/* ============================================================================
 * dark-fixes.css — Finition dark mode (lot E), STRICTEMENT ADDITIF & DARK-ONLY
 * ----------------------------------------------------------------------------
 * But : éliminer les « îlots clairs » des CSS par-écran qui posent un fond
 * pastel / texte foncé EN DUR (hors système de tokens) sans variante sombre.
 *
 * RÈGLES :
 *  - Chargé EN DERNIER dans head.ejs → prime sur les CSS par-page.
 *  - 100 % des règles sont sous :root[data-theme="dark"]  → le mode CLAIR est
 *    mathématiquement INCHANGÉ (aucun fichier CSS existant n'est édité).
 *  - On ne touche QUE les propriétés de couleur (background / color /
 *    border-color), jamais la géométrie.
 *  - Valeurs alignées sur les tokens dark d'app.css. Pour les alertes de
 *    statut, on reprend la convention déjà établie dans app.css :
 *    fond = rgba(<couleur>, ~0.15) ; texte = teinte claire de la couleur ;
 *    bordure = couleur système. Cf. app.css .app-alert-error / .wiki-warn.
 *
 * Volontairement LAISSÉS clairs (documents « papier » imprimables) — NON
 * traités ici, ils DOIVENT rester blancs :
 *  - gestion-devis-detail.css  .devis-print  (aperçu devis A4, max-width:21cm)
 *  - gestion-lettre-restitution.css  #lettre-print  (lettre imprimable)
 *
 * Volontairement LAISSÉS colorés (visualisation/badges sémantiques, comme des
 * pastilles de statut) :
 *  - gestion-examen-blanc-grille.css  .eb-c-*/.eb-na/.eb-th  (échelle de
 *    notation rouge→vert ; couleurs porteuses de sens, conservées en dark).
 *  - legal-*.css  .legal-todo  (surligneur ambre expressif, < marqueur).
 * ========================================================================== */


/* === admin-monitor.css ====================================================
 * .mon-alert.warn / .mon-alert.error : encarts d'alerte avec fond pastel +
 * texte foncé en dur → îlots blancs en dark. On bascule sur la convention
 * tinte transparente + texte clair (même rendu que app.css .app-alert-error).
 * Les barres de progression .mon-bar (fond plein bleu/orange/rouge) restent
 * inchangées (couleurs pleines lisibles en dark). */
:root[data-theme="dark"] .mon-alert.warn {
  background: rgba(255, 159, 10, 0.16);
  border-color: rgba(255, 159, 10, 0.42);
  color: #fcd9b6;
}
:root[data-theme="dark"] .mon-alert.error {
  background: rgba(255, 69, 58, 0.16);
  border-color: rgba(255, 69, 58, 0.45);
  color: #fca5a5;
}


/* === enseignant-dashboard.css =============================================
 * Cartes / pastilles d'alerte avec fond pastel clair + texte foncé en dur.
 * Même convention tinte + texte clair. La barre de bordure (border-left-color)
 * porte la couleur de statut : on la garde, on n'ajuste que fond + texte. */
:root[data-theme="dark"] .mv-card-alert {
  background: rgba(217, 119, 6, 0.16);   /* #d97706 → tinte ambre */
}
:root[data-theme="dark"] .mv-alert-danger {
  background: rgba(220, 38, 38, 0.18);
  color: #fca5a5;
}
:root[data-theme="dark"] .mv-alert-warning {
  background: rgba(194, 65, 12, 0.18);
  color: #fdba74;
}


/* === admin-jobs.css =======================================================
 * Badges de statut : fond déjà en rgba (translucide, OK sur surface sombre),
 * mais le TEXTE est une teinte foncée (#b25e00 / #3a5882 / #1d7a37 / #c01a10)
 * → faible contraste sur fond sombre. On éclaircit uniquement la couleur du
 * texte (le fond rgba reste, cohérent clair/dark). .jobs-err idem. */
:root[data-theme="dark"] .badge-pending { color: #fdba74; }
:root[data-theme="dark"] .badge-running { color: #93b0d4; }
:root[data-theme="dark"] .badge-done    { color: #6ee7a0; }
:root[data-theme="dark"] .badge-failed  { color: #fca5a5; }
:root[data-theme="dark"] .jobs-err      { color: #fca5a5; }
/* Libellés d'état (ok/warn/bad) en texte plein sur la PAGE (pas sur encart) :
 * les teintes foncées passent mal sur surface sombre → versions claires. */
:root[data-theme="dark"] .mon-ok  { color: #6ee7a0; }
:root[data-theme="dark"] .mon-warn { color: #fdba74; }
:root[data-theme="dark"] .mon-bad { color: #fca5a5; }


/* === admin-integrations.css ===============================================
 * Listes d'état env : texte vert/ambre foncé sur la page → éclaircir en dark. */
:root[data-theme="dark"] .integration-env li.env-ok      { color: #6ee7a0; }
:root[data-theme="dark"] .integration-env li.env-missing { color: #fdba74; }


/* === screen-planning-gestion.css ==========================================
 * Valeur de gain de tournée : vert foncé #15803d, peu lisible en dark. Le fond
 * .pg-tournee-stat--gain est déjà en rgba (translucide, OK). */
:root[data-theme="dark"] .pg-tournee-stat--gain .pg-tournee-stat-val { color: #6ee7a0; }


/* === croissance.css =======================================================
 * Heatmap cohortes (.coh-hi/.coh-mid/.coh-lo) : texte foncé en dur sur fond rgba
 * → faible contraste en dark. On éclaircit UNIQUEMENT le texte (le fond rgba
 * translucide reste lisible). Convention identique aux autres badges de statut. */
:root[data-theme="dark"] .coh-hi  { color: #6ee7a0; }
:root[data-theme="dark"] .coh-mid { color: #fdba74; }
:root[data-theme="dark"] .coh-lo  { color: #fca5a5; }


/* === app.css — pastilles .app-badge-* =====================================
 * Fond pastel + texte foncé EN DUR, sans variante sombre, alors que ces classes
 * servent partout dans les vues : autant d'îlots clairs en thème sombre. On
 * reprend la convention maison (fond = teinte translucide, texte = teinte
 * claire), avec les valeurs déjà validées pour les pastilles du kit. */
:root[data-theme="dark"] .app-badge-success { background: rgba(48,209,88,0.20);   color: #5dde7f; }
:root[data-theme="dark"] .app-badge-info    { background: rgba(125,151,189,0.22); color: #9db3d3; }
:root[data-theme="dark"] .app-badge-warning { background: rgba(255,159,10,0.22);  color: #ffbe55; }
:root[data-theme="dark"] .app-badge-danger  { background: rgba(255,69,58,0.22);   color: #ff6961; }
:root[data-theme="dark"] .app-badge-neutral { background: var(--fill-primary);    color: var(--label-secondary); }
