.heatingDash{--card:var(--surface);--fg:var(--ink);--dhw:#0a84ff;--off:color-mix(in srgb,var(--ink)18%,var(--surface));--nodata:color-mix(in srgb,var(--ink)6%,var(--surface));--unk:color-mix(in srgb,var(--ink)12%,var(--surface));color:var(--ink);margin-top:18px;font-size:15px;line-height:1.5}.heatingDash .card,.heatingDash .cam{box-shadow:var(--shadow);border-radius:20px}.heatingDash h2{letter-spacing:-.01em;font-size:17px;font-weight:700}.heatingDash a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.heatingDash .dash{max-width:1040px;margin:0 auto}.heatingDash .top{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.heatingDash h1{margin:4px 0 2px;font-size:20px}.heatingDash h2{margin:0 0 10px;font-size:15px}.heatingDash a{color:var(--accent)}.heatingDash .sub{color:var(--muted);font-size:13px}.heatingDash .card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;padding:14px}.heatingDash .banner{border-radius:12px;margin:14px 0;padding:11px 14px;font-weight:600;display:none}.heatingDash .banner.ok{color:var(--ok);background:rgba(52,199,89,.12);border:1px solid rgba(52,199,89,.3);display:block}.heatingDash .banner.bad{color:var(--bad);background:rgba(255,59,48,.12);border:1px solid rgba(255,59,48,.3);display:block}.heatingDash .banner.warn{color:var(--warn);background:rgba(255,159,10,.12);border:1px solid rgba(255,159,10,.3);display:block}.heatingDash .stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px;display:grid}.heatingDash .stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.heatingDash .stat .k{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.heatingDash .stat .v{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:18px;font-weight:600}.heatingDash .stat .s{color:var(--muted);font-size:12px}.heatingDash .cards{grid-template-columns:1fr;gap:14px;margin-bottom:16px;display:grid}@media (min-width:680px){.heatingDash .cards{grid-template-columns:1fr 1fr}}.heatingDash .cam{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.heatingDash .cam h2{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin:0;padding:12px 14px;display:flex}.heatingDash .cam img{aspect-ratio:16/9;object-fit:cover;background:#000;width:100%;display:block}.heatingDash .rows{padding:10px 14px}.heatingDash .row{border-bottom:1px dashed var(--line);justify-content:space-between;gap:10px;padding:3px 0;display:flex}.heatingDash .row:last-child{border-bottom:0}.heatingDash .icons{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.heatingDash .pill{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}.heatingDash .pill.ok{color:var(--ok);background:rgba(52,199,89,.16)}.heatingDash .pill.bad{color:var(--bad);background:rgba(255,59,48,.16)}.heatingDash .pill.warn{color:var(--warn);background:rgba(255,159,10,.16)}.heatingDash .pill.dhw{color:var(--dhw);background:rgba(10,132,255,.16)}.heatingDash .pill.off{background:var(--line);color:var(--muted)}.heatingDash .pill.unk{background:var(--unk);color:var(--muted);font-style:italic}.heatingDash .tiles{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.heatingDash .tile{border:1px solid var(--line);border-radius:12px;padding:12px}.heatingDash .tile .nm{justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.heatingDash .tile .big{font-variant-numeric:tabular-nums;margin:6px 0 2px;font-size:30px;font-weight:600;line-height:1.1}.heatingDash .tile .big small{color:var(--muted);margin-left:6px;font-size:14px;font-weight:400}.heatingDash .tile .sub{line-height:1.5}.heatingDash .tile.heat{border-color:rgba(255,122,26,.6);box-shadow:inset 3px 0 #ff7a1a}.heatingDash .ctls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.heatingDash .ctls button{background:var(--card);color:var(--fg);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px}.heatingDash .ctls button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.heatingDash .ctls .range{color:var(--muted);margin-left:auto;font-size:13px}.heatingDash #tl{width:100%;margin-top:12px;position:relative;overflow:hidden}.heatingDash #tl svg{width:100%;display:block}.heatingDash .tip{pointer-events:none;background:var(--card);border:1px solid var(--line);white-space:nowrap;z-index:5;border-radius:8px;padding:7px 9px;font-size:12px;line-height:1.45;display:none;position:absolute;transform:translate(-50%);box-shadow:0 4px 14px rgba(0,0,0,.25)}.heatingDash .tip b{font-weight:700}.heatingDash .lgnd{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;display:flex}.heatingDash .lgnd span{align-items:center;gap:5px;display:inline-flex}.heatingDash .sw{border-radius:3px;width:11px;height:11px;display:inline-block}.heatingDash table{border-collapse:collapse;width:100%;font-size:13px}.heatingDash th,.heatingDash td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:top;padding:6px 8px}.heatingDash th{color:var(--muted);background:var(--card);z-index:1;font-weight:600;position:-webkit-sticky;position:sticky;top:0}.heatingDash .tbl-wrap{max-height:460px;overflow:auto}.heatingDash .empty{color:var(--muted);text-align:center;padding:20px}.heatingDash tr.det td{white-space:normal;color:var(--muted);background:rgba(127,127,127,.05);font-size:12px}.heatingDash tr.main{cursor:pointer}.heatingDash td.num{font-variant-numeric:tabular-nums}.heatingDash .dot{background:var(--off);vertical-align:middle;border-radius:50%;width:10px;height:10px;display:inline-block}.heatingDash .dot.on{background:var(--ok)}.heatingDash .dot.fire{background:#ff7a1a}.heatingDash .dot.dhw{background:var(--dhw)}.heatingDash .dot.unk{background:var(--unk);border:1px dashed var(--muted)}.heatingDash .card{background:var(--surface);color:var(--ink);border:1px solid var(--line);--bs-card-bg:var(--surface);--bs-card-color:var(--ink);display:block}.heatingDash .card>*{color:inherit}.heatingDash .row{--bs-gutter-x:0;--bs-gutter-y:0;border-bottom:1px dashed var(--line);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:6px 0;display:flex}.heatingDash .row>*{flex:0 auto;width:auto;max-width:none;padding:0}.heatingDash .row .k{color:var(--muted)}.heatingDash .row .v{text-align:right}.heatingDash .rows .row:last-child{border-bottom:0}.heatingDash h1,.heatingDash h2,.heatingDash h3,.heatingDash h4,.heatingDash .tile,.heatingDash .stat,.heatingDash .cam,.heatingDash table{color:var(--ink)}.heatingDash .cam{padding:0;overflow:hidden}.heatingDash .cam h2{padding:12px 14px 0}.heatingDash .cam .rows{padding:6px 14px 10px}
