:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#0057b7;--brand-strong:#00449a;--brand-tint:#e9f0fb;--brand-ink:#0a3d82;--ground:#f5f7fa;--panel:#fff;--panel-2:#fafbfd;--ink:#141821;--ink-2:#3b434f;--muted:#69727f;--faint:#9aa2ad;--border:#e4e8ee;--border-2:#d2d9e2;--ok:#12855a;--ok-bg:#e6f4ec;--warn:#b8730a;--warn-bg:#fbf0dc;--crit:#ce2a3b;--crit-bg:#fbe8ea;--off:#727b88;--off-bg:#eef1f5;--svc:#2f6fb0;--svc-bg:#e7eff8;--flow:#0c93ae;--land:#e6eef8;--land-stroke:#afc3dd;--map-grid:#eaf0f7;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-8:48px;--r-sm:7px;--r-md:11px;--r-lg:16px;--r-pill:999px;--shadow-1:0 1px 2px #1418210a, 0 1px 3px #1418210f;--shadow-2:0 4px 14px #14182112, 0 2px 6px #1418210d;--shadow-3:0 8px 28px #14182124, 0 2px 8px #1418210f;--scrim:#14182152;--icon-xs:12px;--icon-sm:14px;--icon-md:16px;--icon-lg:18px;--icon-xl:20px;--ctl-h:40px;--ctl-h-md:34px;--ctl-h-sm:28px;--ctl-h-xs:24px;--badge-h:22px;--dot:8px;--fs-3xs:10px;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:20px;--fs-3xl:24px;--fs-4xl:30px;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Archivo", "IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--z-menu-overlay:40;--z-menu:41;--z-sticky-scope:15;--z-sticky-header:20;--z-activity:60;--z-map-overlay:500;--z-dropdown:1100;--z-modal:1200;--z-modal-top:1201;--z-fullscreen:1400;--z-modal-nested:2000;--z-modal-nested-top:2100;--topbar-h:56px;--t-fast:.15s;--t-med:.24s}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45}a{color:var(--brand);text-decoration:none}button{cursor:pointer;font-family:inherit}h1,h2,h3{margin:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}svg[width][height]{flex-shrink:0}.btn svg,.chip-btn svg,.subnav-tab svg,.scope-open svg,.scope-back svg,.user-menu-item svg,.lang-btn svg,.mode-seg-btn svg,.fleet-map-tool svg,.rec-action svg,.acc-ok svg,.acc-hint svg,.cfg-ro-note svg,.login-who svg,.tech-nav svg,.kpi .cap svg,.ph-back svg,.th-sort svg,.sim-ds svg,.cust-req-asset svg,.tech-doneflag svg,.addr-lbl svg,.tech-date svg,.linklike svg,.explain-note svg,.login-err svg{width:var(--icon-sm);height:var(--icon-sm);stroke-width:1.75px}.panel-head h2 svg,.drawer-head h2 svg,.cmdk-ic svg,.notif-ic svg,.mon-empty svg,.sim-econ-head svg,.admin-card-t svg,.app-techlabel svg,.lang-opt svg,.scope-row svg{width:var(--icon-md);height:var(--icon-md);stroke-width:2px}.iconbtn svg,.feed-ic svg,.admin-card-ic svg,.login-eye svg,.fleet-map-tool--icon svg{width:var(--icon-lg);height:var(--icon-lg);stroke-width:2px}.login-brand svg,.section-stub h3 svg{width:var(--icon-xl);height:var(--icon-xl);stroke-width:2px}td svg,.chip svg,.wo-place svg,.rec-dev svg,.feed-body .w svg,.notif-when svg,.tech-meta svg,.scope-bar .pin svg,.scope-crumbs svg,.sim-log svg,.mini-when svg{width:var(--icon-xs);height:var(--icon-xs);stroke-width:1.5px}.acc-ok svg,.acc-hint svg,.explain-note svg,.login-err svg,p.muted svg{vertical-align:-.15em}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.app-shell{flex-direction:column;min-height:100%;display:flex}.app-activity{height:3px;z-index:var(--z-activity);pointer-events:none;opacity:0;transition:opacity .2s;position:fixed;top:0;left:0;right:0;overflow:hidden}.app-activity--on{opacity:1}.app-activity-bar{background:linear-gradient(90deg, color-mix(in srgb, var(--brand) 0%, transparent), var(--brand), color-mix(in srgb, var(--brand) 0%, transparent));border-radius:0 0 2px;width:40%;height:100%;animation:1.1s ease-in-out infinite appActivitySlide;display:block}@keyframes appActivitySlide{0%{transform:translate(-110%)}to{transform:translate(360%)}}@media (prefers-reduced-motion:reduce){.app-activity-bar{width:100%;animation:none}}.app-header{height:var(--topbar-h);align-items:center;gap:var(--sp-4);padding:0 var(--sp-4);background:var(--panel);border-bottom:1px solid var(--border);z-index:var(--z-sticky-header);flex-shrink:0;display:flex;position:sticky;top:0}.app-brand{align-items:center;gap:var(--sp-2);color:inherit;cursor:pointer;border-radius:var(--r-sm);font-weight:700;text-decoration:none;display:flex}.app-brand:hover .word{color:var(--brand)}.app-brand:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.app-brand .mark{border-radius:var(--r-sm);background:var(--brand);color:#fff;flex-shrink:0;place-items:center;width:26px;height:26px;display:grid}.app-brand .mark--logo{background:0 0;border-radius:0;align-items:center;width:auto;min-width:26px;max-width:150px;height:30px;display:flex}.app-brand .word{font-size:var(--fs-lg);letter-spacing:-.01em}.app-brand .word b{color:var(--brand)}.app-brand .brand-text{flex-direction:column;line-height:1.05;display:flex}.app-brand .brand-ver{font-family:var(--font-mono);font-size:var(--fs-3xs);color:var(--muted);letter-spacing:.04em;margin-top:1px;font-weight:500}.app-nav{margin-left:var(--sp-3);scrollbar-width:none;flex-wrap:nowrap;flex:auto;gap:2px;min-width:0;display:flex;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.app-nav--overflow{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.app-nav a{border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;padding:7px 12px;font-weight:500}.app-nav a:hover{background:var(--panel-2);color:var(--ink)}.app-nav a.active{background:var(--brand);color:#fff;font-weight:600}.app-header .spacer{flex:0 0 0}.app-right{align-items:center;gap:var(--sp-2);display:flex}.iconbtn{width:var(--ctl-h-md);height:var(--ctl-h-md);border-radius:var(--r-sm);color:var(--muted);background:0 0;border:1px solid #0000;place-items:center;display:grid}.iconbtn:hover{background:var(--panel-2);color:var(--ink)}.app-user{align-items:center;gap:var(--sp-2);display:flex}.app-user .avatar{width:var(--ctl-h-md);height:var(--ctl-h-md);border-radius:var(--r-pill);background:var(--brand-tint);color:var(--brand-ink);font-weight:700;font-size:var(--fs-xs);place-items:center;display:grid}.scope-bar{padding:10px var(--sp-4);background:var(--panel-2);border-bottom:1px solid var(--border);top:var(--topbar-h);z-index:var(--z-sticky-scope);flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:sticky}.scope-lbl{font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);align-items:center;gap:6px;display:inline-flex}.scope-lbl .pin{color:var(--brand);display:inline-flex}.scope-crumbs{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.crumb{height:var(--ctl-h-sm);font-size:var(--fs-sm);color:var(--muted);border-radius:var(--r-pill);background:0 0;border:none;align-items:center;padding:0 10px;font-weight:500;display:inline-flex}.crumb:hover{background:var(--panel);color:var(--ink)}.crumb.cur{color:#fff;background:var(--brand);font-weight:600}.crumb-sep{color:var(--border-2);-webkit-user-select:none;user-select:none;align-items:center;display:inline-flex}.page-canvas{padding:var(--sp-5) clamp(12px, 1.4vw, 28px);flex:1;width:100%;margin:0 auto}.page-canvas--content{max-width:1760px}.page-header{margin-bottom:var(--sp-5);justify-content:space-between;align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap;display:flex}.page-header .eyebrow{font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.page-header .ph-back{align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);color:var(--muted);margin-bottom:var(--sp-2);transition:color var(--t-fast);min-height:var(--ctl-h-xs);text-decoration:none;display:inline-flex}.page-header .ph-back:hover{color:var(--brand)}.page-header .ph-back:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-sm)}.page-header h1{font-family:var(--font-display);font-weight:700;font-size:var(--fs-3xl);letter-spacing:-.02em}.page-header .lead{color:var(--muted);font-size:var(--fs-sm);margin-top:4px}.page-header .lead b{color:var(--ink-2);font-weight:600}.page-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.btn{height:var(--ctl-h);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--panel);color:var(--ink);font-size:var(--fs-sm);align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--panel-2)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-strong)}.kpi-row{gap:var(--sp-3);margin-bottom:var(--sp-5);grid-template-columns:repeat(5,1fr);display:grid}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);transition:box-shadow var(--t-fast), transform var(--t-fast);position:relative;overflow:hidden}.kpi:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.kpi .cap{font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:6px;margin-bottom:10px;display:flex}.kpi .cap svg{color:var(--faint)}.kpi .val{font-family:var(--font-display);font-weight:700;font-size:var(--fs-4xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.kpi .val small{font-size:var(--fs-md);color:var(--muted);font-weight:600;font-family:var(--font-mono)}.kpi .foot{font-size:var(--fs-2xs);color:var(--muted);margin-top:10px}.kpi--link{cursor:pointer}.kpi--link:hover{border-color:var(--brand);box-shadow:var(--shadow-2)}.kpi--link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.kpi--active{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--brand-tint)}.kpi--active .cap svg,.kpi--active .cap span{color:var(--brand)}.kpi.attn:before,.kpi.crit:before{content:"";width:3px;position:absolute;top:0;bottom:0;left:0}.kpi.attn:before{background:var(--warn)}.kpi.crit:before{background:var(--crit)}.kpi.crit .val{color:var(--crit)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}.panel-head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);display:flex}.panel-head h2{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);letter-spacing:-.01em;align-items:center;gap:8px;display:flex}.panel-head h2 svg{color:var(--brand)}.panel-body{padding:var(--sp-4)}.pill{height:var(--badge-h);font-size:var(--fs-2xs);border-radius:var(--r-pill);white-space:nowrap;color:var(--ink-2);background:var(--panel-2);align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex}.pill:before{content:"";width:var(--dot);height:var(--dot);background:currentColor;border-radius:50%;flex:none}.pill.ok{color:var(--ok);background:var(--ok-bg)}.pill.warn{color:var(--warn);background:var(--warn-bg)}.pill.crit{color:var(--crit);background:var(--crit-bg)}.pill.off{color:var(--off);background:var(--off-bg)}.status-dot,.ov-obj-dot,.fleet-status-dot{width:var(--dot);height:var(--dot);background:var(--off);border-radius:50%;flex:none;display:inline-block}.status-dot.ok{background:var(--ok)}.status-dot.warn{background:var(--warn)}.status-dot.crit{background:var(--crit)}.status-dot.off{background:var(--off)}.section-stub{text-align:center;min-height:320px;color:var(--muted);place-items:center;display:grid}.section-stub h3{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--ink);margin-bottom:6px}.skeleton{background:linear-gradient(90deg, var(--panel-2), var(--border), var(--panel-2));border-radius:var(--r-sm);background-size:200% 100%;animation:1.2s infinite sk}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.ov-grid{gap:var(--sp-4);grid-template-columns:1.55fr 1fr;align-items:stretch;min-height:max(520px,min(70dvh,1180px));display:grid}.ov-grid>.panel+.panel{contain:size}@media (min-width:1800px){.ov-grid{grid-template-columns:1.85fr 1fr}}.ov-grid>.panel{flex-direction:column;min-height:0;display:flex}.ov-grid>.panel>.panel-body{flex-direction:column;flex:1;min-height:0;display:flex}.ov-grid .fleet-map-wrap{min-height:0;margin-bottom:var(--sp-2);flex-direction:column;flex:1;display:flex}.ov-grid .fleet-map-stage{flex:1;min-height:360px}.ov-grid .feed{flex:1;min-height:0;max-height:none}.panel-meta{font-size:var(--fs-2xs);color:var(--muted);font-family:var(--font-mono)}.map-note{font-size:var(--fs-xs);color:var(--muted);margin:var(--sp-3) 0 0}.fleet-map-wrap{isolation:isolate;margin-bottom:var(--sp-3);flex-direction:column;display:flex;position:relative}.fleet-map-stage{flex-direction:column;min-height:320px;display:flex;position:relative}.fleet-map{border-radius:var(--r-md);border:1px solid var(--border);background:var(--panel-2);z-index:0;flex:auto;min-height:0;overflow:hidden}.fleet-map-note{font-size:var(--fs-sm);color:var(--muted);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.fleet-map .leaflet-container{font:inherit;background:var(--panel-2)}.fleet-map .leaflet-tooltip{font-size:var(--fs-2xs);border-radius:var(--r-sm);border-color:var(--border);box-shadow:var(--shadow-1)}.eq-map-panel{margin-bottom:var(--sp-3)}.eq-map-toggle{background:var(--panel);width:100%;height:40px;color:var(--ink-2);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;font:inherit;font-size:var(--fs-sm);transition:border-color var(--t-fast), color var(--t-fast);align-items:center;gap:8px;padding:0 12px;font-weight:600;display:flex}.eq-map-toggle:hover{border-color:var(--brand);color:var(--brand)}.eq-map-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.eq-map-caret{transition:transform var(--t-fast);display:inline-flex}.eq-map-caret.open{transform:rotate(90deg)}.eq-map-host{margin-top:var(--sp-2)}.eq-map-host .fleet-map-stage{min-height:380px}.eq-map-host .fleet-map-wrap{margin-bottom:0}.card-actions{margin-bottom:var(--sp-2);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-actions-note{font-size:var(--fs-xs)}.ingest-row{padding:var(--sp-2) 0;border-top:1px solid var(--border);margin-top:var(--sp-1);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ingest-state{flex-direction:column;gap:2px;min-width:0;display:flex}.ingest-hint{font-size:var(--fs-xs);max-width:42ch}.lc-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lc-moves{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.lc-move-lbl,.lc-terminal{font-size:var(--fs-xs)}.chip.lc-planned{background:color-mix(in srgb, var(--brand) 12%, var(--panel-2));color:var(--brand);border-color:color-mix(in srgb, var(--brand) 32%, var(--border))}.chip.lc-operational{background:var(--ok-bg);color:var(--ok);border-color:color-mix(in srgb, var(--ok) 32%, var(--border))}.chip.lc-repair{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 32%, var(--border))}.chip.lc-decommissioned{background:var(--panel-2);color:var(--muted);border-color:var(--border)}.act-qr{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.act-qr-side{flex-direction:column;flex:1;gap:8px;min-width:200px;display:flex}.act-token{font-family:var(--font-mono);font-size:var(--fs-2xs);word-break:break-all;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--ink-2);padding:6px 8px}.act-note{font-size:var(--fs-xs);margin:0}.fleet-map-tools{flex-wrap:nowrap;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.fleet-map-tools-right{flex:none;gap:8px;margin-left:auto;display:flex}.fleet-map-status{flex:auto;min-width:0}@media (max-width:640px){.fleet-map-tools{flex-wrap:wrap}.fleet-map-tools-right{justify-content:flex-end;width:100%;margin-left:0}}.fleet-map-tool{height:var(--ctl-h-md);background:var(--panel);color:var(--ink-2);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-1);cursor:pointer;font:inherit;font-size:var(--fs-xs);white-space:nowrap;transition:border-color var(--t-fast), color var(--t-fast), background var(--t-fast);align-items:center;gap:6px;padding:0 12px;font-weight:600;display:flex}.fleet-map-tool--icon{justify-content:center;width:34px;padding:0}.fleet-map-tool:hover{border-color:var(--brand);color:var(--brand)}.fleet-map-tool:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.fleet-map-tool.on{background:var(--brand);border-color:var(--brand);color:#fff}.fleet-map-tool:disabled{opacity:.55;cursor:default}.fleet-map-tool:disabled:hover{border-color:var(--border);color:var(--ink-2)}.fleet-map-status{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fleet-status-chip{height:var(--ctl-h-md);background:var(--panel);color:var(--ink-2);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-1);cursor:pointer;font:inherit;font-size:var(--fs-xs);white-space:nowrap;transition:border-color var(--t-fast), color var(--t-fast), background var(--t-fast);align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex}.fleet-status-chip:hover:not(:disabled){border-color:var(--brand)}.fleet-status-chip.on{border-color:var(--brand);color:var(--brand);background:color-mix(in srgb, var(--brand) 10%, var(--panel))}.fleet-status-chip:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.fleet-status-chip:disabled{opacity:.5;cursor:default}.fleet-status-chip b{font-variant-numeric:tabular-nums}.fleet-status-dot{box-shadow:0 0 0 1px var(--border-2)}.fleet-status-dot.st-online{background:var(--ok)}.fleet-status-dot.st-warning{background:var(--warn)}.fleet-status-dot.st-alarm{background:var(--crit)}.fleet-status-dot.st-offline{background:var(--off)}.fleet-status-dot.st-unknown{background:var(--panel);box-shadow:inset 0 0 0 2px var(--off)}.fleet-status-dot.all{background:conic-gradient(var(--ok) 0 25%, var(--warn) 0 50%, var(--crit) 0 75%, var(--off) 0 100%)}.fleet-map-legend{z-index:var(--z-map-overlay);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-2);max-width:230px;font-size:var(--fs-xs);color:var(--ink-2);padding:10px 12px;position:absolute;top:10px;right:10px}.fleet-legend-sec{text-transform:uppercase;letter-spacing:.02em;color:var(--muted);margin:6px 0 4px;font-size:11px;font-weight:700}.fleet-legend-sec:first-child{margin-top:0}.fleet-legend-row{align-items:center;gap:8px;padding:2px 0;display:flex}.fleet-legend-fill{width:14px;height:14px;box-shadow:0 0 0 1px var(--border);border:1px solid #fff;border-radius:999px;flex:none}.fleet-legend-outline{background:var(--panel);box-sizing:border-box;border-radius:999px;flex:none;width:14px;height:14px}.fleet-tip-chan{color:var(--muted);font-size:11px}.fleet-depot-pin{background:var(--brand);box-sizing:border-box;cursor:pointer;border:2px solid #fff;border-radius:4px;width:16px;height:16px;box-shadow:0 1px 3px #0006}.fleet-depot-swatch{background:var(--brand);width:14px;height:14px;box-shadow:0 0 0 1px var(--border);box-sizing:border-box;border:2px solid #fff;border-radius:3px;flex:none}@media (max-width:640px){.fleet-map-tools,.fleet-map-status{gap:4px}.fleet-status-chip,.fleet-map-tool{height:var(--ctl-h-sm);padding:0 8px}.fleet-map-tool--icon{width:var(--ctl-h-sm);padding:0}.fleet-map-legend{max-width:none;left:10px;right:10px}}.fleet-map-note--hint{background:var(--panel);width:max-content;max-width:90%;color:var(--ink-2);border:1px solid var(--border);box-shadow:var(--shadow-1);font-size:var(--fs-xs);border-radius:999px;padding:5px 14px;top:12px;bottom:auto;left:50%;right:auto;transform:translate(-50%)}.fleet-map-selpanel{z-index:var(--z-map-overlay);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1);flex-direction:column;gap:8px;min-width:180px;padding:10px 12px;display:flex;position:absolute;bottom:10px;left:10px}.fleet-sel-head{font-weight:700;font-size:var(--fs-sm);color:var(--ink)}.fleet-sel-empty{font-size:var(--fs-sm);color:var(--muted)}.fleet-sel-dots{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;gap:10px;display:flex}.fleet-sel-dot{align-items:center;gap:3px;font-weight:600;display:inline-flex}.fleet-sel-actions{flex-wrap:wrap;gap:6px;display:flex}.fleet-sel-route{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding-top:8px;display:flex}.fleet-route-head{font-weight:700;font-size:var(--fs-sm);color:var(--ink);font-variant-numeric:tabular-nums}.fleet-route-note{font-size:var(--fs-2xs);color:var(--muted)}.fleet-map-routepanel{z-index:var(--z-map-overlay);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1);flex-direction:column;gap:8px;min-width:180px;max-width:260px;padding:10px 12px;display:flex;position:absolute;bottom:10px;right:10px}.fleet-route-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.fleet-route-title{font-weight:700;font-size:var(--fs-sm);color:var(--ink)}.fleet-route-status{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 32%, var(--border))}.fleet-route-prio{font-size:var(--fs-xs);color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin:2px 0;display:flex}.fleet-route-prio input{cursor:pointer}.fleet-route-prio-chip{background:var(--brand-tint);color:var(--brand);border-color:color-mix(in srgb, var(--brand) 32%, var(--border))}.route-stop-pin{box-shadow:none;background:0 0;border:none}.route-stop-pin .rsp-in{box-sizing:border-box;color:#fff;width:22px;height:22px;font-size:var(--fs-2xs);box-shadow:var(--shadow-1);font-variant-numeric:tabular-nums;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;font-weight:700;line-height:1;display:flex}.route-start-pin{background:var(--brand);color:#fff;width:24px;height:24px;box-shadow:var(--shadow-1);border:2px solid #fff;border-radius:7px;justify-content:center;align-items:center;font-size:13px;line-height:1;display:flex}.fleet-route-start{font-size:var(--fs-xs);align-items:center;gap:6px;margin:2px 0;display:flex}.fleet-route-start-lbl{color:var(--muted);font-weight:600}.fleet-route-start select{min-width:0;height:var(--ctl-h-sm);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);font:inherit;font-size:var(--fs-xs);color:var(--ink-2);cursor:pointer;flex:1;padding:0 6px}.fleet-route-start select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.fleet-route-start select[aria-invalid=true]{border-color:var(--crit);background:var(--crit-bg)}.fleet-route-office-hint{font-size:var(--fs-2xs);color:var(--muted);margin:0 0 2px}.fleet-route-office-hint.is-error{color:var(--crit);font-weight:600}.fleet-route-times{font-size:var(--fs-2xs);color:var(--ink-2)}.fleet-route-times b{font-variant-numeric:tabular-nums}.fleet-route-controls{flex-wrap:wrap;gap:8px;display:flex}.fleet-route-ctl{font-size:var(--fs-xs);color:var(--muted);align-items:center;gap:6px;font-weight:600;display:flex}.fleet-route-ctl input,.fleet-route-ctl select{height:var(--ctl-h-sm);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);min-width:0;font:inherit;font-size:var(--fs-xs);color:var(--ink-2);cursor:pointer;padding:0 6px}.fleet-route-ctl input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.fleet-route-ctl select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.fleet-plan-title{font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:2px;font-weight:700}.fleet-route-plan{flex-direction:column;gap:2px;max-height:300px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.fleet-plan-node{flex-direction:column;display:flex}.fleet-plan-leg{font-size:var(--fs-2xs);color:var(--muted);font-variant-numeric:tabular-nums;padding:1px 0 1px 30px}.fleet-plan-row{border-radius:var(--r-sm);align-items:flex-start;gap:8px;padding:3px 4px;display:flex}.fleet-plan-stop.on .fleet-plan-row{background:var(--brand-tint)}.fleet-plan-badge{width:var(--ctl-h-xs);height:var(--ctl-h-xs);background:var(--brand);color:#fff;font-size:var(--fs-2xs);font-weight:700;line-height:var(--ctl-h-xs);text-align:center;cursor:pointer;font-variant-numeric:tabular-nums;border:0;border-radius:999px;flex:none;padding:0}.fleet-plan-badge.start,.fleet-plan-badge.finish{cursor:default;border-radius:7px;font-size:12px}.fleet-plan-badge.finish{background:var(--ink-2)}.fleet-plan-body{text-align:left;cursor:pointer;min-width:0;font:inherit;color:inherit;background:0 0;border:0;flex:1;padding:0}.fleet-plan-name{font-size:var(--fs-xs);color:var(--ink);overflow-wrap:anywhere;font-weight:600}.fleet-plan-addr{font-size:var(--fs-2xs);color:var(--muted);overflow-wrap:anywhere}.fleet-plan-meta{font-size:var(--fs-2xs);color:var(--ink-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:2px 8px;margin-top:1px;display:flex}.fleet-plan-ops{flex:none;gap:2px;display:flex}.fleet-plan-op{width:var(--ctl-h-xs);height:var(--ctl-h-xs);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--ink-2);cursor:pointer;padding:0;font-size:13px;line-height:1}.fleet-plan-op:hover{background:var(--panel-2)}.fleet-plan-op.danger:hover{color:var(--crit);border-color:var(--crit)}.eq-quick{gap:var(--sp-3);flex-direction:column;min-width:0;max-width:100%;padding:2px;display:flex;overflow:hidden auto}.eq-quick-hd{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.eq-quick-title{overflow-wrap:anywhere;min-width:0;font-size:var(--fs-md);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.eq-quick-reason{border-left:3px solid var(--border);background:var(--panel-2,var(--panel));border-radius:var(--r-sm);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.eq-quick-reason.sev-crit{border-left-color:var(--crit)}.eq-quick-reason.sev-warn{border-left-color:var(--warn)}.eq-quick-reason.sev-off{border-left-color:var(--muted)}.eq-quick-reason-h{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.eq-quick-reason-t{font-size:var(--fs-sm);color:var(--ink)}.eq-quick-reason-w{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.eq-quick-note{background:var(--warn-bg);color:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 32%, var(--border));border-radius:var(--r-sm);font-size:var(--fs-sm);padding:8px 10px}.eq-quick-note--info{background:var(--panel-2,var(--panel));color:var(--ink-2);border-color:color-mix(in srgb, var(--brand) 24%, var(--border))}.eq-quick-rows{font-size:var(--fs-sm);grid-template-columns:minmax(0,max-content) 1fr;align-items:baseline;gap:6px 14px;display:grid}.eq-quick-row{display:contents}.eq-quick-row>span{color:var(--muted)}.eq-quick-row>b{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;min-width:0}.eq-quick-tel{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding-top:8px;display:flex}.eq-quick-tel-h{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.eq-quick-metrics{flex-direction:column;gap:10px;display:flex}.eq-quick-metric{flex-direction:column;gap:2px;display:flex}.eq-quick-metric-hd{font-size:var(--fs-sm);flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:8px;display:flex}.eq-quick-metric-hd>span{color:var(--muted)}.eq-quick-metric-hd>b{font-variant-numeric:tabular-nums}.eq-quick-metric-hd em{color:var(--muted);font-style:normal;font-weight:400;font-size:var(--fs-xs)}.eq-quick-metric .mon-chart{height:40px}.eq-quick-actions{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.av-panel{border-top:1px solid var(--border);font-size:var(--fs-sm);flex-direction:column;gap:8px;padding-top:8px;display:flex}.av-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.av-state{color:var(--ink);align-items:center;gap:6px;font-weight:600;display:inline-flex}.av-dot{width:var(--dot);height:var(--dot);box-shadow:inset 0 0 0 1px var(--off);border-radius:50%;flex:none}.av-axes{grid-template-columns:1fr;gap:6px;display:grid}.av-axis{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.av-axis>span{color:var(--muted);min-width:92px}.av-axis>em{color:var(--muted);font-style:normal;font-size:var(--fs-xs)}.av-seen{color:var(--ink-2);font-variant-numeric:tabular-nums}.av-sub{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.av-uptime,.av-timeline,.av-fault{flex-direction:column;gap:4px;display:flex}.av-bar-row{grid-template-columns:56px 1fr 64px;align-items:center;gap:8px;display:grid}.av-bar-l{color:var(--muted);font-size:var(--fs-xs)}.av-bar{border-radius:var(--r-pill);background:var(--off-bg);height:6px;overflow:hidden}.av-bar>i{border-radius:inherit;background:var(--ok);height:100%;transition:width .3s;display:block}.av-bar-v{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--fs-xs)}.av-strip{border-radius:var(--r-sm);background:var(--border);gap:1px;height:10px;display:flex;overflow:hidden}.av-strip>i{min-width:2px;height:100%;display:block}.av-fault>b{color:var(--crit)}.av-history summary{cursor:pointer;color:var(--brand);font-size:var(--fs-xs)}.av-history ul{font-size:var(--fs-xs);flex-direction:column;gap:3px;margin:6px 0 0;padding-left:16px;display:flex}@media (prefers-reduced-motion:reduce){.av-bar>i{transition:none}}.map-focus-pulse{border:2px solid var(--brand);border-radius:999px;animation:.9s ease-out both mapFocusPulse}@keyframes mapFocusPulse{0%{opacity:.85;transform:scale(.45)}to{opacity:0;transform:scale(1.7)}}@media (prefers-reduced-motion:reduce){.map-focus-pulse{opacity:0;animation:none}}@keyframes fleetMkPulse{0%,to{opacity:1}50%{opacity:.5}}.fleet-mk-pulse{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite fleetMkPulse}@media (prefers-reduced-motion:reduce){.fleet-mk-pulse{animation:none}}.co-point-picked{justify-content:space-between;align-items:center;gap:8px;display:flex}.co-pick-hint{font-size:var(--fs-xs);color:var(--muted);margin-top:4px;display:inline-block}.co-pick-list{border:1px solid var(--border);border-radius:var(--r-sm);max-height:220px;margin:4px 0 0;padding:0;list-style:none;overflow-y:auto}.co-pick-list li{border-bottom:1px solid var(--border)}.co-pick-list li:last-child{border-bottom:none}.co-pick-empty{font-size:var(--fs-sm);color:var(--muted);padding:8px 10px}.co-pick-item{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.co-pick-item:hover{background:var(--panel-2)}.co-pick-item>span{font-size:var(--fs-xs);color:var(--muted)}.quick-sheet-grab{display:none}@media (max-width:900px){.panel--quick-sheet{z-index:var(--z-modal);border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:80vh;animation:.22s ease-out sheetUp;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 30px #00000038}.panel--quick-sheet .quick-sheet-grab{background:var(--border);border-radius:999px;width:40px;height:4px;margin:6px auto 2px;display:block}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.panel--quick-sheet{animation:none}}.fleet-map-wrap--full{z-index:var(--z-fullscreen);background:var(--ground);padding:var(--sp-3);flex-direction:column;margin:0;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}body.fs-map-open{overflow:hidden}body.fs-map-open .app-header,body.fs-map-open .scope-bar,body.fs-map-open .page-header,body.fs-map-open .kpi-row,body.fs-map-open .panel-head,body.fs-map-open .ov-filter,body.fs-map-open .ov-area,body.fs-map-open .map-note,body.fs-map-open .ov-grid>.panel:not(:first-child){display:none!important}.fleet-map-wrap--full .fleet-map-stage{flex:1;min-height:0}.fleet-map-note--tr{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-2xs);pointer-events:none;padding:4px 10px;top:auto;bottom:10px;left:auto;right:10px}.cmdk-overlay{z-index:var(--z-modal);background:var(--scrim);position:fixed;top:0;bottom:0;left:0;right:0}.cmdk{z-index:var(--z-modal-top);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:min(640px,92vw);box-shadow:var(--shadow-2);flex-direction:column;max-height:72vh;display:flex;position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}.cmdk-input{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;padding:13px 16px;display:flex}.cmdk-input input{font:inherit;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:1rem}.cmdk-spin{border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;flex-shrink:0;width:15px;height:15px;animation:.7s linear infinite cmdk-spin}@keyframes cmdk-spin{to{transform:rotate(360deg)}}.cmdk-body{padding:6px;overflow-y:auto}.cmdk-note{text-align:center;color:var(--muted);font-size:var(--fs-sm);padding:22px 16px}.cmdk-note--err{color:var(--crit)}.cmdk-row{text-align:left;border-radius:var(--r-md);cursor:pointer;width:100%;color:var(--ink);background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;display:flex}.cmdk-row.active{background:var(--panel-2)}.cmdk-row:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.cmdk-ic{color:var(--muted);flex-shrink:0;display:flex}.cmdk-main{flex-direction:column;flex:1;min-width:0;display:flex}.cmdk-label{font-weight:600;font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cmdk-sub{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cmdk-type{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-family:var(--font-mono);flex-shrink:0}.cmdk-foot{border-top:1px solid var(--border);color:var(--muted);font-size:var(--fs-2xs);text-align:center;padding:8px 16px}.addr-search{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:12px;padding:10px 12px;position:relative}.addr-lbl{font-size:var(--fs-xs);color:var(--ink-2);align-items:center;gap:6px;margin-bottom:7px;font-weight:600;display:flex}.addr-lbl svg{color:var(--brand)}.addr-fieldwrap{position:relative}.addr-field{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:8px;padding:0 10px;display:flex}.addr-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.addr-field>svg{color:var(--muted);flex-shrink:0}.addr-input{min-width:0;height:var(--ctl-h);font:inherit;font-size:var(--fs-md);color:var(--ink);background:0 0;border:none;outline:none;flex:1}.addr-hint{margin:7px 0 0}.addr-pop{z-index:var(--z-modal);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-2);max-height:260px;margin-top:4px;padding:6px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.addr-note{text-align:center;color:var(--muted);font-size:var(--fs-sm);padding:12px}.addr-note--err{color:var(--crit)}.addr-row{text-align:left;border-radius:var(--r-sm);cursor:pointer;width:100%;color:var(--ink);background:0 0;border:none;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.addr-row.active{background:var(--panel-2)}.addr-row-main{font-size:var(--fs-sm)}.addr-row-coord{font-size:var(--fs-xs);color:var(--muted);font-family:var(--font-mono)}.mappick-overlay{z-index:var(--z-modal-nested);background:var(--scrim);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.mappick{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--shadow-2);flex-direction:column;width:min(760px,100%);max-height:92vh;display:flex;overflow:hidden}.mappick-hd{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.mappick-hd h3{font-size:var(--fs-md);margin:0}.mappick-search{padding:12px 16px 0}.mappick-map{height:55vh;min-height:300px}.mappick-ft{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.mappick-coord{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--muted)}.mappick-btns{gap:8px;margin-left:auto;display:flex}.mappick-pin{background:var(--brand);border:2px solid #fff;border-radius:50% 50% 50% 0;width:18px;height:18px;transform:rotate(-45deg);box-shadow:0 1px 4px #0006}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sort:hover{color:var(--ink)}.th-sort.active{color:var(--brand)}.th-sort:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.th-arrow{vertical-align:middle;color:var(--muted);margin-left:3px;display:inline-flex}.notif{display:inline-flex;position:relative}.notif .iconbtn{position:relative}.notif-badge{background:var(--crit);color:#fff;text-align:center;font-variant-numeric:tabular-nums;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--panel);border-radius:999px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-3px;right:-3px}.notif-panel{z-index:var(--z-dropdown);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:min(360px,92vw);box-shadow:var(--shadow-2);flex-direction:column;max-height:70vh;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notif-head{border-bottom:1px solid var(--border);font-weight:700;font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.notif-mark{color:var(--brand);cursor:pointer;font:inherit;font-size:var(--fs-xs);background:0 0;border:none;padding:2px 4px;font-weight:600}.notif-mark:disabled{opacity:.55;cursor:default}.notif-body{padding:4px;overflow-y:auto}.notif-note{text-align:center;color:var(--muted);font-size:var(--fs-sm);padding:22px 14px}.notif-note--err{color:var(--crit)}.notif-row{text-align:left;border-radius:var(--r-md);cursor:default;width:100%;color:var(--ink);background:0 0;border:none;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.notif-row--link{cursor:pointer}.notif-row--link:hover{background:var(--panel-2)}.notif-row.unread{background:color-mix(in srgb, var(--brand) 7%, transparent)}.notif-ic{color:var(--muted);flex-shrink:0;margin-top:1px;display:flex}.notif-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-text{font-size:var(--fs-sm);line-height:1.35}.notif-when{font-size:var(--fs-2xs);color:var(--muted);align-items:center;gap:4px;display:inline-flex}.notif-dot{background:var(--brand);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.mapstat{gap:var(--sp-2);grid-template-columns:repeat(4,1fr);display:grid}.mapstat-box{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);text-align:center;padding:12px 8px}.mapstat-box .n{font-family:var(--font-display);font-weight:700;font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;line-height:1}.mapstat-box .n.ok{color:var(--ok)}.mapstat-box .n.warn{color:var(--warn)}.mapstat-box .n.crit{color:var(--crit)}.mapstat-box .n.off{color:var(--off)}.mapstat-box .l{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-family:var(--font-mono);margin-top:4px}.ov-area{margin-top:var(--sp-3);gap:var(--sp-2);flex-direction:column;display:flex}.ov-area-head{font-size:var(--fs-sm);color:var(--ink-2)}.ov-area-head b{font-family:var(--font-display);font-variant-numeric:tabular-nums}.ov-area-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ov-area-lbl{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-family:var(--font-mono);margin-right:2px}.ov-area-chip{height:var(--ctl-h-xs);background:var(--panel-2);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.ov-area-chip b{font-variant-numeric:tabular-nums;color:var(--ink)}.ov-area-chip.type{font-family:var(--font-mono)}.ov-filter{gap:var(--sp-2);margin-bottom:var(--sp-2);flex-wrap:wrap;align-items:flex-end;display:flex}.ov-filter-active{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ov-chip-x{height:var(--ctl-h-xs);background:var(--panel-2);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.ov-chip-x:hover{border-color:var(--brand)}.ov-chip-x b{font-variant-numeric:tabular-nums;color:var(--ink)}.ov-chip-close{color:var(--muted);display:inline-flex}.ov-chip-x:hover .ov-chip-close{color:var(--brand)}.ov-filter-reset{color:var(--brand);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:none;padding:4px 10px}.ov-filter-reset:hover{text-decoration:underline}@media (max-width:640px){.ov-filter-active{margin-left:0}}.ov-cats{flex-wrap:wrap;gap:4px;display:flex}.ov-cat{height:var(--ctl-h-xs);border:1px solid var(--border);font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.ov-cat:hover{border-color:var(--brand)}.ov-cat.active{background:var(--brand);border-color:var(--brand);color:#fff}.ov-area-chip.clickable{cursor:pointer;font-family:inherit}.ov-area-chip.clickable:hover{border-color:var(--brand);color:var(--ink)}.ov-area-more{font-size:var(--fs-xs);color:var(--muted);align-self:center}.ov-cats-empty{font-size:var(--fs-xs);color:var(--muted);margin:4px 0 0}.ov-stats{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:6px 14px;display:flex}.ov-stat{font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap}.ov-stat b{font-variant-numeric:tabular-nums;color:var(--ink);font-family:var(--font-display)}.ov-stat.warn b{color:var(--warn)}.acc-user-name{font-weight:500}.acc-user-email{font-size:var(--fs-2xs);color:var(--muted)}.acc-req-change{white-space:nowrap}.acc-req-arrow{vertical-align:middle;color:var(--muted);margin:0 6px;display:inline-flex}.data-arrow{color:var(--muted);align-items:center;display:inline-flex}.acc-req-reason{color:var(--ink-2);max-width:320px}.acc-req-act{justify-content:flex-end;gap:6px;display:flex}.plan-kpis{grid-template-columns:repeat(6,1fr)}.plan-kpis .mapstat-box .n{font-size:var(--fs-lg)}@media (max-width:768px){.plan-kpis{grid-template-columns:repeat(3,1fr)}}@media (max-width:430px){.plan-kpis{grid-template-columns:repeat(2,1fr)}.metric-grid,.metric-grid.econ{grid-template-columns:1fr 1fr}}.row-click{cursor:pointer}.row-click:hover{background:var(--panel-2)}.plan-actions{align-items:flex-end;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.plan-mode{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-family:var(--font-mono);flex-direction:column;gap:4px;display:flex}.plan-mode select{min-width:180px;height:var(--ctl-h-md)}.plan-lifecycle{margin-top:var(--sp-3);gap:var(--sp-2);flex-direction:column;display:flex}.plan-lc-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.plan-lc-hist{border-top:1px solid var(--border);padding-top:var(--sp-2)}.plan-lc-hist-t{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-family:var(--font-mono);margin-bottom:6px}.plan-lc-hist-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.plan-lc-hist-list li{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.plan-lc-hist-meta{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.pill.plan-st-draft{color:var(--muted);background:var(--panel-2)}.pill.plan-st-optimized,.pill.plan-st-active{color:var(--brand);background:var(--brand-tint)}.pill.plan-st-done{color:var(--ok);background:var(--ok-bg)}.plan-map{border:1px solid var(--border);border-radius:var(--r-md);width:100%;height:340px;margin:var(--sp-3) 0;overflow:hidden}.route-block{border:1px solid var(--border);border-radius:var(--r-md);margin-top:var(--sp-3);overflow:hidden}.route-block-head{align-items:center;gap:var(--sp-2);background:var(--panel-2);border-bottom:1px solid var(--border);font-size:var(--fs-sm);flex-wrap:wrap;padding:10px 12px;display:flex}.route-swatch{border-radius:3px;flex:none;width:12px;height:12px}.route-veh{color:var(--muted);font-size:var(--fs-xs)}.route-metrics{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;margin-left:auto}.route-warns{flex-wrap:wrap;gap:6px;padding:8px 12px 0;display:flex}.wo-table.compact th,.wo-table.compact td{font-size:var(--fs-xs);padding:6px 12px}.stop-ctl{white-space:nowrap;text-align:right}.stop-btn{width:var(--ctl-h-xs);height:var(--ctl-h-xs);border:1px solid var(--border);background:var(--panel);border-radius:var(--r-sm);cursor:pointer;color:var(--ink-2);font-size:var(--fs-sm);margin-left:3px;line-height:1}.stop-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.stop-btn:disabled{opacity:.4;cursor:default}.stop-btn--rm:hover:not(:disabled){border-color:var(--crit);color:var(--crit)}.plan-unassigned{margin-top:var(--sp-3);border:1px solid var(--border);border-left:3px solid var(--warn);border-radius:var(--r-md);background:var(--panel-2);padding:12px 14px}.plan-unassigned h3{font-size:var(--fs-sm);margin:0 0 8px}.plan-unassigned ul{font-size:var(--fs-xs);color:var(--ink-2);margin:0;padding-left:18px}.plan-unassigned li{margin:3px 0}.cl-list-wrap{gap:var(--sp-3);flex-direction:column;display:flex}.cl-entry{padding:16px 18px}.cl-entry-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.cl-ver{font-family:var(--font-mono);font-weight:700;font-size:var(--fs-md);color:var(--brand);font-variant-numeric:tabular-nums}.cl-cur{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--brand);border-radius:999px;padding:2px 8px;font-weight:700}.cl-date{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.cl-title{font-size:var(--fs-md);margin:6px 0 4px}.cl-body{font-size:var(--fs-sm);color:var(--ink-2)}.cl-body p{margin:6px 0}.cl-body .cl-h{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-family:var(--font-mono);margin:12px 0 4px}.cl-body .cl-note{color:var(--muted);border-left:3px solid var(--border);padding-left:10px;font-style:italic}.cl-body .cl-list{margin:4px 0;padding-left:20px}.cl-body .cl-list li{margin:2px 0}.cl-body code{font-family:var(--font-mono);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:0 4px;font-size:.92em}.feed{max-height:452px;overflow-y:auto}.feed-item{align-items:flex-start;gap:var(--sp-3);padding:13px var(--sp-4);border-bottom:1px solid var(--border);display:flex;position:relative}.feed-item>.pill{flex-shrink:0;align-self:center}.feed-item--link{cursor:pointer;transition:background var(--t-fast)}.feed-item--link:hover{background:var(--panel-2)}.feed-item--link:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.feed-item:last-child{border-bottom:none}.feed-item:before{content:"";width:3px;position:absolute;top:0;bottom:0;left:0}.feed-item.crit:before{background:var(--crit)}.feed-item.warn:before{background:var(--warn)}.feed-item.off:before{background:var(--off)}.feed-ic{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.feed-ic.crit{background:var(--crit-bg);color:var(--crit)}.feed-ic.warn{background:var(--warn-bg);color:var(--warn)}.feed-ic.off{background:var(--off-bg);color:var(--off)}.feed-body{flex:1;min-width:0}.feed-body .t{font-size:var(--fs-sm);font-weight:600}.feed-body .d{font-size:var(--fs-xs);color:var(--ink-2);margin-top:2px}.feed-body .w{font-size:var(--fs-2xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}@media (max-width:640px){.feed-item>.pill{top:13px;right:var(--sp-4);position:absolute}.feed-body .t{padding-right:84px}}.feed-kind{font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);background:var(--panel-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:1px 7px;font-weight:600}.ov-objlist{flex-direction:column;display:flex}.ov-obj{align-items:center;gap:var(--sp-3);text-align:left;border:0;border-bottom:1px solid var(--border);width:100%;padding:11px var(--sp-4);cursor:pointer;font:inherit;color:inherit;transition:background var(--t-fast);background:0 0;display:flex}.ov-obj:last-child{border-bottom:none}.ov-obj:hover{background:var(--panel-2)}.ov-obj:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.ov-obj-dot.ok{background:var(--ok)}.ov-obj-dot.warn{background:var(--warn)}.ov-obj-dot.crit{background:var(--crit)}.ov-obj-dot.off{background:var(--off)}.ov-obj-body{flex-direction:column;flex:1;min-width:0;display:flex}.ov-obj-name{font-size:var(--fs-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ov-obj-meta{font-size:var(--fs-2xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ov-obj-val{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--ink-2);flex-shrink:0;font-weight:700}.area-panel{gap:var(--sp-3);min-height:0;padding:var(--sp-3) var(--sp-4) var(--sp-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.area-hd{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.area-hd-txt{min-width:0}.area-title{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--ink);overflow-wrap:anywhere;margin:0}.area-sub{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.area-note{font-size:var(--fs-xs);color:var(--muted);margin:0;line-height:1.5}.area-states{align-items:center;gap:6px var(--sp-3);font-size:var(--fs-xs);color:var(--ink-2);flex-wrap:wrap;display:flex}.area-state{align-items:center;gap:6px;display:inline-flex}.area-state i,.area-dot{width:var(--dot);height:var(--dot);border-radius:50%;flex:none;display:inline-block}.area-state b{color:var(--ink);font-variant-numeric:tabular-nums}.area-avail{color:var(--muted)}.area-tabs{border-bottom:1px solid var(--border);gap:4px;display:flex}.area-charts{gap:var(--sp-3);flex-direction:column;display:flex}.area-range{justify-content:flex-end;display:flex}.area-charts-list{gap:var(--sp-5);transition:opacity var(--t-fast);flex-direction:column;display:flex}.area-charts-list.is-stale{opacity:.6}.area-empty{margin:var(--sp-4) 0;text-align:center;font-size:var(--fs-sm);color:var(--muted)}.area-chart{flex-direction:column;gap:6px;min-width:0;display:flex}.area-chart-hd{justify-content:space-between;align-items:baseline;gap:2px var(--sp-2);flex-wrap:wrap;display:flex}.area-chart-hd h4{font-size:var(--fs-sm);color:var(--ink);margin:0;font-weight:600}.area-chart-meta{font-size:var(--fs-2xs);color:var(--muted);font-variant-numeric:tabular-nums}.area-out-n{color:var(--ink-2);font-weight:600}.area-legend{gap:4px var(--sp-3);font-size:var(--fs-2xs);color:var(--muted);flex-wrap:wrap;display:flex}.area-legend span{align-items:center;gap:6px;display:inline-flex}.atc-key{border-top:2px solid var(--brand);border-radius:2px;flex:none;width:14px;height:0;display:inline-block}.atc-key--line{border-top:1px solid var(--faint)}.atc-key--out{border-top-color:var(--warn)}.atc-key--hover{border-top-color:var(--brand-strong)}.atc{border-radius:var(--r-sm);outline:none;width:100%;min-width:0;position:relative}.atc:focus-visible{box-shadow:0 0 0 2px var(--brand)}.atc-svg{touch-action:pan-y;display:block}.atc-svg.is-pick{cursor:pointer}.atc-grid{stroke:var(--border);stroke-width:1px}.atc-tick{fill:var(--muted);font-family:var(--font-mono);font-size:var(--fs-3xs);font-variant-numeric:tabular-nums}.atc-line{fill:none;stroke:var(--faint);stroke-width:1px;stroke-opacity:.55;stroke-linejoin:round;stroke-linecap:round}.atc-line--out{stroke:var(--warn);stroke-width:1.5px;stroke-opacity:1}.atc-line--hover{stroke:var(--brand-strong);stroke-width:2px;stroke-opacity:1}.atc-median{fill:none;stroke:var(--brand);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.atc-cross{stroke:var(--border-2);stroke-width:1px}.atc-dot{fill:var(--brand-strong);stroke:var(--panel);stroke-width:2px}.atc-dot--median{fill:var(--brand)}.atc-tip{z-index:2;pointer-events:none;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);min-width:150px;max-width:240px;box-shadow:var(--shadow-2);font-size:var(--fs-2xs);color:var(--ink-2);padding:8px 10px;position:absolute;top:4px}.atc-tip-date{color:var(--muted);margin-bottom:4px}.atc-tip-row{align-items:center;gap:6px;min-width:0;display:flex}.atc-tip-row b{font-size:var(--fs-xs);color:var(--ink);font-variant-numeric:tabular-nums;flex:none}.atc-tip-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.atc-tip-hint{color:var(--muted);margin-top:4px}.area-table summary{cursor:pointer;width:-moz-fit-content;width:fit-content;font-size:var(--fs-2xs);color:var(--brand)}.area-table table{border-collapse:collapse;width:100%;font-size:var(--fs-xs)}.area-table th,.area-table td{border-bottom:1px solid var(--border);text-align:left;padding:6px 8px}.area-table th{color:var(--muted);font-weight:600}.area-table .num{text-align:right;font-variant-numeric:tabular-nums}.area-row{cursor:pointer}.area-row:hover{background:var(--panel-2)}.area-row:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.area-flag{vertical-align:-1px;color:var(--warn);margin-right:4px;display:inline-flex}.area-devices{margin:0 calc(-1 * var(--sp-4));flex-direction:column;display:flex}.area-devices .ov-obj svg{color:var(--faint);flex:none}@media (max-width:1080px){.kpi-row{grid-template-columns:repeat(3,1fr)}.ov-grid{grid-template-columns:1fr;height:auto;min-height:0}.ov-grid>.panel+.panel{contain:none}.ov-grid .fleet-map-stage{flex:none;height:320px;min-height:0}.ov-grid .feed{max-height:452px}}@media (max-width:640px){.kpi-row{grid-template-columns:repeat(2,1fr)}.kpi-row>:nth-child(odd):last-child{grid-column:1/-1}.mapstat-row{grid-template-columns:repeat(2,1fr)}.page-canvas{padding:var(--sp-4) var(--sp-3)}.page-header h1{font-size:var(--fs-2xl)}.app-header{height:auto;padding:8px var(--sp-3);flex-wrap:wrap;gap:8px}.app-brand{order:1}.app-right{order:2;margin-left:auto}.app-header .spacer{display:none}.app-nav{scroll-snap-type:x proximity;flex-basis:100%;order:3;width:100%;margin-left:0}.app-nav a{scroll-snap-align:start;padding:7px 12px}.app-right a.iconbtn{display:none}.lang-switch.compact .lang-btn{padding:3px 6px}.page-actions{width:100%}.panel-head,.mon-trend-hd{flex-wrap:wrap}.fleet-map-stage{min-height:240px}}.subnav{margin-bottom:var(--sp-4);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding-bottom:2px;display:flex}.subnav-tab{height:var(--ctl-h-md);color:var(--muted);font-size:var(--fs-sm);border-radius:var(--r-sm) var(--r-sm) 0 0;background:0 0;border:none;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.subnav-tab:hover{color:var(--ink);background:var(--panel-2)}.subnav-tab.active{color:var(--brand);box-shadow:inset 0 -2px 0 var(--brand)}.count-badge,.subnav-count,.chip-n,.admin-card-n{height:18px;font-family:var(--font-mono);font-size:var(--fs-2xs);background:var(--panel-2);color:var(--muted);border-radius:var(--r-pill);font-variant-numeric:tabular-nums;align-items:center;padding:0 7px;display:inline-flex}.subnav-tab.active .subnav-count{background:var(--brand-tint);color:var(--brand-ink)}.conn-grid{gap:var(--sp-3);margin-top:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.conn-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2);padding:var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.conn-card-hd{justify-content:space-between;align-items:center;gap:8px;display:flex}.conn-badge{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--brand);background:var(--brand-tint);border-radius:var(--r-sm);padding:2px 8px;font-weight:700}.conn-ep{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);white-space:nowrap;padding:6px 8px;overflow-x:auto}.conn-auth{font-size:var(--fs-xs);color:var(--ink-2)}.conn-lbl{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-family:var(--font-mono)}.conn-desc{font-size:var(--fs-xs);color:var(--muted);margin:0;line-height:1.5}.rec-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.rec-card{position:relative}.rec-card:before{content:"";border-radius:var(--r-lg) 0 0 var(--r-lg);width:3px;position:absolute;top:0;bottom:0;left:0}.rec-card.crit:before{background:var(--crit)}.rec-card.warn:before{background:var(--warn)}.rec-card.off:before{background:var(--off)}.rec-top{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.rec-conf{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.rec-prov{align-items:center;gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.rec-basis{font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--r-sm);border:1px solid var(--border);color:var(--ink-2);background:var(--panel-2);white-space:nowrap;padding:1px 6px;font-weight:700}.rec-basis.basis-forecast,.rec-basis.basis-statistical,.rec-basis.basis-ml{border-color:color-mix(in srgb, var(--brand) 40%, var(--border));color:var(--brand)}.rec-basis-filter{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.chip-btn.sm{height:var(--ctl-h-sm);font-size:var(--fs-2xs);padding:0 10px}.rec-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);letter-spacing:-.01em;margin:10px 0 4px}.rec-dev{font-size:var(--fs-xs);color:var(--muted);align-items:center;gap:6px;display:flex}.rec-dev svg{color:var(--faint)}.rec-sum{font-size:var(--fs-sm);color:var(--ink-2);margin:8px 0}.rec-action{font-size:var(--fs-sm);color:var(--brand-ink);background:var(--brand-tint);border-radius:var(--r-sm);align-items:center;gap:6px;padding:8px 10px;font-weight:600;display:flex}.rec-cta{align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.btn.sm{height:var(--ctl-h-md);font-size:var(--fs-xs);padding:0 10px}.rec-chips{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.chip{height:var(--badge-h);font-family:var(--font-mono);font-size:var(--fs-2xs);background:var(--panel-2);border:1px solid var(--border);color:var(--ink-2);border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.drawer-overlay{background:var(--scrim);z-index:var(--z-modal);justify-content:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.drawer{background:var(--panel);width:max(420px,min(34vw,560px));max-width:100vw;height:100%;max-height:100dvh;box-shadow:var(--shadow-2);animation:drawerIn var(--t-med) ease;flex-direction:column;display:flex;overflow:hidden}@media (max-width:900px){.drawer{width:min(60vw,520px)}}@media (max-width:600px){.drawer{width:100vw}}@keyframes drawerIn{0%{opacity:.6;transform:translate(20px)}to{opacity:1;transform:none}}.drawer-head{z-index:2;background:var(--panel);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.drawer-head h2{font-family:var(--font-display);font-size:var(--fs-lg);overflow-wrap:anywhere;min-width:0;font-weight:700}.drawer-body{padding:var(--sp-4);min-width:0;overflow:hidden auto}.drawer-body :-webkit-any(input,select,textarea){max-width:100%}.drawer-body :-moz-any(input,select,textarea){max-width:100%}.drawer-body :is(input,select,textarea){max-width:100%}.explain-lead{font-size:var(--fs-md);margin:0 0 var(--sp-3)}.explain-row{justify-content:space-between;gap:var(--sp-3);border-bottom:1px solid var(--border);min-width:0;font-size:var(--fs-sm);padding:8px 0;display:flex}.explain-k{color:var(--muted);flex-shrink:0}.explain-v{color:var(--ink);text-align:right;overflow-wrap:anywhere;min-width:0;font-weight:500}.explain-block{margin-top:var(--sp-3)}.explain-json{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--font-mono);font-size:var(--fs-xs);margin:6px 0 0;padding:10px;overflow-x:auto}.explain-note{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--sp-3);line-height:1.5}.mnt-src{font-size:var(--fs-2xs);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-2);background:var(--panel-2);border:1px solid var(--border);border-radius:999px;margin-left:6px;padding:0 6px;font-weight:600}.mnt-view,.mnt-edit{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.mnt-date{font:inherit;font-size:var(--fs-xs);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--ink);padding:2px 6px}.rec-meta{font-size:var(--fs-xs);color:var(--muted);margin-bottom:var(--sp-3)}.chipbar{margin-bottom:var(--sp-4);flex-wrap:wrap;gap:8px;display:flex}.chip-btn{height:var(--ctl-h-md);font-size:var(--fs-sm);color:var(--ink-2);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;padding:0 14px;font-weight:500;display:inline-flex}.chip-btn:hover{border-color:var(--brand);color:var(--ink)}.chip-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}.chip-btn.active .chip-n{color:#fff;background:#ffffff38}.chan-chip svg{color:var(--muted)}.wo-dev-link{min-height:var(--ctl-h-xs);font:inherit;color:var(--brand);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.wo-dev-link:hover{text-decoration:underline}.table-wrap{overflow-x:auto}.sec-table{min-width:820px}.sec-mono{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-2);white-space:nowrap}.sec-details{font-size:var(--fs-xs);color:var(--ink-2);overflow-wrap:anywhere;max-width:320px}.wo-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);min-width:640px}.wo-table thead th{text-align:left;font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px var(--sp-3);border-bottom:1px solid var(--border);white-space:nowrap;font-weight:600}.wo-table th.num,.wo-table td.num{text-align:right;font-variant-numeric:tabular-nums}.wo-table tbody td{padding:11px var(--sp-3);border-bottom:1px solid var(--border);vertical-align:middle}.wo-table tbody tr:last-child td{border-bottom:none}.wo-table tbody tr:hover{background:var(--panel-2)}.wo-id{align-items:center;gap:10px;display:flex}.wo-stripe{background:var(--off);border-radius:2px;flex-shrink:0;align-self:stretch;width:3px;min-height:30px}.wo-stripe.crit{background:var(--crit)}.wo-stripe.warn{background:var(--warn)}.wo-stripe.info{background:var(--brand)}.wo-stripe.off{background:var(--off)}.wo-code{font-family:var(--font-mono);color:var(--ink);white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:flex}.wo-badge{font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.04em;background:var(--warn-bg);color:var(--warn);border-radius:var(--r-pill);padding:1px 6px}.wo-kind{font-size:var(--fs-2xs);color:var(--muted);margin-top:2px}.wo-dev{color:var(--ink);white-space:nowrap;font-weight:500}.wo-place{font-size:var(--fs-2xs);color:var(--muted);white-space:nowrap;align-items:center;gap:4px;margin-top:2px;display:flex}.wo-text{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-2);white-space:normal;max-width:420px;display:block}.wo-place svg{color:var(--faint);flex-shrink:0}.wo-status{font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap}.wo-window{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap}.map-note code{font-family:var(--font-mono);background:var(--panel-2);border-radius:4px;padding:1px 5px;font-size:.92em}.eq-toolbar{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.eq-search{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-pill);height:var(--ctl-h-md);flex:260px;align-items:center;gap:8px;min-width:260px;max-width:420px;padding:0 14px;display:flex}.eq-search svg{color:var(--faint);flex-shrink:0}.eq-search input{font:inherit;font-size:var(--fs-sm);color:var(--ink);background:0 0;border:none;outline:none;width:100%}.eq-toolbar .chipbar{margin-bottom:0}.eq-row{cursor:pointer}.eq-row:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.off-dot{width:var(--dot);height:var(--dot);background:var(--off);border-radius:50%;margin-right:4px;display:inline-block}.res{align-items:center;gap:8px;min-width:120px;display:flex}.res-bar{background:var(--panel-2);border-radius:var(--r-pill);flex:1;height:6px;overflow:hidden}.res-fill{border-radius:var(--r-pill);height:100%;display:block}.res-fill.ok{background:var(--ok)}.res-fill.warn{background:var(--warn)}.res-fill.crit{background:var(--crit)}.res-fill.off{background:var(--off)}.res-n{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-2);font-variant-numeric:tabular-nums}.prio{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-2);font-weight:600}.prio.warn{color:var(--warn)}.prio.crit{color:var(--crit)}.muted{color:var(--muted)}.pager{justify-content:flex-end;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);display:flex}.pager-info{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.card-detail{gap:var(--sp-4);flex-direction:column;display:flex}.card-hd{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.dep-note{gap:var(--sp-2);margin:var(--sp-3) 0 0;padding:var(--sp-3);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--ink-2);font-size:var(--fs-xs);align-items:flex-start;line-height:1.5;display:flex}.dep-note svg{color:var(--muted);flex:none;margin-top:2px}.dep-note b{color:var(--ink);font-size:var(--fs-sm);margin-bottom:2px;display:block}.dep-note p{max-width:72ch;margin:0}.dep-mark{color:var(--muted);vertical-align:-1px;margin-left:6px;display:inline-flex}.card-name{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700}.card-sub{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.card-sect-h{font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;font-weight:600}.card-sect-h--act{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.btn.xs{height:var(--ctl-h-xs);font-size:var(--fs-2xs);padding:0 10px}.obj-form{gap:var(--sp-2) var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.obj-f{flex-direction:column;gap:6px;display:flex}.obj-f--wide{grid-column:1/-1}.obj-f-l{font-size:var(--fs-2xs);color:var(--muted)}.obj-actions{gap:var(--sp-2);grid-column:1/-1;margin-top:2px;display:flex}.obj-hist-h{font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:var(--sp-3) 0 6px;font-weight:600}.obj-hist .mini-when{white-space:nowrap}@media (max-width:560px){.obj-form{grid-template-columns:1fr}}.obj-area{gap:4px var(--sp-2);margin-top:var(--sp-2);background:var(--brand-tint);border-radius:var(--r-sm);flex-wrap:wrap;align-items:baseline;padding:8px 10px;display:flex}.obj-area-l{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-family:var(--font-mono)}.obj-area-v{font-size:var(--fs-sm);color:var(--ink)}.srv-form{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-3);margin-bottom:var(--sp-3)}.srv-form-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.srv-form-grid>*{min-width:0}.acc-panel{gap:var(--sp-3);flex-direction:column;display:flex}.table-wrap .acc-panel{max-width:calc(100vw - 2 * var(--sp-6));box-sizing:border-box;position:sticky;left:0}.acc-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.acc-block{gap:var(--sp-2);flex-direction:column;display:flex}.acc-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.acc-row>.login-i{flex:220px;min-width:0;max-width:420px}.acc-created{padding:var(--sp-3);border:1px solid var(--ok);border-radius:var(--r-sm);background:var(--ok-bg)}.acc-created p{margin:0 0 var(--sp-2)}.acc-panel .wo-place{white-space:normal;overflow-wrap:anywhere}.acc-pass{font-family:var(--font-mono);font-size:var(--fs-md);padding:var(--sp-1) var(--sp-2);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;display:inline-block}.srv-form-grid .login-l{font-size:var(--fs-sm);color:var(--ink-2);flex-direction:column;gap:6px;display:flex}.srv-f-wide,.srv-f-active{grid-column:1/-1}.srv-form-actions{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.srv-actions{white-space:nowrap;gap:6px;display:flex}.btn.xs.danger{color:var(--crit);border-color:var(--crit-bg)}.btn.xs.danger:hover{background:var(--crit-bg)}.srv-row--off{opacity:.55}.acc-role{height:var(--ctl-h-xs);font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--ink);max-width:180px;padding:0 8px}.acc-role:disabled{opacity:.6}@media (max-width:768px){.srv-form-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.srv-form-grid{grid-template-columns:1fr}}.tel-grid{gap:var(--sp-2);grid-template-columns:repeat(2,1fr);display:grid}.tel-trends{flex-direction:column;display:flex}.tel-trend{margin-top:var(--sp-3);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 12px}.tel-trend-h{justify-content:space-between;align-items:baseline;gap:var(--sp-2);margin-bottom:6px;display:flex}.tel-trend-t{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-family:var(--font-mono)}.tel-trend-now{font-size:var(--fs-sm);color:var(--ink)}.tel-trend-f{font-size:var(--fs-3xs);color:var(--muted);font-family:var(--font-mono);justify-content:space-between;margin-top:4px;display:flex}.htr-head-r{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.htr-win{display:inline-flex}.htr-params{margin-bottom:var(--sp-3);flex-wrap:wrap;gap:6px;display:flex}.htr-top{justify-content:space-between;align-items:flex-end;gap:var(--sp-3);margin-bottom:var(--sp-2);display:flex}.htr-cur{flex-direction:column;gap:2px;display:flex}.htr-cur-v{font-family:var(--font-display);font-weight:700;font-size:var(--fs-2xl);color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.htr-cur-u{font-size:var(--fs-md);color:var(--muted);margin-left:2px}.htr-cur-l{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-family:var(--font-mono)}.htr-delta{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.htr-delta-v{font-weight:700;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--muted);align-items:center;gap:4px;display:inline-flex}.htr-delta.ok .htr-delta-v{color:var(--ok)}.htr-delta.crit .htr-delta-v{color:var(--crit)}.htr-delta-l{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-family:var(--font-mono)}.htr-axis{font-size:var(--fs-3xs);color:var(--muted);font-family:var(--font-mono);justify-content:space-between;margin-top:4px;display:flex}.htr-bands-h{margin-top:var(--sp-4);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-family:var(--font-mono);margin-bottom:6px}.htr-legend{gap:var(--sp-3);font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;margin-top:6px;display:flex}.htr-lg{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.htr-lg i{border-radius:2px;width:10px;height:10px;display:inline-block}.htr-lg b{color:var(--ink);font-weight:700}.tel-cell{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px}.tel-l{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-family:var(--font-mono)}.tel-v{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);font-variant-numeric:tabular-nums;margin-top:3px}.tel-v.ok{color:var(--ok)}.tel-v.warn{color:var(--warn)}.tel-v.crit{color:var(--crit)}.tel-v.off{color:var(--off)}.mini-list{flex-direction:column;gap:6px;list-style:none;display:flex}.mini-list li{font-size:var(--fs-sm);align-items:baseline;gap:8px;display:flex}.mini-code{font-family:var(--font-mono);font-weight:600;font-size:var(--fs-xs);color:var(--brand-ink)}.mini-txt{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mini-when{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--muted);flex-shrink:0}.an-grid{gap:var(--sp-4);margin-bottom:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.dist{gap:var(--sp-3);flex-direction:column;display:flex}.dist-row{align-items:center;gap:var(--sp-3);grid-template-columns:90px 1fr 96px;display:grid}.dist-l{font-size:var(--fs-sm);color:var(--ink-2)}.dist-track{background:var(--panel-2);border-radius:var(--r-pill);height:10px;overflow:hidden}.dist-fill{border-radius:var(--r-pill);height:100%;display:block}.dist-fill.ok{background:var(--ok)}.dist-fill.warn{background:var(--warn)}.dist-fill.crit{background:var(--crit)}.dist-fill.off{background:var(--off)}.dist-n{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.dist-n b{color:var(--ink)}.an-note{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--sp-3)}.metric-grid{gap:var(--sp-2);grid-template-columns:repeat(4,1fr);display:grid}.metric-grid.econ{grid-template-columns:repeat(4,1fr)}.an-metric{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);padding:12px}.an-metric-l{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-family:var(--font-mono)}.an-metric-v{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;margin-top:4px}.an-metric.big .an-metric-v{font-size:var(--fs-2xl)}.an-metric-v.ok{color:var(--ok)}.an-metric-v.warn{color:var(--warn)}.an-metric-v.crit{color:var(--crit)}@media (max-width:1024px){.an-grid{grid-template-columns:1fr}.metric-grid,.metric-grid.econ{grid-template-columns:repeat(2,1fr)}}.iconbtn.active{color:var(--brand);background:var(--brand-tint)}.lang-switch{display:inline-flex;position:relative}.lang-btn{height:var(--ctl-h-md);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--muted);cursor:pointer;font:inherit;align-items:center;gap:6px;padding:0 12px;line-height:1;display:inline-flex}.lang-btn:hover{color:var(--ink);border-color:var(--border-2)}.lang-btn:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);outline:none}.lang-code{font-size:var(--fs-xs);letter-spacing:.02em;color:var(--ink);font-weight:700}.lang-switch.compact .lang-btn{gap:4px;padding:3px 8px}.lang-switch.compact .lang-code{font-size:var(--fs-2xs)}.lang-menu{z-index:var(--z-modal);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);min-width:190px;max-height:340px;box-shadow:var(--shadow-2);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.lang-opt{border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap;align-items:center;gap:4px;padding:7px 10px;display:flex}.lang-opt:hover{background:var(--panel-2);color:var(--ink);outline:none}.lang-opt:focus-visible{background:var(--panel-2);color:var(--ink);outline:none}.lang-opt.on{color:var(--ink);font-weight:600}.lang-opt-check{width:14px;color:var(--brand);flex:none;justify-content:center;font-weight:700;display:inline-flex}.lang-opt-code{font-variant-numeric:tabular-nums;font-weight:700}.lang-opt-sep{color:var(--faint)}.lang-opt-native{color:inherit}.login-lang{margin-top:var(--sp-3);justify-content:center;display:flex}.admin-hub{gap:var(--sp-3);margin-bottom:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.admin-card{gap:var(--sp-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);align-items:flex-start;display:flex}.admin-card-ic{border-radius:var(--r-sm);background:var(--brand-tint);width:38px;height:38px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-card-t{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);align-items:center;gap:8px;display:flex}.admin-card-d{font-size:var(--fs-xs);color:var(--muted);margin-top:3px;line-height:1.45}@media (max-width:1024px){.admin-hub{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.admin-hub{grid-template-columns:1fr}}.app-splash{justify-content:center;align-items:center;gap:var(--sp-3);background:var(--ground);flex-direction:column;min-height:100vh;display:flex}.splash-mark{border-radius:var(--r-md);background:var(--brand);width:40px;height:40px;animation:1.2s ease-in-out infinite pulse;position:relative}.splash-t{font-family:var(--font-display);color:var(--muted);letter-spacing:-.01em;font-weight:700}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.login-screen{justify-content:center;align-items:center;gap:var(--sp-4);background:radial-gradient(1200px 600px at 50% -10%, var(--brand-tint), transparent 60%), var(--ground);min-height:100vh;padding:var(--sp-4);flex-direction:column;display:flex}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:380px;box-shadow:var(--shadow-2);padding:var(--sp-6) var(--sp-5)}.tos-card{max-width:640px}.tos-h{font-size:var(--fs-lg);color:var(--ink);margin:var(--sp-3) 0;flex-wrap:wrap;align-items:baseline;gap:10px;font-weight:700;display:flex}.tos-ver{font-size:var(--fs-xs);color:var(--muted);font-weight:600}.tos-body{white-space:pre-wrap;word-break:break-word;max-height:46vh;color:var(--ink);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4);line-height:1.55;overflow-y:auto}.tos-agree{margin-top:var(--sp-4)}.tos-actions{gap:var(--sp-3);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.login-brand{justify-content:center;align-items:center;gap:10px;display:flex}.login-brand .mark{border-radius:var(--r-sm);background:var(--brand);color:#fff;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.login-brand .word{font-family:var(--font-display);font-weight:700;font-size:var(--fs-xl);color:var(--ink)}.login-brand .word b{color:var(--brand)}.login-tag{text-align:center;font-size:var(--fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono);margin:8px 0 var(--sp-5)}.login-form{flex-direction:column;gap:8px;display:flex}.login-l{font-size:var(--fs-xs);color:var(--ink-2);font-weight:500}.login-i{height:var(--ctl-h);border:1px solid var(--border);border-radius:var(--r-sm);font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--panel-2);outline:none;padding:0 14px}.login-i:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.login-pw{display:flex;position:relative}.login-pw .login-i{width:100%;padding-right:44px}.login-eye{height:var(--ctl-h);width:var(--ctl-h);cursor:pointer;color:var(--muted);border-radius:var(--r-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:3px}.login-eye:hover{color:var(--brand)}.login-eye:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.login-code{letter-spacing:.3em;text-align:center;font-family:var(--font-mono)}.login-btn{justify-content:center;margin-top:6px}.login-who{font-size:var(--fs-sm);color:var(--ink-2);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:6px;padding:8px 12px;display:flex}.login-who svg{color:var(--faint)}.login-change{color:var(--brand);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:none;margin-left:auto}.login-err,.form-err{margin-top:var(--sp-3);font-size:var(--fs-sm);color:var(--crit);background:var(--crit-bg);border-radius:var(--r-sm);padding:8px 12px}.login-legal{font-size:var(--fs-2xs);color:var(--faint);font-family:var(--font-mono)}.app-user{position:relative}.avatar{cursor:pointer;border:none}.menu-overlay{z-index:var(--z-menu-overlay);position:fixed;top:0;bottom:0;left:0;right:0}.user-menu{z-index:var(--z-menu);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);width:240px;box-shadow:var(--shadow-2);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.user-menu-hd{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.user-menu-name{font-weight:600;font-size:var(--fs-sm);color:var(--ink)}.user-menu-mail{font-size:var(--fs-xs);color:var(--muted);word-break:break-all;margin-top:2px}.user-menu-role{font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.04em;color:var(--brand);margin-top:6px}.user-menu-item{width:100%;padding:11px var(--sp-4);font:inherit;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;text-decoration:none;display:flex}.user-menu-item:hover{background:var(--panel-2)}@media (min-width:641px){.user-menu-item--admin{display:none}}@media (max-width:480px){.app-brand .brand-ver{display:none}}.login-remember{font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin:2px 0;display:flex}.login-remember input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.exp-filters{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.exp-field{flex-direction:column;gap:4px;min-width:160px;display:flex}.exp-field-grow{flex:220px}.exp-lbl{font-size:var(--fs-xs);color:var(--muted)}.exp-field .login-i{width:100%}.acc-form{gap:var(--sp-3);flex-direction:column;display:flex}.acc-form .login-l{flex-direction:column;gap:6px;display:flex}.acc-form .login-i,.acc-form select.login-i{width:100%}.acc-form textarea.login-i{resize:vertical;height:auto;min-height:60px;padding:8px 12px}.acc-hint{font-size:var(--fs-xs);color:var(--muted);margin:0}.acc-ok{font-size:var(--fs-sm);color:var(--ok);background:var(--ok-bg);border-radius:var(--r-sm);padding:8px 12px}.acc-secret{font-family:var(--font-mono);font-size:var(--fs-md);letter-spacing:.06em;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);word-break:break-all;padding:10px 12px}.acc-form .btn{align-self:flex-start}.acc-recovery{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px}.acc-rec-t{font-weight:600;font-size:var(--fs-sm);margin-bottom:8px}.acc-rec-codes{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.acc-rec-codes code{font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);text-align:center;padding:6px 8px}.admin-cu-bar{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.admin-cu{padding:var(--sp-3) var(--sp-4) var(--sp-4);border-bottom:1px solid var(--border);gap:var(--sp-3);flex-direction:column;display:flex}.admin-cu-grid{gap:var(--sp-3);grid-template-columns:repeat(2,1fr);display:grid}.admin-cu-grid .login-l{font-size:var(--fs-sm);color:var(--ink-2);flex-direction:column;gap:6px;display:flex}.admin-cu-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}@media (max-width:640px){.admin-cu-grid{grid-template-columns:1fr}}.crumb-wrap{align-items:center;gap:2px;display:inline-flex}.crumb:not(:disabled){cursor:pointer}.crumb:disabled{cursor:default}.crumb.cur:hover{background:var(--brand);color:#fff}.scope-picker{margin-left:auto;position:relative}.scope-open{height:var(--ctl-h-sm);font-size:var(--fs-xs);color:var(--brand);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.scope-open:hover{border-color:var(--brand)}.scope-dd{z-index:var(--z-menu);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);width:280px;max-height:60vh;box-shadow:var(--shadow-2);flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.scope-search{height:var(--ctl-h-md);border:1px solid var(--border);border-radius:var(--r-sm);font:inherit;font-size:var(--fs-sm);background:var(--panel-2);outline:none;margin-bottom:4px;padding:0 12px}.scope-search:focus{border-color:var(--brand)}.scope-row{width:100%;font:inherit;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;border-radius:var(--r-sm);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:9px 10px;display:flex}.scope-row:hover{background:var(--panel-2)}.scope-row.active{background:var(--brand-tint);color:var(--brand-ink);font-weight:600}.scope-row.sub{padding-left:22px}.scope-row.world{font-weight:600}.scope-n{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.scope-row.active .scope-n{color:var(--brand-ink)}.scope-back{text-align:left;color:var(--brand);font:inherit;font-size:var(--fs-xs);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;padding:7px 10px}.scope-back:hover{background:var(--panel-2)}.scope-empty{font-size:var(--fs-xs);color:var(--muted);text-align:center;padding:12px 10px}@media (max-width:640px){.scope-picker{margin-left:0}.scope-dd{width:min(280px,92vw)}}.mode-seg{align-items:center;gap:8px;display:inline-flex}.mode-seg-lbl{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-weight:600}.mode-seg-btn{height:var(--ctl-h-sm);font-size:var(--fs-xs);color:var(--ink-2);background:var(--panel);border:1px solid var(--border);cursor:pointer;white-space:nowrap;margin-left:-1px;padding:0 12px;font-weight:600}.mode-seg-btn:first-of-type{border-radius:var(--r-pill) 0 0 var(--r-pill);margin-left:0}.mode-seg-btn:last-of-type{border-radius:0 var(--r-pill) var(--r-pill) 0}.mode-seg-btn:hover{border-color:var(--brand);color:var(--brand);z-index:1;position:relative}.mode-seg-btn.active{background:var(--brand);border-color:var(--brand);color:#fff;z-index:1;position:relative}button,a,summary,label,[role=button],[role=tab],.chip{touch-action:manipulation}@media (max-width:640px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}.mode-seg{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.mode-seg-btn{flex:none}}.app-techlabel{font-family:var(--font-display);font-weight:600;font-size:var(--fs-sm);color:var(--ink-2);align-items:center;gap:7px;display:inline-flex}.app-techlabel svg{color:var(--brand)}.tech-wrap{gap:var(--sp-3);flex-direction:column;max-width:640px;margin:0 auto;display:flex}.tech-top{justify-content:space-between;align-items:flex-end;gap:var(--sp-3);display:flex}.tech-hello{font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.tech-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-2xl);letter-spacing:-.01em}.tech-date{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);align-items:center;gap:6px;display:inline-flex}.tech-progress{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:12px var(--sp-4)}.tech-progress-bar{background:var(--panel-2);border-radius:var(--r-pill);height:8px;overflow:hidden}.tech-progress-bar span{background:var(--ok);border-radius:var(--r-pill);height:100%;transition:width var(--t-med);display:block}.tech-progress-t{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:8px}.tech-stops{gap:var(--sp-3);flex-direction:column;display:flex}.tech-stop{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--shadow-1)}.tech-stop.done{opacity:.72}.tech-stop-hd{align-items:flex-start;gap:10px;display:flex}.tech-seq{background:var(--brand-tint);width:26px;height:26px;color:var(--brand);font-family:var(--font-mono);font-weight:700;font-size:var(--fs-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tech-stop-main{flex:1;min-width:0}.tech-pt{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md)}.tech-addr{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.tech-meta{align-items:center;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--ink-2);flex-wrap:wrap;margin:10px 0;display:flex}.tech-meta>span{align-items:center;gap:5px;display:inline-flex}.tech-meta svg{color:var(--faint)}.tech-vs{font-family:var(--font-mono);font-size:var(--fs-2xs);background:var(--panel-2);border-radius:var(--r-pill);color:var(--ink-2);padding:2px 8px}.tech-vs.done{background:var(--ok-bg);color:var(--ok)}.tech-nav{color:var(--brand);align-items:center;gap:4px;margin-left:auto;font-weight:500;display:inline-flex}.tech-mats{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.tech-checkin{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tech-checkin .btn{flex:1;justify-content:center;min-width:90px}.tech-actions{display:flex}.tech-actions .btn.primary{justify-content:center;width:100%}.tech-doneflag{color:var(--ok);font-weight:600;font-size:var(--fs-sm);align-items:center;gap:6px;display:inline-flex}.tech-scan-btn{justify-content:center;width:100%}.tech-scan{gap:var(--sp-2);flex-direction:column;display:flex}.dr{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.dr-scan-btn{justify-content:center;width:100%}.dr-manual{flex-direction:column;gap:6px;display:flex}.dr-manual-row{gap:var(--sp-2);display:flex}.dr-manual-row .login-i{min-width:0;font-family:var(--font-mono);flex:1}.dr-skel{height:48px}.dr-err{color:var(--crit);font-size:var(--fs-sm);margin:0}.dr-ok{color:var(--ok);font-size:var(--fs-sm);margin:0;font-weight:600}.gdpr-lead{margin:0 0 var(--sp-3);color:var(--ink-2);font-size:var(--fs-sm);max-width:72ch}.gdpr-tools{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.gdpr-tools .chipbar{margin-bottom:0}.gdpr-search{min-width:0;max-width:360px;height:var(--ctl-h-sm);padding:0 var(--sp-3);font:inherit;font-size:var(--fs-sm);color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);flex:220px}.gdpr-search:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.gdpr-note{margin-bottom:var(--sp-3)}.gdpr-more{margin:var(--sp-2) 0 0}.gdpr-table{min-width:0}.gdpr-table .srv-actions{flex-wrap:wrap;justify-content:flex-end}.gdpr-table td:first-child{overflow-wrap:anywhere}.dr-cam{gap:var(--sp-2);flex-direction:column;display:flex}.dr-cam-view{aspect-ratio:4/3;background:var(--ink);border-radius:var(--r-md);width:100%;max-height:50vh;position:relative;overflow:hidden}.dr-cam-view video{object-fit:cover;width:100%;height:100%;display:block}.dr-cam-frame{border:2px solid var(--panel);border-radius:var(--r-md);box-shadow:0 0 0 999px var(--scrim);pointer-events:none;position:absolute;top:18%;bottom:18%;left:14%;right:14%}.dr-cam-wait{inset:auto 0 var(--sp-3) 0;text-align:center;color:var(--panel);font-size:var(--fs-xs);position:absolute}.dr-cam-foot{justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.dr-cam-msg{align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--warn-bg);color:var(--warn);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.dr-cam-msg span{flex:1;min-width:180px}.dr-res{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.dr-res-h{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.dr-ids{flex-wrap:wrap;gap:6px;display:flex}.dr-ids .chip{font-family:var(--font-mono);font-size:var(--fs-xs);overflow-wrap:anywhere;max-width:100%}.dr-ids .chip b{font-family:var(--font-sans);color:var(--muted);margin-right:4px;font-weight:600}.dr-body{font-size:var(--fs-sm);color:var(--ink-2);margin:0;line-height:1.5}.dr-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);overflow-wrap:anywhere}.dr-kv{flex-direction:column;display:flex}.dr-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.dr-field,.dr-place{flex-direction:column;gap:6px;display:flex}.dr-place-list{flex-direction:column;gap:4px;max-height:260px;display:flex;overflow-y:auto}.dr-place-opt{align-items:flex-start;gap:var(--sp-2);text-align:left;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);width:100%;font:inherit;color:var(--ink);cursor:pointer;transition:background var(--t-fast);padding:8px 10px;display:flex}.dr-place-opt:hover{background:var(--panel-2)}.dr-place-opt:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.dr-place-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dr-place-main b{font-weight:600;font-size:var(--fs-sm);overflow-wrap:anywhere}.dr-place-sel{align-items:center;gap:var(--sp-2);border:1px solid var(--brand);border-radius:var(--r-sm);background:var(--brand-tint);padding:8px 10px;display:flex}.dr-geo{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.dr-confirm{align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2);cursor:pointer;display:flex}.dr-confirm input{width:18px;height:18px;accent-color:var(--brand);flex-shrink:0;margin:1px 0 0}.dr-move{gap:var(--sp-3);padding-top:var(--sp-2);border-top:1px solid var(--border);flex-direction:column;display:flex}@media (max-width:600px){.dr-actions .btn{flex:100%;justify-content:center}.dr-manual-row .btn{flex-shrink:0}}@media (prefers-reduced-motion:reduce){.dr-place-opt{transition:none}}.cust-wrap{gap:var(--sp-4);flex-direction:column;max-width:780px;margin:0 auto;display:flex}.cust-top{justify-content:space-between;align-items:flex-end;display:flex}.cust-sum{gap:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}.cust-assets{gap:var(--sp-3);grid-template-columns:repeat(2,1fr);display:grid}.cust-asset{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);flex-direction:column;gap:10px;display:flex}.cust-asset-hd{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);display:flex}.cust-asset-meta{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}.cust-asset .btn{align-self:flex-start}.cust-req-asset{font-size:var(--fs-sm);color:var(--ink-2);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:6px;margin-bottom:4px;padding:8px 12px;display:inline-flex}@media (max-width:640px){.cust-sum,.cust-assets{grid-template-columns:1fr}}.admin-card-link{color:inherit;transition:border-color var(--t-fast), background var(--t-fast);text-decoration:none}.admin-card-link:hover{border-color:var(--brand);background:var(--brand-tint)}.admin-card-link .admin-card-t svg{color:var(--brand)}.sim-form{flex-direction:column;gap:8px;display:flex}.sim-form select.login-i,.sim-form input.login-i{width:100%}.sim-form input[type=range]{width:100%;accent-color:var(--brand)}.sim-check{font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin:2px 0;display:flex}.sim-check input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer;flex:none}.sim-ds{font-size:var(--fs-sm);color:var(--ink-2);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.sim-ds code{font-family:var(--font-mono);font-size:var(--fs-xs)}.sim-log{margin-top:var(--sp-4);border-top:1px solid var(--border);padding-top:var(--sp-3);flex-direction:column;gap:5px;list-style:none;display:flex}.sim-log li{font-size:var(--fs-xs);color:var(--muted);align-items:baseline;gap:6px;display:flex}.sim-log svg{color:var(--faint);flex-shrink:0}.sim-imp{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.sim-imp-queue{margin-top:12px}.sim-imp-queue-h{font-size:var(--fs-2xs);color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.sim-imp-list{border:1px solid var(--border);border-radius:var(--r-sm);max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.sim-imp-list li{align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--border);padding:5px 10px;display:flex}.sim-imp-list li:last-child{border-bottom:0}.sim-imp-fn{min-width:0;font-size:var(--fs-sm);word-break:break-all;flex:auto}.sim-imp-fs{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-2xs);color:var(--muted);white-space:nowrap;flex:none}.sim-imp-x{width:var(--ctl-h-xs);height:var(--ctl-h-xs);color:var(--muted);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0;flex:none;font-size:18px;line-height:1}.sim-imp-x:hover{background:var(--crit-bg);color:var(--crit)}.sim-purge-all{width:100%;margin-top:var(--sp-3);color:var(--crit);border-color:var(--crit-bg);justify-content:center}.sim-purge-all:hover:not(:disabled){background:var(--crit-bg)}.sim-imp-bar{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;height:8px;margin-top:6px;overflow:hidden}.sim-imp-bar span{background:var(--brand);height:100%;transition:width .2s;display:block}.sim-imp-prog-top{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.sim-imp-pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--brand);font-size:var(--fs-md);flex-shrink:0}@media (max-width:640px){.subnav,.chipbar{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.subnav::-webkit-scrollbar{display:none}.chipbar::-webkit-scrollbar{display:none}.subnav-tab,.chip-btn{flex:none}}.cfg-ro-note{margin:0 0 var(--sp-3);color:var(--muted);align-items:center;gap:6px;display:flex}.cfg-ro-note svg{color:var(--muted)}.cfg-grid{gap:var(--sp-4);grid-template-columns:repeat(2,1fr);align-items:start;display:grid}.admin-masonry{columns:3 340px;column-gap:var(--sp-4)}.admin-masonry>.panel,.admin-masonry>section.panel{break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 var(--sp-4);width:100%;display:block}.admin-masonry>.admin-span-all{column-span:all}@media (max-width:720px){.admin-masonry{columns:1}}.cfg-fields{gap:var(--sp-3);padding:var(--sp-4);flex-direction:column;display:flex}.cfg-fields input[type=number]{max-width:240px}.panel-sub{padding:6px var(--sp-4) var(--sp-4);font-size:var(--fs-xs);color:var(--muted);margin:0;line-height:1.45}.panel-head:has(+.panel-sub){border-bottom:0;padding-bottom:0}.panel-head+.panel-sub{border-bottom:1px solid var(--border)}.cfg-field{flex-direction:column;gap:6px;display:flex}.cfg-field .login-i{width:100%}.cfg-flabel{justify-content:space-between;align-items:center;gap:8px;display:flex}.cfg-secret{font-size:var(--fs-xs);letter-spacing:.01em;border-radius:999px;padding:1px 7px;font-weight:600}.cfg-secret.on{color:var(--ok);background:var(--ok-bg)}.cfg-secret.off{color:var(--muted);background:var(--panel-2);border:1px solid var(--border)}.cfg-toggle{font-size:var(--fs-sm);color:var(--ink);cursor:pointer;align-items:center;gap:10px;display:flex}.cfg-toggle input{width:18px;height:18px;accent-color:var(--brand);cursor:pointer}.cfg-toggle input:disabled{cursor:default}.cfg-savebar{justify-content:flex-end;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2);flex-wrap:wrap;display:flex;position:sticky;bottom:0}@media (max-width:768px){.cfg-grid{grid-template-columns:1fr}}.cfg-legal{margin-top:var(--sp-4)}.cfg-legal-body{resize:vertical;min-height:140px;font-family:var(--font-mono,ui-monospace, monospace);line-height:1.5}.br-logo-row{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-top:16px;display:flex}.br-logo-prevcol{flex-direction:column;align-items:center;gap:4px;display:flex}.br-logo-prev{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);justify-content:center;align-items:center;width:auto;min-width:56px;max-width:240px;height:56px;padding:6px 10px;display:flex}.br-logo-prev--head{height:40px;padding:5px 10px}.br-logo-prevcap{font-size:var(--fs-2xs);color:var(--muted)}.br-logo-actions{flex-wrap:wrap;align-self:center;align-items:center;gap:8px;display:flex}.br-logo-hint{flex:200px;min-width:160px}.cfg-legal-list{gap:var(--sp-2);margin-top:var(--sp-4);flex-direction:column;display:flex}.cfg-legal-row{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.cfg-legal-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.data-toolbar{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.data-search{height:var(--ctl-h-md);flex:240px;min-width:200px}.data-imp-entity{gap:var(--sp-3);flex-wrap:wrap;margin-bottom:12px;display:flex}.data-imp-opt{font-size:var(--fs-sm);color:var(--ink);cursor:pointer;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);align-items:center;gap:8px;padding:8px 14px;display:flex}.data-imp-opt.on{border-color:var(--brand);background:var(--brand-tint);color:var(--brand);font-weight:600}.data-imp-opt input{accent-color:var(--brand);cursor:pointer}.data-imp-files,.data-imp-prog{margin-top:12px}.int-err{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:320px;display:inline-block;overflow:hidden}.sim-run-many{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.sim-run-many .login-l{white-space:nowrap;margin:0}.sim-steps-sel{height:var(--ctl-h);flex:none;width:auto;min-width:72px}.sim-run-many .login-btn{flex:140px}.sim-econ-in{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.sim-econ-in .login-l{font-size:var(--fs-sm);color:var(--ink-2);flex-direction:column;gap:6px;display:flex}.sim-econ{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px dashed var(--border)}.sim-econ-head{font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);margin-bottom:var(--sp-3);align-items:center;gap:6px;display:flex}.sim-econ-head svg{color:var(--brand)}@media (max-width:480px){.sim-econ-in{grid-template-columns:1fr}}.mon-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.mon-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2);padding:var(--sp-3);flex-direction:column;gap:6px;display:flex}.mon-card-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.mon-card-t{font-size:var(--fs-xs);color:var(--muted);font-weight:600}.mon-card-v{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--ink);font-variant-numeric:tabular-nums}.mon-card-v.warn{color:var(--warn)}.mon-card-v.crit{color:var(--crit)}.mon-card-sub{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.mon-chart{width:100%;height:84px;display:block}.mon-chart--empty{border-radius:var(--r-sm);background:var(--panel)}.mon-ax{stroke:var(--border)}.mon-ax--faint{opacity:.5}.mon-anom{margin-left:var(--sp-2);background:color-mix(in srgb, var(--crit) 14%, transparent);color:var(--crit);font-weight:700;font-size:var(--fs-xs);border-radius:999px;padding:1px 8px}.sim-arch{margin-top:var(--sp-4)}.sim-arch-head{font-size:var(--fs-xs);color:var(--muted);margin-bottom:6px;font-weight:600}.sim-arch-row{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.sim-arch-chip{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-left:3px solid var(--muted);border-radius:var(--r-md);background:var(--panel-2);flex-direction:column;gap:2px;display:flex}.sim-arch-chip.ok{border-left-color:var(--ok)}.sim-arch-chip.brand{border-left-color:var(--brand)}.sim-arch-chip.warn{border-left-color:var(--warn)}.sim-arch-chip.crit{border-left-color:var(--crit)}.sim-arch-n{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--ink);font-variant-numeric:tabular-nums}.sim-arch-l{font-size:var(--fs-xs);color:var(--ink-2)}.sim-arch-pct{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.econ-panel{grid-column:1/-1}.econ-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.econ-form .login-l{flex-direction:column;gap:6px;display:flex}.econ-form .login-i{box-sizing:border-box;width:100%}.econ-eff{margin-top:10px}.econ-hist-h{margin:14px 0 6px;font-size:14px}.econ-hist{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.econ-hist li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:10px;padding:4px 0;font-size:13px;display:flex}.econ-hk{font-weight:600}.econ-hv{font-variant-numeric:tabular-nums}.econ-hd{color:var(--muted)}.econ-hr{color:var(--muted);font-style:italic}.consent-banner{z-index:var(--z-modal);background:var(--panel);width:min(720px,100vw - 32px);color:var(--ink);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-3);font-family:var(--font-sans);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 18px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.consent-body{flex-direction:column;flex:280px;gap:6px;min-width:0;display:flex}.consent-title{font-size:var(--fs-sm);color:var(--ink);margin:0;font-weight:700}.consent-text{font-size:var(--fs-sm);color:var(--ink-2);margin:0;line-height:1.45}.consent-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.consent-cats{flex-direction:column;gap:8px;margin-top:4px;display:flex}.consent-cat{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.consent-cat-locked{cursor:default;opacity:.9}.consent-cat input{flex-shrink:0;margin-top:3px}.consent-cat-txt{flex-direction:column;gap:1px;min-width:0;display:flex}.consent-cat-name{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.consent-cat-desc{font-size:var(--fs-xs);color:var(--muted);line-height:1.4}@media (max-width:560px){.consent-banner{flex-direction:column;align-items:stretch;bottom:8px}.consent-body{flex-basis:auto}.consent-actions{justify-content:flex-end}}.cfg-consent-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.cfg-consent-cat{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.cfg-consent-cat-txt{flex-direction:column;gap:2px;min-width:0;max-width:52ch;display:flex}.cfg-consent-ctl{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.linklike{color:var(--brand);font:inherit;cursor:pointer;min-height:var(--ctl-h-xs);background:0 0;border:0;align-items:center;padding:0;text-decoration:underline;display:inline-flex}.linklike:hover{color:var(--ink)}.policy-overlay{z-index:var(--z-modal-nested-top);background:var(--scrim);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.policy-card{background:var(--panel);width:min(680px,100%);max-height:88vh;color:var(--ink);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2);flex-direction:column;display:flex;overflow:hidden}.policy-hd{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.policy-hd h3{font-size:var(--fs-md);margin:0}.policy-x{font-size:16px;line-height:1}.policy-body{flex-direction:column;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.policy-intro{color:var(--ink-2);margin:0;line-height:1.5}.policy-sec{flex-direction:column;gap:3px;display:flex}.policy-sec h4{font-size:var(--fs-sm);color:var(--ink);margin:0}.policy-sec p{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.5}.policy-contact{font-size:var(--fs-sm);color:var(--ink-2);margin:0;line-height:1.5}.policy-ft{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.usage-head{margin-bottom:var(--sp-3);justify-content:flex-end;display:flex}.usage-spark{align-items:flex-end;gap:2px;height:96px;padding-top:6px;display:flex}.usage-bar{background:var(--brand);opacity:.85;border-radius:2px 2px 0 0;flex:1 1 0;min-width:2px;min-height:2px}.usage-u{flex-direction:column;line-height:1.25;display:flex}.usage-u span{color:var(--muted);font-size:var(--fs-2xs)}.usage-empty{text-align:center;color:var(--muted);padding:var(--sp-4)}.mon-alarm{flex-direction:column;line-height:1.3;display:flex}.mon-alarm span{color:var(--muted);font-size:var(--fs-2xs)}.mon-status{font-size:var(--fs-xs);color:var(--ink-2)}.mon-actions{text-align:right;white-space:nowrap}.mon-actions .btn{margin-left:6px}.mon-empty{padding:var(--sp-5);color:var(--ok);justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex}.err-screen{padding:var(--sp-6) clamp(16px, 4vw, 32px);text-align:center}.err-404{font-family:var(--font-display);color:var(--brand);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:max(64px,min(14vw,120px));font-weight:800;line-height:1}.err-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-xl);color:var(--ink)}.err-body{max-width:52ch;color:var(--ink-2);font-size:var(--fs-sm);margin:0;line-height:1.5}.err-detail{max-width:52ch;color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-2xs);word-break:break-word;margin:0;line-height:1.4}.err-actions{gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;justify-content:center;display:flex}.acc-actions{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.notif-matrix{min-width:0}.notif-matrix td.num,.notif-matrix th.num{text-align:center}.notif-matrix input[type=checkbox]{cursor:pointer}.int-automation{gap:var(--sp-4);flex-direction:column;display:flex}.int-ev{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--brand);white-space:nowrap}.int-cond{color:var(--muted);font-size:var(--fs-2xs);margin-top:2px}.int-fields{flex-wrap:wrap;gap:4px;max-width:320px;display:flex}.int-fields .chip.int-opt{color:var(--muted);border-style:dashed}.int-ex-row td{background:var(--panel-2)}.int-ex{font-family:var(--font-mono);font-size:var(--fs-2xs);white-space:pre;color:var(--ink-2);margin:0;padding:10px 12px;line-height:1.5;overflow-x:auto}.int-tpl-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.int-tpl{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);background:var(--panel);gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.int-tpl-h{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--ink)}.int-tpl-d{color:var(--ink-2);font-size:var(--fs-sm);margin:0;line-height:1.45}.int-tpl-meta{font-size:var(--fs-2xs);grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}.int-tpl-meta dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.int-tpl-meta dd{color:var(--ink-2);overflow-wrap:anywhere;margin:0}.int-tpl .btn{align-self:flex-start;margin-top:auto}.odoo-panel .srv-form-grid{margin-bottom:var(--sp-3)}.odoo-import{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--border)}.odoo-scope{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.odoo-check{font-size:var(--fs-sm);color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.odoo-result{margin-top:var(--sp-3);flex-wrap:wrap;gap:6px;display:flex}.odoo-errlist{margin:var(--sp-2) 0 0;color:var(--crit);font-size:var(--fs-2xs);padding-left:18px;line-height:1.5}.odoo-errlist li{overflow-wrap:anywhere}.fc-head{margin-bottom:var(--sp-3);justify-content:flex-end;display:flex}.fc-filter{min-width:220px}.fc-scn{color:var(--muted);font-size:var(--fs-2xs);margin-top:2px}.fc-act{white-space:nowrap}.fc-verify{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.fc-sel{width:auto;min-width:150px}.fc-done{color:var(--muted);font-size:var(--fs-xs)}.fleet-md-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.fleet-md-days-l{font-size:var(--fs-2xs);color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.fleet-md-days-i{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);width:52px;color:var(--ink);font-size:var(--fs-xs);padding:3px 6px}.fleet-md{margin-top:6px}.fleet-md-verdict{font-size:var(--fs-xs);border-radius:var(--r-sm);padding:4px 8px;font-weight:600}.fleet-md-verdict.ok{color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, transparent)}.fleet-md-verdict.warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent)}.fleet-md-days{flex-direction:column;gap:4px;max-height:200px;margin:6px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.fleet-md-day{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);padding:5px 8px}.fleet-md-day-h{justify-content:space-between;align-items:center;gap:8px;display:flex}.fleet-md-day-act{flex-shrink:0;align-items:center;gap:6px;display:flex}.fleet-md-day-n{font-weight:600;font-size:var(--fs-xs);color:var(--ink);font-variant-numeric:tabular-nums}.fleet-md-day-s{font-size:var(--fs-2xs);color:var(--muted);margin-top:2px}.mon-trend{margin-bottom:var(--sp-4)}.mon-trend-legend{gap:var(--sp-2);display:flex}.mon-trend-foot{align-items:center;gap:var(--sp-2);padding-top:var(--sp-3);flex-wrap:wrap;display:flex}.mon-trend-active{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}.mon-trend-active b{color:var(--ink)}.mon-trend-hd{align-items:center;gap:var(--sp-3);display:flex}.range-seg{height:var(--ctl-h-sm);box-sizing:border-box;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);gap:2px;padding:1px;display:inline-flex}.range-seg-btn{height:100%;min-height:var(--ctl-h-xs);color:var(--muted);font:inherit;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;border-radius:calc(var(--r-sm) - 2px);cursor:pointer;background:0 0;border:0;min-width:32px;padding:0 10px;font-weight:500}.range-seg-btn:hover{color:var(--ink);background:var(--panel-2)}.range-seg-btn.active{background:var(--brand);color:#fff}.range-seg-btn:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.mon-stats{gap:var(--sp-5);padding-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.mon-stat{flex-direction:column;gap:2px;display:flex}.mon-stat-v{font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.mon-stat-l{font-size:var(--fs-xs);color:var(--muted)}.pill-btn{cursor:pointer;font:inherit;border:0}.pill-btn:hover{filter:brightness(.97)}.pill-btn.on{outline-offset:1px;outline:2px solid}.mon-drill{align-items:center;gap:var(--sp-2);padding-bottom:var(--sp-3);display:flex}.fleet-map-context{z-index:var(--z-map-overlay);flex-direction:column;gap:8px;width:300px;max-width:calc(100% - 20px);max-height:min(62%,100% - 100px);display:flex;position:absolute;bottom:10px;right:10px;overflow-y:auto}.fleet-map-context:empty{display:none}.fleet-map-context .fleet-map-selpanel,.fleet-map-context .fleet-map-routepanel{width:auto;min-width:0;max-width:none;position:static;top:auto;bottom:auto;left:auto;right:auto}@media (max-width:640px){.fleet-map-context{width:auto;max-height:56%;left:10px}}.sys-grid{gap:var(--sp-3) var(--sp-5);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.sys-stat{min-width:116px}.sys-stat-l{font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:3px}.sys-stat-v{font-size:var(--fs-lg);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.sys-stat-v.big{font-size:var(--fs-2xl)}.sys-tbl{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.sys-tbl th{text-align:left;color:var(--muted);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:6px 8px;font-weight:600}.sys-tbl td{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;padding:6px 8px}.sys-tbl th:nth-child(2),.sys-tbl th:nth-child(3),.sys-tbl td:nth-child(2),.sys-tbl td:nth-child(3){text-align:right}.host-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.host-item{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);padding:12px 14px}.host-item-t{font-family:var(--font-mono);font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.host-item-l{font-size:var(--fs-sm);color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.5}.web-custom{align-items:center;gap:6px;display:inline-flex}.web-date{width:auto;font-size:var(--fs-sm);padding:4px 8px}.web-date-sep{color:var(--muted)}.acc-qr{justify-content:center;margin:4px 0 10px;display:flex}.acc-qr svg{border:1px solid var(--border);border-radius:var(--r-sm);box-sizing:content-box;background:#fff;padding:8px}.notif-matrix{table-layout:fixed;width:100%;min-width:0}.notif-matrix th,.notif-matrix td{padding:8px 4px}.notif-matrix th:first-child,.notif-matrix td:first-child{text-align:left}.notif-matrix th.num,.notif-matrix td.num{text-align:center;width:58px}.notif-matrix th.num{font-size:var(--fs-3xs);white-space:normal;line-height:1.15}
