/* Authentication only: dashboard and other public pages retain their styles. */
.auth-page{--bg:#f5f8fc;--panel:#fff;--panel-border:#dce5f0;--text:#0b1c33;--muted:#53657a;--input-bg:#fff;--input-border:#b9c8da;background:radial-gradient(ellipse at 50% 0,rgba(0,128,255,.08),transparent 55%),var(--bg);min-height:100vh}
.auth-page[data-theme='dark']{--bg:#071322;--panel:#0e2035;--panel-border:#263c56;--text:#eef5ff;--muted:#b0c0d4;--input-bg:#0a192c;--input-border:#425875}
.auth-page>.container{max-width:1180px;min-height:100vh;display:flex;flex-direction:column;padding:24px 32px 0}
.auth-page .topbar{flex-wrap:wrap;gap:16px;min-height:44px}
.auth-home{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:var(--muted);font-weight:700;text-decoration:none}
.auth-page .public-top-actions{gap:12px}
.auth-page .public-top-actions select{min-height:44px;font:inherit;max-width:100%;border-radius:10px}
.auth-page .public-top-actions .btn{background:transparent;color:var(--muted);font-size:1rem;min-height:44px;padding:10px 4px}
.auth-layout{width:100%;max-width:460px;margin:36px auto 48px;flex:1 0 auto;min-width:0}
.auth-register{max-width:520px;margin-top:24px}
.auth-brand{display:block;width:min(330px,90%);margin:0 auto 28px;line-height:0}
.auth-brand svg{width:100%;height:auto;display:block;overflow:hidden}
.auth-brand .auth-brand-dark{display:none}
.auth-page[data-theme='dark'] .auth-brand-light{display:none}
.auth-page[data-theme='dark'] .auth-brand-dark{display:block}
.auth-page .auth-card{width:100%;padding:32px;border-radius:20px;border:1px solid var(--panel-border);box-shadow:0 16px 48px rgba(17,52,93,.07)}
.auth-page[data-theme='dark'] .auth-card{box-shadow:0 18px 56px rgba(0,0,0,.18)}
.auth-page .auth-card-heading{display:block;margin-bottom:28px}
.auth-page .auth-card-heading h2{font-size:1.75rem;line-height:1.2;letter-spacing:-.035em;margin:0 0 10px}
.auth-page .auth-card-heading p{line-height:1.55}
.auth-page .auth-form{gap:18px}
.auth-page .auth-form label{font-size:1rem;font-weight:600;gap:8px;min-width:0}
.auth-page .auth-form input{font-size:1rem;min-height:48px;border-radius:10px}
.auth-page .auth-form .honeypot{min-height:1px}
.auth-page .password-field input{padding-right:52px}
.auth-page .password-toggle{width:44px;height:44px;color:var(--text)}
.auth-page .auth-submit{background:#006ee6;border:1px solid #0066d6;color:#fff;min-height:48px;border-radius:10px;font-weight:700}
.auth-page .auth-submit:hover{background:#005ecc}
.auth-page .auth-secondary{background:transparent;color:var(--text);border:1px solid var(--input-border);border-radius:10px;font-weight:600}
.auth-page .auth-secondary:hover{background:var(--bg)}
.auth-page a:not(.auth-brand):hover{text-decoration:underline}
.auth-page .auth-submit:hover,.auth-page .auth-secondary:hover{text-decoration:none}
.auth-page .auth-help,.auth-page .login-recovery,.auth-page .auth-divider,.auth-page .registration-note{font-size:.9375rem;line-height:1.5}
.auth-page .auth-help{gap:10px 18px;margin-top:24px}
.auth-page .auth-help a,.auth-page .login-recovery a,.auth-page .legal-consent a,.auth-plan a{color:#0065d4}
.auth-page[data-theme='dark'] .auth-help a,.auth-page[data-theme='dark'] .login-recovery a,.auth-page[data-theme='dark'] .legal-consent a,.auth-page[data-theme='dark'] .auth-plan a{color:#78baff}
.auth-page .auth-divider{margin:24px 0 16px}
.auth-page .legal-consent{font-size:.9375rem}
.auth-page .legal-consent input{width:20px!important;height:20px!important;min-height:20px!important;accent-color:#006ee6}
.auth-plan:has(p){padding:12px 14px;border-radius:10px;background:var(--bg);margin:0 0 20px;font-size:.9375rem;line-height:1.5}
.auth-plan p{margin:0}
.auth-page .flash-wrap{width:100%;max-width:520px;margin:20px auto 0;line-height:1.5}
.auth-page :focus-visible{outline:3px solid #0785ff;outline-offset:3px}
.auth-page .site-footer{margin-top:auto;padding:18px 0 24px;gap:12px 20px;line-height:1.5;font-size:.875rem}
.auth-page .site-footer a{min-height:32px;display:inline-flex;align-items:center}
@media(max-width:600px){.auth-page>.container{padding:16px 16px 0}.auth-page .topbar{gap:8px 12px}.auth-page .public-top-actions{gap:10px}.auth-layout,.auth-register{margin:24px auto 32px}.auth-brand{width:min(300px,90%);margin-bottom:24px}.auth-page .auth-card{padding:24px 20px;border-radius:16px}.auth-page .public-top-actions select{max-width:145px}.auth-page .auth-help{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.auth-page{scroll-behavior:auto}}

.auth-page[data-theme='dark'] .auth-secondary,.auth-page[data-theme='dark'] .public-top-actions .btn{background:transparent;color:var(--text)}
.auth-page[data-theme='dark'] .auth-secondary:hover{background:var(--bg)}
