.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-4);background:var(--sidebar-bg);color:var(--sidebar-text);padding:var(--space-5)}.brand{display:grid;gap:var(--space-2)}.brand-logo{display:block;width:100%;max-width:180px;height:auto}.brand strong{font-size:1.05rem;letter-spacing:.02em}.brand span{color:var(--sidebar-muted);font-size:.88rem}.nav{display:grid;align-content:start;gap:var(--space-2)}.nav-stack{display:grid;align-content:start;gap:var(--space-3)}.nav-link{display:flex;align-items:center;gap:var(--space-3);min-height:42px;border-radius:var(--radius-sm);color:var(--sidebar-text);padding:8px 10px}.nav-link:hover{background:var(--sidebar-hover);color:#fff}.nav-link.active{background:var(--sidebar-active);box-shadow:inset 3px 0 0 var(--brand-orange);color:#fff}.selection-menu{display:grid;gap:var(--space-2)}.selection-toggle{width:100%;min-height:42px;display:flex;align-items:center;gap:var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--sidebar-text);padding:8px 10px;text-align:left}.selection-toggle:hover,.selection-toggle[aria-expanded=true]{background:var(--sidebar-hover);color:#fff}.selection-toggle span{flex:1}.selection-toggle .open{transform:rotate(180deg)}.selection-panel{display:grid;gap:var(--space-2);border:1px solid var(--sidebar-border);border-radius:var(--radius-sm);background:var(--sidebar-surface);padding:var(--space-3)}.selection-user-group{display:grid;gap:6px}.selection-user,.selection-facility{width:100%;border:0;text-align:left}.selection-user{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:34px;border-radius:var(--radius-sm);background:transparent;color:var(--sidebar-text);padding:6px}.selection-user.active{background:var(--sidebar-active);color:#fff}.selection-user small,.selection-facility small,.selection-current span{color:var(--sidebar-muted);font-size:.76rem;font-weight:650}.selection-facility-list{display:grid;gap:6px;padding-left:10px}.selection-facility{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-height:42px;border-left:2px solid var(--sidebar-border);border-radius:var(--radius-sm);background:transparent;color:var(--sidebar-text);padding:7px 8px}.selection-facility.active{border-left-color:var(--brand-orange);background:var(--sidebar-active)}.selection-facility>span:first-child{min-width:0;display:grid;gap:2px}.selection-facility strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-current{display:grid;gap:2px;border-top:1px solid var(--sidebar-border);padding-top:var(--space-2)}.selection-current strong{overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{display:grid;gap:var(--space-3)}.user-chip{display:grid;gap:2px;color:var(--sidebar-text);font-size:.88rem}.app-main{min-width:0;display:grid;grid-template-rows:1fr}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:64px;padding:0 var(--space-6);background:#f5f4f9e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.content{padding:var(--space-6);min-width:0}.mode-switch{display:inline-flex;padding:3px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}.mode-switch button{border:0;background:transparent;color:var(--color-muted);min-height:34px;border-radius:var(--radius-sm);padding:6px 10px;display:inline-flex;align-items:center;gap:var(--space-2)}.mode-switch button.active{background:var(--color-primary);color:#fff}.mobile-nav{display:none}@media(max-width:860px){.app-shell{grid-template-columns:1fr;min-height:100dvh;padding-bottom:calc(68px + env(safe-area-inset-bottom))}.sidebar{display:none}.content{padding:var(--space-4)}.topbar{padding:0 var(--space-4)}.topbar .mode-switch span{display:none}.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));padding-bottom:env(safe-area-inset-bottom);background:var(--brand-indigo);border-top:1px solid var(--sidebar-border)}.mobile-nav .nav-link{min-height:62px;justify-content:center;border-radius:0;padding:6px}.mobile-nav .nav-link span{display:none}}.facility-switch{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:center;width:100%;padding:var(--space-3);border:1px solid var(--sidebar-border);border-radius:var(--radius-sm);background:var(--sidebar-surface);color:var(--sidebar-text);font:inherit;text-align:left;cursor:pointer}.facility-switch:hover{border-color:var(--brand-orange);background:var(--sidebar-hover)}.facility-switch span{display:grid;gap:2px;min-width:0}.facility-switch strong,.facility-switch small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-switch small{color:var(--sidebar-muted)}.facility-switch-hint{grid-column:1 / -1;color:var(--brand-orange);font-size:.75rem}.nav-badge{margin-left:auto;min-width:1.4rem;padding:0 var(--space-2);border-radius:999px;background:var(--color-danger);color:#fff;font-size:.72rem;line-height:1.4rem;text-align:center}.app-loading{min-height:100vh;display:grid;place-items:center;color:var(--color-muted)}.admin-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);background:var(--color-bg)}.admin-sidebar{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-5);padding:var(--space-5);background:linear-gradient(180deg,#1b1245,#140c35);color:var(--sidebar-text)}.admin-brand{display:grid;gap:var(--space-3)}.admin-badge{display:inline-flex;align-items:center;gap:var(--space-2);width:fit-content;border-radius:999px;padding:4px 10px;background:rgb(var(--brand-orange-rgb) / 18%);color:#ffd08a;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.admin-nav,.admin-sidebar-footer{display:grid;align-content:start;gap:var(--space-1)}.admin-sidebar .nav-link{width:100%;border:0;background:transparent;font:inherit;text-align:left}.admin-sidebar .nav-link:hover{background:var(--sidebar-hover)}.admin-sidebar .nav-link.active{background:var(--sidebar-active);box-shadow:inset 3px 0 0 var(--brand-orange);color:#fff}.admin-sidebar-footer{border-top:1px solid var(--sidebar-border);padding-top:var(--space-3)}.admin-signed-in{margin:var(--space-2) 0 0;color:var(--sidebar-muted);font-size:.82rem;overflow-wrap:anywhere}.admin-content{min-width:0;padding:var(--space-8);max-width:1320px}.admin-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.admin-kpi{display:grid;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5)}.admin-kpi span{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-weight:600}.admin-kpi strong{font-size:1.7rem;line-height:1.1;color:var(--color-primary-strong)}.admin-kpi small{color:var(--color-muted)}.admin-kpi.link{transition:border-color .12s ease,box-shadow .12s ease}.admin-kpi.link:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.admin-kpi.alert{border-color:#f0b5ae;box-shadow:inset 4px 0 0 var(--color-danger)}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.admin-search{display:inline-flex;align-items:center;gap:var(--space-2);min-width:min(100%,320px);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-muted);padding:0 12px}.admin-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:10px 0;color:var(--color-text)}.admin-search:focus-within{box-shadow:var(--focus-ring)}.admin-segments{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.admin-segments button{border:0;background:#fff;padding:8px 14px;color:var(--color-muted);font-weight:600}.admin-segments button+button{border-left:1px solid var(--color-border)}.admin-segments button.active{background:var(--color-primary-soft);color:var(--color-primary-strong)}.admin-toolbar-inline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.admin-toolbar-inline .admin-segments button{white-space:nowrap}.admin-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-4);margin-top:var(--space-4)}.admin-chart{margin:0;min-width:0}.admin-chart figcaption,.admin-subtitle{margin:0 0 var(--space-2);color:var(--color-muted);font-size:.9rem;font-weight:600}.admin-chart-empty{display:grid;place-items:center;min-height:120px;border:1px dashed var(--color-border);border-radius:var(--radius-sm)}.admin-cost-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.admin-cost-list li{display:flex;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.admin-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.admin-break{overflow-wrap:anywhere}.admin-tone-bad{color:var(--color-danger)}.admin-table-wrap{overflow-x:auto}.admin-table td{vertical-align:top}.admin-table .actions,.admin-list .actions{white-space:nowrap;text-align:right}.admin-table .actions .ghost-button,.admin-list .actions .ghost-button{min-height:34px;padding:6px 8px}.admin-table tbody tr:hover{background:var(--color-primary-softer)}.admin-sub{display:block;margin-top:2px}.nowrap{white-space:nowrap}.muted{color:var(--color-muted)}.admin-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.admin-chip{border-radius:999px;background:var(--color-surface-muted);padding:2px 8px;font-size:.82rem}.admin-table.clickable tbody tr{cursor:pointer}.admin-row-link{font-weight:700;color:var(--color-primary-strong)}.admin-row-link:hover,.admin-inline-link:hover{text-decoration:underline}.admin-inline-link{color:var(--color-primary);font-weight:600}.admin-back{display:inline-flex;align-items:center;gap:var(--space-2);width:fit-content;color:var(--color-muted);font-weight:600}.admin-back:hover{color:var(--color-primary-strong)}.admin-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-2) var(--space-5);margin:0}.admin-facts dt{color:var(--color-muted);font-weight:600}.admin-facts dd{margin:0;overflow-wrap:anywhere}.admin-action-block{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--color-border)}.panel-title+.admin-action-block{border-top:0;padding-top:0}.admin-action-block p{margin:var(--space-1) 0 0}.admin-action-block .field{flex:1}.admin-action-block>button{flex-shrink:0}.admin-list-link{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:1}.admin-list-link:hover strong{text-decoration:underline}.admin-danger{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);border-color:#f0b5ae}.admin-danger p{margin:0}.admin-danger .danger-button{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.admin-pill{display:inline-flex;align-items:center;margin-left:var(--space-2);border-radius:999px;border:1px solid var(--color-border);padding:2px 8px;font-size:.78rem;font-weight:650;white-space:nowrap}td>.admin-pill:first-child,strong>.admin-pill:first-child,li>.admin-pill{margin-left:0}.admin-pill.good{color:var(--color-good);background:#e9f7f1;border-color:#bce5d2}.admin-pill.warning{color:var(--color-warning);background:#fff7e6;border-color:#f3d193}.admin-pill.bad{color:var(--color-danger);background:#fff0ee;border-color:#f0b5ae}.admin-pill.neutral{color:var(--color-primary);background:var(--color-primary-softer);border-color:var(--color-primary-soft)}.admin-audit-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-3);align-items:end;margin-bottom:var(--space-4)}.admin-audit-filters .admin-form-actions{margin-top:0;align-self:end;white-space:nowrap}.admin-audit-action{min-width:min(100%,280px)}.admin-audit-env{margin-left:var(--space-2)}.admin-audit-changes{font-size:.875rem;overflow-wrap:anywhere}.admin-audit-target{overflow-wrap:anywhere}.admin-link-button{border:0;background:none;padding:0;color:var(--color-primary-strong);font:inherit;font-weight:600;cursor:pointer;text-align:left}.admin-link-button:hover{text-decoration:underline}.admin-form{align-items:start}.admin-form-wide{grid-column:1 / -1}.admin-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.admin-form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}.admin-inline-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:var(--space-3);align-items:end;margin-bottom:var(--space-4)}.admin-check{display:flex;gap:var(--space-3);align-items:flex-start;align-self:end;padding-bottom:10px}.admin-check span{display:grid;gap:2px}.admin-check.inline{align-self:center;padding:0}.field-error{color:var(--color-danger);font-size:.85rem;margin:0}.admin-warning-text{color:var(--color-warning);margin:0 0 var(--space-3)}.danger-button{border-radius:var(--radius-sm);min-height:40px;padding:8px 14px;border:1px solid transparent;background:var(--color-danger);color:#fff;font-weight:650}.danger-button:disabled,.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:not-allowed}.ghost-button.danger:hover{color:var(--color-danger);background:#fff0ee}.ghost-button:hover{background:var(--color-primary-softer);color:var(--color-primary-strong)}.icon-button{margin-left:auto;border:0;background:transparent;color:inherit;display:inline-flex;padding:4px;border-radius:var(--radius-sm)}.admin-notice{display:flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);border:1px solid;padding:10px 12px}.admin-notice.success{color:var(--color-good);background:#e9f7f1;border-color:#bce5d2}.admin-notice.error{color:var(--color-danger);background:#fff0ee;border-color:#f0b5ae}.admin-info{display:flex;gap:var(--space-3);color:var(--color-muted);background:var(--color-primary-softer);border-color:var(--color-primary-soft);box-shadow:none}.admin-info strong{color:var(--color-text)}.admin-info p{margin:var(--space-1) 0 0}.admin-download{display:grid;gap:var(--space-2);justify-items:start;border:1px dashed rgb(var(--brand-orange-rgb) / 60%);border-radius:var(--radius-sm);background:rgb(var(--brand-orange-rgb) / 6%);padding:var(--space-4);margin:var(--space-3) 0}.admin-download p{margin:0;color:var(--color-accent-text)}.panel .admin-panel-hint{margin:calc(var(--space-2) * -1) 0 var(--space-4)}.admin-result{display:grid;gap:var(--space-2);justify-items:start}.admin-list{list-style:none;margin:0;padding:0}.admin-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);padding:var(--space-3) 0}.admin-list li:last-child{border-bottom:0}.admin-list li>div{min-width:0;overflow-wrap:anywhere}.admin-list-edit{display:flex;gap:var(--space-2);width:100%}.admin-list-edit input{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 10px}.admin-tech .panel-header{align-items:flex-start}.admin-tech .panel-header .ghost-button{flex-shrink:0;white-space:nowrap}.admin-dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:var(--space-4);background:rgb(var(--brand-indigo-rgb) / 45%)}.admin-dialog{width:min(520px,100%);display:grid;gap:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-6)}.admin-dialog h2{margin:0;font-size:1.15rem}.admin-dialog-body p{margin:0 0 var(--space-2);color:var(--color-muted)}.admin-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;grid-template-rows:auto;gap:var(--space-3);padding:var(--space-4)}.admin-brand .brand-logo{max-width:140px}.admin-nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto}.admin-sidebar-footer{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;align-items:center}.admin-content{padding:var(--space-4)}.admin-stack-narrow.grid.two,.admin-form.form-grid,.admin-inline-form,.admin-audit-filters{grid-template-columns:1fr}.admin-action-block,.admin-danger{flex-direction:column;align-items:stretch}}.date-range{position:relative}.date-range-trigger{display:inline-flex;align-items:center;gap:var(--space-2);min-height:38px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-weight:650;font-size:.88rem;padding:6px 12px;white-space:nowrap}.date-range-trigger:hover,.date-range-trigger[aria-expanded=true]{border-color:var(--color-primary);background:var(--color-primary-softer)}.date-range-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:30;display:flex;gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);padding:var(--space-4)}.date-range-presets{display:grid;gap:var(--space-2);align-content:start;min-width:128px;border-right:1px solid var(--color-border);padding-right:var(--space-4)}.date-range-presets button{border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--color-text);font-size:.88rem;text-align:left;padding:7px 10px}.date-range-presets button:hover{background:var(--color-surface-muted)}.date-range-presets button.active{border-color:var(--color-primary);background:var(--color-primary-softer);color:var(--color-primary-strong);font-weight:700}.date-range-calendar{display:grid;gap:var(--space-2);min-width:252px}.date-range-month{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.date-range-month strong{font-size:.92rem}.date-range-month button{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:0}.date-range-month button:hover{border-color:var(--color-primary)}.date-range-grid{display:grid;grid-template-columns:repeat(7,34px);gap:2px}.date-range-weekday{display:grid;place-items:center;height:26px;color:var(--color-muted);font-size:.74rem;font-weight:650;text-transform:uppercase}.date-range-day{display:grid;place-items:center;height:32px;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text);font-size:.86rem;padding:0}.date-range-day:hover:not(:disabled){background:var(--color-surface-muted)}.date-range-day.outside{color:var(--color-muted);opacity:.55}.date-range-day.in-range{background:var(--color-primary-soft);border-radius:0}.date-range-day.edge{background:var(--color-primary);border-radius:var(--radius-sm);color:#fff;font-weight:700}.date-range-day.today:not(.edge){box-shadow:inset 0 0 0 1px var(--color-primary)}.date-range-day:disabled{color:var(--color-muted);cursor:default;opacity:.35}.date-range-hint{margin:0;color:var(--color-muted);font-size:.78rem}@media(max-width:640px){.date-range-popover{position:fixed;inset:auto var(--space-3) var(--space-3);flex-direction:column}.date-range-presets{grid-template-columns:repeat(2,minmax(0,1fr));border-right:none;border-bottom:1px solid var(--color-border);padding-right:0;padding-bottom:var(--space-3)}.date-range-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}.period-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.period-nav-modes{display:inline-flex;gap:2px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:2px}.period-nav-modes button{min-height:32px;border:none;border-radius:calc(var(--radius-sm) - 2px);background:none;color:var(--color-muted);font-size:.86rem;font-weight:650;padding:4px 12px}.period-nav-modes button:hover{color:var(--color-text)}.period-nav-modes button.active{background:var(--color-primary);color:#fff}.period-nav-stepper{display:inline-flex;align-items:center;gap:var(--space-2)}.period-nav-stepper strong{min-width:128px;text-align:center;font-size:.92rem}.period-nav-stepper button{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:0}.period-nav-stepper button:hover:not(:disabled){border-color:var(--color-primary)}.period-nav-stepper button:disabled{color:var(--color-muted);cursor:default;opacity:.45}@media(max-width:640px){.period-nav{width:100%;justify-content:space-between}}.app-dialog{width:min(760px,calc(100vw - 32px));max-height:min(88vh,900px);padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md);overflow:hidden}.app-dialog::backdrop{background:rgb(var(--brand-indigo-rgb) / 45%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-dialog-content{display:flex;flex-direction:column;max-height:inherit}.app-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.app-dialog-header h2{margin:0;font-size:1.15rem}.app-dialog-close{min-height:36px;padding:6px}.app-dialog-body{flex:1 1 auto;overflow-y:auto;padding:var(--space-4) var(--space-5)}.app-dialog-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border)}[data-design=aurora] .app-dialog{border-color:var(--aurora-glass-border);background:linear-gradient(160deg,#ffffff12,#ffffff05 40%,#ffffff09),#120d30f7}[data-design=aurora] .app-dialog::backdrop{background:#060414a6}[data-design=aurora] .app-dialog-header,[data-design=aurora] .app-dialog-footer{border-color:var(--aurora-glass-border)}@media(max-width:600px){.app-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}.app-dialog-content{height:100%}.app-dialog-header,.app-dialog-body,.app-dialog-footer{padding-left:var(--space-4);padding-right:var(--space-4)}.app-dialog-footer>*{flex:1 1 0}}.contracts-grid{display:grid;gap:var(--space-4)}.contract-panel{min-width:0}.contract-notice{margin:var(--space-2) 0 0;font-size:.9rem}.contract-notice.success{color:var(--color-good)}.contract-notice.error{color:var(--color-danger)}.contract-versions{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-2)}.contract-version{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.contract-version.active{border-color:var(--color-primary);box-shadow:inset 3px 0 0 var(--color-primary)}.contract-version.superseded{opacity:.75}.contract-version-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.contract-mode{color:var(--color-muted);font-weight:600}.contract-version-actions{display:inline-flex;gap:var(--space-1);margin-left:auto}.contract-version-actions .ghost-button{min-height:32px;padding:4px 8px}.contract-values{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-2) var(--space-4);margin:var(--space-2) 0 0}.contract-values dt{color:var(--color-muted);font-size:.8rem}.contract-values dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums}.contract-comment,.contract-changed{margin:var(--space-2) 0 0;font-size:.85rem}.contract-changed{color:var(--color-muted)}.contract-editor{display:grid;gap:var(--space-4)}.contract-compare{margin:0;color:var(--color-muted);font-size:.85rem}.contract-previous{color:var(--color-muted);font-variant-numeric:tabular-nums}.contract-editor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;gap:var(--space-3)}.contract-editor-grid .field>label,.contract-editor-grid .field>.contract-label{display:flex;align-items:flex-end;min-height:2.6em}.contract-label{color:var(--color-muted);font-weight:600}.contract-modes{align-self:start}.contract-modes button{padding:8px 12px}.contract-input{display:flex;align-items:center;gap:var(--space-2)}.contract-input input{flex:1 1 auto;min-width:0;text-align:right;font-variant-numeric:tabular-nums}.contract-unit{flex-shrink:0;min-width:56px;color:var(--color-muted)}.contract-field-hint{color:var(--color-muted)}.energy-flow{--flow-pv: var(--brand-orange);--flow-marketStorage: #be185d;--flow-battery: var(--color-good);--flow-load: var(--color-primary);--flow-grid: var(--color-danger);--flow-chargers: var(--color-warning);--flow-track: var(--color-border);display:grid;gap:var(--space-3);container-type:inline-size}[data-design=dark] .energy-flow,[data-design=aurora] .energy-flow{--flow-marketStorage: #f472b6}.energy-flow-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.62fr) minmax(0,1fr);grid-template-rows:repeat(var(--flow-half-rows, 6),minmax(44px,1fr));gap:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:radial-gradient(circle at 50% 50%,rgb(var(--color-primary-rgb) / 9%),transparent 55%),var(--color-surface-muted)}.energy-flow-lines{position:absolute;inset:var(--space-4);width:calc(100% - 2 * var(--space-4));height:calc(100% - 2 * var(--space-4));overflow:visible;pointer-events:none}.energy-flow-lines path,.energy-flow-rail path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.energy-flow-rail{position:absolute;top:0;left:0;display:none;overflow:visible;pointer-events:none}.energy-flow-track{stroke:var(--flow-track);stroke-width:2}.energy-flow-glow{opacity:.18;transition:stroke-width 1.2s cubic-bezier(.4,0,.2,1)}.energy-flow-dash{stroke-dasharray:2 14;animation:energy-flow-dash linear infinite;transition:stroke-width 1.2s cubic-bezier(.4,0,.2,1)}.energy-flow-dash.reverse{animation-direction:reverse}.energy-flow-line.flow-pv path:not(.energy-flow-track){stroke:var(--flow-pv)}.energy-flow-line.flow-marketStorage path:not(.energy-flow-track){stroke:var(--flow-marketStorage)}.energy-flow-line.flow-battery path:not(.energy-flow-track){stroke:var(--flow-battery)}.energy-flow-line.flow-load path:not(.energy-flow-track){stroke:var(--flow-load)}.energy-flow-line.flow-grid path:not(.energy-flow-track){stroke:var(--flow-grid)}.energy-flow-line.flow-chargers path:not(.energy-flow-track){stroke:var(--flow-chargers)}.energy-flow-tile.flow-pv{--tile-color: var(--flow-pv)}.energy-flow-tile.flow-marketStorage{--tile-color: var(--flow-marketStorage)}.energy-flow-tile.flow-battery{--tile-color: var(--flow-battery)}.energy-flow-tile.flow-load{--tile-color: var(--flow-load)}.energy-flow-tile.flow-grid{--tile-color: var(--flow-grid)}.energy-flow-tile.flow-chargers{--tile-color: var(--flow-chargers)}.energy-flow-tile{position:relative;z-index:1;margin-block:calc(var(--space-3) / 2);display:flex;min-width:0;gap:var(--space-3);align-items:center;align-self:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(var(--color-surface),var(--color-surface)),var(--color-bg);box-shadow:var(--shadow-sm);color:var(--color-text);padding:var(--space-3);text-decoration:none;transition:transform .3s cubic-bezier(.65,0,.35,1),border-color .3s,box-shadow .3s}.energy-flow-tile:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tile-color) 45%,var(--color-border));box-shadow:var(--shadow-md)}.energy-flow-tile:focus-visible{outline:none;box-shadow:var(--focus-ring)}.energy-flow-tile-icon{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:var(--radius-md);background:color-mix(in srgb,var(--tile-color) 14%,transparent);color:var(--tile-color)}.energy-flow-tile-body{display:grid;min-width:0;flex:1 1 auto;gap:1px}.energy-flow-tile-label{color:var(--color-muted);font-size:.8rem;font-weight:600;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word}.energy-flow-tile-value{font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.energy-flow-tile-status{color:color-mix(in srgb,var(--tile-color) 80%,var(--color-text));font-size:.76rem;overflow-wrap:anywhere}.energy-flow-tile.idle .energy-flow-tile-icon{background:var(--color-surface-muted);color:var(--color-muted)}.energy-flow-tile.idle .energy-flow-tile-status{color:var(--color-muted)}.energy-flow-tile-chevron{flex:0 0 auto;color:var(--color-muted);opacity:.4;transition:opacity .3s,transform .3s}.energy-flow-tile:hover .energy-flow-tile-chevron{opacity:1;transform:translate(3px)}.energy-flow-bus{position:relative;z-index:1;grid-column:2;grid-row:1 / -1;width:104px;height:104px;align-self:center;justify-self:center}.energy-flow-bus-ring{position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(from 0deg,rgb(var(--color-primary-rgb) / 0%),rgb(var(--color-primary-rgb) / 55%),rgb(var(--color-primary-rgb) / 0%) 180deg);animation:energy-flow-spin 4s linear infinite;-webkit-mask:radial-gradient(circle,transparent 51px,#000 52px);mask:radial-gradient(circle,transparent 51px,#000 52px)}.energy-flow-bus-core{position:absolute;inset:0;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;border:1px solid rgb(var(--color-primary-rgb) / 30%);border-radius:50%;background:radial-gradient(circle at 50% 35%,var(--color-surface),var(--color-surface-muted)),var(--color-bg);box-shadow:0 0 40px rgb(var(--color-primary-rgb) / 18%);color:var(--color-primary)}.energy-flow-bus-core strong{color:var(--color-text);font-size:1.05rem;font-variant-numeric:tabular-nums}.energy-flow-bus-core span{color:var(--color-muted);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.energy-flow-balance{display:grid;gap:var(--space-2)}.energy-flow-balance-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:var(--space-3);align-items:center;font-size:.82rem}.energy-flow-balance-label{color:var(--color-muted)}.energy-flow-balance-bar{display:flex;height:10px;gap:2px;overflow:hidden;border-radius:999px;background:var(--color-surface-muted)}.energy-flow-balance-part{transition:width 1.2s cubic-bezier(.4,0,.2,1)}.energy-flow-balance-total{min-width:72px;font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.energy-flow-legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin:0;padding:0 0 0 84px;color:var(--color-muted);font-size:.76rem;list-style:none}.energy-flow-legend li{display:flex;gap:6px;align-items:center}.energy-flow-legend li:before{width:8px;height:8px;border-radius:2px;background:var(--legend-color);content:""}.energy-flow-balance-part{background:var(--legend-color)}.energy-flow-balance .flow-pv{--legend-color: var(--flow-pv)}.energy-flow-balance .flow-marketStorage{--legend-color: var(--flow-marketStorage)}.energy-flow-balance .flow-battery{--legend-color: var(--flow-battery)}.energy-flow-balance .flow-load{--legend-color: var(--flow-load)}.energy-flow-balance .flow-grid{--legend-color: var(--flow-grid)}.energy-flow-balance .flow-chargers{--legend-color: var(--flow-chargers)}@keyframes energy-flow-dash{to{stroke-dashoffset:-32}}@keyframes energy-flow-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.energy-flow-dash,.energy-flow-bus-ring{animation:none}.energy-flow-tile,.energy-flow-tile-chevron,.energy-flow-glow,.energy-flow-balance-part{transition:none}}@container (max-width: 520px){.energy-flow-stage{display:flex;flex-direction:column;gap:8px;padding:12px 12px 12px 44px}.energy-flow-lines{display:none}.energy-flow-rail{display:block}.energy-flow-tile{margin-block:0;height:60px;flex:0 0 auto;align-self:stretch;padding:var(--space-2) var(--space-3)}.energy-flow-tile{gap:var(--space-2)}.energy-flow-tile-icon{width:30px;height:30px}.energy-flow-tile-icon svg{width:18px;height:18px}.energy-flow-tile-label{font-size:.76rem;line-height:1.15}.energy-flow-tile-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.energy-flow-tile:hover{transform:none}.energy-flow-tile-chevron{display:none}.energy-flow-tile-value{font-size:1.05rem}.energy-flow-track{stroke-width:1.5}.energy-flow-tile-body{grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-2)}.energy-flow-tile-value{grid-row:1 / span 2;grid-column:2;align-self:center}.energy-flow-bus{width:auto;height:40px;flex:0 0 auto;align-self:stretch}.energy-flow-bus-ring{display:none}.energy-flow-bus-core{position:static;height:100%;box-sizing:border-box;flex-direction:row;gap:var(--space-2);padding:0 var(--space-3);border-radius:999px}.energy-flow-balance-row{grid-template-columns:56px minmax(0,1fr) auto;gap:var(--space-2)}.energy-flow-balance-total{min-width:0}.energy-flow-legend{padding-left:0}}.staged-flow{--staged-color: var(--color-primary);--staged-track: var(--color-border);container-type:inline-size}.tone-pv{--staged-color: var(--brand-orange)}.tone-battery{--staged-color: var(--color-good)}.tone-marketStorage{--staged-color: #be185d}.tone-load{--staged-color: var(--color-primary)}.tone-grid{--staged-color: var(--color-danger)}.tone-chargers{--staged-color: var(--color-warning)}[data-design=dark] .tone-marketStorage,[data-design=aurora] .tone-marketStorage{--staged-color: #f472b6}.staged-flow-canvas{position:relative}.staged-flow-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.staged-flow-links path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.staged-flow-track{stroke:var(--staged-track);stroke-width:1.5;stroke-dasharray:1000;stroke-dashoffset:1000;animation:staged-flow-draw 1.1s cubic-bezier(.65,0,.35,1) var(--delay, 0ms) forwards}.staged-flow-dash{stroke:var(--staged-color);stroke-width:2.5;stroke-dasharray:2 14;animation:staged-flow-dash .9s linear infinite,staged-flow-fade .6s ease-out calc(var(--delay, 0ms) + .9s) backwards}.staged-flow-dash.reverse{animation-direction:reverse}.staged-flow-title{position:absolute;top:0;animation:staged-flow-fade .6s ease-out var(--delay, 0ms) backwards;color:var(--color-muted);font-size:.75rem;font-weight:600}.staged-flow-item{position:absolute;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);box-sizing:border-box;overflow:hidden;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:inherit;text-decoration:none;transition:left .8s cubic-bezier(.65,0,.35,1),top .8s cubic-bezier(.65,0,.35,1),width .8s cubic-bezier(.65,0,.35,1),height .8s cubic-bezier(.65,0,.35,1),border-color .2s,transform .2s;animation:staged-flow-unfold .75s cubic-bezier(.16,1,.3,1) var(--delay, 0ms) backwards}.staged-flow-item.focus{animation:none}.staged-flow-item.selected{border-color:var(--staged-color);box-shadow:0 0 0 1px var(--staged-color)}a.staged-flow-item:hover{border-color:var(--staged-color);transform:translateY(-1px)}.staged-flow-fill{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--staged-color) 16%,transparent);transition:width 1.2s cubic-bezier(.4,0,.2,1)}.staged-flow-item.warning{border-color:var(--color-warning)}.staged-flow-item.warning .staged-flow-fill{background:color-mix(in srgb,var(--color-warning) 20%,transparent)}.staged-flow-text,.staged-flow-value{position:relative;min-width:0}.staged-flow-text{display:grid;gap:2px}.staged-flow-name,.staged-flow-sub,.staged-flow-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staged-flow-name{font-size:.82rem;font-weight:600}.staged-flow-item.compact .staged-flow-name{font-size:.75rem;font-weight:500}.staged-flow-sub{color:var(--color-muted);font-size:.72rem}.staged-flow-value{flex:none;color:var(--staged-color);font-size:.85rem;font-variant-numeric:tabular-nums}.staged-flow-item.compact .staged-flow-value{font-size:.75rem}.staged-flow-item.idle .staged-flow-name,.staged-flow-item.idle .staged-flow-value{color:var(--color-muted)}@keyframes staged-flow-dash{to{stroke-dashoffset:-32}}@keyframes staged-flow-draw{to{stroke-dashoffset:0}}@keyframes staged-flow-fade{0%{opacity:0}}@keyframes staged-flow-unfold{0%{opacity:0;transform:translate(-28px) scale(.96)}}@media(prefers-reduced-motion:reduce){.staged-flow-dash,.staged-flow-title,.staged-flow-item{animation:none}.staged-flow-item{transition:none}.staged-flow-track{animation:none;stroke-dashoffset:0}}@container (max-width: 640px){.staged-flow-canvas{display:flex;flex-direction:column;gap:6px;height:auto!important}.staged-flow-links{display:none}.staged-flow-canvas.with-rail{padding-left:28px}.staged-flow-rail{position:absolute;top:0;left:0;overflow:visible;pointer-events:none}.staged-flow-rail path{fill:none;stroke-linecap:round;stroke-linejoin:round}.staged-flow-title,.staged-flow-item{order:var(--order);transition:border-color .2s}.staged-flow-title:not(:first-of-type){margin-top:var(--space-3)}.staged-flow-title,.staged-flow-item{position:relative;width:auto!important;left:auto!important;top:auto!important}.staged-flow-item{height:auto!important;min-height:40px;padding-block:6px}}.flow-detail-hero{view-transition-name:flow-hero}.flow-detail-flow{view-transition-name:flow-panel}::view-transition-group(flow-focus),::view-transition-group(flow-hero),::view-transition-group(flow-panel){animation-duration:.7s;animation-timing-function:cubic-bezier(.65,0,.35,1)}::view-transition-old(flow-focus),::view-transition-new(flow-focus),::view-transition-old(flow-hero),::view-transition-new(flow-hero),::view-transition-old(flow-panel),::view-transition-new(flow-panel){height:100%;object-fit:none;object-position:left top}::view-transition-old(flow-focus){animation:flow-detail-fade-out .35s ease both}::view-transition-new(flow-focus){animation:flow-detail-fade-in .45s ease .2s both}::view-transition-old(flow-hero),::view-transition-old(flow-panel){animation:flow-detail-fade-out .25s ease both}::view-transition-new(flow-hero),::view-transition-new(flow-panel){animation:flow-detail-fade-in .3s ease .1s both}::view-transition-old(root){animation:flow-detail-fade-out .25s ease both}::view-transition-new(root){animation:flow-detail-fade-in .35s ease .15s both}@keyframes flow-detail-fade-out{to{opacity:0}}@keyframes flow-detail-fade-in{0%{opacity:0}}.flow-detail-kpis>*,.flow-detail-today{animation:flow-detail-rise .75s cubic-bezier(.16,1,.3,1) backwards}.flow-detail-kpis>:nth-child(1){animation-delay:.3s}.flow-detail-kpis>:nth-child(2){animation-delay:.37s}.flow-detail-kpis>:nth-child(3){animation-delay:.44s}.flow-detail-kpis>:nth-child(4){animation-delay:.51s}.flow-detail-today{animation-delay:.6s}.flow-detail-line{stroke-dasharray:1000;stroke-dashoffset:1000;animation:flow-detail-draw 1.6s cubic-bezier(.65,0,.35,1) .7s forwards}.flow-detail-area,.flow-detail-now{animation:flow-detail-fade .9s ease-out 1.5s backwards}@keyframes flow-detail-rise{0%{opacity:0;transform:translateY(16px)}}@keyframes flow-detail-draw{to{stroke-dashoffset:0}}@keyframes flow-detail-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.flow-detail-kpis>*,.flow-detail-today,.flow-detail-area,.flow-detail-now{animation:none}.flow-detail-line{animation:none;stroke-dashoffset:0}}.flow-detail-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface)}.flow-detail-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--staged-color) 14%,transparent);color:var(--staged-color)}.flow-detail-heading{display:grid;gap:2px;min-width:0}.flow-detail-heading h1{margin:0;color:var(--color-muted);font-size:.85rem;font-weight:500}.flow-detail-heading strong{font-size:1.75rem;font-variant-numeric:tabular-nums}.flow-detail-heading span{color:var(--staged-color);font-size:.8rem}.flow-detail-back{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px 0 10px;border:1px solid var(--color-border);border-radius:12px;color:inherit;font-size:.85rem;font-weight:500;text-decoration:none}.flow-detail-back:hover{border-color:var(--staged-color)}.flow-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:var(--space-4);align-items:start}.flow-detail-label{margin:0 0 var(--space-3);color:var(--color-muted);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.flow-detail-side{display:grid;gap:var(--space-3)}.flow-detail-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.flow-detail-today-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.flow-detail-today-head span,.flow-detail-axis{color:var(--color-muted);font-size:.75rem;font-variant-numeric:tabular-nums}.flow-detail-chart{width:100%;height:112px;overflow:visible}.flow-detail-chart line,.flow-detail-chart path{vector-effect:non-scaling-stroke}.flow-detail-zero{stroke:var(--color-border)}.flow-detail-area{fill:color-mix(in srgb,var(--staged-color) 16%,transparent)}.flow-detail-line{fill:none;stroke:var(--staged-color);stroke-width:2;stroke-linejoin:round}.flow-detail-now{stroke:var(--color-muted);stroke-dasharray:2 3}.flow-detail-axis{display:flex;justify-content:space-between;margin-top:var(--space-1)}.flow-detail-values{display:grid;gap:var(--space-3)}.flow-detail-values-toggle{display:inline-flex;align-items:center;justify-self:start;gap:6px;height:36px;padding:0 14px 0 10px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:inherit;font:inherit;font-size:.85rem;font-weight:500;cursor:pointer}.flow-detail-values-toggle:hover{border-color:var(--staged-color)}.flow-detail-values-toggle svg{transition:transform .25s ease}.flow-detail-values-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}@media(max-width:860px){.flow-detail-grid{grid-template-columns:1fr}}@media(max-width:640px){.flow-detail-hero{grid-template-columns:auto minmax(0,1fr)}.flow-detail-back{grid-column:1 / -1;justify-self:start}}.flow-detail-note{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:.8rem}.flow-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:var(--space-3) 0 0}.flow-detail-facts dt{color:var(--color-muted);font-size:.75rem}.flow-detail-facts dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.flow-detail-facts .flow-detail-fact-hint{color:var(--color-muted);font-size:.7rem;font-weight:400}.breadcrumb{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:.9rem;margin-bottom:var(--space-2)}.breadcrumb-part{display:inline-flex;align-items:center;gap:var(--space-2)}.breadcrumb a{color:var(--color-primary);font-weight:650}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-summary-grid{align-items:stretch}.metric-panel{display:grid;gap:var(--space-2)}.metric-panel span{color:var(--color-muted);font-size:.88rem}.metric-panel strong{font-size:1.35rem;overflow-wrap:anywhere}.detail-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:var(--space-4)}.inverter-grid,.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.inverter-card,.asset-card,.string-card{display:grid;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-text);padding:var(--space-5);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.inverter-card:hover,.inverter-card:focus-visible,.asset-card:hover,.asset-card:focus-visible,.string-card:hover,.string-card:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-md);outline:none;transform:translateY(-1px)}.inverter-card-header,.asset-card-header,.string-card-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.inverter-card-header>div,.asset-card-header>div,.string-card-header>div{min-width:0;flex:1 1 120px}.inverter-card-header h2,.asset-card-header h2,.string-card-header h2{margin:0;font-size:1rem;overflow-wrap:break-word}.inverter-card-header p,.asset-card-header p,.string-card-header p{margin:4px 0 0;color:var(--color-muted);font-size:.88rem}.inverter-icon-wrap{width:54px;height:54px;display:grid;flex:0 0 auto;place-items:center;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary)}.asset-icon-wrap{width:54px;height:54px;display:grid;flex:0 0 auto;place-items:center;border-radius:var(--radius-md)}.asset-icon-wrap.battery{background:#eef7e8;color:#4b7f2f}.asset-icon-wrap.grid{background:#e7f1fb;color:#2367a2}.asset-icon-wrap.chargers{background:#fff3de;color:#9b5d12}.asset-icon-wrap.load{background:#f0edf9;color:#6551a8}.inverter-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.inverter-primary-value{display:grid;gap:4px}.inverter-primary-value strong,.string-card>strong{font-size:1.55rem;line-height:1}.inverter-primary-value span,.string-card>span{color:var(--color-muted)}.inverter-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:var(--space-2);margin:0}.inverter-metrics div{display:grid;gap:3px;border-radius:var(--radius-sm);background:var(--color-surface-muted);padding:var(--space-2)}.inverter-metrics dt{color:var(--color-muted);font-size:.78rem;overflow-wrap:anywhere}.inverter-metrics dd{margin:0;font-weight:700;overflow-wrap:anywhere}.string-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.detail-list{display:grid;gap:var(--space-3)}.detail-row{width:100%;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);padding:var(--space-3) var(--space-4);text-align:left}.detail-row:hover,.detail-row.active{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.detail-row.readonly:hover{border-color:var(--color-border);box-shadow:none}.detail-row span{display:grid;gap:3px}.detail-row small{color:var(--color-muted)}@media(max-width:860px){.grid.four,.inverter-grid,.asset-grid,.string-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:1fr}}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-4)}@media(max-width:640px){.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}}.field-tile strong{font-size:1.2rem}.field-labels{display:flex;flex-wrap:wrap;gap:var(--space-2)}.field-hint{color:var(--color-muted);font-size:.78rem}.field-hint.unbound,.field-hint.ambiguous{color:var(--color-warning)}.object-alarms ul{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}.object-alarms .panel-title{display:inline-flex;align-items:center;gap:var(--space-2)}.metric-panel small{color:var(--color-muted);font-size:.8rem}.facility-select{min-height:100vh;padding:var(--space-6) var(--space-5) var(--space-8);display:grid;align-content:start;gap:var(--space-5);background:linear-gradient(180deg,#f5f4f94d,#f5f4f9b8 30%,#f5f4f9e0,#f5f4f9f0),url(/brand/bg-speicher-reihe.jpg) center / cover no-repeat fixed,var(--color-bg)}.facility-select-header{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-end;justify-content:space-between}.facility-select-header h1{margin:0;font-size:1.75rem}.facility-select-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.facility-search{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;font:inherit;min-width:12rem}.facility-select-user{margin:0;color:var(--color-muted)}.facility-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.facility-card{display:grid;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.facility-card-main{display:grid;gap:var(--space-3);padding:0 0 var(--space-3);border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;position:relative}.facility-card-main:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.facility-image{display:block;aspect-ratio:16 / 9;background:var(--color-bg);overflow:hidden}.facility-image img{width:100%;height:100%;object-fit:cover;display:block}.facility-image-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--color-muted)}.facility-card-body{display:grid;gap:2px;padding:0 var(--space-4)}.facility-card-body strong{font-size:1.05rem}.facility-card-body small{color:var(--color-muted)}.facility-owner{font-size:.8rem}.facility-card-main .status-pill{position:absolute;top:var(--space-2);right:var(--space-2)}.facility-card-tools{display:flex;gap:var(--space-2);padding:0 var(--space-4) var(--space-3);flex-wrap:wrap}.ghost-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);font:inherit;font-size:.85rem;cursor:pointer}.ghost-button:hover{color:inherit;border-color:var(--color-primary)}.facility-card-warning,.facility-error{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:0 var(--space-4);color:var(--color-danger);font-size:.85rem}.facility-empty{margin:0;color:var(--color-muted)}@media(max-width:640px){.facility-grid{grid-template-columns:1fr}}.login-page{min-height:100vh;display:grid;place-items:center;padding:var(--space-5);background:linear-gradient(120deg,rgb(var(--brand-indigo-rgb) / 82%),rgb(var(--brand-indigo-rgb) / 55%) 55%,rgb(var(--brand-orange-rgb) / 25%)),url(/brand/bg-login-pv-gelaende.jpg) center / cover no-repeat,var(--brand-indigo)}.login-panel{width:min(480px,100%);display:grid;gap:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-8)}.login-eyebrow{margin:0 0 var(--space-2);color:var(--color-primary);font-weight:700}.login-panel h1{margin:0;font-size:2rem}.login-panel p{color:var(--color-muted)}.login-actions{display:grid;gap:var(--space-3)}.login-form{display:grid;gap:var(--space-4)}.field{display:grid;gap:var(--space-2);font-weight:600}.field input,.field select{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:inherit;font:inherit}.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.login-error{margin:0;color:var(--color-danger, #b3261e);font-weight:600}.login-logo{display:block;width:min(240px,70%);height:auto;margin-bottom:var(--space-4)}.login-guest{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.login-guest .secondary-button{width:100%}.login-guest small{color:var(--color-muted);font-size:.82rem;text-align:center}.login-guest-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-muted);font-size:.8rem}.login-guest-divider:before,.login-guest-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.structure-tools{display:flex;gap:var(--space-2);flex-wrap:wrap}.structure-hint{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-3);border:1px solid var(--color-border);border-left:3px solid var(--color-danger);border-radius:var(--radius-sm);background:var(--color-surface)}.structure-filter{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-muted)}.structure-tree{display:grid;gap:var(--space-3)}.asset-node{display:grid;gap:var(--space-2)}.asset-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.asset-toggle{display:inline-flex;align-items:center;gap:var(--space-2);border:0;background:none;color:inherit;font:inherit;cursor:pointer;min-width:12rem;text-align:left}.asset-toggle:disabled{cursor:default;opacity:.8}.asset-dot{width:16px;height:16px;display:inline-block}.asset-name-input,.asset-head select,.metric-table select{padding:var(--space-1, 4px) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:inherit;font:inherit;font-size:.85rem}.metric-table{width:100%}.metric-table select{max-width:26rem}.metric-table td{overflow-wrap:anywhere}.page>.panel,.page>.structure-tree{min-width:0}.panel>.metric-table{display:block;overflow-x:auto}.metric-table small{color:var(--color-muted)}.metric-unassigned{background:#b423180f}.slot-source{display:flex;align-items:center;gap:var(--space-1, 4px);margin-bottom:var(--space-1, 4px)}.slot-sign{min-width:1.8rem;justify-content:center}.quantity-pill{display:inline-block;padding:2px var(--space-2);border-radius:999px;background:rgb(var(--color-primary-rgb) / 12%);color:var(--color-primary-strong);font-size:.78rem}.quantity-pill.empty{background:#b423181f;color:var(--color-danger)}.unit-mismatch{display:block;color:var(--color-danger);font-size:.75rem}@media(max-width:720px){.asset-toggle{min-width:100%}.metric-table{display:block;overflow-x:auto}}.kind-suggestion{display:block;margin-top:2px;padding:1px var(--space-2);border:1px dashed var(--color-primary);border-radius:var(--radius-sm);background:transparent;color:var(--color-primary-strong);font:inherit;font-size:.72rem;cursor:pointer}.kind-suggestion:hover{background:rgb(var(--color-primary-rgb) / 10%)}.mapping-map{min-width:0}.mapping-map .panel-header{align-items:flex-start;gap:16px}.mapping-search{align-items:center;border:1px solid var(--color-border);border-radius:6px;display:flex;gap:6px;min-width:260px;padding:4px 8px}.mapping-search input{border:0;flex:1;min-width:0;font:inherit;outline:none}.mapping-usages{background:var(--color-surface-muted);border-radius:6px;margin-bottom:12px;max-height:180px;overflow:auto;padding:8px 12px}.mapping-usages ul{list-style:none;margin:6px 0 0;padding:0}.mapping-usages button{align-items:center;background:none;border:0;color:var(--color-text);cursor:pointer;display:flex;font:inherit;gap:6px;padding:2px 0;text-align:left}.mapping-usages button:hover{color:var(--color-primary)}.mapping-legend{color:var(--color-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:14px;margin-bottom:8px}.mapping-legend i{border-radius:50%;display:inline-block;height:9px;margin-right:5px;width:9px}.mapping-legend-hint{margin-left:auto}.mapping-layout{display:grid;gap:16px;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.mapping-tree{border:1px solid var(--color-border);border-radius:8px;min-width:0}.mapping-object{border:1px solid var(--color-border);border-radius:8px;max-height:560px;min-width:0;overflow:auto;padding:12px}.mapping-object header{align-items:center;display:flex;gap:10px;margin-bottom:10px}.mapping-object h3{font-size:15px;margin:0}.mapping-dot{border-radius:50%;flex:none;height:12px;width:12px}.mapping-rows{display:grid;gap:6px;list-style:none;margin:0;padding:0}.mapping-row{align-items:center;border-left:3px solid var(--color-good);display:grid;gap:8px;grid-template-columns:minmax(0,2fr) auto minmax(0,3fr);padding:4px 0 4px 8px}.mapping-row.status-computed,.mapping-row.status-server{border-left-color:var(--color-info)}.mapping-row.status-unbound,.mapping-row.status-ambiguous{border-left-color:var(--color-danger)}.mapping-field{display:grid}.mapping-field small,.mapping-source small,.mapping-note{color:var(--color-muted);font-size:11px}.mapping-value{font-variant-numeric:tabular-nums;font-weight:600}.mapping-arrow{color:var(--color-muted)}.mapping-sources{display:grid;gap:4px;min-width:0}.mapping-source{display:grid}.mapping-source code,.mapping-formula,.mapping-usages code{font-size:11.5px;overflow-wrap:anywhere}.mapping-source.missing code{color:var(--color-danger)}.mapping-formula{color:var(--color-info)}@media(max-width:980px){.mapping-layout{grid-template-columns:1fr}.mapping-search{min-width:0;width:100%}.mapping-legend-hint{margin-left:0}}.mapping-source{background:var(--color-surface-muted);border-radius:6px;padding:6px 8px}.mapping-source-head{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.mapping-source-head strong{font-family:var(--font-mono, ui-monospace, monospace);font-size:13px}.mapping-id{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;font-size:11px;font-variant-numeric:tabular-nums;padding:0 7px}.mapping-id.missing{border-color:var(--color-danger);color:var(--color-danger)}.mapping-source-details{display:grid;gap:1px 10px;grid-template-columns:max-content minmax(0,1fr);margin:4px 0 0}.mapping-source-details div{display:contents}.mapping-source-details dt{color:var(--color-muted);font-size:11px}.mapping-source-details dd{font-size:11px;margin:0;overflow-wrap:anywhere}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{color-scheme:light;--brand-indigo: #20164d;--brand-indigo-rgb: 32 22 77;--brand-orange: #f39200;--brand-orange-rgb: 243 146 0;--color-bg: #f5f4f9;--color-surface: #ffffff;--color-surface-muted: #efedf6;--color-border: #dddae8;--color-text: #1a1438;--color-muted: #5f5a76;--color-primary: #3a2d8c;--color-primary-rgb: 58 45 140;--color-primary-strong: var(--brand-indigo);--color-primary-soft: #e9e6f7;--color-primary-softer: #f2f0fb;--color-accent: var(--brand-orange);--color-accent-text: #a35d00;--color-info: #1b6ca8;--color-warning: #a16207;--color-danger: #b42318;--color-good: #0f8a5f;--sidebar-bg: linear-gradient(180deg, #241a58 0%, var(--brand-indigo) 55%, #170f3a 100%);--sidebar-surface: rgb(255 255 255 / 6%);--sidebar-hover: rgb(255 255 255 / 9%);--sidebar-active: rgb(var(--brand-orange-rgb) / 16%);--sidebar-border: rgb(255 255 255 / 12%);--sidebar-text: #e4e1f3;--sidebar-muted: #a9a3cc;--focus-ring: 0 0 0 3px rgb(var(--brand-orange-rgb) / 35%);--shadow-sm: 0 1px 2px rgb(var(--brand-indigo-rgb) / 8%);--shadow-md: 0 8px 24px rgb(var(--brand-indigo-rgb) / 10%);--radius-sm: 6px;--radius-md: 10px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--sidebar-width: 248px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.page{display:grid;gap:var(--space-5)}.page-header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start}.page-title{margin:0;font-size:1.6rem;line-height:1.2}.page-subtitle{margin:var(--space-2) 0 0;color:var(--color-muted)}.grid{display:grid;gap:var(--space-4)}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5)}.panel-title{margin:0 0 var(--space-4);font-size:1rem}.panel-header{display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.panel-header .panel-title{margin-bottom:0}.chart-link{cursor:pointer;border-radius:var(--radius-sm)}.chart-link *{cursor:pointer!important}.chart-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.segments{display:inline-flex;flex-shrink:0;align-self:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.segments button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:4px 12px;color:var(--color-muted);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.segments button+button{border-left:1px solid var(--color-border)}.segments button.active{background:var(--color-primary-soft);color:var(--color-primary-strong)}.maps-panel{min-width:0}.facility-map{min-height:320px;width:100%;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.facility-map-open{margin-top:var(--space-2)}.facility-select-map{margin-top:var(--space-4)}.maps-page-map{min-height:560px}.facility-map-marker{display:block;width:18px;height:18px;border:3px solid #fff;border-radius:999px;box-shadow:0 8px 18px #0f172a47}.facility-map-marker.online{background:var(--color-good)}.facility-map-marker.warning{background:var(--color-warning)}.facility-map-marker.offline{background:var(--color-danger)}.facility-map-marker.selected{outline:3px solid rgb(var(--brand-orange-rgb) / 45%);outline-offset:2px}.leaflet-container{font:inherit}.leaflet-popup-content{margin:10px 12px;color:var(--color-text)}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--color-border);padding:var(--space-3);text-align:left;vertical-align:middle}.table th{color:var(--color-muted);font-weight:600}.status-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--color-border);padding:3px 8px;font-size:.8rem;font-weight:600}.status-link{text-decoration:none;cursor:pointer}.status-link:hover{filter:brightness(1.1);text-decoration:underline}.status-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.status-pill.online,.status-pill.active{color:var(--color-good);background:#e9f7f1;border-color:#bce5d2}.status-pill.info{color:var(--color-primary);background:var(--color-primary-softer);border-color:var(--color-primary-soft)}.status-pill.warning{color:var(--color-warning);background:#fff7e6;border-color:#f3d193}.status-pill.offline,.status-pill.disabled,.status-pill.critical{color:var(--color-danger);background:#fff0ee;border-color:#f0b5ae}.charger-icon,.solar-panel-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.field{display:grid;gap:var(--space-2)}.field label{color:var(--color-muted);font-weight:600}.field input,.field select{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);padding:10px 12px}.primary-button,.secondary-button,.ghost-button{border-radius:var(--radius-sm);min-height:40px;padding:8px 12px;display:inline-flex;gap:var(--space-2);align-items:center;justify-content:center;border:1px solid transparent;font-weight:650}.primary-button{background:var(--color-primary);color:#fff}.primary-button:hover{background:var(--color-primary-strong)}.secondary-button{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.ghost-button{background:transparent;color:var(--color-muted)}.design-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}.design-option{position:relative;display:grid;gap:4px;justify-items:start;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);padding:var(--space-3);text-align:left}.design-option:hover{border-color:var(--color-primary)}.design-option.active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.design-option-name{font-weight:700}.design-option small{color:var(--color-muted);font-size:.78rem}.design-option-check{position:absolute;top:var(--space-2);right:var(--space-2);color:var(--color-primary)}.design-swatch{display:flex;width:100%;height:44px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.design-swatch span{flex:1}.design-swatch.classic span:nth-child(1){background:#f5f4f9}.design-swatch.classic span:nth-child(2){background:#20164d}.design-swatch.classic span:nth-child(3){background:#f39200}.design-swatch.dark span:nth-child(1){background:#111318}.design-swatch.dark span:nth-child(2){background:#1a1d24}.design-swatch.dark span:nth-child(3){background:#9d90ff}.design-swatch.aurora span:nth-child(1){background:linear-gradient(135deg,#07051a,#2a1a6e)}.design-swatch.aurora span:nth-child(2){background:linear-gradient(135deg,#7c5cff,#3fd0ff)}.design-swatch.aurora span:nth-child(3){background:#ff9f1a}@media(max-width:640px){.design-picker{grid-template-columns:1fr}}.analysis-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3)}.analysis-layout{display:grid;grid-template-columns:minmax(260px,.32fr) minmax(0,1fr);gap:var(--space-4);align-items:start}.chart-picker-select{display:none;gap:var(--space-2)}.chart-picker-select span{color:var(--color-muted);font-size:.82rem;font-weight:650;text-transform:uppercase}.chart-picker-select select{width:100%;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:8px 10px}.chart-picker{display:grid;gap:var(--space-4)}.chart-picker-group{display:grid;gap:var(--space-2)}.chart-picker-group h3{margin:0;color:var(--color-muted);font-size:.82rem;text-transform:uppercase}.chart-picker-list{display:grid;gap:var(--space-2)}.chart-picker-list button{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:8px 10px;text-align:left}.chart-picker-list button.active,.chart-picker-list button:hover{border-color:var(--color-primary);background:var(--color-primary-softer)}.chart-picker-list small{color:var(--color-warning);font-size:.72rem;font-weight:700}.chart-stage{min-width:0}.chart-forecast-hint{margin:var(--space-1) 0 0;color:var(--color-primary);font-size:.85rem;font-weight:600}.chart-stage-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.chart-region-labels{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--color-muted);font-size:.88rem;margin-bottom:var(--space-3)}.resource-picker{display:grid;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);padding:var(--space-3);margin-bottom:var(--space-4)}.resource-picker-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.resource-picker-header span{display:inline-flex;gap:var(--space-2)}.resource-picker-header button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:.8rem;font-weight:650;padding:5px 8px}.resource-chip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.resource-chip{min-width:0;display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;padding:8px 10px}.resource-chip input{flex:0 0 auto}.resource-chip-color{width:10px;height:10px;flex:0 0 auto;border-radius:999px}.resource-chip span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.chart-summary-card{min-width:0;display:flex;gap:var(--space-3);align-items:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);padding:var(--space-3)}.chart-summary-color{width:4px;min-height:42px;flex:0 0 auto;border-radius:999px}.chart-summary-card div{min-width:0;display:grid;gap:3px}.chart-summary-card strong{font-size:1rem}.chart-summary-card span,.chart-summary-card small{overflow:hidden;color:var(--color-muted);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}@media(max-width:980px){.grid.five,.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.two,.analysis-layout{grid-template-columns:1fr}.chart-picker{display:none}.chart-picker-select{display:grid}.chart-summary-grid,.resource-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.page-header,.form-grid{grid-template-columns:1fr;display:grid}.grid.two{grid-template-columns:1fr}.grid.five,.grid.four,.grid.three,.chart-summary-grid,.resource-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.panel{padding:var(--space-4)}.facility-map{min-height:280px}.maps-page-map{min-height:420px}}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus-ring)}.settings-section{margin-top:var(--space-5)}.settings-section-title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font-size:1.1rem}.recipients-panel{min-width:0}.recipients-list{list-style:none;margin:var(--space-3) 0;padding:0;display:grid;gap:var(--space-2)}.recipient{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.recipient-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.recipient-address{overflow-wrap:anywhere}.recipient-settings{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) 10px;margin-top:var(--space-2);font-size:.85rem}.recipient-toggle,.recipient-limit{display:inline-flex;align-items:center;gap:4px}.recipient-limit label{color:inherit;font-weight:inherit}.recipient-limit select{width:auto;padding:2px 6px;font-size:inherit}.recipients-add{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.recipients-add .field{flex:1 1 200px;min-width:0}.recipients-notice{margin:var(--space-2) 0 0;font-size:.9rem}.recipients-notice.success{color:var(--color-good)}.recipients-notice.error{color:var(--color-danger)}.kpi-card{min-height:132px;display:grid;align-content:space-between;gap:var(--space-3);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.kpi-card.wide{min-height:112px}.kpi-link{color:inherit;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.kpi-link:hover,.kpi-link:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-md);outline:none;transform:translateY(-1px)}.kpi-card.good{border-left-color:var(--color-good)}.kpi-card.warning{border-left-color:var(--color-warning)}.kpi-card.danger{border-left-color:var(--color-danger)}.kpi-topline{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.kpi-icon{width:42px;height:42px;display:grid;flex:0 0 auto;place-items:center;border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-primary)}.kpi-heading{display:grid;min-width:0;gap:2px}.kpi-title,.kpi-label{color:var(--color-muted);font-size:.88rem;min-width:0;overflow-wrap:anywhere}.kpi-title+.kpi-label{font-size:.76rem}.kpi-measurements{display:flex;min-width:0;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;align-items:flex-end}.kpi-primary-measure{display:grid;flex:1 1 112px;min-width:0;gap:var(--space-2)}.kpi-detail{color:var(--color-muted);font-size:.88rem}.kpi-secondary-measure{display:grid;flex:0 1 86px;min-width:86px;max-width:100%;gap:2px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);padding:8px 10px;text-align:center}.kpi-secondary-measure span{color:var(--color-muted);font-size:.72rem;font-weight:650;white-space:nowrap}.kpi-secondary-measure strong{color:var(--color-text);font-size:1rem;line-height:1;white-space:nowrap}.kpi-value{font-size:clamp(1.3rem,.7rem + 1.4vw,1.75rem);line-height:1.1;overflow-wrap:anywhere}.kpi-detail,.kpi-secondary-measure{overflow-wrap:anywhere}@media(max-width:640px){.kpi-card{min-height:0;align-content:start;gap:var(--space-2);padding:var(--space-3)}.kpi-topline{grid-template-columns:minmax(0,1fr) 32px;gap:var(--space-2)}.kpi-icon{width:32px;height:32px}.kpi-icon svg{width:18px;height:18px}.kpi-title,.kpi-label,.kpi-detail{font-size:.76rem}.kpi-title+.kpi-label{font-size:.68rem}.kpi-title,.kpi-label{-webkit-hyphens:manual;hyphens:manual}.kpi-value{font-size:1.25rem}.kpi-measurements{align-items:stretch;flex-direction:column;gap:var(--space-2)}.kpi-primary-measure,.kpi-secondary-measure{flex:none}.kpi-secondary-measure{display:flex;width:fit-content;min-width:0;gap:6px;align-items:baseline;padding:4px 8px}.kpi-secondary-measure strong{font-size:.85rem}}[data-design=dark] .app-shell{color-scheme:dark;--color-bg: #111318;--color-surface: #1a1d24;--color-surface-muted: #222630;--color-border: #2e3340;--color-text: #e9ebf1;--color-muted: #9aa1b2;--color-primary: #9d90ff;--color-primary-rgb: 157 144 255;--color-primary-strong: #bdb4ff;--color-primary-soft: rgb(157 144 255 / 20%);--color-primary-softer: rgb(157 144 255 / 11%);--color-accent-text: #ffb24a;--color-info: #6cb8f0;--color-warning: #f2b64a;--color-danger: #ff7a6e;--color-good: #3fd08f;--sidebar-bg: #0c0e12;--sidebar-border: #232733;--shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--shadow-md: 0 8px 24px rgb(0 0 0 / 45%);background:var(--color-bg);color:var(--color-text)}[data-design=dark] .app-shell .field input,[data-design=dark] .app-shell .field select{background:var(--color-surface-muted)}[data-design=dark] .app-shell .energy-flow-node{background:#1a1d24f0}[data-design=dark] .app-shell .primary-button{background:#6f5ff0}[data-design=dark] .app-shell .primary-button:hover{background:#5a4ad8}[data-design=dark] .app-shell .mode-switch button.active,[data-design=dark] .app-shell .period-nav-modes button.active{background:#6f5ff0}[data-design=dark] .app-shell .status-pill.online,[data-design=dark] .app-shell .status-pill.active{background:#3fd08f1f;border-color:#3fd08f59}[data-design=dark] .app-shell .status-pill.warning{background:#f2b64a1f;border-color:#f2b64a59}[data-design=dark] .app-shell .status-pill.offline,[data-design=dark] .app-shell .status-pill.disabled,[data-design=dark] .app-shell .status-pill.critical{background:#ff7a6e1f;border-color:#ff7a6e61}[data-design=aurora] .app-shell{color-scheme:dark;--aurora-night: #07051a;--aurora-violet: #7c5cff;--aurora-violet-rgb: 124 92 255;--aurora-orange: #ff9f1a;--aurora-orange-rgb: 255 159 26;--aurora-cyan: #3fd0ff;--aurora-cyan-rgb: 63 208 255;--aurora-pink: #ff5ca8;--aurora-green: #34e0a1;--aurora-glass: rgb(255 255 255 / 5.5%);--aurora-glass-strong: rgb(255 255 255 / 9%);--aurora-glass-border: rgb(255 255 255 / 11%);--aurora-highlight: inset 0 1px 0 rgb(255 255 255 / 9%);--aurora-ease: cubic-bezier(.22, 1, .36, 1);--color-bg: var(--aurora-night);--color-surface: var(--aurora-glass);--color-surface-muted: rgb(255 255 255 / 4%);--color-border: var(--aurora-glass-border);--color-text: #f3f0ff;--color-muted: #aaa3cf;--color-primary: #a594ff;--color-primary-rgb: 165 148 255;--color-primary-strong: #c9c0ff;--color-primary-soft: rgb(165 148 255 / 20%);--color-primary-softer: rgb(165 148 255 / 11%);--color-accent: var(--aurora-orange);--color-accent-text: #ffb655;--color-info: #6fd3ff;--color-warning: #fcc444;--color-danger: #ff7272;--color-good: var(--aurora-green);--sidebar-bg: linear-gradient(180deg, rgb(20 14 58 / 72%), rgb(8 6 28 / 80%));--sidebar-surface: rgb(255 255 255 / 5%);--sidebar-hover: rgb(255 255 255 / 8%);--sidebar-active: linear-gradient(90deg, rgb(var(--aurora-orange-rgb) / 22%), rgb(var(--aurora-violet-rgb) / 10%));--sidebar-border: rgb(255 255 255 / 9%);--focus-ring: 0 0 0 3px rgb(var(--aurora-orange-rgb) / 45%);--shadow-sm: 0 4px 18px rgb(0 0 0 / 28%);--shadow-md: 0 18px 48px rgb(0 0 0 / 42%);--radius-sm: 10px;--radius-md: 18px;position:relative;isolation:isolate;background:var(--aurora-night);color:var(--color-text);font-feature-settings:"cv11","ss01","tnum"}[data-design=aurora] .app-shell:before{content:"";position:fixed;inset:-25vmax;z-index:-2;pointer-events:none;background:radial-gradient(38vmax 30vmax at 18% 22%,rgb(var(--aurora-violet-rgb) / 42%),transparent 70%),radial-gradient(34vmax 26vmax at 82% 12%,rgb(var(--aurora-orange-rgb) / 26%),transparent 70%),radial-gradient(40vmax 32vmax at 70% 88%,rgb(var(--aurora-cyan-rgb) / 20%),transparent 70%),radial-gradient(30vmax 22vmax at 30% 90%,rgb(255 92 168 / 14%),transparent 70%);filter:blur(40px) saturate(125%);animation:aurora-drift 38s ease-in-out infinite alternate}[data-design=aurora] .app-shell:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1px 1px at 12% 18%,rgb(255 255 255 / 55%),transparent 60%),radial-gradient(1px 1px at 68% 32%,rgb(255 255 255 / 45%),transparent 60%),radial-gradient(1.5px 1.5px at 84% 74%,rgb(255 255 255 / 40%),transparent 60%),radial-gradient(1px 1px at 36% 62%,rgb(255 255 255 / 35%),transparent 60%),linear-gradient(rgb(255 255 255 / 3.5%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 3.5%) 1px,transparent 1px);background-size:auto,auto,auto,auto,56px 56px,56px 56px;-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 75%)}@keyframes aurora-drift{0%{transform:translateZ(0) rotate(0) scale(1)}50%{transform:translate3d(4vmax,-3vmax,0) rotate(8deg) scale(1.08)}to{transform:translate3d(-3vmax,2vmax,0) rotate(-6deg) scale(1.03)}}[data-design=aurora] .app-shell .sidebar{border-right:1px solid var(--sidebar-border);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);box-shadow:12px 0 40px #00000040}[data-design=aurora] .app-shell .brand strong{background:linear-gradient(90deg,#fff,#ffcf8a);-webkit-background-clip:text;background-clip:text;color:transparent}[data-design=aurora] .app-shell .nav-link{position:relative;transition:background .22s var(--aurora-ease),transform .22s var(--aurora-ease),color .22s var(--aurora-ease)}[data-design=aurora] .app-shell .nav-link:hover{transform:translate(3px)}[data-design=aurora] .app-shell .nav-link.active{background:var(--sidebar-active);box-shadow:inset 3px 0 0 var(--aurora-orange),0 0 24px rgb(var(--aurora-orange-rgb) / 18%)}[data-design=aurora] .app-shell .nav-link.active svg{color:var(--aurora-orange);filter:drop-shadow(0 0 6px rgb(var(--aurora-orange-rgb) / 70%))}[data-design=aurora] .app-shell .facility-switch{transition:border-color .2s ease,box-shadow .2s ease}[data-design=aurora] .app-shell .facility-switch:hover{box-shadow:0 0 22px rgb(var(--aurora-orange-rgb) / 22%)}[data-design=aurora] .app-shell .mobile-nav{background:#0a071ec7;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}[data-design=aurora] .app-shell .content{position:relative}[data-design=aurora] .app-shell .page-header{animation:aurora-rise .9s var(--aurora-ease) both}[data-design=aurora] .app-shell .page-title{font-size:clamp(1.9rem,1.2rem + 2.2vw,2.9rem);font-weight:800;letter-spacing:-.025em;background:linear-gradient(100deg,#fff,#d8d0ff 35%,#ffb655,#d8d0ff 75%,#fff);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:aurora-shimmer 9s linear infinite}[data-design=aurora] .app-shell .page-subtitle{color:var(--color-muted)}@keyframes aurora-shimmer{to{background-position:-220% 0}}@keyframes aurora-rise{0%{opacity:0;translate:0 18px;filter:blur(6px)}to{opacity:1;translate:0 0;filter:blur(0)}}[data-design=aurora] .app-shell .status-pill{gap:7px;border-color:var(--aurora-glass-border);background:var(--aurora-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:5px 11px;letter-spacing:.01em}[data-design=aurora] .app-shell .status-pill:before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor;box-shadow:0 0 10px currentColor}[data-design=aurora] .app-shell .status-pill.online,[data-design=aurora] .app-shell .status-pill.active{color:var(--aurora-green);background:#34e0a11c;border-color:#34e0a159}[data-design=aurora] .app-shell .status-pill.online:before,[data-design=aurora] .app-shell .status-pill.active:before{animation:aurora-beacon 2.2s ease-out infinite}[data-design=aurora] .app-shell .status-pill.info{color:#cfc6ff;background:rgb(var(--aurora-violet-rgb) / 16%);border-color:rgb(var(--aurora-violet-rgb) / 40%)}[data-design=aurora] .app-shell .status-pill.warning{color:var(--color-warning);background:#fcc4441c;border-color:#fcc44459}[data-design=aurora] .app-shell .status-pill.offline,[data-design=aurora] .app-shell .status-pill.disabled,[data-design=aurora] .app-shell .status-pill.critical{color:var(--color-danger);background:#ff72721c;border-color:#ff727261}@keyframes aurora-beacon{0%{box-shadow:0 0 0 0 currentColor}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}[data-design=aurora] .app-shell .panel{position:relative;border:1px solid var(--aurora-glass-border);background:linear-gradient(160deg,#ffffff12,#ffffff05 40%,#ffffff09),#0e0a2873;-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);box-shadow:var(--aurora-highlight),var(--shadow-sm);padding:var(--space-6);transition:border-color .3s ease,box-shadow .3s ease}[data-design=aurora] .app-shell .panel:hover{border-color:rgb(var(--aurora-violet-rgb) / 38%);box-shadow:var(--aurora-highlight),var(--shadow-md),0 0 0 1px rgb(var(--aurora-violet-rgb) / 12%),0 0 48px rgb(var(--aurora-violet-rgb) / 12%)}[data-design=aurora] .app-shell .panel-title{display:flex;align-items:center;gap:var(--space-3);font-size:1.08rem;font-weight:750;letter-spacing:-.01em}[data-design=aurora] .app-shell .panel-title:before{content:"";width:4px;height:1.1em;flex:0 0 auto;border-radius:999px;background:linear-gradient(180deg,var(--aurora-orange),var(--aurora-violet));box-shadow:0 0 12px rgb(var(--aurora-orange-rgb) / 60%)}[data-design=aurora] .app-shell .grid{gap:var(--space-5)}[data-design=aurora] .app-shell .page{gap:var(--space-8)}[data-design=aurora] .app-shell .grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}@media(min-width:1500px){[data-design=aurora] .app-shell .grid.five{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:980px){[data-design=aurora] .app-shell .grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}}[data-design=aurora] .app-shell .kpi-card{--tone: var(--aurora-violet);--tone-rgb: var(--aurora-violet-rgb);position:relative;min-height:150px;border:1px solid var(--aurora-glass-border);border-left:1px solid var(--aurora-glass-border);border-radius:var(--radius-md);background:radial-gradient(120% 90% at 100% 0%,rgb(var(--tone-rgb) / 20%),transparent 55%),linear-gradient(160deg,#ffffff14,#ffffff06),#0e0a287f;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);box-shadow:var(--aurora-highlight),var(--shadow-sm);padding:var(--space-5);transition:transform .42s var(--aurora-ease),box-shadow .42s var(--aurora-ease),border-color .42s var(--aurora-ease);animation:aurora-rise .8s var(--aurora-ease) both}[data-design=aurora] .app-shell .kpi-card.good{--tone: var(--aurora-green);--tone-rgb: 52 224 161}[data-design=aurora] .app-shell .kpi-card.warning{--tone: var(--aurora-orange);--tone-rgb: var(--aurora-orange-rgb)}[data-design=aurora] .app-shell .kpi-card.danger{--tone: var(--color-danger);--tone-rgb: 255 114 114}[data-design=aurora] .app-shell .kpi-card:before{content:"";position:absolute;inset:0 18% auto;height:2px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,transparent,var(--tone),transparent);box-shadow:0 0 18px var(--tone);opacity:.85}[data-design=aurora] .app-shell .kpi-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,rgb(255 255 255 / 12%) 45%,transparent 60%);background-size:260% 100%;background-position:130% 0;pointer-events:none;transition:background-position .9s var(--aurora-ease)}[data-design=aurora] .app-shell .kpi-link:hover,[data-design=aurora] .app-shell .kpi-link:focus-visible{border-color:rgb(var(--tone-rgb) / 55%);transform:translateY(-6px) scale(1.015);box-shadow:var(--aurora-highlight),var(--shadow-md),0 0 42px rgb(var(--tone-rgb) / 28%)}[data-design=aurora] .app-shell .kpi-link:hover:after,[data-design=aurora] .app-shell .kpi-link:focus-visible:after{background-position:-30% 0}[data-design=aurora] .app-shell .kpi-card:nth-child(1){animation-delay:80ms}[data-design=aurora] .app-shell .kpi-card:nth-child(2){animation-delay:.15s}[data-design=aurora] .app-shell .kpi-card:nth-child(3){animation-delay:.22s}[data-design=aurora] .app-shell .kpi-card:nth-child(4){animation-delay:.29s}[data-design=aurora] .app-shell .kpi-card:nth-child(5){animation-delay:.36s}[data-design=aurora] .app-shell .kpi-card:nth-child(6){animation-delay:.43s}[data-design=aurora] .app-shell .kpi-icon{width:44px;height:44px;border:1px solid rgb(var(--tone-rgb) / 40%);border-radius:14px;background:linear-gradient(145deg,rgb(var(--tone-rgb) / 34%),rgb(var(--tone-rgb) / 8%));box-shadow:0 0 22px rgb(var(--tone-rgb) / 30%),var(--aurora-highlight);color:#fff;transition:transform .42s var(--aurora-ease)}[data-design=aurora] .app-shell .kpi-link:hover .kpi-icon{transform:rotate(-8deg) scale(1.1)}[data-design=aurora] .app-shell .kpi-title,[data-design=aurora] .app-shell .kpi-label{color:var(--color-muted);font-size:.8rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}[data-design=aurora] .app-shell .kpi-title+.kpi-label{font-size:.74rem;font-weight:500;letter-spacing:0;text-transform:none}[data-design=aurora] .app-shell .kpi-value{font-size:clamp(1.55rem,.8rem + 1.7vw,2.2rem);font-weight:800;letter-spacing:-.03em;background:linear-gradient(180deg,#fff 30%,rgb(var(--tone-rgb) / 90%) 140%);-webkit-background-clip:text;background-clip:text;color:transparent}[data-design=aurora] .app-shell .kpi-secondary-measure{border-color:rgb(var(--tone-rgb) / 30%);background:rgb(var(--tone-rgb) / 10%)}[data-design=aurora] .app-shell .energy-flow{border:1px solid rgb(255 255 255 / 8%);border-radius:var(--radius-md);background:radial-gradient(circle at 50% 50%,rgb(var(--aurora-violet-rgb) / 28%),transparent 42%),radial-gradient(circle at 50% 50%,rgb(var(--aurora-orange-rgb) / 10%),transparent 65%),linear-gradient(rgb(255 255 255 / 3%) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg,rgb(255 255 255 / 3%) 1px,transparent 1px) 0 0 / 28px 28px,#0604168c}[data-design=aurora] .app-shell .energy-flow-lines{filter:drop-shadow(0 0 3px rgb(var(--aurora-orange-rgb) / 85%)) drop-shadow(0 0 10px rgb(var(--aurora-orange-rgb) / 45%))}[data-design=aurora] .app-shell .energy-flow-line{stroke:var(--aurora-orange);stroke-width:2.4;stroke-dasharray:3 9;opacity:.95}[data-design=aurora] .app-shell .energy-flow-line.inactive{stroke:#fff6;opacity:.16}[data-design=aurora] .app-shell .energy-flow-hub{width:78px;height:78px;border:1px solid rgb(var(--aurora-orange-rgb) / 55%);background:radial-gradient(circle at 35% 30%,#3a2a8f,#140d3a 70%);box-shadow:0 0 0 6px rgb(var(--aurora-violet-rgb) / 10%),0 0 40px rgb(var(--aurora-orange-rgb) / 35%),inset 0 0 18px rgb(var(--aurora-violet-rgb) / 55%);color:#fff}[data-design=aurora] .app-shell .energy-flow-hub:before,[data-design=aurora] .app-shell .energy-flow-hub:after{content:"";position:absolute;inset:-1px;border:1px solid rgb(var(--aurora-orange-rgb) / 60%);border-radius:inherit;animation:aurora-ring 3.2s ease-out infinite}[data-design=aurora] .app-shell .energy-flow-hub:after{animation-delay:1.6s}@keyframes aurora-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}[data-design=aurora] .app-shell .energy-flow-node{--node: var(--aurora-violet);--node-rgb: var(--aurora-violet-rgb);border:1px solid rgb(var(--node-rgb) / 35%);border-radius:14px;background:linear-gradient(150deg,rgb(var(--node-rgb) / 16%),#0c0822d1 60%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 0 26px rgb(var(--node-rgb) / 18%),var(--aurora-highlight);transition:box-shadow .3s ease,border-color .3s ease}[data-design=aurora] .app-shell .energy-flow-node:hover{border-color:rgb(var(--node-rgb) / 70%);box-shadow:0 0 36px rgb(var(--node-rgb) / 38%),var(--aurora-highlight)}[data-design=aurora] .app-shell .energy-flow-node.pv{--node: var(--aurora-orange);--node-rgb: var(--aurora-orange-rgb)}[data-design=aurora] .app-shell .energy-flow-node.battery{--node: var(--aurora-green);--node-rgb: 52 224 161}[data-design=aurora] .app-shell .energy-flow-node.grid-node{--node: var(--aurora-cyan);--node-rgb: var(--aurora-cyan-rgb)}[data-design=aurora] .app-shell .energy-flow-node.charger{--node: #fcd34d;--node-rgb: 252 211 77}[data-design=aurora] .app-shell .energy-flow-node.market-storage{--node: var(--aurora-pink);--node-rgb: 255 92 168}[data-design=aurora] .app-shell .energy-flow-node-icon{width:34px;height:34px;background:rgb(var(--node-rgb) / 22%);box-shadow:0 0 16px rgb(var(--node-rgb) / 45%);color:var(--node)}[data-design=aurora] .app-shell .energy-flow-node span{color:#fff}[data-design=aurora] .app-shell .table th,[data-design=aurora] .app-shell .table td{border-bottom-color:#ffffff12}[data-design=aurora] .app-shell .table tbody tr{transition:background .22s ease}[data-design=aurora] .app-shell .table tbody tr:hover{background:linear-gradient(90deg,rgb(var(--aurora-violet-rgb) / 14%),transparent 80%)}[data-design=aurora] .app-shell .primary-button{background:linear-gradient(120deg,var(--aurora-orange),#ff6a3d);box-shadow:0 8px 26px rgb(var(--aurora-orange-rgb) / 35%);color:#1a0e00}[data-design=aurora] .app-shell .primary-button:hover{background:linear-gradient(120deg,#ffb44d,#ff7b52)}[data-design=aurora] .app-shell .secondary-button{background:var(--aurora-glass);border-color:var(--aurora-glass-border);color:var(--color-text)}[data-design=aurora] .app-shell .field input,[data-design=aurora] .app-shell .field select,[data-design=aurora] .app-shell .chart-picker-select select{border-color:var(--aurora-glass-border);background:#0a071eb3;color:var(--color-text)}[data-design=aurora] .app-shell .mode-switch,[data-design=aurora] .app-shell .period-nav-modes{border-color:var(--aurora-glass-border);border-radius:999px;background:#0a071e8c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:4px}[data-design=aurora] .app-shell .mode-switch button,[data-design=aurora] .app-shell .period-nav-modes button{border-radius:999px;transition:background .26s var(--aurora-ease),color .26s var(--aurora-ease),box-shadow .26s ease}[data-design=aurora] .app-shell .mode-switch button.active,[data-design=aurora] .app-shell .period-nav-modes button.active{background:linear-gradient(120deg,var(--aurora-violet),#b36bff 55%,var(--aurora-orange) 140%);box-shadow:0 4px 18px rgb(var(--aurora-violet-rgb) / 50%);color:#fff}[data-design=aurora] .app-shell .mode-switch button:disabled{opacity:.4;cursor:not-allowed}[data-design=aurora] .app-shell .period-nav-stepper button{border-color:var(--aurora-glass-border);border-radius:999px;background:#0a071e8c;transition:border-color .2s ease,box-shadow .2s ease}[data-design=aurora] .app-shell .period-nav-stepper button:hover:not(:disabled){border-color:var(--aurora-orange);box-shadow:0 0 14px rgb(var(--aurora-orange-rgb) / 35%)}[data-design=aurora] .app-shell .date-range-popover{border-color:var(--aurora-glass-border);background:#120d2ef7;box-shadow:var(--shadow-md),0 0 40px rgb(var(--aurora-violet-rgb) / 20%)}[data-design=aurora] .app-shell .analysis-layout{gap:var(--space-5)}[data-design=aurora] .app-shell .chart-picker{position:sticky;top:var(--space-6);max-height:calc(100vh - 2 * var(--space-6));overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(255 255 255 / 18%) transparent}[data-design=aurora] .app-shell .chart-picker-group h3{color:var(--color-accent-text);font-size:.72rem;letter-spacing:.14em}[data-design=aurora] .app-shell .chart-picker-list button{position:relative;overflow:hidden;border-color:#ffffff12;background:#ffffff08;color:var(--color-text);transition:transform .28s var(--aurora-ease),border-color .28s ease,background .28s ease,box-shadow .28s ease}[data-design=aurora] .app-shell .chart-picker-list button:hover{border-color:rgb(var(--aurora-violet-rgb) / 40%);background:rgb(var(--aurora-violet-rgb) / 12%);transform:translate(4px)}[data-design=aurora] .app-shell .chart-picker-list button.active{border-color:rgb(var(--aurora-orange-rgb) / 55%);background:linear-gradient(100deg,rgb(var(--aurora-orange-rgb) / 22%),rgb(var(--aurora-violet-rgb) / 16%));box-shadow:inset 3px 0 0 var(--aurora-orange),0 0 26px rgb(var(--aurora-orange-rgb) / 18%)}[data-design=aurora] .app-shell .chart-picker-list small{color:var(--color-warning)}[data-design=aurora] .app-shell .chart-stage{border-color:rgb(var(--aurora-violet-rgb) / 30%);box-shadow:var(--aurora-highlight),var(--shadow-md),0 0 60px rgb(var(--aurora-violet-rgb) / 12%)}[data-design=aurora] .app-shell .chart-stage-header .panel-title{font-size:1.35rem}[data-design=aurora] .app-shell .chart-stage-header,[data-design=aurora] .app-shell .chart-stage .echarts-for-react{animation:aurora-rise .7s var(--aurora-ease) both}[data-design=aurora] .app-shell .chart-region-labels span{border:1px solid var(--aurora-glass-border);border-radius:999px;background:var(--aurora-glass);padding:3px 10px}[data-design=aurora] .app-shell .resource-picker{border-color:var(--aurora-glass-border);border-radius:var(--radius-md);background:#08061a73}[data-design=aurora] .app-shell .resource-picker-header button{border-color:var(--aurora-glass-border);border-radius:999px;background:var(--aurora-glass);color:var(--color-text)}[data-design=aurora] .app-shell .resource-chip{border-color:#ffffff14;border-radius:999px;background:#ffffff0a;transition:border-color .2s ease,background .2s ease}[data-design=aurora] .app-shell .resource-chip:has(input:checked){border-color:rgb(var(--aurora-violet-rgb) / 50%);background:rgb(var(--aurora-violet-rgb) / 14%)}[data-design=aurora] .app-shell .resource-chip-color{box-shadow:0 0 0 3px #ffffff14;filter:brightness(1.2) saturate(1.2)}[data-design=aurora] .app-shell .chart-summary-card{position:relative;overflow:hidden;border-color:#ffffff14;border-radius:14px;background:linear-gradient(160deg,#ffffff12,#ffffff05);transition:transform .32s var(--aurora-ease),border-color .32s ease}[data-design=aurora] .app-shell .chart-summary-card:hover{border-color:rgb(var(--aurora-violet-rgb) / 40%);transform:translateY(-3px)}[data-design=aurora] .app-shell .chart-summary-color{width:5px;filter:brightness(1.25) saturate(1.2)}[data-design=aurora] .app-shell .chart-summary-card strong{font-size:1.15rem;font-weight:800}@supports (animation-timeline: view()){[data-design=aurora] .app-shell .page>section:not(:first-of-type)>.panel,[data-design=aurora] .app-shell .chart-summary-card,[data-design=aurora] .app-shell .table tbody tr{animation:aurora-reveal linear both;animation-timeline:view();animation-range:entry 0% cover 22%}[data-design=aurora] .app-shell .table tbody tr{animation-name:aurora-slide}}@keyframes aurora-reveal{0%{opacity:0;translate:0 48px;scale:.97}to{opacity:1;translate:0 0;scale:1}}@keyframes aurora-slide{0%{opacity:0;translate:-28px 0}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){[data-design=aurora] .app-shell *,[data-design=aurora] .app-shell:before,[data-design=aurora] .app-shell *:before,[data-design=aurora] .app-shell *:after{animation:none!important;transition:none!important}}@media(max-width:640px){[data-design=aurora] .app-shell .panel{padding:var(--space-4)}[data-design=aurora] .app-shell .page{gap:var(--space-6)}[data-design=aurora] .app-shell .chart-picker{position:static;max-height:none}}@media(max-width:640px){[data-design=aurora] .app-shell .grid.five{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}[data-design=aurora] .app-shell .kpi-card{min-height:0;gap:var(--space-2);padding:var(--space-3)}[data-design=aurora] .app-shell .kpi-topline{grid-template-columns:minmax(0,1fr) 34px}[data-design=aurora] .app-shell .kpi-icon{width:34px;height:34px;border-radius:11px}[data-design=aurora] .app-shell .kpi-title,[data-design=aurora] .app-shell .kpi-label{font-size:.68rem;letter-spacing:.02em}[data-design=aurora] .app-shell .kpi-title+.kpi-label{font-size:.66rem;letter-spacing:0}[data-design=aurora] .app-shell .kpi-value{font-size:1.35rem}[data-design=aurora] .app-shell .kpi-detail{font-size:.76rem}[data-design=aurora] .app-shell .page-header .status-pill{justify-self:start}[data-design=aurora] .app-shell .kpi-measurements{gap:var(--space-2)}[data-design=aurora] .app-shell .kpi-primary-measure,[data-design=aurora] .app-shell .kpi-secondary-measure{flex:0 0 auto}[data-design=aurora] .app-shell .kpi-secondary-measure{display:inline-flex;min-width:0;align-items:baseline;gap:6px;border-radius:999px;padding:3px 10px}[data-design=aurora] .app-shell .kpi-secondary-measure strong{font-size:.85rem}}
