/* =====================================================================
   رهام — تم «شاد» (Vivid) — بنفش → صورتی
   ---------------------------------------------------------------------
   جایگزین lbd-theme.css. بعد از theme.css لود می‌شود و کاملاً additive است.

   ویژگی‌ها:
   - فونت درشت و خوانا: Vazirmatn پایه ۱۵.۵px با عنوان‌های پررنگ
   - پالت شاد: بنفش #7C3AED + صورتی #EC4899 + فیروزه‌ای + کهربایی
   - سایدبار گرادیان بنفش→صورتی
   - دارک‌مود واقعی: html[data-theme="dark"] همه‌ی اجزا را پوشش می‌دهد
   ===================================================================== */

/* ---------- 1. Design Tokens ---------- */
:root {
    /* پالت شاد */
    --tg-primary: #7C3AED;            /* بنفش سرزنده */
    --tg-primary-dark: #6D28D9;
    --tg-primary-light: rgba(124, 58, 237, 0.12);
    --tg-primary-hover: #6D28D9;
    --tg-accent: #EC4899;             /* صورتی */
    --tg-accent-light: rgba(236, 72, 153, 0.12);

    --tg-success: #10B981;            /* سبز-فیروزه‌ای شاد */
    --tg-success-light: rgba(16, 185, 129, 0.14);
    --tg-warning: #F59E0B;            /* کهربایی */
    --tg-warning-light: rgba(245, 158, 11, 0.14);
    --tg-danger:  #F43F5E;            /* رز */
    --tg-danger-light: rgba(244, 63, 94, 0.12);
    --tg-info:    #0EA5E9;            /* آبی آسمانی */
    --tg-info-light: rgba(14, 165, 233, 0.13);

    /* خاکستری‌ها با ته‌رنگ بنفش ملایم */
    --tg-gray-50:  #FAF9FD;
    --tg-gray-100: #F3F1F9;
    --tg-gray-200: #E7E3F1;
    --tg-gray-300: #D5D0E3;
    --tg-gray-400: #A49EB8;
    --tg-gray-500: #837D97;
    --tg-gray-600: #645E78;
    --tg-gray-700: #4B4562;
    --tg-gray-800: #35304A;
    --tg-gray-900: #241F38;

    /* پس‌زمینه و مرز */
    --tg-content-bg: #F6F4FB;
    --tg-elevated-bg: #FFFFFF;
    --tg-border-color: #E7E3F1;
    --tg-border-light: #F0EDF7;

    /* گوشه‌های گرد و دوستانه */
    --tg-radius-xs: 6px;
    --tg-radius-sm: 10px;
    --tg-radius-md: 12px;
    --tg-radius-lg: 16px;
    --tg-radius-xl: 20px;
    --tg-radius-pill: 999px;

    /* سایه‌های نرم بنفش */
    --tg-shadow-sm: 0 2px 8px rgba(60, 30, 120, 0.06);
    --tg-shadow-md: 0 8px 24px rgba(60, 30, 120, 0.10);
    --tg-shadow-accent: 0 6px 18px rgba(124, 58, 237, 0.25);

    /* گرادیان سایدبار */
    --tg-sidebar-grad: linear-gradient(165deg, #6D28D9 0%, #8B5CF6 45%, #EC4899 100%);

    /* Bootstrap sync */
    --bs-primary: #7C3AED;
    --bs-primary-rgb: 124, 58, 237;
    --bs-success: #10B981;
    --bs-success-rgb: 16, 185, 129;
    --bs-danger: #F43F5E;
    --bs-danger-rgb: 244, 63, 94;
    --bs-warning: #F59E0B;
    --bs-warning-rgb: 245, 158, 11;
    --bs-info: #0EA5E9;
    --bs-info-rgb: 14, 165, 233;
    --bs-body-bg: #F6F4FB;
    --bs-body-color: #241F38;
    --bs-border-radius: 10px;
    --bs-link-color: #7C3AED;
    --bs-link-hover-color: #6D28D9;
}

/* ---------- 2. تایپوگرافی درشت و خوانا ----------
   اندازه‌ها از CSS variable می‌آیند؛ مقدار داخل var(...) پیش‌فرض است و
   «پنل مدیریت → اندازه فونت‌ها» (AppearanceSettings) آن را override می‌کند. */
html, body {
    font-size: var(--fs-base, 17px);
    line-height: 1.8;
}

body {
    background-color: var(--tg-content-bg);
    color: var(--tg-gray-900);
    font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 800;
    color: var(--tg-gray-900);
    line-height: 1.5;
}

.tg-page-title { font-size: var(--fs-title, 30px); font-weight: 800; }

/* زیرتیترها — عنوان بخش‌ها و کارت‌ها */
h4, .h4 { font-size: calc(var(--fs-section, 20px) + 2px); }
h5, .h5 { font-size: var(--fs-section, 20px); }
h6, .h6 { font-size: calc(var(--fs-section, 20px) - 3px); }

a { color: var(--tg-primary); }
a:hover { color: var(--tg-primary-dark); }

small, .small { font-size: var(--fs-small, 15px); }

/* ---------- 3. Sidebar — گرادیان بنفش→صورتی ---------- */
.tg-sidebar {
    background: var(--tg-sidebar-grad);
    border-left: none;
    color: #FFFFFF;
    box-shadow: -4px 0 24px rgba(109, 40, 217, 0.25);
}

/* بافت لوزی ظریف (گره فرش) */
.tg-sidebar::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M24 3 L45 24 L24 45 L3 24 Z' fill='none' stroke='%23ffffff' stroke-opacity='0.07' stroke-width='1.2'/%3E%3C/svg%3E");
    background-size: 48px 48px;
}

