.auth-page { color-scheme:light; font-family:"Segoe UI",system-ui,sans-serif; color:#172039; background:#f8fafb; }
.auth-page * { box-sizing:border-box; }.auth-page [hidden] { display:none!important; }
.auth-page { margin:0; }.auth-page { min-height:100vh; display:grid; place-items:center; padding:24px; }
.auth-card { width:100%; max-width:440px; padding:36px; border:1px solid #e4eaee; border-radius:24px; background:#fff; box-shadow:0 12px 40px #1a364011; }
.auth-brand { display:flex; align-items:center; gap:12px; text-decoration:none; color:#126878; font-size:1.7rem; }.auth-brand span { color:#172039; font-size:1.1rem; font-weight:650; }.auth-brand b { font-weight:400; color:#718091; }
.auth-page h1 { font-size:1.8rem; letter-spacing:-.04em; margin:32px 0 8px; }#auth-description { margin:0 0 24px; color:#647184; font-size:.9rem; line-height:1.5; }
.auth-page button,.auth-page input,.auth-page select { font:inherit; }.auth-page button { cursor:pointer; }.auth-page input,.auth-page select { width:100%; border:1px solid #ccd6df; border-radius:10px; padding:12px; margin-top:6px; color:#172039; background:#fff; }
.auth-page label { display:block; font-size:.82rem; font-weight:600; margin-bottom:18px; }.auth-google,.auth-primary { width:100%; padding:12px; border-radius:10px; font-size:.87rem; font-weight:600; }.auth-google { border:1px solid #d7e0e7; background:#fff; color:#172039; }.auth-primary { border:1px solid #126878; background:#126878; color:#fff; }
.auth-page button:disabled { opacity:.5; cursor:default; }.auth-page button:focus-visible,.auth-page input:focus-visible,.auth-page select:focus-visible,.auth-page a:focus-visible { outline:2px solid #4777ad; outline-offset:3px; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:22px 0; color:#7a8796; font-size:.72rem; }.auth-divider:before,.auth-divider:after { content:""; height:1px; flex:1; background:#e6ebef; }
.auth-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:22px; }.auth-links button { background:none; border:0; padding:0; color:#126878; font-size:.8rem; }
.auth-footer { margin:30px 0 0; color:#7b8896; text-align:center; font-size:.74rem; }.auth-notice { margin-top:20px; padding:12px; background:#eff5f7; color:#476675; border-radius:10px; font-size:.8rem; line-height:1.5; }
#auth-error { color:#9b321e; font-size:.83rem; line-height:1.5; }#auth-status { color:#126878; font-size:.83rem; line-height:1.5; }#auth-google-note { display:block; margin-top:8px; color:#647184; font-size:.7rem; }
.auth-account { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0 24px; font-size:.85rem; }.auth-account button { border:1px solid #d7e0e7; border-radius:9px; background:#fff; color:#172039; padding:8px 12px; }.auth-account span { overflow-wrap:anywhere; }
.auth-text-action { display:block; width:100%; margin-top:14px; padding:10px; border:0; background:transparent; color:#126878; font-size:.82rem; font-weight:650; }.auth-hint { margin:0 0 18px; color:#647184; font-size:.78rem; line-height:1.5; }.auth-optional { color:#718091; font-weight:400; }.auth-page #auth-verify-form,.auth-page #auth-welcome-form { margin-top:8px; }
.account-mode .os-local-profile,.account-mode .profile-local-label { display:none; }
@media(max-width:480px) { .auth-page { padding:16px; }.auth-card { padding:26px 22px; } }
