:root{color-scheme:light;--navy:#1d2e7d;--navy-dark:#132260;--blue:#0097d8;--teal:#00878e;--aqua:#00a2ab;--paper:#f2f3f8;--surface:#fff;--surface-strong:#f4f7fa;--ink:#26324a;--muted:#69738a;--line:#dfe3ed;--shadow:0 20px 56px rgba(29,46,125,.12);font-family:Raleway,"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink)}[hidden]{display:none!important}a{color:inherit}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}
.auth-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(145deg,#eef1f7,#fff 50%,#e5f5f6)}
.login-card{width:min(480px,100%);padding:clamp(26px,6vw,46px);border:1px solid #d7deea;border-radius:22px;background:#fff;box-shadow:0 25px 70px rgba(29,46,125,.14)}
.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:35px}.login-brand img{width:52px;height:52px;border-radius:14px}.login-brand strong,.login-brand span{display:block}.login-brand strong{color:var(--navy);font-size:1.12rem}.login-brand span{margin:2px 0 0;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.eyebrow{margin:0 0 9px;color:var(--blue);font-size:.71rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.login-card h1{margin:0;color:var(--navy);font-size:2.4rem;font-weight:400;letter-spacing:-.035em}.login-intro{color:var(--muted);line-height:1.55}.target-note{margin:10px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}.target-note strong{color:var(--ink)}
.login-form{display:grid;gap:16px;margin-top:24px}.login-form label{display:grid;gap:7px;color:var(--navy);font-size:.78rem;font-weight:800}.login-form input{width:100%;min-height:46px;padding:11px 12px;border:1px solid #bdc9dc;border-radius:9px;background:#fff;color:var(--ink);font:inherit}.login-form input:focus{border-color:var(--blue);outline:3px solid rgba(0,151,216,.15)}
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 17px;border-radius:9px;font:800 .82rem inherit;cursor:pointer;text-decoration:none}.primary-button{border:1px solid var(--navy);background:var(--navy);color:#fff}.primary-button:hover{border-color:var(--blue);background:var(--blue)}.secondary-button{border:1px solid #c6d0df;background:#f7f9fc;color:var(--navy)}.secondary-button:hover{border-color:var(--blue);background:#edf8fc}
.theme-toggle{display:grid;width:40px;height:40px;place-items:center;border:1px solid #c8d2e2;border-radius:50%;background:#fff;color:var(--navy);font-size:1.05rem;cursor:pointer}.theme-toggle:hover{border-color:var(--blue);background:#edf8fc}.auth-theme-toggle{position:fixed;z-index:20;top:max(18px,env(safe-area-inset-top));right:18px}
.language-picker label{display:flex;align-items:center;gap:.75rem;margin:0}.language-picker select{min-width:8.5rem;border:1px solid var(--line);border-radius:.65rem;background:var(--surface);color:var(--ink);padding:.48rem .65rem;font:inherit}.language-picker--login{display:flex;justify-content:flex-end;margin:0 0 .75rem}.language-picker--login label{font-size:.82rem;color:var(--muted)}
.passkey-login{margin-top:1rem;display:grid;gap:.75rem}.passkey-divider{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.9rem}.passkey-divider::before,.passkey-divider::after{content:"";height:1px;background:rgba(90,105,140,.22);flex:1}.passkey-login .secondary-button{width:100%;justify-content:center}.passkey-primary-login{font-weight:750}.passkey-account-hint{margin:-.15rem 0 .1rem;color:var(--muted);font-size:.85rem;line-height:1.45}.passkey-status{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.passkey-more{border:1px solid rgba(62,94,157,.14);border-radius:.9rem;background:rgba(241,246,252,.45);overflow:hidden}.passkey-more summary{cursor:pointer;padding:.8rem 1rem;font-weight:650;list-style-position:inside;color:var(--navy)}.passkey-more-actions{display:grid;gap:.6rem;padding:0 .75rem .75rem}.passkey-more-actions .secondary-button{width:100%;justify-content:center}
.auth-help{margin:17px 0 0;text-align:center}.auth-help a,.privacy-note a{color:var(--blue);font-size:.78rem;font-weight:800;text-decoration:none}.auth-help a:hover,.privacy-note a:hover{text-decoration:underline}.privacy-note{margin:25px 0 0;text-align:center;color:var(--muted);font-size:.7rem}.alert{margin:18px 0;padding:12px 14px;border-radius:9px;font-size:.82rem;line-height:1.45}.alert--error{border:1px solid #e2b7bc;background:#fff4f5;color:#8d2731}.alert--success{border:1px solid #b4dace;background:#f1fbf7;color:#17664e}.emergency-check{display:grid!important;grid-template-columns:auto 1fr!important;align-items:start;gap:10px!important}.emergency-check input{width:auto;min-height:0;margin-top:2px}.primary-button.danger{border-color:#9f2330;background:#9f2330}.primary-button.danger:hover{border-color:#c03b48;background:#c03b48}
html[data-theme="dark"]{color-scheme:dark;background:#111318;--paper:#111318;--surface:#20242b;--surface-strong:#292d35;--ink:#e9eef7;--muted:#aab4c6;--line:#373e4a}html[data-theme="dark"] .auth-page{background:linear-gradient(145deg,#111318,#181b21 52%,#132328)}html[data-theme="dark"] .login-card{border-color:#373e4a;background:#20242b;box-shadow:0 25px 70px rgba(0,0,0,.42)}html[data-theme="dark"] .login-brand strong,html[data-theme="dark"] .login-card h1{color:#f3f6fb}html[data-theme="dark"] .login-form label{color:#dce3ef}html[data-theme="dark"] .login-form input,html[data-theme="dark"] .language-picker select{border-color:#474e5e;background:#292d35;color:#fff}html[data-theme="dark"] .theme-toggle,html[data-theme="dark"] .secondary-button{border-color:#454c5b;background:#292d35;color:#edf2fb}html[data-theme="dark"] .theme-toggle:hover,html[data-theme="dark"] .secondary-button:hover{border-color:#36a9d8;background:#343a44;color:#fff}html[data-theme="dark"] .passkey-more{border-color:#3b4350;background:#1b1e24}html[data-theme="dark"] .passkey-more summary{color:#edf2fb}html[data-theme="dark"] .target-note strong{color:#f3f6fb}
@media(max-width:800px){.auth-theme-toggle{top:max(12px,env(safe-area-inset-top));right:12px}}@media(max-width:520px){.auth-page{padding:18px}.login-card{padding:30px 26px;border-radius:20px}.login-brand{margin-bottom:31px}.login-card h1{font-size:2.55rem}.language-picker select{min-width:7.8rem}}
