.federation-page{min-width:0;padding:20px}.federation-page .panel-heading h2{align-items:center;gap:10px;display:flex}.federation-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1000px;display:grid}.federation-page label{flex-direction:column;gap:8px;min-width:0;display:flex}.federation-page input,.federation-page select,.federation-page textarea{box-sizing:border-box;border:1px solid var(--omnivue-border);width:100%;min-width:0;min-height:40px;font:inherit;background:var(--omnivue-panel);color:var(--omnivue-text);border-radius:6px;padding:8px 10px}.federation-page input:focus-visible,.federation-page select:focus-visible,.federation-page textarea:focus-visible{outline:2px solid var(--omnivue-accent);outline-offset:2px}.federation-page label:has(input[type=checkbox]){flex-direction:row;align-items:center}.federation-page input[type=checkbox]{flex:none;width:18px;height:18px;min-height:18px}.federation-page button:not(.icon-button):not(.icon-danger):not(.inline-button){border:1px solid var(--omnivue-border);background:var(--omnivue-panel);min-height:40px;color:var(--omnivue-text);cursor:pointer;border-radius:6px;padding:8px 14px}.federation-page button:disabled{opacity:.55;cursor:not-allowed}.federation-page .server-section{border-top:1px solid var(--omnivue-border);grid-template-columns:minmax(0,1fr);min-width:0;padding:24px 0}.federation-page .server-section>*{min-width:0}.archive-coverage .telemetry-table{table-layout:fixed;min-width:0}.federation-page .server-section h3{margin:0 0 16px}.federation-page .server-section>p{margin:12px 0 20px}.federation-page select[multiple]{min-height:120px}.federation-form button{place-self:end start;align-items:center;gap:8px;display:inline-flex}.federation-error{color:#c83c43;overflow-wrap:anywhere}.federation-page td{overflow-wrap:anywhere;max-width:420px}.federation-page code{overflow-wrap:anywhere}.federation-key{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;display:flex}.federation-key label{flex:1;min-width:220px}.federation-confirm{z-index:1000;background:var(--omnivue-panel);width:min(480px,100% - 40px);color:var(--omnivue-text);border:1px solid var(--omnivue-border);border-radius:8px;padding:24px;position:fixed;top:30%;left:50%;transform:translate(-50%);box-shadow:0 12px 48px #0005}.federation-confirm button{margin-right:12px}@media (width<=700px){.federation-form{grid-template-columns:minmax(0,1fr)}.federation-page{padding:12px 12px 90px}}.recording-copies{border-bottom:1px solid var(--omnivue-border);margin-bottom:24px;padding:24px 0}.recording-copies .federation-form{margin-top:20px}.recording-copies{grid-template-columns:minmax(0,1fr)}.recording-copies>*{min-width:0}.intel-workspace{letter-spacing:0;min-width:0}.intel-tabs,.intel-actions{flex-wrap:wrap;gap:8px;display:flex}.intel-tabs{border-bottom:1px solid #768096;margin-bottom:20px;padding-bottom:12px}.intel-tabs button,.intel-actions button{justify-content:center;align-items:center;gap:8px;min-height:40px;display:inline-flex}.intel-tabs [aria-selected=true]{border-color:#a22fee;box-shadow:inset 0 -3px #a22fee}.intel-filters{grid-template-columns:minmax(200px,1fr) minmax(0,2fr);gap:24px;display:grid}.intel-filters fieldset{border:1px solid #768096;border-radius:4px;min-width:0}.intel-cameras{max-height:280px;overflow:auto}.intel-cameras label{align-items:center;gap:8px;padding:8px;display:flex}.intel-cameras input{flex:0 0 18px;width:18px;height:18px}.intel-cameras span{overflow-wrap:anywhere;flex:1}.intel-cameras small{font-size:12px}.intel-query{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.intel-query label{flex-direction:column;gap:6px;min-width:0;display:flex}.intel-query .intel-actions{grid-column:1/-1}.intel-query label:has(textarea){grid-column:1/-1}.intel-query input,.intel-query textarea{box-sizing:border-box;width:100%;min-width:0}.intel-progress,.intel-alert{overflow-wrap:anywhere;background:#bd782814;border-left:4px solid #bd7828;align-items:center;gap:12px;margin:16px 0;padding:16px;display:flex}.intel-progress{background:#a22fee12;border-color:#a22fee;min-height:64px}.intel-spin{flex-shrink:0;animation:1.2s linear infinite intel-spin}.intel-index,.intel-results{border-top:1px solid #768096;margin-top:24px;padding-top:16px}.intel-graph-camera{padding:12px 0}.intel-graph-camera h3{align-items:center;gap:8px;font-size:16px;display:flex}.intel-relationships{border-left:2px solid #629688;margin-left:8px;padding-left:20px}.intel-evidence{overflow-wrap:anywhere;border-bottom:1px solid #76809655;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:6px 16px;padding:12px 0;display:grid}.intel-evidence strong{font-size:14px}.intel-evidence small{grid-column:1/-1}.intel-results article{padding:12px 0}.intel-results p{overflow-wrap:anywhere}@keyframes intel-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.intel-spin{animation:none}}@media (width<=720px){.intel-filters,.intel-evidence,.intel-query{grid-template-columns:minmax(0,1fr)}.intel-tabs button{flex:160px}.intel-cameras{max-height:180px}}.intel-workspace button{font:inherit;background:var(--omnivue-panel,#fff);color:var(--omnivue-text,#252832);border:1px solid var(--omnivue-border,#dde3ee);cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-height:40px;padding:8px 12px;display:inline-flex}.intel-workspace button:hover:not(:disabled){border-color:#a22fee}.intel-workspace button:disabled{opacity:.55;cursor:not-allowed}.intel-workspace button:focus-visible,.intel-workspace input:focus-visible,.intel-workspace textarea:focus-visible{outline-offset:2px;outline:2px solid #a22fee}.intel-query input,.intel-query textarea{font:inherit;border:1px solid var(--omnivue-border,#dde3ee);background:var(--omnivue-panel,#fff);color:var(--omnivue-text,#252832);border-radius:6px;min-height:42px;padding:10px}.intel-query textarea{resize:vertical}.intel-evidence button{justify-self:start}.intel-cameras input{accent-color:#a22fee}.access-page{color:#252833;background:#fcfcfc;flex-direction:column;min-height:100dvh;display:flex}.recovery-dialog::backdrop{background:#0009}.recovery-dialog{color:#fcfcfc;background:#252833;border:1px solid #626570;border-radius:8px;width:min(100% - 40px,500px);padding:24px}.recovery-dialog h2{overflow-wrap:anywhere;font-size:20px}.recovery-dialog p{font-size:14px;line-height:1.6}.recovery-dialog input{width:100%;min-width:0;margin-top:8px;padding:12px}.access-header{border-bottom:1px solid #e1e3e8;justify-content:space-between;align-items:center;gap:24px;padding:24px 40px;display:flex}.access-header img{object-fit:contain;width:180px;height:62px}.access-header>span{color:#626570;font-size:11px}.access-content{width:min(100% - 40px,420px);margin:auto;padding:40px 0}.access-heading h1{margin:18px 0 10px;font-size:28px;line-height:1.25}.access-heading p{color:#626570;margin:0 0 24px;font-size:14px;line-height:1.6}.access-symbol{color:#8530b8;background:#f5edfc;border:1px solid #e4d6f3;border-radius:8px;place-items:center;width:48px;height:48px;display:grid}.access-form fieldset{border:0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}.access-form label{margin-top:8px;font-size:14px;font-weight:600}.access-form input{color:#252833;width:100%;min-width:0;height:46px;font:inherit;background:#fff;border:1px solid #babdc7;border-radius:5px;padding:0 12px;font-size:16px}.access-page button{cursor:pointer;font-size:14px}.access-page button:disabled{cursor:wait;opacity:.6}.access-page :focus-visible{outline-offset:3px;outline:2px solid #9b32f1}.access-password{position:relative}.access-password input{padding-right:50px}.access-eye{color:#626570;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:1px;right:1px}.access-link{color:#7931a7;background:0 0;border:0;align-self:flex-end;padding:8px 0}.access-submit{color:#fff;background:#252833;border:0;border-radius:5px;justify-content:center;align-items:center;gap:10px;min-height:46px;margin-top:12px;font-weight:600;display:flex}.access-back{color:#626570;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-height:44px;display:flex}.access-hint,.access-help p{color:#626570;margin:6px 0;font-size:12px;line-height:1.6}.access-error,.access-success{overflow-wrap:anywhere;border-radius:5px;margin:4px 0;padding:12px;font-size:14px;line-height:1.5}.access-error{color:#962e34;background:#fff0f0;border:1px solid #edc6c8}.access-success{color:#28673f;background:#edf7f0;align-items:center;gap:8px;display:flex}.access-success svg{flex-shrink:0}.access-server{color:#626570;border-top:1px solid #e1e3e8;align-items:center;gap:12px;margin-top:28px;padding-top:20px;display:flex}.access-server div{flex:1;gap:4px;min-width:0;display:grid}.access-server strong{font-size:12px;font-weight:600}.access-server span{overflow-wrap:anywhere;font-size:12px}.access-dot{background:#777;border-radius:50%;flex-shrink:0;width:8px;height:8px}.access-dot.available{background:#228454}.access-help{margin-top:18px;font-size:13px}.access-help summary{cursor:pointer;padding:8px 0}.access-footer{color:#626570;border-top:1px solid #e1e3e8;align-items:center;gap:8px;padding:18px 40px;font-size:12px;display:flex}.access-footer>span:last-child{white-space:nowrap;margin-left:auto}@media (width<=540px){.access-header{padding:16px 20px}.access-header>span{display:none}.access-content{padding:28px 0}.access-footer{flex-wrap:wrap;padding:16px 20px}.access-footer>span:last-child{display:none}}.eq2-fields,.eq2-investigation{border:0;border-top:1px solid var(--border,#8491a455);min-width:0;margin:16px 0;padding:16px 0}.eq2-controls,.eq2-window{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.eq2-controls label,.eq2-window label{flex-direction:column;gap:6px;min-width:0;display:flex}.eq2-window{margin:12px 0}.eq2-window>div{flex-wrap:wrap;gap:12px;width:100%;display:flex}.eq2-window>div label{flex-direction:row;align-items:center}.eq2-fields input[type=checkbox]{flex:none;width:18px;height:18px}.camera-form .eq2-fields label:has(>input[type=checkbox]){flex-direction:row;align-items:center;gap:8px;display:flex}.eq2-controls label:has(>input[type=checkbox]){flex-direction:row;align-items:center;gap:8px;display:flex}.camera-form .eq2-fields input[type=checkbox],.eq2-controls input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0;padding:0}.camera-form .eq2-fields>label{margin-bottom:12px}.eq2-fields button,.eq2-controls button{background:var(--omnivue-panel);min-height:36px;color:var(--omnivue-text);border:1px solid var(--omnivue-border);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.eq2-fields button:disabled,.eq2-controls button:disabled{opacity:.5;cursor:default}.eq2-controls input,.eq2-controls select{background:var(--omnivue-panel);color:var(--omnivue-text);border:1px solid var(--omnivue-border);border-radius:6px;padding:8px}.eq2-controls select{min-width:180px;max-width:100%}.eq2-playback-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0;display:grid}.eq2-video{aspect-ratio:16/9;color:#fff;background:#111;justify-content:center;align-items:center;display:flex;position:relative}.eq2-video video{object-fit:contain;width:100%;height:100%}.eq2-video span{text-align:center;padding:12px}.eq2-video video+span{background:#111d;width:100%;position:absolute;bottom:0}.eq2-investigation input[type=range]{width:100%}@media (width<=700px){.eq2-playback-grid{grid-template-columns:1fr}.eq2-controls label{width:100%}}:root{color:#252833;--kvabi-background:#fcfcfc;--kvabi-foreground:#252833;--kvabi-accent-1:#9b32f1;--kvabi-accent-2:#ba41e3;--kvabi-accent-3:#d94fd5;--omnivue-purple:#9b32f1;--omnivue-magenta:#d94fd5;--omnivue-ink:#252833;--omnivue-muted:#667085;--omnivue-line:#dde3ee;--omnivue-panel:#fcfcfc;--omnivue-soft:#f7f2ff;--omnivue-text:#252833;--omnivue-border:#dde3ee;--omnivue-accent:var(--kvabi-accent-1);font-synthesis:none;text-rendering:optimizelegibility;background:#fcfcfc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.module-license-gate{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:64px 24px;display:flex}.module-license-gate>svg{color:var(--kvabi-accent-1)}.module-license-gate h2,.module-license-gate p{max-width:540px;margin:0}.module-license-gate p{line-height:1.6}.section-form textarea{resize:vertical;overflow-wrap:anywhere;min-width:0;max-width:100%}.license-summary strong{overflow-wrap:anywhere}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,a{font:inherit}.login-shell{background:var(--kvabi-background);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--omnivue-line);background:#fff;border-radius:8px;gap:16px;width:min(420px,100%);padding:24px;display:grid}.login-brand{color:#111827;margin-bottom:4px}.login-panel label{color:#475569;gap:6px;font-weight:700;display:grid}.login-panel input{min-height:44px;font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:0 12px}.login-panel button,.logout-button{background:var(--omnivue-ink);color:#fff;cursor:pointer;border:0;border-radius:4px;min-height:42px;padding:0 14px;font-weight:700}.login-error{color:#991b1b;margin:0;font-weight:700}.app-shell{grid-template-columns:260px 1fr;width:100%;max-width:100vw;min-height:100vh;display:grid;overflow-x:hidden}.app-shell.nav-collapsed{grid-template-columns:84px 1fr}.sidebar{background:var(--kvabi-foreground);color:#f8fafc;border-right:1px solid #ffffff14;padding:0 14px 22px}.brand{justify-content:center;align-items:center;min-height:148px;margin-bottom:24px;margin-left:-16px;margin-right:-16px;padding:18px 16px 28px;display:flex}.brand-logo{background:#fff;border-radius:4px;width:min(228px,100%);height:auto;padding:20px;display:block}.brand-favicon{object-fit:contain;flex-shrink:0;width:60px;height:60px;display:block}.brand strong,.brand span{display:block}.brand span{color:#b9bfd0;margin-top:2px;font-size:13px}.nav-list{gap:16px;display:grid}.nav-section{gap:5px;display:grid}.nav-section-title{color:#e2e8f06b;text-transform:uppercase;padding:0 10px 4px;font-size:10px;font-weight:900}.collapse-nav-button{color:#e2e8f0;cursor:pointer;background:#ffffff0f;border:1px solid #e2e8f033;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:38px;margin-bottom:14px;font-weight:800;display:inline-flex}.nav-item{color:#cbd5e1;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:10px;width:100%;min-height:38px;padding:0 10px;text-decoration:none;display:flex}.nav-collapsed .sidebar{padding-left:12px;padding-right:12px}.nav-collapsed .brand{min-height:116px;padding-bottom:18px}.nav-collapsed .collapse-nav-button span,.nav-collapsed .nav-item span{display:none}.nav-collapsed .nav-item{justify-content:center;padding:0}.nav-collapsed .nav-section-title{display:none}.nav-item.active,.nav-item:hover{color:#fff;background:#9b32f133;border-color:#d94fd53d}button:focus-visible,select:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #9b32f19e}.content{grid-auto-rows:max-content;align-content:start;gap:16px;min-width:0;max-width:100%;padding:20px 24px 26px;display:grid;overflow-x:hidden}.topbar{background:0 0;border-bottom:1px solid #dde3ee9e;justify-content:space-between;align-self:start;align-items:flex-start;gap:16px;padding:10px 0 14px;display:flex}.topbar-title-block{align-items:center;gap:14px;min-width:0;display:flex}.topbar-brand-mark{border-right:1px solid #94a3b857;flex-shrink:0;align-items:center;width:164px;height:68px;padding-right:14px;display:flex}.topbar-brand-mark img{background:#fff;border-radius:4px;width:148px;height:auto;padding:14px;display:block}.topbar-title-copy{min-width:0}.topbar-logo{display:none}.logout-button{background:var(--omnivue-ink);white-space:nowrap}.compact-logout{align-items:center;gap:6px;min-height:30px;padding:0 9px;font-size:13px;display:inline-flex}.eyebrow{color:#7a5cff;text-transform:uppercase;letter-spacing:0;margin:0 0 5px;font-size:13px}.page-subtitle{color:var(--omnivue-muted);margin-top:6px;font-size:14px;display:block}h1,h2{letter-spacing:0;margin:0}h1{font-size:24px;line-height:1.12}h2{font-size:18px}.sync-pill{color:#5b21b6;white-space:nowrap;background:#f0e8ff;border:1px solid #0000;border-radius:4px;align-items:center;gap:6px;min-width:0;min-height:30px;padding:0 9px;font-size:13px;font-weight:800;display:inline-flex}.sync-pill.offline{color:#9a3412;background:#fff7ed}.sync-pill.edge-online{color:#166534;background:#ecfdf5}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.topbar-menu{position:relative}.topbar-icon-button{width:32px;height:30px;color:var(--omnivue-ink);cursor:pointer;background:#fff;border:1px solid #cfd7e6;border-radius:4px;place-items:center;display:grid}.topbar-icon-button:hover{border-color:var(--omnivue-purple);color:var(--omnivue-purple)}.topbar-dropdown{z-index:45;background:#111827;border:1px solid #334155;border-radius:5px;width:220px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 46px #00000057}.topbar-dropdown button{color:#f4f4f6;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;width:100%;min-height:34px;padding:0 9px;font-weight:500;display:flex}.topbar-dropdown button:hover{background:#9b32f138}.health-menu{position:relative}.health-menu .sync-pill{cursor:pointer}.health-popover{z-index:40;color:#f4f4f6;background:#111827;border:1px solid #334155;border-radius:6px;width:min(360px,100vw - 32px);padding:10px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 46px #0000005c}.health-popover-title{border-bottom:1px solid #263241;justify-content:space-between;align-items:center;gap:10px;padding:2px 2px 8px;display:flex}.health-popover-title button{color:#cbd5e1;cursor:pointer;background:#1f2937;border:1px solid #334155;border-radius:4px;place-items:center;width:26px;height:26px;display:grid}.health-popover-item{width:100%;color:inherit;text-align:left;cursor:pointer;background:#1f2937;border:1px solid #334155;border-radius:4px;grid-template-columns:8px 1fr;gap:4px 10px;margin-top:8px;padding:9px;display:grid}.health-popover-item strong,.health-popover-item small{grid-column:2}.health-popover-item small,.health-popover-empty{color:#aab7c8}.health-popover-empty{padding:12px 2px 2px;font-size:13px}.health-dot{background:#f59e0b;border-radius:50%;grid-row:1/span 2;width:8px;height:8px;margin-top:5px}.health-dot.critical{background:#ef4444}.mobile-shell-bar{display:none}.metric-grid,.workspace-grid,.detail-grid{gap:16px;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.workspace-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.live-workspace{grid-template-columns:240px minmax(0,1fr);align-items:start}.live-camera-tree{border-right:1px solid var(--omnivue-border);min-width:0;padding:12px}.live-camera-tree h2{font-size:16px}.live-camera-tree button,.discovery-dialog button:not(.primary-action){background:var(--omnivue-panel);color:var(--omnivue-text);border:1px solid var(--omnivue-border);cursor:pointer;font:inherit;border-radius:6px;padding:8px}.live-camera-tree>button{justify-content:center;align-items:center;gap:6px;width:100%;margin-top:8px;font-size:13px;display:flex}.live-camera-tree button:disabled,.discovery-dialog button:disabled{opacity:.5;cursor:default}.discovery-dialog .row-actions{flex-wrap:wrap;gap:10px;display:flex}.discovery-dialog .panel-heading{align-items:center}.discovery-dialog .panel-heading h2{font-size:18px}.tree-search{align-items:center;gap:6px;margin-bottom:10px;display:flex}.tree-search input{background:var(--omnivue-panel);width:100%;min-width:0;color:var(--omnivue-text);border:1px solid var(--omnivue-border);border-radius:6px;padding:8px}.camera-tree-scroll{max-height:70vh;margin-top:12px;overflow:auto}.camera-tree-scroll summary{overflow-wrap:anywhere;padding:8px 0;font-size:12px}.camera-tree-row{align-items:center;gap:6px;padding:5px 0;display:flex}.camera-tree-row input{width:auto}.camera-tree-row button{text-align:left;background:0 0;border-color:#0000;flex:1;align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.camera-tree-row button:hover{border-color:var(--omnivue-border)}.camera-tree-row button span{overflow-wrap:anywhere;min-width:0}.camera-tree-row svg{flex-shrink:0}.empty-wall-tile{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:160px;display:flex}.empty-wall-tile select{max-width:90%}.stream-transport{color:var(--omnivue-muted);font-size:11px}.discovery-dialog{background:var(--omnivue-panel);width:min(620px,92vw);max-height:90vh;color:var(--omnivue-text);border:1px solid var(--omnivue-border);border-radius:8px;padding:20px;overflow:auto}.discovery-dialog::backdrop{background:#0009}.discovery-dialog p{overflow-wrap:anywhere}.discovery-channel{align-items:center;gap:8px;padding:8px 0;display:flex!important}.discovery-channel input{width:auto!important}@media (width<=800px){.live-workspace{grid-template-columns:minmax(0,1fr)}.camera-tree-scroll{max-height:200px}}.analytics-workspace,.detail-grid.analytics-workspace{grid-template-columns:minmax(0,1fr)}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.55fr)}.playback-layout{grid-template-columns:minmax(0,1fr)}.panel,.metric{background:var(--omnivue-panel);border:1px solid var(--omnivue-line);border-radius:5px;box-shadow:0 14px 34px #1c1f3a0f}.metric{gap:7px;min-height:92px;padding:14px;display:grid}.compact-metrics .metric{grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:56px;padding:9px 10px}.metric-icon{background:var(--omnivue-soft);width:34px;height:34px;color:var(--omnivue-purple);border-radius:4px;place-items:center;display:grid}.compact-metrics .metric-icon{width:28px;height:28px}.compact-metrics .metric-icon svg{width:15px;height:15px}.metric span{color:var(--omnivue-muted)}.metric strong{font-size:28px}.compact-metrics .metric strong{justify-self:end;font-size:22px}.panel{min-width:0;max-width:100%;padding:18px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.toast-stack{z-index:100;gap:10px;width:min(560px,100vw - 36px);display:grid;position:fixed;top:18px;right:18px}.system-banner{border:1px solid var(--omnivue-line);min-height:44px;color:var(--omnivue-ink);background:#fff;border-radius:5px;align-items:center;gap:10px;max-width:100%;padding:10px 14px;font-weight:700;display:flex;box-shadow:0 18px 38px #0f172a29}.system-banner span{overflow-wrap:anywhere;white-space:normal;flex:1;min-width:0;max-height:min(42vh,260px);overflow:auto}.system-banner button{color:currentColor;cursor:pointer;background:#ffffffad;border:0;border-radius:6px;flex:none;place-items:center;width:30px;height:30px;display:grid}.system-banner.info{color:#3730a3;background:#eef2ff;border-color:#c7d2fe}.system-banner.success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.system-banner.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.ops-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ops-strip div,.module-card,.deployment-card,.health-item{border:1px solid var(--omnivue-line);background:#fff;border-radius:5px;box-shadow:0 12px 28px #1c1f3a0d}.ops-strip div{gap:3px;min-height:54px;padding:10px;display:grid}.ops-strip span,.module-card span,.deployment-card span,.deployment-card small,.health-item span{color:var(--omnivue-muted);font-size:12px}.ops-strip strong{color:var(--omnivue-ink);font-size:13px}.module-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.overview-command-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.overview-main{gap:16px;min-width:0;display:grid}.module-section{gap:10px;display:grid}.module-section-heading{align-items:center;gap:10px;display:flex}.module-section-heading h2{color:var(--omnivue-muted);text-transform:uppercase;font-size:15px}.module-section .module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.module-card{aspect-ratio:1;min-height:0;color:inherit;cursor:pointer;text-align:center;align-content:center;justify-items:center;gap:8px;padding:14px;display:grid;position:relative}.module-card strong,.deployment-card strong{margin-bottom:4px;display:block}.module-card strong{font-size:15px}.module-card span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}.module-card .module-icon{width:54px;height:54px}.module-card .module-icon svg{width:32px;height:32px}.overview-side{border:1px solid var(--omnivue-line);background:var(--omnivue-panel);border-radius:5px;gap:12px;min-width:0;padding:12px;display:grid}.overview-summary-panel{gap:10px;display:grid}.overview-side-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.overview-side-heading strong{color:var(--omnivue-ink)}.overview-side-heading span{color:var(--omnivue-muted);font-size:12px}.overview-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.overview-stat-card{border:1px solid var(--omnivue-line);background:#f8fafc;border-radius:4px;grid-template-rows:auto auto;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:3px 7px;min-height:62px;padding:8px;display:grid}.overview-stat-icon{background:var(--omnivue-soft);width:24px;height:24px;color:var(--omnivue-purple);border-radius:4px;grid-row:1/span 2;place-items:center;display:grid}.overview-stat-card span{color:var(--omnivue-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:700;overflow:hidden}.overview-stat-card strong{color:var(--omnivue-ink);overflow-wrap:anywhere;min-width:0;font-size:16px;line-height:1}.overview-side-divider{background:var(--omnivue-line);height:1px}.health-bars-panel{border:1px solid var(--omnivue-line);background:var(--omnivue-panel);border-radius:5px;gap:10px;padding:12px;display:grid}.health-bars-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.health-bars-heading span{color:var(--omnivue-muted);font-size:12px}.health-bars{grid-template-columns:1fr;gap:12px;display:grid}.usage-bar-row{gap:7px;display:grid}.usage-bar-row>div:first-child{color:var(--omnivue-muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.usage-bar-row strong{color:var(--omnivue-ink)}.usage-bar-track{background:#e5e7eb;border-radius:2px;height:8px;overflow:hidden}.usage-bar-fill{border-radius:inherit;background:#22c55e;height:100%;transition:width .18s;display:block}.usage-bar-fill.warning{background:#f59e0b}.usage-bar-fill.critical{background:#ef4444}.module-card:hover{border-color:#9b32f161;box-shadow:0 0 0 2px #9b32f11f}.batch-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.batch-feature-grid button{border:1px solid var(--omnivue-line);color:var(--omnivue-ink);text-align:left;cursor:pointer;background:#fff;border-radius:8px;gap:6px;padding:14px;display:grid}.batch-feature-grid button:hover{border-color:#9b32f161;box-shadow:0 0 0 2px #9b32f11f}.batch-feature-grid span{color:var(--omnivue-purple);text-transform:uppercase;font-size:12px;font-weight:900}.batch-feature-grid strong,.batch-feature-grid small{display:block}.batch-feature-grid small{color:var(--omnivue-muted);line-height:1.35}.module-icon{width:34px;height:34px;color:var(--omnivue-purple);background:linear-gradient(135deg,#9b32f11f,#d94fd51a);border-radius:4px;flex:none;place-items:center;display:grid}.primary-action,.inline-button,.stream-actions button{color:var(--omnivue-ink);cursor:pointer;background:#fff;border:1px solid #cfd7e6;border-radius:6px;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-weight:800;display:inline-flex}.primary-action{background:var(--kvabi-accent-1);color:#fff;border-color:#0000;justify-content:center}.stream-actions button:disabled{cursor:not-allowed;opacity:.6}.toolbar-select{min-height:40px;color:var(--omnivue-ink);background:#fff;border:1px solid #d9e2ef;border-radius:6px;min-width:0;max-width:100%;padding:0 10px;font-weight:800}.toolbar-select.compact-select{width:82px;min-height:40px;font-size:12px}.live-tabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.live-tabs button{min-height:34px;color:var(--omnivue-ink);cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:4px;align-items:center;gap:6px;padding:0 12px;font-weight:800;display:inline-flex}.live-tab-chip{align-items:center;gap:6px;display:inline-flex}.toolbar-range{min-height:40px;color:var(--omnivue-muted);background:#fff;border:1px solid #d9e2ef;border-radius:6px;align-items:center;gap:8px;min-width:0;max-width:100%;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.toolbar-range input[type=number]{width:54px;color:var(--omnivue-ink);font:inherit;border:0}.panel-heading span{color:#64748b;font-size:13px}.camera-grid{grid-template-columns:repeat(var(--wall-columns,2), minmax(0, 1fr));gap:12px;min-width:0;max-width:100%;margin-top:12px;display:grid}.camera-grid.wall-4{--wall-columns:2!important}.camera-grid.wall-6{--wall-columns:3!important}.camera-grid.wall-8,.camera-grid.wall-9,.camera-grid.wall-13,.camera-grid.wall-16,.camera-grid.wall-20,.camera-grid.wall-25,.camera-grid.wall-36,.camera-grid.wall-64{--wall-columns:4!important}.active-control{border-color:var(--omnivue-purple)!important;color:var(--omnivue-purple)!important;background:var(--omnivue-soft)!important}.saved-views{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.saved-views button{min-height:32px;color:var(--omnivue-ink);cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:4px;padding:0 10px;font-weight:800}.saved-view-chip{align-items:center;gap:6px;display:inline-flex}.compact-danger{border-radius:4px;width:34px;min-height:32px}.fullscreen-wall{z-index:50;position:fixed;inset:12px;overflow:auto;box-shadow:0 24px 80px #0f172a57}.fullscreen-wall .camera-grid{min-height:72vh}.camera-tile{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #d9e2ef;border-radius:5px;min-width:0;padding:0;overflow:hidden}.camera-tile.selected{border-color:var(--omnivue-purple);box-shadow:0 0 0 2px #9b32f129}.stream-actions{flex-wrap:wrap;gap:6px;max-width:100%;margin-bottom:10px;display:flex}.live-wall-controls{gap:8px;display:grid}.wall-control-strip,.wall-control-more,.layout-button-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wall-control-strip{border:1px solid var(--omnivue-line);background:#94a3b812;border-radius:5px;padding:6px}.wall-control-more{border:1px solid var(--omnivue-line);background:#94a3b80f;border-radius:5px;padding:8px}.layout-button-row{flex:100%}.stream-actions button,.inline-button{min-height:30px;color:var(--omnivue-ink);cursor:pointer;background:#fff;border:1px solid #cfd7e6;border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.stream-actions .square-control{flex-direction:column;justify-content:center;gap:1px;width:44px;min-width:44px;height:40px;padding:0;font-size:10px;line-height:1}.stream-actions .square-control span{display:block}.stream-actions button svg,.inline-button svg,.tile-actions button svg,.tile-actions a svg{width:14px;height:14px}.stream-actions button:hover,.inline-button:hover{border-color:var(--omnivue-purple);color:var(--omnivue-purple)}.hls-frame,.hls-player,.live-empty{aspect-ratio:16/9;color:#e2e8f0;background:#111827;border-radius:4px;width:100%}.hls-frame{position:relative;overflow:hidden}.recording-chip{z-index:4;color:#fff;letter-spacing:0;background:#dc2626;border-radius:4px;padding:5px 9px;font-size:12px;font-weight:900;position:absolute;top:10px;left:10px;box-shadow:0 10px 24px #7f1d1d59}.clip-range-chip{z-index:5;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#7f1d1db8;border:1px solid #f871718c;border-radius:4px;max-width:calc(100% - 20px);padding:6px 10px;font-size:11px;font-weight:800;position:absolute;bottom:78px;left:10px;box-shadow:0 14px 30px #0f172a3d}.datetime-timeline{z-index:5;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172a7a;border:1px solid #e2e8f033;border-radius:4px;gap:5px;padding:7px 10px;display:grid;position:absolute;bottom:10px;left:10px;right:10px;box-shadow:0 14px 30px #0f172a38}.timeline-meta{color:#ffffffb3;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;font-size:10px;font-weight:800;display:grid}.timeline-meta strong{color:#fff;text-align:center;white-space:nowrap;font-size:11px}.timeline-meta span:last-child{text-align:right}.datetime-timeline input{appearance:none;border-radius:4px;outline:none;width:100%;height:5px}.datetime-timeline input::-webkit-slider-thumb{appearance:none;background:var(--omnivue-purple);border:2px solid #fff;border-radius:4px;width:14px;height:14px;box-shadow:0 6px 14px #0f172a57}.datetime-timeline input::-moz-range-thumb{background:var(--omnivue-purple);border:2px solid #fff;border-radius:4px;width:14px;height:14px;box-shadow:0 6px 14px #0f172a57}.evidence-player-tools{z-index:5;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;pointer-events:none;background:#0f172a75;border:1px solid #e2e8f038;border-radius:4px;align-items:center;gap:6px;padding:5px;transition:opacity .16s,transform .16s;display:flex;position:absolute;top:10px;left:10px;transform:translateY(-4px);box-shadow:0 14px 30px #0f172a38}.hls-frame.controls-visible .evidence-player-tools{opacity:.96;pointer-events:auto;transform:translateY(0)}.evidence-player-tools label,.evidence-player-tools button{color:#fff;background:#ffffff1a;border:1px solid #e2e8f03d;border-radius:4px;align-items:center;gap:5px;min-height:28px;padding:0 9px;font-size:11px;font-weight:800;display:inline-flex}.evidence-player-tools label{padding-right:4px}.evidence-player-tools label span{color:#ffffffc2}.evidence-player-tools select{color:#111827;background:#ffffffeb;border:0;border-radius:4px;width:58px;padding:4px 6px;font-size:11px;font-weight:900}.evidence-player-tools button:hover{background:#ffffff2e}.evidence-player-tools button.danger{background:#7f1d1da3;border-color:#f871718c}.evidence-player-tools button.active{animation:1.3s ease-in-out infinite recPulse}@keyframes recPulse{0%,to{box-shadow:0 0 #f871715c}50%{box-shadow:0 0 0 5px #f8717100}}.hls-player{transform-origin:50%;height:100%;display:block}.hls-player.fit-contain,.snapshot-player.fit-contain{object-fit:contain}.hls-player.fit-cover,.snapshot-player.fit-cover{object-fit:cover}.hls-player.tone-contrast,.snapshot-player.tone-contrast{filter:contrast(1.18)saturate(1.08)}.hls-player.tone-bright,.snapshot-player.tone-bright{filter:brightness(1.16)contrast(1.04)}.hls-player.hidden{display:none}.snapshot-player{transform-origin:50%;background:#111827;width:100%;height:100%;display:block}.stream-notice{color:#fff;background:#0f172ad1;border:1px solid #38bdf859;border-radius:6px;padding:10px 12px;font-size:13px;font-weight:800;position:absolute;bottom:14px;left:14px;right:14px}.stream-notice.compat{background:#14532dd1;border-color:#22c55e59}.live-empty{text-align:center;align-content:center;place-items:center;gap:10px;padding:18px;display:grid}.video-placeholder{aspect-ratio:16/9;color:#e2e8f0;text-transform:uppercase;background:linear-gradient(135deg,#111827,#334155);align-content:center;place-items:center;gap:8px;font-size:12px;display:grid;position:relative}.camera-meta{justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.camera-state-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:inline-flex}.tile-actions{grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:5px;padding:0 8px 8px;display:grid}.tile-actions button,.tile-actions a{min-height:28px;color:var(--omnivue-ink);cursor:pointer;background:#fff;border:1px solid #cfd7e6;border-radius:6px;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.camera-meta strong{overflow-wrap:anywhere;min-width:0}.status-dot-label,.recording-dot-label{color:var(--omnivue-muted);text-transform:lowercase;align-items:center;gap:5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.status-dot-label>span,.recording-dot-label>span{background:#94a3b8;border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 2px #94a3b82e}.status-dot-label.online>span{background:#16a34a;box-shadow:0 0 0 2px #16a34a29}.status-dot-label.offline>span{background:#dc2626;box-shadow:0 0 0 2px #dc262629}.status-dot-label.degraded>span{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b29}.recording-dot-label{color:#dc2626;font-weight:900}.recording-dot-label>span{background:#dc2626;box-shadow:0 0 0 2px #dc26262e}.status,.severity{white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:700}.status.online{color:#166534;background:#dcfce7}.status.offline{color:#991b1b;background:#fee2e2}.status.degraded{color:#92400e;background:#fef3c7}.chip-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.info-chip,.health-chip{white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:850}.info-chip{color:#475569;background:#f8fafc;border:1px solid #d9e2ef}.health-chip.healthy{color:#166534;background:#dcfce7}.health-chip.warning{color:#92400e;background:#fef3c7}.health-chip.critical{color:#991b1b;background:#fee2e2}.event-list,.stack-list,.detail-body{gap:10px;display:grid}.edge-page-grid,.storage-page-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:stretch}.card-grid .stack-row{aspect-ratio:1/.88;grid-template-columns:auto minmax(0,1fr) auto;align-content:start;min-height:190px;display:grid;overflow:auto}.card-grid .stack-row>div{min-width:0}.vms-servers-panel,.storage-main-panel{gap:16px;display:grid}.server-section,.storage-section{gap:10px;display:grid}.section-title-row{border-top:1px solid var(--omnivue-line);justify-content:space-between;align-items:baseline;gap:16px;padding-top:12px;display:flex}.panel-heading+.server-section .section-title-row,.panel-heading+.storage-health-strip+.storage-section-grid .section-title-row{border-top:0;padding-top:0}.section-title-row h3{color:var(--omnivue-ink);margin:0;font-size:16px;line-height:1.2}.section-title-row span{color:var(--omnivue-muted);font-size:13px}.server-card-grid,.simple-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.server-card,.simple-info-card{aspect-ratio:auto;grid-template-columns:auto minmax(0,1fr) auto;align-content:start;align-items:start;min-height:auto;display:grid}.simple-info-card{grid-template-columns:auto minmax(0,1fr)}.simple-info-card strong,.server-card strong{line-height:1.15;display:block}.simple-info-card span,.server-card span,.simple-info-card small,.server-card small{margin-top:4px;display:block}.storage-health-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.storage-health-card{min-height:58px}.health-text.healthy{color:#16a34a}.health-text.warning{color:#d97706}.health-text.critical,.health-text.offline{color:#dc2626}.storage-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.storage-resource-bars{margin-top:10px}.storage-resource-panel{margin-top:0}.telemetry-table-wrap{border:1px solid var(--omnivue-line);background:#fff;border-radius:6px;overflow-x:auto}.telemetry-table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}.telemetry-table th,.telemetry-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:10px 12px}.telemetry-table th{color:var(--omnivue-muted);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:900}.telemetry-table td{color:var(--omnivue-ink);font-weight:750}.telemetry-table tr:last-child td{border-bottom:0}.telemetry-table td strong,.telemetry-table td small{display:block}.telemetry-table td small{color:var(--omnivue-muted);margin-top:3px;font-weight:700}.vms-server-table{min-width:980px}.vms-server-table .sticky-action-column{z-index:2;min-width:96px;box-shadow:-1px 0 0 var(--omnivue-line);background:#fff;position:sticky;right:0}.vms-server-table th.sticky-action-column{z-index:3}.status-dot-text{color:var(--omnivue-muted);text-transform:capitalize;align-items:center;gap:6px;font-size:12px;font-weight:850;display:inline-flex}.status-dot-text>span{background:#64748b;border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 3px #64748b1f}.status-dot-text.online>span,.status-dot-text.healthy>span{background:#22c55e;box-shadow:0 0 0 3px #22c55e24}.status-dot-text.offline>span,.status-dot-text.critical>span{background:#ef4444;box-shadow:0 0 0 3px #ef444424}.status-dot-text.warning>span{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b24}.table-actions,.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-actions{flex-wrap:nowrap;justify-content:flex-end}.form-actions .primary-action,.form-actions .inline-button,.policy-actions .inline-button,.policy-actions .text-danger-action{width:auto;min-width:0;min-height:34px;padding:0 12px}.policy-actions{flex-wrap:nowrap;justify-content:flex-start;margin-top:10px}.text-danger-action{color:#dc2626;white-space:nowrap;justify-content:center;align-items:center;gap:6px;width:auto;display:inline-flex}.discovery-toolbar,.nas-form{grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;margin-bottom:12px;display:grid}.discovery-toolbar label,.nas-form label{color:var(--omnivue-muted);gap:6px;font-size:12px;font-weight:850;display:grid}.discovery-toolbar input,.discovery-toolbar select,.nas-form input,.nas-form select{min-height:36px;color:var(--omnivue-ink);font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:0 10px}.nas-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;display:grid}.nas-form{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;margin-bottom:0}.nas-disk-list{align-content:start;gap:10px;display:grid}.nas-disk-card .usage-bar-row{margin-top:10px}.entitlement-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:12px;display:grid}.entitlement-card{border:1px solid var(--omnivue-border);min-height:74px;color:var(--omnivue-text);background:#2c303c;border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.entitlement-card-icon{width:34px;height:34px;color:var(--omnivue-accent);background:#9b32f11f;border-radius:7px;place-items:center;display:grid}.entitlement-card-copy{min-width:0}.entitlement-card-copy strong{color:var(--omnivue-text);white-space:normal;font-size:15px;line-height:1.15;display:block}.entitlement-card-copy span{color:var(--omnivue-muted);text-transform:capitalize;margin-top:3px;font-size:13px;font-weight:700;display:block}.entitlement-card b{color:var(--omnivue-text);white-space:nowrap;font-size:22px;line-height:1}.server-manager-panel{gap:12px;display:grid}.server-manager-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.service-table{min-width:900px}.service-table .sticky-action-column{z-index:2;min-width:230px;box-shadow:-1px 0 0 var(--omnivue-line);background:#fff;position:sticky;right:0}.service-table th.sticky-action-column{z-index:3}.service-actions{justify-content:flex-start}.single-column-form{gap:12px;display:grid;grid-template-columns:1fr!important}.single-column-form label,.single-column-form .wide-field{grid-column:1}.single-column-form label{color:#52617a;gap:6px;font-size:12px;font-weight:800;display:grid}.event-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:8px;gap:6px;padding:12px;display:grid}.event-row.selected{border-color:var(--omnivue-purple);box-shadow:0 0 0 2px #9b32f129}.event-row small{color:#64748b}.severity.high,.severity.critical{color:#991b1b;background:#fee2e2;width:max-content}.severity.medium{color:#92400e;background:#fef3c7;width:max-content}.severity.low{color:#075985;background:#e0f2fe;width:max-content}.evidence-frame{color:#e2e8f0;background:#111827;border-radius:8px;align-content:center;place-items:center;gap:10px;min-height:210px;display:grid}.evidence-frame img{object-fit:contain;border-radius:6px;width:100%;max-height:260px}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.detail-list div{border:1px solid #d9e2ef;border-radius:8px;padding:10px}.detail-list dt{color:#64748b;font-size:12px}.detail-list dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.actions{gap:10px;display:flex}.actions button{background:var(--omnivue-purple);color:#fff;cursor:pointer;border:0;border-radius:6px;min-height:42px;padding:0 14px;font-weight:700}.actions button:last-child{background:#111827}.stack-row,.recording-row{border:1px solid #d9e2ef;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;display:flex}.camera-admin-grid{grid-template-columns:minmax(340px,.78fr) minmax(500px,1.24fr) minmax(260px,.48fr);align-items:stretch}.camera-admin-grid>.panel,.camera-admin-grid>.device-summary-panel{height:100%;min-height:600px}.camera-admin-grid .camera-card-grid{max-height:488px;padding-right:2px;overflow-y:auto}.integrations-grid{grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr)}.map-page-grid{grid-template-columns:minmax(560px,1.45fr) minmax(340px,.55fr)}.deployment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.deployment-card{gap:8px;padding:14px;display:grid}.deployment-topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.deployment-card small{overflow-wrap:anywhere;display:block}.deployment-form{grid-template-columns:repeat(2,minmax(0,1fr))}.health-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.health-item{align-items:flex-start;gap:10px;min-height:86px;padding:14px;display:flex}.health-item span,.health-item strong{display:block}.health-item strong{overflow-wrap:anywhere;margin-top:4px}.telemetry-strip{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.telemetry-strip span{color:#475569;background:#f8fafc;border:1px solid #d9e2ef;border-radius:4px;min-height:26px;padding:4px 8px;font-size:12px;font-weight:800}.map-panel{text-align:center;background:linear-gradient(#ffffffd1,#ffffffd1),linear-gradient(90deg,#e2e8f0 1px,#0000 1px) 0 0/28px 28px,linear-gradient(#e2e8f0 1px,#0000 1px) 0 0/28px 28px;border:1px solid #d9e2ef;border-radius:8px;align-content:center;place-items:center;gap:8px;min-height:196px;display:grid;position:relative}.map-page-grid>.panel{align-self:start}.map-panel svg{color:var(--omnivue-purple)}.map-panel span{color:var(--omnivue-muted)}.live-map{width:100%;min-height:320px;overflow:hidden}.live-map.has-floor-image{min-height:unset;background:#f8fafc;display:block}.map-floor-image{object-fit:fill;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-camera-pin{background:linear-gradient(135deg, var(--omnivue-purple), var(--omnivue-magenta));color:#fff;cursor:pointer;touch-action:none;border:2px solid #fff;border-radius:999px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 10px 22px #9b32f147}.map-pin-cluster,.map-submap-pin,.map-hotspot-pin{z-index:2;position:absolute;transform:translate(-50%,-50%)}.map-pin-cluster{place-items:center;margin:-8px;padding:8px;display:grid}.map-pin-actions{z-index:5;background:#fffffff0;border:1px solid #d9e2ef;border-radius:8px;grid-template-columns:repeat(3,auto);gap:4px;padding:5px;display:none;position:absolute;top:calc(100% - 2px);left:50%;transform:translate(-50%);box-shadow:0 14px 30px #0f172a24}.map-pin-actions.single-action{grid-template-columns:auto}.map-pin-cluster:hover .map-pin-actions,.map-pin-cluster:focus-within .map-pin-actions{display:grid}.map-pin-actions button{min-height:26px;color:var(--omnivue-ink);cursor:pointer;background:#f1f5f9;border:0;border-radius:6px;padding:0 8px;font-weight:900}.map-live-preview{z-index:8;color:#fcfcfc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172ae0;border:1px solid #e2e8f042;border-radius:5px;width:min(340px,100% - 28px);padding:8px;position:absolute;bottom:14px;right:14px;box-shadow:0 18px 34px #0f172a57}.map-live-preview-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;display:flex}.map-live-preview-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.map-live-preview-head button,.map-live-preview-actions button{color:#fcfcfc;cursor:pointer;background:#ffffff14;border:1px solid #e2e8f033;border-radius:4px}.map-live-preview-head button{place-items:center;width:26px;height:26px;display:grid}.map-live-preview .hls-frame{border:1px solid #e2e8f024}.map-live-preview-empty{color:#cbd5e1;background:#111827;place-items:center;gap:6px;min-height:120px;display:grid}.map-live-preview-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:7px;display:grid}.map-live-preview-actions button{justify-content:center;align-items:center;gap:4px;min-height:28px;padding:0 6px;font-size:10px;font-weight:800;display:inline-flex}.map-marker-label{min-width:max-content;max-width:160px;color:var(--omnivue-ink);pointer-events:none;text-overflow:ellipsis;white-space:nowrap;background:#fffffff0;border:1px solid #0f172a1f;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:900;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 18px #0f172a1f}.map-submap-pin,.map-hotspot-pin{color:#fff;cursor:pointer;touch-action:none;border:2px solid #fff;border-radius:8px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 10px 22px #0f172a38}.map-submap-pin{background:#0f172a}.map-hotspot-pin.low,.map-hotspot-pin.medium{background:#f59e0b}.map-hotspot-pin.high,.map-hotspot-pin.critical{background:#dc2626}.map-hotspot-pin.alarm{animation:1s infinite alarm-pulse}@keyframes alarm-pulse{0%,to{box-shadow:0 0 #dc262685,0 10px 22px #0f172a38}50%{box-shadow:0 0 0 12px #dc262600,0 10px 22px #0f172a38}}.section-form{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:18px}.map-control-accordions{gap:10px;display:grid}.map-accordion{border:1px solid var(--omnivue-line);background:#f8fafcb8;border-radius:5px;overflow:hidden}.map-accordion summary{min-height:42px;color:var(--omnivue-ink);cursor:pointer;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:900;list-style:none;display:flex}.map-accordion summary::-webkit-details-marker{display:none}.map-accordion summary svg{color:var(--omnivue-purple)}.map-accordion form{padding:0 12px 12px}.visually-hidden-file{opacity:0;pointer-events:none;position:absolute;width:1px!important;height:1px!important}.custom-file-control{background:#fff;border:1px solid #cfd7e6;border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:40px;padding:5px;display:grid}.custom-file-control button{background:var(--omnivue-soft);min-height:30px;color:var(--omnivue-purple);cursor:pointer;border:1px solid #9b32f15c;border-radius:4px;align-items:center;gap:6px;padding:0 9px;font-weight:900;display:inline-flex}.custom-file-control>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--omnivue-muted);font-size:12px;font-weight:800;overflow:hidden}.form-help{color:var(--omnivue-muted);font-size:12px;font-weight:750;line-height:1.4}.ptz-panel{background:#fbfdff;border:1px solid #d9e2ef;border-radius:8px;margin-top:12px;padding:12px}.ptz-panel.collapsed{padding-bottom:4px}.ptz-panel.collapsed .panel-heading{margin-bottom:6px}.compact-toggle{justify-content:center;min-width:58px}.ptz-host{color:var(--omnivue-muted);margin:-8px 0 10px;font-size:12px;font-weight:800}.ptz-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ptz-grid button,.player-toolbar button,.player-toolbar a{min-height:34px;color:var(--omnivue-ink);cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:800;text-decoration:none;display:inline-flex}.ptz-speed{color:var(--omnivue-muted);gap:6px;margin-top:10px;font-size:13px;font-weight:800;display:grid}.playback-controls{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:12px;display:grid}.playback-controls label{color:var(--omnivue-muted);gap:6px;font-size:12px;font-weight:800;display:grid}.playback-controls input,.playback-controls select{min-height:38px;color:var(--omnivue-ink);font:inherit;background:#fff;border:1px solid #cfd7e6;border-radius:6px;padding:0 10px}.playback-camera-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:8px;margin-bottom:12px;display:grid}.playback-camera{cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;padding:10px;display:grid}.playback-camera.selected{background:var(--omnivue-soft);border-color:#9b32f1a3;box-shadow:0 0 0 1px #9b32f124}.playback-camera input{margin:0}.playback-camera span{color:var(--omnivue-ink);font-weight:800}.playback-camera small{color:var(--omnivue-muted);text-transform:capitalize;grid-column:2;font-size:12px}.onvif-replay-panel{color:#1e3a8a;background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:grid}.onvif-replay-section{gap:10px;margin-bottom:12px;display:grid}.onvif-job-list{gap:10px;display:grid}.nvr-replay-player,.edge-recording-player{background:#fff;border:1px solid #d9e2ef;border-radius:8px;padding:12px}.device-event-center{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:14px}.listener-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.listener-card{background:#fff;border:1px solid #d9e2ef;border-radius:8px;gap:8px;padding:10px;display:grid}.listener-card>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.listener-card small{color:var(--omnivue-muted);overflow-wrap:anywhere}.compact-heading{margin-bottom:10px}.compact-heading h3{margin:0;font-size:17px}.onvif-job{background:#fff;border:1px solid #d9e2ef;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.onvif-job.ready{background:#f0fdf4;border-color:#bbf7d0}.onvif-job.unsupported{background:#fffbeb;border-color:#fde68a}.onvif-job.error{background:#fff5f5;border-color:#fecaca}.onvif-job strong,.onvif-job span,.onvif-job small,.onvif-job code{display:block}.onvif-job span,.onvif-job small{color:var(--omnivue-muted);margin-top:4px}.onvif-job code{max-width:min(760px,100%);color:var(--omnivue-ink);overflow-wrap:anywhere;background:#0f172a14;border-radius:6px;margin-top:8px;padding:8px;font-size:12px}.onvif-replay-panel svg{color:var(--omnivue-purple)}.onvif-replay-panel strong,.onvif-replay-panel span{display:block}.onvif-replay-panel span{color:#52617a;margin-top:3px}.recording-calendar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.recording-calendar button,.recording-actions a,.recording-actions button{min-height:32px;color:var(--omnivue-ink);cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-weight:800;text-decoration:none;display:inline-flex}.recording-calendar button:hover,.recording-actions a:hover,.recording-actions button:hover{color:#5b21b6;border-color:#9b32f180}.feature-notice{color:#1e3a8a;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;align-items:center;gap:10px;margin-bottom:12px;padding:10px;font-weight:800;display:flex}.player-toolbar{z-index:2;flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:10px;right:10px}.camera-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.camera-form label{color:var(--omnivue-muted);gap:6px;font-size:13px;font-weight:800;display:grid}.camera-form input,.camera-form textarea,.camera-form select{width:100%;min-height:40px;color:var(--omnivue-ink);font:inherit;background:#fff;border:1px solid #cfd7e6;border-radius:6px;padding:0 11px}.camera-form input:focus,.camera-form textarea:focus,.camera-form select:focus{border-color:var(--omnivue-purple);outline:2px solid #9b32f138}.wide-field{grid-column:1/-1}.camera-card-grid{grid-template-columns:1fr;gap:12px;display:grid}.camera-admin-row{background:#fff;border:1px solid #d9e2ef;border-radius:8px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:9px;padding:12px;display:grid}.camera-admin-row .camera-select-row{background:#f8fafc;border:1px solid #d9e2ef;border-radius:8px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:8px;display:grid}.camera-admin-top{min-width:0}.camera-card-main{gap:5px;min-width:0;display:grid}.camera-admin-row .chip-row{align-items:center;gap:5px;max-width:100%}.camera-admin-row .status-dot-label{white-space:nowrap;align-items:center;line-height:1;display:inline-flex}.camera-admin-row .info-chip,.camera-admin-row .status{text-overflow:ellipsis;max-width:100%;min-height:22px;padding:3px 8px;font-size:11px;font-weight:650;line-height:1.2;overflow:hidden}.camera-admin-row.selected{border-color:#9b32f18c;box-shadow:0 0 0 3px #9b32f114}.camera-card-icon{width:34px;min-width:34px;height:34px;color:var(--omnivue-purple);background:#f3e8ff;border-radius:7px;place-items:center;display:grid;margin-top:0!important}.camera-select-row .camera-card-icon{color:var(--omnivue-purple);align-self:center;place-items:center;margin-top:0;display:grid}.camera-select-row .camera-card-icon svg{margin-top:0}.camera-card-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.edge-assignment-row{color:var(--omnivue-muted);grid-template-columns:auto minmax(180px,280px);justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:850;display:grid}.icon-button,.icon-danger{width:32px;height:32px;color:var(--omnivue-ink);cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:7px;place-items:center;display:grid}.icon-button:hover{color:var(--omnivue-purple);border-color:#9b32f173}.ecosystem-form-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.device-summary-panel{position:sticky;top:12px}.device-summary-grid{gap:8px;display:grid}.device-summary-card{grid-template-columns:32px minmax(0,1fr);align-items:center;min-height:58px;padding:8px 10px}.device-summary-card>div{gap:3px;display:grid}.device-summary-title{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.device-summary-title span{color:var(--omnivue-ink);font-size:17px;font-weight:950;line-height:1}.device-summary-card strong{font-size:12px}.device-summary-card small{font-size:11px}.device-ecosystem-panel{grid-template-columns:minmax(320px,.35fr) minmax(0,.65fr);align-items:start;gap:14px;display:grid}.device-ecosystem-panel>.panel-heading,.device-ecosystem-panel>.import-template-panel{grid-column:1/-1}.device-ecosystem-panel .ecosystem-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecosystem-accordion{background:#fff;border:1px solid #d9e2ef;border-radius:8px;overflow:hidden}.ecosystem-accordion summary{cursor:pointer;min-height:42px;color:var(--omnivue-ink);align-items:center;gap:9px;padding:0 12px;font-weight:900;list-style:none;display:flex}.ecosystem-accordion summary::-webkit-details-marker{display:none}.ecosystem-form{background:0 0;border:0;border-top:1px solid #d9e2ef;border-radius:0;padding:12px}.ecosystem-form strong{color:var(--omnivue-ink);font-size:15px}.decoder-control-panel{background:#fff;border:1px solid #d9e2ef;border-radius:8px;max-height:720px;padding:12px;overflow:auto}.decoder-output-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.decoder-output-card{background:#fbfdff;border:1px solid #d9e2ef;border-radius:8px;gap:8px;padding:10px;display:grid}.decoder-output-card>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.decoder-output-card small,.push-history{color:var(--omnivue-muted);overflow-wrap:anywhere}.decoder-output-card select,.decoder-output-card input{min-height:34px;color:var(--omnivue-ink);background:#fff;border:1px solid #cfd7e6;border-radius:6px;padding:0 9px}.decoder-output-card label{gap:5px;display:grid}.decoder-scene-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr)) auto;align-items:end;margin-top:12px}.wall-scene-list{gap:8px;margin-top:10px;display:grid}.import-template-list small{overflow-wrap:anywhere}.compact-primary{min-height:36px;padding:0 12px}.save-scene-button{align-self:end;width:auto;min-width:130px}.import-template-panel{background:#fff;border:1px solid #d9e2ef;border-radius:8px;max-width:none;padding:12px}.import-template-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px;display:grid}.import-template-row{align-items:center}.import-template-row .inline-button{flex:none}.camera-admin-row .edge-select{max-width:280px}.edge-select{width:100%;min-height:34px;color:var(--omnivue-ink);font:inherit;background:#fff;border:1px solid #cfd7e6;border-radius:6px;padding:0 9px}.onvif-tools{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;grid-column:1/-1;gap:6px;padding:8px;display:flex}.onvif-tools .active-control{color:var(--omnivue-purple);border-color:#9b32f1b3}.onvif-result-list{flex-wrap:wrap;flex:100%;align-items:center;gap:6px;padding-top:4px;display:flex}.onvif-result-list>span{color:var(--omnivue-muted);text-transform:uppercase;flex:100%;font-size:11px;font-weight:850}.onvif-result-list small{color:var(--omnivue-muted)}.profile-chip{min-height:30px;color:var(--omnivue-purple);cursor:pointer;background:#fff;border:1px solid #9b32f13d;border-radius:4px;padding:0 10px;font-size:12px;font-weight:900}.profile-chip.preset{color:#166534;border-color:#16653433}.camera-discovery-panel{gap:12px;display:grid}.device-discovery-table-wrap{border:1px solid #d9e2ef;border-radius:8px;overflow-x:auto}.device-discovery-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1040px;font-size:13px}.discovery-select-col{width:5%}.discovery-address-col{width:19%}.discovery-protocol-col{width:8%}.discovery-info-col{width:34%}.discovery-id-col{width:24%}.discovery-action-col{width:10%}.device-discovery-table th,.device-discovery-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5e7eb;padding:10px 12px}.device-discovery-table th{color:var(--omnivue-muted);text-transform:uppercase;font-size:11px;font-weight:900}.device-discovery-table td{color:var(--omnivue-ink);overflow-wrap:anywhere}.device-discovery-table td:last-child,.device-discovery-table th:last-child{text-align:right}.discovery-use-button{white-space:nowrap;justify-content:center;min-width:82px}.device-discovery-table tr:last-child td{border-bottom:0}.timeline{background:linear-gradient(90deg,#9b32f11a,#d94fd514),repeating-linear-gradient(90deg,#0000,#0000 8%,#64748b2e 8.1%);border:1px solid #d9e2ef;border-radius:8px;height:54px;margin-bottom:10px;position:relative}.timeline-title{z-index:1;color:var(--omnivue-ink);pointer-events:none;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;display:flex;position:absolute;inset:0}.timeline-title strong{font-size:13px;font-weight:900}.timeline-title span{color:var(--omnivue-muted);font-size:12px;font-weight:700}.timeline-marker{z-index:2;cursor:pointer;border:2px solid #fff;border-radius:999px;width:18px;height:18px;position:absolute;top:17px;transform:translate(-50%);box-shadow:0 4px 12px #0f172a33}.timeline-marker.high,.timeline-marker.critical{background:#dc2626}.timeline-marker.medium{background:#d97706}.timeline-marker.low{background:#0284c7}.timeline-legend{color:var(--omnivue-muted);justify-content:space-between;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.camera-select-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:8px;align-items:flex-start;gap:12px;width:100%;min-width:0;padding:12px;display:flex}.camera-select-row.selected{border-color:var(--omnivue-purple);box-shadow:0 0 0 2px #9b32f129}.camera-select-row svg{color:var(--omnivue-purple);flex:none;margin-top:2px}.camera-select-row strong,.camera-select-row span{display:block}.camera-select-row span{color:var(--omnivue-muted);overflow-wrap:anywhere;margin-top:3px;font-size:13px}.camera-select-row .inline-edit{display:flex}.icon-danger{color:#b91c1c;background:#fff5f5;border:1px solid #fecaca}.compact-edit{white-space:nowrap;min-height:38px}.inline-edit{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.inline-edit input{min-height:34px;color:var(--omnivue-ink);font:inherit;border:1px solid #cfd7e6;border-radius:6px;padding:0 10px;font-weight:800}.inline-edit button{min-height:32px;color:var(--omnivue-ink);cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:6px;padding:0 9px;font-weight:800}.recording-row{color:inherit;text-decoration:none}.evidence-recording{align-items:stretch}.evidence-recording.selected{border-color:#9b32f1bd;box-shadow:0 0 0 1px #9b32f129}.recording-content{flex:auto;min-width:0}.recording-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.evidence-badges{flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto;display:flex}.evidence-badge{color:#075985;text-transform:uppercase;background:#e0f2fe;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:900}.evidence-badge.locked{color:#92400e;background:#fef3c7}.user-row{align-items:center}.admin-layout{grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);align-items:start;gap:14px;display:grid}.admin-layout .admin-side{grid-area:1/1;min-width:0}.admin-layout .audit-panel{grid-area:1/2;min-width:0}.user-access-editor{border:0;border-top:1px solid var(--border,#89939e);min-width:0;margin:8px 0;padding:16px 0}.user-access-editor legend{align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.user-access-editor .access-check{align-items:center;gap:10px;padding:9px 0;font-size:14px;display:flex}.user-access-editor input[type=checkbox]{flex:0 0 17px;width:17px;height:17px;min-height:0}.access-search{align-items:center;gap:8px;margin:12px 0;display:flex!important}.access-tree{max-height:360px;overflow:auto}.access-site{border-bottom:1px solid #88939e55;padding:6px 0}.access-check small{margin-left:auto;font-size:12px}.access-check strong,.access-check span{overflow-wrap:anywhere;min-width:0}.user-access-editor .access-camera{padding-left:27px}.access-summary,.access-empty{margin:12px 0;font-size:13px}@media (width<=800px){.admin-layout .admin-side,.admin-layout .audit-panel{grid-area:auto/1}.admin-layout .admin-side{order:-1}}.system-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;display:grid}.license-summary,.installer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.port-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.network-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.network-hint{color:var(--omnivue-muted);background:#f8fafc;border:1px solid #d9e2ef;border-radius:8px;margin-top:12px;padding:12px;font-size:13px;line-height:1.45}.lifecycle-backup-panel{min-height:360px}.lifecycle-backup-panel .field{gap:6px;min-width:0;margin-bottom:12px;font-size:13px;display:grid}.lifecycle-backup-panel .field input{box-sizing:border-box;border:1px solid var(--omnivue-border);background:var(--omnivue-panel);width:100%;min-width:0;min-height:38px;color:var(--omnivue-text);font:inherit;border-radius:6px;padding:8px 10px}.lifecycle-backup-panel input::file-selector-button{border:1px solid var(--omnivue-border);background:var(--omnivue-panel);color:var(--omnivue-text);border-radius:4px;margin-right:8px;padding:6px 8px}.lifecycle-scroll-list{max-height:280px;padding-right:2px;overflow-y:auto}.mobile-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.mobile-feature-grid div{background:#f8fafc;border:1px solid #d9e2ef;border-radius:8px;align-content:start;gap:5px;min-height:92px;padding:12px;display:grid}.mobile-feature-grid svg{color:#9b32f1}.mobile-feature-grid strong{font-size:14px}.mobile-feature-grid span{color:var(--omnivue-muted);font-size:12px;line-height:1.35}.license-summary div,.installer-card{background:#f8fafc;border:1px solid #d9e2ef;border-radius:8px;gap:5px;padding:12px;display:grid}.license-summary span,.installer-card span,.installer-card small,.lifecycle-row small{color:var(--omnivue-muted)}.license-summary strong{font-size:20px}.installer-card strong{font-size:15px}.lifecycle-row{align-items:center}.admin-side{gap:14px;display:grid}.audit-panel .audit-list{max-height:min(72vh,820px);padding-right:4px;overflow:auto}.admin-form-actions{flex-wrap:wrap;gap:8px;display:flex}.user-list-compact .user-row{grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:8px;display:grid}@media (width<=800px){.user-list-compact .user-row{grid-template-columns:34px minmax(0,1fr) auto}.user-list-compact .user-row>div{overflow-wrap:anywhere;grid-column:2/-1}.user-list-compact .user-row>button{grid-row:2}}.icon-only-button{justify-content:center;width:34px;padding:0!important}.audit-list{gap:10px;margin-top:18px;display:grid}.compact-heading{margin-top:8px}.audit-row{border:1px solid #d9e2ef;border-radius:8px;align-items:flex-start;gap:10px;padding:10px;display:flex}.audit-row svg{color:var(--omnivue-purple);flex:none}.audit-row strong,.audit-row span{display:block}.audit-row span{color:var(--omnivue-muted);margin-top:2px;font-size:13px}.stack-row svg,.recording-row svg{color:var(--omnivue-purple);flex:none;margin-top:2px}.stack-row strong,.stack-row span,.stack-row small,.recording-row strong,.recording-row span{display:block}.stack-row span,.stack-row small,.recording-row span{color:#64748b;overflow-wrap:anywhere;margin-top:3px}.stack-row small{font-size:12px}.empty{color:#64748b}@media (width<=1440px){.content{padding:20px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-metrics,.module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-command-layout{grid-template-columns:minmax(0,1fr) 340px}.camera-grid{grid-template-columns:repeat(var(--wall-columns,2), minmax(0, 1fr))}}@media (width<=1280px){.camera-grid.wall-8,.camera-grid.wall-9,.camera-grid.wall-13,.camera-grid.wall-16,.camera-grid.wall-20,.camera-grid.wall-25,.camera-grid.wall-36,.camera-grid.wall-64{--wall-columns:3!important}.stream-actions{gap:5px}.toolbar-select,.toolbar-range{min-height:32px;font-size:12px}.deployment-grid,.health-grid,.playback-camera-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1080px){.app-shell,.app-shell.nav-collapsed{grid-template-columns:1fr}.sidebar{z-index:10;padding:12px;position:sticky;top:0}.brand{justify-content:flex-start;min-height:auto;margin:0 0 10px;padding:8px 0}.brand-logo{width:min(190px,54vw)}.nav-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.nav-section{display:contents}.nav-section-title{display:none}.nav-item{justify-content:center;min-width:0;padding:0 8px;font-size:12px}.collapse-nav-button{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-command-layout{grid-template-columns:1fr}.overview-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ops-strip,.batch-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.health-bars{grid-template-columns:1fr}.topbar-brand-mark{width:144px}.topbar-brand-mark img{width:124px;padding:12px}.workspace-grid,.detail-grid,.integrations-grid,.map-page-grid,.camera-admin-grid,.device-ecosystem-panel,.nas-layout,.storage-section-grid,.admin-layout,.system-layout{grid-template-columns:1fr}.device-summary-panel{position:static}.camera-admin-grid>.panel,.camera-admin-grid>.device-summary-panel{min-height:0}.camera-admin-grid .camera-card-grid{max-height:none;overflow-y:visible}.device-ecosystem-panel .ecosystem-form-grid,.decoder-output-grid,.server-card-grid,.simple-card-grid,.discovery-toolbar,.nas-form,.server-manager-summary,.import-template-list{grid-template-columns:1fr}.camera-grid.wall-6,.camera-grid.wall-8,.camera-grid.wall-9,.camera-grid.wall-13,.camera-grid.wall-16,.camera-grid.wall-20,.camera-grid.wall-25,.camera-grid.wall-36,.camera-grid.wall-64{--wall-columns:2!important}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{justify-content:flex-start;width:100%;max-width:100%;display:flex;overflow:visible}.sync-pill,.logout-button{min-height:34px;padding:0 10px;font-size:12px}.onvif-replay-panel,.onvif-job{grid-template-columns:1fr;display:grid}}@media (width<=640px){.content{padding:16px}.topbar{flex-direction:column;align-items:flex-start}h1{font-size:24px}.topbar-title-block{gap:10px}.topbar-brand-mark{width:108px;height:54px;padding-right:10px}.topbar-brand-mark img{width:98px;padding:10px}.metric-grid,.camera-grid,.detail-list,.ops-strip,.module-grid,.batch-feature-grid,.deployment-grid,.health-grid,.storage-health-strip,.storage-section-grid,.entitlement-grid,.discovery-toolbar,.playback-camera-grid,.camera-form,.nas-form,.decoder-scene-form,.deployment-form{grid-template-columns:1fr}.compact-metrics,.ops-strip,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-section .module-grid{grid-template-columns:1fr}.overview-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.license-summary,.installer-grid,.mobile-feature-grid,.port-grid,.camera-grid{grid-template-columns:1fr}.panel{padding:14px}.topbar-logo{width:142px}.live-tabs,.stream-actions,.saved-views{flex-wrap:wrap;padding-bottom:0;overflow-x:visible}.wall-control-strip,.wall-control-more,.layout-button-row{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.mobile-hidden-control{display:none!important}.stream-actions button,.inline-button,.toolbar-select,.toolbar-range{flex:calc(50% - 6px);max-width:100%;min-height:30px}.toolbar-select,.toolbar-range{width:100%}.stream-actions .square-control{aspect-ratio:1;width:100%;min-width:0;height:auto;min-height:0}.toolbar-select.compact-select,.stream-mode-chip{grid-column:span 2;width:100%;min-height:38px}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-item{justify-content:flex-start;min-height:38px}.topbar-actions{display:flex}.topbar-menu{flex:none}.camera-admin-row{grid-template-columns:1fr}.camera-admin-row .edge-select{grid-column:auto}.ptz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{min-height:96px}.camera-meta{flex-direction:column;align-items:flex-start}.evidence-player-tools{opacity:0;pointer-events:none;border-radius:4px;flex-wrap:wrap;justify-content:flex-start;max-width:calc(100% - 20px);transition:opacity .16s,transform .16s;top:10px;left:10px;right:auto;transform:translateY(-4px)}.hls-frame.controls-visible .evidence-player-tools{opacity:.96;pointer-events:auto;transform:translateY(0)}.evidence-player-tools label span{display:none}.evidence-player-tools select{width:48px;padding:3px 4px}.clip-range-chip{border-radius:12px;line-height:1.25;bottom:86px}.datetime-timeline{padding:6px 8px}.timeline-meta{grid-template-columns:1fr;gap:2px}.timeline-meta span,.timeline-meta span:last-child,.timeline-meta strong{text-align:left;white-space:normal}.actions{flex-direction:column}.stream-actions button,.inline-button{flex:calc(50% - 6px);justify-content:center}}@media (width<=460px){.app-shell{padding-bottom:78px}.content{padding:12px}.sidebar{display:none}.brand-logo{width:min(178px,72vw)}.nav-list{grid-template-columns:1fr 1fr}.nav-item{min-height:36px;padding:0 8px;font-size:12px}.topbar-actions{display:flex}.sync-pill{min-height:28px;padding:0 8px;font-size:11px}.topbar-icon-button{width:30px;height:28px}.compact-metrics,.ops-strip,.module-grid{grid-template-columns:1fr}.mobile-shell-bar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172af0;border:1px solid #9b32f13d;border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px;display:grid;position:fixed;bottom:10px;left:10px;right:10px;box-shadow:0 18px 36px #0f172a47}.mobile-shell-bar button{color:#dbe5f5;cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;gap:2px;min-width:0;min-height:48px;font-size:11px;font-weight:800;display:grid}.mobile-shell-bar button.active{color:#fff;background:linear-gradient(135deg,#9b32f1,#d94fd5)}.stream-actions button,.inline-button,.toolbar-select,.toolbar-range{flex:100%}.wall-control-strip,.wall-control-more,.layout-button-row{grid-template-columns:repeat(3,minmax(0,1fr))}.tile-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-player-tools label,.evidence-player-tools button{min-height:24px;padding:0 6px;font-size:10px}}.sync-pill.warning{color:#fed7aa;background:#3a2517;border-color:#9a5a22}.warning-strip{background:#231a16;border:1px solid #5a351c;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.warning-strip div{background:#2f2118;border-color:#7c4a25}.settings-layout{gap:16px;display:grid}.local-settings-panel{gap:18px;display:grid}.settings-section-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.settings-card{border:1px solid var(--omnivue-line);background:#fff;border-radius:5px;gap:12px;min-width:0;padding:14px;display:grid}.settings-card legend{float:left;width:100%;color:var(--omnivue-ink);margin:0 0 10px;padding:0;font-size:13px;font-weight:900;line-height:1.2}.settings-card label{color:#475569;gap:6px;font-size:13px;font-weight:800;display:grid}.settings-card input,.settings-card select{width:100%;min-height:38px;color:var(--omnivue-ink);font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:0 10px}.settings-card .check-row{color:#1f2937;grid-template-columns:18px 1fr;align-items:center}.settings-card .check-row input{width:16px;min-height:16px;padding:0}.settings-actions{flex-wrap:wrap;gap:10px;padding-top:4px;display:flex}.operator-dark{--omnivue-ink:#fcfcfc;--omnivue-text:#fcfcfc;--omnivue-muted:#b7b9c5;--omnivue-border:#414653;--omnivue-line:#414653;--omnivue-panel:#252833;--omnivue-accent:#d49bff}.operator-dark .content{color:#f4f4f6;background:#1b1e27}.operator-dark .topbar,.operator-dark .panel,.operator-dark .module-card,.operator-dark .metric,.operator-dark .ops-strip,.operator-dark .health-bars-panel,.operator-dark .overview-side,.operator-dark .camera-tile,.operator-dark .ptz-panel,.operator-dark .map-accordion,.operator-dark .playback-camera,.operator-dark .onvif-replay-panel,.operator-dark .nvr-replay-player,.operator-dark .edge-recording-player,.operator-dark .listener-card,.operator-dark .stack-row{color:#f4f4f6;box-shadow:none;background:#252833;border-color:#414653}.operator-dark .page-subtitle,.operator-dark .panel-heading span,.operator-dark .camera-meta span,.operator-dark .stack-row span,.operator-dark .stack-row small,.operator-dark .metric span,.operator-dark .module-card span,.operator-dark .ops-strip span,.operator-dark .custom-file-control>span,.operator-dark .health-bars-heading span,.operator-dark .onvif-replay-panel span,.operator-dark .listener-card small,.operator-dark .timeline-title span,.operator-dark .usage-bar-row>div:first-child{color:#aab7c8}.operator-dark .metric strong,.operator-dark .ops-strip strong,.operator-dark .module-card strong,.operator-dark .overview-side-heading strong,.operator-dark .health-bars-heading strong,.operator-dark .playback-camera span,.operator-dark .map-accordion summary,.operator-dark .timeline-title strong,.operator-dark .listener-card strong,.operator-dark .usage-bar-row strong{color:#fcfcfc}.operator-dark .stream-actions button,.operator-dark .inline-button,.operator-dark .icon-button,.operator-dark .icon-danger,.operator-dark .topbar-icon-button,.operator-dark .toolbar-select,.operator-dark .toolbar-range,.operator-dark .playback-controls input,.operator-dark .playback-controls select,.operator-dark .camera-form input,.operator-dark .camera-form textarea,.operator-dark .camera-form select,.operator-dark .discovery-toolbar input,.operator-dark .discovery-toolbar select,.operator-dark .nas-form input,.operator-dark .nas-form select,.operator-dark .custom-file-control,.operator-dark .saved-views button,.operator-dark .live-tab-chip button,.operator-dark .live-tabs button,.operator-dark .tile-actions button,.operator-dark .tile-actions a,.operator-dark .recording-calendar button,.operator-dark .recording-actions button,.operator-dark .recording-actions a,.operator-dark .profile-chip,.operator-dark .edge-select,.operator-dark .decoder-output-card select,.operator-dark .decoder-output-card input,.operator-dark .settings-card input,.operator-dark .settings-card select{color:#f4f4f6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#323643;border-color:#4b5565}.operator-dark .settings-card,.operator-dark .ops-strip div,.operator-dark .overview-stat-card,.operator-dark .health-item,.operator-dark .server-card,.operator-dark .simple-info-card,.operator-dark .telemetry-table-wrap,.operator-dark .playback-camera.selected,.operator-dark .deployment-card,.operator-dark .onvif-tools,.operator-dark .camera-admin-row,.operator-dark .camera-select-row,.operator-dark .ecosystem-accordion,.operator-dark .decoder-control-panel,.operator-dark .decoder-output-card,.operator-dark .import-template-panel,.operator-dark .device-discovery-table-wrap,.operator-dark .network-hint,.operator-dark .license-summary div,.operator-dark .lifecycle-row{color:#f4f4f6;box-shadow:none;background:#2c303c;border-color:#414653}.operator-dark .camera-admin-row .camera-select-row,.operator-dark .ecosystem-accordion summary,.operator-dark .ecosystem-form,.operator-dark .import-template-row{color:#f4f4f6;background:#292d39;border-color:#414653}.operator-dark .telemetry-strip span,.operator-dark .info-chip,.operator-dark .overview-stat-icon{color:#cbd5e1;background:#323643;border-color:#475569}.operator-dark .section-title-row{border-color:#414653}.operator-dark .section-title-row h3,.operator-dark .simple-info-card strong,.operator-dark .server-card strong,.operator-dark .telemetry-table td{color:#fcfcfc}.operator-dark .section-title-row span,.operator-dark .simple-info-card span,.operator-dark .simple-info-card small,.operator-dark .server-card span,.operator-dark .server-card small,.operator-dark .telemetry-table td small,.operator-dark .status-dot-text,.operator-dark .telemetry-table th{color:#aab7c8}.operator-dark .telemetry-table th,.operator-dark .telemetry-table td{border-color:#414653}.operator-dark .telemetry-table-wrap{background:#2c303c}.operator-dark .vms-server-table .sticky-action-column,.operator-dark .service-table .sticky-action-column{background:#2c303c;box-shadow:-1px 0 #414653}.operator-dark .health-text.healthy{color:#4ade80}.operator-dark .health-text.warning{color:#fbbf24}.operator-dark .health-text.critical,.operator-dark .health-text.offline{color:#f87171}.operator-dark .device-summary-title span,.operator-dark .ecosystem-form strong,.operator-dark .decoder-output-card strong{color:#f4f4f6}.operator-dark .onvif-result-list>span,.operator-dark .onvif-result-list small,.operator-dark .edge-assignment-row,.operator-dark .decoder-output-card small,.operator-dark .push-history,.operator-dark .import-template-list small,.operator-dark .license-summary span,.operator-dark .lifecycle-row small,.operator-dark .device-discovery-table th{color:#94a3b8}.operator-dark .device-discovery-table td{color:#f4f4f6}.operator-dark .device-discovery-table th,.operator-dark .device-discovery-table td{border-color:#414653}.operator-dark .profile-chip.preset{color:#86efac;border-color:#4ade804d}.operator-dark .wall-control-strip,.operator-dark .wall-control-more{background:#94a3b80f;border-color:#414653}.operator-dark .overview-stat-card span,.operator-dark .module-section-heading h2{color:#9aa8ba}.operator-dark .overview-stat-card strong{color:#fcfcfc}.operator-dark .device-summary-card .device-summary-title span{color:#f4f4f6}.operator-dark .overview-side-divider{background:#414653}.operator-dark .timeline{background:linear-gradient(90deg,#9b32f12e,#d94fd51f),repeating-linear-gradient(90deg,#0000,#0000 8%,#94a3b82e 8.1%);border-color:#536179}.operator-dark .device-event-center{border-top-color:#536179}.operator-dark .onvif-job,.operator-dark .recording-row{color:#f4f4f6;background:#252833;border-color:#536179}.operator-dark .onvif-job.ready{background:#1665342e;border-color:#22c55e7a}.operator-dark .onvif-job.unsupported{background:#92400e2e;border-color:#f59e0b7a}.operator-dark .onvif-job.error{background:#7f1d1d33;border-color:#f8717185}.operator-dark .onvif-job code{color:#f4f4f6;background:#0f172a85}.operator-dark .map-panel{background:linear-gradient(#1f2937d1,#1f2937d1),linear-gradient(90deg,#e2e8f033 1px,#0000 1px) 0 0/28px 28px,linear-gradient(#e2e8f033 1px,#0000 1px) 0 0/28px 28px;border-color:#536179}.operator-dark .live-map.has-floor-image{background:#2c303c}.operator-dark .map-marker-label,.operator-dark .map-pin-actions{color:#fcfcfc;background:#0f172ae6;border-color:#e2e8f038}.operator-dark .map-pin-actions button{color:#fcfcfc;background:#ffffff14}.operator-dark .map-accordion{background:#2c303c}.operator-dark .custom-file-control button{color:#d8b4fe;background:#38234d;border-color:#a78bfa66}.operator-dark .evidence-badge{color:#bae6fd;background:#123044}.operator-dark .usage-bar-track{background:#303948}.operator-dark .settings-card legend,.operator-dark .settings-card .check-row,.operator-dark .settings-card label{color:#dbe5f5}.operator-dark .metric-icon,.operator-dark .module-icon{color:#d49bff;background:#38234d}.operator-dark .active-control,.operator-dark .nav-item.active{color:#fff;background:#9b32f13d;border-color:#9b32f1}.operator-dark .video-placeholder,.operator-dark .live-empty{color:#dbe5f5;background:#0d1118}.operator-dark .topbar{background:0 0;border-color:#2b3442}@media (width<=1180px){.settings-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.settings-section-grid{grid-template-columns:1fr}}
