
:root{
  --primary:#0056a6;
  --primary-dark:#003d7a;
  --muted:#94a3b8;
  --text:#e5e7eb;
  --radius:14px;
  --shadow:0 20px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 600px at 80% -10%, rgba(0,86,166,.25), transparent 60%),
              radial-gradient(900px 500px at -10% 110%, rgba(0,61,122,.35), transparent 60%),
              #0b1220;
  display:grid;
  place-items:center;
  padding:40px 16px;
}
.login-wrap{
  width:100%;
  max-width:420px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter: blur(8px);
  overflow:hidden;
}
.brand{
  display:flex;align-items:center;gap:12px;
  padding:20px 22px 0 22px;
}
.brand .logo{
  width:44px;height:44px;border-radius:12px;
  display:grid;place-items:center;background:var(--primary);
  color:#fff;font-size:20px;
  box-shadow:0 8px 24px rgba(0,86,166,.45);
}
.brand h1{font-size:18px;margin:0}
.card{
  padding:22px;
}
h2{
  margin:6px 0 18px 0;
  font-size:22px;
  letter-spacing:.2px;
}
.form{display:grid;gap:14px}
label{font-size:13px;color:#cbd5e1}
.input{
  background:#0f172a;
  border:1px solid rgba(255,255,255,.08);
  color:var(--text);
  border-radius:12px;
  padding:12px 14px;
  font-size:15px;
  outline:none;
  width:100%;
  transition:.2s border-color;
}
.input:focus{border-color:var(--primary)}
.row{display:grid;gap:12px}
.btn{
  appearance:none;
  border:none;border-radius:12px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff;font-weight:600;
  padding:12px 16px;
  cursor:pointer;
  font-size:15px;
  box-shadow:0 10px 30px rgba(0,86,166,.35);
  transition:transform .08s ease, filter .2s ease;
}
.btn:hover{filter:brightness(1.05)}
.btn:active{transform:translateY(1px)}
.note, .error{font-size:12px;color:#9fb1c9}
.error{color:#fecaca}
.footer-links{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
a{color:#9cc3ff;text-decoration:none}
a:hover{text-decoration:underline}
.small{font-size:12px;color:#9fb1c9}
@media (min-width:520px){
  .row{grid-template-columns:1fr}
}
