@font-face{font-family:Satoshi;src:url(/auth/satoshi-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Satoshi;src:url(/auth/satoshi-700.woff2) format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:light;--ground:#F4F4F4;--paper:#FFFFFF;--ink:#000C0A;--muted:#4F5655;--line:#DCE1DF;--accent:#007D64;--accent-ink:#FFFFFF;--err-bg:#FBE3E1;--err:#9F2D24;--ok-bg:#E0F1EC}
@media (prefers-color-scheme:dark){:root{color-scheme:dark;--ground:#0A1210;--paper:#111B18;--ink:#E6EDEA;--muted:#A7B2AF;--line:#23312D;--accent:#35C9A4;--accent-ink:#00130F;--err-bg:#3A1F1E;--err:#EE8A83;--ok-bg:#12302A}}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;background:var(--ground);color:var(--ink);font:500 15px/1.5 Satoshi,Inter,system-ui,-apple-system,"Segoe UI",sans-serif;padding:24px 16px}
.card{width:100%;max-width:380px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:28px 26px;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.brand b{font-weight:700}
.mark{width:22px;height:22px;border-radius:50%;background:conic-gradient(var(--accent) 0 75%,transparent 0);box-shadow:inset 0 0 0 5px var(--paper)}
h1{margin:0 0 4px;font-size:1.5rem;font-weight:700}
.sub{margin:0 0 18px;color:var(--muted);font-size:.9rem}
.msg{margin:0 0 12px;padding:8px 10px;border-radius:6px;font-size:.88rem}
.err{background:var(--err-bg);color:var(--err)}
.ok{background:var(--ok-bg);color:var(--accent)}
label{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 5px}
input{font:inherit;color:var(--ink);background:var(--ground);border:1px solid var(--line);border-radius:6px;padding:10px 12px}
input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button{margin-top:20px;font:inherit;font-weight:700;border:0;border-radius:6px;padding:11px;background:var(--accent);color:var(--accent-ink);cursor:pointer}
[hidden]{display:none!important}
