:root{--paper: #eff2f3;--panel: #ffffff;--ink: #20282e;--muted: #68747c;--line: #d5dde0;--line-strong: #aeb9bf;--cyan: #286d77;--green: #2f7355;--amber: #a16a20;--red: #b1453e;--nav: #252a2e;--nav-soft: #363c40;--focus: #2b7079;font-family:Malgun Gothic,맑은 고딕,Segoe UI,system-ui,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:320px;min-height:100%;background:var(--paper)}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:#edf1f2}.login-panel{width:min(24rem,100%);background:#fff;border:1px solid #d7dde3;border-radius:.5rem;box-shadow:0 1rem 2.5rem #202d3a1f;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:#244d56}.login-brand>div,.login-heading,.login-panel form,.login-panel label{flex-direction:column}.login-brand strong{font-size:1.15rem}.login-brand span{color:#697785;font-size:.75rem}.login-heading{gap:.35rem;margin:2rem 0 1.25rem}.login-heading h1{margin:0;font-size:1.35rem}.login-heading p{margin:0;color:#697785;font-size:.9rem}.login-panel form{gap:1rem}.login-panel label{gap:.4rem;color:#354454;font-size:.82rem;font-weight:600}.login-panel input{min-height:2.75rem;border:1px solid #bcc7d1;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(--green);color:#fff;font-weight:700}.login-panel button:disabled{opacity:.6;cursor:wait}.login-error{margin:1rem 0 0;color:#b42318;font-size:.82rem}.session-check-shell{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:1.25rem;background:#edf1f2;color:#244d56}.session-check-brand{display:flex;flex-direction:column;align-items:center;gap:.2rem}.session-check-brand strong{font-size:1.25rem}.session-check-brand span{color:#697785;font-size:.75rem}.session-check-status{display:inline-flex;align-items:center;gap:.5rem;color:#526170;font-size:.85rem}.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[role=tab]{cursor:pointer}button[role=tab]:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.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:#dce5e8;background:var(--nav);border-right:1px solid #151b1e}.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:#aebbc0;background:transparent;border:1px solid transparent;border-radius:.375rem;cursor:pointer}.rail-toggle:hover{color:#fff;background:var(--nav-soft);border-color:#39464c}.brand{display:flex;align-items:center;gap:12px;min-height:44px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;color:#dffbff;background:var(--green);border:1px solid #5f967a;border-radius:6px}.brand strong,.brand span{display:block}.brand strong{font-size:15px;letter-spacing:0}.brand span{margin-top:2px;color:#91a0a6;font-size:12px}.nav{display:grid;gap:6px;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-color:#65747a transparent;scrollbar-width:thin;overscroll-behavior:contain}.nav::-webkit-scrollbar{width:.375rem}.nav::-webkit-scrollbar-track{background:transparent}.nav::-webkit-scrollbar-thumb{background:#65747a;border-radius:999px}.nav-group{display:grid;gap:4px;margin:7px 0;padding:8px 0;border-top:1px solid #354147}.nav-group-label{display:flex;align-items:center;min-height:40px;padding:0 10px;color:#7f9097;font-size:11px;font-weight:700;text-transform:uppercase}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;color:#7f9097;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:#b8c5ca;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:#fff;background:var(--nav-soft);border-color:#4b555b}.nav-button.active{box-shadow:inset .2rem 0 #62a583}.nav-error{display:grid;gap:.375rem;padding:.625rem;color:#f2c9c9;font-size:.75rem;border:1px solid #74464a;border-radius:.375rem}.nav-error button{justify-self:start;padding:0;color:#fff;background:transparent;border:0;cursor:pointer}.rail-footer{display:grid;gap:.5rem;margin-top:auto;color:#aebbc0;font-size:12px}.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:#dce5e8;text-align:left;background:#202a2f;border:1px solid #39464c;border-radius:.375rem;cursor:pointer}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:var(--nav-soft);border-color:#526168}.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:#fff;font-size:.8125rem}.account-copy small{margin-top:.125rem;color:#91a0a6;font-size:.6875rem}.account-popover{position:absolute;bottom:calc(100% + .5rem);left:0;z-index:30;display:grid;width:100%;min-width:12rem;padding:.375rem;background:#fff;border:1px solid var(--line);border-radius:.375rem;box-shadow:0 .75rem 2rem #0f171c3d}.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:#eef3f4}.account-popover .logout-item{color:var(--red);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(--amber)}.source-dot.api{background:var(--green)}.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:#fff;border:1px solid var(--line-strong);border-left:.25rem solid var(--green);border-radius:.375rem;box-shadow:0 .625rem 1.75rem #12272c2e;pointer-events:auto}.toast.error{border-left-color:var(--red)}.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}.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:.875rem}.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:12px;text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:25px;font-weight:720;letter-spacing:0}h2{font-size:15px;font-weight:700;letter-spacing:0}.icon-button{display:grid;place-items:center;width:38px;height:38px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:6px;cursor:pointer}.language-button{min-width:42px;height:38px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:12px;font-weight:800}.language-button:hover,.icon-button:hover{background:#edf6f7;border-color:#8bbcc4}.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-left:4px solid var(--line-strong);border-radius:6px}.metric.cyan{border-left-color:var(--cyan)}.metric.green{border-left-color:var(--green)}.metric.amber{border-left-color:var(--amber)}.metric.red{border-left-color:var(--red)}.metric-icon{grid-row:1 / 3;display:grid;place-items:center;width:30px;height:30px;color:var(--muted)}.metric span{color:var(--muted);font-size:12px}.metric strong{font-size:22px;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;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:12px}.search{display:flex;align-items:center;gap:8px;width:min(280px,100%);height:34px;padding:0 9px;color:var(--muted);background:#f9fbfb;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:#f8fafb;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}.operation-filters .search{width:100%;min-width:0}.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: 62rem){.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}}.filter-field span{color:var(--muted);font-size:.6875rem;font-weight:700}.filter-field input,.filter-field select{height:2.125rem;min-width:0;padding:0 .625rem;color:var(--ink);background:#fff;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:#fff;border:0;cursor:pointer;white-space:nowrap}.sort-toggle button+button{border-left:1px solid var(--line)}.sort-toggle button.active{color:#fff;background:var(--nav)}.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:13px}th{height:34px;padding:0 14px;color:var(--muted);font-size:11px;font-weight:700;text-align:left;text-transform:uppercase;background:#f8fafb;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(--cyan);background:transparent;border:1px solid var(--line);border-radius:5px;cursor:pointer;font-weight:700}.text-button:hover{background:#edf6f7;border-color:#8bbcc4}.list-progress{display:flex;align-items:center;justify-content:center;gap:.625rem;min-height:42px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.list-progress button{min-height:1.75rem;color:var(--red);border:1px solid currentColor;border-radius:.3125rem}.list-empty{display:grid;min-height:10rem;place-items:center}.list-progress.failed{color:var(--red)}td{height:52px;padding:0 14px;border-bottom:1px solid #edf1f2}tbody tr{cursor:default}tbody tr:hover,tbody tr.selected{background:#f4f9fa}td strong,td span{display:block}td span{margin-top:2px;color:var(--muted);font-size:12px}.mono{font-family:inherit;font-size:12px}.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:.6875rem;font-weight:700}.applied-filter-summary>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.applied-filter-summary>span.active{color:var(--cyan)}.list-filter-summary{grid-column:auto;flex:0 0 auto;min-height:2rem;padding:.25rem .875rem;background:#f8fafb;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}.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(--cyan)}tbody tr[role=button]:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}tbody tr[aria-selected=true] td{background:#edf6f7}.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:700}.business-view-tabs button.active{border-bottom-color:var(--brand);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(--surface);padding:.75rem}.utilization-kpi>span{display:grid;width:2.15rem;height:2.15rem;flex:0 0 auto;place-items:center;background:var(--brand-soft);color:var(--brand)}.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:1.15rem;font-variant-numeric:tabular-nums}.utilization-filter{display:flex;align-items:end;gap:.75rem;border:1px solid var(--line);background:var(--surface);padding:.6rem .75rem}.utilization-filter label{display:grid;gap:.25rem;min-width:9rem}.utilization-filter label span{color:var(--muted);font-size:.72rem}.utilization-filter select{min-height:2.15rem}.utilization-filter p{margin:0 0 .45rem;color:var(--muted);font-size:.72rem}.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(--brand-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-summary{grid-template-columns:1fr}.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(--surface)}.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:.78rem}.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(--surface);color:var(--muted-strong)}.business-period-control button:last-child{border-right:0}.business-period-control button.active{background:var(--brand);color:#fff}.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(--surface)}.business-kpi-icon{grid-row:1 / span 3;display:grid;width:2.25rem;height:2.25rem;place-items:center;background:var(--brand-soft);color:var(--brand)}.business-kpi-icon svg{width:1.1rem}.business-kpi>span{color:var(--muted);font-size:.78rem}.business-kpi>strong{overflow-wrap:anywhere;font-size:clamp(1.25rem,2vw,1.8rem);font-variant-numeric:tabular-nums}.business-kpi>strong small{margin-left:.3rem;color:var(--muted);font-size:.72rem;font-weight:600}.business-kpi>p{margin:0;color:var(--muted);font-size:.72rem}.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(--surface)}.business-panel>header{padding:.85rem 1rem;border-bottom:1px solid var(--line)}.business-panel h2{margin:0;font-size:.95rem}.business-panel header p{margin:.2rem 0 0;color:var(--muted);font-size:.72rem}.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:.76rem}.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(--brand)}.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-soft)}.business-ranking-row:last-child{border-bottom:0}.business-ranking-row>b{color:var(--brand);font-size:.9rem;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:.68rem}.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(--surface)}.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(--surface)}@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(--cyan);color:var(--ink);font-weight:700}.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:.75rem}.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:.78rem}.charger-asset-profile form footer button{display:inline-flex;align-items:center;gap:.35rem}@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:#f3f7f7}.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:.76rem}.business-performance-summary strong{display:block;margin-top:.2rem;color:var(--ink);font-size:.95rem}@media(max-width:52rem){.business-performance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-exception-panel{margin-top:.75rem}.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:2.85rem;padding:.5rem 1rem;border:0;border-bottom:1px solid var(--line);background:var(--panel);color:var(--ink);text-align:left}.dashboard-exception-list>button:hover{background:#f3f7f7}.dashboard-exception-list time{color:var(--muted);font-size:.78rem}.exception-priority{font-size:.75rem;font-weight:700}.exception-priority.p1{color:var(--red)}.exception-priority.p2{color:var(--amber)}@media(max-width:48rem){.dashboard-exception-list>button{grid-template-columns:7rem 1fr}.dashboard-exception-list>button time{grid-column:2}}.tariff-management-shell{min-height:0;display:flex;flex-direction:column;gap:.65rem}.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:.76rem}.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(--cyan);font-weight:700}.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}}.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:#f7f9f9}.firmware-version-compare small,.firmware-version-compare strong{display:block}.firmware-version-compare small{color:var(--muted);font-size:.7rem}.firmware-version-compare em{color:var(--amber);font-size:.72rem;font-style:normal;font-weight:700}.firmware-version-compare em.matched{color:var(--green)}.tariff-template-layout input,.tariff-template-layout select,.tariff-template-layout textarea{min-height:2.5rem;padding:.5rem .625rem;border:1px solid #b9c5ca;border-radius:.375rem;background:#fff;color:var(--ink);font:inherit}.tariff-template-layout input:focus,.tariff-template-layout select:focus,.tariff-template-layout textarea:focus{border-color:var(--green);outline:2px solid #dbece5}.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 #2f6558;border-radius:.35rem;background:#315f58;color:#fff;font:inherit;font-size:.78rem;font-weight:700}.tariff-template-layout button.secondary-button{border-color:#aebbc0;background:#fff;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(--cyan)}.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(--surface)}.regional-heading{display:flex;min-width:0;align-items:center;gap:.7rem;color:var(--brand)}.regional-heading>div{min-width:0}.regional-heading strong,.regional-heading span{display:block}.regional-heading strong{color:var(--text);font-size:.95rem}.regional-heading span{margin-top:.2rem;overflow:hidden;color:var(--muted);font-size:.72rem;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(--surface)}.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(--brand-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:.68rem}.regional-table tr.unknown{cursor:default}.regional-table .fault-value{color:var(--danger);font-weight:700}.regional-state{position:absolute;inset:3rem 0 0;display:grid;place-items:center;align-content:center;gap:.65rem;background:color-mix(in srgb,var(--surface) 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(--surface)}@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:#415057;background:#eef2f3;border:1px solid #d8e0e3;border-radius:999px;font-size:11px;font-weight:700}.status.available,.status.online,.status.sent,.status.accepted,.status.completed{color:var(--green);background:#edf8f1;border-color:#c8e8d3}.status.charging,.status.active,.status.requested{color:var(--cyan);background:#eaf7f8;border-color:#c3e5e8}.status.faulted,.status.failed,.status.rejected{color:var(--red);background:#fff0ef;border-color:#f1c9c5}.status.offline,.status.timeout{color:var(--amber);background:#fff7e9;border-color:#eed8ae}.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:.875rem;background:#fff;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(--cyan)}.detail-title span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.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(--cyan)}.charger-detail-section>header h3{flex:1 1 auto;min-width:0;margin:0;font-size:.875rem}.charger-current-metrics{display:grid;grid-template-columns:repeat(3,minmax(7.5rem,1fr));gap:.5rem}.charger-current-metrics>div{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.15rem .4rem;min-width:0;padding:.7rem;background:#f7faf9;border:1px solid var(--line);border-radius:.375rem}.charger-current-metrics svg{grid-row:1 / 3;margin-top:.15rem;color:var(--green)}.charger-current-metrics span{color:var(--muted);font-size:.6875rem}.charger-current-metrics strong{min-width:0;overflow-wrap:anywhere;font-size:.875rem;line-height:1.35}.charger-session-meta{display:flex;flex-wrap:wrap;gap:.3rem .75rem;margin-top:.6rem;color:var(--muted);font-size:.75rem}.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:.75rem}.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:.8125rem}.firmware-rollout-summary span{color:var(--muted);font-size:.75rem}.fault-count{min-width:1.25rem;padding:.1rem .35rem;color:var(--muted);font-size:.6875rem;text-align:center;background:#f2f5f4;border-radius:999px}.fault-count.active{color:var(--red);background:#fff0ef}.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:#96352e;background:#fff8f7}.async-state-icon{display:grid;width:2.25rem;height:2.25rem;place-items:center;color:#58717a;background:#edf3f4;border-radius:50%}.async-state.error .async-state-icon{color:#96352e;background:#fae9e7}.async-state strong{color:var(--ink);font-size:.8125rem;line-height:1.45}.async-state.error strong{color:#842f29}.async-state p{max-width:30rem;margin:.25rem 0 0;font-size:.75rem;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:#e4ebed;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:#fff4f2}.charger-fault-list strong{min-width:0;overflow-wrap:anywhere;font-size:.8125rem}.charger-fault-list span,.charger-fault-list time,.charger-detail-empty{color:var(--muted);font-size:.75rem}.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:.8rem 0;text-align:center}@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:12px}dd{margin:0;font-size:13px;font-weight:650}.command-pad{display:grid;gap:8px;margin-top:18px}.command-pad button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:38px;color:var(--ink);background:#f8fafb;border:1px solid var(--line-strong);border-radius:6px;cursor:pointer}.command-pad button:hover{background:#edf6f7;border-color:#8bbcc4}.action-log{display:grid;gap:3px;margin-top:14px;padding:10px;background:#f8fafb;border:1px solid var(--line);border-radius:6px}.action-log span{color:var(--muted);font-size:11px;text-transform:uppercase}.action-log strong{font-size:12px}.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:#fff;border:1px solid var(--line-strong);border-radius:.3125rem;cursor:pointer}.action-log.done{border-color:#b9ddc6}.action-log.failed{border-color:#e7b2ad}.panel-action{display:inline-flex;align-items:center;gap:.375rem;min-height:2.25rem;padding:0 .75rem;color:#fff;background:var(--nav);border:1px solid var(--nav);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:14px}.charger-operations-header span{color:var(--muted);font-size:.75rem}.charger-operation-grid,.charger-operation-group{display:grid;gap:8px}.charger-operation-group{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;background:#f8fafb;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 #12282f14;transform:translateY(-1px)}.metric:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.charger-operation-group label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:11px}.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:#fff;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:#fff;border:1px solid var(--line-strong);border-radius:5px;cursor:pointer}.charger-operation-group button.danger-subtle{color:#9f3128}.charger-operation-group button:disabled{cursor:not-allowed;opacity:.5}.operation-feedback{display:grid;gap:4px;margin:0;padding:9px;font-size:12px;border:1px solid var(--line);border-radius:5px}.operation-feedback.success{border-color:#9bcbaa}.operation-feedback.pending,.command-result.pending{border-color:#8dbdc1;background:#f1f9f9}.operation-feedback.error{color:#9f3128;border-color:#e7b2ad}.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:#8b2f28;background:#fff7f5;border:1px solid #e7b2ad;border-radius:.375rem}.charger-connection-notice div{display:grid;gap:.1875rem}.charger-connection-notice span{color:var(--muted);font-size:.75rem}.command-result{display:grid;gap:.375rem;padding:.625rem;border:1px solid var(--line);border-radius:.3125rem}.command-result.success{border-color:#9bcbaa;background:#f4faf6}.command-result.error{color:#9f3128;border-color:#e7b2ad;background:#fff7f5}.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:#f8fafb;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:#fff;border-color:var(--line-strong)}.test-view-tabs button.active{box-shadow:inset 0 -2px 0 var(--cyan)}.simulator-body{display:flex;align-items:center;gap:16px;padding:32px;color:var(--muted)}.simulator-body svg{color:var(--cyan)}.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:#f8fafb;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:.8125rem}.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:.75rem;font-weight:700}.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:#f8fafb;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:12px}.config-grid input{width:100%;height:34px;padding:0 8px;color:var(--ink);background:#f9fbfb;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:#f8fafb;border:1px solid var(--line-strong);border-radius:6px;cursor:pointer}.mode-button.active{background:#edf6f7;border-color:#8bbcc4}.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:#f8fafb;border:1px solid var(--line-strong);border-radius:6px;cursor:pointer}.simulator-actions button:hover,.simulator-log-tools button:hover{background:#edf6f7;border-color:#8bbcc4}.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)}.status-pill{display:inline-flex;align-items:center;padding:.1875rem .625rem;border-radius:999px;font-size:.6875rem;color:var(--ink);background:#edf1f2;border:1px solid var(--line);white-space:nowrap}.status-pill.connecting{color:#6d4a00;background:#f7edd4;border-color:#ddc785}.status-pill.connected{color:#1f6640;background:#e5f3ea;border-color:#9fdbac}.status-pill.error{color:#97352f;background:#fae9e7;border-color:#edaba3}.status-pill.disconnected{color:#5c676c;background:#eef1f3;border-color:var(--line)}.flow-step.running span,.flow-step.done span,.flow-step.failed span,.flow-step.skipped span{color:#fff}.flow-step.running span{background:#0d7a8a}.flow-step.done span{background:var(--green)}.flow-step.failed span{background:var(--red)}.flow-step.skipped span{background:#8f999e}.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:11px;background:#f8fbfc;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:#fff;background:var(--nav)}.log-action-filter,.auto-scroll-toggle{display:inline-flex;align-items:center;gap:.375rem;color:var(--muted);font-size:.6875rem}.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(--red)}.simulation-log-entry pre{margin:0;padding:.625rem 1rem;overflow-x:auto;color:#dce7e9;background:#172326}.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:#f8fafb;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:.75rem}.test-run-header strong{font-size:.75rem}.acceptance-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.875rem}.acceptance-step{display:flex;align-items:flex-start;gap:.625rem;min-width:0;min-height:8rem;padding:.625rem;background:#fff;border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:.25rem}.acceptance-step>span{display:grid;place-items:center;flex:0 0 1.5rem;width:1.5rem;height:1.5rem;color:#fff;background:#7b878c;border-radius:50%;font-size:.6875rem;font-weight:700}.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:.6875rem;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:.6875rem;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:.8125rem}.acceptance-step small{color:var(--muted);font-size:.6875rem}.acceptance-step.running{border-left-color:var(--cyan)}.acceptance-step.passed{border-left-color:var(--green)}.acceptance-step.failed{border-left-color:var(--red)}.acceptance-step.running>span{background:var(--cyan)}.acceptance-step.passed>span{background:var(--green)}.acceptance-step.failed>span{background:var(--red)}.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:#f8fafb;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:#edf1f2;border-radius:999px;font-size:.6875rem;font-weight:700}.test-status.passed{color:#1f6640;background:#e5f3ea}.test-status.failed,.test-status.cancelled{color:#96352e;background:#fae9e7}.test-status.running{color:#0d6774;background:#e2f2f4}.test-history-empty{padding:2rem;text-align:center}.flow-step span{display:grid;place-items:center;width:22px;height:22px;color:#fff;background:var(--nav);border-radius:999px;font-size:11px;font-weight:700}.flow-step strong{font-size:14px}.flow-step small{color:var(--muted);font-size:12px}.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:#fff;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:.75rem}.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}.system-status-header h2{font-size:1rem}.system-status-header button,.system-status-error button{justify-content:center;gap:.375rem;min-height:2.375rem;padding:0 .75rem;color:var(--ink);background:#fff;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:#f8fafb;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:.6875rem}.system-topology h3,.system-runtime-panel h3{font-size:.8125rem}.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:#fff;border:1px solid var(--line-strong);border-top:.1875rem solid #3d8b5f;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:.625rem;white-space:nowrap}.system-gateway-cluster-summary strong{color:var(--ink);font-size:.6875rem}.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:#f7f9fa;border:1px solid var(--line);border-radius:.25rem;font-size:.625rem}.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:#176b75;font-size:.625rem;font-weight:700}.system-gateway-node-more span{color:var(--muted);font-weight:400}.system-gateway-node-empty{padding:.5rem;color:#96352e;background:#fff4f2;border:1px dashed #d8aaa5;border-radius:.25rem;font-size:.625rem;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:#f7f9fa;border:1px solid var(--line);border-radius:.25rem;font-size:.625rem}.system-status-dot{width:.4375rem;height:.4375rem;background:#3d8b5f;border-radius:50%}.system-status-dot.degraded{background:#c18a27}.system-status-dot.down{background:#b64b42}.system-topology-role-endpoint{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.system-topology-role-state{color:#267046;font-weight:700;white-space:nowrap}.system-topology-role-state.degraded{color:#8a5c0d}.system-topology-role-state.down{color:#96352e}.system-topology-stage-extra,.system-topology-stage-empty{display:block;padding:.5rem .625rem;color:var(--muted);background:#f8fafb;border:1px dashed var(--line-strong);border-radius:.375rem;font-size:.6875rem}.system-topology-stage-empty{min-height:5.75rem;color:#8a3d37;background:#fff4f2;border-color:#d8aaa5}.system-topology-node.degraded{border-top-color:#c18a27}.system-topology-node.down{border-top-color:#b64b42}.system-topology-node.endpoint-node{display:flex;align-items:center;min-height:5.25rem;border-top-color:#4e6f87;background:#f7f9fb}.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:#176b75;background:#e3f1f3;border-radius:.375rem;place-items:center}.system-topology-node h4{font-size:.8125rem}.system-topology-node dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.25rem .5rem;margin:.75rem 0 0;font-size:.6875rem}.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:#40576a;font-size:.625rem;font-weight:700}.system-flow-arrow{position:relative;display:grid;min-width:0;height:3rem;color:#597080;place-items:center end;align-self:center}.system-flow-arrow:before{position:absolute;right:.125rem;left:0;height:1px;background:#afbdc6;content:""}.system-flow-arrow span{position:absolute;top:-.125rem;right:0;left:0;color:var(--muted);font-size:.5625rem;text-align:center;white-space:nowrap}.system-flow-arrow svg{position:relative;background:#fff}.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:#afbdc6;content:""}.system-data-stage.business-data{grid-column:5}.system-data-stage.realtime-data{grid-column:7}.system-health-badge{display:inline-flex;align-items:center;min-height:1.25rem;padding:0 .4375rem;color:#1f6640;background:#e5f3ea;border-radius:999px;font-size:.625rem;font-weight:700;white-space:nowrap}.system-health-badge.degraded{color:#7c5511;background:#fff1cd}.system-health-badge.ready{color:#1f6640;background:#e5f3ea}.system-health-badge.down{color:#96352e;background:#fae9e7}.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:#f8fafb;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:.6875rem;white-space:nowrap}.system-gateway-target{gap:.4375rem}.system-gateway-target label{gap:.375rem;color:var(--muted);font-size:.6875rem}.system-gateway-target input{width:4rem;height:2rem;padding:0 .4375rem;color:var(--ink);background:#fff;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:#fff;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(--green);font-size:.6875rem}@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:.8125rem}.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(--red);font-weight:700}.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:#f8fafb;border-bottom:1px solid var(--line)}.system-runtime-panel>header>div{gap:.4375rem}.system-runtime-panel>header>span{color:var(--muted);font-size:.6875rem}.system-runtime-panel .table-scroll{min-height:0;overflow:auto}.system-runtime-warning,.metric-warning,.consumer-pool-grid>.warning{color:var(--red)!important}.stream-health-chip,.consumer-state{display:inline-flex;align-items:center;min-height:1.5rem;padding:0 .5rem;border-radius:999px;color:#275f42;background:#e8f3ec;font-size:.6875rem;font-weight:700;white-space:nowrap}.stream-health-chip.warning,.consumer-state.stale{color:#8a5a0a;background:#fff1cd}.stream-health-chip.unknown,.consumer-state.unavailable{color:var(--muted);background:#edf0f2}.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:.6875rem}.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:.625rem}.consumer-pool-grid strong{font-size:.8125rem}@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(--red);background:#fff4f2;border:1px solid #f1c9c4;border-radius:.375rem;font-size:.75rem}.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:1rem}.management-form p,.management-list header span{margin-top:.25rem;color:var(--muted);font-size:.75rem}.management-list .table-scroll{min-height:0;flex:1}.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(--red)}.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:.75rem}.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:#fff;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:#fff;background:var(--nav);border:0;border-radius:.375rem;cursor:pointer}.inline-error{padding:.625rem 1rem;color:var(--red);background:#fff4f2}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;padding:1rem;place-items:center;background:#0a1a1f7a}.confirm-modal{display:grid;gap:1rem;width:min(26rem,100%);padding:1.25rem;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:.5rem;box-shadow:0 1rem 3rem #0a1a1f47}.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 #0a1a1f47;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;font-size:1rem}.detail-modal-body{min-height:0;padding:1rem;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.detail-modal.firmware-cancel-modal{width:min(28rem,calc(100vw - 2rem))}.firmware-confirmation-content{display:grid;gap:.5rem}.firmware-confirmation-content p{margin:0;font-weight:700}.firmware-confirmation-content small{color:var(--muted)}.firmware-confirmation-content footer{display:flex;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:#f3f7f7}.workspace-tabs button.active{color:var(--ink);border-bottom-color:var(--cyan);font-weight:700}.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:#edf6f7}.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:.72rem}.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:.75rem}.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:.75rem}.integration-error-detail strong{color:#a23a2f;font-size:.78rem}.integration-error-detail p{margin-top:.4rem;color:var(--muted);font-size:.78rem;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:.72rem}.status-chip.succeeded{color:#2f6c44;background:#edf7f0;border-color:#b8d8c2}.status-chip.scheduled{color:#765c0a;background:#fff8dc;border-color:#e5d38d}.status-chip.stored{color:#445d63;background:#f1f5f5;border-color:#cbd7d9}.status-chip.validating,.status-chip.processing{color:#17606a;background:#e9f6f7;border-color:#a9d2d6}.status-chip.ready{color:#2f6c44;background:#edf7f0;border-color:#b8d8c2}.status-chip.quarantined{color:#8a4b17;background:#fff3e8;border-color:#e6c09e}.checksum-short{color:var(--muted);font-family:Consolas,monospace;font-size:.72rem}.batch-step-list{padding:1rem;border-bottom:1px solid var(--line)}.batch-step-list>h3{margin:0 0 .625rem;font-size:.8rem}.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:.78rem}.batch-step-list article>header span{color:var(--muted);font-size:.72rem}.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:.68rem}.batch-step-list dd{margin:.2rem 0 0;font-size:.75rem;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:.75rem}.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:#edf6f7}.fault-status{display:inline-flex;align-items:center;min-height:1.5rem;padding:.125rem .5rem;color:var(--muted);background:#f5f7f7;border:1px solid var(--line);border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}.fault-status.unacknowledged{color:#a23a2f;background:#fff1ef;border-color:#ecc2bd}.fault-status.acknowledged{color:#765c0a;background:#fff8dc;border-color:#e5d38d}.fault-status.in_progress{color:#17606a;background:#e9f6f7;border-color:#a9d2d6}.fault-status.resolved{color:#2f6c44;background:#edf7f0;border-color:#b8d8c2}.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:.875rem}.fault-detail-state{height:100%}.fault-detail-state p{max-width:22rem;margin:0;font-size:.8125rem;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:.75rem}.fault-detail-header h2{margin:.2rem 0 0;font-size:1rem;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:#fff;border:1px solid var(--line-strong);border-radius:.3125rem;font-size:.7rem;cursor:pointer}.fault-context-actions button:hover{background:#edf6f7;border-color:#8bbcc4}.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:.72rem}.fault-summary dd{margin:.25rem 0 0;font-size:.8125rem;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:.78rem;font-weight:700}.fault-action-editor textarea{width:100%;min-height:5rem;resize:vertical}.fault-action-editor>p{margin:.625rem 0 0;color:var(--muted);font-size:.72rem;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:#fff;background:var(--cyan);border-color:var(--cyan)}.fault-history{padding:1rem}.fault-history>header{display:flex;align-items:center;gap:.45rem}.fault-history h3{margin:0;font-size:.875rem}.fault-history>header span{margin-left:auto;color:var(--muted);font-size:.75rem}.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(--cyan);border:.15rem solid var(--panel);border-radius:50%;box-shadow:0 0 0 1px var(--cyan)}.fault-history strong{font-size:.8rem}.fault-history p{margin:.25rem 0;color:var(--ink);font-size:.78rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.fault-history small,.fault-history-empty{color:var(--muted);font-size:.7rem}.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}}@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-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 #0a1a1f47}.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:#0a1a1f7a}}@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(--cyan);background:#edf6f7;border:1px solid #c4dde0;border-radius:50%}.station-detail-placeholder-content.error .station-detail-placeholder-icon{color:var(--red);background:#fff1ef;border-color:#efcac5}.station-detail-placeholder-content h2{margin:0;font-size:1rem}.station-detail-placeholder-content p{max-width:22rem;margin:.5rem 0 1rem;color:var(--muted);font-size:.8125rem;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:.75rem}.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:#f7f9f9}.station-detail-tabs button.active:after{background:var(--green)}.station-detail-tabs button:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}.station-detail-tabs em{min-width:1.25rem;padding:.0625rem .3125rem;color:var(--muted);font-size:.6875rem;font-style:normal;line-height:1.25rem;background:#edf1f2;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:#f3f8f6;border:1px solid #c7ded4;border-left:3px solid var(--green);border-radius:.375rem}.station-current-tariff span,.station-current-tariff em{color:var(--muted);font-size:.75rem;font-style:normal}.station-current-tariff strong{grid-row:1 / 3;grid-column:2;font-size:1.125rem;white-space:nowrap}.station-current-tariff strong small{color:var(--muted);font-size:.75rem;font-weight:500}.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(--cyan);background:#edf6f7;border:1px solid #c4dde0;border-radius:50%}.station-activity-state strong{color:var(--ink);font-size:.875rem}.station-activity-state p{max-width:24rem;margin:.375rem 0 0;font-size:.75rem;line-height:1.5}.station-activity-state.error>span{color:var(--red);background:#fff1ef;border-color:#efcac5}.member-auth-layout{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.75rem;min-height:0;height:100%}.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}.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(--panel);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:1rem}.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:.75rem}.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:1rem}.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:.6875rem}.station-filters input,.station-filters select{min-width:0;min-height:2.25rem;padding:0 .625rem;color:var(--ink);background:#fff;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,.fault-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}}.station-power-usage{display:grid;gap:.3rem;min-width:0}.station-power-usage strong{font-size:.875rem}.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:.6875rem;font-weight:400}.station-power-track{width:100%;height:.3rem;overflow:hidden;background:#e5eaec;border-radius:999px}.station-power-track i{display:block;height:100%;background:var(--green)}.station-power-usage.exceeded strong,.station-power-usage.exceeded>span,.station-power-alert{color:var(--red)}.station-power-usage.exceeded .station-power-track i{background:var(--red)}.station-power-alert{display:block;margin-top:.25rem;font-size:.6875rem;font-weight:700}.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:700}.station-charger-counts>span.fault{color:var(--red)}.station-charger-counts small{margin:0;font-size:.625rem;font-weight:400}@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}.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 .management-form{overflow:auto}.station-editor-panel .form-grid{grid-template-columns:repeat(2,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:.8125rem}.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:#fff;background:var(--nav);border-color:var(--nav)}.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:.75rem}.dashboard-controls select{min-width:7.5rem}tbody tr[role=button]{cursor:pointer}tbody tr[role=button]:focus-visible{outline:2px solid var(--green);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-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:.8125rem}.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 label span{color:var(--muted);font-size:.75rem}.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:1fr}.bulk-import-form .operation-policy-note,.bulk-import-form footer{grid-column:auto}}.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:.75rem}.ocpp-payload-detail pre{min-height:12rem;max-height:min(62dvh,42rem);margin:0;padding:1rem;overflow:auto;color:#d8e4e8;background:#152329;border-radius:.375rem;font-family:Consolas,monospace;font-size:.75rem;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:12px}.registration-grid input{width:100%;height:36px;padding:0 10px;color:var(--ink);background:#f9fbfb;border:1px solid var(--line);border-radius:6px}.registration-grid button{align-self:end;height:36px;color:#fff;background:var(--nav);border:1px solid var(--nav);border-radius:6px;cursor:pointer}.empty{color:var(--muted);font-size:13px}@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 #08141947;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:#fff;border:1px solid var(--line-strong);border-radius:.375rem;cursor:pointer;place-items:center}.mobile-menu-trigger{box-shadow:0 .375rem 1rem #12272c24}.mobile-menu-close{color:#dce5e8;background:transparent;border-color:#526168}.mobile-nav-backdrop{position:fixed;inset:0;z-index:70;display:block;padding:0;background:#0814196b;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 #354147}.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 #354147}.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-step-grid{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(--cyan);color:var(--ink);font-weight:700}.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:.75rem}.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}.ocpp-basic-commands header span{color:var(--muted);font-size:.75rem}.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}.ocpp-basic-command-form span{color:var(--muted);font-size:.75rem}.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 #8dbdc1;border-radius:1rem;background:#edf8f8;color:#155e63;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:.75rem}.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:#fff}.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:Malgun Gothic,맑은 고딕,Segoe UI,sans-serif;text-align:center}.ocpp-log-empty-icon{display:grid;width:3.25rem;height:3.25rem;margin-bottom:.875rem;place-items:center;color:var(--cyan);background:#edf6f7;border:1px solid #c4dde0;border-radius:50%}.ocpp-log-empty-state h3{margin:0;font-size:1rem;font-weight:700;letter-spacing:0}.ocpp-log-empty-state p{max-width:28rem;margin:.5rem 0 0;color:#68747c;font-size:.8125rem;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:#155e63;background:#fff;border:1px solid #8dbdc1;border-radius:.3125rem;cursor:pointer;font-size:.75rem;font-weight:700}.ocpp-log-empty-state button:hover{background:#edf8f8}.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:.75rem}.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{color:#087c75}.ocpp-direction.csms_to_cp{color:#315d8c}.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:#176b61;background:#edf7f2;border:1px solid #c9e3d7;border-radius:.375rem}.tariff-editor-header h2,.tariff-editor-header p{margin:0}.tariff-editor-header h2{font-size:.9375rem}.tariff-editor-header p{margin-top:.2rem;color:var(--muted);font-size:.75rem}.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{display:grid;gap:.625rem}.tariff-form-section+.tariff-form-section{margin-top:1.125rem;padding-top:1.125rem;border-top:1px solid #e4e9eb}.tariff-section-title{display:flex;align-items:center;gap:.45rem;color:#314048;font-size:.8125rem}.tariff-section-title svg{color:#347765}.tariff-editor label>span{color:#58666d;font-size:.75rem;font-weight:600}.tariff-editor input,.tariff-editor select,.tariff-editor textarea{min-width:0;min-height:2.5rem;padding:.5rem .625rem;color:var(--ink);background:#fff;border:1px solid #b9c5ca;border-radius:.375rem}.tariff-editor input:hover,.tariff-editor select:hover,.tariff-editor textarea:hover{border-color:#89999f}.tariff-editor input:focus,.tariff-editor select:focus,.tariff-editor textarea:focus{border-color:#347765;outline:2px solid #dbece5;outline-offset:0}.tariff-editor textarea{resize:vertical}.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:#f7faf8;border:1px solid #79a795;border-radius:.375rem}.tariff-price-input:focus-within{border-color:#176b61;box-shadow:0 0 0 2px #dbece5}.tariff-price-input input{min-height:3rem;padding:0 .75rem;border:0;border-radius:0;font-size:1.125rem;font-weight:700;text-align:right}.tariff-price-input input:focus{outline:0}.tariff-price-input>span{padding:0 .75rem;color:#355b50;font-size:.75rem;font-weight:700;white-space:nowrap}.tariff-scope{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid #bcc7cb;border-radius:.375rem;background:#f3f6f6}.tariff-scope button{min-height:2.5rem;padding:0 .5rem;color:#5c696f;border:0;border-right:1px solid #d2dadd;background:transparent;cursor:pointer;font-size:.75rem}.tariff-scope button:last-child{border-right:0}.tariff-scope button.active{color:#fff;background:#315f58;box-shadow:none;font-weight:700}.tariff-scope-hint,.tariff-rule{display:flex;align-items:flex-start;gap:.4rem;margin:0;color:#65747b;font-size:.75rem;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:#4f6660;background:#f2f8f5;border-left:.1875rem solid #6f9e89}.tariff-editor footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:4.25rem;padding:.75rem 1rem;background:#fafcfc;border-top:1px solid var(--line)}.tariff-editor footer>span{min-height:1.125rem;color:#526169;font-size:.75rem}.tariff-editor footer button{min-height:2.5rem;padding:0 1rem;color:#fff;background:var(--nav);border:0;border-radius:.375rem;cursor:pointer;font-weight:700}.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:#34584e;background:#edf5f1;border:1px solid #d2e4dc;border-radius:1rem;font-size:.75rem;text-align:center}.tariff-history table{min-width:58rem}.tariff-history-price{color:#245d50;font-size:.875rem;white-space:nowrap}.tariff-history td small{margin-left:.2rem;color:var(--muted);font-size:.6875rem}.tariff-empty-row>td{height:clamp(20rem,56vh,42rem);padding:0;background:#fff}.tariff-empty-state{display:grid;align-content:center;justify-items:center;min-height:100%;padding:2rem;font-family:Malgun Gothic,맑은 고딕,Segoe UI,sans-serif;text-align:center}.tariff-empty-state>span{display:grid;width:3.25rem;height:3.25rem;margin-bottom:.875rem;place-items:center;color:#347765;background:#edf7f2;border:1px solid #c9e3d7;border-radius:50%}.tariff-empty-state h3{margin:0;color:var(--ink);font-size:1rem}.tariff-empty-state p{max-width:26rem;margin:.5rem 0 0;color:#68767c;font-size:.8125rem;line-height:1.6}.dashboard-tariff-warning{margin:-.25rem 0 0;color:#9a5b00;font-size:.75rem}.dashboard-live-scope{margin-right:auto;color:var(--muted);font-size:.8rem;font-weight:600}.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:#fff}.report-management-shell>.management-tabs{display:flex;gap:.25rem;padding:.4rem .6rem 0;border-bottom:1px solid var(--line);background:#f5f7f8}.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:.82rem;font-weight:700;cursor:pointer}.report-management-shell>.management-tabs button.active{border-bottom-color:#28726d;color:#1e5c58}.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:.72rem;font-weight:700}.report-period-toolbar input{min-height:2.25rem;padding:.35rem .55rem;border:1px solid #b9c6ca;border-radius:.25rem;background:#fff;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;overflow:hidden;color:var(--red);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.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:1rem}.report-summary-header p,.report-summary-header small{color:var(--muted);font-size:.75rem}.report-metric-section{min-width:0;padding:.8rem;border:1px solid var(--line);border-radius:.3rem;background:#fff}.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:#29494a;font-size:.82rem}.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-left:.2rem solid #6f9995;background:#f4f8f8}.report-metric.warning{border-left-color:#c77928;background:#fff8ef}.report-metric>span{display:block;color:var(--muted);font-size:.73rem}.report-metric strong{display:block;margin-top:.25rem;font-size:1.25rem;font-variant-numeric:tabular-nums}.report-metric strong small{margin-left:.2rem;color:var(--muted);font-size:.7rem;font-weight:600}.report-metric em{color:#3d736d;font-size:.68rem;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 #e5ebed}.report-definition-list dt{color:var(--muted);font-size:.73rem}.report-definition-list dd{margin:0;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.report-state{display:grid;min-height:12rem;place-content:center;justify-items:center;gap:.6rem;color:var(--muted);font-size:.82rem}.report-management-shell>.operations-management-layout{border:0}.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:#f3f6f7}.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:#526169;font-size:.8rem;font-weight:700;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:#b9c9ce;background:#fff;color:#225e66;box-shadow:0 1px 2px #202d3a0f}.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:1rem}.operation-editor-panel header p,.firmware-form header p{margin:.2rem 0 0;color:var(--muted);font-size:.78rem}.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:.78rem;font-weight:600}.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 #bcc8cd;border-radius:.25rem;background:#fff;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 #3b7f6d;background:#f2f8f6;color:#405d55;font-size:.76rem;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(--red);font-size:.76rem}.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 #b9c7cc;border-radius:.3rem;background:#fff;color:#29434a;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.secondary-button:hover{border-color:#6e9790;background:#f2f8f6}.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:#f7f9f9}.report-history-filter select,.report-history-filter input{width:100%;min-width:0;min-height:2.1rem;padding:.3rem .45rem;border:1px solid #bdc9cd;border-radius:.25rem;background:#fff;color:var(--ink);font:inherit;font-size:.74rem}.report-history-filter button{display:inline-flex;min-height:2.1rem;align-items:center;gap:.3rem;font-size:.74rem}.report-history-pagination{display:flex;min-height:2.8rem;align-items:center;justify-content:center;gap:.65rem;border-top:1px solid var(--line);background:#fafbfb}.report-history-pagination button{min-height:2rem;padding:0 .65rem;font-size:.73rem}.report-history-pagination span{min-width:4rem;color:var(--muted);font-size:.72rem;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:#f5f7f7}.firmware-load-more{align-self:center;padding:0 .8rem}.version-state{font-size:.75rem;font-weight:700}.version-state.different{color:#176958}.version-state.same{color:var(--muted)}.version-state.unknown{color:#8a5a15}.operation-history-panel:has(.firmware-target-detail){grid-template-rows:auto minmax(11rem,1fr) minmax(12rem,.9fr)}.firmware-target-detail{display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr);border-top:1px solid var(--line)}.firmware-target-detail>header{display:flex;min-height:3.25rem;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;background:#f7f9f9}.firmware-target-detail h3{margin:0;font-size:.88rem}.firmware-target-detail header span{color:var(--muted);font-size:.72rem}.firmware-target-detail .table-scroll{min-height:0;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:#77868d;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:#526169;font-size:.85rem}.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 #9bafb6;background:#f7faf9;cursor:pointer}.firmware-file-field small{color:var(--muted);font-size:.7rem}.firmware-artifact-actions{display:flex;justify-content:flex-end;gap:.3rem}.firmware-artifact-actions .danger{color:var(--red)}.mono-input,.checksum-cell{font-family:Consolas,Courier New,monospace;font-size:.75rem}.failed-text{color:var(--red)!important}.status-chip.pending,.status-chip.scheduled,.status-chip.draft{border-color:#d7c9a5;background:#fff8e8;color:#72591d}.status-chip.running{border-color:#a8c9dc;background:#edf7fc;color:#285d78}.status-chip.completed,.status-chip.clean{border-color:#b7dacd;background:#eef8f4;color:#276b58}.status-chip.not_applicable,.status-chip.bypassed{border-color:#c8d1d4;background:#f3f6f6;color:#526169}.status-chip.infected{border-color:#d99187;background:#ffebe8;color:#8d3027}.status-chip.failed,.status-chip.partial_failed,.status-chip.cancelled,.status-chip.expired{border-color:#e7bbb5;background:#fff1ef;color:#9a3f34}@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:.75rem}.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:#fff!important}.app{display:block}.test-run{margin:0;border-color:#777}.acceptance-step-grid{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-step-grid{grid-template-columns:1fr}}.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:.78rem;font-weight:700;text-align:right}.change-count.active{color:var(--cyan)}.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:.78rem;font-weight:700}.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(--cyan))}.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(--text)}.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:.72rem}.menu-access-state{justify-self:end;min-width:2.75rem;padding:.25rem .4rem;border:1px solid var(--line);color:var(--muted);font-size:.7rem;font-weight:800;text-align:center}.menu-access-state.enabled{border-color:color-mix(in srgb,var(--green) 35%,var(--line));color:var(--green)}.menu-access-state.disabled{background:var(--paper)}.compact-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem}.compact-check input{inline-size:1rem;block-size:1rem}.navigation-management-footer{display:flex;align-items:center;gap:.4rem;min-height:2.75rem;padding:.6rem 1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}@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-head,.navigation-management-row{grid-template-columns:minmax(12rem,1fr) 6rem 6.5rem 7.5rem 4rem}.navigation-management-actions{width:100%;justify-content:flex-start}.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:.75rem}.fault-statistics strong{margin-top:.2rem;font-size:.95rem}.api-client-create{grid-template-columns:minmax(10rem,1fr) minmax(12rem,.8fr) minmax(20rem,2fr) auto}.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:.72rem}.api-client-create fieldset label{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;white-space:nowrap;font-size:.75rem}.api-key-modal code{display:block;overflow-wrap:anywhere;padding:.75rem;border:.0625rem solid var(--line);background:#f6f8f9;-webkit-user-select:all;user-select:all}@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}}
