/* LexiQo public account shell — aligned with the application visual system. */
:root {
    --auth-primary: #596aa2;
    --auth-secondary: #7ab8b0;
    --auth-accent: #ee7d4b;
    --auth-accent-dark: #c96036;
    --auth-bg: #f7f8f5;
    --auth-surface: #ffffff;
    --auth-border: #e3e7e1;
    --auth-text: #454b5d;
    --auth-muted: #78808f;
    --auth-white: #ffffff;
    --auth-gray-100: #f7f8f5;
    --auth-gray-200: #eef1ec;
    --auth-gray-300: #dfe3dd;
    --auth-gray-400: #c7cdc5;
    --auth-gray-500: #9aa19a;
    --auth-gray-600: #78808f;
    --auth-gray-700: #596274;
    --auth-gray-800: #454b5d;
    --auth-gray-900: #242b3a;
    --auth-border-radius: 9px;
    --auth-border-radius-lg: 14px;
    --auth-shadow: 0 1px 2px rgba(52,58,70,.04);
    --auth-shadow-lg: 0 18px 48px rgba(52,58,70,.10);
    --primary: #596aa2;
    --primary-dark: #48578b;
    --primary-light: #edf0f8;
    --secondary: #7ab8b0;
    --dark: #454b5d;
    --dark-light: #596274;
    --dark-lighter: #78808f;
    --text-primary: #454b5d;
    --text-secondary: #78808f;
    --text-muted: #9aa1ad;
    --border: #e3e7e1;
    --bg-light: #f7f8f5;
}

html, body { min-height: 100%; }
body {
    color: var(--auth-text) !important;
    background: var(--auth-bg) !important;
    background-image: none !important;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
body::before, body::after { display: none !important; }

:is(.auth-container, .login-container, .reset-container, .verify-container,
    .thank-you-container, .payment-container) {
    width: min(1120px, calc(100% - 32px)) !important;
    min-height: auto !important;
    margin: 32px auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: var(--auth-surface) !important;
    background-image: none !important;
    border: 1px solid var(--auth-border) !important;
    border-radius: 14px !important;
    box-shadow: var(--auth-shadow-lg) !important;
}

:is(.auth-card, .reset-card, .verify-card, .thank-you-card, .payment-card,
    .forgot-password-card) {
    width: min(100%, 620px) !important;
    max-width: 620px !important;
    margin: 32px auto !important;
    color: var(--auth-text) !important;
    background: #fff !important;
    background-image: none !important;
    border: 1px solid var(--auth-border) !important;
    border-radius: 14px !important;
    box-shadow: var(--auth-shadow-lg) !important;
}

.login-container { display: grid !important; grid-template-columns: minmax(300px, .8fr) minmax(420px, 1.2fr) !important; }
.branding-side {
    color: var(--auth-text) !important;
    background: #f3f5ef !important;
    background-image: none !important;
    border-right: 1px solid var(--auth-border) !important;
}
.branding-side::before, .branding-side::after { display: none !important; }
.branding-side :is(h1, h2, h3, p, li, span) { color: inherit !important; text-shadow: none !important; }
.brand-logo, .auth-logo, :is(.forgot-icon, .reset-icon, .verify-icon, .success-icon) {
    color: #fff !important;
    background: var(--auth-primary) !important;
    background-image: none !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}
.brand-logo::before, .auth-logo::before { display: none !important; }
.login-side { background: #fff !important; }

:is(.auth-title, .login-title, .form-title, .brand-title,
    .reset-card h1, .verify-card h1, .thank-you-card h1, .payment-card h1,
    .forgot-password-card h1, .forgot-password-card h2) {
    color: var(--auth-text) !important;
    letter-spacing: -.025em;
}
:is(.auth-subtitle, .login-subtitle, .form-subtitle, .brand-subtitle) { color: var(--auth-muted) !important; }

.form-label { color: #596274 !important; font-size: .76rem !important; font-weight: 700 !important; }
.form-control, .form-select, .input-group-text {
    min-height: 42px;
    color: var(--auth-text) !important;
    background: #fff !important;
    border: 1px solid var(--auth-gray-300) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}
.form-control:focus, .form-select:focus {
    border-color: rgba(238,125,75,.7) !important;
    box-shadow: 0 0 0 3px rgba(238,125,75,.1) !important;
}
.password-wrapper .form-control { padding-right: 46px; }

.btn, .btn-login, .btn-reset, button[type="submit"] {
    min-height: 42px;
    border-radius: 9px !important;
    box-shadow: none !important;
    font-weight: 700 !important;
    transition: .16s ease !important;
}
.btn-primary, .btn-login, .btn-reset, button[type="submit"] {
    color: #fff !important;
    background: var(--auth-accent) !important;
    background-image: none !important;
    border-color: var(--auth-accent) !important;
}
.btn-primary:hover, .btn-login:hover, .btn-reset:hover, button[type="submit"]:hover {
    background: var(--auth-accent-dark) !important;
    border-color: var(--auth-accent-dark) !important;
    transform: translateY(-1px) !important;
}
.btn-outline-primary { color: var(--auth-primary) !important; background: #fff !important; border-color: rgba(89,106,162,.42) !important; }
.btn-outline-primary:hover { color: #fff !important; background: var(--auth-primary) !important; border-color: var(--auth-primary) !important; }
.social-btn { color: var(--auth-text) !important; background: #fff !important; border: 1px solid var(--auth-border) !important; box-shadow: none !important; }

.alert { border-width: 1px !important; border-radius: 9px !important; box-shadow: none !important; }
.alert-success { color: #52623c !important; background: #f0f3ea !important; border-color: #dfe7d2 !important; }
.alert-info { color: #3f7470 !important; background: #eaf5f3 !important; border-color: #d6ebe8 !important; }
.alert-warning { color: #96502f !important; background: #fff2eb !important; border-color: #f4d8ca !important; }
.alert-danger { color: #934c46 !important; background: #fbefee !important; border-color: #efd4d1 !important; }

.step-card, .summary-card, .payment-summary, .resend-form {
    color: var(--auth-text) !important;
    background: #fff !important;
    background-image: none !important;
    border: 1px solid var(--auth-border) !important;
    border-radius: 9px !important;
    box-shadow: var(--auth-shadow) !important;
}
a { color: var(--auth-primary); }
a:hover { color: var(--auth-accent-dark); }

@media (max-width: 767.98px) {
    :is(.auth-container, .login-container, .reset-container, .verify-container,
        .thank-you-container, .payment-container) { width: calc(100% - 20px) !important; margin: 10px auto !important; }
    .login-container { display: block !important; }
    .branding-side { display: none !important; }
    :is(.auth-card, .reset-card, .verify-card, .thank-you-card, .payment-card,
        .forgot-password-card) { margin: 10px auto !important; padding: 24px 18px !important; border: 0 !important; box-shadow: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
}
