.thermal-balance-page { background:#f4f6f3; color:#203c32; font-family:system-ui,sans-serif; }
.thermal-balance-page>header { display:flex; flex-wrap:wrap; gap:1rem; padding:1rem max(1rem,calc((100vw - 1280px)/2)); border-bottom:1px solid #ccd8d0; background:white; }
.thermal-balance-page>main { max-width:1280px; margin:auto; padding:1.5rem 1rem 4rem; }
.thermal-balance-page h1 { font-size:clamp(1.8rem,3vw,2.6rem); }
.thermal-balance-page h2 { font-size:1.35rem; margin:0 0 1rem; }
.thermal-balance-page h3 { font-size:1.15rem; margin:1.2rem 0 .7rem; }
.thermal-balance-page h4 { font-size:1rem; }
.thermal-balance-page p,.thermal-balance-page li,.thermal-balance-page h3,.thermal-balance-page button { overflow-wrap:anywhere; }
.thermal-balance-page .thermal-balance-card { min-width:0; margin:1.2rem 0; padding:1.2rem; background:white; border:1px solid #ccd8d0; border-radius:.7rem; }
.thermal-balance-page .thermal-balance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1rem; }
.thermal-balance-page label { display:flex; flex-direction:column; gap:.35rem; margin-bottom:1rem; }
.thermal-balance-page .thermal-balance-check { flex-direction:row; align-items:flex-start; gap:.6rem; line-height:1.5; }
.thermal-balance-page .thermal-balance-check input { flex-shrink:0; margin-top:.35rem; }
.thermal-balance-page .thermal-balance-limit { padding:.8rem; border-left:4px solid #a76b16; background:#fff3d7; }
.thermal-balance-page .thermal-balance-issues { color:#842029; overflow-wrap:anywhere; }
.thermal-balance-page .thermal-balance-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin:1rem 0; }
.thermal-balance-page button,.thermal-balance-page select,.thermal-balance-page input { min-height:44px; }
[data-sc-flex] [data-flex-form] label:has(> input[type="checkbox"]) { flex-direction:row; align-items:flex-start; gap:.6rem; min-height:44px; }
[data-sc-flex] [data-flex-form] input[type="checkbox"] { flex:0 0 1.15rem; width:1.15rem; min-width:1.15rem; height:1.15rem; min-height:1.15rem; margin-top:.25rem; }
.thermal-balance-page .thermal-balance-table { position:relative; max-width:100%; overflow:auto; margin:1rem 0; }
.thermal-balance-page table { width:100%; border-collapse:collapse; font-size:.9rem; }
.thermal-balance-page th,.thermal-balance-page td { padding:.5rem; border-bottom:1px solid #dce4df; vertical-align:top; overflow-wrap:anywhere; }
.thermal-balance-page thead { background:#eaf1ec; }
.thermal-balance-page .thermal-balance-month-inputs { min-width:1020px; }
.thermal-balance-page .thermal-balance-month-inputs input { min-width:135px; }
.thermal-balance-page .thermal-balance-month-results { min-width:1180px; }
.thermal-balance-page .thermal-balance-table th[scope=row] { min-width:90px; }
.thermal-balance-page .thermal-balance-eyebrow { letter-spacing:.04em; }
.thermal-balance-page fieldset { min-width:0; }
.thermal-balance-page legend { float:none; font-size:1.35rem; }
.thermal-balance-page :focus-visible { outline:3px solid #b05814; outline-offset:3px; }
@media(max-width:680px) { .thermal-balance-page .thermal-balance-grid { grid-template-columns:minmax(0,1fr); } .thermal-balance-page .thermal-balance-card { padding:.8rem; } }
