/*
 * GanttStages (lib/GanttStages.php) : planning des stages par groupe, commun au site public et à KPI.
 * Couleurs du thème du site (tokens.css, clair / sombre) quand il est chargé, sinon valeurs claires de repli (pages KPI).
 */
.isfo-gantt {
    --g-encre: var(--ink, #1a2330); --g-discret: var(--ink-muted, #5b6474); --g-ligne: var(--line, #e3e6ec); --g-fond: var(--surface-200, #fff);
    --g-texte: var(--on-brand, #fff); --g-lien: var(--brand, #0058a0);
    --g-c1: var(--brand, #0058a0); --g-c2: var(--accent, #e3a21a); --g-c2-texte: var(--on-accent, #1a2330); --g-c3: var(--green, #007a45);
    --g-c4: var(--danger, #b3261e); --g-c5: var(--warning, #94500a); --g-c6: var(--info, #1c5ea6); --g-c0: var(--chain-gray, #8890a0);
    margin: 0 0 16px; color: var(--g-encre);
}
.isfo-gantt__legende { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: .875rem; color: var(--g-discret); margin-bottom: 12px; }
.isfo-gantt__legende span { display: inline-flex; align-items: center; gap: 6px; }
.isfo-gantt__legende abbr { text-decoration: none; cursor: help; color: var(--g-encre); font-weight: 600; }
.isfo-gantt__pastille { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.isfo-gantt__defile { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.isfo-gantt__corps { min-width: 640px; }
.isfo-gantt__axe { position: relative; height: 22px; margin-left: 96px; font-size: .75rem; color: var(--g-discret); border-bottom: 1px solid var(--g-ligne); }
.isfo-gantt__axe span { position: absolute; top: 2px; padding-left: 4px; white-space: nowrap; }
.isfo-gantt__ligne { display: flex; align-items: center; min-height: 32px; border-bottom: 1px solid var(--g-ligne); }
.isfo-gantt__ligne:last-child { border-bottom: 0; }
.isfo-gantt__groupe { position: sticky; left: 0; z-index: 3; background: var(--g-fond); align-self: stretch; display: flex; align-items: center; width: 96px; flex: none; font-weight: 700; font-size: .875rem; color: var(--g-encre); padding-right: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-sizing: border-box; }
.isfo-gantt__piste { position: relative; flex: 1; height: 32px; }
.isfo-gantt__mois { position: absolute; top: 0; bottom: 0; width: 1px; background: var(--g-ligne); }
.isfo-gantt__auj { position: absolute; top: -2px; bottom: -2px; width: 2px; background: var(--g-encre); opacity: .55; z-index: 2; }
.isfo-gantt__barre { position: absolute; top: 7px; height: 18px; border-radius: 5px; font-size: .6875rem; font-weight: 600; line-height: 18px; padding: 0 6px; color: var(--g-texte); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-sizing: border-box; z-index: 1; cursor: default; }
.isfo-gantt--c0 { background: var(--g-c0); color: #1a2330; }
.isfo-gantt--c1 { background: var(--g-c1); }
.isfo-gantt--c2 { background: var(--g-c2); color: var(--g-c2-texte); }
.isfo-gantt--c3 { background: var(--g-c3); }
.isfo-gantt--c4 { background: var(--g-c4); }
.isfo-gantt--c5 { background: var(--g-c5); }
.isfo-gantt--c6 { background: var(--g-c6); }
.isfo-gantt__liste { margin-top: 12px; font-size: .875rem; }
.isfo-gantt__liste summary { cursor: pointer; color: var(--g-lien); font-weight: 600; }
.isfo-gantt__liste ul { margin: 8px 0 0; padding-left: 1.2em; columns: 2 280px; }
.isfo-gantt__liste li { margin-bottom: 4px; break-inside: avoid; }
.isfo-gantt__meta { color: var(--g-discret); }
