:root {
    --bd-ui-bg: linear-gradient(180deg, #f4f7fb 0%, #eef3fa 46%, #e8eef8 100%);
    --bd-ui-surface: rgba(255, 255, 255, 0.78);
    --bd-ui-surface-strong: rgba(255, 255, 255, 0.9);
    --bd-ui-surface-soft: rgba(255, 255, 255, 0.62);
    --bd-ui-border: rgba(255, 255, 255, 0.78);
    --bd-ui-border-soft: rgba(137, 159, 191, 0.2);
    --bd-ui-border-strong: rgba(103, 132, 172, 0.28);
    --bd-ui-shadow: 0 24px 60px rgba(22, 40, 72, 0.14);
    --bd-ui-shadow-soft: 0 16px 34px rgba(24, 44, 76, 0.1);
    --bd-ui-shadow-focus: 0 0 0 4px rgba(42, 109, 246, 0.14);
    --bd-ui-text: #18314f;
    --bd-ui-text-soft: #5f7593;
    --bd-ui-title: #102944;
    --bd-ui-primary: #2a6df6;
    --bd-ui-primary-strong: #1c57cb;
    --bd-ui-primary-soft: rgba(42, 109, 246, 0.12);
    --bd-ui-secondary: #eef4ff;
    --bd-ui-success: #1da97c;
    --bd-ui-success-soft: rgba(29, 169, 124, 0.13);
    --bd-ui-danger: #d64568;
    --bd-ui-danger-soft: rgba(214, 69, 104, 0.12);
    --bd-ui-warning: #d88a27;
    --bd-ui-warning-soft: rgba(216, 138, 39, 0.14);
    --bd-ui-chip: rgba(255, 255, 255, 0.84);
    --bd-ui-chip-border: rgba(123, 148, 186, 0.2);
    --bd-ui-radius-xl: 30px;
    --bd-ui-radius-lg: 22px;
    --bd-ui-radius-md: 18px;
    --bd-ui-radius-sm: 14px;
    --bd-ui-radius-xs: 12px;
    --bd-ui-content-width: 1320px;
    --bd-primary: var(--bd-ui-primary);
    --bd-secondary: var(--bd-ui-primary-strong);
    --bd-text-primary: var(--bd-ui-title);
    --bd-text-secondary: var(--bd-ui-text-soft);
    --bd-accent: var(--bd-ui-success);
}

html[lang="fa-IR"],
html[lang="ar"],
html[lang="fa-IR"] .bd-auth-wrapper,
html[lang="ar"] .bd-auth-wrapper,
html[lang="fa-IR"] .bd-profile-wrapper,
html[lang="ar"] .bd-profile-wrapper {
    font-family: Tahoma, "Segoe UI", sans-serif;
}

html[lang="en"],
html[lang="de"],
html[lang="en"] .bd-auth-wrapper,
html[lang="de"] .bd-auth-wrapper,
html[lang="en"] .bd-profile-wrapper,
html[lang="de"] .bd-profile-wrapper {
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.bd-auth-wrapper,
.bd-profile-wrapper,
.bd-auth-gate-wrapper,
.bd-chatbot-page,
.bd-chatbot-gate,
.bd-chatroom,
.bahndeutsch-admin {
    color: var(--bd-ui-text);
}

.bd-auth-wrapper *,
.bd-profile-wrapper *,
.bd-chatbot-page *,
.bd-chatbot-gate *,
.bd-chatroom *,
.bahndeutsch-admin * {
    box-sizing: border-box;
}

.bd-auth-card,
.bd-profile-card,
.bd-auth-gate,
.bd-chatbot-gate-hero,
.bd-chatbot-gate-plans,
.bd-chatbot-body,
.bd-chatbot-sidebar-card,
.bd-chatbot-main-card,
.bd-chatbot-smart-card,
.bd-chatroom-header,
.bd-chatroom-sidebar,
.bd-chatroom-main,
.bahndeutsch-admin-hero,
.bahndeutsch-admin-section-card,
.bahndeutsch-policy-callout,
.bahndeutsch-policy-summary-card,
.bahndeutsch-policy-card {
    border: 1px solid var(--bd-ui-border);
    background: linear-gradient(145deg, var(--bd-ui-surface-strong), var(--bd-ui-surface-soft));
    box-shadow: var(--bd-ui-shadow);
    backdrop-filter: blur(22px) saturate(180%);
    -webkit-backdrop-filter: blur(22px) saturate(180%);
}

.bd-auth-card,
.bd-profile-card,
.bd-auth-gate,
.bd-chatbot-gate-hero,
.bd-chatbot-gate-plans,
.bd-chatbot-body,
.bd-chatroom-header,
.bd-chatroom-sidebar,
.bd-chatroom-main,
.bahndeutsch-admin-hero,
.bahndeutsch-admin-section-card,
.bahndeutsch-policy-callout,
.bahndeutsch-policy-summary-card,
.bahndeutsch-policy-card {
    border-radius: var(--bd-ui-radius-lg);
}

.bd-auth-tab,
.bd-profile-mobile-tab,
.bd-leitner-tab,
.bd-chatroom-pill,
.bahndeutsch-admin-tabs .nav-tab,
.bd-chatbot-starter-btn,
.bd-chatbot-card-btn,
.bd-chatroom-score-chip,
.bd-profile-score-tag,
.bd-profile-nav-btn,
.bd-leitner-chip,
.bd-leitner-meta-pill {
    border-radius: 999px;
}

.bd-auth-btn,
.bd-profile-secondary,
.bd-chatroom-btn,
.bd-chatbot-starter-btn,
.bd-chatbot-card-btn,
.bahndeutsch-admin .button,
.bahndeutsch-admin button.button,
.bahndeutsch-admin input[type="submit"],
.bahndeutsch-admin .button-primary,
.bahndeutsch-admin .button-secondary {
    min-height: 44px;
    border-radius: 14px;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease, color 0.22s ease;
}

.bd-auth-btn:hover,
.bd-profile-secondary:hover,
.bd-chatroom-btn:hover,
.bd-chatbot-starter-btn:hover,
.bd-chatbot-card-btn:hover,
.bahndeutsch-admin .button:hover,
.bahndeutsch-admin button.button:hover,
.bahndeutsch-admin input[type="submit"]:hover,
.bahndeutsch-admin .button-primary:hover,
.bahndeutsch-admin .button-secondary:hover {
    transform: translateY(-1px);
}

.bd-auth-btn:focus-visible,
.bd-profile-secondary:focus-visible,
.bd-chatroom-btn:focus-visible,
.bd-auth-tab:focus-visible,
.bd-profile-mobile-tab:focus-visible,
.bd-leitner-tab:focus-visible,
.bd-chatroom-pill:focus-visible,
.bd-chatbot-starter-btn:focus-visible,
.bd-chatbot-card-btn:focus-visible,
.bahndeutsch-admin .button:focus-visible,
.bahndeutsch-admin button.button:focus-visible,
.bahndeutsch-admin input[type="submit"]:focus-visible,
.bahndeutsch-admin input[type="text"]:focus-visible,
.bahndeutsch-admin input[type="number"]:focus-visible,
.bahndeutsch-admin input[type="password"]:focus-visible,
.bahndeutsch-admin textarea:focus-visible,
.bahndeutsch-admin select:focus-visible,
.bd-auth-panel input:focus,
.bd-chatroom-search-wrap input:focus,
.bd-chatroom-topbar-actions input:focus,
.bd-chatroom-compose-row textarea:focus,
.bd-chatbot-thread-input textarea:focus,
.bd-chatbot-assessment-textarea:focus,
.bd-chatbot-assessment-question select:focus,
.bd-leitner-add-grid input:focus,
.bd-leitner-audio-input:focus {
    outline: none;
    box-shadow: var(--bd-ui-shadow-focus);
}

.bd-auth-tabs,
.bd-profile-mobile-nav,
.bd-leitner-tabs,
.bahndeutsch-admin-products-page .bahndeutsch-admin-tabs {
    padding: 6px;
    border-radius: 18px;
    background: rgba(236, 242, 252, 0.82);
    border: 1px solid rgba(214, 226, 243, 0.9);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.bd-auth-tab,
.bd-profile-mobile-tab,
.bd-leitner-tab,
.bahndeutsch-admin-tabs .nav-tab {
    border: 1px solid transparent;
    color: var(--bd-ui-text-soft);
    font-weight: 700;
}

.bd-auth-tab.is-active,
.bd-profile-mobile-tab.is-active,
.bd-leitner-tab.is-active,
.bahndeutsch-admin-tabs .nav-tab.nav-tab-active {
    color: #fff;
    background: linear-gradient(135deg, var(--bd-ui-primary), var(--bd-ui-primary-strong));
    box-shadow: 0 14px 28px rgba(42, 109, 246, 0.22);
}

.bd-chatroom-empty,
.bd-chatroom-empty-mini,
.bd-leitner-empty,
.bd-auth-otp,
.bd-auth-passkey,
.bd-chatbot-thread-meta,
.bd-chatroom-composer-meta,
.bd-chatroom-policy-note,
.bd-chatroom-pinned,
.bd-chatroom-typing,
.bd-profile-score-card,
.bd-profile-stat-card,
.bd-leitner-dashboard-card,
.bahndeutsch-admin-hero-card,
.stat-box,
.bahndeutsch-info {
    border-radius: var(--bd-ui-radius-sm);
    border: 1px solid var(--bd-ui-border-soft);
    box-shadow: var(--bd-ui-shadow-soft);
}

.bd-chatroom-score-chip,
.bd-chatbot-hero-badge,
.bd-chatbot-plan-badge,
.bd-leitner-smart-badge,
.bahndeutsch-policy-summary-card strong + span {
    background: var(--bd-ui-chip);
    border: 1px solid var(--bd-ui-chip-border);
}

.bd-chatroom-topbar strong,
.bd-chatbot-gate-title,
.bd-auth-title,
.bd-profile-header h2,
.bd-leitner-smart-hero-main h2,
.bahndeutsch-admin-hero h1,
.bahndeutsch-admin-section-head h2,
.bahndeutsch-policy-callout h2,
.bahndeutsch-policy-card h2 {
    color: var(--bd-ui-title);
}

.bd-chatroom-policy-note,
.bd-chatroom-composer-meta,
.bd-chatbot-thread-meta,
.bd-profile-score-hero,
.bd-leitner-smart-hero,
.bahndeutsch-policy-callout,
.bahndeutsch-policy-summary-card,
.bahndeutsch-policy-card,
.bahndeutsch-admin-hero-card {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(240, 247, 255, 0.76));
}

@media (max-width: 960px) {
    .bd-auth-card,
    .bd-profile-card,
    .bd-chatbot-gate-hero,
    .bd-chatbot-gate-plans,
    .bd-chatroom-header,
    .bd-chatroom-sidebar,
    .bd-chatroom-main,
    .bahndeutsch-admin-hero,
    .bahndeutsch-admin-section-card {
        border-radius: 18px;
    }
}
