:root { --bg:#0f1419; --card:#1a2129; --tx:#e6edf3; --mut:#8b98a5; --acc:#3b82f6; --err:#ef4444; --bd:#2d3742; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; display:grid; place-items:center; background:var(--bg); color:var(--tx);
       font:16px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; padding:16px; }
main { width:100%; max-width:360px; background:var(--card); border:1px solid var(--bd); border-radius:14px; padding:28px; }
h1 { font-size:20px; margin:0 0 4px; }
.sub { color:var(--mut); margin:0 0 20px; font-size:14px; }
label { display:block; font-size:13px; color:var(--mut); margin-bottom:14px; }
input { display:block; width:100%; margin-top:6px; padding:11px 12px; font-size:16px; color:var(--tx);
        background:var(--bg); border:1px solid var(--bd); border-radius:8px; }
input:focus { outline:2px solid var(--acc); border-color:transparent; }
button { width:100%; padding:12px; margin-top:6px; font-size:16px; font-weight:600; color:#fff; background:var(--acc);
         border:0; border-radius:8px; cursor:pointer; }
.err { color:var(--err); margin:14px 0 0; font-size:14px; }
