:root{--ui-bg:#0c101b;--panel:#151a28;--panel2:#1b2233;--line:#293249;--text:#f4f7ff;--muted:#aeb7ca;--brand:#966eff;--green:#35d6a0;--amber:#f5b94c;--red:#f06c78;--blue:#58b8ff;--solar:#ffd35e;--radius:16px;--gap:12px}
*{box-sizing:border-box}body{background:radial-gradient(circle at 12% -6%,#242044 0,transparent 31%),var(--ui-bg);color:var(--text)}.header{background:rgba(12,16,27,.92);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.header-inner,.container{max-width:1220px}.container{padding:18px 18px 44px}.nav a{border-radius:10px;padding:9px 11px}.nav a.active{background:#322854;color:#fff}
.ui-page,.ui-page *{min-width:0}.ui-page{display:grid;gap:var(--gap);width:100%;max-width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:3px 2px}.page-head h1{font-size:clamp(1.65rem,4vw,2.3rem);line-height:1.05;margin:4px 0}.eyebrow{font-size:.75rem;line-height:1.3;letter-spacing:.11em;text-transform:uppercase;color:#c0aaff}.freshness,.ui-card p,.ui-card small{font-size:.86rem;line-height:1.4;color:var(--muted)}.head-status{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.status-pill,.quality{display:inline-flex;max-width:100%;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line);font-size:.78rem;font-weight:750;line-height:1.2;overflow-wrap:anywhere}.status-pill.ok,.quality.fresh{color:var(--green);border-color:#25725b}.status-pill.warn,.quality.stale{color:var(--amber);border-color:#795f2e}.status-pill.bad{color:var(--red);border-color:#7a3540}.status-pill.profile{color:#d8caff;border-color:#5f4b92;background:#2b2444}
.ui-card{background:linear-gradient(145deg,var(--panel),#111622);border:1px solid rgba(101,116,150,.25);border-radius:var(--radius);padding:15px;box-shadow:0 12px 28px rgba(0,0,0,.16)}.ui-card h2{font-size:1.05rem;line-height:1.25;margin:0}.ui-card h3{margin:0}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}.card-head p{margin:3px 0 0}.text-link{color:#c8b7ff;text-decoration:none;font-size:.86rem;font-weight:700}.text-link:hover{text-decoration:underline}
.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.ui-page .kpi{display:block;position:relative;overflow:hidden;background:linear-gradient(150deg,var(--panel2),#171d2b);border:1px solid rgba(104,120,155,.22);border-radius:14px;padding:12px}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#66708b}.kpi.solar:before{background:var(--solar)}.kpi.grid:before{background:var(--blue)}.kpi.load:before,.kpi.positive:before{background:var(--green)}.kpi.mining:before{background:var(--brand)}.kpi>span{display:block;color:var(--muted);font-size:.78rem;line-height:1.2;font-weight:650}.kpi strong,.flow-item strong,.thermal-hero strong{display:block;font-variant-numeric:tabular-nums;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal}.kpi strong{font-size:clamp(1.3rem,2.55vw,2rem);line-height:1.06;margin-top:7px}.kpi small{display:block;margin-top:5px;white-space:normal}.overview-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.flow-item{background:#192030;border-radius:12px;padding:10px 11px;border-top:3px solid var(--blue)}.flow-item.solar{border-color:var(--solar)}.flow-item.mining{border-color:var(--brand)}.flow-item span{color:var(--muted);font-size:.78rem}.flow-item strong{font-size:clamp(1.15rem,3vw,1.65rem);margin-top:4px}.flow-card{padding-block:13px}
.chart-card{overflow:hidden}.chart-controls{display:flex;gap:4px;flex-wrap:wrap}.chart-controls button{min-height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:#171d2b;color:var(--muted);font-size:.78rem;cursor:pointer}.chart-controls button.active{background:#392d5f;color:#fff;border-color:#755ac1}.chart-wrap{height:280px;position:relative;touch-action:pan-y}.chart-wrap.compact{height:220px}.chart-wrap.auto{height:210px}.ui-chart{display:block;width:100%;height:100%;touch-action:pan-y}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;color:var(--muted);font-size:.9rem}.chart-empty[hidden]{display:none}.chart-legend{display:flex;gap:7px 13px;flex-wrap:wrap;color:var(--muted);font-size:.76rem}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:#788298}.legend-dot.pv{background:var(--solar)}.legend-dot.pv2{background:#f49d35}.legend-dot.forecast{background:var(--brand)}.legend-dot.load,.legend-dot.positive{background:var(--green)}.legend-dot.grid{background:var(--blue)}.chart-tooltip{display:none;position:absolute;left:8px;right:8px;bottom:6px;z-index:3;padding:8px;background:rgba(9,13,22,.94);border:1px solid var(--line);border-radius:9px;font-size:.72rem;pointer-events:none}.chart-tooltip strong{display:block;margin-bottom:5px}.chart-tooltip dl{display:flex;gap:6px 14px;flex-wrap:wrap;margin:0}.chart-tooltip dl>div{display:grid;gap:2px}.chart-tooltip dt{color:var(--muted)}.chart-tooltip dd{margin:0;font-weight:800}.axis-grid{stroke:#30394d;stroke-width:1}.axis-grid-x{opacity:.45}.axis-label,.axis-unit{fill:#aeb7ca;font-size:12px}.zero-line{stroke:#73809a;stroke-width:1.5}.crosshair{stroke:#dbe4f5;stroke-width:1;stroke-dasharray:4 4}.selected-dot{fill:#fff;stroke:#111827;stroke-width:2}.real-sample{pointer-events:none}
.tariff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tariff-mini{background:#192030;border-radius:13px;padding:12px;display:grid;gap:8px}.tariff-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.tariff-title b{font-size:.94rem}.human-quality{font-size:.72rem;color:var(--muted)}.tariff-main{font-size:clamp(1.2rem,4vw,1.7rem);font-weight:800;font-variant-numeric:tabular-nums}.tariff-main small{font-size:.75rem;font-weight:500}.tariff-track{position:relative;height:12px;border-radius:999px;background:linear-gradient(90deg,#3c9b7e 0 54%,#b89038 54% 83%,#ca7d39 83%);overflow:visible}.tariff-marker{position:absolute;top:-4px;width:3px;height:20px;border-radius:2px;background:#fff;box-shadow:0 0 0 2px #151a28;transform:translateX(-1px)}.tariff-bands{display:grid;grid-template-columns:1fr 1fr 1fr;font-size:.67rem;color:var(--muted)}.tariff-bands span:nth-child(2){text-align:center}.tariff-bands span:last-child{text-align:right}.tariff-meta{display:grid;grid-template-columns:1fr auto;gap:5px 10px;font-size:.78rem}.tariff-meta span{color:var(--muted)}.tariff-meta b{text-align:right;font-variant-numeric:tabular-nums}.baseline-cta{display:grid;gap:7px;padding:5px 0}.baseline-cta strong{font-size:1rem}.button-link,.context-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:9px 11px;border-radius:10px;background:#2d2750;color:#fff;text-decoration:none;font-weight:700}.tariff-page-grid{margin-bottom:2px}
.overview-bottom,.thermal-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--gap)}.summary-row,.context-link{border-bottom:1px solid var(--line)}.summary-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0}.summary-row span{color:var(--muted)}.summary-row strong{text-align:right}.context-link{margin-top:5px;background:transparent;padding:10px 0;border-radius:0}.attention-list{display:grid;gap:7px}.attention-item{padding:9px 10px;border-radius:10px;background:#282135;color:#f7d99a}.empty-inline{padding:12px;color:var(--muted);text-align:center}
.energy-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px}.energy-strip article{display:grid;grid-template-columns:1.3fr repeat(3,minmax(0,1fr));gap:8px;align-items:end;background:var(--panel);border:1px solid rgba(101,116,150,.25);border-radius:14px;padding:12px}.energy-strip article>div{align-self:center}.energy-strip b,.energy-strip small{display:block}.energy-strip strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.energy-strip span{font-size:.7rem;color:var(--muted)}.compact-info{display:flex;gap:12px;align-items:center}.compact-info span{flex:1;color:var(--muted)}
.fleet-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fleet-summary>div{background:var(--panel);border-radius:12px;padding:10px}.fleet-summary span{display:block;color:var(--muted);font-size:.75rem}.fleet-summary b{font-size:1.25rem;font-variant-numeric:tabular-nums}.fleet-card{padding:12px}.fleet-list{display:grid;gap:6px}.miner-row{background:#181f2e;border:1px solid rgba(103,118,151,.2);border-radius:11px;overflow:hidden}.miner-row[open]{border-color:#4a3e70}.miner-row.offline{opacity:.62}.miner-row summary{list-style:none;display:grid;grid-template-columns:50px minmax(95px,1.25fr) minmax(85px,1fr) minmax(72px,.8fr);gap:8px;align-items:center;min-height:56px;padding:8px 10px;cursor:pointer}.miner-row summary::-webkit-details-marker{display:none}.miner-id{font-size:1.14rem;font-weight:850;font-variant-numeric:tabular-nums}.miner-main,.miner-sub{display:block}.miner-main{font-size:.88rem}.miner-sub{font-size:.72rem;color:var(--muted);margin-top:2px}.miner-value{text-align:right;font-size:.92rem;font-weight:750;font-variant-numeric:tabular-nums}.miner-status{display:flex;align-items:center;gap:5px;font-size:.76rem}.miner-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}.offline .miner-status:before{background:#687086}.miner-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:11px;border-top:1px solid var(--line)}.miner-detail>div{padding:7px;background:#141a27;border-radius:8px}.miner-detail span{display:block;font-size:.7rem;color:var(--muted)}.miner-detail b{display:block;margin-top:2px;font-size:.83rem;overflow-wrap:anywhere}.miner-controls{grid-column:1/-1!important;background:transparent!important;padding:0!important}.policy-manual{color:var(--amber)}
.economics-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.scenario{padding:11px;border-radius:11px;background:#192030;border-top:3px solid var(--amber)}.scenario span,.scenario small{display:block;color:var(--muted);font-size:.74rem}.scenario strong{display:block;font-size:1.12rem;margin:4px 0;font-variant-numeric:tabular-nums}.input-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.input-econ{background:var(--panel);border-radius:13px;padding:12px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric-grid span{display:block;color:var(--muted);font-size:.7rem}.metric-grid b{display:block;font-size:.88rem;margin-top:2px;overflow-wrap:anywhere}
.thermal-hero{display:flex;gap:13px;align-items:flex-end}.thermal-hero strong{font-size:clamp(2rem,7vw,3.1rem)}.sensor-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.sensor-slot{display:grid;gap:4px;padding:11px;border:1px dashed #46516c;border-radius:11px}.sensor-slot span{font-size:.78rem;color:var(--muted)}
.more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.more-link{display:grid;grid-template-columns:34px 1fr;gap:2px 9px;align-items:center;min-height:78px;padding:12px;border-radius:13px;background:var(--panel);border:1px solid rgba(101,116,150,.22);color:var(--text);text-decoration:none}.more-link i{grid-row:1/3;font-style:normal;font-size:1.25rem;color:#bda9ff}.more-link b{font-size:.9rem}.more-link span{font-size:.74rem;color:var(--muted)}
.meter-sections{display:grid;gap:10px}.meter-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}.meter-form label{display:grid;gap:4px;color:var(--muted);font-size:.78rem}.meter-form .wide{grid-column:1/-1}.meter-form input{width:100%;min-height:42px}.meter-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.meter-stat{background:#181f2e;border-radius:9px;padding:9px}.meter-stat span{display:block;color:var(--muted);font-size:.7rem}.meter-stat b{display:block;margin-top:3px;font-size:.84rem;overflow-wrap:anywhere}.meter-history{margin-top:11px}.meter-history summary{cursor:pointer;color:#c8b7ff}.reading-list{display:grid;gap:5px;margin-top:8px}.reading-list>div{display:grid;grid-template-columns:145px 130px 1fr;gap:8px;padding:8px;border-radius:8px;background:#181f2e}.reading-list span{color:var(--muted)}
.diag-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.diag{background:var(--panel2);border-radius:10px;padding:10px}.diag span{display:block;color:var(--muted);font-size:.75rem}.diag pre,.logbox{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;overflow:auto;font-size:.72rem}
.log-filters{display:flex;gap:5px;overflow-x:auto;padding:8px 0 12px}.log-filters button{flex:0 0 auto;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#171d2b;color:var(--muted)}.log-filters button.active{background:#392d5f;color:#fff}
.mobile-nav{display:none}
@media(max-width:800px){body{padding-bottom:82px}.desktop-nav{display:none}.header .navbtn{display:none}.container{width:100%;max-width:100%;padding:13px 10px 30px}.page-head{align-items:flex-start;flex-wrap:wrap}.ui-card{padding:12px}.overview-kpis,.economics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:11px}.kpi strong{font-size:clamp(1.45rem,6.6vw,2rem);white-space:normal}.flow{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-item strong{font-size:clamp(1.12rem,5vw,1.5rem)}.card-head{flex-wrap:wrap}.chart-wrap{height:230px}.chart-wrap.compact{height:205px}.chart-wrap.auto{height:170px}.tariff-grid,.overview-bottom,.thermal-layout,.energy-strip,.input-grid{grid-template-columns:1fr}.energy-strip article{grid-template-columns:1.2fr repeat(3,1fr)}.scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario{padding:9px}.scenario strong{font-size:clamp(.95rem,4vw,1.1rem)}.more-grid{grid-template-columns:1fr 1fr}.miner-row summary{grid-template-columns:42px minmax(105px,1.4fr) minmax(72px,1fr) minmax(66px,.8fr);padding:7px 8px}.miner-value{font-size:.82rem}.miner-detail{grid-template-columns:1fr 1fr}.meter-stats{grid-template-columns:1fr 1fr}.reading-list>div{grid-template-columns:1fr 1fr}.reading-list span{grid-column:1/-1}.compact-info{align-items:flex-start;flex-wrap:wrap}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:50;min-height:68px;padding:6px max(5px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom));background:rgba(10,14,24,.97);border-top:1px solid var(--line);backdrop-filter:blur(16px)}.mobile-nav a{display:grid;place-items:center;align-content:center;gap:1px;min-height:54px;padding:3px 1px;border-radius:10px;color:#aeb7ca;text-decoration:none;font-size:.69rem;font-weight:700;line-height:1.1}.mobile-nav a span{font-size:1.28rem;line-height:1.2}.mobile-nav a.active{color:#fff;background:#332850;box-shadow:inset 0 0 0 1px #5e4990}}
@media(max-width:420px){.container{padding-left:8px;padding-right:8px}.page-head h1{font-size:1.65rem}.status-pill{font-size:.72rem}.kpi>span{font-size:.74rem}.kpi strong{font-size:clamp(1.35rem,6.2vw,1.72rem)}.kpi small{font-size:.74rem}.chart-controls{width:100%}.chart-controls button{flex:1}.tariff-main{font-size:1.25rem}.more-grid{grid-template-columns:1fr 1fr}.more-link{grid-template-columns:28px 1fr;padding:10px;min-height:72px}.miner-row summary{grid-template-columns:39px minmax(90px,1.35fr) minmax(68px,.9fr)}.miner-row summary>.miner-power{display:none}.miner-main{font-size:.8rem}.miner-sub{font-size:.67rem}.scenario-grid{grid-template-columns:1fr}.energy-strip article{grid-template-columns:1.15fr repeat(3,minmax(0,1fr));gap:5px;padding:9px}.energy-strip strong{font-size:.85rem}.energy-strip span{font-size:.64rem}.mobile-nav a{font-size:.65rem}.mobile-nav a span{font-size:1.18rem}}

/* Overview IA v2: independent circuits, readable tariff bands, solar-only chart. */
.primary-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
.split-kpi strong{white-space:pre-line;font-size:clamp(.95rem,1.8vw,1.35rem);line-height:1.3;letter-spacing:-.015em}
.circuit-list{display:grid;gap:7px}.circuit-row{display:grid;gap:8px;padding:11px 12px;border-radius:12px;background:#192030;border-left:3px solid var(--blue)}.circuit-row:nth-child(2){border-color:var(--solar)}.circuit-row.third{border-color:var(--brand)}.circuit-row header{display:flex;align-items:center;justify-content:space-between;gap:10px}.circuit-row header span{font-size:.75rem;color:var(--muted)}.circuit-row>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.circuit-row>div>span{display:grid;gap:2px;color:var(--muted);font-size:.72rem}.circuit-row>div b{color:var(--text);font-size:.9rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tariff-current{display:flex;justify-content:space-between;gap:8px;font-size:.8rem}.tariff-current span{color:var(--muted)}.tariff-scale{display:flex;position:relative;height:13px;margin-top:3px;border-radius:999px;overflow:visible}.tariff-segment:first-child{border-radius:999px 0 0 999px}.tariff-segment:last-of-type{border-radius:0 999px 999px 0}.tariff-segment.band1{background:#3c9b7e}.tariff-segment.band2{background:#b89038}.tariff-segment.band3{background:#ca7d39}.tariff-scale .tariff-marker{top:-5px;width:4px;height:23px;transform:translateX(-2px)}.tariff-thresholds{position:relative;height:13px;color:var(--muted);font-size:.66rem;font-variant-numeric:tabular-nums}.tariff-thresholds span{position:absolute;transform:translateX(-50%)}.tariff-thresholds span:first-child{left:0;transform:none}.tariff-band-labels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px;font-size:.67rem;color:var(--muted)}.tariff-band-labels span:nth-child(2){text-align:center}.tariff-band-labels span:last-child{text-align:right}.tariff-next{display:flex;align-items:end;justify-content:space-between;gap:8px;padding:8px 0;border-block:1px solid var(--line)}.tariff-next span{font-size:.75rem;color:var(--muted)}.tariff-next strong{font-size:1rem;font-variant-numeric:tabular-nums}.tariff-mini.no-baseline .baseline-cta{padding:9px 0}.tariff-mini.no-baseline .button-link{min-height:46px}
.solar-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:8px}.solar-totals>div{padding:8px 9px;border-radius:9px;background:#181f2e}.solar-totals span{display:block;color:var(--muted);font-size:.7rem}.solar-totals b{display:block;margin-top:3px;font-size:.94rem;font-variant-numeric:tabular-nums}.legend-line{display:inline-block;width:13px;height:6px;margin-right:5px;border-block:1px solid #6b5b91;background:#6b5b9138}
@media(max-width:800px){.primary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-kpis .kpi:last-child{grid-column:1/-1}.split-kpi strong{white-space:pre-line;font-size:clamp(.88rem,3.8vw,1.08rem)}.circuit-row>div{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.solar-totals{grid-template-columns:1fr 1fr}.tariff-next strong{font-size:.94rem}}

/* UI recovery: function-first miner diagnostics and dense readable logs. */
.miner-row summary{grid-template-columns:50px minmax(120px,1.5fr) minmax(100px,1fr) 24px}.miner-chevron,.log-chevron{color:var(--muted);font-size:1.1rem;text-align:center;transition:transform .2s}.miner-row[open] .miner-chevron,.log-row[open] .log-chevron{transform:rotate(180deg)}.health-summary{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;padding:11px;border-top:1px solid var(--line);background:#121824}.health-summary span,.health-summary small{color:var(--muted);font-size:.75rem}.health-summary strong{font-size:1rem}.health-summary.ok strong{color:var(--green)}.health-summary.warn strong{color:var(--amber)}.health-summary.bad strong{color:var(--red)}.board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 11px 11px}.board{display:grid;gap:3px;padding:8px;border-radius:9px;background:#141a27;border-left:3px solid var(--green)}.board.degraded{border-color:var(--amber)}.board.missing{border-color:var(--red)}.board span,.board small{color:var(--muted);font-size:.7rem}.miner-history{margin:0 11px 11px;padding:10px;border-radius:10px;background:#141a27}.history-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mini-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.mini-chart-grid>div>span{font-size:.72rem;color:var(--muted)}.chart-wrap.mini{height:125px}.miner-controls{display:grid;gap:8px;margin:0 11px 11px;padding:10px!important;border-radius:10px;background:#141a27!important}.mode-control{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mode-control>span{margin-right:auto;color:var(--muted);font-size:.78rem}.mode-control form,.manual-actions form{margin:0}.mode-control button{min-height:38px;padding:7px 11px;border-radius:9px;border:1px solid var(--line);background:#1b2233;color:var(--muted);font-weight:800}.mode-control button.active{background:#3b2d65;color:#fff;border-color:#8066ca}.manual-actions{display:flex;gap:8px}.manual-lock{display:grid;gap:3px}.manual-lock b{color:var(--amber)}.manual-lock span{color:var(--muted);font-size:.78rem}
.log-list{display:grid;gap:7px}.log-row{border-radius:12px;background:var(--panel);border:1px solid rgba(101,116,150,.23);overflow:hidden}.log-row summary{list-style:none;display:grid;grid-template-columns:52px minmax(140px,1.4fr) minmax(110px,1fr) 22px;gap:9px;align-items:center;padding:11px;cursor:pointer}.log-row summary::-webkit-details-marker{display:none}.log-row time{font-size:1rem;font-weight:850;font-variant-numeric:tabular-nums;color:#c8b7ff}.log-event,.log-values{display:grid;gap:2px}.log-event b{font-size:.9rem}.log-event small,.log-values small{color:var(--muted);font-size:.74rem}.log-values b{font-size:.82rem}.log-details{padding:0 11px 11px;border-top:1px solid var(--line)}.log-details>span{display:block;margin:9px 0 5px;color:var(--muted);font-size:.72rem}.log-filters{scrollbar-width:thin;padding-bottom:8px}.logs-filter{display:flex;align-items:center;gap:7px}.logs-filter select{min-height:40px}
.meter-card-cta{margin-top:2px}.kpi strong,.tariff-main,.tariff-next strong{max-width:100%;overflow-wrap:anywhere}
.meter-dialog{width:min(92vw,480px);max-height:90vh;padding:16px;border:1px solid var(--line);border-radius:16px;background:#151a28;color:var(--text);box-shadow:0 25px 80px #000a}.meter-dialog::backdrop{background:#050812c9;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head small{color:var(--muted)}.dialog-head h2{margin:3px 0 0}.dialog-head button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#20283a;color:#fff;font-size:1.4rem}
.ui-page[data-electricity-available="false"] [data-chart="economics"] path:nth-of-type(n+2){display:none}
@media(max-width:800px){.miner-row summary{grid-template-columns:42px minmax(105px,1.4fr) minmax(82px,1fr) 18px}.health-summary{grid-template-columns:auto auto}.health-summary small{grid-column:1/-1}.board-grid{grid-template-columns:1fr 1fr}.log-row summary{grid-template-columns:46px minmax(115px,1.35fr) minmax(90px,1fr) 18px}.primary-kpis .kpi:last-child{grid-column:auto}}
@media(max-width:420px){.primary-kpis{grid-template-columns:1fr 1fr}.kpi{min-height:112px}.kpi strong{font-size:clamp(1.25rem,6vw,1.65rem)}.miner-row summary{grid-template-columns:38px minmax(96px,1.35fr) minmax(78px,1fr) 16px}.miner-detail{grid-template-columns:1fr}.board-grid,.mini-chart-grid{grid-template-columns:1fr}.history-head{align-items:flex-start;flex-direction:column}.log-row summary{grid-template-columns:42px minmax(115px,1fr) 17px}.log-values{grid-column:2}.log-chevron{grid-column:3;grid-row:1/3}.log-event b{font-size:.84rem}.log-values b{font-size:.78rem}}

/* Information-design pass: physical inputs first, accounting as a readable story. */
.energy-circuits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.energy-circuit{display:grid;align-content:start;gap:12px;padding:16px;border:1px solid rgba(88,184,255,.3);border-radius:17px;background:linear-gradient(145deg,#172235,#111722);box-shadow:0 14px 30px #0003}.energy-circuit.hybrid{border-color:rgba(255,211,94,.3)}.energy-circuit.third{border-color:rgba(150,110,255,.35)}.energy-circuit header{display:flex;align-items:center;justify-content:space-between;gap:12px}.energy-circuit header small{display:block;color:var(--muted);font-size:.72rem}.energy-circuit h2{margin:2px 0 0;font-size:1.12rem}.circuit-status{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#17352d;color:var(--green);font-size:.75rem;font-weight:800}.circuit-status.estimate{background:#30264b;color:#d4c3ff}.circuit-load{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-block:3px 11px;border-bottom:1px solid var(--line)}.circuit-load span{color:var(--muted);font-size:.8rem}.circuit-load strong{font-size:clamp(1.65rem,3.4vw,2.25rem);font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.source-split{display:grid;gap:10px}.source-row{display:grid;grid-template-columns:minmax(104px,.8fr) minmax(80px,1fr) 42px;gap:9px;align-items:center}.source-row>div:first-child{display:grid;gap:2px}.source-row span{color:var(--muted);font-size:.76rem}.source-row b{font-size:1rem;font-variant-numeric:tabular-nums;white-space:nowrap}.source-row em{font-style:normal;text-align:right;font-size:.82rem;font-weight:750}.source-track{height:9px;border-radius:99px;background:#293044;overflow:hidden}.source-track i{display:block;height:100%;border-radius:inherit;background:var(--solar)}.source-row.grid .source-track i{background:var(--blue)}.source-row.battery{grid-template-columns:1fr}.source-row.battery b{color:var(--muted);white-space:normal}.balance-quality{padding:7px 9px;border-radius:9px;background:#121926;color:var(--muted);font-size:.72rem;line-height:1.35}.energy-circuit footer{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px}.energy-circuit footer span{display:grid;gap:2px;color:var(--muted);font-size:.7rem}.energy-circuit footer b{color:var(--text);font-size:.82rem;font-variant-numeric:tabular-nums;white-space:normal}.third-source{display:flex;justify-content:space-between;gap:12px;padding:11px;border-radius:11px;background:#171d2d}.third-source span{color:var(--muted)}.overview-mining-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.overview-mining-strip>div{display:grid;gap:3px;padding:11px 13px;border-radius:13px;background:#181e2c;border-left:3px solid var(--brand)}.overview-mining-strip span,.overview-mining-strip small{color:var(--muted);font-size:.72rem}.overview-mining-strip b{font-size:clamp(1.1rem,2.5vw,1.5rem);font-variant-numeric:tabular-nums;white-space:nowrap}.overview-mining-strip i{font-style:normal;color:var(--text)}
.tariff-progress{height:15px;border-radius:999px;background:#30384b;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0b}.tariff-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#37c997,#f0b34b)}.tariff-progress-label{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;color:var(--muted);font-size:.7rem;font-variant-numeric:tabular-nums}.tariff-progress-label b{text-align:center;color:var(--text);font-size:.76rem}.tariff-progress-label span:last-child{text-align:right}.tariff-forecast{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tariff-forecast>div{display:grid;gap:3px;padding:8px;border-radius:9px;background:#141a27}.tariff-forecast span{font-size:.68rem;color:var(--muted)}.tariff-forecast b{font-size:.78rem;overflow-wrap:normal}.tariff-bands-detail{border-block:1px solid var(--line);padding:8px 0}.tariff-bands-detail summary{cursor:pointer;color:#d2c5f8;font-size:.76rem}.tariff-bands-detail>div{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding-top:8px;font-size:.72rem}.tariff-bands-detail span{color:var(--muted)}.tariff-bands-detail b{white-space:nowrap;font-variant-numeric:tabular-nums}.tariff-mini.no-baseline{align-content:start}.tariff-mini.no-baseline .baseline-cta strong{font-size:1.05rem}.tariff-mini.no-baseline .freshness{font-size:.8rem}
@media(max-width:800px){.energy-circuits{grid-template-columns:1fr}.energy-circuit{padding:14px}.overview-mining-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.tariff-grid{grid-template-columns:1fr}.tariff-mini{padding:14px}.circuit-load strong{font-size:clamp(1.75rem,8vw,2.25rem)}.compact-info{display:grid;grid-template-columns:1fr}.compact-info span{overflow-wrap:normal}.compact-info .text-link{justify-self:start}}
@media(max-width:390px){.energy-circuit{padding:13px}.source-row{grid-template-columns:minmax(98px,.9fr) minmax(72px,1fr) 38px;gap:7px}.source-row b{font-size:.92rem}.energy-circuit footer{grid-template-columns:1fr 1fr}.overview-mining-strip{grid-template-columns:1fr 1fr}.overview-mining-strip>div:last-child{grid-column:1/-1}.overview-mining-strip b{font-size:clamp(1.08rem,5.2vw,1.35rem)}.tariff-current{align-items:flex-start;flex-direction:column}.tariff-forecast{grid-template-columns:1fr 1fr}.tariff-forecast b{font-size:.75rem}.tariff-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tariff-meta b{white-space:normal}}
@media(max-width:420px){.economics-kpis .kpi strong{font-size:clamp(1.08rem,5.5vw,1.45rem);white-space:nowrap}.economics-kpis .kpi>span,.economics-kpis .kpi small{overflow-wrap:normal}}

/* Sprint 10C: one instrument per physical input. */
.energy-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(112px,1.15fr) auto minmax(0,1fr);align-items:center;gap:7px;padding:10px 0}.energy-flow>i{color:#71809b;font-style:normal;font-size:1.3rem}.flow-source,.flow-load{display:grid;gap:4px;text-align:center;min-width:0}.flow-source span,.flow-load span{color:var(--muted);font-size:.72rem}.flow-source b{font-size:1.08rem;font-variant-numeric:tabular-nums;white-space:nowrap}.flow-source em{font-style:normal;font-weight:800;font-size:.85rem}.flow-source.solar em{color:var(--solar)}.flow-source.grid em{color:var(--blue)}.flow-load{padding:10px 7px;border-radius:13px;background:#202a3d}.flow-load strong{font-size:clamp(1.55rem,3.5vw,2.15rem);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.third-flow{grid-template-columns:minmax(0,1fr) auto minmax(125px,1.15fr)}.export-line,.battery-line,.calculation-note{margin:0;padding:7px 9px;border-radius:9px;background:#151c2a;color:var(--muted);font-size:.74rem}.export-line b,.battery-line b{float:right;color:var(--text)}.daily-energy{display:grid;grid-template-columns:1fr 1fr;gap:8px}.daily-energy span{display:grid;gap:3px;color:var(--muted);font-size:.7rem}.daily-energy b{color:var(--text);font-size:.86rem;font-variant-numeric:tabular-nums}.tariff-slot{margin:3px -4px -4px;padding-top:12px;border-top:1px solid var(--line)}.tariff-panel{display:grid;gap:8px;padding:10px;border-radius:13px;background:#121a28}.tariff-panel .tariff-title{font-size:.77rem}.band-badge{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#205340;color:#8af2ca;font-size:1rem;font-weight:900}.band-2 .band-badge{background:#57451e;color:#ffd479}.band-3 .band-badge{background:#60362b;color:#ffb09d}.partial-badge{justify-self:start;padding:4px 7px;border-radius:999px;background:#44391f;color:#f2cc75;font-size:.66rem;font-weight:800}.monthly-used{display:flex;align-items:end;justify-content:space-between;gap:8px}.monthly-used span{color:var(--muted);font-size:.72rem}.monthly-used strong{font-size:1.18rem;font-variant-numeric:tabular-nums}.tariff-headline{font-size:.93rem;font-weight:850}.range-scale,.range-roman{display:grid;grid-template-columns:1fr 1fr 1fr;color:var(--muted);font-size:.65rem}.range-scale span:nth-child(2),.range-roman span:nth-child(2){text-align:center}.range-scale span:last-child,.range-roman span:last-child{text-align:right}.range-roman{margin-top:-5px;color:#c9d0df;font-weight:800}.tariff-projection{color:var(--muted)}.tariff-panel .text-link{font-size:.72rem}.tariff-loading{color:var(--muted);font-size:.75rem}
@media(max-width:390px){.energy-flow{grid-template-columns:minmax(0,.9fr) auto minmax(104px,1.12fr) auto minmax(0,.9fr);gap:4px}.energy-flow>i{font-size:1rem}.flow-source b{font-size:.92rem}.flow-load strong{font-size:clamp(1.4rem,7vw,1.85rem)}.third-flow{grid-template-columns:minmax(0,1fr) auto minmax(118px,1.2fr)}.energy-circuit{overflow:hidden}.tariff-progress-label{font-size:.64rem}.tariff-progress-label b{font-size:.69rem}}
.tariff-ems-budget{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;padding:9px;border-radius:10px;background:#101725;font-size:.7rem}.tariff-ems-budget b,.tariff-ems-budget small{grid-column:1/-1}.tariff-ems-budget span,.tariff-ems-budget small{color:var(--muted)}
.tariff-page{display:grid;gap:16px}.section-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.section-heading h2{margin:0;font-size:1.12rem}.section-heading p{margin:3px 0 0;color:var(--muted);font-size:.76rem}.meter-entry-button{justify-self:start;min-height:48px;padding-inline:18px}.save-success{padding:11px 13px;border-radius:11px;background:#173c30;color:#8ce8c5;font-weight:800}.meter-entry-panel>summary,.meter-history-all>summary,.tariff-details>summary{cursor:pointer;font-weight:850}.meter-batch-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.meter-batch-form label{display:grid;gap:5px;color:var(--muted);font-size:.77rem}.meter-batch-form input{width:100%;min-height:44px}.meter-batch-form .wide,.meter-reading-field{grid-column:1/-1}.meter-reading-field{padding:10px;border-radius:11px;background:#151d2c}.meter-reading-field b{color:var(--text);font-size:.9rem}.meter-reading-field small{color:var(--muted)}.unmapped-readings{display:grid;gap:9px;border-color:#675422}.unmapped-readings p{margin:3px 0;color:var(--muted)}.unmapped-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:9px;padding:9px;border-radius:9px;background:#171e2c;font-size:.76rem}.unmapped-row span{overflow-wrap:anywhere;color:var(--muted)}.reconciliation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.reconciliation-card{display:grid;gap:10px}.reconciliation-card h3{margin:0}.reconciliation-values{display:grid;grid-template-columns:1fr;gap:7px}.reconciliation-values>div{display:flex;align-items:end;justify-content:space-between;gap:8px;padding:8px;border-radius:9px;background:#151d2c}.reconciliation-values span,.reconciliation-card small{color:var(--muted);font-size:.7rem}.reconciliation-values strong{font-size:1.02rem;font-variant-numeric:tabular-nums}.reconciliation-card p{margin:0;color:var(--muted);font-size:.75rem}.meter-history-all section{margin-top:14px}.meter-history-all h3{margin:0 0 6px}.tariff-details p{color:var(--muted)}@media(max-width:800px){.reconciliation-grid{grid-template-columns:1fr}.unmapped-row{grid-template-columns:1fr}.meter-entry-button{width:100%}}@media(max-width:420px){.meter-batch-form{grid-template-columns:1fr}.meter-batch-form label,.meter-batch-form .wide,.meter-reading-field{grid-column:1}.reconciliation-values strong{font-size:.96rem}.tariff-page{min-width:0;overflow:hidden}}
/* Forecast accuracy keeps observed weather and production visibly separate. */
.accuracy-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.accuracy-card{display:grid;gap:14px}.accuracy-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.accuracy-pair>div{display:grid;gap:5px;padding:12px;border-radius:14px;background:rgba(255,255,255,.035)}.accuracy-pair span,.accuracy-card small{color:var(--muted)}.accuracy-classes{display:flex;flex-wrap:wrap;gap:7px}.accuracy-classes span{padding:6px 9px;border:1px solid rgba(255,255,255,.09);border-radius:999px;font-size:.78rem}@media(max-width:700px){.accuracy-grid{grid-template-columns:1fr}.accuracy-pair{grid-template-columns:1fr}.accuracy-page{min-width:0}}
/* Sprint 12: linked PV and irradiance analytics, real samples only. */
.solar-analytics{min-width:0}.solar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.array-selector{display:flex;gap:5px;padding:4px;border-radius:12px;background:#121824}.array-selector button{min-height:38px;padding:7px 13px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:800}.array-selector button.active{background:#3b2d65;color:#fff}.solar-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.solar-kpis article{display:grid;gap:5px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:12px;background:#141a27}.solar-kpis span{color:var(--muted);font-size:.7rem}.solar-kpis strong{font-size:1rem;font-variant-numeric:tabular-nums}.solar-analysis-chart{overflow:hidden}.solar-chart-wrap{position:relative;height:340px;touch-action:none}.solar-chart-wrap svg{display:block;width:100%;height:100%;overflow:visible}.solar-chart-wrap .chart-empty{pointer-events:none}.axis-grid{stroke:#30394d;stroke-width:1}.axis-tick{stroke:#657087}.axis-label,.axis-unit{fill:#aeb7ca;font-size:12px}.crosshair{stroke:#dbe4f5;stroke-width:1;stroke-dasharray:4 4}.selected-dot{fill:#fff;stroke:#111827;stroke-width:2}.legend-dot.curtailed{background:#f49d35}.legend-dot.satellite{background:#35d6a0}.selected-panel{margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#111722;color:var(--muted)}.selected-panel>strong{display:block;margin-bottom:9px;color:#fff;font-size:1.1rem}.selected-panel dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0}.selected-panel dl>div{display:grid;gap:3px}.selected-panel dt{font-size:.7rem}.selected-panel dd{margin:0;color:var(--text);font-size:.83rem;font-weight:800}.accuracy-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.metric-grid>div{display:grid;gap:4px;padding:9px;border-radius:10px;background:#141a27}.metric-grid span{color:var(--muted);font-size:.67rem}.metric-grid b{font-size:.88rem}.horizon-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.horizon-grid>div{display:grid;gap:4px;padding:10px;border-radius:10px;background:#141a27}.horizon-grid span,.satellite-explanation{color:var(--muted);font-size:.75rem}.satellite-explanation{padding:0 4px}.solar-analytics[data-loading="1"]{opacity:.78}@media(max-width:800px){.solar-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.solar-chart-wrap{height:300px}.selected-panel dl{grid-template-columns:1fr 1fr}.accuracy-metrics{grid-template-columns:1fr}.horizon-grid{grid-template-columns:1fr 1fr}.solar-toolbar>*{width:100%}.array-selector button{flex:1}.axis-label,.axis-unit{font-size:13px}}@media(max-width:390px){.solar-chart-wrap{height:285px}.solar-analysis-chart{padding-left:8px;padding-right:8px}.selected-panel dl{grid-template-columns:1fr}.solar-kpis strong{font-size:.9rem}.metric-grid{grid-template-columns:1fr 1fr}.horizon-grid{grid-template-columns:1fr}.array-selector button{padding-left:7px;padding-right:7px;font-size:.78rem}}
/* Sprint 13: read-only Mining Decision Center. */
.decision-center{min-width:0}.control-boundary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.control-boundary>div{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#141a27}.control-boundary b{font-size:.76rem;color:var(--amber)}.control-boundary div:last-child b{color:#a78bfa}.control-boundary span{color:var(--muted);font-size:.76rem}.shadow-fleet{grid-template-columns:repeat(6,minmax(0,1fr))}.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.decision-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#111722}.decision-card>header{display:flex;justify-content:space-between;gap:10px;padding:14px;background:#171e2d}.decision-card header span,.decision-card header small{color:var(--muted);font-size:.7rem}.decision-card h2{margin:3px 0;font-size:1.05rem}.miner-state{color:var(--green)}.miner-primary,.economics-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:11px}.miner-primary>div,.economics-strip>div{display:grid;gap:3px;min-width:0}.miner-primary span,.economics-strip span,.projection span,.window-hint span{color:var(--muted);font-size:.67rem}.miner-primary strong,.economics-strip b{font-size:.84rem}.shadow-recommendation{display:grid;gap:7px;margin:0 11px;padding:12px;border-radius:12px;background:#1a1730}.shadow-recommendation>span{color:#b9acd9;font-size:.7rem}.shadow-recommendation>strong{font-size:1.28rem}.shadow-recommendation>em{font-style:normal;color:var(--muted);font-size:.72rem}.shadow-recommendation ul{margin:0;padding-left:18px;color:#cbd3e4;font-size:.75rem}.quality-high .shadow-recommendation{border-left:3px solid var(--green)}.quality-medium .shadow-recommendation{border-left:3px solid var(--amber)}.quality-low .shadow-recommendation,.quality-unknown .shadow-recommendation{border-left:3px solid #788298}.projection{display:grid;gap:7px;padding:11px}.projection>div{display:flex;justify-content:space-between;gap:10px}.projection b{font-size:.77rem;text-align:right}.economics-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.window-hint{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px}.window-hint b{font-size:.78rem}.decision-card details{border-top:1px solid var(--line)}.decision-card summary{padding:11px;cursor:pointer;color:var(--muted);font-size:.76rem}.decision-details{display:grid;gap:10px;padding:0 11px 12px}.decision-details section{padding:9px;border-radius:10px;background:#141a27}.decision-details h3{margin:0 0 6px;font-size:.78rem}.decision-details p{margin:4px 0;color:var(--muted);font-size:.72rem}.forecast-horizons{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.forecast-horizons>div{display:grid;gap:2px}.forecast-horizons span,.forecast-horizons small{color:var(--muted);font-size:.62rem}.forecast-horizons b{font-size:.7rem}.dispatch-list{display:flex;gap:7px;flex-wrap:wrap}.dispatch-list span{padding:7px 10px;border-radius:999px;background:#1b2233;font-size:.75rem}.what-if-select{display:flex;gap:7px;flex-wrap:wrap}.what-if-select label{display:flex;gap:5px;align-items:center;padding:7px 9px;border:1px solid var(--line);border-radius:9px;font-size:.75rem}.what-if-result{display:grid;gap:8px;margin-top:10px}.what-if-result article{display:grid;gap:4px;padding:10px;border-radius:10px;background:#141a27;font-size:.75rem}.timeline-list{display:grid;gap:6px}.timeline-event{display:grid;grid-template-columns:55px minmax(120px,1fr) auto;gap:8px;align-items:center;width:100%;padding:9px;border:1px solid var(--line);border-radius:9px;background:#141a27;color:var(--text);text-align:left}.timeline-event.shadow{border-left:3px dashed #966eff}.timeline-event.real{border-left:3px solid #f49d35}.timeline-event span,.timeline-event time{color:var(--muted);font-size:.7rem}@media(max-width:800px){.decision-grid{grid-template-columns:1fr}.shadow-fleet{grid-template-columns:repeat(2,minmax(0,1fr))}.control-boundary{grid-template-columns:1fr}.miner-primary,.economics-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:390px){.decision-card>header{padding:11px}.projection>div{display:grid}.projection b{text-align:left}.forecast-horizons{grid-template-columns:1fr 1fr}.timeline-event{grid-template-columns:48px minmax(0,1fr)}.timeline-event span{grid-column:2}.decision-center,.decision-card{max-width:100%;overflow-x:hidden}}
.economics-block>h3{margin:0;padding:11px 11px 0;font-size:.72rem;letter-spacing:.06em;color:#c9d2e5}.projected-economics{margin:0 11px 10px;border:1px solid #493c70!important;border-radius:11px;background:#17152a}.projected-economics>summary{font-weight:800;color:#c7b7f5}.projected-economics .economics-block>h3:empty{display:none}.economics-meta,.scenario-economics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:9px 11px;color:var(--muted);font-size:.69rem}.scenario-economics{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.economics-quality{padding:7px 11px;color:var(--muted);font-size:.67rem;overflow-wrap:anywhere}@media(max-width:390px){.economics-meta,.scenario-economics{grid-template-columns:1fr}.projected-economics{margin-inline:8px}.economics-strip{min-width:0}}
.physical-control-state{display:grid;justify-items:end;gap:2px}.mode-switch,.mode-readonly{display:flex;align-items:center;gap:8px;margin:10px 11px 0;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:#141a27}.mode-switch>span,.mode-readonly>span{margin-right:auto;color:var(--muted);font-size:.7rem}.mode-switch>div{display:flex;padding:3px;border-radius:9px;background:#0f1420}.mode-switch button{min-width:74px;min-height:36px;padding:6px 9px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:850;touch-action:manipulation}.mode-switch button.active{background:#4b387b;color:#fff;box-shadow:inset 0 0 0 1px #896bd1}.mode-switch button:disabled{opacity:.62}.mode-switch small,.mode-readonly small{color:var(--muted);font-size:.65rem}.mode-switch small.ok{color:var(--green)}.mode-switch small.error{color:var(--red)}.mode-readonly b{color:var(--amber)}@media(max-width:390px){.physical-control-state{justify-items:end}.mode-switch,.mode-readonly{display:grid;grid-template-columns:1fr auto;margin-inline:8px}.mode-switch>span,.mode-readonly>span{margin:0}.mode-switch small,.mode-readonly small{grid-column:1/-1}.mode-switch button{min-width:70px}.decision-card{max-width:100%;overflow-x:hidden}}
.decision-chart{height:190px;margin-bottom:10px}.decision-chart svg{display:block;width:100%;height:100%}
.timeline-detail{margin-top:9px;padding:10px;border-radius:10px;background:#111722;color:var(--muted);font-size:.75rem}.timeline-detail b{color:var(--text)}
.solar-chart-wrap{touch-action:pan-y}
.chart-tooltip.chart-selected-panel{position:static;left:auto;right:auto;bottom:auto;max-width:none;margin:10px 0 8px;padding:10px;pointer-events:none}.chart-selected-panel[hidden]{display:none!important}@media(max-width:800px){.chart-tooltip.chart-selected-panel{margin-bottom:10px}.chart-tooltip dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:390px){.chart-tooltip dl{grid-template-columns:1fr}.chart-selected-panel{max-width:100%;overflow:hidden}}

/* Sprint 18: compact, input-aware mining fleet. */
.mining-fleet-page{overflow-x:hidden}.control-boundary.compact>div{padding:9px 12px}.fleet-overview{grid-template-columns:1.25fr repeat(4,minmax(0,1fr))}.fleet-overview article{display:grid;gap:3px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#151b29}.fleet-overview span,.fleet-overview small{color:var(--muted);font-size:.68rem}.fleet-overview strong{font-size:clamp(1.05rem,2.2vw,1.42rem);font-variant-numeric:tabular-nums;white-space:nowrap}.fleet-input-filter{display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:13px;background:#111722;overflow-x:auto;scrollbar-width:none}.fleet-input-filter::-webkit-scrollbar{display:none}.fleet-input-filter button{display:flex;align-items:center;justify-content:center;gap:6px;flex:1 0 auto;min-height:40px;padding:7px 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:800;touch-action:manipulation}.fleet-input-filter button span{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:99px;background:#252d3e;font-size:.68rem}.fleet-input-filter button.active{background:#392d5f;color:#fff}.fleet-input-filter button.active span{background:#665097}.fleet-list-compact{display:grid;gap:7px}.fleet-miner-card{position:relative;overflow:hidden;border:1px solid rgba(104,120,155,.25);border-radius:14px;background:#131925}.fleet-miner-card:before{content:"";position:absolute;z-index:2;left:0;top:0;bottom:0;width:4px;background:#6e778b}.fleet-miner-card.input-grid50:before{background:var(--blue)}.fleet-miner-card.input-hybrid:before{background:var(--green)}.fleet-miner-card.input-third:before{background:#8992a5}.fleet-miner-card.expanded{border-color:#55477e}.miner-compact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px 7px 12px}.miner-card-toggle{display:grid;grid-template-columns:minmax(190px,1.5fr) 102px minmax(88px,.65fr) minmax(78px,.55fr) 18px;align-items:center;gap:10px;width:100%;min-height:58px;padding:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.miner-identity{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 8px;align-items:center}.miner-identity>b{grid-row:1/3;font-size:1.22rem;font-variant-numeric:tabular-nums}.miner-identity>span{font-size:.84rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.miner-identity>small,.quick-metric small{color:var(--muted);font-size:.67rem}.state-badge{justify-self:start;padding:5px 8px;border-radius:999px;font-size:.7rem;font-weight:900;background:#252d3e;color:#c4ccdc}.state-badge.running{background:#17382e;color:#76e7be}.state-badge.sleeping{background:#3c321d;color:#f0cb76}.state-badge.offline{background:#272d39;color:#929cad}.quick-metric{display:grid;gap:2px}.quick-metric b{font-size:.86rem;font-variant-numeric:tabular-nums;white-space:nowrap}.miner-card-toggle>i{font-style:normal;color:var(--muted);transition:transform .18s}.expanded .miner-card-toggle>i{transform:rotate(180deg)}.compact-mode{margin:0;min-width:224px}.compact-mode>span{display:none}.compact-mode button{min-width:68px;min-height:34px}.compact-mode small{max-width:110px}.miner-expanded{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px 10px 12px 14px;border-top:1px solid var(--line);background:#0f1520}.miner-expanded[hidden]{display:none}.miner-expanded>section{display:grid;align-content:start;gap:9px;padding:11px;border:1px solid rgba(104,120,155,.18);border-radius:12px;background:#151b28}.miner-expanded>section h3{margin:0;font-size:.86rem}.detail-block{display:grid;gap:6px}.detail-block h4{margin:0;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.detail-metrics,.safety-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.detail-metrics>span,.safety-grid>span{display:grid;gap:2px;padding:7px 8px;border-radius:8px;background:#111722;color:var(--muted);font-size:.65rem}.detail-metrics b,.safety-grid b{color:var(--text);font-size:.76rem;overflow-wrap:anywhere}.detail-note,.empty-detail{margin:0;color:var(--muted);font-size:.69rem}.scenario-economics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0;border:0}.scenario-economics span{display:grid;gap:2px;padding:7px;border-radius:8px;background:#111722;color:var(--muted);font-size:.64rem}.scenario-economics b{color:var(--text);font-size:.72rem}.control-explainer{display:grid;grid-template-columns:1fr 1fr;gap:6px}.control-explainer>div{display:grid;gap:3px;padding:9px;border-radius:9px;background:#111722;border-left:3px solid var(--amber)}.control-explainer>div:last-child{border-left-color:#966eff}.control-explainer small,.control-explainer span{color:var(--muted);font-size:.65rem}.control-explainer b{font-size:.77rem}.forecast-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.forecast-mini>span{display:grid;gap:2px;color:var(--muted);font-size:.62rem}.forecast-mini b{color:var(--text);font-size:.68rem}.forecast-mini small{font-size:.58rem}.hardware-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.hardware-grid>div{display:grid;gap:2px;padding:7px;border-radius:8px;background:#111722}.hardware-grid span,.hardware-grid small{color:var(--muted);font-size:.62rem}.hardware-grid b{font-size:.7rem}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.detail-title>small{color:var(--muted)}.miner-history{grid-column:1/-1}.miner-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.miner-history-grid>div>small{display:block;margin-bottom:4px;color:var(--muted)}.miner-history-grid .chart-wrap{height:205px}.miner-events{display:grid;gap:5px}.miner-event{display:grid;grid-template-columns:48px minmax(80px,.7fr) minmax(0,1fr);gap:7px;padding:7px 8px;border-radius:8px;background:#111722;border-left:3px dashed #966eff;font-size:.66rem}.miner-event.real{border-left-style:solid;border-left-color:var(--amber)}.miner-event time,.miner-event span{color:var(--muted)}.fleet-advanced>summary{cursor:pointer;font-weight:800}.fleet-advanced-body{display:grid;gap:16px;padding-top:16px}.fleet-advanced-body>section+section{padding-top:16px;border-top:1px solid var(--line)}
@media(min-width:1080px){.fleet-list-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-miner-card.expanded{grid-column:1/-1}}
@media(max-width:800px){.fleet-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-overview article:first-child{grid-column:1/-1}.miner-compact-row{grid-template-columns:1fr}.compact-mode{min-width:0;justify-self:stretch;margin:0 0 3px}.compact-mode>span{display:block}.miner-expanded{grid-template-columns:1fr}.miner-history{grid-column:auto}.miner-history-grid{grid-template-columns:1fr}.miner-card-toggle{grid-template-columns:minmax(145px,1fr) 94px minmax(75px,.7fr) minmax(65px,.6fr) 14px}.miner-event{grid-template-columns:45px minmax(78px,.7fr) minmax(0,1fr)}}
@media(max-width:430px){.fleet-overview strong{font-size:1.05rem}.fleet-input-filter{padding:3px}.fleet-input-filter button{padding:6px 8px;font-size:.72rem}.miner-compact-row{padding:8px 8px 8px 12px}.miner-card-toggle{grid-template-columns:minmax(0,1fr) auto auto 14px;gap:7px}.miner-identity{grid-column:1/3}.state-badge{grid-column:3}.miner-card-toggle>i{grid-column:4;grid-row:1/3}.quick-metric{grid-row:2}.quick-metric:nth-of-type(3){grid-column:1}.quick-metric:nth-of-type(4){grid-column:2}.miner-identity>span{font-size:.78rem}.compact-mode{grid-template-columns:1fr auto}.compact-mode button{min-width:66px}.miner-expanded{padding:8px}.miner-expanded>section{padding:9px}.detail-metrics,.safety-grid,.control-explainer{grid-template-columns:1fr 1fr}.forecast-mini{grid-template-columns:1fr 1fr}.hardware-grid,.scenario-economics{grid-template-columns:1fr}.miner-event{grid-template-columns:42px minmax(0,1fr)}.miner-event span{grid-column:2}.mining-fleet-page,.fleet-miner-card,.miner-expanded{max-width:100%;overflow-x:hidden}}

/* Sprint 19: factual/derived economics is visually separate from run-rate. */
.economics-v2-page{overflow-x:hidden}.economics-today-grid,.solar-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.economics-today-grid>div,.solar-value-grid>div{display:grid;gap:4px;padding:12px;border:1px solid rgba(104,120,155,.2);border-radius:11px;background:#111722}.economics-today-grid span,.solar-value-grid span{color:var(--muted);font-size:.7rem}.economics-today-grid strong,.solar-value-grid b{font-size:clamp(1rem,2.5vw,1.35rem);font-variant-numeric:tabular-nums}.economics-today-grid small,.quality-note{color:var(--muted);font-size:.67rem}.solar-value-card{border-color:rgba(255,211,94,.26);background:linear-gradient(145deg,#171b25,#191c17)}.legend-dot.solar{background:#ffd35e}.economics-v2-page details>summary{cursor:pointer;font-weight:800}.economics-v2-page .input-econ .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.economics-today-grid,.solar-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.economics-v2-page .card-head{align-items:flex-start}.economics-v2-page .chart-controls{flex-wrap:nowrap}.economics-v2-page .input-econ .metric-grid{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.economics-today-grid,.solar-value-grid{grid-template-columns:1fr 1fr;gap:6px}.economics-today-grid>div,.solar-value-grid>div{padding:9px}.economics-today-grid strong,.solar-value-grid b{font-size:.96rem}.economics-v2-page{max-width:100%;overflow-x:hidden}}
.meter-budget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.meter-budget-card{display:grid;gap:11px;min-width:0}.meter-budget-card h3{margin:0}.meter-budget-card small{color:var(--muted)}.budget-primary{display:grid;gap:3px}.budget-primary span,.budget-metrics span{font-size:.7rem;color:var(--muted)}.budget-primary strong{font-size:1.45rem}.budget-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px}.budget-metrics>div{display:grid;gap:3px;padding:8px;border-radius:9px;background:#151d2c}.budget-metrics b{font-size:.78rem;overflow-wrap:anywhere}.monthly-budget-chart{height:36px;position:relative;border-radius:8px;background:#252d3d;overflow:hidden}.monthly-budget-chart span{position:absolute;left:0}.monthly-budget-chart .forecast{height:100%;top:0;background:#8e6cc733}.monthly-budget-chart .estimate{height:66%;top:17%;background:#a987e277}.monthly-budget-chart .fact{height:32%;top:34%;background:#54d6a8;z-index:3}.monthly-budget-chart i{position:absolute;top:0;bottom:0;width:2px;z-index:4}.monthly-budget-chart .band-one{background:#e7b74f}.monthly-budget-chart .band-three{right:0;left:auto!important;background:#e87171}.monthly-budget-chart .safe-boundary{background:#ff9d5c}.budget-legend{display:flex;gap:12px;font-size:.7rem}.budget-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px}.fact-key:before{background:#54d6a8}.estimate-key:before{background:#a987e2}.forecast-key:before{background:#8e6cc7}.three-input-total{padding:9px;color:var(--muted);font-size:.78rem;text-align:right}@media(max-width:900px){.meter-budget-grid{grid-template-columns:1fr}}@media(max-width:420px){.budget-metrics{grid-template-columns:1fr 1fr}.meter-budget-card{overflow:hidden}.three-input-total{text-align:left}}
.input-safety-banner{display:flex;flex-wrap:wrap;gap:.45rem 1rem;align-items:center;padding:.75rem 1rem;border:1px solid rgba(88,184,255,.25);border-radius:12px;background:rgba(18,31,48,.72)}
.input-safety-banner strong{color:#ff7777}.input-safety-banner.safety-hard_overload_pending,.input-safety-banner.safety-hard_overload_confirmed,.input-safety-banner.safety-emergency_stop_sent,.input-safety-banner.safety-critical_manual_overload{border-color:#ff5f68;background:rgba(112,24,32,.35)}
@media(max-width:390px){.input-safety-banner{display:grid;grid-template-columns:1fr 1fr}.input-safety-banner strong{grid-column:1/-1}}
