.sim-dialog[data-v-4b05ea05]{width:680px}.sim-modes[data-v-4b05ea05],.sim-dialog .segmented-control[data-v-4b05ea05]{background:var(--bg-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);gap:4px;padding:3px;display:inline-flex}.sim-modes[data-v-4b05ea05]{margin-bottom:14px}.sim-dialog .segmented-control button[data-v-4b05ea05]{background:0 0;border-color:#0000;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.sim-dialog .segmented-control button.active[data-v-4b05ea05]{background:var(--bg-surface);border-color:var(--border-default);color:var(--accent);font-weight:600}.sim-grid[data-v-4b05ea05]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.sim-label[data-v-4b05ea05]{color:var(--text-secondary);font-size:13px;font-weight:600}.sim-preview[data-v-4b05ea05]{border-radius:var(--radius-sm);border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--text-secondary);align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;display:flex}.sim-preview.unassigned[data-v-4b05ea05]{border-color:var(--border-default);background:var(--bg-muted)}.sim-orders h3[data-v-4b05ea05],.sim-result h3[data-v-4b05ea05]{margin:6px 0 8px;font-size:14px}.sim-order p[data-v-4b05ea05],.sim-candidate p[data-v-4b05ea05]{color:var(--text-muted);margin-top:4px;font-size:12.5px}.sim-order-actions[data-v-4b05ea05]{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.sim-candidates[data-v-4b05ea05]{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.sim-candidates legend[data-v-4b05ea05]{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:600}.sim-candidate[data-v-4b05ea05]{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.sim-candidate input[type=radio][data-v-4b05ea05]{width:16px;height:16px;min-height:16px;accent-color:var(--accent);cursor:pointer;flex:none;margin:2px 0 0;padding:0}.sim-candidate input[type=radio][data-v-4b05ea05]:disabled{cursor:not-allowed}.sim-candidate>div[data-v-4b05ea05]{flex:1;min-width:0}.sim-candidate.blocked[data-v-4b05ea05]{opacity:.6;cursor:not-allowed}.sim-candidate[data-v-4b05ea05]:has(input:checked){border-color:var(--accent)}.sim-result[data-v-4b05ea05]{flex-direction:column;gap:8px;display:flex}.sim-dialog code[data-v-4b05ea05]{word-break:break-all}@media (width<=640px){.sim-grid[data-v-4b05ea05]{grid-template-columns:1fr}}:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-app:#f3f5f8;--bg-surface:#fff;--bg-subtle:#f8fafc;--bg-muted:#f1f5f9;--sidebar-bg:#0b221e;--sidebar-surface:#12312b;--sidebar-border:#1e453d;--sidebar-text:#c2d8d2;--sidebar-muted:#84a89f;--border-subtle:#e5e9f0;--border-default:#d0d7e2;--border-strong:#94a3b8;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#526075;--accent:#0d6955;--accent-hover:#095444;--accent-soft:#ecfdf5;--accent-border:#a7f3d0;--accent-focus:#10b981;--warn-text:#b45309;--warn-bg:#fffbeb;--warn-border:#fcd34d;--danger-text:#b91c1c;--danger-bg:#fef2f2;--danger-border:#fecaca;--info-text:#1d4ed8;--info-bg:#eff6ff;--info-border:#bfdbfe;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 8px 24px #0f172a14;--shadow-lg:0 20px 48px #0f172a2e;background:#f3f5f8;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg-app);color:var(--text-primary);max-width:100%;margin:0;padding:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}svg{vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1{letter-spacing:-.02em;color:var(--text-primary);font-size:24px;font-weight:700;line-height:1.25}h2{color:var(--text-primary);font-size:17px;font-weight:650;line-height:1.35}h3{color:var(--text-primary);font-size:15px;font-weight:600;line-height:1.4}p{line-height:1.6}small{font-size:12px;line-height:1.45}.tabular{font-variant-numeric:tabular-nums}code,.mono,.mono-input{font-family:ui-monospace,SFMono-Regular,Cascadia Code,JetBrains Mono,Consolas,monospace}code{overflow-wrap:anywhere;font-size:12.5px}button{cursor:pointer;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:14px;font-weight:500;line-height:1.3;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}button:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-strong);color:var(--text-primary)}button:active:not(:disabled){background:var(--bg-muted)}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--accent-focus);outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;box-shadow:0 1px 2px #0d695533}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn-secondary{background:var(--bg-surface);border-color:var(--border-default);color:var(--text-primary)}.btn-ghost{border-color:var(--border-subtle);color:var(--text-secondary);background:0 0;padding:7px 12px;font-size:13px}.btn-ghost:hover:not(:disabled){background:var(--bg-muted);border-color:var(--border-default)}.btn-ghost-sm{color:var(--text-muted);background:0 0;border-color:#0000;padding:4px 8px;font-size:13px}.icon-button{width:36px;height:36px;color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;border-color:#0000;padding:0}.icon-button:hover:not(:disabled){background:var(--bg-muted);color:var(--text-primary);border-color:#0000}.text-button{color:var(--accent);background:0 0;border:none;gap:6px;padding:4px 2px;font-size:13.5px;font-weight:600}.text-button:hover:not(:disabled){color:var(--accent-hover);text-underline-offset:3px;background:0 0;border-color:#0000;text-decoration:underline}.btn-table{border-color:var(--border-default);background:var(--bg-surface);color:var(--text-primary);white-space:nowrap;padding:6px 11px;font-size:13px;font-weight:500}.btn-table:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.full{width:100%}label{color:var(--text-secondary);font-size:13px;font-weight:550;line-height:1.45;display:block}input,select,textarea{border:1px solid var(--border-default);background:var(--bg-surface);border-radius:var(--radius-sm);width:100%;min-width:0;min-height:40px;color:var(--text-primary);padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}textarea{min-height:auto}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0d695526}input:disabled,select:disabled,textarea:disabled{background:var(--bg-muted);color:var(--text-muted);border-color:var(--border-subtle);cursor:not-allowed}input::placeholder{color:#8b97a8}label>input,label>select{margin-top:6px}.field-group{flex-direction:column;gap:6px;display:flex}.quiet{color:var(--text-muted);font-size:12.5px}.nowrap{white-space:nowrap}.dot{background:#10b981;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.dot.muted{background:#94a3b8}.dot.blue{background:#3b82f6}.dot.orange{background:#f59e0b}.dot.red{background:#ef4444}.pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.pill.mock-badge{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.pill.mint,.pill.charging{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.pill.neutral,.pill.empty,.pill.closed{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.pill.overtime{color:var(--warn-text);background:var(--warn-bg);border-color:var(--warn-border)}.pill.exception{color:var(--danger-text);background:var(--danger-bg);border-color:var(--danger-border)}.count{color:var(--text-secondary);background:var(--bg-muted);border:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.banner{border-radius:var(--radius-md);border:1px solid #0000;align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:13.5px;line-height:1.55;display:flex}.banner>svg{margin-top:2px}.banner>span{flex:1;min-width:0}.banner.compact{margin-bottom:14px;padding:10px 12px;font-size:13px}.banner-close{width:26px;height:26px;color:inherit;background:0 0;border:0;border-radius:4px;margin-left:auto;padding:2px}.banner-close:hover:not(:disabled){background:#0f172a14}.banner.error{background:var(--danger-bg);color:#991b1b;border-color:var(--danger-border)}.banner.success{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.banner.warning{background:var(--warn-bg);color:#92400e;border-color:var(--warn-border)}.banner.info{color:#0c4a6e;background:#f0f9ff;border-color:#bae6fd}.brand{color:#fff;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{color:#042f2e;background:linear-gradient(145deg,#10b981,#059669);border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid;box-shadow:inset 0 1px #ffffff59}.brand-text{flex-direction:column;line-height:1.2;display:flex}.brand-text strong{letter-spacing:.04em;color:#f8fafc;font-size:19px;font-weight:700}.brand-text small{color:var(--sidebar-muted);margin-top:2px;font-size:12px;font-weight:450}.login-layout{background:var(--bg-app);grid-template-columns:minmax(380px,46%) 1fr;min-height:100vh;display:grid}.login-aside{background:var(--sidebar-bg);color:#e2efec;border-right:1px solid var(--sidebar-border);flex-direction:column;justify-content:space-between;gap:36px;padding:44px 52px;display:flex}.login-copy{max-width:520px;margin:auto 0}.station-tag{background:var(--sidebar-surface);border:1px solid var(--sidebar-border);color:#6ee7b7;border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:5px 12px;font-size:12.5px;font-weight:550;display:inline-flex}.login-copy h1{color:#f8fafc;letter-spacing:-.015em;font-size:clamp(26px,2.6vw,36px);font-weight:700;line-height:1.32}.login-copy>p{color:#9cbab2;margin-top:16px;font-size:14.5px;line-height:1.65}.login-capabilities{gap:14px;margin-top:32px;display:grid}.capability-item{border-radius:var(--radius-md);border:1px solid var(--sidebar-border);background:#1e293bb8;align-items:center;gap:14px;padding:14px 16px;display:flex}.capability-icon{color:#93c5fd;background:#2563eb33;border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.capability-item strong{color:#f1f5f9;font-size:14px;font-weight:600;display:block}.capability-item>div>span{color:#cbd5e1;margin-top:3px;font-size:12.5px;display:block}.login-foot{color:var(--sidebar-muted);border-top:1px solid var(--sidebar-border);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;font-size:12.5px;display:flex}.login-main{place-items:center;padding:40px 24px;display:grid}.login-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-md);padding:36px 34px}.login-card-top{margin-bottom:18px}.login-card h2{letter-spacing:-.015em;font-size:23px;font-weight:700}.login-subtitle{color:var(--text-muted);margin-top:8px;font-size:13.5px}.login-form{flex-direction:column;gap:16px;margin-top:24px;display:flex}.login-form input{min-height:44px}.login-button{justify-content:space-between;width:100%;min-height:44px;margin-top:4px;padding:11px 18px;font-size:14.5px}.login-note{border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-secondary);align-items:flex-start;gap:11px;margin-top:24px;padding:14px;display:flex}.login-note svg{color:var(--accent);margin-top:2px}.login-note strong{color:var(--text-primary);margin-bottom:3px;font-size:13px;display:block}.login-note p{color:var(--text-muted);font-size:12.5px;line-height:1.55}.login-quiet{color:var(--text-muted);text-align:center;margin-top:16px;font-size:12px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);width:248px;color:var(--sidebar-text);z-index:25;border-right:1px solid var(--sidebar-border);flex-direction:column;padding:22px 16px 16px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-header{justify-content:space-between;align-items:center;padding:0 6px;display:flex}.mobile-bar-actions{display:none}.mobile-icon-btn{background:var(--sidebar-surface);border:1px solid var(--sidebar-border);color:#e2efec;border-radius:var(--radius-sm);width:36px;height:36px;padding:0}.mobile-icon-btn:hover:not(:disabled){color:#fff;background:#1b433b;border-color:#2c6458}.sidebar-site{background:var(--sidebar-surface);border:1px solid var(--sidebar-border);border-radius:var(--radius-md);margin:20px 2px 18px;padding:13px}.site-head{align-items:center;gap:10px;display:flex}.site-symbol{color:#34d399;background:#10b98129;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.site-titles{min-width:0}.site-titles strong{color:#f1f5f9;font-size:13.5px;font-weight:600;display:block}.site-titles span{color:var(--sidebar-muted);margin-top:1px;font-size:12px;display:block}.site-meta{color:#a7c5bd;border-top:1px solid var(--sidebar-border);align-items:center;gap:7px;margin-top:11px;padding-top:10px;font-size:12px;display:flex}.site-badge{color:#6ee7b7;background:#10b9812e;border-radius:4px;margin-left:auto;padding:1px 7px;font-size:12px;font-weight:600}.workspace-label{color:var(--sidebar-muted);margin:4px 10px 8px;font-size:12px;font-weight:600}.sidebar nav{gap:4px;display:grid}.sidebar nav button{text-align:left;color:var(--sidebar-text);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:flex-start;align-items:center;gap:11px;min-width:0;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.sidebar nav button:hover:not(:disabled){color:#fff;background:#ffffff0f;border-color:#0000}.sidebar nav button.selected{color:#fff;background:#163d35;border-color:#265c51;font-weight:600}.nav-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-count{color:#1e293b;font-variant-numeric:tabular-nums;background:#f59e0b;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:12px;font-weight:700;line-height:1.4}.account{border:1px solid #0000;border-top-color:var(--sidebar-border);color:var(--sidebar-text);text-align:left;background:0 0;border-radius:0;justify-content:flex-start;align-items:center;gap:10px;margin-top:auto;padding:14px 8px 4px;display:flex}.account:hover:not(:disabled){border-color:#0000;border-top-color:var(--sidebar-border);color:#fff;background:0 0}.avatar{color:#6ee7b7;background:#1b4b41;border:1px solid #2b685b;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.account-info{flex:1;min-width:0}.account-info strong{color:#f1f5f9;font-size:13.5px;font-weight:600;display:block}.account-info small{color:var(--sidebar-muted);text-wrap:balance;font-size:12px;display:block}.workspace{flex-direction:column;flex:1;min-width:0;margin-left:248px;display:flex}.topbar{z-index:15;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-subtle);background:#fffffff0;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:12px;min-width:0;display:flex}.breadcrumb{color:var(--text-muted);align-items:center;gap:8px;min-width:0;font-size:13.5px;display:flex}.crumb-sep{color:#cbd5e1}.breadcrumb strong{color:var(--text-primary);white-space:nowrap;font-weight:600}.role-badge{color:var(--text-secondary);background:var(--bg-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);white-space:nowrap;padding:2px 8px;font-size:12px;font-weight:600}.topbar-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.topbar-clock{color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;display:inline-flex}.topbar-clock svg{color:var(--accent)}.clock-prefix{color:var(--text-muted)}.topbar-clock strong{color:var(--text-primary);font-weight:600}.content{flex-direction:column;flex:1;width:100%;min-width:0;max-width:1640px;margin:0 auto;padding:28px 32px 0;display:flex}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.heading-main p{color:var(--text-muted);margin-top:6px;font-size:14px}.heading-meta{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;padding:10px 16px;display:flex}.date-label{color:var(--text-muted);font-size:12px}.heading-meta strong{color:var(--text-primary);font-size:15px;font-weight:650}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.metric{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);flex-direction:column;justify-content:space-between;padding:18px 20px;display:flex}.metric.warning-metric{border-color:var(--warn-border);background:linear-gradient(#fffdf7 0%,#fff 100%)}.metric.accent{background:linear-gradient(#f8fafc 0%,#fff 100%);border-color:#cbd5e1}.metric-head{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.metric-icon{background:var(--bg-muted);width:34px;height:34px;color:var(--text-secondary);border-radius:8px;place-items:center;display:grid}.metric-icon.emerald{color:#059669;background:#ecfdf5}.metric-icon.amber{color:#d97706;background:#fffbeb}.metric-icon.teal{color:#0d9488;background:#f0fdfa}.metric-value{align-items:baseline;gap:6px;margin:14px 0 8px;display:flex}.metric-value strong{letter-spacing:-.025em;color:var(--text-primary);font-size:32px;font-weight:700;line-height:1.05}.metric-value small{color:var(--text-muted);font-size:13px;font-weight:500}.metric-value .currency{color:var(--text-secondary);font-size:18px;font-weight:650}.metric-foot{color:var(--text-muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.simulation-bar{background:var(--bg-surface);border:1px solid var(--border-default);border-left:4px solid var(--accent);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px;padding:15px 20px;display:flex}.simulation-info{align-items:center;gap:14px;min-width:0;display:flex}.simulation-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.simulation-info h3{color:var(--text-primary);font-size:14.5px}.simulation-info p{color:var(--text-muted);margin-top:2px;font-size:13px}.button-group{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.sim-btn{background:var(--bg-subtle);border-color:var(--border-default);color:var(--text-primary);font-variant-numeric:tabular-nums;padding:8px 13px;font-size:13.5px;font-weight:600}.sim-btn:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.spaces-section{margin-bottom:26px}.section-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.section-bar h2{align-items:center;gap:9px;display:flex}.section-bar p{color:var(--text-muted);margin-top:4px;font-size:13px}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.spaces-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.space-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:left;min-height:196px;box-shadow:var(--shadow-xs);border-top:3px solid #cbd5e1;flex-direction:column;justify-content:space-between;align-items:stretch;padding:16px 18px 0;transition:transform .14s,box-shadow .14s,border-color .14s;display:flex;position:relative;overflow:hidden}.space-card:hover:not(:disabled){background:var(--bg-surface);border-color:#94a3b8;border-top-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.space-card.active{border-top-color:#3b82f6}.space-card.charging{background:linear-gradient(#f6fef9 0%,#fff 55%);border-color:#10b981 #a7f3d0 #a7f3d0}.space-card.released{border-top-color:#14b8a6}.space-card.overtime{background:linear-gradient(#fffdf5 0%,#fff 55%);border-color:#f59e0b #fde68a #fde68a}.space-card.exception{background:linear-gradient(#fff8f8 0%,#fff 55%);border-color:#ef4444 #fecaca #fecaca}.space-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.space-title-wrap{align-items:center;gap:8px;min-width:0;display:flex}.space-number{background:var(--bg-muted);min-width:26px;height:24px;color:var(--text-secondary);border-radius:5px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.space-card h3{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15.5px;font-weight:650;overflow:hidden}.session-timing{color:var(--text-muted);flex-direction:column;gap:3px;font-size:12px;line-height:1.5;display:flex}.session-timing strong{color:var(--text-secondary);font-weight:500}.session-overview-card>.session-timing{margin:12px 0}.space-occupied-body{flex-direction:column;gap:12px;margin:16px 0;display:flex}.space-vehicle-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.plate-chip{color:#f8fafc;letter-spacing:.03em;background:#0f172a;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:14px;font-weight:650;display:inline-flex}.charging .plate-chip{color:#ecfdf5;background:#065f46}.stay-time{color:var(--text-muted);font-size:12.5px;font-weight:500}.space-fee-row{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;padding:8px 11px;display:flex}.fee-caption{color:var(--text-muted);font-size:12.5px}.fee-val{color:var(--text-primary);font-size:16px;font-weight:700}.fee-val.is-due{color:var(--warn-text)}.space-empty-body{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px dashed var(--border-default);justify-content:space-between;align-items:center;gap:8px;margin:18px 0;padding:14px 12px;display:flex}.empty-slot-main{color:var(--text-secondary);align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:inline-flex}.empty-slot-main svg{color:#64748b}.empty-slot-cta{color:var(--accent);font-size:12px;font-weight:600}.space-bottom{border-top:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;margin:0 -18px;padding:10px 18px;font-size:12px;display:flex}.space-stats{align-items:center;gap:12px;display:flex}.space-stats span{align-items:center;gap:5px;display:inline-flex}.offline-text{color:var(--danger-text);font-weight:600}.space-sn{color:var(--text-muted);align-items:center;gap:3px;min-width:0;max-width:48%;display:inline-flex}.space-sn code{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.detail-hint{color:var(--text-secondary);font-weight:600}.panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;min-width:0;box-shadow:var(--shadow-xs);overflow:hidden}.panel-toolbar{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.panel-toolbar.compact-toolbar{padding:16px 22px}.panel-toolbar h2{align-items:center;gap:9px;display:flex}.panel-toolbar p{color:var(--text-muted);margin-top:4px;font-size:13px}.activity-section{margin-bottom:8px}.activity-list{padding:0 22px}.activity-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:13px 0;font-size:13.5px;display:flex}.activity-row:last-child{border-bottom:0}.activity-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.activity-msg{color:var(--text-primary);flex:1;min-width:0}.activity-space{color:var(--text-secondary);background:var(--bg-muted);white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600}.activity-row time{color:var(--text-muted);white-space:nowrap;font-size:12.5px}.empty-inline{color:var(--text-muted);justify-content:center;align-items:center;gap:10px;padding:28px 20px;font-size:13.5px;display:flex}.search-box{width:300px;max-width:100%;position:relative}.search-box svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{padding-left:36px}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:700px;font-size:13.5px}th{background:var(--bg-subtle);color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border-subtle);padding:12px 18px;font-size:12.5px;font-weight:600}td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;padding:14px 18px}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#f8fafc}th.num,td.num{text-align:right}th.action-col,td.action-col{text-align:right;white-space:nowrap;width:1%}.id-code{color:var(--text-primary);background:var(--bg-muted);border:1px solid var(--border-subtle);border-radius:4px;padding:2px 7px;font-size:12.5px;display:inline-block}.kind-badge{color:#0f5244;background:#ecfdf5;border:1px solid #d1fae5;border-radius:4px;padding:2px 7px;font-size:12px;font-weight:600;display:inline-block}.cell-primary{color:var(--text-primary);font-weight:600}.cell-sub{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.cell-inline{align-items:center;gap:8px;display:inline-flex}.row-index{background:var(--bg-muted);min-width:24px;height:22px;color:var(--text-secondary);border-radius:4px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.hw-inline{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:inline-flex}.amount-due{color:var(--warn-text);font-weight:700}.error-inline{color:var(--danger-text);font-weight:500}.empty-state{text-align:center;min-height:260px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:36px 24px;display:flex}.empty-state>svg{color:#94a3b8;margin-bottom:4px}.empty-state h3{color:var(--text-primary);font-size:16px}.empty-state p{color:var(--text-muted);max-width:420px;font-size:13.5px}.empty-state button{margin-top:8px}.tabs{background:#e2e8f0;border-radius:8px;flex-wrap:wrap;gap:4px;margin-bottom:16px;padding:4px;display:inline-flex}.tabs button{color:var(--text-secondary);background:0 0;border-color:#0000;border-radius:6px;padding:7px 14px;font-size:13.5px;font-weight:550}.tabs button:hover:not(:disabled){color:var(--text-primary);background:#ffffff80}.tabs button.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-xs);font-weight:650}.command-panel{margin-top:22px}.page-footer{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:26px 0 22px;font-size:12.5px;display:flex}.page-footer>span:first-child{align-items:center;gap:7px;display:inline-flex}.divider{color:#cbd5e1;padding:0 6px}.callback-panel{margin-bottom:20px;padding:22px 24px}.callback-heading,.callback-record-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.callback-heading p{color:var(--text-muted);margin-top:5px;font-size:13px}.callback-addresses{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:16px;margin:20px 0 12px;display:grid}.callback-addresses dt{color:var(--text-muted);margin-bottom:6px;font-size:12px}.callback-addresses dd{overflow-wrap:anywhere;margin:0;font-size:14px}.callback-public-url{grid-column:1/-1}.callback-addresses code,.callback-record-heading code{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%}.callback-placeholder{color:var(--text-muted)}.callback-receipts{border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:14px;font-size:13px}.callback-receipts summary{cursor:pointer}.callback-panel summary:focus-visible,.callback-record pre:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.callback-record{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-top:12px;padding:12px}.callback-record-heading{justify-content:flex-start;margin-bottom:8px}.callback-record-heading span{color:var(--text-muted);margin-left:auto}.callback-record pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto}.callback-record summary{padding:4px 0}@media (width<=640px){.callback-panel{padding:18px}.callback-addresses{grid-template-columns:minmax(0,1fr)}.callback-record-heading span{margin-left:0}}.integration-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.integration-panel{flex-direction:column;padding:22px;display:flex}.integration-heading{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:12px;padding-bottom:18px;display:flex}.provider-icon{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:9px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.integration-titles{flex:1;min-width:0}.integration-titles h2{font-size:16px}.integration-titles p{color:var(--text-muted);margin-top:3px;font-size:12.5px}.integration-form{flex-direction:column;flex:1;padding-top:18px;display:flex}.form-row{grid-template-columns:1.35fr .85fr;gap:12px;display:grid}.adapter-status{color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:center;gap:8px;margin:14px 0 18px;padding:10px 12px;font-size:12.5px;line-height:1.5;display:flex}.adapter-status.warn{background:var(--warn-bg);border-color:var(--warn-border);color:#92400e}.config-fields{flex-direction:column;flex:1;gap:16px;display:flex}.field-label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 8px;margin-bottom:6px;display:flex}.source-badge{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:1px 7px;font-size:12px;font-weight:600}.secret-field{border:1px dashed var(--border-default);border-radius:var(--radius-sm);background:var(--bg-subtle);align-items:center;gap:8px;min-height:40px;padding:8px 12px;display:flex}.secret-field svg{color:var(--text-muted)}.secret-field code{min-width:0;color:var(--text-primary);flex:1;font-size:12.5px}.secret-field .pill{margin-left:auto}.field-meta{color:var(--text-muted);margin-top:5px;font-size:12px;line-height:1.5}.form-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:14px;margin-top:22px;padding-top:16px;display:flex}.form-footer>span{color:var(--text-muted);font-size:12.5px;line-height:1.5}.form-footer button{flex-shrink:0}.contract-note{margin-top:20px;padding:22px 24px}.contract-header p{color:var(--text-muted);max-width:920px;margin-top:6px;font-size:13.5px}.contract-flow{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.flow-step{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-subtle);align-items:center;gap:8px;padding:9px 14px;display:inline-flex}.step-idx{color:var(--accent);background:var(--accent-soft);font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 6px;font-size:12px;font-weight:700}.flow-step strong{color:var(--text-primary);font-size:13px;font-weight:600}.policy-columns{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.policy-col{border-right:1px solid var(--border-subtle);flex-direction:column;gap:18px;padding:24px;display:flex}.policy-col:last-child{border-right:0}.form-section-title{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:12px;padding-bottom:14px;display:flex}.section-num{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border);font-variant-numeric:tabular-nums;border-radius:6px;padding:5px 8px;font-size:12.5px;font-weight:700}.form-section-title p{color:var(--text-muted);margin-top:3px;font-size:12.5px}.policy-field>select{margin-top:6px}.unit-hint{color:var(--accent);font-size:12px;font-weight:600}.policy-checks{flex-direction:column;gap:10px;display:flex}.checkbox-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-primary);cursor:pointer;align-items:flex-start;gap:10px;padding:11px 12px;font-size:13px;font-weight:500;line-height:1.5;display:flex}.checkbox-card:hover{border-color:var(--border-default)}.checkbox-card.compact{flex:1;padding:10px 12px}.checkbox-card input[type=checkbox]{width:16px;height:16px;min-height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:2px 0 0;padding:0}.field-help{color:var(--text-muted);margin-top:auto;font-size:12.5px;line-height:1.6}.policy-footer{background:var(--bg-subtle);margin:0;padding:18px 24px}.modal-backdrop,.drawer-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a7a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:480px;max-width:calc(100vw - 24px);max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);padding:26px;overflow:auto}.dialog-heading{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;padding-bottom:14px;display:flex}.dialog-sub{color:var(--text-muted);margin-top:4px;font-size:13px}.dialog-fields{flex-direction:column;gap:14px;margin-bottom:16px;display:flex}.dialog-footer,.drawer-backdrop{justify-content:flex-end}.drawer{background:var(--bg-surface);flex-direction:column;width:560px;max-width:100vw;height:100%;display:flex;box-shadow:-12px 0 40px #0f172a29}.drawer-heading{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 26px;display:flex}.drawer-title-row{align-items:center;gap:10px;display:flex}.drawer-heading h2{font-size:20px;font-weight:700}.drawer-subtitle{color:var(--text-muted);margin-top:3px;font-size:13px}.drawer-body{flex:1;padding:22px 26px;overflow-y:auto}.hw-card{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px}.device-summary{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.hw-pill{color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.hw-pill.offline{color:var(--danger-text);background:var(--danger-bg);border-color:var(--danger-border)}.hw-pill.warn{color:var(--warn-text);background:var(--warn-bg);border-color:var(--warn-border)}.hw-kv-grid{border-top:1px solid var(--border-subtle);grid-template-columns:1fr 1fr;gap:10px;padding-top:10px;display:grid}.hw-kv span{color:var(--text-muted);font-size:12px;display:block}.hw-kv code{color:var(--text-primary);margin-top:2px;font-size:12.5px;display:block}.session-overview-card{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);margin-top:18px;padding:18px}.session-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.session-plate-wrap{color:var(--text-primary);align-items:center;gap:8px;display:inline-flex}.session-plate-wrap strong{letter-spacing:.02em;font-size:20px;font-weight:700}.session-plate-wrap strong.plate-unknown{color:var(--text-muted);letter-spacing:0;font-size:16px;font-weight:600}.session-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px;margin:8px 0 14px;font-size:12.5px;display:flex}.fee-summary{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid}.fee-item span{color:var(--text-muted);font-size:12px;display:block}.fee-item strong{color:var(--text-primary);margin-top:4px;font-size:20px;font-weight:700;display:block}.drawer-section{border-top:1px solid var(--border-subtle);margin-top:20px;padding-top:20px}.drawer-section h3{align-items:center;gap:8px;margin-bottom:14px;display:flex}.section-head p{color:var(--text-muted);margin:-6px 0 16px;font-size:13px}.enter-form{flex-direction:column;gap:14px;display:flex}.action-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.btn-action{min-height:42px;font-size:13.5px;font-weight:600}.btn-action.charge-btn:hover:not(:disabled){color:#047857;background:#ecfdf5;border-color:#10b981}.btn-action.charge-active-btn{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.btn-action.pay-ready{background:var(--accent);border-color:var(--accent);color:#fff}.btn-action.pay-ready:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.drawer-clock{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;display:flex}.clock-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:550;display:inline-flex}.clock-btns{flex-wrap:wrap;gap:6px;display:flex}.clock-btns button{font-variant-numeric:tabular-nums;padding:6px 11px;font-size:13px;font-weight:600}.empty-box{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px dashed var(--border-default);color:var(--text-muted);padding:14px;font-size:13px}.timeline-list{flex-direction:column;display:flex}.fee-line{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:12px;padding:11px 0;display:flex}.fee-line:last-child{border-bottom:0}.timeline-dot{background:#94a3b8;border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:6px}.timeline-dot.billable{background:#f59e0b;box-shadow:0 0 0 3px #fef3c7}.fee-line-body{flex:1;min-width:0}.fee-line-body strong{color:var(--text-primary);font-size:13.5px;font-weight:600;display:block}.fee-line-body small{color:var(--text-muted);margin-top:3px;font-size:12px;display:block}.fee-line-amount{color:var(--text-secondary);font-size:14px;font-weight:650}.fee-line-amount.billable{color:var(--warn-text)}.record-card{border:1px solid var(--border-subtle);background:var(--bg-subtle);border-radius:var(--radius-sm);margin-bottom:10px;padding:12px 14px}.record-card:last-child{margin-bottom:0}.record-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.record-card p{color:var(--text-muted);margin-top:6px;font-size:12.5px}.paid-tag{color:#047857;font-size:13px}.fault-toggles{gap:10px;margin-bottom:14px;display:flex}.manual-reason{margin-bottom:12px}.command-list{flex-direction:column;gap:8px;display:flex}.command-line{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.command-target{color:var(--text-secondary)}.command-err{color:var(--danger-text);margin-left:auto;font-weight:500}.replay-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.replay-box{flex-direction:column;gap:12px;margin-top:12px;display:flex}.json-editor{color:#e2e8f0;resize:vertical;background:#0f172a;border-color:#334155;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Cascadia Code,Consolas,monospace;font-size:12.5px;line-height:1.6}.json-editor:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98133}.replay-status{border-radius:var(--radius-sm);color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;padding:9px 12px;font-size:13px;font-weight:500}.replay-status.error{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.drawer-footer{border-top:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:12px;display:flex}@media (width>=1600px){.content{padding:34px 44px 0}.spaces-grid{gap:18px}.space-card{min-height:210px}}@media (width<=1340px){.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1180px){.sidebar{width:216px}.workspace{margin-left:216px}.topbar{padding:0 24px}.content{padding:24px 24px 0}.spaces-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-columns{grid-template-columns:1fr}.policy-col{border-right:0;border-bottom:1px solid var(--border-subtle)}.policy-col:last-child{border-bottom:0}.simulation-bar{flex-direction:column;align-items:stretch}}@media (width<=920px){.integration-grid,.login-layout{grid-template-columns:1fr}.login-aside{gap:20px;padding:28px 24px}.login-capabilities{display:none}.login-copy>p{margin-top:10px;font-size:13.5px}.login-foot{padding-top:14px}}@media (width<=860px){.sidebar{border-right:0;border-bottom:1px solid var(--sidebar-border);width:100%;padding:12px 14px;position:static}.sidebar-header{padding:0}.brand-mark{border-radius:8px;width:34px;height:34px}.brand-text strong{font-size:17px}.brand-text small{display:none}.mobile-bar-actions{align-items:center;gap:6px;display:flex}.sidebar-site,.workspace-label,.account{display:none}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}.sidebar nav button{background:#ffffff0a;border-color:#ffffff0f;justify-content:center;gap:6px;padding:9px 8px;font-size:13px}.sidebar nav button svg{width:15px;height:15px}.nav-count{margin-left:2px;padding:0 5px;font-size:12px}.workspace{margin-left:0}.topbar{flex-wrap:wrap;gap:8px;min-height:48px;padding:8px 14px;position:static}.topbar-right .mock-badge,.topbar-right .btn-ghost,.hide-mobile,.clock-prefix{display:none}.content{padding:18px 14px 0}}@media (width<=640px){h1{font-size:21px}.page-heading{margin-bottom:18px}.heading-meta{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:14px}.metric-value strong{font-size:26px}.metric-icon{width:30px;height:30px}.simulation-bar{margin-bottom:20px;padding:14px}.simulation-icon{display:none}.simulation-bar .button-group{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.spaces-grid{grid-template-columns:1fr;gap:12px}.space-card{min-height:auto}.panel-toolbar{flex-direction:column;align-items:stretch;padding:16px}.search-box{width:100%}.activity-list{padding:0 16px}.activity-row{flex-wrap:wrap;gap:8px}.activity-msg{flex-basis:calc(100% - 20px)}.activity-space{margin-left:20px}.activity-row time{margin-left:auto}.form-row{grid-template-columns:1fr}.integration-panel,.policy-col,.contract-note{padding:18px 16px}.policy-footer{padding:16px}.breadcrumb{gap:5px;font-size:12.5px}.drawer-clock{flex-direction:column;align-items:stretch}.clock-btns{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.form-footer{flex-direction:column;align-items:stretch}.form-footer button{width:100%}.dialog-footer{flex-direction:row}.dialog-footer button{flex:1;width:auto}.tabs{flex-wrap:wrap;width:100%;display:flex}.tabs button{flex:calc(33.333% - 4px);padding:8px 6px;font-size:12.5px}.drawer-heading,.drawer-body{padding:16px}.hw-kv-grid{grid-template-columns:1fr}.fee-summary{gap:8px;padding:12px 10px}.fee-item strong{font-size:17px}.action-grid{grid-template-columns:1fr}.fault-toggles{flex-direction:column}.login-main{padding:24px 16px 36px}.login-card{padding:26px 20px}}:root{--bg-app:#f4f6f9;--bg-surface:#fff;--bg-subtle:#f8fafc;--bg-muted:#f1f5f9;--sidebar-bg:#0f172a;--sidebar-surface:#1e293b;--sidebar-border:#334155;--sidebar-text:#f8fafc;--sidebar-muted:#94a3b8;--border-subtle:#f1f5f9;--border-default:#e2e8f0;--border-strong:#cbd5e1;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#eff6ff;--accent-border:#bfdbfe;--accent-focus:#93c5fd;--lock-up:#ef4444;--lock-up-soft:#fef2f2;--lock-up-border:#fecaca;--lock-down:#10b981;--lock-down-soft:#ecfdf5;--lock-down-border:#a7f3d0;--lock-offline:#94a3b8;--lock-offline-soft:#f8fafc;--lock-amber:#f59e0b;--lock-amber-soft:#fffbeb;--lock-amber-border:#fde68a;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}body{background-color:var(--bg-app);color:var(--text-primary);font-size:14px;line-height:1.5}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:var(--sidebar-text)}.sidebar nav button.active{background:var(--accent);color:#fff;box-shadow:0 1px 3px #2563eb4d}.brand-mark{color:#fff;place-items:center;display:grid}.brand-mark>svg,.capability-icon>svg,.site-symbol>svg,.sidebar nav button>svg,.account>svg{display:block}.account .avatar{place-items:center;line-height:1;display:grid}.login-aside{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%)}.login-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:0 12px 32px #0f172a14}.topbar{background:var(--bg-surface);border-bottom:1px solid var(--border-default);color:var(--text-primary)}.mock-badge{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-border);border-radius:var(--radius-sm);padding:2px 8px;font-weight:600}.workspace-modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#0f172aa6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.workspace-modal-shell{grid-template-columns:minmax(0,1fr) 360px;gap:24px;width:min(1160px,100vw - 48px);height:min(820px,100dvh - 48px);min-height:0;max-height:calc(100dvh - 48px);display:grid}.modal-main-card,.modal-side-card{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-default);flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 16px 40px #0f172a1f}.modal-card-header{border-bottom:1px solid var(--border-default);background:var(--bg-surface);flex-shrink:0;padding:16px 20px 0}.modal-header-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.modal-title-block{flex:1;min-width:0}.modal-title-line{color:var(--text-primary);align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.modal-close-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;padding:6px}.modal-close-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.modal-hw-strip{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.modal-tablist{gap:4px;margin-top:8px;display:flex;overflow-x:auto}.modal-tab-btn{color:var(--text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 14px;font-weight:500;display:inline-flex}.modal-tab-btn:hover{color:var(--text-primary)}.modal-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-count{background:var(--bg-muted);color:var(--text-secondary);border-radius:10px;padding:1px 6px;font-size:12px}.modal-tab-btn.active .tab-count{background:var(--accent-soft);color:var(--accent)}.modal-card-body{flex:1;min-height:0;padding:20px;overflow-y:auto}.modal-card-footer{border-top:1px solid var(--border-default);background:var(--bg-subtle);flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:12px 20px;display:flex}.tab-pane{flex-direction:column;gap:16px;display:flex}.modal-block{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:14px}.block-head{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px;font-size:13px;font-weight:600}.hw-control-hero{background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);align-items:center;gap:16px;padding:16px;display:flex}.hw-hero-icon{border-radius:var(--radius-md);flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.hw-hero-main{flex:1;min-width:0}.hw-meta-inline{color:var(--text-muted);align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.control-action-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.identity-grid,.policy-readout-grid,.mapping-grid,.action-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.identity-cell,.readout-card,.mapping-item,.checkbox-card{background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-sm);min-width:0;padding:10px}.id-code,.bay-sn-code,.space-id-tag{word-break:break-all;overflow-wrap:break-word;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.space-id-tag{background:var(--bg-muted);border-radius:var(--radius-sm);padding:2px 6px}.btn-action,.control-btn{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn-action:hover,.control-btn:hover{background:var(--bg-muted)}.up-btn{background:var(--lock-up-soft);color:var(--lock-up);border-color:var(--lock-up-border)}.up-btn:hover{background:#fee2e2}.down-btn{background:var(--lock-down-soft);color:var(--lock-down);border-color:var(--lock-down-border)}.down-btn:hover{background:#d1fae5}.charge-btn{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.charge-active-btn{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-ghost,.btn-ghost-sm{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost-sm{min-height:28px;padding:4px 8px;font-size:12px}.icon-button{place-items:center;min-width:36px;min-height:36px;padding:8px;display:inline-grid}.clock-btns,.replay-actions{align-items:center;gap:6px;display:flex}.log-filter-bar{border-bottom:1px solid var(--border-default);flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:12px;display:flex}.log-records-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.log-entry-card{background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:10px 12px}.log-entry-meta{color:var(--text-muted);justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.log-actor{color:var(--text-secondary);font-weight:600}.log-message{color:var(--text-primary);word-break:break-word;font-size:13px}.raw-record-details summary{cursor:pointer;color:var(--accent);margin-top:6px;font-size:12px;font-weight:600}.raw-json-pre,.json-editor{background:var(--sidebar-bg);color:#e2e8f0;border-radius:var(--radius-sm);margin-top:6px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;overflow-x:auto}.session-overview-card{border-bottom:1px solid var(--border-default);padding:16px}.session-title{color:var(--text-primary);font-size:15px;font-weight:700}.session-plate-wrap{margin:10px 0}.session-meta{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.replay-box{background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-top:12px;padding:12px}.replay-header{justify-content:space-between;font-size:12px;font-weight:600;display:flex}.guard-note{color:var(--text-muted);background:var(--bg-muted);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:8px 10px;font-size:12px}.guard-note:has(>svg){align-items:flex-start;gap:6px;display:flex}.guard-note>svg{margin-top:1px}.space-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-direction:column;justify-content:space-between;min-height:160px;padding:16px;display:flex;position:relative}.space-card.lock-up{background:linear-gradient(#fef2f2 0%,#fff 100%);border-color:#ef444466;box-shadow:0 4px 16px #ef444414}.space-card.lock-down{background:linear-gradient(#ecfdf5 0%,#fff 100%);border-color:#10b98166;box-shadow:0 4px 16px #10b98114}.space-card.lock-offline{background:var(--lock-offline-soft);border-color:var(--border-strong);opacity:.85}.space-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.space-hw-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.space-stats{color:var(--text-secondary);font-size:12px}.plate-chip{letter-spacing:.04em;border-radius:var(--radius-sm);color:#fff;background:#0f172a;padding:3px 8px;font-weight:700}.is-charging{border-color:var(--accent)!important}.lock-state-badge,.bay-lock-pill{border-radius:var(--radius-sm);align-items:center;gap:6px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.lock-up .lock-state-badge,.bay-lock-pill.lock-up,.legend-up{background:var(--lock-up-soft);color:var(--lock-up);border:1px solid var(--lock-up-border)}.lock-down .lock-state-badge,.bay-lock-pill.lock-down,.legend-down{background:var(--lock-down-soft);color:var(--lock-down);border:1px solid var(--lock-down-border)}.lock-offline .lock-state-badge,.bay-lock-pill.lock-offline,.legend-offline{background:var(--lock-offline-soft);color:var(--lock-offline);border:1px solid var(--border-default)}.bay-amber-pill,.amber-warning-badge,.legend-amber{background:var(--lock-amber-soft);color:#d97706;border:1px solid var(--lock-amber-border)}.hardware-legend{flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0;display:flex}.legend-chip{border-radius:var(--radius-sm);align-items:center;gap:6px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.calc-panel{background:var(--bg-surface);flex-direction:column;height:100%;min-height:0;display:flex}.calc-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;padding:16px 18px 14px}.calc-title-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.calc-title-group{align-items:center;gap:8px;min-width:0;display:flex}.calc-title-group h3{color:var(--text-primary);white-space:nowrap;margin:0;font-size:15px;font-weight:600}.calc-sub{color:var(--text-muted);margin:3px 0 0;font-size:12px}.calc-badge-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:26px;height:26px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.calc-version-pill,.tz-chip,.dur-pill,.accent-chip{border:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text-secondary);border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:12px;font-weight:500;display:inline-flex}.accent-chip{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.calc-mode-switch{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:4px;margin-bottom:12px;padding:3px;display:grid}.calc-mode-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:color .15s,background .15s,box-shadow .15s;display:flex}.calc-mode-btn:hover{color:var(--text-primary)}.calc-mode-btn.active,.mode-session.active,.mode-custom.active{background:var(--bg-surface);color:var(--accent);font-weight:600;box-shadow:0 1px 2px #0f172a0f}.calc-source-bar{background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;display:flex}.source-indicator{background:#10b981;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.source-indicator.offline{background:#94a3b8}.source-indicator.fault{background:#f59e0b}.source-text{color:var(--text-muted)}.calc-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px 18px;display:flex;overflow-y:auto}.calc-live-baseline{background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px}.baseline-head{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.baseline-metrics{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.baseline-metrics .count,.baseline-metrics .credit-val{color:var(--text-primary);font-size:13px;font-weight:600}.calc-form{flex-direction:column;gap:12px;display:flex}.calc-custom-dates{flex-direction:column;gap:10px;display:flex}.calc-form .field-group{flex-direction:column;gap:4px;display:flex}.calc-form .field-label{color:var(--text-secondary);font-size:12px;font-weight:500}.calc-form .field-meta{color:var(--text-muted);font-size:12px}.mono-input,.calc-form input[type=datetime-local]{box-sizing:border-box;width:100%;min-width:0;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.4;transition:border-color .15s,box-shadow .15s}.mono-input:focus,.calc-form input[type=datetime-local]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-focus);outline:none}.preset-strip{flex-wrap:wrap;gap:6px;display:flex}.preset-chip{color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;padding:3px 8px;font-size:12px;transition:background .15s,border-color .15s}.preset-chip:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.inline-check{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.open-ended-placeholder{color:var(--text-muted);padding:4px 0;font-size:12px;font-style:italic}.custom-charges-box{background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px}.charges-box-head,.charge-editor-top{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.charge-rows-list{flex-direction:column;gap:8px;display:flex}.charge-interval-editor{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:8px;display:flex}.charge-editor-inputs{grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;display:grid}.charge-editor-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.inline-check{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.inline-check input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--accent);margin:0}.charge-seq{color:var(--text-muted);text-align:center;font-size:12px;font-weight:600}.charges-empty-hint,.compact-empty{color:var(--text-muted);text-align:center;padding:12px 0;font-size:12px}.add-charge-btn,.btn-ghost-sm{color:var(--accent);border:1px dashed var(--accent-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:500;transition:background .15s;display:inline-flex}.add-charge-btn:hover,.btn-ghost-sm:hover{background:var(--accent-soft)}.icon-btn-danger{width:26px;height:26px;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex}.icon-btn-danger:hover{color:#ef4444;background:#fee2e2}.calc-submit-btn{color:#fff;background:var(--accent);border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:9px 16px;font-size:13px;font-weight:600;transition:background .15s,box-shadow .15s;display:flex}.calc-submit-btn:hover{background:var(--accent-hover)}.calc-submit-btn:focus-visible{box-shadow:0 0 0 3px var(--accent-focus);outline:none}.calc-submit-btn:disabled{opacity:.6;cursor:not-allowed}.calc-state-card,.loading-card,.pending-card,.empty-box{text-align:center;background:var(--bg-app);border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);padding:24px 16px;font-size:12px}.calc-alert{border-radius:var(--radius-sm);border:1px solid #0000;padding:8px 12px;font-size:12px}.calc-alert.neutral{background:var(--bg-subtle);border-color:var(--border-subtle);color:var(--text-secondary)}.calc-alert.warning{color:#b45309;background:#fffbeb;border-color:#fde68a}.calc-alert.error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.calc-result{flex-direction:column;gap:14px;display:flex}.quote-hero{background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px}.quote-due-main{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.quote-label{color:var(--text-secondary);font-size:12px;font-weight:500}.quote-due-val{color:var(--text-primary);font-size:24px;font-weight:700}.quote-window,.quote-durations{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.quote-breakdown-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.qb-item{background:var(--bg-subtle);border-radius:var(--radius-sm);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.qb-item span:first-child{color:var(--text-muted);font-size:12px}.qb-item span:last-child{color:var(--text-primary);font-size:13px;font-weight:600}.quote-segments{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.quote-segments-head{background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);padding:8px 12px;font-size:12px;font-weight:600}.quote-segment-list{flex-direction:column;display:flex}.quote-seg-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;display:flex}.quote-seg-row:last-child{border-bottom:none}.quote-seg-info{align-items:center;gap:8px;display:flex}.seg-kind-tag{border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-secondary);padding:2px 6px;font-size:10px;font-weight:600}.quote-seg-price{color:var(--text-primary);font-weight:600}.tabular{font-variant-numeric:tabular-nums;letter-spacing:-.01em}@media (width<=1280px){.workspace-modal-shell{grid-template-columns:minmax(0,1fr) 330px;gap:16px}}@media (width<=1050px){.workspace-modal-backdrop{align-items:flex-start;padding:16px;overflow-y:auto}.workspace-modal-shell{grid-template-columns:1fr;width:100%;height:auto;min-height:0;max-height:none;overflow:visible}.modal-main-card,.modal-side-card{height:auto;max-height:none;overflow:visible}.modal-card-body,.calc-body{flex:initial;min-height:auto;overflow:visible}.calc-panel{height:auto}}@media (width<=640px){.workspace-modal-backdrop{padding:0}.workspace-modal-shell{border:none;border-radius:0;width:100%;height:auto;min-height:100dvh;margin:0;overflow:visible}.modal-header-top,.modal-title-line{flex-wrap:wrap;gap:8px}.modal-tablist{grid-template-columns:repeat(2,1fr);gap:4px;width:100%;display:grid}.modal-tab-btn{white-space:nowrap;justify-content:center;padding:8px 4px;font-size:12px}.identity-grid,.mapping-grid,.policy-readout-grid,.action-grid{grid-template-columns:1fr;gap:10px}.quote-breakdown-grid,.baseline-metrics{grid-template-columns:repeat(2,1fr)}.charge-editor-inputs{grid-template-columns:1fr 1fr 28px;grid-template-areas:"seq del del""in1 in1 in1""in2 in2 in2"}.calc-form,.calc-form input[type=datetime-local],.mono-input{width:100%}.quick-nav-row{grid-template-columns:repeat(6,1fr);gap:4px;width:100%;padding:8px 4px;display:grid;overflow-x:auto}.modal-card-header,.modal-card-footer{padding:12px 14px}.hw-control-hero,.hw-hero-main,.fee-summary{flex-direction:column;align-items:stretch;gap:10px}.modal-hw-strip{flex-direction:row;align-items:center;gap:6px}.hw-meta-inline{overflow-wrap:anywhere;flex-basis:100%}}@media (height<=720px) and (width>=1051px){.workspace-modal-shell{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.modal-card-header,.calc-header,.calc-body,.modal-card-body{padding-top:10px;padding-bottom:10px}}.modal-shell-enter-active,.modal-shell-leave-active{transition:opacity .2s}.modal-shell-enter-active .workspace-modal-shell,.modal-shell-leave-active .workspace-modal-shell{transition:opacity .2s,transform .2s cubic-bezier(.16,1,.3,1)}.modal-shell-enter-from,.modal-shell-leave-to{opacity:0}.modal-shell-enter-from .workspace-modal-shell,.modal-shell-leave-to .workspace-modal-shell{opacity:0;transform:scale(.98)translateY(8px)}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .18s,transform .18s}.fade-slide-enter-from{opacity:0;transform:translateY(4px)}.fade-slide-leave-to{opacity:0;transform:translateY(-4px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transform:none!important}}.brand-mark{background:linear-gradient(145deg,#3b82f6,#1d4ed8);border-color:#60a5fa}.sidebar nav button.selected,.sidebar nav button.selected:hover{background:#1e40af;border-color:#3b82f6}.sidebar nav button.selected svg{color:#bfdbfe}.site-symbol,.avatar{color:#bfdbfe;background:#1e3a8a;border-color:#3b82f6}.site-badge{color:#dbeafe;background:#1e40af}.site-meta{color:#cbd5e1}.station-tag{color:#bfdbfe;background:#1e293b;border-color:#334155}.mobile-icon-btn:hover:not(:disabled){background:#334155;border-color:#475569}.identity-cell>span,.mapping-item>span,.readout-card>span{color:var(--text-muted);font-size:12px;display:block}.identity-cell>strong,.identity-cell>code,.mapping-item>strong,.mapping-item>code,.readout-card>strong{margin-top:5px;display:block}.modal-title-line{flex-wrap:wrap}.tab-panel-enter-active,.tab-panel-leave-active{transition:opacity .18s,transform .18s}.tab-panel-enter-from{opacity:0;transform:translateY(4px)}.tab-panel-leave-to{opacity:0;transform:translateY(-4px)}.calc-mode-btn,.preset-chip,.calc-submit-btn,.icon-btn-danger,.add-charge-btn,.modal-tab-btn{will-change:auto}.modal-shell-enter-active .workspace-modal-shell,.modal-shell-leave-active .workspace-modal-shell{will-change:transform, opacity}@media (width<=640px){.quick-nav-row{flex-wrap:wrap;display:flex;overflow:visible}.quick-nav-row>button{flex:140px}.charge-editor-inputs{grid-template-columns:1fr;grid-template-areas:none}}@media (prefers-reduced-motion:reduce){.tab-panel-enter-active,.tab-panel-leave-active,.modal-shell-enter-active,.modal-shell-leave-active,.modal-shell-enter-active .workspace-modal-shell,.modal-shell-leave-active .workspace-modal-shell{transition:none!important}}.space-bottom{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.space-bottom .space-stats{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.space-bottom .space-stats>span,.space-bottom .space-sn{white-space:nowrap}.space-bottom .bay-sn-code{text-overflow:ellipsis;white-space:nowrap;word-break:normal;max-width:100%;overflow:hidden}.space-bottom .space-sn{align-self:center}.session-overview-card .session-meta{flex-flow:wrap;gap:4px 8px}.baseline-metrics>div{flex-direction:column;gap:4px;display:flex}.idle-policy-chips{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.idle-policy-chips>span{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:4px 8px;font-size:12px}.charge-billing-note{color:var(--text-muted);margin:8px 0 14px;font-size:12px}.charge-billing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.charge-billing-grid>div{background:var(--bg-subtle);border-radius:8px;padding:10px}.charge-billing-grid dt{color:var(--text-muted);margin-bottom:4px;font-size:12px}.charge-billing-grid dd{margin:0;font-weight:600}.charge-settlement-row{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.pill.active{color:#0369a1;background:#f0f9ff;border-color:#bae6fd}.pill.charging{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.pill.post-free{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.pill.released{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.space-top{flex-direction:column;align-items:flex-start;gap:8px}.space-title-wrap{width:100%}@media (width<=640px){.session-title{flex-direction:column;align-items:stretch}.session-plate-wrap{flex-wrap:wrap;min-width:0}.session-plate-wrap strong{white-space:nowrap}.session-plate-wrap code{flex-basis:100%}.session-title>.pill{align-self:flex-start}}.add-charge-btn{white-space:nowrap}.block-head{text-transform:none;letter-spacing:normal}.bay-lock-pill.lock-up,.lock-state-badge.lock-up,.legend-up{color:#b91c1c}.bay-lock-pill.lock-down,.lock-state-badge.lock-down,.legend-down{color:#047857}.bay-lock-pill.lock-offline,.lock-state-badge.lock-offline,.legend-offline{color:#475569}.bay-amber-pill,.amber-warning-badge,.legend-amber{color:#92400e}@media (height<=720px) and (width>=1051px){.workspace-modal-shell{height:calc(100dvh - 48px);max-height:calc(100dvh - 48px)}}.space-occupied-body{flex:1;justify-content:flex-start;gap:10px;margin:12px 0}.bay-occupancy-stall{-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;height:72px;padding:4px 0 2px;display:flex}.bay-occupancy-icon{color:#3b4a62;justify-content:center;align-items:center;width:48px;height:40px;display:inline-flex;position:relative}.bay-occupancy-icon:after{content:"";pointer-events:none;background:radial-gradient(#1e293b24 0%,#1e293b0d 55%,#0000 80%);border-radius:50%;width:34px;height:5px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.bay-occupancy-icon svg{z-index:1;position:relative}.bay-occupancy-label{letter-spacing:.03em;color:#64748b;margin-top:3px;font-size:12px;font-weight:500;line-height:1.2}.lock-confirm-backdrop{z-index:1200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;justify-content:center;align-items:center;padding:16px;transition:opacity .15s;animation:.15s ease-out lock-confirm-fade-in;display:flex;position:fixed;inset:0}.lock-confirm-dialog{background:var(--bg-surface,#fff);border:1px solid var(--border-default,#d0d7e2);border-radius:var(--radius-lg,14px);width:min(420px,100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg,0 20px 48px #0f172a2e);outline:none;flex-direction:column;gap:16px;padding:20px;transition:transform .15s,opacity .15s;animation:.15s ease-out lock-confirm-appear;display:flex;overflow-y:auto}@keyframes lock-confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lock-confirm-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.lock-confirm-backdrop,.lock-confirm-dialog{transition:none;animation:none}}.lock-confirm-header{align-items:center;gap:10px;display:flex}.lock-confirm-icon{color:var(--accent,#0d6955);flex-shrink:0}.lock-confirm-dialog.is-up .lock-confirm-icon{color:var(--danger-text,#b91c1c)}.lock-confirm-title{color:var(--text-primary,#0f172a);font-size:16px;font-weight:700;line-height:1.3}.lock-confirm-body{background:var(--bg-subtle,#f8fafc);border:1px solid var(--border-subtle,#e5e9f0);border-radius:var(--radius-md,10px);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.lock-confirm-row{justify-content:space-between;align-items:flex-start;gap:12px;font-size:13px;line-height:1.4;display:flex}.lock-confirm-label{color:var(--text-muted,#526075);white-space:nowrap;flex-shrink:0;font-weight:500}.lock-confirm-value{color:var(--text-primary,#0f172a);text-align:right;word-break:break-word;font-weight:500}.lock-confirm-action-val{color:var(--text-primary,#0f172a);font-weight:700}.lock-confirm-reason-val{color:var(--text-secondary,#334155)}.lock-confirm-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.lock-confirm-btn{border-radius:var(--radius-sm,6px);cursor:pointer;padding:8px 16px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s}.lock-confirm-submit{background:var(--accent,#0d6955);color:#fff;border:1px solid var(--accent,#0d6955)}.lock-confirm-submit:hover{background:var(--accent-hover,#095444)}.lock-confirm-submit.is-up{background:var(--danger-text,#b91c1c);border-color:var(--danger-text,#b91c1c)}.lock-confirm-submit.is-up:hover{background:#991b1b}.lock-confirm-reason-field{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.lock-confirm-reason-field textarea{resize:vertical;width:100%;min-height:78px;max-height:180px;font:inherit;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:7px;padding:9px 10px;line-height:1.5}.lock-confirm-note{color:#9a3412;font-size:12px;line-height:1.5}.lock-confirm-submit.is-force{background:#b45309;border-color:#b45309}.lock-confirm-submit.is-force:hover{background:#92400e}.gate-verification-check{color:var(--text-primary);cursor:pointer;align-items:flex-start;gap:8px;margin:12px 0;font-size:13px;line-height:1.5;display:flex}.gate-verification-check input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--accent);cursor:pointer;flex:0 0 16px;margin:2px 0 0;padding:0}.gate-verification-check>span{min-width:0}.gate-verification-check:has(input:disabled){color:var(--text-muted);cursor:not-allowed}.gate-verification-check input[type=checkbox]:disabled{cursor:not-allowed}.spaces-grid .space-card{border-radius:12px;justify-content:flex-start;min-height:0;padding:12px 14px 0}.spaces-grid .space-card .space-top{flex-flow:wrap;align-items:center;gap:6px 8px;margin-bottom:6px}.spaces-grid .space-card .space-title-wrap{flex:1 0 auto;gap:6px;width:auto;max-width:100%}.spaces-grid .space-card .space-number{flex-shrink:0;min-width:22px;height:20px;padding:0 5px;font-size:11.5px;font-weight:600}.spaces-grid .space-card h3{font-size:14.5px;font-weight:600;line-height:1.25}.spaces-grid .space-card .space-top .pill{flex-shrink:0;padding:2px 7px;font-size:11.5px;line-height:1.2}.spaces-grid .space-card .space-hw-row{gap:6px;margin-top:0;margin-bottom:8px}.spaces-grid .space-card .bay-lock-pill,.spaces-grid .space-card .bay-amber-pill{padding:2px 7px;font-size:11.5px;line-height:1.2}.spaces-grid .space-card .space-occupied-body{flex:1 0 auto;gap:7px;margin:2px 0 10px}.spaces-grid .space-card .bay-occupancy-stall{height:50px;padding:2px 0 0}.spaces-grid .space-card .bay-occupancy-icon{width:40px;height:32px}.spaces-grid .space-card .bay-occupancy-icon:after{width:26px;height:4px;bottom:1px}.spaces-grid .space-card .bay-occupancy-label{margin-top:1px;font-size:11.5px;line-height:1.15}.spaces-grid .space-card .space-vehicle-row{gap:6px}.spaces-grid .space-card .plate-chip{border-radius:5px;gap:5px;padding:2px 7px;font-size:13px;font-weight:600;line-height:1.3}.spaces-grid .space-card .stay-time{white-space:nowrap;font-size:12px}.spaces-grid .space-card .space-fee-row{border-radius:7px;padding:5px 9px}.spaces-grid .space-card .fee-caption{color:#475569;font-size:12px}.spaces-grid .space-card .fee-val{font-size:15px;line-height:1.2}.spaces-grid .space-card .session-timing{gap:2px;font-size:11.5px;line-height:1.35}.spaces-grid .space-card .space-empty-body{text-align:center;background:0 0;border:0;flex-direction:column;flex:1 0 auto;justify-content:center;gap:4px;min-height:118px;margin:2px 0 10px;padding:8px 4px}.spaces-grid .space-card .empty-slot-main{color:#64748b;flex-direction:column;gap:5px;font-size:13px}.spaces-grid .space-card .empty-slot-main svg{color:#94a3b8;width:24px;height:24px}.spaces-grid .space-card .empty-slot-cta{color:#64748b;font-size:11.5px;line-height:1.2}.spaces-grid .space-card .space-bottom{gap:6px;margin:auto -14px 0;padding:7px 14px;font-size:11.5px}.spaces-grid .space-card .space-bottom .space-stats{flex-direction:row;align-items:center;gap:6px}.spaces-grid .space-card .space-bottom .space-stats>span{flex-shrink:0;gap:4px}.spaces-grid .space-card .space-bottom .bay-sn-code{font-size:11px}.spaces-grid .space-card .space-bottom .space-sn{white-space:nowrap;gap:2px;max-width:none}.charge-ledger-row{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:4px;font-size:12.5px;display:flex}
