:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Cascadia Mono", Consolas, ui-monospace, monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;font-family:var(--font-sans);--brand-green:#6cbe45;--action-green:#467e2d;--strong-green:#2f5f1f;--primary-green:#6cbe45;--primary-green-hover:#579b37;--page-bg:#f6fbed;--card:#fff;--low-surface:#f1f6e7;--border:#c0cab5;--text:#181d14;--secondary:#40493a;--divider:#e2e8f0;--active-bg:#e4f4dd;--warning-bg:#fef3c7;--inactive-bg:#edf1e8;--danger-bg:#ffdad6;--danger-text:#93000a;--warning-text:#b58900;--chart-good:#6cbe45;--chart-warning:#d99a24;--chart-danger:#c74b45;--chart-neutral:#9ca69a;--chart-info:#467e2d;--chart-grid:#e2e8dd;--chart-area-fill:#6cbe452e;--surface:var(--card);--surface-muted:var(--low-surface);--text-muted:var(--secondary);--green-soft:#eff9eb}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#11150f;--card:#1b2118;--low-surface:#171d14;--border:#475141;--text:#eef4e9;--secondary:#bdc8b6;--divider:#384132;--active-bg:#263d20;--inactive-bg:#292f27;--warning-bg:#4b3b12;--danger-bg:#4c1f20;--danger-text:#ffb4ab;--warning-text:#ffdb75;--chart-grid:#3b4637;--green-soft:#20331d}*{box-sizing:border-box}body{background:var(--page-bg);min-width:320px;min-height:100vh;color:var(--text);font-family:var(--font-sans);font-weight:var(--weight-regular);margin:0;line-height:1.45;overflow-x:hidden}#root{min-width:0;min-height:100vh;overflow-x:clip}.skip-link{z-index:1000;color:#fff;background:#181d14;border-radius:6px;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}button,input,select,textarea{font-family:var(--font-sans);font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary-green);outline-offset:2px}select{border:1px solid var(--border);background:var(--card);min-height:40px;color:var(--text);border-radius:8px;padding:0 10px;transition:border-color .15s,box-shadow .15s,background-color .15s}select:hover{border-color:color-mix(in srgb, var(--primary-green) 48%, var(--border))}option{background-color:var(--card);color:var(--text)}.app-shell{background:var(--page-bg);min-height:100vh;display:flex}.sidebar{background:var(--low-surface);border-right:1px solid var(--border);z-index:20;flex-direction:column;flex:0 0 248px;width:248px;height:100vh;padding:14px 10px;transition:width .18s,flex-basis .18s,padding .18s;display:flex;position:sticky;top:0;overflow:hidden}.sidebar.collapsed{flex-basis:76px;width:76px;padding:14px 8px}.sidebar-logo-container{align-items:center;min-width:0;transition:opacity .15s,visibility .15s,transform .15s;display:flex}.brand-logo{object-fit:contain;width:auto;max-width:116px;height:34px;display:block}.brand-block{justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:8px 10px 12px;display:flex;position:relative}.brand-block strong{color:var(--primary-green);font-size:18px;font-weight:var(--weight-bold);line-height:1.05;display:block}.brand-block span{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium)}.brand-copy{flex:1;min-width:0}.sidebar-collapse-button{width:36px;height:36px;color:var(--text-muted,#66715e);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex:0 0 36px;place-items:center;padding:0;transition:color .15s,background-color .15s,border-color .15s,opacity .15s,transform .15s;display:grid}.sidebar.collapsed .brand-block{flex-direction:column;justify-content:center;gap:7px;padding-inline:0}.sidebar.collapsed .brand-logo{object-position:center;width:44px;height:32px;padding:4px}.sidebar.collapsed .brand-copy{display:none}.sidebar-collapse-button:hover{color:var(--text-primary,#181d14);background:var(--surface-hover,#edf5e8);border-color:var(--border-subtle,#d1ddc8)}.sidebar-collapse-button:focus-visible{color:var(--text-primary,#181d14);background:var(--surface-hover,#edf5e8);border-color:var(--brand-green,#6cbe45);outline-offset:2px;outline:3px solid #6cbe4538}.sidebar.collapsed .brand-block{justify-content:center;padding-inline:8px}.sidebar.collapsed .sidebar-logo-container{justify-content:center;width:40px;height:40px}.sidebar.collapsed .brand-logo{object-fit:contain;max-width:38px;height:32px}.sidebar.collapsed .sidebar-collapse-button{opacity:0;visibility:hidden;pointer-events:none;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(.92)}.sidebar.collapsed .brand-block:hover .sidebar-collapse-button,.sidebar.collapsed .brand-block:focus-within .sidebar-collapse-button{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}.sidebar.collapsed .brand-block:hover .sidebar-logo-container,.sidebar.collapsed .brand-block:focus-within .sidebar-logo-container{opacity:0;visibility:hidden;transform:scale(.92)}.sidebar.collapsed .sidebar-group-label,.sidebar.collapsed .nav-item span{opacity:0;visibility:hidden;white-space:nowrap;width:0;overflow:hidden}.sidebar.collapsed .nav-item{justify-content:center;padding-inline:0}.sidebar.collapsed .nav-item svg{flex:none}.sidebar nav{overscroll-behavior:contain;flex:1;gap:10px;min-height:0;display:grid;overflow-y:auto}.sidebar-group{gap:4px;display:grid}.sidebar-group-label{color:var(--secondary);font-size:10px;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;opacity:.78;padding:8px 10px 3px 16px}.nav-item{width:100%;min-height:36px;color:var(--secondary);text-align:left;font-size:14px;font-weight:var(--weight-semibold);background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:8px 10px 8px 16px;text-decoration:none;display:flex;position:relative}.nav-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-item svg{color:#66715f;flex:none}.nav-item.active svg{color:var(--primary-green)}.nav-item.active{color:var(--primary-green);background:#e8f5da}.nav-item.active:before{content:"";background:var(--primary-green);border-radius:3px;width:3px;position:absolute;top:8px;bottom:8px;left:5px}.sidebar.collapsed .nav-item{justify-content:center;min-height:42px;padding:9px}.sidebar.collapsed .sidebar-group{gap:3px}.sidebar.collapsed .sidebar-group-label,.sidebar.collapsed .nav-item span{display:none}.sidebar.collapsed .nav-item.active:before{top:9px;bottom:9px;left:3px}.sidebar-footer{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.sidebar-logout-button{cursor:pointer;color:var(--danger-text)}.sidebar-logout-button svg{color:currentColor}.sidebar-logout-button:hover{background:color-mix(in srgb, var(--danger-text) 8%, transparent);color:var(--danger-text)}.sidebar-logout-button:focus-visible{outline:3px solid color-mix(in srgb, var(--danger-text) 22%, transparent);outline-offset:2px}.sidebar.collapsed .sidebar-footer{padding-top:10px}.app-main{outline:none;flex:1;width:auto;min-width:0;min-height:100vh;overflow-x:clip}.route-state{gap:16px;display:grid}.route-state p{color:var(--secondary);margin:0}.route-state-actions{flex-wrap:wrap;gap:10px;display:flex}.route-loading{padding-top:24px}.route-breadcrumbs{padding:12px 28px 0}.route-breadcrumbs ol{color:var(--secondary);overflow-wrap:anywhere;flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.route-breadcrumbs li+li:before{color:#788571;content:"/";margin-right:6px}.route-breadcrumbs a{color:#356d2d;font-weight:650}.route-breadcrumbs span[aria-current=page]{color:#424c3d}.topbar-title-block{gap:3px;min-width:0;display:grid}.top-bar{background:#f7fbed;border-bottom:1px solid #d8e2cf;align-items:center;gap:18px;min-height:82px;padding:14px 28px;display:flex}.menu-button{color:#53604c;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex:0 0 40px;place-items:center;width:40px;height:40px;padding:0;display:none}.menu-button:hover{color:#24301f;background:#ecf4e5;border-color:#d1ddc8}.menu-button:focus-visible{outline-offset:2px;outline:3px solid #6cbe4540}.topbar-title-block{flex:auto;gap:2px;min-width:0;display:grid}.global-page-title{color:#192016;letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:2rem;font-weight:750;line-height:1.12}.global-page-title span{color:#192016;font-style:normal}.global-page-title em{color:#67b940;margin-left:7px;font-style:normal;font-weight:750}.global-page-subtitle{color:#65705f;margin:2px 0 0;font-size:.82rem;line-height:1.4}.top-spacer{flex:1}.topbar-user-actions{flex:none;align-items:center;gap:14px;display:flex}.topbar-icon-button{width:38px;height:38px;color:var(--primary-green);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex:0 0 38px;place-items:center;padding:0;display:grid}.topbar-icon-button:hover{color:#2f5f24;background:#edf5e8;border-color:#d2dfca}.topbar-icon-button:focus-visible{outline-offset:2px;outline:3px solid #edf5e8}.topbar-divider{background:#d8e1d1;width:1px;height:36px}.topbar-profile-wrap{flex:none;position:relative}.topbar-profile{color:#edf5e8;min-width:0;font:inherit;background:0 0;border:0 solid #0000;border-radius:11px;align-items:center;gap:11px;padding:5px 8px 5px 12px;display:flex}.topbar-profile:hover{background:#edf5e8;border-color:#edf5e8}.topbar-profile:focus-visible{outline-offset:2px;outline:3px solid #edf5e8}.topbar-profile[aria-expanded=true]{background:#edf5e8;border-color:#edf5e8}.topbar-profile-chevron{color:#717b6b;flex:none}.topbar-profile-copy{text-align:right;gap:2px;min-width:0;display:grid}.topbar-profile-copy strong{color:#22291e;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.86rem;font-weight:750;line-height:1.2;overflow:hidden}.topbar-profile-copy span{color:#717b6b;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.74rem;line-height:1.2;overflow:hidden}.topbar-avatar{color:#fff;letter-spacing:.04em;background:#284b31;border:2px solid #fff;border-radius:12px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:.76rem;font-weight:800;display:grid;overflow:hidden;box-shadow:0 0 0 1px #bac9b2}.topbar-avatar img{object-fit:cover;width:100%;height:100%;display:block}.topbar-profile-menu{z-index:20;border:1px solid var(--border);background:var(--card);border-radius:12px;gap:2px;min-width:200px;max-width:calc(100vw - 24px);padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 28px #181d1424}.topbar-profile-menu-item{width:100%;min-height:36px;color:var(--text);font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:0 10px;font-size:.84rem;font-weight:700;display:flex}.topbar-profile-menu-item:hover{background:var(--low-surface)}.topbar-profile-menu-item:focus-visible{outline-offset:-2px;background:var(--low-surface);outline:2px solid #6cbe456b}.topbar-profile-menu-item-danger{color:var(--danger-text)}@media (width<=1024px){.top-bar{padding-inline:22px}.menu-button{display:grid}.topbar-profile-copy strong,.topbar-profile-copy span{max-width:130px}}@media (width>=821px) and (width<=1024px){.menu-button{display:none}}@media (width<=760px){.route-breadcrumbs{padding:10px 16px 0}.top-bar{gap:12px;min-height:72px;padding:12px 16px}.global-page-title{font-size:1.45rem}.global-page-subtitle{text-overflow:ellipsis;white-space:nowrap;max-width:360px;overflow:hidden}.topbar-profile-copy,.topbar-divider{display:none}.topbar-user-actions{gap:7px}.topbar-profile{padding:5px 6px}}@media (width<=520px){.top-bar{align-items:flex-start;min-height:68px;padding:12px}.menu-button{flex-basis:38px;width:38px;height:38px}.topbar-title-block{align-self:center}.global-page-title{font-size:1.15rem;line-height:1.2}.global-page-title em{margin-left:5px}.global-page-subtitle{max-width:190px;font-size:.7rem}.topbar-icon-button{display:none}.topbar-avatar{border-radius:10px;flex-basis:36px;width:36px;height:36px}.topbar-logout-button{display:none}}@media (prefers-reduced-motion:reduce){.menu-button,.topbar-icon-button,.topbar-logout-button{transition:none}}.global-page-title{min-width:0;color:var(--text);font-size:26px;font-weight:var(--weight-bold);letter-spacing:0;overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;line-height:1.05;display:inline-flex}.global-page-title em{color:var(--primary-green);font-style:normal}.global-page-subtitle{min-width:0;color:var(--secondary);font-size:12px;font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.2;overflow:hidden}.scope-badge{border:1px solid var(--border);background:var(--card);min-height:30px;color:var(--strong-green);font-size:13px;font-weight:var(--weight-semibold);border-radius:999px;align-items:center;padding:4px 10px;display:inline-flex}.scope-badge.compact{min-height:26px;font-size:12px}.role-switcher{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium);align-items:center;gap:8px;display:flex}.filter-bar input{border:1px solid var(--border);background:var(--card);min-height:40px;color:var(--text);border-radius:8px}.page-layout{width:100%;max-width:1440px;margin:0 auto;padding:20px 24px 28px}.page-layout-wide{max-width:1600px}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:none}.page-title-block,.section-title-block{align-items:center;gap:10px;display:flex}.page-title-icon,.section-icon,.stat-icon{color:var(--primary-green);background:0 0;border:0;border-radius:0;flex:none;justify-content:center;align-items:center;width:auto;height:auto;display:inline-flex}.page-title-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.page-header h1{color:var(--text);font-size:30px;font-weight:var(--weight-bold);margin:0;line-height:1.1}.page-header p{color:var(--secondary);margin:5px 0 0;font-size:14px}.page-actions,.inline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.button{min-height:40px;font-size:14px;font-weight:var(--weight-semibold);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.button.primary{background:var(--primary-green);color:#fff}.button.primary:hover{background:var(--primary-green-hover)}.button.primary:disabled{cursor:not-allowed;opacity:.55}.button.ghost{background:var(--card);border-color:var(--border);color:var(--action-green)}.button.secondary{min-height:30px;color:var(--action-green);background:0 0;border-color:#0000;padding:0 8px;font-size:12px}.button.ghost:hover{background:var(--low-surface)}.danger-text{color:var(--danger-text)!important}.icon-action{border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--action-green);border-radius:6px;place-items:center;display:inline-grid}.icon-action-primary{background:var(--primary-green);color:#fff;border-color:var(--primary-green)}.icon-action-ghost{background:0 0;border-color:#0000}.stat-grid{grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;margin-bottom:14px;display:grid}.stat-grid.three{grid-template-columns:repeat(3,minmax(160px,1fr))}.stat-card,.section-card{background:var(--card);border:1px solid #c0cab5c7;border-radius:10px;box-shadow:0 8px 22px #181d1409}.stat-card{min-height:82px;padding:12px 16px}.stat-card-top{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.stat-card .stat-icon{width:29px;height:30px;color:var(--primary-green);background:#e4f4dd;border-radius:8px;flex:0 0 36px;justify-content:center;align-items:center;margin:0;line-height:1;display:inline-flex}.stat-card-top,.stat-card-body{justify-content:space-between;gap:10px;display:flex}.stat-card-body{align-items:end}.stat-card strong{color:var(--text);font-size:30px;font-weight:var(--weight-bold);letter-spacing:0;margin-top:4px;line-height:.98;display:block}.stat-card-label{color:var(--secondary);font-size:13px;font-weight:var(--weight-semibold);line-height:1.2;display:block}.stat-card-detail{color:var(--secondary);margin-top:6px;font-size:12px;line-height:1.3;display:block}.stat-card em{color:var(--action-green);font-size:12px;font-style:normal;font-weight:var(--weight-semibold);margin-top:8px;display:block}.metric-mini-chart{width:72px;height:36px;color:var(--action-green);align-self:center}.stat-good{border-color:#9fc58f}.stat-warn{border-color:#e7cb76}.stat-bad{border-color:#e4a29c}.section-card{margin-bottom:14px;padding:16px 18px}.status-card-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;display:grid}.section-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-card h2,.drawer-header h2,.modal-panel h2{color:var(--text);font-size:18px;font-weight:var(--weight-semibold);letter-spacing:0;margin:0;line-height:1.2}.data-label{color:var(--secondary);font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase}.dashboard-grid,.two-column-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.filter-bar{align-items:center;gap:8px;display:flex}.filter-bar input,.filter-bar select{width:220px;padding:0 10px}.filter-bar select{width:132px}.table-wrap{border:1px solid var(--divider);background:#fff;border-radius:10px;width:100%;overflow-x:auto}.table-wrap:focus-visible{outline-offset:2px;outline:2px solid #6cbe456b}.data-table-shell{gap:10px;display:grid}.table-controls{border:1px solid var(--divider);background:#fbfdf7;border-radius:10px;flex-wrap:wrap;align-items:end;gap:8px;padding:9px;display:flex;position:relative}.table-search,.table-select,.form-field{color:var(--secondary);font-size:11px;font-weight:var(--weight-medium);text-transform:none;gap:5px;display:grid}.table-search input,.table-select input,.form-field input,.form-field textarea{border:1px solid var(--border);background:var(--card);min-height:40px;color:var(--text);text-transform:none;font-weight:var(--weight-regular);border-radius:8px;padding:0 10px}.table-select select,.form-field select{font-weight:var(--weight-regular)}.table-search input{width:min(300px,58vw)}.table-select select{width:150px}.compact-control select{width:auto;min-width:92px}.compact-control input{width:auto;min-width:140px}.form-field textarea{resize:vertical;min-height:112px;padding:10px}.form-field.compact input,.form-field.compact select{min-height:36px}.date-range-filter{gap:8px;display:flex}.filter-chip-row{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{background:var(--active-bg);min-height:24px;color:var(--strong-green);font-size:11px;font-weight:var(--weight-semibold);border-radius:999px;align-items:center;padding:3px 8px;display:inline-flex}.table-result-bar{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium)}.data-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:760px}.data-table th{z-index:1;border-bottom:1px solid var(--border);height:34px;color:var(--secondary);font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase;white-space:nowrap;background:#fff;padding:8px 10px;position:sticky;top:0}.sort-header{width:100%;color:inherit;font:inherit;text-align:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:flex}.sort-header:focus-visible,.table-detail-button:focus-visible,.row-actions-trigger:focus-visible,.column-menu-wrap .button:focus-visible,.table-pagination button:focus-visible{outline-offset:2px;outline:2px solid #6cbe456b}.sort-state{font-size:0}.sort-header:hover{color:var(--primary-green)}.data-table td{border-bottom:1px solid var(--divider);height:40px;color:var(--text);font-size:13px;font-weight:var(--weight-regular);vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;padding:8px 10px;overflow:hidden}.table-primary-stack{gap:2px;min-width:0;line-height:1.25;display:grid}.table-primary-stack strong{min-width:0;color:var(--text);font-size:13px;font-weight:var(--weight-semibold);text-overflow:ellipsis;overflow:hidden}.table-primary-stack span{min-width:0;color:var(--secondary);font-size:12px;font-weight:var(--weight-regular);text-overflow:ellipsis;overflow:hidden}.table-one-line{max-width:100%;color:var(--text);font-size:13px;font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.data-table tr:hover td{background:var(--low-surface)}.clickable-row{cursor:pointer}.table-detail-button{max-width:100%;min-height:28px;color:var(--strong-green);font:inherit;font-weight:var(--weight-semibold);text-align:left;text-underline-offset:3px;background:0 0;border:0;border-radius:4px;align-items:center;padding:0;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.table-detail-button:hover{color:var(--primary-green)}.table-empty{color:var(--secondary);padding:18px;font-size:14px}.table-footer{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium)}.density-comfortable .data-table td{height:50px;padding-top:12px;padding-bottom:12px}.density-comfortable .data-table th{height:40px;padding-top:10px;padding-bottom:10px}.row-actions-heading{width:72px;text-align:right!important}.row-actions-cell{text-align:right;position:relative}.row-actions-trigger{border:1px solid var(--border);width:30px;height:30px;color:var(--secondary);background:#fff;border-radius:6px;place-items:center;display:inline-grid}.row-actions-trigger[aria-expanded=true]{border-color:var(--primary-green);color:var(--primary-green)}.row-actions-menu{z-index:5;border:1px solid var(--border);background:#fff;border-radius:8px;min-width:150px;padding:5px;display:grid;position:absolute;top:34px;right:8px;box-shadow:0 12px 28px #181d1424}.row-actions-menu button{min-height:32px;color:var(--secondary);text-align:left;font-size:13px;font-weight:var(--weight-semibold);background:0 0;border:0;border-radius:5px}.row-actions-menu button:hover{background:var(--low-surface)}.row-actions-menu button:focus-visible{outline-offset:1px;background:var(--low-surface);outline:2px solid #6cbe456b}.column-menu-wrap{position:relative}.column-menu{z-index:6;border:1px solid var(--border);background:#fff;border-radius:8px;gap:2px;min-width:210px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #181d1424}.column-option{min-height:32px;color:var(--text);font-size:13px;font-weight:var(--weight-medium);align-items:center;gap:8px;display:flex}.column-option.locked{color:var(--secondary)}.column-option input{width:15px;height:15px}.table-pagination{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.pagination-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pagination-buttons .button{min-height:34px}.table-loading-state{border:1px solid var(--divider);background:#fff;border-radius:10px}.mono{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:12px}.mono-short{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mono-muted{color:var(--secondary)}.copyable-id{align-items:center;gap:6px;max-width:100%;display:inline-flex}.copy-id-button{border:1px solid var(--border);background:var(--card);min-height:24px;color:var(--strong-green);font:inherit;font-size:11px;font-weight:var(--weight-semibold);border-radius:6px;padding:2px 7px}.status-chip{min-height:24px;font-size:11px;font-weight:var(--weight-semibold);text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;display:inline-flex}.status-active{background:var(--active-bg);color:var(--strong-green)}.status-warning{background:var(--warning-bg);color:var(--warning-text)}.status-inactive{background:var(--inactive-bg);color:#4a5568}.status-danger{background:var(--danger-bg);color:var(--danger-text)}.status-neutral{color:var(--secondary);background:#eef6f0}.table-actions{align-items:center;gap:4px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.drawer-shell,.modal-shell{z-index:50;position:fixed;inset:0}.drawer-backdrop,.modal-backdrop,.mobile-scrim{background:#181d1438;border:0;position:fixed;inset:0}.detail-drawer{background:var(--page-bg);border-left:1px solid var(--border);flex-direction:column;width:min(560px,100vw);height:100dvh;display:flex;position:fixed;top:0;right:0;overflow:hidden}.detail-drawer-wide{width:min(760px,100vw - 32px)}.detail-drawer-workspace{width:min(1080px,100vw - 32px)}.drawer-header{z-index:1;border-bottom:1px solid var(--divider);background:var(--page-bg);justify-content:space-between;align-items:flex-start;gap:12px;margin:0;padding:18px 18px 14px;display:flex;position:sticky;top:0}.drawer-title-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.drawer-actions{border-bottom:1px solid var(--divider);background:var(--page-bg);flex-wrap:wrap;gap:8px;padding:14px 18px;display:flex}.drawer-header p{color:var(--secondary);margin:4px 0 0}.icon-button{border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--secondary);font-weight:var(--weight-bold);border-radius:6px}.drawer-body,.stack{gap:12px;display:grid}.drawer-body{flex:1;align-content:start;min-height:0;padding:18px;overflow-y:auto}.drawer-grid{gap:12px;display:grid}.detail-list{gap:8px;margin:0;display:grid}.detail-list div{border-bottom:1px solid var(--divider);grid-template-columns:minmax(150px,.45fr) 1fr;gap:10px;padding:10px 0;display:grid}.detail-list dt{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium);text-transform:none}.detail-list dd{color:var(--text);margin:0;font-size:14px}.credential-secret-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.credential-secret-row input{border:1px solid var(--border);width:100%;min-width:0;min-height:36px;color:var(--text);font:inherit;background:#fff;border-radius:6px;padding:0 10px}.credential-result-list{margin:0}.tabs{gap:12px;display:grid}.tab-list{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:20px;display:flex}.tab-button{min-height:36px;color:var(--secondary);font-size:13px;font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0 2px}.tab-button:hover{color:var(--primary-green)}.tab-button.active{border-bottom-color:var(--primary-green);color:var(--primary-green);background:0 0}.tab-button:focus-visible{outline-offset:3px;outline:2px solid #6cbe4559}.tab-panel{min-height:140px}.modal-panel{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;gap:0;width:min(520px,100vw - 32px);max-height:min(100dvh - 64px,860px);padding:0;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 22px 70px #181d142e}.modal-panel-small{width:min(420px,100vw - 32px)}.modal-panel-large{width:min(760px,100vw - 32px)}.modal-header{border-bottom:1px solid var(--divider);background:#fff;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 16px;display:flex}.modal-header h2{color:var(--text);font-size:21px;font-weight:var(--weight-bold);letter-spacing:0;margin:0;line-height:1.15}.modal-body,.wizard-body{flex:1;min-height:0;padding:18px 24px;overflow-y:auto}.wizard-modal-body{padding:0}.wizard-modal-body>.wizard-body{padding:18px 24px}.modal-body>*+*{margin-top:12px}.modal-panel label{color:var(--secondary)}.modal-description{color:var(--secondary);margin:6px 0 0;font-size:13px;line-height:1.4}.target-summary{border:1px solid var(--divider);background:var(--low-surface);border-radius:8px;gap:3px;padding:10px 12px;display:grid}.target-summary span,.audit-note{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium)}.target-summary strong{font-size:13px;font-weight:var(--weight-semibold)}.confirm-checkbox{text-transform:none;align-items:center;grid-template-columns:none!important;gap:8px!important;font-size:13px!important;display:flex!important}.confirm-checkbox input{width:16px;height:16px}.audit-note{margin:0}.danger-button{background:var(--danger-text)!important}.modal-panel textarea{border:1px solid var(--border);background:var(--card);color:var(--text);resize:vertical;border-radius:8px;min-height:112px;padding:10px}.modal-warning,.permission-hint{background:var(--warning-bg);color:var(--secondary);font-size:13px;font-weight:var(--weight-regular);border:1px solid #e7cb76;border-radius:8px;margin:0;padding:10px 12px}.permission-hint.compact{padding:7px 9px;font-size:12px}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.modal-footer{border-top:1px solid var(--divider);background:#fff;flex-shrink:0;margin-top:auto;padding:14px 24px;position:sticky;bottom:0}.modal-close-button{width:32px;height:32px;color:var(--secondary);background:0 0;border-color:#0000}.modal-close-button:hover{background:var(--low-surface);color:var(--text)}.empty-state{border:1px dashed var(--border);background:var(--low-surface);color:var(--text);border-radius:10px;gap:6px;padding:20px;display:grid}.empty-state.compact,.error-state.compact{padding:12px}.empty-state.full-page,.error-state.full-page{text-align:center;align-content:center;justify-items:center;min-height:280px}.empty-state[data-variant=filtered]{background:#fff}.error-state{background:var(--danger-bg);color:var(--danger-text);border:1px solid #e4a29c;border-radius:10px;gap:5px;padding:14px;display:grid}.loading-skeleton{border:1px solid var(--divider);background:#fff;border-radius:10px;gap:8px;min-height:96px;padding:12px;display:grid}.loading-skeleton span{background:linear-gradient(90deg,#edf1e8,#fff,#edf1e8) 0 0/220% 100%;border-radius:999px;min-height:14px;animation:1.2s ease-in-out infinite skeleton-pulse}.loading-skeleton.compact{min-height:48px}.table-skeleton{min-height:180px}@keyframes skeleton-pulse{0%{background-position:0 0}to{background-position:-220% 0}}.toast{z-index:80;border:1px solid var(--border);max-width:min(420px,100vw - 32px);color:var(--text);font-size:14px;font-weight:var(--weight-semibold);background:#fff;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex;position:fixed;bottom:18px;right:18px}.toast-success{border-color:#9fc58f}.toast-warning{border-color:#e7cb76}.toast-danger{border-color:#e4a29c}.toast button{border:1px solid var(--border);width:28px;height:28px;color:var(--secondary);background:#fff;border-radius:6px}.empty-state strong{font-size:18px;font-weight:var(--weight-semibold);line-height:1.2}.empty-state span,.error-state span,.muted-copy,.readonly-note{color:var(--secondary);font-size:14px}.page-state-icon{color:var(--primary-green)}.page-state-action{margin-top:4px}.role-badge,.redacted-value{min-height:24px;color:var(--secondary);font-size:11px;font-weight:var(--weight-semibold);background:#eef6f0;border-radius:999px;align-items:center;padding:3px 8px;display:inline-flex}.redacted-value{font-family:var(--font-mono);color:var(--danger-text);background:var(--danger-bg)}.timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.timeline-item{border-left:1px solid var(--border);padding:0 0 14px 24px;position:relative}.timeline-item:before{content:"";background:var(--primary-green);border-radius:999px;width:9px;height:9px;position:absolute;top:1px;left:-5px}.timeline-warning:before{background:var(--warning-text)}.timeline-danger:before{background:var(--danger-text)}.timeline-inactive:before{background:#6b7280}.timeline-item strong{font-size:13px;font-weight:var(--weight-semibold);display:block}.timeline-item span,.timeline-item p{color:var(--secondary);font-size:12px;font-weight:var(--weight-regular);margin:3px 0 0}.module-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.module-card{border:1px solid var(--border);background:var(--low-surface);min-height:36px;color:var(--secondary);font-size:13px;font-weight:var(--weight-medium);border-radius:8px;align-items:center;padding:8px 10px;display:inline-flex}.mobile-scrim{display:none}@media (width<=1100px){.stat-grid,.stat-grid.three{grid-template-columns:repeat(3,minmax(150px,1fr))}.status-card-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.app-main{width:100%}.sidebar{flex-basis:248px;width:248px;max-width:calc(100vw - 48px);transition:left .16s;position:fixed;left:-260px;box-shadow:12px 0 28px #171d1438}.sidebar.collapsed{flex-basis:248px;width:248px;padding:14px 10px}.sidebar.mobile-open{left:0}.nav-item{min-height:44px}.sidebar.collapsed .brand-block{flex-direction:row;justify-content:flex-start;padding:8px 6px 14px}.sidebar.collapsed .brand-logo{object-position:left center;width:94px;height:38px;padding:4px 6px}.sidebar.collapsed .brand-copy{display:block}.sidebar.collapsed .sidebar-collapse-button{display:inline-grid}.sidebar.collapsed .nav-item span{display:inline}.sidebar.collapsed .sidebar-group-label{display:block}.sidebar.collapsed .nav-item{justify-content:flex-start;min-height:36px;padding:8px 10px 8px 16px}.mobile-scrim.visible{z-index:15;background:#10160e7a;border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.menu-button{place-items:center;display:inline-grid}.top-bar{padding:8px 16px}.global-page-subtitle{max-width:44vw}.role-switcher span{display:none}.page-layout{padding:8px 16px 18px}.global-page-title{font-size:23px}.topbar-actions{margin-left:auto}.page-header{display:none}.stat-grid,.stat-grid.three,.status-card-grid,.settings-grid,.dashboard-grid,.two-column-grid{grid-template-columns:1fr}.filter-bar input{width:100%}.section-card-header{flex-direction:column;align-items:stretch}.button,.role-switcher select,.filter-bar input{min-height:48px}.detail-drawer{border-left:0;border-top:1px solid var(--border);border-radius:14px 14px 0 0;width:100vw;max-width:100vw;height:min(92dvh,820px);top:auto;bottom:0}.detail-drawer-wide,.detail-drawer-workspace{width:100vw}.table-controls{align-items:stretch}.table-search,.table-search input,.table-select,.table-select select,.column-menu-wrap,.column-menu-wrap .button{width:100%}.column-menu{width:min(100%,280px);left:0;right:auto}.table-pagination{flex-direction:column;align-items:stretch}.pagination-buttons{justify-content:space-between}.pagination-buttons .button{flex:120px;justify-content:center}}@media (width<=520px){.top-bar{flex-wrap:wrap;align-items:flex-start}.topbar-title-block{flex:calc(100% - 60px)}.top-spacer{display:none}.global-page-subtitle{white-space:normal;max-width:100%}.global-page-title{flex:1}.topbar-actions{order:3;justify-content:flex-start;width:100%;margin-left:0}.role-switcher,.role-switcher select{order:4;width:100%}.detail-list div{grid-template-columns:1fr}.modal-panel,.modal-panel-small,.modal-panel-large,.wizard-panel{border-radius:12px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.modal-header,.modal-body,.wizard-modal-body>.wizard-body,.modal-footer{padding-left:16px;padding-right:16px}.modal-footer{flex-wrap:wrap}.wizard-panel .modal-footer{flex-direction:column;align-items:stretch}.wizard-actions-right{grid-template-columns:1fr 1fr;display:grid}.wizard-actions-right .button:only-child{grid-column:1/-1}.route-state-actions{display:grid}}.wizard-panel{width:min(760px,100vw - 32px);max-height:calc(100dvh - 64px)}.wizard-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.wizard-header h2{font-size:18px;font-weight:var(--weight-semibold);margin:0;line-height:1.2}.wizard-body{flex:1}.wizard-steps{flex-wrap:wrap;gap:0;margin:0;padding:16px 24px 4px;list-style:none;display:flex}.wizard-step{color:var(--secondary);font-size:13px;font-weight:var(--weight-medium);background:0 0;border:0;align-items:center;gap:7px;padding:0 28px 0 0;display:flex;position:relative}.wizard-step:after{content:"";background:var(--border);width:28px;height:1px;margin-left:10px}.wizard-step:last-child{padding-right:0}.wizard-step:last-child:after{display:none}.wizard-step.current{color:var(--text);font-weight:var(--weight-semibold);background:0 0}.wizard-step.done{color:var(--action-green);background:0 0}.wizard-step-marker{background:var(--card);border:1px solid var(--border);width:20px;height:20px;font-size:12px;font-weight:var(--weight-semibold);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.wizard-step.current .wizard-step-marker{background:var(--primary-green);border-color:var(--primary-green);color:#fff}.wizard-step.done .wizard-step-marker{background:var(--brand-green);border-color:var(--brand-green);color:#fff}.wizard-errors{background:var(--danger-bg);color:var(--danger-text);border-radius:10px;margin:12px 24px 0;padding:10px 14px;font-size:.85rem}.wizard-errors ul{margin:6px 0 0;padding-left:18px}.wizard-actions,.wizard-panel .modal-footer{justify-content:space-between}.wizard-actions-right{gap:8px;display:flex}@media (width<=520px){.wizard-panel{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.wizard-panel .modal-footer{flex-direction:column;align-items:stretch}.wizard-actions-right{grid-template-columns:1fr 1fr;display:grid}.wizard-actions-right .button:only-child{grid-column:1/-1}}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.form-section{gap:12px;display:grid}.form-section+.form-section{margin-top:16px}.form-section-title{color:var(--text);font-size:14px;font-weight:var(--weight-semibold);margin:0;line-height:1.25}.form-grid .span-2{grid-column:span 2}@media (width<=640px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}.form-field.invalid input,.form-field.invalid select,.form-field.invalid textarea{border-color:var(--danger-text)}.required-mark{color:var(--danger-text);font-style:normal}.field-error{color:var(--danger-text);font-size:.78rem;font-weight:var(--weight-medium)}.field-hint{color:var(--secondary);font-size:.78rem;font-weight:var(--weight-regular)}.field-hint.block{margin-top:2px;display:block}.review-list{background:var(--low-surface);border-radius:10px;padding:12px 16px}.secret-reveal{background:var(--warning-bg);border:1px solid var(--warning-text);border-radius:10px;margin:12px 0;padding:12px 16px}.secret-reveal .secret-value{font-family:var(--font-mono);background:var(--card);border:1px dashed var(--warning-text);word-break:break-all;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:8px 12px;font-size:.9rem;display:flex}.secret-reveal .secret-warning{color:var(--danger-text);font-size:.82rem;font-weight:var(--weight-semibold);margin:8px 0 0}.evse-editor{border:1px solid var(--border);background:var(--card);border-radius:10px;margin-bottom:12px;padding:12px}.evse-editor-header{font-weight:var(--weight-semibold);justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.connector-row{grid-template-columns:90px 1fr 1fr 90px auto;align-items:end;gap:8px;padding:6px 0;display:grid}@media (width<=720px){.connector-row{grid-template-columns:1fr 1fr}}.inline-add-button{margin-top:4px}.chip-select{flex-wrap:wrap;gap:8px;display:flex}.chip-select button{border:1px solid var(--border);background:var(--card);font-size:.82rem;font-weight:var(--weight-medium);color:var(--secondary);border-radius:999px;padding:6px 14px}.chip-select button.selected{background:var(--active-bg);border-color:var(--brand-green);color:var(--strong-green);font-weight:var(--weight-semibold)}.chip-select button:disabled{opacity:.55;cursor:not-allowed}.chain-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:8px 0;display:grid}.chain-step{background:var(--low-surface);border:1px solid var(--border);font-size:.78rem;font-weight:var(--weight-regular);border-radius:10px;padding:8px 10px}.chain-step strong{font-size:.72rem;font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:0;color:var(--secondary);margin-bottom:4px;display:block}.chain-step.ok{background:var(--active-bg);border-color:var(--brand-green)}.chain-step.warn{background:var(--warning-bg);border-color:var(--warning-text)}.chain-step.bad{background:var(--danger-bg);border-color:var(--danger-text)}.page-action-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:16px;display:flex}.page-action-row .permission-hint{text-align:left;max-width:520px}.cpo-management-kpis,.cpo-mini-kpis,.cpo-delivery-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.cpo-detail-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:14px;display:grid}.cpo-detail-toolbar>.button.secondary,.station-detail-toolbar>.button.secondary,.charger-detail-toolbar>.button.secondary,.session-detail-toolbar>.button.secondary,.command-detail-toolbar>.button.secondary,.tariff-detail-toolbar>.button.secondary,.integration-detail-toolbar>.button.secondary,.user-detail-toolbar>.button.secondary{justify-self:start}.detail-toolbar-spacer{min-width:0}.detail-toolbar-spacer+.page-action-row,.detail-toolbar-spacer+.section-action-group{justify-self:end;margin:0}.cpo-detail-toolbar,.station-detail-toolbar,.charger-detail-toolbar,.session-detail-toolbar,.command-detail-toolbar,.tariff-detail-toolbar,.integration-detail-toolbar,.user-detail-toolbar{min-height:38px}.cpo-detail-toolbar>.button.secondary,.station-detail-toolbar>.button.secondary,.charger-detail-toolbar>.button.secondary,.session-detail-toolbar>.button.secondary,.command-detail-toolbar>.button.secondary,.tariff-detail-toolbar>.button.secondary,.integration-detail-toolbar>.button.secondary,.user-detail-toolbar>.button.secondary{border-color:color-mix(in srgb, var(--primary-green) 28%, var(--border));width:38px;min-width:38px;height:38px;color:var(--strong-green);background:#fff;border-radius:8px;padding:0;box-shadow:0 8px 20px #1e482214}.cpo-detail-toolbar>.button.secondary:hover,.station-detail-toolbar>.button.secondary:hover,.charger-detail-toolbar>.button.secondary:hover,.session-detail-toolbar>.button.secondary:hover,.command-detail-toolbar>.button.secondary:hover,.tariff-detail-toolbar>.button.secondary:hover,.integration-detail-toolbar>.button.secondary:hover,.user-detail-toolbar>.button.secondary:hover{border-color:color-mix(in srgb, var(--primary-green) 58%, var(--border));background:var(--green-soft);color:var(--primary-green-hover)}.cpo-detail-toolbar .page-action-row,.station-detail-toolbar .page-action-row,.charger-detail-toolbar .page-action-row,.user-detail-toolbar .page-action-row,.tariff-detail-toolbar .section-action-group{align-items:center;gap:8px}.cpo-detail-toolbar .page-action-row .button,.station-detail-toolbar .page-action-row .button,.charger-detail-toolbar .page-action-row .button,.user-detail-toolbar .page-action-row .button,.tariff-detail-toolbar .section-action-group .button{border-radius:8px;min-height:36px;padding:0 13px;font-size:12px;line-height:1}.cpo-detail-toolbar .page-action-row .button.secondary,.station-detail-toolbar .page-action-row .button.secondary,.charger-detail-toolbar .page-action-row .button.secondary,.user-detail-toolbar .page-action-row .button.secondary,.tariff-detail-toolbar .section-action-group .button.secondary{border-color:color-mix(in srgb, var(--primary-green) 22%, var(--border));color:var(--strong-green);background:#fff}.cpo-detail-toolbar .page-action-row .button.secondary:hover,.station-detail-toolbar .page-action-row .button.secondary:hover,.charger-detail-toolbar .page-action-row .button.secondary:hover,.user-detail-toolbar .page-action-row .button.secondary:hover,.tariff-detail-toolbar .section-action-group .button.secondary:hover{border-color:color-mix(in srgb, var(--primary-green) 46%, var(--border));background:var(--green-soft)}.cpo-detail-toolbar .page-action-row .button.primary,.station-detail-toolbar .page-action-row .button.primary,.charger-detail-toolbar .page-action-row .button.primary,.tariff-detail-toolbar .section-action-group .button.primary{border-color:var(--primary-green);box-shadow:0 10px 18px #5fbc412e}.cpo-detail-toolbar .page-action-row .button.danger-text,.station-detail-toolbar .page-action-row .button.danger-text,.charger-detail-toolbar .page-action-row .button.danger-text,.user-detail-toolbar .page-action-row .button.danger-text,.tariff-detail-toolbar .section-action-group .button.danger-text{border-color:color-mix(in srgb, var(--danger-text) 28%, var(--border));background:#fff}.cpo-detail-toolbar .page-action-row .button.danger-text:hover,.station-detail-toolbar .page-action-row .button.danger-text:hover,.charger-detail-toolbar .page-action-row .button.danger-text:hover,.user-detail-toolbar .page-action-row .button.danger-text:hover,.tariff-detail-toolbar .section-action-group .button.danger-text:hover{background:color-mix(in srgb, var(--danger-text) 8%, var(--card));border-color:color-mix(in srgb, var(--danger-text) 46%, var(--border))}.cpo-detail-toolbar .page-action-row{margin:0}.cpo-detail-statuses{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.cpo-detail-stack{gap:16px;display:grid}.cpo-attention-list{gap:10px;display:grid}.cpo-attention-row{border-bottom:1px solid var(--divider);grid-template-columns:minmax(180px,1fr) auto auto auto auto;align-items:center;gap:12px;padding:12px 0;display:grid}.cpo-attention-row:last-child{border-bottom:0}.cpo-attention-row h3{color:var(--text);font-size:14px;font-weight:var(--weight-semibold);margin:0}.cpo-attention-row p,.cpo-attention-row span{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium);margin:0}.cpo-attention-row strong{color:var(--text);font-size:12px;font-weight:var(--weight-semibold)}.cpo-config-list{margin-top:10px}.station-management-kpis,.station-mini-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.station-detail-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:14px;display:grid}.station-detail-toolbar .page-action-row{margin:0}.station-detail-statuses{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.station-detail-stack{gap:16px;display:grid}.station-summary-grid{grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);gap:16px;display:grid}.station-quick-filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.quick-filter-button{border:1px solid var(--divider);background:var(--surface);min-height:34px;color:var(--secondary);font:inherit;font-size:13px;font-weight:var(--weight-semibold);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;display:inline-flex}.quick-filter-button[data-active=true]{border-color:color-mix(in srgb, var(--primary-green) 48%, var(--divider));background:var(--green-soft);color:var(--text)}.quick-filter-button strong{color:var(--primary-green-dark);font-weight:var(--weight-bold)}.detail-helper{max-width:72ch;color:var(--secondary);margin-top:6px;font-size:12px;line-height:1.45;display:block}.station-attention-list{gap:10px;display:grid}.station-attention-row{border-bottom:1px solid var(--divider);grid-template-columns:10px minmax(180px,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;display:grid}.station-attention-row:last-child{border-bottom:0}.station-attention-dot{border-radius:999px;width:8px;height:8px}.station-attention-row h3{color:var(--text);font-size:14px;font-weight:var(--weight-semibold);margin:0}.station-attention-row p{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium);margin:2px 0 0}.station-config-list,.station-publication-list{margin-top:10px}.charger-management-kpis,.charger-mini-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.charger-distribution-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.distribution-bars{gap:12px;margin:0;padding:0;list-style:none;display:grid}.distribution-bar-row{gap:6px;display:grid}.distribution-bar-label{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium);justify-content:space-between;align-items:center;gap:10px;display:flex}.distribution-bar-label span{align-items:center;gap:6px;display:inline-flex}.compact-bars{gap:9px}.distribution-bar-label strong,.distribution-bar-percent{color:var(--text);font-weight:var(--weight-bold)}.distribution-bar-track{background:var(--surface-muted);border-radius:999px;height:8px;overflow:hidden}.distribution-bar-fill{border-radius:inherit;min-width:4px;height:100%;display:block}.distribution-bar-percent{font-size:11px}.charger-quick-filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.charger-detail-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:14px;display:grid}.charger-detail-toolbar .page-action-row{margin:0}.charger-detail-statuses{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.charger-detail-stack{gap:16px;display:grid}.charger-detail-refresh{min-height:32px;color:var(--secondary);justify-content:space-between;align-items:center;gap:12px;padding-block:6px;font-size:13px;display:flex}.command-locked-target{border:1px solid var(--border);background:var(--surface-muted,#00000005);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.command-locked-target strong{word-break:break-word}.link-button{color:var(--accent,#467e2d);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:hover{text-decoration:none}.telemetry-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.telemetry-range{flex-wrap:wrap;gap:8px;display:flex}.telemetry-filters{flex-wrap:wrap;gap:12px;display:flex}.telemetry-filters label{color:var(--secondary);gap:4px;font-size:12px;display:grid}.telemetry-filters select{min-width:150px}.telemetry-chart{min-width:0;height:260px}.telemetry-legend{gap:8px;margin:0;padding:0;list-style:none;display:grid}.telemetry-legend li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding-bottom:8px;display:flex}.telemetry-legend li span{color:var(--secondary);font-size:13px}.connector-workspace{gap:22px;display:grid}.evse-block{gap:14px;display:grid}.connector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.connector-card:only-child{grid-column:1/-1}.connector-card{background:var(--card);border:1px solid var(--border);border-radius:8px;gap:12px;padding:16px 16px 14px 20px;display:grid;position:relative;overflow:hidden}.connector-card[data-status=occupied]{border-color:color-mix(in srgb, var(--primary-green) 36%, var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary-green) 16%, transparent)}.connector-card:before{content:"";background:var(--chart-neutral);width:5px;position:absolute;inset:0 auto 0 0}.connector-card[data-status=available]:before{background:var(--chart-good)}.connector-card[data-status=occupied]:before{background:var(--chart-info)}.connector-card[data-status=faulted]:before{background:var(--chart-danger)}.connector-card[data-status=unavailable]:before{background:var(--chart-neutral)}.connector-card[data-status=other]:before{background:var(--chart-warning)}.connector-card-head{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.connector-badge{background:var(--low-surface);border:1px solid var(--border);width:40px;height:40px;color:var(--action-green);border-radius:8px;justify-content:center;align-items:center;font-size:17px;font-weight:800;display:inline-flex}.connector-card[data-status=faulted] .connector-badge{color:var(--danger-text);background:var(--danger-bg);border-color:#0000}.connector-card-title h4{margin:0;font-size:15px}.connector-card-title p{color:var(--secondary);margin:2px 0 0;font-size:12px}.connector-session{background:var(--active-bg);color:var(--strong-green);border-radius:999px;align-items:center;gap:8px;width:fit-content;margin:0;padding:6px 10px;font-size:12px;font-weight:650;display:inline-flex}.connector-session-panel{border:1px solid color-mix(in srgb, var(--primary-green) 34%, var(--border));background:var(--green-soft);border-radius:8px;gap:10px;padding:10px;display:grid}.connector-session-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.connector-session-dot{background:var(--chart-good);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #6cbe4540}.connector-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.connector-metrics div{background:var(--low-surface);border-radius:8px;gap:2px;padding:8px 10px;display:grid}.connector-session-ledger{border:1px solid var(--divider);background:var(--divider);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.connector-session-ledger div{background:var(--card);gap:2px;min-width:0;padding:8px;display:grid}.connector-session-ledger dt{color:var(--secondary);font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase}.connector-session-ledger dd{min-width:0;color:var(--text);font-size:13px;font-weight:var(--weight-bold);margin:0}.connector-metrics dt{color:var(--secondary);text-transform:uppercase;letter-spacing:.02em;font-size:11px}.connector-metrics dd{margin:0;font-size:14px;font-weight:700}.connector-spark{min-height:44px;color:var(--chart-info);gap:4px;display:grid}.connector-spark[data-status=faulted]{color:var(--chart-danger)}.connector-spark[data-status=available]{color:var(--chart-good)}.connector-spark .metric-mini-chart{width:100%;height:34px}.connector-spark-label,.connector-spark-empty{color:var(--secondary);font-size:11px}.connector-spark-empty{align-items:center;min-height:34px;display:inline-flex}.connector-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.connector-actions .button{align-items:center;gap:6px;display:inline-flex}.button.danger-solid{background:var(--chart-danger);color:#fff;border-color:#0000}.connector-links{align-items:center;gap:14px;display:inline-flex}.connector-links .link-button{align-items:center;gap:5px;font-size:13px;display:inline-flex}.connector-note{color:var(--secondary);font-size:13px}.connector-command{border:1px solid var(--border);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.connector-command:hover{background:var(--low-surface)}.connector-command>span:first-child{color:var(--secondary);text-transform:uppercase;letter-spacing:.02em;font-size:12px}.connector-command>span:last-child{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;font-size:13px;display:inline-flex}.connector-empty{padding:8px 0}@media (width<=720px){.connector-grid,.connector-session-ledger{grid-template-columns:1fr}}.metadata-edit-panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;gap:12px;margin:12px 0 16px;padding:14px;display:grid}.charger-summary-grid{grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);gap:16px;display:grid}.approval-banner{border:1px solid color-mix(in srgb, var(--primary-green) 40%, var(--divider));background:var(--green-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.approval-banner strong{color:var(--text);font-size:15px;font-weight:var(--weight-semibold);display:block}.approval-banner p{color:var(--secondary);margin:3px 0 0;font-size:13px;line-height:1.45}.evse-hierarchy{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.evse-hierarchy-card{border:1px solid var(--divider);background:var(--surface);border-radius:10px;padding:14px}.evse-hierarchy-card header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.evse-hierarchy-card h2{color:var(--text);font-size:15px;font-weight:var(--weight-semibold);margin:0}.evse-hierarchy-card p{margin:2px 0 0}.charger-operational-list,.charger-config-list{margin-top:10px}.sessions-management-kpis,.session-detail-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.session-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.preview-anchor-label{color:var(--secondary);font-size:13px;font-weight:var(--weight-medium)}.alert-toolbar,.alert-filter-panel{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px;display:flex}.alert-toolbar{border:1px solid var(--divider);background:#fbfdf7;border-radius:10px;padding:12px 14px}.alert-filter-panel{align-items:end}.segmented-control{border:1px solid var(--border);background:#fff;border-radius:8px;flex-wrap:wrap;gap:4px;padding:3px;display:inline-flex}.segmented-control button{min-height:32px;color:var(--secondary);font-size:12px;font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 10px}.segmented-control button.active{background:var(--active-bg);color:var(--primary-green)}.segmented-control button:focus-visible{outline-offset:2px;outline:2px solid #6cbe4559}.alert-priority-cell{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.alert-priority-cell span:last-child{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium)}.alert-drawer-content{gap:16px}.related-count-grid,.alert-context-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.related-count{border:1px solid var(--divider);color:var(--secondary);font-size:12px;font-weight:var(--weight-medium);background:#fff;border-radius:8px;gap:2px;padding:12px;display:grid}.related-count strong{color:var(--text);font-size:22px;font-weight:var(--weight-bold);line-height:1}.compact-detail-list div{grid-template-columns:minmax(110px,.35fr) 1fr;padding:8px 0}.audit-kpis,.integration-management-kpis,.integration-detail-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.audit-toolbar,.audit-filter-row,.integration-controls-row,.integration-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px;display:flex}.audit-toolbar{border:1px solid var(--divider);background:#fbfdf7;border-radius:10px;padding:12px 14px}.audit-filter-row,.integration-filter-row{justify-content:flex-start}.integration-detail-page{gap:16px;display:grid}.integration-detail-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.integration-detail-heading{gap:2px;min-width:0;display:grid}.integration-detail-heading h1{color:var(--text);font-size:22px;font-weight:var(--weight-bold);letter-spacing:0;margin:0;line-height:1.1}.integration-detail-heading p{color:var(--secondary);font-size:13px;font-weight:var(--weight-medium);margin:0}.integration-detail-statuses{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.integration-detail-stack{gap:16px;display:grid}.integration-summary-grid{grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);gap:16px;display:grid}.session-quick-filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.session-detail-page{gap:16px;display:grid}.session-detail-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:2px;display:grid}.session-detail-heading{gap:2px;min-width:0;display:grid}.session-detail-heading h1{color:var(--text);font-size:22px;font-weight:var(--weight-bold);letter-spacing:0;margin:0;line-height:1.1}.session-detail-heading p{color:var(--secondary);font-size:13px;font-weight:var(--weight-medium);margin:0}.session-detail-statuses{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.session-detail-stack{gap:16px;display:grid}.active-session-card{border-color:color-mix(in srgb, var(--primary-green) 30%, var(--border))}.active-session-workspace{grid-template-columns:minmax(260px,.82fr) minmax(360px,1.18fr);align-items:stretch;gap:14px;display:grid}.active-session-primary{border:1px solid color-mix(in srgb, var(--primary-green) 30%, var(--border));background:var(--green-soft);border-radius:8px;align-content:space-between;gap:12px;min-width:0;padding:12px;display:grid}.active-session-status-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.active-session-value{gap:4px;min-width:0;display:grid}.active-session-value span,.active-session-value em{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium)}.active-session-value span{text-transform:uppercase}.active-session-value strong{color:var(--text);font-size:32px;font-weight:var(--weight-bold);letter-spacing:0;line-height:1}.active-session-value em{font-style:normal}.active-session-metrics{border:1px solid var(--divider);background:var(--divider);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;gap:1px;margin:0;display:grid;overflow:hidden}.active-session-metrics div{background:var(--card);align-content:center;gap:4px;min-width:0;min-height:76px;padding:12px;display:grid}.active-session-metrics dt{color:var(--secondary);font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase}.active-session-metrics dd{min-width:0;color:var(--text);font-size:14px;font-weight:var(--weight-bold);margin:0}.active-session-chain{grid-template-columns:repeat(4,minmax(140px,1fr));gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.active-session-chain li{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-content:start;gap:4px;min-height:98px;padding:12px;display:grid}.active-session-chain span{color:var(--secondary);font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase}.active-session-chain strong{color:var(--text);font-size:14px;font-weight:var(--weight-bold)}.active-session-chain small{color:var(--secondary);font-size:12px;line-height:1.35}.active-session-chain .tone-active{border-color:color-mix(in srgb, var(--primary-green) 42%, var(--divider));background:var(--green-soft)}.active-session-chain .tone-warning{border-color:color-mix(in srgb, var(--warning-text) 35%, var(--divider));background:var(--warning-bg)}.compact-section{padding:14px}.now-charging-strip,.cdr-summary-grid{border:1px solid var(--divider);background:var(--divider);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:12px;display:grid;overflow:hidden}.now-charging-strip div,.cdr-summary-grid div{background:var(--card);align-content:center;gap:4px;min-width:0;min-height:70px;padding:12px;display:grid}.now-charging-strip span,.cdr-summary-grid span{color:var(--secondary);font-size:11px;font-weight:var(--weight-medium)}.now-charging-strip strong,.cdr-summary-grid strong{min-width:0;color:var(--text);font-size:16px;font-weight:var(--weight-bold);text-overflow:ellipsis;overflow:hidden}.now-charging-strip small{min-width:0;color:var(--secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}@media (width<=900px){.active-session-workspace,.active-session-metrics,.active-session-chain{grid-template-columns:1fr}}.session-summary-grid{grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);gap:16px;display:grid}.session-timeline,.billing-chain{margin:0;padding:0;list-style:none}.session-timeline{gap:10px;display:grid}.session-timeline li{border-bottom:1px solid var(--divider);grid-template-columns:minmax(150px,.8fr) minmax(150px,1fr);gap:4px 12px;padding:10px 0;display:grid}.session-timeline li:last-child{border-bottom:0}.session-timeline strong{color:var(--text);font-size:13px;font-weight:var(--weight-semibold)}.session-timeline span,.session-timeline small{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium)}.session-timeline small{grid-column:2}.billing-chain{grid-template-columns:repeat(5,minmax(150px,1fr));gap:8px;display:grid}.billing-chain-step{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-content:start;gap:4px;min-height:118px;padding:12px;display:grid}.billing-chain-step span{color:var(--secondary);font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase}.billing-chain-step strong{color:var(--text);font-size:14px;font-weight:var(--weight-bold)}.billing-chain-step small{color:var(--secondary);font-size:12px;line-height:1.4}.billing-chain-step.tone-active{border-color:color-mix(in srgb, var(--primary-green) 42%, var(--divider));background:var(--green-soft)}.billing-chain-step.tone-warning{border-color:color-mix(in srgb, var(--warning-text) 35%, var(--divider));background:var(--warning-bg)}.billing-chain-step.tone-danger{border-color:color-mix(in srgb, var(--danger-text) 35%, var(--divider));background:var(--danger-bg)}.commands-management-kpis,.command-detail-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.command-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.command-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.command-filter-row .field{min-width:190px}.command-quick-filters{flex-wrap:wrap;gap:8px;display:flex}.command-detail-page{gap:16px;display:grid}.command-detail-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.command-detail-heading{gap:2px;min-width:0;display:grid}.command-detail-heading h1{color:var(--text);font-size:22px;font-weight:var(--weight-bold);letter-spacing:0;margin:0;line-height:1.1}.command-detail-heading p{color:var(--secondary);font-size:13px;font-weight:var(--weight-medium);margin:0}.command-detail-statuses{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.command-detail-refresh{border-block:1px solid var(--border);min-height:36px;color:var(--secondary);justify-content:space-between;align-items:center;gap:12px;padding-block:6px;font-size:13px;display:flex}.command-form-stack,.command-confirmation{gap:14px;display:grid}.command-form-stack .field,.command-confirmation .detail-list{min-width:0}.command-detail-stack{gap:16px;display:grid}.command-summary-grid{grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);gap:16px;display:grid}.command-outcome-sequence{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.command-sequence-step{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-content:start;gap:4px;min-height:104px;padding:12px;display:grid}.command-sequence-step span{color:var(--secondary);font-size:11px;font-weight:var(--weight-medium);text-transform:uppercase}.command-sequence-step strong{color:var(--text);font-size:14px;font-weight:var(--weight-bold)}.command-sequence-step small{color:var(--secondary);font-size:12px;line-height:1.4}.command-sequence-step.tone-active{border-color:color-mix(in srgb, var(--primary-green) 42%, var(--divider));background:var(--green-soft)}.command-sequence-step.tone-warning{border-color:color-mix(in srgb, var(--warning-text) 35%, var(--divider));background:var(--warning-bg)}.command-sequence-step.tone-danger{border-color:color-mix(in srgb, var(--danger-text) 35%, var(--divider));background:var(--danger-bg)}.command-sequence-step.tone-neutral,.command-sequence-step.tone-inactive{border-color:var(--divider)}.tariff-management-kpis,.tariff-detail-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.tariff-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.tariff-quick-filters{flex-wrap:wrap;gap:8px;display:flex}.tariff-detail-page{gap:16px;display:grid}.tariff-detail-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.tariff-detail-heading{gap:2px;min-width:0;display:grid}.tariff-detail-heading h1{color:var(--text);font-size:22px;font-weight:var(--weight-bold);letter-spacing:0;margin:0;line-height:1.1}.tariff-detail-heading p{color:var(--secondary);font-size:13px;font-weight:var(--weight-medium);margin:0}.tariff-detail-statuses{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.tariff-detail-stack{gap:16px;display:grid}.tariff-summary-grid{grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);gap:16px;display:grid}.tariff-conflict-list{gap:10px;display:grid}.tariff-conflict-row{border:1px solid color-mix(in srgb, var(--danger-text) 35%, var(--divider));background:var(--danger-bg);border-radius:8px;gap:4px;padding:12px;display:grid}.tariff-conflict-row strong{color:var(--text);font-size:14px;font-weight:var(--weight-semibold)}.tariff-conflict-row span{color:var(--secondary);font-size:12px;line-height:1.4}@media (width<=640px){.page-action-row{flex-direction:column;align-items:stretch}.page-action-row .button,.page-action-row button{justify-content:center;width:100%}}.operations-context-row{border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.operations-context-row p{color:var(--text);font-size:14px;font-weight:var(--weight-medium);margin:2px 0 0}.dashboard-period-control{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.period-option{border:1px solid var(--border);min-height:34px;color:var(--secondary);font-size:13px;font-weight:var(--weight-semibold);background:#fff;border-radius:6px;padding:0 12px}.period-option:hover{background:var(--low-surface)}.period-option[data-active=true],.period-option.active{border-color:var(--primary-green);background:var(--active-bg);color:var(--strong-green);box-shadow:inset 0 0 0 1px #6cbe453d}.operations-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-chart-grid{grid-template-columns:minmax(320px,.8fr) minmax(480px,1.2fr);gap:16px;display:grid}.dashboard-detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:16px;display:grid}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.filter-grid label{color:var(--text-muted);text-transform:uppercase;gap:6px;font-size:.76rem;font-weight:700;display:grid}.filter-grid input,.filter-grid select{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);font:inherit;text-transform:none;border-radius:8px;padding:10px 11px;font-size:.88rem}.chart-panel{gap:12px;min-width:0;display:grid}.chart-panel.compact{min-height:260px}.chart-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.chart-heading strong{color:var(--text);font-size:.95rem;font-weight:700}.chart-heading span{color:var(--text-muted);text-align:right;font-size:.82rem}.chart-frame{width:100%;min-width:0;height:230px}.relationship-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.relationship-list li{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 0;display:flex}.relationship-list li:last-child{border-bottom:0}.donut-layout{grid-template-columns:minmax(190px,.85fr) minmax(170px,1fr);align-items:center;gap:16px;display:grid}.donut-chart{min-width:0;height:205px;position:relative}.donut-center{text-align:center;pointer-events:none;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.donut-center strong{font-size:30px;line-height:1}.donut-center span{color:var(--secondary);margin-top:5px;font-size:12px}.chart-legend{gap:10px;margin:0;padding:0;list-style:none;display:grid}.chart-legend-row{grid-template-columns:10px 1fr auto auto;align-items:center;gap:8px;font-size:13px;display:grid}.chart-legend-dot{border-radius:50%;width:9px;height:9px}.chart-key{flex-wrap:wrap;gap:8px 14px;margin:10px 0 0;padding:0;list-style:none;display:flex}.chart-key li{color:var(--secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.chart-key strong{color:var(--text);font-weight:var(--weight-bold)}.chart-legend-percent{color:var(--secondary);font-size:12px}.activity-chart{min-width:0;height:190px}.chart-summary{border-top:0;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:12px;padding-top:0;display:grid}.chart-summary span{border:1px solid var(--divider);min-height:58px;color:var(--secondary);background:#fbfdf7;border-radius:8px;gap:4px;padding:10px 12px;font-size:12px;display:grid}.chart-summary strong{color:var(--text);font-size:18px}.network-grid{grid-template-columns:repeat(3,minmax(280px,1fr));gap:14px;display:grid}.network-card{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden}.network-card[data-health=offline],.network-card[data-health=critical]{border-color:#93000a6b}.network-card[data-health=degraded]{border-color:#b5890070}.network-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.network-card-header h3{margin:0;font-size:15px}.network-card-header p{color:var(--secondary);margin:4px 0 0;font-size:12px}.network-card-metrics{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.network-card-metrics div{gap:3px;padding:12px 14px;display:grid}.network-card-metrics div+div{border-left:1px solid var(--border)}.network-card-metrics span{color:var(--secondary);font-size:11px}.network-card-metrics strong{font-size:18px}.charger-list{display:grid}.charger-row{grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 14px;display:grid}.charger-row+.charger-row{border-top:1px solid var(--border)}.charger-row div{gap:2px;display:grid}.charger-row small{color:var(--secondary);font-size:11px}.charger-status-dot{border-radius:50%;width:8px;height:8px}.charger-status-dot.online{background:var(--chart-good)}.charger-status-dot.offline{background:var(--chart-neutral)}.charger-status-dot.faulted{background:var(--chart-danger)}.charger-status-dot.pending{background:var(--chart-warning)}.empty-charger-list,.charger-overflow-count{margin:0;padding:12px 14px}.section-action-group{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.user-admin-stack,.user-detail-stack{gap:16px;display:grid}.users-kpis,.user-detail-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.user-filter-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.user-filter-row .table-select{min-width:180px}.user-detail-page{gap:16px;display:grid}.user-detail-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.user-detail-heading{gap:3px;min-width:0;display:grid}.user-detail-heading h2{color:var(--text);font-size:20px;font-weight:var(--weight-bold);letter-spacing:0;margin:0}.user-detail-heading p{color:var(--secondary);overflow-wrap:anywhere;margin:0;font-size:13px}.user-detail-statuses{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.user-detail-grid{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:16px;display:grid}.summary-item p{color:var(--secondary);margin:6px 0 0;font-size:13px;line-height:1.45}.mini-detail-list{gap:6px;margin:12px 0 0;display:grid}.mini-detail-list div{border-top:1px solid var(--divider);justify-content:space-between;gap:10px;padding-top:6px;display:flex}.mini-detail-list dt{color:var(--secondary);font-size:11px;font-weight:var(--weight-semibold);text-transform:uppercase}.mini-detail-list dd{color:var(--text);font-size:12px;font-weight:var(--weight-semibold);text-align:right;margin:0}.permission-legend{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.permission-legend span{color:var(--secondary);font-size:12px;font-weight:var(--weight-medium);align-items:center;gap:6px;display:inline-flex}.settings-form{gap:12px;margin-top:14px;display:grid}.settings-form .button{justify-self:flex-start}.form-error{border:1px solid color-mix(in srgb, var(--danger-text) 35%, var(--divider));background:var(--danger-bg);color:var(--danger-text);font-size:13px;font-weight:var(--weight-medium);border-radius:8px;padding:10px 12px}@media (width<=1100px){.cpo-management-kpis,.cpo-mini-kpis,.cpo-delivery-kpis,.station-management-kpis,.station-mini-kpis,.charger-management-kpis,.charger-mini-kpis,.sessions-management-kpis,.session-detail-kpis,.commands-management-kpis,.command-detail-kpis,.tariff-management-kpis,.tariff-detail-kpis,.audit-kpis,.integration-management-kpis,.integration-detail-kpis,.users-kpis,.user-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cpo-detail-toolbar,.station-detail-toolbar,.charger-detail-toolbar,.session-detail-toolbar,.command-detail-toolbar,.tariff-detail-toolbar,.integration-detail-toolbar,.user-detail-toolbar{grid-template-columns:auto minmax(0,1fr) auto}.cpo-detail-toolbar .page-action-row,.station-detail-toolbar .page-action-row,.charger-detail-toolbar .page-action-row{justify-content:flex-end}.cpo-attention-row,.station-attention-row{grid-template-columns:minmax(0,1fr) auto}.station-attention-dot{display:none}.operations-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-chart-grid,.dashboard-detail-grid,.charger-distribution-grid,.station-summary-grid,.charger-summary-grid,.session-summary-grid,.command-summary-grid,.tariff-summary-grid,.integration-summary-grid,.user-detail-grid{grid-template-columns:1fr}.role-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-chain{grid-template-columns:1fr}.network-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}@media (width<=720px){.network-grid,.donut-layout,.chart-summary{grid-template-columns:1fr}.operations-context-row{flex-direction:column;align-items:stretch}.dashboard-period-control{justify-content:stretch}.period-option{flex:92px}.network-card-metrics{grid-template-columns:1fr}.network-card-metrics div+div{border-left:0;border-top:1px solid var(--border)}}@media (width<=520px){.users-kpis,.user-detail-kpis,.role-catalogue-grid{grid-template-columns:1fr}.user-filter-row,.user-detail-statuses,.permission-legend{flex-direction:column;align-items:stretch}.user-filter-row .table-select,.user-filter-row .button,.settings-form .button,.user-detail-toolbar>.button{width:100%}.cpo-management-kpis,.cpo-mini-kpis,.cpo-delivery-kpis,.station-management-kpis,.station-mini-kpis,.charger-management-kpis,.charger-mini-kpis,.sessions-management-kpis,.session-detail-kpis,.commands-management-kpis,.command-detail-kpis,.tariff-management-kpis,.tariff-detail-kpis,.audit-kpis,.integration-management-kpis,.integration-detail-kpis{grid-template-columns:1fr}.cpo-detail-toolbar .page-action-row .button,.station-detail-toolbar .page-action-row .button,.charger-detail-toolbar .page-action-row .button,.tariff-detail-toolbar .section-action-group .button{width:100%}.cpo-detail-toolbar>.button.secondary,.station-detail-toolbar>.button.secondary,.charger-detail-toolbar>.button.secondary,.session-detail-toolbar>.button.secondary,.command-detail-toolbar>.button.secondary,.tariff-detail-toolbar>.button.secondary,.integration-detail-toolbar>.button.secondary,.user-detail-toolbar>.button.secondary{width:auto;min-width:36px}.cpo-detail-statuses,.station-detail-statuses,.charger-detail-statuses,.session-detail-statuses,.command-detail-statuses,.tariff-detail-statuses,.integration-detail-statuses,.session-controls-row,.command-controls-row,.command-filter-row,.tariff-controls-row,.audit-toolbar,.audit-filter-row,.integration-controls-row,.integration-filter-row,.dashboard-period-control{flex-direction:column;align-items:stretch}.period-option{width:100%}.session-timeline li{grid-template-columns:1fr}.session-timeline small{grid-column:auto}.approval-banner{flex-direction:column;align-items:stretch}.cpo-attention-row,.station-attention-row,.operations-kpi-grid{grid-template-columns:1fr}.section-action-group,.section-action-group .button{width:100%}}.login-page{background:var(--page-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--card);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:32px;display:flex;box-shadow:0 10px 30px #181d1414}.login-card .brand-logo{align-self:flex-start;width:auto;height:32px}.login-card h1{margin:0;font-size:22px}.login-card .muted-copy{margin:-8px 0 0}.signed-in-block{color:var(--secondary);align-items:center;gap:10px;font-size:13px;display:flex}.signed-in-block strong{color:var(--text)}.signed-in-block .button.ghost{padding:4px 10px}.auth-page{color:#181d14;background:#f3f8eb;width:100%;min-height:100dvh;margin:0;padding:0}.auth-shell{width:100%;min-height:100dvh;box-shadow:none;background:#fff;border:0;border-radius:0;grid-template-columns:minmax(440px,48%) minmax(0,52%);display:grid;overflow:hidden}.auth-brand-panel{background:var(--strong-green);color:#fff;flex-direction:column;justify-content:space-between;gap:40px;min-height:100dvh;padding:clamp(44px,5vw,76px);display:flex;position:relative;overflow:hidden}.auth-brand-slideshow{z-index:0;position:absolute;inset:0}.auth-brand-slide{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.4s;position:absolute;inset:0}.auth-brand-slide.is-active{opacity:1}.auth-brand-overlay{z-index:1;background:linear-gradient(160deg,#0f1f0994 0%,#2f5f1f99 50%,#0a1606e0 100%);position:absolute;inset:0}.auth-brand-content{z-index:2;flex-direction:column;flex:1;gap:clamp(42px,6vh,68px);width:min(500px,100%);display:flex;position:relative}.auth-brand-point-block{flex-direction:column;gap:20px;display:flex}.auth-brand-heading{color:#fff;letter-spacing:-.04em;flex:1;align-items:center;max-width:440px;margin:0;font-size:clamp(2.2rem,3.4vw,3.35rem);line-height:1.08;display:flex}.auth-brand-point{min-height:92px;position:relative}.auth-brand-point-slide{opacity:0;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:15px;transition:opacity .6s;display:grid;position:absolute;inset:0}.auth-brand-point-slide.is-active{opacity:1;position:relative}.auth-feature-icon{color:#d8efca;background:#ffffff14;border:1px solid #ffffff24;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.auth-brand-point-slide strong{color:#fff;margin:1px 0 5px;font-size:1.05rem;display:block}.auth-brand-point-slide p{color:#cbdcc4;margin:0;font-size:.9rem;line-height:1.55}.auth-brand-dots{gap:8px;display:flex}.auth-brand-dot{cursor:pointer;background:#ffffff47;border:0;border-radius:999px;width:22px;height:4px;padding:0;transition:background .3s,width .3s}.auth-brand-dot:hover{background:#ffffff80}.auth-brand-dot.is-active{background:#fff;width:34px}.auth-form-panel{background:#fff;place-items:center;min-height:100dvh;padding:clamp(40px,6vw,88px);display:grid}.auth-form-container{width:min(440px,100%)}.auth-form-logo{align-items:center;margin-bottom:48px;display:flex}.auth-form-logo img{object-fit:contain;width:auto;max-width:138px;height:44px;display:block}.auth-header{margin-bottom:34px}.auth-eyebrow{color:#467e2d;letter-spacing:.11em;text-transform:uppercase;margin-bottom:10px;font-size:.75rem;font-weight:750;display:block}.auth-header h1{color:#181d14;letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,2.65rem);line-height:1.1}.auth-header p{color:#66715e;margin:14px 0 0;font-size:.96rem;line-height:1.65}.auth-form{gap:20px;display:grid}.auth-field{gap:8px;display:grid}.auth-field>label{color:#293124;font-size:.84rem;font-weight:700}.auth-input-shell{background:#fff;border:1px solid #bcc8b1;border-radius:9px;align-items:center;min-height:48px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex;overflow:hidden}.auth-input-shell:focus-within{border-color:#5c9b3f;box-shadow:0 0 0 3px #6cbe452e}.auth-input-shell:has(input:disabled){opacity:.75;background:#f5f7f2}.auth-input-icon{color:#738069;flex:0 0 46px;place-items:center;width:46px;display:grid}.auth-input-shell input{color:#181d14;width:100%;min-width:0;height:46px;font:inherit;background:0 0;border:0;outline:0;padding:0 14px 0 0;font-size:.94rem}.auth-input-shell input::placeholder{color:#939d8c}.auth-password-toggle{color:#6d7866;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:0 0 44px;place-items:center;width:44px;height:44px;margin-right:2px;display:grid}.auth-password-toggle:hover:not(:disabled){color:#355f28;background:#eef6e8}.auth-password-toggle:focus-visible{outline-offset:-3px;outline:3px solid #6cbe4547}.auth-password-toggle:disabled{cursor:not-allowed}.auth-field-help{color:#6e7867;margin:0;font-size:.76rem;line-height:1.5}.auth-error{color:#8d2929;background:#fff3f2;border:1px solid #e8b3af;border-radius:9px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;padding:12px 14px;display:grid}.auth-error-icon{color:#fff;background:#b8403b;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.75rem;font-weight:800;display:grid}.auth-error p{margin:1px 0 0;font-size:.84rem;line-height:1.5}.auth-submit.button.primary{justify-content:center;align-items:center;gap:9px;width:100%;min-height:48px;margin-top:2px;font-weight:750;display:inline-flex}.auth-submit.button.primary:disabled{cursor:wait;opacity:.72}.auth-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:17px;height:17px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-security-note{color:#718069;text-align:center;justify-content:center;align-items:flex-start;gap:7px;font-size:.76rem;line-height:1.5;display:flex}.auth-security-note svg{color:#5d8e47;flex:none;margin-top:1px}.auth-help-text{color:#7a8573;text-align:center;margin:32px 0 0;font-size:.76rem;line-height:1.55}@media (width<=900px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{min-height:auto;padding:42px 36px}.auth-brand-content{justify-content:flex-start;gap:32px;width:100%}.auth-brand-heading{max-width:620px;font-size:2.15rem}.auth-form-panel{min-height:auto;padding:56px 32px 72px}.auth-form-logo{margin-bottom:42px}}@media (width<=680px){.auth-page{background:#fff}.auth-shell{min-height:100dvh}.auth-brand-panel{display:none}.auth-form-panel{align-items:start;min-height:100dvh;padding:32px 22px 48px}.auth-form-container{width:100%;max-width:440px;margin:0 auto}.auth-form-logo{margin-bottom:48px}.auth-form-logo img{max-width:124px;height:39px}.auth-header{margin-bottom:30px}.auth-header h1{font-size:2.1rem}.auth-input-shell{min-height:50px}.auth-input-shell input{height:48px}.auth-submit.button.primary{min-height:50px}}@media (prefers-reduced-motion:reduce){.auth-input-shell,.auth-password-toggle{transition:none}.auth-spinner{animation-duration:1.4s}.auth-brand-slide{transition:none}}@media (width<=768px){.sidebar.mobile-open .brand-block{justify-content:space-between}.sidebar.mobile-open .sidebar-logo-container{opacity:1;visibility:visible;width:auto;height:auto;transform:none}.sidebar.mobile-open .brand-logo{max-width:116px;height:34px}.sidebar.mobile-open .sidebar-collapse-button{opacity:1;visibility:visible;pointer-events:auto;position:static;transform:none}}@media (prefers-reduced-motion:reduce){.sidebar-logo-container,.sidebar-collapse-button{transition:none}}.integration-api-stack{gap:16px;min-width:0;display:grid}.integration-server-filters{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:14px;display:flex}.integration-server-filters .table-search,.integration-server-filters .table-select{min-width:180px}.integration-server-filters .compact-check{min-height:38px;padding:0 4px}.integration-pagination{border-top:1px solid var(--border-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;font-size:.82rem;display:flex}.integration-action-band{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.integration-action-band p{color:var(--text-muted);max-width:760px;margin:4px 0 0}.integration-reconciliation-result{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.status-list{gap:8px;display:grid}.status-list>div{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.status-list>div:last-child{border-bottom:0}.drawer-error{gap:8px;padding:14px 0;display:grid}.drawer-error p{color:var(--text-muted);overflow-wrap:anywhere;margin:0}@media (width<=760px){.integration-action-band,.integration-pagination{flex-direction:column;align-items:stretch}.integration-server-filters>*,.integration-server-filters .table-search,.integration-server-filters .table-select{width:100%}}.station-workspace-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.station-filter-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.station-filter-row label{color:var(--secondary);gap:4px;font-size:12px;display:grid}.station-filter-row select,.station-filter-row input[type=search]{min-width:150px}.station-check{align-items:center;flex-direction:row!important;gap:6px!important}.station-view-toggle{flex-wrap:wrap;gap:8px;display:inline-flex}.station-workspace{gap:16px;display:grid}.station-workspace-split{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch}.station-workspace-map,.station-workspace-list{min-width:0}.station-workspace-map{border:1px solid var(--border);border-radius:14px;min-height:480px;position:relative;overflow:hidden}.station-workspace-list{align-content:start;gap:12px;max-height:620px;display:grid;overflow:auto}.station-workspace-list-only .station-workspace-list,.station-workspace-list .station-workspace-list{max-height:none}.station-map,.station-map-canvas{width:100%;height:100%}.station-map{min-height:480px;position:relative}.station-map-canvas{min-height:480px}.station-map-loading,.station-map-note{z-index:500;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:13px;position:absolute;inset:auto 12px 12px}.station-map-tile-error{z-index:500;background:var(--warning-bg);color:var(--warning-text);border-radius:10px;padding:8px 12px;font-size:13px;position:absolute;inset:12px 12px auto}.station-map-popup{gap:4px;min-width:180px;display:grid}.station-map-popup strong{font-size:14px}.station-map-popup .button{margin-top:6px}.station-pin{background:var(--chart-neutral);border:2px solid #fff;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:30px;height:30px;display:flex;transform:rotate(-45deg);box-shadow:0 1px 4px #00000059}.station-pin-glyph{color:#fff;font-size:14px;font-weight:800;line-height:1;transform:rotate(45deg)}.station-pin-no-chargers,.station-pin-unknown{background:var(--chart-neutral)}.station-pin-selected{outline:3px solid var(--primary-green);outline-offset:2px}.station-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.station-list-row{border:1px solid var(--border);background:var(--card);border-radius:12px;align-items:center;gap:10px;padding:4px;display:flex}.station-list-row[data-selected=true]{border-color:var(--primary-green);box-shadow:0 0 0 1px var(--primary-green)}.station-list-select{text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;flex:1;gap:4px;min-width:0;padding:8px 10px;display:grid}.station-list-name{font-weight:700}.station-list-meta{color:var(--secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.station-list-counts{color:var(--secondary);font-size:12px}.station-list-open{flex:none;margin-right:6px}.station-summary-panel{border:1px solid var(--primary-green);background:var(--low-surface);border-radius:14px;gap:8px;padding:14px;display:grid}.station-summary-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.station-summary-head strong{display:block}.station-summary-head span{color:var(--secondary);font-size:13px}.station-summary-metrics{grid-template-columns:repeat(2,1fr);gap:8px 16px;margin:0;display:grid}.station-summary-metrics dt{text-transform:uppercase;letter-spacing:.02em;color:var(--secondary);font-size:11px}.station-summary-metrics dd{margin:0;font-weight:650}.station-location-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.station-location-map{border:1px solid var(--border);border-radius:12px;min-height:260px;position:relative;overflow:hidden}.station-location-map .station-map,.station-location-map .station-map-canvas{min-height:260px}.station-location-empty{gap:12px;display:grid}@media (width<=900px){.station-workspace-split,.station-location-layout{grid-template-columns:1fr}}.operations-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.operations-header .page-action-row{margin:0}.operations-refresh-indicator{color:var(--secondary);white-space:nowrap;align-self:center;font-size:13px}.operations-map-panel{border:1px solid var(--border);border-radius:12px;min-height:320px;position:relative;overflow:hidden}.operations-map-panel .station-map,.operations-map-panel .station-map-canvas{min-height:320px}.attention-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.attention-row{border:1px solid var(--border);background:var(--card);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.attention-row:hover{background:var(--low-surface)}.attention-row-body{gap:2px;min-width:0;display:grid}.attention-row-body span{color:var(--secondary);font-size:13px}.attention-row-time{color:var(--secondary);white-space:nowrap;font-size:12px}@media (width<=720px){.operations-header{flex-direction:column;align-items:stretch}.attention-row{grid-template-columns:1fr;justify-items:start}.attention-row-time{justify-self:start}}.ocpi-scope-list,.ocpi-module-group{border:none;gap:8px;margin:0 0 12px;padding:0;display:grid}.ocpi-scope-row{border:1px solid var(--border);background:var(--card);border-radius:10px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.ocpi-scope-row input{margin-top:3px}.ocpi-scope-row em{color:var(--secondary);font-size:12px;font-style:normal}.ocpi-module-groups{gap:16px;display:grid}.ocpi-module-group legend{margin-bottom:8px;padding:0;font-weight:650}.ocpi-bootstrap-form,.ocpi-bootstrap-reveal,.ocpi-bootstrap-cleared{gap:12px;display:grid}.ocpi-registration-summary{border:1px solid var(--border);background:var(--low-surface);border-radius:10px;gap:8px;padding:12px;display:grid}.ocpi-review-stack,.ocpi-wizard-success{gap:12px;display:grid}.table-filter-panel{border:1px solid var(--border);background:var(--low-surface);border-radius:8px;margin-bottom:14px;padding:12px}.table-filter-panel .filter-grid{margin:0}.table-filter-panel .muted-copy{margin:10px 0 0}.station-workspace-map,.station-location-map,.operations-map-panel{isolation:isolate;z-index:0;background:var(--card);border-color:var(--border);position:relative;overflow:hidden;box-shadow:0 10px 28px #181d140f}.station-map{isolation:isolate;background:var(--low-surface);width:100%;min-width:0;height:100%;position:relative}.station-map .leaflet-container{z-index:0;background:var(--low-surface);width:100%;height:100%;font-family:var(--font-sans);position:relative}.station-workspace-map{height:clamp(440px,61vh,680px);min-height:440px}.station-workspace-map .station-map,.station-workspace-map .station-map-canvas{height:100%;min-height:0}.station-location-map{height:300px;min-height:300px}.station-location-map .station-map,.station-location-map .station-map-canvas{height:100%;min-height:0}.operations-map-panel{height:clamp(260px,34vh,360px);min-height:260px}.operations-map-panel .station-map,.operations-map-panel .station-map-canvas{height:100%;min-height:0}.station-workspace-controls,.station-workspace-list,.station-summary-panel{z-index:1;position:relative}.station-map .leaflet-control-zoom{border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 8px 22px #181d141f}.station-map .leaflet-control-zoom a{border:0;border-bottom:1px solid var(--divider);background:var(--card);width:36px;height:36px;color:var(--strong-green);font-family:var(--font-sans);place-items:center;font-size:20px;line-height:1;display:grid}.station-map .leaflet-control-zoom a:last-child{border-bottom:0}.station-map .leaflet-control-zoom a:hover{background:var(--active-bg);color:var(--primary-green)}.station-map .leaflet-control-attribution{background:color-mix(in srgb, var(--card) 92%, transparent);color:var(--secondary);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:7px 0 0;padding:3px 7px;font-size:9px}.station-map .leaflet-control-attribution a{color:var(--action-green)}.station-marker-shell{place-items:center;background:0 0!important;border:0!important;width:40px!important;height:44px!important;display:grid!important}.station-pin{background:var(--chart-neutral);transform-origin:50%;border:3px solid #fff;border-radius:50% 50% 50% 0;place-items:center;width:34px;height:34px;transition:transform .14s,box-shadow .14s;display:grid;position:relative;transform:rotate(-45deg);box-shadow:0 8px 18px #181d1433,0 2px 5px #181d143d}.station-marker-shell:hover .station-pin{transform:rotate(-45deg)scale(1.08);box-shadow:0 10px 24px #181d1442,0 3px 7px #181d1433}.station-pin-glyph{color:#fff;place-items:center;margin:0;font-size:13px;font-weight:800;line-height:1;display:grid;transform:rotate(45deg)}.station-pin-operational{background:var(--chart-good)}.station-pin-degraded{background:var(--chart-warning)}.station-pin-faulted{background:var(--chart-danger)}.station-pin-offline{background:#687164}.station-pin-no-chargers,.station-pin-unknown{background:var(--chart-neutral)}.station-pin-selected{transform:rotate(-45deg)scale(1.12);box-shadow:0 0 0 4px #6cbe4547,0 12px 28px #181d144d}.station-map .marker-cluster{background:#6cbe4533;border-radius:50%;place-items:center;display:grid}.station-map .marker-cluster div{background:var(--primary-green);color:#fff;width:34px;height:34px;font-family:var(--font-sans);font-size:12px;font-weight:var(--weight-bold);border:2px solid #fff;border-radius:50%;place-items:center;margin:5px;display:grid;box-shadow:0 7px 18px #181d1433}.station-map .marker-cluster span{line-height:1}.station-map-tooltip{border:1px solid var(--border);background:var(--card);color:var(--text);font-family:var(--font-sans);border-radius:9px;gap:2px;padding:8px 10px;display:grid;box-shadow:0 8px 22px #181d1424}.station-map-tooltip:before{border-right-color:var(--card)!important}.station-map-tooltip strong{font-size:12px;font-weight:var(--weight-bold)}.station-map-tooltip span{color:var(--secondary);font-size:11px}.station-map .leaflet-popup-content-wrapper{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:14px;padding:0;overflow:hidden;box-shadow:0 18px 48px #181d1433}.station-map .leaflet-popup-content{font-family:var(--font-sans);margin:0;width:auto!important}.station-map .leaflet-popup-tip{background:var(--card);box-shadow:none}.station-map .leaflet-popup-close-button{width:28px;height:28px;color:var(--secondary);border-radius:7px;place-items:center;padding:0;font-size:19px;display:grid;top:8px;right:8px}.station-map .leaflet-popup-close-button:hover{background:var(--low-surface);color:var(--text)}.station-map-popup{gap:0;min-width:230px;max-width:320px;display:grid}.station-map-popup-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 42px 12px 16px;display:flex}.station-map-popup-title{gap:3px;min-width:0;display:grid}.station-map-popup-title strong{overflow-wrap:anywhere;color:var(--text);font-size:15px;font-weight:var(--weight-bold);line-height:1.25}.station-map-popup-title span{color:var(--secondary);font-size:11px;font-weight:var(--weight-semibold)}.station-map-popup-status{background:var(--inactive-bg);min-height:23px;color:var(--secondary);font-size:10px;font-weight:var(--weight-bold);text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:3px 8px;display:inline-flex}.station-map-popup[data-status=operational] .station-map-popup-status{background:var(--active-bg);color:var(--strong-green)}.station-map-popup[data-status=degraded] .station-map-popup-status{background:var(--warning-bg);color:var(--warning-text)}.station-map-popup[data-status=faulted] .station-map-popup-status{background:var(--danger-bg);color:var(--danger-text)}.station-map-popup-body{gap:6px;padding:12px 16px;display:grid}.station-map-popup-body p{color:var(--secondary);margin:0;font-size:12px;line-height:1.45}.station-map-popup-action{width:calc(100% - 32px);margin:0 16px 16px}.station-map-tile-error,.station-map-loading,.station-map-note{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);max-width:min(430px,100% - 24px);box-shadow:0 10px 28px #181d1421}.station-map-tile-error{border-color:color-mix(in srgb, var(--warning-text) 30%, var(--border));width:max-content;left:50%;right:auto;transform:translate(-50%)}@media (width<=1100px){.station-workspace-map{height:clamp(400px,55vh,580px);min-height:400px}}@media (width<=900px){.station-workspace-map{height:clamp(360px,52vh,520px);min-height:360px}.station-workspace-list{max-height:none;overflow:visible}}@media (width<=640px){.station-workspace-map{border-radius:12px;height:clamp(320px,48vh,420px);min-height:320px}.station-summary-panel{z-index:auto;position:relative;top:auto}.station-map-popup{min-width:min(230px,100vw - 76px);max-width:calc(100vw - 48px)}.station-map-popup-header{flex-direction:column;align-items:stretch;padding-right:42px}.station-map-popup-status{width:fit-content}.station-map .leaflet-control-zoom a{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){.station-pin{transition:none}}.station-workspace-controls{border:1px solid var(--divider);background:#fbfdf7;border-radius:10px;gap:14px;margin-bottom:16px;padding:14px;display:grid}.station-filter-row{grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(150px,1fr)) auto auto;align-items:end;gap:12px;width:100%;display:grid}.station-filter-row label{min-width:0;color:var(--secondary);font-size:12px;font-weight:var(--weight-medium);gap:6px;display:grid}.station-filter-row label>span{line-height:1.2}.station-filter-row input[type=search],.station-filter-row select{border:1px solid var(--border);background:var(--card);width:100%;min-width:0;min-height:42px;color:var(--text);font:inherit;font-size:13px;font-weight:var(--weight-regular);border-radius:8px;padding:0 8px;transition:border-color .15s,box-shadow .15s,background-color .15s}.station-filter-row input[type=search]::placeholder{color:var(--secondary);opacity:.72}.station-filter-row input[type=search]:hover,.station-filter-row select:hover{border-color:color-mix(in srgb, var(--primary-green) 48%, var(--border))}.station-filter-row input[type=search]:focus,.station-filter-row select:focus{border-color:var(--primary-green);outline:none;box-shadow:0 0 0 3px #6cbe452e}.station-search{min-width:0}.station-check{border:1px solid var(--border);background:var(--card);min-height:42px;color:var(--secondary);white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:flex-start;align-items:center;padding:0 11px;flex-direction:row!important;gap:8px!important;display:inline-flex!important}.station-check:hover{border-color:color-mix(in srgb, var(--primary-green) 48%, var(--border));background:var(--low-surface)}.station-check:focus-within{border-color:var(--primary-green);box-shadow:0 0 0 3px #6cbe452e}.station-check input[type=checkbox]{width:10px;height:16px;accent-color:var(--primary-green);cursor:pointer;flex:0 0 10px;margin:0}.station-check span{color:var(--secondary);font-size:12px;font-weight:var(--weight-semibold)}.station-view-toggle{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}@media (width<=1180px){.station-filter-row{grid-template-columns:repeat(3,minmax(180px,1fr))}.station-check{width:100%}}@media (width<=820px){.station-filter-row{grid-template-columns:repeat(2,minmax(160px,1fr))}.station-search{grid-column:1/-1}}@media (width<=560px){.station-workspace-controls{padding:12px}.station-filter-row{grid-template-columns:1fr}.station-search{grid-column:auto}.station-filter-row label,.station-filter-row input[type=search],.station-filter-row select,.station-check{width:100%}.station-view-toggle{grid-template-columns:repeat(2,1fr);display:grid}.station-view-toggle .quick-filter-button{justify-content:center;width:100%}}.charger-filter-action-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.charger-filter-action-row .charger-quick-filters{flex:auto;margin-bottom:0}.charger-onboard-button{white-space:nowrap;flex:none}@media (width<=820px){.charger-filter-action-row{flex-direction:column;align-items:stretch}.charger-onboard-button{align-self:flex-end}}@media (width<=520px){.charger-onboard-button{width:100%}.charger-filter-action-row .charger-quick-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.charger-filter-action-row .quick-filter-button{justify-content:space-between;width:100%}}.role-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.role-catalogue-card{border:1px solid var(--divider);background:var(--card);border-radius:12px;align-content:start;gap:12px;min-width:0;padding:16px;display:grid}.role-catalogue-card-header{justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:12px;display:flex}.role-catalogue-card-header>div{gap:5px;min-width:0;display:grid}.role-catalogue-card-header h3{color:var(--text);font-size:17px;font-weight:var(--weight-bold);overflow-wrap:anywhere;margin:0;line-height:1.25}.role-permission-count{background:var(--active-bg);min-width:38px;min-height:38px;color:var(--strong-green);font-size:14px;font-weight:var(--weight-bold);border-radius:10px;flex:none;place-items:center;padding:5px;display:inline-grid}.role-catalogue-description{color:var(--secondary);margin:0;font-size:13px;line-height:1.45}.role-catalogue-details{gap:0;margin:0;display:grid}.role-catalogue-details>div{border-top:1px solid var(--divider);grid-template-columns:minmax(120px,.4fr) minmax(0,1fr);align-items:start;gap:14px;padding:10px 0;display:grid}.role-catalogue-details dt{color:var(--secondary);font-size:11px;font-weight:var(--weight-semibold);text-transform:uppercase;line-height:1.4}.role-catalogue-details dd{min-width:0;color:var(--text);font-size:13px;font-weight:var(--weight-semibold);text-align:right;overflow-wrap:anywhere;margin:0;line-height:1.45}.role-assignment-list{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.role-assignment-chip{border:1px solid color-mix(in srgb, var(--primary-green) 30%, var(--divider));background:var(--low-surface);min-height:26px;color:var(--strong-green);font-size:11px;font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;display:inline-flex}.role-none-value{color:var(--secondary);font-weight:var(--weight-medium)}.role-catalogue-hint{margin-top:14px}.role-catalogue-hint .permission-hint{width:100%}@media (width<=900px){.role-catalogue-grid{grid-template-columns:1fr}}@media (width<=520px){.role-catalogue-card{padding:14px}.role-catalogue-details>div{grid-template-columns:1fr;gap:5px}.role-catalogue-details dd{text-align:left}.role-assignment-list{justify-content:flex-start}}
