@font-face{font-family:"Geist";src:url(/fonts/geist.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{color-scheme:light;--bg:#fff;--raised:#f6f7f9;--line:#e9ebef;--ink:#1b1f27;--muted:#6a7180;--accent:#3355e0;--accent-ink:#fff;--good:#12805c;--good-bg:#e6f6ef;--bad:#c0352b;--bad-bg:#fdecea}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;background:#F5F7FB;color:var(--ink);font:15px/1.55 "Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;padding:24px 16px}
.auth{width:100%;max-width:420px;background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:28px;display:grid;gap:16px}
.auth.wide{max-width:600px}
.brand{display:flex;align-items:center;gap:10px;font-size:15px}.brand .mark{width:28px;height:28px}.brand .logo{max-height:40px;max-width:160px;object-fit:contain}
h1{margin:0;font-size:24px;font-weight:600;letter-spacing:-.02em}h2{margin:0 0 8px;font-size:16px;font-weight:600}
p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}
form{display:grid;gap:12px}
label{display:grid;gap:6px;font-size:13px;font-weight:550;color:var(--muted)}
input{font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;width:100%}
input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
input:disabled{opacity:.7}
.btn{display:inline-flex;justify-content:center;align-items:center;font:inherit;font-weight:600;font-size:15px;padding:11px 18px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;text-decoration:none}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.link{border:0;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;justify-self:start;padding:0}
a{color:var(--accent)}
.alert{padding:12px 14px;border-radius:14px;font-size:14px;background:var(--bad-bg)}.alert.ok{background:var(--good-bg)}
section{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:10px}
.chip{display:inline-block;font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px;margin-right:6px}.chip.ok{background:var(--good-bg);color:var(--good)}
code{font-size:13px;background:var(--raised);padding:2px 6px;border-radius:6px;word-break:break-all}
.qr{background:#fff;border-radius:12px;padding:12px;justify-self:start}.qr img,.qr svg{display:block;width:200px;height:200px}
.wide form .btn{justify-self:start}
.by{font-size:12px;color:var(--muted);text-align:center;letter-spacing:.02em}
.by b{font-weight:600;letter-spacing:.14em;font-size:11px;color:var(--ink)}
.demo{display:grid;gap:8px;padding:14px;border-radius:14px;background:var(--raised)}
.demo .btn{justify-content:flex-start;font-size:14px;padding:10px 14px}
.demo .btn span{color:var(--muted);font-weight:500;margin-left:auto}
select{font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;width:100%}
