/* SIGADT-CI — tableaux de bord intégrés (communs aux deux habillages) */
.conteneur-large{width:min(1440px,100% - 32px);margin-inline:auto}
.tdb{font-size:16px;--tdb-accent:#F77F00;--tdb-accent-fonce:#C96400;--tdb-encre:#0F2A3F;--tdb-doux:#5F6E7D;--tdb-bord:#E3E7E1;--tdb-fond:#fff;--tdb-clair:#FFF6EC;--tdb-rayon:14px;
  display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start;margin:8px 0 32px}
.tdb-classique{font-size:15px;--tdb-accent:#ff9800;--tdb-accent-fonce:#e65100;--tdb-rayon:4px;--tdb-clair:#fff3e0;margin-top:20px}
.tdb-introduction{max-width:900px;margin:0 0 18px;color:var(--tdb-doux,#5F6E7D)}
.tdb-panneau,.tdb-principal{background:var(--tdb-fond);border:1px solid var(--tdb-bord);border-radius:var(--tdb-rayon);box-shadow:0 1px 2px rgba(15,42,63,.05),0 6px 18px rgba(15,42,63,.06)}
.tdb-panneau{padding:16px;position:sticky;top:96px;max-height:calc(100vh - 112px);overflow:auto}
.tdb-classique .tdb-panneau{top:12px;max-height:calc(100vh - 24px)}
.tdb-bloc+.tdb-bloc{margin-top:18px;padding-top:16px;border-top:1px solid var(--tdb-bord)}
.tdb-etiquette{display:block;font-weight:700;font-size:.74em;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--tdb-accent-fonce);margin:0 0 10px}
.tdb-etiquette span{color:var(--tdb-doux);letter-spacing:0}
.tdb-indicateurs{display:flex;flex-direction:column;gap:6px}
.tdb-indic{display:block;width:100%;text-align:left;border:1px solid var(--tdb-bord);background:#fff;border-radius:calc(var(--tdb-rayon) - 4px);padding:9px 11px;font:inherit;font-size:.9em;line-height:1.35;color:var(--tdb-encre);cursor:pointer;transition:border-color .15s,background .15s}
.tdb-indic:hover{border-color:var(--tdb-accent)}
.tdb-indic.actif{background:var(--tdb-clair);border-color:var(--tdb-accent);box-shadow:inset 3px 0 0 var(--tdb-accent)}
.tdb-code{display:inline-block;font-size:.72em;font-weight:700;color:var(--tdb-accent-fonce);background:#fff;border:1px solid var(--tdb-bord);border-radius:20px;padding:0 7px;margin-right:6px;vertical-align:1px}
.tdb select,.tdb input[type=search]{width:100%;font:inherit;font-size:.92em;padding:8px 10px;border:1px solid var(--tdb-bord);border-radius:8px;background:#fff;color:var(--tdb-encre);height:auto}
.tdb-ligne{display:flex;gap:6px}
.tdb-effacer-territoire{flex:none;font:inherit;font-size:.8em;border:1px solid var(--tdb-bord);background:#fff;border-radius:8px;padding:0 10px;cursor:pointer;color:var(--tdb-encre)}
.tdb-effacer-territoire:hover{border-color:var(--tdb-accent)}
.tdb-territoires{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;max-height:260px;overflow:auto}
.tdb-territoire{font:inherit;font-size:.8em;border:1px solid var(--tdb-bord);background:#fff;border-radius:20px;padding:3px 10px;cursor:pointer;color:var(--tdb-encre)}
.tdb-territoire:hover{border-color:var(--tdb-accent)}
.tdb-territoire.actif{background:var(--tdb-accent);border-color:var(--tdb-accent);color:#fff}
.tdb-principal{padding:18px;min-width:0}
.tdb-entete{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
.tdb-entete h2{font-size:1.3em;margin:0;color:var(--tdb-encre)}
.tdb-sous-titre-indicateur{margin:4px 0 0;color:var(--tdb-doux);font-size:.92em;min-height:1.2em}
.tdb-actions{display:flex;gap:8px;flex-wrap:wrap}
.tdb-actions a{font-size:.85em;font-weight:600;padding:7px 12px;border-radius:8px;border:1px solid var(--tdb-bord);color:var(--tdb-encre);text-decoration:none;white-space:nowrap}
.tdb-actions a:hover{border-color:var(--tdb-accent);color:var(--tdb-accent-fonce)}
.tdb-zone-carte{position:relative;height:min(68vh,640px);min-height:420px;border-radius:calc(var(--tdb-rayon) - 4px);overflow:hidden;border:1px solid var(--tdb-bord);background:#eef2f4}
.tdb-carte{position:absolute;inset:0}
.tdb-chargement{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(255,255,255,.95);padding:12px 18px;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.12);font-size:.92em;color:var(--tdb-encre);max-width:80%;text-align:center;z-index:5}
.tdb-chargement[hidden]{display:none}
.tdb-legende-boite{position:absolute;left:12px;bottom:28px;z-index:4;background:rgba(255,255,255,.97);border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.15);max-width:300px;max-height:60%;overflow:auto}
.tdb-legende-boite summary{cursor:pointer;font-weight:700;font-size:.85em;padding:8px 12px;color:var(--tdb-encre)}
.tdb-legende .esri-legend{background:transparent;padding:0 4px 8px}
.tdb-legende .esri-legend__service{padding:0 8px}
.tdb-analyse{margin-top:16px;padding:14px 16px;border-radius:calc(var(--tdb-rayon) - 4px);background:var(--tdb-clair);border-left:4px solid var(--tdb-accent)}
.tdb-analyse h3{font-size:1em;margin:0 0 8px;color:var(--tdb-encre)}
.tdb-analyse-texte+.tdb-analyse-texte{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(0,0,0,.12)}
.tdb-analyse-texte p{margin:0 0 .6em}
.tdb-analyse-portee{font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--tdb-accent-fonce);margin-bottom:4px}
.tdb-vide{margin:0;color:var(--tdb-doux);font-style:italic}
.tdb-source{margin:12px 0 0;font-size:.8em;color:var(--tdb-doux)}
.tdb-noscript{padding:16px;background:#fff3cd;border-radius:8px}
@media (max-width:900px){
  .tdb{grid-template-columns:1fr}
  .tdb-panneau{position:static;max-height:none}
  .tdb-indicateurs{flex-direction:row;overflow-x:auto;padding-bottom:4px}
  .tdb-indic{min-width:220px}
  .tdb-zone-carte{height:60vh;min-height:340px}
  .tdb-legende-boite{max-width:220px}
}
.tdb-legende .esri-legend__service-label{display:none}
@media (min-width:901px){.tdb-indicateurs{max-height:340px;overflow:auto;padding-right:4px}}

/* Indicateurs non géographiques : chiffre clé, graphique, valeurs */
.tdb-zone-graphique{display:flex;flex-direction:column;gap:14px;transition:opacity .15s}
.tdb-zone-graphique.charge{opacity:.45}
.tdb-kpis{display:flex;flex-wrap:wrap;gap:10px}
.tdb-kpi{flex:1 1 220px;background:var(--tdb-clair);border-radius:calc(var(--tdb-rayon) - 4px);padding:12px 16px;display:flex;flex-direction:column;gap:2px;border-left:4px solid var(--tdb-accent)}
.tdb-kpi-lib{font-size:.78em;color:var(--tdb-doux);font-weight:600}
.tdb-kpi b{font-size:1.6em;color:var(--tdb-encre);line-height:1.2}
.tdb-kpi-evo{font-size:.8em;font-weight:600}
.tdb-kpi-evo.hausse{color:#00754A}
.tdb-kpi-evo.baisse{color:#B42318}
.tdb-graphe{position:relative;height:min(52vh,440px);min-height:300px;border:1px solid var(--tdb-bord);border-radius:calc(var(--tdb-rayon) - 4px);padding:12px;background:#fff}
.tdb-donnees{border:1px solid var(--tdb-bord);border-radius:calc(var(--tdb-rayon) - 4px);overflow:hidden}
.tdb-donnees-entete{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#FAFBF9;border-bottom:1px solid var(--tdb-bord)}
.tdb-donnees-entete h3{margin:0;font-size:.95em;color:var(--tdb-encre)}
.tdb-csv{font:inherit;font-size:.8em;font-weight:600;border:1px solid var(--tdb-bord);background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer;color:var(--tdb-encre)}
.tdb-csv:hover{border-color:var(--tdb-accent);color:var(--tdb-accent-fonce)}
.tdb-donnees-defil{overflow:auto;max-height:340px}
.tdb-table-donnees{width:100%;border-collapse:collapse;font-size:.85em}
.tdb-table-donnees th,.tdb-table-donnees td{padding:7px 12px;border-bottom:1px solid var(--tdb-bord);text-align:right;white-space:nowrap}
.tdb-table-donnees thead th{position:sticky;top:0;background:#fff;color:var(--tdb-doux);font-size:.85em;text-transform:uppercase;letter-spacing:.04em}
.tdb-table-donnees tbody th{text-align:left;font-weight:600;color:var(--tdb-encre);white-space:normal;min-width:180px}
.tdb-table-donnees tr.total th,.tdb-table-donnees tr.total td{background:var(--tdb-clair);font-weight:700}
.tdb-kpi-evo.stable{color:var(--tdb-doux)}
.tdb-types{display:inline-flex;gap:4px;align-self:flex-end;background:var(--tdb-clair);padding:4px;border-radius:10px}
.tdb-types[hidden]{display:none}
.tdb-types button{font:inherit;font-size:.8em;font-weight:600;border:0;background:transparent;color:var(--tdb-doux);padding:6px 12px;border-radius:7px;cursor:pointer}
.tdb-types button:hover{color:var(--tdb-encre)}
.tdb-types button.actif{background:#fff;color:var(--tdb-accent-fonce);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.tdb-graphe[hidden]{display:none}
.tdb-note-serie{margin:0;font-size:.8em;color:var(--tdb-doux)}
.tdb-note-serie:empty{display:none}
