:root{--navy:#071f2c;--mint:#9be8d1;--muted:#7e978f}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:#f3f7f5;color:var(--navy);font-family:Arial,"Malgun Gothic",sans-serif;display:grid;grid-template-rows:76px 1fr 45px}header,footer{padding:0 6vw;display:flex;align-items:center;justify-content:space-between}header{background:white;border-bottom:1px solid #dfebe5}a{color:inherit;text-decoration:none}.logo{font-size:33px;font-weight:900;letter-spacing:-2.5px}.logo span{color:#3baa8f}.language{display:flex;gap:3px;border:1px solid #dde8e2;padding:3px;border-radius:5px}button,input{font:inherit}.language button{border:0;border-radius:3px;background:none;color:#789286;padding:6px 9px;font-size:11px;cursor:pointer}.language button[aria-pressed=true]{background:var(--navy);color:white}main{display:grid;place-items:center;padding:24px}.login-card{width:min(100%,430px);background:white;border:1px solid #dfe9e3;border-radius:8px;padding:34px 36px;box-shadow:0 14px 45px #173e2910}.lock{width:40px;height:40px;padding:10px;background:#e9f6ef;color:#34876b;border-radius:8px;margin-bottom:21px}.lock svg{width:100%;height:100%}.eyebrow{font-size:10px;letter-spacing:.15em;color:#5b9680;margin:0 0 10px}h1{font-size:30px;letter-spacing:-.055em;line-height:1.15;margin:0}.description{font-size:13px;color:var(--muted);line-height:1.75;margin:14px 0 24px}label{display:block;font-size:12px;font-weight:600;margin:17px 0 8px}input{width:100%;height:43px;border:1px solid #d7e3dd;border-radius:4px;background:#fbfdfc;padding:10px 12px;font-size:16px;color:var(--navy)}input:focus{outline:2px solid #80c9ad;outline-offset:2px}.submit{margin-top:20px;border:0;display:flex;width:100%;justify-content:space-between;align-items:center;padding:14px 17px;background:var(--navy);color:white;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer}.submit:disabled{opacity:.6;cursor:wait}.submit span:last-child{font-size:19px;color:var(--mint)}.error{font-size:12px;line-height:1.6;color:#a4493c;margin:14px 0 0}.error:empty{display:none}.back{display:block;text-align:center;color:#789586;font-size:11px;margin-top:22px}footer{font-size:10px;color:#8ca397}button:focus-visible,a:focus-visible{outline:3px solid #60ac90;outline-offset:4px}@media(max-width:600px){body{grid-template-rows:64px 1fr 34px}header,footer{padding-inline:20px}.logo{font-size:30px}main{padding:18px}.login-card{padding:27px 25px}h1{font-size:27px}.description{font-size:12px;margin-bottom:20px}}@media(max-height:700px){.login-card{padding-top:24px;padding-bottom:24px}.lock{display:none}.description{margin-bottom:18px}.back{margin-top:17px}}

/* Phone sign-in prioritizes reading and touch targets, independent of desktop. */
@media(max-width:600px){
 body{min-height:100dvh;grid-template-rows:72px 1fr auto;background:#f2f6f5}
 header{padding-inline:18px}.language{background:#edf2f0;border:0;border-radius:10px}
 .language button{font-size:14px;min-width:44px;min-height:42px;border-radius:7px;color:#45616a}
 main{padding:24px 20px;align-items:start}.login-card{padding:24px 0;border:0;border-radius:0;background:transparent;box-shadow:none;max-width:430px}
 h1{font-size:32px;line-height:1.2;letter-spacing:-.045em}.eyebrow{font-size:12px;color:#39785f}
 .description{font-size:16px;line-height:1.65;color:#536c62;margin:16px 0 28px}
 .lock{display:none}label{font-size:15px;margin:20px 0 9px}
 input{height:56px;border-radius:10px;padding:14px 16px;background:white;font-size:17px}
 .submit{min-height:56px;border-radius:10px;font-size:16px;margin-top:26px;justify-content:center}.submit span:last-child{display:none}
 .back{font-size:15px;min-height:44px;display:grid;place-items:center;margin-top:18px;color:#466c5c}
 .error{font-size:14px}footer{font-size:12px;line-height:1.5;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0));color:#61796d}
}
