/* ==================================================================
   tables-cncmr.css — apparence commune des tableaux de données
   ==================================================================

   CE QUE FAIT CE FICHIER
   ----------------------
   1. Des traits de séparation visibles entre les lignes. Bootstrap 5 dessine
      ceux de .table-bordered en #dee2e6, quasi invisible à l'écran : les
      tableaux paraissaient ne pas avoir de séparateurs du tout.
   2. Une couleur de survol nettement contrastée, pour suivre une ligne du
      regard sur les tableaux larges (la matrice des alertes fait 8 colonnes).

   OÙ IL EST CHARGÉ
   ----------------
   Dans les trois layouts du projet : _Layout.cshtml, _AdminLayout.cshtml et
   _SuperviseurLayout.cshtml. Toute vue passe par l'un des trois — celles qui
   ne déclarent pas de Layout retombent sur _Layout via _ViewStart.cshtml.
   Il n'y a donc RIEN à ajouter dans une vue pour qu'un nouveau tableau en
   bénéficie : il lui suffit de porter la classe .table, comme tous les
   tableaux existants.

   COMMENT CHANGER LA COULEUR DE SURVOL
   ------------------------------------
   Une seule règle à toucher, « 2. Survol des lignes » plus bas : la teinte y
   apparaît deux fois (background-color ET box-shadow), il faut modifier les
   deux — voir juste en dessous pourquoi.

   POURQUOI DES !important ET UN box-shadow
   ----------------------------------------
   Bootstrap 5 et DataTables ne peignent pas le fond des cellules avec
   background-color mais avec un box-shadow interne géant
   (inset 0 0 0 9999px), piloté par la variable --bs-table-accent-bg pour le
   zébrage de .table-striped. Un simple background-color sur :hover serait
   donc recouvert par ce box-shadow : la règle de survol écrase les deux
   propriétés. Et comme les feuilles DataTables sont chargées dans le corps
   des vues, donc APRÈS ce fichier, les !important sont le seul moyen fiable
   de passer devant. Vérifié : aucune autre feuille du projet ne pose de
   !important sur background-color / box-shadow / border des tableaux.

   ATTENTION
   ---------
   Les sélecteurs visent .table, pas table : les <table> sans classe — les
   info-bulles Highcharts par exemple — ne sont pas touchées. Si une vue a
   besoin d'un tableau au rendu différent, lui donner sa propre classe et une
   règle plus spécifique dans la vue plutôt que de retoucher ce fichier, qui
   s'applique partout.
   ================================================================== */

/* ---------- 1. Séparation des lignes ---------- */

/* Trait sous l'en-tête, plus marqué que le reste */
.table > thead > tr > th,
.table > thead > tr > td {
    border-bottom: 2px solid #8d95a1 !important;
}

/* Trait de séparation entre deux enregistrements */
.table > tbody > tr > td,
.table > tbody > tr > th {
    border-bottom: 1px solid #b4bcc7 !important;
}

/* Les tableaux .table-bordered gardent leurs séparateurs de colonnes, dans la
   même teinte que les séparateurs de lignes. Sans cette règle, les traits
   verticaux resteraient en #dee2e6 et paraîtraient délavés à côté des traits
   horizontaux redessinés au-dessus. */
.table-bordered,
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > th,
.table-bordered > tbody > tr > td {
    border-color: #b4bcc7 !important;
}


/* ---------- 2. Survol des lignes ---------- */

/* TEINTE DE SURVOL : #ffd9a0, orange clair repris de l'accent du menu
   d'administration (#db812e). À changer ? Les DEUX occurrences ci-dessous,
   background-color et box-shadow, doivent porter la même valeur.
   Le sélecteur cible tr:hover directement, et non .table-hover : les tableaux
   du projet ne portent pas cette classe et il n'y a donc rien à ajouter à
   leur balise. */
.table > tbody > tr:hover > td,
.table > tbody > tr:hover > th {
    background-color: #ffd9a0 !important;
    box-shadow: inset 0 0 0 9999px #ffd9a0 !important;
    color: #1a1a1a !important;
    transition: background-color .12s ease-in-out;
}

/* Liens et icônes d'action restent lisibles sur le fond de survol */
.table > tbody > tr:hover > td a:not(.btn),
.table > tbody > tr:hover > th a:not(.btn) {
    color: #7a3e00 !important;
}


/* ---------- 3. Exclusions ---------- */

/* Le calendrier de tempusdominus utilise lui aussi la classe .table : une grille
   de dates n'a pas à recevoir de traits de séparation ni le fond en box-shadow.
   On ne touche pas à background-color / color pour laisser intactes ses propres
   règles (td.active, td.today, ...).

   Précaution et non correctif : la bibliothèque est chargée par _Layout mais
   n'est instanciée sur aucun champ à ce jour — aucune vue n'appelle
   .datetimepicker(). Ces règles ne servent donc que le jour où un sélecteur de
   date sera réellement branché ; ne pas les retirer à ce motif. */
.bootstrap-datetimepicker-widget .table > thead > tr > th,
.bootstrap-datetimepicker-widget .table > thead > tr > td,
.bootstrap-datetimepicker-widget .table > tbody > tr > th,
.bootstrap-datetimepicker-widget .table > tbody > tr > td,
.bootstrap-datetimepicker-widget .table > tbody > tr:hover > th,
.bootstrap-datetimepicker-widget .table > tbody > tr:hover > td {
    border: 0 !important;
    box-shadow: none !important;
}
