:root{--paper: #F3F6F7;--surface: #FFFFFF;--ink: #14212B;--muted: #586873;--line: #D3DBE0;--accent: #0A6A8F;--accent-soft: #E0EFF5;--ok: #1B7548;--ok-soft: #E2F3EA;--bad: #AE2A21;--bad-soft: #FBE6E4;--shadow-card: 0 8px 24px rgba(20, 33, 43, .14);--font-sans: "Atkinson Hyperlegible", Verdana, "Segoe UI", system-ui, -apple-system, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--paper: #0E161C;--surface: #162129;--ink: #E5ECF0;--muted: #94A4AF;--line: #2A3A45;--accent: #62BCDD;--accent-soft: #12303D;--ok: #62C592;--ok-soft: #12301F;--bad: #F19087;--bad-soft: #3A1815;--shadow-card: 0 8px 24px rgba(0, 0, 0, .6);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-sans)}body{display:flex;flex-direction:column;padding:24px}.page-body{flex:1;display:flex;align-items:center;justify-content:center;width:100%}.card{width:100%;max-width:26rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:var(--shadow-card)}.logo{height:1.75rem;width:auto;margin-bottom:6px}.logo-dark{display:none}@media(prefers-color-scheme:dark){.logo-light{display:none}.logo-dark{display:inline}}.portal-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:3px 10px;margin-bottom:10px}.subtitle{font-size:.85rem;color:var(--muted);margin:0 0 28px}label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.label-row{display:flex;align-items:baseline;justify-content:space-between}.label-row label{margin-bottom:6px}.forgot-link{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);text-decoration:none}.forgot-link:hover{text-decoration:underline}input{display:block;width:100%;padding:10px 12px;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-family:inherit;font-size:.95rem;outline:none;transition:border-color .15s}input:focus{border-color:var(--accent)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--paper) inset;box-shadow:0 0 0 1000px var(--paper) inset;caret-color:var(--ink);transition:background-color 9999s ease-in-out 0s}.field{margin-bottom:18px}.error,.ok{border-radius:8px;padding:10px 12px;font-size:.85rem;margin-bottom:18px}.error{background:var(--bad-soft);border:1px solid var(--bad);color:var(--bad)}.ok{background:var(--ok-soft);border:1px solid var(--ok);color:var(--ok)}button[type=submit]{width:100%;padding:11px 16px;background:var(--accent);color:var(--surface);border:none;border-radius:8px;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:filter .15s}button[type=submit]:hover{filter:brightness(1.12)}button[type=submit]:disabled{opacity:.6;cursor:default}.help{font-size:.72rem;color:var(--muted);margin-top:6px}.resend{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);text-align:center}#resend-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-family:inherit;font-size:.8rem;padding:0;text-decoration:underline}#resend-status{display:block;margin-top:8px;font-size:.75rem}.signed-in{font-size:.78rem;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin-bottom:20px}.signed-in strong{color:var(--ink)}.links{margin-top:18px;font-size:.8rem;color:var(--muted);text-align:center}.links a{color:var(--accent);text-decoration:none}.links a:hover{text-decoration:underline}.site-footer{margin-top:24px;display:flex;gap:24px;justify-content:center}.site-footer a{color:var(--muted);font-size:.78rem;font-weight:600;text-decoration:none}.site-footer a:hover{color:var(--accent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.note{margin-top:18px;font-size:.78rem;color:var(--muted);text-align:center;line-height:1.5}
