*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#060d1a;
  --card:#0d182c;
  --card-border:#1e2f4d;
  --text:#f1f5f9;
  --muted:#94a3b8;
  --accent:#2563eb;
  --accent-hover:#1d4ed8;
  --neorel:#0ea5e9;
  --danger:#ef4444;
  --success:#10b981;
  --input:#091222;
}
body{
  min-height:100vh;
  background:radial-gradient(circle at 20% 20%,#112240 0%,#060d1a 65%);
  color:var(--text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.login-shell{
  width:100%;
  max-width:460px;
}
.login-card{
  background:var(--card);
  border:1px solid var(--card-border);
  border-radius:18px;
  padding:32px 28px;
  box-shadow:0 24px 60px rgba(0,0,0,0.55);
  display:flex;
  flex-direction:column;
  gap:20px;
}
.login-brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.login-logo{
  width:52px;
  height:52px;
  border-radius:14px;
  background:linear-gradient(135deg,#2563eb,#0ea5e9);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:20px;
  color:#fff;
  flex-shrink:0;
  box-shadow:0 8px 20px rgba(37,99,235,0.35);
}
.login-kicker{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#38bdf8;
  margin-bottom:3px;
}
.login-brand-text h1{
  font-size:20px;
  font-weight:800;
  color:var(--text);
  line-height:1.25;
}
.login-brand-text p{
  font-size:13px;
  color:var(--muted);
  margin-top:3px;
}
.login-alert{
  padding:12px 14px;
  border-radius:10px;
  font-size:13px;
  line-height:1.45;
  border:1px solid rgba(239,68,68,0.4);
  background:rgba(239,68,68,0.12);
  color:#fca5a5;
}
.login-alert.info{
  border-color:rgba(16,185,129,0.4);
  background:rgba(16,185,129,0.12);
  color:#6ee7b7;
}
.login-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.login-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.login-field label{
  font-size:12.5px;
  font-weight:600;
  color:#cbd5e1;
}
.login-field input{
  width:100%;
  background:var(--input);
  border:1px solid var(--card-border);
  border-radius:10px;
  padding:11px 14px;
  color:var(--text);
  font-size:14px;
  outline:none;
  transition:border-color 0.15s;
}
.login-field input:focus{
  border-color:#38bdf8;
}
.login-password-wrap{
  position:relative;
  display:flex;
  align-items:center;
}
.login-password-wrap input{
  padding-right:44px;
}
.login-pwd-toggle{
  position:absolute;
  right:8px;
  background:transparent;
  border:none;
  color:var(--muted);
  cursor:pointer;
  font-size:16px;
  padding:6px;
}
.login-btn-primary{
  background:linear-gradient(135deg,#2563eb,#0284c7);
  color:#fff;
  border:none;
  border-radius:10px;
  padding:12px 18px;
  font-size:14.5px;
  font-weight:700;
  cursor:pointer;
  transition:opacity 0.15s,transform 0.1s;
}
.login-btn-primary:hover{
  opacity:0.95;
}
.login-btn-primary:disabled{
  opacity:0.6;
  cursor:wait;
}
.login-divider{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-size:12px;
}
.login-divider::before,.login-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:var(--card-border);
}
.login-sso-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.login-btn-sso{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  padding:11px 16px;
  border-radius:10px;
  font-size:13.5px;
  font-weight:600;
  border:1px solid var(--card-border);
  background:rgba(255,255,255,0.03);
  color:var(--text);
  transition:background 0.15s,border-color 0.15s;
}
.login-btn-sso:hover{
  background:rgba(255,255,255,0.07);
  border-color:#38bdf8;
}
.login-footer{
  border-top:1px solid var(--card-border);
  padding-top:14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  text-align:center;
}
.login-security-pill{
  font-size:12px;
  color:#94a3b8;
}
.login-domain-meta{
  font-size:11.5px;
  color:#64748b;
}
