:root{
  --bg:#0b1220;
  --panel: rgba(15,26,46,.75);
  --text:#eaf1ff;
  --muted:#a9b7d3;
  --line:rgba(255,255,255,.10);
  --primary:#2f79ff;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 600px at 20% -10%, rgba(47,121,255,.25), transparent 60%),
    radial-gradient(900px 600px at 100% 0%, rgba(255,102,35,.18), transparent 55%),
    var(--bg);
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.card{
  width:min(420px, 100%);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)), var(--panel);
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:18px;
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 45px rgba(0,0,0,.35), 0 1px 0 rgba(255,255,255,.06) inset;
}

h1{margin:0 0 6px 0;font-size:18px}
.sub{color:var(--muted);font-size:12px;margin-bottom:14px}

.field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.field span{font-size:12px;color:var(--muted)}
input{
  border:1px solid var(--line);
  background: rgba(0,0,0,.20);
  color:var(--text);
  padding:10px;
  border-radius:12px;
  outline:none;
}
input:focus{
  border-color: rgba(47,121,255,.55);
  box-shadow: 0 0 0 4px rgba(47,121,255,.12);
}

.btn{
  width:100%;
  border:1px solid rgba(47,121,255,.45);
  background: rgba(47,121,255,.18);
  color:var(--text);
  padding:10px 12px;
  border-radius:12px;
  font-weight:700;
  cursor:pointer;
}
.btn:hover{ background: rgba(47,121,255,.24); }

.err{
  background: rgba(255,59,87,.14);
  border: 1px solid rgba(255,59,87,.35);
  padding:10px;
  border-radius:12px;
  margin-bottom:10px;
  color:#ffd6dc;
  font-size:13px;
}
.top{
  position:fixed; top:16px; left:16px;
  color:var(--muted); font-size:12px;
}
