/* Organigramme des agents (audit du 01/11/2026) : bandes horizontales, liens tracés pour l'agent choisi. */
:root { --l-supervision: #7C3AED; --l-instruction: #2563EB; --l-rapport: #16A34A; --l-alerte: #DC2626; --l-collaboration: #00AFC1; --l-sollicitation: #F59E0B; }
:root[data-theme="dark"] { --l-supervision: #A78BFA; --l-instruction: #60A5FA; --l-rapport: #4ADE80; --l-alerte: #F87171; --l-collaboration: #22D3EE; --l-sollicitation: #FBBF24; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --l-supervision: #A78BFA; --l-instruction: #60A5FA; --l-rapport: #4ADE80; --l-alerte: #F87171; --l-collaboration: #22D3EE; --l-sollicitation: #FBBF24; }
}
.orga-legende { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin-bottom: 12px; }
.orga-legende ul { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.orga-legende li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.orga-trait { display: inline-block; width: 28px; height: 0; border-top: 3px solid currentColor; vertical-align: middle; margin-right: 6px; flex: none; }
.orga-supervision { color: var(--l-supervision); stroke: var(--l-supervision); fill: var(--l-supervision); }
.orga-instruction { color: var(--l-instruction); stroke: var(--l-instruction); fill: var(--l-instruction); }
.orga-rapport { color: var(--l-rapport); stroke: var(--l-rapport); fill: var(--l-rapport); }
.orga-alerte { color: var(--l-alerte); stroke: var(--l-alerte); fill: var(--l-alerte); }
.orga-collaboration { color: var(--l-collaboration); stroke: var(--l-collaboration); fill: var(--l-collaboration); }
.orga-sollicitation { color: var(--l-sollicitation); stroke: var(--l-sollicitation); fill: var(--l-sollicitation); }
.orga-trait.orga-collaboration { border-top-style: dashed; }
.orga-trait.orga-alerte { border-top-style: dotted; border-top-width: 4px; }
.orga-plan { position: relative; display: flex; flex-direction: column; gap: 28px; margin-bottom: 12px; }
.orga-svg { position: absolute; inset: 0; width: 100%; pointer-events: none; overflow: visible; z-index: 0; }
.orga-svg path { fill: none; stroke-width: 2.5; opacity: .9; }
.orga-svg marker path { stroke: none; }
.orga-svg path.orga-collaboration { stroke-dasharray: 7 5; }
.orga-svg path.orga-alerte { stroke-dasharray: 2 5; stroke-linecap: round; stroke-width: 3; }
.orga-bande { position: relative; z-index: 1; }
.orga-bande-tete { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.orga-bande-tete h2 { font-size: 16px; }
.orga-noeuds { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.orga-noeud { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; width: 190px; min-height: 96px; padding: 12px; text-align: left;
  font: inherit; color: var(--texte); background: var(--carte); border: 1.5px solid var(--trait); border-radius: 14px; cursor: pointer; }
.orga-noeud b { font-size: 15px; }
.orga-noeud .statut { min-height: 26px; padding: 2px 10px; font-size: 12px; white-space: normal; }
.orga-noeud.orga-personne { background: var(--carte-2); border-style: dashed; }
.orga-noeud:hover, .orga-noeud:focus-visible { border-color: var(--bouton); outline: none; }
.orga-noeud[aria-pressed="true"] { border: 2.5px solid var(--bouton); box-shadow: 0 0 0 4px var(--clair-accent); }
.orga-noeud.orga-lie { border-color: var(--texte); }
/* atténuer le contenu, pas la carte : le fond reste opaque et cache les traits qui passent derrière */
.orga-plan:has([aria-pressed="true"]) .orga-noeud:not(.orga-lie):not([aria-pressed="true"]) > * { opacity: .4; }
.orga-circuits { overflow-x: auto; margin-top: 8px; }
.orga-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.orga-table th { background: var(--gris-fond); color: var(--doux); text-align: left; padding: 8px 10px; font-size: 13px; }
.orga-table td { padding: 8px 10px; border-bottom: 1px solid var(--trait); vertical-align: top; }
.orga-table .statut { min-height: 26px; padding: 2px 10px; font-size: 12px; }
.orga-reco ol { margin: 8px 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; }
@media (max-width: 760px) {
  .orga-noeud { width: calc(50% - 5px); min-height: 0; }
  .orga-table, .orga-table tbody, .orga-table tr, .orga-table td { display: block; width: 100%; }
  .orga-table thead { display: none; }
  .orga-table tr { border-bottom: 1px solid var(--trait); padding: 6px 0; }
  .orga-table td { border: 0; padding: 3px 0; }
  .orga-table td::before { content: attr(data-libelle) " : "; color: var(--doux); font-size: 12px; }
}
