/* ==========================================================================
   fiche.css — extrait de fiche.php le 03/08/2026.
   Charge a la place exacte qu'occupait le <style> : ces regles surclassent
   app.css et app-light.css parce qu'elles viennent APRES. Ne pas remonter
   ce <link> plus haut dans le <head>.
   ========================================================================== */
/* Reprise du design des « Stratégies » : thème bleu nuit + accent vert (remplace le thème sombre chaud). */
.app-body{ --bg:var(--bz-bg-soft); --bg-alt:var(--bz-bg-soft2); --surface:var(--bz-surface); --surface-2:var(--bz-bg-soft3);
  --border:rgba(var(--bz-ink-rgb),.09); --border-strong:rgba(var(--bz-ink-rgb),.16);
  --accent:var(--bz-blue-vif); --accent-2:var(--bz-blue-vif); --lime:var(--bz-blue-vif); --text:var(--bz-text); --text-dim:var(--bz-text-2b);
  background:var(--bz-bg-soft); color:var(--bz-text); }

.appnav{ display:flex; gap:6px; flex-wrap:wrap; max-width:1120px; margin:0 auto 6px; padding:0 20px; }
.appnav a{ padding:8px 16px; border-radius:20px; font-size:.88rem; font-weight:600; text-decoration:none;
  color:var(--bz-text-2); border:1px solid rgba(var(--bz-ink-rgb),.12); background:rgba(var(--bz-ink-rgb),.03); transition:.15s ease; }
.appnav a:hover{ border-color:rgba(var(--bz-blue-vif-rgb),.4); color:var(--bz-text); }
.appnav a.on{ color:var(--bz-sur-accent); background:var(--accent); border-color:var(--accent); }

/* Formulaire d'ajout : mêmes surfaces/menus que les cartes « Stratégies ». */
.pfolio-pop select, .pfolio-pop input[type="text"]{ background:var(--bz-bg-soft2); border:1px solid rgba(var(--bz-ink-rgb),.14); color:var(--bz-text); }
.pfolio-pop select:focus, .pfolio-pop input:focus{ outline:none; border-color:var(--accent); }

/* ===== Charte des cartes appliquée à la fiche valeur (bandeau KPI + indicateurs + drapeau) ===== */
.ic-sub{ margin:4px 0 0; font-size:.9rem; color:var(--bz-text-3); }
.ic-badge{ padding:4px 12px; border-radius:20px; font-size:.78rem; font-weight:700; white-space:nowrap; align-self:center; }
.ic-badge.sig-high{ background:rgba(var(--bz-blue-vif-rgb),.14); color:var(--bz-blue); border:1px solid rgba(var(--bz-blue-vif-rgb),.35); }
.ic-badge.sig-solid{ background:rgba(var(--bz-blue-vif-rgb),.12); color:var(--bz-blue); border:1px solid rgba(var(--bz-blue-vif-rgb),.35); }
.ic-badge.sig-mid{ background:rgba(var(--bz-ink-rgb),.06); color:var(--bz-text-2); border:1px solid rgba(var(--bz-ink-rgb),.16); }
.ic-badge.sig-low{ background:rgba(var(--bz-amber-vif-rgb),.12); color:var(--bz-amber-4); border:1px solid rgba(var(--bz-amber-vif-rgb),.30); } /* #b45d00 tombait a 4,16 */
.ic-flag{ display:inline-block; width:15px; height:15px; border-radius:50%; clip-path:circle(50%); vertical-align:middle; position:relative; top:-1px;
  margin-right:3px; box-shadow:0 0 0 1px rgba(var(--bz-ink-rgb),.14); }
.ic-kpigrid{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(var(--bz-ink-rgb),.09); border-radius:14px;
  background:rgba(var(--bz-ink-rgb),.025); margin:16px 0; overflow:hidden; }
