.hed27{--g:#078b2c;--ink:#101827;--muted:#526078;--line:#e0e7ef;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#f7faf8;padding:6px}.hed27 *{box-sizing:border-box}.hed27-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:10px}.hed27-main,.hed27-side{background:#fff;border:1px solid #dfe8e2;border-radius:17px;box-shadow:0 8px 28px rgba(20,54,33,.035)}.hed27-main{padding:16px 16px 0}.hed27-head,.hed27-side>header,.hed27-chartbox>header,.hed27-chartbox>footer{display:flex;justify-content:space-between;align-items:flex-start}.hed27-head>div:first-child>span{color:#067e25;font-size:12px;font-weight:800}.hed27-head h2{font-size:29px;line-height:1.05;margin:5px 0}.hed27-head p{margin:0;color:var(--muted);font-size:11px}.hed27-head p i,.hed27-side>header i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#079530;margin:0 5px}.hed27-provider{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:12px}.hed27-provider small{color:var(--muted)}.hed27-provider button,.hed27-chartbox button{border:0;background:#fff;color:var(--g);font-size:20px;cursor:pointer}.hed27-cards{display:grid;grid-template-columns:1.25fr .95fr 1.08fr .72fr .85fr;gap:10px;margin-top:14px}.hed27-cards article{min-height:122px;border:1px solid var(--line);border-radius:13px;padding:13px;display:flex;flex-direction:column}.hed27-cards small,.hed27-cards span{font-size:11px;color:#4e5a72}.hed27-cards strong{font-size:25px;line-height:1.1;margin:10px 0 2px}.hed27-cards .green{color:var(--g)}.hed27-cards em{align-self:flex-start;background:#e7f7eb;color:#087a29;border-radius:99px;padding:3px 8px;font-size:10px;font-style:normal;margin-top:6px}.hed27-cards p{display:flex;justify-content:space-between;gap:5px;margin:auto 0 0;font-size:9px;color:#58657c}.hed27-cards p i{color:var(--g);font-style:normal}.hed27-cards p b{color:#e22}.hed27-advice{display:grid;grid-template-columns:1.1fr 1.8fr 175px;gap:20px;align-items:center;border:1px solid #96dca6;border-radius:13px;padding:13px 18px;margin-top:12px}.hed27-advice-lead{border-right:1px solid var(--line)}.hed27-advice span{font-size:11px;color:#087b29;font-weight:800}.hed27-advice strong{display:block;font-size:17px;margin:4px 0}.hed27-advice p,.hed27-advice li{font-size:11px;line-height:1.45}.hed27-advice ul{list-style:none;margin:0;padding:0}.hed27-advice li{margin:7px 0}.hed27-advice li:before{content:"✓";color:#099332;font-weight:800;margin-right:9px}.hed27-block{border:1px solid var(--line);border-radius:11px;padding:10px;font-size:11px}.hed27-block b{float:right;border:1px solid var(--line);border-radius:7px;padding:6px 10px}.hed27-block small{display:block;clear:both;color:var(--g);padding-top:9px}.hed27-chartbox{border:1px solid var(--line);border-radius:13px;padding:13px;margin-top:12px}.hed27-chartbox h3{font-size:17px;margin:0}.hed27-chartbox h3 small,.hed27-chartbox p{font-size:10px;color:#59657a}.hed27-chartbox p{margin:4px 0}.hed27-legend{font-size:10px;color:#43506a}.hed27-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:10px}.hed27-legend .cheap{background:#078b2c}.hed27-legend .normal{background:#9aa9c6}.hed27-legend .expensive{background:#f22}.hed27-legend .solar{width:16px;height:0;border-top:2px dashed #f59e0b;border-radius:0}.hed27-chart{height:280px;margin-top:6px;overflow:hidden}.hed27-chart svg{width:100%;height:100%;display:block}.hed27-chart-loading,.hed27-chart-error{display:grid;place-items:center;height:100%;color:#64748b}.hed27-chart .hed-now{stroke:#078b2c;stroke-width:2}.hed27-chart .hed-best{fill:#ddf6e3;opacity:.75}.hed27-chart .hed-solar{fill:none;stroke:#f59e0b;stroke-width:2;stroke-dasharray:5 3}.hed27-chartbox>footer{align-items:center;border-top:1px solid var(--line);padding-top:8px;font-size:9px;color:#59657a}.hed27-chartbox>footer button{font-size:12px;border:1px solid var(--line);border-radius:9px;padding:7px 12px}.hed27-tabs{display:flex;gap:3px;border-top:1px solid var(--line);margin-top:8px;padding:7px 0}.hed27-tabs>*{font-size:10px;padding:8px 16px;border-radius:8px}.hed27-tabs b{background:#e7f7eb;color:#087b29}.hed27-side{padding:15px 12px}.hed27-side>header h3{color:#087b29;margin:2px 0 10px;font-size:18px}.hed27-side>header b{font-size:11px;color:#087b29}.hed27-side>header b.is-stale{color:#9a6700}.hed27-side>header b.is-offline{color:#c62828}.hed27-battery{display:grid;grid-template-columns:115px 1fr;gap:20px;align-items:center;padding:3px 15px 12px}.hed27-battery-visual{position:relative;width:78px;height:170px;margin:auto}.hed27-cap{position:absolute;top:0;left:25px;width:28px;height:10px;border-radius:5px;background:linear-gradient(90deg,#555,#ddd,#555)}.hed27-shell{position:absolute;inset:8px 0 0;border:4px solid #2a2a2a;border-radius:9px;background:#101010;overflow:hidden}.hed27-fill{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(#43e81a,#0a9712);transition:height .4s}.hed27-shell span{position:absolute;inset:38px 0 auto;text-align:center;color:#caffc2;font-size:42px;z-index:2}.hed27-battery h3{color:#087b29;margin:0}.hed27-battery>div:last-child>strong{font-size:37px}.hed27-battery p{font-size:11px;color:var(--muted)}.hed27-progress{height:9px;border-radius:99px;background:#edf1ee;overflow:hidden}.hed27-progress i{display:block;height:100%;background:var(--g)}.hed27-energy-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:12px;overflow:hidden}.hed27-energy-grid article{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:12px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.hed27-energy-grid article>b{font-size:25px;font-weight:400}.hed27-energy-grid span,.hed27-energy-grid small{display:block;font-size:10px;color:var(--muted)}.hed27-energy-grid strong{display:block;font-size:18px;margin:2px 0}.hed27-energy-grid small{color:var(--g)}.hed27-side dl{display:grid;grid-template-columns:1fr auto;gap:9px;margin:12px 3px;padding:10px 4px;border:1px solid var(--line);border-radius:12px;font-size:11px}.hed27-side dd{margin:0;font-weight:800}.hed27-tomorrow{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:8px}.hed27-tomorrow header{display:flex;justify-content:space-between;align-items:center}.hed27-tomorrow h4{color:#087b29;margin:0;font-size:14px}.hed27-tomorrow header strong{font-size:11px}.hed27-weather-list{margin:9px 0}.hed27-weather-list span{display:flex;justify-content:space-between;font-size:10px;padding:4px 0}.hed27-tomorrow h5{color:#087b29;margin:8px 0 4px;font-size:11px}.hed27-tomorrow p{font-size:10px;line-height:1.5;margin:0}.hed27-side>footer{border-top:1px solid var(--line);padding-top:9px;margin-top:9px;font-size:10px;color:var(--muted);text-align:right}.hed27-note{display:block;text-align:right;color:#7a8598;font-size:9px;padding:4px 8px}.hed-price-badge.is-cheap{background:#e5f7e9!important;color:#087a29!important}.hed-price-badge.is-normal{background:#eef2f7!important;color:#475569!important}.hed-price-badge.is-expensive{background:#ffe9e8!important;color:#c62828!important}.hed27.is-refreshing{opacity:.82}@media(max-width:1250px){.hed27-grid{grid-template-columns:1fr}.hed27-side{max-width:none}.hed27-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.hed27-head,.hed27-chartbox>header{display:block}.hed27-provider{margin-top:10px}.hed27-cards{grid-template-columns:1fr 1fr}.hed27-advice{grid-template-columns:1fr}.hed27-advice-lead{border-right:0;border-bottom:1px solid var(--line);padding-bottom:8px}.hed27-chart{min-width:0}.hed27-chartbox{overflow:hidden}}@media(max-width:480px){.hed27-cards{grid-template-columns:1fr}.hed27-main{padding:12px}.hed27-head h2{font-size:24px}}.hed27-chart .hed-best-zone{fill:#dff5e4;opacity:.62}.hed27-chart .hed-best-edge{stroke:#17953b;stroke-width:1.5;stroke-dasharray:3 3}.hed27-chart-bubble rect{fill:#fff;stroke-width:1.5;filter:drop-shadow(0 2px 3px rgba(16,24,39,.12))}.hed27-chart-bubble text{font-size:10px;font-weight:800;fill:#087b29}.hed27-chart-bubble text.sub{font-size:8px;font-weight:600;fill:#526078}.hed27-chart-bubble path{fill:#fff;stroke-width:1.5}.hed27-chart-bubble.current rect,.hed27-chart-bubble.current path{stroke:#35a653}.hed27-chart-bubble.best rect,.hed27-chart-bubble.best path{stroke:#66bd78}.hed27-chart-bubble.best text{font-size:9px}.hed27-chart .hed-price-bar{transition:opacity .15s}.hed27-chart .hed-price-bar:hover{opacity:.72}

/* v2.9.0 grafiekstabiliteit: voorkom dat thema-CSS SVG-labels zwart maakt. */
.hed27-chart{height:310px;overflow:visible}
.hed27-chart svg{display:block;width:100%;height:100%;overflow:visible}
.hed27-chart .hed-chart-bubble{pointer-events:none}
.hed27-chart .hed-chart-bubble rect{fill:#fff!important;filter:drop-shadow(0 2px 4px rgba(16,24,39,.14))}
.hed27-chart .hed-chart-bubble path{fill:#fff!important}
.hed27-chart .hed-chart-bubble text{fill:#087b29!important;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important}
.hed27-chart .hed-chart-bubble text.sub{fill:#526078!important}
.hed27-chart .hed-price-bar{shape-rendering:geometricPrecision;transition:opacity .15s ease}
.hed27-chart .hed-price-bar:hover{opacity:.74}
.hed27-chartbox>footer span{max-width:78%;line-height:1.4}
@media(max-width:760px){.hed27-chart{height:310px;min-width:0;overflow:hidden}}

/* v2.9.2 — responsive dashboard voor tablet en mobiel. */
.hed27{
    width:100%;
    max-width:100%;
    overflow-x:clip;
}
.hed27-grid,
.hed27-main,
.hed27-side,
.hed27-cards > *,
.hed27-advice > *,
.hed27-chartbox,
.hed27-chart{
    min-width:0;
}
.hed27-cards article,
.hed27-advice,
.hed27-chartbox,
.hed27-side{
    overflow-wrap:anywhere;
}
.hed27-provider{
    max-width:100%;
    flex-wrap:wrap;
}
.hed27-chartbox > header{
    gap:12px;
}
.hed27-legend{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:5px 8px;
}
.hed27-legend i{
    flex:0 0 auto;
    margin-left:0;
}
.hed27-chart{
    width:100%;
    min-width:0!important;
    max-width:100%;
    overflow:hidden!important;
    touch-action:pan-y;
}
.hed27-chart svg{
    max-width:100%;
}
.hed27-tabs{
    max-width:100%;
}

@media (max-width:1250px){
    .hed27-grid{grid-template-columns:minmax(0,1fr)}
    .hed27-side{max-width:none}
    .hed27-side{
        display:grid;
        grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
        gap:10px;
        align-items:start;
    }
    .hed27-side > header,
    .hed27-side > footer{
        grid-column:1/-1;
    }
    .hed27-battery,
    .hed27-energy-grid,
    .hed27-side dl,
    .hed27-tomorrow{
        margin-top:0;
    }
}

@media (max-width:900px){
    .hed27{padding:4px}
    .hed27-main{padding:14px 14px 0}
    .hed27-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
    .hed27-cards article{min-height:112px}
    .hed27-cards article:nth-child(3){grid-column:1/-1}
    .hed27-advice{
        grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
        gap:14px;
    }
    .hed27-advice .hed27-block{grid-column:1/-1}
    .hed27-advice-lead{border-right:1px solid var(--line);border-bottom:0;padding-bottom:0}
    .hed27-side{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
    .hed27{
        padding:0;
        background:transparent;
    }
    .hed27-grid{gap:8px}
    .hed27-main,
    .hed27-side{
        border-radius:12px;
        box-shadow:none;
    }
    .hed27-main{padding:12px 12px 0}
    .hed27-head{
        display:flex;
        flex-direction:column;
        gap:10px;
    }
    .hed27-head h2{
        margin:4px 0;
        font-size:25px;
    }
    .hed27-provider{
        width:100%;
        justify-content:space-between;
        gap:8px;
        border-radius:12px;
        padding:9px 10px;
    }
    .hed27-provider button{
        width:36px;
        height:36px;
        display:grid;
        place-items:center;
        flex:0 0 auto;
    }
    .hed27-cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        margin-top:10px;
    }
    .hed27-cards article{
        min-height:0;
        padding:11px;
    }
    .hed27-cards article:nth-child(1),
    .hed27-cards article:nth-child(2),
    .hed27-cards article:nth-child(3){
        grid-column:1/-1;
    }
    .hed27-cards strong{
        font-size:23px;
        margin-top:8px;
    }
    .hed27-cards p{
        flex-direction:column;
        gap:3px;
        margin-top:8px;
    }
    .hed27-advice{
        grid-template-columns:1fr;
        gap:10px;
        padding:12px;
        margin-top:10px;
    }
    .hed27-advice-lead{
        border-right:0;
        border-bottom:1px solid var(--line);
        padding-bottom:8px;
    }
    .hed27-advice .hed27-block{grid-column:auto}
    .hed27-advice li{margin:5px 0}
    .hed27-chartbox{
        margin-top:10px;
        padding:10px;
        overflow:hidden!important;
    }
    .hed27-chartbox > header{
        display:flex;
        flex-direction:column;
        gap:8px;
    }
    .hed27-chartbox h3{font-size:16px}
    .hed27-legend{justify-content:flex-start}
    .hed27-chart{
        height:300px!important;
        min-width:0!important;
        overflow:hidden!important;
        margin-top:4px;
    }
    .hed27-chartbox > footer{
        display:grid;
        grid-template-columns:1fr;
        gap:9px;
        align-items:stretch;
    }
    .hed27-chartbox > footer span{
        max-width:none;
    }
    .hed27-chartbox > footer button{
        width:100%;
        min-height:42px;
    }
    .hed27-tabs{
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
        padding-bottom:8px;
    }
    .hed27-tabs::-webkit-scrollbar{display:none}
    .hed27-tabs > *{
        flex:0 0 auto;
        min-height:40px;
        display:flex;
        align-items:center;
        white-space:nowrap;
    }
    .hed27-side{
        display:block;
        padding:12px;
    }
    .hed27-side > header{
        align-items:center;
    }
    .hed27-battery{
        grid-template-columns:92px minmax(0,1fr);
        gap:14px;
        padding:4px 8px 12px;
    }
    .hed27-battery-visual{
        width:62px;
        height:136px;
    }
    .hed27-cap{left:19px;width:24px;height:8px}
    .hed27-shell{inset:7px 0 0;border-width:3px}
    .hed27-shell span{inset:31px 0 auto;font-size:34px}
    .hed27-battery > div:last-child > strong{font-size:34px}
    .hed27-energy-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .hed27-energy-grid article{
        min-width:0;
        padding:11px 8px;
        grid-template-columns:27px minmax(0,1fr);
    }
    .hed27-energy-grid article > b{font-size:22px}
    .hed27-energy-grid strong{font-size:17px}
    .hed27-side dl{margin:10px 0}
    .hed27-tomorrow{margin-top:10px}
    .hed27-side > footer{text-align:left}
    .hed27-note{
        text-align:center;
        line-height:1.45;
        padding:8px 12px;
    }
}

@media (max-width:480px){
    .hed27-main{padding:10px 10px 0}
    .hed27-head h2{font-size:23px}
    .hed27-head p{line-height:1.45}
    .hed27-provider small{font-size:10px}
    .hed27-cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .hed27-cards article:nth-child(1),
    .hed27-cards article:nth-child(2),
    .hed27-cards article:nth-child(3){
        grid-column:1/-1;
    }
    .hed27-cards article:nth-child(4),
    .hed27-cards article:nth-child(5){
        grid-column:auto;
    }
    .hed27-cards article:nth-child(4) strong,
    .hed27-cards article:nth-child(5) strong{
        font-size:19px;
    }
    .hed27-advice strong{font-size:16px}
    .hed27-advice p,
    .hed27-advice li{font-size:10.5px}
    .hed27-chartbox{padding:9px 7px}
    .hed27-chart{height:292px!important}
    .hed27-legend{font-size:9px;gap:4px 7px}
    .hed27-tabs > *{padding:8px 13px}
    .hed27-side{padding:10px}
    .hed27-battery{grid-template-columns:80px minmax(0,1fr);gap:10px}
    .hed27-battery-visual{width:54px;height:120px}
    .hed27-cap{left:16px;width:22px}
    .hed27-shell span{inset:27px 0 auto;font-size:30px}
    .hed27-battery > div:last-child > strong{font-size:31px}
    .hed27-energy-grid article{
        grid-template-columns:23px minmax(0,1fr);
        gap:6px;
        padding:10px 7px;
    }
    .hed27-energy-grid span,
    .hed27-energy-grid small{font-size:9px}
    .hed27-energy-grid strong{font-size:15px}
    .hed27-side dl{
        grid-template-columns:minmax(0,1fr) auto;
        gap:8px;
        font-size:10.5px;
    }
}

@media (max-width:360px){
    .hed27-cards{grid-template-columns:1fr}
    .hed27-cards article{grid-column:auto!important}
    .hed27-energy-grid{grid-template-columns:1fr}
    .hed27-chart{height:286px!important}
}

/* v2.9.3 Zendure data mapping */
.hed27-zenki{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:8px;
    padding:9px 11px;
    border:1px solid #cde8d4;
    border-radius:11px;
    background:#f4fbf6;
}
.hed27-zenki div{display:flex;align-items:center;gap:8px;min-width:0}
.hed27-zenki b{color:#087b29;font-size:11px;letter-spacing:.04em}
.hed27-zenki span{font-size:10px;font-weight:700;color:#1f2937}
.hed27-zenki small{font-size:9.5px;color:#087b29;text-align:right}
.hed27-energy-grid small[data-zendure-battery-status],
.hed27-energy-grid small[data-zendure-grid-status]{font-weight:700}
@media(max-width:480px){
    .hed27-zenki{align-items:flex-start;flex-direction:column}
    .hed27-zenki small{text-align:left}
}

/* v2.10.0 — HEMS + ZENKI planning. */
.hed-price-badge.is-very_cheap{background:#d9f8df!important;color:#056b22!important}
.hed-hems-card[data-state="avoid"] strong{color:#c62828}
.hed27-legend .zenki-charge{background:#2563eb}
.hed27-legend .zenki-discharge{background:#f59e0b}
.hed27-legend .hems-use{background:#16a34a;border-radius:2px}
.hed-zenki-plan{margin-top:9px;border:1px solid var(--line);border-radius:12px;padding:11px;background:#fbfdfb}
.hed-zenki-plan>header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.hed-zenki-plan h4{margin:0;color:#087b29;font-size:13px}
.hed-zenki-plan>header span{font-size:9px;color:#526078;border:1px solid var(--line);border-radius:999px;padding:3px 7px}
.hed-zenki-current{padding:9px 0;border-bottom:1px solid var(--line)}
.hed-zenki-current b,.hed-zenki-current small{display:block}
.hed-zenki-current b{font-size:11px}
.hed-zenki-current small{margin-top:3px;color:#526078;font-size:9px;line-height:1.4}
.hed-zenki-plan ul{list-style:none;margin:7px 0;padding:0}
.hed-zenki-plan li{display:grid;grid-template-columns:64px 1fr auto;gap:6px;align-items:center;padding:5px 0;font-size:9.5px;border-bottom:1px dashed #edf1ee}
.hed-zenki-plan li span{color:#087b29;font-weight:800}
.hed-zenki-plan li b{font-size:10px}
.hed-zenki-plan li small{color:#526078;text-align:right}
.hed-hems-next{display:grid;grid-template-columns:72px 1fr;gap:3px 7px;padding-top:7px}
.hed-hems-next span{font-size:9px;color:#087b29;font-weight:800}
.hed-hems-next b{font-size:10.5px}
.hed-hems-next small{grid-column:1/-1;color:#526078;font-size:9px}
.hed27-chart .hed-zenki-charge-window,.hed27-chart .hed-zenki-discharge-window,.hed27-chart .hed-zenki-charge-scheduled,.hed27-chart .hed-zenki-discharge-scheduled{pointer-events:none}
.hed27-advice[data-hems-action="avoid"]{border-color:#ef9a9a;background:#fffafa}
.hed27-advice[data-hems-action="use_now"]{background:#f8fff9}
@media(max-width:760px){
  .hed-zenki-plan li{grid-template-columns:56px 1fr;gap:3px 6px}
  .hed-zenki-plan li small{grid-column:1/-1;text-align:left;padding-left:62px}
}

/* Sprint 11: werkelijke Zendure-zonnestroomcurve. */
.hed27-legend .solar-actual{
    width:18px;
    height:7px;
    border-radius:999px;
    background:linear-gradient(180deg,rgba(246,201,69,.34),rgba(229,167,0,.82));
    border-bottom:2px solid #e5a700;
}
.hed27-chart .hed-solar-production-area,
.hed27-chart .hed-solar-production,
.hed27-chart .hed-solar-production-last{
    pointer-events:none;
}
.hed27-chart .hed-solar-production-hit{
    cursor:help;
    pointer-events:all;
}

/* Sprint 12: Nederlandse zon- en windopwek van NED.nl. */
.hed27-legend .solar-national,
.hed27-legend .wind-national{
    width:18px;
    height:0;
    border-radius:0;
    background:transparent;
}
.hed27-legend .solar-national{border-top:2px dashed #d97706}
.hed27-legend .wind-national{border-top:2px dashed #2563eb}
.hed27-chart .hed-national-solar,
.hed27-chart .hed-national-wind{
    pointer-events:none;
}
.hed27-chart .hed-national-solar-hit,
.hed27-chart .hed-national-wind-hit{
    cursor:help;
    pointer-events:all;
}

/* Sprint 13: historiebediening en dagtotalen. */
.hed-history-controls{
    display:flex;
    align-items:end;
    flex-wrap:wrap;
    gap:8px;
    margin:10px 0 4px;
    padding:10px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fbfdfb;
}
.hed-history-controls button{
    min-height:36px;
    border:1px solid #cbd5e1;
    border-radius:9px;
    padding:7px 11px;
    background:#fff;
    color:#172033;
    font-weight:750;
    cursor:pointer;
}
.hed-history-controls button[data-history-prev],
.hed-history-controls button[data-history-next]{
    width:38px;
    padding:0;
    font-size:23px;
    line-height:1;
}
.hed-history-controls button.is-today{
    border-color:#8fd2a0;
    color:#087b29;
    background:#f4fbf6;
}
.hed-history-controls button:disabled{opacity:.42;cursor:not-allowed}
.hed-history-controls label{display:grid;gap:3px;font-size:9px;color:#526078;font-weight:700}
.hed-history-controls input{
    min-height:36px;
    border:1px solid #cbd5e1;
    border-radius:9px;
    padding:5px 9px;
    background:#fff;
    color:#172033;
    font:inherit;
}
.hed-history-controls strong{margin-left:auto;align-self:center;font-size:11px;color:#087b29}
.hed-history-controls small{flex-basis:100%;font-size:9px;color:#64748b}
.hed-history-controls.is-loading{opacity:.68}
.hed-history-summary{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:7px;
    margin:8px 0 2px;
}
.hed-history-summary[hidden]{display:none!important}
.hed-history-summary article{
    min-width:0;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}
.hed-history-summary span,
.hed-history-summary b,
.hed-history-summary small{display:block}
.hed-history-summary span{font-size:9px;color:#526078}
.hed-history-summary b{margin-top:4px;font-size:13px;color:#172033}
.hed-history-summary small{margin-top:2px;font-size:8.5px;color:#64748b;line-height:1.35}
@media(max-width:900px){
    .hed-history-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
    .hed-history-controls{align-items:center}
    .hed-history-controls label{flex:1;min-width:150px}
    .hed-history-controls input{width:100%;min-width:0}
    .hed-history-controls .is-today{width:100%}
    .hed-history-controls strong{width:100%;margin-left:0}
    .hed-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .hed-history-summary article:last-child{grid-column:1/-1}
}

/* Sprint 14 — compact dashboard, vaste grafiek en instelbare groen/grijs/rood-zones. */
.hed14{padding:4px;background:#f7faf8}
.hed14 .hed27-grid{grid-template-columns:minmax(0,1fr) 330px;gap:8px;align-items:start}
.hed14 .hed27-main{padding:12px 12px 0}
.hed14 .hed27-side{padding:12px 10px}
.hed14 .hed27-head{align-items:center}
.hed14 .hed27-head h2{font-size:24px;margin:3px 0}
.hed14 .hed27-head p{font-size:10px}
.hed14 .hed27-provider{padding:7px 10px;gap:9px}
.hed14-overview{display:grid;grid-template-columns:1.02fr 1.35fr .92fr;gap:8px;margin-top:10px}
.hed14-overview>article{min-width:0;border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}
.hed14-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9.5px;color:#526078}
.hed14-card-head>b{font-size:9px;color:#087b29}
.hed14-price-main{display:flex;align-items:baseline;gap:5px;margin:7px 0 6px}
.hed14-price-main strong{font-size:29px;line-height:1;color:#087b29}
.hed14-price-main small{font-size:9px;color:#64748b}
.hed14-price-row{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#526078}
.hed14-price-row b{color:#172033}
.hed14-zones{display:flex;gap:4px;margin-top:8px}
.hed14-zones span{flex:1;min-width:0;padding:4px 5px;border-radius:6px;text-align:center;font-size:8px;font-weight:800;white-space:nowrap}
.hed14-zones .green{background:#e5f7e9;color:#087a29}
.hed14-zones .grey{background:#eef2f7;color:#475569}
.hed14-zones .red{background:#ffe9e8;color:#c62828}
.hed14-hems-card>strong{display:block;margin:7px 0 3px;font-size:14px;line-height:1.25}
.hed14-hems-card>p{margin:0;color:#526078;font-size:9.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hed14-hems-badge{padding:3px 7px;border-radius:999px;background:#eef2f7;color:#475569!important}
.hed14-hems-window{display:grid;grid-template-columns:auto 1fr auto;gap:5px;align-items:center;margin-top:7px;padding-top:7px;border-top:1px solid var(--line);font-size:9px}
.hed14-hems-window span{color:#526078}.hed14-hems-window b{color:#087b29}.hed14-hems-window small{color:#64748b}
.hed14-hems-card ul{display:flex;gap:8px;list-style:none;margin:7px 0 0;padding:0;overflow:hidden}
.hed14-hems-card li{min-width:0;font-size:8.5px;color:#526078;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.hed14-hems-card li:before{content:"✓";color:#087b29;font-weight:800;margin-right:4px}
.hed14-live-grid{display:grid;grid-template-columns:1fr;gap:7px;margin-top:7px}
.hed14-live-grid>div{display:grid;grid-template-columns:1fr auto;gap:1px 6px;padding-bottom:6px;border-bottom:1px dashed #e7ece8}
.hed14-live-grid>div:last-child{border-bottom:0;padding-bottom:0}
.hed14-live-grid span{font-size:9px;color:#526078}.hed14-live-grid strong{font-size:13px}.hed14-live-grid small{grid-column:1/-1;font-size:8.5px;color:#64748b}
.hed14 .hed27-chartbox{margin-top:8px;padding:9px 10px}
.hed14 .hed27-chartbox>header{align-items:center;gap:10px}
.hed14 .hed27-chartbox h3{font-size:14px;white-space:nowrap}
.hed14 .hed27-legend{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:4px 7px;font-size:8.5px;line-height:1.2}
.hed14 .hed27-legend i{margin-left:0}
.hed14 .hed-history-controls{margin:7px 0 2px;padding:6px 7px;gap:5px;align-items:center}
.hed14 .hed-history-controls button{min-height:30px;padding:4px 8px}
.hed14 .hed-history-controls button[data-history-prev],.hed14 .hed-history-controls button[data-history-next]{width:32px;font-size:19px}
.hed14 .hed-history-controls input{min-height:30px;padding:3px 7px}
.hed14 .hed-history-controls label span{font-size:8px}
.hed14 .hed-history-controls strong{font-size:9.5px}
.hed14 .hed-history-controls small{display:none}
.hed14 .hed-history-summary{gap:5px;margin:5px 0 0}
.hed14 .hed-history-summary article{padding:6px 7px}
.hed14 .hed-history-summary b{font-size:11px}.hed14 .hed-history-summary span,.hed14 .hed-history-summary small{font-size:8px}
.hed14 .hed27-chart{display:block;position:relative;width:100%;height:286px!important;min-height:286px!important;max-height:286px!important;margin-top:2px;overflow:hidden!important;contain:layout paint size;isolation:isolate}
.hed14 .hed27-chart svg{display:block;width:100%!important;height:100%!important;max-height:286px!important;overflow:hidden!important}
.hed14 .hed27-chart-loading,.hed14 .hed27-chart-error{height:286px}
.hed14 .hed27-chartbox>footer{padding-top:5px;min-height:31px}
.hed14 .hed27-chartbox>footer span{max-width:86%;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hed14 .hed27-chartbox>footer button{padding:5px 9px;font-size:10px}
.hed14 .hed27-side>header h3{font-size:16px;margin:0 0 7px}
.hed14-battery{display:grid;grid-template-columns:58px 1fr 1.25fr;gap:10px;align-items:center;padding:3px 4px 9px}
.hed14 .hed27-battery-visual{width:42px;height:90px;margin:0 auto}
.hed14 .hed27-cap{left:12px;width:18px;height:6px}
.hed14 .hed27-shell{inset:5px 0 0;border-width:2px;border-radius:6px}
.hed14 .hed27-shell span{inset:19px 0 auto;font-size:23px}
.hed14-battery>div:nth-child(2)>span{font-size:9px;color:#526078}.hed14-battery>div:nth-child(2)>strong{display:block;font-size:27px;line-height:1.05}.hed14-battery>div:nth-child(2)>small{font-size:9px;color:#087b29}
.hed14 .hed27-progress{height:6px;margin-top:5px}
.hed14-zenki-state{min-width:0;padding-left:9px;border-left:1px solid var(--line)}
.hed14-zenki-state b,.hed14-zenki-state span,.hed14-zenki-state small{display:block}
.hed14-zenki-state b{font-size:9px;color:#087b29}.hed14-zenki-state span{font-size:11px;font-weight:800}.hed14-zenki-state small{margin-top:2px;font-size:8px;line-height:1.3;color:#64748b}
.hed14 .hed27-energy-grid article{grid-template-columns:24px 1fr;gap:5px;padding:8px 7px}
.hed14 .hed27-energy-grid article>b{font-size:18px}.hed14 .hed27-energy-grid strong{font-size:14px;margin:1px 0}.hed14 .hed27-energy-grid span,.hed14 .hed27-energy-grid small{font-size:8.5px}
.hed14-plan{margin-top:7px;padding:8px 9px}
.hed14-plan h4{font-size:11px}.hed14-plan .hed-zenki-current{padding:6px 0}.hed14-plan .hed-zenki-current b{font-size:10px}.hed14-plan .hed-zenki-current small{font-size:8px}
.hed14-plan ul{margin:4px 0}.hed14-plan li{grid-template-columns:52px 1fr auto;padding:3px 0;font-size:8.5px}.hed14-plan li:nth-child(n+3){display:none}.hed14-plan .hed-hems-next{padding-top:5px}
.hed14-tomorrow{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:5px;margin-top:7px;padding:7px;border:1px solid var(--line);border-radius:10px;background:#fbfdfb}
.hed14-tomorrow div{min-width:0}.hed14-tomorrow span,.hed14-tomorrow b{display:block}.hed14-tomorrow span{font-size:8px;color:#526078}.hed14-tomorrow b{margin-top:2px;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hed14-details{margin-top:7px;border:1px solid var(--line);border-radius:9px;padding:6px 8px}
.hed14-details summary{cursor:pointer;font-size:9px;font-weight:800;color:#526078}
.hed14-details dl{margin:7px 0 0!important;padding:7px 0 0!important;border:0!important;border-top:1px solid var(--line)!important;font-size:9px!important}
.hed14 .hed27-side>footer{margin-top:7px;padding-top:6px;font-size:8.5px}
.hed14 .hed27-note{padding:3px 8px;font-size:8px}
@media(max-width:1180px){.hed14 .hed27-grid{grid-template-columns:1fr}.hed14 .hed27-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.hed14 .hed27-side>header,.hed14 .hed27-side>footer,.hed14 .hed14-battery{grid-column:1/-1}.hed14 .hed27-energy-grid,.hed14 .hed14-plan{align-self:start}.hed14 .hed14-tomorrow,.hed14 .hed14-details{grid-column:1/-1}}
@media(max-width:850px){.hed14-overview{grid-template-columns:1fr 1fr}.hed14-live-card{grid-column:1/-1}.hed14-live-grid{grid-template-columns:repeat(3,1fr)}.hed14-live-grid>div{display:block;border-bottom:0;border-right:1px solid var(--line);padding:0 7px}.hed14-live-grid>div:last-child{border-right:0}.hed14 .hed27-chartbox>header{display:block}.hed14 .hed27-legend{justify-content:flex-start;margin-top:6px}}
@media(max-width:620px){.hed14 .hed27-main{padding:9px 8px 0}.hed14-overview{grid-template-columns:1fr}.hed14-live-card{grid-column:auto}.hed14-live-grid{grid-template-columns:1fr 1fr 1fr}.hed14 .hed27-chart{height:272px!important;min-height:272px!important;max-height:272px!important}.hed14 .hed27-chart svg{max-height:272px!important}.hed14 .hed27-chart-loading,.hed14 .hed27-chart-error{height:272px}.hed14 .hed27-side{display:block}.hed14-battery{grid-template-columns:52px 1fr 1.15fr}.hed14 .hed-history-controls strong{width:100%;margin-left:0}.hed14 .hed-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.hed14 .hed-history-summary article:last-child{grid-column:1/-1}}
@media(max-width:420px){.hed14 .hed27-head{display:block}.hed14 .hed27-provider{margin-top:6px}.hed14-live-grid{grid-template-columns:1fr}.hed14-live-grid>div{border-right:0;border-bottom:1px dashed var(--line);padding:4px 0}.hed14-battery{grid-template-columns:48px 1fr}.hed14-zenki-state{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:6px 0 0}.hed14 .hed27-energy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v2.14.1 — betere leesbaarheid, prijs in zonekleur en rustige grafiek zonder accubanden. */
.hed14-current-price.is-cheap{color:#087a29!important}
.hed14-current-price.is-normal{color:#58657a!important}
.hed14-current-price.is-expensive{color:#d92d20!important}
.hed14 .hed27-head>div:first-child>span{font-size:13px}
.hed14 .hed27-head h2{font-size:26px}
.hed14 .hed27-head p{font-size:11.5px}
.hed14 .hed27-provider{font-size:12px}
.hed14 .hed14-card-head{font-size:10.5px}
.hed14 .hed14-card-head>b,.hed14 .hed-price-badge{font-size:10px}
.hed14 .hed14-price-main strong{font-size:31px}
.hed14 .hed14-price-main small{font-size:10.5px}
.hed14 .hed14-price-row{font-size:10.5px}
.hed14 .hed14-zones span{font-size:9.5px;padding:5px 6px}
.hed14 .hed14-hems-card>strong{font-size:15.5px}
.hed14 .hed14-hems-card>p{font-size:10.5px;line-height:1.45}
.hed14 .hed14-hems-window{font-size:10px}
.hed14 .hed14-hems-card li{font-size:9.5px}
.hed14 .hed14-live-grid span{font-size:10px}
.hed14 .hed14-live-grid strong{font-size:14px}
.hed14 .hed14-live-grid small{font-size:9.5px}
.hed14 .hed27-chartbox h3{font-size:15px}
.hed14 .hed27-legend{font-size:9.5px;gap:5px 9px}
.hed14 .hed-history-controls label span{font-size:9px}
.hed14 .hed-history-controls strong{font-size:10.5px}
.hed14 .hed-history-summary span,.hed14 .hed-history-summary small{font-size:9px}
.hed14 .hed-history-summary b{font-size:12px}
.hed14 .hed27-chartbox>footer span{font-size:9px}
.hed14 .hed27-side>header h3{font-size:17px}
.hed14-battery>div:nth-child(2)>span{font-size:10px}
.hed14-battery>div:nth-child(2)>small{font-size:10px}
.hed14-zenki-state b{font-size:10px}
.hed14-zenki-state span{font-size:12px}
.hed14-zenki-state small{font-size:9px}
.hed14 .hed27-energy-grid span,.hed14 .hed27-energy-grid small{font-size:9.5px}
.hed14 .hed27-energy-grid strong{font-size:15px}
.hed14-energy-grid-clean{grid-template-columns:repeat(3,minmax(0,1fr))}
.hed14-energy-grid-clean article:last-child{border-right:0}
.hed14-plan h4{font-size:12px}
.hed14-plan header span{font-size:9.5px}
.hed-hems-plan-main{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:8px 0 2px}
.hed-hems-plan-main>span{font-size:10px;color:#526078}
.hed-hems-plan-main>b{font-size:13px;color:#087b29}
.hed-hems-plan-main>small{grid-column:1/-1;font-size:9.5px;line-height:1.4;color:#64748b}
.hed14-tomorrow span{font-size:9px}
.hed14-tomorrow b{font-size:10.5px}
.hed14-details summary{font-size:10px}
.hed14-details dl{font-size:10px!important}
.hed14 .hed27-side>footer{font-size:9.5px}
.hed14 .hed27-note{font-size:9px}
.hed14 .hed27-chart .hed-zenki-charge-window,
.hed14 .hed27-chart .hed-zenki-discharge-window,
.hed14 .hed27-chart .hed-zenki-charge-scheduled,
.hed14 .hed27-chart .hed-zenki-discharge-scheduled{display:none!important}
@media(max-width:620px){
    .hed14-energy-grid-clean{grid-template-columns:1fr 1fr}
    .hed14-energy-grid-clean article:last-child{grid-column:1/-1}
    .hed14 .hed14-card-head{font-size:11px}
    .hed14 .hed14-price-row,.hed14 .hed14-hems-card>p{font-size:11px}
    .hed14 .hed27-legend{font-size:10px}
}


/* v2.15.0 — accuvulling (SOC) als rustige strook in dezelfde energiegrafiek. */
.hed14 .hed27-legend .battery-soc{
    width:17px;
    height:0;
    border-radius:0;
    border-top:3px solid #0f766e;
}
.hed14 .hed27-chart{height:326px!important}
.hed14 .hed27-chart .hed-battery-soc-line{filter:none}
.hed14 .hed27-chart .hed-battery-soc-hit{cursor:help}
@media(max-width:760px){.hed14 .hed27-chart{height:316px!important}}
@media(max-width:480px){.hed14 .hed27-chart{height:308px!important}}
