/* Charges consultation 1.0 — styles limités à cette page et son widget. */
.charges-page.page-content{max-width:1280px}
.charges-page .charges-lead{font-size:17px;max-width:850px;margin:0 0 22px}
.charges-rules{border:1px solid #d7dfe5;border-radius:10px;padding:15px 18px;margin:0 0 30px;background:#f6f8fa}
.charges-rules summary{cursor:pointer;font-size:15px;font-weight:700;line-height:1.5}
.charges-rules .detail-copy{margin-top:20px}.charges-rules .detail-copy p,.charges-rules .detail-copy li{font-size:15px}
.charges-rules ul{margin-top:0}
.charges-widget{--blue:#253244;--ink:#253244;--muted:#405873;--edge:#d7e1ea;--panel:#fff;--accent:#253244;color:var(--ink);font:15px/1.5 Arial,Helvetica,sans-serif;min-width:0}
.charges-widget *, .charges-widget *::before,.charges-widget *::after{box-sizing:border-box}
.charges-widget [hidden]{display:none!important}
.charges-widget button,.charges-widget input,.charges-widget select{font:inherit;line-height:1.4}
.charges-widget button{cursor:pointer;min-height:42px}
.charges-widget button:disabled{opacity:.45;cursor:default}
.charges-widget button:focus-visible,.charges-widget select:focus-visible,.charges-widget input:focus-visible,.charges-widget summary:focus-visible,.charges-rules summary:focus-visible{outline:3px solid #0b7bba;outline-offset:4px}
.charges-widget .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.charges-widget .widget-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
.charges-widget .eyebrow{font-size:12px;letter-spacing:.1em;font-weight:700;color:var(--muted);margin:0 0 7px}
.charges-widget h2{font-size:26px;font-weight:600;letter-spacing:-.5px;line-height:1.25;margin:0}
.charges-widget .subtitle{font-size:14px;color:var(--muted);margin:8px 0 0}
.charges-widget .freshness{font-size:13px;border:1px solid var(--edge);border-radius:10px;background:#f4f7fa;padding:12px 17px;min-width:210px;color:var(--muted)}
.charges-widget .freshness strong{display:block;font-size:17px;color:var(--ink);margin:3px 0}
.charges-widget #cc-reading-age{font-size:13px;color:#304a68;font-weight:700}
.charges-widget .panel{background:var(--panel);border:1px solid var(--edge);border-radius:16px;padding:23px 25px;box-shadow:0 4px 22px #173c6b06;margin-bottom:19px}
.charges-widget .control-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:bold;color:var(--muted)}
.charges-widget .metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:11px}
.charges-widget .metric{border:1px solid var(--metric-edge,#cbd7e5);background:var(--tint,#eef3f7);border-radius:10px;color:var(--metric-ink,#24425d);font-size:15px;font-weight:bold;padding:13px 10px;position:relative}
.charges-widget .metric::before{content:'';display:inline-block;width:8px;height:8px;background:var(--color,#53728d);border-radius:50%;margin-right:9px}
.charges-widget .metric[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--color,#53728d);background:var(--selected,#d9e5ef)}
.charges-widget .metric[data-category=electricite]{--color:#194cd2;--metric-edge:#a6c4ec;--tint:#eef5ff;--selected:#d5e7ff;--metric-ink:#1a4291}
.charges-widget .metric[data-category=gaz]{--color:#b66414;--metric-edge:#e7c695;--tint:#fff6e8;--selected:#fbe6c6;--metric-ink:#835016}
.charges-widget .metric[data-category=eau]{--color:#0582a6;--metric-edge:#9ecfdb;--tint:#ecfafd;--selected:#ccedf5;--metric-ink:#166b82}
.charges-widget .circuits{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.charges-widget .circuits:empty{display:none}
.charges-widget .circuits button{border:1px solid #dde3ec;background:#f8f9fc;color:#51657c;border-radius:8px;min-height:36px;font-size:12px;padding:7px 12px}
.charges-widget .circuits button[aria-pressed=true]{border-color:#5268bf;background:#e9edff;color:#293c8c;box-shadow:inset 0 0 0 1px #5268bf}
.charges-widget .separator{height:1px;background:#e4ebf2;margin:22px 0}
.charges-widget .period-controls{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.charges-widget .tabs{display:flex;border-radius:10px;background:#eff3f8;padding:4px;gap:4px}
.charges-widget .tabs button{border:0;background:none;border-radius:7px;color:#566e8a;min-width:120px;min-height:38px;font-size:13px;font-weight:bold;padding:8px 15px}
.charges-widget .tabs button[aria-pressed=true]{background:#fff;color:#1b40a3;box-shadow:0 2px 6px #122d5915}
.charges-widget .month-control{display:flex;gap:4px;align-items:center}
.charges-widget .month-control button{border:1px solid #d9e2ed;background:white;color:#254775;border-radius:7px;width:36px;font-size:23px;min-height:38px}
.charges-widget .month-control select{border:1px solid #ccd8e6;background:white;color:var(--ink);border-radius:7px;padding:8px 35px 8px 13px;font-size:14px;min-height:38px}
.charges-widget .text-button{border:0;background:none;color:#355d9a;font-size:12px;margin-left:auto;min-height:36px;text-decoration:underline;text-underline-offset:3px}
.charges-widget .years-line{margin-top:22px}
.charges-widget .muted{color:var(--muted);font-size:12px}
.charges-widget .years{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.charges-widget .year{border:1px solid #dce4ee;border-radius:8px;background:#f5f7fa;padding:8px 14px;color:#526780;min-height:36px;font-size:13px;font-weight:bold}
.charges-widget .year[aria-pressed=true]{color:var(--year);border-color:var(--year);background:var(--year-tint);box-shadow:inset 0 0 0 .5px var(--year)}
.charges-widget .year[aria-pressed=true]::before{content:'✓';margin-right:7px}
.charges-widget .equal{display:flex;align-items:flex-start;gap:8px;margin-top:20px;font-size:12px;color:#4c6580;line-height:1.5}
.charges-widget .equal input{accent-color:var(--blue);margin:2px 0 0;width:15px;height:15px}
.charges-widget .hint{font-size:12px;color:var(--muted);line-height:1.6;margin:8px 0 0}
.charges-widget .chart-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}
.charges-widget h2{font-size:21px;letter-spacing:-.4px;margin:0}
.charges-widget .chart-heading .eyebrow{margin-bottom:6px}
.charges-widget .export{border:1px solid #cbd9e8;color:#365b8e;background:#f6f9fd;border-radius:8px;padding:9px 13px;font-size:12px;white-space:nowrap;min-height:36px}
.charges-widget .legend{display:flex;gap:20px;flex-wrap:wrap;margin:22px 0 8px}
.charges-widget .legend button{display:flex;gap:9px;align-items:center;background:none;border:0;font-size:13px;font-weight:bold;padding:0;min-height:28px;color:var(--year)}
.charges-widget .legend-line{width:25px;height:0;border-top:3px solid var(--year)}
.charges-widget .legend button:nth-child(2) .legend-line{border-top-style:dashed}
.charges-widget .legend button:nth-child(3) .legend-line{border-top-style:dotted}
.charges-widget .chart{position:relative;min-width:0}
.charges-widget .chart svg{width:100%;display:block;overflow:visible;touch-action:pan-y}
.charges-widget .axis-label{font-size:11px;fill:#647b92}
.charges-widget .gridline{stroke:#e1eaf3;stroke-width:1}
.charges-widget .dot{cursor:pointer;outline:none}
.charges-widget .dot:focus-visible{stroke:#142b50;stroke-width:3px}
.charges-widget .tooltip{position:absolute;z-index:5;max-width:260px;background:#132c4e;color:white;border-radius:9px;padding:11px 14px;box-shadow:0 6px 16px #17304928;pointer-events:none;font-size:12px;line-height:1.65;white-space:pre-line}
.charges-widget .empty{padding:50px 12px;text-align:center;color:var(--muted);font-size:14px;background:#f6f9fc;border-radius:10px}
.charges-widget .summaries{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:19px}
.charges-widget .summary-card{padding:21px 22px;background:#fff;border:1px solid var(--edge);border-top:3px solid var(--year);border-radius:13px;box-shadow:0 4px 22px #173c6b06}
.charges-widget .summary-card h3{font-size:16px;color:var(--year);margin:0 0 18px}
.charges-widget .total-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.charges-widget .total{font-size:29px;font-weight:bold;letter-spacing:-1px;line-height:1.3;margin:5px 0 15px}
.charges-widget .total small{font-weight:400;letter-spacing:0;color:var(--muted);font-size:14px;margin-left:6px}
.charges-widget .companion-totals{border-bottom:1px solid #e4ebf3;padding-bottom:9px;margin-bottom:13px}
.charges-widget .stat{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:9px 0;font-size:12px;color:var(--muted)}
.charges-widget .stat strong{color:var(--ink);font-weight:400;text-align:right}
.charges-widget .coverage{font-size:11px;line-height:1.5;color:#476786;padding-top:13px;border-top:1px solid #e4ebf3;margin:15px 0 0}
.charges-widget .coverage.partial{color:#975a10}
.charges-widget .details{font-size:12px;color:#526b85;line-height:1.7}
.charges-widget .details summary{font-size:13px;font-weight:bold;color:#304d72;cursor:pointer}
.charges-widget .details p{margin:14px 0}
.charges-widget .quality-list{padding-left:19px}
.charges-widget .table-wrap{overflow-x:auto;margin-top:20px}
.charges-widget table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}
.charges-widget caption{text-align:left;font-weight:bold;color:var(--ink);padding-bottom:10px}
.charges-widget th,.charges-widget td{padding:9px 11px;border-bottom:1px solid #e3ebf3;text-align:left}
.charges-widget th{background:#f1f6fb;color:#46617d}
.charges-widget .notice{background:#fff1db;border:1px solid #e5c495;color:#785219;padding:16px 20px;margin-bottom:20px;border-radius:12px;font-size:13px;line-height:1.6}
@media(min-width:1500px){.charges-widget .chart-panel{padding:28px 32px}}
@media(max-width:800px){.charges-widget .intro{align-items:flex-start;gap:14px}
.charges-widget .freshness{min-width:190px}
.charges-widget .metrics{gap:8px}
.charges-widget .panel{padding:20px}
.charges-widget .period-controls{gap:10px}
.charges-widget .tabs button{min-width:100px}
.charges-widget .text-button{margin-left:0}
.charges-widget .summaries{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
@media(max-width:540px){.charges-widget .brand img{width:56px;height:34px}
.charges-widget .intro{display:block;padding-bottom:19px}
.charges-widget h1{font-size:29px;letter-spacing:-1px}
.charges-widget h1 span{margin-left:5px}
.charges-widget .subtitle{font-size:12px}
.charges-widget .freshness{margin-top:17px;padding:10px 13px;min-width:0;width:100%}
.charges-widget .freshness strong{font-size:14px;display:inline-block;margin:0 10px}
.charges-widget .freshness>div{display:flex;align-items:baseline;flex-wrap:wrap}
.charges-widget .panel{padding:18px 13px;border-radius:12px;margin-bottom:14px}
.charges-widget .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.charges-widget .metric{font-size:14px;padding:12px 8px}
.charges-widget .circuits{gap:6px}
.charges-widget .circuits button{padding:7px 9px;font-size:11px}
.charges-widget .separator{margin:18px 0}
.charges-widget .period-controls{gap:13px;justify-content:space-between}
.charges-widget .tabs{width:100%}
.charges-widget .tabs button{flex:1}
.charges-widget .month-control select{font-size:13px}
.charges-widget .text-button{font-size:11px}
.charges-widget .year{padding:8px 10px}
.charges-widget .years{gap:7px}
.charges-widget .years-line{margin-top:18px}
.charges-widget .chart-heading{align-items:flex-start}
.charges-widget h2{font-size:18px}
.charges-widget .export{font-size:11px;padding:8px 9px}
.charges-widget .legend{gap:17px;margin-top:17px}
.charges-widget .legend button{font-size:12px}
.charges-widget .chart-panel{padding-bottom:16px}
.charges-widget .summaries{grid-template-columns:1fr;gap:12px}
.charges-widget .summary-card{padding:17px}
.charges-widget .summary-card h3{margin-bottom:12px}
.charges-widget .total{font-size:28px}
.charges-widget .details{font-size:11px}
.charges-widget .tooltip{font-size:11px;max-width:225px}
.charges-widget .hint{font-size:11px}
.charges-widget th,.charges-widget td{padding:8px 6px;font-size:11px}}
@media(prefers-reduced-motion:no-preference){.charges-widget button,.charges-widget a{transition:background-color .12s,border-color .12s,box-shadow .12s}}
.charges-widget .freshness #reading-age{font-size:13px;color:#304a68;font-weight:700}
.charges-widget .control-label,.charges-widget .eyebrow{font-size:12px;color:#405873}
.charges-widget .hint,.charges-widget .muted,.charges-widget .equal,.charges-widget .stat,.charges-widget .details{font-size:13px;color:#405873}
.charges-widget .coverage{font-size:13px;color:#405873}
.charges-widget .axis-label{font-size:12px;fill:#405873}
.charges-widget .circuits button{font-size:13px;min-height:40px}
.charges-widget .year{font-size:14px}
.charges-widget .export{font-size:13px}
.charges-widget .total-label{font-size:12px;color:#405873}
@media(max-width:540px){.charges-widget .metrics [data-category=electricite]{grid-column:1/-1}
.charges-widget .hint,.charges-widget .muted,.charges-widget .equal,.charges-widget .details,.charges-widget .coverage{font-size:12px}
.charges-widget .stat{font-size:13px}
.charges-widget .circuits button{font-size:12px}
.charges-widget .freshness #reading-age{font-size:13px}
.charges-widget .export{font-size:12px}
.charges-widget th,.charges-widget td{font-size:12px}}
/* Harmonisation avec le site de la colocation. */
.charges-widget .panel{box-shadow:none}
.charges-widget .month-control select{width:auto;margin:0;min-height:42px;max-width:180px}
.charges-widget .month-control button{min-width:38px;min-height:42px}
.charges-widget .equal input{display:inline-block;flex:none;padding:0;width:17px;height:17px;margin:2px 0 0}
.charges-widget .equal{font-size:13px;cursor:pointer}
.charges-widget .control-label,.charges-widget .total-label{font-size:12px}
.charges-widget .hint,.charges-widget .muted,.charges-widget .stat,.charges-widget .details,.charges-widget .coverage{font-size:13px;color:#405873}
.charges-widget .year{font-size:14px;min-height:42px}
.charges-widget .axis-label{font-size:12px;fill:#405873}
.charges-widget .coverage.partial{color:#89520a}
.charges-widget .chart-heading h2{font-size:21px}
.charges-widget .summary-card h3{font-weight:700}
.charges-widget .details summary{min-height:24px;font-size:14px}
.charges-widget .index-table{width:max-content;min-width:100%;font-size:13px}
.charges-widget .index-table th,.charges-widget .index-table td{white-space:nowrap;text-align:right;font-size:13px}
.charges-widget .index-table th:first-child{text-align:left}
.charges-widget .index-table tbody th{font-weight:400;background:transparent}
.charges-widget .index-table th:nth-child(4),.charges-widget .index-table td:nth-child(4),.charges-widget .index-table th:nth-child(6),.charges-widget .index-table td:nth-child(6){border-left:1px solid var(--edge)}
.charges-widget .source-note{font-size:12px;color:#405873;margin:10px 0 0}
.charges-widget .retry{margin:0 0 18px}
@media(max-width:600px){
.charges-page .charges-lead{font-size:16px}.charges-page.page-content h1{font-size:30px}
.charges-widget .widget-intro{display:block}
.charges-widget h2{font-size:24px}
.charges-widget .freshness{margin-top:16px;min-width:0;padding:11px 14px}
.charges-widget .freshness>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 12px}
.charges-widget .freshness strong{font-size:16px;margin:0}
.charges-widget .chart-heading h2{font-size:19px}
.charges-widget .metric{font-size:15px;min-height:46px}
.charges-widget .hint,.charges-widget .details,.charges-widget .coverage{font-size:13px}
.charges-widget .equal{font-size:13px}
.charges-widget .stat{font-size:13px;gap:8px}
.charges-widget .chart-heading{flex-wrap:wrap;gap:12px}
.charges-widget .export{font-size:13px;min-height:42px}
.charges-widget .index-table{font-size:12px}
}

.charges-widget .interval-note{display:block;font-size:12px;color:#785219}
