/**
 * 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;
}

/* ═══════════════════════════════════════════════════════════════════════════
   26B. SPRINT 1+2 — Couleurs inline manquantes (2026-04-11)
   Backgrounds pastels de nos nouvelles vues RGPD/SOC2/NIST/CIS/SecNumCloud
   ═══════════════════════════════════════════════════════════════════════════ */

/* #faf5ff et #f8faff — pastels violets (RGPD, SOC2) */
[data-theme="dark"] [style*="background:#faf5ff"],
[data-theme="dark"] [style*="background: #faf5ff"] { background: rgba(124,58,237,.08) !important; }
[data-theme="dark"] [style*="background:#f8faff"],
[data-theme="dark"] [style*="background: #f8faff"] { background: rgba(99,102,241,.08) !important; }

/* #fffbf5 — pastel orange (ISO27001) */
[data-theme="dark"] [style*="background:#fffbf5"],
[data-theme="dark"] [style*="background: #fffbf5"] { background: rgba(249,115,22,.08) !important; }

/* Couleurs accentuées avec alpha (badges, cartes) */
[data-theme="dark"] [style*="background:#7c3aed20"],
[data-theme="dark"] [style*="background:#6366f120"],
[data-theme="dark"] [style*="background:#05966920"],
[data-theme="dark"] [style*="background:#dc262620"],
[data-theme="dark"] [style*="background:#00318920"] { opacity: .85; }

