:root{color-scheme:light dark}
.system-admin-auth .auth-card{max-height:min(820px,calc(100svh - 110px));overflow:auto}
.auth-button{text-decoration:none}
.session-expired-notice{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;margin:0 0 22px;padding:16px;border:1px solid rgba(99,91,255,.2);border-radius:14px;background:linear-gradient(135deg,rgba(99,91,255,.08),rgba(38,190,156,.055))}
.session-expired-notice[hidden]{display:none}
.session-expired-notice__icon{display:grid;width:42px;height:42px;place-items:center;color:#5149d8;background:rgba(99,91,255,.12);border-radius:12px;font-size:22px;font-weight:850}
.session-expired-notice strong{display:block;margin:1px 0 4px;color:var(--ink);font-size:14px}
.session-expired-notice p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.auth-stage{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;margin:0 0 18px;padding:14px;border:1px solid rgba(99,91,255,.18);border-radius:11px;background:rgba(99,91,255,.055)}
.auth-stage>span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:#5149d8;background:rgba(99,91,255,.12);font-weight:850}
.auth-stage p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.auth-stage strong{display:block;color:var(--ink);font-size:14px}
.auth-help{margin:-2px 0 3px;color:var(--muted);font-size:11px;line-height:1.5}
.auth-enrolment a{width:max-content;color:var(--violet);font-size:12px;font-weight:800;text-decoration:none}
.auth-enrolment .auth-button{margin-top:8px}.auth-button-wide{width:100%}
.auth-security-note{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.55}
@media(prefers-color-scheme:dark){
  :root{--ink:#edf5ff;--muted:#9cafc2;--line:#2b3d50;--violet:#928bff;--green:#52d2ae}
  body{background:radial-gradient(circle at 10% 0,rgba(99,91,255,.2),transparent 34rem),radial-gradient(circle at 90% 15%,rgba(38,190,156,.1),transparent 28rem),#0b1522}
  .auth-brand-panel h1{color:var(--ink)}.auth-brand small,footer{color:#91a4b7}
  .auth-brand-panel li{border-color:rgba(146,139,255,.24);color:#bdcbd9;background:rgba(20,35,51,.8)}
  .auth-card{border-color:#2b3d50;background:rgba(16,29,43,.97);box-shadow:0 28px 75px rgba(0,0,0,.28)}
  .auth-form label{color:#c2d1df}.auth-form input{border-color:#34495e;color:var(--ink);background:#101d2b}.auth-form input:focus{background:#132337}
  .auth-button-quiet{color:#d3deea;background:#1c2c3d}.auth-method-status.is-error{color:#ff9bb0}
  .auth-identity,.auth-enrolment{background:linear-gradient(135deg,rgba(99,91,255,.13),rgba(38,190,156,.08))}
  .auth-identity small,.auth-enrolment span,.auth-enrolment small{color:#9cafc2}.auth-enrolment code{color:#e0eaff}
  .auth-message{border-color:#70394a;color:#ff9bb0;background:#2a1720}.auth-message.is-success{border-color:#265e51;color:#7ce1c5;background:#102921}
  .auth-stage{border-color:rgba(146,139,255,.25);background:rgba(146,139,255,.08)}.auth-stage>span{color:#b9b4ff;background:rgba(146,139,255,.15)}
  .session-expired-notice{border-color:rgba(146,139,255,.25);background:linear-gradient(135deg,rgba(146,139,255,.12),rgba(82,210,174,.05))}
  .session-expired-notice__icon{color:#b9b4ff;background:rgba(146,139,255,.15)}
}
@media(max-width:820px){.system-admin-auth .auth-card{max-height:none;overflow:visible}}
@media(max-width:520px){.auth-card-heading h2{font-size:30px}.auth-stage{padding:12px}.auth-security-note{margin-top:18px}}
