@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#163b38;--muted:#667570;--green:#177964;--mint:#daf0e7;--paper:#f5f6f2;--line:#dce3dc;--amber:#a65d30}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}header{height:85px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fff}a{color:inherit;text-decoration:none}.brand{display:flex;align-items:center;gap:15px;font-size:13px;letter-spacing:1.4px;font-weight:700}.mark{display:grid;place-items:center;width:36px;height:36px;background:var(--ink);color:white;font-family:Georgia;font-size:25px}.divider{height:24px;border-left:1px solid var(--line);margin:0 4px}.subbrand{color:var(--muted);font-size:10px}button,select,input{font:inherit}button{cursor:pointer}.outline{background:transparent;border:1px solid #bccbc3;border-radius:7px;padding:11px 16px;color:var(--ink);font-weight:600}button:hover{background:#e4eee6}main{max-width:1440px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:8%;padding:62px 0 48px;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 20px;color:var(--green)}h1,h2,h3,strong{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(34px,4.5vw,60px);line-height:1.1;letter-spacing:-2.7px;font-weight:600;margin:0 0 23px}.intro{font-size:16px;line-height:1.65;color:var(--muted);max-width:550px}.hero-meta{display:flex;gap:25px;font-size:11px;color:var(--muted);margin-top:25px}.hero-stat{padding:36px;background:var(--ink);border-radius:14px;color:white;position:relative;overflow:hidden}.hero-stat:after{content:'';width:170px;height:170px;border:1px solid #ffffff18;border-radius:50%;position:absolute;right:-65px;bottom:-70px}.hero-stat .eyebrow{color:#a8d9c4;display:block;font-size:9px;letter-spacing:1.7px}.hero-stat strong{display:block;font-size:clamp(34px,3.8vw,52px);letter-spacing:-2px;margin:24px 0 16px;font-weight:500}.hero-stat>span:last-of-type{display:inline-block;background:#ffffff15;color:#b9efd2;padding:8px 12px;border-radius:5px;font-size:12px}.hero-stat p{font-size:12px;line-height:1.7;color:#aec7be;margin-top:24px}.toolbar{display:flex;align-items:end;gap:16px;background:white;padding:20px;border:1px solid var(--line);border-radius:10px}.toolbar label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;color:var(--muted)}select{border:1px solid var(--line);border-radius:6px;padding:10px 35px 10px 12px;background:white;color:var(--ink);min-width:200px}.reset{border:0;background:none;padding:12px;color:var(--green);font-size:12px}.toolbar>span{margin:auto 0 10px auto;font-size:12px;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:23px}.kpi{background:white;border:1px solid var(--line);border-radius:10px;padding:25px}.kpi:last-child{background:#e9f2e9}.kpi label{font-size:12px;color:var(--muted)}.kpi strong{display:block;font-size:30px;font-weight:600;margin:15px 0 8px;letter-spacing:-1px}.kpi small{color:var(--muted)}.scope{font-size:11px;line-height:1.6;color:var(--muted);margin-top:13px}.section{margin-top:54px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px;gap:20px}.section-head .eyebrow{margin-bottom:11px}h2{font-size:27px;letter-spacing:-.8px;font-weight:600;margin:0}.section-head>p{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.province-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.province-card{background:white;border:1px solid var(--line);border-radius:10px;padding:25px}.province-title{display:flex;justify-content:space-between;align-items:center}.province-title h3{font-size:20px;margin:0}.tag{font-size:10px;color:var(--muted);background:var(--paper);padding:6px 8px;border-radius:4px}.volumes{margin:24px 0;padding-bottom:20px;border-bottom:1px solid var(--line);min-height:87px}.volume{display:flex;justify-content:space-between;margin:10px 0;font-size:12px;gap:10px}.volume span{color:var(--muted)}.costline{display:flex;justify-content:space-between;margin:12px 0;font-size:12px}.costline span{color:var(--muted)}.savingline{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--green)}.savingline strong{font-size:21px}.negative{color:var(--amber)!important}.legend{display:flex;gap:18px;font-size:11px;color:var(--muted)}.legend i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:2px}.ref{background:#b9c7c1}.mpn{background:var(--green)}.segments{display:grid;grid-template-columns:1fr 1fr;gap:18px}.segment{background:white;border:1px solid var(--line);border-radius:10px;padding:25px}.segment-top{display:flex;justify-content:space-between;gap:15px;align-items:start}.segment h3{font-size:16px;margin:0 0 8px}.segment small{color:var(--muted);font-size:11px}.pill{padding:6px 9px;border-radius:5px;color:var(--green);background:var(--mint);white-space:nowrap;font-size:11px}.pill.negative{background:#f7eadf}.barline{display:grid;grid-template-columns:65px 1fr 95px;gap:10px;align-items:center;font-size:11px;margin-top:20px}.barline+.barline{margin-top:12px}.barline>span{color:var(--muted)}.track{height:9px;border-radius:3px;background:#f0f3ef}.bar{height:100%;border-radius:3px}.barline b{text-align:right;font-weight:500}.segment-foot{font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:18px}input[type=search]{width:100%;max-width:420px;padding:13px 16px;border:1px solid var(--line);border-radius:7px;background:white;margin-bottom:18px;color:var(--ink)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:white}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:right;background:#eef2ed;padding:15px;white-space:nowrap;font-weight:500;color:var(--muted);font-size:10px}th:first-child,th:nth-child(2){text-align:left}td{padding:17px 15px;border-top:1px solid var(--line);text-align:right;white-space:nowrap}td:first-child,td:nth-child(2){text-align:left}td:first-child{white-space:normal;min-width:265px;max-width:350px}td small{display:block;font-size:9px;color:var(--muted);margin-top:5px;line-height:1.5}td.gain{color:var(--green);font-weight:600}.method{background:#eaf0e8;padding:35px;border-radius:12px}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 45px;margin-top:24px}.method h3{font-size:14px}.method p{color:var(--muted);font-size:12px;line-height:1.8}details{border-top:1px solid #cdd9cd;margin-top:25px;padding-top:20px}summary{cursor:pointer;font-weight:600;font-size:12px}details .table-wrap{margin-top:20px}footer{display:flex;justify-content:space-between;align-items:center;padding:40px 0;font-size:11px;color:var(--muted)}footer strong{color:var(--ink);letter-spacing:1px}footer span{display:block;margin-top:7px}footer p{text-align:right;line-height:1.7}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #67bda4;outline-offset:3px}.empty{padding:30px;color:var(--muted)}@media(max-width:800px){.hero{grid-template-columns:1fr;gap:25px;padding-top:35px}.hero-stat{padding:27px}.hero-stat strong{font-size:44px}.subbrand,.divider{display:none}.toolbar{flex-wrap:wrap}.toolbar>div{flex:1}select{width:100%;min-width:150px}.kpis,.province-grid{grid-template-columns:1fr}.kpi strong{font-size:30px}.segments{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.method-grid{grid-template-columns:1fr}.method{padding:24px}h2{font-size:24px}header{padding:0 5%;gap:10px}header .outline{font-size:10px;padding:10px}.brand{font-size:10px}.hero-meta{gap:15px}footer{gap:20px}}@media print{header button,.toolbar,#search,#csv{display:none}body{background:white}main{max-width:none;padding:0}.hero{padding:25px 0}.hero-stat{print-color-adjust:exact;-webkit-print-color-adjust:exact}.section{margin-top:25px}.province-grid,.kpis{grid-template-columns:repeat(3,1fr)}.segment,.province-card,.kpi{break-inside:avoid}h1{font-size:35px}.hero-stat strong{font-size:35px}.table-wrap{overflow:visible}table{font-size:9px}td{white-space:normal;padding:8px}.method{break-before:page}footer{padding:20px 0}.scope{font-size:9px}}