.ic-kcell{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:18px 6px 16px;
  border-left:1px solid rgba(var(--bz-ink-rgb),.08); min-width:0; text-align:center; }
.ic-kcell:first-child{ border-left:none; }
.ic-kcell b{ font-family:var(--ff-head); font-size:1.5rem; font-weight:800; color:var(--bz-text); white-space:nowrap; line-height:1; }
.ic-kcell b small{ font-size:.72rem; font-weight:600; color:var(--bz-text-3); }
.ic-kcell b .u{ font-size:.86rem; font-weight:700; opacity:.85; }
.ic-kcell b.up{ color:var(--bz-blue); }   /* --hl (#2f6bff) tombe a 4,04 : sous le seuil AA */ .ic-kcell b.down{ color:var(--bz-red); }
.ic-kcell b.st{ color:var(--bz-blue);   /* --hl tombe a 4,04 : sous le seuil AA */ font-size:1rem; letter-spacing:1px; }
.ic-kcell span{ font-size:.78rem; color:var(--bz-text-3); }
.ic-featrow{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(var(--bz-ink-rgb),.09); border-radius:14px;
  background:rgba(var(--bz-ink-rgb),.025); margin-bottom:16px; overflow:hidden; }
.ic-feat{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:14px 6px; min-width:0;
  border-left:1px solid rgba(var(--bz-ink-rgb),.08); text-align:center; }
