:root{--bg:#F3F4F8;--card:#fff;--ink:#141A2B;--muted:#6F7994;--line:#D3D7DE;--accent:#10234E;--gold:#D4A53A;--bad:#C2410C;--bad-soft:#FBE7DE;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#0E1424;--card:#161E33;--ink:#E9ECF4;--muted:#98A2BC;--line:#344066;--accent:#8FA6E8;--bad:#F0865A;--bad-soft:#3F2116}}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Bengali",sans-serif}
.auth{max-width:400px;margin:0 auto;padding:48px 16px calc(32px + env(safe-area-inset-bottom,0px))}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:22px;margin-bottom:20px;justify-content:center}
.brand small{font-weight:500;color:var(--muted);font-size:15px}
.brand .dot{width:12px;height:12px;border-radius:50%;background:var(--gold);display:inline-block}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 18px;display:flex;flex-direction:column;gap:6px;box-shadow:0 6px 20px rgba(16,35,78,.08)}
h1{font-size:20px;margin:0 0 8px}
label{font-size:13px;font-weight:600;color:var(--muted);margin-top:8px}
input{font:inherit;font-size:16px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);width:100%}
input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
button{margin-top:16px;font:inherit;font-weight:700;font-size:16px;padding:12px;border:0;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer}
@media (prefers-color-scheme:dark){button{color:#0E1424}}
button:disabled{opacity:.6;cursor:default}
.err{background:var(--bad-soft);color:var(--bad);border-radius:8px;padding:9px 11px;font-size:14px;margin-top:8px}
.hint,.foot{font-size:13px;color:var(--muted);margin:0}
.foot{text-align:center;margin-top:16px}
code{font-size:12px;word-break:break-all}
