@font-face{font-family:Prumo;src:url('/chakra-petch-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{color-scheme:dark;--bg:#06111f;--surface:#0b2032;--surface-2:#102a3f;--line:#23465e;--text:#ecf7ff;--muted:#a5c1d3;--cyan:#55d8ec;--green:#58dfa9;--danger:#ff8a9a;--focus:#8be8f5;font:16px/1.5 Inter,'Segoe UI',sans-serif}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(ellipse at 16% 12%,#0c3150 0,transparent 36%),var(--bg);color:var(--text)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button,input{border:1px solid var(--line);border-radius:10px;background:#071827;color:var(--text)}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{background:#197a91;color:#fff}
#auth-root{min-height:100vh;display:grid;grid-template-columns:minmax(300px,460px) minmax(420px,1fr);align-items:stretch}.auth-loading{grid-column:1/-1;display:grid;place-content:center;justify-items:center;gap:16px;color:var(--muted)}.auth-mark,.auth-brand-mark{display:grid;place-items:center;background:var(--cyan);color:#03121e;font-family:Prumo,sans-serif;font-weight:600}.auth-mark{width:56px;height:56px;border-radius:14px;font-size:30px}.auth-shell{display:contents}.auth-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,6vw,80px);background:rgba(5,18,31,.92);border-right:1px solid var(--line)}.auth-brand{display:flex;align-items:center;gap:13px;margin-bottom:clamp(42px,8vh,86px)}.auth-brand-mark{width:42px;height:42px;border-radius:11px;font-size:23px}.auth-brand strong{display:block;font:600 22px/1 Prumo,sans-serif;letter-spacing:.12em}.auth-brand small{color:var(--cyan)}.auth-copy{max-width:34rem}.auth-copy h1{font:600 clamp(30px,4vw,46px)/1.08 Prumo,sans-serif;letter-spacing:-.025em;margin:0 0 16px}.auth-copy p{color:var(--muted);margin:0;max-width:58ch}.auth-assurance{margin-top:auto;padding-top:42px;color:var(--muted);font-size:14px}.auth-assurance span{display:inline-flex;align-items:center;gap:9px}.auth-assurance i{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 3px 12px rgba(88,223,169,.35)}
.auth-workspace{display:grid;place-items:center;padding:clamp(24px,6vw,80px)}.auth-card{width:min(100%,520px);padding:clamp(24px,4vw,42px);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.auth-card h2{font:600 27px/1.2 Prumo,sans-serif;margin:0 0 8px;letter-spacing:-.02em}.auth-card>.auth-intro{color:var(--muted);margin:0 0 28px}.auth-context{padding:14px 16px;margin:-6px 0 24px;background:var(--surface-2);border-radius:10px;color:var(--muted)}.auth-context strong{color:var(--text)}.auth-form{display:grid;gap:18px}.auth-field{display:grid;gap:7px}.auth-field span{font-weight:650;font-size:14px}.auth-field input{width:100%;min-height:48px;padding:11px 13px}.auth-password{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.auth-password button{min-width:82px;padding:8px 12px;background:var(--surface-2)}.auth-submit{min-height:50px;border-color:#218fa4;background:var(--cyan);color:#03131d;font-weight:750;margin-top:4px}.auth-submit:hover{background:#80e5f2}.auth-links{display:flex;justify-content:space-between;gap:16px;margin-top:22px}.auth-links a{color:var(--cyan);text-underline-offset:4px}.auth-status{min-height:24px;margin:16px 0 0;color:var(--muted)}.auth-status[data-tone="error"]{color:var(--danger)}.auth-status[data-tone="success"]{color:var(--green)}.auth-recovery-code{display:block;margin:20px 0;padding:18px;background:#061724;border:1px dashed var(--cyan);border-radius:10px;color:var(--text);font:600 18px/1.4 ui-monospace,monospace;overflow-wrap:anywhere}.auth-note{color:var(--muted);font-size:13px;margin:18px 0 0}
@media(max-width:820px){#auth-root{display:block}.auth-panel{min-height:auto;padding:28px 22px;border-right:0;border-bottom:1px solid var(--line)}.auth-brand{margin-bottom:30px}.auth-copy h1{font-size:30px}.auth-assurance{display:none}.auth-workspace{padding:22px 16px 40px}.auth-card{padding:24px 18px}.auth-links{flex-direction:column}.auth-password{grid-template-columns:minmax(0,1fr)}.auth-password button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
