.auth-page{display:flex;min-height:100vh;flex-direction:column}
.auth-page *{letter-spacing:0}
.auth-topbar{position:relative;flex:none}
.auth-shell{width:min(1080px,100%);margin:auto;padding:48px 28px}
.auth-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xl);background:rgba(255,255,255,.88);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.auth-context{position:relative;isolation:isolate;min-height:470px;padding:54px;overflow:hidden;color:white;background:linear-gradient(135deg,#111830 0,#171b3f 52%,#39238d 100%)}
.auth-context:before{content:"";position:absolute;z-index:-1;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(135deg,transparent,black)}
.auth-context:after{content:"";position:absolute;z-index:-1;width:340px;height:340px;right:-190px;bottom:-210px;border:1px solid rgba(255,255,255,.24);border-radius:50%;box-shadow:0 0 0 46px rgba(255,255,255,.035),0 0 0 92px rgba(255,255,255,.025)}
.auth-context h1{margin:26px 0 14px;font:700 48px/1.08 var(--display);letter-spacing:0}
.auth-context>p{max-width:470px;margin:0;color:rgba(238,240,255,.72);font-size:14px;line-height:1.8}
.auth-signal{position:absolute;right:54px;bottom:50px;left:54px;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.2)}
.auth-signal span{display:flex;align-items:center;color:#aeb4d7;font:700 9px var(--display)}
.auth-signal span i{width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 5px rgba(181,240,68,.12)}
.auth-signal b{display:block;margin-top:16px;font:700 25px var(--display)}
.auth-signal small{display:block;margin-top:3px;color:rgba(235,237,255,.62);font:700 9px var(--display)}
.auth-form{align-self:center;padding:48px 42px}
.auth-form-heading{display:flex;align-items:center;gap:12px;margin-bottom:36px}
.auth-form-heading h2{margin:0;font:700 22px var(--display);letter-spacing:0}
.auth-form-heading p{margin:3px 0 0;color:var(--faint);font:700 9px var(--display)}
.auth-password-field{margin-bottom:0}
.password-control{position:relative;display:block}
.password-control input{padding-right:72px}
.password-control button{position:absolute;top:50%;right:8px;min-width:50px;height:34px;transform:translateY(-50%);border:0;border-radius:9px;color:var(--brand);background:transparent;cursor:pointer;font-size:11px;font-weight:800}
.password-control button:hover{background:rgba(109,74,255,.08)}
.auth-message{min-height:22px;margin:10px 0 8px;color:var(--danger);font-size:11px;line-height:1.5}
.auth-message.success{color:var(--success)}
.auth-submit{width:100%;justify-content:space-between}
.auth-submit:disabled{cursor:wait;opacity:.68;transform:none}
.auth-footer{flex:none}
.dark .auth-panel{background:rgba(16,24,39,.9)}

@media(max-width:780px){
  .auth-shell{padding:26px 14px}.auth-panel{grid-template-columns:1fr}.auth-context{min-height:250px;padding:34px 28px}.auth-context h1{font-size:38px}.auth-signal{position:relative;right:auto;bottom:auto;left:auto;margin-top:34px}.auth-form{width:100%;padding:34px 28px}.auth-footer{padding-top:0}
}
@media(max-width:480px){
  .auth-shell{padding:18px 12px}.auth-context{min-height:230px;padding:29px 23px}.auth-context h1{font-size:34px}.auth-context>p{font-size:12px}.auth-signal{margin-top:26px;padding:14px 16px}.auth-form{padding:29px 23px}.auth-form-heading{margin-bottom:28px}
}
