:root { --bg:#0b0f14; --card:#121826; --text:#e6edf3; --muted:#9aa7b8; --line:#223044; --focus:#3b82f6; }
* { box-sizing: border-box; }
html,body{height:100%}
body{
  margin:0; font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,"Helvetica Neue",Arial,sans-serif;
  background: radial-gradient(1200px 600px at 10% -10%, #0f1624 0%, #0b0f14 40%, #0b0f14 100%);
  color: var(--text); display:flex; align-items:center; justify-content:center; padding: 24px;
}
.card{
  width: 100%; max-width: 420px; background: var(--card); border: 1px solid var(--line);
  border-radius: 20px; padding: 28px; box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
h1{ margin:0 0 18px; font-size:22px; line-height:1.2; }
label{ display:block; font-size:14px; margin: 14px 0 6px; color:#c9d4e1; }
input{
  width:100%; padding:12px 14px; border-radius:12px; border:1px solid var(--line);
  background:#0f1724; color:var(--text); outline:none;
}
input::placeholder{ color:#7f8ca0; }
input:focus{ border-color:var(--focus); box-shadow:0 0 0 3px rgba(59,130,246,.25); }
.btn{
  width:100%; padding:12px 14px; border-radius:12px; border:1px solid var(--focus);
  background:var(--focus); color:white; font-weight:600; cursor:pointer; margin-top:16px;
}
.error{ margin:0 0 14px; color:#fca5a5; font-size:14px; }