.tg-sidebar > * { position: relative; z-index: 1; }

.tg-sidebar-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    background: transparent;
}

.tg-sidebar-logo {
    color: #FFFFFF;
    font-weight: 900;
    font-size: 23px;
}

.tg-sidebar-subtitle { color: rgba(255, 255, 255, 0.75); font-size: 12px; }

.tg-sidebar-nav .nav-section {
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 20px 22px 6px;
}

.tg-sidebar-nav a {
    color: #FFFFFF;
    font-size: var(--fs-sidebar, 16px);
    font-weight: 500;
    margin: 4px 12px;
    padding: 10px 14px;
    border-radius: 12px;
    border-right: none;
    opacity: 0.92;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.tg-sidebar-nav a:hover {
    background: rgba(255, 255, 255, 0.16);
    color: #FFFFFF;
    opacity: 1;
    transform: translateX(-2px);
}

/* آیتم فعال: کارت سفید با متن بنفش — کاملاً خوانا و شاد */
.tg-sidebar-nav a.active {
    background: rgba(255, 255, 255, 0.95);
    color: var(--tg-primary-dark);
    opacity: 1;
    font-weight: 700;
    border-right: none;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}

.tg-sidebar-nav a i { font-size: 20px; }

.tg-sidebar::-webkit-scrollbar { width: 5px; }
.tg-sidebar::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.3); border-radius: 4px; }
.tg-sidebar::-webkit-scrollbar-track { background: transparent; }

/* ---------- 4. Topbar ---------- */
.tg-topbar {
    background: var(--tg-elevated-bg);
    border-bottom: 1px solid var(--tg-border-color);
    box-shadow: 0 2px 10px rgba(60, 30, 120, 0.04);
}

.tg-topbar-search input {
    border: 2px solid var(--tg-border-color);
    border-radius: var(--tg-radius-pill);
    background: var(--tg-gray-50);
    color: var(--tg-gray-900);
    font-size: 14px;
    padding: 9px 40px 9px 16px;
}

.tg-topbar-search input:focus {
    border-color: var(--tg-primary);
    background: var(--tg-elevated-bg);
    box-shadow: 0 0 0 4px var(--tg-primary-light);
}

