/* Cockpit patrimonial — cartographie M1
   Palette sobre, lisible, pensée pour un usage de pilotage. */

:root {
  --fond: #f4f6f8;
  --carte: #ffffff;
  --bord: #d9dee4;
  --texte: #1c2430;
  --texte-doux: #5b6673;
  --accent: #1f6f78;          /* structures */
  --accent-clair: #e2f0f1;
  --personne: #3457a6;        /* personnes */
  --personne-clair: #e6ecf7;
  --confirmer: #b9770a;       /* à confirmer (ambre) */
  --confirmer-fond: #fdf3e2;
  --alerte: #b23b3b;          /* contrainte réglementaire (rouge) */
  --alerte-fond: #fbecec;
  --histo: #9aa4b0;           /* liens historiques */
  --ombre: 0 1px 3px rgba(20, 30, 45, .08), 0 4px 12px rgba(20, 30, 45, .05);
}

/* File de revue des qualifications issues du contenu indexé. */
.qualification-page{max-width:1080px;margin:0 auto;padding:40px 24px 72px}
.qualification-resume{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
.qualification-resume article{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid var(--bordure,#dfe3e8);border-radius:14px;background:#fff}
.qualification-resume strong{font-size:1.65rem}
.qualification-resume span{color:var(--texte-secondaire,#59636e)}
.qualification-filtres{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.qualification-filtres button{padding:10px 16px;border:1px solid var(--bordure,#cfd5dc);border-radius:999px;background:#fff;cursor:pointer}
.qualification-filtres button.actif{border-color:#214e45;background:#214e45;color:#fff}
.analyse-statut.prioritaire{background:#fff0c7;color:#714c00;border-color:#e7c56b}
.qualification-liste{display:grid;gap:12px;margin-top:16px}
.qualification-carte{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:center;padding:20px;border:1px solid var(--bordure,#dfe3e8);border-radius:14px;background:#fff}
.qualification-carte-tete{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.qualification-carte h2{font-size:1.05rem;margin:0 0 6px;overflow-wrap:anywhere}
.qualification-carte p{margin:0}
.qualification-carte .btn-primaire{grid-column:2;grid-row:1 / span 2;align-self:center}
.qualification-progression{color:var(--texte-secondaire,#59636e)}
.qualification-pages{display:flex;justify-content:center;align-items:center;gap:14px;margin:26px 0}
.ecremage-ia{margin:24px 0;padding:22px;border:1px solid #cbded9;border-radius:16px;background:linear-gradient(135deg,#f5fbf9,#fff)}
.ecremage-ia-tete{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.ecremage-ia h2{margin:3px 0 0;font-size:1.25rem}.ecremage-formulaire,.ecremage-resultat,.ecremage-progression{display:grid;gap:13px;margin-top:18px}.ecremage-estimation{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;padding:14px 16px;border-radius:11px;background:#fff;border:1px solid #dde8e5}.ecremage-estimation strong{font-size:1.08rem}.ecremage-estimation span{color:var(--texte-secondaire,#59636e)}.ecremage-options{display:flex;flex-wrap:wrap;align-items:end;gap:14px 24px}.ecremage-limite{display:grid;gap:5px;font-size:.82rem;font-weight:700}.ecremage-limite select,.ecremage-resultat input[type="text"]{box-sizing:border-box;padding:10px 12px;border:1px solid var(--bordure,#cfd5dc);border-radius:8px;background:#fff;font:inherit}.ecremage-consentement{padding:12px 14px;border-radius:9px;background:#fff8e8;border-left:4px solid var(--confirmer,#c88b17)}.ecremage-formulaire>.btn-primaire,.ecremage-resultat>.btn-primaire{justify-self:start}.ecremage-alerte{margin:14px 0 0;padding:12px 14px;border-radius:9px;background:#fff4df;color:#765100}.ecremage-succes{margin:0;color:#17663e;font-weight:750}.ecremage-progression progress{width:100%;height:12px}.ecremage-code{display:block;width:max-content;max-width:100%;padding:9px 12px;border-radius:8px;background:#182b2a;color:#fff;overflow-wrap:anywhere}.ecremage-resultat input[type="text"]{width:min(420px,100%)}
@media(max-width:760px){.qualification-resume{grid-template-columns:repeat(2,minmax(0,1fr))}.qualification-carte{grid-template-columns:1fr}.qualification-carte .btn-primaire{grid-column:1;grid-row:auto}.qualification-carte-tete{flex-direction:column}}
@media(max-width:760px){.ecremage-ia{padding:17px}.ecremage-ia-tete{flex-direction:column}.ecremage-options{display:grid}.ecremage-formulaire>.btn-primaire,.ecremage-resultat>.btn-primaire{width:100%;justify-self:stretch}}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  height: 100%;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
  color: var(--texte);
  background: var(--fond);
}

body { display: flex; flex-direction: column; height: 100vh; }

/* ---- En-tête ---- */
.entete {
  padding: 12px 20px;
  background: var(--carte);
  border-bottom: 1px solid var(--bord);
  display: flex;
  align-items: baseline;
  gap: 20px;
  flex-wrap: wrap;
}
.entete-titre { display: flex; align-items: baseline; gap: 12px; }
.entete h1 { font-size: 1.15rem; margin: 0; font-weight: 650; }
.module {
  font-size: .8rem; color: var(--accent);
  background: var(--accent-clair);
  padding: 2px 10px; border-radius: 999px; font-weight: 600;
}
.principe {
  margin: 0; font-size: .78rem; color: var(--texte-doux);
  max-width: 640px; line-height: 1.35;
}

/* ---- Disposition principale ---- */
.disposition { flex: 1; display: flex; min-height: 0; }

.zone-graphe {
  flex: 1; position: relative; min-width: 0;
  display: flex; flex-direction: column;
}
#graphe { flex: 1; width: 100%; height: 100%; display: block; cursor: grab; }
#graphe.drag { cursor: grabbing; }

.barre-outils {
  position: absolute; top: 10px; left: 10px; z-index: 5;
  display: flex; gap: 10px; align-items: center;
  background: rgba(255, 255, 255, .9);
  border: 1px solid var(--bord); border-radius: 8px;
  padding: 6px 10px; box-shadow: var(--ombre);
  font-size: .8rem;
}
.bascule { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.segmente { display: inline-flex; border: 1px solid var(--bord); border-radius: 7px; overflow: hidden; }
.segmente .seg {
  border: none; background: #fff; padding: 4px 12px; cursor: pointer;
  font-size: .8rem; color: var(--texte-doux); border-radius: 0;
}
.segmente .seg + .seg { border-left: 1px solid var(--bord); }
.segmente .seg.actif { background: var(--accent); color: #fff; font-weight: 600; }

/* ---- Vue tableau ---- */
.tableau-vue { flex: 1; overflow-y: auto; padding: 16px 18px 60px; background: var(--fond); }
.tableau-aide { font-size: .82rem; color: var(--texte-doux); margin: 0 0 14px; max-width: 720px; }
.cap-bloc {
  background: var(--carte); border: 1px solid var(--bord); border-radius: 10px;
  margin-bottom: 14px; box-shadow: var(--ombre); overflow: hidden;
}
.cap-titre {
  display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
  margin: 0; padding: 10px 14px; background: var(--accent-clair);
  border-bottom: 1px solid var(--bord); font-size: .95rem;
}
.cap-forme { color: var(--accent); font-weight: 600; font-size: .78rem; }
.cap-lien {
  border: none; background: none; padding: 0; cursor: pointer;
  color: var(--texte); font-weight: 650; font-size: 1em; text-align: left;
}
.cap-lien:hover { color: var(--accent); text-decoration: underline; }
.cap-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.cap-table th, .cap-table td { padding: 7px 14px; text-align: left; border-bottom: 1px solid var(--fond); }
.cap-table thead th { font-size: .74rem; text-transform: uppercase; letter-spacing: .03em; color: var(--texte-doux); font-weight: 600; }
.cap-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cap-table tbody tr:hover { background: #fafbfc; }
.cap-table .ligne-clos td { color: var(--histo); }
.cap-note { color: var(--confirmer); font-size: .78rem; padding-top: 0; }
.cap-vide { color: var(--texte-doux); font-style: italic; }
.tag-actif { color: #1e7a4d; font-size: .76rem; font-weight: 600; }
.tag-clos { color: var(--histo); font-size: .76rem; }
.cap-table tfoot td { padding: 8px 14px; font-weight: 700; border-top: 2px solid var(--bord); }
.cap-total-ok td { color: #1e7a4d; }
.cap-total-warn td { color: var(--confirmer); }
.cap-warn { font-weight: 500; font-size: .78rem; }
.barre-outils button {
  border: 1px solid var(--bord); background: #fff; border-radius: 6px;
  padding: 4px 10px; cursor: pointer; font-size: .8rem;
}
.barre-outils button:hover { background: var(--fond); }

.legende {
  position: absolute; bottom: 10px; left: 10px; z-index: 5;
  display: flex; gap: 14px; flex-wrap: wrap;
  background: rgba(255, 255, 255, .9);
  border: 1px solid var(--bord); border-radius: 8px;
  padding: 6px 12px; font-size: .74rem; color: var(--texte-doux);
  box-shadow: var(--ombre);
}
.lg { display: flex; align-items: center; gap: 6px; }
.pastille { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.pastille.pers { background: var(--personne); }
.pastille.struct { background: var(--accent); border-radius: 3px; }
.trait { width: 22px; height: 0; display: inline-block; border-top-width: 2px; border-top-style: solid; }
.trait.plein { border-color: var(--accent); }
.trait.confirmer { border-color: var(--confirmer); border-top-style: dashed; }
.trait.histo { border-color: var(--histo); border-top-style: dashed; }

/* ---- SVG graphe ---- */
.arete { fill: none; stroke: var(--accent); stroke-width: 1.6; }
.arete.confirmer { stroke: var(--confirmer); stroke-dasharray: 6 4; }
.arete.histo { stroke: var(--histo); stroke-dasharray: 4 4; stroke-width: 1.3; opacity: .8; }
.arete-label {
  font-size: 11px; fill: var(--texte-doux);
  paint-order: stroke; stroke: var(--fond); stroke-width: 3px;
}
.arete-label.confirmer { fill: var(--confirmer); font-weight: 600; }

.noeud { cursor: pointer; }
.noeud .forme { stroke-width: 1.5; }
.noeud.personne .forme { fill: var(--personne-clair); stroke: var(--personne); }
.noeud.structure .forme { fill: var(--accent-clair); stroke: var(--accent); }
.noeud.selectionne .forme { stroke-width: 3; }
.noeud .titre { font-size: 12px; font-weight: 600; fill: var(--texte); }
.noeud .sous { font-size: 10px; fill: var(--texte-doux); }
.noeud .badge-confirmer { font-size: 10px; fill: var(--confirmer); font-weight: 700; }

/* ---- Panneau latéral ---- */
.panneau {
  width: 380px; flex-shrink: 0;
  background: var(--carte); border-left: 1px solid var(--bord);
  overflow-y: auto; padding: 16px;
  display: flex; flex-direction: column; gap: 18px;
}
.aide { color: var(--texte-doux); font-size: .85rem; font-style: italic; }

.fiche h2 { font-size: 1.05rem; margin: 0 0 2px; }
.fiche .forme-jur { color: var(--accent); font-weight: 600; font-size: .82rem; }
.champs { list-style: none; padding: 0; margin: 12px 0; }
.champs li { display: flex; gap: 8px; padding: 4px 0; border-bottom: 1px solid var(--fond); font-size: .84rem; }
.champs .k { color: var(--texte-doux); min-width: 130px; flex-shrink: 0; }
.champs .v { font-weight: 500; }

.puce-confirmer {
  display: inline-block; font-size: .7rem; font-weight: 700;
  color: var(--confirmer); background: var(--confirmer-fond);
  border: 1px solid #edd1a6; border-radius: 999px;
  padding: 1px 8px; margin-left: 6px; white-space: nowrap;
}

.fiche h3 { font-size: .82rem; text-transform: uppercase; letter-spacing: .04em;
  color: var(--texte-doux); margin: 16px 0 6px; }
.rel { list-style: none; padding: 0; margin: 0; }
.rel li { font-size: .84rem; padding: 5px 0; border-bottom: 1px solid var(--fond); }
.rel .pct { font-weight: 700; }
.rel .nat { color: var(--texte-doux); }
.rel .histo-tag { color: var(--histo); font-size: .76rem; }
.rel .note { display: block; color: var(--confirmer); font-size: .76rem; margin-top: 2px; }

/* ---- Exercices dans la fiche ---- */
.ex-aide { font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--texte-doux); font-size: .72rem; }
.ex-chart-wrap { margin: 4px 0 10px; }
.ex-chart { width: 100%; height: auto; display: block; }
.ex-chart .ex-ax { font-size: 9px; fill: var(--texte-doux); }
.ex-legende { display: flex; gap: 12px; flex-wrap: wrap; font-size: .72rem; color: var(--texte-doux); margin-top: 2px; }
.ex-leg { display: inline-flex; align-items: center; gap: 4px; }
.ex-leg i { width: 10px; height: 3px; border-radius: 2px; display: inline-block; }
.ex-scroll { overflow-x: auto; }
.ex-table { width: 100%; border-collapse: collapse; font-size: .78rem; }
.ex-table th { font-size: .68rem; text-transform: uppercase; letter-spacing: .02em; color: var(--texte-doux); font-weight: 600; padding: 4px 5px; text-align: left; border-bottom: 1px solid var(--bord); }
.ex-table td { padding: 4px 5px; border-bottom: 1px solid var(--fond); white-space: nowrap; }
.ex-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.ex-table td.neg { color: var(--alerte); }
.ex-table td.vide { color: var(--histo); }
.ex-table .q { color: var(--confirmer); font-weight: 700; margin-left: 1px; cursor: help; }
.src-ocr { font-size: .62rem; font-weight: 700; color: var(--confirmer); background: var(--confirmer-fond); border-radius: 3px; padding: 0 4px; }

.btn-retour {
  border: none; background: none; color: var(--accent); cursor: pointer;
  font-size: .82rem; padding: 0 0 8px; }

/* ---- Blocs d'alertes ---- */
.bloc-alertes { border-radius: 10px; padding: 12px 14px; }
#bloc-contraintes { background: var(--alerte-fond); border: 1px solid #eecaca; }
#bloc-points { background: var(--confirmer-fond); border: 1px solid #edd1a6; }
.bloc-alertes h2 { font-size: .95rem; margin: 0 0 2px; }
.bloc-alertes .sous-titre { font-size: .74rem; color: var(--texte-doux); margin: 0 0 10px; }

.item-alerte {
  background: #fff; border: 1px solid var(--bord); border-radius: 8px;
  padding: 9px 11px; margin-bottom: 8px; font-size: .82rem;
}
.item-alerte:last-child { margin-bottom: 0; }
.item-alerte .sujet { font-weight: 650; display: block; margin-bottom: 3px; }
.item-alerte .meta { font-size: .74rem; color: var(--texte-doux); }
.item-alerte .prio {
  display: inline-block; font-size: .68rem; font-weight: 700; text-transform: uppercase;
  border-radius: 4px; padding: 1px 6px; margin-right: 6px; letter-spacing: .03em;
}
.prio-haute { background: #f5d0d0; color: #8a2b2b; }
.prio-moyenne { background: #f6e4c2; color: #8a6209; }
.prio-basse { background: #e2e7ec; color: #55606c; }
.item-alerte details { margin-top: 5px; }
.item-alerte summary { cursor: pointer; color: var(--accent); font-size: .76rem; }
.item-alerte .detail-txt { font-size: .78rem; color: var(--texte); margin-top: 5px; line-height: 1.4; }
.item-alerte .statut { font-style: italic; color: var(--texte-doux); }

.nav-lien {
  font-size: .8rem; color: var(--accent); text-decoration: none;
  border: 1px solid var(--accent-clair); background: var(--accent-clair);
  padding: 3px 10px; border-radius: 999px; font-weight: 600;
}
.nav-lien:hover { text-decoration: underline; }
.nav-conseiller { background: #eef3fb; border-color: #d3e0f5; color: var(--personne); }

/* ---- Le Conseiller (M13) ---- */
.conseiller { flex: 1; display: flex; flex-direction: column; min-height: 0; max-width: 860px; width: 100%; margin: 0 auto; padding: 0 16px; }
.conseiller-etat { margin: 12px 0; padding: 12px 14px; background: var(--confirmer-fond); border: 1px solid #edd1a6; border-radius: 8px; font-size: .85rem; color: #8a6209; }
.conseiller-etat code { background: #fff; padding: 0 4px; border-radius: 3px; }
.fil { flex: 1; overflow-y: auto; padding: 16px 0; display: flex; flex-direction: column; gap: 12px; }
.msg { padding: 11px 15px; border-radius: 12px; font-size: .9rem; line-height: 1.5; max-width: 88%; }
.msg p { margin: 0 0 8px; } .msg p:last-child { margin-bottom: 0; }
.msg ul { margin: 6px 0; padding-left: 20px; }
.msg-user { align-self: flex-end; background: var(--personne); color: #fff; border-bottom-right-radius: 4px; }
.msg-user strong { color: #fff; }
.msg-conseiller { align-self: flex-start; background: var(--carte); border: 1px solid var(--bord); border-bottom-left-radius: 4px; box-shadow: var(--ombre); }
.conseiller-intro { align-self: stretch; max-width: none; background: var(--accent-clair); border: 1px solid #cfe6e8; }
.conseiller-intro .exemples { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; margin-top: 8px; }
.ex { text-align: left; background: #fff; border: 1px solid var(--bord); border-radius: 999px; padding: 5px 12px; font-size: .82rem; cursor: pointer; color: var(--accent); }
.ex:hover { background: var(--fond); }
.reflexion { color: var(--texte-doux); font-style: italic; }
.msg .err { color: var(--alerte); margin: 0; }
.msg-meta { margin-top: 8px; padding-top: 6px; border-top: 1px solid var(--fond); display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.msg-meta .sources { font-size: .72rem; color: var(--texte-doux); }
.msg-meta .modele { font-size: .68rem; color: var(--histo); background: var(--fond); border-radius: 4px; padding: 0 6px; margin-left: auto; }
.saisie { display: flex; gap: 8px; padding: 8px 0; }
.saisie textarea { flex: 1; resize: none; border: 1px solid var(--bord); border-radius: 10px; padding: 10px 12px; font: inherit; font-size: .9rem; }
.saisie textarea:focus { outline: 2px solid var(--accent-clair); border-color: var(--accent); }
.saisie button { border: none; background: var(--accent); color: #fff; border-radius: 10px; padding: 0 20px; font-weight: 600; cursor: pointer; }
.saisie button:disabled { background: #b7c2c4; cursor: not-allowed; }
.avert-conseiller { font-size: .74rem; color: var(--texte-doux); text-align: center; margin: 0 0 12px; }

/* ---- M2 — Journal de décisions ---- */
.journal-layout { flex: 1; display: flex; min-height: 0; }
.board-zone { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.journal-barre { display: flex; align-items: center; gap: 14px; padding: 12px 16px; }
.relance-info { font-size: .82rem; color: var(--confirmer); font-weight: 600; background: var(--confirmer-fond); border: 1px solid #edd1a6; border-radius: 999px; padding: 3px 12px; }
.board { flex: 1; display: flex; gap: 12px; overflow-x: auto; padding: 0 16px 16px; align-items: flex-start; }
.colonne { flex: 0 0 232px; background: var(--fond); border: 1px solid var(--bord); border-radius: 10px; max-height: 100%; display: flex; flex-direction: column; }
.colonne.terminal { opacity: .82; }
.colonne-tete { display: flex; justify-content: space-between; align-items: center; padding: 9px 12px; font-size: .8rem; font-weight: 650; color: var(--texte-doux); text-transform: uppercase; letter-spacing: .02em; border-bottom: 1px solid var(--bord); }
.colonne-tete .compte { background: #fff; border: 1px solid var(--bord); border-radius: 999px; padding: 0 8px; font-size: .74rem; color: var(--texte); }
.colonne-corps { padding: 8px; display: flex; flex-direction: column; gap: 8px; overflow-y: auto; }
.colonne-vide { color: var(--histo); font-size: .82rem; text-align: center; margin: 6px 0; }
.carte { background: var(--carte); border: 1px solid var(--bord); border-radius: 9px; padding: 9px 11px; box-shadow: var(--ombre); }
.carte.active { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-clair); }
.carte.a-relancer { border-left: 3px solid var(--confirmer); }
.carte-titre { font-size: .86rem; font-weight: 600; cursor: pointer; line-height: 1.3; }
.carte-titre:hover { color: var(--accent); }
.chips { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0; }
.chip { font-size: .68rem; background: var(--accent-clair); color: var(--accent); border-radius: 4px; padding: 1px 6px; }
.carte-pied { display: flex; align-items: center; gap: 6px; margin-top: 6px; flex-wrap: wrap; }
.carte-pied .age { font-size: .72rem; color: var(--texte-doux); }
.badge-relance { font-size: .68rem; color: var(--confirmer); font-weight: 700; }
.carte-statut { font-size: .72rem; border: 1px solid var(--bord); border-radius: 6px; padding: 2px 4px; margin-left: auto; background: #fff; max-width: 130px; }

.panneau-journal { width: 380px; flex-shrink: 0; background: var(--carte); border-left: 1px solid var(--bord); overflow-y: auto; padding: 16px; }
.panneau-journal h2 { font-size: 1.05rem; margin: 4px 0 10px; }
.panneau-journal h3 { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--texte-doux); margin: 16px 0 6px; }
.champ-lbl { display: block; font-size: .8rem; color: var(--texte-doux); margin-bottom: 12px; }
.champ-lbl input[type=text], .champ-lbl textarea, .champ-lbl select, .detail-statut select { width: 100%; margin-top: 4px; border: 1px solid var(--bord); border-radius: 8px; padding: 7px 9px; font: inherit; font-size: .86rem; color: var(--texte); }
.champ-lbl textarea, .note-box textarea { resize: vertical; }
.cases { display: flex; flex-direction: column; gap: 4px; margin-top: 5px; }
.case { display: flex; align-items: center; gap: 6px; font-size: .82rem; color: var(--texte); cursor: pointer; }
.form-actions { display: flex; gap: 8px; margin-top: 6px; }
.btn-secondaire { border: 1px solid var(--bord); background: #fff; border-radius: 8px; padding: 7px 14px; cursor: pointer; font-size: .84rem; }
.btn-secondaire:hover { background: var(--fond); }
.btn-lien { border: none; background: none; color: var(--accent); cursor: pointer; font-size: .82rem; padding: 10px 0 0; }
.detail-statut { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.detail-statut select { width: auto; }
.age-detail { font-size: .74rem; color: var(--texte-doux); }
.j-desc { font-size: .88rem; line-height: 1.45; white-space: pre-wrap; }
.note-box { display: flex; gap: 6px; align-items: flex-start; }
.note-box textarea { flex: 1; border: 1px solid var(--bord); border-radius: 8px; padding: 7px 9px; font: inherit; font-size: .84rem; }
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline li { font-size: .8rem; padding: 7px 0; border-bottom: 1px solid var(--fond); }
.timeline .evt-date { color: var(--histo); font-size: .72rem; margin-right: 6px; font-variant-numeric: tabular-nums; }
.timeline .evt-com { color: var(--texte-doux); font-size: .78rem; margin-top: 3px; }

@media (max-width: 880px) {
  .journal-layout { flex-direction: column; }
  .panneau-journal { width: auto; border-left: none; border-top: 1px solid var(--bord); }
}

/* ---- Enquêtes en lecture seule ---- */
.enquetes-page { flex: 1; overflow-y: auto; padding: 20px; max-width: 1100px; width: 100%; margin: 0 auto; }
.filtres { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 10px; margin-bottom: 16px; }
.filtres label { font-size: .76rem; color: var(--texte-doux); }
.filtres select { display: block; width: 100%; margin-top: 4px; padding: 7px; border: 1px solid var(--bord); border-radius: 7px; background: #fff; }
.enquetes-liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 14px; }
.documents-page .filtres, .depot form { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; margin:16px 0; }
.depot { padding:14px; border:1px solid #ccd3dc; border-radius:8px; background:#fff; }
.depot label { display:flex; flex-direction:column; gap:5px; }
.enquete-carte { display: block; color: var(--texte); text-decoration: none; background: var(--carte); border: 1px solid var(--bord); border-radius: 10px; padding: 14px; box-shadow: var(--ombre); }
.enquete-carte:hover { border-color: var(--accent); }
.enquete-carte-tete { display: flex; justify-content: space-between; gap: 8px; }
.enquete-id { color: var(--accent); font-size: .76rem; font-weight: 700; }
.enquete-carte h2 { font-size: 1rem; margin: 8px 0; }
.enquete-carte p { font-size: .82rem; }
.enquete-meta { display: flex; gap: 5px; flex-wrap: wrap; }
.enquete-compteurs, .enquete-date { color: var(--texte-doux); margin-bottom: 0; }
.enquete-entete h1 { font-size: 1.45rem; margin: 5px 0; }
.statut-visible { font-weight: 650; color: var(--accent); }
.enquete-avert { background: var(--confirmer-fond); border: 1px solid #edd1a6; padding: 12px 14px; border-radius: 8px; font-weight: 650; line-height: 1.45; }
.enquete-section { background: var(--carte); border: 1px solid var(--bord); border-radius: 10px; padding: 16px; margin: 14px 0; }
.enquete-section > h2 { font-size: 1rem; margin: 0 0 12px; }
.enquete-dl { display: grid; grid-template-columns: minmax(130px, 210px) 1fr; gap: 6px 14px; font-size: .84rem; }
.enquete-dl dt { color: var(--texte-doux); }.enquete-dl dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.exigence, .preuve, .journal-entree, .conclusion-factuelle { border: 1px solid var(--bord); border-radius: 8px; padding: 11px; margin: 9px 0; }
.exigence.ouverte { border-left: 4px solid var(--confirmer); }.exigence.satisfaite { border-left: 4px solid #1e7a4d; }
.exigence h3, .preuve h3, .journal-entree h3, .conclusion-factuelle h3 { font-size: .86rem; margin: 0 0 7px; }
.exigence p, .journal-entree p, .conclusion-factuelle p { font-size: .82rem; line-height: 1.45; }
.erreur { color: var(--alerte); font-weight: 650; }
@media (max-width: 760px) { .filtres { grid-template-columns: 1fr 1fr; } .enquete-dl { grid-template-columns: 1fr; } }

/* ---- Page d'import ---- */
.import-page {
  flex: 1; overflow-y: auto; padding: 20px; max-width: 1100px;
  width: 100%; margin: 0 auto;
}
.import-etape {
  background: var(--carte); border: 1px solid var(--bord); border-radius: 12px;
  padding: 18px 20px; margin-bottom: 18px; box-shadow: var(--ombre);
}
.import-etape h2 { font-size: 1rem; margin: 0 0 8px; }
.import-controls { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 10px; }
#select-fichier {
  padding: 7px 10px; border: 1px solid var(--bord); border-radius: 8px;
  font-size: .88rem; min-width: 280px; background: #fff;
}
.import-controls button, .btn-primaire {
  border: 1px solid var(--accent); background: var(--accent); color: #fff;
  border-radius: 8px; padding: 7px 16px; cursor: pointer; font-size: .88rem; font-weight: 600;
}
.import-controls button:hover, .btn-primaire:hover { filter: brightness(1.08); }
.btn-primaire:disabled { background: #b7c2c4; border-color: #b7c2c4; cursor: not-allowed; }

.import-msg { font-size: .84rem; margin: 10px 0 0; min-height: 1.1em; }
.import-msg.err { color: var(--alerte); font-weight: 600; }
.import-msg.ok { color: #1e7a4d; font-weight: 600; }
.import-msg.ok a { margin-left: 8px; }

.bloc-diff { border-radius: 8px; padding: 10px 12px; margin: 10px 0; font-size: .84rem; }
.bloc-erreurs { background: var(--alerte-fond); border: 1px solid #eecaca; color: #8a2b2b; }
.bloc-avert { background: var(--confirmer-fond); border: 1px solid #edd1a6; color: #8a6209; }
.bloc-diff ul { margin: 6px 0 0; padding-left: 18px; }

.diff-grille { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 12px; }
.diff-col { border: 1px solid var(--bord); border-radius: 10px; padding: 10px 12px; background: var(--fond); }
.diff-col h3 { font-size: .82rem; margin: 0 0 8px; text-transform: uppercase; letter-spacing: .03em; color: var(--texte-doux); }
.col-aide { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .72rem; color: var(--histo); }
.compte {
  display: inline-block; background: #fff; border: 1px solid var(--bord);
  border-radius: 999px; padding: 0 8px; font-size: .78rem; color: var(--texte); font-weight: 700;
}
.diff-liste { list-style: none; margin: 0; padding: 0; }
.diff-liste li { padding: 6px 0; border-bottom: 1px solid #e7ebef; font-size: .82rem; }
.diff-liste li:last-child { border-bottom: none; }
.diff-liste li.vide { color: var(--texte-doux); }
.fleche-mod { color: var(--confirmer); font-size: .78rem; }

.import-actions { margin-top: 16px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.aide-inline { font-size: .78rem; color: var(--texte-doux); }

@media (max-width: 880px) {
  .disposition { flex-direction: column; }
  .panneau { width: auto; border-left: none; border-top: 1px solid var(--bord); max-height: 45vh; }
  .zone-graphe { min-height: 55vh; }
  .diff-grille { grid-template-columns: 1fr; }
}
.workflow-form { display:grid; gap:.6rem; margin-top:1rem; padding:1rem; background:#f6f8fa; border-radius:.5rem; }
.workflow-form>*{min-width:0;max-width:100%;box-sizing:border-box}.workflow-form select,.workflow-form textarea,.workflow-form button { width:100%;font:inherit; padding:.55rem;box-sizing:border-box; }
.workflow-form textarea { min-height:5rem; }
.workflow-simple fieldset{display:grid;gap:.45rem;margin:0;padding:.75rem;border:1px solid var(--bord);border-radius:.45rem}.workflow-simple legend{padding:0 .3rem;font-weight:700;font-size:.86rem}.choix-radio,.choix-case{display:flex;align-items:flex-start;gap:.5rem;font-size:.84rem}.choix-radio input,.choix-case input{width:auto;margin-top:.15rem}.confirmation-historique{padding:.75rem;border-left:4px solid var(--confirmer);background:#fff8e8}.apercu-document{display:grid;gap:.65rem;margin:.75rem 0;min-width:0}.apercu-pdf{display:block;width:100%;box-sizing:border-box;height:min(72vh,760px);min-height:480px;border:1px solid var(--bord);border-radius:.4rem;background:#e9edf1}.qualification-avancee{margin-top:.75rem;color:var(--texte-doux)}.qualification-avancee summary{cursor:pointer;font-size:.8rem}.qualification-avancee .workflow-form{color:var(--texte)}
.parcours-documents{position:sticky;top:0;z-index:5;display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin:.8rem 0;padding:.75rem;background:var(--carte);border:1px solid var(--bord);border-radius:.55rem;box-shadow:var(--ombre)}.parcours-documents button,.parcours-documents select{font:inherit;padding:.45rem .6rem}.parcours-progression{margin-right:auto}.parcours-confirmation{flex-basis:100%;margin:0;padding:.45rem;color:#1e6842;background:#eaf7ef;border-radius:.35rem}.exigence-active{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}
@media(max-width:700px){.apercu-pdf{min-height:58vh}.workflow-form{padding:.75rem}}
.aujourdhui-page{width:min(1120px,100%);margin:0 auto;padding:24px}.aujourdhui-page section{margin-bottom:28px}.aujourdhui-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.action-carte,.compteur-carte,.activite-ligne{color:var(--texte);text-decoration:none;background:var(--carte);border:1px solid var(--bord);border-radius:10px;box-shadow:var(--ombre)}.action-carte{display:block;padding:14px}.action-carte:hover,.action-carte:focus-visible,.compteur-carte:hover,.compteur-carte:focus-visible,.activite-ligne:hover,.activite-ligne:focus-visible{border-color:var(--accent);outline:none}.action-categorie{color:var(--accent);font-size:.76rem;font-weight:700;text-transform:uppercase}.action-carte h3{margin:6px 0;font-size:1rem}.action-carte p{color:var(--texte-doux);font-size:.84rem}.action-lien{font-size:.82rem;font-weight:700}.aujourdhui-compteurs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.compteur-carte{display:flex;flex-direction:column;padding:14px;min-height:88px}.compteur-carte strong{font-size:1.7rem;color:var(--accent)}.compteur-carte span{font-size:.82rem}.aujourdhui-activite{display:grid;gap:8px}.activite-ligne{display:grid;grid-template-columns:minmax(180px,1fr) 2fr auto;gap:10px;padding:10px 12px;align-items:center;font-size:.82rem}.activite-ligne span,.activite-ligne time{color:var(--texte-doux)}.aujourdhui-acces{display:flex;flex-wrap:wrap;gap:10px}.aujourdhui-vide{padding:12px;border:1px dashed var(--bord);border-radius:8px}@media(max-width:700px){.aujourdhui-page{padding:16px}.activite-ligne{grid-template-columns:1fr}.aujourdhui-compteurs{grid-template-columns:repeat(2,1fr)}}
.matrice-page{width:min(1280px,100%)}.matrice-table-wrap{overflow-x:auto}.matrice-table{width:100%;border-collapse:collapse;background:var(--carte);border:1px solid var(--bord)}.matrice-table th,.matrice-table td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--bord)}.matrice-table th{font-size:.78rem;color:var(--texte-doux)}.matrice-table td small{display:block;margin-top:4px;color:var(--texte-doux)}.matrice-cartes{display:none}.matrice-carte{color:var(--texte);text-decoration:none}.matrice-carte h2{font-size:1rem}.matrice-carte p{margin:.35rem 0;color:var(--texte-doux)}@media(max-width:760px){.matrice-table-wrap{display:none}.matrice-cartes{display:grid;gap:10px}.matrice-page .filtres{display:grid;grid-template-columns:1fr 1fr}.matrice-page .filtres button{width:100%}}
.couverture-page{width:min(1320px,100%)}.couverture-page>section{margin-bottom:30px}.couverture-page h2{font-size:1.08rem;margin-bottom:10px}.couverture-signalements{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.couverture-signal{display:flex;gap:9px;align-items:center;border:1px solid var(--bord);border-radius:8px;padding:10px 12px;background:var(--carte);color:var(--texte-doux)}.couverture-signal strong{font-size:1.2rem}.couverture-signal.actif{border-color:#e0bf82;background:var(--confirmer-fond);color:var(--texte)}.couverture-structures{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}.couverture-structure,.couverture-item,.couverture-limite{border:1px solid var(--bord);border-radius:10px;background:var(--carte);box-shadow:var(--ombre);padding:14px}.couverture-structure-tete,.couverture-section-tete{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.couverture-structure h3,.couverture-item h3{font-size:.96rem;margin:0 0 8px}.couverture-total{color:var(--accent);white-space:nowrap}.couverture-meta{font-size:.78rem;color:var(--texte-doux);margin:5px 0}.couverture-types,.couverture-raisons{font-size:.78rem;padding-left:19px;line-height:1.5}.couverture-types{min-height:42px}.couverture-vide{color:var(--confirmer)}.couverture-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.couverture-item{display:block;color:var(--texte);text-decoration:none}.couverture-item:hover,.couverture-item:focus-visible{border-color:var(--accent);outline:none}.couverture-raisons{color:var(--confirmer)}.couverture-limite{background:var(--confirmer-fond);box-shadow:none}.couverture-limite p{line-height:1.55;margin-bottom:0}@media(max-width:700px){.couverture-section-tete,.couverture-structure-tete{display:grid}.couverture-page{padding:16px}.couverture-signalements{grid-template-columns:1fr 1fr}}
.document-page{max-width:1440px}.document-travail{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);gap:16px;align-items:start;margin:16px 0}.analyse-documentaire,.document-travail .apercu-document{margin:0;padding:16px;background:var(--carte);border:1px solid var(--bord);border-radius:10px;box-shadow:var(--ombre)}.analyse-entete{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.analyse-entete h2,.document-travail h2{margin:0 0 6px;font-size:1rem}.analyse-entete .aide{margin:0}.analyse-entete .btn-primaire{flex:0 0 auto}.analyse-etat{min-height:1.3em;margin:12px 0;color:var(--texte-doux);font-size:.84rem}.analyse-etat.succes{color:#1e6842;font-weight:650}.analyse-avert{padding:10px 12px;background:var(--confirmer-fond);border:1px solid #edd1a6;border-radius:7px;font-size:.82rem;font-weight:650}.analyse-resume{font-size:.82rem;color:var(--texte-doux)}.analyse-grille{display:grid;gap:9px}.analyse-champ{padding:11px;border:1px solid var(--bord);border-left:4px solid #1e7a4d;border-radius:8px;background:#fff}.analyse-champ.a-revoir{border-left-color:var(--confirmer);background:#fffdf7}.analyse-champ.non-extrait{border-left-color:var(--histo);background:var(--fond)}.analyse-champ-tete{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.analyse-champ h3{margin:0;font-size:.88rem}.analyse-statut{flex:0 0 auto;padding:2px 7px;border-radius:999px;font-size:.68rem;font-weight:700}.analyse-statut.proposition{color:#1e6842;background:#eaf7ef}.analyse-statut.revue{color:#865d00;background:var(--confirmer-fond)}.analyse-statut.absent{color:var(--texte-doux);background:#e9edf1}.analyse-valeur{margin:8px 0 4px;font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}.analyse-meta,.analyse-raison{margin:4px 0;color:var(--texte-doux);font-size:.74rem}.analyse-preuve{margin:8px 0;padding:8px 10px;border-left:3px solid var(--bord);background:var(--fond);font-size:.78rem;white-space:pre-wrap;overflow-wrap:anywhere}.analyse-champ .btn-secondaire{margin-top:6px}.analyse-controles{margin-top:12px;font-size:.8rem}.analyse-controles summary{cursor:pointer;font-weight:650}.analyse-controles ul{padding-left:20px}.controle-review{color:#865d00}.controle-failed{color:var(--alerte)}@media(max-width:980px){.document-travail{grid-template-columns:1fr}.analyse-documentaire{order:1}.document-travail .apercu-document{order:2}}@media(max-width:600px){.analyse-entete{display:grid}.analyse-entete .btn-primaire{width:100%}.document-travail{display:block}.document-travail .apercu-document{margin-top:14px}}
.document-entete{padding:18px;background:var(--carte);border:1px solid var(--bord);border-radius:10px;box-shadow:var(--ombre)}.document-entete-haut{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.document-entete h1{margin:0;font-size:1.45rem;overflow-wrap:anywhere}.document-type{margin:5px 0 0;color:var(--accent);font-weight:700}.document-integrite{flex:0 0 auto;padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:700}.document-integrite.valide{color:#17663e;background:#e1f4e8}.document-integrite.attention{color:#865d00;background:var(--confirmer-fond)}.document-meta-principale{display:flex;gap:8px 22px;flex-wrap:wrap;margin-top:12px}.document-meta-principale p{margin:0;font-size:.82rem}.document-dossiers{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid var(--fond);font-size:.8rem}.document-technique{margin-top:12px;color:var(--texte-doux);font-size:.78rem}.document-technique summary{cursor:pointer;font-weight:650}.document-technique-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:3px 16px;margin-top:9px;padding:10px;background:var(--fond);border-radius:7px}.document-technique-grille p{margin:2px 0;overflow-wrap:anywhere}.document-provenances{padding:14px 2px}.document-provenances h2{font-size:1rem}.document-provenances p{font-size:.82rem}.document-travail.sans-analyse{grid-template-columns:1fr}.document-travail.sans-analyse .analyse-indisponible{order:1;border-left:4px solid var(--accent)}.document-travail.sans-analyse .apercu-document{order:2}.document-travail.sans-analyse .apercu-pdf{height:min(82vh,900px)}.analyse-indisponible-message{margin:8px 0;font-size:.9rem;line-height:1.5;font-weight:650}@media(max-width:600px){.document-entete-haut{display:grid}.document-integrite{justify-self:start}.document-meta-principale{display:grid;gap:5px}.document-technique-grille{grid-template-columns:1fr}}
.revue-barre{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0;padding:9px;background:#fff;border:1px solid var(--bord);border-radius:8px;box-shadow:var(--ombre)}.revue-barre.revue-complete{border-color:#79bb98;background:#f3fbf6}.revue-progression{margin-right:auto;font-size:.82rem}.revue-barre select{padding:6px 8px;border:1px solid var(--bord);border-radius:6px;background:#fff}.revue-barre .btn-primaire{font-size:.78rem}.revue-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid var(--fond)}.revue-actions button{border-radius:7px;padding:6px 10px;font:inherit;font-size:.78rem;font-weight:650;cursor:pointer;background:#fff}.revue-actions button:disabled{opacity:.45;cursor:not-allowed}.decision-accepter{color:#17663e;border:1px solid #79bb98}.decision-corriger{color:#735200;border:1px solid #d9b55b}.decision-rejeter{color:#8a2b2b;border:1px solid #d99b9b}.revue-form{display:grid;gap:8px;margin-top:10px;padding:10px;background:var(--fond);border:1px solid var(--bord);border-radius:8px}.revue-form label{display:grid;gap:4px;font-size:.78rem;font-weight:650}.revue-form input,.revue-form textarea{width:100%;box-sizing:border-box;padding:7px;border:1px solid var(--bord);border-radius:6px;font:inherit}.revue-form-actions{display:flex;gap:7px;flex-wrap:wrap}.revue-erreur{min-height:1em;margin:0;color:var(--alerte);font-size:.76rem}.analyse-champ.decision-acceptee{border-left-color:#1e7a4d;background:#f5fbf7}.analyse-champ.decision-corrigee{border-left-color:#b38212;background:#fffaf0}.analyse-champ.decision-rejetee{border-left-color:#b44444;background:#fff6f6}.analyse-statut.decision.acceptee{color:#17663e;background:#ddf3e6}.analyse-statut.decision.corrigee{color:#735200;background:#f7e9bd}.analyse-statut.decision.rejetee{color:#8a2b2b;background:#f5dede}.decision-note{margin:9px 0 0;padding:7px 9px;border-radius:6px;background:#fff;font-size:.78rem;font-weight:650}.analyse-champ[hidden]{display:none}@media(max-width:600px){.revue-barre{align-items:stretch}.revue-barre>*{width:100%}.revue-actions{display:grid;grid-template-columns:1fr 1fr 1fr}.revue-actions button{padding:8px 5px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- Configuration locale des fournisseurs ---- */
.configuration-app{min-height:100vh;background:#eef2f5}.configuration-page{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:32px 0 56px}.configuration-intro{padding:24px 26px;background:#fff;border:1px solid #dce3e7;border-radius:15px;box-shadow:0 8px 26px rgba(30,53,64,.06)}.configuration-intro h1{margin:6px 0 10px;font-size:clamp(1.5rem,3vw,2.1rem)}.configuration-intro p{max-width:820px;margin:0;color:var(--texte-doux);line-height:1.55}.configuration-etat{margin:16px 0;padding:11px 14px;border:1px solid #cfe0e3;border-radius:9px;background:#f5fafb;color:#175f68;font-weight:650}.configuration-fournisseurs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.configuration-carte{display:flex;flex-direction:column;padding:18px;background:#fff;border:1px solid #dce3e7;border-radius:13px;box-shadow:0 7px 22px rgba(30,53,64,.05)}.configuration-carte-tete{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.configuration-carte h2{margin:0;font-size:1.1rem}.configuration-source{margin:5px 0 0;color:var(--texte-doux);font-size:.72rem}.configuration-badge{padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:750;white-space:nowrap}.configuration-badge.configure{color:#17663e;background:#e1f4e8}.configuration-badge.absent{color:#865d00;background:var(--confirmer-fond)}.configuration-confidentialite{min-height:4.8em;margin:16px 0 8px;color:var(--texte-doux);font-size:.79rem;line-height:1.5}.configuration-modele{margin:0 0 10px;padding:7px 9px;border-radius:7px;background:var(--fond);font-size:.72rem}.configuration-form{display:grid;gap:8px;margin-top:auto}.configuration-form label{display:grid;gap:5px;font-size:.78rem;font-weight:650}.configuration-form input{width:100%;box-sizing:border-box;padding:9px;border:1px solid var(--bord);border-radius:7px;font:inherit}.configuration-form .btn-primaire{padding:9px}.configuration-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.configuration-actions button{flex:1 1 130px}.configuration-retour{min-height:1.3em;margin:10px 0 0;font-size:.76rem}.configuration-retour.succes{color:#17663e;font-weight:650}.configuration-retour.erreur{color:#8a2b2b;font-weight:650}.configuration-suite{margin-top:16px;padding:20px 24px;border:1px solid #dce3e7;border-radius:13px;background:#fff}.configuration-suite h2{margin-top:0;font-size:1rem}.configuration-suite li{margin:7px 0;color:var(--texte-doux);font-size:.84rem}@media(max-width:900px){.configuration-fournisseurs{grid-template-columns:1fr}.configuration-confidentialite{min-height:0}}@media(max-width:600px){.configuration-page{width:calc(100% - 24px);padding-top:18px}.configuration-intro{padding:18px}.configuration-actions{display:grid}.configuration-actions button{width:100%}}

/* ---- Espace de travail documentaire V1.1 ---- */
.document-app{background:#eef2f5}
.document-topbar{flex:0 0 auto;background:#fff;border-bottom:1px solid #dce3e7;box-shadow:0 1px 0 rgba(23,43,54,.03)}
.document-topbar-interieur{width:min(1680px,calc(100% - 48px));min-height:66px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.document-marque{display:flex;align-items:center;gap:11px;color:var(--texte);text-decoration:none}
.document-marque-signe{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#17616a,#2b8790);color:#fff;font-weight:800}
.document-marque span:last-child{display:grid;line-height:1.15}.document-marque strong{font-size:.92rem}.document-marque small{margin-top:3px;color:var(--texte-doux);font-size:.7rem;font-weight:500}
.document-topbar nav{display:flex;align-items:center;gap:6px}.document-topbar nav a{padding:8px 11px;border-radius:8px;color:#36515a;text-decoration:none;font-size:.82rem;font-weight:650}.document-topbar nav a:hover,.document-topbar nav a:focus-visible{background:var(--accent-clair);outline:none}
.document-page{width:min(1680px,calc(100% - 48px));max-width:none;padding:24px 0 40px;overflow:visible}
.document-entete{padding:20px 22px;border-color:#dce3e7;border-radius:14px;box-shadow:0 8px 26px rgba(30,53,64,.06)}
.document-entete h1{max-width:1050px;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.02em}
.document-type{display:inline-flex;margin-top:9px;padding:4px 9px;border-radius:999px;background:var(--accent-clair);font-size:.75rem}
.document-integrite{display:inline-flex;align-items:center;gap:6px;padding:6px 10px}.document-integrite.valide:before{content:"✓";font-weight:900}
.document-meta-principale{gap:10px;margin-top:16px}.document-meta-principale p{padding:8px 11px;border:1px solid #e5eaed;border-radius:9px;background:#f8fafb;font-size:.8rem}.document-meta-principale strong{color:#52616a;font-size:.72rem;text-transform:uppercase;letter-spacing:.025em}
.document-dossiers{margin-top:15px;padding-top:14px}.document-technique{margin-top:14px;padding-top:2px}.document-technique summary{width:max-content;padding:6px 0;color:#53646d}
.document-etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:18px 0;padding:0 10px;background:#fff;border:1px solid #dce3e7;border-radius:13px;box-shadow:0 6px 20px rgba(30,53,64,.045)}
.document-etape{position:relative;display:flex;align-items:center;gap:11px;padding:13px 16px;color:#89949a}.document-etape:not(:last-child):after{content:"";position:absolute;right:0;top:18px;width:1px;height:34px;background:#e5eaed}
.document-etape-num{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border:1px solid #ccd5da;border-radius:50%;font-size:.76rem;font-weight:800}.document-etape-texte{display:grid;gap:2px}.document-etape strong{font-size:.84rem}.document-etape small{font-size:.7rem}
.document-etape.active{color:#175f68}.document-etape.active .document-etape-num{border-color:var(--accent);background:var(--accent);color:#fff}.document-etape.terminee{color:#39705b}.document-etape.terminee .document-etape-num{border-color:#79bb98;background:#e5f5eb;color:transparent}.document-etape.terminee .document-etape-num:after{content:"✓";color:#17663e}
.document-travail{grid-template-columns:minmax(560px,1.25fr) minmax(430px,.75fr);gap:18px;margin:0;align-items:start}
.document-travail .apercu-document,.analyse-documentaire{padding:0;overflow:hidden;border-color:#dce3e7;border-radius:14px;box-shadow:0 9px 28px rgba(30,53,64,.07)}
.document-travail .apercu-document{position:sticky;top:18px}
.analyse-documentaire{overflow:visible}
.apercu-entete,.analyse-entete{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid #e5eaed;background:#fff}.apercu-entete h2,.analyse-entete h2{margin:3px 0 0;font-size:1rem}.analyse-kicker{display:block;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.ouvrir-pdf{align-self:center;padding:8px 11px;border:1px solid #c9d8dc;border-radius:8px;color:#17616a;text-decoration:none;font-size:.76rem;font-weight:750;background:#f5fafb}.ouvrir-pdf:hover{background:var(--accent-clair)}
.document-travail .apercu-pdf{height:calc(100vh - 250px);min-height:620px;border:0;border-radius:0;background:#34383a}
.analyse-documentaire{background:#fff}.analyse-documentaire>.analyse-entete{padding:17px 18px}.analyse-entete .aide{max-width:440px;margin:7px 0 0;line-height:1.45;font-style:normal}.analyse-entete .btn-primaire{align-self:center;min-width:145px;padding:9px 14px}
.analyse-etat{margin:0;padding:12px 18px;min-height:0;border-bottom:1px solid #edf0f2;background:#f8fafb;line-height:1.4}.analyse-etat.en-cours{color:#175f68}.analyse-etat.attention{color:#765400;background:#fff8e8}.analyse-etat.erreur{color:#8a2b2b;background:#fff4f4}
.analyse-resultats{padding:0 18px 18px}.ocr-explication{margin:16px 0 0;padding:14px;border:1px solid #ebd397;border-radius:10px;background:#fffaf0;font-size:.86rem;line-height:1.45}.ocr-explication p{margin:7px 0}.ocr-explication .aide{margin-bottom:0;font-style:normal}
.analyse-avert{margin:16px 0 10px;line-height:1.45}.analyse-resume{margin:10px 0 13px}.analyse-grille{gap:10px}.analyse-champ{padding:13px;border-radius:10px}.analyse-valeur{font-size:1.12rem}.analyse-meta,.analyse-raison{font-size:.76rem;line-height:1.4}.analyse-preuve{border-radius:0 7px 7px 0;line-height:1.45}.revue-barre{top:18px;margin:10px 0;padding:10px}.analyse-champ.champ-actif{border-color:#d39a24;box-shadow:0 0 0 3px rgba(185,119,10,.14)}
.document-provenances{margin:18px 0 0;padding:0;border:1px solid #dce3e7;border-radius:11px;background:#fff;color:#52616a}.document-provenances summary{cursor:pointer;padding:12px 15px;font-size:.8rem;font-weight:700}.document-provenances-contenu{padding:0 15px 12px;border-top:1px solid #edf0f2}.document-provenances-contenu p{margin:10px 0 0;font-size:.8rem}
.analyse-documentaire.ocr-attente{border-color:#e2c16d}
.document-travail.sans-analyse{grid-template-columns:1fr}.document-travail.sans-analyse .apercu-document{order:1}.document-travail.sans-analyse .analyse-indisponible{order:2;padding:18px;border-left:0;border-top:4px solid var(--accent)}
@media(max-width:1120px){.document-travail{grid-template-columns:1fr}.document-travail .apercu-document{position:static;order:1}.analyse-documentaire{order:2}.document-travail .apercu-pdf{height:70vh;min-height:520px}}
@media(max-width:700px){.document-topbar-interieur,.document-page{width:calc(100% - 28px)}.document-topbar-interieur{min-height:58px}.document-marque small{display:none}.document-topbar nav a{padding:7px;font-size:.75rem}.document-entete{padding:16px}.document-entete-haut,.analyse-entete,.apercu-entete{display:grid}.document-etapes{grid-template-columns:1fr;padding:5px 12px}.document-etape{padding:9px 4px}.document-etape:not(:last-child):after{left:18px;right:auto;top:auto;bottom:-5px;width:1px;height:10px}.document-etape small{display:none}.document-travail .apercu-pdf{min-height:58vh}.analyse-entete .btn-primaire{width:100%}.analyse-resultats{padding:0 12px 12px}.revue-barre{position:static}}
.double-ia{max-width:1680px;margin:18px auto 0;padding:20px;background:#fff;border:1px solid #dce3e7;border-radius:14px;box-shadow:0 8px 26px rgba(30,53,64,.06)}
.double-ia-tete{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.double-ia-tete h2{margin:4px 0 7px}.double-ia-tete .aide{max-width:760px;margin:0;line-height:1.5}.double-ia-actions{display:flex;gap:8px;flex-wrap:wrap}.double-ia-resume{display:flex;gap:5px;flex-direction:column;padding:13px;border-radius:10px;margin-top:16px}.double-ia-resume.accord{background:#edf9f2;color:#135f3c}.double-ia-resume.attention{background:#fff7e5;color:#704900}.double-ia-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:10px}.double-ia-champ{padding:13px;border:1px solid var(--bord);border-radius:10px}.double-ia-champ.accord{border-left:4px solid #259760}.double-ia-champ.ecart{border-left:4px solid #d68b00;background:#fffcf5}.double-ia-champ h3{margin:8px 0}.double-ia-champ p{margin:5px 0}
@media(max-width:760px){.double-ia-tete{flex-direction:column}.double-ia-actions{width:100%}.double-ia-actions>*{flex:1}}
.configuration-apercu:empty{display:none}.configuration-apercu{margin-top:10px;padding:11px;border-radius:9px;background:var(--fond)}.configuration-apercu h3{margin:0 0 8px;font-size:.9rem}.qonto-comptes{display:grid;gap:6px}.qonto-compte{display:grid;gap:2px;padding:8px;background:#fff;border:1px solid var(--bord);border-radius:7px;font-size:.74rem}.qonto-compte span{color:var(--texte-doux)}

/* ---- Pré-audit automatique du corpus ---- */
.preaudit-app{min-height:100vh;background:#eef2f5}.preaudit-page{width:min(1220px,calc(100% - 40px));margin:0 auto;padding:30px 0 56px}.preaudit-page>section{margin-bottom:30px}.preaudit-page h1{margin:6px 0 10px;font-size:clamp(1.55rem,3vw,2.25rem)}.preaudit-page h2{margin:0 0 12px;font-size:1.15rem}.preaudit-intro{padding:24px 26px;background:#fff;border:1px solid #dce3e7;border-radius:15px;box-shadow:0 8px 26px rgba(30,53,64,.06)}.preaudit-intro>p{max-width:920px;line-height:1.55}.preaudit-progression{height:12px;margin-top:18px;overflow:hidden;border-radius:999px;background:#dfe7ea}.preaudit-progression span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#17616a,#3c9a78);transition:width .25s}.preaudit-section-tete{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.preaudit-badge,.preaudit-statut{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:.68rem;font-weight:750}.preaudit-badge{color:#17663e;background:#e1f4e8}.preaudit-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.preaudit-carte,.preaudit-alerte{position:relative;min-width:0;padding:15px;background:#fff;border:1px solid #dce3e7;border-radius:11px;box-shadow:0 6px 20px rgba(30,53,64,.05)}.preaudit-carte h3,.preaudit-alerte h4{margin:0 46px 8px 0;font-size:.92rem;overflow-wrap:anywhere}.preaudit-carte p,.preaudit-alerte p{margin:6px 0;font-size:.8rem;line-height:1.45;overflow-wrap:anywhere}.preaudit-carte small,.preaudit-alerte small{color:var(--texte-doux);font-size:.72rem;line-height:1.4;overflow-wrap:anywhere}.preaudit-carte-total{position:absolute;right:13px;top:13px;color:var(--accent);font-size:1.15rem;font-weight:800}.preaudit-carte.automatique{border-left:4px solid #2d8a5d}.preaudit-carte.lot{border-left:4px solid var(--accent)}.preaudit-carte.exception{border-left:4px solid var(--confirmer)}.preaudit-statut{margin-bottom:9px;color:#775300;background:var(--confirmer-fond)}.preaudit-meta{color:var(--texte-doux)}.preaudit-alertes-colonnes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.preaudit-alertes-colonnes h3{font-size:.9rem}.preaudit-liste{display:grid;gap:9px}.preaudit-alerte{box-shadow:none;background:#fffdf7;border-color:#ead9ad}.preaudit-filtre{display:grid;gap:5px;min-width:240px;color:var(--texte-doux);font-size:.74rem;font-weight:650}.preaudit-filtre select{padding:8px;border:1px solid var(--bord);border-radius:7px;background:#fff;font:inherit}.preaudit-vide{margin:0;padding:14px;border:1px dashed var(--bord);border-radius:9px;color:var(--texte-doux);font-size:.8rem}.preaudit-limite{padding:20px 22px;border:1px solid #ecd59c;border-radius:12px;background:var(--confirmer-fond)}.preaudit-limite p{line-height:1.55}.preaudit-zero{margin-bottom:0;color:#17663e;font-weight:700}@media(max-width:760px){.preaudit-page{width:calc(100% - 24px);padding-top:18px}.preaudit-intro{padding:18px}.preaudit-section-tete{display:grid}.preaudit-alertes-colonnes{grid-template-columns:1fr}.preaudit-filtre{min-width:0;width:100%}.preaudit-grille{grid-template-columns:1fr}}

/* ---- Complétude contre le référentiel sourcé ---- */
.manquants-app{min-height:100vh;background:#eef2f5}.manquants-page{width:min(1220px,calc(100% - 40px));margin:0 auto;padding:30px 0 56px}.manquants-page>section{margin-bottom:30px}.manquants-page h1{margin:6px 0 10px;font-size:clamp(1.55rem,3vw,2.25rem)}.manquants-page h2{margin:0 0 12px;font-size:1.15rem}.manquants-intro{padding:24px 26px;background:#fff;border:1px solid #dce3e7;border-radius:15px;box-shadow:0 8px 26px rgba(30,53,64,.06)}.manquants-intro p{max-width:960px;line-height:1.55}.manquants-section-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.manquants-filtres{display:flex;gap:8px;flex-wrap:wrap}.manquants-filtres label{display:grid;gap:4px;min-width:170px;color:var(--texte-doux);font-size:.7rem;font-weight:700}.manquants-filtres select{max-width:240px;padding:8px;border:1px solid var(--bord);border-radius:7px;background:#fff;font:inherit}.manquants-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.manquant-carte{min-width:0;padding:15px;background:#fff;border:1px solid #dce3e7;border-left:4px solid #83949a;border-radius:11px;box-shadow:0 6px 20px rgba(30,53,64,.05)}.manquant-carte.etat-manquant{border-left-color:#c85f45}.manquant-carte.etat-present_a_verifier{border-left-color:#d49a22}.manquant-carte.etat-present_confirme{border-left-color:#2d8a5d}.manquant-carte h3{margin:7px 0 10px;font-size:.94rem;overflow-wrap:anywhere}.manquant-carte p{margin:7px 0;font-size:.78rem;line-height:1.45;overflow-wrap:anywhere}.manquant-carte-tete{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.manquant-criticite{color:var(--texte-doux);font-size:.68rem;font-weight:700}.manquant-liens a,.manquant-sources a{color:var(--accent)}.manquant-sources{padding-top:8px;border-top:1px solid var(--bord)}@media(max-width:760px){.manquants-page{width:calc(100% - 24px);padding-top:18px}.manquants-intro{padding:18px}.manquants-section-tete{display:grid}.manquants-filtres{display:grid;grid-template-columns:1fr;width:100%}.manquants-filtres label,.manquants-filtres select{width:100%;max-width:none}.manquants-liste{grid-template-columns:1fr}}
