/* Before reveal, the document intentionally has no author styling. This lets
   the browser render the reference Nginx HTML with its exact default font,
   margins, heading metrics and full-width horizontal rule. */

body.login-revealed {
  box-sizing:border-box;
  display:grid;
  place-items:center;
  min-height:100vh;
  margin:0;
  padding:24px;
  color:#f7f8fb;
  background:radial-gradient(circle at 85% -15%,#252052 0,transparent 36%),#070a12;
  font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.login-revealed *,body.login-revealed *::before,body.login-revealed *::after { box-sizing:border-box; }
[data-login-form][hidden],[data-login-gateway-part][hidden] { display:none !important; }
.login-card {
  width:min(400px,100%);
  padding:34px;
  border:1px solid #2a3247;
  border-radius:24px;
  background:#101522;
  box-shadow:0 30px 80px #0008;
}
.logo {
  width:48px;
  height:48px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#7c5cff,#31d6c4);
  font-size:22px;
  font-weight:800;
}
.login-card h1 { margin:18px 0 2px; font-size:2em; }
.login-card p { color:#8c96a9; margin:0 0 24px; }
.login-card label { display:flex; flex-direction:column; gap:6px; margin:14px 0; color:#aab4c6; }
.login-card input {
  width:100%;
  min-height:41px;
  padding:10px 11px;
  color:#fff;
  background:#090d16;
  border:1px solid #283146;
  border-radius:10px;
  outline:none;
}
.login-card input:focus { border-color:#7c5cff; }
.primary {
  width:100%;
  padding:11px 18px;
  color:#fff;
  background:linear-gradient(135deg,#7c5cff,#5a85ff);
  border:0;
  border-radius:10px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.alert { padding:11px; border-radius:9px; }
.danger { color:#ffabb8; background:#421d28; }
