/* Mise en page : rapport d'analyse. Colonne de lecture de 68 caractères, figures dans des panneaux
   à la largeur de la colonne élargie, codes douaniers (SH) en mono comme dans un tarif des douanes. */
:root{
  --bg:#f3f5f6; --panel:#fcfcfb; --ink:#0f1c26; --ink2:#44525c; --ink3:#6d7a83; --rule:#d5dce0; --grid:#e4e9ec;
  --accent:#0b4f6c; --chip:#e6ecef;
  --exp:#2a78d6; --imp:#eb6834; --s3:#1baf7a; --s4:#eda100; --pos:#2a78d6; --neg:#d03b3b; --ref:#0f1c26;
  --display:"Archivo","Arial Narrow",Arial,sans-serif; --body:"IBM Plex Sans","Segoe UI",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#10161a; --panel:#1a1a19; --ink:#f2f5f6; --ink2:#c0cad0; --ink3:#8e9aa2; --rule:#313b41; --grid:#2a3237;
  --accent:#7cc4e0; --chip:#252e33;
  --exp:#3987e5; --imp:#d95926; --s3:#199e70; --s4:#c98500; --pos:#3987e5; --neg:#e66767; --ref:#f2f5f6; color-scheme:dark } }
:root[data-theme="dark"]{
  --bg:#10161a; --panel:#1a1a19; --ink:#f2f5f6; --ink2:#c0cad0; --ink3:#8e9aa2; --rule:#313b41; --grid:#2a3237;
  --accent:#7cc4e0; --chip:#252e33;
  --exp:#3987e5; --imp:#d95926; --s3:#199e70; --s4:#c98500; --pos:#3987e5; --neg:#e66767; --ref:#f2f5f6; color-scheme:dark }
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;margin:0}
.wrap{max-width:900px;margin:0 auto;padding-inline:20px;padding-block:40px 72px;display:flex;flex-direction:column;gap:56px}
header.top{display:flex;flex-direction:column;gap:14px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
h1{font-family:var(--display);font-stretch:80%;font-weight:800;font-size:clamp(34px,6.4vw,58px);line-height:1.02;margin:0;text-wrap:balance;letter-spacing:-.01em}
.lede{font-size:19px;line-height:1.5;color:var(--ink2);max-width:62ch;margin:0}
nav.toc{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;border-top:1px solid var(--rule);padding-top:12px}
nav.toc a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent}
nav.toc a:hover,nav.toc a:focus-visible{border-bottom-color:var(--accent)}
a{color:var(--accent)} a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
.kpi{padding:16px 16px 16px 0;display:flex;flex-direction:column;gap:4px;min-width:0}
.kpi + .kpi{padding-left:16px;border-left:1px solid var(--rule)}
.kpi b{font-family:var(--display);font-stretch:80%;font-weight:700;font-size:clamp(28px,4.4vw,40px);line-height:1;font-variant-numeric:tabular-nums}
.kpi b small{font-size:.45em;font-weight:600;color:var(--ink2);margin-left:3px}
.kpi span{font-size:13.5px;color:var(--ink2);line-height:1.35}
.kpi em{font-style:normal;font-size:12.5px;color:var(--ink3);font-family:var(--mono)}
@media (max-width:720px){.kpis{grid-template-columns:1fr 1fr}.kpi:nth-child(3){padding-left:0;border-left:0}.kpi:nth-child(n+3){border-top:1px solid var(--rule)}}
section{display:flex;flex-direction:column;gap:20px}
h2{font-family:var(--display);font-stretch:82%;font-weight:750;font-size:clamp(25px,3.8vw,34px);line-height:1.1;margin:0;text-wrap:balance}
h3{font-family:var(--display);font-stretch:88%;font-weight:650;font-size:19px;line-height:1.25;margin:8px 0 0}
.sec-tag{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
p{margin:0;max-width:68ch} .prose{display:flex;flex-direction:column;gap:14px}
ul.keys{margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:10px;max-width:70ch}
ul.keys li::marker{color:var(--accent)}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
code.hs{font-family:var(--mono);font-size:.82em;background:var(--chip);padding:1px 6px;border-radius:3px;white-space:nowrap}
figure{margin:0;background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:18px 18px 12px;display:flex;flex-direction:column;gap:10px;min-width:0}
figcaption{display:flex;flex-direction:column;gap:2px}
figcaption strong{font-family:var(--display);font-stretch:88%;font-weight:650;font-size:17px;line-height:1.25}
figcaption span{font-size:13px;color:var(--ink3)}
.legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--ink2)}
.legend i{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-right:6px}
.legend i.sq{height:10px;width:10px;border-radius:2px}
.legend i.dot{width:9px;height:9px;border-radius:50%;background:var(--panel);border:2px solid var(--ref)}
.chart{position:relative;width:100%}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart text{font-family:var(--body);font-size:12px;fill:var(--ink3)}
.chart text.lbl{fill:var(--ink);font-weight:500;font-size:12.5px}
.chart text.val{fill:var(--ink2);font-variant-numeric:tabular-nums}
.chart .g{stroke:var(--grid);stroke-width:1}.chart .ax{stroke:var(--rule);stroke-width:1}
.chart .xh{stroke:var(--ink3);stroke-width:1;stroke-dasharray:3 3}
details.data{font-size:13px;color:var(--ink2)}
details.data summary{cursor:pointer;color:var(--accent);width:max-content;max-width:100%}
.tscroll{overflow-x:auto;margin-top:8px}
table{border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums;min-width:100%}
th,td{padding:5px 10px;text-align:right;border-bottom:1px solid var(--grid);white-space:nowrap}
th:first-child,td:first-child{text-align:left;white-space:normal;min-width:150px}
th{font-weight:600;color:var(--ink2);border-bottom:1px solid var(--rule)}
table.main{font-size:14px} table.main td:first-child{color:var(--ink)}
/* barres divergentes */
.db{display:grid;grid-template-columns:minmax(120px,240px) 1fr;column-gap:12px;row-gap:7px;align-items:center;font-size:13.5px}
.db .nm{line-height:1.25;min-width:0}.db .nm small{display:block;font-family:var(--mono);font-size:11px;color:var(--ink3)}
.db .tr{position:relative;height:22px;min-width:0}
.db .zero{position:absolute;top:-4px;bottom:-4px;width:1px;background:var(--ink3)}
.db .bar{position:absolute;top:3px;height:16px;min-width:2px}
.db .bar.neg{background:var(--neg);border-radius:4px 0 0 4px}.db .bar.pos{background:var(--pos);border-radius:0 4px 4px 0}
.db .refm{position:absolute;top:6px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--panel);border:2px solid var(--ref);box-shadow:0 0 0 2px var(--panel)}
.db .v{position:absolute;top:1px;font-size:12.5px;color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:20px}
.db .tr:hover .bar{filter:brightness(1.12)}
@media (max-width:560px){.db{grid-template-columns:1fr;row-gap:2px}.db .tr{margin-bottom:8px}}
#tip{position:fixed;z-index:10;pointer-events:none;background:var(--ink);color:var(--bg);font-size:12.5px;line-height:1.45;padding:8px 10px;border-radius:5px;max-width:280px;font-variant-numeric:tabular-nums;box-shadow:0 4px 14px rgba(0,0,0,.25)}
#tip b{display:block;font-weight:600;margin-bottom:2px}#tip i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}
.note{border-left:3px solid var(--accent);padding:2px 0 2px 14px;color:var(--ink2);font-size:15px;max-width:68ch}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:760px){.two{grid-template-columns:1fr}}
footer{border-top:1px solid var(--rule);padding-top:20px;font-size:14px;color:var(--ink2);display:flex;flex-direction:column;gap:12px}
footer ul{margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:6px}
footer h2{font-size:22px;color:var(--ink)}
[hidden]{display:none!important}
img{max-width:100%}
