/* ============================================================
   HRmaps Design System — INLINE-EXTRACTION UTILITIES
   ------------------------------------------------------------
   Additive. Loaded LAST (after ds-components.css).
   Home for token-based utility classes that replace hard-coded
   `style="color/background:..."` inline attributes (Phase 4).
   Each class only affects elements it is explicitly added to,
   so there is zero risk to un-migrated markup.
   Grows as Phase 4 progresses. Never edit existing stylesheets.
   ============================================================ */

/* Texte fort (remplace les `color:black`/`#000` inline) — suit le thème */
.ds-text-strong { color: var(--text-primary); }

/* Texte/icône d'erreur ou de danger (remplace les `color:red`/`#ff0000`
   inline). Sémantique FIXE : reste rouge même sous un thème client, et
   s'éclaircit correctement en sombre via --danger. */
.ds-text-danger { color: var(--danger); }
/* Texte/icone de REUSSITE. Le pendant de --danger et --warning, qui existaient
   tous les deux sans lui : un etat « fait » ne pouvait se dire qu avec une
   pastille pleine, donc plus fort qu il ne faut. Meme semantique fixe — le vert
   de reussite ne suit pas la couleur du client. */
.ds-text-success { color: var(--success); }

/* Fond en creux (remplace les `background-color:#f3f5f8`/`#f7f7f8` inline
   des fieldsets/en-têtes de section). Devient thémable en sombre. */
.ds-bg-sunken { background-color: var(--surface-sunken); }

/* Bordure basse assortie au fond en creux (en-têtes de v-pane « sans
   couture » : l'ancien inline mettait border-bottom-color = background). */
.ds-border-b-sunken { border-bottom-color: var(--surface-sunken); }

/* Panneau doux : fond en creux + ombre subtile (remplace les
   `background:#f3f5f8..; box-shadow:0 0 2px rgba(0,0,0,.16)` inline).
   Bascule correctement en sombre via --surface-sunken. */
.ds-panel-soft {
  background: var(--surface-sunken);
  box-shadow: var(--shadow-sm);
}

/* ------------------------------------------------------------
   Phase 4 — lots inline 2026-07-21 (texte)
   ------------------------------------------------------------ */

/* Texte secondaire discret (remplace `color:#bec2c9`/`#a2a9b2` inline). */
.ds-text-muted { color: var(--text-muted); }

/* Texte/icône d'avertissement (remplace les oranges `#FF9800`/`#eeac2b`
   inline). Suit --warning et s'adapte au sombre. */
.ds-text-warning { color: var(--warning); }

/* Icône de DOSSIER (documents) : sa couleur propre, pas celle d'un avertissement. */
.ds-text-folder { color: var(--folder); }

/* Texte/lien d'information (remplace `color:#018acc` inline). `!important`
   car certains inline d'origine étaient eux-mêmes `!important`. */
.ds-text-info { color: var(--info) !important; }

/* Texte/icône posé SUR une surface remplie/colorée (remplace `color:white`
   sur un fond dynamique). Blanc dans les deux thèmes via --on-primary. */
.ds-text-on-primary { color: var(--on-primary); }

/* Pastille de statut « écart / non couvert / non planifié » (remplace le
   corail `#F67167` inline sur les icônes fa-circle des listes de qualifs
   et compétences). Teinte d'origine conservée telle quelle (apparence
   inchangée) ; centralisée ici pour pouvoir la re-tokeniser d'un seul
   endroit (--danger ou --warning) si l'équipe le décide. */
.ds-text-gap { color: #F67167; }

/* Texte/icône d'accent (remplace l'indigo `#5253ee` inline — p.ex. le
   triangle « évaluation collaborateur », distinct du rouge « manager »). */
.ds-text-accent { color: var(--accent-violet); }

/* ------------------------------------------------------------
   Phase 4 — lots inline 2026-07-21 (fonds)
   ------------------------------------------------------------ */

/* Fond de surface neutre (remplace `background:#fff`/`#ffffff`/`#fbfbff`
   inline). Devient thémable en sombre. */
.ds-bg-surface { background-color: var(--surface); }

/* Fond neutre grisé / bouton désactivé-neutre (remplace `#b9cad6` inline
   posé sur des boutons volontairement neutralisés). */
.ds-bg-neutral { background-color: var(--border); }

/* Séparateur/filet fin (remplace `background:#c5d3d6` d'une barre 1px). */
.ds-bg-border { background-color: var(--border); }

/* Fond d'avertissement plein (remplace `background:#f0ad4e` inline). */
.ds-bg-warning { background-color: var(--warning); }

/* ------------------------------------------------------------
   Phase 4 — légende radar objectifs (CATÉGORIEL, pas sémantique).
   Teintes d'origine conservées : « précédent » vs « courant » ne sont
   PAS success/danger — ne pas aplatir vers les tokens de statut.
   ------------------------------------------------------------ */
.ds-legend-prev { background-color: #1dbba6; } /* objectif précédent (teal) */
.ds-legend-cur  { background-color: #d45151; } /* objectif courant (rouge)  */

/* ------------------------------------------------------------
   Phase 4 — lot inline 2026-09-17 (fiche Details collaborateur)
   ------------------------------------------------------------ */

/* Compteur d evenements d une fiche : l icone et son nombre. Remplace un
   `style="padding:2%"` — un POURCENTAGE, donc un retrait qui changeait avec la
   largeur du panneau (mesure : 7,09px dans une colonne de 354px). Le jeton le
   fige a 8px, quelle que soit la taille de la fenetre. Les deux
   `style="float:left"` qui l accompagnaient partent avec : l icone et le nombre
   sont deux elements en ligne, ils se suivent sans flottement — c est deja ce
   que `sitecss.css` impose a la variante sans RSE
   (`.rse-icon strong, .rse-icon svg { float: none !important }`). */
.ds-cal-count { padding: var(--space-2); }

/* Texte fort en graisse (remplace les `style="font-weight:bold"` inline). Passe
   par le jeton, donc une seule bascule si la graisse forte du systeme change. */
.ds-text-bold { font-weight: var(--weight-bold); }

/* Texte sur UNE ligne, abrege par « … » au bord de son conteneur (remplace `cut-name`, styleScss.scss).
   Le texte entier se donne en `title`. L element doit avoir une largeur bornee : dans une pile
   centree, `.stack.center > *` la borne (ds-components.css). */
.ds-text-truncate {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* Point d ancrage d un element surgissant (le calendrier d un selecteur de date dans une cellule de
   tableau) : remplace les `style="position:relative !important;"` inline. */
.ds-anchor { position: relative; }

/* Texte en italique (remplace les `style="font-style: italic"` inline). Aucun
   jeton ne porte l italique — c est une inflexion de ton, pas une couleur —
   mais l inline devait sortir du gabarit comme les autres (§10).

   POURQUOI PAS `.hint` : c etait mon premier choix, une note explicative sous
   un bloc de statut etant exactement son role. La mesure l a refuse — `.hint`
   peint en `--text-muted`, soit 3,85:1 sur fond blanc, quand la note heritait
   jusque-la de la couleur de son bloc a 12,63:1. Adopter la recette aurait
   DEGRADE la lisibilite. L italique reste, la couleur aussi. */
.ds-text-italic { font-style: italic; }
