:root{--bg:#fff;--surface:#f6f6f9;--surface-strong:#ebecf2;--surface-selected:#edefff;--sidebar:#f2f3f9;--ink:#141623;--ink-soft:#343745;--muted:#535663;--muted-strong:#404350;--border:#d9dae1;--border-strong:#bec0cd;--primary:#4b46ae;--primary-hover:#3d349e;--primary-active:#342c8a;--primary-soft:#e2e6ff;--primary-ink:#2a2077;--on-primary:#fafafb;--connected:#006f77;--connected-soft:#d1f3f5;--success:#006130;--success-soft:#def6e4;--warning:#7f4f00;--warning-soft:#ffedd5;--danger:#9b1e22;--danger-soft:#ffeae7;--info:#00518f;--info-soft:#e2f0ff;--focus:#5e58d8;--overlay:#0f111ac2;--shadow-float:0 8px 8px #171a261a;--font-ui:"Aptos", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;--font-display:"Aptos", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;--font-mono:"Cascadia Code", "SFMono-Regular", Consolas, monospace;--radius-panel:14px;--radius-control:9px;--sidebar-width:236px;--z-sticky:20;--z-overlay:40;--z-tooltip:60}@supports (color:lab(0% 0 0)){:root{--bg:lab(100% 0 0);--surface:lab(97.0701% .254542 -1.49409);--surface-strong:lab(93.5597% .518084 -2.98249);--surface-selected:lab(94.584% 1.73467 -9.25261);--sidebar:lab(95.8797% .517696 -2.9827);--ink:lab(7.55738% 1.92149 -9.4128);--ink-soft:lab(23.243% 1.49442 -9.19373);--muted:lab(36.625% 1.09193 -7.79293);--muted-strong:lab(28.4932% 1.21227 -8.13307);--border:lab(87.1642% .654846 -3.72369);--border-strong:lab(77.8201% 1.23036 -6.67232);--primary:lab(35.043% 25.6725 -55.9511);--primary-hover:lab(28.3366% 29.4304 -57.6219);--primary-active:lab(23.9226% 26.9163 -52.3825);--primary-soft:lab(91.5099% 3.38662 -16.5192);--primary-ink:lab(18.7616% 26.2517 -48.8931);--on-primary:lab(98.2451% .126153 -.747752);--connected:lab(41.8012% -31.9425 -14.6021);--connected-soft:lab(93.3751% -10.8939 -5.04656);--success:lab(35.397% -37.9962 21.8541);--success-soft:lab(94.6711% -10.6613 5.98348);--warning:lab(38.2622% 19.5622 73.4436);--warning-soft:lab(94.8285% 3.83258 15.0762);--danger:lab(34.5744% 50.677 31.8589);--danger-soft:lab(94.4561% 10.7371 5.79667);--info:lab(33.1118% -1.36574 -43.4478);--info-soft:lab(94.1652% -3.08996 -10.6153);--focus:lab(43.8695% 30.7144 -66.4317);--overlay:lab(5.13916% 1.06907 -6.53618/.76);--shadow-float:0 8px 8px lab(9.30422% 1.78533 -9.09304/.1)}}[data-theme=dark]{--bg:#090b10;--surface:#0f1119;--surface-strong:#181b26;--surface-selected:#1a2031;--sidebar:#0c0e15;--ink:#ebeff5;--ink-soft:#b2b8c1;--muted:#9399a2;--muted-strong:#a5abb5;--border:#151b24;--border-strong:#282e38;--primary:#7d92e8;--primary-hover:#869efc;--primary-active:#6d80ce;--primary-soft:#1f253c;--primary-ink:#bbcbff;--on-primary:#0e111d;--connected:#59b387;--connected-soft:#092316;--success:#61b380;--success-soft:#0b2214;--warning:#dea052;--warning-soft:#33230f;--danger:#e66e68;--danger-soft:#3a1d1b;--info:#5b9ddf;--info-soft:#172839;--focus:#869efc;--overlay:#020306d9;--shadow-float:0 8px 8px #00000173;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (color:lab(0% 0 0)){[data-theme=dark]{--bg:lab(3.0064% .173777 -2.66607);--surface:lab(5.18501% .366546 -5.17511);--surface-strong:lab(9.9447% .73003 -8.08013);--surface-selected:lab(12.1423% 1.66007 -12.7157);--sidebar:lab(3.99734% .258483 -3.78713);--ink:lab(94.1679% -.518382 -3.73511);--ink-soft:lab(74.4297% -.738204 -5.58115);--muted:lab(62.8289% -.725299 -5.57443);--muted-strong:lab(69.7894% -.733435 -5.57867);--border:lab(9.42785% -.533104 -7.25476);--border-strong:lab(18.7165% -.689328 -7.3094);--primary:lab(61.6631% 9.59471 -46.7829);--primary-hover:lab(66.1998% 10.4801 -50.3558);--primary-active:lab(54.7907% 8.94833 -43.1681);--primary-soft:lab(14.9216% 2.96852 -16.262);--primary-ink:lab(81.9116% 4.22707 -32.9611);--on-primary:lab(5.11267% 1.07814 -8.32599);--connected:lab(66.6612% -36.2392 14.2866);--connected-soft:lab(11.21% -13.2292 5.20937);--success:lab(66.6446% -34.7559 17.8796);--success-soft:lab(11.2033% -12.6778 6.5026);--warning:lab(70.814% 18.3009 49.1648);--warning-soft:lab(15.2642% 5.99425 15.8185);--danger:lab(61.4124% 46.995 26.8797);--danger-soft:lab(14.8866% 14.0239 7.83988);--info:lab(62.4538% -6.75914 -40.7812);--info-soft:lab(15.1976% -2.64083 -13.6714);--focus:lab(66.1998% 10.4801 -50.3558);--overlay:lab(.892191% -.0545979 -.999779/.85);--shadow-float:0 8px 8px lab(.107674% .0383779 -.286841/.45)}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--bg);min-width:320px;min-height:100dvh;color:var(--ink);font-family:var(--font-ui);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.45}button,input,select,textarea{color:inherit;font:inherit}button,a,select,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);margin:0}p,dl,dd,ul{margin:0}ul{padding:0;list-style:none}code{font-family:var(--font-mono);font-size:.82em}::selection{background:var(--primary-soft);color:var(--primary-ink)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:var(--z-tooltip);border-radius:var(--radius-control);background:var(--primary);color:var(--on-primary);padding:10px 14px;font-weight:650;transition:transform .18s cubic-bezier(.22,1,.36,1);position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--sidebar);flex-direction:column;height:100dvh;padding:20px 14px 16px;display:flex;position:sticky;top:0}.brand{border-radius:var(--radius-control);align-items:center;gap:10px;width:fit-content;min-height:40px;padding:2px 4px;display:inline-flex}.brand-mark{background:var(--primary);width:34px;height:34px;color:var(--on-primary);border-radius:10px;place-items:center;display:grid}.brand>span:last-child{align-items:baseline;gap:4px;display:flex}.brand strong{font-family:var(--font-display);letter-spacing:-.01em;font-size:19px;font-weight:700}.brand small{color:var(--muted-strong);letter-spacing:.08em;font-size:10px;font-weight:720}.workspace-switcher{border:1px solid var(--border);background:var(--bg);border-radius:11px;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:9px;min-height:55px;margin:24px 2px 20px;padding:9px;display:grid}.workspace-monogram,.operator-avatar{background:var(--surface-strong);color:var(--ink-soft);border-radius:8px;place-items:center;font-size:11px;font-weight:750;display:grid}.workspace-monogram{width:31px;height:31px}.workspace-switcher>span:last-child,.operator>span:last-child{flex-direction:column;min-width:0;display:flex}.workspace-switcher small,.operator small{color:var(--muted);font-size:11px}.workspace-switcher strong,.operator strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.primary-nav{flex-direction:column;gap:3px;display:flex}.nav-group-label{color:var(--muted);margin:5px 10px 7px;font-size:11px;font-weight:650}.nav-link{border-radius:var(--radius-control);min-height:42px;color:var(--ink-soft);align-items:center;gap:11px;padding:8px 11px;font-size:13px;font-weight:570;transition:background-color .16s,color .16s,transform .16s;display:flex}.nav-link:hover{background:var(--surface-strong);color:var(--ink)}.nav-link:active{transform:translateY(1px)}.nav-link-current{background:var(--primary-soft);color:var(--primary-ink);font-weight:670}.sidebar-bottom{flex-direction:column;gap:3px;margin-top:auto;display:flex}.sidebar-evidence{border:1px solid var(--border);background:var(--bg);color:var(--success);border-radius:10px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;margin:0 2px 5px;padding:10px;display:grid}.sidebar-evidence>svg{justify-self:center}.sidebar-evidence>span{flex-direction:column;min-width:0;display:flex}.sidebar-evidence strong{color:var(--ink-soft);font-size:11px;font-weight:680}.sidebar-evidence small{color:var(--muted);font-size:9.5px}.operator{border-top:1px solid var(--border);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:13px;padding:12px 9px 2px;display:grid}.operator-logout{width:32px;min-width:32px;height:32px}.login-page{background:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px), var(--bg);background-size:40px 40px;place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--surface);width:min(100%,430px);box-shadow:var(--shadow-float);padding:36px}.login-brand{background:var(--primary);width:44px;height:44px;color:var(--on-primary);font-family:var(--font-display);border-radius:12px;place-items:center;margin-bottom:22px;font-size:21px;font-weight:750;display:grid}.login-card h1{font-family:var(--font-display);font-size:30px}.login-card>p:not(.page-context){color:var(--muted-strong);margin-top:8px}.login-form{gap:18px;margin-top:26px;display:grid}.login-form label{gap:7px;font-size:12px;font-weight:680;display:grid}.login-form input{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);width:100%;min-height:44px;color:var(--ink);padding:0 12px}.login-form input:focus{border-color:var(--primary);outline:3px solid color-mix(in oklch, var(--primary) 18%, transparent)}.login-form .button{min-height:44px;margin-top:4px}.login-error{border:1px solid color-mix(in oklch, var(--danger) 40%, var(--border));border-radius:var(--radius-control);background:var(--danger-soft);color:var(--danger);margin-top:18px;padding:11px 12px;font-size:12px}.operator-avatar{background:var(--ink);width:34px;height:34px;color:var(--bg)}.mobile-shell-header,.mobile-nav{display:none}.app-main{min-width:0}.dashboard{width:100%;max-width:1820px;margin:0 auto;padding:28px clamp(18px,2.6vw,42px) 24px}.page-header{justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:18px;display:flex}.page-context{color:var(--primary-ink);margin-bottom:4px;font-size:12px;font-weight:700}.page-header h1{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;font-size:28px;font-weight:600;line-height:1.18}.page-description{max-width:64ch;color:var(--muted-strong);text-wrap:pretty;margin-top:6px;font-size:14px}.page-actions,.map-toolbar-actions,.import-actions,.import-editor-heading>div{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.button,.icon-button,.text-button{cursor:pointer;border:0}.button{border-radius:var(--radius-control);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 13px;font-size:13px;font-weight:650;line-height:1;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.button:active:not(:disabled),.icon-button:active:not(:disabled),.text-button:active:not(:disabled){transform:translateY(1px)}.button-primary{background:var(--primary);color:var(--on-primary)}.button-primary:hover:not(:disabled){background:var(--primary-hover)}.button-primary:active:not(:disabled){background:var(--primary-active)}.button-secondary{border:1px solid var(--border-strong);background:var(--bg);color:var(--ink-soft)}.button-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary-ink)}.button-compact{min-height:34px;padding:6px 10px;font-size:12px}.icon-button{border-radius:var(--radius-control);width:38px;height:38px;color:var(--muted-strong);background:0 0;flex:none;place-items:center;transition:background-color .16s,color .16s,transform .16s;display:grid;position:relative}.icon-button:hover:not(:disabled){background:var(--surface-strong);color:var(--ink)}.notification-count{border:2px solid var(--bg);background:var(--danger);min-width:17px;height:17px;color:var(--on-primary);border-radius:999px;place-items:center;font-size:9px;font-weight:750;display:grid;position:absolute;top:2px;right:2px}.stream-state,.map-state,.security-note{min-height:34px;color:var(--muted-strong);align-items:center;gap:7px;font-size:12px;font-weight:620;display:inline-flex}.stream-state-live{color:var(--success)}.stream-state-reconnecting{color:var(--warning)}.validation-rail{border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--border);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1px;margin-top:18px;display:grid;overflow:hidden}.validation-item{background:var(--bg);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:68px;padding:11px 14px;display:grid}.validation-item:last-child:nth-child(3n+2){grid-column:span 2}.source-warning{border:1px solid color-mix(in oklch, var(--warning) 45%, var(--border));border-radius:var(--radius-control);background:var(--warning-soft);min-height:42px;color:var(--ink-soft);align-items:center;gap:9px;padding:9px 12px;font-size:12px;display:flex}.source-warning>svg{color:var(--warning);flex:none}.source-warning strong{color:var(--ink);font-weight:700}.validation-item+.validation-item{border-left:0}.validation-icon{border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.validation-item-verified .validation-icon{background:var(--success-soft);color:var(--success)}.validation-item-pending .validation-icon{background:var(--warning-soft);color:var(--warning)}.validation-item-loading .validation-icon{background:var(--surface-strong);color:var(--muted-strong)}.validation-item>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.validation-item strong{font-size:12px;font-weight:690}.validation-item small{color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10.5px;overflow:hidden}.validation-state{color:var(--muted-strong);letter-spacing:.02em;white-space:nowrap;border:1px solid;border-radius:999px;padding:5px 8px;font-size:9.5px;font-weight:700}.validation-item-verified .validation-state{color:var(--success)}.validation-item-pending .validation-state{color:var(--warning)}.validation-item-loading .validation-state{color:var(--muted-strong)}.summary-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:minmax(210px,.86fr) minmax(0,2.6fr);margin-top:16px;display:grid}.summary-strip:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.summary-strip dl{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.summary-primary{border-right:1px solid var(--border);grid-template-columns:auto 1fr;align-content:center;min-height:82px;padding:13px 22px 13px 2px;display:grid}.summary-primary>span:first-child{color:var(--muted-strong);grid-column:1/-1;font-size:11px;font-weight:650}.summary-primary>strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:38px;font-weight:600;line-height:1.1}.summary-primary>small{color:var(--muted);place-self:end;padding-bottom:4px;font-size:10px}.fleet-progress{background:var(--surface-strong);border-radius:999px;grid-column:1/-1;height:4px;margin-top:8px;overflow:hidden}.fleet-progress>span{border-radius:inherit;background:var(--success);height:100%;transition:width .22s;display:block}.summary-strip dl>div{border-right:1px solid var(--border);grid-template-columns:auto 1fr;align-content:center;gap:0 10px;min-height:82px;padding:12px 18px;display:grid}.summary-strip dl>div:last-child{border-right:0}.attention-rail{border:1px solid color-mix(in oklch, var(--warning) 28%, var(--border));background:var(--warning-soft);color:var(--warning);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin-top:12px;padding:10px 13px;display:grid}.attention-rail>div{align-items:baseline;gap:8px;min-width:0;display:flex}.attention-rail strong{color:var(--ink);font-size:11.5px}.attention-rail span{color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.attention-rail button{min-height:30px;color:var(--warning);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:4px 7px;font-size:10.5px;font-weight:700;transition:background-color .16s,transform .16s}.attention-rail button:hover{background:color-mix(in oklch, var(--warning) 10%, transparent)}.attention-rail button:active{transform:translateY(1px)}.summary-strip dt{color:var(--muted-strong);grid-column:2;align-self:end;font-size:12px;font-weight:620}.summary-strip .summary-value{font-family:var(--font-mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;grid-row:1/span 2;align-self:center;font-size:23px;font-weight:650}.summary-strip .summary-caption{color:var(--muted);grid-column:2;font-size:11px}.summary-strip .summary-attention .summary-value,.summary-strip .summary-attention dt{color:var(--warning)}.operations-workspace{border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--bg);grid-template-columns:minmax(310px,.74fr) minmax(390px,1.28fr) minmax(280px,.64fr);grid-template-areas:"vehicles map detail";min-height:660px;margin-top:16px;display:grid;overflow:hidden}.vehicle-pane{border-right:1px solid var(--border);flex-direction:column;grid-area:vehicles;min-width:0;max-height:720px;display:flex}.pane-heading,.map-toolbar,.detail-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;min-height:66px;padding:13px 16px;display:flex}.pane-heading h2,.map-toolbar h2,.support-panel h2,.vehicle-detail h2{letter-spacing:-.018em;font-size:16px;font-weight:680;line-height:1.25}.pane-heading span,.map-kicker,.detail-company{color:var(--muted);font-size:11px}.vehicle-filters{border-bottom:1px solid var(--border);background:var(--surface);flex-direction:column;gap:9px;padding:12px 13px;display:flex}.search-field,.filter-row label{color:var(--muted-strong);align-items:center;display:flex}.search-field{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--bg);gap:8px;min-height:39px;padding:0 10px}.search-field:focus-within,.filter-row label:focus-within{border-color:var(--primary);outline:2px solid var(--primary-soft)}.search-field input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:13px}.search-field kbd{border:1px solid var(--border);background:var(--surface);width:22px;height:22px;color:var(--muted);font-family:var(--font-mono);border-radius:6px;flex:none;place-items:center;font-size:10px;line-height:1;display:grid}.search-field-label{color:var(--muted-strong);font-size:12px;font-weight:650}.filter-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.filter-row label{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg);gap:5px;min-width:0;min-height:35px;padding-left:9px;position:relative}.filter-row select{min-width:0;height:33px;color:var(--ink-soft);background:0 0;border:0;outline:0;flex:1;font-size:11px;font-weight:580}.vehicle-list{overscroll-behavior:contain;flex:1;min-height:320px;overflow-y:auto}.vehicle-list-virtual{width:100%;min-height:0;margin:0;padding:0;list-style:none;position:relative}.vehicle-list-virtual>li{border-bottom:1px solid var(--border);contain:layout paint style;width:100%;position:absolute;inset:0 0 auto}.vehicle-list li+li{border-top:1px solid var(--border)}.vehicle-list .vehicle-list-virtual>li+li{border-top:0}.vehicle-row{background:var(--bg);text-align:left;cursor:pointer;border:0;flex-direction:column;gap:7px;width:100%;min-height:100px;padding:13px 36px 13px 15px;transition:background-color .16s;display:flex;position:relative}.vehicle-row:hover{background:var(--surface)}.vehicle-row-selected{background:var(--surface-selected)}.vehicle-row-selected:hover{background:var(--primary-soft)}.vehicle-row-topline,.vehicle-row-location,.vehicle-row-meta{align-items:center;display:flex}.vehicle-row-topline{justify-content:space-between;gap:8px}.vehicle-row-topline>strong{font-family:var(--font-mono);letter-spacing:.02em;font-size:14px;font-weight:700}.vehicle-row-location{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;gap:5px;font-size:12px;overflow:hidden}.vehicle-row-location svg{color:var(--muted);flex:none}.vehicle-row-meta{color:var(--muted);font-variant-numeric:tabular-nums;gap:7px;font-size:10.5px}.vehicle-row-meta span+span:before{content:"";background:var(--border-strong);vertical-align:-1px;width:1px;height:9px;margin-right:7px;display:inline-block}.vehicle-row-caret{color:var(--border-strong);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.vehicle-row-selected .vehicle-row-caret{color:var(--primary)}.status-badge,.connector-health,.import-disposition{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;width:fit-content;font-size:10.5px;font-weight:680;line-height:1;display:inline-flex}.status-badge{min-height:25px;padding:5px 8px}.status-live{background:var(--success-soft);color:var(--success)}.status-delayed{background:var(--warning-soft);color:var(--warning)}.status-no_signal{background:var(--surface-strong);color:var(--muted-strong)}.status-error{background:var(--danger-soft);color:var(--danger)}.inline-state,.vehicle-detail-empty,.panel-empty{color:var(--muted-strong);text-align:center;justify-content:center;align-items:center;display:flex}.inline-state{flex-direction:column;min-height:340px;padding:32px 24px}.inline-state svg,.vehicle-detail-empty>svg,.panel-empty>svg{color:var(--primary)}.inline-state h3,.vehicle-detail-empty h2{color:var(--ink);margin-top:11px;font-size:15px;font-weight:680}.inline-state p,.vehicle-detail-empty p{text-wrap:pretty;max-width:34ch;margin-top:5px;font-size:12px}.inline-state .button{margin-top:15px}.inline-state-error svg{color:var(--danger)}.vehicle-list-skeleton{padding:0 14px}.vehicle-row-skeleton{border-bottom:1px solid var(--border);align-content:center;gap:9px;min-height:99px;display:grid}.vehicle-row-skeleton .skeleton-block:first-child{width:44%;height:15px}.vehicle-row-skeleton .skeleton-block:nth-child(2){width:78%;height:11px}.vehicle-row-skeleton .skeleton-block:nth-child(3){width:58%;height:9px}.map-region{background:var(--surface);flex-direction:column;grid-area:map;min-width:0;min-height:660px;display:flex}.map-toolbar{background:var(--bg)}.basemap-switch{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);align-items:center;min-height:34px;padding:3px;display:inline-flex}.basemap-option{min-height:26px;color:var(--muted-strong);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:10.5px;font-weight:650;transition:background-color .16s,color .16s}.basemap-option:hover:not(.basemap-option-active){color:var(--ink)}.basemap-option-active{background:var(--bg);color:var(--primary-ink);box-shadow:0 1px 3px #13151f1f;box-shadow:0 1px 3px lab(7.07104% 1.25895 -7.23341/.12)}.map-kicker{margin-bottom:1px;display:block}.map-state{min-height:28px}.map-state:before{content:"";background:var(--muted);border-radius:999px;width:7px;height:7px}.map-state-ready:before{background:var(--success)}.map-state-error:before{background:var(--danger)}.map-canvas-wrap{background:var(--surface-strong);flex:1;min-height:590px;position:relative;overflow:hidden}.map-canvas{position:absolute;inset:0}.map-canvas-inactive{visibility:hidden;pointer-events:none}.map-loading,.map-fallback,.map-empty{z-index:2;background:var(--surface);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.map-loading{color:var(--muted-strong);flex-direction:column;gap:14px;font-size:12px}.map-loading-lines{gap:6px;width:58px;display:grid;transform:rotate(-7deg)}.map-loading-lines span{background:var(--primary);border-radius:999px;height:3px;animation:1.2s ease-in-out infinite alternate map-line-pulse}.map-loading-lines span:nth-child(2){width:72%;animation-delay:.14s}.map-loading-lines span:nth-child(3){width:88%;animation-delay:.28s}.map-fallback{grid-template-columns:auto minmax(220px,400px);align-content:center;gap:15px 13px;padding:30px;display:grid}.map-fallback>svg{color:var(--danger)}.map-fallback h3{font-size:16px;font-weight:680}.map-fallback p{max-width:54ch;color:var(--muted-strong);text-wrap:pretty;margin-top:6px;font-size:12px}.map-fallback .button{margin-top:14px}.map-fallback-locations{border:1px solid var(--border);background:var(--border);border-radius:10px;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:10px;display:grid;overflow:hidden}.map-fallback-locations button{background:var(--bg);min-height:54px;color:var(--ink-soft);text-align:left;cursor:pointer;border:0;align-items:center;gap:9px;padding:9px 11px;display:flex}.map-fallback-locations button:hover{background:var(--surface-selected)}.map-fallback-locations svg{color:var(--primary);flex:none}.map-fallback-locations span{flex-direction:column;min-width:0;display:flex}.map-fallback-locations strong{font-family:var(--font-mono);font-size:11px}.map-fallback-locations small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.map-empty{color:var(--muted-strong);flex-direction:column;gap:9px;font-size:12px}.map-empty svg{color:var(--primary)}.maplibregl-ctrl-group{overflow:hidden;border-radius:var(--radius-control)!important;box-shadow:var(--shadow-float)!important}.maplibregl-ctrl button{width:36px!important;height:36px!important}.vehicle-detail{border-left:1px solid var(--border);background:var(--bg);grid-area:detail;min-width:0;max-height:720px;overflow-y:auto}.vehicle-detail-empty{flex-direction:column;min-height:660px;padding:32px 24px}.detail-heading{z-index:1;background:var(--bg);position:sticky;top:0}.detail-company{text-overflow:ellipsis;white-space:nowrap;max-width:24ch;display:block;overflow:hidden}.detail-heading h2{font-family:var(--font-mono);letter-spacing:.02em;margin-top:2px;font-size:17px}.detail-alert{background:var(--danger-soft);color:var(--danger);border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:9px;margin:14px 14px 0;padding:11px;display:grid}.detail-alert strong{font-family:var(--font-mono);font-size:10px}.detail-alert p{color:var(--ink-soft);margin-top:3px;font-size:11px}.speed-readout{border-bottom:1px solid var(--border);grid-template-columns:auto auto 1fr;align-items:center;gap:9px;padding:20px 16px 17px;display:grid}.speed-readout>svg{color:var(--primary)}.speed-readout>span:nth-child(2){align-items:baseline;gap:4px;display:flex}.speed-readout strong{font-family:var(--font-mono);letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:29px;font-weight:650;line-height:1}.speed-readout small{color:var(--muted);font-size:10px}.speed-context{color:var(--muted-strong);justify-self:end;font-size:11px;font-weight:620}.telemetry-details{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.telemetry-details>div{padding:13px 15px}.telemetry-details>div:nth-child(odd){border-right:1px solid var(--border)}.telemetry-details>div:nth-child(-n+4){border-bottom:1px solid var(--border)}.telemetry-details dt{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:flex}.telemetry-details dd{color:var(--ink-soft);margin-top:5px;font-size:12px;font-weight:650}.detail-section{border-bottom:1px solid var(--border);padding:16px}.detail-section h3{color:var(--muted-strong);margin-bottom:10px;font-size:11px;font-weight:680}.detail-location{color:var(--ink-soft);align-items:flex-start;gap:6px;font-size:12px;display:flex}.detail-location svg{color:var(--primary);flex:none;margin-top:1px}.detail-section>code{color:var(--muted);margin-top:8px;display:inline-block}.provenance-list{gap:8px;display:grid}.provenance-list>div{grid-template-columns:minmax(64px,.7fr) minmax(0,1.3fr);gap:9px;display:grid}.provenance-list dt{color:var(--muted);font-size:10px}.provenance-list dd{color:var(--ink-soft);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:590;overflow:hidden}.provider-signal-list{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--border);gap:1px;display:grid;overflow:hidden}.provider-signal-list>div{background:var(--surface);grid-template-columns:minmax(80px,1fr) minmax(0,1.2fr);gap:10px;padding:8px 9px;display:grid}.provider-signal-list dt{color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.provider-signal-list dd{overflow-wrap:anywhere;color:var(--ink-soft);font-family:var(--font-mono);text-align:right;font-size:10px}.freshness-note{background:var(--surface);color:var(--muted-strong);border-radius:10px;align-items:flex-start;gap:7px;margin:14px;padding:10px;font-size:10.5px;display:flex}.freshness-note svg{color:var(--success);flex:none}.freshness-note:not(.freshness-note-live) svg{color:var(--warning)}.below-workspace{content-visibility:auto;contain-intrinsic-size:auto 920px;gap:18px;min-width:0;margin-top:18px;display:grid}.support-panel{border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--bg);min-width:0;overflow:hidden}.support-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:13px 16px;display:flex}.support-panel-title{align-items:center;gap:11px;display:flex}.section-icon{background:var(--primary-soft);width:34px;height:34px;color:var(--primary-ink);border-radius:9px;flex:none;place-items:center;display:grid}.support-panel-title p{color:var(--muted-strong);margin-top:3px;font-size:11px}.connector-table-wrap,.import-preview-wrap{width:100%;min-width:0;max-width:100%;overflow-x:auto}.connector-table-wrap:focus-visible,.import-preview-wrap:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.connector-table,.import-preview{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.connector-table th,.connector-table td,.import-preview th,.import-preview td{padding:12px 14px}.connector-table thead th,.import-preview thead th{background:var(--surface);color:var(--muted-strong);white-space:nowrap;font-size:10.5px;font-weight:650}.connector-table tbody tr:not(.connector-detail-row)+tr:not(.connector-detail-row),.import-preview tbody tr+tr{border-top:1px solid var(--border)}.connector-table tbody th{min-width:150px}.connector-table tbody th,.connector-table tbody td{vertical-align:middle}.connector-table tbody th,.connector-table td:nth-child(3){display:table-cell}.connector-table tbody th code,.connector-table td small{color:var(--muted);margin-top:3px;font-size:9.5px;font-weight:500;display:block}.provider-name{color:var(--ink);font-size:12px;font-weight:680;display:block}.connector-health{min-height:27px;padding:6px 8px}.connector-health-healthy{background:var(--success-soft);color:var(--success)}.connector-health-canary,.connector-health-degraded{background:var(--warning-soft);color:var(--warning)}.connector-health-configuration_required{background:var(--info-soft);color:var(--info)}.connector-health-down{background:var(--danger-soft);color:var(--danger)}.connector-time{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.connector-action-cell{width:50px}.connector-detail-row td{background:var(--surface);padding:0}.connector-diagnostic{border-top:1px solid var(--border);grid-template-columns:1.25fr repeat(4,minmax(0,.8fr));gap:16px;padding:15px 16px;display:grid}.authorized-canary-evidence{border:1px solid color-mix(in oklch, var(--success) 24%, var(--border));background:var(--success-soft);color:var(--success);border-radius:9px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:10px 11px;gap:10px!important;display:grid!important}.authorized-canary-evidence>span{flex-direction:column;min-width:0;display:flex}.authorized-canary-evidence strong{color:var(--ink);font-size:11px}.authorized-canary-evidence small{color:var(--muted-strong);font-size:10px}.authorized-canary-evidence em{color:var(--success);white-space:nowrap;font-size:9.5px;font-style:normal;font-weight:700}.connector-diagnostic>div{flex-direction:column;gap:3px;min-width:0;display:flex}.connector-diagnostic span{color:var(--muted);font-size:10px}.connector-diagnostic strong{font-size:11px;font-weight:650}.connector-diagnostic p{max-width:75ch;color:var(--muted-strong);grid-column:1/-1;font-size:11px}.canary-observability{border-top:1px solid var(--border);grid-column:1/-1;padding-top:13px}.canary-observability-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.canary-observability-heading>div{flex-direction:column;gap:3px;display:flex}.canary-observability-heading small{color:var(--muted);font-size:10px}.canary-metrics{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px;display:grid}.canary-metrics>div{padding:9px 12px 9px 0}.canary-metrics>div+div{border-left:1px solid var(--border);padding-left:12px}.canary-metrics dt{color:var(--muted);font-size:9.5px}.canary-metrics dd{font-family:var(--font-mono);margin-top:3px;font-size:12px;font-weight:680}.canary-timeline{align-items:center;gap:5px;min-height:22px;margin-top:9px;list-style:none;display:flex}.canary-timeline li{place-items:center;width:24px;height:14px;display:grid}.canary-timeline li>span:first-child{background:var(--border-strong);border-radius:999px;width:100%;height:5px}.canary-timeline .canary-timeline-ready>span:first-child{background:var(--success)}.canary-timeline .canary-timeline-degraded>span:first-child{background:var(--warning)}.canary-timeline .canary-timeline-drifted>span:first-child,.canary-timeline .canary-timeline-requires_action>span:first-child,.canary-timeline .canary-timeline-rejected>span:first-child,.canary-timeline .canary-timeline-probe_failed>span:first-child{background:var(--danger)}.connector-loading{background:var(--border);gap:1px;display:grid}.connector-loading .skeleton-block{border-radius:0;height:64px}.panel-error,.panel-empty{align-items:center;gap:11px;min-height:90px;padding:16px;display:flex}.panel-error{color:var(--danger)}.panel-error>div,.panel-empty>div{flex:1}.panel-error strong,.panel-empty strong{color:var(--ink);font-size:12px}.panel-error p,.panel-empty p{color:var(--muted-strong);margin-top:3px;font-size:11px}.security-note{color:var(--success);white-space:nowrap}.import-form{padding:16px}.import-editor-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.import-editor-heading>label{color:var(--ink-soft);align-items:center;gap:6px;font-size:12px;font-weight:670;display:inline-flex}.text-button{min-height:34px;color:var(--primary-ink);background:0 0;border-radius:7px;padding:5px 7px;font-size:11px;font-weight:650}.text-button:hover{background:var(--primary-soft)}.field-help{max-width:78ch;color:var(--muted-strong);margin-top:5px;font-size:11px}.import-form textarea{resize:vertical;border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:220px;color:var(--ink);font-family:var(--font-mono);tab-size:2;border-radius:10px;outline:0;margin-top:11px;padding:13px;font-size:12px;line-height:1.55}.import-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.import-form textarea[aria-invalid=true]{border-color:var(--danger)}.import-actions{justify-content:space-between;margin-top:10px}.import-actions>span{color:var(--muted);font-family:var(--font-mono);font-size:10px}.import-feedback:not(:empty){border-top:1px solid var(--border)}.import-message{align-items:flex-start;gap:9px;padding:13px 16px;display:flex}.import-message svg{flex:none}.import-message strong{font-size:12px}.import-message p{color:var(--muted-strong);margin-top:2px;font-size:11px}.import-message-error{background:var(--danger-soft);color:var(--danger)}.import-message-success{background:var(--success-soft);color:var(--success)}.import-summary{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.import-summary>div{border-right:1px solid var(--border);padding:12px 16px}.import-summary>div:last-child{border-right:0}.import-summary dt{color:var(--muted);font-size:10px}.import-summary dd{font-family:var(--font-mono);margin-top:3px;font-size:17px;font-weight:650}.import-preview th,.import-preview td{padding-top:10px;padding-bottom:10px}.import-preview tbody th{font-family:var(--font-mono);font-size:11px}.import-disposition{min-height:25px;padding:5px 8px}.import-disposition-accepted{background:var(--success-soft);color:var(--success)}.import-disposition-quarantined{background:var(--warning-soft);color:var(--warning)}.dashboard-footer{color:var(--muted);font-family:var(--font-mono);justify-content:space-between;gap:18px;padding:18px 2px 0;font-size:9.5px;display:flex}.skeleton-block{background:var(--surface-strong);border-radius:6px;animation:.9s ease-in-out infinite alternate skeleton-pulse;display:block}.page-loading{padding:30px clamp(18px,2.6vw,42px)}.loading-heading{width:260px;height:34px}.summary-skeleton{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(5,1fr);gap:18px;margin-top:32px;padding:16px 0;display:grid}.summary-skeleton .skeleton-block{height:48px}.workspace-skeleton{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--border);grid-template-columns:.75fr 1.3fr .65fr;gap:1px;height:620px;margin-top:24px;display:grid;overflow:hidden}.workspace-skeleton .skeleton-block{border-radius:0;height:100%}.fatal-state{background:var(--surface);place-items:center;min-height:100dvh;padding:24px;display:grid}.fatal-state-content{border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--bg);max-width:460px;padding:30px}.fatal-state-content>svg{color:var(--danger)}.fatal-state-content h1{letter-spacing:-.025em;margin-top:14px;font-size:22px}.fatal-state-content p{max-width:55ch;color:var(--muted-strong);margin-top:8px}.fatal-state-code{color:var(--primary-ink);font-family:var(--font-mono);margin-top:14px;font-size:12px;font-weight:700;display:block}.fatal-state-content .button{margin-top:18px}@keyframes skeleton-pulse{0%{opacity:.55}to{opacity:1}}@keyframes map-line-pulse{0%{opacity:.35;transform:scaleX(.82)}to{opacity:1;transform:scaleX(1)}}@media (max-width:1320px){.operations-workspace{grid-template-columns:minmax(310px,.72fr) minmax(420px,1.28fr);grid-template-areas:"vehicles map""detail detail"}.vehicle-detail{border-top:1px solid var(--border);border-left:0;grid-column:1/-1;grid-template-columns:minmax(250px,.7fr) minmax(320px,1.3fr) minmax(260px,.8fr);max-height:none;display:grid;overflow:visible}.vehicle-detail-empty{grid-column:1/-1;min-height:180px}.detail-heading{border-right:1px solid var(--border);border-bottom:0;grid-column:1;position:static}.detail-alert{grid-column:1/-1}.speed-readout{border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:0;grid-column:1}.telemetry-details{border-right:1px solid var(--border);border-bottom:0;grid-area:1/2/span 2}.detail-section{border-bottom:0}.detail-section:first-of-type{grid-area:1/3}.detail-section:nth-of-type(2){border-top:1px solid var(--border);grid-area:2/3}.provider-signals-section{border-top:1px solid var(--border);grid-column:1/-1}.freshness-note{grid-column:1/-1}}.alert-button{position:relative}.alert-button-count{background:var(--danger);min-width:18px;height:18px;color:var(--on-primary);font-family:var(--font-mono);border-radius:999px;place-items:center;padding:0 4px;font-size:9px;font-weight:750;display:grid}.geofence-console{border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--bg);content-visibility:auto;contain-intrinsic-size:auto 480px;min-width:0;margin-top:18px;scroll-margin-top:24px;overflow:hidden}.geofence-console-header{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:14px 16px;display:grid}.geofence-console-header h2{letter-spacing:-.018em;font-size:16px;font-weight:680}.geofence-console-header p{color:var(--muted-strong);margin-top:3px;font-size:11px}.support-panel-icon{background:var(--warning-soft);width:34px;height:34px;color:var(--warning);border-radius:9px;place-items:center;display:grid}.geofence-error{border-bottom:1px solid color-mix(in oklch, var(--danger) 35%, var(--border));background:var(--danger-soft);min-height:42px;color:var(--danger);align-items:center;gap:8px;padding:9px 16px;font-size:11px;font-weight:620;display:flex}.geofence-console-grid{grid-template-columns:minmax(280px,.9fr) minmax(280px,.8fr) minmax(340px,1.15fr);display:grid}.geofence-builder,.geofence-list-region,.alert-feed{min-width:0;padding:16px}.geofence-builder,.geofence-list-region{border-right:1px solid var(--border)}.geofence-builder{flex-direction:column;gap:12px;display:flex}.geofence-section-heading{justify-content:space-between;align-items:baseline;gap:12px;min-height:28px;display:flex}.geofence-section-heading h3{color:var(--ink);font-size:13px;font-weight:680}.geofence-section-heading>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.field-stack{gap:5px;display:grid}.field-stack>span,.geofence-rule-grid legend,.geofence-rule-grid label>span{color:var(--muted-strong);font-size:10px;font-weight:650}.field-stack input,.field-stack select,.geofence-rule-grid select{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);width:100%;min-height:38px;color:var(--ink);outline:0;font-size:12px}.field-stack input{padding:7px 10px}.field-stack select,.geofence-rule-grid select{padding:6px 28px 6px 9px}.field-stack input:focus,.field-stack select:focus,.geofence-rule-grid select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.geofence-inline-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.geofence-rule-grid{border:1px solid var(--border);border-radius:var(--radius-control);grid-template-columns:1fr 1fr;gap:9px 10px;margin:0;padding:11px;display:grid}.geofence-rule-grid legend{padding:0 5px}.geofence-rule-grid>label{min-width:0;color:var(--ink-soft);align-items:center;gap:7px;font-size:11px;font-weight:620;display:flex}.geofence-rule-grid>label:has(select){flex-direction:column;align-items:stretch;gap:4px}.geofence-rule-grid input{width:15px;height:15px;accent-color:var(--primary)}.geofence-builder-help{color:var(--warning);font-size:10.5px}.geofence-builder>.button{align-self:flex-start}.geofence-list,.alert-list{overscroll-behavior:contain;max-height:312px;overflow-y:auto}.geofence-list>li,.alert-row{border-bottom:1px solid var(--border);align-items:center;gap:9px;min-height:55px;display:grid}.geofence-list>li{grid-template-columns:auto minmax(0,1fr) auto}.geofence-list strong,.alert-row strong{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:670;display:block;overflow:hidden}.geofence-list small,.alert-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9.5px;display:block;overflow:hidden}.geofence-shape{background:var(--primary-soft);width:30px;height:30px;color:var(--primary-ink);border-radius:8px;place-items:center;display:grid}.geofence-delete-confirm{color:var(--danger);align-items:center;gap:4px;display:inline-flex}.geofence-empty{min-height:116px;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:8px;font-size:11px;display:flex}.geofence-empty svg{flex:none}.alert-row{grid-template-columns:auto minmax(0,1fr) auto}.alert-kind{border:1px solid var(--border-strong);min-width:68px;color:var(--muted-strong);text-align:center;border-radius:999px;padding:4px 6px;font-size:9px;font-weight:720}.alert-row-warning .alert-kind{border-color:var(--warning);color:var(--warning)}.alert-row-critical .alert-kind{border-color:var(--danger);color:var(--danger)}.alert-acknowledged{color:var(--success);font-size:9.5px;font-weight:670}@media (max-width:1280px){.geofence-console-grid{grid-template-columns:minmax(290px,.8fr) minmax(0,1.2fr)}.geofence-list-region{border-right:0}.alert-feed{border-top:1px solid var(--border);grid-column:1/-1}}@media (max-width:1080px){html{scroll-padding-top:112px}.app-shell{display:block}.sidebar{display:none}.mobile-shell-header{z-index:var(--z-sticky);border-bottom:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;min-height:58px;padding:8px 16px;display:flex;position:sticky;top:0}.brand-mobile{min-height:40px}.mobile-nav{z-index:var(--z-sticky);border-bottom:1px solid var(--border);background:var(--sidebar);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px 8px;display:grid;position:sticky;top:58px;overflow:hidden}.mobile-nav-link{border-radius:var(--radius-control);min-width:0;min-height:44px;color:var(--muted-strong);white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:10.5px;font-weight:610;display:flex}.mobile-nav-link-current{background:var(--primary-soft);color:var(--primary-ink)}}@media (max-width:850px){html,body{max-width:100%;overflow-x:clip}.dashboard{padding-left:16px;padding-right:16px}.page-header{flex-direction:column;gap:16px}.page-actions{width:100%}.validation-rail{grid-template-columns:1fr}.validation-item+.validation-item{border-top:0;border-left:0}.validation-item:last-child:nth-child(3n+2){grid-column:auto}.geofence-console-grid{grid-template-columns:1fr}.geofence-builder,.geofence-list-region{border-right:0;border-bottom:1px solid var(--border)}.alert-feed{border-top:0;grid-column:auto}.summary-strip{grid-template-columns:1fr;overflow:visible}.summary-strip::-webkit-scrollbar{display:none}.summary-strip dl{grid-template-columns:1fr 1fr;min-width:0}.summary-primary{border-right:0;border-bottom:1px solid var(--border);background:var(--bg);padding-left:12px;position:static}.summary-strip dl>div:nth-child(2){border-right:0}.summary-strip dl>div:nth-child(n+3){border-top:1px solid var(--border)}.operations-workspace{grid-template-columns:1fr;grid-template-areas:"map""vehicles""detail"}.vehicle-pane{border-right:0;border-bottom:1px solid var(--border);max-height:590px}.map-region{min-height:500px}.map-canvas-wrap{min-height:430px}.vehicle-detail{grid-column:auto;display:block}.vehicle-detail-empty{min-height:230px}.detail-heading,.speed-readout,.telemetry-details,.detail-section{border-right:0;border-bottom:1px solid var(--border)}.connector-table{min-width:800px}.connector-diagnostic{grid-template-columns:1fr 1fr}.connector-diagnostic>div:first-child{grid-column:1/-1}.authorized-canary-evidence{grid-column:1/-1!important}.canary-metrics{grid-template-columns:1fr 1fr}.canary-metrics>div:nth-child(3){border-left:0;padding-left:0}.canary-metrics>div:nth-child(n+3){border-top:1px solid var(--border)}.import-preview{min-width:660px}}@media (max-width:620px){.dashboard{padding-top:20px}.page-header h1{font-size:23px}.page-actions .stream-state{width:100%}.page-actions .button{flex:1}.summary-strip{scroll-snap-type:x proximity;scrollbar-width:none;margin-right:-16px;display:flex;overflow-x:auto}.summary-strip::-webkit-scrollbar{display:none}.summary-primary{border-right:1px solid var(--border);scroll-snap-align:start;border-bottom:0;flex:0 0 148px;min-width:148px;min-height:78px;padding:10px 14px 10px 2px}.summary-primary>strong{font-size:31px}.summary-primary>small{display:none}.summary-strip dl{min-width:max-content;display:flex}.summary-strip dl>div{scroll-snap-align:start;flex:0 0 126px;width:126px;min-height:78px;padding:10px 12px;border-top:0!important;border-right:1px solid var(--border)!important}.summary-strip .summary-caption{display:none}.geofence-console{border-radius:12px;margin-left:-6px;margin-right:-6px}.geofence-console-header{grid-template-columns:auto minmax(0,1fr)}.geofence-console-header>.button{grid-column:2;justify-self:start}.geofence-inline-fields,.geofence-rule-grid{grid-template-columns:1fr}.alert-row{grid-template-columns:minmax(64px,auto) minmax(0,1fr);padding:8px 0}.alert-row>:last-child{grid-column:2;justify-self:start}.validation-rail{scroll-snap-type:x mandatory;scrollbar-width:none;background:0 0;border:0;border-radius:0;gap:8px;padding-bottom:5px;display:flex;overflow-x:auto}.validation-rail::-webkit-scrollbar{display:none}.validation-item{border:1px solid var(--border-strong);border-radius:var(--radius-panel);scroll-snap-align:start;flex:0 0 min(82vw,320px);grid-template-columns:34px minmax(0,1fr)}.validation-item+.validation-item{border-top:1px solid var(--border-strong)}.validation-state{grid-column:2;width:fit-content}.attention-rail{grid-template-columns:auto minmax(0,1fr)}.attention-rail>div{flex-direction:column;align-items:flex-start;gap:2px}.attention-rail span{white-space:normal}.attention-rail button{grid-column:2;justify-self:start}.operations-workspace,.support-panel{border-radius:12px;margin-left:-6px;margin-right:-6px}.filter-row{grid-template-columns:1fr}.map-toolbar{align-items:flex-start}.map-toolbar-actions{justify-content:flex-end}.map-toolbar-actions .map-state{display:none}.map-toolbar-actions .button{width:38px;min-width:38px;padding:0;font-size:0}.map-fallback{grid-template-columns:auto 1fr;padding:20px}.map-fallback-locations{grid-template-columns:1fr}.support-panel-header{flex-direction:column;align-items:flex-start}.support-panel-header>.button,.support-panel-header>.security-note{margin-left:45px}.connector-table{table-layout:auto;min-width:0}.connector-table th,.connector-table td{padding-left:8px;padding-right:8px}.connector-table thead th:nth-child(n+4):nth-child(-n+6),.connector-table tbody tr:not(.connector-detail-row)>td:nth-child(n+4):nth-child(-n+6){display:none}.connector-table tbody th{min-width:98px}.connector-action-cell{width:42px}.authorized-canary-evidence{grid-template-columns:auto minmax(0,1fr)}.authorized-canary-evidence em{white-space:normal;grid-column:2}.import-editor-heading{flex-direction:column;align-items:flex-start}.import-editor-heading>div{margin-left:-7px}.import-summary{grid-template-columns:1fr 1fr}.import-summary>div:nth-child(2){border-right:0}.import-summary>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.import-actions{flex-direction:column;align-items:flex-end}.import-actions .button{width:100%}.dashboard-footer{flex-direction:column;gap:5px}.summary-skeleton{grid-template-columns:1fr 1fr}.workspace-skeleton{grid-template-columns:1fr}.workspace-skeleton .skeleton-block:nth-child(3){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.marker-vehicle{cursor:pointer;filter:drop-shadow(0 2px 4px #02030959);filter:drop-shadow(0 2px 4px lab(.855703% .456184 -2.27038/.35));background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:0;transition:transform .18s,filter .18s;display:flex}.marker-vehicle:hover{filter:drop-shadow(0 4px 8px #02030980);filter:drop-shadow(0 4px 8px lab(.855703% .456184 -2.27038/.5));z-index:10;transform:scale(1.18)}.marker-vehicle-selected{filter:drop-shadow(0 4px 12px #0203098c);filter:drop-shadow(0 4px 12px lab(.855703% .456184 -2.27038/.55));z-index:20;transform:scale(1.22)}.marker-vehicle-selected:hover{transform:scale(1.28)}.marker-svg{display:block;overflow:visible}.marker-label{background:var(--bg);color:var(--ink);font-family:var(--font-mono);letter-spacing:.03em;white-space:nowrap;border:1px solid var(--border);border-radius:4px;padding:2px 5px;font-size:9px;font-weight:700;line-height:1;display:block}.marker-vehicle-selected .marker-label{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}@keyframes marker-pulse{0%{r:16;opacity:.5}to{r:26;opacity:0}}.marker-pulse-ring{transform-origin:50%;animation:1.8s ease-out infinite marker-pulse}.marker-heading-arc{transition:opacity .2s}.marker-vehicle:hover .marker-heading-arc{opacity:.85}.marker-cluster{cursor:pointer;filter:drop-shadow(0 2px 6px #0203094d);filter:drop-shadow(0 2px 6px lab(.855703% .456184 -2.27038/.3));transition:transform .18s}.marker-cluster:hover{transform:scale(1.15)}.map-kpi-overlay{z-index:5;background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow-float);border-radius:10px;align-items:center;gap:10px;padding:8px 14px;font-size:11px;display:flex;position:absolute;bottom:12px;left:12px}.map-kpi-donut{color:var(--border-strong);place-items:center;display:grid}.map-kpi-item{align-items:center;gap:4px;display:flex}.map-kpi-item strong{font-family:var(--font-mono);letter-spacing:-.02em;font-size:13px;font-weight:700}.map-kpi-item span{color:var(--muted-strong);font-size:10px;font-weight:580}.map-kpi-item svg{color:var(--muted)}.map-kpi-divider{background:var(--border);width:1px;height:20px}.history-panel{border-top:1px solid var(--border)}.history-panel-empty{color:var(--muted-strong);align-items:flex-start;gap:10px;padding:14px 16px;font-size:12px;display:flex}.history-panel-empty svg{color:var(--primary);flex:none;margin-top:1px}.history-panel-empty strong{color:var(--ink);margin-bottom:3px;font-size:12px;font-weight:680;display:block}.history-panel-empty p{text-wrap:pretty;font-size:11px}.history-panel-empty code{font-family:var(--font-mono);background:var(--surface-strong);border-radius:4px;padding:1px 4px;font-size:10px}.history-panel-header{justify-content:space-between;align-items:center;padding:10px 16px 0;display:flex}.history-panel-header h3{font-size:12px;font-weight:680}.history-panel-count{color:var(--muted);font-size:10.5px;font-weight:580}.history-panel-badge{background:var(--info-soft);color:var(--info);letter-spacing:.02em;border-radius:5px;margin:6px 16px 0;padding:3px 7px;font-size:9.5px;font-weight:700;display:inline-flex}.history-list{overscroll-behavior:contain;max-height:220px;padding:6px 0;overflow-y:auto}.history-row{grid-template-columns:20px auto auto 1fr;align-items:center;gap:6px;padding:5px 16px;font-size:11px;transition:background-color .12s;display:grid}.history-row:hover{background:var(--surface)}.history-row-motion{background:var(--surface-strong);width:18px;height:18px;color:var(--muted-strong);border-radius:999px;place-items:center;display:grid}.history-row-time{color:var(--muted-strong);font-family:var(--font-mono);align-items:center;gap:3px;font-size:10px;font-weight:600;display:flex}.history-row-time svg{color:var(--muted)}.history-row-speed{color:var(--ink-soft);font-family:var(--font-mono);align-items:center;gap:3px;font-size:10px;font-weight:600;display:flex}.history-row-speed svg{color:var(--muted)}.history-row-location{color:var(--ink-soft);align-items:center;gap:4px;font-size:10.5px;display:flex;overflow:hidden}.history-row-location svg{color:var(--muted);flex:none}.history-row-location>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.theme-toggle{border-radius:var(--radius-control);margin-bottom:6px;transition:background-color .16s,color .16s}.theme-toggle svg{color:var(--warning)}.mobile-header-actions{align-items:center;gap:6px;display:flex}
