:root{--bg: #0d1117;--surface: #161b24;--surface-2: #1c2333;--border: #21293a;--accent: #00e5a0;--accent-2: #00aaff;--danger: #ff4d6a;--text: #c8d0db;--muted: #6f7b8f;--mono: "Share Tech Mono", monospace;--sans: "Exo 2", sans-serif}.cockpit-redesign{display:grid;flex:1 1 auto;grid-template-rows:minmax(330px,1.15fr) minmax(360px,1fr);gap:12px;min-height:0;overflow-y:auto}.cockpit-view{border:1px solid rgba(119,131,151,.25)}.cockpit-view.teleop-active{border-color:var(--ud-accent)}.cockpit-teleop-status{position:absolute;top:28px;left:50%;transform:translate(-50%,-50%);color:#778397;font:700 11px var(--mono);text-align:center;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.cockpit-teleop-status.active{color:var(--ud-accent)}@media(max-width:1100px){.unified-topbar.cockpit-header{flex:0 0 auto;flex-wrap:wrap;height:auto;gap:8px 16px}.cockpit-header .cockpit-teleop-status{position:static;flex-basis:100%;order:1;transform:none}}.cockpit-camera-wide{width:100%;min-height:330px}.cockpit-map-telemetry{position:absolute;z-index:9;top:10px;right:10px;display:flex;align-items:center;gap:8px}.cockpit-map-telemetry>span{display:inline-flex;min-width:76px;height:34px;align-items:center;justify-content:center;gap:7px;padding:0 10px;border:1px solid var(--ud-border);border-radius:6px;color:#718096;background:#080e17b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.cockpit-map-telemetry b{color:inherit;font:700 11px var(--mono);white-space:nowrap}.cockpit-map-device-select{position:absolute;z-index:9;top:10px;left:10px;display:flex;height:42px;align-items:center;gap:8px;padding:5px 7px;border:1px solid rgba(111,128,151,.32);border-radius:6px;color:#8796aa;background:#080e17b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font:9px var(--mono);text-transform:uppercase}.cockpit-map-device-select select{min-width:150px;height:32px;padding:4px 28px 4px 9px;border:0;color:var(--ud-accent);background:#0d1623e6;font:700 10px var(--mono)}.cockpit-localize-button{height:32px;padding:0 10px;border:1px solid var(--ud-accent);border-radius:4px;color:var(--ud-accent);background:#00e5a01a;font:700 10px var(--mono);text-transform:uppercase;cursor:pointer}.cockpit-localize-button:hover,.cockpit-localize-button:focus-visible{background:#00e5a038}.cockpit-icon{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cockpit-battery-icon{width:22px}.cockpit-battery-fill{fill:currentColor;stroke:none;transition:width .24s ease}.battery-reading{display:inline-flex;align-items:center;gap:5px}.battery-charging-status{display:inline-flex;color:var(--ud-accent)}.battery-charging-icon{width:12px;height:16px;fill:currentColor}.cockpit-map-stage{position:relative;min-height:360px;padding:0;overflow:hidden;background:#080e16}.cockpit-map-canvas,.cockpit-map-canvas .mission-topology{width:100%;height:100%;min-height:360px}.cockpit-map-tools,.cockpit-overlay-controls{position:absolute;z-index:8;display:flex;border:1px solid rgba(111,128,151,.28);border-radius:8px;background:#060c1594;box-shadow:0 8px 24px #00000047;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.cockpit-map-tools{top:10px;left:50%;align-items:center;gap:4px;padding:5px;transform:translate(-50%);opacity:.3;transition:opacity .16s ease,background .16s ease}.cockpit-map-tools:hover,.cockpit-map-tools:has(button:focus-visible){background:#060c15db;opacity:1}.cockpit-map-tools>span{min-width:42px;color:#a7b4c7;font:9px var(--mono);text-align:center}.cockpit-overlay-controls{top:50%;flex-direction:column;gap:7px;padding:7px;transform:translateY(-50%)}.cockpit-overlay-left{left:10px}.cockpit-overlay-right{right:10px}button.cockpit-tooltip:has(.cockpit-icon){--cockpit-icon-color: #6bc9f0}button.cockpit-tooltip:has(.cockpit-icon-stand,.cockpit-icon-play){--cockpit-icon-color: #62e6ad}button.cockpit-tooltip:has(.cockpit-icon-lay,.cockpit-icon-pause){--cockpit-icon-color: #f7b955}button.cockpit-tooltip:has(.cockpit-icon-record){--cockpit-icon-color: #ad707e}button.cockpit-tooltip:has(.cockpit-icon-photo,.cockpit-icon-focus){--cockpit-icon-color: #5edbd0}button.cockpit-tooltip:has(.cockpit-icon-immersive,.cockpit-icon-door-open,.cockpit-icon-door-closed,.cockpit-icon-layers){--cockpit-icon-color: #bd9af7}button.cockpit-tooltip>.cockpit-icon{color:var(--cockpit-icon-color, #9aa9bd)}button.cockpit-tooltip.active>.cockpit-icon{color:var(--ud-accent)}button.cockpit-tooltip.warning>.cockpit-icon{color:#f7b955}button.cockpit-tooltip.recording>.cockpit-icon{color:var(--ud-danger)}button.cockpit-tooltip:disabled>.cockpit-icon{opacity:.4}.cockpit-map-tools button,.cockpit-overlay-controls>button{display:grid;width:40px;height:40px;padding:0;place-items:center;border:1px solid rgba(111,128,151,.35);border-radius:6px;color:#9aa9bd;background:#0b1420d1}.cockpit-map-tools button:hover,.cockpit-map-tools button:focus-visible,.cockpit-overlay-controls>button:hover,.cockpit-overlay-controls>button:focus-visible,.cockpit-map-tools button.active,.cockpit-overlay-controls>button.active{border-color:#00e5a0a6;color:var(--ud-accent);background:#00e5a01a}.cockpit-map-tools button.active{border-color:#00e5a0d1!important;color:#62f5c5!important;background:#00e5a033!important;box-shadow:inset 0 0 0 1px #00e5a029,0 0 12px #00e5a02e}.cockpit-view .cockpit-overlay-controls>button.recording{border-color:var(--ud-danger);color:var(--ud-danger);box-shadow:0 0 12px #ff4d6a33}.cockpit-overlay-controls>button.recording svg{color:var(--ud-danger);animation:cockpit-recording-pulse 1.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.cockpit-overlay-controls>button.recording svg{animation:none}}.cockpit-overlay-controls>button.warning{border-color:#f7b955a6;color:#f7b955}.cockpit-tooltip{position:relative}.cockpit-tooltip:after{position:absolute;z-index:40;bottom:calc(100% + 7px);left:50%;max-width:190px;padding:6px 8px;transform:translate(-50%,4px);border:1px solid var(--ud-border);border-radius:4px;color:#d8e2ef;background:#0a111c;box-shadow:0 5px 15px #0006;content:attr(data-tooltip);font:9px/1.3 var(--mono);opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;white-space:nowrap}.cockpit-tooltip:hover:after,.cockpit-tooltip:focus-visible:after{opacity:1;transform:translate(-50%)}.cockpit-map-tools .cockpit-tooltip:after,.cockpit-map-telemetry .cockpit-tooltip:after{top:calc(100% + 7px);bottom:auto;transform:translate(-50%,-4px)}.cockpit-map-tools .cockpit-tooltip:hover:after,.cockpit-map-tools .cockpit-tooltip:focus-visible:after,.cockpit-map-telemetry .cockpit-tooltip:hover:after,.cockpit-map-telemetry .cockpit-tooltip:focus-visible:after{transform:translate(-50%)}.cockpit-overlay-left .cockpit-tooltip:after{top:50%;bottom:auto;left:calc(100% + 8px);transform:translate(4px,-50%)}.cockpit-overlay-right .cockpit-tooltip:after{top:50%;right:calc(100% + 8px);bottom:auto;left:auto;transform:translate(-4px,-50%)}.cockpit-overlay-left .cockpit-tooltip:hover:after,.cockpit-overlay-left .cockpit-tooltip:focus-visible:after,.cockpit-overlay-right .cockpit-tooltip:hover:after,.cockpit-overlay-right .cockpit-tooltip:focus-visible:after{transform:translateY(-50%)}.cockpit-speed-sliders{position:absolute;top:48px;left:calc(100% + 8px);display:grid;width:min(260px,calc(100vw - 120px));gap:9px;padding:10px;border:1px solid var(--ud-border);border-radius:7px;background:#060c15f0;box-shadow:0 9px 24px #0000006b}.cockpit-speed-sliders label{display:grid;grid-template-columns:78px 1fr 34px;align-items:center;gap:6px;color:#9aa9bd;font:9px var(--mono);text-transform:uppercase}.cockpit-speed-sliders input{min-width:0}.cockpit-speed-sliders b{color:#d8e2ef;text-align:right}.cockpit-action-message{position:absolute;z-index:7;right:64px;bottom:10px;max-width:min(440px,calc(100% - 128px));min-height:42px;padding:11px 15px;border:1px solid rgba(0,170,255,.42);border-radius:7px;color:#d8e6f6;background:#060f1be6;box-shadow:0 8px 24px #00000057;font:12px/1.5 var(--mono)}.cockpit-modal-backdrop{position:fixed;z-index:1000;inset:0;display:grid;padding:20px;place-items:center;background:radial-gradient(circle at 50% 38%,rgba(0,170,255,.08),transparent 32%),#00040ad1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.cockpit-modal{position:relative;width:min(680px,100%);max-height:min(780px,calc(100dvh - 40px));overflow-y:auto;border:1px solid rgba(0,229,160,.24);border-radius:12px;background:linear-gradient(145deg,#101a28,#090f19 72%);box-shadow:0 28px 80px #000000ad,inset 0 1px #ffffff08;animation:cockpit-modal-enter .15s ease-out}.cockpit-modal:before{position:absolute;top:-1px;right:28px;left:28px;height:1px;background:linear-gradient(90deg,transparent,var(--ud-accent),transparent);content:""}@keyframes cockpit-modal-enter{0%{transform:translateY(8px) scale(.985);opacity:0}}.cockpit-modal>header,.cockpit-modal>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 21px;border-bottom:1px solid var(--ud-border)}.cockpit-modal>header h2{margin:0;color:#e4ebf5;font:700 17px var(--mono);letter-spacing:.06em;text-transform:uppercase}.cockpit-modal>header button{width:38px;height:38px;padding:0;border-color:transparent;border-radius:50%;color:#8190a4;background:#ffffff06;font-size:24px;line-height:1}.cockpit-modal>header button:hover,.cockpit-modal>header button:focus-visible{border-color:#ff527780;color:#ff5277;background:#ff527714}.cockpit-modal>footer{justify-content:flex-end;border-top:1px solid var(--ud-border);border-bottom:0}.cockpit-help-grid{display:grid;grid-template-columns:135px minmax(0,1fr);gap:0;padding:15px 21px 21px;color:#9aa9bd;font:14px/1.55 var(--mono)}.cockpit-help-grid b{padding:13px 14px;border-bottom:1px solid rgba(111,128,151,.14);color:var(--ud-accent);background:#00e5a006}.cockpit-help-grid span{padding:13px 14px;border-bottom:1px solid rgba(111,128,151,.14)}.cockpit-dialog-options{display:grid;gap:9px;padding:21px}.cockpit-dialog-options label,.alert-batch-actions fieldset label{display:flex;min-height:56px;align-items:center;gap:10px;padding:12px 15px;border:1px solid rgba(111,128,151,.25);border-radius:8px;color:#c7d2e1;background:#ffffff06;font:14px var(--mono);cursor:pointer;transition:border-color .13s ease,color .13s ease,background .13s ease}.cockpit-dialog-options label:hover,.cockpit-dialog-options label:focus-within,.alert-batch-actions fieldset label:hover,.alert-batch-actions fieldset label:focus-within{border-color:#00aaff7a;color:#e2edf9;background:#00aaff12}.cockpit-dialog-options label:has(input:checked),.alert-batch-actions fieldset label:has(input:checked){border-color:#00e5a094;color:#e5fff7;background:#00e5a017;box-shadow:inset 3px 0 var(--ud-accent)}.cockpit-dialog-options input,.alert-detail-view input[type=checkbox]{width:auto;accent-color:var(--ud-accent)}.cockpit-modal>footer .cockpit-modal-confirm{min-width:132px;min-height:42px;border-color:#00e5a08c;color:#78f7ce!important;background:#00e5a01f!important;font:800 12px var(--mono);letter-spacing:.06em;text-transform:uppercase}.cockpit-modal>footer .cockpit-modal-confirm:disabled{border-color:#7f8da152;color:#a8b4c5!important;background:#111a27!important;opacity:1;cursor:not-allowed}.cockpit-modal>footer .cockpit-modal-confirm:hover:not(:disabled),.cockpit-modal>footer .cockpit-modal-confirm:focus-visible:not(:disabled){border-color:#8fffd9;color:#06120e!important;background:#57efbd!important;box-shadow:0 0 18px #00e5a03d}@media(max-width:800px){.cockpit-view{overflow-y:auto}.cockpit-redesign{flex:0 0 auto;grid-template-rows:minmax(380px,55dvh) minmax(420px,60dvh);overflow:visible}.cockpit-map-device-select{top:7px;left:7px}.cockpit-map-telemetry{top:7px;right:7px}.cockpit-map-tools{top:54px}.cockpit-map-canvas,.cockpit-map-canvas .mission-topology{min-height:420px}.cockpit-map-tools{max-width:calc(100% - 20px)}.cockpit-map-tools button,.cockpit-overlay-controls>button{width:44px;height:44px}}@media(max-width:570px){.cockpit-map-telemetry{top:58px}.cockpit-map-tools{top:100px}.cockpit-map-device-select select{min-width:105px;max-width:125px}.cockpit-map-telemetry{gap:3px}.cockpit-map-telemetry>span{min-width:0;padding-inline:6px}.cockpit-map-telemetry b{font-size:9px}.cockpit-map-tools{opacity:.48}.cockpit-map-tools>span{display:none}.cockpit-overlay-left{left:6px}.cockpit-overlay-right{right:6px}.cockpit-tooltip:after{display:none}.cockpit-speed-sliders{width:min(230px,calc(100vw - 80px))}.cockpit-action-message{right:58px;max-width:calc(100% - 116px)}.cockpit-help-grid{grid-template-columns:80px minmax(0,1fr);padding:13px}.cockpit-modal-backdrop{padding:8px}}.unified-dashboard{--ud-bg: #0d1117;--ud-surface: #161b24;--ud-surface-2: #1c2333;--ud-border: #283143;--ud-accent: #00e5a0;--ud-blue: #00aaff;--ud-danger: #ff4d6a;--ud-warning: #f59e0b;position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;overflow:hidden;color:#c8d0db;background:var(--ud-bg);font-family:"Exo 2",system-ui,sans-serif}.unified-dashboard.cockpit-immersive .unified-topbar,.unified-dashboard.cockpit-immersive .unified-sidebar{display:none}.unified-dashboard.cockpit-immersive .unified-body{min-height:100%}.unified-dashboard button{font:inherit}.unified-dashboard button:focus-visible{outline:2px solid var(--ud-blue);outline-offset:1px}.unified-topbar{display:flex;flex:0 0 57px;align-items:center;gap:16px;padding:8px 18px;border-bottom:1px solid var(--ud-border);background:var(--ud-surface)}.unified-logo{width:180px;height:42px;object-fit:contain;object-position:left center}.unified-divider{width:1px;height:28px;background:var(--ud-border)}.unified-divider.short{height:20px}.system-status,.facility-label{font:10px Share Tech Mono,monospace;letter-spacing:.07em;color:#778397}.system-status{display:flex;align-items:center;gap:9px}.system-status-part{display:inline-flex;align-items:center;gap:7px}.system-status-separator{color:#465165}.system-status-light{display:inline-block;width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#778397;box-shadow:0 0 7px #778397}.system-status-part.good{color:var(--ud-accent)}.system-status-part.good .system-status-light{background:var(--ud-accent);box-shadow:0 0 8px var(--ud-accent)}.system-status-part.warning{color:#f4b740}.system-status-part.warning .system-status-light{background:#f4b740;box-shadow:0 0 8px #f4b740}.system-status-part.danger{color:#ff5263}.system-status-part.danger .system-status-light{background:#ff5263;box-shadow:0 0 9px #ff5263}.system-status-part .system-status-light{animation:ud-blink 1.2s infinite}.live-dot,.cyan-dot,.warning-dot{display:inline-block;width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--ud-accent);box-shadow:0 0 6px var(--ud-accent);animation:ud-blink 2s infinite}.cyan-dot{background:var(--ud-blue);box-shadow:0 0 6px var(--ud-blue);animation:none}.home-feed-status{display:inline-block;width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--ud-accent);box-shadow:0 0 6px var(--ud-accent);animation:ud-blink 2s infinite}.home-feed-status.offline{background:var(--ud-danger);box-shadow:0 0 6px var(--ud-danger)}.home-feed-status.waiting{background:var(--ud-warning);box-shadow:0 0 6px var(--ud-warning)}.warning-dot{background:var(--ud-warning);box-shadow:0 0 6px var(--ud-warning);animation:none}.facility-label{margin-left:auto}.facility-label span{padding:0 5px}.operator{display:flex;align-items:center;gap:8px;border:0;color:#fff;background:transparent;cursor:pointer;text-align:left;text-decoration:none}.operator-avatar{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(0,170,255,.35);border-radius:6px;color:var(--ud-blue);background:#00aaff1f;font:700 11px Share Tech Mono,monospace}.operator strong,.operator small{display:block}.operator strong{font-size:11px}.operator small{margin-top:2px;color:#778397;font-size:8px;letter-spacing:.08em}.unified-body{display:flex;flex:1;min-height:0}.unified-sidebar{display:flex;width:73px;flex:0 0 73px;flex-direction:column;align-items:center;gap:3px;padding:12px 0;border-right:1px solid var(--ud-border);background:var(--ud-surface)}.unified-sidebar button{display:flex;width:57px;min-height:51px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 0;border:0;border-radius:8px;color:#667287;background:transparent;cursor:pointer;font:8px Share Tech Mono,monospace;letter-spacing:.02em;text-transform:uppercase}.unified-sidebar button:hover,.unified-sidebar button.active{color:var(--ud-accent);background:#00e5a017}.nav-icon{color:inherit;font:20px/1 system-ui,sans-serif}.nav-icon svg{display:block;width:21px;height:21px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.home-center{display:flex;flex:1;min-width:0;min-height:0;overflow:hidden}.home-main{display:flex;flex:1;min-width:0;flex-direction:column;gap:12px;padding:12px}.feed-workspace{display:flex;flex:1;min-width:0;min-height:0;gap:12px}.panel{min-width:0;border:1px solid var(--ud-border);border-radius:10px;background:var(--ud-surface);overflow:hidden}.panel-title{display:flex;min-height:40px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:9px;padding:9px 12px;border-bottom:1px solid var(--ud-border)}.panel-title h2{display:flex;align-items:center;gap:7px;margin:0;color:#fff;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.panel-title small{color:#667287;font:8px Share Tech Mono,monospace;white-space:nowrap}.feed-list-panel{display:flex;width:211px;flex:0 0 211px;flex-direction:column}.feed-list{display:flex;flex:1;min-height:0;flex-direction:column;gap:6px;padding:8px;overflow:auto}.feed-choice{flex:0 0 auto;padding:0;overflow:hidden;border:1px solid var(--ud-border);border-radius:5px;color:#c8d0db;background:transparent;cursor:pointer;text-align:left}.feed-choice:hover,.feed-choice.selected{border-color:var(--ud-blue)}.feed-preview,.camera-tile{position:relative;display:block;overflow:hidden;background-color:#060a10;background-image:repeating-linear-gradient(45deg,transparent,transparent 9px,rgba(28,35,51,.5) 9px,rgba(28,35,51,.5) 18px),radial-gradient(circle at 65% 45%,rgba(47,75,90,.24),transparent 27%)}.feed-preview{height:62px}.feed-preview>.mission-video-frame,.camera-tile>.mission-video-frame{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}.feed-preview>.mission-video-frame video,.camera-tile>.mission-video-frame video{width:100%;height:100%;object-fit:cover}.mission-video-frame.limited-frame-rate video{opacity:0}.mission-video-frame.limited-frame-rate canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.feed-preview>.mission-video-frame>button,.camera-tile>.mission-video-frame>button{color:#667287;background:#060a10b8;font:9px Share Tech Mono,monospace}.feed-state{margin:0;padding:12px 6px;color:#667287;font:10px Share Tech Mono,monospace;text-align:center}.feed-state.error{color:var(--ud-danger)}.offline-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#667287}.feed-choice small{display:block;padding:3px 6px;color:#667287;background:#ffffff06;font:8px Share Tech Mono,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-name{position:absolute;top:5px;left:6px;display:flex;align-items:center;gap:4px;font:8px Share Tech Mono,monospace}.feed-preview b{position:absolute;top:5px;right:5px;display:grid;width:15px;height:15px;place-items:center;border-radius:50%;color:#081118;background:var(--ud-blue);font-size:9px}.grid-panel{display:flex;flex:1;min-width:0;flex-direction:column}.grid-options,.floor-switch{display:flex;gap:4px}.grid-options button,.floor-switch button{padding:3px 9px;border:1px solid var(--ud-border);border-radius:5px;color:#667287;background:transparent;cursor:pointer;font:700 9px Share Tech Mono,monospace}.grid-options button.active,.floor-switch button.active{border-color:var(--ud-blue);color:var(--ud-blue);background:#00aaff1a}.camera-grid{display:grid;flex:1;min-height:0;gap:6px;padding:7px;background:var(--ud-border)}.camera-grid.grid-adaptive{align-content:stretch;overflow:auto}.camera-grid.grid-2x2{grid-template:repeat(2,1fr) / repeat(2,1fr)}.camera-grid.grid-3x3{grid-template:repeat(3,1fr) / repeat(3,1fr)}.camera-tile{container-type:inline-size;min-width:0;min-height:0}.camera-noise{position:absolute;inset:0;opacity:.22;background:linear-gradient(155deg,transparent 40%,rgba(0,170,255,.17)),repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.02) 3px 4px)}.camera-label{position:absolute;top:7px;left:8px;display:flex;align-items:center;gap:5px;color:#dbe2ea;font:9px Share Tech Mono,monospace}.camera-fit-controls{position:absolute;z-index:6;top:7px;right:7px;display:flex;gap:4px;opacity:0;transform:translateY(-3px);transition:opacity .16s ease,transform .16s ease;pointer-events:none}.camera-tile:hover .camera-fit-controls,.camera-tile:focus-within .camera-fit-controls,.cockpit-camera-feed:hover .camera-fit-controls,.cockpit-camera-feed:focus-within .camera-fit-controls{opacity:1;transform:translateY(0);pointer-events:auto}.camera-fit-controls button{padding:3px 8px;border:1px solid rgba(141,154,175,.45);border-radius:5px;color:#c8d0db;background:#080e16db;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font:700 9px Share Tech Mono,monospace;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 2px 7px #0000004d}.camera-fit-controls button:hover{border-color:var(--ud-blue);color:#fff}.camera-fit-controls button.active{border-color:var(--ud-blue);color:var(--ud-blue);background:#00aaff24}.camera-tile>small{position:absolute;bottom:7px;left:8px;color:#778397;font:8px Share Tech Mono,monospace}.dji-video-osd{position:absolute;z-index:12;top:29px;left:8px;display:grid;grid-template-columns:repeat(2,max-content);gap:3px 15px;padding:7px 9px;border:1px solid rgba(132,240,255,.24);border-radius:4px;color:#e2f9ffe6;background:#020a108f;box-shadow:0 2px 14px #0000005c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);font:10px/1.25 Share Tech Mono,monospace;letter-spacing:.04em;pointer-events:none;text-shadow:0 1px 3px #000}.dji-video-osd b{color:#8ff5ff;font-weight:700}.dji-video-osd.offline{display:flex;flex-direction:column;gap:3px;border-color:#ff4d6a7a;color:#ffd2d9eb;background:#20050bc2}.dji-video-osd.offline strong{color:var(--ud-danger);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.dji-video-osd.offline span{color:#ffd2d9c7;text-transform:uppercase}.camera-tile.has-dji-osd .camera-label{top:7px;z-index:12;padding:2px 5px;border-radius:3px;background:#020a1080}.dji-heading-tape{position:absolute;z-index:12;right:50%;bottom:9px;width:min(62%,520px);height:58px;overflow:hidden;transform:translate(50%);color:#e2f9ffd1;background:linear-gradient(90deg,transparent,rgba(2,10,16,.62) 16% 84%,transparent);font:9px/1 Share Tech Mono,monospace;pointer-events:none;text-shadow:0 1px 3px #000}.dji-heading-ticks{position:absolute;inset:27px 0 0}.dji-heading-ticks span{position:absolute;top:0;display:grid;justify-items:center;gap:3px;transform:translate(-50%);transition:left .18s linear}.dji-heading-ticks span>i{width:1px;height:7px;background:currentColor}.dji-heading-ticks span.current{color:#8ff5ff;font-size:11px}.dji-heading-ticks span.current>i{height:10px}.dji-heading-ticks span.cardinal{color:#8ff5ff}.dji-heading-ticks span.cardinal>i{width:2px;height:12px;background:#00e5ff;box-shadow:0 0 5px #00e5ffbf}.dji-heading-ticks span.cardinal>b{min-width:15px;padding:1px 2px;border:1px solid rgba(0,229,255,.65);border-radius:2px;color:#d9fcff;background:#002531c7;font-size:11px;line-height:1;text-align:center;box-shadow:0 0 7px #00e5ff38}.dji-heading-pointer{position:absolute;z-index:1;top:20px;left:50%;width:0;height:0;transform:translate(-50%);border-top:6px solid #00e5ff;border-right:5px solid transparent;border-left:5px solid transparent;filter:drop-shadow(0 1px 2px #000)}.dji-heading-readout{position:absolute;z-index:2;top:2px;left:50%;min-width:48px;padding:2px 5px;transform:translate(-50%);border:1px solid rgba(0,229,255,.7);border-radius:3px;color:#d9fcff;background:#001922d6;font-size:11px;text-align:center;box-shadow:0 0 7px #00e5ff40}@container (max-width: 360px){.dji-video-osd,.dji-heading-tape{display:none}.camera-tile.has-dji-osd .camera-label{top:7px}}.detection-box{position:absolute;left:39%;top:27%;width:25%;height:44%;border:2px solid var(--ud-danger)}.detection-box.warning{border-color:var(--ud-warning)}.detection-box b{position:absolute;top:-17px;left:-2px;padding:2px 4px;color:#0d1117;background:var(--ud-danger);font:700 7px Share Tech Mono,monospace;white-space:nowrap}.detection-box.warning b{background:var(--ud-warning)}.empty-feed{display:flex;min-height:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px dashed #3a465a;color:#596579;background:#0c121b;cursor:pointer;font-size:20px}.empty-feed small{font:8px Share Tech Mono,monospace;text-transform:uppercase}.home-aside{display:flex;width:381px;flex:0 0 381px;flex-direction:column;gap:12px;padding:12px 12px 12px 0}.map-panel,.alerts-panel{display:flex;flex:1;min-height:0;flex-direction:column}.map-panel{flex:1.1}.map-panel .panel-title{padding-inline:13px}.floor-plan{position:relative;flex:1;min-height:160px;margin:10px;overflow:hidden;border:1px solid var(--ud-border);border-radius:6px;background:#050709}.floor-plan:before{content:none}.floor-plan>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;filter:invert(1) brightness(.82) contrast(.9);-webkit-user-select:none;user-select:none;pointer-events:none}.home-map-header{display:flex;align-items:center;padding-block:7px}.home-waypoint-toolbar,.home-waypoint-chips{display:flex;min-width:0;align-items:center;gap:4px}.home-map-toolbar{position:absolute;z-index:8;top:10px;left:50%;display:flex;width:min(260px,calc(100% - 20px));align-items:center;justify-content:space-between;gap:4px;padding:5px;transform:translate(-50%);border:1px solid rgba(111,128,151,.28);border-radius:8px;background:#060c15b3;box-shadow:0 8px 24px #00000047;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:.3;transition:opacity .16s ease,background .16s ease}.home-map-toolbar:hover,.home-map-toolbar:has(button:focus-visible){background:#060c15db;opacity:1}.home-waypoint-toolbar select{min-width:0;max-width:112px;height:24px;padding:2px 5px;border:1px solid var(--ud-border);border-radius:5px;color:#dbe7f5;background:#0b111a;font:8px Share Tech Mono,monospace}.home-map-toolbar button{display:grid;width:32px;height:32px;padding:0;place-items:center;border:1px solid rgba(111,128,151,.35);border-radius:6px;color:#9aa9bd;background:#0b1420d1;cursor:pointer}.home-waypoint-toolbar button{min-width:24px;min-height:24px;padding:3px 6px;border:1px solid var(--ud-border);border-radius:5px;color:#91a0b7;background:#111827;font:700 8px Share Tech Mono,monospace;text-transform:uppercase;cursor:pointer}.home-map-toolbar button.active,.home-map-toolbar button:hover,.home-map-toolbar button:focus-visible,.home-waypoint-toolbar button.active{color:var(--ud-accent);border-color:#00e5a07a;background:#00e5a01a}.home-map-toolbar button:disabled,.home-waypoint-toolbar button:disabled{opacity:.4;cursor:not-allowed}.home-map-toolbar>span{min-width:34px;color:#758299;font:8px Share Tech Mono,monospace;text-align:center}.home-map-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.home-map-selector{position:absolute;z-index:8;bottom:10px;left:50%;width:min(260px,calc(100% - 20px));padding:5px;transform:translate(-50%);border:1px solid rgba(111,128,151,.32);border-radius:7px;background:#060c15b8;box-shadow:0 8px 24px #0000004d;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:.3;transition:opacity .16s ease,background .16s ease}.home-map-selector:hover,.home-map-selector:has(select:focus-visible){background:#060c15db;opacity:1}.home-map-selector select{width:100%;min-width:0;height:30px;padding:4px 28px 4px 9px;border:0;border-radius:4px;color:var(--ud-accent);background:#0d1623eb;font:700 9px Share Tech Mono,monospace}.home-facility-map{display:grid;grid-template-rows:auto minmax(0,1fr)}.home-waypoint-toolbar{z-index:3;min-height:31px;padding:4px 6px;overflow-x:auto;border-bottom:1px solid var(--ud-border);background:#0b111af5}.home-waypoint-toolbar label{display:flex;align-items:center;gap:4px;color:#91a0b7;font:8px Share Tech Mono,monospace;text-transform:uppercase;white-space:nowrap}.home-waypoint-chips{flex:0 0 auto}.home-waypoint-chips button{white-space:nowrap}.home-map-stage{position:relative;min-height:0;overflow:hidden}.home-map-stage .mission-topology{width:100%;height:100%}.home-map-state{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:16px;color:#758299;font:10px Share Tech Mono,monospace;text-align:center}.topology-device-placement text,.topology-shared-robot text{fill:#fff;stroke:#02080deb;stroke-width:3px;paint-order:stroke;font-family:Share Tech Mono,monospace;font-weight:700;vector-effect:non-scaling-stroke;pointer-events:none}.topology-waypoint-overlay{opacity:1;transition:opacity .16s ease,filter .16s ease}.topology-waypoint-overlay.dimmed{opacity:.14}.topology-waypoint-overlay.highlighted{filter:drop-shadow(0 0 3px #74d7ed)}.topology-device-placement>circle{fill:#d82936;stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.topology-device-placement>circle.drone{fill:#087da8}.topology-device-placement>circle.quadruped{fill:#a85c00}.topology-device-placement>circle.humanoid{fill:#08794d}.topology-device-direction{color:#ff5d67;filter:drop-shadow(0 0 4px currentColor)}.topology-device-direction.drone{color:#4bc7ff}.topology-device-direction.quadruped{color:#ffb020}.topology-device-direction.humanoid{color:#61d89b}.topology-device-direction line,.topology-device-direction polygon{fill:currentColor;stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.floor-room{position:absolute;z-index:1;display:grid;place-items:center;color:#303942;border:1px solid #65717b;font:6px Share Tech Mono,monospace}.room-one{inset:9% 52% 52% 8%}.room-two{inset:9% 8% 52% 49%}.room-three{inset:49% 52% 9% 8%}.room-four{inset:49% 8% 9% 49%}.map-pin{position:absolute;z-index:3;display:grid;width:20px;height:20px;place-items:center;transform:translate(-50%,-50%);border:2px solid #0a0f18;border-radius:50%;color:#061019;background:var(--ud-blue);box-shadow:0 0 8px var(--ud-blue);font-size:10px}.map-pin.robot{background:var(--ud-accent);box-shadow:0 0 8px var(--ud-accent)}.map-pin.drone{background:var(--ud-warning);box-shadow:0 0 8px var(--ud-warning)}.alerts-panel .panel-title>.alert-queue-count{display:grid;min-width:32px;height:32px;flex:0 0 auto;place-items:center;padding:0 9px;border:1px solid rgb(255 82 99 / 42%);border-radius:999px;background:#ff526329;color:var(--ud-danger);font:800 15px/1 Share Tech Mono,monospace;box-shadow:0 0 12px #ff52631f}.alert-list{flex:1;min-height:0;overflow:auto}.alert-list button{display:grid;width:100%;grid-template-columns:5px minmax(0,1fr) auto;gap:9px;padding:9px 13px;border:0;border-bottom:1px solid var(--ud-border);color:#c8d0db;background:transparent;cursor:pointer;text-align:left}.alert-list button:hover,.alert-list button.selected{background:#00e5a00d}.severity{width:5px;height:100%;min-height:40px;border-radius:3px;background:var(--ud-warning)}.severity.high{background:var(--ud-danger)}.severity.low{background:var(--ud-blue)}.severity.notice{background:#8995a8}.alert-list span b,.alert-list span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-list span b{color:#fff;font-size:10px}.alert-list span small{margin-top:3px;color:#667287;font:8px Share Tech Mono,monospace}.alert-list time{color:#667287;font:8px Share Tech Mono,monospace}.alert-list em{display:inline-block;margin-top:4px;padding:1px 5px;border:1px solid currentColor;border-radius:4px;color:var(--ud-blue);background:#00aaff1a;font:700 7px Share Tech Mono,monospace;font-style:normal;text-transform:uppercase}.alert-list .status-escalated{color:var(--ud-danger);background:#ff4d6a1a}.alert-list .status-acknowledged{color:var(--ud-warning);background:#f59e0b1a}.alert-list .status-notice{color:#a7b0bf;background:#8995a817}.unified-placeholder{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;padding:32px;text-align:center;background:radial-gradient(circle at 50% 42%,rgba(0,170,255,.08),transparent 28%)}.placeholder-mark{display:grid;width:72px;height:72px;place-items:center;margin-bottom:18px;border:1px solid rgba(0,229,160,.3);border-radius:15px;color:var(--ud-accent);background:#00e5a012;font-size:34px}.unified-placeholder .eyebrow{color:var(--ud-blue);font:9px Share Tech Mono,monospace;letter-spacing:.18em}.unified-placeholder h1{margin:5px 0 8px;color:#fff;font-size:26px}.unified-placeholder>p:not(.eyebrow){max-width:530px;color:#778397;font-size:13px}.unified-placeholder button{margin-top:20px;padding:8px 13px;border:1px solid rgba(0,170,255,.35);border-radius:7px;color:var(--ud-blue);background:#00aaff14;cursor:pointer;font-size:10px;text-transform:uppercase}@keyframes ud-blink{50%{opacity:.35}}@media(max-width:1100px){.home-aside{width:330px;flex-basis:330px}.feed-list-panel{width:175px;flex-basis:175px}.facility-label{display:none}}@media(max-width:800px){.unified-dashboard{position:absolute;min-height:100dvh;overflow:auto}.unified-topbar{position:sticky;top:0;z-index:10}.system-status,.unified-divider{display:none}.operator{margin-left:auto}.unified-body{min-height:calc(100dvh - 57px)}.unified-sidebar{position:sticky;top:57px;height:calc(100dvh - 57px)}.home-center{flex-direction:column;overflow:visible}.home-main{min-height:760px}.home-aside{width:auto;flex-basis:auto;min-height:700px;padding:0 12px 12px}.feed-workspace{min-height:600px}}.unified-dashboard{font-size:17px;scrollbar-color:#46536a #0d1117;scrollbar-width:thin}.unified-dashboard button,.unified-dashboard input,.unified-dashboard select,.unified-dashboard textarea{font-size:14px!important}.unified-dashboard small,.unified-dashboard time,.unified-dashboard em,.unified-dashboard label,.unified-dashboard th,.unified-dashboard td{font-size:13px!important}.unified-dashboard .system-status,.unified-dashboard .facility-label,.unified-dashboard .panel-title h2,.unified-dashboard .view-heading h1,.unified-dashboard .panel h2{font-size:15px!important}.unified-dashboard .unified-sidebar button{font-size:12px!important}.unified-dashboard .nav-icon{font-size:21px!important}.unified-dashboard .kpi-row article>span,.unified-dashboard .metric>span,.unified-dashboard .form-field>span,.unified-dashboard .filter-block label,.unified-dashboard .data-table th{font-size:12px!important}.unified-dashboard .feed-name,.unified-dashboard .camera-label,.unified-dashboard .camera-tile>small,.unified-dashboard .feed-choice small,.unified-dashboard .alert-list span small,.unified-dashboard .browser-list span small,.unified-dashboard .browser-list time{font-size:12px!important}.unified-dashboard .alert-list span b,.unified-dashboard .browser-list span b,.unified-dashboard .device-cards header span b{font-size:14px!important}.unified-dashboard .data-table{font-size:14px!important}.unified-dashboard *::-webkit-scrollbar{width:9px;height:9px}.unified-dashboard *::-webkit-scrollbar-track{border-left:1px solid rgba(40,49,67,.45);background:#0d1117}.unified-dashboard *::-webkit-scrollbar-thumb{min-height:34px;border:2px solid #0d1117;border-radius:999px;background:#46536a}.unified-dashboard *::-webkit-scrollbar-thumb:hover{background:#63718a}.unified-dashboard *::-webkit-scrollbar-thumb:active{background:#0af}.unified-dashboard *::-webkit-scrollbar-corner{background:#0d1117}@media(max-width:570px){.unified-logo{width:105px}.unified-sidebar{width:61px;flex-basis:61px}.unified-sidebar button{width:51px}.kpi-row,.feed-workspace{flex-direction:column}.feed-list-panel{width:auto;flex-basis:210px}.feed-list{flex-direction:row}.feed-choice{width:145px}.grid-panel{min-height:560px}.camera-grid.grid-3x3{grid-template:repeat(5,1fr) / repeat(2,1fr)}}.revised-view{flex:1;min-width:0;min-height:0;padding:16px;overflow:auto;color:#c8d0db}.view-heading{display:flex;align-items:center;gap:12px;min-height:36px;margin-bottom:12px}.view-heading h1{margin:0;color:#fff;font-size:16px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.view-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.analysis-report .view-actions{flex-wrap:wrap}.analysis-report .view-actions>.analysis-location-filter{width:30ch;min-width:30ch;max-width:30ch;flex:0 0 30ch}.analysis-date-filter{display:flex;align-items:flex-end;gap:6px}.analysis-date-range-picker{position:relative}.analysis-date-range-field{display:grid;width:250px;min-height:32px;grid-template-columns:1fr auto;align-items:center;padding:6px 9px;border:1px solid var(--ud-border);border-radius:6px;color:#c8d0db;background:var(--ud-bg);text-align:left}.analysis-date-range-field b{grid-column:1;font:700 10px Share Tech Mono,monospace}.analysis-date-range-field i{grid-column:2;color:var(--ud-blue);font-style:normal}.analysis-date-range-field:hover,.analysis-date-range-field:focus-visible,.analysis-date-range-field[aria-expanded=true]{border-color:#00aaff8c;outline:none;box-shadow:0 0 0 2px #00aaff1f}.analysis-calendar-popover{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:574px;padding:12px;border:1px solid rgba(0,170,255,.35);border-radius:9px;background:#0b1321;box-shadow:0 18px 48px #0000008c}.analysis-calendar-popover>header{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:8px}.analysis-calendar-popover>header p{margin:0;color:#8ea1bf;font:700 9px Share Tech Mono,monospace;letter-spacing:.05em;text-align:center;text-transform:uppercase}.analysis-calendar-popover>header button,.analysis-calendar-days button{border:1px solid transparent;border-radius:5px;color:#aebcd3;background:transparent;font:700 10px Share Tech Mono,monospace}.analysis-calendar-popover>header button{display:grid;width:32px;height:32px;place-items:center;padding:0}.analysis-calendar-popover>header button svg,.analysis-date-step svg{width:17px;height:17px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6}.analysis-calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.analysis-calendar-month-select{display:block;width:100%;margin:2px 0 9px;padding:4px;border:1px solid transparent;border-radius:5px;color:#e1e8f2;background:transparent;font:700 10px Share Tech Mono,monospace;text-align:center}.analysis-calendar-month-select:hover,.analysis-calendar-month-select:focus-visible{border-color:#0af6;color:var(--ud-blue);background:#00aaff14;outline:none}.analysis-calendar-weekdays,.analysis-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.analysis-calendar-weekdays span{padding:4px 0;color:#596b87;font:8px Share Tech Mono,monospace;text-align:center}.analysis-calendar-days button,.analysis-calendar-days>span{min-width:0;height:30px}.analysis-calendar-days button:hover,.analysis-calendar-days button:focus-visible,.analysis-calendar-popover>header button:hover,.analysis-calendar-popover>header button:focus-visible{border-color:#00aaff73;color:#8ed8ff;background:#00aaff1a;outline:none}.analysis-calendar-days button.in-range{border-radius:2px;color:#8ed8ff;background:#00aaff1f}.analysis-calendar-days button.range-edge{border-color:#00aaffbf;border-radius:5px;color:#06111b;background:var(--ud-blue)}.analysis-calendar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--ud-border)}.analysis-calendar-actions button{min-height:32px;padding:6px 10px;border:1px solid var(--ud-border);border-radius:6px;color:#c8d0db;background:var(--ud-surface-2);font:700 9px Share Tech Mono,monospace;letter-spacing:.04em;text-transform:uppercase}.analysis-calendar-actions button:hover,.analysis-calendar-actions button:focus-visible{border-color:#00aaff80;color:var(--ud-blue);background:#00aaff1a;outline:none}.analysis-date-button{min-height:32px;padding:6px 10px;border:1px solid var(--ud-border);border-radius:6px;color:#c8d0db;background:var(--ud-surface-2);font:700 9px Share Tech Mono,monospace;letter-spacing:.04em;text-transform:uppercase}.analysis-date-button:hover,.analysis-date-button:focus-visible{border-color:#00aaff80;color:var(--ud-blue);background:#00aaff1a;outline:none}.analysis-date-step{display:grid;width:32px;place-items:center;padding:0}.revised-view select,.revised-view input,.revised-view textarea{min-width:0;padding:7px 9px;border:1px solid var(--ud-border);border-radius:6px;color:#c8d0db;background:var(--ud-bg);font:10px Share Tech Mono,monospace}.revised-view button{cursor:pointer}.primary-action,.positive,.negative,.revised-view .panel button{padding:6px 10px;border:1px solid var(--ud-border);border-radius:6px;color:#c8d0db;background:var(--ud-surface-2);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.primary-action{border-color:#0af6!important;color:var(--ud-blue)!important;background:#00aaff1a!important}.positive{border-color:#00e5a066!important;color:var(--ud-accent)!important;background:#00e5a01a!important}.negative{border-color:#ff4d6a59!important;color:var(--ud-danger)!important;background:#ff4d6a1a!important}.view-actions .cockpit-return-base{min-height:31px;padding:6px 12px;border:1px solid rgba(0,170,255,.45);border-radius:6px;color:#66cfff;background:linear-gradient(180deg,#00aaff26,#005ea017);box-shadow:inset 0 0 0 1px #66cfff0a;font:700 9px Share Tech Mono,monospace;letter-spacing:.05em;text-transform:uppercase}.view-actions .cockpit-return-base:disabled{cursor:not-allowed;opacity:.68;filter:saturate(.72)}.back-link{margin-bottom:12px;padding:0;border:0;color:var(--ud-blue);background:none;font:700 10px Share Tech Mono,monospace;letter-spacing:.05em;text-transform:uppercase}.view-tabs{display:flex;width:max-content;margin-bottom:12px;overflow:hidden;border:1px solid var(--ud-border);border-radius:7px}.view-tabs button{padding:8px 15px;border:0;border-right:1px solid var(--ud-border);color:#667287;background:transparent;font:700 9px Share Tech Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.view-tabs button:last-child{border:0}.view-tabs button.active{color:var(--ud-accent);background:#00e5a017}.chip-row{display:flex;flex-wrap:wrap;gap:4px}.chip-row button{padding:3px 7px;border:1px solid var(--ud-border);border-radius:5px;color:#667287;background:transparent;font:8px Share Tech Mono,monospace}.chip-row button.active{border-color:var(--ud-blue);color:var(--ud-blue);background:#00aaff1a}.form-field{display:flex;flex-direction:column;gap:4px}.form-field>span,.filter-block label{color:#667287;font:8px Share Tech Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.panel h2{margin:0;color:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.alert-detail-grid{display:grid;flex:1;grid-template-columns:280px minmax(300px,1.4fr) 340px;gap:14px;min-height:0;overflow:hidden}.revised-view.alert-detail-view{display:flex;flex-direction:column;overflow:hidden}.alert-detail-view .back-link{flex:0 0 auto}.alert-browser{display:flex;min-height:0;flex-direction:column;overflow:hidden}.filter-block{display:flex;flex-direction:column;gap:7px;padding:12px 14px;border-bottom:1px solid var(--ud-border)}.filter-block h2{margin-bottom:2px}.browser-list{flex:1;min-height:0;overflow:auto}.browser-list>button,.alert-browser-row>button{display:grid;width:100%;grid-template-columns:4px minmax(0,1fr) auto;gap:8px;padding:9px 13px;border:0;border-bottom:1px solid var(--ud-border);color:#c8d0db;background:transparent;text-align:left}.browser-list>button.active,.alert-browser-row:has(>button.active){background:#00e5a012}.browser-list span b,.browser-list span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-list span b{color:#fff;font-size:10px}.browser-list span small,.browser-list time{color:#667287;font:8px Share Tech Mono,monospace}.browser-list em{color:var(--ud-blue);font:7px Share Tech Mono,monospace;font-style:normal;text-transform:uppercase}.alert-evidence,.alert-response{display:flex;min-width:0;flex-direction:column;gap:12px;overflow:hidden}.alert-response{min-height:0;overflow-y:auto}.alert-response>*{flex-shrink:0}.alert-edit-result{padding:12px;font-size:12px;overflow-wrap:anywhere}.alert-edit-result-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.alert-edit-result p{margin:0}.alert-edit-result summary{margin-top:8px;color:var(--ud-blue);cursor:pointer}.alert-edit-result-details{white-space:pre-line;max-height:160px;overflow-y:auto;margin-top:8px;line-height:1.5}.alert-edit-result-details:focus-visible{outline:2px solid var(--ud-blue);outline-offset:-2px}.evidence-frame{position:relative;flex:0 0 auto;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--ud-border);border-radius:10px;background:repeating-linear-gradient(45deg,#060a10,#060a10 12px,#101721 12px 24px)}.evidence-frame>small{position:absolute;bottom:8px;left:10px;font:9px Share Tech Mono,monospace}.evidence-frame>img,.evidence-frame>video{width:100%;height:100%;object-fit:contain;background:#000}.evidence-placeholder,.alert-empty-state{display:grid;min-height:80px;place-items:center;padding:16px;color:#667287;font-family:Share Tech Mono,monospace;text-align:center}.evidence-placeholder{height:100%}.evidence-picker{justify-content:center}.evidence-box{position:absolute;left:38%;top:28%;width:24%;height:46%;border:2px solid var(--ud-danger)}.evidence-box.medium{border-color:var(--ud-warning)}.evidence-box.low{border-color:var(--ud-blue)}.evidence-box b{position:absolute;top:-19px;left:-2px;padding:2px 5px;color:#081118;background:var(--ud-danger);font:700 8px Share Tech Mono,monospace;white-space:nowrap}.activity-card,.detail-card,.response-card{padding:13px}.activity-card{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden}.activity-card h2{flex:0 0 auto;margin-bottom:6px}.activity-timeline{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain}.activity-timeline p{display:flex;gap:10px;margin:0;padding:7px 0;border-bottom:1px solid var(--ud-border);font-size:13px;line-height:1.45}.activity-timeline time{width:72px;flex:none;color:#667287;font:12px Share Tech Mono,monospace}.activity-card h2{font-size:14px}.activity-timeline p span{color:#c8d0db}.detail-card>div{display:flex;justify-content:space-between;margin-bottom:10px}.detail-card>div strong{color:#fff;font:800 14px Share Tech Mono,monospace}.detail-card>div em{padding:2px 7px;border:1px solid currentColor;border-radius:4px;color:var(--ud-danger);font:700 8px Share Tech Mono,monospace;font-style:normal;text-transform:uppercase}.detail-card>div em.tone-notice{color:#a7b0bf}.detail-card p{display:flex;justify-content:space-between;gap:8px;margin:7px 0;font-size:10px}.detail-card p span{color:#667287;font:9px Share Tech Mono,monospace;text-transform:uppercase}.detail-card p b{color:#c8d0db;text-align:right}.response-card{display:flex;flex-direction:column;gap:9px}.response-actions{display:flex;flex-wrap:wrap;gap:6px}.data-table-wrap{overflow:auto;border:1px solid var(--ud-border);border-radius:9px;background:var(--ud-surface)}.data-table{width:100%;border-collapse:collapse;font-size:10px}.data-table th{padding:10px 12px;color:#667287;font:9px Share Tech Mono,monospace;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{padding:9px 12px;border-top:1px solid var(--ud-border);white-space:nowrap}.data-table td:first-child{color:#fff;font-family:Share Tech Mono,monospace}.stats-kpis,.roster-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.metric{padding:11px 13px;border:1px solid var(--ud-border);border-radius:9px;background:var(--ud-surface)}.metric>span,.metric strong{display:block}.tone-good,.metric.tone-good strong{color:var(--ud-accent)!important}.tone-warning,.metric.tone-warning strong{color:#f7b955!important}.tone-danger,.metric.tone-danger strong{color:#ff5277!important}.tone-neutral,.metric.tone-neutral strong{color:#94a3b8!important}.metric>span{color:#667287;font:8px Share Tech Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.metric strong{margin-top:4px;color:#fff;font:800 19px Share Tech Mono,monospace}.chart-card,.label-chart{margin-top:12px;padding:14px}.bar-chart{display:flex;align-items:flex-end;gap:14px;height:160px;margin-top:10px}.bar-chart.wide{min-width:900px}.chart-card{overflow-x:auto}.bar-chart>div{display:flex;height:100%;flex:1;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.bar-chart span,.bar-chart small{color:#667287;font:9px Share Tech Mono,monospace}.bar-chart i{display:block;width:100%;background:var(--ud-blue)}.label-chart p{display:grid;grid-template-columns:170px 1fr 30px;align-items:center;gap:10px;margin:10px 0;font-size:10px}.label-chart p>i{height:9px;overflow:hidden;border-radius:3px;background:#0a0f18}.label-chart p>i b{display:block;height:100%;background:var(--ud-accent)}.label-chart em{color:#667287;font:9px Share Tech Mono,monospace;font-style:normal;text-align:right}.analysis-state{margin:0;padding:18px;border:1px solid var(--ud-border);border-radius:9px;background:var(--ud-surface);color:#94a3b8;font-family:Share Tech Mono,monospace;text-align:center}.analysis-state.error{color:#ff5277}.analysis-value{font-family:Share Tech Mono,monospace;text-transform:uppercase}.analysis-print-header,.analysis-incident-details,.analysis-print-daily-charts{display:none}@media print{.unified-dashboard{min-height:auto;height:auto;overflow:visible}.unified-topbar,.unified-sidebar,.revised-view .view-actions,.revised-view .view-tabs{display:none!important}.unified-body,.revised-view{display:block;min-height:auto;overflow:visible}.revised-view{padding:0}.data-table-wrap,.chart-card{overflow:visible}.bar-chart.wide{min-width:0}html,body{background:#fff!important;color:#172033!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.analysis-report{width:100%;color:#172033;font-family:Arial,Helvetica,sans-serif;font-size:10pt;font-weight:500;line-height:1.42}.analysis-print-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12mm;margin-bottom:7mm;padding-bottom:4mm;border-bottom:2px solid #172033}.analysis-print-header strong,.analysis-print-header span{display:block}.analysis-print-header strong{font-size:19pt;font-weight:800}.analysis-print-header span{margin-top:1mm;color:#44516a;font-size:11pt;font-weight:700}.analysis-print-header dl{display:grid;min-width:72mm;grid-template-columns:repeat(3,minmax(0,1fr));gap:5mm;margin:0}.analysis-print-header dt,.analysis-detail-grid dt{color:#59657a;font-size:7.5pt;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.analysis-print-header dd,.analysis-detail-grid dd{margin:1mm 0 0;color:#172033;font-weight:650;overflow-wrap:anywhere}.analysis-report .panel,.analysis-report .metric,.analysis-report .data-table-wrap{border-color:#aab3c2!important;background:#fff!important;box-shadow:none!important}.analysis-report .data-table{width:100%;table-layout:fixed;border-collapse:collapse;color:#172033;font-family:Arial,Helvetica,sans-serif;font-size:8.4pt;font-weight:550}.analysis-report .data-table th{padding:2.2mm 1.8mm;border:1px solid #8e99aa;background:#e8edf4!important;color:#172033!important;font-size:7.2pt;font-weight:800;letter-spacing:.025em}.analysis-report .data-table td{padding:2.1mm 1.8mm;border:1px solid #b8c0cc;color:#172033!important;font-weight:550;white-space:normal;overflow-wrap:anywhere;vertical-align:top}.analysis-report .data-table tr{break-inside:avoid}.analysis-report-portrait .analysis-incident-summary th:nth-child(4),.analysis-report-portrait .analysis-incident-summary td:nth-child(4),.analysis-report-portrait .analysis-incident-summary th:nth-child(5),.analysis-report-portrait .analysis-incident-summary td:nth-child(5),.analysis-report-portrait .analysis-incident-summary th:nth-child(7),.analysis-report-portrait .analysis-incident-summary td:nth-child(7),.analysis-report-portrait .analysis-incident-summary th:nth-child(10),.analysis-report-portrait .analysis-incident-summary td:nth-child(10){display:none}.analysis-report-landscape .analysis-report .data-table,.analysis-report-landscape .data-table{font-size:7.6pt}.analysis-incident-details{display:block;break-before:page}.analysis-incident-details>h2{margin:0 0 5mm;font-size:16pt;font-weight:800}.analysis-incident-detail{break-before:page;color:#172033}.analysis-incident-details>h2+.analysis-incident-detail{break-before:auto}.analysis-incident-detail>header{display:flex;align-items:flex-end;justify-content:space-between;gap:8mm;margin-bottom:5mm;padding:4mm;border-left:4px solid #087ca7;background:#edf4f8!important}.analysis-incident-detail>header span{color:#59657a;font-size:8pt;font-weight:700;text-transform:uppercase}.analysis-incident-detail h3{margin:1mm 0 0;font-size:17pt;font-weight:850}.analysis-incident-detail>header>b{font-size:10pt;font-weight:800;text-transform:uppercase}.analysis-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 5mm;border-top:1px solid #aab3c2;border-left:1px solid #aab3c2}.analysis-report-landscape .analysis-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-detail-grid>div{min-height:13mm;padding:2.5mm 3mm;border-right:1px solid #aab3c2;border-bottom:1px solid #aab3c2;break-inside:avoid}.analysis-incident-detail h4{margin:4mm 0 2mm;font-size:10pt;font-weight:800;text-transform:uppercase}.analysis-detail-notes p,.analysis-detail-timeline p,.analysis-detail-evidence p{margin:0;padding:3mm;border:1px solid #c2c8d2;background:#f7f8fa!important}.analysis-detail-timeline ol,.analysis-detail-evidence ul{margin:0;padding:0;list-style:none}.analysis-detail-timeline li{display:grid;grid-template-columns:38mm 1fr;gap:4mm;padding:2.5mm 0;border-top:1px solid #c2c8d2;break-inside:avoid}.analysis-detail-timeline time{color:#44516a;font-size:8.5pt;font-weight:700}.analysis-detail-timeline li div>*{display:block}.analysis-detail-timeline li b{font-weight:800;text-transform:capitalize}.analysis-detail-timeline small{margin-top:1mm;color:#59657a;font-weight:600}.analysis-detail-evidence ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3mm}.analysis-report-landscape .analysis-detail-evidence ul{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-detail-evidence li{padding:3mm;border:1px solid #c2c8d2;break-inside:avoid}.analysis-detail-evidence li>*{display:block}.analysis-detail-evidence li b{margin-bottom:1mm;font-weight:800}.analysis-report .stats-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.analysis-report .metric>span{color:#59657a;font-size:7.5pt;font-weight:750}.analysis-report .metric strong{color:#172033;font-weight:850}.analysis-report .chart-card,.analysis-report .label-chart,.analysis-report .stats-kpis{break-inside:avoid}}.cockpit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,28vw);grid-template-rows:minmax(260px,1fr) auto;gap:12px;min-height:380px}.cockpit-view{display:flex;flex-direction:column;overflow:hidden}.cockpit-view .view-heading{flex:0 0 auto}.cockpit-view .cockpit-grid{flex:1;min-height:0}.cockpit-view .cockpit-camera .detection-box{border-color:var(--ud-accent)}.cockpit-view .cockpit-camera .detection-box b{background:var(--ud-accent)}.cockpit-rail{display:flex;grid-column:2;grid-row:1 / 3;flex-direction:column;gap:12px;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.cockpit-rail .mini-map-card{display:flex;flex:1 1 220px;min-height:220px;flex-direction:column}.mini-map-card,.presets-card{padding:11px}.mini-map-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px}.mini-map-header h2{margin:0}.mini-map-header small{display:block;margin-top:3px;color:var(--muted);font:9px var(--mono)}.mini-map-header .mini-map-controls{position:static;flex:0 0 auto;box-shadow:none}.mini-map{position:relative;flex:1 1 auto;min-height:170px;margin-top:8px;border:1px solid var(--ud-border);background:#080e16}.mini-map .mission-topology{width:100%;height:100%}.mini-map-message{display:grid;height:100%;padding:16px;place-items:center;color:var(--muted);text-align:center;font:11px/1.5 var(--mono)}.mini-map .robot-marker{left:55%;top:48%}.mini-map>i{position:absolute;width:5px;height:5px;border-radius:50%;background:#526075}.mini-map>i:nth-of-type(1){left:25%;top:30%}.mini-map>i:nth-of-type(2){left:72%;top:72%}.mini-map>i:nth-of-type(3){left:40%;top:80%}.cockpit-rail .telemetry-card{flex:0 0 auto;display:block}.cockpit-rail .telemetry-card p{display:flex;justify-content:space-between;gap:10px;margin:5px 0;color:#667287;font:13px Share Tech Mono,monospace;text-transform:uppercase}.cockpit-rail .telemetry-card p b{flex:0 0 auto;color:#c8d0db;font-size:14px}.battery-bar{height:3px;margin:4px 0 8px;background:#0a0f18}.battery-bar i{display:block;width:82%;height:100%;background:var(--ud-accent)}.presets-card{display:flex;flex:0 0 auto;flex-direction:column;gap:6px}.presets-card h2{margin-bottom:2px}.cockpit-manual-capture{display:grid;gap:7px;padding-bottom:10px;border-bottom:1px solid var(--ud-border)}.cockpit-manual-capture>header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#cbd7e8;font:700 10px Share Tech Mono,monospace;text-transform:uppercase}.cockpit-manual-capture>header span{color:var(--ud-accent);font-size:9px}.cockpit-capture-cameras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:126px;overflow-y:auto}.cockpit-capture-cameras>button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 5px;min-width:0;padding:6px;border:1px solid var(--ud-border);border-radius:5px;color:#8997ad;background:#0d1420;text-align:left;cursor:pointer}.cockpit-capture-cameras>button>i{grid-row:1 / 3;align-self:center;width:7px;height:7px;border-radius:50%;background:#526075}.cockpit-capture-cameras>button span,.cockpit-capture-cameras>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cockpit-capture-cameras>button span{font:700 9px Share Tech Mono,monospace}.cockpit-capture-cameras>button small{color:#59677c;font:8px Share Tech Mono,monospace}.cockpit-capture-cameras>button.selected{border-color:#00aaff9e;color:#dbeeff;background:#00aaff1a}.cockpit-capture-cameras>button.recording{border-color:#ff4d6a99}.cockpit-capture-cameras>button.recording>i{background:var(--ud-danger);box-shadow:0 0 7px var(--ud-danger);animation:cockpit-recording-pulse 1.2s ease-in-out infinite}@keyframes cockpit-recording-pulse{50%{opacity:.35}}.cockpit-capture-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.cockpit-capture-actions button{min-width:0;padding-inline:4px;font-size:8px}.cockpit-capture-actions button:last-child:not(:disabled){border-color:#ff4d6a8c;color:var(--ud-danger)}.cockpit-manual-capture>p{min-height:14px;margin:0;color:#8fa0b8;font:9px/1.4 Share Tech Mono,monospace}.cockpit-manual-capture>small{color:#59677c;font:8px/1.35 Share Tech Mono,monospace;text-transform:uppercase}.cockpit-preset-actions{display:grid;gap:6px;margin-bottom:4px;padding-bottom:10px;border-bottom:1px solid var(--ud-border)}.cockpit-door-target{display:grid;gap:4px;color:#77849a;font:11px Share Tech Mono,monospace;text-transform:uppercase}.cockpit-door-target select{width:100%}.cockpit-door-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cockpit-door-actions button{min-width:0}.cockpit-controls{display:flex;grid-column:1;grid-row:2;flex:0 0 125px;align-items:center;gap:20px;margin-top:0;padding:10px}.joystick{display:flex;align-items:center;gap:10px;padding-right:18px;border-right:1px solid var(--ud-border);color:#667287;font:8px Share Tech Mono,monospace}.joystick>i{display:block;width:76px;height:76px;border:1px solid var(--ud-border);border-radius:50%;background:radial-gradient(circle at 58% 55%,var(--ud-accent) 0 8px,rgba(0,229,160,.2) 9px,transparent 22px),linear-gradient(90deg,transparent 49%,var(--ud-border) 50%,transparent 51%),linear-gradient(0deg,transparent 49%,var(--ud-border) 50%,transparent 51%)}.joystick.yaw>i{background:radial-gradient(circle at 64% 54%,var(--ud-blue) 0 7px,rgba(0,170,255,.2) 8px,transparent 20px),linear-gradient(90deg,transparent 49%,var(--ud-border) 50%,transparent 51%),linear-gradient(0deg,transparent 49%,var(--ud-border) 50%,transparent 51%)}.cockpit-controls>.d-pad{margin-left:auto}.cockpit-title-select{display:inline-flex;align-items:center;gap:8px}.cockpit-title-select select{min-width:180px;color:var(--ud-accent);font:inherit}.cockpit-camera{min-height:0;padding:7px;overflow:auto}.cockpit-camera-grid{display:grid;grid-auto-rows:minmax(180px,1fr);gap:7px;min-height:100%}.cockpit-camera-feed{position:relative;min-width:0;min-height:180px;padding:0;overflow:hidden;border:1px solid var(--ud-border);border-radius:6px;background:#050911;cursor:default}.cockpit-camera-feed[role=button]{cursor:pointer}.cockpit-camera-feed.ptz-selected{border-color:var(--ud-accent);box-shadow:inset 0 0 0 1px #00e5a08c}.cockpit-camera-feed>.mission-video-frame{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}.cockpit-camera-feed.view-fit>.mission-video-frame video,.cockpit-camera-feed.view-fit>.mission-video-frame canvas{object-fit:contain!important}.cockpit-camera-feed.view-fill>.mission-video-frame video,.cockpit-camera-feed.view-fill>.mission-video-frame canvas{object-fit:cover!important}.cockpit-camera-feed>span{position:absolute;z-index:3;left:8px;bottom:8px;padding:4px 7px;color:#fff;background:#03080fd1;font:11px Share Tech Mono,monospace}.cockpit-empty{display:grid;height:100%;place-items:center;color:#667287}.cockpit-controls{display:grid;flex-basis:auto;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;overflow:auto}.teleop-control-block{min-width:0;padding:8px;border:1px solid var(--ud-border);border-radius:6px}.teleop-control-block>header{display:flex;justify-content:space-between;margin-bottom:8px;color:#fff;font:11px Share Tech Mono,monospace;text-transform:uppercase}.teleop-control-block>header span{max-width:55%;overflow:hidden;color:var(--ud-accent);text-overflow:ellipsis;white-space:nowrap}.teleop-control-block.viewer-disabled{border-color:#3b4657;background:#6f7b8f14}.teleop-control-block.viewer-disabled>:not(header):not(.teleop-viewer-notice){opacity:.42}.teleop-control-block.viewer-disabled .cockpit-virtual-stick{pointer-events:none;filter:grayscale(1)}.teleop-viewer-notice{margin:0 0 9px;padding:7px 9px;border:1px solid rgba(111,123,143,.35);border-radius:5px;color:#94a0b2;background:#6f7b8f14;font:10px Share Tech Mono,monospace}.cockpit-axis-readouts{display:flex;justify-content:center;gap:12px;margin-bottom:8px}.cockpit-axis-readouts .joystick{flex:1;justify-content:center;padding-right:8px}.cockpit-axis-readouts .joystick:last-child{border-right:0}.cockpit-axis-readouts .joystick>i{width:54px;height:54px}.cockpit-gamepad-status{display:flex;align-items:center;justify-content:center;gap:6px;margin:-1px 0 8px;color:#667287;font:9px Share Tech Mono,monospace;text-transform:uppercase}.cockpit-gamepad-status i{width:6px;height:6px;border-radius:50%;background:#667287}.cockpit-gamepad-status.connected{color:var(--ud-accent)}.cockpit-gamepad-status.connected i{background:var(--ud-accent);box-shadow:0 0 6px var(--ud-accent)}.cockpit-virtual-stick{position:relative;flex:0 0 70px;width:70px;height:70px;overflow:hidden;border:1px solid var(--ud-border);border-radius:50%;background:linear-gradient(90deg,transparent 49%,rgba(0,229,160,.16) 50%,transparent 51%),linear-gradient(0deg,transparent 49%,rgba(0,229,160,.16) 50%,transparent 51%),radial-gradient(circle at 40% 40%,#172439,#090e16);cursor:grab;touch-action:none}.cockpit-virtual-stick:active{cursor:grabbing}.cockpit-virtual-stick>i{position:absolute;top:calc(50% - 10px);left:calc(50% - 10px);width:20px;height:20px;border-radius:50%;background:var(--ud-accent);box-shadow:0 0 12px #00e5a0a6;pointer-events:none}.cockpit-virtual-stick.yaw{background:linear-gradient(90deg,transparent 49%,rgba(0,170,255,.18) 50%,transparent 51%),linear-gradient(0deg,transparent 49%,rgba(0,170,255,.18) 50%,transparent 51%),radial-gradient(circle at 40% 40%,#171f35,#090e16)}.cockpit-virtual-stick.yaw>i{background:var(--ud-blue);box-shadow:0 0 12px #00aaffa6}.cockpit-pad,.cockpit-camera-pad{display:grid;grid-template-columns:repeat(3,minmax(54px,1fr));gap:5px;max-width:330px;margin:0 auto 7px}.cockpit-pad{grid-template-columns:repeat(3,46px);justify-content:center;max-width:190px}.cockpit-posture-row{display:grid;grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr);align-items:stretch;gap:10px;width:100%;max-width:390px;margin:0 auto 7px}.cockpit-posture-row .cockpit-pad{margin:0}.cockpit-posture-button{min-height:69px;padding:8px;font:700 10px Share Tech Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.cockpit-posture-button.lay-down{border-color:#f7b9557a;color:#f7b955;background:#f7b95514}.cockpit-posture-button.stand-up{border-color:#00e5a07a;color:var(--ud-accent);background:#00e5a014}.cockpit-pad button,.cockpit-camera-pad button{min-height:34px;touch-action:none}.cockpit-pad button{min-height:32px;padding:4px}.camera-control-block>select{width:100%;margin-bottom:7px}.cockpit-zoom-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;max-width:330px;margin:0 auto}.cockpit-range{display:grid;grid-template-columns:auto 1fr 42px;align-items:center;gap:8px;margin-top:8px;color:#8995a8;font:10px Share Tech Mono,monospace;text-transform:uppercase}.cockpit-range input{width:100%}.cockpit-toggle{display:flex;align-items:center;gap:7px;margin-top:8px;color:#8995a8;font-size:11px}.cockpit-toggle input{width:auto}.device-count{color:#667287;font:8px Share Tech Mono,monospace}.device-type{display:block;margin-top:2px;color:#667287;font-size:7px;font-weight:400}.data-table em{color:var(--ud-accent);font:8px Share Tech Mono,monospace;font-style:normal}.cockpit-camera{display:flex;min-height:0;flex-direction:column}.cockpit-camera>.camera-tile{flex:1}.cockpit-grid>aside{min-width:0}.telemetry-card,.control-card{padding:13px}.telemetry-card{display:grid;grid-template-columns:1fr 1fr;gap:9px}.telemetry-card h2{grid-column:1/-1}.telemetry-card .metric{padding:8px}.control-card{display:flex;flex-direction:column;gap:10px}.d-pad{display:grid;grid-template:repeat(2,35px) / repeat(3,35px);justify-content:center;gap:4px}.d-pad button:first-child{grid-column:2}.d-pad button:nth-child(2){grid-column:1}.d-pad button:nth-child(3){grid-column:2}.d-pad button:nth-child(4){grid-column:3}.cockpit-map{margin-top:12px}.route-map{position:relative;height:160px;overflow:hidden;background:radial-gradient(circle at 20% 30%,rgba(0,170,255,.1),transparent 25%),#080e16}.route-line{position:absolute;left:14%;top:50%;width:70%;height:2px;transform:rotate(-8deg);background:var(--ud-blue);opacity:.6}.waypoint,.robot-marker{position:absolute;display:grid;width:26px;height:26px;place-items:center;transform:translate(-50%,-50%);border:2px solid var(--ud-blue);border-radius:50%;color:#fff;background:#092a37;font:700 9px Share Tech Mono,monospace}.p1{left:16%;top:62%}.p2{left:48%;top:44%}.p3{left:82%;top:30%}.robot-marker{left:58%;top:40%;border-color:var(--ud-accent);color:var(--ud-accent)}.patrol-grid{display:grid;grid-template-columns:minmax(400px,1fr) 340px;gap:12px;min-height:calc(100% - 48px)}.patrol-map{display:flex;flex-direction:column}.map-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid var(--ud-border)}.map-toolbar small{color:#667287;font:8px Share Tech Mono,monospace}.route-map.large{flex:1;min-height:390px}.patrol-p1{left:12%;top:16%}.patrol-p2{left:20%;top:48%}.patrol-p3{left:44%;top:48%}.patrol-p4{left:16%;top:80%}.patrol-p5{left:60%;top:80%}.patrol-side{display:flex;flex-direction:column;gap:12px}.sequence-card,.schedule-card{padding:13px}.sequence-card{display:flex;flex-direction:column;gap:9px}.sequence-list p{display:flex;align-items:center;gap:8px;margin:0;padding:6px;border-bottom:1px solid var(--ud-border);font-size:9px}.sequence-list p>b{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;color:#071018;background:var(--ud-accent)}.sequence-list p>button{margin-left:auto;padding:2px 5px}.card-title-row,.schedule-card>p{display:flex;align-items:center;justify-content:space-between;gap:8px}.schedule-card>p{margin:0;padding:8px 0;border-top:1px solid var(--ud-border)}.schedule-card>p span b,.schedule-card>p span small{display:block}.schedule-card>p span b{color:#fff;font-size:9px}.schedule-card>p span small{margin-top:2px;color:#667287;font-size:8px}.toggle{position:relative;width:36px;height:18px;padding:0!important;border:0!important;border-radius:99px!important;background:var(--ud-border)!important}.toggle i{position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#667287;transition:.15s}.toggle.on{background:#00e5a04d!important}.toggle.on i{left:20px;background:var(--ud-accent)}.roster-summary{grid-template-columns:repeat(4,1fr)}.roster-filters{margin-bottom:12px}.device-power-values{display:flex;justify-content:center;gap:10px}.device-roster-table th:nth-child(3),.device-roster-table td:nth-child(3){text-align:center}.device-power-values b{font-family:Share Tech Mono,monospace;font-weight:700}.device-power-values .device-power-divider{color:#4b586d;font-weight:400}.data-table tr.clickable-row{cursor:pointer;transition:background .15s ease}.data-table tr.clickable-row:hover,.data-table tr.clickable-row:focus-visible{background:#00e5a012;outline:none}.device-roster-state,.device-roster-warning{padding:18px;border:1px solid var(--ud-border);border-radius:9px;color:#8d99aa;background:var(--ud-surface)}.device-roster-state.error,.device-roster-warning{color:#ff5277}.device-roster-warning{margin-top:10px;padding:9px 12px}.device-detail-backdrop{position:fixed;z-index:250;inset:0;display:grid;place-items:center;padding:24px;background:#0000008f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.device-detail-modal{width:min(920px,100%);max-height:min(780px,calc(100dvh - 48px));overflow:auto;border:1px solid #263448;border-radius:12px;background:#0c121d;box-shadow:0 24px 80px #0000008c;font-size:13px}.device-detail-modal>header{position:sticky;z-index:1;top:0;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--ud-border);background:#0c121df5}.device-detail-modal>header small,.device-detail-modal h3{color:#718096;font:9px Share Tech Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.device-detail-modal>header h2{margin:3px 0 0;color:#fff;font-size:18px}.device-detail-modal>header button{width:34px;height:34px;padding:0;border:1px solid var(--ud-border);border-radius:7px;color:#cbd5e1;background:#131c2b;font-size:22px}.device-detail-header-actions{display:flex;align-items:center;gap:8px}.device-detail-modal>header .device-localize-button{width:auto;padding:0 13px;color:var(--ud-accent);font:700 11px Share Tech Mono,monospace;text-transform:uppercase}.dji-alert-backdrop{position:fixed;z-index:280;inset:0;display:grid;place-items:center;padding:24px;background:#000000bd;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dji-alert-dialog{width:min(760px,100%);max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #2c3d55;border-radius:12px;background:#0c121d;box-shadow:0 24px 90px #000}.dji-alert-dialog>header,.dji-alert-dialog>footer{display:flex;align-items:center;gap:10px;padding:14px 16px}.dji-alert-dialog>header{justify-content:space-between;border-bottom:1px solid var(--ud-border)}.dji-alert-dialog>header small,.dji-alert-result h3{color:#718096;font:10px Share Tech Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.dji-alert-dialog h2{margin:3px 0 0;color:#fff;font-size:18px}.dji-alert-dialog>header button{width:34px;height:34px;padding:0;border:1px solid var(--ud-border);border-radius:7px;color:#cbd5e1;background:#131c2b;font-size:22px}.dji-alert-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:16px}.dji-alert-wide{grid-column:1 / -1}.dji-alert-form textarea{resize:vertical;line-height:1.5}.dji-alert-error{margin:0;color:#ff7895}.dji-alert-result{padding:12px;border:1px solid rgba(255,82,119,.4);border-radius:7px;background:#ff527712}.dji-alert-result.success{border-color:#00ffbf66;background:#00ffbf0f}.dji-alert-result h3{margin:0 0 9px}.dji-alert-result pre{max-height:220px;margin:0;overflow:auto;color:#dbe5f1;white-space:pre-wrap;overflow-wrap:anywhere}.dji-alert-dialog>footer{justify-content:flex-end;border-top:1px solid var(--ud-border)}.dji-alert-dialog>footer span{margin-right:auto;color:#91a0b6}.dji-alert-dialog>footer button{padding:8px 13px;border:1px solid #34445d;border-radius:6px;color:#cbd5e1;background:#131c2b;font-weight:700;text-transform:uppercase}.dji-alert-dialog>footer .btn-primary{color:#06110f;border-color:var(--ud-accent);background:var(--ud-accent)}.dji-alert-dialog button:disabled{cursor:not-allowed;opacity:.5}@media(max-width:700px){.dji-alert-backdrop{padding:10px}.dji-alert-form{grid-template-columns:1fr}.dji-alert-form>*{grid-column:1}.dji-alert-dialog>footer{flex-wrap:wrap}.dji-alert-dialog>footer span{flex-basis:100%}}.device-localization-backdrop{--ud-accent: var(--accent);--ud-border: var(--border);position:fixed;z-index:270;inset:0;display:grid;place-items:center;padding:24px;background:#000000b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.device-localization-dialog{width:min(900px,100%);overflow:hidden;border:1px solid #2c3d55;border-radius:12px;background:#0c121d;box-shadow:0 24px 90px #000}.device-localization-dialog>header,.device-localization-dialog>footer{display:flex;align-items:center;gap:10px;padding:13px 16px}.device-localization-dialog>header{justify-content:space-between;border-bottom:1px solid var(--ud-border)}.device-localization-dialog h2{margin:2px 0 0;font-size:18px}.device-localization-dialog small{color:#77849a;text-transform:uppercase}.device-localization-dialog>header button{width:34px;height:34px;padding:0;font-size:21px}.device-localization-dialog>header .device-localization-close{display:grid;flex:0 0 34px;place-items:center;border:1px solid #34445d;border-radius:7px;color:#b9c5d6;background:#131c2b;font:22px/1 Arial,sans-serif;transition:color .15s ease,border-color .15s ease,background .15s ease,transform .15s ease}.device-localization-dialog>header .device-localization-close:hover,.device-localization-dialog>header .device-localization-close:focus-visible{border-color:#ff5277bf;color:#ff7895;background:#ff52771f;outline:none;transform:scale(1.04)}.device-localization-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px}.device-localization-toolbar p{margin:0;color:#9aa8bb}.device-localization-toolbar p b{color:#d6deea}.device-localization-toolbar p i{display:inline-block;height:11px;margin:0 8px;border-left:1px solid #405069}.device-localization-toolbar>div{display:flex;align-items:end;gap:5px}.device-localization-layer{display:grid;gap:3px;margin-right:6px;color:#91a0b6;font:700 10px Share Tech Mono,monospace;text-transform:uppercase}.device-localization-layer select{min-width:170px;height:32px;padding:0 28px 0 9px;border:1px solid #34445d;border-radius:6px;color:#e5fff9;background:#0c1421;font:700 12px Share Tech Mono,monospace}.device-localization-toolbar button,.device-localization-dialog>footer button{min-height:32px;padding:6px 12px;border:1px solid #34445d;border-radius:6px;color:#cbd5e1;background:#131c2b;font:700 11px Share Tech Mono,monospace;text-transform:uppercase}.device-localization-toolbar button:hover:not(:disabled),.device-localization-dialog>footer button:hover:not(:disabled){color:var(--ud-accent);border-color:var(--ud-accent);background:#00ffbf14}.device-localization-dialog>footer .btn-primary{color:#06110f;border-color:var(--ud-accent);background:var(--ud-accent)}.device-localization-dialog button:disabled{cursor:not-allowed;opacity:.45}.device-localization-status{display:flex;align-items:center;gap:12px;margin:10px 16px 0;padding:10px 12px;border:1px solid #2d3a4e;border-radius:7px;color:#91a0b6;background:#22304559}.device-localization-status strong{flex:none;color:#dce5f1;text-transform:uppercase}.device-localization-status.status-pending{border-color:#f59e0b8c;color:#fbbf24}.device-localization-status.status-success{border-color:#00ffbf8c;color:var(--ud-accent);background:#00ffbf14}.device-localization-status.status-success strong{color:var(--ud-accent)}.device-localization-status.status-error{border-color:#ff527799;color:#ff7895;background:#ff527714}.device-localization-status.status-error strong{color:#ff7895}.device-localization-map{position:relative;width:calc(100% - 32px);height:min(590px,calc(100dvh - 245px));max-height:calc(100dvh - 250px);margin:0 16px;overflow:hidden;border:1px solid var(--ud-border);background:#05080d;touch-action:none;-webkit-user-select:none;user-select:none}.device-localization-map .mission-topology{cursor:crosshair}.device-localization-map .mission-topology{width:100%;height:100%}.topology-localization-draft line{stroke:var(--ud-accent);stroke-width:.22}.topology-localization-draft circle{fill:#07121a;stroke:var(--ud-accent);stroke-width:.18}.topology-localization-draft marker path{fill:var(--ud-accent)}.device-localization-dialog>footer{justify-content:flex-end;border-top:1px solid var(--ud-border)}.device-localization-dialog>footer span{margin-right:auto;color:#91a0b6;font:11px Share Tech Mono,monospace}.device-detail-offline-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 18px 0;padding:12px 14px;border:1px solid rgba(255,82,119,.35);border-radius:8px;color:#ff7895;background:#ff527714}.device-detail-offline-notice button{flex:none;padding:7px 11px;border:1px solid currentColor;border-radius:6px;color:#ff7895;background:transparent;font:700 11px Share Tech Mono,monospace;text-transform:uppercase}.device-detail-offline-notice button:hover{background:#ff52771f}.device-detail-telemetry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px 18px 0}.device-detail-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:14px;padding:16px 18px 20px}.device-detail-grid>section{min-width:0;padding:14px;border:1px solid var(--ud-border);border-radius:9px;background:#101827}.device-detail-grid h3{margin:0 0 12px}.device-detail-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;margin:0;padding:8px 0;border-top:1px solid rgba(39,52,72,.65);font-size:12px}.device-detail-row span{color:#718096}.device-detail-row b{overflow-wrap:anywhere;color:#dbe5f1;font-weight:500}.device-detail-cameras{display:grid;gap:8px}.device-detail-cameras article{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid rgba(39,52,72,.7);border-radius:7px;background:#0b111c}.device-detail-cameras small,.device-detail-empty{color:#718096;font-size:12px}.device-detail-cameras code{overflow-wrap:anywhere;color:#7dd3fc;white-space:normal;font-size:12px}.device-detail-grid>.device-diagnostics-section{grid-column:1 / -1}.device-diagnostics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.device-diagnostics-grid>article{min-width:0;padding:10px;border:1px solid rgba(39,52,72,.7);border-left:3px solid var(--ud-accent);border-radius:7px;background:#0b111c}.device-diagnostics-grid>article.diagnostic-level-1{border-left-color:#f7b955}.device-diagnostics-grid>article.diagnostic-level-2,.device-diagnostics-grid>article.diagnostic-level-3{border-left-color:#ff5277}.device-diagnostics-grid>article>header{display:flex;justify-content:space-between;gap:10px;padding-bottom:7px}.device-diagnostics-grid>article>header span{color:#718096;text-align:right}.device-diagnostics-grid .device-detail-row{grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);font-size:12px}.device-cards{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px}.device-cards article{padding:12px}.device-cards header{display:flex;align-items:center;gap:8px;padding-bottom:9px;border-bottom:1px solid var(--ud-border)}.device-cards header>i{display:grid;width:32px;height:32px;place-items:center;border-radius:7px;color:var(--ud-blue);background:#00aaff1a;font-style:normal}.device-cards header span b,.device-cards header span small{display:block}.device-cards header span b{color:#fff;font:700 11px Share Tech Mono,monospace}.device-cards header span small{margin-top:2px;color:#667287;font-size:8px}.device-cards header em{margin-left:auto;color:var(--ud-accent);font:8px Share Tech Mono,monospace;font-style:normal}.device-cards p{display:flex;justify-content:space-between;margin:8px 0;font-size:9px}.device-cards p span{color:#667287}.device-cards>article>div{display:flex;gap:5px;margin-top:10px}.view-intro{margin:-5px 0 14px;color:#667287;font-size:10px}.workflow-list{display:flex;flex-direction:column;gap:10px}.workflow-editor{margin-bottom:12px;overflow:hidden;scroll-margin-top:16px;border-color:color-mix(in srgb,var(--ud-accent) 34%,var(--ud-border));box-shadow:0 18px 44px #0000002e}.workflow-view .view-heading h1{flex:0 1 auto}.workflow-editor>header,.workflow-editor>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--ud-border);background:linear-gradient(90deg,rgb(45 207 151 / 10%),transparent 55%)}.workflow-editor>header{border-top:2px solid var(--ud-accent)}.workflow-editor>header h2{font-size:17px}.workflow-editor>footer{justify-content:flex-end;border-top:1px solid var(--ud-border);border-bottom:0}.workflow-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}.workflow-editor .workflow-type-fields{position:relative}.workflow-trigger-fields>.workflow-form-grid,.workflow-action-fields>.workflow-form-grid,.workflow-details-fields{margin:12px 14px;padding:14px;border:1px solid var(--ud-border);border-left:3px solid var(--ud-accent);border-radius:8px;background:#2dcf9708}.workflow-action-fields>.workflow-form-grid{border-left-color:#5cc8ff;background:#5cc8ff0a}.workflow-details-fields{border-left-color:#d3a84c;background:#d3a84c0a}.workflow-type-fields fieldset{margin:0 14px 14px;padding:12px;min-width:0;border:1px solid color-mix(in srgb,var(--ud-accent) 28%,var(--ud-border));border-radius:7px;background:#ffffff04}.workflow-type-fields legend{padding:0 7px;color:var(--ud-accent);font-size:13px;font-weight:700;letter-spacing:.03em}.workflow-type-fields label:not(.workflow-choice){display:flex;flex-direction:column;gap:6px;min-width:0;color:#c8d0db;font-size:13px;font-weight:600}.workflow-type-fields select,.workflow-type-fields input[type=number]{width:100%;min-width:0;min-height:36px;padding:8px;background:var(--ud-panel, #101722);color:#c8d0db;border:1px solid var(--ud-border);border-radius:5px}.workflow-choice{display:flex;align-items:center;gap:8px;padding:6px 0;color:#d7dee8;font-size:13px}.workflow-trigger-picker{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px;padding:9px 10px;border:1px solid rgb(92 200 255 / 22%);border-radius:6px;background:#5cc8ff08}.workflow-trigger-picker>span{grid-column:1 / -1;color:#c8d0db;font-size:13px;font-weight:600}.workflow-trigger-picker .workflow-trigger-required{grid-column:1 / -1;padding-top:5px;color:#e6c77d;font-size:11px;line-height:1.4}.workflow-schedule-picker .workflow-choice-all{padding-bottom:10px}.workflow-type-fields .workflow-schedule-search{margin-top:4px}.workflow-schedule-search input{width:100%;min-height:36px;padding:8px;border:1px solid var(--ud-border);border-radius:5px;background:var(--ud-panel, #101722);color:#c8d0db}.workflow-schedule-search input:focus{border-color:var(--ud-accent);outline:2px solid color-mix(in srgb,var(--ud-accent) 24%,transparent);outline-offset:1px}.workflow-schedule-count{display:block;margin:9px 0 6px;color:#9dabbc;font-size:11px}.workflow-schedule-options{max-height:220px;overflow-y:auto;padding:2px 8px;border:1px solid rgb(92 200 255 / 18%);border-radius:6px;background:#070c1338;scrollbar-gutter:stable}.workflow-schedule-options .workflow-choice{min-width:0;border-bottom:1px solid rgb(255 255 255 / 5%)}.workflow-schedule-options .workflow-choice:last-of-type{border-bottom:0}.workflow-schedule-options .workflow-choice span{min-width:0;overflow-wrap:anywhere}.workflow-schedule-empty{margin:10px 2px;color:#9dabbc;font-size:12px}.workflow-step{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:14px;padding:12px;border:1px solid rgb(92 200 255 / 30%);border-left:3px solid #5cc8ff;border-radius:8px;background:linear-gradient(110deg,#5cc8ff0f,#ffffff03 45%)}.workflow-step-heading{display:flex;flex:1 0 100%;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid rgb(92 200 255 / 18%)}.workflow-step-heading span{color:#8edcff;font-size:14px;font-weight:700}.workflow-step-heading small{color:#9ba8ba;font:11px Share Tech Mono,monospace;letter-spacing:.05em}.workflow-step>label{flex:1 1 220px}.workflow-inline-child{flex:1 0 100%;min-width:0;padding:12px;border:1px solid rgb(211 168 76 / 38%);border-left:3px solid #d3a84c;border-radius:7px;background:#050a1152;box-shadow:inset 0 1px #ffffff08}.workflow-inline-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:-2px 0 12px;padding-bottom:9px;border-bottom:1px solid rgb(211 168 76 / 22%)}.workflow-inline-heading strong{color:#e6c77d;font-size:14px}.workflow-inline-heading span{color:#aab4c2;font:11px Share Tech Mono,monospace}.workflow-run-list{margin-top:14px;padding:14px}.workflow-run{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--ud-border);overflow-wrap:anywhere}.workflow-run small{display:block;margin-top:4px;color:#9ba8ba;font-size:12px}.workflow-run a,.workflow-run a:visited{color:#5cc8ff;font-weight:600}.workflow-run a:hover,.workflow-run a:focus-visible{color:#9bddff}.workflow-scopes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 14px 14px}.workflow-scopes>section{display:flex;max-height:190px;flex-direction:column;gap:7px;overflow:auto;padding:10px;border:1px solid rgb(92 200 255 / 25%);border-top:2px solid #5cc8ff;border-radius:7px;background:#5cc8ff08}.workflow-scopes small,.workflow-template-help{color:#9ba8ba;font-family:Share Tech Mono,monospace}.workflow-template-values{display:flex;flex-direction:column;gap:4px}.workflow-template-values strong{margin-top:3px;color:#c8d0db}.workflow-scopes label,.workflow-actions-config label{display:flex;align-items:center;gap:7px;color:#c8d0db;font-size:13px}.workflow-actions-config{display:flex;flex-wrap:wrap;gap:18px;padding:0 14px 12px}.workflow-template-help{margin:0;padding:0 14px 14px;font-size:12px;line-height:1.55}.workflow-list>article{transition:.15s;scroll-margin-top:16px}.workflow-list>article.disabled{border-color:#46506047;background:#0b1017;box-shadow:0 7px 18px #0000001f}.workflow-list>article.disabled header,.workflow-list>article.disabled>div,.workflow-list>article.disabled footer{color:#515b6c;border-color:#4650603d}.workflow-list>article.disabled header h2,.workflow-list>article.disabled section b{color:#687385}.workflow-list>article.disabled header small,.workflow-list>article.disabled section small{color:#4f5969}.workflow-list>article.disabled .switch-label{color:#526071}.workflow-list>article.disabled footer button{border-color:#4650604d;color:#596475;background:#10161f;box-shadow:none}.workflow-list>article.disabled footer button:hover,.workflow-list>article.disabled footer button:focus-visible{border-color:#5b687c73;color:#778397;background:#141c27}.workflow-list>article.disabled footer .negative{border-color:#66414b52!important;color:#765460!important;background:#3d1f2847!important}.workflow-list header,.workflow-list footer{display:flex;align-items:center;justify-content:space-between;padding:11px 13px}.workflow-list header{border-bottom:1px solid var(--ud-border)}.workflow-list header small,.workflow-list section small{display:block;color:#9ba8ba;font:10px Share Tech Mono,monospace;letter-spacing:.08em}.workflow-list header h2{margin-top:3px;text-transform:none}.switch-label{display:flex;align-items:center;gap:8px;color:var(--ud-accent);font:10px Share Tech Mono,monospace}.workflow-list>article>div{display:grid;grid-template-columns:1fr auto 1.5fr auto 1.5fr;align-items:center;gap:15px;padding:14px}.workflow-list section b{display:block;margin-top:5px;color:#c8d0db;font-size:12px;line-height:1.4}.workflow-list footer{justify-content:flex-end;gap:6px;border-top:1px solid var(--ud-border)}.settings-table{overflow:visible}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;color:#667287;font:700 9px Share Tech Mono,monospace;letter-spacing:.09em}.inline-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;align-items:end;padding:12px 14px;border-top:1px solid var(--ud-border);background:#00aaff08}.settings-readonly-notice{margin:0;padding:10px 14px;border-top:1px solid var(--ud-border);color:#f7b955;background:#f7b9550f;font:11px Share Tech Mono,monospace}.user-location-input{width:min(260px,100%)}.user-management-actions{display:flex;gap:6px}.user-device-picker-trigger{min-width:165px;padding:7px 9px;border:1px solid var(--ud-border);border-radius:6px;background:#0d141edb;color:inherit;cursor:pointer;white-space:nowrap}.user-device-picker-trigger:after{content:"▾";float:right;margin-left:12px;color:var(--ud-blue)}.user-device-options{min-width:220px;max-height:240px;overflow-y:auto;padding:7px;border:1px solid var(--ud-border);border-radius:7px;background:#111a25;box-shadow:0 14px 32px #00000073}.user-device-options-portal{position:fixed;z-index:10000;border-color:#283143;color:#c8d0db;font-family:"Exo 2",system-ui,sans-serif}.user-device-options label{display:flex;align-items:center;gap:8px;padding:8px;cursor:pointer;white-space:nowrap}.user-device-options label:hover{background:#00aaff14}.user-device-options input{accent-color:var(--ud-blue, #00aaff)}.settings-table select:disabled,.settings-table input:disabled,.user-management-actions button:disabled{opacity:.58;cursor:not-allowed}.managed-device-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:14px;border-top:1px solid var(--ud-border);background:#00aaff08}.managed-device-form .form-field input,.managed-device-form .form-field select{width:100%}.override-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.override-field input:disabled,.override-field select:disabled,.camera-state-field select:disabled{opacity:.58;cursor:not-allowed;background:#10151d}.override-field button,.camera-state-field button{padding:5px 7px!important;white-space:nowrap}.override-field button.override-active,.camera-state-field button.override-active{border-color:#f59e0b80!important;color:var(--ud-warning)!important;background:#f59e0b1a!important}.camera-form-section{grid-column:1/-1;padding-top:10px;border-top:1px solid var(--ud-border)}.camera-form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#667287;font:10px Share Tech Mono,monospace;letter-spacing:.08em}.camera-form-section>p{margin:8px 0;color:#667287;font-size:11px}.camera-form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;margin-top:10px;padding:12px;border:1px solid var(--ud-border);border-radius:6px;background:var(--ud-bg)}.camera-form-row>*,.camera-form-row .form-field{min-width:0}.camera-form-row input,.camera-form-row select{width:100%}.camera-state-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px}.camera-url-fields{display:grid;grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.device-publish-token-section{grid-column:1 / -1;border-top:1px solid var(--ud-border);padding-top:10px}.device-publish-token-row{display:grid;grid-template-columns:minmax(420px,1fr) auto auto;gap:7px}.device-publish-token-row input{font-family:Share Tech Mono,monospace}.camera-control-fields{display:contents}.camera-control-credentials{display:grid;grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.camera-gvas-toggle{grid-column:1 / -2;align-self:center;display:flex;align-items:center;gap:7px;color:var(--text);flex-wrap:wrap}.camera-remove-button{grid-column:-2 / -1;justify-self:end;align-self:center}.camera-gvas-toggle input{width:auto}.managed-device-actions{display:flex;grid-column:1/-1;justify-content:flex-end;gap:7px;padding-top:4px}.managed-device-actions button:disabled{opacity:.5;cursor:not-allowed}.settings-table .data-table-wrap{border:0;border-top:1px solid var(--ud-border);border-radius:0}.table-actions{display:flex;gap:5px}.settings-table-state{margin:0;padding:22px 14px;border-top:1px solid var(--ud-border);color:#667287;font:11px Share Tech Mono,monospace}.settings-table-state.error{color:var(--ud-danger)}.api-token-settings{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.api-token-intro,.api-token-message,.api-token-legacy-warning{margin:0;padding:11px 14px;border-top:1px solid var(--ud-border);color:var(--muted);font-size:12px}.api-token-message{color:var(--ud-accent);background:#00ffae0a}.api-token-legacy-warning{padding:8px 0 0;border:0;color:var(--ud-warning)}.api-token-create-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,1.5fr) auto;gap:14px;align-items:end;padding:14px;border-top:1px solid var(--ud-border);background:#00aaff08}.api-token-create-form>label,.api-token-expiry-fields>label:not(.api-token-no-expiry){display:grid;gap:6px}.api-token-create-form label>span,.api-token-expiry-fields label>span{color:var(--muted);font:10px Share Tech Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.api-token-expiry-fields{display:grid;grid-template-columns:minmax(130px,180px) auto;gap:8px 14px;align-items:end}.api-token-expiry-fields small{grid-column:1 / -1;color:var(--muted)}.api-token-scope-fields{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;margin:0;padding:10px;border:1px solid var(--ud-border);border-radius:6px}.api-token-scope-fields legend{padding:0 5px;color:var(--muted);font:10px Share Tech Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.api-token-scope-fields label{display:flex;gap:8px;min-width:0;padding:9px;border:1px solid rgba(93,112,145,.35);border-radius:5px;background:#070c148c;cursor:pointer}.api-token-scope-fields label:has(input:checked){border-color:#00ffae8c;background:#00ffae0f}.api-token-scope-fields input{width:auto;margin:2px 0 0}.api-token-scope-fields label>span{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 7px;min-width:0}.api-token-scope-fields strong{color:var(--text);font-size:12px}.api-token-scope-fields small{grid-column:1 / -1;color:var(--muted);line-height:1.35}.api-token-method{min-width:38px;padding:2px 5px;border-radius:3px;color:#071019;font:10px Share Tech Mono,monospace;text-align:center}.api-token-method.method-get{background:var(--ud-accent)}.api-token-method.method-post{background:var(--ud-warning)}.api-token-no-expiry{display:flex;align-items:center;gap:7px;min-height:38px;color:var(--text)}.api-token-no-expiry input{width:auto}.api-token-list{display:grid;flex:1 1 auto;grid-template-columns:minmax(0,1fr);align-content:start;min-height:0;gap:12px;padding:14px;overflow-y:auto;border-top:1px solid var(--ud-border)}.api-token-card{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid var(--ud-border);border-radius:8px;background:#070c14b8}.api-token-card.expired{border-color:#ff4b6e80}.api-token-expired-badge{width:fit-content;padding:2px 6px;border:1px solid rgba(255,75,110,.55);border-radius:999px;color:var(--danger);background:#ff4b6e1a;font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.api-token-card dd.expired{color:var(--danger);font-weight:700}.api-token-card>header,.api-token-card>footer,.api-token-secret-row{display:flex;align-items:center;gap:8px}.api-token-card>header{justify-content:space-between}.api-token-card>header>div{display:grid;gap:3px}.api-token-card>header b{color:var(--text);font-size:14px}.api-token-card>header small{color:var(--muted);font:10px Share Tech Mono,monospace}.api-token-secret-row input{flex:1;min-width:0;font-family:Share Tech Mono,monospace}.api-token-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.api-token-card dl>div{display:grid;gap:3px}.api-token-card dt{color:var(--muted);font:9px Share Tech Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.api-token-card dd{margin:0;color:var(--text);font-size:11px;overflow-wrap:anywhere}.api-token-card>footer{justify-content:flex-end;padding-top:10px;border-top:1px solid var(--ud-border)}@media(max-width:760px){.api-token-create-form,.api-token-list,.api-token-card dl,.api-token-scope-fields{grid-template-columns:1fr}.api-token-secret-row{flex-wrap:wrap}.api-token-secret-row input{flex-basis:100%}}.logs-settings-panel{display:flex;flex-direction:column;min-height:0;height:calc(100vh - 190px);overflow:hidden}.logs-settings-header,.logs-settings-header>div,.logs-quota-fields,.logs-viewer-toolbar{display:flex;align-items:center;gap:12px}.logs-settings-header{justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color, #263249)}.logs-settings-header h2{margin:2px 0 0}.logs-quota-fields label{display:grid;gap:4px;color:#8ea1bf;font-size:.78rem}.logs-quota-fields label small{color:#7185a4;white-space:nowrap}.logs-quota-fields input{width:130px}.logs-message,.logs-resource-warning,.logs-truncated-warning{margin:0;padding:8px 14px;border-bottom:1px solid #263249;color:#8ed8ff}.robot-recordings-section{max-height:38%;overflow:auto;border-bottom:1px solid #263249;background:#050b144d}.robot-recordings-section>header,.robot-recordings-section summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.robot-recordings-section>header{position:sticky;z-index:2;top:0;padding:10px 14px;border-bottom:1px solid #263249;background:#0b1321}.robot-recordings-section h3{margin:2px 0 0}.robot-storage-controls,.robot-recording-cleanup,.robot-recording-cleanup label{display:flex;align-items:center;gap:8px}.robot-storage-controls{justify-content:flex-end;flex-wrap:wrap;font-size:.78rem}.robot-storage-controls label{display:flex;align-items:center;gap:5px}.robot-storage-controls input[type=number]{width:90px}.robot-storage-controls .storage-full{color:#ff788a}.robot-recordings-section details{border-bottom:1px solid rgb(38 50 73 / 65%)}.robot-recording-archives{display:flex;align-items:center;gap:8px;padding:8px 14px;overflow-x:auto;border-bottom:1px solid rgb(38 50 73 / 65%);color:#8ea1bf;font-size:.78rem}.robot-recording-archives .btn{flex:0 0 auto}.robot-recording-cleanup{justify-content:flex-end;padding:8px 14px;border-top:1px solid rgb(38 50 73 / 55%);color:#8ea1bf;font-size:.78rem}.robot-recording-cleanup input{width:80px}.robot-recordings-section summary{cursor:pointer;padding:9px 14px;color:#b8c7dc}.robot-recordings-section summary span,.robot-recordings-empty{color:#8ea1bf;font-size:.8rem}.robot-recordings-empty{margin:0;padding:12px 14px}.robot-recordings-table-wrap{overflow-x:auto}.robot-recording-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 14px;color:#8ea1bf;font-size:.8rem}.robot-recordings-table{width:100%;border-collapse:collapse;font-size:.78rem}.robot-recordings-table th,.robot-recordings-table td{padding:7px 10px;border-top:1px solid rgb(38 50 73 / 55%);color:#aebcd3;text-align:left;white-space:nowrap}.robot-recording-preview-link{padding:0;border:0;background:transparent;color:#8ed8ff;font:inherit;text-decoration:underline;cursor:pointer}.robot-recording-preview-dialog{margin:auto;width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px;border:1px solid #263249;border-radius:12px;background:#111b2b;color:#aebcd3;overflow:auto}.robot-recording-preview-dialog::backdrop{background:#000000b3}.robot-recording-preview-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.robot-recording-preview-dialog h3{margin:0;overflow-wrap:anywhere;min-width:0}.robot-recording-preview-dialog video{display:block;width:100%;max-height:65dvh;margin-bottom:12px;background:#000}.recording-status{display:inline-block;padding:2px 7px;border-radius:999px;background:#263249;text-transform:capitalize}.recording-status.uploaded{color:#64e7b8}.recording-status.uploading{color:#8ed8ff}.recording-status.pending{color:#ffc857}.recording-status.failed{color:#ff788a}.logs-resource-warning{color:#ffc857;background:#ffae0014}.logs-truncated-warning{color:#aebcd3}.logs-browser{display:grid;grid-template-columns:minmax(250px,320px) 1fr;flex:1;min-height:0}.logs-tree{overflow:auto;padding:10px;border-right:1px solid #263249;background:#050b1473}.logs-tree section>header{display:flex;justify-content:space-between;gap:8px;padding:8px 6px;color:#8ea1bf}.logs-tree section>header span,.logs-tree button small{color:#667895;font-size:.72rem}.logs-tree button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:#b8c7dc;text-align:left}.logs-tree button:hover,.logs-tree button.active{background:#00d3ff1c;color:#00e5ff}.logs-viewer-pane{display:flex;min-width:0;min-height:0;flex-direction:column}.logs-search-bar{display:grid;grid-template-columns:minmax(150px,1.5fr) minmax(130px,1fr) minmax(120px,1fr) auto auto auto;gap:8px;padding:10px 12px;border-bottom:1px solid #263249;background:#050b1473}.logs-search-bar input,.logs-search-bar select{min-width:0}.logs-filter-summary{margin:0;padding:8px 14px;border-bottom:1px solid #263249;color:#64e7b8;background:#00dca012}.logs-viewer-toolbar{min-height:48px;padding:8px 12px;border-bottom:1px solid #263249}.logs-viewer-toolbar>b{min-width:0;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-viewer-toolbar label{display:flex;align-items:center;gap:5px;white-space:nowrap}.logs-viewer-pane pre{flex:1;min-height:0;margin:0;overflow:auto;padding:14px;background:#050a12;color:#b8d7c6;font:.82rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:900px){.logs-settings-header,.logs-quota-fields{align-items:stretch;flex-direction:column}.logs-browser{grid-template-columns:1fr;grid-template-rows:minmax(150px,32%) 1fr}.logs-tree{border-right:0;border-bottom:1px solid #263249}.logs-search-bar{grid-template-columns:1fr 1fr}}.gvas-settings{display:grid;gap:14px}.gvas-panel{overflow:hidden}.gvas-message{margin:0;padding:12px 14px;border:1px solid var(--ud-border);border-radius:8px;background:var(--ud-surface)}.gvas-message.success{color:var(--ud-accent);border-color:color-mix(in srgb,var(--ud-accent) 45%,var(--ud-border))}.gvas-message.error{color:var(--ud-danger);border-color:color-mix(in srgb,var(--ud-danger) 45%,var(--ud-border))}.gvas-engine-grid,.gvas-schedule,.gvas-runtime{padding:16px}.gvas-engine-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr)) auto;gap:14px;align-items:end}.gvas-engine-grid>div{display:grid;gap:6px}.gvas-engine-grid span,.gvas-help{color:var(--muted)}.gvas-schedule{display:grid;grid-template-columns:minmax(180px,260px) minmax(180px,260px) auto;gap:14px;align-items:end}.gvas-runtime{display:grid;gap:16px}.gvas-duration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gvas-label-list{display:grid;gap:8px}.gvas-label-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px 110px auto;gap:10px;align-items:end}.gvas-color-input{width:100%;min-height:40px;padding:4px!important}.gvas-help{margin:0}@media(max-width:800px){.gvas-engine-grid,.gvas-schedule,.gvas-duration-grid,.gvas-label-row{grid-template-columns:1fr}}.connection-streams{display:block;min-width:260px;max-width:560px;overflow-wrap:anywhere;white-space:normal;color:#8d9aaf;font-family:Share Tech Mono,monospace;line-height:1.5}.map-settings{display:grid;grid-template-columns:minmax(400px,1.3fr) 320px;gap:12px;min-height:430px;margin-top:12px}.map-settings>.floor-plan{min-height:430px;margin:0}.map-settings>aside{display:flex;flex-direction:column;gap:12px}.position-card,.map-note{padding:13px}.position-card{display:flex;flex-direction:column;gap:7px}.position-card>button{display:flex;align-items:center;gap:6px;border:0!important;color:#c8d0db!important;background:transparent!important;text-align:left}.position-card>button.active{background:#00aaff14!important}.position-card>button small{margin-left:auto;color:#667287}.map-note p{margin:7px 0 0;color:#667287;font-size:9px}.map-settings .map-pin.selected{outline:3px solid white}@media(max-width:1100px){.alert-detail-grid{grid-template-columns:240px 1fr}.alert-response{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.device-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.revised-view{overflow:visible}.alert-detail-grid,.cockpit-grid,.patrol-grid,.map-settings{grid-template-columns:1fr}.alert-browser{min-height:400px}.alert-response{display:flex}.device-cards{grid-template-columns:1fr}.workflow-list>article>div{grid-template-columns:1fr}.workflow-form-grid,.workflow-scopes{grid-template-columns:1fr}.workflow-list>article>div>i{transform:rotate(90deg)}.inline-form,.managed-device-form,.cockpit-grid,.cockpit-controls{grid-template-columns:1fr}.cockpit-rail{overflow:visible}.camera-form-row{grid-template-columns:1fr}.view-heading{align-items:flex-start;flex-direction:column}.view-actions{margin-left:0;flex-wrap:wrap}.stats-kpis,.roster-summary{grid-template-columns:repeat(2,1fr)}.device-detail-backdrop{padding:10px}.device-detail-modal{max-height:calc(100dvh - 20px)}.device-detail-telemetry{grid-template-columns:repeat(2,minmax(0,1fr))}.device-detail-grid,.device-diagnostics-grid{grid-template-columns:1fr}}.mission-react-page{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;gap:18px;min-height:100dvh;padding:16px;overflow:hidden;background:radial-gradient(circle at 15% 0,rgba(0,229,160,.08),transparent 34%),#061019;color:#dceaf0}.mission-react-page>.topbar{position:relative;top:auto;flex:0 0 auto;width:min(1480px,100%);margin:0 auto}.mission-react-page>.page-message{flex:0 0 auto;width:min(1480px,100%);margin:-8px auto 0}.mission-react-layout{display:grid;flex:1 1 auto;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:stretch;width:min(1480px,100%);min-height:0;margin:0 auto;overflow:hidden}.mission-react-main{display:grid;grid-template-rows:minmax(0,1fr) minmax(148px,27vh);gap:14px;min-width:0;min-height:0;height:100%;overflow:hidden}.mission-focus-stage{display:grid;min-width:0;min-height:0}.mission-focus-stage>.mission-switchable-view{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;height:100%}.mission-map-card,.mission-camera-card,.mission-control-card{border:1px solid rgba(110,184,205,.22);background:#07141ef0;border-radius:9px;overflow:hidden;box-shadow:0 12px 30px #0000002e}.mission-map-stage{position:relative;min-height:0;height:100%;background:#03090e;padding:8px;overflow:hidden;user-select:none;-webkit-user-select:none}.mission-topology{width:100%;height:100%;display:block;background:#061019;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain}.mission-topology:active{cursor:grabbing}.topology-unavailable-label{fill:#91a0b7;font:12px Share Tech Mono,monospace;paint-order:stroke;stroke:#03090ee6;stroke-width:4px;vector-effect:non-scaling-stroke}.topology-edge{stroke:#89cbdce6;stroke-width:2px;vector-effect:non-scaling-stroke}.topology-node{cursor:pointer;outline:none}.topology-node circle{fill:#092a37;stroke:#74d7ed;stroke-width:2px;vector-effect:non-scaling-stroke}.topology-node text{fill:#fff;font-family:Share Tech Mono,monospace;font-weight:700;text-anchor:middle;pointer-events:none}.waypoint-orientation{fill:#092a37;stroke:#74d7ed;stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.topology-node.door circle{fill:#713a09;stroke:#ffb44a}.topology-node.door .waypoint-orientation{fill:#713a09;stroke:#ffb44a}.topology-node.charger circle{fill:#12603e;stroke:#00e5a0}.topology-node.charger .waypoint-orientation{fill:#12603e;stroke:#00e5a0}.topology-node.selected circle{fill:#c34223;stroke:#fff;stroke-width:3px}.topology-node.selected .waypoint-orientation{fill:#c34223;stroke:#fff;stroke-width:2px}.topology-robot circle,.topology-robot polygon{fill:#ff416c;stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.topology-robot{cursor:pointer}.topology-section{transition:fill-opacity .12s}.topology-section.hovered{fill-opacity:.38;stroke:#fff}.mission-map-tooltip{position:absolute;z-index:8;display:grid;gap:4px;min-width:155px;max-width:230px;padding:9px 11px;border:1px solid rgba(0,229,160,.35);border-radius:6px;color:#e8f7f3;background:#050d13f0;box-shadow:0 8px 20px #00000059;font:11px Share Tech Mono,monospace;pointer-events:none}.mission-map-tooltip strong{margin-bottom:3px;color:#00e5a0;font-family:"Exo 2",sans-serif;font-size:11px;letter-spacing:.04em}.mission-map-tooltip span{display:flex;justify-content:space-between;gap:14px}.mission-map-tooltip em{color:#78919c;font-style:normal}.mission-map-tooltip b{color:#e8f7f3;font-weight:400}.mission-map-empty{display:grid;height:100%;place-items:center;color:#76919d}.mission-ros-state{color:#00e5a0;font:13px Share Tech Mono,monospace}.mission-view-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;min-height:0;overflow:hidden}.mission-view-strip>.mission-switchable-view{min-width:0;min-height:0;height:100%}.mission-camera-title{display:flex;align-items:center;gap:7px;width:100%;padding:8px 10px;border:0;color:#b7ccd5;background:transparent;cursor:pointer;font-size:12px;font-weight:700;text-align:left;text-transform:uppercase}.mission-camera-title:disabled{cursor:default}.mission-camera-title small{margin-left:auto;color:#5f7d89;font-size:10px}.mission-camera-title span{width:7px;height:7px;border-radius:50%;background:#00e5a0;box-shadow:0 0 8px #00e5a0}.mission-video-frame{position:relative;aspect-ratio:16 / 9;background:#010406}.mission-focus-stage .mission-camera-card .mission-video-frame{min-height:0;height:100%;aspect-ratio:auto}.mission-video-frame video{display:block;width:100%;height:100%;object-fit:contain}.mission-video-frame>button{position:absolute;inset:0;border:0;color:#8ba2ad;background:#010508d1;cursor:pointer}.mission-view-strip .mission-map-stage{min-height:0;height:auto;aspect-ratio:16 / 9;padding:3px}.mission-view-strip .mission-map-card .panel-description,.mission-view-strip .mission-map-tools{display:none}.mission-view-strip .mission-map-card .panel-header{min-height:34px;padding:7px 9px}.mission-view-heading{display:grid;gap:2px;border:0;color:inherit;background:transparent;cursor:pointer;text-align:left}.mission-view-heading:disabled{cursor:default}.mission-view-heading small{color:#5f7d89;font-size:10px}.mission-map-tools{display:flex;align-items:center;gap:7px}.mission-map-tools button{padding:6px 9px;border:1px solid rgba(99,173,193,.28);border-radius:4px;color:#bcd1da;background:#102632;cursor:pointer}.mission-map-tools button.active{border-color:#00e5a080;color:#00e5a0}.mission-map-tools span{min-width:40px;color:#76919d;font:11px Share Tech Mono,monospace;text-align:right}.mission-react-side{display:flex;flex-direction:column;gap:18px;min-height:0;height:100%;padding-right:4px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent;overscroll-behavior:contain}.mission-react-side>.mission-control-card{flex:0 0 auto}.mission-control-card .panel-header{min-height:44px}.mission-control-card .panel-header>a{color:#00e5a0;font-size:12px}.mission-control-body{display:grid;gap:10px;padding:12px}.mission-control-body p,.mission-control-body small{margin:0;color:#8fa6b1}.mission-control-body select,.mission-control-body input{width:100%}.mission-select-row,.mission-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.mission-select-row{grid-template-columns:minmax(0,1fr) 38px}.mission-control-body button,.mission-select-row select{min-height:37px;border:1px solid rgba(99,173,193,.28);border-radius:5px;color:#dceaf0;background:#102632}.mission-control-body button:not(:disabled):hover{border-color:#00e5a0}.mission-control-body button:disabled{opacity:.45;cursor:not-allowed}.mission-control-body .wide{width:100%}.mission-run-state{padding:3px 7px;border-radius:10px;color:#90a7b1;background:#122732;font:11px Share Tech Mono,monospace;text-transform:uppercase}.mission-run-state.running,.mission-run-state.holding,.mission-run-state.navigating{color:#001b13;background:#00e5a0}.mission-step-list{max-height:165px;overflow:auto;display:grid;gap:4px;margin:0;padding:0;list-style:none}.mission-step-list li{display:flex;justify-content:space-between;padding:7px 8px;border-left:2px solid #254451;background:#14303c73}.mission-step-list li.active{border-color:#00e5a0;color:#00e5a0}.mission-step-list small{font-family:Share Tech Mono,monospace}.mission-status-grid{display:grid;grid-template-columns:1fr auto;gap:8px 14px;padding:12px}.mission-status-grid span{color:#8ca5af}.mission-status-grid strong{font:13px Share Tech Mono,monospace}.mission-teleop-pad,.mission-camera-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mission-teleop-pad button,.mission-camera-pad button{min-height:42px}.mission-teleop-pad .stop{color:#fff;background:#8d2440}.mission-teleop-pad button.keyboard-active{border-color:#00e5a0;color:#001a12;background:#00e5a0;box-shadow:0 0 12px #00e5a059}.mission-range-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;color:#8fa6b1;font-size:12px}.mission-check-row{display:flex;align-items:center;gap:9px;color:#b8cbd3;cursor:pointer;font-size:12px}.mission-check-row input{width:auto;accent-color:#00e5a0}.mission-media-selectors{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mission-media-selectors label{display:grid;gap:5px;color:#8fa6b1;font-size:11px}.mission-control-body button.recording{border-color:#ff4d6a;color:#fff;background:#ff4d6a3d}@media(max-width:980px){.mission-react-page{overflow:auto}.mission-react-layout{flex:0 0 auto;grid-template-columns:1fr;min-height:calc(100vh - 140px);overflow:visible}.mission-react-main{height:auto;grid-template-rows:minmax(420px,56vh) auto;overflow:visible}.mission-focus-stage{min-height:420px}.mission-view-strip{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.mission-view-strip>.mission-switchable-view{min-height:180px}.mission-react-side{height:auto;overflow:visible;padding-right:0}}@media(max-width:760px){.mission-react-page{padding:10px}.mission-view-strip,.mission-react-side{grid-template-columns:1fr}.mission-map-stage{min-height:360px;height:55vh}}.patrol-react-page{position:fixed;inset:0;z-index:90;padding:28px;overflow:auto;background:radial-gradient(circle at 10% 0,rgba(0,170,255,.08),transparent 35%),var(--bg);color:var(--text)}.patrol-react-page>*{width:min(1480px,100%);margin-left:auto;margin-right:auto}.patrol-react-page>.page-message{position:relative;z-index:10000;margin-top:10px}.patrol-page-toast{position:fixed;z-index:10060;top:22px;right:22px;width:min(520px,calc(100vw - 44px));box-shadow:0 12px 36px #0000008c}.navigation-error-toast{position:fixed;z-index:10100;bottom:22px;right:22px;display:flex;align-items:flex-start;gap:16px;width:min(440px,calc(100vw - 44px));box-sizing:border-box;padding:18px 20px;border:1px solid #ef7d7d;border-left:4px solid #f87171;border-radius:12px;background:#301b22;color:#fff1f2;box-shadow:0 12px 36px #0000008c;max-height:50dvh;overflow-y:auto;overflow-wrap:anywhere}.navigation-error-toast strong{font-size:16px}.navigation-error-toast p{margin:8px 0 0;font-size:13px;line-height:1.5}.navigation-error-toast .navigation-error-detail{color:#fda4af}.navigation-error-dismiss{flex-shrink:0;width:32px;height:32px;border:0;border-radius:6px;background:transparent;color:inherit;font-size:24px;cursor:pointer}.navigation-error-dismiss:hover,.navigation-error-dismiss:focus-visible{background:#ffffff1f}.patrol-react-page.patrol-react-embedded{position:static;inset:auto;z-index:auto;width:100%;max-width:none;padding:0;overflow:visible;background:transparent}.patrol-react-embedded>*{max-width:none}.patrol-react-embedded .patrol-react-layout{margin-top:0}.patrol-react-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:start;height:auto;min-height:0;margin-top:18px}.patrol-map-panel,.patrol-side-card,.patrol-sequence-panel{border:1px solid var(--border);border-radius:12px;background:#161b24f2;overflow:hidden}.patrol-map-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0}.patrol-map-stage{position:relative;min-height:0;padding:6px;overflow:hidden;background:#03090e;-webkit-user-select:none;user-select:none}.patrol-map-device-select,.patrol-update-map{position:static}.patrol-map-device-select{margin-left:12px;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--border);border-radius:7px;background:#0d11178c;color:var(--muted);font-size:10px}.patrol-map-panel>.panel-header{justify-content:flex-start}.patrol-map-header-actions{margin-left:auto}.patrol-navigation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:9px 12px;border-top:1px solid var(--border);background:#0d1117eb}.patrol-navigation-status{display:grid;gap:2px;min-width:175px;margin-right:auto}.patrol-navigation-status>span,.patrol-navigation-actions label>span,.patrol-waypoint-menu>span{color:var(--muted);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.patrol-navigation-status>small{color:var(--text);font:11px var(--mono)}.patrol-navigation-actions label{display:flex;align-items:center;gap:7px}.patrol-navigation-actions select{width:auto;min-width:125px;min-height:34px}.patrol-navigation-actions button,.patrol-waypoint-menu button{min-height:34px;padding:0 11px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--panel-2);font:10px var(--mono);text-transform:uppercase;cursor:pointer}.patrol-navigation-actions button:hover:not(:disabled),.patrol-waypoint-menu button:hover:not(:disabled){color:var(--accent);border-color:#00e5a080}.patrol-navigation-actions button:disabled,.patrol-waypoint-menu button:disabled{cursor:not-allowed;opacity:.45}.patrol-waypoint-menu{position:fixed;z-index:10050;display:grid;gap:8px;min-width:205px;padding:10px;border:1px solid rgba(0,229,160,.45);border-radius:7px;background:#090e15fa;box-shadow:0 12px 32px #0000008c}.patrol-sections-toggle{position:absolute;z-index:11;top:10px;right:190px;min-height:31px;padding:0 10px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:#0c131ceb;font:10px var(--mono);text-transform:uppercase;cursor:pointer;box-shadow:0 3px 12px #0006}.patrol-sections-toggle.active{color:var(--accent);border-color:#00e5a073}.patrol-map-controls .patrol-sections-toggle{position:static;min-height:29px;padding:0 8px;border:0;border-right:1px solid var(--border);border-radius:0;box-shadow:none}.patrol-map-controls .patrol-sections-toggle.active{background:#00e5a01f}.patrol-map-device-select select{min-height:30px;max-width:230px}.patrol-react-embedded .patrol-map-device-select{padding:0;border:0;background:transparent;color:var(--text);font-weight:600}.patrol-react-embedded .patrol-map-device-select select{min-width:230px;color:var(--ud-accent);font:inherit}.patrol-map-toolbar{position:absolute;z-index:12;top:10px;right:10px;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:#0d1117e6}.patrol-map-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.patrol-camera-strip{margin-top:18px;overflow:hidden}.patrol-camera-strip .panel-header small{color:var(--muted);font:10px var(--mono)}.patrol-camera-track{display:flex;height:clamp(180px,24vw,310px);gap:1px;overflow-x:auto;background:var(--border);scroll-snap-type:x proximity}.patrol-camera-track>p{margin:auto;color:var(--muted)}.patrol-camera-track article{position:relative;display:grid;grid-template-rows:32px minmax(0,1fr);flex:1 0 calc(25% - 1px);min-width:260px;background:var(--surface);scroll-snap-align:start}.patrol-camera-track article .camera-fit-controls,.patrol-modal-camera-strip article .camera-fit-controls{top:36px}.patrol-camera-track article:hover .camera-fit-controls,.patrol-camera-track article:focus-within .camera-fit-controls,.patrol-modal-camera-strip article:hover .camera-fit-controls,.patrol-modal-camera-strip article:focus-within .camera-fit-controls{opacity:1;transform:translateY(0);pointer-events:auto}.patrol-camera-track article>header{display:flex;align-items:center;padding:5px 9px;font:10px var(--mono)}.patrol-camera-track article>header button{margin-left:auto;border:1px solid var(--border);border-radius:4px;color:var(--accent);background:var(--bg);font:9px var(--mono);text-transform:uppercase;cursor:pointer}.patrol-camera-track .mission-video-frame{height:100%;aspect-ratio:auto}.patrol-camera-strip.count-1 .patrol-camera-track article{flex-basis:100%}.patrol-camera-strip.count-2 .patrol-camera-track article{flex-basis:calc(50% - 1px)}.patrol-camera-strip.count-3 .patrol-camera-track article{flex-basis:calc(33.333% - 1px)}.patrol-sequence-picker{display:flex;align-items:center;gap:8px;margin-left:auto}.patrol-sequence-picker select{min-width:240px}.patrol-sequence-picker button,.patrol-sequence-run-actions button,.patrol-modal-actions button,.patrol-compact-modal header button,.patrol-sequence-modal>header button,.patrol-confirm-modal button{min-height:32px;padding:5px 10px;border:1px solid var(--border);border-radius:5px;color:var(--text);background:var(--surface-2);cursor:pointer}.patrol-sequence-picker .sequence-add{color:var(--accent);border-color:#00e5a073}.patrol-sequence-run-actions .sequence-start{color:var(--accent);border-color:#00e5a073;background:#00e5a01a}.patrol-sequence-run-actions .sequence-pause{color:#f7b955;border-color:#f7b95573;background:#f7b9551a}.patrol-sequence-run-actions .sequence-cancel{color:#ff6b6b;border-color:#ff6b6b73;background:#ff6b6b1a}.patrol-sequence-picker button:disabled,.patrol-sequence-run-actions button:disabled{cursor:not-allowed;opacity:.42}.patrol-sequence-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.patrol-sequence-run-actions{display:flex;gap:7px}.patrol-modal-backdrop{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:24px;background:#0a0f1624;-webkit-backdrop-filter:blur(11px) saturate(.82);backdrop-filter:blur(11px) saturate(.82)}.patrol-sequence-modal,.patrol-compact-modal,.patrol-confirm-modal{width:min(1380px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 24px 80px #0000008c}.patrol-sequence-modal{width:min(1580px,96vw);max-height:94vh;overflow-x:hidden;overflow-y:auto}.patrol-compact-modal{width:min(520px,100%)}.patrol-confirm-modal{width:min(440px,100%);padding:24px}.patrol-confirm-layer{z-index:520}.patrol-sequence-modal>header,.patrol-compact-modal>header{position:sticky;z-index:4;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.patrol-sequence-modal h2,.patrol-compact-modal h2{margin:0;font-size:17px}.patrol-sequence-name{display:grid;grid-template-columns:auto minmax(240px,360px);align-items:center;gap:9px;margin-left:auto;color:var(--muted);font:9px var(--mono);text-transform:uppercase}.patrol-sequence-name input{min-height:34px;padding:6px 9px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--bg);font:11px var(--mono);text-transform:none}.patrol-sequence-modal header small,.patrol-compact-modal header small{color:var(--muted)}.patrol-modal-map{position:relative;height:min(27vh,280px);margin:14px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#03090e}.patrol-modal-camera-strip{display:flex;gap:1px;height:clamp(120px,11vw,180px);margin:0 14px 12px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--border)}.patrol-modal-camera-strip article{position:relative;display:grid;grid-template-rows:27px minmax(0,1fr);flex:1 1 25%;min-width:0;background:var(--surface-2)}.patrol-modal-camera-strip article header{display:flex;align-items:center;padding:4px 8px;color:var(--text);font:9px var(--mono);text-transform:uppercase}.patrol-modal-camera-strip article header button{margin-left:auto;border:0;color:var(--accent);background:transparent;font:8px var(--mono);text-transform:uppercase;cursor:pointer}.patrol-modal-camera-strip .mission-video-frame{height:100%;aspect-ratio:auto}.patrol-camera-empty{display:grid;grid-column:1 / -1;place-items:center;color:var(--muted);font:10px var(--mono)}.patrol-sequence-modal{font-size:12px;scrollbar-gutter:stable}.patrol-sequence-modal .patrol-sequence-grid{grid-template-columns:350px 350px minmax(0,1fr);align-items:start;gap:12px;padding:0 14px 12px}.patrol-sequence-modal .patrol-form{grid-template-columns:minmax(190px,1fr) 92px;grid-template-rows:repeat(3,auto);gap:9px 14px}.patrol-sequence-modal .patrol-form>label{grid-column:1}.patrol-sequence-modal .patrol-form>.patrol-check{grid-column:1}.patrol-sequence-modal .patrol-form>.patrol-actions{grid-column:2;grid-row:1 / 4;flex-flow:column nowrap;align-self:stretch;margin-left:4px}.patrol-sequence-modal .patrol-form>.patrol-actions button{flex:1 1 0;width:100%;padding-inline:6px;white-space:nowrap}.patrol-sequence-modal .patrol-form>.patrol-actions button:nth-child(2){border-color:#00c98bb3;color:#00e5a0;background:#00c98b1f}.patrol-sequence-modal .patrol-form>.patrol-actions button:nth-child(3){border-color:#ff5263b3;color:#ff6573;background:#ff52631f}.patrol-sequence-modal .patrol-form>.patrol-actions button:disabled{opacity:.42}.patrol-sequence-run-status{display:grid;gap:.2rem;padding:.65rem .8rem;border:1px solid rgba(80,200,140,.45);border-radius:.5rem;background:#1e78501f}.patrol-sequence-run-status.disconnected{border-color:#ffaa37b3;background:#b45f0a2e}.patrol-sequence-run-status small{line-height:1.35}.patrol-sequence-modal .patrol-form input,.patrol-sequence-modal .patrol-form select{min-height:32px}.patrol-sequence-modal .patrol-media-actions{align-self:start;justify-self:stretch;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:100%}.patrol-sequence-modal .patrol-media-actions fieldset{align-self:start;min-height:126px;padding:12px}.patrol-steps-panel{margin:0 14px 10px;overflow:hidden;scroll-margin-bottom:64px;border:1px solid var(--border);border-radius:8px;background:#0b1119b8}.patrol-steps-panel>header{display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:6px 10px;border-bottom:1px solid var(--border)}.patrol-steps-panel>header strong{color:var(--accent-2);font:800 10px var(--mono);letter-spacing:.07em;text-transform:uppercase}.patrol-steps-panel>header span{color:var(--muted);font:9px var(--mono)}.patrol-steps-panel .patrol-step-list{min-height:145px;max-height:165px;padding:8px;overflow-x:auto;overflow-y:hidden}.patrol-steps-panel .patrol-step-list>p{margin:auto 4px;color:var(--muted);font:10px var(--mono)}.patrol-sequence-modal .patrol-form,.patrol-sequence-modal .patrol-ptz,.patrol-sequence-modal .patrol-media-actions{padding:12px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(145deg,#1c2430e0,#10161fe0)}.patrol-sequence-modal .patrol-form label{font-size:11px}.patrol-sequence-modal .patrol-form input,.patrol-sequence-modal .patrol-form select{font-size:12px}.patrol-sequence-modal .patrol-ptz small{font-size:11px}.patrol-sequence-modal .patrol-ptz{grid-template-columns:minmax(0,1fr) 92px;align-items:start;column-gap:10px}.patrol-sequence-modal .patrol-ptz>small:first-child{grid-column:1 / -1}.patrol-sequence-modal .patrol-ptz>.mission-camera-pad{grid-column:1}.patrol-sequence-modal .patrol-ptz>.patrol-actions{grid-column:2;flex-flow:column nowrap}.patrol-sequence-modal .patrol-ptz>.patrol-actions button{flex:0 0 auto;width:100%;padding-inline:7px;white-space:nowrap}.patrol-sequence-modal .patrol-ptz>small:last-child{grid-column:1 / -1}.patrol-sequence-modal .patrol-media-actions legend,.patrol-sequence-modal .patrol-media-actions label{font-size:11px}.patrol-sequence-modal .patrol-media-actions fieldset{background:#080d1457}.patrol-sequence-modal .mission-camera-pad button{border-color:#00aaff40;background:#00aaff14}.patrol-modal-actions .btn-primary{border-color:#00c98b;color:#06120e;background:#00c98b;font-weight:800}.patrol-modal-actions .btn-danger{border-color:#ff5263a6;color:#ff5263;background:#ff52631f;font-weight:800}.patrol-modal-actions .btn-danger:hover:not(:disabled){border-color:#ff5263;color:#fff;background:#d9364a}.patrol-modal-actions{position:sticky;z-index:4;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface)}.patrol-modal-actions span{margin-right:auto;color:var(--muted);font:10px var(--mono)}.patrol-confirm-modal h3{margin:0;line-height:1.3}.patrol-confirm-modal p{margin:10px 0 22px;color:var(--muted);line-height:1.5}.patrol-confirm-modal>div{display:flex;justify-content:flex-end;gap:10px}.patrol-step-list>div{cursor:pointer}.patrol-map-alignment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;border:1px solid var(--border);border-radius:7px}.patrol-compact-modal{width:min(900px,94vw)}.patrol-compact-modal>.patrol-form{grid-template-columns:repeat(2,minmax(0,1fr))}.patrol-compact-modal>.patrol-form>.patrol-check,.patrol-compact-modal>.patrol-form>.patrol-load-map,.patrol-compact-modal>.patrol-form>.patrol-map-preview,.patrol-compact-modal>.patrol-form>.patrol-map-name-row,.patrol-compact-modal>.patrol-form>.patrol-map-alignment{grid-column:1 / -1}.patrol-map-name-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.patrol-map-name-row>label{display:grid;gap:5px}.patrol-sequence-preview{display:grid;gap:7px;padding:12px 14px 14px;border-top:1px solid var(--border)}.patrol-sequence-live-status{display:grid;gap:6px;margin:10px 14px 0;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:#08101d94}.patrol-sequence-live-status>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.patrol-sequence-live-status span{color:var(--muted);font:700 10px var(--mono);text-transform:uppercase}.patrol-sequence-live-status strong{min-width:0;color:var(--text);font-size:13px;text-align:right;overflow-wrap:anywhere}.patrol-sequence-live-status small{color:var(--muted);overflow-wrap:anywhere}.patrol-sequence-live-status.active{border-color:#00aaff57;background:#00aaff1a}.patrol-sequence-live-status.ok{border-color:#00e5a052;background:#00e5a017}.patrol-sequence-live-status.warn{border-color:#f59e0b61;background:#f59e0b1a}.patrol-sequence-live-status.error{border-color:#ff4d6a5c;background:#ff4d6a1a}.patrol-sequence-preview-heading{display:flex;align-items:center;gap:12px}.patrol-sequence-preview-step{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px}.patrol-hold-countdown{color:var(--accent)}.patrol-sequence-preview-heading{justify-content:space-between;color:var(--muted)}.patrol-sequence-preview-step{padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:#08101d6b}.patrol-sequence-preview-step.active{border-color:var(--accent);background:#00e5a01a;box-shadow:inset 3px 0 0 var(--accent)}.patrol-sequence-preview-step b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:var(--accent-2);background:#00aaff1f}.patrol-sequence-preview-list{display:grid;gap:7px;max-height:330px;overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}.patrol-sequence-step-summary,.patrol-sequence-step-media{display:grid;gap:3px;min-width:0}.patrol-sequence-step-summary span{font-weight:700}.patrol-sequence-step-media{grid-column:2;padding-top:7px;border-top:1px solid var(--border);color:var(--muted)}.patrol-sequence-step-summary small,.patrol-sequence-step-media small{white-space:normal;overflow-wrap:anywhere}.patrol-load-map{min-height:34px;border:1px solid rgba(0,170,255,.45);border-radius:6px;color:var(--accent-2);background:#00aaff1a;font:700 10px var(--mono);text-transform:uppercase;cursor:pointer}.patrol-map-preview{position:relative;display:grid;height:280px;place-items:center;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#03090e}.patrol-map-preview img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center}.patrol-map-preview span{position:absolute;left:9px;bottom:9px;padding:4px 7px;border-radius:4px;color:var(--text);background:#04090ed1;font:9px var(--mono)}.patrol-map-alignment legend{padding:0 5px;color:var(--accent-2);font-size:10px}.patrol-map-alignment>div{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:7px}.patrol-compact-schedules{display:grid;gap:10px;min-height:0;padding:12px;border-top:1px solid var(--border);overflow:auto}.patrol-compact-schedules .patrol-schedule-list{max-height:none}.patrol-react-sidebar{display:none}.patrol-react-layout{grid-template-columns:minmax(0,1fr)}.patrol-dashboard-view{overflow:hidden}.patrol-dashboard-view>.patrol-react-embedded{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,27%);grid-template-rows:minmax(0,75fr) minmax(180px,25fr);gap:12px;height:calc(100% - 48px)}.patrol-react-embedded .patrol-react-layout{grid-column:1;grid-row:1;min-height:0;height:100%;width:100%;grid-template-columns:minmax(0,1fr)!important}.patrol-react-embedded .patrol-map-panel{height:100%}.patrol-react-embedded .patrol-map-stage{display:block;padding:0}.mission-map-only{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:#03090e}.mission-map-only img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center}.mission-map-only span{position:absolute;left:12px;bottom:12px;padding:5px 8px;border:1px solid var(--border);border-radius:4px;color:var(--muted);background:#04090ed1;font:9px var(--mono)}@media(max-width:1400px){.patrol-dashboard-view>.patrol-react-embedded{grid-template-columns:minmax(0,1fr) minmax(320px,32%)}.patrol-sequence-modal .patrol-sequence-grid{grid-template-columns:320px 330px minmax(0,1fr)}.patrol-sequence-modal .patrol-media-actions{grid-template-columns:repeat(5,minmax(92px,1fr))}}@media(max-width:1100px){.patrol-dashboard-view{overflow:auto!important}.patrol-dashboard-view>.patrol-react-embedded{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:520px 240px 300px 300px!important;height:auto!important;min-height:100%}.patrol-react-embedded .patrol-react-layout,.patrol-react-embedded .patrol-camera-strip,.patrol-react-embedded .patrol-sequence-panel,.patrol-react-embedded .patrol-schedules-panel{grid-column:1!important;width:100%!important;height:auto!important;align-self:stretch!important}.patrol-react-embedded .patrol-react-layout{grid-row:1!important}.patrol-react-embedded .patrol-camera-strip{grid-row:2!important}.patrol-react-embedded .patrol-sequence-panel{grid-row:3!important}.patrol-react-embedded .patrol-schedules-panel{grid-row:4!important}.patrol-sequence-modal{max-height:calc(100dvh - 24px);overflow-y:auto}.patrol-sequence-modal .patrol-sequence-grid{grid-template-columns:minmax(280px,1fr) minmax(300px,1fr)}.patrol-sequence-modal .patrol-media-actions{grid-column:1 / -1;grid-template-columns:repeat(5,minmax(120px,1fr))}.patrol-modal-map{height:300px}.patrol-modal-camera-strip{height:110px}}@media(max-width:700px){.patrol-dashboard-view{padding:8px}.patrol-dashboard-view>.patrol-react-embedded{grid-template-rows:430px 210px auto 300px!important;gap:8px;height:auto}.patrol-map-panel>.panel-header{align-items:stretch;flex-wrap:wrap;gap:8px}.patrol-map-device-select{order:3;width:100%;margin-left:0}.patrol-map-device-select select{flex:1;max-width:none;min-width:0}.patrol-map-header-actions{margin-left:auto}.patrol-sections-toggle{right:178px}.patrol-camera-track article{flex-basis:88%;min-width:88%}.patrol-modal-backdrop{padding:0}.patrol-sequence-modal,.patrol-compact-modal,.patrol-confirm-modal{width:100vw;max-width:none;max-height:100dvh;border-radius:0}.patrol-sequence-modal{height:100dvh;overflow-y:auto}.patrol-sequence-modal>header{position:sticky;padding:10px 12px}.patrol-modal-map{height:260px;margin:8px}.patrol-modal-camera-strip{height:150px;margin:0 8px 8px;overflow-x:auto}.patrol-modal-camera-strip article{flex:0 0 82%;min-width:82%}.patrol-sequence-modal .patrol-sequence-grid{grid-template-columns:minmax(0,1fr);padding:0 8px 8px}.patrol-sequence-modal .patrol-media-actions{grid-column:1;grid-template-columns:repeat(5,145px);width:100%;overflow-x:auto}.patrol-steps-panel{margin:0 8px 8px}.patrol-map-alignment,.patrol-map-name-row{grid-template-columns:1fr}.patrol-compact-modal>.patrol-form{grid-template-columns:1fr}.patrol-compact-modal>.patrol-form>*{grid-column:1!important}.patrol-map-preview{height:230px}}@media(max-height:800px)and (min-width:1101px){.patrol-sequence-modal{max-height:96dvh;overflow-y:auto}.patrol-modal-map{height:230px}.patrol-modal-camera-strip{height:90px}.patrol-steps-panel .patrol-step-list{min-height:70px;max-height:90px}}.patrol-react-embedded .patrol-camera-strip{display:grid;grid-template-rows:minmax(0,1fr);grid-column:1;grid-row:2;min-height:0;margin-top:0}.patrol-react-embedded .patrol-camera-track{height:100%;min-height:0}.patrol-react-embedded .patrol-camera-track article,.patrol-react-embedded .patrol-camera-track .mission-video-frame,.patrol-react-embedded .patrol-camera-track video{min-height:0}.patrol-react-embedded .patrol-status-panel{display:none}.patrol-react-embedded .patrol-sequence-panel{grid-column:2;grid-row:1 / 3;align-self:start;height:calc(50% - 6px);min-height:0;margin-top:0;display:flex;flex-direction:column;overflow:hidden}.patrol-react-embedded .patrol-schedules-panel{grid-column:2;grid-row:1 / 3;align-self:end;height:calc(50% - 6px);min-height:0;overflow:hidden;display:flex;flex-direction:column}.patrol-react-embedded .patrol-schedules-panel .patrol-compact-schedules{display:flex;flex:1 1 auto;flex-direction:column;align-content:start;min-height:0;padding:10px 12px;overflow:hidden}.patrol-react-embedded .patrol-schedules-panel>.panel-header{min-height:51px;align-items:flex-start;flex-direction:column;justify-content:center;gap:9px}.patrol-schedule-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px}.patrol-schedule-toolbar span{color:var(--muted);font:10px var(--mono)}.patrol-schedule-toolbar button{min-height:32px;padding:5px 12px;border:1px solid var(--border);border-radius:5px;color:var(--text);background:var(--surface-2);font:700 10px var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.patrol-react-embedded .patrol-schedules-panel .patrol-schedule-list,.patrol-react-embedded .patrol-schedules-panel .patrol-schedule-form{margin:10px 0 0}.patrol-react-embedded .patrol-schedules-panel .patrol-schedule-list{flex:1 1 auto;min-height:0;max-height:none;padding-right:3px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.patrol-react-embedded .patrol-sequence-panel>.panel-header{flex:0 0 auto;align-items:stretch;flex-direction:column;gap:9px}.patrol-react-embedded .patrol-sequence-panel>.patrol-sequence-preview{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.patrol-react-embedded .patrol-sequence-panel .patrol-sequence-preview-list{max-height:none;overflow:visible;padding-right:0}.patrol-react-embedded .patrol-sequence-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:0}.patrol-react-embedded .patrol-sequence-picker select{grid-column:1 / -1;min-width:0}.patrol-react-embedded>.page-message{position:fixed;z-index:550;top:auto;bottom:22px;right:22px;width:auto;max-width:520px;max-height:50dvh;overflow-y:auto}.patrol-react-sidebar{display:flex;flex-direction:column;gap:14px;min-height:0;overflow:visible}.patrol-side-card{flex:0 0 auto}.patrol-side-card .panel-header>span,.patrol-sequence-panel .panel-header>span{color:var(--muted);font:11px var(--mono)}.patrol-status-panel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin-top:18px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--border)}.patrol-status-panel>div{display:grid;gap:5px;padding:11px 14px;background:#161b24fa}.patrol-status-panel span{color:var(--muted);font-size:10px;text-transform:uppercase}.patrol-status-panel strong{color:var(--text);font:12px var(--mono)}.patrol-item-list{display:grid;max-height:250px;overflow-y:auto}.patrol-item-list>button,.patrol-item-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:8px 12px;border:0;border-bottom:1px solid var(--border);color:var(--text);background:transparent;text-align:left}.patrol-item-list>button{cursor:pointer}.patrol-item-list>button:hover,.patrol-item-list>button.active{color:var(--accent);background:#00e5a014}.patrol-item-list small{color:var(--muted);font:10px var(--mono)}.patrol-item-list.compact{max-height:180px}.patrol-form{display:grid;gap:10px;padding:12px}.patrol-form label{display:grid;gap:5px;color:var(--muted);font-size:11px}.patrol-form input,.patrol-form select{min-height:36px;padding:6px 9px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--bg)}.patrol-form .patrol-check{display:flex;grid-template-columns:none;align-items:center;gap:8px}.patrol-check input{width:auto;accent-color:var(--accent)}.patrol-sequence-panel{margin-top:18px}.patrol-sequence-grid{display:grid;grid-template-columns:250px 220px minmax(300px,1fr) 300px;gap:14px;padding:14px;border-bottom:1px solid var(--border)}.patrol-actions{display:flex;flex-wrap:wrap;gap:7px}.patrol-actions button,.patrol-ptz button,.patrol-bottom-bar button{min-height:34px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--surface-2);cursor:pointer}.patrol-actions button:disabled,.patrol-ptz button:disabled{opacity:.45;cursor:not-allowed}.patrol-ptz{display:grid;align-content:start;gap:8px}.patrol-ptz small{color:var(--accent);font:10px var(--mono)}.patrol-media-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.patrol-media-actions fieldset{display:grid;align-content:start;gap:5px;padding:8px;border:1px solid var(--border);border-radius:6px}.patrol-media-actions legend{padding:0 4px;color:var(--accent-2);font-size:10px}.patrol-media-actions label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;text-transform:capitalize}.patrol-feeds{display:grid;grid-template-columns:1fr 1fr;gap:8px}.patrol-feeds>div{min-width:0}.patrol-feeds span{display:block;padding:5px;color:var(--muted);font-size:10px}.patrol-step-list{display:flex;align-items:stretch;gap:8px;padding:12px;overflow-x:auto;overflow-y:hidden}.patrol-schedule-panel{display:grid;grid-template-columns:260px minmax(0,1fr);gap:12px;padding:12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.patrol-schedule-header{display:flex;align-items:center;justify-content:space-between;grid-column:1 / -1}.patrol-schedule-header>div{display:grid;gap:2px}.patrol-schedule-header small{color:var(--muted);font:10px var(--mono)}.patrol-schedule-header button,.patrol-schedule-form button,.patrol-schedule-list button{min-height:30px;padding:5px 9px;border:1px solid var(--border);border-radius:5px;color:var(--text);background:var(--surface-2);cursor:pointer}.patrol-schedule-form{display:grid;gap:7px}.patrol-schedule-modal{width:min(760px,94vw)}.patrol-schedule-modal-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.patrol-schedule-modal-form>.patrol-schedule-days,.patrol-schedule-modal-form>.patrol-schedule-times,.patrol-schedule-modal-form>.patrol-check,.patrol-schedule-modal-form>.patrol-schedule-limit-grid{grid-column:1 / -1}.patrol-schedule-modal-form>.patrol-check{display:flex;align-items:center;justify-content:flex-start;gap:8px}.patrol-schedule-modal-form>.patrol-check input{flex:0 0 auto;margin:0}.patrol-schedule-form input,.patrol-schedule-form select{min-height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:5px;color:var(--text);background:var(--bg)}.patrol-schedule-form label{display:grid;gap:4px;color:var(--muted);font-size:10px}.patrol-schedule-days{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid var(--border);border-radius:5px}.patrol-schedule-days legend{padding:0 4px;color:var(--muted);font-size:10px}.patrol-schedule-days label{display:flex;align-items:center;gap:3px}.patrol-schedule-days input,.patrol-schedule-form .patrol-check input{width:auto;min-height:auto;padding:0;accent-color:var(--accent)}.patrol-schedule-times,.patrol-schedule-times>div,.patrol-schedule-limit-grid{display:grid;gap:6px}.patrol-schedule-times>div{grid-template-columns:minmax(0,1fr) auto}.patrol-schedule-limit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:640px){.patrol-schedule-modal-form,.patrol-schedule-limit-grid{grid-template-columns:1fr}.patrol-schedule-modal-form>*{grid-column:1}}.patrol-schedule-list{display:grid;align-content:start;gap:6px;max-height:210px;overflow-y:auto}.patrol-schedule-list>span{color:var(--muted);font:11px var(--mono)}.patrol-schedule-list>.patrol-schedule-item{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;padding:10px;border:1px solid var(--border);border-radius:5px;background:#00aaff06}.patrol-schedule-list .patrol-schedule-summary{display:grid;gap:3px;min-width:0}.patrol-schedule-summary strong{overflow-wrap:anywhere}.patrol-schedule-list small{color:var(--muted);font:10px var(--mono);line-height:1.35;overflow-wrap:anywhere}.patrol-schedule-list .patrol-schedule-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.patrol-schedule-actions button.enabled{border-color:#36d39973;color:var(--success)}.patrol-schedule-actions button:disabled{cursor:not-allowed;opacity:.5}.patrol-schedule-list button.delete{color:var(--danger)}.patrol-step-list>div{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);flex:0 0 330px;min-width:0;gap:7px 12px;padding:9px 30px 9px 10px;border:1px solid var(--border);border-radius:6px;background:#00aaff0d}.patrol-step-list .patrol-sequence-step-media{grid-column:2}.patrol-step-number{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:var(--accent-2);background:#00aaff1f}.patrol-step-list>div.active{border-color:var(--accent);background:#00e5a014}.patrol-step-list span{color:var(--muted);font:10px var(--mono)}.patrol-step-list button{position:absolute;top:5px;right:5px;border:0;color:var(--danger);background:transparent;cursor:pointer}.patrol-bottom-bar{position:static;z-index:8;display:flex;align-items:center;gap:12px;margin-top:18px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#161b24fa}.patrol-bottom-bar>span{color:var(--muted);font:10px var(--mono);white-space:nowrap}.patrol-bottom-bar>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;margin-left:auto}.patrol-bottom-bar select{width:auto;min-height:34px}@media(max-width:1180px){.patrol-react-layout{grid-template-columns:1fr;height:auto}.patrol-map-panel{min-height:600px}.patrol-react-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.patrol-sequence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patrol-status-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.patrol-react-page{padding:10px}.patrol-react-sidebar,.patrol-sequence-grid{grid-template-columns:1fr}.patrol-media-actions{grid-template-columns:repeat(2,1fr)}.patrol-status-panel,.patrol-schedule-panel{grid-template-columns:1fr}.patrol-bottom-bar{align-items:flex-start;flex-direction:column}.patrol-bottom-bar>div{justify-content:flex-start;margin-left:0}.patrol-modal-backdrop{padding:8px}.patrol-sequence-modal,.patrol-compact-modal{max-height:calc(100vh - 16px)}.patrol-sequence-modal>header{align-items:stretch;flex-wrap:wrap}.patrol-sequence-name{order:3;grid-template-columns:1fr;width:100%;margin-left:0}.patrol-sequence-picker{width:100%;flex-wrap:wrap}.patrol-sequence-picker select{flex:1 1 100%;min-width:0}.patrol-map-device-select{max-width:calc(100% - 130px)}.patrol-map-device-select label{display:none}.patrol-camera-track{height:230px}.patrol-camera-track article{flex-basis:88%!important;min-width:88%}}.dashboard-react-page{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:64px minmax(0,1fr) 230px;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:13px}.dashboard-react-page.motion-off,#app.dashboard-react-page.motion-off{grid-template-rows:64px minmax(0,1fr)}.dashboard-react-topbar{position:relative;z-index:20;display:flex;grid-row:1;grid-column:1;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:0 16px;border-bottom:1px solid var(--border);background:var(--surface)}.dashboard-topbar-left,.dashboard-topbar-right{display:flex;align-items:center;min-width:0}.dashboard-topbar-left{flex:0 0 auto;gap:12px}.dashboard-topbar-left>img{width:300px;height:50px;object-fit:contain;mix-blend-mode:screen}.dashboard-topbar-left>i{width:1px;height:20px;background:var(--border)}.dashboard-topbar-right{flex:1 1 auto;justify-content:flex-end;gap:10px}.dashboard-react-page .dashboard-topbar-right>select.device-btn{width:auto;min-width:150px;min-height:36px;padding:8px 13px;border:1px solid rgba(0,229,160,.3);border-radius:7px;background-color:#111522;color:var(--accent);color-scheme:dark;font:700 11px var(--mono);letter-spacing:.05em}.dashboard-react-page .dashboard-topbar-right>select.device-btn option,.dashboard-react-page .dashboard-topbar-right>select.device-btn optgroup{background-color:#111522!important;color:#dce7f7!important}.dashboard-topbar-right>a,.dashboard-topbar-right>button,.dashboard-menu>button{min-height:36px;padding:8px 13px;border:1px solid rgba(0,170,255,.3);border-radius:7px;color:var(--accent-2);background:#00aaff1a;font:700 12px var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap}.dashboard-menu:nth-of-type(2)>button{border-color:#f59e0b4d;color:#f59e0b;background:#f59e0b1a}.dashboard-topbar-right button.danger{border-color:#ff4d6a4d;color:var(--danger);background:#ff4d6a1f}.dashboard-topbar-right>a:hover,.dashboard-menu>button:hover{filter:brightness(1.25)}.dashboard-topbar-right button.danger:hover{background:#ff4d6a3d}.dashboard-user{color:var(--text);font:13px var(--mono);white-space:nowrap}.dashboard-role{padding:3px 10px;border:1px solid rgba(0,229,160,.35);border-radius:999px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-role.admin{border-color:#ff4d6a59;color:var(--danger)}.dashboard-role.operator{border-color:#00aaff59;color:var(--accent-2)}.dashboard-connection{display:flex;align-items:center;gap:6px;color:var(--muted);font:10px var(--mono)}.dashboard-connection:before{width:8px;height:8px;border-radius:50%;background:var(--danger);content:""}.dashboard-connection.live{color:var(--accent)}.dashboard-connection.live:before{background:var(--accent);box-shadow:0 0 8px var(--accent)}.dashboard-menu{position:relative}.dashboard-menu>div{position:absolute;top:calc(100% + 5px);right:0;display:grid;min-width:180px;padding:5px;border:1px solid var(--border);border-radius:6px;background:#121a24;box-shadow:0 12px 25px #0006}.dashboard-menu>div>*{padding:8px 9px;border:0;color:var(--text);background:transparent;cursor:pointer;text-align:left;text-decoration:none}.dashboard-menu>div>*:hover{color:var(--accent);background:#00e5a012}.dashboard-react-page>.page-message{position:fixed;top:68px;left:50%;z-index:30;width:min(560px,calc(100vw - 32px));margin:0;transform:translate(-50%);box-shadow:0 8px 24px #00000073}.dashboard-react-main{display:grid;grid-row:2 / 4;grid-column:1;grid-template-rows:minmax(0,1fr) 230px;gap:1px;min-height:0;overflow:hidden;background:var(--border)}.motion-off .dashboard-react-main,#app.dashboard-react-page.motion-off #main{grid-row:2;grid-template-rows:minmax(0,1fr)}.dashboard-react-main.columns-camera-center-right{grid-template-columns:minmax(0,2fr) minmax(0,1fr) 220px}.dashboard-react-main.columns-camera-center{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.dashboard-react-main.columns-camera-right,.dashboard-react-main.columns-center-right{grid-template-columns:minmax(0,1fr) 220px}.dashboard-react-main.columns-camera,.dashboard-react-main.columns-center,.dashboard-react-main.columns-empty{grid-template-columns:minmax(0,1fr)}.dashboard-react-main.columns-right{grid-template-columns:220px;justify-content:end}.dashboard-mobile-camera-toolbar{display:none}.dashboard-camera-grid{display:grid;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:1px;min-width:0;min-height:0;overflow:hidden;background:var(--border)}.dashboard-camera-grid.count-0,.dashboard-camera-grid.count-1{grid-template-columns:1fr;grid-template-rows:1fr}.dashboard-camera-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}.dashboard-camera-grid.count-3,.dashboard-camera-grid.count-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.dashboard-camera-grid article,.dashboard-map-panel,.dashboard-right-column>section,.dashboard-control-strip>section{min-height:0;background:#121821f5;overflow:hidden}.dashboard-camera-grid article{display:grid;grid-template-rows:30px minmax(0,1fr)}.dashboard-camera-grid article>header{display:flex;align-items:center;gap:7px;min-height:30px;padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text);background:var(--surface);font:700 10px var(--mono);letter-spacing:.07em;text-transform:uppercase}.dashboard-camera-grid article>header span{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent)}.dashboard-camera-grid .dashboard-camera-view-mode{min-height:22px;margin-left:auto;padding:2px 8px;border:1px solid rgba(0,229,160,.42);border-radius:3px;background:#0d1117b8;color:var(--accent);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.dashboard-camera-grid .dashboard-camera-view-mode:hover{background:#00e5a033}.detection-overlay-canvas{position:absolute;inset:0;z-index:10;width:100%;height:100%;pointer-events:none}.dashboard-camera-grid .mission-video-frame{height:100%;aspect-ratio:auto}.dashboard-camera-grid .mission-video-frame video{object-fit:cover}.dashboard-camera-grid .mission-video-frame>button{color:#6faec8;background:#060a10;font:11px var(--mono)}.dashboard-center-slot{display:flex;grid-row:1;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.dashboard-map-panel{display:grid;flex:1 1 0;grid-template-rows:34px minmax(0,1fr);min-width:0;background:var(--surface)}.dashboard-map-panel>header,.dashboard-right-column section>header,.dashboard-control-strip section>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px 6px;border-bottom:1px solid var(--border);color:#fff;background:var(--surface);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.dashboard-map-panel>header>div{display:flex;align-items:center;gap:6px}.dashboard-map-panel>header button{min-height:24px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;color:var(--accent-2);background:var(--surface-2);font:700 9px var(--sans);letter-spacing:.06em;cursor:pointer}.dashboard-map-panel>header button.active{color:var(--accent)}.dashboard-map-panel>div{position:relative;min-height:0;padding:5px;overflow:hidden;-webkit-user-select:none;user-select:none}.dashboard-right-column{display:flex;grid-row:1 / 3;flex-direction:column;gap:1px;min-width:0;min-height:0;overflow:hidden;background:var(--border)}.dashboard-right-column[hidden]{display:none}.motion-off .dashboard-right-column,#app.dashboard-react-page.motion-off #colRight{grid-row:1}.dashboard-right-column>section{display:flex;flex:1 1 0;flex-direction:column;min-height:0;background:var(--surface)}.dashboard-right-column>section[hidden]{display:none}.dashboard-right-column>section>:last-child{min-height:0;overflow-y:auto}.dashboard-right-column section>header span{color:var(--accent)}.dashboard-empty{display:grid;flex:1;min-height:48px;padding:16px 10px;place-items:center;color:var(--muted);font:10px var(--mono);text-align:center}.dashboard-status{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:10px;background:#0d111740}.dashboard-status span{color:var(--muted);font-size:10px}.dashboard-status strong{font:11px var(--mono)}.dashboard-sequence{display:grid;gap:8px;padding:8px}.dashboard-sequence select{width:100%;height:32px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:11px var(--mono)}.dashboard-sequence p{color:var(--muted);font:10px var(--mono)}.dashboard-sequence>div{display:flex;gap:7px}.dashboard-sequence button,.dashboard-nav-actions button,.dashboard-nav-actions select{min-height:31px;padding:5px 8px;border:1px solid var(--border);border-radius:4px;color:var(--text);background:var(--surface-2)}.dashboard-sequence button:disabled{opacity:.45}.dashboard-schedules{display:grid;gap:5px;max-height:180px;padding:8px;overflow-y:auto}.dashboard-schedules>div{display:grid;gap:3px;padding:8px;border:1px solid var(--border);border-radius:6px;background:#00aaff0a}.dashboard-schedules small{color:var(--muted);font:9px var(--mono)}.dashboard-control-strip{position:relative;z-index:2;display:grid;grid-row:3;grid-column:1;justify-self:start;grid-template-columns:minmax(300px,1.15fr) minmax(300px,.85fr) minmax(300px,1fr);gap:10px;width:100%;min-width:0;min-height:0;padding:8px 10px 10px;border-top:1px solid var(--border);background:var(--surface)}.dashboard-react-page:has(.dashboard-right-column:not([hidden])) .dashboard-control-strip{width:calc(100% - 220px)}.dashboard-react-page:has(.dashboard-right-column:not([hidden])) #bottom{--bottom-sidebar-width: 220px}.notification-config-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.notification-config-group-head button,.notification-config-fields button{display:inline-grid;width:23px;min-width:23px;height:23px;padding:0;place-items:center;border:1px solid rgba(0,170,255,.3);border-radius:4px;background:#00aaff1a;color:var(--accent-2);font:700 14px var(--mono);cursor:pointer}.notification-config-fields button{border-color:#ff4d6a4d;background:#ff4d6a1a;color:var(--danger)}.notification-config-group-head button:disabled{cursor:not-allowed;opacity:.35}body>.notification-modal-overlay{z-index:1000}@media(max-width:700px){.notification-modal-overlay{padding:10px}.notification-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.notification-modal-shell.config-open{grid-template-columns:minmax(0,1fr);overflow-y:auto}.notification-modal-shell.config-open .notification-modal-list{max-height:34dvh}.notification-config-pane{max-height:46dvh;border-top:1px solid var(--border);border-left:0}.notification-modal-actions{gap:5px}}.dashboard-camera-grid .panel-header>small{color:var(--muted);font:10px var(--mono)}#app .dashboard-topbar-right>a.layout-btn{border-color:#f59e0b6b;background:#f59e0b1f;color:#f59e0b}#app .settings-btn{border-color:#ff4d6a6b;background:#ff4d6a1f;color:var(--danger)}#app .settings-btn:hover{background:#ff4d6a3d}#app .dashboard-topbar-right>.logout-btn{border-color:#ff4d6a6b;background:#ff4d6a1f;color:var(--danger)}#app .dashboard-topbar-right>.logout-btn:hover{background:#ff4d6a40}.dashboard-control-strip>section{display:grid;grid-template-rows:30px minmax(0,1fr);padding:7px;border:1px solid var(--border);border-radius:8px;background:#0d111757}.dashboard-control-strip section>header{padding:0 1px 5px;border-bottom:0;background:transparent}.dashboard-control-strip section>header label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px;letter-spacing:0;text-transform:none}.dashboard-control-strip section>header input[type=checkbox]{accent-color:var(--accent)}.dashboard-control-strip section>header input[type=range]{width:90px}.dashboard-teleop-grid,.dashboard-ptz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-height:0}.dashboard-teleop-grid{justify-self:center;width:min(260px,100%);padding:4px}.dashboard-ptz-body-react{display:grid;grid-template-columns:minmax(0,1fr) minmax(68px,.55fr);align-items:stretch;gap:6px;min-width:0;min-height:0}.dashboard-ptz-grid{padding:4px 0 0}.dashboard-ptz-zoom{display:grid;grid-template-rows:1fr 1fr;gap:6px;min-height:0;padding-top:4px}.dashboard-teleop-grid button,.dashboard-ptz-grid button,.dashboard-ptz-zoom button{min-width:0;min-height:34px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--surface-2);font:700 10px var(--mono);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}.dashboard-teleop-grid button:not(:disabled):hover,.dashboard-ptz-grid button:not(:disabled):hover,.dashboard-ptz-zoom button:not(:disabled):hover{border-color:var(--accent-2);color:var(--accent-2);background:#00aaff24}.dashboard-teleop-grid button:nth-child(2),.dashboard-teleop-grid button:nth-child(4),.dashboard-teleop-grid button:nth-child(6),.dashboard-teleop-grid button:nth-child(8){color:var(--accent-2)}.dashboard-teleop-grid button:nth-child(5){border-color:#ff4d6a59;color:var(--danger);background:#ff4d6a1a}.dashboard-ptz-grid button:nth-child(5){color:var(--accent)}.dashboard-teleop-grid button.active{color:#001a12;background:var(--accent)}#app .dashboard-teleop-grid button.active,#app .dashboard-teleop-grid button.pressed,#app .dashboard-teleop-grid button:not(:disabled):active{border-color:var(--accent)!important;background:#00e5a038!important;color:var(--accent)!important;box-shadow:0 0 9px #00e5a06b!important}.dashboard-teleop-grid button:disabled,.dashboard-ptz-grid button:disabled,.dashboard-ptz-zoom button:disabled{opacity:.4}.dashboard-teleop-panel .motion-gamepad-indicator{max-width:150px;margin:0;overflow:hidden;text-overflow:ellipsis}.dashboard-teleop-panel .motion-keyboard-block .dashboard-teleop-grid{width:90px;padding:0}.dashboard-teleop-panel .motion-keyboard-block .dashboard-teleop-grid button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0}.dashboard-teleop-panel.teleop-disabled .motion-joystick-area{opacity:.32;filter:grayscale(.65);pointer-events:none}.dashboard-teleop-panel.teleop-disabled .dashboard-teleop-title{color:var(--muted)}.dashboard-teleop-panel.teleop-enabled{border-color:#00e5a047}.dashboard-nav-body-react{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:0;padding-top:4px}.dashboard-nav-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.dashboard-door-row-react{display:grid;grid-template-columns:minmax(76px,.85fr) minmax(0,1fr) minmax(0,1fr);gap:5px;min-width:0}.dashboard-nav-actions button,.dashboard-door-row-react button,.dashboard-door-row-react select{min-width:0;min-height:30px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text);font:700 10px var(--mono);cursor:pointer}.dashboard-nav-actions button.primary{border-color:#00aaff52;color:var(--accent-2);background:#00aaff1a}.dashboard-nav-actions button:hover:not(:disabled),.dashboard-door-row-react button:hover:not(:disabled){border-color:var(--accent-2);color:var(--accent-2)}.dashboard-nav-actions button:disabled,.dashboard-door-row-react button:disabled,.dashboard-door-row-react select:disabled{cursor:not-allowed;opacity:.45}@media(max-width:1100px){.dashboard-react-page,.dashboard-react-page.motion-off{position:fixed;display:block;height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto}.dashboard-react-topbar{min-height:64px;padding:7px 12px;flex-wrap:wrap}.dashboard-topbar-left{flex:1 1 auto}.dashboard-topbar-left>img{width:clamp(150px,24vw,220px)}.dashboard-topbar-right{flex:1 1 auto;flex-wrap:wrap}.dashboard-topbar-right>a,.dashboard-menu,.dashboard-role{display:none}.dashboard-react-main,.motion-off .dashboard-react-main{display:grid;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(320px,52dvh) minmax(420px,65dvh);grid-template-areas:"camera-toolbar" "camera" "minimap";min-height:0;overflow:visible}.dashboard-mobile-camera-toolbar{display:flex;grid-area:camera-toolbar;align-items:center;gap:10px;min-width:0;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface)}.dashboard-mobile-camera-toolbar label{color:var(--muted);font:700 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}.dashboard-mobile-camera-toolbar select{flex:1;min-width:0;height:40px;padding:7px 10px;border:1px solid rgba(0,170,255,.35);border-radius:7px;background:var(--surface-2);color:var(--text);font:12px var(--mono)}.dashboard-camera-grid,.dashboard-camera-grid.count-0,.dashboard-camera-grid.count-1,.dashboard-camera-grid.count-2,.dashboard-camera-grid.count-3,.dashboard-camera-grid.count-4{display:block;grid-area:camera;width:100%;height:auto;min-height:0;overflow:hidden}.dashboard-camera-grid article{display:none;width:100%;height:100%}.dashboard-camera-grid article.mobile-selected-camera{display:grid}.dashboard-center-slot{grid-area:minimap;width:100%;min-height:0}.dashboard-right-column,.dashboard-control-strip{display:none}}@media(min-width:801px)and (max-width:1100px)and (orientation:landscape){.dashboard-react-main,.motion-off .dashboard-react-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto minmax(520px,calc(100dvh - 64px));grid-template-areas:"camera-toolbar minimap" "camera minimap"}}@media(max-width:800px){.dashboard-react-topbar{align-items:flex-start;flex-direction:column}.dashboard-topbar-left,.dashboard-topbar-right{width:100%}.dashboard-topbar-left{justify-content:space-between}.dashboard-topbar-right{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{display:flex;justify-content:center;padding:28px;background:radial-gradient(circle at top,#182131,var(--bg) 60%);color:var(--text);font-family:var(--sans)}#root{width:100%}.shell{display:grid;gap:18px;width:100%}.user-management-page{width:min(1120px,100%);margin:0 auto}.topbar,.panel{border:1px solid var(--border);background:#161b24f0;box-shadow:0 18px 40px #00000047}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-radius:16px}.title-wrap h1{color:#fff;font-size:22px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.title-wrap p{margin-top:6px;color:var(--muted);font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase}.top-actions,.row-actions{display:flex;align-items:center;gap:10px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.user-pill,.role-badge{display:inline-flex;border-radius:999px;font-family:var(--mono)}.user-pill{padding:7px 12px;border:1px solid rgb(0 229 160 / 30%);background:#00e5a014;color:var(--accent);font-size:11px;letter-spacing:.08em}.btn,.mini-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;font-family:var(--sans);font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;font-size:11px;transition:transform .2s}.btn:hover{transform:translateY(-1px)}.btn-primary,.mini-btn.save{border-color:#00aaff52;background:#00aaff1f;color:var(--accent-2)}.btn-danger,.mini-btn.delete{border-color:#ff4d6a4d;background:#ff4d6a1f;color:var(--danger)}.panel{overflow:hidden;border-radius:16px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--border)}.panel-title,.panel-meta{color:var(--muted);font-family:var(--mono)}.panel-title{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.panel-meta{font-size:11px}.status{display:none;padding:14px 22px;border-bottom:1px solid var(--border);font:11px var(--mono)}.status.visible{display:block}.status.error{background:#ff4d6a0f;color:var(--danger)}.status.success{background:#00e5a00f;color:var(--accent)}.table-wrap{overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse}th{padding:14px 22px;background:#1c2333cc;color:var(--muted);font:10px var(--mono);letter-spacing:.12em;text-align:left;text-transform:uppercase}td{padding:16px 22px;border-top:1px solid var(--border);vertical-align:middle}.username{color:#fff;font:700 13px var(--mono)}.role-badge{padding:5px 10px;border:1px solid;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.role-admin{border-color:#ff4d6a4d;background:#ff4d6a1f;color:var(--danger)}.role-operator{border-color:#00aaff4d;background:#00aaff1f;color:var(--accent-2)}.role-viewer{border-color:#00e5a04d;background:#00e5a01f;color:var(--accent)}select{min-width:120px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;outline:none;background:var(--surface-2);color:var(--text);font:12px var(--mono)}.mini-btn{padding:8px 10px;border-radius:8px;font-size:10px}.mini-btn:disabled,select:disabled{cursor:not-allowed;opacity:.45}.empty-state{padding:30px 22px;color:var(--muted);font:12px var(--mono)}.account-page{width:min(760px,100%);margin:0 auto}.account-page .panel-body{padding:16px 20px}.account-page .form-grid{display:grid;grid-template-columns:1fr;gap:10px}.account-page .field>span{display:block;margin-bottom:4px;color:var(--muted);font:10px var(--mono);letter-spacing:.11em;text-transform:uppercase}.account-page .field input{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:8px;outline:none;background:var(--surface-2);color:var(--text);font:12px var(--mono)}.account-page .field input:focus{border-color:#00aaff73}.account-page .submit-btn{margin-top:8px;padding:10px 12px;border:1px solid rgb(0 229 160 / 35%);border-radius:8px;background:#00e5a01f;color:var(--accent);cursor:pointer;font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase}.account-page .submit-btn:hover:not(:disabled){background:#00e5a038}.account-page .submit-btn:disabled{cursor:not-allowed;opacity:.55}.account-page .status{margin-top:10px;padding:10px;border:0;border-radius:8px}.login-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 56px)}.auth-card{width:min(380px,100%);padding:34px 32px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 18px 40px #00000047}.auth-logo{margin-bottom:28px;text-align:center}.auth-logo h1{color:#fff;font-size:32px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.auth-logo p{margin:8px 0;color:var(--muted);font:11px var(--mono);letter-spacing:.1em}.auth-logo img{height:40px;max-width:100%;object-fit:contain}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.mode-btn{padding:9px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--muted);cursor:pointer;font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase}.mode-btn.active{border-color:#00e5a059;background:#00e5a01f;color:var(--accent)}.auth-field{display:block;margin-bottom:14px}.auth-field>span,.auth-field>label{display:block;margin-bottom:5px;color:var(--muted);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}.auth-field input{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:6px;outline:none;background:var(--bg);color:var(--text);font:13px var(--mono)}.auth-field input:focus{border-color:var(--accent)}.auth-password-control{position:relative;display:block;margin:0}.field .auth-password-control input{padding-right:50px}.auth-password-toggle{position:absolute;top:50%;right:5px;display:grid;width:34px;height:28px;padding:5px;place-items:center;border:1px solid rgb(255 255 255 / 8%);border-radius:5px;background:#ffffff14;color:var(--muted);cursor:pointer;transform:translateY(-50%)}.auth-password-toggle svg{width:18px;height:18px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.auth-password-toggle:hover,.auth-password-toggle:focus-visible,.auth-password-toggle[aria-pressed=true]{border-color:#00e5a047;background:#00e5a029;color:var(--accent);outline:none}.auth-submit{width:100%;margin-top:6px;padding:11px;border:1px solid rgb(0 229 160 / 35%);border-radius:6px;background:#00e5a01f;color:var(--accent);cursor:pointer;font:700 13px var(--sans);letter-spacing:.08em;text-transform:uppercase}.auth-submit:hover:not(:disabled){background:#00e5a040}.auth-submit:disabled{cursor:wait;opacity:.6}.auth-message{margin-top:10px;font:11px var(--mono);text-align:center}.auth-message.error{color:var(--danger)}.auth-message.success{color:var(--accent)}.detection-page{width:min(1160px,100%);margin:0 auto}.detection-page .panel-body{padding:16px 20px}.panel-description,.form-note{color:var(--muted);font-size:11px}.detection-body,.runtime-form,.label-rows{display:grid;gap:12px}.detection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-row{display:flex;align-items:center;justify-content:space-between;padding:10px;border:1px solid var(--border);border-radius:8px;background:#1c2333a6}.stat-label,.stat-value,.detect-state{font-family:var(--mono);text-transform:uppercase}.stat-label{color:var(--muted);font-size:10px;letter-spacing:.1em}.stat-value{font-size:12px;font-weight:700}.detect-state{color:#f59e0b;font-size:11px;font-weight:700;letter-spacing:.08em}.detect-state.enabled{color:var(--accent)}.detection-actions,.schedule-fields,.label-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.label-heading{justify-content:space-between;color:var(--muted);font:11px var(--mono)}.action-btn{padding:8px 12px;border:1px solid rgb(0 229 160 / 35%);border-radius:8px;background:#00e5a01f;color:var(--accent);cursor:pointer;font:700 10px var(--sans);letter-spacing:.08em;text-transform:uppercase}.action-btn:disabled{cursor:not-allowed;opacity:.45}.inline-message{color:var(--muted);font:11px var(--mono)}.inline-message.block{display:block;margin-top:10px;padding:10px;border-radius:8px}.inline-message.error{color:var(--danger)}.inline-message.block.error{background:#ff4d6a14}.inline-message.success{color:var(--accent)}.inline-message.block.success{background:#00e5a014}.schedule-fields label,.detection-field,.label-row label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font:11px var(--mono)}.schedule-fields input,.detection-field input,.label-row input{padding:8px;border:1px solid var(--border);border-radius:6px;outline:none;background:var(--bg);color:var(--text);font:12px var(--mono)}.schedule-fields input:focus,.detection-field input:focus,.label-row input:focus{border-color:var(--accent-2)}.detection-field input{width:100%}.label-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 96px auto;gap:8px;align-items:end}.label-row input[type=color]{width:100%;height:38px;padding:4px}.form-note{line-height:1.5}.device-page{width:min(1160px,100%);margin:0 auto}.device-page .panel-body{padding:16px 20px}.page-message{position:relative;z-index:10000;padding:12px 16px;border-radius:10px;font:11px var(--mono)}.page-message.error{border:1px solid rgb(255 77 106 / 25%);background:#ff4d6a14;color:var(--danger)}.page-message.success{border:1px solid rgb(0 229 160 / 25%);background:#00e5a014;color:var(--accent)}.device-table{min-width:760px}.device-table td{font-size:12px}.device-name{color:#fff;font:700 12px var(--mono)}.device-editing-row td{background:#00aaff0a}.cell-input{width:100%;min-width:90px;padding:7px 8px;border:1px solid rgb(0 170 255 / 35%);border-radius:6px;outline:none;background:var(--bg);color:var(--text);font:12px var(--mono)}.cell-input:focus{border-color:var(--accent-2)}.compact-inputs,.stream-inputs{display:flex;gap:5px}.compact-inputs{align-items:center}.stream-inputs{flex-direction:column}.port-input{width:78px;min-width:68px}.ports-group{flex-wrap:wrap}.device-edit-btn,.device-save-btn,.device-cancel-btn,.device-delete-btn{padding:8px 10px;border-radius:8px;cursor:pointer;font:700 10px var(--sans);letter-spacing:.08em;text-transform:uppercase}.device-edit-btn{border:1px solid rgb(0 170 255 / 30%);background:#00aaff1a;color:var(--accent-2)}.device-save-btn{border:1px solid rgb(0 229 160 / 35%);background:#00e5a01f;color:var(--accent)}.device-cancel-btn,.device-delete-btn{border:1px solid rgb(255 77 106 / 30%);background:#ff4d6a1f;color:var(--danger)}.device-edit-btn:disabled,.device-save-btn:disabled,.device-cancel-btn:disabled,.device-delete-btn:disabled{cursor:not-allowed;opacity:.45}.list-actions{display:flex;justify-content:center;margin-top:14px}.device-page .modal-backdrop{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:20px;background:#0000009e}.device-page .confirm-modal{width:min(520px,100%);display:grid;gap:14px;padding:22px;border:1px solid var(--border);border-radius:12px;background:#161b24fa;box-shadow:0 22px 70px #00000073}.device-page .confirm-modal h2{color:#fff;font-size:18px;letter-spacing:.08em;text-transform:uppercase}.device-page .confirm-modal p{color:var(--text);font:12px var(--sans);line-height:1.5}.stream-path-list{max-height:min(48vh,460px);overflow:auto;border:1px solid rgb(148 163 184 / 20%);background:#0a0f17b8}.hik-page{width:min(1420px,100%);margin:0 auto}.hik-page .panel-body{padding:18px 20px 20px}.hik-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hik-video-card,.hik-movement,.hik-media{display:grid;gap:14px}.hik-video-header,.hik-media-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.hik-video-title{color:#fff;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hik-select{min-width:120px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font:700 11px var(--mono);letter-spacing:.06em;text-transform:uppercase}.hik-video-frame{position:relative;min-height:320px;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:linear-gradient(135deg,#00aaff14,#00e5a00a),#050b12}.hik-video-frame video{display:block;width:100%;height:100%;min-height:320px;object-fit:cover}.hik-video-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;border:0;background:linear-gradient(180deg,#050b12b8,#050b1261);color:var(--text);cursor:pointer;font:800 11px var(--mono);letter-spacing:.14em;text-transform:uppercase}.hik-control-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.hik-direction-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hik-control-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);color:var(--text);cursor:pointer;font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;touch-action:none;-webkit-user-select:none;user-select:none}.hik-direction-pad .hik-control-btn{min-height:64px}.hik-control-btn:hover,.hik-control-btn.active,.btn.active{border-color:#00e5a059;background:#00e5a024;color:var(--accent)}.hik-control-btn:disabled{cursor:not-allowed;opacity:.45}.hik-slider{display:inline-flex;align-items:center;gap:10px;flex:1 1 260px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#1c2333b8}.hik-slider span,.hik-selector-row label{color:var(--muted);font:700 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}.hik-slider input{flex:1;min-width:100px;accent-color:var(--accent)}.hik-slider strong{min-width:28px;color:var(--accent);font:700 11px var(--mono);text-align:right}.hik-button-row,.hik-selector-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hik-button-row>.hik-control-btn,.hik-button-row>.btn{flex:1 1 140px}.hik-media-card{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#1c2333b8}.hik-selector-row label{display:flex;align-items:center;gap:10px;flex:1 1 210px;justify-content:space-between}.slam-react-page{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:64px 1fr;background:var(--bg)}.slam-react-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--surface)}.slam-react-topbar>img{height:50px;max-width:220px;object-fit:contain;mix-blend-mode:screen}.slam-react-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.slam-diagnostic{max-width:320px;overflow:hidden;color:var(--muted);font:12px var(--mono);text-overflow:ellipsis;white-space:nowrap}.slam-diagnostic.warn{color:#f59e0b}.slam-diagnostic.error{color:#ff7f95}.slam-action{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--text);cursor:pointer;font:700 12px var(--sans);letter-spacing:.06em;text-decoration:none;white-space:nowrap}.slam-action.warn,.slam-action.settings{border-color:#f59e0b59;background:#f59e0b1f;color:#f59e0b}.slam-action.open{border-color:#00aaff4d;background:#00aaff1a;color:var(--accent-2)}.slam-action.back{border-color:#ff4d6a4d;background:#ff4d6a1a;color:var(--danger)}.slam-action:disabled{cursor:wait;opacity:.6}.slam-react-main{position:relative;overflow:hidden;background:#060a10}.slam-react-main iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#060a10}.slam-react-main iframe.hidden{display:none}.slam-react-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:24px;color:var(--muted);font:12px var(--mono);text-align:center}.slam-react-empty>div{font-size:36px;opacity:.55}.slam-react-empty p{max-width:520px;line-height:1.55}.slam-modal-backdrop{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:12px;background:#05080ebd}.slam-modal{width:min(520px,100%);overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 18px 40px #00000073}.slam-modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.slam-modal-header h2{color:#fff;font-size:11px;letter-spacing:.11em;text-transform:uppercase}.slam-modal-header button,.slam-modal-actions button{padding:7px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text);cursor:pointer;font:700 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.slam-modal-header button{width:30px;padding:6px}.slam-modal-body{display:grid;gap:8px;padding:12px}.slam-modal-body label,.slam-modal-body p{color:var(--muted);font:10px var(--mono)}.slam-modal-body input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;outline:none;background:var(--surface-2);color:var(--text);font:11px var(--mono)}.slam-modal-body input:focus{border-color:#00aaff8c}.slam-modal-body p.error{color:#ff7f95}.slam-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 12px 12px}.slam-modal-actions button.primary{border-color:#00aaff73;background:#00aaff2e;color:var(--accent-2)}.map-config-page{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;gap:16px;padding:24px;overflow:hidden;background:var(--bg)}.map-config-page>.topbar,.map-config-page>.page-message,.map-config-page>.map-config-modebar,.map-config-page>.camera-config-footer{flex:0 0 auto}.map-config-page>.camera-config-layout,.map-config-page>.section-config-layout,.map-config-page>.facility-config-editor{flex:1 1 auto;min-width:0;min-height:0}.facility-config-editor{overflow:hidden;container:facility-editor / inline-size}.facility-config-editor>.facility-settings{margin:0}.embedded-camera-config{position:relative;inset:auto;z-index:auto;width:100%;height:100%;min-height:0;padding:0;overflow:hidden;background:transparent}.settings-view.settings-map-view,.settings-view.settings-api-view{display:flex;flex-direction:column;overflow:hidden}.settings-map-view>.view-heading,.settings-map-view>.view-tabs,.settings-api-view>.view-heading,.settings-api-view>.view-tabs{flex:0 0 auto}.settings-map-view>.embedded-camera-config{flex:1 1 auto;padding:0}.settings-map-view>.view-heading h1{flex:0 1 auto}.map-config-modebar{display:flex;gap:8px;flex-wrap:wrap}.map-config-modebar button{min-width:126px;padding:7px 12px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--surface-2);font:700 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.map-config-modebar button.active{border-color:#0af9;color:var(--accent-2);background:#00aaff24}.map-config-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.section-config-layout{height:100%}.revised-view .embedded-camera-config .camera-device-row{border:1px solid var(--border)!important;background:var(--surface-2)!important}.revised-view .embedded-camera-config .camera-device-row.selected{border-color:var(--accent)!important;background:#00aaff17!important}.revised-view .embedded-camera-config .camera-placement-toggle{border:1px solid rgb(0 170 255 / 50%)!important}.revised-view .embedded-camera-config .camera-placement-toggle.remove{border-color:#ff5a648c!important;color:#ff6b74!important}.revised-view .embedded-camera-config .camera-nudge-controls button{border:1px solid var(--border)!important;background:var(--surface-2)!important;text-align:center}.revised-view .embedded-camera-config .camera-config-footer .btn-primary{border:1px solid rgb(0 170 255 / 45%)!important;background:#00aaff26!important;color:var(--accent-2)!important}.camera-config-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;min-height:0;overflow:hidden}.camera-device-panel,.camera-map-panel{min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#161b24f5;box-shadow:0 18px 40px #00000047}.camera-device-panel{display:flex;flex-direction:column}.camera-device-list{padding:10px;overflow:auto}.camera-device-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}.camera-device-row.selected{border-color:var(--accent);background:#00aaff17}.camera-device-row>span:first-child{display:grid;min-width:0;gap:4px}.camera-device-row strong{overflow:hidden;font:700 12px var(--sans);text-overflow:ellipsis;white-space:nowrap}.camera-device-row small{overflow:hidden;color:var(--muted);font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap}.camera-placement-toggle{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border:1px solid rgb(0 170 255 / 50%);border-radius:7px;color:var(--accent-2);font:22px/1 var(--mono)}.camera-placement-toggle.remove{border-color:#ff5a648c;color:#ff6b74}.camera-map-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.camera-map-stage{position:relative;min-height:280px;overflow:hidden;background:#080b10}.camera-map-canvas{position:relative;width:100%;height:100%;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.camera-map-canvas>img{position:absolute;display:block;object-fit:fill;image-rendering:auto;pointer-events:none}.camera-map-sections{position:absolute;z-index:1;overflow:visible;pointer-events:none}.camera-map-sections text{fill:#fff;stroke:#000000d9;stroke-width:4px;paint-order:stroke;font:700 20px var(--mono);vector-effect:non-scaling-stroke}.camera-map-zoom{position:absolute;z-index:10;top:10px;right:10px;display:flex;overflow:hidden;border:1px solid var(--border);border-radius:6px;box-shadow:0 3px 12px #0006}.camera-map-zoom button,.camera-map-zoom span{display:grid;min-width:31px;height:29px;padding:0 7px;place-items:center;border:0;border-right:1px solid var(--border);background:#0c131ceb;color:var(--text);font:10px var(--mono);cursor:pointer}.camera-map-zoom button.active:first-child{min-width:68px}.map-config-map-title{display:flex;align-items:center;gap:10px}.map-config-map-title select{min-width:180px;max-width:320px;height:28px;padding:0 28px 0 8px;border:1px solid var(--border);border-radius:5px;background:#0c131ceb;color:var(--text);font:10px var(--mono)}.camera-map-zoom span{min-width:45px;color:var(--muted);cursor:default}.camera-map-zoom button:last-child{border-right:0}.camera-map-zoom button:disabled{cursor:not-allowed;opacity:.4}.camera-map-zoom button.active{background:#00e5a02e;color:var(--ud-accent)}.camera-map-canvas.dragging{cursor:grabbing}.camera-map-canvas.pannable{cursor:grab}.camera-map-canvas.panning{cursor:grabbing}.camera-map-marker{position:absolute;z-index:2;display:block;width:0;height:0;padding:0;border:0;background:transparent;color:#ff5d67;cursor:grab;filter:drop-shadow(0 2px 3px #000)}.camera-map-marker>span{position:absolute;z-index:2;top:0;left:0;display:grid;width:34px;height:34px;place-items:center;transform:translate(-50%,-50%);border:2px solid white;border-radius:50%;background:#d82936;font-size:12px}.camera-map-marker.responsive>span{width:calc(34px * var(--camera-marker-scale));height:calc(34px * var(--camera-marker-scale));border-width:max(1px,calc(2px * var(--camera-marker-scale)))}.camera-map-marker.responsive .camera-direction-arrow{width:calc(20px * var(--camera-marker-scale));height:calc(31px * var(--camera-marker-scale));font-size:calc(13px * var(--camera-marker-scale))}.camera-map-marker.responsive .camera-direction-arrow:after{top:calc(8px * var(--camera-marker-scale));width:max(1px,calc(3px * var(--camera-marker-scale)))}.camera-map-marker.responsive>small{display:none;top:calc(21px * var(--camera-marker-scale));max-width:calc(130px * var(--camera-marker-scale));padding:calc(2px * var(--camera-marker-scale)) calc(5px * var(--camera-marker-scale));font-size:max(6px,calc(9px * var(--camera-marker-scale)))}.camera-map-marker.responsive.show-label>small{display:block}.camera-map-marker.drone{color:#4bc7ff}.camera-map-marker.drone>span{background:#087da8}.camera-device-image{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;pointer-events:none}.camera-map-marker.cctv{color:#ff5d67}.camera-map-marker.quadruped{color:#ffb020}.camera-map-marker.quadruped>span{background:#a85c00}.camera-map-marker.humanoid{color:#61d89b}.camera-map-marker.humanoid>span{background:#08794d}.camera-direction-arrow{position:absolute;z-index:1;left:0;bottom:0;display:grid;width:20px;height:31px;place-items:start center;color:currentColor;font:13px/1 var(--sans);font-style:normal;transform-origin:50% 100%;transition:width .15s,height .15s,font-size .15s,color .15s}.camera-direction-arrow:after{position:absolute;z-index:-1;top:8px;bottom:0;left:50%;width:3px;transform:translate(-50%);border-radius:2px;background:currentColor;content:""}.camera-map-marker.selected .camera-direction-arrow{z-index:3;width:42px;height:50px;color:#fff;font-size:29px;cursor:grab;filter:drop-shadow(0 0 4px currentColor)}.camera-map-marker.selected .camera-direction-arrow:after{top:19px;width:4px}.camera-map-marker.selected .camera-direction-arrow:active{cursor:grabbing}.camera-map-marker>small{position:absolute;z-index:4;top:21px;left:0;max-width:130px;padding:2px 5px;overflow:hidden;transform:translate(-50%);border-radius:3px;background:#05090ed1;color:#fff;font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap}.camera-map-marker.selected>span{box-shadow:0 0 0 4px #00aaff8c}.camera-position-panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:12px 16px;border-top:1px solid var(--border)}.camera-position-panel>div:first-child{margin-right:auto}.camera-position-panel>div:first-child{display:grid;gap:4px}.camera-position-panel strong{font:700 11px var(--sans);text-transform:uppercase}.camera-position-panel small,.camera-coordinate-readout{color:var(--muted);font:10px var(--mono)}.camera-direction-control{display:flex;align-items:center;gap:6px;color:var(--muted);font:10px var(--mono);text-transform:uppercase}.camera-direction-control input[type=range]{width:105px;accent-color:var(--accent)}.camera-direction-control input[type=number]{width:55px;padding:6px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--text);font:10px var(--mono)}.camera-nudge-controls{display:grid;grid-template-columns:repeat(3,34px);grid-template-rows:repeat(3,32px);gap:4px}.camera-nudge-controls .up{grid-area:1 / 2}.camera-nudge-controls .left{grid-area:2 / 1}.camera-nudge-center{grid-area:2 / 2;border:1px solid var(--border);border-radius:50%;background:#ffffff08}.camera-nudge-controls .right{grid-area:2 / 3}.camera-nudge-controls .down{grid-area:3 / 2}.camera-nudge-controls button{height:32px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text);cursor:pointer}.camera-nudge-controls button:disabled{cursor:not-allowed;opacity:.4}.camera-config-footer{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding-top:12px}.camera-config-footer span{color:var(--muted);font:10px var(--mono);text-transform:uppercase}.camera-config-footer button:disabled{cursor:not-allowed;opacity:.45}.camera-unsaved-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:#03070cc2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.device-media-warning{grid-column:1 / -1;margin:0;padding:9px 11px;border:1px solid rgb(245 158 11 / 32%);background:#f59e0b17;color:#f5c76a;font:11px/1.45 var(--mono)}.camera-unsaved-modal{display:grid;grid-template-columns:auto 1fr;gap:14px 16px;width:min(460px,100%);padding:22px;border:1px solid rgb(245 158 11 / 38%);border-radius:12px;background:var(--surface);box-shadow:0 24px 80px #0000008c}.save-confirmation-modal{width:min(820px,100%)}.camera-unsaved-icon{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgb(245 158 11 / 55%);border-radius:50%;background:#f59e0b1f;color:#f59e0b;font:700 20px var(--mono)}.camera-unsaved-modal h2{margin:0 0 7px;color:var(--text);font:700 17px var(--sans)}.camera-unsaved-modal p{margin:0;color:var(--muted);font:11px/1.6 var(--mono)}.camera-unsaved-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:9px;margin-top:6px}.camera-unsaved-actions .btn:first-child{border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.camera-unsaved-actions{margin-top:2px}.camera-unsaved-actions .btn:disabled{cursor:not-allowed;opacity:.45}.save-confirmation-table-wrap{grid-column:1 / -1;max-height:min(52vh,520px);overflow:auto;border:1px solid rgb(148 163 184 / 20%);background:#0a0f17b8}.save-confirmation-table{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed}.save-confirmation-table th,.save-confirmation-table td{padding:10px 12px;border-bottom:1px solid rgb(148 163 184 / 14%);text-align:left;vertical-align:top}.save-confirmation-table thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--muted);font:10px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}.save-confirmation-table tbody th{width:28%;color:var(--text);font:11px/1.35 var(--sans);font-weight:600}.save-confirmation-table td{width:36%}.save-confirmation-table code{display:block;overflow-wrap:anywhere;white-space:nowrap;font:12px/1.35 var(--mono)}.save-confirmation-before{color:#ff8b94}.save-confirmation-after{color:#55d88b}@media(max-width:820px){.camera-config-layout{grid-template-columns:1fr;overflow:auto}.camera-device-panel{max-height:280px}.camera-map-panel{min-height:520px}.camera-position-panel{grid-template-columns:1fr;gap:10px}}.map-config-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;min-height:0;overflow:hidden}.map-config-map-panel,.map-config-side-panel{min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#161b24f5;box-shadow:0 18px 40px #00000047}.map-config-map-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.map-config-side-panel{display:flex;flex-direction:column}.map-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.map-toolbar button{width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);cursor:pointer;font-size:18px}.map-toolbar button:disabled,.map-preset-row button:disabled,.map-section-main button:disabled{cursor:not-allowed;opacity:.45}.map-config-stage{position:relative;min-height:0;background:#080b10}.map-react-canvas{display:block;width:100%;height:100%;outline:none;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.map-react-canvas.dragging{cursor:grabbing}.map-react-empty{position:absolute;top:50%;left:50%;padding:12px 16px;transform:translate(-50%,-50%);border:1px solid var(--border);border-radius:8px;background:#161b24eb;color:#f59e0b;font:12px var(--mono);letter-spacing:.08em;text-transform:uppercase}.map-config-form{display:grid;gap:12px;padding:16px;border-bottom:1px solid var(--border)}.map-config-form>label{display:grid;gap:7px;color:var(--muted);font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.map-config-form input[type=text]{width:100%;min-height:38px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:#0d1117e5;color:var(--text);font:12px var(--mono)}.map-color-row{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:10px}.map-color-row input{width:56px;height:38px;padding:3px;border:1px solid var(--border);border-radius:8px;background:transparent}.map-color-row span{color:var(--text);font:12px var(--mono);text-transform:lowercase}.map-preset-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.map-preset-row button,.map-section-main button{min-height:36px;border:1px solid rgb(0 170 255 / 28%);border-radius:8px;background:#00aaff1a;color:var(--accent-2);cursor:pointer;font:700 10px var(--sans);letter-spacing:.08em;text-transform:uppercase}.map-preset-row .wide{grid-column:1 / -1}.map-section-list{display:grid;gap:10px;min-height:0;padding:12px;overflow-y:auto}.map-section-item{display:grid;gap:9px;padding:11px;border:1px solid var(--border);border-radius:8px;background:#1c2333b8}.map-section-item.inactive-layer{opacity:.55}.map-section-main{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;gap:9px}.map-section-main>span{width:18px;height:18px;border:1px solid rgb(255 255 255 / 28%);border-radius:5px}.map-section-main strong{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.map-section-main button{min-height:30px;padding:0 9px}.map-section-main button.delete{border-color:#ff4d6a4d;background:#ff4d6a1f;color:var(--danger);font-size:15px}.map-section-item small{color:var(--muted);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}@media(max-width:720px){body{padding:14px}.topbar,.panel-header,.account-page .panel-body{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{justify-content:stretch;width:100%}.top-actions .btn,.top-actions .user-pill{flex:1}.login-page{min-height:calc(100vh - 28px)}.auth-card{padding:28px 22px}.detection-page .panel-body,.device-page .panel-body,.hik-page .panel-body{padding:14px}.detection-grid,.label-row,.hik-video-grid,.hik-control-layout{grid-template-columns:1fr}.hik-video-header,.hik-media-heading{align-items:flex-start;flex-direction:column}.hik-video-frame,.hik-video-frame video{min-height:240px}.hik-direction-pad{grid-template-columns:repeat(2,minmax(0,1fr))}.slam-react-page{grid-template-rows:auto minmax(520px,1fr);min-height:100dvh;overflow:auto}.slam-react-topbar{align-items:flex-start;flex-direction:column;padding:8px 12px}.slam-react-actions{justify-content:flex-start;width:100%;overflow-x:auto;padding-bottom:4px}.slam-react-actions>*{flex:0 0 auto}.slam-diagnostic{display:none}.map-config-page{padding:14px}.map-config-layout{grid-template-columns:1fr;grid-template-rows:minmax(520px,1fr) 300px;overflow-y:auto}}@media(max-width:1100px){.unified-dashboard{position:fixed;min-height:100dvh}.unified-body,.home-center{min-height:0}.home-center{overflow-x:hidden;overflow-y:auto}.home-main{flex:0 0 auto;min-height:max(680px,calc(100dvh - 57px))}.home-aside{display:grid;width:auto;min-height:700px;flex:0 0 auto;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 12px 12px}.home-aside>.panel{min-height:0}.revised-view{padding:12px}.view-heading,.view-actions{flex-wrap:wrap}.view-tabs{max-width:100%;overflow-x:auto}.data-table-wrap,.table-wrap,.settings-table{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:800px){.unified-dashboard{position:fixed;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.unified-topbar{min-height:57px;padding-inline:12px}.unified-logo{width:clamp(112px,35vw,160px)}.operator strong{max-width:28vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unified-body{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;overflow:hidden}.unified-sidebar{position:static;z-index:30;grid-row:2;display:flex;width:100%;height:calc(66px + env(safe-area-inset-bottom));padding:5px 6px env(safe-area-inset-bottom);flex-direction:row;align-items:stretch;gap:3px;overflow-x:auto;overflow-y:hidden;border-top:1px solid var(--ud-border);border-right:0;box-shadow:0 -8px 24px #00000052;scrollbar-width:none}.unified-sidebar::-webkit-scrollbar{display:none}.unified-sidebar button,.unified-dashboard .unified-sidebar button{width:clamp(60px,16vw,76px);min-width:clamp(60px,16vw,76px);min-height:54px;flex:1 0 auto;padding:5px 4px;font-size:10px!important}.unified-dashboard .nav-icon{font-size:19px!important}.home-center,.revised-view{grid-row:1;min-height:0;height:100%;overflow-x:hidden;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:16px}.home-main{min-height:720px;padding:10px}.kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-row article{padding:10px}.kpi-row strong{display:block;margin:4px 0 0;font-size:20px}.kpi-row small{display:none}.feed-workspace{min-height:580px}.home-aside{min-height:760px;grid-template-columns:1fr;grid-template-rows:minmax(360px,1fr) minmax(320px,1fr);padding:0 10px 10px}.revised-view>:last-child,.home-center>:last-child{margin-bottom:max(12px,env(safe-area-inset-bottom))}.view-heading{align-items:flex-start}.view-heading h1{flex:1 1 180px}.view-actions{width:100%;margin-left:0}.view-actions>button,.view-actions>select{min-height:40px}.unified-dashboard button,.unified-dashboard select,.unified-dashboard input{touch-action:manipulation}}@media(max-width:570px){.operator small{display:none}.operator-avatar{width:34px;height:34px}.home-main{min-height:960px;gap:10px}.kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-row article>span{min-height:30px;line-height:1.25}.feed-workspace{min-height:770px}.feed-list-panel{min-height:205px;flex-basis:205px}.feed-list{min-height:153px;overflow-x:auto;overflow-y:hidden}.feed-choice{width:min(44vw,168px);min-width:min(44vw,168px)}.feed-preview{height:112px}.grid-panel{min-height:540px}.camera-grid,.camera-grid.grid-adaptive,.camera-grid.grid-2x2,.camera-grid.grid-3x3{grid-template-columns:1fr!important;grid-auto-rows:minmax(210px,48vw)!important;grid-template-rows:none!important;overflow-y:auto}.panel-title{align-items:flex-start;flex-wrap:wrap}.grid-options{width:100%}.grid-options button{min-height:36px;flex:1}.revised-view{padding:9px}.view-tabs{width:100%}.view-tabs button{min-width:max-content;min-height:40px}.modal-backdrop,.notification-modal-overlay,.patrol-modal-backdrop,.slam-modal-backdrop{padding:0}}@media(max-width:800px)and (orientation:landscape){.unified-topbar{min-height:49px;height:49px;padding-block:4px}.unified-logo{height:36px}.unified-sidebar{height:calc(58px + env(safe-area-inset-bottom))}.unified-sidebar button,.unified-dashboard .unified-sidebar button{min-height:47px;flex-direction:row;gap:6px}.home-center,.revised-view{padding-bottom:0}.home-main{min-height:620px}.feed-workspace{min-height:470px;flex-direction:row}.feed-list-panel{width:170px;min-height:0;flex:0 0 170px}.feed-list{min-height:0;flex-direction:column;overflow-x:hidden;overflow-y:auto}.feed-choice{width:auto;min-width:0}.feed-preview{height:80px}.grid-panel{min-height:0}.camera-grid,.camera-grid.grid-adaptive,.camera-grid.grid-2x2,.camera-grid.grid-3x3{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(180px,1fr)!important;grid-template-rows:none!important}.home-aside{min-height:480px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(440px,1fr)}}@media(max-width:1100px){.alert-detail-view,.cockpit-view{overflow-x:hidden;overflow-y:auto}.alert-detail-grid{flex:0 0 auto;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);min-height:760px;overflow:visible}.alert-response{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.alert-response>*{min-width:0}.analysis-report .view-actions>select{flex:1 1 170px}.analysis-date-filter{flex:1 1 100%;flex-wrap:wrap}.analysis-report .view-actions>button{flex:0 0 auto}.analysis-report .bar-chart.wide{min-width:720px}.cockpit-grid,.cockpit-view .cockpit-grid{flex:0 0 auto;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(460px,58dvh) auto auto;min-height:0;overflow:visible}.cockpit-camera,.cockpit-controls,.cockpit-rail{grid-column:1;min-width:0}.cockpit-camera{grid-row:1}.cockpit-controls{grid-row:2;overflow:visible}.cockpit-rail{display:grid;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.cockpit-rail .mini-map-card{grid-row:span 2;min-height:390px}.cockpit-rail .telemetry-card,.cockpit-rail .presets-card{min-width:0}.device-detail-telemetry,.device-detail-grid,.managed-device-form{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-form-row{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:800px){.alert-detail-grid{display:flex;min-height:0;flex-direction:column;gap:10px}.alert-browser{min-height:min(440px,60dvh);max-height:620px}.alert-evidence,.alert-response{display:flex;overflow:visible}.alert-response{flex-direction:column}.activity-card{min-height:260px;max-height:420px}.analysis-report .view-actions>select,.analysis-report .view-actions>button{width:calc(50% - 4px);min-width:0;flex:1 1 calc(50% - 4px)}.analysis-report .stats-kpis,.roster-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-report .data-table{min-width:760px}.analysis-report .bar-chart.wide{min-width:620px}.analysis-screen-daily-chart{width:100%;max-width:100%;overflow-x:auto!important;overscroll-behavior-inline:contain;scrollbar-gutter:stable;touch-action:pan-x}.analysis-screen-daily-chart .bar-chart.wide{width:max-content;min-width:100%;gap:8px;padding-bottom:5px}.analysis-screen-daily-chart .bar-chart.wide>div{min-width:22px;flex:0 0 22px}.label-chart p{grid-template-columns:minmax(90px,34%) minmax(100px,1fr) 32px}.cockpit-view .view-heading{align-items:stretch}.cockpit-title-select{display:grid;width:100%}.cockpit-title-select select{width:100%;min-width:0}.cockpit-grid,.cockpit-view .cockpit-grid{grid-template-rows:minmax(380px,55dvh) auto auto}.cockpit-controls,.cockpit-rail{grid-template-columns:minmax(0,1fr)}.cockpit-rail .mini-map-card{grid-row:auto;min-height:360px}.cockpit-camera-grid{grid-template-columns:1fr!important;grid-auto-rows:minmax(260px,48dvh)}.cockpit-capture-cameras,.cockpit-capture-actions{grid-template-columns:1fr;max-height:none}.device-roster-table{width:100%;min-width:0;max-width:100%;overflow:hidden}.device-roster-table .data-table-wrap{width:100%;min-width:0;max-width:100%;overflow:visible;border:0;background:transparent}.device-roster-table .data-table,.device-roster-table .data-table tbody,.device-roster-table .data-table tr,.device-roster-table .data-table td{display:block;width:100%;min-width:0;max-width:100%}.device-roster-table .data-table{table-layout:fixed}.device-roster-table .data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.device-roster-table .data-table tbody{display:grid;gap:10px}.device-roster-table .data-table tr{min-width:0;max-width:100%;overflow:hidden;border:1px solid var(--ud-border);border-radius:9px;background:var(--ud-surface);box-shadow:0 8px 20px #0000002e}.device-roster-table .data-table td{display:grid;grid-template-columns:minmax(92px,36%) minmax(0,1fr);align-items:center;gap:10px;min-height:42px;padding:8px 11px;border-top:1px solid var(--ud-border);white-space:normal;overflow:hidden;overflow-wrap:anywhere}.device-roster-table .data-table td>*{min-width:0;max-width:100%}.device-roster-table .data-table td b,.device-roster-table .data-table td em,.device-roster-table .data-table td span{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.device-roster-table .data-table td:before{content:attr(data-label);color:#667287;font:700 11px Share Tech Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.device-roster-table .data-table td:first-child{display:flex;min-height:54px;align-items:center;border-top:0;color:#fff;background:#00aaff0f}.device-roster-table .data-table td:first-child:before{content:none}.device-roster-table .device-power-values{flex-wrap:wrap;justify-content:flex-start}.device-detail-backdrop,.device-localization-backdrop,.dji-alert-backdrop{padding:0}.device-detail-modal,.device-localization-dialog,.dji-alert-dialog{width:100%;max-width:none;max-height:100dvh;border-radius:0}.device-detail-modal>header{align-items:flex-start;gap:10px}.device-detail-header-actions{flex-wrap:wrap;justify-content:flex-end}.device-detail-telemetry,.device-detail-grid,.device-diagnostics-grid{grid-template-columns:minmax(0,1fr)}.device-detail-grid>.device-diagnostics-section{grid-column:1}.device-localization-toolbar,.device-localization-status,.device-localization-dialog>footer{align-items:stretch;flex-direction:column}.device-localization-toolbar>div{flex-wrap:wrap}.device-localization-layer,.device-localization-layer select{width:100%}.device-localization-map{height:calc(100dvh - 330px);min-height:280px}.workflow-editor>header,.workflow-editor>footer,.workflow-list header,.workflow-list footer{align-items:stretch;flex-direction:column}.workflow-editor>footer button,.workflow-list footer button{min-height:40px}.workflow-actions-config{flex-direction:column;gap:10px}.workflow-list>article>div{gap:8px}.managed-device-form,.camera-form-row{grid-template-columns:minmax(0,1fr)}.camera-url-fields{grid-column:1 / -1;grid-template-columns:minmax(0,1fr)}.managed-device-actions,.table-actions,.user-management-actions{flex-wrap:wrap}.managed-device-actions>button,.table-actions>button,.user-management-actions>button{min-height:40px;flex:1 1 120px}.table-toolbar{align-items:flex-start;flex-direction:column;gap:8px}}@media(max-width:570px){.analysis-date-filter{width:100%}.analysis-date-range-picker,.analysis-date-range-field{width:min(100%,280px)}.analysis-calendar-popover{width:min(320px,calc(100vw - 32px))}.analysis-calendar-months{grid-template-columns:1fr}.analysis-calendar-month:nth-child(2){display:none}.analysis-date-filter>button:nth-last-child(-n+2){flex:1 1 calc(50% - 3px)}.analysis-report .view-actions>select,.analysis-report .view-actions>button{width:100%;flex-basis:100%}.analysis-report .stats-kpis,.roster-summary{grid-template-columns:1fr}.analysis-report .metric{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.analysis-report .metric strong{margin-top:0}.label-chart{padding:10px}.label-chart p{grid-template-columns:minmax(78px,40%) minmax(70px,1fr) 26px;gap:6px}.cockpit-grid,.cockpit-view .cockpit-grid{grid-template-rows:minmax(330px,52dvh) auto auto}.cockpit-controls{padding:7px}.cockpit-axis-readouts{align-items:stretch;flex-direction:column}.cockpit-axis-readouts .joystick{justify-content:flex-start;padding:6px 0;border-right:0;border-bottom:1px solid var(--ud-border)}.cockpit-posture-row{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-posture-row .cockpit-pad{grid-column:1 / -1;grid-row:1;justify-self:center}.cockpit-posture-button{min-height:48px}.cockpit-camera-pad{grid-template-columns:repeat(3,minmax(44px,1fr))}.device-detail-modal>header,.device-detail-offline-notice{flex-direction:column}.device-detail-header-actions,.device-detail-offline-notice button{width:100%}.device-detail-header-actions>button{flex:1 1 auto}.device-detail-telemetry,.device-detail-grid{padding-inline:10px}.device-detail-row,.device-diagnostics-grid .device-detail-row{grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:8px}.workflow-form-grid,.workflow-scopes{padding-inline:10px}}@media(max-width:800px)and (orientation:landscape){.alert-detail-grid{display:grid;grid-template-columns:minmax(220px,36%) minmax(0,1fr)}.alert-browser{min-height:480px;max-height:none}.alert-response{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-grid,.cockpit-view .cockpit-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);grid-template-rows:minmax(390px,calc(100dvh - 130px)) auto}.cockpit-camera{grid-column:1;grid-row:1}.cockpit-rail{display:flex;grid-column:2;grid-row:1 / 3}.cockpit-rail .mini-map-card{min-height:300px}.cockpit-controls{grid-column:1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-camera-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(210px,1fr)}.device-roster-table .data-table tbody{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(max-width:699px)and (orientation:landscape){.device-roster-table .data-table tbody{grid-template-columns:minmax(0,1fr)}}@media print{html,body,#root,.unified-dashboard,.unified-body,.analysis-report{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;background-image:none!important;box-shadow:none!important}html,body,#root,.unified-dashboard,.unified-body,.analysis-report{position:static!important;inset:auto!important;float:none!important;transform:none!important}html,body,#root{page-break-before:auto!important;page-break-after:auto!important}.analysis-report,.analysis-report *{box-sizing:border-box!important}.analysis-report{contain:none!important;page-break-inside:auto!important}.analysis-report>*,.analysis-incident-report,.analysis-incident-summary,.analysis-report .data-table-wrap,.analysis-report .data-table,.analysis-report .panel,.analysis-report .chart-card,.analysis-report .label-chart,.analysis-report .stats-kpis{width:100%!important;min-width:0!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;overflow:visible!important}.analysis-report>*{break-inside:auto}.analysis-report .analysis-incident-report,.analysis-report .analysis-incident-details{display:block!important;height:auto!important;max-height:none!important;break-inside:auto!important}.analysis-report .analysis-incident-details{break-before:page!important}.analysis-report .analysis-incident-detail{display:block!important;height:auto!important;max-height:none!important;overflow:visible!important;break-before:page!important;break-inside:auto!important}.analysis-report .analysis-incident-details>h2+.analysis-incident-detail{break-before:auto!important}.analysis-report,.analysis-report .panel,.analysis-report .metric,.analysis-report .chart-card,.analysis-report .label-chart,.analysis-report .data-table-wrap,.analysis-incident-detail,.analysis-detail-grid>div{background:#fff!important;background-image:none!important;box-shadow:none!important}.analysis-report .data-table{table-layout:fixed!important}.analysis-report .data-table th,.analysis-report .data-table td{min-width:0!important;max-width:none!important;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;word-break:break-word!important}.analysis-report .bar-chart,.analysis-report .bar-chart.wide{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}.analysis-screen-daily-chart{display:none!important}.analysis-print-daily-charts{display:block!important;width:100%!important}.analysis-print-daily-chart{width:100%!important;min-width:0!important;max-width:100%!important;margin:0 0 6mm!important;padding:4mm!important;overflow:hidden!important;break-inside:avoid-page}.analysis-print-daily-chart h2{display:flex;align-items:baseline;justify-content:space-between;gap:4mm;margin:0 0 3mm;color:#172033!important;font-size:11pt;font-weight:800}.analysis-print-daily-chart h2 small{color:#59657a!important;font-size:7.5pt;font-weight:700}.analysis-print-daily-chart .bar-chart{height:54mm!important;margin:0!important;gap:1.5mm!important}.analysis-print-daily-chart .bar-chart>div{min-width:0!important;gap:1mm!important}.analysis-print-daily-chart .bar-chart span,.analysis-print-daily-chart .bar-chart small{color:#364156!important;font-family:Arial,Helvetica,sans-serif!important;font-size:7pt!important;font-weight:700!important;white-space:nowrap!important}.analysis-report .label-chart p>i{background:#e3e7ed!important}.analysis-incident-detail>header,.analysis-detail-notes p,.analysis-detail-timeline p,.analysis-detail-evidence p{background:#f4f6f8!important;background-image:none!important}.analysis-report-landscape .analysis-print-header{gap:7mm}.analysis-report-landscape .analysis-print-header dl{min-width:92mm}.analysis-report-landscape .data-table{font-size:7pt!important}.analysis-report-landscape .data-table th{padding:1.8mm 1.2mm!important;font-size:6.5pt!important;letter-spacing:0!important}.analysis-report-landscape .data-table td{padding:1.8mm 1.2mm!important}.analysis-report-landscape .analysis-print-daily-charts{display:grid!important;grid-template-rows:repeat(2,auto);gap:3mm;break-inside:avoid-page!important;page-break-inside:avoid!important}.analysis-report-landscape .analysis-print-daily-chart{margin:0!important;padding:2.5mm 3mm!important;break-inside:avoid-page!important;page-break-inside:avoid!important}.analysis-report-landscape .analysis-print-daily-chart h2{margin-bottom:1.5mm!important;font-size:9pt!important}.analysis-report-landscape .analysis-print-daily-chart .bar-chart{height:38mm!important;gap:1mm!important}.analysis-report-landscape .analysis-print-daily-chart .bar-chart span,.analysis-report-landscape .analysis-print-daily-chart .bar-chart small{font-size:6.5pt!important}.analysis-report .view-heading{display:none!important}.analysis-report .analysis-print-header{display:flex!important}.analysis-report .stats-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3mm!important}.analysis-report .metric{display:block!important;padding:3mm!important}.analysis-report .metric strong{margin-top:1mm!important}.analysis-report .label-chart p{display:grid!important;grid-template-columns:45mm minmax(0,1fr) 10mm!important;gap:3mm!important}.analysis-report .analysis-incident-summary .data-table{display:table!important}.analysis-report .analysis-incident-summary thead{display:table-header-group!important}.analysis-report .analysis-incident-summary tbody{display:table-row-group!important}.analysis-report .analysis-incident-summary tr{display:table-row!important}.analysis-report .analysis-incident-summary th,.analysis-report .analysis-incident-summary td{display:table-cell!important}.analysis-report .analysis-incident-summary td:before{content:none!important}}.workflow-view [hidden]{display:none!important}.workflow-view .workflow-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px}.workflow-view .workflow-overview-card{overflow:hidden;cursor:pointer;display:flex;flex-direction:column;border-top:3px solid var(--ud-accent)}.workflow-overview-card:hover{border-color:var(--ud-accent)}.workflow-view .workflow-list>article>div{grid-template-columns:1fr;gap:12px;flex:1}.workflow-view .workflow-list>article>div>i{display:none}.workflow-view .workflow-list footer{flex-wrap:wrap}.workflow-view .workflow-card-title{padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit}.workflow-view .workflow-list>article.disabled{border-top-color:#8a97aa}.workflow-view .workflow-list>article.disabled :is(h2,section b,header small,section small,.switch-label,footer button){color:#aab6c6}.workflow-blueprint{border-bottom:1px solid var(--ud-border)}.workflow-blueprint-canvas{overflow:clip;background-color:#0c1420;background-image:radial-gradient(#344256 1px,transparent 1px);background-size:20px 20px}.workflow-view .workflow-freeform .workflow-block{position:relative;display:flex;flex-direction:column;gap:12px;width:230px;min-height:180px;padding:18px;text-align:left;white-space:normal;background:#152235;border:1px solid #49617d;border-radius:12px;color:#ecf3ff;box-shadow:0 10px 24px #0003}.workflow-view .workflow-block.selected{border-color:var(--ud-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--ud-accent) 35%,transparent)}.workflow-block small{color:#78d9bd;letter-spacing:.12em;font-size:12px}.workflow-block strong{font-size:18px;overflow-wrap:anywhere}.workflow-block span{font-size:14px;color:#b9c8db;line-height:1.5;overflow-wrap:anywhere}.workflow-block em{margin-top:auto;font-size:13px;font-style:normal;color:#88bcf1}.workflow-blueprint-caption{padding:12px 16px;margin:0;font-size:12px;line-height:1.5}.workflow-inspector>h3{padding:18px 14px 0;margin:0;font-size:16px}.workflow-block:focus-visible,.workflow-card-title:focus-visible{outline:2px solid var(--ud-accent);outline-offset:4px}.workflow-editing{max-width:none}.workflow-editor-workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:stretch}.workflow-editor-workspace .workflow-inspector{min-width:0;margin:0;padding:0 0 18px;border:0;border-left:1px solid var(--ud-border);max-height:78vh;overflow-y:auto}.workflow-inspector .workflow-form-grid,.workflow-inspector .workflow-scopes,.workflow-inspector .workflow-trigger-picker{grid-template-columns:minmax(0,1fr)}.workflow-inspector .workflow-step{padding:8px}.workflow-inspector .workflow-inline-child{padding:8px 0}.workflow-inspector .workflow-type-fields fieldset{margin:12px 8px;padding:8px}.workflow-inspector .workflow-form-grid{margin:12px 8px;padding:10px}.workflow-freeform{min-width:0;display:flex;flex-direction:column}.workflow-blueprint-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--ud-border)}.workflow-blueprint-toolbar strong{font-size:14px}.workflow-blueprint-toolbar small{display:block;margin-top:6px;font-size:11px;color:#b9c8db}.workflow-canvas-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px}.workflow-wire-tools{min-height:48px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 16px;color:#bad1e6;font-size:12px}.workflow-wire-tools>span{flex:1;min-width:180px}.workflow-freeform .workflow-blueprint-canvas{height:clamp(500px,65vh,900px);overflow:clip;touch-action:none;overscroll-behavior:contain;position:relative}.workflow-blueprint-plane{position:absolute;inset:0;overflow:clip}.workflow-blueprint-world{position:absolute;transform-origin:top left}.workflow-wires{position:absolute;inset:0;overflow:visible;pointer-events:none;color:#75c4e9}.workflow-wire{stroke:#75c4e9;stroke-width:3;fill:none}.workflow-wire.fixed{stroke:#748397;stroke-dasharray:5 5}.workflow-wire.completion{stroke:#78d9bd}.workflow-wire.selected{stroke:#ffcf79;stroke-width:5}.workflow-wire.orphan{stroke:#f1a76d;stroke-dasharray:5 5}.workflow-wire.preview{stroke:#8cf1cb;stroke-dasharray:8 5}.workflow-wire-hit{stroke:transparent;stroke-width:20;fill:none;cursor:pointer;pointer-events:stroke}.workflow-wire-hit:focus-visible{stroke:#ffcf7966;outline:none}.workflow-free-node{position:absolute}.workflow-view .workflow-end-node .workflow-block{justify-content:center;border-color:#58ad94;background:#132a2b}.workflow-end-node .workflow-block:after{content:"";position:absolute;right:20px;width:14px;height:14px;border:3px solid #78d9bd;border-radius:50%}.workflow-view .workflow-freeform .workflow-block{width:260px;height:210px;min-height:210px;overflow:hidden;padding:20px;gap:12px}.workflow-freeform .workflow-block strong,.workflow-freeform .workflow-block span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.workflow-view .workflow-freeform .workflow-drag-handle{position:absolute;left:0;top:-30px;height:27px;padding:3px 9px;border:0;background:#1c2c40;border-radius:5px 5px 0 0;color:#afc0d4;font-size:13px;cursor:grab;touch-action:none}.workflow-drag-handle:active{cursor:grabbing}.workflow-view .workflow-freeform .workflow-port{position:absolute;top:93px;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;border:3px solid #b6e6ff;border-radius:50%;background:#24506b;z-index:2;cursor:crosshair;touch-action:none}.workflow-view .workflow-port-input{left:-12px}.workflow-view .workflow-port-output{right:-12px}.workflow-view .workflow-port.orphan{border-color:#ffbe87;background:#7a4225}.workflow-port:focus-visible,.workflow-drag-handle:focus-visible{outline:3px solid #ffcf79;outline-offset:4px}.workflow-inline-blocks{display:flex;gap:48px}.workflow-inline-block-slot{position:relative}.workflow-inline-fixed-wire{position:absolute;top:90px;left:-46px;width:44px;text-align:center;font-size:24px;color:#748397}.workflow-child-caption{display:flex;flex-direction:column;gap:7px;min-height:82px;margin-top:8px;padding:12px 14px;border:1px solid #354962;border-left:3px solid #7898b8;border-radius:7px;background:#101a29;box-shadow:0 5px 14px #0003;font-size:14px;color:#b9c8db;overflow-wrap:anywhere;cursor:default;-webkit-user-select:text;user-select:text}.workflow-child-caption strong{color:#dce7f5}.workflow-child-caption span{line-height:1.4}.workflow-child-node.inline .workflow-child-caption{width:390px;max-width:100%;box-sizing:border-box}.workflow-child-caption button{align-self:flex-start}.workflow-child-node.disconnected .workflow-block{border-color:#f1a76d}.workflow-child-node.disconnected .workflow-child-caption{color:#ffbe87}.workflow-orphan-warning{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;background:#4b322333;border-top:1px solid #f1a76d;color:#ffcf9f;font-size:13px}.workflow-orphan-warning span{flex:1;min-width:220px}@media(max-width:1100px){.workflow-editor-workspace{grid-template-columns:minmax(0,1fr)}.workflow-editor-workspace .workflow-inspector{max-height:500px;border-left:0;border-top:1px solid var(--ud-border)}.workflow-inspector .workflow-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.workflow-inspector .workflow-form-grid{grid-template-columns:minmax(0,1fr)}.workflow-freeform .workflow-blueprint-canvas{height:500px}.workflow-canvas-tools{gap:5px}}.workflow-view .workflow-freeform button{text-transform:none}.workflow-view .workflow-freeform .workflow-block{background:#152235;border-radius:12px;font-weight:400}.workflow-view .workflow-freeform .workflow-block strong{font-size:18px;font-weight:600}.workflow-view .workflow-freeform .workflow-block span{font-size:14px}.workflow-editor-header-actions{display:flex;gap:8px;flex-wrap:wrap}.workflow-editor-workspace.settings-hidden{grid-template-columns:minmax(0,1fr)}.device-roster-identity{display:flex;align-items:center;gap:12px}.device-thumbnail{width:56px;height:56px;flex:0 0 auto;border:1px solid var(--ud-border);border-radius:8px;background:#0d1117;object-fit:contain}.managed-device-image-preview{grid-column:1 / -1;display:flex;align-items:center;gap:12px;color:var(--muted);font:11px var(--mono)}.managed-device-image-preview .device-thumbnail{width:88px;height:88px}.patrol-dashboard-view>.view-heading{flex-direction:row;flex-wrap:nowrap;align-items:center}.patrol-dashboard-view>.view-heading h1{flex:1 1 auto}.patrol-dashboard-view>.view-heading .view-actions{flex:0 0 auto;flex-wrap:nowrap;width:auto;margin-left:auto}.patrol-dashboard-view .patrol-view-switch{border:0;background:none;box-shadow:none;padding:0;color:var(--muted);font:inherit;font-weight:800;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.patrol-dashboard-view .patrol-view-switch[aria-pressed=true],.patrol-dashboard-view .patrol-view-switch:hover{color:var(--text)}.patrol-view-switch .patrol-view-arrow{width:1.6em;height:1.3em;margin-inline:.2em;vertical-align:-.25em;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.patrol-dashboard-view>.patrol-react-embedded[hidden]{display:none}.patrol-media-library{height:calc(100% - 48px);overflow:auto;min-height:0}.patrol-media-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:14px}.patrol-media-toolbar label{display:grid;gap:6px;min-width:140px;max-width:100%;color:var(--muted);font-size:12px}.patrol-media-toolbar select,.patrol-media-toolbar input{width:100%;min-height:34px}.patrol-media-search{flex:1}.patrol-media-description{color:var(--muted);font-size:12px;line-height:1.6;margin:12px 0}.patrol-media-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,38%);gap:14px;align-items:start}.patrol-media-results,.patrol-media-preview{min-width:0;padding:14px}.patrol-media-results-heading{margin-bottom:14px;color:var(--muted);font-size:12px}.patrol-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.patrol-media-card{min-width:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.patrol-media-card.selected{border-color:var(--accent, #38bdf8)}.patrol-media-library .patrol-media-card .patrol-media-preview-button{display:grid;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;text-transform:none}.patrol-media-preview-button img,.patrol-media-video-placeholder{width:100%;height:120px;object-fit:contain;background:#080d14}.patrol-media-video-placeholder{display:grid;place-items:center;color:var(--muted)}.patrol-media-preview-button strong{padding:10px 10px 0;font-size:12px;overflow-wrap:anywhere}.patrol-media-card-details{display:grid;gap:8px;padding:10px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.patrol-media-card-details>div,.patrol-media-preview-heading,.patrol-media-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px}.patrol-media-pagination{margin-top:18px;font-size:12px}.patrol-media-preview{position:sticky;top:0;display:grid;gap:12px;overflow-wrap:anywhere}.patrol-media-preview h2{margin:0;font-size:14px}.patrol-media-preview>img,.patrol-media-preview video{display:block;width:100%;max-height:55vh;object-fit:contain;background:#080d14}.patrol-media-preview p,.patrol-media-preview time,.patrol-media-empty{color:var(--muted);font-size:12px;line-height:1.6}.patrol-media-preview p{margin:0}.patrol-media-download{justify-self:start}.patrol-media-library a{color:var(--accent-2);text-underline-offset:3px}@media(max-width:900px){.patrol-media-body{grid-template-columns:minmax(0,1fr)}.patrol-media-preview{grid-row:1;position:static}}.facility-section{cursor:pointer}.facility-map-canvas{user-select:none;-webkit-user-select:none}.facility-section:hover path,.facility-section:focus path{fill-opacity:.3;stroke:var(--text)}.cockpit-map-canvas>.facility-canvas-wrap,.mini-map>.facility-canvas-wrap{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.cockpit-map-canvas .facility-map-canvas,.mini-map .facility-map-canvas{flex:1 1 0;min-height:0;height:100%}.facility-settings{display:flex;height:100%;min-width:0;min-height:0;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.facility-settings>.panel-header{flex:0 0 auto;justify-content:space-between;padding:0;border:0}.facility-settings h2{margin:0;font-size:14px}.facility-settings h3{margin:0;font-size:12px}.facility-settings>p{flex:0 0 auto;margin:0;font-size:11px}.facility-settings-grid{display:grid;flex:1 1 auto;min-width:0;min-height:0;grid-template-columns:minmax(260px,310px) minmax(0,1fr);gap:14px}.facility-settings-grid>form,.facility-settings-preview{display:flex;min-width:0;min-height:0;flex-direction:column;gap:8px}.facility-settings fieldset{display:flex;flex:1 1 auto;min-width:0;min-height:0;flex-direction:column;gap:8px;margin:0;padding:0;border:0}.facility-control-pane{display:flex;flex-direction:column;gap:8px}.facility-settings-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:0}.facility-settings>.facility-settings-actions{flex:0 0 auto}.facility-settings>.facility-settings-actions>label{flex:1 1 120px}.facility-save-actions{flex:0 0 auto;margin-top:auto}.facility-settings .btn{min-height:28px;padding:5px 8px;font-size:10px}.facility-settings label,.facility-home-map label{display:flex;min-width:0;flex-direction:column;gap:3px;margin:0;font-size:11px}.facility-settings input,.facility-settings select,.facility-home-map select{width:100%;min-width:0;padding:5px 7px;border-radius:6px;background:var(--bg);color:var(--text);border:1px solid var(--border)}.facility-settings input,.facility-settings select{height:28px;font-size:11px}.facility-settings input[type=range]{padding:0}.facility-settings input[type=file]{padding:3px;font-size:10px}.facility-input-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.facility-overlay-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.facility-help{margin:0;font-size:11px;color:var(--muted);line-height:1.4}.facility-control-tabs,.facility-mobile-tabs{display:flex;flex:0 0 auto;gap:4px}.facility-control-tabs button,.facility-mobile-tabs button{flex:1;padding:5px 8px;border:1px solid var(--border);border-radius:5px;color:var(--text);background:var(--surface-2);font-size:11px;cursor:pointer}.facility-control-tabs button[aria-pressed=true],.facility-mobile-tabs button[aria-pressed=true]{border-color:var(--accent-2);color:var(--accent-2);background:#00aaff24}.facility-mobile-tabs{display:none}.facility-canvas-wrap{position:relative;min-width:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg)}.facility-map-canvas{display:block;width:100%;height:520px;touch-action:none;cursor:grab}.facility-settings-preview>.facility-canvas-wrap{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.facility-settings-preview .facility-map-canvas{flex:1 1 0;min-height:0;height:100%}.facility-settings-preview>p{margin:0;font-size:11px}.facility-map-canvas:active{cursor:grabbing}.facility-map-canvas:focus-visible{outline:3px solid var(--accent-2);outline-offset:-3px}.facility-map-tools{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:5px;padding:6px;background:var(--surface)}.facility-map-tools button{border:1px solid var(--border);border-radius:5px;padding:5px 8px;color:var(--text);background:var(--surface-2);cursor:pointer;font-size:11px}.facility-map-tools button[aria-pressed=true]{border-color:var(--accent-2);color:var(--accent-2);background:#00aaff24}.facility-map-tools button:disabled{opacity:.5;cursor:default}.facility-map-attribution{flex:0 0 auto;padding:4px 8px;text-align:right;font-size:11px;background:var(--surface);color:var(--muted)}.facility-map-attribution a{color:var(--accent-2)}.facility-map-warning{flex:0 0 auto;padding:6px 8px;color:var(--ud-warning, #f59e0b);background:var(--surface-2);font-size:11px}.facility-home-map{display:flex;flex-direction:column;min-width:0;min-height:0}.facility-home-map>.facility-settings-actions{flex:0 0 auto;gap:6px;margin:0;padding:6px}.facility-home-map>.facility-settings-actions>label{flex:1 1 120px;min-width:0;margin:0;font-size:11px}.facility-home-map>.facility-settings-actions select{padding:5px;font-size:11px}.facility-home-map>.facility-canvas-wrap{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;border:0;border-radius:0}.facility-home-map .facility-map-canvas{flex:1 1 0;min-height:0;height:100%}.facility-home-map .facility-map-tools,.facility-home-map .facility-map-attribution,.facility-home-map .facility-map-warning{flex:0 0 auto}.facility-home-map .facility-map-tools{gap:4px;padding:5px}.facility-home-map .facility-map-tools button{padding:4px 6px;font-size:10px}.facility-home-map>p{flex:0 0 auto;margin:0;padding:6px;font-size:11px}@container facility-editor (max-width: 700px){.facility-settings-grid{grid-template-columns:minmax(0,1fr)}.facility-mobile-tabs{display:flex}.facility-settings--controls .facility-settings-preview,.facility-settings--preview .facility-settings-grid>form{display:none}}.facility-center-crosshair{stroke:var(--accent-2);stroke-width:2px}.facility-center-crosshair>*{vector-effect:non-scaling-stroke}.facility-editable-overlay,.facility-overlay-outline{cursor:move}.facility-overlay-controls{stroke:var(--accent-2);stroke-width:2px}.facility-overlay-controls>*{vector-effect:non-scaling-stroke}.facility-overlay-outline{fill:transparent;stroke-dasharray:6 3}.facility-overlay-resize{fill:var(--surface);cursor:nwse-resize}.facility-overlay-rotate{fill:var(--accent-2);stroke:var(--bg);cursor:grab}.facility-overlay-controls>[role=button]:focus-visible{outline:none;stroke:var(--accent);stroke-width:3px}.alert-browser-row{display:flex;align-items:center;border:1px solid var(--ud-border);border-radius:6px;background:var(--ud-surface-2)}.alert-browser-row>input{flex:0 0 auto;margin:0 0 0 12px}.revised-view .panel .alert-browser-row>button{min-width:0;flex:1;border:0;border-radius:0;background:transparent}.alert-batch-selection{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--ud-border)}.alert-batch-selection label,.alert-batch-actions label{display:flex;align-items:center;gap:8px}.alert-batch-actions fieldset{display:grid;gap:12px;min-width:0;padding:0;border:0}.alert-detail-view input[type=checkbox]{flex:0 0 auto;width:16px;height:16px;padding:0;cursor:pointer;color-scheme:dark}.alert-detail-view input[type=checkbox]:focus-visible{outline:2px solid var(--ud-blue);outline-offset:3px}.alert-batch-actions fieldset label{min-height:40px;padding:9px 10px;font-size:12px}.alert-batch-actions fieldset label>input,.alert-batch-selection input{margin:0}.alert-batch-actions>p{margin:0 0 3px;color:var(--muted);font-size:12px;line-height:1.5}.alert-batch-selection{background:var(--ud-surface-2);color:#c7d2e1;font:12px var(--mono)}.alert-batch-selection>span{color:var(--ud-accent)}.alert-batch-selection label{min-height:28px;cursor:pointer}.alert-browser-row:has(>input:checked){background:#00e5a017;box-shadow:inset 3px 0 var(--ud-accent)}.alert-browser-row:has(>input:focus-visible){background:#00aaff12}.alert-detail-view input[type=checkbox]:disabled,.alert-batch-actions fieldset:disabled,.alert-batch-actions button:disabled,.alert-batch-selection button:disabled{opacity:.5;cursor:not-allowed}.alert-batch-actions fieldset:disabled label{cursor:not-allowed}.alert-batch-actions select,.alert-batch-actions textarea{width:100%;margin-top:6px}.alert-edit-history{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.alert-edit-history button{padding:6px 10px;border:1px solid var(--ud-border);border-radius:6px;background:var(--ud-surface-2);color:#c8d0db}.alert-edit-history button:disabled{opacity:.5;cursor:not-allowed}.alert-edit-history small{color:var(--muted)}
