/* Shared authentication surfaces, independent of the application utilities. */
:root {
    --auth-bg: #f7f7f7; --auth-surface: #fff; --auth-soft: #f2f2f2;
    --auth-text: #181818; --auth-muted: #686868; --auth-border: #dedede;
    --auth-link: #466909; --auth-accent: #b5f43d;
}
:root.dark {
    --auth-bg: #121212; --auth-surface: #202020; --auth-soft: #292929;
    --auth-text: #f5f5f5; --auth-muted: #aaa; --auth-border: #3b3b3b;
    --auth-link: #c1f764; color-scheme: dark;
}
body { background: var(--auth-bg); background-image: none; color: var(--auth-text); }
body * { letter-spacing: 0; }
.login-container::before,.login-container::after,.reg-container::before,.reg-container::after,.container::before,.container::after { display: none; }
.login-card,.reg-card,.card {
    background: var(--auth-surface); border: 1px solid var(--auth-border); border-radius: 8px;
    box-shadow: none; backdrop-filter: none; padding: 32px;
}
.login-card::before,.reg-card::before,.card::before { display: none; }
.logo-text,.login-card h1,.reg-card h1,.card h1 { color: var(--auth-text); font-weight: 700; }
.logo-text span { color: var(--auth-link); }
.login-card .subtitle,.reg-card .subtitle,.card .subtitle,.subtitle,
.remember-label,.register-link,.login-link,.secure-note,.legal-note,.back-link,.terms-label,.divider span { color: var(--auth-muted); }
.fl-group input,.fl-group select,.form-group input,.code-input,.code-inputs input {
    background: var(--auth-soft); color: var(--auth-text); border-color: var(--auth-border); border-radius: 8px;
}
.fl-group label { color: var(--auth-muted); }
.fl-group input:focus,.form-group input:focus,.code-input:focus,.code-inputs input:focus { border-color: var(--auth-link); box-shadow: 0 0 0 3px color-mix(in srgb, var(--auth-link) 12%, transparent); }
.fl-group input:focus+label,.fl-group input:not(:placeholder-shown)+label { color: var(--auth-link); }
.forgot-link,.register-link a,.login-link a,.legal-note a,.terms-label a,.back-link a { color: var(--auth-link); }
.btn-login,.btn-register,.btn-submit,.btn-primary,.btn-verify {
    background: var(--auth-accent); color: #18210a; border-radius: 8px; box-shadow: none; min-height: 46px;
}
.btn-login:hover,.btn-register:hover,.btn-submit:hover,.btn-primary:hover,.btn-verify:hover { background: #a2e329; box-shadow: none; transform: none; }
.btn-google { background: var(--auth-surface); color: var(--auth-text); border-color: var(--auth-border); border-radius: 8px; }
.btn-google:hover { background: var(--auth-soft); border-color: var(--auth-muted); transform: none; }
.divider::before,.divider::after { background: var(--auth-border); }
.secure-note { color: var(--auth-muted); }
input[type="checkbox"] { accent-color: var(--auth-link); }
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 100px var(--auth-soft) inset !important;
    -webkit-text-fill-color: var(--auth-text) !important;
}
button:focus-visible,a:focus-visible { outline: 2px solid var(--auth-link); outline-offset: 3px; }
.info-box { background: var(--auth-soft); border-color: var(--auth-border); border-radius: 8px; }
.box { background: var(--auth-surface); border: 1px solid var(--auth-border); border-radius: 8px; box-shadow: none; }
.box h1,.cta-section h2 { color: var(--auth-text); }
.box p,.info-box,.cta-section p,.footer,.timer { color: var(--auth-muted); }
.box .primary { background: var(--auth-accent); color: #18210a; border-radius: 8px; }
.box .secondary,.btn-outline { background: var(--auth-soft); color: var(--auth-text); border-color: var(--auth-border); border-radius: 8px; }
.resend-link button,.resend-link a { color: var(--auth-link); }
.code-inputs { gap: 6px; }
.code-inputs input { min-width: 0; width: 100%; max-width: 48px; }
@media (max-width: 480px) { .login-card,.reg-card,.card { padding: 28px 22px; } }
