.auth-shell-body{background:var(--bg);}.auth-shell{width:100%;max-width:none;padding:0}
.auth-page{min-height:100vh;position:relative;overflow:hidden;padding:38px 20px 34px;display:flex;flex-direction:column;align-items:center;background:radial-gradient(circle at 15% 20%,rgba(0,229,255,.12),transparent 28%),radial-gradient(circle at 86% 24%,rgba(255,61,242,.1),transparent 30%),var(--bg);color:var(--text)}
.auth-brand{position:absolute;top:28px;right:32px;color:var(--cyan);font-size:22px;font-weight:900;letter-spacing:-.04em;text-shadow:0 0 14px rgba(0,229,255,.7)}
.auth-theme-toggle{position:absolute;top:24px;left:28px;width:48px;height:48px;border:1px solid rgba(0,229,255,.4);border-radius:50%;background:var(--surface);color:var(--cyan);font-size:23px;cursor:pointer}
.auth-hero{text-align:center;max-width:850px;margin:18px auto 34px}.auth-hero h1{margin:0;font-size:clamp(28px,4.5vw,48px);font-weight:900}.auth-hero h1 span{color:var(--cyan);text-shadow:0 0 16px rgba(0,229,255,.55)}.auth-hero p{margin:12px 0 0;color:var(--muted);font-size:clamp(14px,1.8vw,18px)}
.auth-card{position:relative;width:min(100%,520px);padding:30px 34px 24px;border:1px solid rgba(0,229,255,.65);border-radius:18px;background:linear-gradient(145deg,rgba(9,20,35,.92),rgba(4,10,20,.86));box-shadow:0 0 24px rgba(0,229,255,.22),inset 0 0 28px rgba(0,229,255,.05);backdrop-filter:blur(12px)}
.auth-card.auth-login{border-color:rgba(91,180,255,.7);box-shadow:0 0 24px rgba(91,180,255,.2),inset 0 0 28px rgba(91,180,255,.05)}
.auth-card-icon{width:64px;height:64px;margin:0 auto 12px;color:var(--cyan)}.auth-card-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px currentColor)}
.auth-heading{text-align:center;border-bottom:1px solid rgba(150,190,220,.18);padding-bottom:20px;margin-bottom:20px}.auth-heading h2{margin:0;font-size:clamp(23px,3vw,30px);font-weight:900}.auth-heading p{margin:6px 0 0;color:var(--muted);font-size:14px}
.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field label{display:block;margin-bottom:7px;font-size:14px;font-weight:700}.auth-field input{width:100%;height:52px;padding:0 16px;border:1px solid rgba(143,188,222,.3);border-radius:11px;background:var(--surface-input);color:var(--text);font:inherit;outline:0;transition:.2s}.auth-field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,229,255,.14)}.auth-field input::placeholder{color:var(--muted);opacity:.75}.auth-password{position:relative}.auth-password input{padding-left:54px}.auth-password-toggle{position:absolute;left:4px;top:4px;width:44px;height:44px;color:var(--muted);font-size:20px;cursor:pointer}
.auth-check{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;line-height:1.7}.auth-check input{width:20px;height:20px;accent-color:var(--cyan)}.auth-submit{min-height:54px;margin-top:2px;border:1px solid var(--cyan);border-radius:11px;background:linear-gradient(180deg,rgba(0,229,255,.34),rgba(0,130,160,.25));color:#fff;font:inherit;font-weight:900;font-size:18px;cursor:pointer;box-shadow:0 0 16px rgba(0,229,255,.35);transition:.2s}.auth-submit:hover{transform:translateY(-2px);box-shadow:0 0 24px rgba(0,229,255,.55)}.auth-status{margin:0;color:#5dffbf;text-align:center;font-size:13px}.auth-switch{text-align:center;margin:20px 0 0;color:var(--muted);font-size:14px}.auth-switch button{padding:0;border:0;background:none;color:var(--cyan);font:inherit;font-weight:800;cursor:pointer}.auth-security{text-align:center;margin:22px 0 0;color:var(--muted);font-size:12px}
.auth-orbit{position:absolute;border:1px solid rgba(0,229,255,.25);transform:rotate(45deg);pointer-events:none}.auth-orbit-one{width:180px;height:180px;right:-110px;top:36%}.auth-orbit-two{width:130px;height:130px;left:-80px;bottom:10%;border-color:rgba(255,61,242,.3)}
:root.light-theme .auth-page{background:radial-gradient(circle at 15% 20%,rgba(0,150,180,.12),transparent 28%),#eaf5ff}:root.light-theme .auth-card{background:rgba(255,255,255,.88);border-color:rgba(0,145,175,.55);box-shadow:0 14px 34px rgba(31,90,125,.16)}:root.light-theme .auth-theme-toggle{background:rgba(255,255,255,.8);color:#176582}
@media(max-width:600px){.auth-page{padding:88px 14px 28px}.auth-brand{top:18px;right:18px;font-size:18px}.auth-theme-toggle{top:14px;left:14px;width:44px;height:44px}.auth-hero{margin-bottom:24px}.auth-hero h1{font-size:28px}.auth-hero p{font-size:13px;line-height:1.9}.auth-card{padding:24px 18px 20px;border-radius:15px}.auth-card-icon{width:56px;height:56px}.auth-field input{height:50px}.auth-submit{font-size:16px}}
@media(prefers-reduced-motion:reduce){.auth-submit{transition:none}.auth-submit:hover{transform:none}}

/* Auth uses the shared site layout; the form card is the only page content. */
.auth-page{min-height:calc(100vh - 180px);padding:26px 20px 34px;justify-content:center;align-items:center}
.auth-brand,.auth-theme-toggle,.auth-hero,.auth-orbit{display:none}
.auth-password-toggle{display:grid;place-items:center;font-size:0;border:0;border-radius:8px;background:transparent;transition:color .2s ease,background-color .2s ease}
.auth-password-toggle:hover{color:var(--cyan);background:rgba(0,229,255,.1)}
.auth-password-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.auth-eye{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:root.light-theme .auth-card{background:rgba(255,255,255,.88);border-color:rgba(0,145,175,.55);box-shadow:0 14px 34px rgba(31,90,125,.16)}
@media(max-width:600px){.auth-page{min-height:calc(100vh - 130px);padding:20px 14px 28px;align-items:center}}
