*{box-sizing:border-box}body{min-width:0;margin:0}button,input,select{font:inherit;min-height:var(--touch);border-radius:var(--radius-small);border:var(--line) solid var(--border)}button{justify-content:center;align-items:center;gap:var(--space-2);background:var(--surface-raised);color:var(--text);padding:var(--space-3) var(--space-4);font-weight:var(--weight-medium);cursor:pointer;touch-action:manipulation;display:inline-flex}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}button.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--text)}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.quiet{color:var(--muted);background:0 0;border-color:#0000}button.text-button,.text-button{color:var(--accent);padding:var(--space-2) 0;background:0 0;border:0;text-decoration:none}button.icon-button{width:var(--touch);height:var(--touch);padding:var(--space-3);flex-shrink:0}:focus-visible{outline:var(--space-1) solid var(--focus);outline-offset:var(--space-1)}main:focus{outline:none}input,select{background:var(--surface-deep);width:100%;min-width:0;color:var(--text);padding:var(--space-3)}input[type=checkbox]{width:var(--font-section);height:var(--font-section);min-height:var(--font-section);accent-color:var(--accent-strong);flex-shrink:0}a{color:var(--accent)}h1,h2,p{margin:0 0 var(--space-4)}h1{font-size:clamp(var(--font-title-min), 5vw, var(--font-title-max));letter-spacing:var(--tracking-tight);line-height:var(--heading-leading);font-weight:var(--weight-bold)}h2{font-size:var(--font-section);line-height:var(--heading-leading);font-weight:var(--weight-medium)}p:last-child{margin-bottom:0}.icon{width:var(--icon-size);height:var(--icon-size);stroke-width:var(--icon-stroke);vertical-align:middle;flex-shrink:0}.app-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:calc(var(--space-3) + env(safe-area-inset-top,0px)) var(--content-padding) var(--space-3);min-height:var(--header-height);border-bottom:var(--line) solid var(--grid);background:var(--background);display:flex}.brand{align-items:center;gap:var(--space-3);min-width:0;color:var(--text);text-decoration:none;display:flex}.brand img{width:var(--logo-height);height:var(--logo-height);object-fit:contain;flex-shrink:0}.brand>span{min-width:0}.brand strong{font-size:var(--font-brand);letter-spacing:var(--tracking-tight);white-space:nowrap;display:block}.brand small{font-size:var(--font-caption);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:55vw;display:block;overflow:hidden}.brand-divider{color:var(--border);margin:0 var(--space-2)}.brand-label{font-size:var(--font-caption);letter-spacing:var(--tracking);font-weight:var(--weight-medium)}.header-settings{color:var(--muted);background:0 0;border:0}.navigation{z-index:var(--layer-nav);min-height:var(--nav-height);padding:var(--space-2) var(--space-2) max(var(--space-2), env(safe-area-inset-bottom));background:var(--background);border-top:var(--line) solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.navigation a{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--touch);border-radius:var(--radius-small);font-size:var(--font-meta);color:var(--muted);flex-direction:column;text-decoration:none;display:flex}.navigation a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.content{max-width:var(--content-width);padding:var(--space-5) var(--content-padding) calc(var(--nav-height) + var(--space-6) + env(safe-area-inset-bottom));margin:auto}.skip-link{top:var(--space-2);left:var(--space-2);z-index:var(--layer-skip);background:var(--surface-raised);padding:var(--space-3);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.page-heading,.section-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-heading h1,.section-heading h2{margin-bottom:0}.eyebrow{align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--font-meta);letter-spacing:var(--tracking);font-weight:var(--weight-medium);margin-bottom:var(--space-2);display:flex}.eyebrow .icon{color:var(--accent)}.label,.meta,.chart-caption,.page-footnote{color:var(--muted);font-size:var(--font-meta)}.page-footnote{padding:0 var(--space-2)}.panel,.metric{background:var(--surface);border:var(--line) solid var(--border);border-radius:var(--radius);min-width:0;padding:var(--space-5);margin-bottom:var(--space-4)}.live-grid,.overview-grid{gap:var(--space-4);display:grid}.live-grid{margin-bottom:var(--space-4)}.live-grid>*,.overview-grid>*{margin-bottom:0}.overview-grid{margin-bottom:var(--space-4)}.thermal-hero{border:var(--line) solid var(--border);border-radius:var(--radius);padding:var(--space-5);background:var(--hero-gradient);min-width:0}.hero-temperature{font-family:var(--font-mono);font-size:var(--font-temperature);line-height:var(--heading-leading);letter-spacing:var(--tracking-tight);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;margin:var(--space-4) 0 var(--space-3)}.hero-temperature>span{color:var(--muted);font-family:inherit;font-size:var(--font-section);letter-spacing:normal;margin-left:var(--space-2);display:inline-block}.connection{align-items:center;gap:var(--space-2);font-size:var(--font-meta);color:var(--muted);display:inline-flex}.connection.good{color:var(--success)}.connection.warning{color:var(--warning)}.status-dot{width:var(--status-size);height:var(--status-size);background:currentColor;border-radius:50%;flex-shrink:0;display:inline-block}.temperature-scale{height:var(--space-1);border-radius:var(--radius-pill);background:var(--surface-raised);margin:var(--space-4) 0;overflow:hidden}.temperature-scale>span{background:var(--accent);border-radius:inherit;height:100%;display:block}.unavailable .temperature-scale>span{background:var(--muted)}.hero-footer{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hero-footer span,.hero-footer strong{display:block}.hero-footer span{font-size:var(--font-meta);color:var(--muted)}.hero-footer strong{font-size:var(--font-body);font-weight:var(--weight-medium)}.hero-footer small{font-size:inherit;color:var(--warning)}.badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:var(--line) solid var(--border);border-radius:var(--radius-pill);font-size:var(--font-meta);color:var(--muted);background:var(--surface-deep);font-weight:var(--weight-medium);display:inline-flex}.badge.good{color:var(--success);background:var(--success-bg);border-color:#0000}.badge.warning{color:var(--warning);background:var(--warning-bg);border-color:#0000}.burn-card{flex-direction:column;display:flex}.thermal-hero .section-heading,.burn-card .section-heading{margin-bottom:var(--space-4)}.burn-card .eyebrow{margin-bottom:0}.burn-card .eyebrow .icon{color:var(--warm)}.burn-title{font-size:var(--font-metric);letter-spacing:var(--tracking-tight);font-weight:var(--weight-bold);margin-bottom:var(--space-3)}.burn-description{color:var(--muted);margin-bottom:var(--space-4)}.burn-card.attention{border-color:var(--warning-line)}.burn-card.attention .burn-title{color:var(--warning)}.deadline{border-left:var(--space-1) solid var(--accent);padding-left:var(--space-3);font-size:var(--font-meta)}.booking-actions{gap:var(--space-1);padding-top:var(--space-2);flex-direction:column;margin-top:auto;display:flex}.booking-actions .primary{width:100%}.booking-actions .primary .icon:last-child{margin-left:auto}.booking-actions .primary .icon:first-child{margin-right:auto}.burn-details{border-top:var(--line) solid var(--border);margin-top:var(--space-4)}summary{cursor:pointer;min-height:var(--touch);padding:var(--space-3) 0;font-weight:var(--weight-medium)}.burn-details summary{color:var(--muted);font-size:var(--font-meta)}.setup-note{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);border:var(--line) solid var(--border);border-radius:var(--radius-small);display:flex}.setup-note>.icon{color:var(--accent)}.setup-note>div{flex:1;min-width:0}.setup-note strong,.setup-note span{font-size:var(--font-meta);display:block}.setup-note span{color:var(--muted)}.setup-note .icon-button{padding:var(--space-2);background:0 0;border:0}.segmented{gap:var(--space-1);padding:var(--space-1);background:var(--surface-deep);border:var(--line) solid var(--border);border-radius:var(--radius-small);display:flex}.segmented button{color:var(--muted);padding:var(--space-2) var(--space-3);white-space:nowrap;font-size:var(--font-meta);background:0 0;border:0;flex:1}.segmented button[aria-pressed=true]{color:var(--text);background:var(--surface-raised)}.time-range{margin-bottom:var(--space-5)}.time-range button{padding-inline:var(--space-1)}.chart{height:var(--chart-height);width:100%;font-size:var(--font-meta)}.chart-caption{margin-top:var(--space-3);margin-bottom:0}.chart-legend{gap:var(--space-5);margin-bottom:var(--space-4);display:flex}.legend-item{align-items:center;gap:var(--space-2);font-size:var(--font-meta);color:var(--muted);display:inline-flex}.legend-item i{height:var(--space-2);width:var(--space-2);background:var(--accent);border-radius:50%}.legend-item.comparison i{background:var(--chart-previous)}.inline-metrics{gap:var(--space-4);padding-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.inline-metrics strong,.inline-metrics span{display:block}.inline-metrics strong{font-size:var(--font-metric);font-family:var(--font-mono);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight)}.inline-metrics span{font-size:var(--font-meta);color:var(--muted)}.inline-metrics small{font-size:var(--font-body)}.stock-value{font-family:var(--font-mono);font-size:var(--font-metric);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-1)}.stock-value span{font-size:var(--font-body);color:var(--muted)}.overview-grid .section-heading>.icon{color:var(--muted)}.notice{border:var(--line) solid var(--border);border-left:var(--space-1) solid var(--accent);border-radius:var(--radius-small);padding:var(--space-4);background:var(--surface-raised);margin-bottom:var(--space-4);overflow-wrap:anywhere}.notice strong{align-items:center;gap:var(--space-2);display:flex}.notice p{margin-top:var(--space-2)}.notice.danger{border-left-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.notice.warning{border-left-color:var(--warning);background:var(--warning-bg)}.notice.success{border-left-color:var(--success);background:var(--success-bg);color:var(--success)}.field{gap:var(--space-2);font-size:var(--font-meta);color:var(--muted);margin-bottom:var(--space-4);flex-direction:column;min-width:0;display:flex}.field input,.field select{font-size:var(--font-body)}.form-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--field-min)), 1fr));align-items:end;gap:0 var(--space-4);display:grid}.check{align-items:center;gap:var(--space-3);min-height:var(--touch);margin-bottom:var(--space-4);display:flex}.details{margin:var(--space-4) 0}.details>div{padding:var(--space-3) 0;border-bottom:var(--line) solid var(--border)}dt{color:var(--muted);font-size:var(--font-meta)}dd{margin:var(--space-1) 0 0}.combustion-status .details{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--field-min)), 1fr));gap:0 var(--space-4);display:grid}.settings-panel>summary{font-size:var(--font-section)}.settings-panel[open]>summary{margin-bottom:var(--space-4)}.settings-panel form>.primary{width:100%}.combustion-settings{margin-bottom:var(--space-4)}.account-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.install-icon img{width:var(--space-7);height:var(--space-7)}.install-card details summary{color:var(--accent);font-size:var(--font-meta)}.install-steps{padding-left:var(--space-5);margin:var(--space-3) 0 0}.install-steps li{margin-bottom:var(--space-4);padding-left:var(--space-2)}.install-steps strong,.install-steps span{display:block}.install-steps span{color:var(--muted);font-size:var(--font-meta)}.year-controls{gap:var(--space-3);margin-bottom:var(--space-4);align-items:center;display:flex}.year-controls .field{flex:1;margin:0}.year-versus{color:var(--muted);padding-top:var(--space-5);font-size:var(--font-meta)}.analytics-metrics{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.analytics-metrics .metric{padding:var(--space-4)}.analytics-metrics .eyebrow{letter-spacing:normal;font-size:var(--font-meta)}.analytics-metrics .metric-value{font-family:var(--font-mono);letter-spacing:var(--tracking-tight);font-size:var(--font-metric);margin:var(--space-3) 0 var(--space-2)}.metric-value span{font-size:var(--font-body);color:var(--muted)}.feature-metric{background:var(--hero-gradient)}.comparison-value{font-family:var(--font-mono);font-size:var(--font-metric);letter-spacing:var(--tracking-tight);color:var(--accent)}.comparison-value span{font-size:var(--font-section)}.forecast-stock{gap:var(--space-2);border-top:var(--line) solid var(--border);padding-top:var(--space-4);margin-top:var(--space-4);font-size:var(--font-meta);align-items:center;display:flex}.forecast-stock .icon{color:var(--accent)}.month-list,.ledger-list,.event-list,.cycle-list{margin:0;padding:0;list-style:none}.month-list li{gap:var(--space-3);padding:var(--space-4) 0;border-bottom:var(--line) solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;display:grid}.month-list li:last-child,.ledger-list li:last-child,.event-list li:last-child,.cycle-list li:last-child{border-bottom:0}.month-title{gap:var(--space-1);min-width:var(--space-7);flex-direction:column;display:flex}.month-title .badge{padding:0 var(--space-1);font-size:var(--font-caption)}.month-values strong,.month-values span,.month-previous strong,.month-previous span{display:block}.month-values strong{font-family:var(--font-mono);font-size:var(--font-body)}.month-values span,.month-previous{font-size:var(--font-meta);color:var(--muted)}.month-previous{text-align:right}.month-previous strong{font-weight:var(--weight-body)}.analytics-footer{padding:var(--space-3) var(--space-2)}.inventory-hero{background:var(--hero-gradient)}.inventory-forecast{padding-top:var(--space-4);margin-top:var(--space-4);border-top:var(--line) solid var(--border)}.inventory-forecast strong{margin:var(--space-2) 0;display:block}.inventory-booking>summary{font-size:var(--font-section)}.inventory-booking>summary .icon{margin-right:var(--space-2);color:var(--accent)}.inventory-booking[open]>summary{margin-bottom:var(--space-3)}.ledger-list li{align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:var(--line) solid var(--border);display:flex}.ledger-symbol{width:var(--space-6);height:var(--space-6);border-radius:var(--radius-small);background:var(--surface-raised);color:var(--muted);flex-shrink:0;place-items:center;display:grid}.ledger-symbol.positive{color:var(--success);background:var(--success-bg)}.ledger-list li>div{min-width:0}.ledger-list strong,.ledger-list li>div>span{overflow-wrap:anywhere;display:block}.ledger-list li>div>span{color:var(--muted);font-size:var(--font-meta)}.ledger-amount{text-align:right;flex-shrink:0;margin-left:auto}.ledger-amount strong{font-family:var(--font-mono);font-weight:var(--weight-medium)}.event-list li,.cycle-list li{padding:var(--space-4) 0;border-bottom:var(--line) solid var(--border)}.event-list .section-heading{margin-bottom:var(--space-2)}.event-list p{font-size:var(--font-meta)}.cycle-list summary{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:0;display:flex}.cycle-list summary>span:first-child{gap:var(--space-1);flex-direction:column;display:flex}.cycle-list summary strong{font-size:var(--font-body)}.booking-dialog{width:100%;max-width:var(--sheet-width);max-height:calc(100dvh - env(safe-area-inset-top) - var(--space-4));padding:var(--space-4) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));background:var(--surface);color:var(--text);border:var(--line) solid var(--border);border-radius:var(--radius) var(--radius) 0 0;box-shadow:var(--shadow);margin:auto auto 0;position:fixed;inset:auto 0 0;overflow-y:auto}.booking-dialog::backdrop{background:var(--backdrop)}.sheet-handle{width:var(--sheet-handle-width);height:var(--sheet-handle-height);background:var(--border);border-radius:var(--radius-pill);margin:0 auto var(--space-5)}.quantity-field{margin:var(--space-5) 0 var(--space-4);border:0;padding:0}.quantity-field legend{font-size:var(--font-meta);color:var(--muted);margin-bottom:var(--space-2)}.quantity-options{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.quantity-options button{padding:var(--space-3) var(--space-2)}.quantity-options button span{color:var(--muted);font-size:var(--font-meta)}.quantity-options button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.booking-summary{gap:var(--space-2);padding:var(--space-4);background:var(--surface-deep);border-radius:var(--radius-small);margin:var(--space-4) 0;grid-template-columns:1fr auto;display:grid}.booking-summary span{color:var(--muted);font-size:var(--font-meta)}.booking-summary strong{font-family:var(--font-mono);font-size:var(--font-meta);font-weight:var(--weight-medium)}.sheet-actions{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:auto 1fr;display:grid}.empty,.loading-state{padding:var(--space-7) var(--space-2);text-align:center;color:var(--muted);font-size:var(--font-body)}.login{max-width:var(--login-width);margin:var(--space-7) auto;padding:var(--content-padding)}.login .brand{margin-bottom:var(--space-6)}.login .brand small{letter-spacing:var(--tracking)}.login .panel{box-shadow:var(--shadow);padding:var(--space-6) var(--space-5)}.login .panel>.eyebrow{color:var(--accent)}.login form{margin-top:var(--space-6)}.login form .primary{width:100%}.login-footer{text-align:center;color:var(--muted);font-size:var(--font-meta)}@media (width>=48rem){.live-grid,.overview-grid{grid-template-columns:1fr 1fr}.booking-dialog{border-radius:var(--radius);height:fit-content;margin:auto;inset:0}.sheet-handle{display:none}.analytics-metrics .metric{padding:var(--space-5)}.inventory-hero{gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.inventory-forecast{border-top:0;border-left:var(--line) solid var(--border);padding:var(--space-4) 0 var(--space-4) var(--space-6);align-self:center;margin:0}.time-range{max-width:var(--sheet-width)}}@media (width>=64rem){.app-header{max-width:var(--content-width);padding-top:var(--space-4);padding-bottom:var(--space-4);border:0;margin:auto}.header-settings{display:none}.navigation{max-width:var(--content-width);border-top:0;border-bottom:var(--line) solid var(--border);padding:0 var(--content-padding) var(--space-4);gap:var(--space-2);min-height:auto;margin:auto;position:static}.navigation a{gap:var(--space-2);flex-direction:row}.content{padding-bottom:var(--space-8)}.chart{height:calc(var(--chart-height) + var(--space-8))}.brand small{max-width:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}body:has(dialog[open]){overflow:hidden}.measurement-list{margin-top:var(--space-4)}.measurement-scroll{max-height:var(--chart-height);margin-top:var(--space-3);overflow:auto}.measurement-list table{border-collapse:collapse;width:100%;font-size:var(--font-meta)}.measurement-list th,.measurement-list td{text-align:left;border-bottom:var(--line) solid var(--border);padding:var(--space-2)}.measurement-list th{font-weight:var(--weight-medium)}.measurement-list caption{text-align:left;color:var(--muted);margin-bottom:var(--space-3)}input[type=range]{accent-color:var(--accent);background:0 0;border:0;padding:0}.warmth-time{font-family:var(--font-mono);font-size:var(--font-section);color:var(--accent)}.warmth-facts{gap:var(--space-4) var(--space-6);margin-top:var(--space-4);font-size:var(--font-meta);color:var(--muted);flex-wrap:wrap;display:flex}.warmth-facts strong{color:var(--text);display:block}.warmth-comparison{padding-top:var(--space-4);border-top:var(--line) solid var(--border)}.warmth-comparison h3{font-size:var(--font-body);font-weight:var(--weight-medium);margin:0 0 var(--space-3)}.warmth-history{border-top:var(--line) solid var(--border);padding-top:var(--space-2)}.load-list{padding-left:var(--space-4);font-size:var(--font-meta);color:var(--muted)}.warmth-history .cycle-list summary{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.warmth-history .cycle-list summary .icon{color:var(--muted)}.warmth-history .cycle-list details[open]>summary .icon{transform:rotate(90deg)}
