/* ============================================================================
   MB-DARK-OVERRIDE-V1 — couche de theme sombre globale
   ============================================================================

   POURQUOI CE FICHIER EXISTE
   --------------------------
   MyBooking n'a jamais eu de couche de theme sombre : seulement des fragments
   `prefers-color-scheme` disperses, souvent mal ordonnes (ecrasés par un
   `:root` clair place apres eux) et incomplets (fonds inverses mais textes
   laisses en gris fonce).

   Recensement du 13/08/2026 sur 738 templates :
       text-muted    2646 occurrences
       bg-light       475
       text-dark      322
       bg-white       182
       table-light    117
       -------------------
       total         3742  <- traitables par CE fichier
       styles en ligne : 67 fichiers (9 %) -> a reprendre a la main

   Corriger page par page etait impraticable. Cette feuille surcharge les
   motifs Bootstrap et maison la ou ils portent des fonds clairs, en mode
   sombre UNIQUEMENT.

   CONDITIONS D'EFFICACITE
   -----------------------
   1. Ce fichier doit etre charge EN DERNIER (apres bootstrap, styles.css,
      desktop-professional.css, mobile-professional.css). A specificite egale,
      la derniere regle gagne.
   2. Il n'agit que sous `@media (prefers-color-scheme: dark)` : le mode clair
      n'est jamais touche.
   3. `!important` est utilise a dessein sur les fonds : Bootstrap pose lui-meme
      des `!important` sur ses utilitaires (.bg-white, .bg-light), on ne peut
      pas les surcharger autrement.

   CE QU'IL NE REGLE PAS
   ---------------------
   Les `style="background:#fff"` ecrits dans le HTML : ils l'emportent sur
   toute feuille externe. 67 fichiers concernes, a reprendre un par un.

   PALETTE (alignee sur desktop-professional.css)
       fond de page      #0f172a
       surface / carte   #1e293b
       surface elevee    #334155
       bordure           #334155
       texte principal   #e2e8f0
       texte attenue     #94a3b8
   ============================================================================ */

