/**
 * GRC YOUTELL — Dark Mode V2
 * Fichier isolé : supprimable = rollback instantané
 * Tout scoped sous [data-theme="dark"]
 * V2 : couverture exhaustive des 386 vues + inline styles
 * @since 2026-03-21
 */

/* ═══════════════════════════════════════════════════════════════════════════
   1. CSS VARIABLES — PALETTE DARK
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] {
    --dm-body:        #0f1117;
    --dm-surface:     #1a1d27;
    --dm-surface-2:   #1e2130;
    --dm-surface-3:   #252836;
    --dm-elevated:    #2a2d3a;
    --dm-text:        #e2e8f0;
    --dm-text-2:      #94a3b8;
    --dm-text-3:      #64748b;
    --dm-border:      #2d3348;
    --dm-border-2:    #3d4158;
    --dm-hover:       rgba(255,255,255,.04);
    --dm-active:      rgba(255,255,255,.08);
    --yt-light:       #0f1117;
    --yt-dark:        #0a0c12;
    --brand-th-bg:    #1e2130;
    --brand-th-text:  #94a3b8;
    --brand-hover-bg: #252836;
    --brand-stripe:   #1a1d27;
}

/* ═══════════════════════════════════════════════════════════════════════════
   2. BODY & BASE
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] body {
    background: var(--dm-body) !important;
    color: var(--dm-text) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   3. BOOTSTRAP UTILITY OVERRIDES
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light {
    background: var(--dm-surface) !important;
}
[data-theme="dark"] .text-dark {
    color: var(--dm-text) !important;
}
[data-theme="dark"] .text-muted {
    color: var(--dm-text-2) !important;
}
[data-theme="dark"] .text-body,
[data-theme="dark"] .text-secondary {
    color: var(--dm-text-2) !important;
}
[data-theme="dark"] .border,
[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-start,
[data-theme="dark"] .border-end {
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] hr {
    border-color: var(--dm-border);
    opacity: .3;
}
[data-theme="dark"] .shadow-sm,
[data-theme="dark"] .shadow {
    box-shadow: 0 2px 12px rgba(0,0,0,.4) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   4. NAVBAR
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .navbar {
    background: linear-gradient(135deg, #003d3d, #001a33) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.4) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   5. SIDEBAR
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .sidebar {
    background: linear-gradient(180deg, #001a33, #0a0c12) !important;
    box-shadow: 2px 0 8px rgba(0,0,0,.3) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   6. CARDS — catch-all
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .card {
    background: var(--dm-surface) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.3) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .card-header {
    background: linear-gradient(135deg, #003d3d, #001a33) !important;
    border-bottom-color: var(--dm-border) !important;
    color: #fff !important;
}
/* Card headers with bg-white inline */
[data-theme="dark"] .card-header.bg-white,
[data-theme="dark"] .card-header[class*="bg-white"] {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .card-body {
    color: var(--dm-text);
}
[data-theme="dark"] .card-footer {
    background: var(--dm-surface-2) !important;
    border-top-color: var(--dm-border) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   7. TABLES — AGGRESSIVE OVERRIDE (Bootstrap 5 CSS custom props on <td>)
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .table {
    color: var(--dm-text) !important;
    --bs-table-bg: var(--dm-surface);
    --bs-table-striped-bg: var(--dm-surface-2);
    --bs-table-hover-bg: rgba(255,255,255,.04);
    --bs-table-border-color: var(--dm-border);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--dm-text);
    --bs-table-hover-color: var(--dm-text);
    --bs-table-color: var(--dm-text);
    border-color: var(--dm-border) !important;
}
/* Force EVERY td and th in dark mode */
[data-theme="dark"] .table > :not(caption) > * > * {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text) !important;
    border-bottom-color: var(--dm-border) !important;
    box-shadow: none !important;
}
/* Striped rows — alternate */
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: var(--dm-surface) !important;
    --bs-table-accent-bg: var(--dm-surface) !important;
}
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(even) > * {
    background-color: var(--dm-surface-2) !important;
    --bs-table-accent-bg: var(--dm-surface-2) !important;
}
/* Hover rows */
[data-theme="dark"] .table-hover > tbody > tr:hover > * {
    background-color: rgba(255,255,255,.04) !important;
    --bs-table-accent-bg: rgba(255,255,255,.04) !important;
}
/* Non-striped tables — all rows dark */
[data-theme="dark"] .table:not(.table-striped) > tbody > tr > td,
[data-theme="dark"] .table:not(.table-striped) > tbody > tr > th {
    background-color: var(--dm-surface) !important;
}
/* DataTables specifics */
[data-theme="dark"] .table thead th,
[data-theme="dark"] table.dataTable thead th,
[data-theme="dark"] tr.bg-light {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text-2) !important;
    border-bottom-color: var(--dm-border) !important;
}
[data-theme="dark"] .table tbody tr {
    border-color: var(--dm-border);
}
[data-theme="dark"] .table-hover tbody tr:hover,
[data-theme="dark"] table.dataTable tbody tr:hover {
    background: var(--dm-hover) !important;
    --bs-table-hover-bg: var(--dm-hover);
}
[data-theme="dark"] table.dataTable tbody td {
    border-color: var(--dm-border) !important;
    color: var(--dm-text);
}
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > td,
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > th {
    background: var(--dm-surface) !important;
    --bs-table-striped-bg: var(--dm-surface);
}
[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(even) > td {
    background: var(--dm-surface-2) !important;
}

/* DataTables chrome */
[data-theme="dark"] .dataTables_wrapper .dataTables_filter input {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .dataTables_wrapper .dataTables_filter input:focus {
    border-color: #6366f1 !important;
    box-shadow: 0 0 0 3px rgba(99,102,241,.2) !important;
}
[data-theme="dark"] .dataTables_wrapper .dataTables_info {
    color: var(--dm-text-3) !important;
}
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button {
    color: #818cf8 !important;
}
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: #6366f1 !important;
    color: #fff !important;
}
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: rgba(99,102,241,.2) !important;
    color: #818cf8 !important;
}
[data-theme="dark"] .dt-top { border-bottom-color: var(--dm-border) !important; }
[data-theme="dark"] .dt-bottom { border-top-color: var(--dm-border) !important; background: var(--dm-surface-2) !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   8. FORMS & INPUTS
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    border-color: #6366f1 !important;
    box-shadow: 0 0 0 3px rgba(99,102,241,.2) !important;
}
[data-theme="dark"] .form-control::placeholder { color: var(--dm-text-3) !important; }
[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-control[readonly] { background: var(--dm-surface) !important; opacity: .7; }
[data-theme="dark"] .form-check-input { background-color: var(--dm-surface-3); border-color: var(--dm-border-2); }
[data-theme="dark"] .form-check-input:checked { background-color: #6366f1; border-color: #6366f1; }
[data-theme="dark"] .form-label, [data-theme="dark"] label { color: var(--dm-text); }
[data-theme="dark"] .input-group-text { background: var(--dm-surface-2) !important; border-color: var(--dm-border) !important; color: var(--dm-text-2) !important; }
[data-theme="dark"] .form-text { color: var(--dm-text-3) !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   9. DROPDOWNS
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .dropdown-menu {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.4) !important;
}
[data-theme="dark"] .dropdown-item { color: var(--dm-text) !important; }
[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus { background: var(--dm-hover) !important; color: var(--dm-text) !important; }
[data-theme="dark"] .dropdown-header { color: var(--dm-text-2) !important; }
[data-theme="dark"] .dropdown-divider { border-color: var(--dm-border) !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   10. MODALS
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .modal-content {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text);
}
[data-theme="dark"] .modal-header {
    border-bottom-color: var(--dm-border) !important;
    background: var(--dm-surface-2) !important;
}
[data-theme="dark"] .modal-header .modal-title { color: var(--dm-text) !important; }
[data-theme="dark"] .modal-header .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
[data-theme="dark"] .modal-footer {
    border-top-color: var(--dm-border) !important;
    background: var(--dm-surface-2) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   11. ALERTS
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .alert-info    { background: rgba(14,165,233,.12) !important; border-color: rgba(14,165,233,.25) !important; color: #7dd3fc !important; }
[data-theme="dark"] .alert-success { background: rgba(16,185,129,.12) !important; border-color: rgba(16,185,129,.25) !important; color: #6ee7b7 !important; }
[data-theme="dark"] .alert-warning { background: rgba(245,158,11,.12) !important; border-color: rgba(245,158,11,.25) !important; color: #fcd34d !important; }
[data-theme="dark"] .alert-danger  { background: rgba(239,68,68,.12) !important; border-color: rgba(239,68,68,.25) !important; color: #fca5a5 !important; }
[data-theme="dark"] .alert-primary { background: rgba(99,102,241,.12) !important; border-color: rgba(99,102,241,.25) !important; color: #a5b4fc !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   12. BADGES
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .badge.bg-light {
    background: var(--dm-surface-3) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .badge.bg-light.text-dark,
[data-theme="dark"] .badge.bg-light.text-secondary {
    background: var(--dm-elevated) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   13. GRC SPECIFIC — page-header, form-section, detail-item, stat-card
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .page-header {
    background: var(--dm-surface) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.3) !important;
}
[data-theme="dark"] .page-header h1 { color: #67e8f9 !important; }
[data-theme="dark"] .form-section {
    background: var(--dm-surface) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.3) !important;
}
[data-theme="dark"] .form-section h5 { color: #67e8f9 !important; border-bottom-color: var(--dm-border) !important; }
[data-theme="dark"] .detail-item label { color: #67e8f9 !important; }
[data-theme="dark"] .detail-item .value { color: var(--dm-text) !important; }
[data-theme="dark"] .table th { color: #67e8f9 !important; }
[data-theme="dark"] .empty-state { color: var(--dm-text-3) !important; }
/* Stat cards with colored bg — leave colorful ones alone, fix neutral */
[data-theme="dark"] .stat-card { color: #fff; }
/* Timeline */
[data-theme="dark"] .timeline::before { background: var(--dm-border) !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   14. INLINE STYLE OVERRIDES — MASSIVE COVERAGE
   All pastel/light backgrounds found in 386 views
   ═══════════════════════════════════════════════════════════════════════════ */

/* --- WHITE backgrounds --- */
[data-theme="dark"] [style*="background:#fff"],
[data-theme="dark"] [style*="background: #fff"],
[data-theme="dark"] [style*="background:#ffffff"],
[data-theme="dark"] [style*="background: #ffffff"],
[data-theme="dark"] [style*="background:white"],
[data-theme="dark"] [style*="background: white"] {
    background: var(--dm-surface) !important;
}

/* --- GREY/PASTEL backgrounds (86 patterns found) --- */
[data-theme="dark"] [style*="background:#f8f9fa"],
[data-theme="dark"] [style*="background: #f8f9fa"],
[data-theme="dark"] [style*="background:#f8fafc"],
[data-theme="dark"] [style*="background: #f8fafc"],
[data-theme="dark"] [style*="background:#f1f5f9"],
[data-theme="dark"] [style*="background: #f1f5f9"],
[data-theme="dark"] [style*="background:#f0f0f0"],
[data-theme="dark"] [style*="background: #f0f0f0"],
[data-theme="dark"] [style*="background:#f0f2f5"],
[data-theme="dark"] [style*="background: #f0f2f5"],
[data-theme="dark"] [style*="background:#e2e8f0"],
[data-theme="dark"] [style*="background: #e2e8f0"],
[data-theme="dark"] [style*="background:#ddd"],
[data-theme="dark"] [style*="background:#f8f9ff"],
[data-theme="dark"] [style*="background:#f4f7f2"] {
    background: var(--dm-surface-2) !important;
}

/* --- COLORED PASTEL backgrounds — darken them --- */
[data-theme="dark"] [style*="background:#f5f3ff"],
[data-theme="dark"] [style*="background:#ede9fe"] { background: rgba(99,102,241,.1) !important; }
[data-theme="dark"] [style*="background:#f0fdf4"],
[data-theme="dark"] [style*="background:#ecfdf5"],
[data-theme="dark"] [style*="background:#f0fdfa"] { background: rgba(16,185,129,.1) !important; }
[data-theme="dark"] [style*="background:#fef2f2"],
[data-theme="dark"] [style*="background:#fee2e2"] { background: rgba(239,68,68,.1) !important; }
[data-theme="dark"] [style*="background:#fff7ed"],
[data-theme="dark"] [style*="background:#fffbeb"],
[data-theme="dark"] [style*="background:#fef3c7"] { background: rgba(245,158,11,.1) !important; }
[data-theme="dark"] [style*="background:#ecfeff"] { background: rgba(6,182,212,.1) !important; }
[data-theme="dark"] [style*="background:#fce7f3"] { background: rgba(236,72,153,.1) !important; }
[data-theme="dark"] [style*="background:#dbeafe"],
[data-theme="dark"] [style*="background:#eff6ff"] { background: rgba(59,130,246,.1) !important; }
[data-theme="dark"] [style*="background:#e8f4fd"] { background: rgba(59,130,246,.12) !important; }
[data-theme="dark"] [style*="background:#fff3cd"] { background: rgba(255,193,7,.1) !important; }

/* --- TEXT overrides --- */
[data-theme="dark"] [style*="color:#333"],
[data-theme="dark"] [style*="color: #333"],
[data-theme="dark"] [style*="color:#2d3748"],
[data-theme="dark"] [style*="color:#1a202c"],
[data-theme="dark"] [style*="color:#1e293b"] {
    color: var(--dm-text) !important;
}
[data-theme="dark"] [style*="color:#64748b"],
[data-theme="dark"] [style*="color:#718096"],
[data-theme="dark"] [style*="color:#856404"] {
    color: var(--dm-text-2) !important;
}

/* --- BORDER overrides --- */
[data-theme="dark"] [style*="border:1px solid #e2e8f0"],
[data-theme="dark"] [style*="border: 1px solid #e2e8f0"],
[data-theme="dark"] [style*="border:1px solid #dee2e6"],
[data-theme="dark"] [style*="border:1px solid #ddd"],
[data-theme="dark"] [style*="border-bottom:1px solid #e2e8f0"],
[data-theme="dark"] [style*="border-bottom:1px solid #f1f5f9"],
[data-theme="dark"] [style*="border-top:1px solid #e2e8f0"],
[data-theme="dark"] [style*="border-top:1px solid #f1f5f9"],
[data-theme="dark"] [style*="border:1px solid #d4e0d0"] {
    border-color: var(--dm-border) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   15. MAIN CONTENT AREA — aggressive override for .main-content children
   This catches everything the inline selectors miss
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .main-content {
    color: var(--dm-text);
}
/* All direct divs in content area with light backgrounds */
[data-theme="dark"] .main-content .container-fluid > .card,
[data-theme="dark"] .main-content .container-fluid > div > .card,
[data-theme="dark"] .main-content .container-fluid > .row > div > .card {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}
/* Catch any remaining bg-white or white bg inside main content */
[data-theme="dark"] .main-content [class*="bg-white"] { background: var(--dm-surface) !important; }
[data-theme="dark"] .main-content [class*="bg-light"] { background: var(--dm-surface-2) !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   16. SELECT2
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection {
    background: var(--dm-surface-3) !important; border-color: var(--dm-border) !important; color: var(--dm-text) !important;
}
[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered { color: var(--dm-text) !important; }
[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single .select2-selection__placeholder { color: var(--dm-text-3) !important; }
[data-theme="dark"] .select2-dropdown { background: var(--dm-surface) !important; border-color: var(--dm-border) !important; }
[data-theme="dark"] .select2-search__field { background: var(--dm-surface-3) !important; border-color: var(--dm-border) !important; color: var(--dm-text) !important; }
[data-theme="dark"] .select2-results__option { color: var(--dm-text) !important; }
[data-theme="dark"] .select2-results__option--highlighted { background: rgba(99,102,241,.2) !important; color: #fff !important; }
[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
    background: var(--dm-elevated) !important; border-color: var(--dm-border-2) !important; color: var(--dm-text) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   17. BUTTONS — outline variants
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .btn-outline-secondary { color: var(--dm-text-2) !important; border-color: var(--dm-border) !important; }
[data-theme="dark"] .btn-outline-secondary:hover { background: var(--dm-hover) !important; color: var(--dm-text) !important; }
[data-theme="dark"] .btn-outline-dark { color: var(--dm-text) !important; border-color: var(--dm-border-2) !important; }
[data-theme="dark"] .btn-outline-dark:hover { background: var(--dm-elevated) !important; color: #fff !important; }
[data-theme="dark"] .btn-light { background: var(--dm-surface-3) !important; border-color: var(--dm-border) !important; color: var(--dm-text) !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   18. LIST GROUPS, NAV TABS, NAV PILLS
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .list-group-item {
    background: var(--dm-surface) !important; border-color: var(--dm-border) !important; color: var(--dm-text) !important;
}
[data-theme="dark"] .list-group-item.active { background: rgba(99,102,241,.2) !important; border-color: #6366f1 !important; }
[data-theme="dark"] .nav-tabs { border-bottom-color: var(--dm-border) !important; }
[data-theme="dark"] .nav-tabs .nav-link { color: var(--dm-text-2) !important; }
[data-theme="dark"] .nav-tabs .nav-link.active { background: var(--dm-surface) !important; border-color: var(--dm-border) var(--dm-border) var(--dm-surface) !important; color: var(--dm-text) !important; }
[data-theme="dark"] .nav-pills .nav-link { color: var(--dm-text-2) !important; }
[data-theme="dark"] .nav-pills .nav-link.active { background: #6366f1 !important; color: #fff !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   19. PROGRESS, BREADCRUMBS, ACCORDION
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .progress { background: var(--dm-surface-3) !important; }
[data-theme="dark"] .breadcrumb { background: var(--dm-surface-2) !important; }
[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before { color: var(--dm-text-3); }
[data-theme="dark"] .breadcrumb-item a { color: #818cf8; }
[data-theme="dark"] .breadcrumb-item.active { color: var(--dm-text-2); }
[data-theme="dark"] .accordion-item { background: var(--dm-surface) !important; border-color: var(--dm-border) !important; }
[data-theme="dark"] .accordion-button { background: var(--dm-surface-2) !important; color: var(--dm-text) !important; }
[data-theme="dark"] .accordion-button:not(.collapsed) { background: rgba(99,102,241,.15) !important; color: #a5b4fc !important; }
[data-theme="dark"] .accordion-body { background: var(--dm-surface) !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   20. TOOLTIPS, POPOVERS, TOASTS
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .tooltip-inner { background: var(--dm-elevated) !important; color: var(--dm-text) !important; }
[data-theme="dark"] .popover { background: var(--dm-surface) !important; border-color: var(--dm-border) !important; }
[data-theme="dark"] .popover-header { background: var(--dm-surface-2) !important; border-bottom-color: var(--dm-border) !important; color: var(--dm-text) !important; }
[data-theme="dark"] .popover-body { color: var(--dm-text); }
[data-theme="dark"] .toast { background: var(--dm-surface) !important; border-color: var(--dm-border) !important; color: var(--dm-text) !important; }
[data-theme="dark"] .toast-header { background: var(--dm-surface-2) !important; border-bottom-color: var(--dm-border) !important; color: var(--dm-text) !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   21. COUNTER ITEMS (navbar)
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .counter-item { background: rgba(255,255,255,.08) !important; }
[data-theme="dark"] .counter-item:hover { background: rgba(255,255,255,.15) !important; }
[data-theme="dark"] .counter-badge { background: rgba(255,255,255,.85) !important; color: #001a33 !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   22. SCROLLBAR
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] ::-webkit-scrollbar { width: 8px; height: 8px; }
[data-theme="dark"] ::-webkit-scrollbar-track { background: var(--dm-body); }
[data-theme="dark"] ::-webkit-scrollbar-thumb { background: var(--dm-border-2); border-radius: 4px; }
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: var(--dm-text-3); }

/* ═══════════════════════════════════════════════════════════════════════════
   23. TOGGLE BUTTON
   ═══════════════════════════════════════════════════════════════════════════ */
.dark-mode-toggle { cursor: pointer; transition: transform .3s ease; font-size: 1rem; }
.dark-mode-toggle:hover { transform: scale(1.15); }
.dark-mode-toggle .fa-moon { display: inline; }
.dark-mode-toggle .fa-sun  { display: none; }
[data-theme="dark"] .dark-mode-toggle .fa-moon { display: none; }
[data-theme="dark"] .dark-mode-toggle .fa-sun  { display: inline; color: #fbbf24 !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   24. LINKS, CODE, PRE
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):not(.list-group-item):not(.page-link):not(.badge) { color: #818cf8; }
[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):not(.list-group-item):not(.page-link):not(.badge):hover { color: #a5b4fc; }
[data-theme="dark"] code { background: var(--dm-surface-3); color: #f472b6; border-radius: 4px; padding: 1px 4px; }
[data-theme="dark"] pre { background: var(--dm-surface-2) !important; border-color: var(--dm-border) !important; color: var(--dm-text); }

/* ═══════════════════════════════════════════════════════════════════════════
   25. SIDEBAR SECTIONS, OFFCANVAS
   ═══════════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] .nav-section { color: rgba(255,255,255,.3) !important; }
[data-theme="dark"] .offcanvas { background: var(--dm-surface) !important; color: var(--dm-text) !important; }
[data-theme="dark"] .offcanvas-header { border-bottom-color: var(--dm-border) !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   26. MSSP VIEWS — specific patterns found in prod screenshots
   ═══════════════════════════════════════════════════════════════════════════ */
/* Scope selector and filter bars */
[data-theme="dark"] [style*="max-height"][style*="overflow-y"][style*="border:1px solid #e2e8f0"] {
    border-color: var(--dm-border) !important;
    background: var(--dm-surface-2) !important;
}
/* MSSP operator circle avatars — keep colored */
/* Badge bg-light text-dark border in MSSP views */
[data-theme="dark"] .badge.bg-light.text-dark.border {
    background: var(--dm-elevated) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border-2) !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   28. CUSTOM CARDS — kpi-card, matrix-wrapper, assign-*, ring-card,
       fw-badge, project-tab — classes inline background:#fff non couvertes
   ═══════════════════════════════════════════════════════════════════════════ */

/* KPI cards (projects, assignments) */
[data-theme="dark"] .kpi-card {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .kpi-card:hover {
    border-color: #6366f1 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.4) !important;
}
[data-theme="dark"] .kpi-card .label,
[data-theme="dark"] .kpi-card .small.text-muted {
    color: var(--dm-text-2) !important;
}

/* Priority matrix wrapper */
[data-theme="dark"] .matrix-wrapper {
    background: var(--dm-surface) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.4) !important;
}
[data-theme="dark"] .matrix-cell .count { color: var(--dm-text) !important; }
[data-theme="dark"] .matrix-cell .label { color: var(--dm-text-2) !important; }
[data-theme="dark"] .axis-label { color: var(--dm-text-2) !important; }

/* Assignments page */
[data-theme="dark"] .assign-table,
[data-theme="dark"] .assign-filter {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .assign-filter {
    border-bottom-color: var(--dm-border) !important;
}
[data-theme="dark"] .ring-card {
    background: var(--dm-surface) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.4) !important;
}
[data-theme="dark"] tr.clickable-row:hover,
[data-theme="dark"] tr.ctrl-row:hover {
    background: var(--dm-hover) !important;
}

/* Project tabs */
[data-theme="dark"] .project-tab {
    color: var(--dm-text-2) !important;
}
[data-theme="dark"] .project-tab.active {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    border-bottom-color: var(--dm-surface) !important;
    color: #818cf8 !important;
}

/* Compliance framework badges */
[data-theme="dark"] .fw-badge {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .fw-badge:hover {
    background: var(--dm-surface-2) !important;
    border-color: #6366f1 !important;
    color: #818cf8 !important;
}

/* Inline style background:#fff overrides (widespread pattern) */
[data-theme="dark"] [style*="background:#fff"],
[data-theme="dark"] [style*="background: #fff"],
[data-theme="dark"] [style*="background-color:#fff"],
[data-theme="dark"] [style*="background-color: #fff"] {
    background: var(--dm-surface) !important;
    background-color: var(--dm-surface) !important;
}
[data-theme="dark"] [style*="background:#f8f9fa"],
[data-theme="dark"] [style*="background:#f8fafc"],
[data-theme="dark"] [style*="background:#f1f5f9"],
[data-theme="dark"] [style*="background:#ffffff"] {
    background: var(--dm-surface-2) !important;
}
[data-theme="dark"] [style*="border:1px solid #e2e8f0"],
[data-theme="dark"] [style*="border: 1px solid #e2e8f0"] {
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] [style*="color:#1a202c"],
[data-theme="dark"] [style*="color:#334155"],
[data-theme="dark"] [style*="color:#2d3748"] {
    color: var(--dm-text) !important;
}
[data-theme="dark"] [style*="color:#64748b"],
[data-theme="dark"] [style*="color:#718096"],
[data-theme="dark"] [style*="color:#4a5568"] {
    color: var(--dm-text-2) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   27. PRINT — disable dark for printing
   ═══════════════════════════════════════════════════════════════════════════ */
@media print {
    [data-theme="dark"] body { background: #fff !important; color: #000 !important; }
    [data-theme="dark"] .card { background: #fff !important; box-shadow: none !important; }
    [data-theme="dark"] .table thead th { background: #f8fafc !important; color: #333 !important; }
    [data-theme="dark"] .dark-mode-toggle { display: none !important; }
}
