/* ═══════════════════════════════════════════════════
 * Bode Auth — Stylesheet
 * Plugin: Bode Stephen's Auth & Registration
 * Author: Bode Stephen (Dapcodelabs)
 * ═══════════════════════════════════════════════════ */

/* ─── Design Tokens ─── */
.bode-auth-wrapper {
    --bode-primary: #40009f;
    --bode-primary-container: #5822c3;
    --bode-on-primary: #ffffff;
    --bode-on-primary-container: #c6b0ff;
    --bode-primary-fixed: #e9ddff;
    --bode-primary-fixed-dim: #cfbcff;
    --bode-secondary: #7c5800;
    --bode-secondary-container: #feb700;
    --bode-surface: #faf8ff;
    --bode-surface-container: #eaedff;
    --bode-surface-container-lowest: #ffffff;
    --bode-surface-container-low: #f2f3ff;
    --bode-surface-container-high: #e2e7ff;
    --bode-surface-container-highest: #dae2fd;
    --bode-surface-tint: #6b3cd6;
    --bode-surface-variant: #dae2fd;
    --bode-surface-dim: #d2d9f4;
    --bode-surface-bright: #faf8ff;
    --bode-on-surface: #131b2e;
    --bode-on-surface-variant: #494454;
    --bode-on-background: #131b2e;
    --bode-background: #faf8ff;
    --bode-outline: #7a7486;
    --bode-outline-variant: #cbc3d7;
    --bode-error: #ba1a1a;
    --bode-error-container: #ffdad6;
    --bode-on-error-container: #93000a;
    --bode-inverse-surface: #283044;
    --bode-inverse-on-surface: #eef0ff;
    --bode-inverse-primary: #cfbcff;
    --bode-tertiary: #003e1c;
    --bode-tertiary-container: #00582a;
}

/* ─── Animations ─── */
@keyframes bode-fadeInUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes bode-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes bode-float-1 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(15px, -20px) scale(1.02); }
    66% { transform: translate(-10px, 10px) scale(0.98); }
}

@keyframes bode-float-2 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(-20px, 15px) scale(1.03); }
    66% { transform: translate(10px, -10px) scale(0.97); }
}

@keyframes bode-float-3 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(10px, 15px) scale(1.04); }
}

/* ─── Wrapper ─── */
.bode-auth-wrapper {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    background-color: var(--bode-background) !important;
    position: relative !important;
    overflow-x: hidden !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    line-height: 24px !important;
    color: var(--bode-on-surface) !important;
}

/* ─── Hard Reset: kill all theme bleed inside wrapper ─── */
.bode-auth-wrapper *,
.bode-auth-wrapper *::before,
.bode-auth-wrapper *::after {
    box-sizing: border-box !important;
}

.bode-auth-wrapper button,
.bode-auth-wrapper input,
.bode-auth-wrapper label,
.bode-auth-wrapper a,
.bode-auth-wrapper p,
.bode-auth-wrapper h2,
.bode-auth-wrapper h3,
.bode-auth-wrapper span,
.bode-auth-wrapper div,
.bode-auth-wrapper nav,
.bode-auth-wrapper footer,
.bode-auth-wrapper main,
.bode-auth-wrapper form {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
    text-decoration: none;
    outline: none;
    box-shadow: none;
}