.ic-feat:first-child{ border-left:none; }
.ic-fico{ flex:0 0 auto; width:26px; height:26px; color:var(--hl); }
.ic-fico svg{ width:100%; height:100%; display:block; }
.ic-ftxt{ display:flex; flex-direction:column; align-items:center; gap:2px; min-width:0; max-width:100%; }
.ic-ftxt em{ font-style:normal; font-size:.74rem; color:var(--bz-text-3); white-space:nowrap; }
.ic-ftxt b{ font-size:.95rem; font-weight:800; color:var(--bz-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.ic-ftxt b.lime{ color:var(--bz-blue); }  /* idem */
.fiche-head{ align-items:flex-start; }
@media (max-width:640px){ .ic-kcell b{ font-size:1.15rem; } .ic-ftxt b{ font-size:.85rem; } .ic-fico{ width:22px; height:22px; }
  .ic-kcell{ padding:14px 3px 12px; } .ic-feat{ padding:12px 3px; } }

/* ===== Lecture en cinq axes ===== */
.fiche-axes-intro{ max-width:760px; margin:30px auto 14px; text-align:center; font-size:.95rem; color:var(--bz-text-2b); }
.fiche-axe h2{ display:flex; align-items:center; gap:10px; }
.fx-n{ display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:26px; height:26px;
  border-radius:50%; font-size:.8rem; font-weight:800; color:var(--bz-sur-accent); background:var(--bz-blue); }

/* Cartes de lecture : la couleur traduit l'interpretation, jamais l'ampleur du chiffre. */
.fx-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; margin-top:14px; }
.fx-card{ padding:14px 16px; border-radius:12px; border:1px solid rgba(var(--bz-ink-rgb),.10);
  background:rgba(var(--bz-ink-rgb),.025); border-left:3px solid var(--bz-text-5); }
.fx-card em{ display:block; font-style:normal; font-size:.78rem; font-weight:600; color:var(--bz-text-3); }
.fx-card b{ display:block; margin:5px 0 6px; font-family:var(--ff-head); font-size:1.45rem; font-weight:800;
  color:var(--bz-text); line-height:1.15; }
.fx-card b i{ display:block; font-style:normal; font-size:.72rem; font-weight:600; color:var(--bz-text-3); margin-top:2px; }
.fx-card span{ display:block; font-size:.82rem; line-height:1.5; color:var(--bz-text-2); }
.fx-card.fx-ok{ border-left-color:var(--bz-green); background:rgba(var(--bz-green-rgb),.05); }
.fx-card.fx-mid{ border-left-color:var(--bz-blue); background:rgba(var(--bz-blue-rgb),.045); }
.fx-card.fx-warn{ border-left-color:var(--bz-amber-2); background:rgba(var(--bz-amber-2-rgb),.055); }

/* Chiffre d'affaires par exercice */
.fx-bars{ display:flex; align-items:flex-end; gap:10px; margin:16px 0 6px; }
.fx-bar{ flex:1 1 0; display:flex; flex-direction:column; align-items:center; gap:5px; min-width:0; }
.fx-bar-v{ font-size:.74rem; font-weight:700; color:var(--bz-text-2); white-space:nowrap; }
.fx-bar-t{ display:flex; align-items:flex-end; width:100%; height:104px; }
.fx-bar-b{ display:block; width:100%; border-radius:6px 6px 0 0; background:linear-gradient(180deg,var(--bz-blue-3),var(--bz-blue)); }
.fx-bar-y{ font-size:.74rem; color:var(--bz-text-3); }
.fx-bars-leg{ margin:0; font-size:.78rem; color:var(--bz-text-3); }
.fx-caveat{ margin:14px 0 0; padding:11px 14px; border-radius:10px; font-size:.83rem; line-height:1.5;
  color:var(--bz-text-2); background:rgba(var(--bz-ink-rgb),.035); border:1px solid rgba(var(--bz-ink-rgb),.10); }

/* Evolution de la note */
.fx-note-big{ margin:6px 0 0; font-family:var(--ff-head); font-size:1.6rem; font-weight:800; color:var(--bz-text); }
.fx-note-big .fx-arrow{ color:var(--bz-text-3); margin:0 4px; } /* 2,56 auparavant : trop pale */
.fx-note-big em{ font-style:normal; font-size:.9rem; font-weight:700; margin-left:8px; padding:2px 9px; border-radius:20px;
  background:rgba(var(--bz-ink-rgb),.06); color:var(--bz-text-2); }
.fx-note-big.fx-ok em{ background:rgba(var(--bz-green-rgb),.12); color:var(--bz-green-fort); }
.fx-note-big.fx-warn em{ background:rgba(var(--bz-amber-2-rgb),.12); color:var(--bz-amber-4); }
.imp-soustitre{ margin:0; font-size:.86rem; font-weight:700; color:var(--bz-text-2); }
/* display:inline explicite : .fx-card span (le texte de lecture) est en block et
   s'appliquerait aussi a ce separateur, qui casserait alors la ligne du chiffre. */
/* En résumé : le premier bloc lu, il doit se distinguer sans crier. */
.fx-resume{ margin-top:16px; border-color:rgba(var(--bz-blue-rgb),.20); background:linear-gradient(180deg,var(--bz-bg-soft4),var(--bz-bg-soft5)); }
.fx-resume h2{ display:flex; align-items:center; gap:9px; }
.fx-resume-ico{ flex:0 0 auto; width:22px; height:22px; color:var(--bz-blue); }
.fx-resume-ico svg{ width:100%; height:100%; display:block; }
.fx-resume > p{ margin:8px 0 0; font-size:1rem; line-height:1.68; color:var(--bz-text-1d); }
.fx-resume-src{ margin:12px 0 0 !important; font-size:.78rem !important; line-height:1.5 !important; color:var(--bz-text-3) !important; }

/* Sous-titre à l'intérieur d'un axe, et tableau des baisses passées. */
.fx-sous{ margin:22px 0 0; display:flex; align-items:center; gap:8px;
  font-family:var(--ff-head); font-size:1rem; font-weight:700; color:var(--bz-text); }
.fx-tab-wrap{ overflow-x:auto; margin-top:10px; }
.fx-tab{ width:100%; border-collapse:collapse; font-size:.86rem; }
.fx-tab th, .fx-tab td{ padding:9px 11px; text-align:left; border-top:1px solid rgba(var(--bz-ink-rgb),.08); vertical-align:top; }
.fx-tab thead th{ border-top:none; font-size:.74rem; font-weight:700; color:var(--bz-text-3);
  text-transform:uppercase; letter-spacing:.03em; white-space:nowrap; }
.fx-tab td.chiffre{ text-align:right; font-weight:700; color:var(--bz-text); white-space:nowrap; }
.fx-tab td em{ font-style:normal; font-size:.76rem; color:var(--bz-text-3); white-space:nowrap; }
.fx-tab td.lecture{ color:var(--bz-text-2); line-height:1.45; min-width:210px; }
.fx-tab tr.seule td.chiffre:first-of-type{ color:var(--bz-amber-4); }
.fx-tab tbody tr.seule{ background:rgba(var(--bz-amber-vif-rgb),.05); }
/* Circonstances d'une baisse, depliables sous chaque ligne. */
.fx-tab tr.circ td{ padding:0 11px 10px; border-top:none; }
.fx-tab tr.circ summary{ cursor:pointer; font-size:.8rem; font-weight:600; color:var(--bz-blue); padding:2px 0; }
.fx-tab tr.circ summary:hover{ text-decoration:underline; }
.fx-tab tr.circ ul{ list-style:none; margin:8px 0 0; padding:0; display:flex; flex-direction:column; gap:6px; }
.fx-tab tr.circ li{ padding:8px 11px; border-radius:9px; font-size:.83rem; line-height:1.5; color:var(--bz-text-2);
  background:rgba(var(--bz-ink-rgb),.03); border-left:3px solid var(--bz-text-5); }
.fx-tab tr.circ li.fx-mid{ border-left-color:var(--bz-blue); }
.fx-tab tr.circ li.fx-warn{ border-left-color:var(--bz-amber-4); background:rgba(var(--bz-amber-vif-rgb),.055); }
.fx-tab tr.circ .verdict{ margin:9px 0 0; padding:9px 11px; border-radius:9px; font-size:.85rem;
  line-height:1.5; font-weight:600; color:var(--bz-text); background:rgba(var(--bz-blue-rgb),.06); }
.fx-tab tr.circ .verdict.fx-warn{ background:rgba(var(--bz-amber-vif-rgb),.09); color:var(--bz-text-1c); }

/* Synthese d'axe : c'est la lecture d'ensemble, elle doit passer avant les cartes. */
.fx-syn{ margin:10px 0 2px; padding:13px 16px; border-radius:11px; font-size:.92rem; line-height:1.6;
  color:var(--bz-text); background:linear-gradient(180deg,rgba(var(--bz-blue-rgb),.055),rgba(var(--bz-blue-rgb),.03));
  border:1px solid rgba(var(--bz-blue-rgb),.16); border-left:3px solid var(--bz-blue); }
.fx-card b .fx-sep{ display:inline; color:var(--bz-text-3); font-weight:600; margin:0 2px; }

/* ---- Reaction du cours aux publications ---- */
.rc{ margin:22px 0 0; padding:18px 20px 16px; border-radius:14px;
  border:1px solid rgba(var(--bz-ink-rgb),.10); background:var(--bz-surface); }
.rc-t{ margin:0 0 10px; font-family:var(--ff-head); font-size:1rem; font-weight:800; color:var(--bz-text); }
.rc-cle{ margin:0 0 16px; padding:12px 15px; border-radius:10px;
  background:rgba(var(--bz-amber-2-rgb),.055); border:1px solid rgba(var(--bz-amber-2-rgb),.22);
  font-size:.86rem; line-height:1.6; color:var(--bz-text-2); }
.rc-cle b{ color:var(--bz-text); }
.rc-liste{ display:flex; flex-direction:column; gap:8px; }
.rc-r{ display:grid; grid-template-columns:minmax(150px,1fr) minmax(130px,1.3fr) 74px minmax(150px,1fr);
  gap:12px; align-items:center; padding:9px 12px; border-radius:10px;
  border:1px solid rgba(var(--bz-ink-rgb),.09); border-left:3px solid rgba(var(--bz-ink-rgb),.18); }
.rc-r.rc-haut{ border-left-color:var(--bz-green); background:rgba(var(--bz-green-rgb),.04); }
.rc-r.rc-bas{ border-left-color:var(--bz-red-2); background:rgba(176,48,48,.045); }
.rc-d b{ display:block; font-size:.86rem; font-weight:700; color:var(--bz-text); }
.rc-d i{ display:block; font-style:normal; font-size:.72rem; color:var(--bz-text-3); margin-top:1px; }
/* Piste de largeur connue : zero au centre, la reaction part a gauche ou a droite. */
.rc-p{ position:relative; height:18px; border-radius:5px; background:rgba(var(--bz-ink-rgb),.05); overflow:hidden; }
.rc-p .rc-zero{ position:absolute; left:50%; top:0; bottom:0; width:1px; background:rgba(var(--bz-ink-rgb),.24); }
.rc-p .rc-b{ position:absolute; top:4px; height:10px; border-radius:3px; background:var(--bz-text-3); }
.rc-haut .rc-p .rc-b{ background:var(--bz-green); }
.rc-bas .rc-p .rc-b{ background:var(--bz-red-2); }
.rc-v{ text-align:right; font-family:var(--ff-head); font-size:.95rem; font-weight:800; color:var(--bz-text); }
.rc-s{ font-size:.76rem; color:var(--bz-text-2); }
.rc-s span{ color:var(--bz-text-3); }
.rc-lec{ margin:14px 0 0; font-size:.85rem; line-height:1.6; color:var(--bz-text-2); }
.rc-lec b{ color:var(--bz-text); }
.rc-note{ margin:12px 0 0; padding-top:11px; border-top:1px solid rgba(var(--bz-ink-rgb),.08);
  font-size:.78rem; line-height:1.6; color:var(--bz-text-3); }
.rc-note b{ color:var(--bz-text-2); }
@media (max-width: 780px){
  .rc-r{ grid-template-columns:1fr 74px; grid-template-areas:'d v' 'p p' 's s'; }
  .rc-d{ grid-area:d; } .rc-v{ grid-area:v; } .rc-p{ grid-area:p; } .rc-s{ grid-area:s; }
}

/* ---- Series longues des comptes ---- */
.cp-intro{ margin:6px 0 14px; font-size:.84rem; line-height:1.6; color:var(--bz-text-2); }
.cp-intro b{ color:var(--bz-text); }
.cp-liste{ display:flex; flex-direction:column; gap:12px; }
.cp-r{ padding:13px 15px 11px; border-radius:12px; border:1px solid rgba(var(--bz-ink-rgb),.10);
  border-left:3px solid var(--bz-blue); background:rgba(var(--bz-ink-rgb),.015); }
.cp-r.cp-ok{ border-left-color:var(--bz-green); background:rgba(var(--bz-green-rgb),.04); }
.cp-r.cp-mid{ border-left-color:var(--bz-blue); background:rgba(var(--bz-blue-rgb),.035); }
.cp-r.cp-warn{ border-left-color:var(--bz-amber-2); background:rgba(var(--bz-amber-2-rgb),.05); }
.cp-h b{ display:block; font-family:var(--ff-head); font-size:.95rem; font-weight:800; color:var(--bz-text); }
.cp-h i{ display:block; font-style:normal; font-size:.76rem; color:var(--bz-text-3); margin-top:1px; }
.cp-bars{ display:flex; gap:6px; align-items:flex-end; margin:12px 0 4px; }
.cp-c{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; gap:4px; }
.cp-v{ font-size:.72rem; font-weight:700; color:var(--bz-text-2); white-space:nowrap; }
.cp-last .cp-v{ color:var(--bz-text); }
/* Piste de hauteur fixe : une barre en height:N% n a de sens que contre une
   hauteur connue, et le zero doit pouvoir se placer ailleurs qu en bas. */
.cp-t{ position:relative; display:block; width:100%; height:56px;
  background:rgba(var(--bz-ink-rgb),.05); border-radius:4px; }
.cp-t .cp-zero{ position:absolute; left:0; right:0; height:1px; background:rgba(var(--bz-ink-rgb),.28); }
.cp-t .cp-b{ position:absolute; left:12%; right:12%; border-radius:3px; background:var(--bz-blue); }
.cp-ok .cp-t .cp-b{ background:var(--bz-green); }
.cp-warn .cp-t .cp-b{ background:var(--bz-amber-2); }
.cp-t .cp-b.cp-neg{ background:var(--bz-red-fort); }
.cp-last .cp-t .cp-b{ box-shadow:0 0 0 2px rgba(var(--bz-ink-rgb),.16); }
.cp-y{ font-size:.7rem; color:var(--bz-text-3); }
.cp-last .cp-y{ font-weight:700; color:var(--bz-text); }
.cp-lec{ margin:9px 0 0; font-size:.82rem; line-height:1.55; color:var(--bz-text-2); }
.cp-lec b{ color:var(--bz-text); }
.cp-note{ margin:13px 0 0; padding:11px 14px; border-radius:10px;
  background:rgba(var(--bz-amber-2-rgb),.05); border:1px solid rgba(var(--bz-amber-2-rgb),.20);
  font-size:.8rem; line-height:1.6; color:var(--bz-text-2); }
.cp-note b{ color:var(--bz-text); }
@media (max-width: 620px){
  .cp-v{ font-size:.62rem; }
  .cp-bars{ gap:3px; }
}

/* ---- Résultats face au consensus ---- */
.sr{ margin:22px 0 0; padding:18px 20px 16px; border-radius:14px;
  border:1px solid rgba(var(--bz-ink-rgb),.10); background:var(--bz-surface); }
.sr-t{ margin:0 0 10px; font-family:var(--ff-head); font-size:1rem; font-weight:800; color:var(--bz-text); }
.sr-norme{ margin:0 0 16px; padding:11px 14px; border-radius:10px;
  background:rgba(var(--bz-blue-rgb),.045); border:1px solid rgba(var(--bz-blue-rgb),.16);
  font-size:.86rem; line-height:1.6; color:var(--bz-text-1b); }
.sr-norme b{ color:var(--bz-text); }
.sr-liste{ display:flex; flex-direction:column; gap:9px; }
.sr-r{ display:grid; grid-template-columns:minmax(150px,1.05fr) minmax(160px,1.15fr) minmax(140px,1.5fr) 74px;
  gap:12px; align-items:center; padding:9px 12px; border-radius:10px;
  border:1px solid rgba(var(--bz-ink-rgb),.09); border-left:3px solid var(--bz-blue); background:rgba(var(--bz-ink-rgb),.015); }
.sr-r.sr-ok{ border-left-color:var(--bz-green); background:rgba(var(--bz-green-rgb),.045); }
.sr-r.sr-mid{ border-left-color:var(--bz-blue); background:rgba(var(--bz-blue-rgb),.035); }
.sr-r.sr-warn{ border-left-color:var(--bz-amber-2); background:rgba(var(--bz-amber-2-rgb),.05); }
.sr-d{ font-size:.83rem; color:var(--bz-text-2); }
.sr-d b{ display:block; font-weight:700; color:var(--bz-text); }
.sr-d i{ display:block; font-style:normal; font-size:.73rem; color:var(--bz-text-3); margin-top:1px; }
.sr-c{ font-size:.83rem; color:var(--bz-text-2); }
.sr-c b{ font-weight:700; color:var(--bz-text); }
.sr-c span{ font-size:.72rem; color:var(--bz-text-3); }
/* La piste : un conteneur pleine largeur contre lequel les pourcentages se
   resolvent. Une barre en width:N% posee dans un flex prendrait la largeur du
   flex, pas le pourcentage. */
.sr-p{ position:relative; height:20px; border-radius:5px; background:rgba(var(--bz-ink-rgb),.05); overflow:hidden; }
.sr-p .sr-zero{ position:absolute; left:50%; top:0; bottom:0; width:1px; background:rgba(var(--bz-ink-rgb),.22); }
.sr-p .sr-med{ position:absolute; top:0; bottom:0; width:2px; background:rgba(var(--bz-ink-rgb),.55);
  transform:translateX(-1px); }
.sr-p .sr-b{ position:absolute; top:4px; height:12px; border-radius:3px; background:var(--bz-blue); }
.sr-ok .sr-p .sr-b{ background:var(--bz-green); }
.sr-warn .sr-p .sr-b{ background:var(--bz-amber-2); }
.sr-v{ text-align:right; font-family:var(--ff-head); font-size:.95rem; font-weight:800; color:var(--bz-text); }
.sr-resume{ margin:14px 0 0; font-size:.86rem; line-height:1.6; color:var(--bz-text-1b); }
.sr-resume b{ color:var(--bz-text); }
.sr-note{ margin:12px 0 0; padding-top:11px; border-top:1px solid rgba(var(--bz-ink-rgb),.08);
  font-size:.78rem; line-height:1.6; color:var(--bz-text-3); }
.sr-note b{ color:var(--bz-text-2); }
@media (max-width: 720px){
  .sr-r{ grid-template-columns:1fr 74px; grid-template-areas:'d v' 'c c' 'p p'; }
  .sr-d{ grid-area:d; } .sr-v{ grid-area:v; } .sr-c{ grid-area:c; } .sr-p{ grid-area:p; }
}
@media (max-width:640px){ .fx-bars{ gap:5px; } .fx-bar-v{ display:none; } .fx-bar-t{ height:78px; }
  .fx-card b{ font-size:1.2rem; } }

.dnews-actions{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:8px; }
.dnews-sum{ font:inherit; font-size:.76rem; font-weight:700; cursor:pointer; padding:4px 11px; border-radius:20px;
  color:var(--bz-blue-2); background:rgba(var(--bz-blue-vif-rgb),.10); border:1px solid rgba(var(--bz-blue-vif-rgb),.35); transition:.15s ease; }
.dnews-sum:hover{ background:rgba(var(--bz-blue-vif-rgb),.20); }
.dnews-sum[disabled]{ opacity:.6; cursor:default; }
.dnews-src{ font-size:.76rem; font-weight:600; color:var(--bz-text-3); text-decoration:none; }
.dnews-src:hover{ color:var(--bz-blue-2); }
.dnews-src em{ font-style:normal; font-size:.66rem; font-weight:800; letter-spacing:.04em; padding:1px 5px; margin-left:3px;
  border-radius:4px; color:var(--bz-text-3); background:rgba(var(--bz-ink-rgb),.07); border:1px solid rgba(var(--bz-ink-rgb),.14); }
.dnews-summary{ display:block; margin-top:8px; padding:10px 13px; border-radius:10px; font-size:.86rem; line-height:1.55;
  color:var(--bz-text-1c); background:var(--bz-bg-soft); border:1px solid rgba(var(--bz-ink-rgb),.10); border-left:3px solid var(--bz-blue-vif); }
.dnews-summary .src{ display:block; margin-top:6px; font-size:.72rem; color:var(--bz-text-3); }
.dnews-imp{ font:inherit; font-size:.76rem; font-weight:700; cursor:pointer; padding:4px 11px; border-radius:20px;
  color:var(--bz-blue); background:rgba(var(--bz-violet-rgb),.10); border:1px solid rgba(var(--bz-violet-rgb),.38); transition:.15s ease; }
.dnews-imp:hover{ background:rgba(var(--bz-violet-rgb),.20); }
.dnews-imp[disabled]{ opacity:.6; cursor:default; }
.dnews-impact{ display:block; margin-top:8px; padding:10px 13px; border-radius:10px; font-size:.86rem; line-height:1.55;
  color:var(--bz-text-1c); background:var(--bz-bg-soft); border:1px solid rgba(var(--bz-violet-rgb),.20); border-left:3px solid var(--bz-violet-vif); }
.dnews-impact .src{ display:block; margin-top:6px; font-size:.72rem; color:var(--bz-text-3); }

/* Les memes plis que sur les pages d'ajout et de retrait. */
/* ==========================================================================
   LES PLIS — troisieme niveau de lecture.
   Poses au chargement par js/impact-plis.js. Sans JavaScript ces regles ne
   trouvent rien a styler, et la page reste celle d'avant : rien ne casse.
   ========================================================================== */
/* Les blocs replies gardent leur mise en forme, mais perdent leur ombre et leur
   fond : imbriquer deux cartes l'une dans l'autre brouille la hierarchie. */

/* --- Les reglages, replies au-dessus de la reponse. --- */

/* --- Un repere par ligne : le titre suffit a parcourir. --- */
.vd-pt > summary{ list-style:none; cursor:pointer; display:block; }
.vd-pt > summary::-webkit-details-marker{ display:none; }
.vd-pt > summary b{ cursor:pointer; }
.vd-pt > summary::after{ content:' +'; font-weight:700; color:var(--bz-text-4); }
.vd-pt[open] > summary::after{ content:' −'; }
.vd-pt > summary:focus-visible{ outline:2px solid var(--bz-blue-vif); outline-offset:2px; border-radius:6px; }
.vd-pt-corps > b{ display:none; }   /* le titre est deja dans le resume */

@media (max-width:640px){
  /* Cible tactile : 44 px. « Lire la suite » etait a 40. */
  .vd-pt > summary{ padding:4px 0; }
}

/* --- UN BLOC, UN PLI (les axes de la fiche valeur). Le <h2> est devenu le
   resume : il garde exactement son allure de titre, sinon la page perdrait
   ses reperes visuels. --- */
@media (max-width:640px){ .imp-pli > summary{ min-height:48px; } }

/* Mesure de lecture — jusqu'a 148 signes par ligne sur les mentions de source. */
.fx-resume-src, .sr-note, .rc-note, .cp-intro{ max-width:60ch; }

/* La fiche : le texte de lecture des cartes et le detail des lignes de tableau. */
.fx-card span, .fx-mid, .ic-sub{ max-width:58ch; }
.fx-tab tr.circ td li, .fx-tab tr.circ td p{ max-width:58ch; }

/* Mesure de lecture — le resume d'actualite, la lecture du bloc reactions, et
   le texte deplie d'une ligne de tableau (ecrit directement dans la cellule). */
.dnews-summary, .rc-lec, .sr-norme, .sr-resume{ max-width:58ch; }
/* « max-width » est ignore sur une cellule de tableau en disposition
   automatique : on borne ce qu'elle CONTIENT, pas la cellule. La ligne
   « circ » ne porte qu'un <details> deplie sur toute la largeur. */
.fx-tab tr.circ td > *{ max-width:58ch; }
.fx-tab tr.circ td li, .fx-tab tr.circ td p{ max-width:58ch; }

.rc-cle, .fx-syn, .fiche-news-title, .fiche-axes-intro{ max-width:58ch; }

@media (max-width:640px){
  .dnews-sum, .dnews-imp{ min-height:44px; display:inline-flex; align-items:center; }
}

@media (max-width:640px){
  .idee-tag{ min-height:44px; display:inline-flex; align-items:center; }
  .dnews-src{ min-height:44px; display:inline-flex; align-items:center; }
}
