/* =====================================================================
   DGPE — Synthèse exécutive 2025
   Charte relevée sur dgpe.gouv.ci (styles calculés, 19/10/2026) :
   - Typographie (choix DGPE) : Google Poppins pour les titres, Google Ubuntu pour le texte
   - Titres : Poppins 600/700 — bleu nuit #032E42 ou orange #EF750B
   - Sur-titres : Ubuntu 500, 17 px, vert #0C652E
   - Texte : Ubuntu 400, 15 px, interligne 27 px, gris #676767
   - Menu : Ubuntu 500, capitales, vert #2D824B / orange #D36A08 (actif)
   - Boutons : fond vert #0C652E, Ubuntu 500 15 px, 13 × 35 px, rayon 3 px
   - Barre haute : #252628, texte #BBBBBB 14 px · fonds gris #F5F5F5 · chiffres #407373
   - Accents : jaune #FFDE5B / #FFCA63
   ===================================================================== */
:root{
  --vert:#0C652E; --vert2:#2D824B; --vert-f:#084a21; --nuit:#032E42; --org:#D36A08; --org2:#EF750B;
  --jaune:#FFDE5B; --or:#FFCA63; --teal:#407373; --anth:#252628; --anth2:#1B1D26;
  --tx:#676767; --tx-f:#333333; --tx-c:#8a8a8a; --gris:#F5F5F5; --ligne:#E6E6E6; --ligne2:#D9D9D9;
  --neg:#C0392B; --pos:#0C652E;
  --ombre:0 0 30px rgba(0,0,0,.08); --ombre2:0 10px 35px rgba(3,46,66,.14);
  --ff-t:'Poppins','Segoe UI',Arial,sans-serif; --ff:'Ubuntu','Segoe UI',Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{font-family:var(--ff);font-size:15px;line-height:27px;color:var(--tx);background:#fff;-webkit-font-smoothing:antialiased}
a{color:var(--vert);text-decoration:none}
a:hover{color:var(--org)}
img{max-width:100%}
button{font-family:inherit}
.wrap{width:100%;max-width:none;margin:0 auto;padding:0 clamp(16px,3vw,56px)}
.skip{position:absolute;left:-999px;top:0;background:var(--vert);color:#fff;padding:8px 14px;z-index:300}
.skip:focus{left:10px}
:focus-visible{outline:2px solid var(--org2);outline-offset:2px}
.ic{width:15px;height:15px;fill:currentColor;flex:none;vertical-align:-2px}

/* ---------- barre supérieure ---------- */
.topbar{display:flex;min-height:40px;font-size:14px;line-height:40px;color:#BBBBBB;background:var(--anth)}
.tb-green{display:flex;align-items:center;gap:10px;padding:0 34px 0 20px;background:linear-gradient(90deg,var(--vert-f),var(--vert));color:#fff;
  clip-path:polygon(0 0,100% 0,calc(100% - 22px) 100%,0 100%);font-weight:500;white-space:nowrap}
.tb-green img{width:28px;height:auto;display:block}
.tb-dark{flex:1;display:flex;justify-content:space-between;gap:16px;padding:0 20px 0 14px;min-width:0}
.tb-min{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-ex{display:flex;align-items:center;gap:7px;color:#fff;white-space:nowrap}
.tb-ex .ic{fill:var(--or)}

/* ---------- en-tête ---------- */
.site-hd{position:sticky;top:0;z-index:80;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.07)}
.hd-in{display:flex;align-items:center;gap:18px;min-height:86px}
.brand{display:flex;align-items:center;gap:12px;color:var(--nuit)}
.brand img{width:132px;height:auto;display:block}
.brand-t{font-family:var(--ff);font-size:11.5px;line-height:15px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--nuit);border-left:1px solid var(--ligne2);padding-left:12px}
.menu{margin-left:auto;display:flex;align-items:center;flex-wrap:nowrap;justify-content:flex-end}
.menu a{position:relative;display:flex;align-items:center;gap:6px;padding:0 10px;line-height:86px;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.2px;color:var(--vert2);white-space:nowrap}
.menu a + a::before{content:'';position:absolute;left:0;top:50%;height:14px;margin-top:-7px;border-left:1px solid var(--ligne2)}
.menu a .ic{width:14px;height:14px}
.menu a:hover,.menu a.on{color:var(--org)}
.menu a.on::after{content:'';position:absolute;left:12px;right:12px;bottom:22px;height:2px;background:var(--org)}
.menu a.cta{margin-left:10px;line-height:40px;padding:0 18px;border-radius:3px;background:var(--vert);color:#fff}
.menu a.cta::before{display:none}
.menu a.cta:hover,.menu a.cta.on{background:var(--org);color:#fff}
.menu a.cta.on::after{display:none}
.burger{display:none;margin-left:auto;width:44px;height:40px;border:1px solid var(--ligne2);border-radius:3px;background:#fff;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.burger span{display:block;width:20px;height:2px;background:var(--vert)}

/* ---------- héros ---------- */
.hero{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.13) 1.5px,transparent 0) 0 0/22px 22px,linear-gradient(115deg,#063d1d 0%,var(--vert) 55%,#13853f 100%)}
.hero::after{content:'';position:absolute;right:-120px;top:-60px;width:520px;height:520px;border-radius:50%;border:2px dashed rgba(255,222,91,.35)}
.hero::before{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--org) 0 33.3%,#fff 33.3% 66.6%,var(--vert2) 66.6%)}
.hero-in{position:relative;z-index:1;padding:64px 20px 108px}
.hero-txt{max-width:min(1100px,100%)}
.hero-k{display:inline-block;font-size:14px;font-weight:500;color:var(--jaune);border-bottom:1px dashed rgba(255,222,91,.6);padding-bottom:4px;margin-bottom:18px}
.hero h1{font-family:var(--ff-t);font-weight:700;font-size:clamp(28px,3.9vw,44px);line-height:1.2;letter-spacing:-.5px;margin-bottom:18px;color:#fff}
.hero h1 .y{color:var(--jaune);display:block}
.hero-lead{font-size:16.5px;line-height:28px;color:rgba(255,255,255,.88);max-width:68ch;margin-bottom:28px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}

/* boutons (style du site) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--vert);color:#fff;border:none;border-radius:3px;
  padding:13px 35px;font-size:15px;font-weight:500;line-height:24px;cursor:pointer;transition:background .2s;text-decoration:none}
.btn:hover{background:var(--org);color:#fff}
.hero .btn{background:#fff;color:var(--vert)}
.hero .btn:hover{background:var(--jaune);color:var(--nuit)}
.hero .btn.btn-org,.btn.btn-org{background:var(--org2);color:#fff}
.hero .btn.btn-org:hover,.btn.btn-org:hover{background:var(--org)}
.btn[disabled]{opacity:.7;cursor:progress}

/* chiffres clés (infobox du site) */
.stats-wrap{position:relative;z-index:2;margin-top:-62px}
.stats{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;box-shadow:var(--ombre2);border-radius:3px}
.st{display:flex;gap:14px;align-items:flex-start;padding:22px 20px;border-right:1px solid var(--ligne)}
.st:last-child{border-right:none}
.st .bd{width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.12)}
.st .bd .ic{width:20px;height:20px;fill:var(--or)}
.st b{display:block;font-family:var(--ff-t);font-weight:700;font-size:30px;line-height:34px;color:var(--teal)}
.st.alerte b{color:var(--org)}
.st span{display:block;font-size:13px;line-height:18px;color:var(--tx);margin-top:3px}
.st small{display:block;font-size:11.5px;line-height:16px;color:var(--tx-c);margin-top:3px}

.notice{margin:34px 0 0;padding:14px 18px 14px 20px;background:#FFF8EC;border-left:4px solid var(--org2);font-size:14px;line-height:24px;color:#5b4a35}
.notice b{color:var(--org)}

/* ---------- blocs de section ---------- */
.blk{padding:72px 0}
.blk.alt{background:radial-gradient(circle at 1.5px 1.5px,rgba(12,101,46,.09) 1.5px,transparent 0) 0 0/20px 20px,var(--gris)}
.ttl{margin-bottom:34px;max-width:860px}
.ttl .sub{display:block;font-size:17px;font-weight:500;color:var(--vert);margin-bottom:6px}
.ttl h2{font-family:var(--ff-t);font-weight:600;font-size:31px;line-height:40px;letter-spacing:-.3px;color:var(--nuit)}
.ttl h2 .n{color:var(--org2);margin-right:8px}
.ttl::after{content:'';display:block;width:64px;height:3px;margin-top:16px;background:linear-gradient(90deg,var(--org2) 0 60%,var(--vert) 60%)}
.ttl.org h2{color:var(--org2)}
.panel{background:#fff;box-shadow:var(--ombre);border-radius:3px;padding:34px 38px}
.panel + .panel{margin-top:26px}

.blk h3{font-family:var(--ff-t);font-weight:600;font-size:21px;line-height:30px;color:var(--nuit);margin:30px 0 12px}
.panel > h3:first-child{margin-top:0}
.blk h4{font-family:var(--ff-t);font-weight:600;font-size:17px;line-height:24px;color:var(--vert);margin:20px 0 8px}
.blk h5{font-family:var(--ff-t);font-weight:600;font-size:14px;letter-spacing:.3px;text-transform:uppercase;color:var(--org);margin:14px 0 6px}
.blk p{margin-bottom:14px;text-align:justify;hyphens:auto;overflow-wrap:anywhere}
.blk p b,.blk li b{color:var(--tx-f);font-weight:500}
.blk ul{list-style:none;margin:6px 0 16px}
.blk ul li{position:relative;padding-left:22px;margin-bottom:8px}
.blk ul li::before{content:'';position:absolute;left:2px;top:10px;width:8px;height:8px;background:var(--vert);transform:rotate(45deg)}
.blk ol{margin:6px 0 16px;counter-reset:n;list-style:none}
.blk ol li{position:relative;padding-left:40px;margin-bottom:12px;counter-increment:n}
.blk ol li::before{content:counter(n);position:absolute;left:0;top:0;width:27px;height:27px;border-radius:50%;background:var(--org2);color:#fff;font-family:var(--ff-t);font-weight:700;font-size:13px;line-height:27px;text-align:center}
.src{font-size:12.5px;line-height:20px;font-style:italic;color:var(--tx-c);margin:6px 0 18px}
.cap{font-family:var(--ff-t);font-weight:600;font-size:15px;color:var(--nuit);margin:22px 0 8px}
.note{margin:12px 0 20px;padding:14px 18px;background:#F7F9F7;border-left:4px solid var(--org2);font-size:14px;line-height:24px}
.note b.lb{color:var(--nuit);font-weight:700}
.box{position:relative;margin:10px 0 24px;padding:26px 30px 14px;background:#fff;border:1px solid var(--ligne);border-top:4px solid var(--vert);box-shadow:var(--ombre)}
.box.navy{border-top-color:var(--nuit)}
.box h4{margin-top:0;font-size:19px;color:var(--nuit)}
.ref{font-size:11.5px;font-style:normal;color:var(--vert);background:#EAF3EC;border-radius:2px;padding:1px 5px;white-space:nowrap;cursor:help}

/* ---------- tableaux ---------- */
.tw{overflow-x:auto;margin:10px 0 6px;border:1px solid var(--ligne);background:#fff}
table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:20px}
thead th{background:var(--vert);color:#fff;text-align:left;padding:12px 13px;font-family:var(--ff);font-weight:500;font-size:12.5px;letter-spacing:.2px;white-space:nowrap}
thead th.sort{cursor:pointer;user-select:none}
thead th.sort::after{content:' ⇅';opacity:.55;font-size:11px}
thead th.asc::after{content:' ▲';opacity:1;color:var(--jaune);font-size:9px}
thead th.desc::after{content:' ▼';opacity:1;color:var(--jaune);font-size:9px}
tbody td{padding:10px 13px;border-top:1px solid var(--ligne);color:var(--tx);vertical-align:top}
tbody tr:nth-child(even) td{background:#FAFAFA}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
td.neg{color:var(--neg);font-weight:500}
td.b{font-weight:500;color:var(--nuit)}
tr.click{cursor:pointer}
tr.click:hover td{background:#EEF6F0!important}

/* filtres */
.tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:4px 0 14px}
.srch{flex:1;min-width:220px}
.srch input{width:100%;height:44px;border:1px solid var(--ligne2);border-radius:3px;padding:0 14px;font:inherit;font-size:14px;color:var(--tx-f);background:#fff}
.srch input:focus{border-color:var(--org2);outline:none}
.chip{height:36px;padding:0 15px;border:1px solid var(--ligne2);border-radius:3px;background:#fff;color:var(--tx);font-size:13px;cursor:pointer}
.chip:hover{border-color:var(--vert);color:var(--vert)}
.chip.on{background:var(--vert);border-color:var(--vert);color:#fff}
.cnt{font-size:13px;color:var(--tx-c)}
.pill{display:inline-block;font-size:11.5px;line-height:18px;font-weight:500;padding:2px 9px;border-radius:2px;white-space:nowrap}
.p-ok{background:#E3F1E7;color:var(--vert)}
.p-wrn{background:#FFF1DE;color:#A35206}
.p-err{background:#FBE6E3;color:var(--neg)}
.p-gry{background:#EEEEEE;color:#777}

/* graphiques */
.chart{margin:12px 0 4px;padding:22px 24px 14px;background:#fff;border:1px solid var(--ligne)}
.chart h4{margin:0 0 2px;color:var(--nuit)}
.chart .sub{font-size:13px;color:var(--tx-c);margin-bottom:6px}
.chart svg{width:100%;max-width:1100px;height:auto;display:block;margin:0 auto}
.chart svg text{font-family:var(--ff)}
.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;margin:4px 0}
.legend i{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px}

/* fiches entités (cartes du site) */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:26px;margin-top:8px}
.card{position:relative;display:flex;flex-direction:column;text-align:left;background:#fff;border:none;box-shadow:var(--ombre);border-radius:3px;cursor:pointer;font:inherit;color:inherit;padding:0;transition:box-shadow .25s,transform .25s}
.card:hover{box-shadow:var(--ombre2);transform:translateY(-4px)}
.card .top{height:86px;background:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.14) 1.5px,transparent 0) 0 0/16px 16px,linear-gradient(120deg,var(--nuit),#0a4a66)}
.card .top.s-energie{background-color:#7a4a05;background-image:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.14) 1.5px,transparent 0),linear-gradient(120deg,#9c5304,var(--org2))}
.card .top.s-banque{background-image:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.14) 1.5px,transparent 0),linear-gradient(120deg,#063d1d,var(--vert))}
.card .top.s-mines{background-image:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.14) 1.5px,transparent 0),linear-gradient(120deg,#2f4e4e,var(--teal))}
.card .top.s-agri{background-image:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.14) 1.5px,transparent 0),linear-gradient(120deg,#3c6b1f,#5f9a2c)}
.card .top{background-size:16px 16px,auto}
.card .bdg{position:absolute;right:20px;top:58px;width:56px;height:56px;border-radius:50%;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.14);display:grid;place-items:center}
.card .bdg .ic{width:24px;height:24px;fill:var(--or)}
.card .ct{padding:22px 22px 18px}
.card .t{font-family:var(--ff-t);font-weight:600;font-size:17px;line-height:22px;text-transform:uppercase;color:var(--nuit);padding-right:52px}
.card .s{font-size:13px;color:var(--tx-c);margin:2px 0 12px}
.card .m{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;line-height:22px;padding:6px 0;border-top:1px solid var(--ligne)}
.card .m b{font-weight:500;color:var(--tx-f);font-variant-numeric:tabular-nums}
.card .m b.neg{color:var(--neg)}
.card .more{margin-top:12px;font-size:14px;font-weight:500;color:var(--vert)}
.card:hover .more{color:var(--org)}

/* export */
.exp{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;margin:6px 0 24px}
.xb{position:relative;display:flex;flex-direction:column;background:#fff;box-shadow:var(--ombre);border-radius:3px;padding:0 0 26px;text-align:left;overflow:hidden}
.xb .top{height:8px;background:var(--vert)}
.xb.w .top{background:#2B579A} .xb.p .top{background:var(--neg)} .xb.x .top{background:var(--vert)}
.xb .bdg{margin:26px 26px 0;width:64px;height:64px;border-radius:50%;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.13);display:grid;place-items:center;font-family:var(--ff-t);font-weight:700;font-size:14px}
.xb.w .bdg{color:#2B579A} .xb.p .bdg{color:var(--neg)} .xb.x .bdg{color:var(--vert)}
.xb h4{margin:18px 26px 6px;font-family:var(--ff-t);font-weight:600;font-size:18px;color:var(--nuit);text-transform:uppercase}
.xb p{margin:0 26px 18px;text-align:left;flex:1;font-size:14px;line-height:24px}
.xb .btn{margin:0 26px}
.spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:sp .8s linear infinite;display:none}
.btn.busy .spin{display:inline-block}
@keyframes sp{to{transform:rotate(360deg)}}
.xst{margin:10px 26px 0;font-size:13px;line-height:20px;min-height:20px;color:var(--tx-c)}
.xst.ok{color:var(--vert)} .xst.err{color:var(--neg)}

/* modale fiche */
.modal{position:fixed;inset:0;z-index:200;background:rgba(3,46,66,.6);display:grid;place-items:center;padding:16px}
.modal[hidden]{display:none}
.modal-c{position:relative;width:100%;max-width:860px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:3px;box-shadow:0 25px 70px rgba(0,0,0,.35)}
.modal-c .mh{padding:28px 34px 22px;color:#fff;background:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.13) 1.5px,transparent 0) 0 0/18px 18px,linear-gradient(115deg,#063d1d,var(--vert))}
.modal-c .mh .k{font-size:13px;color:var(--jaune)}
.modal-c .mh h2{font-family:var(--ff-t);font-weight:700;font-size:26px;line-height:32px;padding-right:30px}
.modal-c .mb{padding:24px 34px 30px}
.modal-c .x{position:absolute;right:14px;top:10px;z-index:2;background:none;border:none;font-size:30px;line-height:30px;color:#fff;cursor:pointer}
.modal-c h5{font-family:var(--ff-t);font-weight:600;font-size:15px;color:var(--vert);margin:18px 0 6px;text-transform:uppercase;letter-spacing:.3px}
.modal-c h5.o{color:var(--org)}
.modal-c ul{list-style:none}
.modal-c ul li{position:relative;padding-left:20px;margin-bottom:7px;font-size:14px;line-height:23px}
.modal-c ul li::before{content:'';position:absolute;left:2px;top:9px;width:7px;height:7px;background:var(--vert);transform:rotate(45deg)}
.modal-c h5.o + ul li::before{background:var(--org2)}
.dl{display:grid;grid-template-columns:190px 1fr;margin:0 0 14px;border:1px solid var(--ligne)}
.dl dt,.dl dd{padding:9px 14px;font-size:14px;line-height:22px;border-top:1px solid var(--ligne)}
.dl dt:first-of-type,.dl dd:first-of-type{border-top:none}
.dl dt{background:#FAFAFA;color:var(--nuit);font-weight:500}
.dl dd{color:var(--tx)}
.syn{font-size:14.5px;line-height:25px;color:var(--tx-f);background:#F7F9F7;border-left:4px solid var(--vert);padding:12px 16px;margin:4px 0 6px}

/* pied de page */
.site-ft{background:var(--anth);color:#BBBBBB;font-size:14px;line-height:24px}
.ft-in{display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:40px;padding:56px 20px 40px}
.ft-logo{background:#fff;border-radius:3px;padding:8px 12px;width:150px;height:auto;margin-bottom:14px}
.site-ft h3{font-family:var(--ff-t);font-weight:700;font-size:18px;color:#fff;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--org2);display:inline-block}
.site-ft ul{list-style:none}
.site-ft li{padding:3px 0}
.site-ft a{color:#BBBBBB}
.site-ft a:hover{color:var(--or)}
.site-ft p{margin-bottom:10px}
.ft-bar{background:var(--anth2);font-size:13px;line-height:20px;color:#9a9a9a}
.ft-bar .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:16px;padding-bottom:16px}

.totop{position:fixed;right:20px;bottom:20px;z-index:90;width:44px;height:44px;border:none;border-radius:3px;background:var(--org2);color:#fff;font-size:20px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .25s}
.totop.vis{opacity:1;pointer-events:auto}
.toasts{position:fixed;left:20px;bottom:20px;z-index:250;display:flex;flex-direction:column;gap:8px}
.toast{max-width:380px;padding:12px 18px;background:var(--nuit);color:#fff;font-size:14px;line-height:21px;border-left:4px solid var(--jaune);box-shadow:0 8px 24px rgba(0,0,0,.25);border-radius:2px}
.toast.err{border-left-color:#ff8a7a}

/* ---------- adaptatif ---------- */
@media (max-width:1520px){ .brand-t{display:none} }
@media (max-width:1100px){
  .menu a{padding:0 9px;font-size:12.5px}
  .stats{grid-template-columns:repeat(3,1fr)}
  .st:nth-child(3){border-right:none}
  .st:nth-child(n+4){border-top:1px solid var(--ligne)}
}
@media (max-width:900px){
  .burger{display:flex}
  .menu{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;background:#fff;box-shadow:0 12px 24px rgba(0,0,0,.12);padding:6px 0 14px}
  .menu.open{display:flex}
  .menu a{line-height:46px;padding:0 22px;border-top:1px solid var(--ligne)}
  .menu a + a::before,.menu a.on::after{display:none}
  .menu a.cta{margin:10px 20px 0;justify-content:center}
  .hd-in{position:relative;min-height:72px}
  .brand img{width:112px}
  .tb-min{display:none}
  .tb-dark{justify-content:flex-end}
  .panel{padding:24px 20px}
  .blk{padding:52px 0}
  .ft-in{grid-template-columns:1fr;gap:26px}
}
@media (max-width:620px){
  .stats{grid-template-columns:1fr 1fr}
  .st{border-right:none!important;border-top:1px solid var(--ligne)}
  .st:nth-child(-n+2){border-top:none}
  .st:last-child{grid-column:1/-1}
  .ttl h2{font-size:26px;line-height:32px}
  .blk p{text-align:left}
  .dl{grid-template-columns:1fr}
  .dl dd{border-top:none;padding-top:0}
  .hero-in{padding:44px 20px 96px}
  .btn{padding:12px 24px}
}
@media print{
  .topbar,.site-hd,.hero-cta,.exp,.tools,.toasts,.totop,.site-ft,#exporter{display:none!important}
  .hero{background:var(--vert)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .blk{padding:24px 0;break-inside:auto}
  .panel{box-shadow:none;padding:0}
}

/* Badges contenus dans leur carte / cellule (correctif) */
.card{overflow:hidden;min-width:0}
.card .ct{min-width:0}
.card .m{align-items:flex-start;flex-wrap:wrap;row-gap:4px}
.card .m > span:first-child{flex:0 0 auto;white-space:nowrap}
.card .m > span:last-child{flex:1 1 auto;min-width:0;display:flex;justify-content:flex-end}
.pill{white-space:normal;max-width:100%;overflow-wrap:anywhere;text-align:center}
.card .pill{text-align:right}
#perfTable td:nth-child(2){min-width:150px}
#perfTable td:nth-child(11){min-width:150px}


/* =====================================================================
   Agent (panneau repris de demo-sef.html, adapté à la charte DGPE)
   ===================================================================== */
.ag-fab{position:fixed;right:20px;bottom:20px;z-index:95;display:flex;align-items:center;gap:9px;height:50px;padding:0 22px;border:none;border-radius:3px;
  background:var(--vert);color:#fff;font-family:var(--ff-t);font-weight:600;font-size:15px;cursor:pointer;box-shadow:0 8px 24px rgba(12,101,46,.35);transition:background .2s,transform .2s}
.ag-fab span{color:var(--jaune);font-size:17px}
.ag-fab:hover{background:var(--org);transform:translateY(-2px)}
.ag-fab.hide{display:none}
.totop{bottom:84px}
.ag{position:fixed;top:0;right:0;bottom:0;z-index:140;width:min(430px,100vw);display:flex;flex-direction:column;background:#fff;box-shadow:-12px 0 40px rgba(3,46,66,.22);
  border-left:4px solid var(--vert);font-family:var(--ff)}
.ag[hidden]{display:none}
.ag-h{display:flex;align-items:center;gap:12px;padding:16px 18px;color:#fff;
  background:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.13) 1.5px,transparent 0) 0 0/16px 16px,linear-gradient(115deg,#063d1d,var(--vert))}
.ag-av{width:38px;height:38px;flex:none;border-radius:50%;background:#fff;color:var(--org);display:grid;place-items:center;font-size:18px;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.ag-h b{display:block;font-family:var(--ff-t);font-weight:600;font-size:16px;line-height:20px}
.ag-h span{font-size:12px;line-height:16px;color:var(--jaune)}
.ag-x{margin-left:auto;background:none;border:none;color:#fff;font-size:28px;line-height:1;cursor:pointer;padding:2px 6px}
.ag-b{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px;background:radial-gradient(circle at 1.5px 1.5px,rgba(12,101,46,.07) 1.5px,transparent 0) 0 0/18px 18px,var(--gris)}
.ag-m{display:flex;gap:10px;max-width:100%}
.ag-m.u{flex-direction:row-reverse}
.ag-ma{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:13px;background:var(--vert);color:var(--jaune)}
.ag-m.u .ag-ma{background:var(--nuit);color:#fff;font-size:9.5px;font-weight:500}
.ag-bub{min-width:0;max-width:calc(100% - 40px);background:#fff;border-radius:3px;padding:12px 15px;font-size:14px;line-height:23px;color:var(--tx-f);box-shadow:var(--ombre);border-top:3px solid var(--vert)}
.ag-m.u .ag-bub{background:var(--nuit);color:#fff;border-top-color:var(--org2)}
.ag-bub b{font-weight:500;color:var(--nuit)}
.ag-m.u .ag-bub b{color:#fff}
.ag-bub ul{margin:8px 0 0 18px} .ag-bub li{margin-bottom:4px}
.ag-bub code{font-size:12.5px;background:var(--gris);padding:1px 5px;border-radius:2px}
.ag-bub .kv{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--ligne);font-size:13px;line-height:19px}
.ag-bub .kv:last-of-type{border-bottom:none}
.ag-bub .kv b{white-space:nowrap;font-variant-numeric:tabular-nums}
.ag-bub .neg{color:var(--neg)}
.ag-nd{color:var(--tx-c);font-style:italic;font-weight:400}
.ag-note{margin-top:8px;font-size:12.5px;line-height:19px;color:var(--tx)}
.ag-t{width:100%;margin:8px 0;border-collapse:collapse;font-size:12.5px;line-height:18px}
.ag-t th{background:var(--vert);color:#fff;font-weight:500;padding:6px 7px;text-align:right;white-space:nowrap}
.ag-t th:first-child{text-align:left}
.ag-t td{padding:6px 7px;border-top:1px solid var(--ligne)}
.ag-t td.n{text-align:right;white-space:nowrap}
.ag-src{margin-top:10px;padding-top:8px;border-top:1px dashed var(--ligne2);font-size:11.5px;line-height:17px;color:var(--tx-c)}
.ag-src::before{content:'Sources : ';font-weight:500;color:var(--vert)}
.ag-act{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.ag-act button{background:#fff;border:1px solid var(--vert);color:var(--vert);font-family:var(--ff);font-weight:500;font-size:12.5px;padding:6px 12px;border-radius:3px;cursor:pointer}
.ag-act button:hover{background:var(--vert);color:#fff}
.ag-typ{display:flex;gap:5px;padding:4px 2px}
.ag-typ i{width:7px;height:7px;border-radius:50%;background:var(--vert);animation:agbl 1.3s infinite}
.ag-typ i:nth-child(2){animation-delay:.18s} .ag-typ i:nth-child(3){animation-delay:.36s}
@keyframes agbl{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.ag-sug{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;border-top:1px solid var(--ligne);background:#fff}
.ag-sug button{background:#fff;border:1px solid var(--ligne2);color:var(--tx);font-family:var(--ff);font-size:12.5px;padding:6px 11px;border-radius:3px;cursor:pointer;text-align:left}
.ag-sug button:hover{border-color:var(--org2);color:var(--org)}
.ag-f{padding:12px 16px 14px;border-top:1px solid var(--ligne);background:#fff}
.ag-inp{display:flex;gap:8px;align-items:flex-end;border:1px solid var(--ligne2);border-radius:3px;padding:8px 8px 8px 12px}
.ag-inp:focus-within{border-color:var(--vert)}
.ag-inp textarea{flex:1;border:none;outline:none;resize:none;font-family:var(--ff);font-size:14px;line-height:21px;color:var(--tx-f);max-height:110px;background:transparent}
.ag-snd{width:36px;height:36px;flex:none;border:none;border-radius:3px;background:var(--vert);color:#fff;font-size:15px;cursor:pointer}
.ag-snd:hover{background:var(--org)}
.ag-dis{margin-top:8px;font-size:11px;line-height:15px;color:var(--tx-c);text-align:center}
@media (min-width:1500px){ body.ag-open main,body.ag-open .site-ft{margin-right:430px} body.ag-open .site-hd .hd-in{margin-right:430px} }
@media print{ .ag,.ag-fab{display:none!important} }
.hero .btn.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7)}
.hero .btn.btn-ghost:hover{background:#fff;color:var(--vert)}
@media (max-width:620px){ .ag-sug{max-height:92px;overflow-y:auto} body.ag-open .toasts{bottom:170px} .ag{border-left:none} }

/* Fiches entités : 3 par ligne, badge « Opinion CAC » sur la même ligne que son libellé */
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.card .m{flex-wrap:nowrap;align-items:center;gap:12px}
.card .m > span:last-child{flex:1 1 auto;min-width:0;display:flex;justify-content:flex-end}
.card .m .pill{white-space:normal;text-align:right;line-height:16px;padding:3px 9px}
@media (max-width:1023px){ .cards{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:640px){ .cards{grid-template-columns:1fr} }

/* ---------- n.d. cliquables et explication sourcée ---------- */
.nd{color:var(--org);font-weight:600;cursor:help;border-bottom:1px dashed currentColor;white-space:nowrap;border-radius:2px;padding:0 1px;transition:background .15s}
.nd:hover,.nd:focus-visible{background:#FFF1E2;outline:none}
.nd:focus-visible{box-shadow:0 0 0 2px var(--org)}
.nd-pill{cursor:help;display:inline-flex;align-items:center;gap:5px}
.nd-pill i{font-style:normal;font-weight:700;font-size:10px;line-height:14px;width:14px;height:14px;border-radius:50%;background:rgba(0,0,0,.14);display:inline-grid;place-items:center}
.nd-pill:hover,.nd-pill:focus-visible{outline:2px solid var(--org);outline-offset:1px}
.ag-nd.nd{font-style:normal}
.nddlg{position:fixed;inset:0;z-index:400;background:rgba(3,46,66,.55);display:grid;place-items:center;padding:16px}
.nddlg[hidden]{display:none}
.ndp{position:relative;width:100%;max-width:760px;max-height:88vh;overflow-y:auto;background:#fff;border-radius:3px;box-shadow:0 25px 70px rgba(0,0,0,.35);border-top:4px solid var(--org)}
.ndp .x{position:absolute;right:14px;top:8px;background:none;border:none;font-size:30px;line-height:30px;color:#fff;cursor:pointer;z-index:2}
.ndh{padding:22px 30px 18px;color:#fff;background:linear-gradient(115deg,var(--nuit,#032E42),#0b4a5f)}
.ndh .k{font-size:13px;color:var(--jaune,#FFDE5B);font-weight:500}
.ndh h3{font-family:var(--ff-t);font-weight:600;font-size:21px;line-height:28px;margin-top:4px;padding-right:30px}
.ndb{padding:20px 30px 26px;font-size:14.5px;line-height:1.6;color:var(--tx-f)}
.ndb h5{font-family:var(--ff-t);font-weight:600;font-size:14px;color:var(--vert,#0C652E);margin:18px 0 6px;text-transform:uppercase;letter-spacing:.3px}
.eli5{background:#EEF6F0;border-left:4px solid var(--vert,#0C652E);padding:12px 16px;border-radius:2px}
.eli5 b{font-family:var(--ff-t);color:var(--vert,#0C652E);font-size:13px;text-transform:uppercase;letter-spacing:.3px}
.eli5 p{margin-top:4px}
.pvs{list-style:none;padding:0;margin:0;counter-reset:pv}
.pv{border:1px solid #E3E6E4;border-radius:3px;padding:12px 14px;margin-bottom:10px}
.pv .ph{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pv .rf{font-family:var(--ff-t);font-weight:600;font-size:13px;background:var(--vert,#0C652E);color:#fff;padding:2px 9px;border-radius:2px}
.pv .md{font-size:11.5px;padding:1px 8px;border-radius:2px;border:1px solid currentColor}
.md-ocr{color:#8a5a00}.md-txt{color:var(--vert,#0C652E)}.md-img{color:var(--neg,#C0392B)}
.pv .fn{font-size:12.5px;color:var(--tx-c,#676767);margin:6px 0;overflow-wrap:anywhere}
.pv blockquote{margin:6px 0;padding:8px 12px;background:#F7F7F5;border-left:3px solid var(--or,#FFCA63);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.pv .noq{font-size:13px;font-style:italic;color:var(--tx-c,#676767);margin:6px 0}
.pv .lc{font-size:14px;margin-top:6px}
.ccl{font-weight:500}
.conv{margin-top:18px;font-size:12.5px;color:var(--tx-c,#676767);background:#F5F5F5;padding:10px 12px;border-radius:2px}
@media (max-width:620px){.ndh,.ndb{padding-left:18px;padding-right:18px}.ndh h3{font-size:18px;line-height:24px}}
@media print{.nddlg{display:none!important}.nd{border:none;color:inherit}}
.ndt{cursor:help}.ndt:hover,.ndt:focus{fill:var(--org);outline:none}

/* ---------- badges dynamiques (référence, OCR, image, texte natif) ---------- */
.pv button.rf,.pv button.md{font:inherit;cursor:pointer;transition:transform .12s,box-shadow .15s,background .15s}
.pv button.rf{font-family:var(--ff-t);font-weight:600;font-size:13px;border:none}
.pv button.rf i{font-style:normal;margin-left:3px}
.pv button.rf:hover,.pv button.rf:focus-visible{background:var(--vert2);box-shadow:0 2px 8px rgba(12,101,46,.35);transform:translateY(-1px)}
.pv button.md{font-size:11.5px;background:#fff}
.pv button.md:hover,.pv button.md:focus-visible{background:currentColor;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.pv button.md-ocr:hover,.pv button.md-ocr:focus-visible{color:#8a5a00;background:#FFF4DC}
.pv button.md-txt:hover,.pv button.md-txt:focus-visible{background:#E8F3EC}
.pv button.md-img:hover,.pv button.md-img:focus-visible{background:#FBEAEA}
.pvgo{margin-top:8px;background:none;border:1px solid var(--vert);color:var(--vert);font:500 13px/1 var(--ff);padding:8px 12px;border-radius:3px;cursor:pointer}
.pvgo:hover,.pvgo:focus-visible{background:var(--vert);color:#fff}

/* ---------- visionneuse de page source ---------- */
.docv{position:fixed;inset:0;z-index:450;background:rgba(3,46,66,.7);display:grid;place-items:center;padding:12px}
.docv[hidden]{display:none}
.dvp{width:100%;max-width:1060px;height:94vh;display:flex;flex-direction:column;background:#fff;border-radius:3px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.4);border-top:4px solid var(--vert)}
.dvh{display:flex;gap:12px;align-items:flex-start;padding:14px 20px 12px;color:#fff;background:linear-gradient(115deg,#063d1d,var(--vert))}
.dvi{flex:1;min-width:0}
.dvh .k{font-size:12.5px;color:var(--jaune)}
.dvh h3{font-family:var(--ff-t);font-weight:600;font-size:19px;line-height:25px;margin:2px 0}
.dvh .fn{font-size:12.5px;opacity:.85;overflow-wrap:anywhere}
.dvh .x{background:none;border:none;color:#fff;font-size:30px;line-height:28px;cursor:pointer}
.dvbar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:8px 16px;border-bottom:1px solid var(--ligne);background:var(--gris)}
.dvbar button{font:500 13px/1 var(--ff);border:1px solid var(--ligne2);background:#fff;color:var(--tx-f);padding:7px 11px;border-radius:3px;cursor:pointer}
.dvbar button:hover{border-color:var(--vert);color:var(--vert)}
.dvbar .tabs{display:flex;gap:0}
.dvbar .tabs button{border-radius:0}.dvbar .tabs button:first-child{border-radius:3px 0 0 3px}.dvbar .tabs button:last-child{border-radius:0 3px 3px 0;margin-left:-1px}
.dvbar .tabs button.on{background:var(--vert);border-color:var(--vert);color:#fff}
.dvbar .nav,.dvbar .zm{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--tx-f)}
.dvbar .back{margin-left:auto}
.dvn{padding:6px 18px;font-size:12px;color:var(--tx);border-bottom:1px solid var(--ligne);max-height:70px;overflow:auto}
.dvn p+p{margin-top:2px}
.dvb{flex:1;overflow:auto;background:#5d6a70;padding:14px 14px 14px 40px;position:relative}
.dvimg{position:relative;margin:0 auto;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.35);min-width:300px}
.dvimg img{display:block;width:100%;height:auto;user-select:none}
.lb{position:absolute;border-radius:2px;cursor:pointer}
.lb:hover{background:rgba(64,115,115,.16);outline:1px solid rgba(64,115,115,.55)}
.lb.hl{background:rgba(255,222,91,.38);outline:2px solid var(--org);mix-blend-mode:multiply}
.lb.hl.cur{background:rgba(239,117,11,.32);animation:dvpulse 1.6s ease-out 2}
.lb em{position:absolute;right:100%;top:50%;transform:translate(-4px,-50%);font:600 10.5px/1 var(--ff-t);font-style:normal;color:#fff;background:var(--org);padding:2px 4px;border-radius:2px;white-space:nowrap;mix-blend-mode:normal}
.lb.flash,.dvtxt li.flash{animation:dvpulse 1.6s ease-out 1}
@keyframes dvpulse{0%{box-shadow:0 0 0 0 rgba(239,117,11,.75)}100%{box-shadow:0 0 0 14px rgba(239,117,11,0)}}
.dvtxt{list-style:none;margin:0 auto;padding:10px 0;max-width:900px;background:#fff;font:12.5px/1.6 ui-monospace,Menlo,Consolas,monospace;box-shadow:0 4px 18px rgba(0,0,0,.35)}
.dvtxt li{display:flex;gap:10px;padding:1px 12px;cursor:pointer;border-left:4px solid transparent}
.dvtxt li:hover{background:#F1F5F3}
.dvtxt li .n{flex:0 0 32px;text-align:right;color:var(--tx-c);user-select:none}
.dvtxt li .t{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--tx-f)}
.dvtxt li.hl{background:#FFF6D6;border-left-color:var(--org)}
.dvtxt li.hl .n{color:var(--org);font-weight:700}
.dvtxt li.cur{background:#FFE7C9}
@media (max-width:700px){.dvp{height:96vh}.dvbar{padding:6px 10px;gap:6px 8px}.dvbar .back{margin-left:0}.dvh h3{font-size:16px;line-height:21px}.dvb{padding:8px}.dvn{max-height:56px}}
@media print{.docv{display:none!important}}
