.auth-gate{
 position:fixed;inset:0;z-index:10000;display:grid;place-items:center;min-height:100dvh;
 padding:24px 18px;overflow-y:auto;color:#edf3fb;isolation:isolate;
 background:
  radial-gradient(ellipse at 50% 4%,rgba(74,103,143,.22),transparent 44%),
  radial-gradient(circle at 82% 78%,rgba(213,91,43,.08),transparent 30%),
  linear-gradient(155deg,#050d18 0%,#0a1829 52%,#071321 100%);
}
.auth-gate[hidden]{display:none}
.auth-gate::before,.auth-gate::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1}
.auth-gate::before{
 opacity:.42;
 background:
  radial-gradient(110% 50% at -5% 72%,transparent 58%,rgba(157,177,204,.12) 58.4%,transparent 59.2%),
  radial-gradient(105% 48% at 105% 28%,transparent 62%,rgba(218,108,62,.11) 62.4%,transparent 63.1%),
  radial-gradient(90% 42% at 50% 106%,transparent 61%,rgba(157,177,204,.08) 61.5%,transparent 62.3%);
}
.auth-gate::after{
 opacity:.2;
 background-image:linear-gradient(118deg,rgba(255,255,255,.025) 1px,transparent 1px);
 background-size:78px 78px;mask-image:linear-gradient(to bottom,#000,transparent 90%);
}
body.auth-login-active{overflow:hidden}
.auth-login-card{
 position:relative;width:min(100%,404px);padding:36px 38px 32px;overflow:hidden;
 border:1px solid rgba(190,205,225,.16);border-radius:16px;
 background:linear-gradient(165deg,rgba(18,34,56,.94),rgba(7,18,33,.96));
 box-shadow:0 26px 70px rgba(0,0,0,.42),0 4px 18px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.045);
 backdrop-filter:blur(12px);
}
.auth-login-card::before{
 content:'';position:absolute;top:0;left:28px;right:28px;height:1px;
 background:linear-gradient(90deg,transparent,rgba(239,244,251,.36),transparent);
}
.auth-login-card--status{text-align:center}
.auth-login-card--loading{display:flex;flex-direction:column;align-items:center;gap:14px}
.auth-login-card--loading>p{color:#aebbd0}
.auth-login-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:11px;margin-bottom:17px}
.auth-login-brand{
 color:#eef2f7;font-size:32px;line-height:1;font-weight:800;letter-spacing:.19em;
 background:linear-gradient(112deg,#858f9d 0%,#f8fafc 24%,#aeb8c5 48%,#fff 67%,#7e8998 100%);
 -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
 text-shadow:0 7px 22px rgba(194,207,224,.12);filter:drop-shadow(0 1px 0 rgba(255,255,255,.16));
}
.auth-login-brand--status{margin:0 auto 10px;font-size:29px}
.auth-login-eyebrow{margin:0;color:#9aa9bd;font-size:9px;font-weight:750;letter-spacing:.23em;text-transform:uppercase}
.auth-login-intro{margin-bottom:22px;text-align:center}
.auth-login-card--status h1{margin:4px 0 0;color:#f7f9fc;font-size:clamp(22px,5vw,28px);line-height:1.18;letter-spacing:-.018em}
.auth-login-intro p,.auth-login-copy{margin-top:7px;color:#aab6c8;font-size:12.5px;line-height:1.5}
.auth-login-copy{margin-bottom:22px}
.auth-login-form{display:flex;flex-direction:column;gap:14px}
.auth-login-field{display:flex;flex-direction:column;gap:7px;color:#cbd5e3;font-size:12px;font-weight:650;letter-spacing:.01em}
.auth-login-field>input,.auth-login-password{
 width:100%;border:1px solid rgba(181,198,220,.18);border-radius:9px;color:#f2f5fa;
 background:rgba(4,14,27,.72);transition:border-color .18s,box-shadow .18s,background .18s;
}
.auth-login-field>input{min-height:46px;padding:0 14px;font:inherit;font-weight:500}
.auth-login-password{display:flex;align-items:center;overflow:hidden}
.auth-login-password input{min-width:0;min-height:44px;flex:1;border:0;outline:0;padding:0 10px 0 14px;color:inherit;background:transparent;font:inherit;font-weight:500}
.auth-login-password button{align-self:stretch;border:0;padding:0 13px;color:#9ba9bc;background:transparent;font-size:11px;font-weight:700;cursor:pointer}
.auth-login-field>input:focus,.auth-login-password:focus-within{outline:0;border-color:rgba(224,108,59,.78);box-shadow:0 0 0 3px rgba(203,84,40,.12);background:#07162a}
.auth-login-field input::placeholder{color:#63738a}
.auth-login-button{
 min-height:46px;border:1px solid rgba(255,255,255,.07);border-radius:9px;padding:0 18px;color:#fff;
 background:linear-gradient(180deg,#dd6d3e,#bd4822);box-shadow:0 9px 22px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.12);
 font-size:13px;font-weight:780;letter-spacing:.02em;cursor:pointer;transition:transform .18s,filter .18s,border-color .18s;
}
.auth-login-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);border-color:rgba(255,255,255,.13)}
.auth-login-button:disabled,.auth-login-reset:disabled,.auth-login-legacy:disabled{opacity:.58;cursor:wait}
.auth-login-button--secondary{width:100%;margin-top:4px;color:#dce4ef;background:#14243a;box-shadow:none;border:1px solid rgba(184,199,219,.14)}
.auth-login-reset,.auth-login-legacy{align-self:center;border:0;padding:1px 5px;color:#9ba9bb;background:transparent;font-size:11.5px;font-weight:600;cursor:pointer}
.auth-login-legacy{margin-top:-7px;color:#75859b;font-size:10.5px;letter-spacing:.025em}
.auth-login-reset:hover,.auth-login-legacy:hover{color:#e3e9f1}
.auth-login-feedback{border-radius:8px;padding:10px 12px;font-size:11.5px;line-height:1.45}
.auth-login-feedback--error{border:1px solid rgba(255,112,112,.24);color:#f4c3c3;background:rgba(143,36,45,.16)}
.auth-login-feedback--success{border:1px solid rgba(76,210,137,.24);color:#b8e6cd;background:rgba(23,111,66,.16)}
.auth-login-security{margin-top:21px;padding-top:17px;border-top:1px solid rgba(189,202,220,.1);color:#718198;font-size:9px;font-weight:700;letter-spacing:.16em;line-height:1.5;text-align:center;text-transform:uppercase}
.auth-login-spinner{width:28px;height:28px;border:2px solid rgba(255,255,255,.12);border-top-color:#d96a3d;border-radius:50%;animation:auth-login-spin .9s linear infinite}
@keyframes auth-login-spin{to{transform:rotate(360deg)}}
@media(max-width:520px){
 .auth-gate{padding:16px 12px}
 .auth-login-card{width:min(100%,370px);padding:29px 22px 26px;border-radius:14px}
 .auth-login-heading{margin-bottom:15px}.auth-login-brand{font-size:28px}.auth-login-intro{margin-bottom:19px}
 .auth-login-form{gap:13px}.auth-login-security{margin-top:18px;padding-top:15px}
}
@media(prefers-reduced-motion:reduce){.auth-login-spinner{animation-duration:1.8s}.auth-login-button{transition:none}}