.tg-topbar-icon-btn { color: var(--tg-gray-600); border-radius: 12px; font-size: 19px; }
.tg-topbar-icon-btn:hover { background: var(--tg-primary-light); color: var(--tg-primary); }
.tg-topbar-icon-btn .badge-dot { background: var(--tg-accent); }

/* ---------- 5. Cards ---------- */
.tg-card,
.card {
    background: var(--tg-elevated-bg);
    border: none;
    border-radius: var(--tg-radius-lg);
    box-shadow: var(--tg-shadow-sm);
}

.tg-card-header, .card-header { background: transparent; border-bottom: none; }

.tg-card-title, .card-title {
    font-weight: 700;
    font-size: 18px;
    color: var(--tg-gray-900);
}

.tg-card-category, .card-category {
    font-size: 13.5px;
    color: var(--tg-gray-500);
    margin-bottom: 0;
}

.card-footer { background: transparent; border-top: none; color: var(--tg-gray-500); }

/* ---------- 6. Buttons — گرد، درشت، پرانرژی ---------- */
.btn {
    border-radius: var(--tg-radius-sm);
    font-weight: 600;
    font-size: var(--fs-text, 16px);
    padding: 8px 18px;
    transition: all 0.15s ease;
}

.btn-sm { padding: 5px 12px; font-size: 13px; border-radius: 8px; }