/* ─── Background Blobs ─── */
.bode-auth-wrapper .bode-auth-bg {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

.bode-auth-wrapper .bode-auth-blob {
    position: absolute !important;
    border-radius: 50% !important;
    opacity: 0.10 !important;
}

.bode-auth-wrapper .bode-auth-blob--1 {
    top: -10%;
    left: -10%;
    width: 60%;
    height: 60%;
    background: var(--bode-primary-container) !important;
    filter: blur(120px);
    animation: bode-float-1 20s ease-in-out infinite;
}

.bode-auth-wrapper .bode-auth-blob--2 {
    bottom: -5%;
    right: -5%;
    width: 50%;
    height: 50%;
    background: var(--bode-surface-tint) !important;
    filter: blur(100px);
    animation: bode-float-2 25s ease-in-out infinite;
}

.bode-auth-wrapper .bode-auth-blob--3 {
    top: 40%;
    right: 10%;
    width: 30%;
    height: 30%;
    background: var(--bode-secondary-container) !important;
    filter: blur(120px);
    animation: bode-float-3 18s ease-in-out infinite;
}

/* ─── Main Layout ─── */
.bode-auth-wrapper .bode-auth-main {
    flex-grow: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
    position: relative !important;
    z-index: 10 !important;
}

.bode-auth-wrapper .bode-auth-container {
    width: 100% !important;
    max-width: 480px !important;
}

/* ─── Header / Logo ─── */
.bode-auth-wrapper .bode-auth-header {
    margin-bottom: 40px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.bode-auth-wrapper .bode-auth-logo {
    height: 64px !important;
    width: auto !important;
    margin-bottom: 24px !important;
    object-fit: contain !important;
    border: none !important;
    box-shadow: none !important;
}

.bode-auth-wrapper .bode-auth-title {
    font-family: 'Hanken Grotesk', sans-serif !important;
    font-size: 32px !important;
    line-height: 40px !important;
    font-weight: 700 !important;
    color: var(--bode-on-background) !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    text-transform: none !important;
}

.bode-auth-wrapper .bode-auth-subtitle {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 400 !important;
    color: var(--bode-on-surface-variant) !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
}

/* ─── Card ─── */
.bode-auth-wrapper .bode-auth-card {
    background: rgba(255, 255, 255, 0.3) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    backdrop-filter: blur(20px) !important;
    border-radius: 0.75rem !important;
    padding: 24px !important;
    box-shadow: 0 25px 50px -12px rgba(64, 0, 159, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    animation: bode-fadeInUp 0.5s ease-out both;
}

/* ─── Tabs ─── */
.bode-auth-wrapper .bode-auth-tabs {
    display: flex !important;
    gap: 40px !important;
    border-bottom: 1px solid var(--bode-outline-variant) !important;
    margin-bottom: 32px !important;
    padding: 0 !important;
    list-style: none !important;
    background: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

.bode-auth-wrapper .bode-auth-tab {
    padding: 0 0 20px 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
    color: var(--bode-on-surface-variant) !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin: 0 0 -1px 0 !important;
    cursor: pointer !important;
    transition: color 0.2s ease, border-color 0.2s ease !important;
    white-space: nowrap !important;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
    min-width: auto !important;
    min-height: auto !important;
}

.bode-auth-wrapper .bode-auth-tab:hover {
    color: var(--bode-primary) !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.bode-auth-wrapper .bode-auth-tab.bode-auth-tab--active {
    color: var(--bode-primary) !important;
    border-bottom-color: var(--bode-primary) !important;
    background: none !important;
    background-color: transparent !important;
}

/* ─── Message Area ─── */
.bode-auth-wrapper .bode-auth-message {
    display: none !important;
    margin-bottom: 16px !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 500 !important;
    animation: bode-fadeInUp 0.3s ease-out both;
}

.bode-auth-wrapper .bode-auth-message.bode-auth-message--error {
    display: block !important;
    background: var(--bode-error-container) !important;
    color: var(--bode-on-error-container) !important;
    border: 1px solid rgba(186, 26, 26, 0.2) !important;
}

.bode-auth-wrapper .bode-auth-message.bode-auth-message--success {
    display: block !important;
    background: #d4edda !important;
    color: #155724 !important;
    border: 1px solid rgba(21, 87, 36, 0.2) !important;
}

/* ─── Forms ─── */
.bode-auth-wrapper .bode-auth-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border: none !important;
}

.bode-auth-wrapper .bode-auth-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bode-auth-wrapper .bode-auth-field-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}

.bode-auth-wrapper .bode-auth-field-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* ─── Labels ─── */
.bode-auth-wrapper .bode-auth-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
    color: var(--bode-on-surface-variant) !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bode-auth-wrapper .bode-auth-forgot-link {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
    color: var(--bode-primary) !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease !important;
    background: none !important;
    border: none !important;
}

.bode-auth-wrapper .bode-auth-forgot-link:hover {
    text-decoration: underline !important;
    opacity: 0.85 !important;
    color: var(--bode-primary) !important;
}

/* ─── Input Wraps ─── */
.bode-auth-wrapper .bode-auth-input-wrap {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bode-auth-wrapper .bode-auth-icon {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: var(--bode-outline) !important;
    font-size: 20px !important;
    transition: color 0.2s ease !important;
    pointer-events: none !important;
    z-index: 1 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
}

.bode-auth-wrapper .bode-auth-input-wrap:focus-within .bode-auth-icon {
    color: var(--bode-primary) !important;
}

/* ─── Inputs ─── */
.bode-auth-wrapper .bode-auth-input {
    width: 100% !important;
    padding: 14px 16px 14px 48px !important;
    border-radius: 8px !important;
    border: 2px solid var(--bode-outline-variant) !important;
    background: var(--bode-surface) !important;
    background-color: var(--bode-surface) !important;
    outline: none !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 400 !important;
    color: var(--bode-on-surface) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

.bode-auth-wrapper .bode-auth-input::placeholder {
    color: var(--bode-outline-variant) !important;
    opacity: 1 !important;
}

.bode-auth-wrapper .bode-auth-input:focus {
    border-color: var(--bode-primary) !important;
    box-shadow: 0 0 0 3px rgba(64, 0, 159, 0.08) !important;
    outline: none !important;
    background: var(--bode-surface) !important;
}

/* Input without icon — reduce left padding */
.bode-auth-wrapper .bode-auth-input-wrap:not(:has(.bode-auth-icon)) .bode-auth-input {
    padding-left: 16px !important;
}

/* Fallback for browsers without :has() */
.bode-auth-wrapper .bode-auth-field-row .bode-auth-input {
    padding-left: 16px !important;
}

/* ─── Password Toggle ─── */
.bode-auth-wrapper .bode-auth-toggle-pw {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    color: var(--bode-on-surface-variant) !important;
    transition: color 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 1 !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
    min-width: auto !important;
    min-height: auto !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
}

.bode-auth-wrapper .bode-auth-toggle-pw:hover {
    color: var(--bode-primary) !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.bode-auth-wrapper .bode-auth-toggle-pw:focus {
    outline: none !important;
    box-shadow: none !important;
    background: none !important;
}

.bode-auth-wrapper .bode-auth-toggle-pw .material-symbols-outlined {
    font-size: 20px !important;
    color: inherit !important;
}

/* Input with toggle needs right padding */
.bode-auth-wrapper .bode-auth-input-wrap:has(.bode-auth-toggle-pw) .bode-auth-input {
    padding-right: 48px !important;
}

/* ─── Checkbox ─── */
.bode-auth-wrapper .bode-auth-checkbox-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bode-auth-wrapper .bode-auth-checkbox {
    width: 16px !important;
    height: 16px !important;
    border-radius: 4px !important;
    accent-color: var(--bode-primary) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.bode-auth-wrapper .bode-auth-checkbox-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
    color: var(--bode-on-surface-variant) !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ─── Hints & Terms ─── */
.bode-auth-wrapper .bode-auth-hint {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    line-height: 16px !important;
    color: var(--bode-on-surface-variant) !important;
    margin-top: 2px !important;
    margin-bottom: 0 !important;
}

.bode-auth-wrapper .bode-auth-terms {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
    color: var(--bode-on-surface-variant) !important;
    margin: 0 !important;
}

.bode-auth-wrapper .bode-auth-terms a {
    color: var(--bode-primary) !important;
    text-decoration: underline !important;
}

.bode-auth-wrapper .bode-auth-terms a:hover {
    opacity: 0.85 !important;
}

/* ─── Primary Button ─── */
.bode-auth-wrapper .bode-auth-btn--primary {
    position: relative !important;
    width: 100% !important;
    padding: 16px !important;
    background: var(--bode-primary) !important;
    background-color: var(--bode-primary) !important;
    color: var(--bode-on-primary) !important;
    border-radius: 8px !important;
    border: none !important;
    cursor: pointer !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 10px 25px -5px rgba(64, 0, 159, 0.2) !important;
    margin: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.bode-auth-wrapper .bode-auth-btn--primary:hover {
    background: var(--bode-primary-container) !important;
    background-color: var(--bode-primary-container) !important;
    color: var(--bode-on-primary) !important;
    box-shadow: 0 15px 30px -5px rgba(64, 0, 159, 0.3) !important;
    border: none !important;
}

.bode-auth-wrapper .bode-auth-btn--primary:focus {
    background: var(--bode-primary) !important;
    background-color: var(--bode-primary) !important;
    color: var(--bode-on-primary) !important;
    outline: none !important;
}

.bode-auth-wrapper .bode-auth-btn--primary:active {
    transform: scale(0.98) !important;
}

.bode-auth-wrapper .bode-auth-btn--primary .bode-auth-btn-text {
    color: var(--bode-on-primary) !important;
}

.bode-auth-wrapper .bode-auth-btn--primary .bode-auth-btn-icon {
    font-size: 20px !important;
    color: var(--bode-on-primary) !important;
}

.bode-auth-wrapper .bode-auth-btn--primary .material-symbols-outlined {
    color: var(--bode-on-primary) !important;
}

/* Loading State */
.bode-auth-wrapper .bode-auth-btn--primary.is-loading {
    pointer-events: none !important;
    opacity: 0.85 !important;
}

.bode-auth-wrapper .bode-auth-btn--primary.is-loading .bode-auth-btn-text,
.bode-auth-wrapper .bode-auth-btn--primary.is-loading .bode-auth-btn-icon {
    visibility: hidden !important;
}

.bode-auth-wrapper .bode-auth-btn--primary.is-loading .bode-auth-spinner {
    display: inline-block !important;
}

/* ─── Spinner ─── */
.bode-auth-wrapper .bode-auth-spinner {
    display: none !important;
    position: absolute !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-top-color: #ffffff !important;
    border-radius: 50% !important;
    animation: bode-spin 0.6s linear infinite !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ─── Divider ─── */
.bode-auth-wrapper .bode-auth-divider {
    display: flex !important;
    align-items: center !important;
    margin: 32px 0 !important;
    padding: 0 !important;
}

.bode-auth-wrapper .bode-auth-divider::before,
.bode-auth-wrapper .bode-auth-divider::after {
    content: '' !important;
    flex: 1 !important;
    border-top: 1px solid var(--bode-outline-variant) !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bode-auth-wrapper .bode-auth-divider span {
    padding: 0 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    color: var(--bode-outline) !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    margin: 0 !important;
}

/* ─── Social Buttons ─── */
.bode-auth-wrapper .bode-auth-social {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bode-auth-wrapper .bode-auth-social-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px !important;
    border: 2px solid var(--bode-outline-variant) !important;
    border-radius: 8px !important;
    background: none !important;
    background-color: transparent !important;
    cursor: pointer !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
    color: var(--bode-on-surface) !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
    box-shadow: none !important;
    text-decoration: none !important;
    text-transform: none !important;
    margin: 0 !important;
    min-width: auto !important;
    min-height: auto !important;
    line-height: 20px !important;
}

.bode-auth-wrapper .bode-auth-social-btn:hover {
    background: var(--bode-surface-container-low) !important;
    background-color: var(--bode-surface-container-low) !important;
    border-color: var(--bode-outline) !important;
    color: var(--bode-on-surface) !important;
    box-shadow: none !important;
}

.bode-auth-wrapper .bode-auth-social-btn:focus {
    outline: none !important;
    box-shadow: none !important;
    background: none !important;
}

.bode-auth-wrapper .bode-auth-social-btn span {
    color: var(--bode-on-surface) !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
}

.bode-auth-wrapper .bode-auth-social-icon {
    flex-shrink: 0 !important;
    width: 20px !important;
    height: 20px !important;
}

/* ─── Footer ─── */
.bode-auth-wrapper .bode-auth-footer {
    width: 100% !important;
    background: rgba(255, 255, 255, 0.5) !important;
    border-top: 1px solid rgba(203, 195, 215, 0.2) !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    padding: 24px 0 !important;
    margin-top: auto !important;
    margin-bottom: 0 !important;
    position: relative !important;
    z-index: 10 !important;
}

.bode-auth-wrapper .bode-auth-footer-inner {
    max-width: 80rem !important;
    margin: 0 auto !important;
    padding: 0 48px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
}

.bode-auth-wrapper .bode-auth-footer-brand {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.bode-auth-wrapper .bode-auth-footer-logo {
    font-family: 'Hanken Grotesk', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--bode-primary) !important;
    opacity: 0.6 !important;
    line-height: 1 !important;
}

.bode-auth-wrapper .bode-auth-footer-copy {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
    color: rgba(73, 68, 84, 0.6) !important;
    margin: 0 !important;
}

.bode-auth-wrapper .bode-auth-footer-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.bode-auth-wrapper .bode-auth-footer-nav a {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
    color: var(--bode-on-surface-variant) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

.bode-auth-wrapper .bode-auth-footer-nav a:hover {
    color: var(--bode-primary) !important;
    text-decoration: none !important;
}

/* ═══════════════════════════════════════════════════
 * Responsive — Desktop (≥768px)
 * ═══════════════════════════════════════════════════ */
@media (min-width: 768px) {
    .bode-auth-wrapper .bode-auth-main {
        padding: 48px !important;
    }

    .bode-auth-wrapper .bode-auth-title {
        font-size: 48px !important;
        line-height: 56px !important;
    }

    .bode-auth-wrapper .bode-auth-card {
        padding: 40px !important;
    }

    .bode-auth-wrapper .bode-auth-tabs {
        margin-bottom: 40px !important;
    }

    .bode-auth-wrapper .bode-auth-tab {
        padding-bottom: 24px !important;
    }
}

/* ═══════════════════════════════════════════════════
 * Responsive — Small mobile (≤480px)
 * ═══════════════════════════════════════════════════ */
@media (max-width: 480px) {
    .bode-auth-wrapper .bode-auth-field-row {
        grid-template-columns: 1fr !important;
    }

    .bode-auth-wrapper .bode-auth-footer-inner {
        flex-direction: column !important;
        text-align: center !important;
        padding: 0 16px !important;
    }

    .bode-auth-wrapper .bode-auth-footer-brand {
        flex-direction: column !important;
    }

    .bode-auth-wrapper .bode-auth-footer-nav {
        gap: 16px !important;
    }

    .bode-auth-wrapper .bode-auth-tabs {
        gap: 24px !important;
    }
}

/* ─── Specific Bug Fixes ─── */
.bode-auth-wrapper .bode-auth-form.bode-auth-form--hidden {
    display: none !important;
}

.bode-auth-wrapper .material-symbols-outlined {
    font-family: 'Material Symbols Outlined' !important;
    font-weight: normal !important;
    font-style: normal !important;
    font-size: 20px !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    display: inline-block !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    direction: ltr !important;
    -webkit-font-feature-settings: 'liga' !important;
    -webkit-font-smoothing: antialiased !important;
}

/* ─── Forgot Password / Reset Password Styling ─── */
.bode-auth-wrapper .bode-auth-forgot-icon-container {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 24px !important;
    margin-top: 16px !important;
}

.bode-auth-wrapper .bode-auth-forgot-icon-circle {
    width: 64px !important;
    height: 64px !important;
    background-color: var(--bode-primary-fixed) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(64, 0, 159, 0.05) !important;
}

.bode-auth-wrapper .bode-auth-forgot-icon-circle .material-symbols-outlined {
    font-size: 32px !important;
    color: var(--bode-primary) !important;
}

.bode-auth-wrapper .bode-auth-forgot-header {
    text-align: center !important;
    margin-bottom: 24px !important;
}

.bode-auth-wrapper .bode-auth-forgot-title {
    font-family: 'Hanken Grotesk', sans-serif !important;
    font-size: 24px !important;
    line-height: 32px !important;
    font-weight: 700 !important;
    color: var(--bode-on-surface) !important;
    margin-bottom: 8px !important;
}

.bode-auth-wrapper .bode-auth-forgot-desc {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    line-height: 22px !important;
    color: var(--bode-on-surface-variant) !important;
    max-width: 320px !important;
    margin: 0 auto !important;
}

.bode-auth-wrapper .bode-auth-back-to-login {
    display: flex !important;
    justify-content: center !important;
    margin-top: 16px !important;
}

.bode-auth-wrapper .bode-auth-back-link {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: none !important;
    border: none !important;
    color: var(--bode-primary) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
    text-decoration: none !important;
}

.bode-auth-wrapper .bode-auth-back-link:hover {
    opacity: 0.8 !important;
}

.bode-auth-wrapper .bode-auth-back-link .material-symbols-outlined {
    font-size: 16px !important;
    line-height: 1 !important;
}
