:root{--paper: #f5f8fc;--panel: #ffffff;--surface-muted: #f7f9fb;--surface-soft: #eef4fc;--ink: #17212f;--text-secondary: #465569;--muted: #526174;--line: #d9e0e7;--line-strong: #b9c1cb;--accent: #2463c5;--accent-strong: #174c9c;--accent-soft: #edf4ff;--accent-line: #b9ceec;--primary: #2463c5;--primary-hover: #174c9c;--on-primary: #f7f7f7;--success: #13734e;--success-soft: #edf5ef;--success-line: #b7d4bf;--warning: #886019;--warning-soft: #fcf6e8;--warning-line: #e1cea5;--danger: #bb3838;--danger-soft: #fbefed;--danger-line: #e5bfba;--nav: #ffffff;--nav-soft: #f1f5fc;--nav-text: #30445d;--nav-muted: #66758a;--nav-line: #e4eaf2;--nav-active: #174c9c;--focus: var(--accent);--shadow-color: rgb(25 32 44 / 12%);--shadow-light: rgb(25 32 44 / 6%);--shadow-strong: rgb(25 32 44 / 24%);--overlay: rgb(25 32 44 / 44%);--surface-translucent: rgb(250 250 250 / 75%);--chart-1: #2463c5;--chart-2: #bc7512;--chart-3: #7454b2;--chart-4: #178376;--font-ui: "Malgun Gothic", "맑은 고딕", "Segoe UI", system-ui, sans-serif;--text-2xs: .625rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: .9375rem;--text-xl: 1rem;--text-heading-sm: 1.125rem;--text-heading: 1.25rem;--text-title: 1.5rem;--text-display: 1.75rem;--text-metric: clamp(1.25rem, 2vw, 1.8rem);--text-compact-metric: clamp(.9375rem, 1.25vw, 1.25rem);--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--control-height: 2.375rem;--control-radius: .375rem;--control-padding: .625rem;--control-border: var(--line-strong);--control-background: var(--panel);--control-focus-ring: 0 0 0 2px var(--accent-soft);--control-disabled-background: var(--surface-soft);--button-gap: .375rem;--button-padding-x: .75rem;--button-padding-y: .375rem;--button-height: 2.25rem;--button-background: #ffffff;--button-border: var(--accent-line);--button-text: var(--accent-strong);--button-hover-background: #edf4ff;--touch-target-height: 2.75rem;--badge-radius: .375rem;--badge-padding: .1875rem .5rem;--tab-height: 2.5rem}:root{font-family:var(--font-ui);color:var(--ink);background:var(--paper)}.model-linked-toolbar{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;padding:.75rem 1rem;margin-bottom:.75rem;border:1px solid var(--line);background:var(--panel);border-radius:.375rem}.model-linked-toolbar small{flex-basis:100%;color:var(--muted)}.model-linked-toolbar button{display:inline-flex;align-items:center;min-height:var(--control-height);padding:.5rem .75rem;border:1px solid var(--line-strong);border-radius:.375rem;background:var(--panel);color:var(--primary);font:inherit;cursor:pointer}@media(max-width:48rem){.model-linked-toolbar button{min-height:var(--touch-target-height)}}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;font-size:var(--text-md);min-width:320px;min-height:100%;background:var(--paper)}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:var(--surface-soft)}.login-panel{width:min(24rem,100%);background:var(--panel);border:1px solid var(--line);border-radius:.5rem;box-shadow:0 1rem 2.5rem var(--shadow-color);padding:1.75rem}.login-brand,.login-brand>div,.login-heading,.login-panel form,.login-panel label{display:flex}.login-brand{align-items:center;gap:.75rem;color:var(--accent)}.login-brand>div,.login-heading,.login-panel form,.login-panel label{flex-direction:column}.login-brand strong{font-size:var(--text-heading-sm)}.login-brand span{color:var(--muted);font-size:var(--text-sm)}.login-heading{gap:.35rem;margin:2rem 0 1.25rem}.login-heading h1{margin:0;font-size:var(--text-heading)}.login-heading p{margin:0;color:var(--muted);font-size:var(--text-md)}.login-panel form{gap:1rem}.login-panel label{gap:.4rem;color:var(--accent);font-size:var(--text-base);font-weight:var(--weight-semibold)}.login-panel input{min-height:2.75rem;border:1px solid var(--line-strong);border-radius:.35rem;padding:0 .75rem;font:inherit}.login-panel button{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:.35rem;background:var(--primary);color:var(--on-primary);font-weight:var(--weight-semibold)}.login-panel button:disabled{opacity:.6;cursor:wait}.login-error{margin:1rem 0 0;color:var(--danger);font-size:var(--text-base)}.login-notice{margin:1rem 0 0;color:var(--accent);font-size:var(--text-base);font-weight:var(--weight-semibold)}.session-check-shell{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:1.25rem;background:var(--surface-soft);color:var(--accent)}.session-check-brand{display:flex;flex-direction:column;align-items:center;gap:.2rem}.session-check-brand strong{font-size:var(--text-heading)}.session-check-brand span{color:var(--muted);font-size:var(--text-sm)}.session-check-status{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-size:var(--text-md)}.session-check-status svg{animation:session-check-spin .8s linear infinite}@keyframes session-check-spin{to{transform:rotate(360deg)}}button,input,select,textarea,code,pre{font:inherit}button,input,select,textarea{color:var(--ink);background-color:var(--panel)}button{background-color:var(--button-background);display:inline-flex;align-items:center;justify-content:center;gap:var(--button-gap);border:1px solid var(--line-strong);border-radius:.25rem;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}button>svg{flex-shrink:0}:is(#root,.modal-backdrop) :where(.filter-bar,.panel-actions,.panel-header,.panel>header,.management-list>header,.business-toolbar,.sim-search,.common-filters,.statistics-controls,.ocpp-log-filters,.management-form footer,.common-editor footer,.sim-actions)>button:not(:where(.icon-button,.danger-button,.danger-subtle)),:is(#root,.modal-backdrop) button.panel-action,:is(#root,.modal-backdrop) button.secondary-button,:is(#root,.modal-backdrop) button.danger-button,:is(#root,.modal-backdrop) button.danger-subtle,:is(#root,.modal-backdrop) button.text-button,:is(#root,.modal-backdrop) button.table-action-button,:is(#root,.modal-backdrop) .report-job-actions>button,:is(#root,.modal-backdrop) :where(.model-list-search,.row-actions,.connector-specification-row,.feature-profile-fieldset,.navigation-management-actions)>button,:is(#root,.modal-backdrop) :where(.charger-model-modal,.sim-modal,.management-form) footer>button,:is(#root,.modal-backdrop) :is(.report-history-pagination,.report-history-filter,.report-period-toolbar,.firmware-history-filters,.firmware-history-paging) button:not(.icon-button),:is(#root,.modal-backdrop) button[type=submit]:not(:where(.danger-button,.danger-subtle)){display:inline-flex;align-items:center;justify-content:center;gap:var(--button-gap);min-height:var(--button-height);padding:var(--button-padding-y) var(--button-padding-x);color:var(--button-text);background:var(--button-background);border:1px solid var(--button-border);border-radius:var(--control-radius);font-family:var(--font-ui);font-size:var(--text-md);font-weight:var(--weight-medium);line-height:1.3;white-space:nowrap}:is(#root,.modal-backdrop) button:is(.panel-action,[type=submit]):not(:where(.secondary-button,.danger-button,.danger-subtle)){color:var(--on-primary);background:var(--primary);border-color:var(--primary)}:is(#root,.modal-backdrop) button.secondary-button{color:var(--text-secondary);background:var(--button-background);border-color:var(--line-strong)}:is(#root,.modal-backdrop) button:is(.panel-action,[type=submit]):not(:where(.secondary-button,.danger-button,.danger-subtle,:disabled)):hover{background:var(--primary-hover)}:is(#root,.modal-backdrop) button.secondary-button:not(:disabled):hover{background:var(--button-hover-background)}:is(#root,.modal-backdrop) button.danger-button{color:var(--panel);background:var(--danger);border-color:var(--danger)}:is(#root,.modal-backdrop) button.danger-subtle{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line)}:is(#root,.modal-backdrop) button.text-button{color:var(--accent-strong);background:transparent;border-color:transparent}:is(#root,.modal-backdrop) button:is(.danger-button,.danger-subtle):not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--danger)}:is(#root,.modal-backdrop) button.text-button:not(:disabled):hover{background:var(--accent-soft)}:is(#root,.modal-backdrop) .row-actions{display:flex;flex-wrap:wrap;gap:6px}:is(#root,.modal-backdrop) .row-actions>button{width:auto;flex:0 0 auto;min-width:var(--button-height)}:is(#root,.modal-backdrop) .report-job-actions>button{min-width:var(--button-height)}@media(max-width:48rem){:is(#root,.modal-backdrop) :where(.row-actions,.model-list-search,.navigation-management-actions,.sim-actions)>button,:is(#root,.modal-backdrop) button.table-action-button,:is(#root,.modal-backdrop) .report-job-actions>button,:is(#root,.modal-backdrop) :where(.charger-model-modal,.sim-modal,.management-form) footer>button{min-height:var(--touch-target-height)}:is(#root,.modal-backdrop) .report-job-actions>button{min-width:var(--touch-target-height)}.sim-actions{flex-wrap:wrap}}:is(#root,.modal-backdrop) button:is(.panel-action,.secondary-button,.danger-button,.danger-subtle,.text-button):disabled{opacity:.55;cursor:not-allowed}:is(#root,.modal-backdrop) :is(.management-tabs,.workspace-tabs,.system-view-tabs,.business-view-tabs,.station-detail-tabs,.charger-profile-tabs,.member-auth-tabs,.ocpp-view-tabs,.test-view-tabs){display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem 0;background:var(--panel);border-bottom:1px solid var(--line);overflow-x:auto}:is(#root,.modal-backdrop) :is(.management-tabs,.workspace-tabs,.system-view-tabs,.business-view-tabs,.station-detail-tabs,.charger-profile-tabs,.member-auth-tabs,.ocpp-view-tabs,.test-view-tabs)>button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:var(--button-gap);min-height:var(--tab-height);padding:.375rem .875rem;color:var(--text-secondary);background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;font-size:var(--text-base);font-weight:var(--weight-medium)}:is(#root,.modal-backdrop) :is(.management-tabs,.workspace-tabs,.system-view-tabs,.business-view-tabs,.station-detail-tabs,.charger-profile-tabs,.member-auth-tabs,.ocpp-view-tabs,.test-view-tabs)>button:is(.active,[aria-selected=true],[aria-pressed=true]){color:var(--accent-strong);background:var(--accent-soft);border-bottom-color:var(--accent);font-weight:var(--weight-semibold)}:is(#root,.modal-backdrop) :is(.management-tabs,.workspace-tabs,.system-view-tabs,.business-view-tabs,.station-detail-tabs,.charger-profile-tabs,.member-auth-tabs,.ocpp-view-tabs,.test-view-tabs)>button:not(:disabled):hover{background:var(--accent-soft)}@media(max-width:48rem){:is(#root,.modal-backdrop) :is(.report-history-pagination,.report-history-filter,.firmware-history-filters,.firmware-history-paging) button,:is(#root,.modal-backdrop) button:is(.panel-action,.secondary-button,.danger-button,.danger-subtle,.text-button,[type=submit]),:is(#root,.modal-backdrop) :is(.management-tabs,.workspace-tabs,.system-view-tabs,.business-view-tabs,.station-detail-tabs,.charger-profile-tabs,.member-auth-tabs,.ocpp-view-tabs,.test-view-tabs)>button{min-height:var(--touch-target-height)}}:is(#root,.modal-backdrop) :where(.filter-bar,.panel-actions,.panel-header,.panel>header,.management-list>header,.business-toolbar,.sim-search,.common-filters,.statistics-controls,.management-form footer,.common-editor footer)>button:not(:where(.icon-button,.panel-action,.secondary-button,[type=submit],.danger-button,.danger-subtle,:disabled)):hover{background:var(--button-hover-background)}:is(#root,.modal-backdrop) :is(.filter-bar,.common-filters,.statistics-controls,.sim-search)>button{width:fit-content;max-width:100%;justify-self:start;flex-shrink:0}:is(#root,.modal-backdrop) button:is(.panel-action,.secondary-button,[type=submit]):disabled{opacity:.55;cursor:not-allowed}:where(button:not(:disabled):hover){filter:brightness(.97)}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}button[role=tab]{cursor:pointer}button[role=tab]:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skip-link{position:fixed;z-index:1000;inset:.5rem auto auto .5rem;padding:.55rem .75rem;border-radius:.3rem;background:var(--ink);color:var(--panel);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:is(#root,.modal-backdrop) input:not(:where([type=checkbox],[type=radio],[type=range],[type=file],[type=hidden],[type=color],[type=button],[type=submit],[type=reset])),:is(#root,.modal-backdrop) select,:is(#root,.modal-backdrop) textarea{min-width:0;max-width:100%;min-height:var(--control-height);padding:0 var(--control-padding);color:var(--ink);background:var(--control-background);border:1px solid var(--control-border);border-radius:var(--control-radius);box-shadow:none;outline:none;font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-regular);transition:border-color .12s ease,box-shadow .12s ease}:is(#root,.modal-backdrop) select{padding-right:1.75rem}:is(#root,.modal-backdrop) textarea{height:auto;min-height:6rem;padding-block:var(--control-padding);line-height:1.5;resize:vertical}:is(#root,.modal-backdrop) input::placeholder,:is(#root,.modal-backdrop) textarea::placeholder{color:var(--muted);opacity:1}:is(#root,.modal-backdrop) :is(input,select,textarea):not(:disabled):hover{border-color:var(--muted)}:is(#root,.modal-backdrop) :is(input,select,textarea):not(:where([type=checkbox],[type=radio],[type=range],[type=file],[type=color])):focus{border-color:var(--focus);box-shadow:var(--control-focus-ring);outline:none}:is(#root,.modal-backdrop) :is(input,select,textarea):disabled{color:var(--muted);background:var(--control-disabled-background);cursor:not-allowed;opacity:1}:is(#root,.modal-backdrop) :is(input,textarea)[readonly]{background:var(--surface-muted);color:var(--text-secondary)}:is(#root,.modal-backdrop) :is(input,select,textarea)[aria-invalid=true],:is(#root,.modal-backdrop) :is(input,select,textarea):user-invalid{border-color:var(--danger)}:is(#root,.modal-backdrop) :is(.search,.charger-search-input,.tariff-price-input){min-height:var(--control-height);height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--control-background)}:is(#root,.modal-backdrop) :is(.search,.charger-search-input,.tariff-price-input):focus-within{border-color:var(--focus);box-shadow:var(--control-focus-ring);outline:none}:is(#root,.modal-backdrop) :is(.search,.charger-search-input,.tariff-price-input) input,:is(#root,.modal-backdrop) :is(.search,.charger-search-input,.tariff-price-input) input:focus{min-height:0;height:100%;border:0;border-radius:0;box-shadow:none;background:transparent;outline:none}:is(#root,.modal-backdrop) input[type=file]{max-width:100%;font-size:var(--text-base)}:is(#root,.modal-backdrop) input[type=file]::file-selector-button{min-height:var(--control-height);margin-right:var(--control-padding);padding:0 var(--control-padding);color:var(--ink);background:var(--button-background);border:1px solid var(--control-border);border-radius:var(--control-radius);font:inherit;cursor:pointer}:is(#root,.modal-backdrop) input[type=file]:disabled::file-selector-button{color:var(--muted);background:var(--control-disabled-background);cursor:not-allowed}.app{display:grid;grid-template-columns:248px minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden}.app.rail-collapsed{grid-template-columns:4.5rem minmax(0,1fr)}.mobile-appbar,.mobile-menu-close,.mobile-nav-backdrop{display:none}.rail{display:flex;flex-direction:column;gap:1rem;min-width:0;height:100dvh;min-height:0;padding:22px 18px;color:var(--nav-text);background:var(--nav);border-right:1px solid var(--nav-line)}.rail-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.rail-toggle{display:grid;place-items:center;flex:0 0 auto;width:2rem;height:2rem;padding:0;color:var(--nav-text);background:transparent;border:1px solid transparent;border-radius:.375rem;cursor:pointer}.rail-toggle:hover{color:var(--nav-active);background:var(--nav-soft);border-color:var(--nav-line)}.brand{display:flex;align-items:center;gap:12px;min-height:44px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;color:var(--line);background:var(--accent);border:1px solid var(--accent);border-radius:6px}.brand strong,.brand span{display:block}.brand strong{font-size:var(--text-lg);letter-spacing:0}.brand span{margin-top:2px;color:var(--nav-muted);font-size:var(--text-sm)}.nav{display:grid;gap:6px;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-color:var(--muted) transparent;scrollbar-width:thin;overscroll-behavior:contain}.nav::-webkit-scrollbar{width:.375rem}.nav::-webkit-scrollbar-track{background:transparent}.nav::-webkit-scrollbar-thumb{background:var(--muted);border-radius:999px}.nav-group{display:grid;gap:4px;margin:7px 0;padding:8px 0;border-top:1px solid var(--nav-line)}.nav-group-label{display:flex;align-items:center;min-height:40px;padding:0 10px;color:var(--nav-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--nav-muted);text-align:left;background:transparent;border:0;cursor:pointer}.nav-group-toggle svg{transition:transform .16s ease}.nav-group.collapsed .nav-group-toggle svg{transform:rotate(-90deg)}.nav-group-items{display:grid;gap:4px}.nav-group.collapsed .nav-group-items{display:none}.nav-group-toggle+.nav-group-items .nav-button{padding-left:1.25rem}.nav-button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;color:var(--nav-text);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;text-align:left;text-decoration:none}.nav-button svg{width:17px;height:17px}.nav-button.active,.nav-button:hover{color:var(--nav-active);background:var(--nav-soft);border-color:transparent}.nav-button.active{background:var(--accent-soft);font-weight:var(--weight-bold)}.nav-error{display:grid;gap:.375rem;padding:.625rem;color:var(--danger);font-size:var(--text-sm);border:1px solid var(--danger);border-radius:.375rem}.nav-error button{justify-self:start;padding:0;color:var(--danger);background:transparent;border:0;cursor:pointer}.rail-footer{display:grid;gap:.5rem;margin-top:auto;color:var(--nav-text);font-size:var(--text-sm)}.account-menu{position:relative}.account-trigger{display:grid;grid-template-columns:1.25rem minmax(0,1fr) 1rem;align-items:center;gap:.625rem;width:100%;min-height:3rem;padding:.375rem .625rem;color:var(--nav-text);text-align:left;background:var(--nav);border:1px solid var(--nav-line);border-radius:.375rem;cursor:pointer}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:var(--nav-soft);border-color:var(--nav-line)}.account-copy{min-width:0}.account-copy strong,.account-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-copy strong{color:var(--nav-text);font-size:var(--text-base)}.account-copy small{margin-top:.125rem;color:var(--nav-muted);font-size:var(--text-xs)}.account-popover{position:absolute;bottom:calc(100% + .5rem);left:0;z-index:30;display:grid;width:100%;min-width:12rem;padding:.375rem;background:var(--panel);border:1px solid var(--line);border-radius:.375rem;box-shadow:0 .75rem 2rem var(--shadow-strong)}.account-popover button{display:flex;align-items:center;gap:.625rem;min-height:2.375rem;padding:0 .625rem;color:var(--ink);text-align:left;background:transparent;border:0;border-radius:.25rem;cursor:pointer}.account-popover button:hover{background:var(--nav-text)}.account-popover .logout-item{color:var(--danger);border-top:1px solid var(--line);border-radius:0}.app.rail-collapsed>.rail{padding-right:.75rem;padding-left:.75rem}.app.rail-collapsed>.rail .brand-copy,.app.rail-collapsed>.rail .nav-button span,.app.rail-collapsed>.rail .nav-group-label,.app.rail-collapsed>.rail .account-copy,.app.rail-collapsed>.rail .account-chevron{display:none}.app.rail-collapsed>.rail .rail-header,.app.rail-collapsed>.rail .nav-button{justify-content:center}.app.rail-collapsed>.rail .rail-header{flex-direction:column}.app.rail-collapsed>.rail .nav-button{padding:0}.app.rail-collapsed>.rail .nav-group{border:0}.app.rail-collapsed>.rail .nav{width:calc(100% + .75rem);margin-right:-.75rem;padding-right:.75rem}.app.rail-collapsed>.rail .nav-group.collapsed .nav-group-items{display:grid}.app.rail-collapsed>.rail .account-trigger{display:grid;grid-template-columns:1fr;justify-items:center;padding:0}.app.rail-collapsed>.rail .account-popover{bottom:0;left:calc(100% + .75rem)}.preference-page{height:min-content;width:min(72rem,100%)}.source-dot{width:8px;height:8px;border-radius:999px;background:var(--warning)}.source-dot.api{background:var(--success)}.workspace{display:flex;flex-direction:column;min-width:0;min-height:0;height:100dvh;padding:22px;overflow:hidden}.toast-region{position:fixed;top:5rem;right:1rem;z-index:50;width:min(24rem,calc(100vw - 2rem));pointer-events:none}.toast{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.625rem;align-items:center;padding:.75rem;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-left:.25rem solid var(--accent);border-radius:.375rem;box-shadow:0 .625rem 1.75rem var(--shadow-strong);pointer-events:auto}.toast.error{border-left-color:var(--danger)}.toast button{display:grid;width:1.75rem;height:1.75rem;padding:0;place-items:center;color:var(--muted);background:transparent;border:0;cursor:pointer}.topbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:2.5rem;margin-bottom:.75rem}.workspace-body{flex:1 1 auto;min-height:0;overflow:hidden}.password-change-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:-.125rem 0 .75rem;padding:.625rem .75rem;color:var(--warning);background:var(--surface-soft);border:1px solid var(--warning-line);border-left:3px solid var(--warning);border-radius:.375rem}.password-change-banner div{display:grid;gap:.125rem}.password-change-banner strong{font-size:var(--text-base)}.password-change-banner span{font-size:var(--text-sm)}.password-change-banner button{min-height:2rem;padding:0 .75rem;color:var(--panel);background:var(--warning);border:0;border-radius:.25rem;font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap}.password-dialog{width:min(30rem,calc(100vw - 2rem))}.password-form{display:grid;gap:1rem}.password-form label{display:grid;gap:.375rem;color:var(--ink);font-size:var(--text-base);font-weight:var(--weight-semibold)}.password-form label small{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-regular)}.password-form input{min-height:2.5rem;padding:0 .625rem;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:.25rem}.password-policy{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem;color:var(--accent);background:var(--surface-soft);border-left:3px solid var(--accent)}.password-policy.required{color:var(--warning);background:var(--surface-soft);border-left-color:var(--warning)}.password-policy div{display:grid;gap:.25rem}.password-policy strong{font-size:var(--text-base)}.password-policy span{color:var(--muted);font-size:var(--text-sm)}.password-form-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.25rem}.password-form-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-width:6rem;min-height:2.25rem}.password-form .form-error{color:var(--danger);font-size:var(--text-sm)}.route-loading{display:grid;width:100%;height:100%;min-height:12rem;place-items:center;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:.375rem;font-size:var(--text-md)}.route-loading .async-state{height:100%}.topbar-actions{display:flex;align-items:center;gap:8px}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:var(--text-sm);text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:var(--text-title);font-weight:var(--weight-bold);letter-spacing:0}h2{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:0}.icon-button{display:grid;place-items:center;width:38px;height:38px;color:var(--ink);background:var(--button-background);border:1px solid var(--line);border-radius:6px;cursor:pointer}.language-button{min-width:42px;height:38px;color:var(--ink);background:var(--button-background);border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-bold)}.language-button:hover,.icon-button:hover{background:var(--surface-soft);border-color:var(--muted)}.metric-strip{display:grid;grid-template-columns:repeat(6,minmax(8.75rem,1fr));gap:10px;margin-bottom:0}.metric{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;row-gap:2px;min-height:68px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:6px;text-align:left}.metric.cyan .metric-icon{color:var(--accent);background:var(--accent-soft)}.metric.green .metric-icon{color:var(--success);background:var(--success-soft)}.metric.amber .metric-icon{color:var(--warning);background:var(--warning-soft)}.metric.red .metric-icon{color:var(--accent);background:var(--accent-soft)}.metric-icon{grid-row:1 / 3;display:grid;place-items:center;width:30px;height:30px;color:var(--muted);border-radius:50%}.metric span{color:var(--muted);font-size:var(--text-sm)}.metric strong{font-size:var(--text-heading);line-height:1}.split{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:stretch;min-height:0;height:100%}.dashboard-grid{display:grid;gap:14px;min-height:0;height:100%}.dashboard-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;min-height:0;height:100%}.panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden}.table-panel,.full-panel{min-height:0;height:100%}.table-scroll{flex:1 1 auto;min-height:0;overflow:auto;overflow-anchor:none;scrollbar-gutter:stable}.operation-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(22rem,34vw,34rem);gap:14px;min-height:0;height:100%}.panel-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 14px;border-bottom:1px solid var(--line)}.panel-header span{display:block;margin-top:2px;color:var(--muted);font-size:var(--text-sm)}.search{display:flex;align-items:center;gap:8px;width:min(280px,100%);height:34px;padding:0 9px;color:var(--muted);background:var(--surface-muted);border:1px solid var(--line);border-radius:6px}.search input{width:100%;min-width:0;color:var(--ink);background:transparent;border:0}.operation-filters{flex:0 0 auto;display:grid;grid-template-columns:minmax(12rem,2fr) repeat(4,minmax(7rem,1fr)) auto auto;align-items:end;gap:.5rem;padding:.625rem .875rem;overflow:visible;background:var(--surface-muted);border-bottom:1px solid var(--line)}.charger-operation-layout.detail-collapsed{grid-template-columns:minmax(0,1fr)}.charger-panel-actions{display:flex;align-items:center;gap:.5rem}.charger-detail-mobile-collapse{display:none}@media(max-width:48rem){.charger-operation-layout>.table-panel>.panel-header{flex-wrap:wrap}.charger-operation-layout>.table-panel>.panel-header>:first-child{flex:1 0 100%}.charger-panel-actions{flex-wrap:wrap}}.operation-filters .search{width:100%;min-width:0}.operation-filters.chargers{grid-template-columns:minmax(0,2fr) minmax(7rem,1fr) auto auto}.operation-filters.chargers .search{grid-column:auto}.charger-advanced-filters{grid-column:1 / -1;grid-row:2;min-width:0}.charger-advanced-filters>summary,.report-create-disclosure>summary{cursor:pointer;padding:.5rem;color:var(--accent-strong);font-weight:var(--weight-semibold);min-height:var(--button-height)}.charger-advanced-filters>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem;padding:.5rem 0}.charger-operation-layout>.table-panel{overflow:auto}.charger-operation-layout [data-testid=charger-scroll]{min-height:14rem}.operation-filters .expiry-filter-hint{grid-column:1 / -1;margin:0;font-size:.75rem;line-height:1.5}.charger-expiry-compact{display:none}@container operation-list (max-width: 56rem){.charger-expiry-compact{display:block}}.filter-field{display:grid;gap:.25rem;min-width:0}.operation-layout>.table-panel{container-name:operation-list;container-type:inline-size}@container operation-list (max-width: 72rem){.operation-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.operation-filters .search{grid-column:span 2}}@container operation-list (max-width: 42rem){.operation-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.operation-filters .search{grid-column:span 2}}@container operation-list (max-width: 30rem){.operation-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-filters .search{grid-column:1 / -1}.panel-header,.charger-panel-actions{flex-wrap:wrap}}.filter-field span{color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.filter-field input,.filter-field select{height:2.125rem;min-width:0;padding:0 .625rem;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:.3125rem}.sort-toggle{display:inline-flex;flex:0 0 auto;justify-self:start;width:max-content;height:2.125rem;border:1px solid var(--line);border-radius:.3125rem;overflow:hidden}.sort-toggle button,.filter-reset,.list-progress button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:0 .625rem;color:var(--muted);background:var(--button-background);border:0;cursor:pointer;white-space:nowrap}.sort-toggle button+button{border-left:1px solid var(--line)}.sort-toggle button.active{color:var(--panel);background:var(--primary)}.filter-reset{flex:0 0 auto;height:2.125rem;border:1px solid var(--line);border-radius:.3125rem}table{width:100%;border-collapse:collapse;font-size:var(--text-base)}th{height:34px;padding:0 14px;color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:left;text-transform:uppercase;background:var(--surface-muted);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.text-button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;color:var(--accent);background:transparent;border:1px solid var(--line);border-radius:5px;cursor:pointer;font-weight:var(--weight-semibold)}.text-button:hover{background:var(--surface-soft);border-color:var(--muted)}.list-progress{display:flex;align-items:center;justify-content:center;gap:.625rem;min-height:42px;color:var(--muted);font-size:var(--text-sm);border-top:1px solid var(--line)}.list-progress button{min-height:1.75rem;color:var(--danger);border:1px solid currentColor;border-radius:.3125rem}.list-empty{display:grid;min-height:10rem;place-items:center}.list-progress.failed{color:var(--danger)}td{height:52px;padding:0 14px;border-bottom:1px solid var(--surface-soft)}tbody tr{cursor:default}tbody tr:hover,tbody tr.selected{background:var(--surface-soft)}td strong,td span{display:block}td span{margin-top:2px;color:var(--muted);font-size:var(--text-sm)}.mono{font-family:inherit;font-size:var(--text-sm)}.applied-filter-summary{display:flex;grid-column:1 / -3;align-items:center;gap:.75rem;min-width:0;min-height:1.5rem;color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.applied-filter-summary>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.applied-filter-summary>span.active{color:var(--accent)}.list-filter-summary{grid-column:auto;flex:0 0 auto;min-height:2rem;padding:.25rem .875rem;background:var(--surface-muted);border-bottom:1px solid var(--line)}.resizable-table{min-width:var(--table-min-width);table-layout:fixed}.responsive-core-table td{overflow:hidden;overflow-wrap:anywhere}:is(#root,.modal-backdrop) button.charger-detail-link{min-height:2rem;max-width:100%;padding:.25rem .5rem;white-space:normal;text-align:left}:is(#root,.modal-backdrop) button.charger-detail-link:focus-visible{outline-offset:-2px}@media(pointer:coarse){:is(#root,.modal-backdrop) button.charger-detail-link{min-height:var(--touch-target-height)}}.responsive-core-table td>strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.resizable-table th{position:sticky}.resizable-header-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-resizer{position:absolute;top:0;right:-.5rem;z-index:3;width:1rem;height:100%;padding:0;background:transparent;border:0;cursor:col-resize;touch-action:none}.column-resizer:after{position:absolute;top:25%;bottom:25%;left:calc(50% - .5px);width:1px;content:"";background:var(--line-strong)}.column-resizer:hover:after,.column-resizer:focus-visible:after{width:2px;background:var(--accent)}tbody tr[aria-selected=true] td{background:var(--surface-soft)}.mobile-row-summary{display:none}.business-overview{display:flex;min-height:0;height:100%;flex-direction:column;gap:1rem;overflow:auto;padding:.125rem .125rem 1rem}.business-view-tabs{display:flex;flex:0 0 auto;gap:.25rem;border-bottom:1px solid var(--line)}.business-view-tabs button{min-height:2.35rem;padding:.45rem .85rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:var(--weight-semibold)}.business-view-tabs button.active{border-bottom-color:var(--accent);color:var(--ink)}.utilization-view{display:flex;min-height:0;flex:1;flex-direction:column;gap:.7rem}.utilization-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.utilization-kpi{display:flex;min-width:0;align-items:center;gap:.65rem;border:1px solid var(--line);background:var(--panel);padding:.75rem}.utilization-kpi>span{display:grid;width:2.15rem;height:2.15rem;flex:0 0 auto;place-items:center;background:var(--accent-soft);color:var(--accent)}.utilization-kpi svg{width:1.05rem}.utilization-kpi div{min-width:0}.utilization-kpi small,.utilization-kpi strong{display:block}.utilization-kpi small{color:var(--muted)}.utilization-kpi strong{margin-top:.18rem;font-size:var(--text-heading-sm);font-variant-numeric:tabular-nums}.utilization-variance-summary{grid-template-columns:repeat(3,minmax(7rem,1fr))}.utilization-variance-summary .utilization-kpi{align-items:flex-start;flex-direction:column;gap:.35rem;padding:.65rem}.utilization-variance-summary .utilization-kpi>span{width:1.8rem;height:1.8rem}.utilization-variance-summary .utilization-kpi small{line-height:1.25}.utilization-detail .business-note{margin:0;padding:.4rem .75rem;color:var(--muted);font-size:var(--text-sm);line-height:1.5;overflow-wrap:anywhere}.utilization-filter{display:flex;align-items:end;gap:.75rem;border:1px solid var(--line);background:var(--panel);padding:.6rem .75rem}.utilization-filter label{display:grid;gap:.25rem;min-width:9rem}.utilization-filter label span{color:var(--muted);font-size:var(--text-sm)}.utilization-filter select{min-height:2.15rem}.utilization-filter p{margin:0 0 .45rem;color:var(--muted);font-size:var(--text-sm)}.utilization-layout{display:grid;min-height:0;flex:1;grid-template-columns:minmax(34rem,1.35fr) minmax(22rem,.8fr);gap:.7rem}.utilization-stations,.utilization-detail{display:flex;min-height:0;flex-direction:column}.utilization-stations .table-scroll,.utilization-detail .table-scroll{min-height:0;flex:1;overflow:auto}.utilization-stations table{min-width:50rem}.utilization-detail table{min-width:32rem}.utilization-stations th,.utilization-detail th{position:sticky;top:0;z-index:1;background:var(--surface-muted)}.utilization-stations tbody tr{cursor:pointer}.utilization-stations tbody tr:hover,.utilization-stations tbody tr.selected{background:var(--accent-soft)}.utilization-stations td strong,.utilization-stations td small{display:block}.utilization-stations td small{margin-top:.15rem;color:var(--muted)}@media(max-width:72rem){.utilization-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.utilization-layout{grid-template-columns:minmax(0,1fr);overflow:auto}.utilization-stations,.utilization-detail{min-height:20rem}}@media(max-width:42rem){.utilization-view{overflow-y:auto}.utilization-view>.utilization-summary,.utilization-filter{flex-shrink:0}.utilization-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.utilization-layout{flex:0 0 auto;overflow:visible}.utilization-stations{height:24rem}.utilization-detail .table-scroll{flex:0 0 auto;max-height:20rem}.utilization-variance-summary{grid-template-columns:repeat(3,minmax(7rem,1fr));overflow-x:auto}.utilization-filter{align-items:stretch;flex-direction:column}.utilization-filter p{margin:0}}.business-toolbar{display:flex;align-items:center;gap:.75rem;min-height:3.5rem;padding:.625rem .75rem;border:1px solid var(--line);background:var(--panel)}.business-toolbar>div:first-child{margin-right:auto}.business-toolbar strong,.business-toolbar span{display:block}.business-toolbar>div:first-child span{margin-top:.2rem;color:var(--muted);font-size:var(--text-sm)}.electricity-cost-view{min-height:0;overflow:auto}.electricity-monthly-cost table{min-width:72rem}.electricity-monthly-cost th{white-space:nowrap}.electricity-monthly-cost td:first-child{min-width:12rem}.electricity-monthly-cost td:nth-child(2){min-width:14rem}.electricity-monthly-cost td small{display:block;margin-top:.25rem;color:var(--muted);line-height:1.5}.electricity-cost-view .business-toolbar{align-items:flex-end;flex-wrap:wrap}.electricity-cost-view .business-toolbar>div:first-child{display:flex;min-width:18rem;flex:1 1 24rem;align-items:flex-start;gap:.6rem}.electricity-cost-view .business-toolbar h2,.electricity-cost-view .business-toolbar p{margin:0}.electricity-cost-view .business-toolbar p{margin-top:.2rem;color:var(--muted);font-size:var(--text-sm)}.electricity-cost-view .business-toolbar label{display:grid;gap:.25rem}.electricity-cost-view .business-toolbar label span{color:var(--muted);font-size:var(--text-sm)}.electricity-cost-view .business-toolbar select,.electricity-cost-view .business-toolbar input{min-width:9rem;height:2.375rem;padding:0 .625rem;border:1px solid var(--line-strong);border-radius:.375rem;background:var(--panel)}.electricity-cost-view .business-toolbar .panel-action{min-height:2.375rem;white-space:nowrap}.electricity-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.electricity-form{height:auto}.electricity-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}fieldset.electricity-form-grid{margin:0;min-width:0;border:0}.electricity-contract-list table{min-width:64rem;table-layout:auto}.electricity-contract-list th,.electricity-contract-list td{white-space:nowrap;word-break:normal}.electricity-contract-list small{display:block;color:var(--muted)}.electricity-contract-list .panel-actions{display:flex;gap:.375rem}.electricity-rate-grid{padding:0 1rem 1rem;border-top:1px solid var(--line)}.electricity-rate-grid .connector-spec-header{padding-top:.875rem}.electricity-rate-grid .connector-spec-row{grid-template-columns:repeat(3,minmax(7rem,1fr));align-items:end;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.electricity-rate-grid label{display:grid;min-width:0;gap:.375rem}.electricity-rate-grid label span{color:var(--muted);font-size:var(--text-sm)}.electricity-rate-grid input,.electricity-rate-grid select{min-width:0;width:100%;height:2.375rem;padding:0 .625rem;border:1px solid var(--line-strong);border-radius:.375rem;background:var(--panel)}.electricity-rate-grid .connector-spec-row>.icon-button{justify-self:end}@media(max-width:75rem){.electricity-admin-grid{grid-template-columns:1fr}}@media(max-width:42rem){.electricity-form-grid,.electricity-rate-grid .connector-spec-row{grid-template-columns:1fr}}.business-period-control{display:flex;border:1px solid var(--line)}.business-period-control button{min-height:2.25rem;padding:0 .75rem;border:0;border-right:1px solid var(--line);background:var(--button-background);color:var(--text-secondary)}.business-period-control button:last-child{border-right:0}.business-period-control button.active{background:var(--accent);color:var(--panel)}.business-custom-range{display:flex;align-items:center;gap:.4rem}.business-custom-range input{min-height:2.25rem;border:1px solid var(--line);padding:0 .5rem}.business-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.business-kpi{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:.25rem .75rem;min-width:0;padding:1rem;border:1px solid var(--line);background:var(--panel)}.business-kpi-icon{grid-row:1 / span 3;display:grid;width:2.25rem;height:2.25rem;place-items:center;background:var(--accent-soft);color:var(--accent)}.business-kpi-icon svg{width:1.1rem}.business-kpi>span{color:var(--muted);font-size:var(--text-sm)}.business-kpi>strong{overflow-wrap:anywhere;font-size:var(--text-metric);font-variant-numeric:tabular-nums}.business-kpi>strong small{margin-left:.3rem;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.business-kpi>p{margin:0;color:var(--muted);font-size:var(--text-sm)}.business-kpi.warning{border-color:var(--warning)}.business-content-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(17rem,1fr));gap:.75rem;min-height:20rem}.business-panel{display:flex;min-width:0;min-height:0;flex-direction:column;border:1px solid var(--line);background:var(--panel)}.business-panel>header{padding:.85rem 1rem;border-bottom:1px solid var(--line)}.business-panel h2{margin:0;font-size:var(--text-lg)}.business-panel header p{margin:.2rem 0 0;color:var(--muted);font-size:var(--text-sm)}.business-trend-list,.business-ranking-list{min-height:0;overflow:auto;padding:.5rem .75rem}.business-trend-row{display:grid;grid-template-columns:3.5rem minmax(4rem,1fr) 6.5rem 4rem;align-items:center;gap:.75rem;min-height:2.45rem;font-size:var(--text-sm)}.business-trend-row strong,.business-trend-row>span{text-align:right;font-variant-numeric:tabular-nums}.business-bar-track{height:.4rem;overflow:hidden;background:var(--surface-muted)}.business-bar-track>span{display:block;height:100%;background:var(--accent)}.business-ranking-row{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;gap:.75rem;align-items:center;min-height:4rem;border-bottom:1px solid var(--line)}.business-ranking-row:last-child{border-bottom:0}.business-ranking-row>b{color:var(--accent);font-size:var(--text-md);text-align:center}.business-ranking-row>div{min-width:0}.business-ranking-row>div>strong,.business-ranking-row>div>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-ranking-row>div>span{margin-top:.15rem;color:var(--muted);font-size:var(--text-xs)}.business-ranking-row>div:last-child{text-align:right}.business-ranking-row .business-bar-track{margin-top:.45rem}.business-state,.business-empty{display:grid;min-height:12rem;place-items:center;align-content:center;gap:.65rem;color:var(--muted);text-align:center}.business-state{flex:1;border:1px solid var(--line);background:var(--panel)}.business-state button{display:inline-flex;align-items:center;gap:.4rem;min-height:2.25rem;padding:0 .75rem;border:1px solid var(--line);background:var(--button-background)}@media(max-width:75rem){.business-kpi-grid,.business-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-trend-panel{grid-column:1 / -1;min-height:18rem}}@media(max-width:48rem){.business-toolbar{align-items:stretch;flex-wrap:wrap}.business-toolbar>div:first-child{width:100%}.business-period-control{width:100%;overflow-x:auto}.business-period-control button{flex:1 0 auto}.business-custom-range{width:100%}.business-custom-range input{min-width:0;flex:1}.business-kpi-grid,.business-content-grid{grid-template-columns:1fr}.business-trend-panel{grid-column:auto}.business-trend-row{grid-template-columns:3.25rem minmax(3rem,1fr) 5.5rem}.business-trend-row>span{display:none}}.charger-profile-tabs{display:flex;gap:.25rem;margin:.65rem 0;border-bottom:1px solid var(--line)}.charger-profile-tabs button{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .7rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted)}.charger-profile-tabs button.active{border-bottom-color:var(--accent);color:var(--ink);font-weight:var(--weight-semibold)}.charger-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.charger-profile-fields label span{display:block;margin-bottom:.25rem;color:var(--muted);font-size:var(--text-sm)}.charger-profile-fields input{width:100%}.charger-asset-profile form footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem}.charger-asset-profile form footer span{color:var(--muted);font-size:var(--text-sm)}.charger-asset-profile form footer button{display:inline-flex;align-items:center;gap:.35rem}.charger-asset-profile form footer{position:sticky;bottom:0;flex-wrap:wrap;padding:.75rem 0;background:var(--panel);z-index:1}.charger-asset-profile form footer span{flex:1 1 12rem;overflow-wrap:anywhere}.charger-asset-profile form footer button{min-height:2.5rem;padding:.5rem .875rem}@media(max-width:42rem){.charger-profile-fields{grid-template-columns:1fr}}.business-ranking-row{width:100%;border:0;background:transparent;color:inherit;text-align:left}.business-ranking-row:hover{background:var(--surface-soft)}.business-performance-detail{margin-top:.75rem;min-height:0}.business-performance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-block:1px solid var(--line)}.business-performance-summary span{padding:.7rem;background:var(--panel);color:var(--muted);font-size:var(--text-sm)}.business-performance-summary strong{display:block;margin-top:.2rem;color:var(--ink);font-size:var(--text-lg)}@media(max-width:52rem){.business-performance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-exception-panel{margin-top:.75rem}.dashboard-exception-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-right:1rem;border-bottom:1px solid var(--line)}.dashboard-exception-heading>header{border-bottom:0}.dashboard-exception-heading>.muted{font-size:var(--text-sm);flex-shrink:0}.dashboard-exception-list{max-height:14rem;overflow:auto}.dashboard-exception-list>button{display:grid;grid-template-columns:8rem minmax(8rem,.8fr) minmax(10rem,1fr) auto;align-items:center;gap:.75rem;width:100%;min-height:3.5rem;padding:.75rem 1rem;border:0;border-bottom:1px solid var(--line);background:var(--panel);color:var(--ink);text-align:left}.dashboard-exception-list>button>*{min-width:0;overflow-wrap:anywhere}.dashboard-exception-list>button:hover{background:var(--surface-soft)}.dashboard-exception-list time{color:var(--muted);font-size:var(--text-sm)}.exception-priority{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.exception-priority.p1{color:var(--danger)}.exception-priority.p2{color:var(--warning)}@media(max-width:48rem){.dashboard-exception-list>button{grid-template-columns:minmax(0,1fr) auto}.dashboard-exception-list>button>strong{grid-column:1;grid-row:1}.dashboard-exception-list>button>.exception-priority{grid-column:2;grid-row:1}.dashboard-exception-list>button>span:not(.exception-priority),.dashboard-exception-list>button time{grid-column:1 / -1}}.tariff-management-shell{min-height:0;display:flex;flex-direction:column;gap:.65rem}.workspace-body:has(>.tariff-management-shell,>.electricity-cost-view){overflow-y:auto}.tariff-management-panel{min-height:0;flex:1}.tariff-management-panel[hidden]{display:none}.tariff-station-list table{width:100%;table-layout:fixed}.tariff-station-list td{height:auto;padding:.9rem 1rem;vertical-align:top;white-space:normal;overflow-wrap:anywhere}.tariff-station-list .operation-filters{grid-template-columns:minmax(0,1fr) minmax(10rem,.6fr) auto;align-items:end;gap:.75rem}.tariff-station-list .operation-filters label{display:grid;min-width:0;gap:.35rem}.tariff-station-list .operation-filters input{width:100%}.tariff-station-list td>small,.tariff-rate-summary>small{display:block;margin-top:.35rem;color:var(--muted);line-height:1.6}.tariff-rate-summary{display:grid;gap:.35rem}.tariff-rate-summary>strong{font-size:var(--text-lg)}.tariff-rate-summary>strong small{font-size:var(--text-sm);font-weight:400;color:var(--muted)}.tariff-rate-empty{color:var(--muted)}@media(max-width:48rem){.tariff-station-list .operation-filters{grid-template-columns:minmax(0,1fr)}.tariff-station-list table,.tariff-station-list tbody{display:block;min-width:0}.tariff-station-list thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.tariff-station-list tbody tr{display:grid;gap:.75rem;padding:1rem;border-bottom:1px solid var(--line)}.tariff-station-list tbody td{display:block;min-width:0;padding:0;border:0}.tariff-station-list tbody td:before{content:attr(data-label);display:block;margin-bottom:.35rem;color:var(--muted);font-size:var(--text-sm)}}.tariff-template-layout{min-height:0;display:grid;grid-template-columns:minmax(18rem,.75fr) minmax(20rem,1fr);grid-template-rows:minmax(20rem,auto) minmax(12rem,1fr);gap:.75rem;overflow:hidden}.tariff-template-editor,.tariff-template-application{min-height:0;overflow:auto;padding:.85rem}.tariff-template-editor form,.tariff-template-application{display:flex;flex-direction:column;gap:.65rem}.tariff-template-editor .panel-header,.tariff-template-application .panel-header{margin:-.15rem -.15rem .2rem}.tariff-template-editor h2{display:flex;align-items:center;gap:.45rem}.tariff-template-editor label span,.tariff-template-application label span{display:block;margin-bottom:.25rem;color:var(--muted);font-size:var(--text-sm)}.tariff-template-editor input,.tariff-template-application input,.tariff-template-application select,.tariff-template-application textarea{width:100%}.tariff-template-list{margin-top:.75rem;border-top:1px solid var(--line)}.tariff-template-list button{display:flex;justify-content:space-between;width:100%;padding:.7rem .25rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left}.tariff-template-list button.active{color:var(--accent);font-weight:var(--weight-semibold)}.tariff-template-actions{display:flex;justify-content:flex-end;gap:.5rem}.tariff-comparison{grid-column:1 / -1;min-height:0}.tariff-comparison td small{display:block;margin-top:.2rem;color:var(--muted)}@media(max-width:62rem){.tariff-template-layout{display:flex;flex-direction:column;overflow:auto}.tariff-comparison{min-height:16rem}}@media(max-width:62rem){.workspace-body .tariff-template-layout>.panel{align-self:stretch}}.firmware-version-compare{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:.55rem;margin-bottom:.55rem}.firmware-version-compare span{padding:.45rem .55rem;border:1px solid var(--line);background:var(--surface-muted)}.firmware-version-compare small,.firmware-version-compare strong{display:block}.firmware-version-compare small{color:var(--muted);font-size:var(--text-xs)}.firmware-version-compare em{color:var(--warning);font-size:var(--text-sm);font-style:normal;font-weight:var(--weight-semibold)}.firmware-version-compare em.matched{color:var(--success)}.tariff-template-layout input,.tariff-template-layout select,.tariff-template-layout textarea{min-height:2.5rem;padding:.5rem .625rem;border:1px solid var(--line-strong);border-radius:.375rem;background:var(--panel);color:var(--ink);font:inherit}.tariff-template-layout input:focus,.tariff-template-layout select:focus,.tariff-template-layout textarea:focus{border-color:var(--accent);outline:2px solid var(--line)}.tariff-template-layout button:not(.icon-button){display:inline-flex;min-height:2.35rem;align-items:center;justify-content:center;gap:.35rem;padding:0 .75rem;border:1px solid var(--primary);border-radius:.35rem;background:var(--primary);color:var(--on-primary);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.tariff-template-layout button.secondary-button{border-color:var(--line-strong);background:var(--button-background);color:var(--ink)}.tariff-template-list button:not(.icon-button){justify-content:space-between;padding:.7rem .25rem;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:inherit}.tariff-template-list button.active:not(.icon-button){color:var(--accent)}.regional-overview{display:flex;height:100%;min-height:0;flex-direction:column;gap:.75rem}.regional-summary-bar{display:flex;min-height:3.75rem;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .85rem;border:1px solid var(--line);background:var(--panel)}.regional-heading{display:flex;min-width:0;align-items:center;gap:.7rem;color:var(--accent)}.regional-heading>div{min-width:0}.regional-heading strong,.regional-heading span{display:block}.regional-heading strong{color:var(--ink);font-size:var(--text-lg)}.regional-heading span{margin-top:.2rem;overflow:hidden;color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.regional-table-panel{position:relative;display:flex;min-height:0;flex:1;flex-direction:column;border:1px solid var(--line);background:var(--panel)}.regional-table-scroll{min-height:0;flex:1;overflow:auto}.regional-table{min-width:74rem}.regional-table th{position:sticky;top:0;z-index:1;background:var(--surface-muted);white-space:nowrap}.regional-table td{height:3.5rem;font-variant-numeric:tabular-nums;white-space:nowrap}.regional-table tbody tr{cursor:pointer}.regional-table tbody tr:hover{background:var(--accent-soft)}.regional-table td:first-child strong,.regional-table td:first-child small{display:block}.regional-table td:first-child small{margin-top:.2rem;color:var(--warning);font-size:var(--text-xs)}.regional-table tr.unknown{cursor:default}.regional-table .fault-value{color:var(--danger);font-weight:var(--weight-semibold)}.regional-state{position:absolute;inset:3rem 0 0;display:grid;place-items:center;align-content:center;gap:.65rem;background:color-mix(in srgb,var(--panel) 94%,transparent);color:var(--muted);text-align:center}.regional-state button{display:inline-flex;min-height:2.25rem;align-items:center;gap:.4rem;padding:0 .75rem;border:1px solid var(--line);background:var(--button-background)}@media(max-width:48rem){.regional-summary-bar{align-items:flex-start}.regional-heading span{white-space:normal}}.date-time{white-space:nowrap}.status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;color:var(--text-secondary);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.status.available,.status.online,.status.sent,.status.accepted,.status.completed{color:var(--success);background:var(--surface-soft);border-color:var(--line-strong)}.status.charging,.status.active,.status.requested{color:var(--accent);background:var(--surface-soft);border-color:var(--line-strong)}.status.faulted,.status.failed,.status.rejected{color:var(--danger);background:var(--surface-soft);border-color:var(--danger-soft)}.status.offline,.status.timeout{color:var(--warning);background:var(--surface-soft);border-color:var(--warning-line)}.detail-panel{padding:16px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.mini-table{flex:0 0 auto;min-width:0;margin-top:1.25rem;overflow-x:auto;border:1px solid var(--line);border-radius:.375rem;scrollbar-width:thin}.mini-table h3{position:sticky;left:0;margin:0;padding:.75rem;font-size:var(--text-md);background:var(--panel);border-bottom:1px solid var(--line)}.mini-table table{min-width:25rem}.mini-table th,.mini-table td{padding-right:.625rem;padding-left:.625rem}.detail-title{display:flex;align-items:flex-start;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--line)}.detail-title svg{color:var(--accent)}.detail-title span{display:block;margin-top:3px;color:var(--muted);font-size:var(--text-sm)}.charger-detail-section{min-width:0;padding:1rem 0;border-bottom:1px solid var(--line)}.charger-detail-section>header{display:flex;align-items:center;gap:.5rem;min-height:1.75rem;margin-bottom:.75rem}.charger-detail-section>header svg{flex:0 0 auto;color:var(--accent)}.charger-detail-section>header h3{flex:1 1 auto;min-width:0;margin:0;font-size:var(--text-md)}.charger-credential-panel>header{flex-wrap:wrap}.credential-policy{padding:.2rem .45rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.credential-policy.per_charger{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.credential-state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.credential-state-card{display:flex;min-width:0;min-height:6.25rem;flex-direction:column;gap:.35rem;padding:.75rem;border:1px solid var(--line);border-radius:.375rem;background:var(--surface-muted)}.credential-state-card>span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.credential-state-card>strong{overflow-wrap:anywhere;font-size:var(--text-base)}.credential-state-card>small{color:var(--muted);font-size:var(--text-xs)}.credential-state-card>em{width:fit-content;margin-top:auto;padding:.16rem .38rem;border-radius:999px;font-size:var(--text-xs);font-style:normal;font-weight:var(--weight-bold)}.credential-state-card>em.observed,.projection-status.synced{color:var(--success)}.credential-state-card>em.waiting,.projection-status.out_of_sync{color:var(--warning)}.projection-status.unavailable{color:var(--danger)}.credential-guidance{margin:.65rem 0 0;padding:.55rem .65rem;border-left:3px solid var(--warning);background:var(--surface-soft);color:var(--warning);font-size:var(--text-sm);line-height:1.45}.credential-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}.credential-actions>button{display:inline-flex;min-height:2.25rem;align-items:center;justify-content:center;gap:.35rem}.credential-actions>button:not(.secondary-button){border:1px solid var(--primary);border-radius:.3rem;background:var(--primary);color:var(--on-primary);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer}.credential-actions>button:disabled{cursor:not-allowed;opacity:.52}.credential-actions .credential-discard{color:var(--danger)}.credential-feedback{display:block;min-height:1.1rem;margin-top:.5rem;color:var(--muted);font-size:var(--text-sm)}.credential-secret-modal{width:min(42rem,calc(100vw - 2rem))}.credential-secret-warning{display:flex;gap:.65rem;padding:.75rem;border:1px solid var(--warning);background:var(--line)}.credential-secret-warning svg{flex:0 0 auto;color:var(--warning)}.credential-secret-warning strong,.credential-secret-warning p{display:block;margin:0}.credential-secret-warning p{margin-top:.25rem;color:var(--warning);font-size:var(--text-sm);line-height:1.45}.credential-secret-value{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;margin-top:.75rem}.credential-secret-value>span{grid-column:1 / -1;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.credential-secret-value code{min-width:0;overflow-wrap:anywhere;padding:.65rem;border:1px solid var(--line);background:var(--surface-muted);font-size:var(--text-base);-webkit-user-select:all;user-select:all}.credential-secret-note{color:var(--muted);font-size:var(--text-sm);line-height:1.45}@media(max-width:48rem){.credential-state-grid{grid-template-columns:1fr}.credential-actions>button{flex:1 1 100%;width:100%}.credential-secret-value{grid-template-columns:1fr}}.charger-current-metrics{display:grid;grid-template-columns:repeat(3,minmax(7.5rem,1fr));gap:.5rem}.charger-workspace-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.charger-workspace-links button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;flex:0 1 auto;min-height:var(--touch-target-height)}.meter-history-disclosure{--button-height: var(--touch-target-height);min-width:0;margin-block:1rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.meter-history-disclosure>.meter-history-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;margin:0}.meter-history-heading h3{display:flex;align-items:center;gap:.5rem;min-width:0;margin:0;font-size:var(--text-base)}.meter-history-heading h3 svg{flex-shrink:0;color:var(--accent)}.meter-history-heading-copy{min-width:0}.meter-history-heading-copy p{margin:.3rem 0 0 1.5625rem;color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere}.meter-history-heading>button{flex-shrink:0}.meter-history-disclosure button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--button-height);padding:.5rem .875rem;border-radius:6px}.meter-history-disclosure button.secondary-button{color:var(--text-secondary)}.transaction-meter-history>.feedback-message{padding:.625rem .75rem;margin-block:.75rem;border-radius:6px;font-size:var(--text-sm)}.transaction-meter-history>.feedback-message.success{color:var(--success);background:color-mix(in srgb,var(--success) 7%,var(--panel))}.meter-history-content{min-width:0;border-top:1px solid var(--line);padding:1rem}.meter-history-selector{display:grid;gap:.4rem;margin:0;min-width:0}.meter-history-selector select{width:100%;min-width:0}.meter-history-note{color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere}.meter-history-content>.async-state.compact,.transaction-meter-history>.async-state.compact,.charger-current-session>.async-state.compact{grid-template-columns:auto minmax(0,1fr);min-height:0;align-items:center;justify-items:start;padding:.875rem;text-align:left;background:var(--surface-muted);border-radius:6px}.meter-history-content>.async-state.compact>button,.transaction-meter-history>.async-state.compact>button{grid-column:2;margin:0}.meter-history-content .async-state-icon,.transaction-meter-history .async-state-icon,.charger-current-session>.async-state .async-state-icon{width:2rem;height:2rem}.meter-history-content .async-state-icon svg,.transaction-meter-history .async-state-icon svg,.charger-current-session>.async-state .async-state-icon svg{width:1rem;height:1rem}.transaction-meter-history{min-width:0}.meter-history-table{max-height:clamp(12rem,35dvh,20rem);margin-block:.75rem;overflow:auto;overflow-anchor:none;border:1px solid var(--line);border-radius:6px}.meter-history-table table{table-layout:fixed;width:34rem;min-width:100%}.meter-history-table th:nth-child(1){width:10rem}.meter-history-table th:nth-child(2){width:7rem}.meter-history-table th:nth-child(3){width:8rem}.meter-history-table th:nth-child(4){width:9rem}.meter-history-table :is(th,td){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meter-history-table tbody tr:not(.virtual-spacer-row){height:48px}.meter-history-table tbody tr:not(.virtual-spacer-row) td{height:48px}.meter-history-table th{position:sticky;top:0;background:var(--panel);z-index:1}.meter-history-table td:nth-child(3),.meter-history-table th:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}.meter-history-scroll-hint{margin:.75rem 0 .375rem;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.meter-history-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-block:0 .75rem}.meter-history-count{display:grid;gap:.25rem}.meter-history-count strong{font-size:var(--text-base);font-variant-numeric:tabular-nums}.meter-history-count span,.meter-history-guidance{color:var(--muted);font-size:var(--text-sm)}.meter-history-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.meter-history-guidance{padding:.625rem 0;line-height:1.5;overflow-wrap:anywhere}.meter-history-guidance p{margin:0}.meter-history-pagination{display:flex;justify-content:center;padding-block:.25rem}.meter-history-pagination button{min-width:12rem}@media(max-width:600px){.charger-workspace-links button{flex:1 1 9rem}.meter-history-disclosure>.meter-history-heading{padding:.625rem .75rem}.meter-history-content{padding:.75rem}.meter-history-actions{width:100%}.meter-history-actions button{flex:1}.meter-history-pagination button{width:100%}.compact-meter-table table{width:100%;min-width:0}.compact-meter-table th:nth-child(1){width:32%}.compact-meter-table th:nth-child(2){width:34%}.compact-meter-table th:nth-child(3){width:34%}.compact-meter-table :is(th,td){padding:.375rem .5rem;font-size:var(--text-sm)}.compact-meter-table td{line-height:1.25}.compact-meter-table td:first-child{white-space:normal;line-height:1.4}.compact-meter-table td:nth-child(2)>:is(span,small){display:block;overflow:hidden;text-overflow:ellipsis}.compact-meter-table td small{margin-top:.125rem;color:var(--muted);font-size:var(--text-xs)}}.charger-current-metrics>div{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.15rem .4rem;min-width:0;padding:.7rem;background:var(--surface-muted);border:1px solid var(--line);border-radius:.375rem}.charger-current-metrics svg{grid-row:1 / 3;margin-top:.15rem;color:var(--accent)}.charger-current-metrics span{color:var(--muted);font-size:var(--text-xs)}.charger-current-metrics strong{min-width:0;overflow-wrap:anywhere;font-size:var(--text-md);line-height:1.35}.charger-session-meta{display:flex;flex-wrap:wrap;gap:.3rem .75rem;margin-top:.6rem;color:var(--muted);font-size:var(--text-sm)}.charger-current-metrics>.charger-estimate{grid-column:span 2}.charger-estimate>small{grid-column:2;display:flex;flex-wrap:wrap;gap:.25rem .6rem;color:var(--muted)}.charger-estimate>small b{color:var(--ink);font-weight:var(--weight-semibold)}@media(max-width:48rem){.charger-current-metrics>.charger-estimate{grid-column:1 / -1}}.charger-current-metrics>.charging-power-metric{grid-column:1 / -1}.charging-power-metric small{grid-column:2;color:var(--muted);font-size:var(--text-xs);line-height:1.5;overflow-wrap:anywhere}.charger-detail-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:0 1.25rem}.charger-detail-grid{display:grid;gap:.55rem;margin:0}.charger-detail-grid>div{display:grid;grid-template-columns:minmax(5.75rem,.7fr) minmax(0,1.3fr);gap:.75rem;align-items:start}.charger-detail-grid dd{min-width:0;text-align:right;overflow-wrap:anywhere}.connector-status-list{display:grid;gap:.4rem;margin-top:.75rem;padding-top:.65rem;border-top:1px dashed var(--line)}.connector-status-list>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:var(--text-sm)}.firmware-rollout-summary{display:grid;gap:.2rem;margin-top:.75rem;padding-top:.65rem;border-top:1px dashed var(--line)}.firmware-rollout-summary strong{font-size:var(--text-base)}.firmware-rollout-summary span{color:var(--muted);font-size:var(--text-sm)}.fault-count{min-width:1.25rem;padding:.1rem .35rem;color:var(--muted);font-size:var(--text-xs);text-align:center;background:var(--surface-soft);border-radius:999px}.fault-count.active{color:var(--danger);background:var(--surface-soft)}.charger-fault-list{display:grid;gap:.4rem}.charger-fault-list>button{display:grid;grid-template-columns:minmax(7rem,1fr) auto;gap:.2rem .75rem;min-width:0;padding:.55rem 0;border-top:1px solid var(--line)}.charger-fault-list>button:first-child{border-top:0}.charger-fault-list>button{width:100%;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.async-state{display:grid;width:100%;min-height:11rem;padding:1.5rem;place-items:center;align-content:center;gap:.625rem;color:var(--muted);text-align:center}.async-state.compact{min-height:6rem;padding:1rem}.async-state.error{color:var(--danger);background:var(--surface-muted)}.async-state-icon{display:grid;width:2.25rem;height:2.25rem;place-items:center;color:var(--muted);background:var(--surface-soft);border-radius:50%}.async-state.error .async-state-icon{color:var(--danger);background:var(--surface-soft)}.async-state strong{color:var(--ink);font-size:var(--text-base);line-height:1.45;overflow-wrap:anywhere}.async-state.error strong{color:var(--danger)}.async-state p{max-width:30rem;margin:.25rem 0 0;font-size:var(--text-sm);line-height:1.5}.async-state>button,.async-state-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2rem;margin-top:.25rem}.async-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.table-loading-skeleton{display:grid;gap:1px;min-height:10rem;background:var(--line);overflow:hidden}.table-loading-skeleton>div{display:grid;grid-template-columns:1.2fr .9fr .7fr;align-items:center;gap:1.5rem;min-height:3.25rem;padding:0 1rem;background:var(--panel)}.table-loading-skeleton span{height:.625rem;background:var(--line);border-radius:.125rem;animation:skeleton-pulse 1.2s ease-in-out infinite alternate}.table-loading-skeleton span:nth-child(2){width:72%}.table-loading-skeleton span:nth-child(3){width:48%;justify-self:end}@keyframes skeleton-pulse{0%{opacity:.48}to{opacity:1}}@media(prefers-reduced-motion:reduce){.table-loading-skeleton span{animation:none}}.charger-fault-list>button:hover,.charger-fault-list>button:focus-visible{background:var(--surface-soft)}.charger-fault-list strong{min-width:0;overflow-wrap:anywhere;font-size:var(--text-base)}.charger-fault-list span,.charger-fault-list time,.charger-detail-empty{color:var(--muted);font-size:var(--text-sm)}.charger-fault-list time{grid-row:1 / 3;grid-column:2;white-space:nowrap}.sort-toggle button{width:2.125rem;padding:0}.charger-detail-empty{display:block;padding:.75rem;text-align:left;background:var(--surface-muted);border-radius:6px}@media(max-width:48rem){.charger-current-metrics{grid-template-columns:1fr}.charger-fault-list>button{grid-template-columns:1fr}.charger-fault-list time{grid-row:auto;grid-column:auto}}.detail-list{display:grid;gap:11px;margin:16px 0}.detail-list div{display:flex;align-items:center;justify-content:space-between;gap:12px}dt{color:var(--muted);font-size:var(--text-sm)}dd{margin:0;font-size:var(--text-base);font-weight:var(--weight-semibold)}.action-log{display:grid;gap:3px;margin-top:14px;padding:10px;background:var(--surface-muted);border:1px solid var(--line);border-radius:6px}.action-log span{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase}.action-log strong{font-size:var(--text-sm)}.action-log button,.operation-feedback button,.command-result button,.system-status-error button{display:inline-flex;align-items:center;justify-content:center;justify-self:start;gap:.375rem;min-height:2rem;padding:0 .625rem;color:var(--ink);background:var(--button-background);border:1px solid var(--line-strong);border-radius:.3125rem;cursor:pointer}.action-log.done{border-color:var(--success-line)}.action-log.failed{border-color:var(--danger-line)}.panel-action{display:inline-flex;align-items:center;gap:.375rem;min-height:2.25rem;padding:0 .75rem;color:var(--on-primary);background:var(--primary);border:1px solid var(--primary);border-radius:.375rem;cursor:pointer}.charger-operations{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.charger-operations-header{display:flex;align-items:center;justify-content:space-between}.charger-operations-header h3{margin:0;font-size:var(--text-md)}.charger-operations-header span{color:var(--muted);font-size:var(--text-sm)}.charger-operation-grid,.charger-operation-group{display:grid;gap:8px}.charger-operation-group{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;background:var(--surface-muted);border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.metric:hover{border-color:var(--line-strong);box-shadow:0 .25rem .75rem var(--shadow-light);transform:translateY(-1px)}.metric:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.charger-operation-group label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:var(--text-xs)}.charger-operation-group label.wide{grid-column:1 / -1}.charger-operation-group>.wide{grid-column:1 / -1}.charger-operation-group input,.charger-operation-group select{width:100%;min-width:0;min-height:34px;padding:0 8px;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:5px}.charger-operation-group button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;color:var(--ink);background:var(--button-background);border:1px solid var(--line-strong);border-radius:5px;cursor:pointer}.charger-operation-group button.danger-subtle{color:var(--danger)}.charger-operation-group button:disabled{cursor:not-allowed;opacity:.5}.operation-feedback{display:grid;gap:4px;margin:0;padding:9px;font-size:var(--text-sm);border:1px solid var(--line);border-radius:5px}.operation-feedback.success{border-color:var(--success-line)}.operation-feedback.pending,.command-result.pending{border-color:var(--muted);background:var(--surface-soft)}.operation-feedback.error{color:var(--danger);border-color:var(--danger-line)}.operation-feedback.muted{color:var(--muted)}.operation-feedback pre{max-height:12rem;margin:4px 0 0;overflow:auto;white-space:pre-wrap;word-break:break-word}.charger-connection-notice{display:flex;align-items:flex-start;gap:.625rem;margin-top:.75rem;padding:.75rem;color:var(--danger);background:var(--surface-muted);border:1px solid var(--danger-line);border-radius:.375rem}.charger-connection-notice div{display:grid;gap:.1875rem}.charger-connection-notice.unobserved{color:var(--muted);border-color:var(--line)}.charger-meter-notice{color:var(--text-secondary);margin-block:.75rem;overflow-wrap:anywhere}.charger-meter-notice>svg{flex-shrink:0;margin-top:.125rem}.charger-meter-notice>div{min-width:0}.dashboard-preview-note{margin:.5rem 1rem;color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere}.charger-connection-notice span{color:var(--muted);font-size:var(--text-sm)}.command-result{display:grid;gap:.375rem;padding:.625rem;border:1px solid var(--line);border-radius:.3125rem}.command-result.success{border-color:var(--success-line);background:var(--surface-soft)}.command-result.error{color:var(--danger);border-color:var(--danger-line);background:var(--surface-muted)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.simulator{min-height:0;height:100%}.simulator-scroll{flex:1 1 auto;min-height:0;overflow:auto}.test-view-tabs{flex:0 0 auto;display:flex;gap:.375rem;padding:.625rem .875rem;background:var(--surface-muted);border-bottom:1px solid var(--line);overflow-x:auto}.test-view-tabs button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.125rem;padding:0 .75rem;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:.375rem;cursor:pointer}.test-view-tabs button:hover,.test-view-tabs button.active{color:var(--ink);background:var(--button-background);border-color:var(--line-strong)}.test-view-tabs button.active{box-shadow:inset 0 -2px 0 var(--accent)}.simulator-body{display:flex;align-items:center;gap:16px;padding:32px;color:var(--muted)}.simulator-body svg{color:var(--accent)}.simulator-body h2{margin-bottom:6px;color:var(--ink)}.flow-steps{display:grid;grid-template-columns:repeat(6,minmax(7rem,1fr));gap:10px;padding:0 32px 32px}.flow-step{display:grid;gap:8px;min-height:92px;padding:13px;background:var(--surface-muted);border:1px solid var(--line);border-radius:6px}.simulator-config{padding:0 32px 18px}.simulator-settings h3,.simulation-command-group h3{margin:0 0 .625rem;font-size:var(--text-base)}.basic-config-grid{grid-template-columns:repeat(4,minmax(10rem,1fr))}.advanced-settings{margin-top:.75rem;border-top:1px solid var(--line)}.advanced-settings summary{padding:.75rem 0;color:var(--ink);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.simulation-execution-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:.75rem;padding:0 2rem 1.25rem}.simulation-command-group{min-width:0;padding:.875rem;background:var(--surface-muted);border:1px solid var(--line);border-radius:.375rem}.config-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px 10px}.config-grid label{display:grid;gap:6px;color:var(--muted);font-size:var(--text-sm)}.config-grid input{width:100%;height:34px;padding:0 8px;color:var(--ink);background:var(--surface-muted);border:1px solid var(--line);border-radius:6px}.mode-switch{display:flex;gap:6px}.mode-button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;color:var(--ink);background:var(--surface-muted);border:1px solid var(--line-strong);border-radius:6px;cursor:pointer}.mode-button.active{background:var(--surface-soft);border-color:var(--muted)}.simulator-actions{display:flex;gap:8px;margin-top:10px}.simulator-actions+.simulator-actions{margin-top:8px}.simulator-actions button,.simulator-log-tools button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;color:var(--ink);background:var(--surface-muted);border:1px solid var(--line-strong);border-radius:6px;cursor:pointer}.simulator-actions button:hover,.simulator-log-tools button:hover{background:var(--surface-soft);border-color:var(--muted)}.simulator-connection-status{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:10px 0 0;padding:.5rem .75rem;color:var(--muted);border-top:1px solid var(--line)}.flow-step.running span,.flow-step.done span,.flow-step.failed span,.flow-step.skipped span{color:var(--panel)}.flow-step.running span{background:var(--accent)}.flow-step.done span{background:var(--success)}.flow-step.failed span{background:var(--danger)}.flow-step.skipped span{background:var(--muted)}.simulator-log-panel{margin-top:10px;border-top:1px solid var(--line)}.simulator-log-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 12px 8px}.simulator-log{margin:0;padding:12px;max-height:240px;overflow:auto;font-size:var(--text-xs);background:var(--surface-muted);border-top:1px solid var(--line)}.log-direction-filter{display:inline-flex;border:1px solid var(--line);border-radius:.3125rem;overflow:hidden}.log-direction-filter button{min-height:2rem;border:0;border-radius:0}.log-direction-filter button+button{border-left:1px solid var(--line)}.log-direction-filter button.active{color:var(--panel);background:var(--primary)}.log-action-filter,.auto-scroll-toggle{display:inline-flex;align-items:center;gap:.375rem;color:var(--muted);font-size:var(--text-xs)}.log-action-filter select{height:2rem;max-width:12rem;border:1px solid var(--line);border-radius:.3125rem}.simulator-log-tools>button{flex:0 0 auto;min-height:2rem;padding:0 .625rem}.simulation-log-entry{border-bottom:1px solid var(--line)}.simulation-log-entry>button{display:grid;grid-template-columns:10.5rem 4.5rem minmax(8rem,.4fr) minmax(12rem,1fr);gap:.625rem;width:100%;padding:.5rem;color:var(--ink);text-align:left;background:transparent;border:0;cursor:pointer}@media(max-width:640px){.simulation-log-entry>button{min-width:42rem}}.simulation-log-entry>button span,.simulation-log-entry>button time{color:var(--muted)}.simulation-log-entry>button em{overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.simulation-log-entry.error>button span{color:var(--danger)}.simulation-log-entry pre{margin:0;padding:.625rem 1rem;overflow-x:auto;color:var(--nav-text);background:var(--nav)}.physical-test{padding-bottom:1.25rem}.test-run{margin:0 2rem;border:1px solid var(--line);border-radius:.375rem;overflow:hidden}.test-run-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.25rem;padding:.75rem .875rem;background:var(--surface-muted);border-bottom:1px solid var(--line)}.test-run-header div{display:flex;align-items:center;gap:.75rem}.test-run-header span,.test-run-header time{color:var(--muted);font-size:var(--text-sm)}.test-run-header strong{font-size:var(--text-sm)}.acceptance-progress{display:grid;grid-template-columns:auto minmax(9rem,.5fr) minmax(16rem,1fr);align-items:center;gap:1rem;padding:.75rem .875rem;background:var(--surface-muted);border-bottom:1px solid var(--line)}.acceptance-progress>div,.acceptance-progress>p{display:grid;gap:.125rem;min-width:0}.acceptance-progress span{color:var(--muted);font-size:var(--text-xs)}.acceptance-progress strong{font-size:var(--text-base)}.acceptance-progress>div:first-child strong{color:var(--accent);font-size:var(--text-heading-sm)}.acceptance-progress p{margin:0;padding-left:1rem;border-left:1px solid var(--line)}.acceptance-progress small{overflow:hidden;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.acceptance-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;margin:0;padding:.875rem;list-style:none}.acceptance-step{display:flex;align-items:flex-start;gap:.625rem;min-width:0;min-height:8rem;padding:.625rem;background:var(--panel);border-bottom:1px solid var(--line)}.acceptance-step>span{display:grid;place-items:center;flex:0 0 1.5rem;width:1.5rem;height:1.5rem;color:var(--panel);background:var(--muted);border-radius:50%;font-size:var(--text-xs);font-weight:var(--weight-semibold);box-shadow:0 0 0 3px var(--panel),0 0 0 4px var(--line)}.acceptance-step div{display:grid;min-width:0;gap:.1875rem}.acceptance-step-title{display:flex!important;align-items:center;justify-content:space-between;gap:.5rem}.acceptance-step-title em{color:var(--muted);font-size:var(--text-xs);font-style:normal}.acceptance-step dl{display:grid;gap:.25rem;margin:.25rem 0}.acceptance-step dl div{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:.375rem}.acceptance-step dt,.acceptance-step dd{margin:0;color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere}.acceptance-step dd{color:var(--ink)}.acceptance-step strong,.acceptance-step small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acceptance-step strong{font-size:var(--text-base)}.acceptance-step small{color:var(--muted);font-size:var(--text-xs)}.acceptance-step.running{background:var(--surface-soft)}.acceptance-step.passed,.acceptance-step.failed{background:var(--surface-muted)}.acceptance-step.running>span{background:var(--accent)}.acceptance-step.passed>span{background:var(--accent)}.acceptance-step.failed>span{background:var(--danger)}.physical-command-bar{display:flex;gap:.5rem;padding:.75rem .875rem;border-top:1px solid var(--line);overflow-x:auto}.physical-command-bar button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;flex:1 0 8.5rem;min-height:2.25rem;color:var(--ink);background:var(--surface-muted);border:1px solid var(--line-strong);border-radius:.375rem;cursor:pointer}.physical-command-bar button:disabled,.simulator-actions button:disabled{cursor:not-allowed;opacity:.5}.physical-test>.action-log{margin:.875rem 2rem 0}.test-history{display:flex;flex-direction:column;min-height:100%}.test-history .table-scroll{min-height:18rem}.test-history tbody tr{cursor:pointer}.history-detail{flex:0 0 auto;max-height:16rem;padding:.75rem;overflow:auto;border-top:1px solid var(--line)}.history-detail>div,.history-detail p{display:grid;grid-template-columns:minmax(8rem,1fr) 7rem 8rem;gap:.75rem;align-items:center;margin:0;padding:.5rem;border-bottom:1px solid var(--line)}.history-detail small,.history-detail time{color:var(--muted)}.test-status{display:inline-block;padding:.1875rem .5rem;color:var(--muted);background:var(--surface-soft);border-radius:999px;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.test-status.passed{color:var(--accent);background:var(--line)}.test-status.failed,.test-status.cancelled{color:var(--danger);background:var(--surface-soft)}.test-status.running{color:var(--accent);background:var(--line)}.test-history-empty{padding:2rem;text-align:center}.flow-step span{display:grid;place-items:center;width:22px;height:22px;color:var(--panel);background:var(--primary);border-radius:999px;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.flow-step strong{font-size:var(--text-md)}.flow-step small{color:var(--muted);font-size:var(--text-sm)}.stack{display:grid;gap:14px}.table-action,.row-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.25rem;padding:0 .75rem;color:var(--muted);background:var(--button-background);border:1px solid var(--line);border-radius:.375rem;cursor:pointer;white-space:nowrap}.management-panel,.management-list{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.system-status-view{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;height:100%;overflow:hidden}.system-status-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem;padding:.875rem 1rem;border-bottom:1px solid var(--line)}.system-status-header h2,.system-status-header p,.system-runtime-panel h3,.system-topology h3,.system-topology-node h4,.system-topology-node p{margin:0}.system-status-header p,.system-topology-node p{margin-top:.25rem;color:var(--muted);font-size:var(--text-sm)}.system-status-title-line,.system-status-header button,.system-runtime-panel>header,.system-runtime-panel>header>div,.system-topology>header,.system-topology>header>div,.system-topology-node>header,.system-topology-node>header>div,.system-status-error{display:flex;align-items:center}.system-status-title-line{gap:.5rem;flex-wrap:wrap}.system-status-summary{display:inline-flex;align-items:center;gap:.25rem}.system-status-summary small{color:var(--muted);font-size:var(--text-xs)}.system-status-header h2{font-size:var(--text-xl)}.system-status-header button,.system-status-error button{justify-content:center;gap:.375rem;min-height:2.375rem;padding:0 .75rem;color:var(--ink);background:var(--button-background);border:1px solid var(--line-strong);border-radius:.375rem;cursor:pointer}.system-status-header button:disabled{cursor:wait;opacity:.6}.system-status-header .system-status-refresh{width:2.375rem;min-width:2.375rem;padding:0}.system-status-content{display:grid;grid-template-rows:max-content max-content minmax(20rem,1fr);gap:.75rem;min-height:0;padding:.875rem;overflow:auto}.system-topology{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:.375rem}.system-topology>header{justify-content:space-between;min-height:3rem;padding:0 .75rem;background:var(--surface-muted);border-bottom:1px solid var(--line)}.system-topology>header>div{gap:.4375rem}.system-topology-meta{min-width:0;justify-content:flex-end;flex-wrap:wrap}.system-topology-meta>span{color:var(--muted);font-size:var(--text-xs)}.system-topology h3,.system-runtime-panel h3{font-size:var(--text-base)}.system-topology-scroll{min-width:0;overflow-x:auto;overflow-y:hidden}.system-topology-map{min-width:86rem;padding:1rem}.system-flow-row,.system-data-row{display:grid;grid-template-columns:minmax(9.5rem,.9fr) 4.25rem minmax(10.5rem,1fr) 4.25rem minmax(10.5rem,1fr) 4.25rem minmax(10.5rem,1fr) 4.75rem minmax(20rem,1.6fr) 5.5rem minmax(9.5rem,.9fr);align-items:start}.system-topology-stage{display:grid;align-self:stretch;gap:.5rem;min-width:0}.system-topology-node{position:relative;min-width:0;min-height:7.25rem;padding:.75rem;background:var(--panel);border:1px solid var(--line-strong);border-top:.1875rem solid var(--accent);border-radius:.375rem}.system-topology-node.compact,.system-topology-node.gateway-cluster{min-height:7.25rem;padding:.625rem}.system-gateway-cluster-header{min-width:0}.system-gateway-cluster-title{display:flex;min-width:0;flex:0 1 auto;align-items:center;flex-wrap:wrap;gap:.25rem .4375rem}.system-gateway-cluster-summary{display:flex;min-width:0;margin-left:auto;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.25rem .625rem;color:var(--muted);font-size:var(--text-2xs);white-space:nowrap}.system-gateway-cluster-summary strong{color:var(--ink);font-size:var(--text-xs)}.system-gateway-node-list{display:grid;gap:.25rem;margin-top:.5rem}.system-gateway-node-row{display:grid;grid-template-columns:minmax(6.75rem,1fr) minmax(5.5rem,.9fr) auto;align-items:center;gap:.375rem;min-width:0;min-height:1.5rem;padding:.25rem .375rem;background:var(--surface-muted);border:1px solid var(--line);border-radius:.25rem;font-size:var(--text-2xs)}.system-gateway-node-row strong{display:flex;min-width:0;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-gateway-node-row .system-status-dot{flex:0 0 .4375rem;margin-right:.375rem}.system-gateway-node-endpoint{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.system-gateway-node-more{display:flex;align-items:center;justify-content:center;gap:.375rem;min-height:1.25rem;color:var(--accent);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.system-gateway-node-more span{color:var(--muted);font-weight:var(--weight-regular)}.system-gateway-node-empty{padding:.5rem;color:var(--danger);background:var(--surface-soft);border:1px dashed var(--danger-line);border-radius:.25rem;font-size:var(--text-2xs);text-align:center}.system-topology-role-list{display:grid;gap:.3125rem;margin-top:.625rem}.system-topology-role{display:grid;grid-template-columns:.5rem auto minmax(0,1fr) auto;align-items:center;gap:.375rem;min-width:0;padding:.3125rem .375rem;background:var(--surface-muted);border:1px solid var(--line);border-radius:.25rem;font-size:var(--text-2xs)}.system-status-dot{width:.4375rem;height:.4375rem;background:var(--accent);border-radius:50%}.system-status-dot.degraded{background:var(--warning)}.system-status-dot.down{background:var(--danger)}.system-topology-role-endpoint{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.system-topology-role-state{color:var(--accent);font-weight:var(--weight-semibold);white-space:nowrap}.system-topology-role-state.degraded{color:var(--warning)}.system-topology-role-state.down{color:var(--danger)}.system-topology-stage-extra,.system-topology-stage-empty{display:block;padding:.5rem .625rem;color:var(--muted);background:var(--surface-muted);border:1px dashed var(--line-strong);border-radius:.375rem;font-size:var(--text-xs)}.system-topology-stage-empty{min-height:5.75rem;color:var(--danger);background:var(--surface-soft);border-color:var(--danger-line)}.system-topology-node.degraded{border-top-color:var(--warning)}.system-topology-node.down{border-top-color:var(--danger)}.system-topology-node.endpoint-node{display:flex;align-items:center;min-height:5.25rem;border-top-color:var(--accent);background:var(--surface-muted)}.system-topology-node>header{gap:.625rem}.system-topology-node>header>div{min-width:0;flex-wrap:wrap;gap:.375rem .5rem}.system-node-icon{display:grid;flex:0 0 2rem;width:2rem;height:2rem;color:var(--accent);background:var(--line);border-radius:.375rem;place-items:center}.system-topology-node h4{font-size:var(--text-base)}.system-topology-node dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.25rem .5rem;margin:.75rem 0 0;font-size:var(--text-xs)}.system-topology-node dt{color:var(--muted)}.system-topology-node dd{min-width:0;margin:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.system-node-badge{color:var(--accent);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.system-flow-arrow{position:relative;display:grid;min-width:0;height:3rem;color:var(--muted);place-items:center end;align-self:center}.system-flow-arrow:before{position:absolute;right:.125rem;left:0;height:1px;background:var(--line-strong);content:""}.system-flow-arrow span{position:absolute;top:-.125rem;right:0;left:0;color:var(--muted);font-size:var(--text-2xs);text-align:center;white-space:nowrap}.system-flow-arrow svg{position:relative;background:var(--panel)}.system-data-row{margin-top:2rem}.system-data-stage{position:relative}.system-data-stage:before{position:absolute;bottom:100%;left:50%;width:1px;height:2.1875rem;background:var(--line-strong);content:""}.system-data-stage.business-data{grid-column:5}.system-data-stage.realtime-data{grid-column:7}.system-runtime-grid{display:grid;grid-template-columns:repeat(3,minmax(22rem,1fr));gap:.75rem;min-height:0}.system-ha-panel{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:.375rem}.system-ha-panel>header,.system-ha-panel>header>div{display:flex;align-items:center}.system-ha-panel>header{justify-content:space-between;min-height:3rem;padding:0 .75rem;background:var(--surface-muted);border-bottom:1px solid var(--line)}.system-ha-panel>header>div{gap:.4375rem}.system-ha-actions,.system-gateway-target,.system-gateway-target label{display:flex;align-items:center}.system-ha-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.system-gateway-summary{color:var(--muted);font-size:var(--text-xs);white-space:nowrap}.system-gateway-target{gap:.4375rem}.system-gateway-target label{gap:.375rem;color:var(--muted);font-size:var(--text-xs)}.system-gateway-target input{width:4rem;height:2rem;padding:0 .4375rem;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:.375rem}.system-gateway-target button{display:inline-flex;align-items:center;justify-content:center;gap:.3125rem;min-height:2rem;padding:0 .625rem;color:var(--ink);background:var(--button-background);border:1px solid var(--line-strong);border-radius:.375rem;cursor:pointer}.system-gateway-target button:disabled{cursor:wait;opacity:.6}.system-target-message{color:var(--accent);font-size:var(--text-xs)}@media(max-width:760px){.system-ha-panel>header{align-items:flex-start;flex-direction:column;gap:.5rem;padding:.625rem .75rem}.system-ha-actions{flex-wrap:wrap;justify-content:space-between;width:100%}.system-gateway-target{flex:1 1 16rem;flex-wrap:wrap}.system-gateway-target label{flex:1 1 12rem}}.system-ha-panel h3{margin:0;font-size:var(--text-base)}.system-ha-panel .table-scroll{overflow-x:auto}.system-ha-panel table{min-width:64rem}.system-ha-panel td{vertical-align:middle}.system-ha-node-list{display:grid;gap:.25rem}.system-ha-node{display:flex;align-items:center;gap:.375rem;min-width:0}.system-ha-node>span:first-child{max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-ha-node.missing>span:first-child{color:var(--danger);font-weight:var(--weight-semibold)}.system-ha-na{color:var(--muted)}.system-runtime-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:16rem;overflow:hidden;border:1px solid var(--line);border-radius:.375rem}.system-runtime-panel>header{justify-content:space-between;min-height:3rem;padding:0 .75rem;background:var(--surface-muted);border-bottom:1px solid var(--line)}.system-runtime-panel>header>div{gap:.4375rem}.system-runtime-panel>header>span{color:var(--muted);font-size:var(--text-xs)}.system-runtime-panel .table-scroll{min-height:0;overflow:auto}.system-role-history ol{display:grid;gap:8px;list-style:none;margin:0;padding:14px 16px 16px}.system-role-history li{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(120px,.5fr) minmax(240px,1fr) auto}.system-role-history li span{align-items:center;display:inline-flex;gap:6px}.api-client-rotation{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;padding:12px}.api-client-rotation small{flex-basis:100%}.api-client-state.expiring_30_days,.api-client-state.expiring_7_days{color:var(--warning);font-weight:var(--weight-semibold)}@media(max-width:768px){.system-role-history li{grid-template-columns:1fr}}.system-runtime-warning,.metric-warning,.consumer-pool-grid>.warning{color:var(--danger)!important}.stream-health-chip,.consumer-state{display:inline-flex;align-items:center;min-height:1.5rem;padding:0 .5rem;border-radius:999px;color:var(--accent);background:var(--surface-soft);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap}.stream-health-chip.warning,.consumer-state.stale{color:var(--warning);background:var(--warning-soft)}.stream-health-chip.unknown,.consumer-state.unavailable{color:var(--muted);background:var(--surface-soft)}.consumer-runtime-content{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;overflow:auto}.consumer-runtime-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;color:var(--muted);border-bottom:1px solid var(--line);font-size:var(--text-xs)}.consumer-runtime-meta>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consumer-throughput-table{width:100%}.consumer-throughput-table th,.consumer-throughput-table td{white-space:nowrap}.consumer-pool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}.consumer-pool-grid>div{display:grid;gap:.1875rem;padding:.625rem .75rem;border-right:1px solid var(--line)}.consumer-pool-grid>div:last-child{border-right:0}.consumer-pool-grid span{color:var(--muted);font-size:var(--text-2xs)}.consumer-pool-grid strong{font-size:var(--text-base)}@media(max-width:1560px){.system-runtime-grid{grid-template-columns:repeat(2,minmax(22rem,1fr))}}@media(max-width:980px){.system-runtime-grid{grid-template-columns:minmax(0,1fr)}}.system-status-error{justify-content:space-between;gap:.75rem;margin:.75rem;padding:.625rem .75rem;color:var(--danger);background:var(--surface-soft);border:1px solid var(--danger-soft);border-radius:.375rem;font-size:var(--text-sm)}.system-status-error button{min-height:2rem}.management-list>header,.management-form>header{display:flex;align-items:center;justify-content:space-between;min-height:4rem;padding:.875rem 1rem;border-bottom:1px solid var(--line)}.management-list>header>div{display:flex;align-items:baseline;gap:.625rem}.management-list h2,.management-form h2,.management-form p{margin:0}.management-list h2,.management-form h2{font-size:var(--text-xl)}.management-form p,.management-list header span{margin-top:.25rem;color:var(--muted);font-size:var(--text-sm)}.management-list .table-scroll{min-height:0;flex:1}.user-create-disclosure{flex-shrink:0;border-bottom:1px solid var(--line)}.user-create-disclosure>summary{cursor:pointer;padding:14px 16px;color:var(--accent-strong);font-weight:var(--weight-medium)}.user-create-disclosure>summary:hover{background:var(--accent-soft)}[data-testid=audit-scroll] table{min-width:64rem}[data-testid=audit-scroll] th{white-space:nowrap}.audit-filter-toolbar{display:grid;grid-template-columns:minmax(10rem,1.5fr) repeat(3,minmax(8rem,1fr)) repeat(2,minmax(11rem,1fr)) auto auto;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--line)}.audit-filter-toolbar input,.audit-filter-toolbar select,.audit-filter-toolbar button{min-height:2.25rem}@media(max-width:1100px){.audit-filter-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}.management-list td small{display:block;max-width:20rem;margin-top:.1875rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.unread-row td:first-child{border-left:.1875rem solid var(--danger)}.acknowledged,.row-actions{display:flex;align-items:center;gap:.375rem}.row-actions button{width:2rem;min-height:2rem;padding:0}.management-form{display:flex;flex-direction:column;min-height:0;height:100%}.form-grid,.inline-create-form{display:grid;gap:.75rem;padding:1rem}.form-grid{grid-template-columns:repeat(3,minmax(10rem,1fr))}.settings-grid{grid-template-columns:repeat(2,minmax(12rem,1fr))}.inline-create-form{grid-template-columns:repeat(3,minmax(8rem,1fr)) minmax(8rem,.6fr) auto;border-bottom:1px solid var(--line)}.form-grid label{display:grid;gap:.375rem}.form-grid label span{color:var(--muted);font-size:var(--text-sm)}.form-grid input,.form-grid select,.inline-create-form input,.inline-create-form select,.dashboard-controls input,.dashboard-controls select{min-width:0;height:2.375rem;padding:0 .625rem;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:.375rem}.management-form footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:auto;padding:1rem;border-top:1px solid var(--line)}.management-form footer button,.inline-create-form button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.375rem;padding:0 .875rem;color:var(--panel);background:var(--primary);border:0;border-radius:.375rem;cursor:pointer}.inline-error{padding:.625rem 1rem;color:var(--danger);background:var(--surface-soft)}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;padding:1rem;place-items:center;background:var(--overlay)}.confirm-modal{display:grid;gap:1rem;width:min(26rem,100%);padding:1.25rem;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:.5rem;box-shadow:0 1rem 3rem var(--shadow-strong)}.detail-modal{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(72rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:.5rem;box-shadow:0 1rem 3rem var(--shadow-strong);overflow:hidden}.detail-modal-header{display:flex;align-items:center;justify-content:space-between;min-height:3.5rem;padding:0 1rem;border-bottom:1px solid var(--line)}.detail-modal-header h2{margin:0;min-width:0;overflow-wrap:anywhere;font-size:var(--text-xl)}.detail-modal-header>button{flex-shrink:0}.detail-modal-body{min-height:0;padding:1rem;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.detail-modal.master-delete-dialog{width:min(32rem,calc(100vw - 2rem));height:auto;max-height:calc(100dvh - 2rem)}.master-delete-dialog .delete-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem}.master-delete-dialog .delete-actions button{min-height:2.75rem;padding:.6rem 1rem;border:1px solid var(--line);border-radius:.5rem;background:var(--panel);color:var(--ink);font:inherit;cursor:pointer}.master-delete-dialog .delete-actions .danger-button{background:var(--danger);color:#fff;border-color:var(--danger)}.master-delete-dialog .delete-actions button:disabled{opacity:.6;cursor:wait}.detail-modal.firmware-cancel-modal{width:min(28rem,calc(100vw - 2rem))}.detail-modal:is(.firmware-cancel-modal,.environment-upload-modal){height:auto;max-height:calc(100dvh - 2rem);border:1px solid var(--line-strong);border-radius:.5rem}.firmware-confirmation-content{display:grid;min-width:0;overflow-wrap:anywhere;gap:.5rem}.firmware-confirmation-content p{margin:0;font-weight:var(--weight-semibold)}.firmware-confirmation-content small{color:var(--muted)}.firmware-confirmation-content footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding-top:.75rem}.firmware-confirmation-content .danger-button{background:var(--danger)}.charger-detail-modal .detail-title{padding-bottom:1rem}@media(max-width:48rem){.modal-backdrop:has(.detail-modal){padding:0}.detail-modal{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}}.fault-management-layout{display:grid;grid-template-columns:minmax(34rem,1.25fr) minmax(22rem,.75fr);gap:.875rem;min-height:0;height:100%;overflow:hidden}.integration-execution-layout{display:grid;grid-template-columns:minmax(38rem,1.35fr) minmax(22rem,.65fr);gap:.875rem;min-height:0;height:100%;overflow:hidden}.integration-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.625rem;min-height:0;height:100%;overflow:hidden}.integration-workspace-content{min-height:0;overflow:hidden}.workspace-tabs{display:flex;align-items:center;gap:.25rem;min-height:2.25rem;border-bottom:1px solid var(--line)}.workspace-tabs button{min-height:2.25rem;padding:0 .875rem;color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;cursor:pointer}.workspace-tabs button:hover{color:var(--ink);background:var(--surface-soft)}.workspace-tabs button.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:var(--weight-semibold)}.environment-operations{display:block;min-height:0;height:100%;overflow:auto}.environment-operations-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem;padding:.875rem 1rem;border-bottom:1px solid var(--line)}.environment-operations-header h2,.environment-operations-header p,.environment-version-history h3,.environment-version-history p{margin:0}.environment-operations-header h2{font-size:var(--text-xl)}.environment-operations-header p{margin-top:.3rem;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.environment-flow{display:grid;grid-template-columns:minmax(0,1fr) 2.5rem minmax(0,1fr) 2.5rem minmax(0,1fr);align-items:stretch;padding:1rem;background:var(--surface-muted);border-bottom:1px solid var(--line)}.environment-flow-stage{min-width:0;padding:.875rem;background:var(--panel);border:1px solid var(--line);border-top:.1875rem solid var(--line-strong)}.environment-flow-stage.healthy{border-top-color:var(--success)}.environment-flow-stage.failed{border-top-color:var(--danger)}.environment-flow-stage.waiting,.environment-flow-stage.unconfigured{border-top-color:var(--warning)}.environment-flow-stage.unavailable{border-top-color:var(--danger);background:var(--surface-muted)}.environment-flow-stage.disabled{border-top-color:var(--muted);background:var(--surface-muted)}.environment-flow-stage>header{display:flex;align-items:flex-start;gap:.625rem}.environment-flow-stage>header>span{display:grid;width:2rem;height:2rem;place-items:center;color:var(--accent);background:var(--surface-soft);border-radius:50%}.environment-flow-stage h3{margin:0;font-size:var(--text-sm)}.environment-flow-stage header strong{display:block;margin-top:.18rem;color:var(--muted);font-size:var(--text-xs)}.environment-flow-stage>p{min-height:1.5rem;margin:.875rem 0 .625rem;font-size:var(--text-md);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.environment-flow-stage ul{display:grid;gap:.25rem;margin:0;padding:0;color:var(--muted);font-size:var(--text-xs);line-height:1.45;list-style:none}.environment-flow-connector{align-self:center;height:1px;background:var(--line-strong)}.environment-flow-connector:after{display:block;width:.375rem;height:.375rem;margin:-.2rem 0 0 auto;border-top:1px solid var(--line-strong);border-right:1px solid var(--line-strong);transform:rotate(45deg);content:""}.environment-version-history{min-height:0;padding:1rem}.environment-version-history>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.environment-version-history h3{font-size:var(--text-md)}.environment-version-history header p{margin-top:.25rem;color:var(--muted);font-size:var(--text-sm)}.environment-version-history>header>span{color:var(--muted);font-size:var(--text-xs)}.environment-version-history ol{display:grid;margin:.875rem 0 0;padding:0;list-style:none}.environment-version-history li{position:relative;display:grid;grid-template-columns:.75rem minmax(0,1fr);gap:.625rem;min-height:4.25rem}.environment-version-history li:not(:last-child):before{position:absolute;top:.75rem;bottom:0;left:.3125rem;width:1px;background:var(--line);content:""}.environment-version-dot{position:relative;z-index:1;width:.6875rem;height:.6875rem;margin-top:.25rem;background:var(--line-strong);border:.15rem solid var(--panel);border-radius:50%;box-shadow:0 0 0 1px var(--line-strong)}.environment-version-dot.active{background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.environment-version-dot.failed{background:var(--danger);box-shadow:0 0 0 1px var(--danger)}.environment-version-dot.staging,.environment-version-dot.validated{background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.environment-version-history li header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.environment-version-history li strong{font-size:var(--text-sm);overflow-wrap:anywhere}.environment-version-history li p{margin-top:.25rem;color:var(--ink);font-size:var(--text-sm);overflow-wrap:anywhere}.environment-version-history li small{display:block;margin-top:.25rem;color:var(--muted);font-size:var(--text-xs)}.environment-version-empty,.environment-operations-failure{display:grid;place-items:center;align-content:center;gap:.625rem;min-height:12rem;color:var(--muted);text-align:center}.environment-version-empty strong{color:var(--ink);font-size:var(--text-base)}.environment-operations-failure{height:100%;padding:2rem}.environment-operations-failure h2{margin:0;color:var(--ink);font-size:var(--text-xl)}.environment-operations-failure p{max-width:32rem;margin:0;font-size:var(--text-sm);overflow-wrap:anywhere}.environment-operations-failure button{display:inline-flex;align-items:center;gap:.375rem}.environment-operations-loading{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:1rem}.environment-operations-loading span{min-height:9rem;background:linear-gradient(90deg,var(--surface-soft) 25%,var(--surface-muted) 50%,var(--surface-soft) 75%);background-size:200% 100%;animation:environment-loading 1.25s linear infinite}@keyframes environment-loading{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.environment-operations-loading span{animation:none}}.fault-management-layout.detail-collapsed,.integration-execution-layout.detail-collapsed{grid-template-columns:minmax(0,1fr)}.split-detail-actions{display:flex;align-items:center;gap:.5rem}.split-detail-mobile-collapse{display:none}.integration-list-panel,.integration-detail-panel{min-width:0;min-height:0;overflow:hidden}.integration-list-panel{display:flex;flex-direction:column}.integration-list-panel tbody tr{cursor:pointer}.integration-list-panel tbody tr.selected td{background:var(--surface-soft)}.integration-table-scroll{flex:1 1 auto;min-height:0}.integration-filters{display:grid;grid-template-columns:repeat(3,minmax(7rem,1fr)) auto auto;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--line)}.integration-filters label{min-width:0}.integration-filters label span{display:block;margin-bottom:.25rem;color:var(--muted);font-size:var(--text-sm)}.integration-filters input,.integration-filters select{width:100%;min-width:0}.integration-filters>button{align-self:end;min-height:2.125rem}.integration-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:3rem;border-top:1px solid var(--line)}.integration-pagination span{color:var(--muted);font-size:var(--text-sm)}.integration-detail-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.integration-detail-scroll{min-height:0;overflow:auto;overscroll-behavior:contain}.integration-error-detail{padding:1rem;border-bottom:1px solid var(--line)}.integration-error-detail h3{margin:0 0 .5rem;font-size:var(--text-sm)}.integration-error-detail strong{color:var(--danger);font-size:var(--text-sm)}.integration-error-detail p{margin-top:.4rem;color:var(--muted);font-size:var(--text-sm);line-height:1.5;overflow-wrap:anywhere}.integration-detail-actions{display:flex;justify-content:flex-end;padding:1rem}.integration-detail-actions button{display:inline-flex;align-items:center;gap:.4rem}.table-action-button{min-height:1.875rem;padding:.25rem .55rem;font-size:var(--text-sm)}.checksum-short{color:var(--muted);font-family:var(--font-ui);font-size:var(--text-sm)}.batch-step-list{padding:1rem;border-bottom:1px solid var(--line)}.batch-step-list>h3{margin:0 0 .625rem;font-size:var(--text-base)}.batch-step-list article{padding:.75rem 0;border-top:1px solid var(--line)}.batch-step-list article>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.batch-step-list article>header strong{font-size:var(--text-sm)}.batch-step-list article>header span{color:var(--muted);font-size:var(--text-sm)}.batch-step-list dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;margin:.75rem 0 0}.batch-step-list dt{color:var(--muted);font-size:var(--text-xs)}.batch-step-list dd{margin:.2rem 0 0;font-size:var(--text-sm);overflow-wrap:anywhere}.environment-upload-modal{width:min(34rem,calc(100vw - 2rem))}.environment-upload-form{display:grid;gap:.875rem}.environment-upload-form label>span{display:block;margin-bottom:.3rem;color:var(--muted);font-size:var(--text-sm)}.environment-upload-form input{width:100%}.environment-upload-form footer{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.25rem}.environment-upload-form footer button{display:inline-flex;align-items:center;gap:.35rem}.fault-list-panel,.fault-detail-panel{min-width:0;min-height:0;overflow:hidden}.fault-list-panel{display:flex;flex-direction:column}.fault-list-panel tbody tr{cursor:pointer}.fault-list-panel tbody tr.selected td{background:var(--surface-soft)}.fault-status{display:inline-flex;align-items:center;min-height:1.5rem;padding:.125rem .5rem;color:var(--muted);background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap}.fault-status.unacknowledged{color:var(--danger);background:var(--surface-soft);border-color:var(--danger-soft)}.fault-status.acknowledged{color:var(--warning);background:var(--line);border-color:var(--warning-line)}.fault-status.in_progress,.fault-status.resolved{color:var(--accent);background:var(--surface-soft);border-color:var(--line-strong)}.fault-empty,.fault-detail-state{display:grid;place-items:center;align-content:center;gap:.625rem;min-height:12rem;padding:2rem;color:var(--muted);text-align:center}.fault-empty strong{color:var(--ink);font-size:var(--text-md)}.fault-detail-state{height:100%}.fault-detail-state p{max-width:22rem;margin:0;font-size:var(--text-base);line-height:1.6}.fault-detail-state button{display:inline-flex;align-items:center;gap:.375rem;min-height:2rem}.fault-detail-panel{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr)}.integration-detail-panel{position:relative}.fault-detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem;padding:.75rem 1rem;border-bottom:1px solid var(--line)}.fault-detail-header span:first-child{color:var(--muted);font-size:var(--text-sm)}.fault-detail-header h2{margin:.2rem 0 0;font-size:var(--text-xl);overflow-wrap:anywhere}.fault-context-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.375rem}.fault-context-actions button{display:inline-flex;align-items:center;gap:.3125rem;min-height:2rem;padding:0 .5rem;color:var(--ink);background:var(--button-background);border:1px solid var(--line-strong);border-radius:.3125rem;font-size:var(--text-xs);cursor:pointer}.fault-context-actions button:hover{background:var(--surface-soft);border-color:var(--muted)}.fault-detail-scroll{min-height:0;overflow:auto;overscroll-behavior:contain}.fault-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:1rem;border-bottom:1px solid var(--line)}.fault-summary div{min-width:0}.fault-summary dt{color:var(--muted);font-size:var(--text-sm)}.fault-summary dd{margin:.25rem 0 0;font-size:var(--text-base);overflow-wrap:anywhere}.fault-action-editor{padding:1rem;border-bottom:1px solid var(--line)}.fault-action-editor>label{display:block;margin-bottom:.4rem;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.fault-action-editor textarea{width:100%;min-height:5rem;resize:vertical}.fault-action-editor>p{margin:.625rem 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.fault-action-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-top:.625rem}.fault-action-buttons button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:0;min-height:2.25rem;padding:.4rem .5rem;white-space:normal}.fault-action-buttons button svg{width:.9rem;flex:0 0 auto}.fault-action-buttons button.primary{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.fault-history{padding:1rem}.fault-history>header{display:flex;align-items:center;gap:.45rem}.fault-history h3{margin:0;font-size:var(--text-md)}.fault-history>header span{margin-left:auto;color:var(--muted);font-size:var(--text-sm)}.fault-history ol{display:grid;gap:0;margin:.875rem 0 0;padding:0;list-style:none}.fault-history li{position:relative;display:grid;grid-template-columns:.75rem minmax(0,1fr);gap:.625rem;min-height:4.25rem}.fault-history li:not(:last-child):before{position:absolute;top:.75rem;bottom:-.1rem;left:.3125rem;width:1px;background:var(--line);content:""}.fault-history-dot{position:relative;z-index:1;width:.6875rem;height:.6875rem;margin-top:.2rem;background:var(--accent);border:.15rem solid var(--panel);border-radius:50%;box-shadow:0 0 0 1px var(--accent)}.fault-history strong{font-size:var(--text-base)}.fault-history p{margin:.25rem 0;color:var(--ink);font-size:var(--text-sm);line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.fault-history small,.fault-history-empty{color:var(--muted);font-size:var(--text-xs)}.fault-history-empty{padding:2rem 0;text-align:center}@media(max-width:68rem){.fault-management-layout,.integration-execution-layout{grid-template-columns:minmax(26rem,1fr) minmax(20rem,.85fr)}.fault-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:48rem){.fault-management-layout,.integration-execution-layout{grid-template-columns:1fr;grid-template-rows:minmax(16rem,.9fr) minmax(20rem,1.1fr);overflow:hidden}.fault-management-layout.detail-collapsed,.integration-execution-layout.detail-collapsed{grid-template-rows:minmax(16rem,1fr)}.split-detail-mobile-collapse{position:absolute;top:.5rem;right:.5rem;z-index:2;display:flex;margin:0}.fault-detail-header{padding-right:3.5rem}.fault-list-panel table{min-width:42rem}.integration-list-panel table{min-width:44rem}.fault-summary{grid-template-columns:1fr 1fr}.fault-detail-header{align-items:flex-start;flex-direction:column}.fault-context-actions{justify-content:flex-start}.environment-operations{overflow:auto}.environment-flow{grid-template-columns:minmax(0,1fr);gap:.5rem}.environment-flow-connector{width:1px;height:1rem;justify-self:center}.environment-flow-connector:after{margin:0 0 -.1rem -.18rem;transform:rotate(135deg)}.environment-version-history{overflow:visible}}@media(max-width:30rem){.fault-summary,.fault-action-buttons{grid-template-columns:1fr}.integration-filters{grid-template-columns:1fr 1fr}.integration-filters label:first-child{grid-column:1 / -1}}.station-management-layout{display:grid;grid-template-columns:minmax(34rem,1.35fr) minmax(22rem,.65fr);gap:.875rem;min-height:0;height:100%}.station-management-layout.detail-collapsed{grid-template-columns:minmax(0,1fr)}.station-panel-actions{display:flex;align-items:center;gap:.5rem}.station-detail-mobile-collapse,.station-detail-backdrop{display:none}.station-detail-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}.station-detail-placeholder{position:relative;place-items:center;min-height:0;padding:2rem}@media(max-height:32rem)and (min-width:48rem){.station-list-panel{overflow-y:auto}.station-list-panel .table-scroll{flex:0 0 auto;min-height:12rem}}@media(max-width:80rem){.station-management-layout,.station-management-layout.detail-collapsed{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.station-management-layout>.station-detail-panel{position:fixed;top:1rem;right:1rem;bottom:1rem;z-index:76;display:flex;flex-direction:column;width:min(52rem,calc(100vw - 2rem));overflow-y:auto;overscroll-behavior:contain;box-shadow:0 1rem 3rem var(--shadow-strong)}.station-management-layout:not(.detail-collapsed) .station-list-panel .station-detail-toggle{display:none}.station-detail-mobile-collapse{display:inline-flex}.station-management-layout>.station-detail-panel>.panel-header,.station-management-layout>.station-detail-panel>.station-detail-summary,.station-management-layout>.station-detail-panel>.station-detail-tabs{flex:0 0 auto}.station-management-layout>.station-detail-panel>.station-detail-tab-panel,.station-management-layout>.station-detail-panel>.station-activity-scroll{flex:0 0 18rem;min-height:18rem}.station-detail-backdrop{position:fixed;inset:0;z-index:75;display:block;width:100%;height:100%;padding:0;border:0;background:var(--overlay)}}@media(max-width:48rem){.station-management-layout>.station-detail-panel{inset:0;width:100vw;border:0;border-radius:0}}.station-detail-placeholder-content{display:grid;justify-items:center;width:min(24rem,100%);text-align:center}.station-detail-placeholder-icon{display:grid;width:3.25rem;height:3.25rem;margin-bottom:1rem;place-items:center;color:var(--accent);background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:50%}.station-detail-placeholder-content.error .station-detail-placeholder-icon{color:var(--danger);background:var(--surface-soft);border-color:var(--danger-soft)}.station-detail-placeholder-content h2{margin:0;font-size:var(--text-xl)}.station-detail-placeholder-content p{max-width:22rem;margin:.5rem 0 1rem;color:var(--muted);font-size:var(--text-base);line-height:1.6}.station-detail-placeholder-content .panel-action{display:inline-flex;align-items:center;gap:.375rem}.station-detail-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;padding:.875rem;border-bottom:1px solid var(--line)}.station-detail-summary>div{display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:.15rem .5rem;min-width:0;padding:.625rem;border:1px solid var(--line);border-radius:.375rem}.station-detail-summary svg{grid-row:1 / 4;margin-top:.1rem;color:var(--muted)}.station-detail-summary span,.station-detail-summary small{color:var(--muted);font-size:var(--text-sm)}.station-detail-summary strong{overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;word-break:keep-all;line-height:1.35}.station-detail-tabs{display:flex;min-width:0;padding:0 .875rem;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:thin}.station-detail-tabs button{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:.375rem;min-width:6.5rem;height:2.75rem;padding:0 .625rem;color:var(--muted);background:transparent;border:0;border-radius:0}.station-detail-tabs button:after{position:absolute;right:.5rem;bottom:-1px;left:.5rem;height:2px;content:"";background:transparent}.station-detail-tabs button:hover,.station-detail-tabs button.active{color:var(--ink);background:var(--surface-muted)}.station-detail-tabs button.active:after{background:var(--accent)}.station-detail-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.station-detail-tabs em{min-width:1.25rem;padding:.0625rem .3125rem;color:var(--muted);font-size:var(--text-xs);font-style:normal;line-height:1.25rem;background:var(--surface-soft);border-radius:999px}.station-detail-panel .paged-scroll-viewport{min-height:0;overflow:auto}.station-detail-tab-panel{min-height:0;overflow:hidden}.station-detail-tab-panel .paged-scroll-viewport{height:100%}.station-detail-panel .paged-scroll-viewport tbody tr{cursor:pointer}.station-activity-scroll{min-width:0;min-height:0;overflow:auto;scrollbar-gutter:stable}.station-activity-scroll table{min-width:42rem}.station-activity-scroll td small{display:block;margin-top:.2rem;color:var(--muted)}.station-current-tariff{display:grid;grid-template-columns:minmax(8rem,1fr) auto;gap:.25rem 1rem;align-items:center;margin:.875rem;padding:.875rem 1rem;background:var(--surface-soft);border:1px solid var(--line-strong);border-left:3px solid var(--accent);border-radius:.375rem}.station-current-tariff span,.station-current-tariff em{color:var(--muted);font-size:var(--text-sm);font-style:normal}.station-current-tariff strong{grid-row:1 / 3;grid-column:2;font-size:var(--text-heading-sm);white-space:nowrap}.station-current-tariff strong small{color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.station-activity-state{display:grid;min-height:13rem;padding:2rem;place-content:center;justify-items:center;color:var(--muted);text-align:center}.station-activity-state>span{display:grid;width:2.75rem;height:2.75rem;margin-bottom:.75rem;place-items:center;color:var(--accent);background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:50%}.station-activity-state strong{color:var(--ink);font-size:var(--text-md)}.station-activity-state p{max-width:24rem;margin:.375rem 0 0;font-size:var(--text-sm);line-height:1.5}.station-activity-state.error>span{color:var(--danger);background:var(--surface-soft);border-color:var(--danger-soft)}.member-auth-layout{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.75rem;min-height:0;height:100%}.member-auth-layout.consumer-tab{grid-template-rows:auto minmax(0,1fr)}.member-auth-content{display:grid;min-height:0;min-width:0}@media(max-width:40rem){#root .member-auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}#root .member-auth-tabs>button{justify-content:center}}.charger-model-layout{display:grid;grid-template-columns:minmax(28rem,.9fr) minmax(34rem,1.1fr);gap:.75rem;min-height:0;height:100%}.charger-model-list,.charger-model-editor{min-height:0}.charger-model-list .paged-scroll-viewport,.charger-model-list .table-scroll{min-height:0;overflow:auto}.charger-model-editor{overflow:auto}.model-edit-fields{margin:0;padding:0;border:0;min-width:0}.charger-model-modal .connector-spec-row label{display:grid;gap:.375rem;min-width:0}.charger-model-modal .connector-spec-row input,.form-grid textarea{width:100%;min-width:0;padding:.625rem;font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:.375rem}.form-grid textarea{min-height:5rem;resize:vertical}.charger-model-technical-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.charger-model-list{grid-column:1 / -1}.charger-model-modal .charger-model-technical-grid label{min-width:0;flex-direction:column;align-items:stretch}.charger-model-modal .charger-model-technical-grid textarea{width:100%;align-self:stretch}@media(max-width:640px){.charger-model-technical-grid{grid-template-columns:minmax(0,1fr)}}.charger-model-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.charger-model-fieldset{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;min-width:0;margin:0;padding:.75rem;border:1px solid var(--line);border-radius:.375rem}.charger-model-fieldset label{display:inline-flex;flex-direction:row;align-items:center;gap:.4rem}.feature-profile-fieldset{margin:0 1rem 1rem}.connector-specifications{display:grid;gap:.625rem;padding:0 1rem 1rem}.connector-spec-header,.connector-spec-row{display:grid;align-items:end;gap:.5rem}.connector-spec-header{grid-template-columns:1fr auto;align-items:center}.connector-spec-row{grid-template-columns:minmax(8rem,1.2fr) minmax(5rem,.6fr) minmax(8rem,1fr) 2.25rem}@media(max-width:70rem){.report-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-columns{grid-template-columns:1fr}.charger-model-layout{grid-template-columns:1fr;overflow:auto}.charger-model-list,.charger-model-editor{min-height:30rem}}@media(max-width:44rem){.report-period-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:end}.report-period-toolbar input{width:100%;min-width:0}.report-period-toolbar>span{grid-column:1 / -1;margin-left:0}.report-metric-grid,.report-definition-list{grid-template-columns:1fr}.report-summary-header{align-items:flex-start;flex-direction:column}.station-list-panel table{table-layout:fixed}.station-list-panel th:nth-child(3),.station-list-panel td:nth-child(3),.station-list-panel th:nth-child(4),.station-list-panel td:nth-child(4),.station-list-panel th:nth-child(5),.station-list-panel td:nth-child(5),.station-list-panel th:nth-child(6),.station-list-panel td:nth-child(6){display:none}.station-list-panel th:first-child{width:42%}.station-list-panel th:nth-child(2){width:36%}.station-list-panel th:last-child{width:22%}.station-list-panel td,.station-list-panel td strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-list-panel td strong{display:block}.station-detail-summary{grid-template-columns:1fr}.ocpp-basic-command-form,.ocpp-basic-command-actions{align-items:stretch;flex-direction:column}.ocpp-basic-command-form label:first-child{flex-basis:auto}.ocpp-basic-command-form label{flex:none;width:100%}.charger-model-form-grid,.connector-spec-row{grid-template-columns:1fr}.connector-spec-row>.icon-button{justify-self:end}}.member-auth-tabs{display:inline-flex;justify-self:start;gap:.25rem;padding:.25rem;background:var(--paper);border:1px solid var(--line);border-radius:.375rem}.member-auth-tabs button{display:inline-flex;align-items:center;gap:.375rem;min-height:2.25rem;padding:0 .75rem;color:var(--muted);background:transparent;border:0;border-radius:.25rem}.member-auth-tabs button.active{color:var(--ink);background:var(--button-background);box-shadow:0 0 0 1px var(--line)}.member-auth-workspace{display:grid;grid-template-columns:minmax(36rem,1.35fr) minmax(20rem,.65fr);gap:.875rem;min-height:0}.member-auth-list{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0}.member-auth-header>div{display:flex;align-items:center;gap:.5rem}.member-auth-header h2{margin:0;font-size:var(--text-xl)}.member-auth-header .panel-action{display:inline-flex;align-items:center;gap:.375rem;min-height:2.25rem;padding:0 .75rem}.member-auth-search{width:auto;margin:.75rem}.member-auth-filter{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(8rem,auto);gap:.5rem;padding:.75rem;border-bottom:1px solid var(--line)}.member-auth-filter select{min-width:8rem}.member-auth-editor{min-width:0;min-height:0;overflow:hidden}.member-auth-editor .management-form{overflow:auto}.member-auth-form-grid{grid-template-columns:1fr}.member-auth-editor footer>span{margin-right:auto;color:var(--muted);font-size:var(--text-sm)}.member-auth-list table{min-width:42rem}.member-auth-attempts{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0}.member-auth-attempts table{min-width:44rem}.station-panel-header>div{display:flex;align-items:center;gap:.5rem}.station-panel-header h2{margin:0;font-size:var(--text-xl)}.station-panel-header .panel-action{display:inline-flex;align-items:center;gap:.375rem;min-height:2.25rem;padding:0 .75rem}.station-filters{display:grid;grid-template-columns:minmax(12rem,2fr) minmax(8rem,1fr) minmax(8rem,1fr) minmax(7rem,.75fr);gap:.5rem;padding:.75rem;border-bottom:1px solid var(--line)}.station-filters .applied-filter-summary{grid-column:1 / -2}.station-filters>.filter-reset{align-self:end;justify-self:end}.station-filters>label:not(.search){display:grid;gap:.25rem;min-width:0}.station-filters>label>span{color:var(--muted);font-size:var(--text-xs)}.station-filters input,.station-filters select{min-width:0;min-height:2.25rem;padding:0 .625rem;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:.3125rem;font:inherit}.station-filters .search{align-self:end;width:100%}.station-list-panel table{min-width:68rem}.station-list-panel,.fault-list-panel{container-type:inline-size}@container (max-width: 56rem){.station-list-panel .responsive-core-table,.operation-layout>.table-panel .responsive-core-table{width:100%;min-width:100%}.station-list-panel .responsive-secondary,.station-list-panel .responsive-tertiary,.fault-list-panel .responsive-tertiary,.operation-layout>.table-panel .responsive-secondary{display:none}.station-list-panel .column-resizer,.fault-list-panel .column-resizer,.operation-layout>.table-panel .column-resizer{display:none}.station-list-panel .responsive-core-table th,.station-list-panel .responsive-core-table td,.fault-list-panel .responsive-core-table th,.fault-list-panel .responsive-core-table td,.operation-layout>.table-panel .responsive-core-table th,.operation-layout>.table-panel .responsive-core-table td{width:auto!important}.charger-operation-layout .responsive-core-table{table-layout:auto}.charger-operation-layout .responsive-core-table th:first-child{width:42%!important}.charger-operation-layout .responsive-core-table th:nth-child(2){width:18%!important}.charger-operation-layout .responsive-core-table th:nth-child(4){width:40%!important}.charger-operation-layout .responsive-core-table .badge{white-space:nowrap}}.station-power-usage{display:grid;gap:.3rem;min-width:0}.station-power-usage strong{font-size:var(--text-md)}.station-power-usage.compact{min-width:6.5rem}.station-power-usage.compact strong,.station-power-usage.compact>span{white-space:nowrap}.station-list-panel .station-power-usage.compact strong small{display:inline;margin:0}.station-power-usage strong small,.station-power-usage>span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-regular)}.station-power-track{width:100%;height:.3rem;overflow:hidden;background:var(--line);border-radius:999px}.station-power-track i{display:block;height:100%;background:var(--accent)}.station-power-usage.exceeded strong,.station-power-usage.exceeded>span,.station-power-alert{color:var(--danger)}.station-power-usage.exceeded .station-power-track i{background:var(--danger)}.station-power-alert{display:block;margin-top:.25rem;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.station-power-summary .station-power-usage{grid-column:2}.station-charger-counts{display:grid;grid-template-columns:repeat(4,minmax(2.5rem,auto));gap:.375rem}.station-charger-counts>span{display:grid;gap:.125rem;font-weight:var(--weight-semibold)}.station-charger-counts>span.fault{color:var(--danger)}.station-charger-counts small{margin:0;font-size:var(--text-2xs);font-weight:var(--weight-regular)}@media(max-width:70rem){.station-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.responsive-core-table .responsive-tertiary{display:none}.resizable-table{min-width:min(100%,52rem)}.column-resizer{display:none}}@media(max-width:44rem){.station-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.station-filters .search,.station-filters .applied-filter-summary,.applied-filter-summary{grid-column:1 / -1}.station-filters>.filter-reset{justify-self:stretch}.responsive-core-table,.station-list-panel .responsive-core-table{width:100%;min-width:100%;table-layout:fixed}.responsive-core-table .responsive-secondary{display:none}.responsive-core-table th,.responsive-core-table td{width:auto!important;padding-right:.5rem;padding-left:.5rem}.responsive-core-table th:first-child,.responsive-core-table td:first-child{width:42%!important}.charger-operation-layout .responsive-core-table{table-layout:auto}.station-responsive-table th:nth-child(5),.station-responsive-table td:nth-child(5){width:40%!important}.station-responsive-table th:nth-child(7),.station-responsive-table td:nth-child(7){width:18%!important}.mobile-row-summary{display:block}.ocpp-log-table th:nth-child(4),.ocpp-log-table td:nth-child(4){display:none}}.station-list-panel td small{display:block;margin-top:.1875rem;color:var(--muted)}.station-editor-panel{width:min(48rem,calc(100vw - 2rem))}.station-editor-panel .management-form{height:auto;gap:.75rem}.station-editor-panel fieldset{min-width:0;margin:0;padding:1rem;border:1px solid var(--line);border-radius:.5rem}.station-editor-panel legend{padding:0 .375rem;font-weight:var(--weight-semibold)}.station-wide-field{grid-column:1 / -1;overflow-wrap:anywhere}.station-editor-panel .management-form footer{position:sticky;bottom:-1rem;background:var(--panel);z-index:1}.station-editor-panel .management-form footer button[type=button]{color:var(--muted);background:var(--button-background);border:1px solid var(--line)}.station-editor-panel .management-form footer button[type=submit]{color:var(--on-primary);background:var(--primary);border:1px solid var(--primary)}.station-editor-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:640px){.station-editor-panel .form-grid{grid-template-columns:minmax(0,1fr)}}.registration-modal{width:min(42rem,calc(100vw - 2rem))}.registration-modal .management-form{height:auto}.registration-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .checkbox-field{display:flex;align-items:center;align-self:end;flex-direction:row;min-height:2.375rem;padding:0 .625rem;border:1px solid var(--line-strong);border-radius:.375rem}.form-grid .checkbox-field input{width:1rem;height:1rem;padding:0}@media(max-width:44rem){.registration-modal .form-grid{grid-template-columns:1fr}.registration-modal .management-form footer{align-items:stretch;flex-direction:column}}.confirm-modal h3,.confirm-modal p{margin:0}.confirm-modal p,.confirm-modal label span{color:var(--muted);font-size:var(--text-base)}.confirm-modal label{display:grid;gap:.375rem}.confirm-modal input{height:2.5rem;padding:0 .625rem;border:1px solid var(--line-strong);border-radius:.375rem}.confirm-modal>div{display:flex;justify-content:flex-end;gap:.5rem}.confirm-modal button{display:inline-flex;align-items:center;gap:.375rem;min-height:2.25rem;padding:0 .75rem;border:1px solid var(--line-strong);border-radius:.375rem;cursor:pointer}.confirm-modal button[type=submit]{color:var(--panel);background:var(--primary);border-color:var(--primary)}.dashboard-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:.5rem;overflow-x:auto}.dashboard-controls label{display:grid;gap:.25rem;color:var(--muted);font-size:var(--text-sm)}.dashboard-controls select{min-width:7.5rem}tbody tr[role=button]{cursor:pointer}tbody tr[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.detail-modal.bulk-import-dialog{width:min(56rem,calc(100vw - 2rem));max-height:min(48rem,calc(100dvh - 2rem))}.bulk-import-dialog .detail-modal-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(12rem,1fr);padding:0;overflow:hidden}.bulk-import-hint{display:flex;align-items:center;gap:.5rem;margin:0;padding:.875rem 1.25rem;color:var(--muted);font-size:var(--text-base)}.bulk-import-form,.bulk-import-result>.panel-header{padding:1rem 1.25rem}.bulk-import-form{display:grid;grid-template-columns:auto minmax(16rem,1fr);align-items:end;gap:.75rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bulk-import-form label{display:grid;gap:.35rem}.bulk-import-form input[type=file]{min-width:0;width:100%}.bulk-import-form label span{color:var(--muted);font-size:var(--text-sm)}.bulk-import-form .operation-policy-note,.bulk-import-form footer{grid-column:1 / -1}.bulk-import-form footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.bulk-import-result{display:flex;min-height:0;flex-direction:column}.bulk-import-result .table-scroll{min-height:0}@media(max-width:48rem){.bulk-import-form{grid-template-columns:minmax(0,1fr)}.bulk-import-form .operation-policy-note,.bulk-import-form footer{grid-column:auto}}@media(max-width:70rem),(max-height:42rem){.bulk-import-dialog .detail-modal-body{display:block;overflow:auto}.bulk-import-result .table-scroll{max-height:clamp(10rem,35dvh,18rem)}}.virtual-spacer-row,.virtual-spacer-row:hover{background:transparent!important;box-shadow:none!important;pointer-events:none}.virtual-spacer-row>td{padding:0!important;border:0!important}.ocpp-payload-modal{width:min(58rem,calc(100vw - 2rem))}.ocpp-payload-detail{display:grid;gap:.75rem;min-height:0}.ocpp-payload-detail>span{color:var(--muted);font-size:var(--text-sm)}.ocpp-payload-detail pre{min-height:12rem;max-height:min(62dvh,42rem);margin:0;padding:1rem;overflow:auto;color:var(--nav-text);background:var(--nav);border-radius:.375rem;font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.registration-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) 160px;gap:10px;padding:14px}.registration-grid label{display:grid;gap:6px}.registration-grid label span{color:var(--muted);font-size:var(--text-sm)}.registration-grid input{width:100%;height:36px;padding:0 10px;color:var(--ink);background:var(--surface-muted);border:1px solid var(--line);border-radius:6px}.registration-grid button{align-self:end;height:36px;color:var(--panel);background:var(--primary);border:1px solid var(--primary);border-radius:6px;cursor:pointer}.empty{color:var(--muted);font-size:var(--text-base)}@media(max-width:80rem){.station-management-layout{grid-template-columns:1fr;grid-template-rows:minmax(18rem,.8fr) minmax(24rem,1.2fr);overflow:auto}}@media(max-width:70rem){.toast-region{top:4.5rem}.app{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.app.rail-collapsed{grid-template-columns:1fr}.rail{position:fixed;inset:0 0 0 auto;z-index:80;width:min(18rem,calc(100vw - 2.5rem));height:100dvh;min-height:0;padding:1rem;gap:1rem;overflow:hidden;box-shadow:-.75rem 0 2rem var(--shadow-strong);transform:translate(105%);transition:transform .18s ease}.app.mobile-menu-open .rail{transform:translate(0)}.mobile-appbar{position:fixed;top:.875rem;right:.875rem;z-index:60;display:block}.mobile-menu-trigger,.mobile-menu-close{display:grid;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;padding:0;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:.375rem;cursor:pointer;place-items:center}.mobile-menu-trigger{box-shadow:0 .375rem 1rem var(--shadow-color)}.mobile-menu-close{color:var(--line);background:transparent;border-color:var(--muted)}.mobile-nav-backdrop{position:fixed;inset:0;z-index:70;display:block;padding:0;background:var(--overlay);border:0}.brand{min-height:36px}.rail-toggle{display:none}.brand-mark{width:30px;height:30px}.nav{display:grid;width:auto;overflow-x:hidden;overflow-y:auto}.app.rail-collapsed>.rail .nav{width:auto;margin-right:0;padding-right:0}.nav-group{display:grid;margin:.4375rem 0;padding:.5rem 0;border-top:1px solid var(--text-secondary)}.nav-group-label{display:flex}.rail-footer{position:static;display:grid;margin-top:auto}.app.rail-collapsed>.rail .brand-copy,.app.rail-collapsed>.rail .nav-button span,.app.rail-collapsed>.rail .account-copy,.app.rail-collapsed>.rail .account-chevron{display:block}.app.rail-collapsed>.rail .nav-group-label{display:flex}.account-trigger,.app.rail-collapsed>.rail .account-trigger{display:grid;grid-template-columns:1.25rem minmax(0,1fr) 1rem;justify-items:stretch;width:100%;min-height:3rem;padding:.375rem .625rem}.account-popover,.app.rail-collapsed>.rail .account-popover{top:auto;right:auto;bottom:calc(100% + .5rem);left:0;width:100%}.nav-button{width:100%;padding:0 .625rem}.app.rail-collapsed>.rail .nav-button{justify-content:flex-start}.app.rail-collapsed>.rail .rail-header{flex-direction:row;justify-content:space-between}.app.rail-collapsed>.rail .nav-group{border-top:1px solid var(--nav-line)}.app.rail-collapsed>.rail .nav-group.collapsed .nav-group-items{display:grid}.workspace{grid-row:1}.topbar-actions{margin-right:3.25rem}.workspace{height:100%;padding:14px}.workspace-body{overflow:auto}.metric-strip,.flow-steps,.registration-grid,.config-grid,.simulator-actions,.simulator-log-tools{grid-template-columns:1fr;flex-direction:column}.inline-create-form,.form-grid,.settings-grid{grid-template-columns:1fr 1fr}.system-runtime-grid{grid-template-columns:1fr}.simulation-execution-grid{grid-template-columns:1fr;padding-right:1rem;padding-left:1rem}.metric-strip{grid-template-columns:repeat(2,minmax(140px,1fr))}.split,.operation-layout{grid-template-columns:1fr;height:auto}.split{grid-template-rows:minmax(24rem,1fr) auto}.operation-layout{grid-template-rows:clamp(24rem,55dvh,40rem) auto}.charger-operation-layout.detail-collapsed{grid-template-rows:clamp(24rem,55dvh,40rem)}.charger-detail-mobile-collapse{position:sticky;top:0;z-index:2;display:flex;float:right;margin-bottom:-2.25rem;margin-left:auto}.dashboard-shell,.dashboard-grid{height:auto}.dashboard-shell .table-panel{min-height:24rem}.acceptance-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}.ocpp-log-layout,.tariff-layout{display:grid;grid-template-columns:minmax(18rem,.55fr) minmax(32rem,1.45fr);gap:.75rem;height:100%;min-height:0}.ocpp-log-layout>.panel,.tariff-layout>.panel{min-width:0;min-height:0}.ocpp-charger-panel,.ocpp-activity-panel,.tariff-history{display:grid;grid-template-rows:auto auto minmax(0,1fr)}.ocpp-activity-panel{grid-template-rows:auto auto minmax(0,1fr)}.ocpp-view-tabs{display:flex;gap:.25rem;padding:0 .75rem;border-bottom:1px solid var(--line)}.ocpp-view-tabs button{min-height:2.5rem;padding:0 .75rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted)}.ocpp-view-tabs button.active{border-bottom-color:var(--accent);color:var(--ink);font-weight:var(--weight-semibold)}.ocpp-log-content{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.ocpp-command-scroll{min-height:0;padding:.875rem;overflow:auto}.ocpp-command-status,.ocpp-basic-command-actions,.ocpp-basic-command-form{display:flex;align-items:center;gap:.625rem}.ocpp-command-status{justify-content:space-between;margin-bottom:.75rem;color:var(--muted);font-size:var(--text-sm)}.ocpp-basic-commands{display:grid;gap:.75rem;margin-bottom:.875rem;padding:.875rem;border:1px solid var(--line);border-radius:.375rem}.ocpp-basic-commands header h3,.ocpp-basic-commands header span{margin:0}.remote-start-progress{display:grid;gap:.625rem;padding:.75rem;border:1px solid var(--line);border-radius:.375rem;background:var(--surface-soft);overflow-wrap:anywhere}.remote-start-progress ol{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin:0;padding-left:1.25rem}.remote-start-progress p{margin:0}.remote-start-progress small{color:var(--muted)}.ocpp-basic-commands header span{color:var(--muted);font-size:var(--text-sm)}.ocpp-basic-command-form{align-items:end}.ocpp-basic-command-form label{display:grid;flex:1 1 12rem;gap:.25rem}.ocpp-basic-command-form label:first-child{flex:0 0 7rem}@media(max-width:48rem){.ocpp-basic-command-form label,.ocpp-basic-command-form label:first-child{flex:none;align-content:start}.ocpp-basic-command-actions{align-items:stretch}.ocpp-basic-command-actions button{min-height:2.5rem}}.ocpp-basic-command-form span{color:var(--muted);font-size:var(--text-sm)}.ocpp-basic-command-actions button,.active-filter-chip{display:inline-flex;align-items:center;justify-content:center;gap:.375rem}.active-filter-chip{min-height:2.125rem;padding:0 .625rem;border:1px solid var(--muted);border-radius:1rem;background:var(--surface-soft);color:var(--accent);white-space:nowrap}.ocpp-log-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.625rem .75rem;border-bottom:1px solid var(--line)}.ocpp-log-search input,.ocpp-log-toolbar input{min-width:0}.ocpp-log-search button,.tariff-editor button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem}.ocpp-log-toolbar{display:flex;align-items:end;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--text-sm)}.ocpp-log-toolbar label{display:grid;gap:.25rem}.ocpp-log-table{min-width:58rem}.ocpp-log-table .icon-button.compact{width:1.75rem;height:1.75rem;min-width:1.75rem}.ocpp-log-empty-row>td{height:clamp(18rem,52vh,38rem);padding:0;background:var(--panel)}.ocpp-log-empty-row:hover{background:transparent}.ocpp-log-empty-state{display:grid;align-content:center;justify-items:center;min-height:100%;padding:2rem;color:var(--ink);font-family:var(--font-ui);text-align:center}.ocpp-log-empty-icon{display:grid;width:3.25rem;height:3.25rem;margin-bottom:.875rem;place-items:center;color:var(--accent);background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:50%}.ocpp-log-empty-state h3{margin:0;font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:0}.ocpp-log-empty-state p{max-width:28rem;margin:.5rem 0 0;color:var(--muted);font-size:var(--text-base);line-height:1.6}.ocpp-log-empty-state button{display:inline-flex;align-items:center;gap:.375rem;min-height:2.125rem;margin-top:1rem;padding:0 .75rem;color:var(--accent);background:var(--button-background);border:1px solid var(--muted);border-radius:.3125rem;cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.ocpp-log-empty-state button:hover{background:var(--surface-soft)}.ocpp-payload-row>td{padding:0;background:var(--paper)}.ocpp-payload-row>td>div{display:grid;gap:.5rem;padding:.75rem 1rem 1rem 3rem}.ocpp-payload-row span{color:var(--muted);font-size:var(--text-sm)}.ocpp-payload-row pre{max-height:20rem;margin:0;padding:.75rem;overflow:auto;border:1px solid var(--line);border-radius:.25rem;background:var(--panel);color:var(--ink);font:.75rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.ocpp-direction{display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}.ocpp-direction.cp_to_csms,.ocpp-direction.csms_to_cp{color:var(--accent)}.tariff-layout{grid-template-columns:minmax(27rem,.72fr) minmax(38rem,1.55fr)}.tariff-editor{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}.tariff-editor-header{display:flex;align-items:center;gap:.75rem;min-height:4.25rem;padding:.875rem 1rem;border-bottom:1px solid var(--line)}.tariff-header-icon{display:grid;flex:0 0 auto;width:2.25rem;height:2.25rem;place-items:center;color:var(--accent);background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:.375rem}.tariff-editor-header h2,.tariff-editor-header p{margin:0}.tariff-editor-header h2{font-size:var(--text-lg)}.tariff-editor-header p{margin-top:.2rem;color:var(--muted);font-size:var(--text-sm)}.tariff-editor form{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}.tariff-form-scroll{min-height:0;padding:1rem;overflow-y:auto;scrollbar-gutter:stable}.tariff-form-section,.tariff-editor label,.tariff-band-time{display:grid;gap:.625rem}.tariff-form-section+.tariff-form-section{margin-top:1.125rem;padding-top:1.125rem;border-top:1px solid var(--line)}.tariff-section-title{display:flex;align-items:center;gap:.45rem;color:var(--text-secondary);font-size:var(--text-base)}.tariff-section-title svg{color:var(--accent)}.tariff-section-title>button{min-height:2rem;margin-left:auto;padding:0 .625rem;color:var(--accent);background:var(--button-background);border:1px solid var(--muted);border-radius:.3rem;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.tariff-editor label>span,.tariff-band-time>span{color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.tariff-editor input,.tariff-editor select,.tariff-editor textarea{min-width:0;min-height:2.5rem;padding:.5rem .625rem;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:.375rem}.tariff-editor input:hover,.tariff-editor select:hover,.tariff-editor textarea:hover{border-color:var(--muted)}.tariff-editor input:focus,.tariff-editor select:focus,.tariff-editor textarea:focus{border-color:var(--accent);outline:2px solid var(--line);outline-offset:0}.tariff-editor textarea{resize:vertical}.charger-multi-select{display:grid;gap:.5rem;min-width:0}.charger-multi-select-label{color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.charger-selection-chips{display:flex;flex-wrap:wrap;gap:.375rem}.charger-selection-chips>span{display:inline-flex;min-height:1.8rem;align-items:center;gap:.25rem;padding:.15rem .25rem .15rem .55rem;color:var(--accent);background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:1rem;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.charger-selection-chips button{display:grid;width:1.35rem;height:1.35rem;padding:0;place-items:center;color:inherit;background:transparent;border:0;border-radius:50%}.charger-selection-chips button:hover{background:var(--line)}.charger-selection-empty{margin:0;color:var(--muted);font-size:var(--text-sm)}.charger-search-input{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.4rem;padding:0 .625rem;background:var(--panel);border:1px solid var(--line-strong);border-radius:.375rem}.charger-search-input:focus-within{border-color:var(--accent);outline:2px solid var(--line)}.charger-search-input input{min-height:2.5rem;padding:0;border:0;outline:0}.charger-search-results{max-height:13rem;overflow:auto;border:1px solid var(--line);border-radius:.375rem}.charger-search-results>button{display:flex;width:100%;min-height:2.8rem;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .625rem;color:var(--ink);background:var(--panel);border:0;border-bottom:1px solid var(--surface-soft);text-align:left}.charger-search-results>button:last-of-type{border-bottom:0}.charger-search-results>button:hover,.charger-search-results>button.selected{background:var(--surface-soft)}.charger-search-results>button span{min-width:0}.charger-search-results strong,.charger-search-results small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.charger-search-results strong{font-size:var(--text-sm)}.charger-search-results small{margin-top:.15rem;color:var(--muted);font-size:var(--text-xs)}.charger-search-results>p{margin:0;padding:1rem;color:var(--muted);font-size:var(--text-sm);text-align:center}.charger-search-error{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--danger);font-size:var(--text-xs)}.charger-search-error button,.charger-search-more{min-height:2rem;padding:0 .625rem;color:var(--accent);background:var(--button-background);border:1px solid var(--muted);border-radius:.3rem;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.charger-search-more{justify-self:start}.tariff-timeline{display:grid;gap:.45rem;padding:.75rem;background:var(--surface-muted);border:1px solid var(--line);border-radius:.375rem}.tariff-timeline>header,.tariff-calculation-preview>header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.tariff-timeline>header strong,.tariff-calculation-preview>header strong{font-size:var(--text-sm)}.tariff-timeline>header span,.tariff-calculation-preview>header span{color:var(--muted);font-size:var(--text-xs)}.tariff-timeline-scale{display:flex;justify-content:space-between;margin-left:3.25rem;color:var(--muted);font-size:var(--text-2xs)}.tariff-timeline-row{display:grid;grid-template-columns:2.75rem minmax(0,1fr);align-items:center;gap:.5rem}.tariff-timeline-row>strong{font-size:var(--text-xs)}.tariff-timeline-track{position:relative;height:1.5rem;overflow:hidden;background:repeating-linear-gradient(135deg,var(--surface-soft) 0,var(--surface-soft) .3rem,var(--surface-muted) .3rem,var(--surface-muted) .6rem);border:1px solid var(--line);border-radius:.2rem}.tariff-timeline-track>span{position:absolute;top:0;bottom:0}.tariff-timeline-track .gap{z-index:1;background:transparent}.tariff-timeline-track .band{z-index:2;border-right:1px solid var(--surface-translucent);background:var(--chart-4)}.tariff-timeline-track .band-1{background:var(--chart-1)}.tariff-timeline-track .band-2{background:var(--chart-2)}.tariff-timeline-track .band-3{background:var(--chart-3)}.tariff-timeline-track .overlap{z-index:3;background:repeating-linear-gradient(135deg,var(--danger) 0,var(--danger) .25rem,var(--danger-soft) .25rem,var(--danger-soft) .5rem)}.tariff-band-validation{padding:.55rem .625rem;color:var(--warning);background:var(--surface-soft);border-left:.1875rem solid var(--warning);font-size:var(--text-xs);line-height:1.45}.tariff-band-validation.error{color:var(--danger);background:var(--surface-soft);border-left-color:var(--danger)}.tariff-calculation-preview{display:grid;gap:.625rem;padding:.75rem;background:var(--surface-soft);border:1px solid var(--line);border-radius:.375rem}.tariff-preview-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.tariff-preview-controls label{gap:.25rem}.tariff-preview-controls input,.tariff-preview-controls select{min-height:2.1rem;padding:.35rem .45rem;font-size:var(--text-sm)}.tariff-preview-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.tariff-preview-results article{padding:.625rem;background:var(--panel);border:1px solid var(--line);border-radius:.3rem}.tariff-preview-results article>header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:.45rem;border-bottom:1px solid var(--surface-soft);font-size:var(--text-xs)}.tariff-preview-results article>header span{color:var(--accent);font-weight:var(--weight-semibold)}.tariff-preview-results dl{display:grid;gap:.25rem;margin:.45rem 0 0}.tariff-preview-results dl>div{display:flex;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:var(--text-xs)}.tariff-preview-results dt,.tariff-preview-results dd{margin:0}.tariff-preview-results .total{margin-top:.2rem;padding-top:.35rem;color:var(--ink);border-top:1px solid var(--line);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.tariff-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.tariff-price-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden;background:var(--surface-muted);border:1px solid var(--muted);border-radius:.375rem}.tariff-price-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--line)}.tariff-price-input input{min-height:3rem;padding:0 .75rem;border:0;border-radius:0;font-size:var(--text-heading-sm);font-weight:var(--weight-semibold);text-align:right}.tariff-price-input input:focus{outline:0}.tariff-price-input>span{padding:0 .75rem;color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap}.tariff-scope{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--line-strong);border-radius:.375rem;background:var(--surface-soft)}.tariff-scope button{min-height:2.5rem;padding:0 .5rem;color:var(--muted);border:0;border-right:1px solid var(--line);background:transparent;cursor:pointer;font-size:var(--text-sm)}.tariff-scope button:last-child{border-right:0}.tariff-scope button.active{color:var(--panel);background:var(--accent);box-shadow:none;font-weight:var(--weight-semibold)}.tariff-scope-hint,.tariff-rule{display:flex;align-items:flex-start;gap:.4rem;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.tariff-scope-hint svg,.tariff-rule svg{flex:0 0 auto;margin-top:.1rem}.tariff-audit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.tariff-audit-fields .tariff-section-title{grid-column:1 / -1}.tariff-rule{margin-top:1rem;padding:.625rem .75rem;color:var(--muted);background:var(--surface-soft);border-left:.1875rem solid var(--muted)}.tariff-editor footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:4.25rem;padding:.75rem 1rem;background:var(--panel);border-top:1px solid var(--line)}.tariff-editor footer>span{min-height:1.125rem;color:var(--muted);font-size:var(--text-sm)}.tariff-editor footer>span.success{color:var(--success)}.tariff-editor footer>span.error{color:var(--danger)}.tariff-editor footer button{min-height:2.5rem;padding:0 1rem;color:var(--panel);background:var(--primary);border:0;border-radius:.375rem;cursor:pointer;font-weight:var(--weight-semibold)}.tariff-editor footer button:disabled{cursor:wait;opacity:.6}.tariff-history{grid-template-rows:auto minmax(0,1fr)}.tariff-history .panel-header>div{min-width:0}.tariff-history-count{flex:0 0 auto;min-width:3rem;padding:.35rem .625rem;color:var(--accent);background:var(--surface-soft);border:1px solid var(--line);border-radius:1rem;font-size:var(--text-sm);text-align:center}.tariff-history table{min-width:58rem}.tariff-history-price{color:var(--accent);font-size:var(--text-md);white-space:nowrap}.tariff-history td small{margin-left:.2rem;color:var(--muted);font-size:var(--text-xs)}.tariff-empty-row>td{height:clamp(20rem,56vh,42rem);padding:0;background:var(--panel)}.tariff-empty-state{display:grid;align-content:center;justify-items:center;min-height:100%;padding:2rem;font-family:var(--font-ui);text-align:center}.tariff-empty-state>span{display:grid;width:3.25rem;height:3.25rem;margin-bottom:.875rem;place-items:center;color:var(--accent);background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:50%}.tariff-empty-state h3{margin:0;color:var(--ink);font-size:var(--text-xl)}.tariff-empty-state p{max-width:26rem;margin:.5rem 0 0;color:var(--muted);font-size:var(--text-base);line-height:1.6}.dashboard-tariff-warning{margin:-.25rem 0 0;color:var(--warning);font-size:var(--text-sm)}.dashboard-live-scope{margin-right:auto;color:var(--muted);font-size:var(--text-base);font-weight:var(--weight-semibold)}.report-management-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;height:100%;overflow:hidden;border:1px solid var(--line);border-radius:.35rem;background:var(--panel)}.report-management-shell>.management-tabs{display:flex;gap:.25rem;padding:.4rem .6rem 0;border-bottom:1px solid var(--line);background:var(--surface-muted)}.report-management-shell>.management-tabs button{display:inline-flex;min-height:2.45rem;align-items:center;gap:.4rem;padding:0 .85rem;border:0;border-bottom:.15rem solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer}.report-management-shell>.management-tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.report-period-toolbar{display:flex;min-width:0;align-items:end;gap:.6rem;padding:.65rem .75rem;border-bottom:1px solid var(--line)}.report-period-toolbar label{display:grid;gap:.2rem;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.report-period-toolbar input{min-height:2.25rem;padding:.35rem .55rem;border:1px solid var(--line-strong);border-radius:.25rem;background:var(--panel);color:var(--ink);font:inherit}.report-period-toolbar button{display:inline-flex;min-height:2.25rem;align-items:center;gap:.35rem}.report-period-toolbar>span{min-width:0;margin-left:auto;font-size:var(--text-sm);overflow-wrap:anywhere}.inline-feedback.success{color:var(--success)}.inline-feedback.error{color:var(--danger)}@media(max-width:48rem){.report-period-toolbar{flex-wrap:wrap}.report-period-toolbar>.inline-feedback{flex-basis:100%;margin-left:0}}.report-summary-scroll{min-height:0;padding:.85rem;overflow:auto}.report-summary-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.report-summary-header h2,.report-summary-header p{margin:0}.report-summary-header h2{font-size:var(--text-xl)}.report-summary-header p,.report-summary-header small{color:var(--muted);font-size:var(--text-sm)}.report-metric-section{min-width:0;padding:.8rem;border:1px solid var(--line);border-radius:.3rem;background:var(--panel)}.report-metric-section+.report-metric-section{margin-top:.65rem}.report-metric-section h3{display:flex;align-items:center;gap:.4rem;margin:0 0 .65rem;color:var(--accent);font-size:var(--text-base)}.report-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.report-metric{position:relative;min-width:0;padding:.65rem .75rem;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--panel)}.report-metric.warning{color:var(--warning);background:color-mix(in srgb,var(--warning) 6%,var(--panel))}.roaming-record-actions{display:grid;justify-items:start;gap:.5rem}.report-metric>span{display:block;color:var(--muted);font-size:var(--text-sm)}.report-metric strong{display:block;margin-top:.25rem;font-size:var(--text-heading);font-variant-numeric:tabular-nums}.report-metric strong small{margin-left:.2rem;color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.report-metric em{color:var(--accent);font-size:var(--text-xs);font-style:normal}.report-summary-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.65rem}.report-summary-columns .report-metric-section{margin-top:0}.report-definition-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.report-definition-list>div{display:flex;min-width:0;justify-content:space-between;gap:.75rem;padding:.55rem;border-top:1px solid var(--line)}.report-definition-list dt{color:var(--muted);font-size:var(--text-sm)}.report-definition-list dd{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}@media(max-width:70rem){.report-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-columns{grid-template-columns:1fr}}@media(max-width:42rem){.report-metric-grid,.report-definition-list{grid-template-columns:1fr}}.report-state{display:grid;min-height:12rem;place-content:center;justify-items:center;gap:.6rem;color:var(--muted);font-size:var(--text-base)}.report-management-shell>.operations-management-layout{border:0}.report-management-shell>.operations-management-layout.report-export-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(18rem,1fr);overflow:auto}.report-create-disclosure{min-width:0;border:1px solid var(--line);background:var(--panel)}.report-management-shell>.report-export-workspace.has-linked-record{grid-template-rows:auto auto minmax(18rem,1fr)}.report-create-disclosure .operation-editor-panel{max-height:26rem}.report-export-workspace .operation-history-panel th:last-child,.report-export-workspace .operation-history-panel td:last-child{position:sticky;right:0;background:var(--panel);box-shadow:-1px 0 var(--line);z-index:1}.report-export-workspace .operation-history-panel th:last-child{z-index:2}.report-export-workspace .report-job-actions{flex-wrap:nowrap}.report-export-workspace>.applied-filter-summary{display:block;grid-column:1 / -1;padding:.75rem 1rem;margin:0;line-height:1.6}@media(max-width:44rem){.operation-filters.chargers{grid-template-columns:minmax(0,1fr) auto auto}.operation-filters.chargers .search{grid-column:1 / -1}.charger-advanced-filters{grid-row:auto}.charger-advanced-filters>summary,.report-create-disclosure>summary{min-height:var(--touch-target-height)}}.operations-management-layout,.firmware-management-layout{display:grid;grid-template-columns:minmax(20rem,.72fr) minmax(36rem,1.6fr);gap:.75rem;min-height:0;height:100%;overflow:hidden}.operations-management-layout>.panel,.firmware-management-layout>.panel{min-width:0;min-height:0}.operation-editor-panel,.firmware-command-panel{display:flex;flex-direction:column;overflow:hidden}.operations-management-layout .management-tabs,.firmware-management-layout .management-tabs,.tariff-management-shell>.management-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;padding:.45rem;border-bottom:1px solid var(--line);background:var(--surface-soft)}.operations-management-layout .management-tabs button,.firmware-management-layout .management-tabs button,.tariff-management-shell>.management-tabs button{display:inline-flex;min-width:0;min-height:2.25rem;align-items:center;justify-content:center;gap:.4rem;padding:0 .65rem;border:1px solid transparent;border-radius:.25rem;background:transparent;color:var(--muted);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer}.operations-management-layout .management-tabs button.active,.firmware-management-layout .management-tabs button.active,.tariff-management-shell>.management-tabs button.active{border-color:var(--line-strong);background:var(--button-background);color:var(--accent);box-shadow:0 1px 2px var(--shadow-light)}.operation-editor-panel>header,.firmware-form>header{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-bottom:1px solid var(--line)}.operation-editor-panel h2,.firmware-form h2{margin:0;font-size:var(--text-xl)}.operation-editor-panel header p,.firmware-form header p{margin:.2rem 0 0;color:var(--muted);font-size:var(--text-sm)}.operation-editor-panel form,.firmware-form{display:flex;flex:1;min-height:0;flex-direction:column;gap:.875rem;padding:1rem;overflow:auto}.operation-editor-panel label,.firmware-form label{display:grid;gap:.35rem;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.operation-editor-panel input,.operation-editor-panel select,.firmware-form input,.firmware-form select,.firmware-form textarea{width:100%;min-width:0;min-height:2.35rem;padding:.45rem .6rem;border:1px solid var(--line-strong);border-radius:.25rem;background:var(--panel);color:var(--ink)}.firmware-form textarea{min-height:7rem;resize:vertical}.operation-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.report-target-picker{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:.625rem}.operation-policy-note{margin:0;padding:.7rem .8rem;border-left:.2rem solid var(--accent);background:var(--surface-soft);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.operation-editor-panel footer,.firmware-form footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--line)}.operation-editor-panel footer>span,.firmware-form footer>span{color:var(--danger);font-size:var(--text-sm)}.operation-editor-panel footer button,.firmware-form footer button{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto}.secondary-button{display:inline-flex;width:fit-content;min-height:2.25rem;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--line-strong);border-radius:.3rem;background:var(--button-background);color:var(--accent);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer}.secondary-button:hover{border-color:var(--muted);background:var(--surface-soft)}.access-management-panel .audit-filter-toolbar{grid-template-columns:minmax(0,1fr) auto auto}.access-management-panel td .navigation-management-actions{flex-wrap:nowrap}.access-management-table{min-width:60rem}.access-management-table td{height:56px;white-space:nowrap}@media(max-width:600px){.access-management-panel>.panel-header{flex-direction:column;align-items:stretch}.access-management-panel>.panel-header .navigation-management-actions{justify-content:flex-end}.access-management-panel .audit-filter-toolbar{grid-template-columns:1fr 1fr}.access-management-panel .audit-filter-toolbar input{grid-column:1 / -1}}.access-management-panel .audit-filter-toolbar input,.access-editor input,.access-editor select,.access-editor textarea{min-width:0;min-height:2.25rem;padding:.5rem;border:1px solid var(--line-strong);border-radius:.3rem;background:var(--panel);color:var(--ink);font:inherit;font-size:var(--text-base)}.access-management-panel>.navigation-management-actions{padding:.75rem 1rem}.access-management-panel .panel-header p{line-height:1.6}.access-editor{width:min(42rem,calc(100vw - 2rem))}.access-editor .management-form{gap:.75rem;padding:1rem;overflow:auto}.access-editor label{display:grid;gap:.375rem}.access-editor em{color:var(--danger);font-style:normal}.operation-history-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.report-history-filter{display:grid;grid-template-columns:minmax(7.5rem,1fr) minmax(6.5rem,.75fr) minmax(10rem,1fr) minmax(10rem,1fr) auto;gap:.4rem;padding:.5rem .65rem;border-bottom:1px solid var(--line);background:var(--surface-muted)}.report-history-filter select,.report-history-filter input{width:100%;min-width:0;min-height:2.1rem;padding:.3rem .45rem;border:1px solid var(--line-strong);border-radius:.25rem;background:var(--panel);color:var(--ink);font:inherit;font-size:var(--text-sm)}.report-history-filter button{display:inline-flex;min-height:2.1rem;align-items:center;gap:.3rem;font-size:var(--text-sm)}.report-history-pagination{display:flex;min-height:2.8rem;align-items:center;justify-content:center;gap:.65rem;border-top:1px solid var(--line);background:var(--panel)}.report-history-pagination button{min-height:2rem;padding:0 .65rem;font-size:var(--text-sm)}.report-history-pagination span{min-width:4rem;color:var(--muted);font-size:var(--text-sm);text-align:center}.operation-history-panel .table-scroll{min-height:0;overflow:auto}.operation-history-panel table{min-width:54rem}.operation-history-panel td small{display:block;margin-top:.2rem;color:var(--muted)}.report-job-actions{display:flex;justify-content:flex-end;gap:.35rem;min-width:2.25rem}.firmware-target-toolbar{display:flex;align-items:end;gap:.5rem}.firmware-target-toolbar label{flex:1}.firmware-target-list{min-height:10rem;max-height:16rem;border:1px solid var(--line);border-radius:.25rem;overflow:auto}.firmware-target-list table{min-width:36rem}.firmware-target-list th:first-child,.firmware-target-list td:first-child{width:2.75rem;text-align:center}.firmware-target-list input[type=checkbox]{width:1rem;min-height:1rem;cursor:pointer}.firmware-target-list tr:not(.disabled-row){cursor:pointer}.firmware-target-list .disabled-row{color:var(--muted);background:var(--surface-muted)}.firmware-load-more{align-self:center;padding:0 .8rem}.version-state{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.version-state.different{color:var(--accent)}.version-state.same{color:var(--muted)}.version-state.unknown{color:var(--warning)}.operation-history-panel:has(.firmware-target-detail){grid-template-rows:auto auto minmax(8rem,1fr) auto minmax(16rem,1fr);overflow:auto}.firmware-target-detail{display:flex;flex-direction:column;min-height:0;overflow:auto;border-top:1px solid var(--line)}.firmware-target-detail>:not(.table-scroll){flex-shrink:0}.firmware-target-detail>header{display:flex;min-height:3.25rem;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;background:var(--surface-muted)}.firmware-target-detail h3{margin:0;font-size:var(--text-md)}.firmware-target-detail header span{color:var(--muted);font-size:var(--text-sm)}.firmware-target-detail .table-scroll{flex:1 1 auto;min-height:6rem;overflow:auto}.firmware-target-detail table{min-width:62rem}.firmware-error-cell{max-width:13rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-range-cell{min-width:10.5rem;color:var(--muted);font-variant-numeric:tabular-nums}.table-empty-state{display:flex;min-height:11rem;align-items:center;justify-content:center;flex-direction:column;gap:.65rem;color:var(--muted);text-align:center}.operation-history-panel .table-empty-state{position:sticky;left:0;width:min(42rem,calc(100vw - 3rem));margin:0 auto}.table-empty-state strong{color:var(--muted);font-size:var(--text-md)}.firmware-command-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.firmware-form>header{margin:-1rem -1rem 0}.firmware-file-field input[type=file]{min-height:2.4rem;padding:.35rem;border:1px dashed var(--muted);background:var(--surface-muted);cursor:pointer}.firmware-file-field small{color:var(--muted);font-size:var(--text-xs)}.firmware-artifact-actions{display:flex;justify-content:flex-end;gap:.3rem}.firmware-artifact-actions .danger{color:var(--danger)}.mono-input,.checksum-cell{font-family:var(--font-ui);font-size:var(--text-sm)}.failed-text{color:var(--danger)!important}.status-chip,.status-pill,.system-health-badge{display:inline-flex;align-items:center;width:fit-content;max-width:100%;margin:0;padding:var(--badge-padding);border:1px solid var(--line-strong);border-radius:var(--badge-radius);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.4;white-space:nowrap}.status-chip.pending,.status-pill.connecting,.system-health-badge.degraded,.system-health-badge.unconfigured,.status-chip.scheduled,.status-chip.quarantined,.status-chip.draft{border-color:var(--warning-line);background:var(--warning-soft);color:var(--warning)}.status-chip.validating,.status-chip.processing,.status-chip.running{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-strong)}.status-chip.completed,.status-chip.succeeded,.status-chip.ready,.status-chip.clean,.status-pill.connected,.system-health-badge.up,.system-health-badge.ready{border-color:var(--success-line);background:var(--success-soft);color:var(--success)}.status-chip.not_applicable,.status-chip.bypassed,.status-chip.stored,.status-chip.cancelled,.status-chip.expired,.status-pill.disconnected{border-color:var(--line-strong);background:var(--surface-muted);color:var(--text-secondary)}.status-chip.infected,.status-chip.failed,.status-chip.partial_failed,.status-pill.error,.system-health-badge.down,.system-health-badge.failed{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}@media(max-width:68rem){.station-management-layout{grid-template-columns:1fr;grid-template-rows:minmax(18rem,.8fr) minmax(38rem,1.2fr);overflow:auto}}@media(max-width:70rem){.ocpp-log-layout,.tariff-layout{grid-template-columns:1fr;grid-template-rows:minmax(18rem,.8fr) minmax(24rem,1.2fr)}.tariff-layout{overflow:auto}.tariff-layout{grid-template-rows:minmax(34rem,.95fr) minmax(28rem,1.05fr)}.member-auth-workspace{grid-template-columns:1fr;grid-template-rows:minmax(20rem,1fr) auto;overflow:auto}.operations-management-layout,.firmware-management-layout{grid-template-columns:1fr;grid-template-rows:minmax(25rem,auto) minmax(28rem,1fr);overflow:auto}.report-history-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.report-history-filter button{justify-content:center}.member-auth-editor .management-form{max-height:28rem}}@media(max-width:44rem){.station-management-layout{grid-template-rows:minmax(18rem,.8fr) minmax(44rem,1.2fr)}.station-detail-summary{grid-template-columns:1fr}.station-detail-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(4.5rem,1fr));padding:0 .25rem;overflow:visible}.station-detail-tabs button{min-width:0;padding:0 .25rem;font-size:var(--text-sm)}.station-detail-tabs em{display:none}.tariff-date-grid,.tariff-audit-fields{grid-template-columns:1fr}.tariff-layout{grid-template-rows:minmax(40rem,auto) minmax(28rem,1fr)}.tariff-editor-header p,.tariff-history .panel-header span{display:none}.tariff-form-scroll{padding:.875rem}.tariff-editor footer{align-items:stretch;flex-direction:column}.tariff-editor footer button{width:100%}.member-auth-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:stretch}.member-auth-tabs button{justify-content:center}.member-auth-filter,.operation-editor-grid,.report-target-picker,.report-history-filter{grid-template-columns:1fr}.operations-management-layout,.firmware-management-layout{grid-template-rows:minmax(30rem,auto) minmax(28rem,1fr)}.operation-history-panel .table-empty-state{margin-left:0;margin-right:0}}@media print{.rail,.topbar,.test-view-tabs,.simulator-config,.physical-command-bar,.physical-test>.action-log{display:none!important}body,#root,.app,.workspace,.workspace-body,.simulator-scroll{height:auto!important;overflow:visible!important;background:var(--panel)!important}.app{display:block}.test-run{margin:0;border-color:var(--muted)}.acceptance-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.workspace{padding:14px}.metric-strip{gap:8px}.inline-create-form,.form-grid,.station-editor-panel .form-grid,.settings-grid,.charger-operation-group{grid-template-columns:1fr}.charger-operation-group label.wide{grid-column:auto}.charger-operation-group>.wide{grid-column:auto}.dashboard-controls{justify-content:flex-start}.panel{overflow:hidden}.detail-panel{overflow-x:hidden;overflow-y:auto}.operation-filters{display:grid;grid-template-columns:repeat(2,minmax(8rem,1fr));align-items:end;max-height:none;overflow:visible}.operation-filters .search{grid-column:1 / -1;min-width:0;width:100%}.filter-field{min-width:0}table{min-width:620px}.station-list-panel table{min-width:100%}.topbar{margin-bottom:12px}.metric-strip{grid-template-columns:1fr 1fr}.system-status-header{align-items:flex-start}.system-status-content{padding:.625rem}.test-run,.physical-test>.action-log{margin-right:.875rem;margin-left:.875rem}.acceptance-timeline{grid-template-columns:1fr}.acceptance-progress{grid-template-columns:1fr 1fr}.acceptance-progress p{grid-column:1 / -1;padding-top:.5rem;padding-left:0;border-top:1px solid var(--line);border-left:0}.password-change-banner{align-items:stretch;flex-direction:column}}.navigation-management-panel{min-height:0;height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden}.navigation-management-panel .panel-header h2{display:flex;align-items:center;gap:.5rem}.navigation-management-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.navigation-management-actions .secondary-button{min-height:2.25rem}.change-count{min-width:5rem;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-align:right}.change-count.active{color:var(--accent)}.navigation-management-scroll{min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain}.navigation-management-head,.navigation-management-row{display:grid;grid-template-columns:minmax(14rem,1fr) 7rem 7rem 8rem 4rem;align-items:center;gap:.5rem;min-width:44rem}.navigation-management-head{position:sticky;top:0;z-index:1;padding:.65rem 1rem;border-bottom:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.navigation-management-group{border-bottom:1px solid var(--line)}.navigation-management-row{min-height:3.25rem;padding:.55rem 1rem}.navigation-management-row.group{background:color-mix(in srgb,var(--panel) 94%,var(--paper))}.navigation-management-row.child{background:color-mix(in srgb,var(--panel) 96%,var(--accent))}.navigation-tree-label{display:flex;align-items:center;gap:.45rem;min-width:0}.navigation-tree-label>span:last-child{min-width:0}.tree-toggle{display:grid;place-items:center;width:1.75rem;height:1.75rem;flex:0 0 auto;border:0;background:transparent;color:var(--muted);cursor:pointer}.tree-toggle:hover{color:var(--ink)}.tree-branch{width:1.75rem;height:1.2rem;margin-left:.35rem;flex:0 0 auto;border-left:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.navigation-management-row strong,.navigation-management-row small{display:block}.navigation-management-row small{margin-top:.15rem;color:var(--muted);font-size:var(--text-sm)}.menu-access-state{justify-self:end;min-width:2.75rem;padding:.25rem .4rem;border:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-bold);text-align:center}.menu-access-state.enabled{border-color:color-mix(in srgb,var(--success) 35%,var(--line));color:var(--success)}.menu-access-state.disabled{background:var(--paper)}.compact-check{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--text-sm)}.compact-check input{inline-size:1rem;block-size:1rem}.navigation-management-footer{display:flex;flex-shrink:0;align-items:center;gap:.4rem;min-height:2.75rem;padding:.6rem 1rem;border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-base)}@media(max-height:42rem){.rail{gap:.375rem;padding:.75rem 1rem}.brand{min-height:2.25rem}.brand-mark{width:2rem;height:2rem}.brand span{display:none}.nav{gap:.125rem}.nav-group{gap:.125rem;margin:.125rem 0;padding:.25rem 0}.nav-group-label{padding:0 .625rem .125rem}.nav-group-items{gap:.125rem}.nav-button{min-height:2.125rem}}@media(max-height:42rem)and (min-width:70.001rem){.workspace{padding:.75rem 1rem}.topbar{min-height:2rem;margin-bottom:.5rem}.workspace-body{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.dashboard-shell,.dashboard-grid{height:auto}.dashboard-shell .table-panel{min-height:24rem}}@media(max-height:36rem)and (min-width:70.001rem){.workspace-body>*{min-height:40rem}}@media(max-width:48rem){.navigation-management-panel>.panel-header{flex-direction:column;align-items:stretch;gap:.75rem}.navigation-management-panel>.panel-header>div{min-width:0}.navigation-management-head{display:none}.navigation-management-row{min-width:0;grid-template-columns:auto auto minmax(0,1fr);gap:.35rem .75rem}.navigation-management-row .navigation-tree-label{grid-column:1 / -1;padding-bottom:.25rem}.navigation-management-row .compact-check{min-height:var(--touch-target-height)}.navigation-management-row .menu-access-state{display:none}.navigation-management-row .tree-toggle{min-height:var(--touch-target-height);min-width:var(--touch-target-height)}.navigation-management-row strong{overflow-wrap:anywhere}.navigation-management-actions{width:100%;justify-content:flex-start}.navigation-management-panel .change-count{flex-basis:100%}.change-count{margin-right:auto;text-align:left}}.fault-statistics{display:grid;grid-template-columns:repeat(6,minmax(6.5rem,1fr));gap:.0625rem;border-block:.0625rem solid var(--line);background:var(--line)}.fault-statistics>div{min-width:0;padding:.625rem .75rem;background:var(--panel)}.fault-statistics span,.fault-statistics strong{display:block}.fault-statistics span{color:var(--muted);font-size:var(--text-sm)}.fault-statistics strong{margin-top:.2rem;font-size:var(--text-lg)}.api-client-create{grid-template-columns:minmax(10rem,1fr) minmax(12rem,.8fr) minmax(20rem,2fr) auto}:is(.user-management-panel,.api-client-panel) table{width:100%;min-width:58rem;table-layout:fixed}:is(.user-management-panel,.api-client-panel) td{height:auto;vertical-align:top;overflow-wrap:anywhere;white-space:normal}:is(.user-management-panel,.api-client-panel) th:first-child{width:26%}.user-management-panel th:last-child{width:23%}.api-client-panel th:nth-child(2){width:24%}.api-client-panel tbody td{padding:.65rem .75rem}.api-client-panel .additional-actions{white-space:nowrap}:is(.user-management-panel,.api-client-panel) td:first-child small{overflow:visible;text-overflow:clip}.user-management-panel .audit-filter-toolbar{grid-template-columns:minmax(0,1fr) auto auto}.user-edit-modal .user-edit-identity{overflow-wrap:anywhere}.user-edit-modal{width:min(40rem,calc(100vw - 2rem));height:auto;max-height:calc(100dvh - 2rem);border:1px solid var(--line);border-radius:.5rem}.user-edit-modal .management-form{height:auto;gap:1rem}.user-edit-modal .management-form>label:has(>span){display:grid;gap:.5rem}.user-edit-modal .management-form input:not([type=checkbox]){width:100%;min-width:0}.user-edit-modal fieldset{min-width:0}.user-edit-modal fieldset label{display:inline-flex;align-items:center;gap:.5rem;margin-right:1rem}.user-edit-modal footer{flex-wrap:wrap;flex-shrink:0}.sensitive-action-modal .sensitive-action-content{display:grid;gap:1rem;overflow-wrap:anywhere}.sensitive-action-modal dl{display:grid;grid-template-columns:minmax(5rem,1fr) minmax(0,3fr);gap:.5rem 1rem;margin:0}.sensitive-action-modal dd{margin:0}.sensitive-action-modal .modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.preference-page .settings-grid{min-width:0;margin:0;border:0}.preference-page footer{flex-wrap:wrap;gap:.75rem}.api-client-panel>header{flex-wrap:wrap;gap:.75rem;flex-shrink:0}.api-client-panel>header>label{display:grid;gap:.375rem;min-width:0}.api-client-panel>.inline-create-form{flex-shrink:0}.api-client-create>label{display:grid;align-content:end;gap:.375rem;min-width:0}.api-client-create>label>span{color:var(--muted);font-size:var(--text-sm)}.api-client-create>label>input{width:100%}@media(max-width:48rem){.user-management-panel .audit-filter-toolbar{grid-template-columns:1fr 1fr}.user-management-panel .audit-filter-toolbar input{grid-column:1 / -1}.user-management-panel .audit-filter-toolbar button{width:100%;justify-self:stretch}}@media(max-width:62rem),(max-height:40rem){.workspace-body:has(>.management-panel>:is(.user-management-panel,.api-client-panel)){overflow-y:auto}.workspace-body>.management-panel:has(>:is(.user-management-panel,.api-client-panel)){height:auto;min-height:100%;overflow:visible}.user-management-panel,.api-client-panel{height:auto;overflow:visible}:is(.user-management-panel,.api-client-panel) .table-scroll{flex:0 0 auto;max-height:min(60dvh,32rem)}}.api-client-create fieldset{display:flex;align-items:center;gap:.75rem;min-width:0;margin:0;padding:.35rem .65rem;border:.0625rem solid var(--line)}.api-client-create legend{padding-inline:.25rem;color:var(--muted);font-size:var(--text-sm)}.api-client-create fieldset label{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;white-space:nowrap;font-size:var(--text-sm)}.api-key-modal code{display:block;overflow-wrap:anywhere;padding:.75rem;border:.0625rem solid var(--line);background:var(--surface-muted);-webkit-user-select:all;user-select:all}.api-key-modal .modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.confirm-modal.embedded{width:100%;padding:0;border:0;box-shadow:none}@media(max-width:80rem){.fault-statistics{grid-template-columns:repeat(3,minmax(6.5rem,1fr))}.api-client-create{grid-template-columns:1fr 1fr}.api-client-create fieldset{grid-column:1 / -1;flex-wrap:wrap}}@media(max-width:48rem){.fault-statistics{grid-template-columns:repeat(2,minmax(6.5rem,1fr))}.api-client-create{grid-template-columns:1fr}.api-client-create fieldset{grid-column:auto}}.consumer-list{list-style:none;margin:0;padding:16px;overflow:auto;max-height:50vh}.consumer-list li{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.consumer-list small{display:block;margin-top:6px}.consumer-list p{margin:6px 0}.consumer-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px}.consumer-management-workspace .management-form{height:auto;flex-shrink:0;gap:.5rem;padding:.75rem 1rem}.consumer-management-workspace .member-auth-editor{display:block;overflow:auto}.consumer-management-workspace .member-auth-editor>p,.consumer-management-workspace .member-auth-editor>h3{margin:.75rem 1rem}.consumer-management-workspace fieldset{min-width:0}.business-use-panel{margin:.75rem 1rem;border-top:1px solid var(--line);padding-top:.75rem}.business-use-panel summary{cursor:pointer;font-weight:600;padding-block:.5rem}.business-use-panel .management-form{padding-inline:0}.business-use-panel .consumer-pager{padding-inline:0;flex-wrap:wrap}.business-use-panel .consumer-pager button,.business-use-panel>button,.business-use-panel .consumer-list button{min-height:2.75rem;padding:.6rem .85rem;border:1px solid var(--button-border);border-radius:var(--control-radius);background:var(--button-background);color:var(--button-text);font:inherit}.registration-model-spec{padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:.5rem}.registration-model-spec h3{margin:0 0 .75rem;font-size:var(--text-xl)}.registration-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.registration-model-grid dt{color:var(--muted);font-size:var(--text-base)}.registration-model-grid dd{margin:.2rem 0 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}@media(max-width:600px){.registration-model-grid{grid-template-columns:1fr}}.charger-profile-group{grid-column:1 / -1;margin:.6rem 0 .2rem}.unpaid-panel,.device-status-panel,.roaming-panel,.batch-status-panel,.common-management-panel{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.roaming-panel>header,.batch-status-panel>header{flex-shrink:0}.roaming-panel .paged-scroll-viewport,.batch-status-panel .paged-scroll-viewport{flex:1;min-height:12rem;overflow:auto}.roaming-panel table,.batch-status-panel table{min-width:50rem}.roaming-panel td small,.batch-status-panel td small{display:block;margin-top:.25rem;color:var(--muted);overflow-wrap:anywhere}.roaming-panel .filter-bar,.batch-status-panel .filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));align-items:end;gap:.6rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);flex-shrink:0}.roaming-panel .filter-bar label,.batch-status-panel .filter-bar label{display:grid;min-width:0;gap:.3rem;font-size:var(--text-base)}.roaming-panel .filter-bar input,.batch-status-panel .filter-bar input,.batch-status-panel .filter-bar select{min-width:0;width:100%;min-height:2.25rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:.3rem;background:var(--panel);font:inherit}.roaming-panel .filter-bar button,.batch-status-panel .filter-bar button{min-height:2.25rem}.batch-status-panel>.applied-filter-summary,.batch-status-panel>details{flex-shrink:0;margin:0;padding:.5rem 1rem;font-size:var(--text-base);color:var(--muted)}.batch-status-panel>details summary{cursor:pointer}.batch-status-panel td{height:80px}@media(max-width:40rem){.batch-status-panel table{min-width:0;width:100%;table-layout:auto}.batch-status-panel thead{display:none}.batch-status-panel tbody,.batch-status-panel tr{display:block}.batch-status-panel tr:not(.virtual-spacer-row){display:flex;flex-direction:column;justify-content:space-between;height:22rem;box-sizing:border-box;border-bottom:1px solid var(--line)}.batch-status-panel td{display:grid;grid-template-columns:minmax(6rem,.8fr) minmax(0,1.2fr);gap:.2rem .5rem;width:auto!important;height:auto;padding:.4rem .5rem;font-size:var(--text-sm)}.batch-status-panel td:before{content:attr(data-label);grid-column:1;grid-row:1 / span 3;color:var(--muted);font-size:var(--text-sm)}.batch-status-panel td>*{grid-column:2}.batch-status-panel td:first-child{width:auto!important}.batch-status-panel td:first-child small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.batch-status-panel td strong{overflow-wrap:anywhere}.batch-status-panel .virtual-spacer-row td{display:block;padding:0;border:0}.batch-status-panel .virtual-spacer-row td:before{display:none}}.unpaid-panel .paged-scroll-viewport,.device-status-panel .paged-scroll-viewport{flex:1;min-height:12rem;overflow:auto}.unpaid-panel table{min-width:58rem}.device-status-panel table{min-width:60rem;table-layout:fixed}.unpaid-panel td small,.device-status-panel td small{display:block;margin-top:.25rem;color:var(--muted);overflow-wrap:anywhere}.unpaid-notice{margin:0;padding:.75rem 1rem;color:var(--muted);font-size:var(--text-base);border-bottom:1px solid var(--line)}.unpaid-filters{display:flex;align-items:end;flex-wrap:wrap;gap:.6rem;padding:.75rem 1rem;border-bottom:1px solid var(--line)}.unpaid-filters label{display:grid;gap:.3rem;font-size:var(--text-base);min-width:0}.unpaid-filters label:first-child{flex:1;min-width:12rem}.unpaid-filters input,.unpaid-filters select{width:100%;min-height:2.25rem;padding:.4rem .6rem;border:1px solid var(--line);border-radius:.3rem;background:var(--panel)}.unpaid-modal{display:flex;flex-direction:column;max-height:min(85vh,48rem)}.unpaid-detail-scroll{overflow:auto;min-height:0;padding:1rem}.unpaid-detail-scroll table{min-width:42rem}.unpaid-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.unpaid-meta dt{color:var(--muted);font-size:var(--text-base)}.unpaid-meta dd{margin:.3rem 0 0;overflow-wrap:anywhere}.device-status-panel>header,.fault-list-panel>header{flex-shrink:0}.device-status-panel .filter-bar,.fault-list-panel .filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);align-items:end;flex-shrink:0}.device-status-panel .filter-bar label,.fault-list-panel .filter-bar label{display:grid;gap:.3rem;min-width:0;font-size:var(--text-base)}.device-status-panel .filter-bar input,.device-status-panel .filter-bar select,.fault-list-panel .filter-bar input,.fault-list-panel .filter-bar select{min-width:0;width:100%;min-height:2.25rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:.3rem;background:var(--panel);font:inherit}.device-status-panel .filter-bar button,.fault-list-panel .filter-bar button{min-height:2.25rem}.fault-list-panel>.business-toolbar{flex-shrink:0;flex-wrap:wrap;min-height:0;height:auto;padding:.6rem 1rem;gap:.5rem}.fault-list-panel>.business-toolbar p{flex:1 1 14rem;margin:0;font-size:var(--text-base)}.fault-list-panel>.business-toolbar button{flex-shrink:0;white-space:nowrap}.fault-list-panel .fault-statistics,.fault-list-panel .list-filter-summary{flex-shrink:0}@media(max-width:48rem){.unpaid-panel,.device-status-panel{min-height:28rem}.unpaid-filters label{flex:1 1 100%;min-width:0}.unpaid-meta{grid-template-columns:1fr}.device-status-panel table{min-width:100%;width:100%}.device-status-panel table th:nth-child(2),.device-status-panel table td:nth-child(2),.device-status-panel table th:nth-child(4),.device-status-panel table td:nth-child(4),.device-status-panel table th:nth-child(5),.device-status-panel table td:nth-child(5){display:none}.device-status-panel table th:first-child,.device-status-panel table td:first-child{width:34%!important}.device-status-panel table th:nth-child(3),.device-status-panel table td:nth-child(3){width:40%}.device-status-panel table th:nth-child(6),.device-status-panel table td:nth-child(6){width:26%}.device-status-panel td,.device-status-panel th{padding:.5rem;font-size:var(--text-sm)}.device-status-panel td button{max-width:100%;overflow-wrap:anywhere}.fault-management-layout,.fault-management-layout.detail-collapsed{height:auto;min-height:100%;overflow:auto;grid-template-rows:minmax(42rem,auto) minmax(24rem,auto)}.fault-management-layout.detail-collapsed{grid-template-rows:minmax(42rem,auto)}.fault-list-panel>.table-scroll{flex:1;min-height:12rem;max-height:clamp(12rem,35dvh,24rem)}.charger-operation-layout,.charger-operation-layout.detail-collapsed{grid-template-rows:minmax(42rem,auto)}.charger-operation-layout:not(.detail-collapsed){grid-template-rows:minmax(42rem,auto) auto}.charger-operation-layout>.table-panel .paged-scroll-viewport{min-height:12rem}}.address-search{min-width:0;width:100%}.address-search-results{height:min(26rem,60dvh);width:100%;overflow:hidden}.address-search p,.charger-installation-address>p{color:var(--muted);font-size:var(--text-sm)}.station-commercial-settings{padding:16px;box-sizing:border-box;min-width:0}.station-commercial-settings form{display:grid;gap:16px}.station-commercial-settings fieldset{min-width:0;border:1px solid var(--border-color, #d1d5db);border-radius:8px;padding:12px}.station-commercial-settings label{display:grid;gap:6px;min-width:0}.station-commercial-settings input{width:100%;min-width:0;box-sizing:border-box}.station-commercial-meter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;margin-bottom:12px}.station-commercial-actions{display:flex;justify-content:flex-end;gap:8px;padding:8px 0}.station-commercial-settings button{min-height:44px}.charger-expiry-badge{display:inline!important;font-size:inherit}.charger-expiry-badge.expired{color:#b42318;font-weight:700}.charger-expiry-badge.soon{color:#854d0e;font-weight:700}.charger-expiry-badge.missing{color:var(--muted)}.charger-profile-check{margin:16px 0;padding:16px 0;border-block:1px solid var(--line)}.profile-check-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-check-heading h4{margin:0;font-size:var(--text-md)}.profile-check-count{color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.charger-profile-check>p{margin:8px 0 12px;color:var(--text-secondary);line-height:1.6}.profile-check-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.profile-check-list li{min-width:0;border-bottom:1px solid var(--line)}.charger-profile-check .profile-check-link{width:100%;min-height:44px;padding:10px 4px;border:0;border-radius:var(--control-radius);background:transparent;justify-content:space-between;gap:8px;text-align:left;font-size:var(--text-md)}.charger-profile-check .profile-check-link:hover:not(:disabled){background:var(--accent-soft)}.profile-check-action{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;color:var(--accent-strong);font-size:var(--text-sm)}@media(max-width:600px){.profile-check-list{grid-template-columns:1fr}}.charger-profile-value{display:grid;gap:.375rem;min-width:0}.charger-profile-value>span{color:var(--muted);font-size:var(--text-sm)}.charger-profile-value>strong{font-size:var(--text-md);font-weight:var(--weight-medium);overflow-wrap:anywhere}.charger-asset-profile>.secondary-button{margin-block:.5rem}.charger-asset-profile .model-edit-fields{min-width:0}.charger-asset-profile footer{flex-wrap:wrap}.charger-csv-download{min-width:0}.charger-csv-download [role=alert]{display:block;max-width:260px;overflow-wrap:anywhere;color:#b42318}@media(max-width:768px){.station-commercial-meter{grid-template-columns:minmax(0,1fr)}}body:has(>.modal-backdrop) .workspace-body{overflow:hidden}@media(max-width:70rem),(max-height:42rem){.workspace-body{overflow-x:hidden;overflow-y:auto}.workspace-body>:is(.usage-history,.statistics-management),.workspace-body :is(.integration-workspace,.integration-workspace-content,.environment-operations){height:auto;min-height:0;overflow:visible}.workspace-body .environment-version-history{overflow:visible}.workspace-body>:is(.usage-history,.statistics-management)>.table-scroll{flex:0 0 auto;height:clamp(14rem,45dvh,28rem);min-height:0}.workspace-body :is(.charger-operation-layout,.fault-management-layout,.tariff-layout,.tariff-template-layout,.member-auth-layout,.member-auth-workspace,.operations-management-layout,.firmware-management-layout.firmware-list-first){height:auto;min-height:0;max-height:none;grid-template-rows:auto;align-items:start;overflow:visible}.workspace-body :is(.charger-operation-layout,.fault-management-layout,.tariff-layout,.tariff-template-layout,.member-auth-workspace,.operations-management-layout,.firmware-management-layout.firmware-list-first)>.panel{height:auto;min-height:0;max-height:none;overflow:visible}.workspace-body :is(.charger-operation-layout,.fault-management-layout,.tariff-layout,.member-auth-workspace,.operations-management-layout,.firmware-management-layout.firmware-list-first)>.panel>.table-scroll,.workspace-body .firmware-target-detail>.table-scroll{flex:0 0 auto;height:clamp(14rem,45dvh,28rem);min-height:0;max-height:none;overscroll-behavior-y:auto}.workspace-body :is(.charger-operation-layout,.fault-management-layout) .detail-panel,.workspace-body .fault-detail-scroll,.workspace-body .tariff-form-scroll,.workspace-body .tariff-template-application .tariff-application-scroll,.workspace-body .tariff-template-layout .tariff-template-editor,.workspace-body .member-auth-editor .management-form,.workspace-body .operation-editor-panel form,.workspace-body .firmware-form,.workspace-body .firmware-target-detail{height:auto;max-height:none;overflow:visible}.workspace-body .operation-history-panel:has(.firmware-target-detail){grid-template-rows:auto;overflow:visible}}.meter-export-range{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;margin:.75rem 0;padding:.75rem;border:1px solid var(--line);border-radius:.5rem;min-width:0}.meter-export-range legend{padding:0 .25rem;font-size:.8rem}.meter-export-range label{display:grid;gap:.35rem;flex:1 1 12rem;min-width:0}.meter-export-range input{width:100%;min-width:0}.meter-export-range small{flex-basis:100%;line-height:1.5}.power-source-summary{display:block;font-size:.75rem;line-height:1.6;font-weight:400;overflow-wrap:anywhere}.meter-export-options summary{cursor:pointer;padding:.65rem 0;font-size:.8rem;overflow-wrap:anywhere}.metric .power-source-summary{grid-column:1 / -1;text-align:left;margin-top:.25rem}.charger-recent-summary>header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem}.charger-recent-summary>header h3{margin:0;padding:0;position:static;background:none;border:0}.charger-recent-summary{padding:.75rem}.charger-recent-links{display:grid;gap:.5rem}:is(#root,.modal-backdrop) .charger-recent-links>button.secondary-button{display:grid;justify-items:start;text-align:left;min-width:0;white-space:normal}.charger-recent-links small{color:var(--muted);font-weight:400}.meter-sample-timing{display:flex;flex-wrap:wrap;gap:.75rem 2rem;margin:.75rem 0 .25rem;padding:.75rem;background:var(--surface-soft);border-radius:.5rem}.meter-sample-timing>div{min-width:0}.meter-sample-timing dt{color:var(--muted);font-size:.8rem}.meter-sample-timing dd{margin:.25rem 0 0;font-weight:600;overflow-wrap:anywhere}.api-client-panel>.api-client-editor-disclosure{flex:0 0 auto;min-width:0}.api-client-editor-disclosure>summary{cursor:pointer;padding:.75rem;color:var(--text-secondary);font-weight:600}.id-tag-billing-binding{border-top:1px solid var(--border-color, #d6deea);padding-block:1rem;margin-top:1rem}.id-tag-billing-binding h3{margin:0 0 .5rem;font-size:1rem}.id-tag-billing-binding p{margin:.5rem 0;overflow-wrap:anywhere}.id-tag-binding-form{display:grid;gap:.875rem}.id-tag-binding-form label{display:grid;gap:.375rem}.id-tag-binding-form p{margin:0;line-height:1.6}