/* Cartes guide dans les panels dépliables — forcer couleur sombre */
[data-theme="dark"] .iso-detail-row > td > div,
[data-theme="dark"] .rgpd-detail-row > td > div,
[data-theme="dark"] .s2-detail-row > td > div {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .iso-detail-row .border.rounded,
[data-theme="dark"] .rgpd-detail-row .border.rounded,
[data-theme="dark"] .s2-detail-row .border.rounded {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .iso-detail-row .border.rounded p,
[data-theme="dark"] .rgpd-detail-row .border.rounded p,
[data-theme="dark"] .s2-detail-row .border.rounded p {
    color: var(--dm-text-2) !important;
}
[data-theme="dark"] .iso-detail-row .text-muted,
[data-theme="dark"] .rgpd-detail-row .text-muted,
[data-theme="dark"] .s2-detail-row .text-muted {
    color: var(--dm-text-2) !important;
}

/* Headers de section assess */
[data-theme="dark"] [style*="background:#f5f3ff10"],
[data-theme="dark"] [style*="background:#6366f110"],
[data-theme="dark"] [style*="background:#05966910"],
[data-theme="dark"] [style*="background:#dc262610"],
[data-theme="dark"] [style*="background:#00318910"],
[data-theme="dark"] [style*="background:#7c3aed10"] {
    background: rgba(255,255,255,.03) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   26C. BOOTSTRAP 5 CSS VARIABLES + CLASSES DASHBOARD (fix white squares)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Bootstrap 5 custom properties — override root variables */
[data-theme="dark"] {
    --bs-card-bg:          var(--dm-surface);
    --bs-card-cap-bg:      var(--dm-surface-2);
    --bs-card-border-color:var(--dm-border);
    --bs-body-bg:          var(--dm-body);
    --bs-body-color:       var(--dm-text);
    --bs-secondary-bg:     var(--dm-surface-2);
    --bs-tertiary-bg:      var(--dm-surface-3);
    --bs-emphasis-color:   var(--dm-text);
    --bs-table-bg:         transparent;
    --bs-table-striped-bg: rgba(255,255,255,.03);
    --bs-table-hover-bg:   rgba(255,255,255,.04);
    --bs-border-color:     var(--dm-border);
    --bs-heading-color:    var(--dm-text);
}

/* .kpi-mini — cartes KPI carrées du dashboard (24 Risques, 0 Incidents, etc.) */
[data-theme="dark"] .kpi-mini {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
}

/* .score-ring .inner — anneau de score */
[data-theme="dark"] .score-ring .inner {
    background: var(--dm-surface) !important;
    color: var(--dm-text) !important;
}

/* page-header — headers de page (bg:#fff en clair) */
[data-theme="dark"] .page-header {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .page-header h1,
[data-theme="dark"] .page-header h2,
[data-theme="dark"] .page-header h4 {
    color: var(--dm-text) !important;
}

/* form-section — sections formulaires */
[data-theme="dark"] .form-section {
    background: var(--dm-surface) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
}

/* Tables — thead bg:light */
[data-theme="dark"] .table-light,
[data-theme="dark"] thead.table-light tr,
[data-theme="dark"] .table thead.table-light th {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text-2) !important;
    border-color: var(--dm-border) !important;
}

/* Bootstrap bg-transparent sur card-header → override forced */
[data-theme="dark"] .card-header.bg-transparent,
[data-theme="dark"] .card-header[style*="background:transparent"],
[data-theme="dark"] .card-header[style*="background: transparent"] {
    background: var(--dm-surface-2) !important;
    border-bottom-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* Inputs, selects, textareas */
[data-theme="dark"] input:not([type="radio"]):not([type="checkbox"]):not([type="range"]):not([type="color"]),
[data-theme="dark"] select,
[data-theme="dark"] textarea {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder { color: var(--dm-text-3) !important; }
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select { background: var(--dm-surface-2) !important; color: var(--dm-text) !important; border-color: var(--dm-border) !important; }
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus { background: var(--dm-surface-3) !important; color: var(--dm-text) !important; border-color: rgba(99,102,241,.6) !important; box-shadow: 0 0 0 3px rgba(99,102,241,.15) !important; }
[data-theme="dark"] .input-group-text { background: var(--dm-surface-3) !important; border-color: var(--dm-border) !important; color: var(--dm-text-2) !important; }

/* Modal */
[data-theme="dark"] .modal-content { background: var(--dm-surface) !important; border-color: var(--dm-border) !important; }
[data-theme="dark"] .modal-header { background: var(--dm-surface-2) !important; border-bottom-color: var(--dm-border) !important; color: var(--dm-text) !important; }
[data-theme="dark"] .modal-footer { background: var(--dm-surface-2) !important; border-top-color: var(--dm-border) !important; }
[data-theme="dark"] .modal-body { color: var(--dm-text) !important; }

/* Dropdowns */
[data-theme="dark"] .dropdown-menu { background: var(--dm-elevated) !important; border-color: var(--dm-border) !important; }
[data-theme="dark"] .dropdown-item { color: var(--dm-text) !important; }
[data-theme="dark"] .dropdown-item:hover { background: var(--dm-hover) !important; }
[data-theme="dark"] .dropdown-divider { border-color: var(--dm-border) !important; }
[data-theme="dark"] .dropdown-header { color: var(--dm-text-2) !important; }

/* Alerts en dark */
[data-theme="dark"] .alert-info    { background: rgba(6,182,212,.12) !important; border-color: rgba(6,182,212,.3) !important; color: #7dd3f0 !important; }
[data-theme="dark"] .alert-success { background: rgba(16,185,129,.12) !important; border-color: rgba(16,185,129,.3) !important; color: #6ee7b7 !important; }
[data-theme="dark"] .alert-warning { background: rgba(245,158,11,.12) !important; border-color: rgba(245,158,11,.3) !important; color: #fcd34d !important; }
[data-theme="dark"] .alert-danger  { background: rgba(239,68,68,.12) !important; border-color: rgba(239,68,68,.3) !important; color: #fca5a5 !important; }
[data-theme="dark"] .alert-permanent { background: rgba(255,255,255,.04) !important; border-color: var(--dm-border) !important; }

/* List groups */
[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:hover { background: var(--dm-hover) !important; }
[data-theme="dark"] .list-group-item.active { background: rgba(99,102,241,.3) !important; border-color: rgba(99,102,241,.5) !important; }

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

/* Pagination */
[data-theme="dark"] .page-item .page-link { background: var(--dm-surface) !important; border-color: var(--dm-border) !important; color: var(--dm-text) !important; }
[data-theme="dark"] .page-item.active .page-link { background: #6366f1 !important; border-color: #6366f1 !important; }
[data-theme="dark"] .page-item.disabled .page-link { background: var(--dm-surface-2) !important; color: var(--dm-text-3) !important; }

/* Tabs */
[data-theme="dark"] .nav-tabs .nav-link { color: var(--dm-text-2) !important; border-color: transparent; }
[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-tabs { border-bottom-color: var(--dm-border) !important; }

/* Progress bars track */
[data-theme="dark"] .progress { background: var(--dm-surface-3) !important; }

/* Score ring background #e2e8f0 track */
[data-theme="dark"] [style*="background:#e2e8f0"],
[data-theme="dark"] [style*="background: #e2e8f0"],
[data-theme="dark"] [style*="conic-gradient"][style*="#e2e8f0"] {
    filter: brightness(0.35) !important;
}
[data-theme="dark"] [style*="conic-gradient"][style*="#cbd5e1"] {
    filter: brightness(0.3) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   26D. ANALYTICS + VIEWS SPÉCIFIQUES — classes inline background:#fff
   metric-card, chart-card, et toutes vues avec background:#fff hardcodé en CSS
   ═══════════════════════════════════════════════════════════════════════════ */

[data-theme="dark"] .metric-card {
    background: var(--dm-surface) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .metric-card .metric-label,
[data-theme="dark"] .metric-label {
    color: var(--dm-text-2) !important;
}
[data-theme="dark"] .chart-card {
    background: var(--dm-surface) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .chart-card h6,
[data-theme="dark"] .chart-card h5 {
    color: var(--dm-text) !important;
}

/* iso-detail-row, rgpd-detail-row, s2-detail-row — panneaux dépliables */
[data-theme="dark"] .iso-detail-row td,
[data-theme="dark"] .rgpd-detail-row td,
[data-theme="dark"] .s2-detail-row td {
    background: var(--dm-surface-2) !important;
}

/* stat-card (dashboard) */
[data-theme="dark"] .stat-card {
    /* Garder les couleurs vives — pas d'override */
}

/* page-header h1 spécifique */
[data-theme="dark"] .page-header h1 {
    color: var(--dm-text) !important;
}

/* Toutes les divs avec class contenant "section" ou "panel" en background blanc */
[data-theme="dark"] .section-card,
[data-theme="dark"] .panel-card,
[data-theme="dark"] .content-card {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}

/* Tableaux DataTables */
[data-theme="dark"] .dataTables_wrapper .dataTables_filter input,
[data-theme="dark"] .dataTables_wrapper .dataTables_length select {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-theme="dark"] .dataTables_wrapper .dataTables_filter label,
[data-theme="dark"] .dataTables_wrapper .dataTables_length label {
    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; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SPRINT 14 — ATLAS / THREAT-INTEL / RSSI-DASHBOARD / ISO27001
   Ajouté le 2026-04-15 — Couvre toutes les classes et backgrounds manquants
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── ISO 27001 phase.php — panneaux dépliables #isoDetail<n> ── */
[data-theme="dark"] [id^="isoDetail"] {
    background: var(--dm-surface-2) !important;
    border-left-color: rgba(249,115,22,.6) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] [id^="isoDetail"] .border.rounded {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] [id^="isoDetail"] .text-muted,
[data-theme="dark"] [id^="isoDetail"] p {
    color: var(--dm-text-2) !important;
}
[data-theme="dark"] [id^="isoDetail"] strong.text-dark,
[data-theme="dark"] [id^="isoDetail"] strong.text-danger,
[data-theme="dark"] [id^="isoDetail"] strong.text-primary,
[data-theme="dark"] [id^="isoDetail"] strong.text-success {
    color: var(--dm-text) !important;
}
/* Icônes rondes dans les lignes iso-toggle-row */
[data-theme="dark"] .iso-toggle-row .rounded-circle {
    background: rgba(249,115,22,.15) !important;
}
[data-theme="dark"] .iso-toggle-row:hover {
    background: var(--dm-hover) !important;
}
[data-theme="dark"] .iso-toggle-row .iso-chevron {
    color: var(--dm-text-3) !important;
}

/* ── MITRE ATLAS 2026 — atlas.php ── */
[data-theme="dark"] .atlas-guide-row {
    color: var(--dm-text) !important;
}
[data-theme="dark"] .atlas-guide-row:hover {
    background: var(--dm-hover) !important;
}
[data-theme="dark"] .atlas-guide-row td {
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .atlas-guide-detail td {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .atlas-guide-detail .border.rounded {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .atlas-guide-detail p,
[data-theme="dark"] .atlas-guide-detail .text-muted {
    color: var(--dm-text-2) !important;
}
/* Lignes matrice ATLAS */
[data-theme="dark"] .atlas-matrix-row {
    color: var(--dm-text) !important;
}
[data-theme="dark"] .atlas-matrix-row:hover {
    background: rgba(220,38,38,.04) !important;
}
[data-theme="dark"] .atlas-matrix-row td {
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .atlas-matrix-detail td {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .atlas-matrix-detail .border.rounded {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .atlas-matrix-detail p,
[data-theme="dark"] .atlas-matrix-detail .text-muted {
    color: var(--dm-text-2) !important;
}
[data-theme="dark"] .atlas-matrix-chevron,
[data-theme="dark"] .atlas-guide-chevron {
    color: var(--dm-text-3) !important;
}
/* Filtres atlas-cat-filter */
[data-theme="dark"] .atlas-cat-filter {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text-2) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .atlas-cat-filter.active {
    background: var(--dm-surface-3) !important;
    color: var(--dm-text) !important;
}

/* ── THREAT INTELLIGENCE — index.php / show.php ── */
[data-theme="dark"] .ti-guide-row {
    color: var(--dm-text) !important;
}
[data-theme="dark"] .ti-guide-row:hover {
    background: var(--dm-hover) !important;
}
[data-theme="dark"] .ti-guide-row td {
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .ti-detail-row td {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .ti-detail-row .border.rounded {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .ti-detail-row p,
[data-theme="dark"] .ti-detail-row .text-muted {
    color: var(--dm-text-2) !important;
}
[data-theme="dark"] .ti-adv-row:hover {
    background: var(--dm-hover) !important;
}
[data-theme="dark"] .ti-adv-row td {
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .ti-filter {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text-2) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .ti-filter.active {
    background: var(--dm-surface-3) !important;
    color: var(--dm-text) !important;
}
/* Panneau ATLAS dans show.php */
[data-theme="dark"] #atlas-panel .card-header {
    background: rgba(220,38,38,.1) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] #atlas-panel-body {
    background: var(--dm-surface) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] #atlas-panel .border.rounded {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] #atlas-panel select.form-select,
[data-theme="dark"] #atlas-panel textarea.form-control {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* ── RSSI DASHBOARD — index.php ── */
[data-theme="dark"] .rssi-widget {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .rssi-widget-header {
    background: var(--dm-surface-2) !important;
    border-bottom-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .rssi-widget-icon {
    color: inherit !important;
}
[data-theme="dark"] .rssi-kpi-val {
    color: var(--dm-text) !important;
}
[data-theme="dark"] .rssi-kpi-lbl {
    color: var(--dm-text-2) !important;
}
[data-theme="dark"] .rssi-list-item {
    border-bottom-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .rssi-list-item:hover {
    background: var(--dm-hover) !important;
}
[data-theme="dark"] .rssi-list-item span.text-muted,
[data-theme="dark"] .rssi-list-item .text-muted {
    color: var(--dm-text-2) !important;
}
/* Matrice des risques 5x5 — cellules colorées gardent leur couleur */
[data-theme="dark"] .rssi-widget table td {
    border-color: rgba(255,255,255,.08) !important;
}
/* #e2e8f0 track barres de progression dans widgets */
[data-theme="dark"] [style*="background:#e2e8f0"] {
    background: var(--dm-surface-3) !important;
}
[data-theme="dark"] [style*="background:#f8fafc"] {
    background: var(--dm-surface-2) !important;
}
/* Config modal RSSI */
[data-theme="dark"] .widget-config-toggle + label {
    color: var(--dm-text) !important;
}

/* ── BACKGROUNDS rgba(255,255,255,…) inline — panneaux dépliables sprint 14 ── */
/* Ces backgrounds semi-transparents blancs sont utilisés dans atlas.php et show.php */
[data-theme="dark"] [style*="background:rgba(255,255,255,.03)"],
[data-theme="dark"] [style*="background: rgba(255,255,255,.03)"] {
    background: rgba(255,255,255,.025) !important;
}
[data-theme="dark"] [style*="background:rgba(255,255,255,.04)"],
[data-theme="dark"] [style*="background: rgba(255,255,255,.04)"] {
    background: rgba(255,255,255,.04) !important;
}
[data-theme="dark"] [style*="background:rgba(255,255,255,.07)"],
[data-theme="dark"] [style*="background: rgba(255,255,255,.07)"] {
    background: rgba(255,255,255,.06) !important;
}
[data-theme="dark"] [style*="background:rgba(255,255,255,.1)"],
[data-theme="dark"] [style*="background: rgba(255,255,255,.1)"] {
    background: rgba(255,255,255,.08) !important;
}
/* #f8fafb — fond gris clair (show.php panneaux détail ATLAS) */
[data-theme="dark"] [style*="background:#f8fafb"],
[data-theme="dark"] [style*="background: #f8fafb"] {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
}

/* ── PORTAIL CLIENT — portal/dashboard.php ── */
[data-theme="dark"] .portal-card,
[data-theme="dark"] .portal-section {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* ── CERTIFICATION GUIDE — stepper ISO 27001 ── */
[data-theme="dark"] .iso-phase-item {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .iso-phase-item small,
[data-theme="dark"] .iso-phase-item .text-muted {
    color: var(--dm-text-2) !important;
}

/* ── FEEDS / FORMULAIRES THREAT-INTEL ── */
[data-theme="dark"] #atlas-add-form {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    border-radius: 6px;
    padding: 12px;
}
[data-theme="dark"] #atlas-add-form .form-text {
    color: var(--dm-text-3) !important;
}

/* ── CORRECTIONS GLOBALES MANQUANTES ── */
/* background:#f8fafb générique (tout le site, show.php panels) */
[data-theme="dark"] [style*="background:var(--dm-surface-2,#f8faff)"],
[data-theme="dark"] [style*="background:var(--dm-surface-2,#f8fafb)"] {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
}
/* Liens dans panneaux atlas/ti */
[data-theme="dark"] .atlas-guide-detail a:not(.btn),
[data-theme="dark"] .atlas-matrix-detail a:not(.btn),
[data-theme="dark"] .ti-detail-row a:not(.btn),
[data-theme="dark"] [id^="isoDetail"] a:not(.btn) {
    color: #818cf8 !important;
}
[data-theme="dark"] .atlas-guide-detail a:not(.btn):hover,
[data-theme="dark"] .atlas-matrix-detail a:not(.btn):hover,
[data-theme="dark"] .ti-detail-row a:not(.btn):hover,
[data-theme="dark"] [id^="isoDetail"] a:not(.btn):hover {
    color: #a5b4fc !important;
}
/* Codes <code> dans panneaux atlas */
[data-theme="dark"] .atlas-matrix-row code,
[data-theme="dark"] .atlas-matrix-detail code {
    background: rgba(99,102,241,.12) !important;
    color: #a5b4fc !important;
    border-radius: 3px;
    padding: 1px 4px;
}
/* Separateurs border-top dans panneaux */
[data-theme="dark"] .atlas-guide-detail .border-top,
[data-theme="dark"] .atlas-matrix-detail .border-top,
[data-theme="dark"] .ti-detail-row .border-top,
[data-theme="dark"] [id^="isoDetail"] .border-top {
    border-top-color: var(--dm-border) !important;
}
/* form-label dans atlas-add-form */
[data-theme="dark"] #atlas-add-form .form-label {
    color: var(--dm-text) !important;
}
/* optgroup dans selects */
[data-theme="dark"] optgroup {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text-2) !important;
}
[data-theme="dark"] option {
    background: var(--dm-surface) !important;
    color: var(--dm-text) !important;
}

/* ── iso-detail-card — cards Preuves/Documents dans panneaux ISO 27001 ── */
/* Remplace les style="background:#fff" inline dans phase.php */
.iso-detail-card {
    background: #fff;  /* light mode default */
}
[data-theme="dark"] .iso-detail-card {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .iso-detail-card p,
[data-theme="dark"] .iso-detail-card .text-muted {
    color: var(--dm-text-2) !important;
}
[data-theme="dark"] .iso-detail-card strong {
    color: var(--dm-text) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   SPRINT 14 — PATCH 2 : TOUTES LES CLASSES CSS AVEC background:#fff
   Extraites exhaustivement de 207 vues PHP — 2026-04-15
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── KPI / STAT CARDS (utilisées dans 30+ vues) ── */
[data-theme="dark"] .kpi-exec,
[data-theme="dark"] .kpi-card,
[data-theme="dark"] .kpi-mini,
[data-theme="dark"] .kpi-box,
[data-theme="dark"] .prop-kpi,
[data-theme="dark"] .ring-card,
[data-theme="dark"] .stat-box {
    background: var(--dm-surface) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .kpi-exec *,
[data-theme="dark"] .kpi-card *,
[data-theme="dark"] .kpi-mini *,
[data-theme="dark"] .kpi-box *,
[data-theme="dark"] .prop-kpi * { color: inherit; }

/* ── DASHBOARD EXECUTIVE — executive/index.php ── */
[data-theme="dark"] .kpi-exec:hover { background: var(--dm-elevated) !important; }

/* ── CARDS GÉNÉRIQUES ── */
[data-theme="dark"] .brief-card,
[data-theme="dark"] .crq-exec-card,
[data-theme="dark"] .watch-card,
[data-theme="dark"] .sub-card,
[data-theme="dark"] .eb-card,
[data-theme="dark"] .pia-card,
[data-theme="dark"] .fin-guide-card,
[data-theme="dark"] .detail-panel,
[data-theme="dark"] .role-card,
[data-theme="dark"] .ring-card,
[data-theme="dark"] .matrix-wrapper,
[data-theme="dark"] .timeline-wrapper,
[data-theme="dark"] .assign-table,
[data-theme="dark"] .card-block,
[data-theme="dark"] .pillar-card,
[data-theme="dark"] .criterion-card,
[data-theme="dark"] .q-card,
[data-theme="dark"] .survey-body,
[data-theme="dark"] .card-result,
[data-theme="dark"] .card-r {
    background: var(--dm-surface) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* ── LAYOUTS / FORM SECTIONS ── */
[data-theme="dark"] .page-header,
[data-theme="dark"] .form-section {
    background: var(--dm-surface) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* ── WATCH / ALERTES ── */
[data-theme="dark"] .watch-card { border-color: var(--dm-border) !important; }
[data-theme="dark"] .high {
    background: rgba(245,158,11,.08) !important;
    border-left-color: #f59e0b !important;
}

/* ── PIA ── */
[data-theme="dark"] .pia-section {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}
[data-theme="dark"] .pia-section * { color: var(--dm-text); }

/* ── SHADOW AI / IA GOVERNANCE logs ── */
[data-theme="dark"] .shadow-detail,
[data-theme="dark"] .log-detail,
[data-theme="dark"] .ti-detail-panel {
    background: rgba(220,38,38,.05) !important;
    border-top-color: rgba(220,38,38,.2) !important;
    color: var(--dm-text) !important;
}

/* ── CHATBOT PANEL ── */
[data-theme="dark"] #grc-chatbot-panel {
    background: var(--dm-surface) !important;
    border: 1px solid var(--dm-border) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.5) !important;
    color: var(--dm-text) !important;
}

/* ── CALENDRIER ── */
[data-theme="dark"] .cal-day {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .cal-day:hover { background: var(--dm-hover) !important; }

/* ── GANTT ── */
[data-theme="dark"] .gantt-wrap,
[data-theme="dark"] .gantt-sidebar,
[data-theme="dark"] .gantt-stats,
[data-theme="dark"] .gantt-legend,
[data-theme="dark"] .gantt-filters,
[data-theme="dark"] .current-upper {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .popup-wrapper {
    background: var(--dm-elevated) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.5) !important;
    border-color: var(--dm-border) !important;
}

/* ── ADMIN ── */
[data-theme="dark"] .user-col {
    background: var(--dm-surface) !important;
    color: var(--dm-text) !important;
}

/* ── AUTH PAGES ── */
[data-theme="dark"] .forgot-card,
[data-theme="dark"] .reset-card,
[data-theme="dark"] .otp-card {
    background: var(--dm-elevated) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.5) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .forgot-card input,
[data-theme="dark"] .reset-card input,
[data-theme="dark"] .otp-card input {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .password-requirements {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-2) !important;
}

/* ── ERRORS ── */
[data-theme="dark"] .error-container {
    background: var(--dm-elevated) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.5) !important;
    color: var(--dm-text) !important;
}

/* ── EXEC BRIEF / PDF ── */
[data-theme="dark"] .brief-kpi-warning {
    background: rgba(245,158,11,.08) !important;
    border-color: rgba(245,158,11,.3) !important;
}
[data-theme="dark"] .action-item {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
}

/* ── RSE SIGN / DOCS ── */
[data-theme="dark"] .content,
[data-theme="dark"] .doc-content {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .checkbox-row {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* ── COMPLIANCE ── */
[data-theme="dark"] .fw-badge { filter: brightness(0.75) saturate(1.2); }
[data-theme="dark"] .detail-panel {
    background: var(--dm-surface-2) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.3) !important;
    color: var(--dm-text) !important;
}

/* ── PORTAL STANDALONE (login/survey/eval) ── */
[data-theme="dark"] .criterion-card,
[data-theme="dark"] .q-card,
[data-theme="dark"] .survey-body,
[data-theme="dark"] .card-result,
[data-theme="dark"] .card-r {
    color: var(--dm-text) !important;
}

/* ── bg-white Bootstrap class — override universel ── */
[data-theme="dark"] .bg-white {
    background: var(--dm-surface) !important;
    color: var(--dm-text) !important;
}
/* card-header.bg-white — les en-têtes de cartes avec bg-white */
[data-theme="dark"] .card-header.bg-white {
    background: var(--dm-surface-2) !important;
    border-bottom-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* ── BOUTONS ADMIN ── */
[data-theme="dark"] .tb,
[data-theme="dark"] .vc,
[data-theme="dark"] .bi {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .btn-back {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-2) !important;
}

/* ── RAPPORTS PUBLICS (PDFs/HTML) ── */
[data-theme="dark"] .rpt-logo {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}

/* ── RSSI-WIDGET dans <style> inline ── */
[data-theme="dark"] .rssi-widget {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* ── FIN — bg-light Bootstrap override universel ── */
[data-theme="dark"] .bg-light {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .card.bg-light,
[data-theme="dark"] .col.bg-light,
[data-theme="dark"] .row.bg-light {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text) !important;
}

/* ── mat-btn — ia-governance/pssi-edit.php ── */
[data-theme="dark"] .mat-btn {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
[data-theme="dark"] .mat-btn:hover {
    background: var(--dm-hover) !important;
}