[hidden]{display:none!important}.login-panel{max-width:480px;margin:70px auto;padding:36px;background:white;border:1px solid #dce5e2;border-radius:20px;box-shadow:0 15px 60px #102a2510}.login-panel h1{font-size:36px;line-height:1.1}.login-panel p{line-height:1.6}.login-panel label{display:block;margin:22px 0 8px}.login-panel input{display:block;width:100%;box-sizing:border-box;padding:14px;margin-top:8px;border:1px solid #bbc9c5;border-radius:8px;font:inherit}.primary{padding:14px 20px;background:#133f36;color:white;border:0;border-radius:8px;font:inherit;cursor:pointer}.primary:disabled{opacity:.5;cursor:default}.app-message{max-width:1200px;margin:20px auto;padding:0 20px}.admin-panel{padding:24px;background:#ecf4f1;border:1px solid #c3dad0;border-radius:12px;margin:20px 0}.admin-panel summary{font-weight:700;cursor:pointer}.admin-panel p{line-height:1.6}.admin-panel input{margin:16px;max-width:100%}.toolbar{flex-wrap:wrap}.actions{display:flex;gap:8px}#periodControls select{margin-right:8px}@media(max-width:600px){.login-panel{margin:30px 16px;padding:24px}.brand .subbrand,.brand .divider{display:none}.actions{flex-wrap:wrap}.admin-panel input{margin:16px 0}}@media print{.admin-panel,.app-message,.login-panel,.actions{display:none!important}}

.net-cost-note{padding:24px 28px;border-left:4px solid #25866b;border-radius:0 12px 12px 0;background:#eaf3ee;margin:24px 0}.net-cost-note strong{color:#143f36;font-size:19px}.net-cost-note p{margin-bottom:0;line-height:1.7}
.conversion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.conversion-grid label{display:flex;flex-direction:column;gap:8px;font-weight:600}.conversion-grid input,.conversion-grid select{padding:14px;border:1px solid #b8cdc5;border-radius:8px;font:inherit;background:white;color:#173f35;min-width:0}.conversion-result{margin:24px 0;padding:26px;background:#eaf3ee;border-radius:14px}.conversion-result strong{display:block;font-size:32px;margin-top:10px}.conversion-result p{margin-bottom:0}@media(max-width:650px){.conversion-grid{grid-template-columns:1fr}}@media print{#calculatrice{display:none}}
/* Contraste explicite pour les aperçus et les navigateurs en mode sombre. */
:root{color-scheme:light;--ink:#17352e;--muted:#465950;--green:#146047;--amber:#8a390c}
body{background:#f5f7f3;color:#17352e}input,select,button{color-scheme:light}select option{background:#ffffff;color:#172e28}.outline{background:#ffffff;color:#17352e;border-color:#657c70}a.outline{display:inline-block;text-decoration:none;padding:12px 18px;border:1px solid #657c70;border-radius:7px;font-weight:600}
#calculatrice{background:#ffffff;color:#172e28;padding:30px;border:1px solid #9db3a7;border-radius:14px}#calculatrice h2,#calculatrice label,#convInputLabel{color:#172e28}#calculatrice>p{color:#405449}#calculatrice .eyebrow{color:#146047}#calculatrice input,#calculatrice select{background:#ffffff!important;color:#172e28!important;-webkit-text-fill-color:#172e28;border:2px solid #657c70;opacity:1;font-size:17px}#calculatrice option{background:#ffffff;color:#172e28}#calculatrice input::placeholder{color:#52655a;opacity:1}#calculatrice .conversion-result{background:#173f35;color:#ffffff;border:1px solid #173f35}#calculatrice .conversion-result span,#calculatrice .conversion-result strong,#calculatrice .conversion-result p{color:#ffffff!important}#calculatrice .scope{font-size:13px;color:#405449;line-height:1.7}#convReset{background:#ffffff;color:#173f35;border:2px solid #657c70;font-weight:600}#calculatrice :focus-visible{outline:3px solid #0066b3;outline-offset:3px}@media(max-width:650px){#calculatrice{padding:20px}.conversion-result strong{font-size:28px}}
