.epc-note{background:var(--gbdg-status-caution-tint);border-left:3px solid var(--gbdg-color-caution-300);padding:var(--gbdg-space-3) var(--gbdg-space-4);font-size:14px;line-height:1.5}
.epc-note p{margin:0;color:var(--gbdg-text-secondary)}
.epc-note strong{color:var(--gbdg-text)}
.epc-error{margin-top:var(--gbdg-space-2);font-size:13px;color:var(--gbdg-status-risk-text)}
.tool-panel [aria-invalid=true]{border-color:var(--gbdg-color-risk-500)}
.epc-submit{align-self:stretch;justify-content:center}
.epc-hero-grade{display:flex;align-items:center;gap:var(--gbdg-space-5);margin-top:var(--gbdg-space-4)}
.epc-hero-grade .result-hero-value{margin-top:0}
.epc-hero-unit{font-size:16px;color:var(--gbdg-color-n-20);font-weight:400}
.epc-grade-badge{flex:none;display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;font-family:var(--gbdg-font-conviction);font-weight:800;font-size:56px;line-height:1;background:var(--gbdg-color-ink-overlay);color:var(--gbdg-color-paper);border:1px solid rgba(255,255,255,.16)}
[data-grade=A]{--epc-band:#1E5C3F;--epc-on:#FFFFFF}
[data-grade=B]{--epc-band:#27754F;--epc-on:#FFFFFF}
[data-grade=C]{--epc-band:#4FB180;--epc-on:#02231B}
[data-grade=D]{--epc-band:#8FD0B0;--epc-on:#02231B}
[data-grade=E]{--epc-band:#E8B54B;--epc-on:#02231B}
[data-grade=F]{--epc-band:#F0846B;--epc-on:#02231B}
[data-grade=G]{--epc-band:#DA3B22;--epc-on:#FFFFFF}
.epc-grade-badge[data-grade]:not([data-grade=""]){background:var(--epc-band);color:var(--epc-on);border-color:transparent}
.epc-scale{padding:var(--gbdg-space-5)}
.epc-scale-title{font-family:var(--gbdg-font-evidence);font-weight:600;font-size:16px;margin:0}
.epc-scale-sub{margin-top:var(--gbdg-space-2);font-size:13px;color:var(--gbdg-text-muted)}
.epc-scale-list{list-style:none;margin:var(--gbdg-space-4) 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.epc-scale-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"bar range" "marker marker";align-items:center;column-gap:var(--gbdg-space-4);row-gap:4px;opacity:.72;transition:opacity var(--gbdg-motion-base) var(--gbdg-motion-ease)}
.epc-scale-list:not(:has(.is-active)) .epc-scale-row,.epc-scale-row.is-active{opacity:1}
.epc-scale-bar{grid-area:bar;display:flex;align-items:center;height:30px;background:var(--epc-band);color:var(--epc-on);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);padding-left:var(--gbdg-space-3)}
.epc-scale-row[data-grade=A] .epc-scale-bar{width:34%}
.epc-scale-row[data-grade=B] .epc-scale-bar{width:45%}
.epc-scale-row[data-grade=C] .epc-scale-bar{width:56%}
.epc-scale-row[data-grade=D] .epc-scale-bar{width:67%}
.epc-scale-row[data-grade=E] .epc-scale-bar{width:78%}
.epc-scale-row[data-grade=F] .epc-scale-bar{width:89%}
.epc-scale-row[data-grade=G] .epc-scale-bar{width:100%}
.epc-scale-letter{font-family:var(--gbdg-font-conviction);font-weight:800;font-size:16px}
.epc-scale-range{grid-area:range;text-align:right;font-size:13px;white-space:nowrap}
.epc-scale-kwh{display:block;color:var(--gbdg-text-muted);font-size:12px}
.epc-scale-row.is-active .epc-scale-bar{outline:2px solid var(--gbdg-color-ink);outline-offset:2px;clip-path:none}
.epc-scale-marker{grid-area:marker;font-family:var(--gbdg-font-data);font-size:12px;color:var(--gbdg-text)}
.epc-scale-marker:before{content:"▲ "}
.epc-table-wrap{overflow-x:auto}
.epc-ref-table th,.epc-ref-table td{white-space:nowrap}
@media(max-width:767px){.epc-grade-badge{width:72px;height:72px;font-size:44px}.epc-scale-range{font-size:12px}}
.epc-action-buttons{display:flex;gap:var(--gbdg-space-3);flex-wrap:wrap}
.result-action .epc-followup{flex-basis:100%;max-width:none;margin:0;padding-top:var(--gbdg-space-3);border-top:1px solid var(--gbdg-color-n-12);font-size:14px;color:var(--gbdg-text-secondary)}
.epc-followup a{color:var(--gbdg-text);font-weight:600}
.epc-energy{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:var(--gbdg-space-4)}
.epc-energy legend{padding:0;margin-bottom:var(--gbdg-space-2);font-family:var(--gbdg-font-evidence);font-weight:600;font-size:16px}
.epc-energy .field label{font-weight:500}
.epc-energy-total{display:flex;justify-content:space-between;align-items:baseline;gap:var(--gbdg-space-3);margin:0;padding-top:var(--gbdg-space-3);border-top:1px solid var(--gbdg-border);font-family:var(--gbdg-font-evidence);font-weight:600;font-size:14px}
.epc-energy-total-value{font-family:var(--gbdg-font-data);font-variant-numeric:tabular-nums}