.btn-primary {
    background: linear-gradient(135deg, #7C3AED, #9333EA);
    border: none;
    box-shadow: var(--tg-shadow-accent);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background: linear-gradient(135deg, #6D28D9, #7E22CE) !important;
    box-shadow: 0 4px 12px rgba(124, 58, 237, 0.35);
    transform: translateY(-1px);
}

.btn-success { background-color: var(--tg-success); border-color: var(--tg-success); }
.btn-success:hover, .btn-success:focus { background-color: #059669 !important; border-color: #059669 !important; }
.btn-danger { background-color: var(--tg-danger); border-color: var(--tg-danger); }
.btn-danger:hover, .btn-danger:focus { background-color: #E11D48 !important; border-color: #E11D48 !important; }
.btn-warning { background-color: var(--tg-warning); border-color: var(--tg-warning); color: #fff; }
.btn-warning:hover, .btn-warning:focus { background-color: #D97706 !important; border-color: #D97706 !important; color: #fff; }
.btn-info { background-color: var(--tg-info); border-color: var(--tg-info); color: #fff; }
.btn-info:hover, .btn-info:focus { background-color: #0284C7 !important; border-color: #0284C7 !important; color: #fff; }

.btn-outline-primary { color: var(--tg-primary); border: 2px solid var(--tg-primary); }
.btn-outline-primary:hover { background-color: var(--tg-primary); border-color: var(--tg-primary); color: #fff; }
.btn-outline-secondary { color: var(--tg-gray-600); border: 2px solid var(--tg-gray-300); }
.btn-outline-secondary:hover { background-color: var(--tg-gray-100); border-color: var(--tg-gray-400); color: var(--tg-gray-900); }
.btn-outline-danger { color: var(--tg-danger); border: 2px solid var(--tg-danger); }
.btn-outline-danger:hover { background-color: var(--tg-danger); border-color: var(--tg-danger); color: #fff; }
.btn-outline-success { color: var(--tg-success); border: 2px solid var(--tg-success); }
.btn-outline-success:hover { background-color: var(--tg-success); border-color: var(--tg-success); color: #fff; }

/* ---------- 7. Forms — درشت و واضح ---------- */
.form-control, .form-select {
    border-radius: var(--tg-radius-sm);
    border: 2px solid var(--tg-border-color);
    background-color: var(--tg-elevated-bg);
    color: var(--tg-gray-900);
    font-size: var(--fs-text, 16px);
    padding: 8px 14px;
}

.form-control:focus, .form-select:focus {
    border-color: var(--tg-primary);
    background-color: var(--tg-elevated-bg);
    box-shadow: 0 0 0 4px var(--tg-primary-light);
    color: var(--tg-gray-900);
}

.form-control::placeholder { color: var(--tg-gray-400); }

.form-label {
    font-size: var(--fs-small, 15px);
    font-weight: 700;
    color: var(--tg-gray-700);
    margin-bottom: 6px;
}

.form-check-input:checked { background-color: var(--tg-primary); border-color: var(--tg-primary); }
.form-check-input:focus, .form-switch .form-check-input:focus {
    border-color: var(--tg-primary);
    box-shadow: 0 0 0 4px var(--tg-primary-light);
}

/* ---------- 8. Tables ---------- */
.table { font-size: var(--fs-text, 16px); }
.table thead th {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--tg-gray-500);
    border-bottom: 2px solid var(--tg-border-color);
    background: transparent;
}
.table tbody td { border-color: var(--tg-border-light); color: var(--tg-gray-800); vertical-align: middle; }
.table-hover tbody tr:hover { background-color: var(--tg-gray-50); }

/* ---------- 9. Badge / Alert ---------- */
.badge { border-radius: var(--tg-radius-pill); font-weight: 600; padding: 5px 11px; font-size: 11.5px; }
.badge.bg-primary, .text-bg-primary { background-color: var(--tg-primary) !important; color: #fff !important; }
.badge.bg-success, .text-bg-success { background-color: var(--tg-success) !important; color: #fff !important; }
.badge.bg-danger,  .text-bg-danger  { background-color: var(--tg-danger)  !important; color: #fff !important; }
.badge.bg-warning, .text-bg-warning { background-color: var(--tg-warning) !important; color: #fff !important; }
.badge.bg-info,    .text-bg-info    { background-color: var(--tg-info)    !important; color: #fff !important; }
.badge.text-bg-secondary { background-color: var(--tg-gray-200) !important; color: var(--tg-gray-700) !important; }
.badge.text-bg-light { background-color: var(--tg-gray-100) !important; color: var(--tg-gray-700) !important; }

.alert { border: none; border-radius: var(--tg-radius-md); font-size: var(--fs-small, 15px); }
.alert-primary { background-color: var(--tg-primary-light); color: var(--tg-primary-dark); }
.alert-success { background-color: var(--tg-success-light); color: #047857; }
.alert-danger  { background-color: var(--tg-danger-light); color: #BE123C; }
.alert-warning { background-color: var(--tg-warning-light); color: #B45309; }
.alert-info    { background-color: var(--tg-info-light); color: #0369A1; }

/* ---------- 10. Dropdown / Pagination / Modal ---------- */
.tg-logo-mask {
    display: inline-block;
    width: 44px; height: 44px; flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url('../img/roham-logo.svg') center / contain no-repeat;
    mask: url('../img/roham-logo.svg') center / contain no-repeat;
}

.dropdown-menu {
    border: none;
    border-radius: var(--tg-radius-md);
    box-shadow: var(--tg-shadow-md), 0 0 0 1px rgba(60, 30, 120, 0.05);
    background-color: var(--tg-elevated-bg);
    padding: 8px;
    font-size: 14px;
}
.dropdown-item { border-radius: 8px; padding: 8px 12px; color: var(--tg-gray-800); }
.dropdown-item:hover { background: var(--tg-primary-light); color: var(--tg-primary-dark); }
.dropdown-divider { border-color: var(--tg-border-color); }
.dropdown-header { color: var(--tg-gray-500); }

.page-link {
    color: var(--tg-gray-600);
    border-color: var(--tg-border-color);
    background-color: var(--tg-elevated-bg);
    border-radius: 8px;
    margin: 0 2px;
}
.page-item.active .page-link { background-color: var(--tg-primary); border-color: var(--tg-primary); }

.modal-content {
    border: none;
    border-radius: var(--tg-radius-lg);
    background-color: var(--tg-elevated-bg);
    color: var(--tg-gray-900);
}

/* ---------- 11. Footer ---------- */
.tg-footer {
    background: transparent;
    border-top: 1px solid var(--tg-border-color);
    color: var(--tg-gray-500);
    font-size: 13px;
}
.tg-footer a { color: var(--tg-primary); }

/* ---------- 12. Hint box ---------- */
.tg-hint {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.06) 0%, rgba(236, 72, 153, 0.08) 100%);
    border: 1px solid rgba(124, 58, 237, 0.25);
    border-right: 4px solid var(--tg-primary);
    border-radius: var(--tg-radius-md);
    font-size: 14px;
}
.tg-hint__icon { color: var(--tg-primary); }
.tg-hint__text strong { color: var(--tg-primary-dark); }
.tg-hint__close:hover { background: var(--tg-primary-light); color: var(--tg-primary); }

/* ---------- 13. سوییچ تم (آیکون‌ها) ---------- */
.tg-theme-toggle .bi-sun { display: none; }
html[data-theme="dark"] .tg-theme-toggle .bi-sun { display: inline-block; }
html[data-theme="dark"] .tg-theme-toggle .bi-moon-stars { display: none; }

/* ---------- 14. اصلاح رنگ‌های هاردکد قبلی ---------- */
.tg-loom__legend-dot[style*="rgba(200,74,46"] { box-shadow: 0 0 6px rgba(124, 58, 237, 0.5) !important; }

::selection { background: rgba(236, 72, 153, 0.25); }

.text-primary { color: var(--tg-primary) !important; }
.text-success { color: var(--tg-success) !important; }
.text-danger  { color: var(--tg-danger) !important; }
.text-warning { color: var(--tg-warning) !important; }
.text-info    { color: var(--tg-info) !important; }
.bg-primary { background-color: var(--tg-primary) !important; }
.bg-success { background-color: var(--tg-success) !important; }
.bg-danger  { background-color: var(--tg-danger) !important; }
.bg-warning { background-color: var(--tg-warning) !important; }
.bg-info    { background-color: var(--tg-info) !important; }

/* =====================================================================
   دارک‌مود واقعی
   ---------------------------------------------------------------------
   فعال با html[data-theme="dark"] (+ data-bs-theme="dark" برای بوت‌استرپ).
   همه‌ی متغیرها بازتعریف می‌شوند + اصلاح نقطه‌به‌نقطه‌ی رنگ‌های هاردکد
   theme.css و dashboard.css تا هیچ جزء روشنی باقی نماند.
   ===================================================================== */
html[data-theme="dark"] {
    --tg-content-bg: #16121F;          /* بادمجانی عمیق */
    --tg-elevated-bg: #211B31;
    --tg-border-color: #37304C;
    --tg-border-light: #2C2640;

    /* رمپ معکوس با ته‌رنگ بنفش */
    --tg-gray-50:  #272138;
    --tg-gray-100: #2E2742;
    --tg-gray-200: #3C3454;
    --tg-gray-300: #4C4368;
    --tg-gray-400: #776F8F;
    --tg-gray-500: #9C94B3;
    --tg-gray-600: #B7B0CB;
    --tg-gray-700: #CFC9DF;
    --tg-gray-800: #E2DEEE;
    --tg-gray-900: #F3F1F9;

    /* رنگ‌های اصلی کمی روشن‌تر برای کنتراست روی تیره */
    --tg-primary: #A78BFA;
    --tg-primary-dark: #C4B5FD;
    --tg-primary-light: rgba(167, 139, 250, 0.18);
    --tg-accent: #F472B6;
    --tg-accent-light: rgba(244, 114, 182, 0.16);
    --tg-success: #34D399;
    --tg-success-light: rgba(52, 211, 153, 0.16);
    --tg-warning: #FBBF24;
    --tg-warning-light: rgba(251, 191, 36, 0.14);
    --tg-danger: #FB7185;
    --tg-danger-light: rgba(251, 113, 133, 0.15);
    --tg-info: #38BDF8;
    --tg-info-light: rgba(56, 189, 248, 0.15);

    --tg-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);
    --tg-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.5);
    --tg-shadow-accent: 0 6px 18px rgba(124, 58, 237, 0.35);

    --tg-sidebar-grad: linear-gradient(165deg, #3B1D7A 0%, #55208F 45%, #8E1D5F 100%);

    --bs-body-bg: #16121F;
    --bs-body-color: #F3F1F9;
    --bs-border-color: #37304C;
}

html[data-theme="dark"] body {
    background-color: var(--tg-content-bg);
    color: var(--tg-gray-900);
}

/* --- اجزای پایه --- */
html[data-theme="dark"] .tg-sidebar { box-shadow: -4px 0 24px rgba(0, 0, 0, 0.5); }

html[data-theme="dark"] .tg-sidebar-nav a.active {
    background: rgba(255, 255, 255, 0.14);
    color: #FFFFFF;
    box-shadow: none;
}

html[data-theme="dark"] .tg-topbar {
    background: var(--tg-elevated-bg);
    border-bottom-color: var(--tg-border-color);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

html[data-theme="dark"] .tg-topbar-search input {
    background: var(--tg-gray-50);
    border-color: var(--tg-border-color);
    color: var(--tg-gray-900);
}
html[data-theme="dark"] .tg-topbar-search input:focus { background: var(--tg-gray-100); }

html[data-theme="dark"] .tg-card,
html[data-theme="dark"] .card {
    background: var(--tg-elevated-bg);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.04);
}

/* دکمه‌ها: primary گرادیان روشن‌تر، متن سفید حفظ می‌شود */
html[data-theme="dark"] .btn-primary {
    background: linear-gradient(135deg, #7C3AED, #A855F7);
    color: #fff;
}
html[data-theme="dark"] .btn-outline-secondary { color: var(--tg-gray-600); border-color: var(--tg-gray-300); }
html[data-theme="dark"] .btn-outline-secondary:hover { background-color: var(--tg-gray-100); color: var(--tg-gray-900); }

/* alert های کم‌رنگ در تاریک هم خوانا */
html[data-theme="dark"] .alert-primary { color: #C4B5FD; }
html[data-theme="dark"] .alert-success { color: #6EE7B7; }
html[data-theme="dark"] .alert-danger  { color: #FDA4AF; }
html[data-theme="dark"] .alert-warning { color: #FDE68A; }
html[data-theme="dark"] .alert-info    { color: #7DD3FC; }

/* جدول‌ها */
html[data-theme="dark"] .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--tg-gray-800);
    --bs-table-border-color: var(--tg-border-color);
    --bs-table-hover-bg: var(--tg-gray-50);
    --bs-table-hover-color: var(--tg-gray-900);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.02);
}
html[data-theme="dark"] .table thead th { color: var(--tg-gray-500); border-bottom-color: var(--tg-border-color); }

/* فرم‌ها */
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select {
    background-color: var(--tg-gray-50);
    border-color: var(--tg-gray-200);
    color: var(--tg-gray-900);
}
html[data-theme="dark"] .form-control:focus,
html[data-theme="dark"] .form-select:focus {
    background-color: var(--tg-gray-100);
    border-color: #A78BFA;
}
html[data-theme="dark"] .form-control::placeholder { color: var(--tg-gray-400); }
html[data-theme="dark"] .form-check-input { background-color: var(--tg-gray-100); border-color: var(--tg-gray-300); }
html[data-theme="dark"] .form-check-input:checked { background-color: #7C3AED; border-color: #7C3AED; }
html[data-theme="dark"] .form-text { color: var(--tg-gray-500); }

/* dropdown / modal / offcanvas */
html[data-theme="dark"] .tg-logo-mask {
    display: inline-block;
    width: 44px; height: 44px; flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url('../img/roham-logo.svg') center / contain no-repeat;
    mask: url('../img/roham-logo.svg') center / contain no-repeat;
}

html[data-theme="dark"] .dropdown-menu {
    background-color: #2A2340;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.06);
}
html[data-theme="dark"] .dropdown-item { color: #E4DEF5; }
html[data-theme="dark"] .dropdown-item:hover { background: rgba(124, 58, 237, 0.30); color: #FFFFFF; }
html[data-theme="dark"] .dropdown-header { color: #A99FC9; }
html[data-theme="dark"] .dropdown-divider { border-color: rgba(255, 255, 255, 0.10); }
html[data-theme="dark"] .modal-content { background-color: var(--tg-elevated-bg); }

/* pagination */
html[data-theme="dark"] .page-link {
    background-color: var(--tg-elevated-bg);
    border-color: var(--tg-border-color);
    color: var(--tg-gray-700);
}
html[data-theme="dark"] .page-item.disabled .page-link {
    background-color: var(--tg-gray-50);
    border-color: var(--tg-border-color);
    color: var(--tg-gray-400);
}
html[data-theme="dark"] .page-item.active .page-link { background-color: #7C3AED; border-color: #7C3AED; color: #fff; }

/* متن‌های کمکی بوت‌استرپ */
html[data-theme="dark"] .text-muted { color: var(--tg-gray-500) !important; }
html[data-theme="dark"] .text-dark { color: var(--tg-gray-900) !important; }
html[data-theme="dark"] .text-body,
html[data-theme="dark"] .text-black { color: var(--tg-gray-900) !important; }
html[data-theme="dark"] .bg-white, html[data-theme="dark"] .bg-light { background-color: var(--tg-elevated-bg) !important; }
html[data-theme="dark"] .border, html[data-theme="dark"] .border-top,
html[data-theme="dark"] .border-bottom, html[data-theme="dark"] .border-start,
html[data-theme="dark"] .border-end { border-color: var(--tg-border-color) !important; }

/* --- اصلاح هاردکدهای theme.css --- */
/* focus ring های قرمز قدیمی */
html[data-theme="dark"] .form-control:focus,
html[data-theme="dark"] .form-select:focus,
html[data-theme="dark"] .form-switch .form-check-input:focus,
html[data-theme="dark"] .tg-topbar-search input:focus {
    box-shadow: 0 0 0 4px var(--tg-primary-light) !important;
}

/* hint box با گرادیان روشن هاردکد */
html[data-theme="dark"] .tg-hint {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.14) 0%, rgba(236, 72, 153, 0.12) 100%);
    border-color: rgba(167, 139, 250, 0.3);
}
html[data-theme="dark"] .tg-hint__title { color: var(--tg-gray-900); }
html[data-theme="dark"] .tg-hint__text { color: var(--tg-gray-700); }

/* badge های light/dark بوت‌استرپ */
html[data-theme="dark"] .badge.text-bg-light { background-color: var(--tg-gray-200) !important; color: var(--tg-gray-800) !important; }
html[data-theme="dark"] .badge.text-bg-dark { background-color: var(--tg-gray-300) !important; color: var(--tg-gray-900) !important; }
html[data-theme="dark"] .badge.text-bg-secondary { background-color: var(--tg-gray-200) !important; color: var(--tg-gray-800) !important; }

/* empty state ها */
html[data-theme="dark"] .tg-empty-state { color: var(--tg-gray-500); }
html[data-theme="dark"] .tg-empty-state i { color: var(--tg-gray-300); }

/* اسکرول‌بار */
html[data-theme="dark"] ::-webkit-scrollbar-thumb { background: var(--tg-gray-300); }
html[data-theme="dark"] ::-webkit-scrollbar-track { background: transparent; }

/* پرینت همیشه روشن */
@media print {
    html[data-theme="dark"] body { background: #fff !important; color: #000 !important; }
}
