:root {
  color-scheme: dark;
  --bg:#000;
  --panel:#0b0b0b;
  --line:rgba(255,255,255,.16);
  --text:#fff;
  --muted:#c7c7c7;
  --yellow:#ffd400;
}
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; color:var(--text); background:
  radial-gradient(circle at 20% 10%, rgba(255,212,0,.12), transparent 28%),
  #000; font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif; }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; }
.login-card { width:min(560px, 100%); padding:30px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg, rgba(17,17,17,.98), rgba(5,5,5,.99)); }
.eyebrow { color:var(--yellow); font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1 { margin:8px 0 10px; font-size:42px; letter-spacing:-.045em; }
p { margin:0 0 22px; color:var(--muted); line-height:1.55; }
form { display:grid; gap:14px; }
label { display:block; color:#898989; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
input { width:100%; height:52px; margin-top:7px; padding:0 13px; border:1px solid var(--line); border-radius:10px; color:#fff; background:#050505; font-size:18px; text-transform:none; }
input:focus { outline:0; border-color:rgba(255,212,0,.6); }
button { height:52px; border:1px solid var(--yellow); border-radius:10px; color:#000; background:var(--yellow); cursor:pointer; font-size:17px; font-weight:850; }
button:disabled { opacity:.55; cursor:wait; }
.error { min-height:24px; margin:12px 0 0; color:#ff3f52; }
.hint { margin-top:18px; padding:14px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.025); }
.hint strong, .hint span { display:block; }
.hint strong { color:var(--yellow); }
.hint span { margin-top:5px; color:var(--muted); line-height:1.45; }