:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e0c0a;--surface:#171411;--surface-2:#151210;--surface-3:#1f1b17;--border:#221e1a;--border-hover:#3a332c;--grid-line:#2a2520;--expected:#6b5a44;--text:#f5efe6;--text-2:#d9d0c4;--text-muted:#a69c90;--accent:#7ce7d0;--accent-text:#7ce7d0;--focus:var(--accent);--on-accent:#1a1206;--link:#9cefdc;--link-hover:#c4f6ea;--success:#34d399;--warning:#ffb547;--danger:#ff6b5b;--outage:#ffb547;--hero-grid:#7ce7d0;--hero-outage:#ffb547;--danger-text:#ff8a7d;--success-text:#6ee7b7;--warn-bg:#2a1e0e;--warn-border:#5a3d14;--warn-text:#f0c98c;--warn-text-strong:#f8dcae;--series-naive:#8a7f72;--series-whatif:#6fa3f5;--card-bg:var(--surface);--nav-active-bg:var(--surface-3);--chart-grid:var(--grid-line);--text-nav:var(--text-muted);--accent-normal:var(--accent);--accent-outage:var(--accent);--font-sans:"Onest", system-ui, sans-serif;--font-display:"Unbounded", "Onest", system-ui, sans-serif;--font-mono:var(--font-sans);--radius-card:28px;--radius-tile:20px;--radius-control:12px;--radius-pill:999px;--gap-block:16px;--gap-tile:16px;--header-height:60px;--bottom-nav-height:64px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--transition-colors:color .3s ease, background-color .3s ease, border-color .3s ease}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f1ea;--surface:#fff;--surface-2:#fff;--surface-3:#efe8de;--border:#e6ddd1;--border-hover:#cfc3b3;--grid-line:#efe8de;--expected:#b8a88f;--text:#1a1612;--text-2:#3d352c;--text-muted:#6e6457;--accent-text:#0b7a66;--focus:#0b7a66;--link:#0b7a66;--link-hover:#075446;--success:#12a46f;--danger:#e5483a;--danger-text:#b42f20;--success-text:#1e7a43;--warn-bg:#fff5e3;--warn-border:#efc78a;--warn-text:#7f4b00;--warn-text-strong:#5f3700;--series-naive:#9a8d7c;--series-whatif:#2160d4}:root{--threshold:var(--danger);--threshold-text:var(--danger-text)}:root[data-mode=outage]{--accent:#ffb547;--accent-text:#ffb547;--focus:#ffb547;--link:#ffc773;--link-hover:#ffdba6;--series-whatif:#7ce7d0}:root[data-theme=light][data-mode=outage]{--accent-text:#8f5400;--focus:#8f5400;--link:#8f5400;--link-hover:#5f3700;--series-whatif:#0b7a66}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;margin:0;font-size:15px;font-weight:500;line-height:1.45}body{min-height:100vh}a{color:var(--link)}a:hover{color:var(--link-hover)}h1,h2,h3{margin:0;line-height:1.25}h1{font-family:var(--font-display);letter-spacing:-.02em;font-size:24px;font-weight:700}h2{font-family:var(--font-display);letter-spacing:-.01em;font-size:18px;font-weight:700}h3{font-size:15px;font-weight:600}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.small{font-size:13px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);min-width:0;transition:var(--transition-colors);flex-direction:column;gap:14px;padding:24px;display:flex}.card--large{padding:32px}.tile{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-tile);flex-direction:column;gap:6px;min-width:0;padding:16px;display:flex}.stack{gap:var(--gap-block);flex-direction:column;min-width:0;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.btn{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--nav-active-bg);min-height:42px;color:var(--text);cursor:pointer;transition:var(--transition-colors);justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn--primary:hover:not(:disabled){border-color:var(--text);color:var(--on-accent)}.btn--ghost{background:0 0}.btn--block{width:100%}.link-button{color:var(--link);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__label{color:var(--text-2);font-weight:500}.field__hint{color:var(--text-muted);font-size:13px}.field__error{color:var(--danger-text);font-size:13px}.input{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg);width:100%;min-height:42px;color:var(--text);padding:9px 12px}.input:hover{border-color:var(--chart-grid)}.input[aria-invalid=true]{border-color:var(--danger)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.alert{border:1px solid var(--warn-border);background:var(--warn-bg);color:var(--warn-text-strong);border-radius:10px;padding:12px 14px}.alert--error{border-color:var(--danger);color:var(--danger-text);background:0 0}.skeleton{background:linear-gradient(90deg, var(--surface-3) 30%, color-mix(in srgb, var(--surface-3) 55%, var(--border-hover)) 50%, var(--surface-3) 70%);border-radius:var(--radius-card);background-size:300% 100%;min-height:150px;animation:1.4s linear infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}:root{--transition-colors:none}}.field__control{align-items:center;gap:8px;display:flex}.field__suffix{color:var(--text-muted);white-space:nowrap}.btn,.icon-button,.segmented__option{transition:var(--transition-colors), transform .1s ease}.btn:active:not(:disabled),.icon-button:active,.segmented__option:active{transform:scale(.96)}:focus-visible{outline-offset:3px;transition:outline-offset .15s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.app{flex-direction:column;min-height:100vh;padding:12px clamp(16px,3vw,40px) 0;display:flex}.skip-link{z-index:100;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);padding:10px 14px;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-size:16px;font-weight:800;display:inline-flex}.logo__icon{color:var(--accent);flex-shrink:0;transition:color .5s}.topbar{z-index:10;min-height:var(--header-height);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);view-transition-name:header;animation:topbar-in .4s var(--ease-out) both;align-items:center;gap:16px;padding:8px 8px 8px 16px;transition:background-color .25s;display:flex;position:sticky;top:12px}.topbar--scrolled{-webkit-backdrop-filter:blur(12px);background:#151210cc}:root[data-theme=light] .topbar--scrolled{background:#fffc}@keyframes topbar-in{0%{opacity:0;transform:translateY(-8px)}}.topbar__end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.section-nav{min-width:0}.section-nav--header{margin:0 auto}.section-nav__list{gap:2px;margin:0;padding:0;list-style:none;display:flex;position:relative}.sliding-indicator{border-radius:var(--radius-pill);pointer-events:none;transition:transform .35s var(--ease-spring), width .35s var(--ease-spring), opacity .15s ease;position:absolute;top:0;left:0}.section-nav__indicator{background:var(--text)}.section-nav__link{z-index:1;border-radius:var(--radius-pill);height:44px;color:var(--text-muted);white-space:nowrap;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s,transform .1s;display:flex;position:relative}.section-nav__link:hover{color:var(--text)}.section-nav__link.active{color:var(--bg)}.section-nav__link:active{transform:scale(.96)}.section-nav--header .section-nav__icon,.section-nav--bottom{display:none}.pill-button{border-radius:var(--radius-pill);background:var(--surface-3);max-width:220px;height:44px;color:var(--text);cursor:pointer;transition:var(--transition-colors), transform .1s ease;border:0;align-items:center;gap:6px;padding:0 14px 0 16px;font-size:14px;font-weight:600;display:inline-flex}.pill-button:hover{background:var(--grid-line)}.pill-button:active{transform:scale(.96)}.chevron{transition:transform .2s var(--ease-out);flex-shrink:0}[aria-expanded=true]>.chevron{transform:rotate(180deg)}.avatar{background:var(--accent);width:44px;height:44px;color:var(--on-accent);font-family:var(--font-display);cursor:pointer;transition:var(--transition-colors), transform .1s ease;border:0;border-radius:50%;flex-shrink:0;font-size:16px;font-weight:700}.avatar:active{transform:scale(.96)}.icon-button{border-radius:var(--radius-pill);width:40px;height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{color:var(--text);border-color:var(--border)}.site-switcher,.profile-menu{min-width:0;position:relative}.site-switcher__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.popup-menu{z-index:20;background:var(--surface);border:1px solid var(--border-hover);border-radius:var(--radius-tile);transform-origin:100% 0;min-width:240px;max-width:calc(100vw - 32px);animation:menu-in .2s var(--ease-out) both;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)scale(.96)}}.popup-menu__list{max-height:300px;margin:0;padding:0;list-style:none;overflow-y:auto}.popup-menu__list>li{animation:menu-item-in .2s var(--ease-out) both}.popup-menu__list>li:nth-child(2){animation-delay:30ms}.popup-menu__list>li:nth-child(3){animation-delay:60ms}.popup-menu__list>li:nth-child(4){animation-delay:90ms}.popup-menu__list>li:nth-child(n+5){animation-delay:.12s}@keyframes menu-item-in{0%{opacity:0;transform:translateY(-4px)}}.popup-menu__item{border-radius:var(--radius-control);width:100%;min-height:44px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.popup-menu__item:hover{background:var(--surface-3);color:var(--text)}.popup-menu__item[aria-current=true]{font-weight:600}.popup-menu__item--start{justify-content:flex-start}.popup-menu__item--link{color:var(--link);justify-content:flex-start}.popup-menu--profile{width:max-content;min-width:260px;max-width:min(360px,100vw - 32px)}.popup-menu__account{flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.popup-menu__name,.popup-menu__email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.popup-menu__settings{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:6px 0;display:flex}.popup-menu__setting{justify-content:space-between;align-items:center;gap:12px;padding:0 6px 0 12px;display:flex}.menu-chip{border:1px solid var(--border-hover);border-radius:var(--radius-pill);background:var(--surface-3);min-height:40px;color:var(--text);cursor:pointer;transition:var(--transition-colors), transform .1s ease;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.menu-chip:hover{border-color:var(--accent);background:var(--grid-line)}.menu-chip:active{transform:scale(.96)}.main{gap:var(--gap-block);flex-direction:column;flex:auto;width:100%;min-width:0;max-width:1440px;margin:0 auto;padding:20px 0 40px;display:flex}.main:focus{outline:none}@media (width<=1099px){.section-nav--header .section-nav__icon{display:block}.section-nav--header .section-nav__link{padding:0 13px}.section-nav--header .section-nav__link:not(.active) .section-nav__label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=699px){.topbar{gap:8px}.section-nav--header{display:none}.pill-button{max-width:150px}.main{padding-bottom:calc(var(--bottom-nav-height) + 24px + env(safe-area-inset-bottom))}.section-nav--bottom{z-index:30;padding:6px max(8px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-left));background:var(--surface-2);border-top:1px solid var(--border);display:block;position:fixed;bottom:0;left:0;right:0}.section-nav--bottom .section-nav__list{height:calc(var(--bottom-nav-height) - 12px);grid-template-columns:repeat(5,1fr);display:grid}.section-nav--bottom .section-nav__indicator{background:var(--surface-3)}.section-nav--bottom .section-nav__link{flex-direction:column;justify-content:center;gap:2px;height:100%;padding:0 2px;font-size:11px}.section-nav--bottom .section-nav__link.active{color:var(--accent-text)}.section-nav--bottom .section-nav__label{text-overflow:ellipsis;max-width:100%;overflow:hidden}}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-card{width:100%;max-width:420px}.auth-card form{flex-direction:column;gap:16px;display:flex}.language-toggle{letter-spacing:.04em;font-size:12px;font-weight:600}.auth-card__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.choice-group{border:0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.choice{border:1px solid var(--border);border-radius:var(--radius-tile);background:var(--bg);cursor:pointer;flex-direction:column;gap:4px;padding:14px 14px 14px 42px;display:flex;position:relative}.choice:hover{border-color:var(--chart-grid)}.choice input{width:16px;height:16px;accent-color:var(--accent);margin:0;position:absolute;top:16px;left:14px}.choice:has(input:checked){border-color:var(--accent);background:var(--nav-active-bg)}.choice:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.choice__title{font-weight:600}.choice__description{color:var(--text-muted);font-size:13px}.choice__meta{color:var(--text-2);font-size:13px}.segmented{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);gap:2px;padding:4px;display:inline-flex}.segmented__option{border-radius:var(--radius-pill);min-height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0 14px;transition:color .2s,background-color .2s,transform .1s}.segmented__option[aria-checked=true]{background:var(--grid-line);color:var(--text);font-weight:600}.capacity-output{color:var(--text-2);font-size:13px}.wizard{max-width:960px}.stepper{flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;display:flex}.stepper__step{color:var(--text-muted);align-items:center;gap:8px;display:flex}.stepper__index{border-radius:var(--radius-pill);border:1px solid var(--border);justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:inline-flex}.stepper__step[aria-current=step]{color:var(--text);font-weight:600}.stepper__step[aria-current=step] .stepper__index{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.stepper__step[data-done] .stepper__index{border-color:var(--accent);color:var(--text)}.wizard__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.summary{border:1px solid var(--border);border-radius:var(--radius-tile);grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;padding:16px;display:grid}.summary dt{color:var(--text-muted)}.summary dd{overflow-wrap:anywhere;min-width:0;margin:0}.link-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.link-list a,.link-list button{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:14px 4px;text-decoration:none;display:flex}.link-list li:last-child a,.link-list li:last-child button{border-bottom:0}@media (width<=699px){.wizard__actions .btn{flex:1 1 0}}.choice[aria-disabled=true]{cursor:not-allowed;opacity:.6}.field__label-row{align-items:center;gap:2px;display:flex}.help-tip{vertical-align:middle;display:inline-flex}.help-tip__button{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:var(--transition-colors);background:0 0;border:0;justify-content:center;align-items:center;margin:-6px -4px -6px 0;padding:0;display:inline-flex}.help-tip__button:hover,.help-tip__button[aria-expanded=true]{color:var(--accent-text)}.help-tip__button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.help-tip__popover{z-index:60;border:1px solid var(--border);border-radius:var(--radius-tile);background:var(--card-bg);width:min(320px,100vw - 32px);color:var(--text-2);text-align:left;white-space:normal;overscroll-behavior:contain;flex-direction:column;gap:8px;padding:12px 14px;font-size:14px;font-weight:400;line-height:1.45;display:flex;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #00000059}.help-tip__title{color:var(--text)}.help-tip__items{flex-direction:column;gap:6px;display:flex}.help-tip__text b{color:var(--text);font-weight:600}.heading-row{align-items:center;gap:4px;display:flex}.more-menu__button{min-width:36px;font-size:18px;line-height:1}.more-menu{z-index:60;border:1px solid var(--border);border-radius:var(--radius-tile);background:var(--card-bg);flex-direction:column;width:min(300px,100vw - 32px);padding:6px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #00000059}.more-menu__item{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.more-menu__item:hover,.more-menu__item:focus-visible{background:color-mix(in srgb, var(--text) 8%, transparent);outline:none}.more-menu__item--danger .more-menu__label{color:var(--danger-text)}.more-menu__description{color:var(--text-muted);font-size:13px;line-height:1.4}.unsaved-bar{z-index:50;padding:12px 28px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--card-bg);color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;font-weight:500;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000040}.unsaved-bar--leaving{border-top-color:var(--warn-border);background:var(--warn-bg)}.unsaved-bar__actions{gap:8px;display:flex}.main:has(.unsaved-bar){padding-bottom:96px}@media (width<=1099px){.unsaved-bar{left:64px}}@media (width<=699px){.unsaved-bar{left:0;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding:10px 16px}.main:has(.unsaved-bar){padding-bottom:calc(var(--bottom-nav-height) + 110px + env(safe-area-inset-bottom))}}.banner{border-radius:var(--radius-tile);background:var(--card-bg);border:1px solid var(--border);transition:var(--transition-colors);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.banner--warn{background:var(--warn-bg);border-color:var(--warn-border)}.banner__main{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.banner__aside{color:var(--warn-text)}.banner:not(.banner--warn) .banner__aside{color:var(--text-2)}.badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:8px;padding:6px 12px;font-weight:700;display:inline-flex}.badge__dot{background:currentColor;border-radius:50%;width:8px;height:8px}.badge--outage{background:var(--accent-outage);color:var(--on-accent)}.badge--normal{background:var(--nav-active-bg);color:var(--text)}.badge--normal .badge__dot{background:var(--accent-normal)}.badge--muted{background:var(--nav-active-bg);color:var(--warn-text)}.chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.legend{color:var(--text-muted);flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.legend__swatch{border-radius:2px;width:16px;height:3px;display:inline-block}.legend__swatch--fact{background:var(--text)}.legend__swatch--accent{background:var(--accent)}.legend__swatch--naive{border-top:2px dashed var(--series-naive);height:0}.legend__swatch--whatif{background:var(--series-whatif)}.legend__swatch--outage{background:color-mix(in srgb, var(--outage) 45%, transparent);border-radius:3px;width:10px;height:10px}.legend__swatch--expected{border-top:2px dashed var(--expected);height:0}.legend__swatch--nodata{background:color-mix(in srgb, var(--text-muted) 18%, transparent);border:1px dashed var(--text-muted);height:10px}.legend__swatch--band{background:color-mix(in srgb, var(--accent) 22%, transparent);height:10px}.echart{width:100%;min-width:0}.what-if{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.what-if__gain{color:var(--link);font-size:20px}.what-if__gain--loss{color:var(--warn-text)}.schedule-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.schedule-list__item{border:1px solid var(--border);border-radius:var(--radius-control);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 12px;display:flex}.schedule-list__item--active{border-color:var(--warn-border);background:var(--warn-bg)}.chart-error{border:1px dashed var(--border);border-radius:var(--radius-tile);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.device-cards{gap:var(--gap-tile);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin:0;padding:0;list-style:none;display:grid}.device-card{border:1px solid var(--border);border-radius:var(--radius-tile);background:var(--bg);flex-direction:column;gap:4px;min-width:0;padding:14px;display:flex}.device-card--primary{border-color:var(--accent)}.device-card__head{align-items:center;min-width:0;display:flex}.device-card__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-card__value{color:var(--text);font-size:28px;font-weight:600}.bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(150px,auto);gap:16px;display:grid}.bento>*{animation:bento-in .5s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 60ms);transition:border-color .2s ease, transform .2s ease, background-color .5s var(--ease-in-out);position:relative}.bento>:nth-child(2){--i:1}.bento>:nth-child(3){--i:2}.bento>:nth-child(4){--i:3}.bento>:nth-child(5){--i:4}.bento>:nth-child(6){--i:5}.bento>:nth-child(n+7){--i:6}@keyframes bento-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}.bento>:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 7%, transparent), transparent 70%);opacity:0;transition:opacity .2s;position:absolute;inset:0}@media (hover:hover){.bento>.card:hover{border-color:var(--border-hover)}.bento>:hover{transform:translateY(-2px)}.bento>:hover:after{opacity:1}}.hero{--hero-bg:var(--hero-grid);border-radius:var(--radius-card);background:var(--hero-bg);min-width:0;color:var(--on-accent);border:1px solid #0000;flex-direction:column;grid-area:span 2/span 2;justify-content:space-between;gap:24px;padding:32px;display:flex}.hero--outage{--hero-bg:var(--hero-outage)}.hero--stale{--hero-bg:var(--surface);border-color:var(--border);color:var(--text)}.hero .help-tip__button{color:inherit}.hero__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.hero__status{border-radius:var(--radius-pill);background:#1a12061f;align-items:center;gap:8px;min-height:36px;padding:6px 14px;font-size:14px;font-weight:700;display:inline-flex}.hero--stale .hero__status{background:var(--surface-3);color:var(--warn-text)}.hero__label{align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2.4s ease-in-out infinite dot-pulse}.hero--outage .status-dot{animation:1.2s ease-in-out infinite dot-blink}.hero--stale .status-dot{animation:none}@keyframes dot-pulse{50%{box-shadow:0 0 0 6px #1a12062e}}@keyframes dot-blink{50%{opacity:.25}}.hero__center{flex-direction:column;gap:6px;display:flex}.hero__headline{font-size:16px;font-weight:600}.hero__value{font-family:var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap;margin:4px 0;font-size:clamp(64px,9vw,120px);font-weight:800;line-height:.95}.hero__seconds{letter-spacing:-.02em;font-size:.5em}.hero__value--stale{white-space:normal;color:var(--text-muted);font-size:clamp(36px,5vw,56px);font-weight:700}.hero__sub{font-size:15px;font-weight:600}.hero--stale .hero__sub{color:var(--text-2);font-weight:500}.hero__warning{background:#1a12061f;border-radius:16px;margin-top:6px;padding:10px 14px;font-weight:600}.charge-bar__track{border-radius:var(--radius-pill);background:#1a120626;height:14px;position:relative}.charge-bar__fill{border-radius:inherit;background:var(--on-accent);transform-origin:0;transition:transform .6s var(--ease-out);animation:bar-fill .9s var(--ease-out) .2s backwards;position:absolute;inset:0}@keyframes bar-fill{0%{transform:scaleX(0)}}.charge-bar__threshold{background:var(--hero-bg);border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:-3px;bottom:-3px}.charge-bar__labels{justify-content:space-between;height:18px;margin-top:8px;font-size:12px;font-weight:600;display:flex;position:relative}.charge-bar__threshold-label{white-space:nowrap;position:absolute}.charge-bar__threshold-label--start{transform:translate(-2px)}.charge-bar__threshold-label--end{transform:translate(calc(2px - 100%))}.hero--low{animation:bento-in .5s var(--ease-out) backwards, hero-breathe 2.4s ease-in-out infinite}.hero--low .charge-bar__track{animation:2.4s ease-in-out infinite bar-breathe}@keyframes hero-breathe{50%{border-color:#1a120673}}@keyframes bar-breathe{50%{opacity:.55}}.stat-tile{justify-content:space-between;gap:8px}.stat-tile__title{color:var(--text-muted);font-size:14px;font-weight:600}.stat-tile__value{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(36px,3.4vw,52px);font-weight:700;line-height:1}.unit{letter-spacing:0;color:var(--text-muted);margin-left:.12em;font-size:.45em}.stat-tile__note{color:var(--text-muted);font-size:14px}.stat-tile--warn{border-color:var(--warn-border)}.stat-tile--warn .stat-tile__note{color:var(--warn-text)}.stat-tile--danger{border-color:var(--danger)}.stat-tile--danger .stat-tile__note{color:var(--danger-text)}.stat-tile--stale .stat-tile__value{color:var(--text-muted)}.hero-skeleton{grid-area:span 2/span 2;min-height:316px}@media (width<=1099px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.hero,.hero-skeleton{grid-area:auto/1/auto/-1}}@media (width<=699px){.bento{grid-auto-rows:minmax(120px,auto);gap:12px}.hero{gap:20px;padding:24px}.bento>.stat-tile{border-radius:24px;padding:18px}.stat-tile__value{font-size:32px}.stat-tile__title,.stat-tile__note{font-size:13px}.banner{padding:12px 14px}}.bento>.hero{transition:border-color .2s,transform .2s}.odometer{vertical-align:bottom;margin-bottom:-.04em;padding-bottom:.04em;display:inline-flex;overflow:hidden}.odometer__char{white-space:pre;animation:digit-up .35s var(--ease-out) backwards;display:inline-block}.odometer__char--down{animation-name:digit-down}.odometer__char--static{animation:none}@keyframes digit-up{0%{opacity:0;transform:translateY(70%)}}@keyframes digit-down{0%{opacity:0;transform:translateY(-70%)}}.status-dot{position:relative}.status-dot__ring{opacity:0;animation:status-ring .7s var(--ease-out);background:currentColor;border-radius:50%;position:absolute;inset:0}@keyframes status-ring{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}.swap-in{animation:swap-in .3s var(--ease-out);display:inline-block}@keyframes swap-in{0%{opacity:0;transform:translateY(8px)}}.flash{animation:.6s flash}@keyframes flash{0%{opacity:.5}}.hero>:not(.hero__wave){z-index:1;position:relative}.hero--waving.hero--from-grid{background:var(--hero-grid)}.hero--waving.hero--from-outage{background:var(--hero-outage)}.hero__wave{border-radius:inherit;background:var(--hero-bg);clip-path:circle(0 at 46px 50px);animation:hero-wave .7s var(--ease-in-out) forwards;position:absolute;inset:0}@keyframes hero-wave{to{clip-path:circle(150% at 46px 50px)}}.toast{animation:toast-in .4s var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)}}.segmented--sliding{position:relative}.segmented__indicator{background:var(--grid-line)}.segmented--sliding .segmented__option{z-index:1;position:relative}.segmented--sliding .segmented__option[aria-checked=true]{background:0 0}::view-transition-old(root){animation:.2s both page-out}::view-transition-new(root){animation:page-in .35s var(--ease-out) both}@keyframes page-out{to{opacity:0;transform:translateY(-8px)}}@keyframes page-in{0%{opacity:0;transform:translateY(12px)}}.theme-transition::view-transition-old(root){mix-blend-mode:normal;animation:none}.theme-transition::view-transition-new(root){mix-blend-mode:normal;animation:none}.theme-transition::view-transition-group(header){animation:none}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:.15s both page-fade}::view-transition-new(root){animation:.15s both page-fade}::view-transition-old(root){animation-direction:reverse}@keyframes page-fade{0%{opacity:0}}}.segmented-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.stat-row{gap:var(--gap-tile);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat-row .stat-tile__value{font-size:22px}.outage-list,.device-list,.channel-list,.delivery-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.outage-row,.device-row,.channel-row,.delivery-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:14px 0;display:flex}.device-row__error{color:var(--danger-text)}.device-row__form{max-width:420px;margin-top:8px}.tag{border-radius:var(--radius-pill);background:var(--nav-active-bg);color:var(--text-2);vertical-align:middle;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.tag--accent{color:var(--accent-text)}.outage-list li:last-child,.device-list li:last-child,.channel-list li:last-child,.delivery-list li:last-child{border-bottom:0}.outage-row__main,.device-row__main,.channel-row__main{flex-direction:column;gap:2px;min-width:0;display:flex}.outage-row__error{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.status{white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.status--online{color:var(--success-text)}.status--offline,.status--error{color:var(--danger-text)}.status--pending{color:var(--warn-text)}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.btn--small{min-height:36px;padding:6px 12px;font-size:13px}.btn--danger{color:var(--danger-text)}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table th{color:var(--text-muted);font-weight:500}.data-table tr.is-selected td{background:var(--nav-active-bg)}.pairing-code{font-family:var(--font-mono);letter-spacing:8px;color:var(--text);font-size:44px;font-weight:600}.pairing-success{color:var(--success-text);align-items:center;gap:12px;font-size:22px;font-weight:600;display:flex}.instructions{color:var(--text-2);flex-direction:column;gap:8px;margin:0;padding-left:22px;display:flex}.code-block{border-radius:var(--radius-control);background:var(--bg);border:1px solid var(--border);font-family:var(--font-mono);white-space:pre;padding:10px 12px;font-size:13px;display:block;overflow-x:auto}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;display:flex}.tabs a{color:var(--text-nav);border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;text-decoration:none}.tabs a:hover{color:var(--text)}.tabs a.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.switch{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.switch input{width:18px;height:18px;accent-color:var(--accent)}.rule-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(200px,1fr) auto;align-items:center;gap:8px 16px;padding:14px 0;display:grid}.rule-row__options{flex-wrap:wrap;grid-column:1/-1;align-items:flex-end;gap:12px 20px;display:flex}.rule-row .input{max-width:140px}.chip-group{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.chip:has(input:checked){border-color:var(--accent);background:var(--nav-active-bg)}.chip input{accent-color:var(--accent)}.toasts{z-index:50;flex-direction:column;gap:8px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{border-radius:var(--radius-tile);background:var(--surface-3);border:1px solid var(--border-hover);justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 8px 14px 18px;display:flex}.toast--CRITICAL,.toast--WARNING{border-color:var(--warn-border);background:var(--warn-bg)}@media (width<=699px){.toasts{bottom:calc(var(--bottom-nav-height) + 16px + env(safe-area-inset-bottom))}.outage-row__error{text-align:left;align-items:flex-start}.pairing-code{letter-spacing:5px;font-size:34px}}.command{align-items:stretch;gap:6px;min-width:0;margin-top:6px;display:flex}.command .code-block{flex:1;min-width:0}.copy-button{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.agent-download{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.agent-download .btn{align-items:center;gap:6px;display:inline-flex}@media (width<=560px){.command{flex-direction:column}.copy-button{align-self:flex-start}}.agent-card__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.agent-card__title{align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.connect-source{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.connect-source .field{min-width:220px}.link-page{max-width:560px}.link-computer{border-radius:var(--radius-control);background:var(--bg);border:1px solid var(--border);align-items:center;gap:12px;padding:14px 16px;display:flex}.link-computer__name{font-size:18px;font-weight:600}.subheading{margin:8px 0 0;font-size:15px;font-weight:600}.device-hint{border:1px solid var(--warn-border);border-radius:var(--radius-tile);background:var(--warn-bg);flex-direction:column;gap:8px;margin-top:6px;padding:10px 12px;font-size:14px;display:flex}.device-hint__cause{color:var(--text)}.device-details summary{width:fit-content;color:var(--text-muted);cursor:pointer;font-size:13px}.device-details[open] summary{margin-bottom:2px}.accuracy-headline{flex-direction:column;gap:4px;display:flex}.accuracy-headline p{margin:0}.accuracy-headline__value{color:var(--text);font-size:22px;font-weight:600;line-height:1.25}.expert>summary{width:fit-content;color:var(--link);cursor:pointer}.expert[open]>summary{margin-bottom:12px}.template-filters{flex-wrap:wrap;gap:8px 20px;margin-bottom:12px;display:flex}html,body{overflow-x:clip}.main,.card{overflow-wrap:anywhere}.app,.offline-app{padding-top:max(12px, env(safe-area-inset-top));padding-left:max(clamp(16px, 3vw, 40px), env(safe-area-inset-left));padding-right:max(clamp(16px, 3vw, 40px), env(safe-area-inset-right))}.topbar{top:max(12px, env(safe-area-inset-top))}@media (width<=699px){.overview.stack{gap:12px}}.auth-page{padding-top:max(24px, env(safe-area-inset-top));padding-bottom:max(24px, env(safe-area-inset-bottom))}@media (pointer:coarse),(width<=699px){.touch-link{align-items:center;min-height:44px;padding:0 4px;display:inline-flex}.btn,.btn--small,.segmented__option,.site-switcher__item,.link-list a,.link-list button,.input,select{min-height:44px}.icon-button{width:44px;height:44px}}.install-hint ol{flex-direction:column;gap:6px;margin:8px 0;padding-left:20px;display:flex}.install-hint__icon{vertical-align:-3px;color:var(--link)}.offline-app{background:var(--bg);min-height:100vh}.offline-app__header{position:static}.offline-app .main{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.offline-summary{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.offline-summary__soc{letter-spacing:-2px;color:var(--text);font-size:56px;font-weight:600;line-height:1}.offline-summary--outage .offline-summary__soc{color:var(--accent-text)}.install-banner{border:1px solid var(--border);border-radius:var(--radius-tile);background:var(--card-bg);align-items:center;gap:10px;margin-bottom:12px;padding:2px 2px 2px 12px;font-size:13px;display:flex}.install-banner--update{padding:6px 6px 6px 12px}.install-banner>span{flex:1;min-width:0}.install-banner .icon-button{flex-shrink:0;font-size:22px}
