/* ===== Login page styles (CSP-safe) ===== */
/* Relies on intranet.css variables and base if present */
:root{
  --bg: #0f172a;
  --panel:#0b1324;
  --line:#1f2937;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --brand:#2563eb;
}
html,body{height:100%}
body{background:var(--bg); color:var(--text); margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;}
.auth-wrapper{min-height:100dvh; display:grid; place-items:center; padding:24px}
.hero{display:flex; flex-direction:column; align-items:center; gap:10px; margin-bottom:10px}
.hero .logo{max-height: clamp(64px, 12vw, 120px); max-width:min(60vw, 320px); height:auto; width:auto; display:block; filter: drop-shadow(0 6px 18px rgba(0,0,0,.35));}
.title{margin:6px 0 0 0; font-size:20px; letter-spacing:.3px}
.muted{color:var(--muted); text-align:center; margin:6px 0 0 0; font-size:14px}

.card{
  width:min(420px, 92vw);
  background: linear-gradient(180deg, #0f1a33 0%, #0c1936 100%);
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px 18px;
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}

label{display:block; margin:12px 0 6px 2px; font-size:14px; color:var(--text)}
input[type="email"], input[type="password"]{
  width:100%; padding:10px 12px; border-radius:12px;
  background:#0b1324; border:1px solid var(--line); color:var(--text);
  outline:none;
}
input:focus{border-color:#3650a8; box-shadow:0 0 0 3px rgba(37,99,235,.22)}

.btn{width:100%; margin-top:14px; padding:10px 12px; border-radius:12px; background:#1b3a7a; border:1px solid #2b4ea3; color:#e5efff; cursor:pointer}
.btn:hover{background:#214892}
.error{background:#3b1d1d; border:1px solid #7f2d2d; color:#ffd2d2; padding:10px 12px; border-radius:12px; margin:10px 0 6px 0; font-size:14px}