
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url('/auth/font.woff2') format('woff2')}
:root{color-scheme:dark;--canvas:#101419;--surface:#191f27;--text:#e4eaf3;--muted:#a3b0c2;--accent:#a6c5f5;--line:#354151;--danger:#f0a5b3;font-family:"DM Sans",system-ui,sans-serif;color:var(--text);background:var(--canvas)}
*{box-sizing:border-box}body{margin:0}::selection{background:#304b70;color:var(--text)}a{color:var(--accent);text-underline-offset:4px}button,input{font:inherit}button,a,input{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent)}
.auth-shell{width:min(100% - 40px,420px);margin:clamp(40px,12vh,120px) auto}.brand{display:flex;align-items:center;gap:12px;margin-bottom:48px;color:var(--text);text-decoration:none;font-size:16px;font-weight:700;letter-spacing:.02em}.brand svg{width:32px;height:36px;color:var(--accent)}.brand small{display:block;font-size:10px;letter-spacing:.18em;font-weight:400;color:var(--muted);margin-top:4px}
h1{font-size:32px;line-height:1.15;letter-spacing:-.03em;margin:0 0 12px}p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 28px;overflow-wrap:anywhere}form{display:grid;gap:20px}label{display:grid;gap:9px;font-size:13px;font-weight:500}input{width:100%;height:48px;padding:0 13px;background:#121820;border:1px solid #5c708a;border-radius:6px;color:var(--text);caret-color:var(--accent)}input:hover{border-color:var(--accent)}button{min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:6px;background:var(--accent);color:#111d30;font-weight:600;cursor:pointer}button:hover{background:#bed6fb}button:disabled{opacity:.55;cursor:wait}.secondary{background:transparent;color:var(--text);border-color:#5c708a}.secondary:hover{background:#232c37}.actions{display:flex;gap:12px;align-items:center;margin-top:24px}.actions form{margin-left:auto}.note{margin-top:24px;font-size:12px}.message{padding:14px 16px;background:#35242b;color:var(--danger);border-radius:6px;font-size:14px;line-height:1.5;margin:24px 0}.success{background:#1b2c25;color:#a5d2b4}footer{border-top:1px solid var(--line);padding-top:22px;margin-top:36px;color:var(--muted);font-size:12px}.field-note{font-size:12px;color:var(--muted);font-weight:400;line-height:1.5}@media(max-width:480px){.brand{margin-bottom:36px}.auth-shell{margin-top:40px}h1{font-size:28px}}
