:root{--ink-000:#070a0e;--ink-050:#0b0f15;--ink-100:#10151d;--ink-150:#141a23;--ink-200:#19202b;--ink-300:#212936;--rule:#242c3c;--rule-2:#2f394a;--rule-3:#69727f;--text:#e2e7ef;--text-2:#8e99ab;--text-3:#7f8a9c;--text-4:#626d80;--live:#31d3f2;--live-dim:#2a8ca2;--live-wash:rgba(49,211,242,.1);--live-wash-solid:#0f232b;--live-edge:#2f7d92;--focus:#31d3f2;--ok:#2fb886;--warn:#d29c2b;--bad:#ff7588;--info:#8e99ab;--crit:#ff7588;--sev-low:#2fb886;--sev-medium:#d29c2b;--sev-high:#f08a4b;--sev-critical:#ff7588;--cat-1:#5eb0ff;--cat-2:#c78cff;--cat-3:#ff9f43;--cat-4:#3ecfcf;--cat-5:#f472b6;--cat-6:#d9c04a;--shadow:0 10px 34px -12px rgba(0,0,0,.86), 0 2px 6px -2px rgba(0,0,0,.7);--shadow-s:0 1px 2px rgba(0,0,0,.4);--shadow-rail:0 0 0 1px var(--rule), -18px 0 40px -28px rgba(0,0,0,.9);--r:3px;--r-2:5px;--r-pill:999px;--radius:5px;--radius-s:3px;--radius-xs:2px;--bar:48px;--rail:max(232px, calc(232px * var(--ui-scale)));--insp:max(340px, calc(340px * var(--ui-scale)));--ease:cubic-bezier(.16,1,.3,1);--hit-min:24px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,"Helvetica Neue",Arial,sans-serif;--mono:"SF Mono",ui-monospace,"JetBrains Mono","Cascadia Code",Menlo,Consolas,monospace;--sans:var(--font);--bg:#070a0e;--bg-grad:none;--panel:#0b0f15;--panel2:#10151d;--elev:#141a23;--line:#242c3c;--line2:#69727f;--muted:#8e99ab;--faint:#7f8a9c;--topbar:#0b0f15;--hover:#10151d;--sel:#183440;--sel-fg:#31d3f2;--input:#141a23;--chip:#141a23;--canvas:#070a0e;--dot:#242c3c;--wire:#69727f;--accent:#31d3f2;--accent-d:#2a8ca2;--accent-soft:#0f232b}:root[data-theme=light]{--ink-000:#eceef1;--ink-050:#f6f7f9;--ink-100:#ffffff;--ink-150:#fafbfc;--ink-200:#f0f2f5;--ink-300:#e6e9ee;--rule:#c6ccd6;--rule-2:#bcc3cd;--rule-3:#808690;--text:#141922;--text-2:#5a6474;--text-3:#616977;--text-4:#7b8697;--live:#0b6e87;--live-dim:#095a6f;--live-wash:rgba(11,110,135,.1);--live-wash-solid:#dfe9ee;--live-edge:#4b8ea1;--focus:#0b6e87;--ok:#0d7a55;--warn:#8a6007;--bad:#c22c47;--info:#5a6474;--crit:#c22c47;--sev-low:#0d7a55;--sev-medium:#8a6007;--sev-high:#b04c00;--sev-critical:#c22c47;--cat-1:#1d5fb8;--cat-2:#7a3fc0;--cat-3:#a85a00;--cat-4:#0a7d7d;--cat-5:#b0246f;--cat-6:#6e6100;--shadow:0 10px 30px -14px rgba(16,24,40,.32), 0 2px 6px -2px rgba(16,24,40,.14);--shadow-s:0 1px 2px rgba(16,24,40,.06);--shadow-rail:0 0 0 1px var(--rule), -18px 0 40px -30px rgba(16,24,40,.28);--bg:#eceef1;--bg-grad:none;--panel:#f6f7f9;--panel2:#ffffff;--elev:#fafbfc;--line:#c6ccd6;--line2:#808690;--muted:#5a6474;--faint:#616977;--topbar:#f6f7f9;--hover:#f0f2f5;--sel:#ddebee;--sel-fg:#0b6e87;--input:#ffffff;--chip:#f0f2f5;--canvas:#070a0e;--dot:#c6ccd6;--wire:#808690;--accent:#0b6e87;--accent-d:#095a6f;--accent-soft:#dfe9ee}:root{--ui-scale:1;--type-100:calc(.6875rem * var(--ui-scale));--type-150:calc(.75rem * var(--ui-scale));--type-200:calc(.8125rem * var(--ui-scale));--type-300:calc(.875rem * var(--ui-scale));--type-400:calc(.9375rem * var(--ui-scale));--type-500:calc(1rem * var(--ui-scale));--type-600:calc(1.125rem * var(--ui-scale));--type-700:calc(1.3125rem * var(--ui-scale));--type-800:calc(1.6875rem * var(--ui-scale));--type-900:calc(2.5rem * var(--ui-scale));--type-video-0:max(11px, calc(.6875rem * var(--ui-scale)));--type-video-1:max(11px, calc(.8125rem * var(--ui-scale)));--type-video-2:max(11px, calc(.9375rem * var(--ui-scale)));--type-video-3:max(11px, calc(1.125rem * var(--ui-scale)));--fs-body:var(--type-400);--fs-control:var(--type-300);--fs-control-sm:var(--type-200);--fs-dense:var(--type-200);--fs-nav-section:var(--type-300);--fs-nav-tab:var(--type-200);--fs-meta:var(--type-200);--fs-hint:var(--type-200);--fs-table:var(--type-200);--fs-table-head:var(--type-100);--fs-caption:var(--type-150);--fs-label:var(--type-100);--fs-label-mono:var(--type-100);--fs-micro:var(--type-100);--fs-badge:var(--type-100);--fs-menu-label:var(--type-100);--fs-brand-sub:var(--type-100);--fs-tree-chip:var(--type-100);--fs-status:var(--type-150);--fs-caret:var(--type-100);--fs-list-item:var(--type-300);--fs-input-lg:var(--type-500);--fs-section-title:var(--type-500);--fs-wordmark:var(--type-600);--fs-panel-title:var(--type-700);--fs-title:var(--type-800);--fs-kpi:var(--type-900);--fs-video-name:var(--type-video-1);--fs-video-meta:var(--type-video-0);--fs-video-badge:var(--type-video-0);--fs-video-bbox:var(--type-video-0);--fs-video-cause:var(--type-video-2);--fs-video-hint:var(--type-video-0);--fs-video-count:var(--type-video-3);--track-title:-.02em;--track-tight:-.01em;--track-snug:.01em;--track-mono:.02em;--track-caps-xs:.05em;--track-caps:.08em;--track-caps-l:.11em;--track-brand:.16em;--lh-flush:1;--lh-title:1.12;--lh-heading:1.28;--lh-dense:1.35;--lh-stack:1.15;--lh-body:1.45;--lh-prose:1.55;--fs-bar-dest:var(--type-150);--fs-rail-item:var(--type-200);--fs-panel-head:var(--type-100);--fs-plate-glyph:.95rem}:root[data-ui-scale=laptop]{--ui-scale:.92}:root[data-ui-scale=desk]{--ui-scale:1}:root[data-ui-scale=wall]{--ui-scale:1.15}*{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}::selection{background:var(--live-wash-solid);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--rule-3);border-radius:var(--r-pill);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-4);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--rule-3) transparent}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button{font-family:inherit;cursor:pointer;color:inherit;border:none;background:none}input,select,textarea{font-family:inherit}input,select,textarea,table,.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}a{color:var(--accent);text-decoration:none}.mono{font-family:var(--mono)}.ml{font-family:var(--mono);text-transform:uppercase;letter-spacing:var(--track-caps);font-size:var(--fs-label);font-weight:700;color:var(--muted)}.muted{color:var(--muted)}.faint{color:var(--faint)}.okfg{color:var(--ok)}.warnfg{color:var(--warn)}.xs{font-size:var(--fs-control-sm)}.sm{font-size:var(--fs-dense)}.capnote{display:block;margin:4px 0;font-size:var(--fs-control-sm);color:var(--faint)}.row>.capnote{align-self:center}.capnote.warnfg{color:var(--warn)}.btn{height:32px;padding:0 12px;border-radius:var(--radius-s);border:1px solid var(--line2);background:transparent;color:var(--text);font-size:var(--fs-control);font-weight:500;display:inline-flex;align-items:center;gap:7px;transition:.14s;white-space:nowrap}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn svg{width:15px;height:15px}.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent-d));color:var(--bg);border:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent),0 4px 14px -4px color-mix(in srgb,var(--accent) 60%,transparent)}.btn.primary:hover{filter:brightness(1.08);color:var(--bg)}.btn.danger{background:var(--bad);color:var(--bg);border:none}.btn.danger:hover{filter:brightness(1.06);color:var(--bg)}.btn.sm{height:26px;min-height:var(--hit-min);padding:0 9px;font-size:var(--fs-control-sm)}.btn.icon{width:32px;padding:0;justify-content:center}.btn:disabled{opacity:.4;cursor:not-allowed}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--radius-s);background:var(--chip);border:1px solid var(--line);font-size:var(--fs-caption);color:var(--muted);white-space:nowrap}.chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chip.btn-chip{cursor:pointer}.chip.btn-chip,button.chip{position:relative}.chip.btn-chip:before,button.chip:before{content:"";position:absolute;left:0;right:0;top:calc((22px - var(--hit-min))/2);bottom:calc((22px - var(--hit-min))/2)}.badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:var(--track-caps-xs);font-size:var(--fs-table-head);font-weight:700;padding:2px 7px;border-radius:var(--radius-xs);display:inline-flex;align-items:center;gap:4px}.sev-low{color:var(--sev-low);background:color-mix(in srgb,var(--sev-low) 15%,transparent);border:1px solid color-mix(in srgb,var(--sev-low) 30%,transparent)}.sev-medium{color:var(--sev-medium);background:color-mix(in srgb,var(--sev-medium) 15%,transparent);border:1px solid color-mix(in srgb,var(--sev-medium) 30%,transparent)}.sev-high{color:var(--sev-high);background:color-mix(in srgb,var(--sev-high) 15%,transparent);border:1px solid color-mix(in srgb,var(--sev-high) 30%,transparent)}.sev-critical{color:var(--sev-critical);background:color-mix(in srgb,var(--sev-critical) 15%,transparent);border:1px solid color-mix(in srgb,var(--sev-critical) 30%,transparent)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 20%,transparent)}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 20%,transparent);clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0}.dot.bad{background:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 20%,transparent);transform:rotate(45deg);border-radius:2px}.dot.muted{background:transparent;border:2px solid var(--faint);box-shadow:none}.dot.pulse{animation:pulse 1.8s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card .card,.card .kpi{background:var(--input);border-radius:var(--radius-s);box-shadow:none}.card .tilewrap{border-radius:var(--radius-s)}.pad{padding:var(--density-card-pad,14px)}input.inp,select.inp,textarea.inp{width:100%;background:var(--input);border:1px solid var(--line2);border-radius:var(--radius-s);color:var(--text);padding:7px 10px;font-size:var(--fs-control);outline:none;transition:.14s}input.inp:focus,select.inp:focus,textarea.inp:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.lockicon{color:var(--muted)}#app{display:grid;grid-template-rows:var(--bar) 1fr;grid-template-columns:minmax(0,1fr);height:100vh}.topbar{display:flex;align-items:center;gap:12px;padding:0 12px;background:var(--topbar);border-bottom:1px solid var(--line);position:relative;z-index:30}.body{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;overflow:hidden}.body.has-rail{grid-template-columns:var(--rail) minmax(0,1fr)}.body.has-insp{grid-template-columns:minmax(0,1fr) var(--insp)}.body.has-rail.has-insp{grid-template-columns:var(--rail) minmax(0,1fr) var(--insp)}body.no-insp .body.has-insp,body.no-insp .body.has-rail.has-insp{grid-template-columns:var(--rail) minmax(0,1fr)}body.no-insp .body.has-insp:not(.has-rail){grid-template-columns:minmax(0,1fr)}body.no-insp .inspector{display:none}@media(max-width:1100px){.body.has-insp,.body.has-rail.has-insp{grid-template-columns:var(--rail) minmax(0,1fr)}.body.has-insp:not(.has-rail){grid-template-columns:minmax(0,1fr)}.inspector{display:none}}.destbar{display:flex;align-items:center;gap:2px;margin-left:8px;flex:none}.dest-tab{height:32px;padding:0 12px;border:1px solid transparent;border-radius:var(--r);background:transparent;color:var(--muted);font-size:var(--fs-nav-section);font-weight:600;letter-spacing:var(--track-snug);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;flex:none;transition:.14s}.dest-tab:hover{background:var(--hover);color:var(--text)}.dest-tab.active{background:var(--sel);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.dest-tab:active,.rail-item:active{transition:none;background:var(--sel);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.dest-tab:active,.rail-item:active .rail-item-label{color:var(--accent)}.dest-tab-key{font-family:var(--mono);font-size:var(--fs-label);color:var(--faint)}.dest-tab.active .dest-tab-key{color:var(--accent)}.rail{background:var(--panel);border-right:1px solid var(--line);min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.rail-head{padding:12px 14px 8px;border-bottom:1px solid var(--line);flex:none}.rail-title{font-size:var(--fs-nav-section);font-weight:600;color:var(--text)}.rail-sub{font-size:var(--fs-control-sm);color:var(--faint);margin-top:2px}.rail-list{flex:0 1 auto;min-height:0;overflow-y:auto;padding:6px}.rail-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:7px 9px;border-radius:var(--r);border:1px solid transparent;background:transparent;text-align:left;transition:.14s}.rail-item:hover{background:var(--hover)}.rail-item.active{background:var(--sel);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.rail-item-label{font-size:var(--fs-nav-tab);font-weight:500;color:var(--muted)}.rail-item.active .rail-item-label{color:var(--accent);font-weight:600}.rail-item-sub{font-size:var(--fs-label);color:var(--faint);line-height:var(--lh-dense)}.version-nudge{position:fixed;top:calc(var(--bar) + 8px);left:50%;transform:translate(-50%);z-index:300;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-2);background:var(--panel);border:1px solid var(--accent);box-shadow:var(--shadow);font-size:var(--fs-dense)}.wall-controls{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid var(--line);background:var(--panel);flex-wrap:wrap}.map-pin{line-height:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.map-pin:hover{transform:translate(-50%,-100%) scale(1.12)!important}.map-pin-flag{position:absolute;left:50%;bottom:100%;transform:translate(-50%);display:flex;align-items:center;gap:.3em;padding:.15em .35em;margin-bottom:.15em;border:1px solid var(--faint);border-radius:var(--radius-xs);background:var(--panel);color:var(--faint);font-family:var(--mono);font-size:var(--fs-badge);font-weight:700;line-height:var(--lh-stack);white-space:nowrap}.map-pin-flag[data-place=below]{bottom:auto;top:100%;margin-bottom:0;margin-top:.15em}.map-pin-flag[data-sev=low]{border-color:var(--sev-low);color:var(--sev-low)}.map-pin-flag[data-sev=medium]{border-color:var(--sev-medium);color:var(--sev-medium)}.map-pin-flag[data-sev=high]{border-color:var(--sev-high);color:var(--sev-high)}.map-pin-flag[data-sev=critical]{border-color:var(--sev-critical);color:var(--sev-critical)}.map-sev-meter{width:1.1em;height:.9em;flex:none;overflow:visible}.map-pin-n{color:var(--text)}.map-pin-flag.pulse{animation:pulse 1.8s infinite}.geo-viewswitch{display:flex;gap:4px}.geo-mode{display:flex;flex-direction:column;min-height:0;height:100%;gap:6px;padding:10px 12px}.geo-stage{position:relative;flex:1;min-height:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg)}.geo-stage>.geo-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.geo-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.geo-bubble{background:none;border:none;padding:0;cursor:pointer;line-height:var(--lh-flush);display:flex;flex-direction:column;align-items:center;gap:.2em;font-size:var(--fs-control);font-family:var(--mono)}.geo-bubble:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-xs)}.geo-bubble-disc{--geo-bubble-size:2em;--geo-bubble-hue:var(--faint);width:var(--geo-bubble-size);height:var(--geo-bubble-size);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1em;border-radius:50%;border:2px solid var(--geo-bubble-hue);background:var(--panel);color:var(--geo-bubble-hue);box-shadow:var(--shadow-s);transition:transform .12s ease-out}.geo-bubble:hover .geo-bubble-disc{transform:scale(1.08)}.geo-bubble-disc[data-selected=true]{box-shadow:0 0 0 .25em var(--accent),var(--shadow-s)}.geo-bubble-disc[data-selected=true]+.geo-bubble-label{color:var(--text);border:1px solid var(--accent)}.geo-bubble-disc[data-alarm=unknown]{border-style:dashed}.geo-bubble-disc{position:relative}.geo-bubble-disc[data-ring=dashed]{border-style:dashed}.geo-bubble-disc[data-health]:after{content:"";position:absolute;top:-.2em;right:-.2em;width:.55em;height:.55em;background:var(--geo-bubble-hue);box-shadow:0 0 0 .12em var(--panel)}.geo-bubble-disc[data-health=offline]:after{transform:rotate(45deg);border-radius:0}.geo-bubble-disc[data-health=degraded]:after{clip-path:polygon(50% 0,100% 100%,0 100%)}.geo-bubble-disc[data-health=disabled]:after{background:var(--panel);border:.12em solid var(--geo-bubble-hue);border-radius:50%}.geo-bubble-disc[data-health=ok]:after,.geo-bubble-disc[data-health=unknown]:after{content:none}.geo-bubble-sub{color:var(--bad);font-weight:700;font-size:var(--fs-badge);line-height:var(--lh-flush)}.geo-bubble-n{color:var(--text);font-weight:700;font-size:var(--fs-badge);line-height:var(--lh-flush)}.geo-bubble-label{max-width:9em;padding:.1em .3em;border-radius:var(--radius-xs);background:var(--panel);color:var(--text-2);font-family:var(--font);font-size:var(--fs-label);line-height:var(--lh-flush);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trail-pin{display:flex;align-items:center;justify-content:center;min-width:1.9em;height:1.9em;max-width:6em;padding:0 .35em;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:var(--r-pill);border:2px solid var(--accent);background:var(--accent);color:var(--bg);font-family:var(--mono);font-size:var(--fs-badge);font-weight:700;line-height:var(--lh-flush);box-shadow:var(--shadow-s);transition:transform .12s ease-out}.trail-pin:hover{transform:scale(1.1)}.trail-pin:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.trail-pin.on{box-shadow:0 0 0 3px var(--accent),var(--shadow-s)}.trail-pin.unsurveyed{background:var(--panel);color:var(--accent);border-style:dashed}.geo-legend-swatch{width:.7em;height:.7em;flex:none;border-radius:50%;font-size:var(--fs-body);border:1px solid transparent}.geo-crumbs{position:absolute;top:10px;left:10px;right:10px;z-index:20;display:flex;align-items:center;gap:4px;flex-wrap:nowrap;padding:5px 8px;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-s)}.geo-crumbs-gap{flex:1 1 auto;min-width:.6em}.geo-crumb,.geo-crumb-act{display:flex;align-items:center;gap:5px;padding:3px 7px;background:none;border:1px solid transparent;border-radius:var(--radius-xs);cursor:pointer;color:var(--text-2);font-family:var(--font);font-size:var(--fs-control);line-height:var(--lh-flush);white-space:nowrap;max-width:14em;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;transition:background .12s ease-out,color .12s ease-out}.geo-crumb-act{flex:none;max-width:none}.geo-crumb:hover:not(:disabled),.geo-crumb-act:hover{background:var(--hover);color:var(--text)}.geo-crumb[aria-current]{color:var(--text);font-weight:600;cursor:default}.geo-crumb:disabled{cursor:default}.geo-crumb-sep{flex:none;color:var(--faint)}.geo-crumb-act[aria-pressed=true]{background:var(--hover);border-color:var(--line);color:var(--text)}.geo-crumb-flag{display:flex;align-items:center;gap:5px;min-width:0;max-width:26em;font-size:var(--fs-control);line-height:var(--lh-flush)}.geo-crumb-count{padding:.1em .4em;border-radius:var(--radius-xs);background:var(--wire);color:var(--text);font-family:var(--mono);font-size:var(--fs-badge);line-height:var(--lh-flush)}.geo-attribution{margin:0;color:var(--faint);font-size:var(--fs-caption);line-height:var(--lh-dense);white-space:nowrap}.geo-attribution,.geo-attribution a{color:var(--faint)}.geo-notices{position:absolute;top:calc(20px * var(--ui-scale) + 2.2em);left:calc(10px * var(--ui-scale));z-index:19;display:flex;flex-direction:column;gap:.3em;pointer-events:none;width:min(34em,calc(100% - 20px * var(--ui-scale)))}.geo-notices>*{margin:0;pointer-events:auto;padding:.3em .5em;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-xs);box-shadow:var(--shadow-s)}.geo-panel{position:absolute;top:calc(20px * var(--ui-scale) + 2.2em);right:calc(10px * var(--ui-scale));z-index:21;width:min(20rem,calc(100% - 20px * var(--ui-scale)));max-height:calc(100% - 30px * var(--ui-scale) - 2.2em);overflow-y:auto;display:flex;flex-direction:column;gap:.5em;padding:0 .75em .625em;background:var(--elev);border:1px solid var(--line);border-radius:var(--radius-s);box-shadow:var(--shadow)}.geo-panel-head{position:sticky;top:0;z-index:1;background:var(--elev);margin:0 -.75em;padding:.625em .75em .5em;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.375em}.geo-panel-headrow{display:flex;align-items:flex-start;gap:.5em}.geo-panel-headrow>div{flex:1;min-width:0}.geo-panel-title{display:block;font-size:var(--fs-panel-title);letter-spacing:var(--track-tight);line-height:var(--lh-heading);white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.geo-panel-sub{display:flex;align-items:center;gap:.375em;flex-wrap:wrap;color:var(--text-2);font-size:var(--fs-caption);line-height:var(--lh-dense)}.geo-panel-trail{display:flex;align-items:center;gap:.375em}.geo-panel-trail .inp{flex:1;min-width:0}.geo-panel-preview{aspect-ratio:16/9;border-radius:var(--radius-xs);background:var(--input);overflow:hidden}.geo-panel-alarms,.geo-panel-cameras{display:flex;flex-direction:column;gap:.375em}.geo-panel-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.375em;margin:0}.geo-panel-stats dt{margin:0}.geo-panel-stats dd{margin:0;font-family:var(--mono);font-weight:700}.geo-panel-sev{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25em}.geo-panel-sev li{display:flex;align-items:center;gap:.375em}.geo-panel-actions{display:flex;gap:.375em;flex-wrap:wrap}.geo-panel-hint{margin:0;color:var(--faint);font-size:var(--fs-hint);line-height:var(--lh-dense)}.geo-panel-cams{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.0625em}.geo-panel-cams li{display:flex;align-items:center;gap:.45em;min-width:0}.geo-panel-cam{display:flex;align-items:center;gap:.45em;padding:.2em .3em;min-width:0;flex:1;width:100%;background:none;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--text);font-family:var(--font);font-size:var(--fs-control);line-height:var(--lh-dense);text-align:left;cursor:default}button.geo-panel-cam{cursor:pointer}button.geo-panel-cam:hover,button.geo-panel-cam:focus-visible{background:var(--hover);border-color:var(--line)}.geo-panel-cam-name{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}.geo-filterbar{display:flex;flex-direction:column;gap:.25em;padding:.375em .75em;background:var(--panel2);border-bottom:1px solid var(--line)}.geo-filterbar-row{display:flex;align-items:center;gap:.375em;flex-wrap:wrap;min-width:0}.geo-filter{position:relative}.geo-filter-pop{position:absolute;top:calc(100% + .3em);left:0;z-index:22;min-width:14em;max-width:22em;display:flex;flex-direction:column;gap:.375em;padding:.5em .625em;background:var(--elev);border:1px solid var(--line);border-radius:var(--radius-s);box-shadow:var(--shadow)}.geo-filter-pop-head{display:flex;align-items:center;gap:.375em}.geo-filter-opts{display:flex;flex-direction:column;gap:.125em;max-height:18em;overflow-y:auto}.geo-filter-opt{display:flex;align-items:center;gap:.45em;padding:.2em .3em;border-radius:var(--radius-xs);font-size:var(--fs-control);line-height:var(--lh-dense);cursor:pointer;transition:background .14s ease-out}.geo-filter-opt:hover{background:var(--hover)}.geo-filter-count{color:var(--text-2);font-size:var(--fs-caption);line-height:var(--lh-dense);margin-left:auto}.geo-legend{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.8em;flex-wrap:wrap;font-size:var(--fs-caption);line-height:var(--lh-dense);color:var(--text-2)}.geo-legend li{display:flex;align-items:center;gap:.3em}.geo-legend-swatch[data-dashed=true]{border-style:dashed}.geo-legend-word{white-space:nowrap}.geo-work{display:flex;gap:6px;flex:1;min-height:0;min-width:0}.geo-work>.geo-stage{flex:1;min-width:0}.geo-place{flex:0 0 auto;width:min(max(24rem,calc(24rem * var(--ui-scale))),42vw);min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius)}.geo-place-head{display:flex;align-items:flex-start;gap:8px}.geo-place-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.geo-place-row{display:flex;align-items:center;gap:8px;padding:6px 8px;min-width:0;border:1px solid transparent;border-radius:var(--radius-s)}.geo-place-row:hover{background:var(--hover);border-color:var(--line)}.geo-place-meta{display:block;color:var(--muted);font-size:var(--fs-meta);line-height:var(--lh-dense);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-place-prov{display:block;color:var(--faint);font-size:var(--fs-caption);line-height:var(--lh-dense)}.geo-place-prov[data-confirmed=false]{padding-left:.5em;border-left:2px dashed var(--line2)}.geo-place-rowactions{display:flex;gap:4px;flex:none}.geo-place-form{display:flex;flex-direction:column;gap:8px;min-width:0}.geo-place-coords{display:grid;grid-template-columns:1fr 1fr;gap:6px}.geo-place-field{display:flex;flex-direction:column;gap:3px;min-width:0}.geo-place-readout{margin:0;font-family:var(--mono);font-size:var(--fs-meta);line-height:var(--lh-dense);color:var(--text-2)}.geo-candidate{font-size:var(--fs-control);width:1.9em;height:1.9em;box-sizing:border-box;border-radius:50%;border:2px solid var(--accent);background:var(--panel);box-shadow:0 0 0 2px var(--canvas),var(--shadow-s);cursor:grab}.geo-candidate:after{content:"";position:absolute;left:50%;top:50%;width:.5em;height:.5em;transform:translate(-50%,-50%);border-radius:50%;background:var(--accent)}.geo-candidate:active{cursor:grabbing}.geo-candidate-from{border-style:dashed;border-color:var(--faint);cursor:default}.geo-candidate-from:after{background:var(--faint)}.geo-canvas[data-placing=true] .geo-bubble{pointer-events:none}.brand{display:flex;align-items:center;gap:9px}.logo{width:26px;height:26px;flex:none;display:flex;align-items:center;justify-content:center}.logo svg{width:15px;height:15px;color:var(--accent)}.wordmark{font-weight:700;font-size:var(--fs-wordmark);letter-spacing:var(--track-tight)}.wordmark b{color:var(--accent)}.sub{font-family:var(--mono);font-size:var(--fs-brand-sub);letter-spacing:var(--track-brand);color:var(--muted);font-weight:700}.tb-select{height:30px;background:var(--panel2);border:1px solid var(--line2);border-radius:var(--radius-s);color:var(--text);padding:0 9px;font-size:var(--fs-nav-tab);display:flex;align-items:center;gap:6px}.tb-select:hover{border-color:var(--accent)}.spacer{flex:1}.searchbox{width:calc(300px * var(--ui-scale));max-width:32vw;min-width:0;flex:0 1 auto;height:calc(32px * var(--ui-scale));background:var(--input);border:1px solid var(--line2);border-radius:var(--radius-s);display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--muted);font-size:var(--fs-nav-tab);transition:.14s}.searchbox:hover{border-color:var(--accent)}.searchbox .kbd{margin-left:auto}.kbd{font-family:var(--mono);font-size:var(--fs-micro);background:var(--chip);border:1px solid var(--line2);border-bottom-width:2px;border-radius:var(--radius-xs);padding:1px 5px;color:var(--muted)}.health{display:flex;align-items:center;gap:7px;height:calc(30px * var(--ui-scale));padding:0 calc(10px * var(--ui-scale));background:var(--panel2);border:1px solid var(--line2);border-radius:var(--radius-s);font-size:var(--fs-status)}.health .dfc{font-family:var(--mono);color:var(--faint);font-size:var(--fs-label-mono)}.iconbtn{width:32px;height:32px;border-radius:var(--radius-s);border:1px solid transparent;background:transparent;display:flex;align-items:center;justify-content:center;position:relative;transition:.14s;color:var(--muted)}.iconbtn:hover{background:var(--hover);color:var(--text);border-color:var(--line2)}.iconbtn svg{width:17px;height:17px}.notif-badge{position:absolute;top:-3px;right:-3px;min-width:15px;height:15px;padding:0 3px;border-radius:var(--radius-s);background:var(--bad);color:var(--bg);font-size:var(--fs-badge);font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--mono);line-height:var(--lh-flush)}.rolebadge{height:30px;padding:0 10px;border-radius:var(--radius-s);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent);font-family:var(--mono);font-size:var(--fs-label-mono);font-weight:700;letter-spacing:var(--track-caps);display:flex;align-items:center;gap:6px}.rolebadge:hover{filter:brightness(1.1)}.avatar{width:26px;height:26px;border-radius:50%;background:var(--panel2);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:var(--fs-caption);font-weight:700;border:1px solid var(--line2);flex:none}.accountbtn{display:flex;align-items:center;gap:7px;height:30px;padding:0 10px 0 1px;background:var(--chip);border:1px solid var(--line2);border-radius:var(--r-pill);color:var(--text);transition:.14s}.accountbtn:hover,.accountbtn:hover .avatar{border-color:var(--accent);color:var(--accent)}.acct-role{font-family:var(--mono);font-size:var(--fs-label-mono);font-weight:700;letter-spacing:var(--track-caps);color:var(--muted);white-space:nowrap}.accountbtn:hover .acct-role{color:var(--accent)}.navsec{margin:10px 4px 6px;display:flex;align-items:center;justify-content:space-between}.navitem{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--radius-s);font-size:var(--fs-control);color:var(--text);transition:.12s;cursor:pointer;border:1px solid transparent}.navitem:hover{background:var(--hover)}.navitem.active{background:var(--sel);color:var(--sel-fg);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.navitem svg{width:15px;height:15px;flex:none;color:var(--muted)}.navitem.active svg{color:var(--accent)}.navitem .r{margin-left:auto;font-family:var(--mono);font-size:var(--fs-label);color:var(--faint)}.layoutgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.layout-opt{aspect-ratio:1.3;border:1px solid var(--line2);border-radius:var(--radius-s);background:var(--input);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.12s;padding:5px;color:var(--muted);font-size:var(--fs-badge);font-family:var(--mono)}.layout-opt:hover{border-color:var(--accent)}.layout-opt.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.tree-item{display:flex;align-items:center;gap:7px;padding:5px 8px;border-radius:var(--radius-s);font-size:var(--fs-nav-tab);min-height:var(--hit-min);cursor:pointer}.tree-item:hover{background:var(--hover)}.tree-item.active{background:var(--sel);color:var(--sel-fg)}.tree-item.child{margin-left:16px;font-size:var(--fs-meta)}.tree-item.child2{margin-left:30px}.main{min-height:0;overflow:auto;display:flex;flex-direction:column}.inspector{background:var(--panel);border-left:1px solid var(--line);min-height:0;overflow-y:auto;display:flex;flex-direction:column}.insp-head{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.insp-body{padding:12px 14px;flex:1;overflow-y:auto}.main-head{padding:12px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:color-mix(in srgb,var(--panel) 55%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:sticky;top:0;z-index:5}.main-title{font-size:var(--fs-title);font-weight:600;letter-spacing:var(--track-title);line-height:var(--lh-title)}.main-body{flex:1;padding:var(--density-page-pad,16px 18px);min-height:0}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.density-dense{--density-page-pad:10px 14px;--density-card-pad:10px;--density-row-pad:6px 10px;--density-head-pad:6px 10px}.density-comfortable{--density-page-pad:22px 24px;--density-card-pad:18px;--density-row-pad:12px 14px;--density-head-pad:9px 14px}.subtabs{display:flex;gap:2px;background:var(--input);border:1px solid var(--line2);border-radius:var(--radius);padding:3px}.subtab{padding:5px 13px;border-radius:var(--radius-s);font-size:var(--fs-nav-tab);color:var(--muted);border:none;background:transparent;min-height:var(--hit-min);font-weight:500}.subtab:hover{color:var(--text)}.subtab.active{background:var(--sel);color:var(--sel-fg);box-shadow:var(--shadow-s)}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-table)}.tbl.fixed{table-layout:fixed}.tbl.fixed td,.tbl.fixed th{overflow-wrap:anywhere}:root{--tbl-col-floor:130px}.tbl th{position:sticky;top:0;background:var(--panel2);text-align:left;padding:var(--density-head-pad,8px 12px);border-bottom:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:var(--track-caps);font-size:var(--fs-table-head);font-weight:700;color:var(--muted);z-index:2}.tbl td{padding:var(--density-row-pad,9px 12px);border-bottom:1px solid var(--line)}.tbl tbody tr{cursor:pointer;transition:.1s}.tbl tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.tbl tbody tr.sel{background:var(--sel)}.tbl tr[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tbl.zebra tbody tr:nth-child(2n){background:color-mix(in srgb,var(--line) 25%,transparent)}.scrollx{overflow-x:auto}:root[data-theme=light] .vsurf,:root[data-theme=light] .tilewrap,:root[data-theme=light] .facecrop,:root[data-theme=light] .wall-max-body,:root[data-theme=light] .tile-poster{--ink-000:#070a0e;--ink-050:#0b0f15;--ink-100:#10151d;--ink-150:#141a23;--ink-200:#19202b;--ink-300:#212936;--rule:#242c3c;--rule-2:#2f394a;--rule-3:#69727f;--text:#e2e7ef;--text-2:#8e99ab;--text-3:#7f8a9c;--text-4:#626d80;--panel:#0b0f15;--panel2:#10151d;--elev:#141a23;--line:#242c3c;--line2:#69727f;--muted:#8e99ab;--faint:#7f8a9c;--canvas:#070a0e;color:var(--text)}.vsurf{position:relative;background:var(--canvas)}.rule-handle{position:absolute}.rule-handle:before{content:"";position:absolute;inset:calc((var(--handle-size,.9rem) - var(--hit-min))/2)}.tilewrap{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;aspect-ratio:16/9;min-height:0}.tilewrap .feed{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px),radial-gradient(120% 90% at 50% 40%,var(--ink-200) 0%,var(--ink-000) 100%)}.tilewrap.nosig .feed{background:repeating-linear-gradient(135deg,var(--ink-050) 0 7px,var(--ink-100) 7px 14px)}.tilewrap video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:var(--canvas)}.tile-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:6px;padding:7px 9px;background:linear-gradient(180deg,rgba(0,0,0,.55),transparent);z-index:3}.tile-name{font-size:var(--fs-video-name);font-weight:600;color:var(--text);text-shadow:0 1px 3px rgba(0,0,0,.8)}.tile-site{font-family:var(--mono);font-size:var(--fs-video-meta);color:var(--text-2);text-transform:uppercase;letter-spacing:var(--track-caps)}.rec{display:flex;align-items:center;gap:4px;font-family:var(--mono);font-size:var(--fs-video-meta);color:var(--text);margin-left:auto}.rec .dot{width:7px;height:7px}.tile-bot{position:absolute;bottom:0;left:0;right:0;padding:6px 9px;display:flex;align-items:center;gap:6px;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent);z-index:3}.tile-hover{position:absolute;top:0;right:0;bottom:0;left:0;background:#04080e73;opacity:0;transition:.15s;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;z-index:4;padding:10px;pointer-events:none}.tilewrap:hover .tile-hover{opacity:1}.thbtn{width:30px;height:30px;border-radius:var(--radius-s);background:#141c28d9;border:1px solid rgba(120,140,170,.3);color:var(--text);display:flex;align-items:center;justify-content:center;pointer-events:auto}.thbtn:hover{background:var(--accent);color:var(--ink-000);border-color:var(--accent)}.thbtn:disabled{opacity:.4;cursor:not-allowed}.thbtn svg{width:15px;height:15px}.bbox{position:absolute;border:1.5px solid var(--accent);border-radius:var(--radius-xs);z-index:2}.bbox.face{border-color:var(--ok)}.bbox.plate{border-color:var(--warn)}.bbox .lbl{position:absolute;top:-17px;left:-1px;background:var(--accent);color:var(--ink-000);font-family:var(--mono);font-size:var(--fs-video-bbox);padding:1px 4px;border-radius:var(--radius-xs);white-space:nowrap;font-weight:700}.bbox.face .lbl{background:var(--ok);color:var(--ink-000)}.bbox.plate .lbl{background:var(--warn);color:var(--ink-000)}.masked{filter:blur(7px)}.feedrow{display:flex;gap:9px;padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer;transition:.1s;align-items:flex-start}.feedrow:hover{background:var(--hover)}.feedrow .bar{width:3px;align-self:stretch;border-radius:var(--radius-xs);flex:none}.feed-t{font-family:var(--mono);font-size:var(--fs-micro);color:var(--faint)}.facecrop{width:100%;aspect-ratio:1;border-radius:var(--radius-s);overflow:hidden;background:radial-gradient(85% 85% at 50% 38%,var(--ink-300),var(--ink-050));border:1px solid var(--line)}.facecrop.lg{min-height:clamp(150px,20vw,210px);aspect-ratio:auto;height:clamp(150px,20vw,210px)}.facecrop.xl{min-height:clamp(240px,38vh,420px);aspect-ratio:auto;height:clamp(240px,38vh,420px)}.facecrop.sm{width:calc(76px * var(--ui-scale));height:calc(76px * var(--ui-scale));aspect-ratio:auto;flex:0 0 auto}.facecrop.fill{width:100%;aspect-ratio:1}.facecrop.no-evidence{display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;font-size:var(--fs-caption);color:var(--muted);background:var(--input);border-style:dashed}.evidence-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left}.evidence-pair.sm{grid-template-columns:auto auto;justify-content:start;width:auto;gap:8px}.evidence-pair.sm figcaption{display:none}.evidence-pair.sm [data-nat-badge]{display:none}button.evidence-pair{cursor:zoom-in}button.evidence-pair:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-s)}.evidence-pair figure{margin:0;display:flex;flex-direction:column;gap:5px;min-width:0}.platecrop{background:linear-gradient(180deg,#f4f6f0,#dfe3d8);border:1px solid #b9c0ad;border-radius:var(--radius-xs);color:#14181f;font-family:var(--mono);font-weight:700;letter-spacing:var(--track-caps);display:flex;align-items:center;justify-content:center;padding:6px 10px;font-size:var(--fs-plate-glyph);box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #222}.confbar{height:7px;border-radius:var(--radius-xs);background:var(--input);overflow:hidden;border:1px solid var(--line)}.confbar>span{display:block;height:100%;background:linear-gradient(90deg,var(--ok),var(--accent))}.confbar.warn>span{background:linear-gradient(90deg,var(--warn),color-mix(in srgb,var(--warn) 55%,var(--accent)))}.confbar.bad>span{background:linear-gradient(90deg,var(--bad),color-mix(in srgb,var(--bad) 60%,var(--warn)))}.charstrip{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.35em .25em}.charstrip-cell{display:flex;flex-direction:column;align-items:center;gap:.15em;min-width:1.7em;padding:.2em .15em;border-radius:var(--radius-xs);background:var(--panel2);border:1px solid transparent}.charstrip-cell .confbar{width:1.5em}.charstrip-glyph{font-size:var(--fs-plate-glyph);font-weight:700;letter-spacing:var(--track-caps);line-height:var(--lh-stack)}.charstrip-cell.doubted{border-color:color-mix(in srgb,var(--sev-medium) 55%,transparent);background:color-mix(in srgb,var(--sev-medium) 14%,var(--panel2))}.charstrip-cell.doubted .charstrip-glyph{color:var(--sev-medium)}.charstrip-sep{width:.5em}.reading-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:8px}.reading{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:var(--radius-s);background:var(--panel2);border:1px solid var(--line)}.insp-sub{font-size:var(--fs-panel-head);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--faint)}.insp-act{background:var(--panel2);border-color:var(--line)}.insp-act:hover{background:var(--elev)}.privacy{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:var(--radius-s);background:color-mix(in srgb,var(--accent) 7%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);font-size:var(--fs-caption);color:var(--muted)}.privacy .lockicon{color:var(--accent)}.retention{font-family:var(--mono);font-size:var(--fs-label);color:var(--warn)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070c9e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:flex-start;justify-content:center}.modal,.palette{background:var(--elev);border:1px solid var(--line2);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden;animation:pop .18s ease}@keyframes pop{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.palette{width:560px;max-width:92vw;margin-top:12vh}.pal-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.pal-input input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:var(--fs-input-lg)}.pal-input svg{width:18px;height:18px;color:var(--muted)}.pal-list{max-height:52vh;overflow-y:auto;padding:6px}.pal-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--radius-s);cursor:pointer}.pal-item.active,.pal-item:hover{background:var(--sel)}.pal-item svg{width:16px;height:16px;color:var(--muted)}.pal-item .lbl2{flex:1;font-size:var(--fs-list-item)}.pal-grouplabel{padding:8px 11px 3px}.modal{width:520px;max-width:94vw;margin-top:12vh;display:flex;flex-direction:column;max-height:80vh}.modal.wide{width:820px}.modal-head{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-title{font-weight:600;font-size:var(--fs-panel-title);letter-spacing:var(--track-tight);line-height:var(--lh-heading)}.modal-body{padding:18px;overflow-y:auto}.modal-foot{padding:12px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}.wall-max{position:relative;display:flex;flex-direction:column;width:calc(100vw - 40px);height:calc(100vh - 40px);margin:20px;background:var(--elev);border:1px solid var(--line2);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;animation:pop .18s ease}.wall-max-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--line)}.wall-max-body{flex:1;min-height:0;position:relative}.wall-max-body .tilewrap{position:absolute;top:0;right:0;bottom:0;left:0;aspect-ratio:auto;border:none;border-radius:0}.wall-max-body .tilewrap video{object-fit:contain}.x{width:28px;height:28px;border-radius:var(--radius-s);border:1px solid transparent;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center}.x:hover{background:var(--hover);color:var(--text)}.x svg{width:16px;height:16px}.drawer-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:block}.drawer-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#04070c80}.drawer{position:absolute;top:0;right:0;bottom:0;width:400px;max-width:92vw;background:var(--elev);border-left:1px solid var(--line2);box-shadow:var(--shadow);display:flex;flex-direction:column;animation:slidein .2s ease}@keyframes slidein{0%{transform:translate(30px);opacity:.4}to{transform:none;opacity:1}}.drawer-head{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.drawer-body{flex:1;overflow-y:auto;padding:6px}.menu{position:fixed;background:var(--elev);border:1px solid var(--line2);border-radius:var(--radius);box-shadow:var(--shadow);padding:5px;z-index:120;min-width:180px;animation:pop .12s ease}.menu-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-s);font-size:var(--fs-control);cursor:pointer;width:100%;text-align:left}.menu-item:hover{background:var(--hover)}.menu-item svg{width:15px;height:15px;color:var(--muted)}.menu-item.active{color:var(--accent)}.menu-label{padding:6px 10px 3px;font-family:var(--mono);font-size:var(--fs-menu-label);letter-spacing:var(--track-caps-l);text-transform:uppercase;color:var(--faint)}.menu-div{height:1px;background:var(--line);margin:4px 6px}.menu-note{padding:2px 10px 8px;color:var(--muted);white-space:normal}.menu-note .sm{color:var(--text)}.menu-item .spacer{flex:1 1 auto}.menu-item:focus-visible{background:var(--hover);outline:2px solid var(--accent);outline-offset:-2px}.toasts{position:fixed;bottom:18px;right:18px;z-index:200;display:flex;flex-direction:column;gap:9px;align-items:flex-end}.toast{background:var(--elev);border:1px solid var(--line2);border-radius:var(--radius);box-shadow:var(--shadow);padding:11px 14px;display:flex;align-items:center;gap:10px;min-width:240px;max-width:360px;animation:pop .18s ease;font-size:var(--fs-control)}.toast svg{width:17px;height:17px;color:var(--accent);flex:none}.toast.ok{border-color:color-mix(in srgb,var(--ok) 45%,var(--line2))}.toast.ok svg{color:var(--ok)}.toast.warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--line2))}.toast.warn svg{color:var(--warn)}.toast.bad{border-color:color-mix(in srgb,var(--bad) 45%,var(--line2))}.toast.bad svg{color:var(--bad)}.grid{display:grid;gap:14px}.row{display:flex;gap:12px}.col{display:flex;flex-direction:column;gap:12px}.between{display:flex;align-items:center;justify-content:space-between}.wrap{display:flex;flex-wrap:wrap;gap:10px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.kpi .n{font-size:var(--fs-kpi);font-weight:700;line-height:var(--lh-title);letter-spacing:var(--track-title)}.kpi .up{color:var(--ok)}.kpi .dn{color:var(--bad)}.formrow{margin-bottom:14px}.formrow label{display:block;margin-bottom:5px}.dest-list{display:flex;flex-direction:column;gap:6px;max-height:34vh;overflow:auto}.dest-list .btn{width:100%}.btn[aria-checked=true]{background:var(--sel);color:var(--sel-fg);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.attach-list{margin:0 0 10px;padding:8px 10px;list-style:none;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-s);display:flex;flex-direction:column;gap:4px}.no-reason{color:var(--faint)}.item-attrib{color:var(--faint);font-size:var(--fs-meta);white-space:nowrap}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:20px;background:none;padding:0;border:0;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:var(--r-pill);background:var(--ink-300)}input[type=range]::-moz-range-track{height:3px;border-radius:var(--r-pill);background:var(--ink-300)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-4.5px;border-radius:var(--r-pill);background:var(--live);border:2px solid var(--ink-050);box-shadow:0 0 0 1px var(--live-edge)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:var(--r-pill);background:var(--live);border:2px solid var(--ink-050);box-shadow:0 0 0 1px var(--live-edge)}input[type=range]:focus-visible{outline-offset:3px}input[type=range]:disabled{cursor:not-allowed;opacity:.45}.slider{width:100%;accent-color:var(--accent)}.rangerow{display:flex;align-items:center;gap:10px}.rangerow input[type=range]{flex:1;min-width:0}.rangeval{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-caption);color:var(--text);flex:0 0 auto;min-width:4ch;text-align:right}.gaugewrap{display:flex;align-items:center;gap:12px}.section-title{font-size:var(--fs-section-title);font-weight:600;letter-spacing:var(--track-tight);line-height:var(--lh-heading);margin:2px 0 10px}.empty-hint{color:var(--faint);font-size:var(--fs-hint);text-align:center;padding:30px}.field-flag{background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px dashed color-mix(in srgb,var(--warn) 35%,transparent);border-radius:var(--radius-s);padding:7px 10px;font-size:var(--fs-caption);color:var(--warn)}.insp-toggle{display:none}@media(max-width:1200px){body:not(.force-insp) .body{grid-template-columns:1fr 0}body:not(.force-insp) .inspector{display:none}.insp-toggle{display:flex}.searchbox{width:calc(200px * var(--ui-scale))}}@media(max-width:900px){.body{grid-template-columns:1fr 0!important}.inspector{display:none}.searchbox{width:calc(150px * var(--ui-scale))}.health .txt{display:none}}.hidden{display:none!important}.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center}.login-card{width:380px;max-width:92vw;padding:28px}.login-logo{width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.login-logo svg{width:24px;height:24px;color:var(--accent)}.login-card .wordmark{font-size:var(--fs-panel-title)}.inp-reveal{position:relative;display:flex;align-items:center}.inp-reveal .inp{padding-right:36px}.inp-reveal .reveal-btn{position:absolute;right:1px;top:1px;bottom:1px;width:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:0 var(--radius-s) var(--radius-s) 0;color:var(--muted);transition:.14s}.inp-reveal .reveal-btn:hover{color:var(--text);background:var(--hover)}.inp-reveal .reveal-btn[aria-pressed=true]{color:var(--accent)}.inp-reveal .reveal-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.forbidden{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:40px}.wall-layout{display:grid;grid-template-columns:var(--rail) 1fr;gap:12px;height:100%;min-height:0}.wall-side{display:flex;flex-direction:column;min-height:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel2);overflow:hidden}.wall-side-head{padding:8px;border-bottom:1px solid var(--line)}.wall-views{flex:0 0 auto;min-height:0;overflow-y:auto;padding:.375rem;border-bottom:1px solid var(--line);max-height:min(calc(12rem * var(--ui-scale)),30%)}.wall-tree{flex:0 1 auto;min-height:0;overflow-y:auto;padding:6px}.wall-grid-wrap{min-height:0;overflow:auto}.treerow{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--radius-s);font-size:var(--fs-meta);cursor:pointer;min-height:var(--hit-min);-webkit-user-select:none;user-select:none;white-space:nowrap}.treerow:hover{background:var(--hover)}.treerow.cam{cursor:grab}.treerow.cam:active{cursor:grabbing}.treerow.dragover{outline:1px dashed var(--accent);background:var(--accent-soft)}.treerow .tw-caret{width:14px;display:inline-flex;justify-content:center;color:var(--muted);flex:none}button.tw-caret{background:none;border:0;padding:0;font:inherit;cursor:pointer;position:relative;align-items:center}button.tw-caret:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.treerow .tw-label{overflow:hidden;text-overflow:ellipsis}.treerow .tw-count{margin-left:auto;font-family:var(--mono);font-size:var(--fs-badge);color:var(--faint)}.tw-badges{display:inline-flex;gap:3px;margin-left:auto;align-items:center}.tw-chip{font-family:var(--mono);font-size:var(--fs-tree-chip);font-weight:700;letter-spacing:var(--track-caps-xs);padding:0 4px;height:14px;display:inline-flex;align-items:center;border-radius:var(--radius-xs);border:1px solid var(--line2);color:var(--muted);line-height:var(--lh-flush)}.tw-chip.ptz{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.tw-chip.rec{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.tile-badges{position:absolute;top:30px;right:8px;display:flex;gap:4px;z-index:5}.wall-slot-ctl{width:22px;height:22px;display:grid;place-items:center;border-radius:var(--radius-s);cursor:pointer;border:1px solid rgba(120,140,170,.3);background:#141c28d9;color:var(--text-2);opacity:.75;transition:opacity .15s,background .15s,color .15s,border-color .15s}.wall-tile:hover .wall-slot-ctl{opacity:1}.wall-slot-ctl:hover{background:var(--accent);color:var(--ink-000);border-color:var(--accent)}.wall-slot-ctl.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);opacity:1}.wall-slot-remove:hover{background:var(--bad);color:var(--ink-000);border-color:var(--bad)}.wall-tile.has-slot-ctl .tile-top{padding-left:62px}.wall-alarm-row{border-left:2px solid transparent;border-radius:var(--radius-xs);padding:calc(2px * var(--ui-scale)) calc(6px * var(--ui-scale));margin:0 calc(-6px * var(--ui-scale));transition:background-color .9s ease-out,border-left-color .9s ease-out}.wall-alarm-row[data-arrived=true]{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.tile-badge{font-family:var(--mono);font-size:var(--fs-video-badge);font-weight:700;letter-spacing:var(--track-caps-xs);padding:1px 5px;border-radius:var(--radius-xs);background:#0a101ac7;color:var(--text);border:1px solid rgba(120,140,170,.35);display:inline-flex;align-items:center;gap:3px}.tile-badge.ptz{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);cursor:pointer;position:relative}.tile-badge.ptz:before{content:"";position:absolute;top:-4px;right:-2px;bottom:-4px;left:-2px}.tile-badge.redact{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.tile-badge.unmasked{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 55%,transparent)}.tile-count{position:absolute;bottom:.55em;left:.6em;z-index:5;display:inline-flex;align-items:center;gap:.4em;padding:.12em .45em;border-radius:var(--radius-xs);background:#0a101ad1;border:1px solid rgba(120,140,170,.35);font-family:var(--mono);font-size:var(--fs-video-count);line-height:var(--lh-flush)}.tile-count svg{width:1em;height:1em;flex:none;color:var(--accent)}.tile-count-n{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:var(--track-snug);min-width:1.3em;text-align:right}.tile-count-w{font-size:var(--fs-video-badge);font-weight:700;color:var(--text);letter-spacing:var(--track-caps-xs)}.tile-count[data-headcount-state=held] svg,.tile-count[data-headcount-state=quiet] svg,.tile-count[data-headcount-state=waiting] svg{color:var(--text-3)}.tile-count[data-headcount-state=held] .tile-count-n,.tile-count[data-headcount-state=waiting] .tile-count-n{color:var(--text-2)}.tile-count[data-headcount-state=held] .tile-count-w,.tile-count[data-headcount-state=waiting] .tile-count-w{color:var(--muted)}.tile-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1;background:var(--canvas)}.tile-cause{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:10px;z-index:2}.tile-cause .tc-label{font-size:var(--fs-video-cause);color:var(--text-2);font-weight:600}.tile-cause .tc-hint{font-size:var(--fs-video-hint);color:var(--faint);max-width:80%}.tile-cause .tc-link{font-size:var(--fs-video-hint);color:var(--accent);cursor:pointer;text-decoration:underline;display:inline-flex;align-items:center;min-height:var(--hit-min)}.tile-perf{position:absolute;left:6px;bottom:6px;z-index:7;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-video-meta);font-weight:600;letter-spacing:var(--track-mono);color:var(--text);background:#060b14d1;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--radius-xs);padding:2px 6px;white-space:nowrap;max-width:calc(100% - 12px);overflow:hidden;text-overflow:ellipsis}.ptzpad-pop{position:absolute;bottom:44px;left:50%;transform:translate(-50%);z-index:6;background:#0a101af0;border:1px solid var(--line2);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow)}.grp-editor{display:grid;grid-template-columns:320px 1fr;gap:14px;height:100%;min-height:0}.grp-tree{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel2);overflow-y:auto;padding:8px}.grp-assign{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-height:0}.grp-assign-body{flex:1;overflow-y:auto}.results-added{color:var(--ok)}.results-flagged{color:var(--warn)}.results-error,.results-refused{color:var(--bad)}.scrubber{user-select:none;-webkit-user-select:none;touch-action:none}body.scrubbing,body.scrubbing *{user-select:none!important;-webkit-user-select:none!important;cursor:crosshair}.tl{--tl-gutter:11em;--tl-lane-h:1.9em;position:relative}.tl-lanes{display:flex;flex-direction:column}.tl-lane{display:grid;grid-template-columns:var(--tl-gutter) 1fr;align-items:center;height:var(--tl-lane-h);gap:.5em}.tl-lane-name{display:flex;align-items:center;gap:.25em;justify-content:space-between;font-size:var(--fs-control);color:var(--muted);min-width:0;padding-left:.25em}.tl-lane.investigated .tl-lane-name{color:var(--text)}.tl-lane.investigated{box-shadow:inset 2px 0 0 var(--accent)}.tl-lane-track{position:relative;height:calc(var(--tl-lane-h) - .55em);background:var(--input);border:1px solid var(--line2);border-radius:var(--radius-xs);overflow:hidden}.tl-band{position:absolute;top:0;bottom:0;border-radius:var(--radius-xs)}.tl-band.rec{background:color-mix(in srgb,var(--accent) 30%,transparent)}.tl-band.gap{background:repeating-linear-gradient(45deg,var(--line) 0 6px,transparent 6px 12px)}.tl-axisrow{display:grid;grid-template-columns:var(--tl-gutter) 1fr;gap:.5em;margin-top:.35em}.tl-axis{position:relative;height:1.5em}.tl-tick{position:absolute;top:0;transform:translate(-50%);font-size:var(--fs-badge);font-family:var(--mono);color:var(--faint)}.tl-overlay{position:absolute;left:calc(var(--tl-gutter) + .5em);right:0;top:0;bottom:0;cursor:crosshair}.tl-marker{position:absolute;bottom:.1em;width:7px;border:none;padding:0;cursor:pointer}.tl-head{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);box-shadow:0 0 8px var(--accent)}.wall-tile{border-radius:var(--radius);user-select:none;-webkit-user-select:none}.wall-tile.dragover{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}.treerow.cam{touch-action:manipulation;-webkit-user-drag:element}.treerow.cam *{pointer-events:none}.treerow.grp{cursor:grab;touch-action:manipulation;-webkit-user-drag:element}.treerow.grp:active{cursor:grabbing}.treerow.grp>.tw-caret,.treerow.grp>.tw-label,.treerow.grp>.tw-count{pointer-events:none}.wall-drag-ghost{position:fixed;z-index:9999;pointer-events:none;transform:translate(10px,10px);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 8px;border-radius:var(--radius-s);font-size:var(--fs-meta);background:var(--panel2);color:var(--text);border:1px solid var(--accent);box-shadow:var(--shadow);opacity:.92}body.wall-pointer-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}body.wall-pointer-dragging .treerow,body.wall-pointer-dragging .wall-tile{cursor:grabbing}.i.i{width:16px;height:16px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;display:block}.i-14.i-14{width:14px;height:14px}.i-18.i-18{width:18px;height:18px}.i-22.i-22{width:22px;height:22px}.sd{display:inline-block;vertical-align:middle;width:3px;height:3px;border-radius:var(--r-pill);background:currentColor;opacity:.42;margin:0 7px;flex:0 0 auto}.sc{display:inline-block;vertical-align:middle;width:5px;height:5px;margin:0 8px;flex:0 0 auto;border-top:1.2px solid currentColor;border-right:1.2px solid currentColor;transform:rotate(45deg);opacity:.5}@media(max-width:1240px){:root{--insp:302px;--rail:206px}}@media(prefers-reduced-transparency:reduce){:root{--live-wash:var(--live-wash-solid)}.overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#04070cdb}.main-head{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--panel)}.tile-count{background:var(--ink-050)}}@media(prefers-contrast:more){:root{--rule:#69727f;--rule-2:#69727f;--line:#69727f;--text-3:#c3ccd8;--text-4:#a5b0c0;--faint:#c3ccd8}:root[data-theme=light]{--rule:#808690;--rule-2:#808690;--line:#808690;--text-3:#3d4450;--text-4:#4a515c;--faint:#3d4450}}@media(prefers-reduced-motion:reduce){.dot.pulse,.map-pin-flag.pulse{animation:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.u-dblock.u-dblock{display:block}.u-flex.u-flex{display:flex}.u-grid.u-grid{display:grid}.u-iflex.u-iflex{display:inline-flex}.u-dnone.u-dnone{display:none}.u-fcol.u-fcol{flex-direction:column}.u-fwrap.u-fwrap{flex-wrap:wrap}.u-f1.u-f1{flex:1}.u-fnone.u-fnone{flex:none}.u-ai-c.u-ai-c{align-items:center}.u-ai-e.u-ai-e{align-items:flex-end}.u-ai-s.u-ai-s{align-items:flex-start}.u-ai-str.u-ai-str{align-items:stretch}.u-jc-c.u-jc-c{justify-content:center}.u-jc-e.u-jc-e{justify-content:flex-end}.u-jc-sb.u-jc-sb{justify-content:space-between}.u-gap2.u-gap2{gap:2px}.u-gap4.u-gap4{gap:4px}.u-gap6.u-gap6{gap:6px}.u-gap8.u-gap8{gap:8px}.u-gap10.u-gap10{gap:10px}.u-gap12.u-gap12{gap:12px}.u-gap14.u-gap14{gap:14px}.u-gap16.u-gap16{gap:16px}.u-gtc-2.u-gtc-2{grid-template-columns:repeat(2,1fr)}.u-gtc-fit220.u-gtc-fit220{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.u-gtc-fill240.u-gtc-fill240{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.u-gtc-fill280.u-gtc-fill280{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.u-rel.u-rel{position:relative}.u-abs.u-abs{position:absolute}.u-fix.u-fix{position:fixed}.u-inset0.u-inset0{top:0;right:0;bottom:0;left:0}.u-t-full.u-t-full{top:100%}.u-t34.u-t34{top:34px}.u-l0.u-l0{left:0}.u-r0.u-r0{right:0}.u-z2.u-z2{z-index:2}.u-z30.u-z30{z-index:30}.u-z60.u-z60{z-index:60}.u-w-full.u-w-full{width:100%}.u-w-auto.u-w-auto{width:auto}.u-w20.u-w20{width:20px}.u-w22.u-w22{width:22px}.u-w90.u-w90{width:90px}.u-w110.u-w110{width:110px}.u-w120.u-w120{width:120px}.u-w140.u-w140{width:140px}.u-w150.u-w150{width:150px}.u-w170.u-w170{width:170px}.u-w180.u-w180{width:180px}.u-w280.u-w280{width:280px}.u-minw0.u-minw0{min-width:0}.u-minw240.u-minw240{min-width:240px}.u-minw300.u-minw300{min-width:300px}.u-maxw260.u-maxw260{max-width:260px}.u-maxw320.u-maxw320{max-width:320px}.u-maxw480.u-maxw480{max-width:480px}.u-maxw520.u-maxw520{max-width:520px}.u-maxw560.u-maxw560{max-width:560px}.u-maxw640.u-maxw640{max-width:640px}.u-h-full.u-h-full{height:100%}.u-h-auto.u-h-auto{height:auto}.u-h20.u-h20{height:20px}.u-h22.u-h22{height:22px}.u-h30.u-h30{min-height:30px}input.inp.u-h30,select.inp.u-h30{padding-top:2px;padding-bottom:2px}.u-h32.u-h32{height:32px}.u-minh0.u-minh0{min-height:0}.u-maxh240.u-maxh240{max-height:240px}.u-ar-16-9.u-ar-16-9{aspect-ratio:16/9}.u-ar-4-3.u-ar-4-3{aspect-ratio:4/3}.u-m0.u-m0{margin:0}.u-m-6-0-10.u-m-6-0-10{margin:6px 0 10px}.u-mt0.u-mt0{margin-top:0}.u-mt4.u-mt4{margin-top:4px}.u-mt6.u-mt6{margin-top:6px}.u-mt8.u-mt8{margin-top:8px}.u-mt10.u-mt10{margin-top:10px}.u-mt12.u-mt12{margin-top:12px}.u-mt14.u-mt14{margin-top:14px}.u-mt16.u-mt16{margin-top:16px}.u-mb4.u-mb4{margin-bottom:4px}.u-mb6.u-mb6{margin-bottom:6px}.u-mb8.u-mb8{margin-bottom:8px}.u-mb10.u-mb10{margin-bottom:10px}.u-mb12.u-mb12{margin-bottom:12px}.u-mb14.u-mb14{margin-bottom:14px}.u-mb16.u-mb16{margin-bottom:16px}.u-ml6.u-ml6{margin-left:6px}.u-ml8.u-ml8{margin-left:8px}.u-ml-auto.u-ml-auto{margin-left:auto}.u-p0.u-p0{padding:0}.u-p10.u-p10{padding:10px}.u-p12.u-p12{padding:12px}.u-p-0-6.u-p-0-6{padding:0 6px}.u-p-3-4.u-p-3-4{padding:3px 4px}.u-p-6-0.u-p-6-0{padding:6px 0}.u-p-6-10.u-p-6-10{padding:6px 10px}.u-p-8-12.u-p-8-12{padding:8px 12px}.u-p-10-12.u-p-10-12{padding:10px 12px}.u-ovf-a.u-ovf-a{overflow:auto}.u-ovf-h.u-ovf-h{overflow:hidden}.u-ovfy-a.u-ovfy-a{overflow-y:auto}.u-ellip.u-ellip{text-overflow:ellipsis}.u-ws-nowrap.u-ws-nowrap{white-space:nowrap}.u-ws-normal.u-ws-normal{white-space:normal}.u-break-all.u-break-all{word-break:break-all}.u-ta-c.u-ta-c{text-align:center}.u-ta-l.u-ta-l{text-align:left}.u-fs-badge.u-fs-badge{font-size:var(--fs-badge)}.u-fw600.u-fw600{font-weight:600}.u-c-accent.u-c-accent{color:var(--accent)}.u-c-bad.u-c-bad{color:var(--bad)}.u-c-warn.u-c-warn{color:var(--warn)}.u-c-faint.u-c-faint{color:var(--faint)}.u-bg-canvas.u-bg-canvas{background:var(--canvas)}.u-bg-scrim.u-bg-scrim{background:#0a101af5}.u-bd-line2.u-bd-line2{border:1px solid var(--line2)}.u-bdb-line.u-bdb-line{border-bottom:1px solid var(--line)}.u-bdc-bad.u-bdc-bad{border-color:color-mix(in srgb,var(--bad) 30%,transparent)}.u-rad.u-rad{border-radius:var(--radius)}.u-shadow.u-shadow{box-shadow:var(--shadow)}.u-of-contain.u-of-contain{object-fit:contain}.u-of-cover.u-of-cover{object-fit:cover}.u-cur-p.u-cur-p{cursor:pointer}.u-pe-none.u-pe-none{pointer-events:none}:root[data-wall-mode=on][data-ui-scale=wall]{--ui-scale:1.4375}:root[data-wall-mode=on][data-ui-scale=desk]{--ui-scale:1.25}:root[data-wall-mode=on][data-ui-scale=laptop]{--ui-scale:1.15}:root[data-wall-mode=on]:not([data-ui-scale]){--ui-scale:1.25}:root[data-wall-mode=on] .main-title{letter-spacing:-.02em}:root[data-wall-mode=on] .tile-hover{opacity:1;background:transparent;justify-content:flex-end;align-items:center}:root[data-wall-mode=on] .thbtn{width:calc(1.875rem * var(--ui-scale));height:calc(1.875rem * var(--ui-scale))}:root[data-wall-mode=on]{--wall-grid-pad:calc(.25rem * var(--ui-scale));--wall-grid-gap:calc(.375rem * var(--ui-scale))}.wall-tile[data-focused=true]>.tilewrap{box-shadow:0 0 0 .25em var(--accent)}.geo-panel-preview{aspect-ratio:16/9;border-radius:var(--radius-xs);background:var(--input);overflow:hidden;position:relative;min-height:0}.geo-panel-preview>.tilewrap{position:absolute;top:0;right:0;bottom:0;left:0;border:none;border-radius:0;aspect-ratio:auto}.geo-bubble[data-flash=true] .geo-bubble-disc{animation:pulse 1.8s ease-in-out 6}.geo-search{position:relative;flex:0 1 16em;min-width:8em}.geo-search .inp{width:100%;font-size:var(--fs-control-sm)}.geo-search-list{position:absolute;top:calc(100% + .3em);left:0;right:0;z-index:22;margin:0;padding:.25em;list-style:none;display:flex;flex-direction:column;gap:1px;max-height:18em;overflow-y:auto;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-xs);box-shadow:var(--shadow)}.geo-search-row{display:flex;align-items:center;gap:.5em;width:100%;padding:.3em .5em;min-width:0;text-align:left;border:1px solid transparent;border-radius:var(--radius-xs);font-size:var(--fs-control);color:var(--text);background:none;cursor:pointer}.geo-search-row:hover,.geo-search-row[aria-selected=true]{background:var(--hover);border-color:var(--line)}.geo-search-row .geo-search-meta{color:var(--faint);font-size:var(--fs-caption);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-search-empty{margin:0;padding:.4em .5em;color:var(--faint);font-size:var(--fs-hint)}.geo-chooser-host{position:relative;flex:none}.geo-chooser{position:absolute;top:calc(100% + .3em);right:0;z-index:22;min-width:14em;padding:.5em .6em;display:flex;flex-direction:column;gap:.5em;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-xs);box-shadow:var(--shadow)}.geo-chooser-group{display:flex;flex-direction:column;gap:.15em}.geo-chooser-group>.ml{margin-bottom:.1em}.geo-chooser-opt{display:flex;align-items:center;gap:.5em;padding:.25em .4em;border-radius:var(--radius-xs);font-size:var(--fs-control);color:var(--text);cursor:pointer}.geo-chooser-opt:hover{background:var(--hover)}.geo-chooser-opt input{margin:0}.geo-chooser-note{margin:0;color:var(--faint);font-size:var(--fs-hint);line-height:var(--lh-dense)}.geo-plate-entry{flex:0 1 11em;min-width:7em}.geo-plate-entry .inp{width:100%;font-family:var(--mono);font-size:var(--fs-control-sm);text-transform:uppercase}.geo-place-view{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4em}.geo-cone-handle{font-size:var(--fs-control);width:1.2em;height:1.2em;box-sizing:border-box;border-radius:50%;border:2px solid var(--accent);background:var(--panel);box-shadow:var(--shadow-s);cursor:grab}.geo-cone-handle:active{cursor:grabbing}.wall-back-to-map{flex:none}@media(prefers-reduced-motion:reduce){.geo-bubble[data-flash=true] .geo-bubble-disc{animation:none;box-shadow:0 0 0 .35em var(--geo-bubble-hue),var(--shadow-s)}}.ptl{width:100%;border-collapse:separate;border-spacing:calc(.1875rem * var(--ui-scale))}.ptl caption{text-align:left;font-size:var(--fs-meta);color:var(--text-2);padding-bottom:.5em}.ptl th,.ptl td{padding:0;vertical-align:middle}.ptl thead th{font-size:var(--fs-label);font-weight:500;color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;text-align:center;white-space:nowrap}.ptl tbody th{text-align:left;font-weight:500;font-size:var(--fs-table);color:var(--text);max-width:calc(13rem * var(--ui-scale));padding-right:.6em}.ptl .ptl-cam{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptl .ptl-sub{display:block;font-family:var(--mono);font-size:var(--fs-micro);color:var(--text-3)}.ptl .ptl-cell{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-width:calc(1.75rem * var(--ui-scale));height:calc(1.75rem * var(--ui-scale));-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:default;font-family:var(--mono);font-size:var(--fs-label-mono);line-height:1;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--panel2);color:var(--text-4)}.ptl .ptl-cell:after{content:"";position:absolute;left:0;right:0;top:calc((1.75rem * var(--ui-scale) - 2.75rem * var(--ui-scale)) / 2);bottom:calc((1.75rem * var(--ui-scale) - 2.75rem * var(--ui-scale)) / 2)}.ptl .ptl-cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px;z-index:1}.ptl .ptl-cell[data-state=accepted]{background:var(--elev);border-color:var(--ok);color:var(--ok);border-radius:var(--radius-xs)}.ptl .ptl-cell[data-state=rejected]{background:var(--panel2);border-color:var(--line2);color:var(--text-2);border-radius:50%}.ptl .ptl-cell[data-state=not_recorded]{background:transparent;border-style:dashed;border-color:var(--line);color:var(--text-4)}.ptl-legend{display:flex;flex-wrap:wrap;gap:.75em 1.25em;font-size:var(--fs-caption);color:var(--text-2)}.ptl-legend .ptl-legend-item{display:inline-flex;align-items:center;gap:.45em}.ptl-legend .ptl-mark{display:inline-flex;align-items:center;justify-content:center;width:calc(1.125rem * var(--ui-scale));height:calc(1.125rem * var(--ui-scale));font-family:var(--mono);font-size:var(--fs-label-mono);line-height:1;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--panel2);color:var(--text-4)}.ptl-legend .ptl-mark[data-state=accepted]{background:var(--elev);border-color:var(--ok);color:var(--ok);border-radius:var(--radius-xs)}.ptl-legend .ptl-mark[data-state=rejected]{border-color:var(--line2);color:var(--text-2);border-radius:50%}.ptl-legend .ptl-mark[data-state=not_recorded]{background:transparent;border-style:dashed;color:var(--text-4)}.ptl-rows{margin:0;padding:0;list-style:none;font-size:var(--fs-meta);color:var(--text-2)}.ptl-rows li{padding:.15em 0}.ptl-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.attr-state{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:calc(1.0625rem * var(--ui-scale));height:calc(1.0625rem * var(--ui-scale));font-family:var(--mono);font-size:var(--fs-label-mono);line-height:1;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--panel2);color:var(--text-4)}.attr-state[data-state=matched]{background:var(--elev);border-color:var(--ok);color:var(--ok);border-radius:var(--radius-xs)}.attr-state[data-state=not_matched]{border-color:var(--line2);color:var(--text-2);border-radius:50%}.attr-state[data-state=not_requested]{background:transparent;border-style:dashed;border-color:var(--line);color:var(--text-4)}.attr-row{display:flex;align-items:center;gap:.45em;font-size:var(--fs-caption);color:var(--text-2)}.attr-row .attr-label{color:var(--text)}.attr-row[data-state=not_requested] .attr-label{color:var(--text-3)}.trail-sb .trail-lane{display:flex;align-items:stretch;gap:0;overflow-x:auto;overflow-y:hidden;padding-bottom:.3em;scrollbar-width:thin}.trail-sb .trail-card{flex:0 0 auto;width:13em;display:flex;flex-direction:column;gap:.25em;padding:.5em;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--panel);min-width:0}.trail-sb .trail-card.trail-card--reference{border-color:var(--live-edge);background:var(--panel2)}.trail-sb .trail-card.trail-card--confirmed{border-color:var(--ok)}.trail-sb .trail-card.trail-card--candidate{border-style:dashed;border-color:var(--warn)}.trail-sb .trail-card.trail-card--rejected{border-color:var(--line);opacity:.72}.trail-sb .trail-card.trail-card--gap{border-style:dashed;background-color:var(--panel);background-image:repeating-linear-gradient(45deg,var(--line) 0 .12em,transparent .12em .62em)}.trail-sb .trail-conn{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.15em;width:7.5em;padding:0 .35em;text-align:center}.trail-sb .trail-conn-rule{width:100%;border-top:1px solid var(--line)}.trail-sb .trail-conn.trail-conn--implausible .trail-conn-rule{border-top-style:dashed;border-top-color:var(--warn)}.trail-sb .trail-thumb{width:100%;aspect-ratio:3/4;border-radius:var(--radius-xs);overflow:hidden}.trail-sb .trail-lane--candidates{padding-top:.1em}.drawer.person-trail-drawer{width:clamp(32em,40vw,43em);max-width:92vw}
