:root { color-scheme: dark; --bg:#090b10; --surface:#141820; --surface2:#1b212c; --border:#2b3444; --text:#f5f7fb; --muted:#99a3b2; --accent:#58a6ff; --danger:#ff7070; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at top left,rgba(88,166,255,.14),transparent 38%),var(--bg); color:var(--text); font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; }
.login-card { width:min(430px,100%); padding:32px; border:1px solid var(--border); border-radius:18px; background:rgba(20,24,32,.96); box-shadow:0 24px 80px rgba(0,0,0,.34); }
.eyebrow { margin:0 0 8px; color:var(--accent); font-size:12px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
h1 { margin:0 0 8px; font-size:34px; }
.description,.privacy-note { color:var(--muted); line-height:1.5; }
.description { margin:0 0 24px; }
form { display:grid; gap:16px; }
label { display:grid; gap:7px; font-size:13px; font-weight:750; }
input { width:100%; min-height:46px; padding:0 13px; border:1px solid var(--border); border-radius:10px; outline:none; background:var(--surface2); color:var(--text); font:inherit; }
input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(88,166,255,.12); }
button { min-height:46px; margin-top:2px; border:1px solid #3187e6; border-radius:10px; background:var(--accent); color:#07111e; font:inherit; font-weight:900; cursor:pointer; }
button:disabled { opacity:.55; cursor:wait; }
.error { min-height:20px; margin:0; color:var(--danger); font-size:13px; line-height:1.45; }
.privacy-note { margin:20px 0 0; padding-top:18px; border-top:1px solid var(--border); font-size:11px; }
