.edf-summary {display: grid;grid-template-columns: repeat(5, minmax(0, 1fr));gap: 14px;}
.edf-summary h2 {grid-column: 1 / -1;}
.edf-summary article {display: flex;flex-direction: column;gap: 8px;min-width: 0;}
.edf-summary small {color: var(--color-muted);}
.edf-change-up {color: #b42318 !important;}
.edf-change-down {color: #167647 !important;}
.edf-chart {display: flex;align-items: flex-end;gap: 0;min-height: 205px;padding: 20px 5px 5px;overflow-x: auto;border-bottom: 1px solid var(--color-border);}
.edf-bar-column {display: flex;flex: 1 0 30px;flex-direction: column;align-items: center;justify-content: flex-end;min-height: 185px;gap: 4px;}
.edf-bar-value {color: var(--color-muted);font-size: .72rem;font-variant-numeric: tabular-nums;}
.edf-bar {width: min(42px, 90%);min-height: 3px;border-radius: 5px 5px 0 0;background: var(--color-accent);}
.edf-bar-month {color: var(--color-muted);font-size: .68rem;white-space: nowrap;}
.edf-price-chart {display: grid;grid-template-columns: auto 1fr;column-gap: 12px;margin: 12px 0 22px;}
.edf-price-range {display: flex;flex-direction: column;justify-content: space-between;padding: 8px 0 25px;color: var(--color-muted);font-size: .76rem;white-space: nowrap;}
.edf-price-chart svg {width: 100%;height: 210px;overflow: visible;}
.edf-price-gridline {stroke: var(--color-border);stroke-width: 1;}
.edf-price-line {fill: none;stroke: var(--color-accent);stroke-width: 4;stroke-linecap: round;stroke-linejoin: round;vector-effect: non-scaling-stroke;}
.edf-price-point {fill: #fff;stroke: var(--color-accent-strong);stroke-width: 2;vector-effect: non-scaling-stroke;}
.edf-price-dates {grid-column: 2;display: flex;justify-content: space-between;color: var(--color-muted);font-size: .76rem;}

.edf-compact-panel > summary {cursor: pointer;}
.edf-compact-panel[open] > summary {margin-bottom: 10px;}
.edf-compact-panel .edf-table {--table-font-size: .8rem;--table-cell-padding: 5px 7px;}
.edf-invoice-count {color: var(--color-muted);}
@media (max-width: 1000px) {.edf-summary {grid-template-columns: repeat(3, minmax(0, 1fr));}}
@media (max-width: 700px) {.edf-page {padding-inline: 0;}.edf-summary {grid-template-columns: repeat(2, minmax(0, 1fr));gap: 8px;}}
@media (max-width: 440px) {.edf-summary {grid-template-columns: 1fr;}}
.edf-table {--table-min-width: 740px;--table-font-size: .88rem;--table-heading-size: .84rem;}
.edf-summary .edf-unit {white-space: nowrap;}
.edf-summary .edf-price-evolution {white-space: nowrap;}
/* Historical analysis pages share the site's cards, tabs and table components. */
.edf-page .edf-summary {grid-template-columns: repeat(4, minmax(0, 1fr));}
.edf-page .edf-line-chart {overflow-x: auto;margin: 16px 0 4px;}
.edf-page .edf-line-chart svg {display: block;width: 100%;min-width: 620px;height: auto;}
.edf-page .edf-axis {fill: var(--color-muted);font-size: 12px;}
.edf-page .edf-line {fill: none;stroke-width: 2.5;stroke-linecap: round;stroke-linejoin: round;vector-effect: non-scaling-stroke;}
.edf-page .edf-point {fill: white;stroke-width: 1.5;vector-effect: non-scaling-stroke;}
.edf-page .edf-stroke-0 {stroke: var(--color-accent);}
.edf-page .edf-stroke-1 {stroke: #b45d10;stroke-dasharray: 7 4;}
.edf-page .edf-stroke-2 {stroke: #21805d;stroke-dasharray: 2 4;}
.edf-page .edf-legend {display: flex;flex-wrap: wrap;gap: 10px 24px;}
.edf-page .edf-legend span::before {content: "";display: inline-block;width: 22px;margin-right: 7px;vertical-align: middle;border-top: 3px solid;}
.edf-page .edf-series-0 {color: var(--color-accent-strong);}
.edf-page .edf-series-1 {color: #a34f08;}
.edf-page .edf-series-1::before {border-top-style: dashed;}
.edf-page .edf-series-2 {color: #18734f;}
.edf-page .edf-series-2::before {border-top-style: dotted;}
.edf-page .edf-year-form {display: flex;flex-wrap: wrap;align-items: end;gap: 12px;margin-bottom: 20px;}
.edf-page .edf-year-form label {display: flex;flex-direction: column;gap: 5px;}
.edf-page .edf-details {margin-top: 18px;}
.edf-page details > summary {cursor: pointer;}
.edf-page details[open] > summary {margin-bottom: 14px;}
.edf-page .edf-bar--flag {background: #b45d10;}
.edf-page .edf-table {--table-cell-padding: 8px 10px;}
@media (max-width: 900px) {.edf-page .edf-summary {grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 440px) {.edf-page .edf-summary {grid-template-columns: 1fr;}}
.edf-page [data-edf-tooltip] {cursor: crosshair;}
.edf-page .edf-bar-column:hover .edf-bar, .edf-page .edf-bar-column:focus .edf-bar {filter: brightness(.85);}
.edf-page .edf-bar-column:focus-visible {outline: 2px solid var(--color-accent);outline-offset: -2px;border-radius: 5px;}
.edf-page .edf-chart-hit {fill: transparent;}
.edf-page .edf-chart-hit:hover, .edf-page .edf-chart-hit:focus {fill: var(--color-accent-soft);outline: none;}
.edf-page .edf-chart-hit:focus-visible {stroke: var(--color-accent);stroke-width: 1;}
.edf-page .edf-chart-tooltip {position: fixed;z-index: 1200;pointer-events: none;max-width: min(360px, calc(100vw - 24px));padding: 11px 14px;border-radius: 8px;background: #24323e;color: #fff;box-shadow: 0 4px 18px rgb(0 0 0 / 20%);font-size: .85rem;line-height: 1.6;white-space: pre-line;}
.edf-page .edf-chart-tooltip[hidden] {display: none;}
.edf-page .edf-summary--prices {grid-template-columns: repeat(3, minmax(0, 1fr));}
@media (max-width: 900px) {.edf-page .edf-summary--prices {grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 440px) {.edf-page .edf-summary--prices {grid-template-columns: 1fr;}}
.edf-page .edf-annual-detail {display: block;max-width: 240px;margin-top: 4px;color: var(--color-muted);white-space: normal;}
.edf-page #prix {scroll-margin-top: 100px;}
.edf-page .edf-annual-dual svg {min-width: 760px;}
.edf-page .edf-annual-column--kwh {fill: var(--color-accent);}
.edf-page .edf-annual-column--price {fill: #21805d;}
.edf-page .edf-annual-kwh-text {fill: var(--color-accent-strong);}
.edf-page .edf-annual-price-text {fill: #18734f;}
.edf-page .edf-annual-price-label {color: #18734f;}
.edf-page .edf-annual-column--partial {stroke: #26323c;stroke-width: 1.4;stroke-dasharray: 4 3;vector-effect: non-scaling-stroke;}
/* Les cinq indicateurs de la vue d’ensemble, dont les deux moyennes. */
.edf-page .edf-summary--overview {grid-template-columns: repeat(5, minmax(0, 1fr));}
@media (max-width: 1000px) {.edf-page .edf-summary--overview {grid-template-columns: repeat(3, minmax(0, 1fr));}}
@media (max-width: 700px) {.edf-page .edf-summary--overview {grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 440px) {.edf-page .edf-summary--overview {grid-template-columns: 1fr;}}