@media (prefers-color-scheme: dark) {

    /* ---- MB-DARK-BS-VARS-V1 : piloter Bootstrap PAR SES VARIABLES ---------
       Surcharger `.card { background }` ne suffit pas : d'autres feuilles
       (dashboard.css est charge DANS dashboard.html, donc APRES celle-ci)
       redefinissent .card et repassent devant. Les variables `--bs-*`, elles,
       sont lues au moment du rendu par TOUS les composants Bootstrap : les
       redefinir sur :root atteint cartes, modales, listes et tableaux d'un
       seul coup, quel que soit l'ordre de chargement.                        */
    :root {
        --bs-body-bg: #0f172a;
        --bs-body-color: #e2e8f0;
        --bs-emphasis-color: #f1f5f9;
        --bs-secondary-color: #94a3b8;
        --bs-secondary-bg: #1e293b;
        --bs-tertiary-bg: #334155;
        --bs-border-color: #334155;

        --bs-card-bg: #1e293b;
        --bs-card-color: #e2e8f0;
        --bs-card-border-color: #334155;
        --bs-card-cap-bg: #334155;

        --bs-modal-bg: #1e293b;
        --bs-modal-color: #e2e8f0;
        --bs-modal-border-color: #334155;
        --bs-modal-header-border-color: #475569;
        --bs-modal-footer-border-color: #475569;

        --bs-dropdown-bg: #1e293b;
        --bs-dropdown-color: #e2e8f0;
        --bs-dropdown-border-color: #334155;
        --bs-dropdown-link-color: #e2e8f0;
        --bs-dropdown-link-hover-bg: #334155;
        --bs-dropdown-link-hover-color: #f1f5f9;
        --bs-dropdown-divider-bg: #475569;

        --bs-list-group-bg: #1e293b;
        --bs-list-group-color: #e2e8f0;
        --bs-list-group-border-color: #334155;
        --bs-list-group-action-hover-bg: #334155;

        --bs-table-bg: transparent;
        --bs-table-color: #e2e8f0;
        --bs-table-border-color: #334155;
    }

    /* La carte est surchargee AUSSI en direct, avec !important : dashboard.css
       est charge apres cette feuille et pourrait imposer son propre fond. */
    .card {
        background-color: #1e293b !important;
        color: #e2e8f0;
        border-color: #334155;
    }

    /* ---- MB-DARK-CUSTOM-V1 : classes MAISON a fond blanc en dur -----------
       Ces blocs ne portent PAS la classe Bootstrap `.card` : ils ont leurs
       propres classes avec `background: white` ecrit en dur (dashboard.css
       l.176 et 214). Et dashboard.css est charge DANS dashboard.html, donc
       APRES cette feuille — d'ou le !important, seul moyen de repasser devant.
       A completer au fil des ecrans : chaque module a ses propres classes.   */
    .chart-container,
    .quick-action-btn,
    .stat-card,
    .activity-card,
    .activity-item,
    .info-card,
    .panel,
    .widget,
    .box {
        background: #1e293b !important;
        color: #e2e8f0 !important;
        border-color: #334155 !important;
    }

    .quick-action-btn:hover,
    .activity-item:hover {
        background: #334155 !important;
    }

    /* Titres et libelles a l'interieur de ces blocs */
    .chart-container h1, .chart-container h2, .chart-container h3,
    .chart-container h4, .chart-container h5, .chart-container h6,
    .stat-card h1, .stat-card h2, .stat-card h3,
    .stat-card .stat-label, .stat-card .stat-value {
        color: #f1f5f9 !important;
    }

    /* ---- Fond general ---------------------------------------------------- */
    body {
        background-color: #0f172a;
        color: #e2e8f0;
    }

    /* ---- Utilitaires de fond Bootstrap (657 occurrences) ------------------ */
    .bg-white,
    .bg-light,
    .bg-body,
    .bg-body-tertiary {
        background-color: #1e293b !important;
        color: #e2e8f0;
    }

    /* ---- Texte attenue : le poids lourd, 2646 occurrences -----------------
       #6c757d de Bootstrap est illisible sur fond sombre. #94a3b8 garde la
       nuance « secondaire » tout en restant lisible.                         */
    .text-muted,
    .text-secondary,
    small.text-muted,
    .form-text {
        color: #94a3b8 !important;
    }

    /* ---- Texte cense etre fonce sur fond clair (322 occurrences) ---------- */
    .text-dark,
    .text-black {
        color: #f1f5f9 !important;
    }

    /* ---- Cartes ---------------------------------------------------------- */
    .card,
    .card-body,
    .card-header,
    .card-footer {
        background-color: #1e293b;
        border-color: #334155;
        color: #e2e8f0;
    }

    .card-header,
    .card-footer {
        background-color: #334155;
    }

    /* ---- Tableaux (117 occurrences de table-light) ------------------------ */
    .table {
        --bs-table-bg: transparent;
        --bs-table-color: #e2e8f0;
        --bs-table-border-color: #334155;
        --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
        --bs-table-striped-color: #e2e8f0;
        --bs-table-hover-bg: rgba(255, 255, 255, 0.06);
        --bs-table-hover-color: #f1f5f9;
        color: #e2e8f0;
    }

    .table-light,
    .table > thead,
    .table > thead th {
        background-color: #334155 !important;
        color: #f1f5f9 !important;
        border-color: #475569 !important;
    }

    /* ---- Modales et fenetres flottantes ----------------------------------- */
    .modal-content,
    .offcanvas,
    .popover,
    .popover-body,
    .accordion-item,
    .accordion-button {
        background-color: #1e293b;
        color: #e2e8f0;
        border-color: #334155;
    }

    .modal-header,
    .modal-footer,
    .offcanvas-header,
    .popover-header {
        background-color: #334155;
        border-color: #475569;
        color: #f1f5f9;
    }

    /* ---- Menus deroulants -------------------------------------------------- */
    .dropdown-menu {
        background-color: #1e293b;
        border-color: #334155;
    }

    .dropdown-item {
        color: #e2e8f0;
    }

    .dropdown-item:hover,
    .dropdown-item:focus {
        background-color: #334155;
        color: #f1f5f9;
    }

    .dropdown-divider {
        border-color: #475569;
    }

    /* ---- Listes ------------------------------------------------------------ */
    .list-group-item {
        background-color: #1e293b;
        border-color: #334155;
        color: #e2e8f0;
    }

    .list-group-item-action:hover {
        background-color: #334155;
        color: #f1f5f9;
    }

    /* ---- Formulaires -------------------------------------------------------
       Le fond des champs reste legerement plus sombre que la surface, pour
       qu'on distingue la zone de saisie du reste de la carte.                  */
    .form-control,
    .form-select,
    .input-group-text,
    textarea,
    select,
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    input[type="search"],
    input[type="date"],
    input[type="datetime-local"],
    input[type="tel"],
    input[type="url"] {
        background-color: #0f172a;
        border-color: #475569;
        color: #e2e8f0;
    }

    .form-control:focus,
    .form-select:focus {
        background-color: #0f172a;
        border-color: #0ea5e9;
        color: #f1f5f9;
    }

    .form-control::placeholder,
    textarea::placeholder {
        color: #64748b;
    }

    .form-control:disabled,
    .form-control[readonly] {
        background-color: #1e293b;
        color: #94a3b8;
    }

    .form-label,
    label {
        color: #cbd5e1;
    }

    /* ---- Onglets et navigation --------------------------------------------- */
    .nav-tabs {
        border-color: #334155;
    }

    .nav-tabs .nav-link {
        color: #94a3b8;
    }

    .nav-tabs .nav-link.active {
        background-color: #1e293b;
        border-color: #334155 #334155 #1e293b;
        color: #f1f5f9;
    }

    .breadcrumb,
    .pagination .page-link {
        background-color: transparent;
        color: #cbd5e1;
    }

    .page-link {
        background-color: #1e293b;
        border-color: #334155;
    }

    .page-item.active .page-link {
        background-color: #0ea5e9;
        border-color: #0ea5e9;
        color: #ffffff;
    }

    /* ---- Alertes : on garde la teinte, on assombrit le fond ----------------- */
    .alert-light,
    .alert-secondary {
        background-color: #334155;
        border-color: #475569;
        color: #e2e8f0;
    }

    /* ---- Separateurs et bordures ------------------------------------------- */
    hr,
    .border,
    .border-top,
    .border-bottom,
    .border-start,
    .border-end {
        border-color: #334155 !important;
    }

    /* ---- Boutons clairs ----------------------------------------------------- */
    .btn-light,
    .btn-outline-light {
        background-color: #334155;
        border-color: #475569;
        color: #e2e8f0;
    }

    .btn-light:hover {
        background-color: #475569;
        color: #f1f5f9;
    }

    .btn-close {
        filter: invert(1) grayscale(100%) brightness(200%);
    }

    /* ---- Etats desactives ---------------------------------------------------- */
    .disabled,
    :disabled {
        opacity: 0.55;
    }
}
