/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:"Inter", "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-weight-bold:700;--tracking-widest:.1em;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.time-assurance-summary{border:1px solid var(--border-color);background:var(--bg-input);border-radius:.75rem;margin-bottom:1rem;padding:.85rem 1rem}.time-assurance-row{border-top:1px solid var(--border-color);grid-template-columns:minmax(11rem,1fr) minmax(10rem,.8fr) minmax(15rem,1.4fr);align-items:center;gap:1rem;padding:.85rem 0;display:grid}.time-status{letter-spacing:.04em;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:800;display:inline-block}.time-status-pass{color:#067647;background:#ecfdf3}.time-status-warning{color:#b54708;background:#fffaeb}.time-status-fail,.time-status-unavailable{color:#b42318;background:#fef3f2}@media (max-width:760px){.time-assurance-row{grid-template-columns:1fr;gap:.35rem}}:root{--bg-dark:#f8fafc;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-input:#f8fafc;--border-color:#e2e8f0;--border-accent:#1a73e866;--text-main:#0f172a;--text-body:#334155;--text-muted:#64748b;--text-label:#1e293b;--accent-blue:#1a73e8;--accent-purple:#8e24aa;--accent-green:#059669;--accent-amber:#d97706;--accent-red:#dc2626;--radius-lg:16px;--radius-md:10px;--shadow-card:0 4px 20px #0f172a0d;--shadow-glow:0 0 20px #1a73e833;--font-family:"Inter", sans-serif;--font-heading:"Outfit", sans-serif}body.dark-theme{--bg-dark:#0f172a;--bg-card:#1e293b;--bg-card-hover:#334155;--bg-input:#0f172a;--border-color:#334155;--border-accent:#3b82f680;--text-main:#f8fafc;--text-body:#e2e8f0;--text-muted:#94a3b8;--text-label:#e2e8f0;--accent-blue:#3b82f6;--accent-purple:#8b5cf6;--accent-green:#10b981;--accent-amber:#f59e0b;--accent-red:#ef4444;--shadow-card:0 4px 20px #0006}.management-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.management-settings-grid label{color:var(--text-label);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.management-settings-grid input{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input);width:100%;color:var(--text-main);padding:10px 12px}.management-settings-actions{grid-column:1/-1;align-items:center;gap:12px;display:flex}.storage-status-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:16px;display:grid}.wall-output-management{border-top:1px solid var(--border-color);margin-top:22px;padding-top:18px}.wall-output-row{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input);grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) auto auto;align-items:center;gap:10px;margin-top:8px;padding:10px;display:grid}.wall-output-status{font-size:11px;font-weight:800}.wall-output-status.ONLINE{color:var(--accent-green)}.wall-output-status.OFFLINE,.wall-output-status.NEVER_CONNECTED{color:var(--accent-red)}.storage-status-item{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input);padding:10px}@media (max-width:900px){.management-settings-grid{grid-template-columns:1fr}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-family);height:100vh;transition:background-color .3s,color .3s;overflow:hidden}:focus-visible{outline:3px solid var(--accent-blue)!important;outline-offset:2px!important;box-shadow:0 0 12px #1a73e899!important}.skip-link{background:var(--accent-blue);color:#fff;z-index:9999;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700;text-decoration:none;transition:top .2s;position:absolute;top:-60px;left:12px;box-shadow:0 4px 15px #0003}.skip-link:focus{top:12px}.control-room-alert-bar{color:#fff;z-index:200;background:linear-gradient(90deg,#dc2626,#ef4444);align-items:center;gap:12px;padding:10px 20px;font-size:13px;font-weight:700;animation:1s infinite alternate flash-bg;display:flex;position:relative;box-shadow:0 4px 15px #dc262666}.control-room-alert-bar[data-severity=HIGH]{background:linear-gradient(90deg,#b45309,#d97706);animation-duration:1.5s}.control-room-alert-bar[data-severity=CRITICAL]{background:linear-gradient(90deg,#991b1b,#dc2626)}.alert-camera-label{border-left:1px solid #ffffff73;padding-left:12px;font-weight:600}.camera-grid.emergency-takeover{border:3px solid var(--accent-red);border-radius:var(--radius-lg);animation:1.2s ease-in-out 3 emergency-outline;box-shadow:0 0 28px #dc262673}@keyframes emergency-outline{50%{box-shadow:0 0 50px #dc2626cc}}@keyframes flash-bg{0%{background:#dc2626}to{background:#991b1b}}.app-container{width:100vw;height:100vh;display:flex}.sidebar{background:var(--bg-card);border-right:1px solid var(--border-color);width:270px;box-shadow:var(--shadow-card);flex-direction:column;padding:24px 16px;transition:background-color .3s,border-color .3s;display:flex}.brand{align-items:center;gap:12px;margin-bottom:24px;padding-left:8px;display:flex}.brand-icon{background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));color:#fff;width:44px;height:44px;box-shadow:var(--shadow-glow);border-radius:12px;justify-content:center;align-items:center;font-size:22px;display:flex}.brand-text h2{font-family:var(--font-heading);letter-spacing:-.5px;color:var(--text-main);font-size:20px;font-weight:800}.brand-text h2 span{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#1a73e8,#8e24aa);-webkit-background-clip:text}.brand-text p{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.nav-menu{flex-direction:column;flex:1;gap:8px;display:flex}.nav-item{border-radius:var(--radius-md);color:var(--text-body);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.nav-item i{width:20px;color:var(--text-muted);font-size:16px;transition:color .2s}.nav-item:hover{background:var(--bg-card-hover);color:var(--accent-blue)}.nav-item:hover i{color:var(--accent-blue)}.nav-item.active{color:var(--accent-blue);border-left:4px solid var(--accent-blue);background:#1a73e814;font-weight:700}.user-management-layout{gap:18px;display:grid}.role-catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.role-card{border:1px solid var(--border-color);background:var(--bg-input);border-radius:12px;padding:14px}.role-card header{align-items:center;gap:9px;margin-bottom:7px;display:flex}.role-card header i{width:30px;height:30px;color:var(--accent-blue);background:var(--accent-blue);border-radius:9px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.role-card header i{background:color-mix(in srgb, var(--accent-blue) 11%, transparent)}}.role-card p,.user-password-policy{font-size:12px;line-height:1.55}.user-create-form{grid-template-columns:minmax(160px,1fr) minmax(220px,1.3fr) minmax(150px,.7fr) auto auto;align-items:end;gap:12px;display:grid}.user-enabled-field{white-space:nowrap;align-items:center;gap:8px;min-height:42px;flex-direction:row!important;display:flex!important}.user-enabled-field input{width:17px;height:17px}.user-password-policy{margin-top:10px}.user-directory-card{min-width:0}.user-table-wrap{overflow-x:auto}.user-management-table{min-width:980px}.user-management-table select{min-width:130px}.user-account-cell strong,.user-account-cell small{display:block}.user-account-cell small{color:var(--text-muted);margin-top:4px}.user-status-toggle{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.user-status-toggle input{width:17px;height:17px}.user-action-group{flex-wrap:wrap;gap:6px;min-width:280px;display:flex}.account-badge{border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.account-badge.ready{color:#047857;background:#d1fae5}.account-badge.pending{color:#92400e;background:#fef3c7}.user-camera-dialog{width:min(620px,100vw - 32px);max-height:min(760px,100vh - 40px);color:var(--text-main);border:1px solid var(--border-color);background:var(--bg-card);border-radius:16px;padding:0;box-shadow:0 28px 80px #0f172a42}.user-camera-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a94}.user-camera-dialog form{flex-direction:column;max-height:min(760px,100vh - 40px);display:flex}.user-camera-dialog-header,.user-camera-selection-tools,.user-camera-dialog-actions{align-items:center;gap:9px;padding:16px 18px;display:flex}.user-camera-dialog-header{border-bottom:1px solid var(--border-color);justify-content:space-between}.user-camera-selection-tools{padding-bottom:8px}.user-camera-checkboxes{gap:7px;padding:8px 18px 18px;display:grid;overflow-y:auto}.user-camera-option{border:1px solid var(--border-color);background:var(--bg-input);border-radius:9px;align-items:center;gap:10px;padding:10px 12px;display:flex}.user-camera-option input{width:17px;height:17px}.user-camera-option span{flex:1;justify-content:space-between;gap:12px;display:flex}.user-camera-dialog-actions{border-top:1px solid var(--border-color);justify-content:flex-end}@media (max-width:900px){.role-catalog,.user-create-form{grid-template-columns:1fr}}.nav-item .badge{background:var(--accent-blue);color:#fff;border-radius:12px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:700}.user-profile-badge{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:10px;margin-bottom:12px;padding:12px 14px;display:flex}.user-profile-badge i{color:var(--accent-blue);font-size:24px}.user-info{flex-direction:column;flex:1;display:flex;overflow:hidden}.user-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.user-role{color:var(--text-muted);font-size:11px;font-weight:500}.sidebar-status{background:var(--bg-input);border-radius:var(--radius-md);border:1px solid var(--border-color);align-items:center;gap:10px;padding:10px 12px;display:flex}.status-indicator{border-radius:50%;width:10px;height:10px}.status-indicator.online{background-color:var(--accent-green);box-shadow:0 0 10px var(--accent-green)}.status-info{flex-direction:column;display:flex}.status-title{color:var(--text-main);font-size:11px;font-weight:700}.status-sub{color:var(--text-muted);font-size:10px}.main-content{background:var(--bg-dark);flex-direction:column;flex:1;display:flex;overflow:hidden}.top-bar{background:var(--bg-card);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;padding:18px 28px;transition:background-color .3s,border-color .3s;display:flex}.header-title h1{font-family:var(--font-heading);color:var(--text-main);font-size:22px;font-weight:800}.header-title p{color:var(--text-muted);font-size:13px;font-weight:500}.header-controls{align-items:center;gap:14px;display:flex}.grid-selector{background:var(--bg-input);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:4px;display:flex}.grid-btn{color:var(--text-body);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.grid-btn:hover{color:var(--accent-blue)}.grid-btn.active{background:var(--accent-blue);color:#fff;font-weight:700;box-shadow:0 2px 8px #1a73e84d}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent-blue), #2563eb);color:#fff;box-shadow:0 4px 14px #1a73e859}.btn-primary:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 18px #1a73e880}.btn-secondary{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);box-shadow:0 2px 6px #0000000a}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--accent-blue);color:var(--accent-blue)}.btn-sm{padding:6px 12px;font-size:12px}.btn-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px;transition:all .2s}.btn-icon:hover{color:var(--accent-blue);background:var(--bg-card-hover)}.form-group{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.form-group label,label{margin-bottom:4px;font-size:12px;display:block;color:var(--text-label)!important;font-weight:700!important}select,input[type=date],input[type=text],input[type=password]{border-radius:var(--radius-md);font-size:13px;font-family:var(--font-family);width:100%;padding:10px 14px;font-weight:500;transition:border-color .2s,box-shadow .2s;background-color:var(--bg-input)!important;border:1px solid var(--border-color)!important;color:var(--text-main)!important}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231A73E8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important;background-position:right 12px center!important;background-repeat:no-repeat!important;padding-right:36px!important}select option{padding:10px;font-size:13px;font-weight:500;background-color:var(--bg-card)!important;color:var(--text-main)!important}select:focus,input:focus{outline:none;border-color:var(--accent-blue)!important;box-shadow:0 0 0 3px #1a73e833!important}.content-body{flex:1;padding:24px;overflow-y:auto}.tab-view{height:100%;display:none!important}.tab-view.active{display:block!important}#tab-live-grid.active{flex-direction:column;min-height:calc(100vh - 120px);display:flex!important}.camera-grid{gap:20px;height:100%;display:grid}.grid-layout-1{grid-template-columns:1fr}.grid-layout-4{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr)}.grid-layout-9{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr)}.grid-layout-16{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr)}.grid-layout-25{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr)}.grid-layout-36{grid-template-rows:repeat(6,1fr);grid-template-columns:repeat(6,1fr)}.wall-command-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.wall-profile-controls,.wall-actions{align-items:center;gap:8px;display:flex}.wall-command-bar label{white-space:nowrap;margin:0}.wall-command-bar select{width:auto;min-width:110px;padding-top:7px;padding-bottom:7px}.wall-command-bar input[type=text]{width:190px;padding-top:7px;padding-bottom:7px}.wall-check{align-items:center;gap:5px;display:inline-flex!important}.wall-page-status{color:var(--text-muted);text-align:center;min-width:72px;font-size:12px}#tab-live-grid:fullscreen{background:#020617;padding:12px}#tab-live-grid:fullscreen .wall-command-bar{margin-bottom:8px}#tab-live-grid:fullscreen .camera-grid{height:calc(100vh - 70px)}#tab-live-grid:not(.show-tools) .operations-overview,#tab-live-grid:not(.show-tools) .wall-command-bar{display:none!important}#tab-live-grid .camera-grid{flex:1;gap:12px;height:100%;padding:4px 0}#btn-toggle-wall-tools.active{background:var(--accent-blue)!important;color:#fff!important;border-color:var(--accent-blue)!important}body.wall-monitor-mode .sidebar,body.wall-monitor-mode .top-bar,body.wall-monitor-mode .wall-profile-controls,body.wall-monitor-mode #btn-wall-save,body.wall-monitor-mode #btn-wall-delete,body.wall-monitor-mode #btn-wall-monitor{display:none!important}body.wall-monitor-mode .app-container,body.wall-monitor-mode .main-content{width:100vw;height:100vh}body.wall-monitor-mode .content-body{padding:6px}body.wall-monitor-mode .wall-command-bar{justify-content:flex-end;margin-bottom:6px;padding:6px}body.wall-monitor-mode .camera-grid{gap:6px;height:calc(100vh - 58px)}.grid-layout-25 .cam-title,.grid-layout-36 .cam-title{padding:3px 8px;font-size:10px}.grid-layout-25 .camera-footer,.grid-layout-36 .camera-footer,.grid-layout-25 .cam-badges,.grid-layout-36 .cam-badges{display:none}@media (max-width:1300px){.wall-command-bar,.wall-profile-controls,.wall-actions{flex-wrap:wrap}}.camera-tile{border-radius:var(--radius-lg);background:#090d16;border:1px solid #ffffff14;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0006}.camera-tile[draggable=true]{cursor:grab;-webkit-user-select:none;user-select:none}.camera-tile[draggable=true]:active{cursor:grabbing}.camera-tile.dragging{opacity:.45;transform:scale(.98);border:2px dashed var(--accent-blue)!important;box-shadow:0 8px 25px #0003!important}.camera-tile.drag-over{background:#1a73e80d;transform:scale(1.01);border:2px solid var(--accent-blue)!important;box-shadow:0 0 20px #1a73e866!important}.drag-handle{transition:color .2s,transform .2s}.drag-handle:hover{transform:scale(1.25);color:var(--accent-blue)!important}.camera-tile:hover{border-color:#3b82f680;box-shadow:0 8px 30px #0009}.camera-header{z-index:10;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:10px;left:10px;right:10px;min-height:0!important;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.cam-title{pointer-events:auto;-webkit-backdrop-filter:blur(8px);color:#f8fafc;letter-spacing:.02em;background:#0f172ad1;border:1px solid #ffffff1f;border-radius:20px;align-items:center;gap:8px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:0 2px 10px #0000004d}.cam-title .drag-handle{opacity:.6;color:#94a3b8;font-size:11px}.live-dot{background-color:var(--accent-red);width:8px;height:8px;box-shadow:0 0 8px var(--accent-red);border-radius:50%}.live-dot.online{background-color:var(--accent-green);box-shadow:0 0 8px var(--accent-green)}.live-dot.offline{background-color:var(--accent-red);box-shadow:0 0 8px var(--accent-red)}.cam-badges{pointer-events:auto;opacity:0;align-items:center;gap:6px;transition:opacity .2s;display:flex}.camera-tile:hover .cam-badges{opacity:1}.cam-badges .btn-icon{-webkit-backdrop-filter:blur(8px);color:#cbd5e1;cursor:pointer;background:#0f172ad1;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;transition:background .15s,color .15s;display:flex}.cam-badges .btn-icon:hover{color:#fff;background:#3b82f6d9}.cam-badge{background:var(--bg-input);color:var(--text-body);border:1px solid var(--border-color);border-radius:6px;padding:3px 8px;font-size:10px;font-weight:600}.cam-badge.format,.cam-badge:not(.recording){display:none}.cam-badge.recording{-webkit-backdrop-filter:blur(8px);color:#fff;letter-spacing:.05em;background:#dc2626d9;border:1px solid #ef444466;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex;box-shadow:0 0 10px #dc262666}.ptz-device-panel{text-align:left;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px;margin-top:16px;padding:12px;display:grid}.ptz-device-panel .wall-check,.ptz-device-status,.ptz-mapping-details{grid-column:1/-1}.ptz-device-panel select,.ptz-device-panel input[type=number]{min-width:0}.ptz-mapping-details{border-top:1px solid var(--border-color);padding-top:8px}.ptz-mapping-details summary{cursor:pointer;font-weight:700}.ptz-mapping-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.ptz-mapping-grid label{font-size:11px}.ptz-mapping-grid input,.ptz-mapping-grid select{width:100%;margin-top:4px}@media (max-width:720px){.ptz-mapping-grid{grid-template-columns:1fr 1fr}}.ptz-tour-controls{justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.ptz-tour-controls label{margin:0}.ptz-tour-controls select{width:auto}.ptz-device-status{color:var(--text-muted);font-size:11px}.btn-danger{color:#fff;background:#b91c1c}.camera-viewport{z-index:1;background:#020617;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0;overflow:hidden}.camera-viewport video{object-fit:contain;background:#000;width:100%;height:100%}.camera-viewport canvas{object-fit:cover;width:100%;height:100%}.ai-overlay{-webkit-backdrop-filter:blur(8px);color:#10b981;z-index:12;background:#0f172ad9;border:1px solid #10b9814d;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:flex;position:absolute;top:46px;right:12px}.camera-footer{z-index:10;pointer-events:none;opacity:0;background:linear-gradient(#0000 0%,#0a0f1dd9 100%);border:none;justify-content:space-between;align-items:center;padding:24px 12px 10px;transition:opacity .2s;display:flex;position:absolute;bottom:0;left:0;right:0}.camera-tile:hover .camera-footer{opacity:1}.camera-footer>span{display:none}.camera-footer>div{pointer-events:auto;gap:6px;margin-left:auto;display:flex}.cam-action-btn{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-body);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .2s}.cam-action-btn:hover{color:var(--accent-blue);border-color:var(--accent-blue)}.cam-action-btn:disabled{cursor:wait;opacity:.72}.btn-record-toggle{min-width:116px}.btn-record-toggle.is-stopped{color:#047857;background:#10b9811a;border-color:#10b9818c}.btn-record-toggle.is-recording{color:#dc2626;background:#ef44441a;border-color:#ef44448c}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:background-color .3s,border-color .3s;overflow:hidden}.card-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-header h3{font-family:var(--font-heading);color:var(--text-main);font-size:16px;font-weight:700}.audit-table{border-collapse:collapse;width:100%;font-size:12px}.audit-table th,.audit-table td{text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-body);padding:12px 16px}.audit-table th{background:var(--bg-input);color:var(--text-main);font-weight:700}.audit-table tr:hover{background:var(--bg-card-hover)}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;width:100vw;height:100vh;padding:16px;display:none;position:fixed;top:0;left:0;overflow:hidden}.modal-backdrop.open{display:flex}.modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;width:480px;max-width:90%;max-height:calc(100dvh - 32px);transition:background-color .3s;display:flex;overflow:hidden;box-shadow:0 20px 50px #0f172a33}.modal-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);flex:none;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header h3{font-family:var(--font-heading);color:var(--text-main);font-size:18px;font-weight:800}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:20px}.modal-close:hover{color:var(--accent-red)}.modal-body{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;min-height:0;padding:24px;overflow-y:auto}.modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.person-search-card{margin-bottom:20px}.person-search-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.analytics-policy-form{border-bottom:1px solid var(--border-color);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px;margin-bottom:16px;padding-bottom:16px;display:grid}.analytics-policy-form label{color:var(--text-muted);gap:6px;font-size:12px;font-weight:600;display:grid}.analytics-policy-check{align-items:center;grid-template-columns:auto 1fr!important}.person-search-form label{color:var(--text-muted);gap:6px;font-size:12px;font-weight:600;display:grid}.person-search-form input,.person-search-form select{width:100%}.person-search-warning{border-left:3px solid var(--accent-yellow,#d97706);color:var(--text-main);background:#d9770614;margin:14px 0;padding:10px 12px;font-size:12px}.person-search-results{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.person-result-card{border:1px solid var(--border-color);background:var(--card-bg);border-radius:10px;grid-template-columns:140px 1fr;display:grid;overflow:hidden}.person-result-image{background:#020617;min-height:120px}.person-result-image img{object-fit:cover;width:100%;height:100%}.person-result-body{padding:12px}.person-result-heading{justify-content:space-between;gap:8px;font-size:12px;display:flex}.person-result-body p,.person-result-body small{color:var(--text-muted);font-size:11px}.person-candidate-label{color:var(--accent-yellow,#d97706);text-transform:uppercase;margin-top:8px;font-size:10px;font-weight:700}@media (max-width:640px){.person-result-card{grid-template-columns:1fr}}.site-map-canvas{border:1px solid var(--border-color);background-color:#0b1220;background-image:linear-gradient(#94a3b81f 1px,#0000 1px),linear-gradient(90deg,#94a3b81f 1px,#0000 1px);background-position:50%;background-size:32px 32px;border-radius:12px;min-height:560px;margin-top:18px;position:relative;overflow:hidden}.site-map-canvas.has-background{background-image:none}.site-map-plane{position:absolute;inset:0}.site-map-plane-empty{inset:0}.site-map-background{object-fit:fill;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.site-map-background-error{outline:2px solid #ef4444}.site-map-upload-help{margin:4px 0 8px;font-size:12px}.site-map-upload-actions{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.site-map-asset{color:#fff;text-align:center;cursor:pointer;background:#020617e6;border:2px solid #38bdf8;border-radius:9px;min-width:42px;padding:7px 9px;font-size:11px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 5px 18px #00000059}.site-map-drag-help{align-items:center;gap:8px;margin:16px 0 -8px;font-size:12px;display:flex}.site-map-asset.site-map-camera-draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;will-change:left, top}.site-map-asset.site-map-camera-draggable:hover,.site-map-asset.site-map-camera-draggable:focus-visible{border-color:#86efac;outline:3px solid #22c55e38}.site-map-asset.site-map-camera-draggable.is-dragging{z-index:5;cursor:grabbing;border-color:#f8fafc;box-shadow:0 10px 28px #00000080}.site-map-asset.site-map-camera-draggable.is-saving{cursor:progress;opacity:.78}.site-map-asset.site-map-camera-draggable.is-save-error{border-color:#ef4444;animation:.25s ease-in-out 2 alternate site-map-save-error}@keyframes site-map-save-error{to{transform:translate(-50%,-50%)scale(1.08)}}.site-map-asset.CAMERA{border-color:#22c55e}.site-map-asset.WALL_OUTPUT{border-color:#a78bfa}.site-map-asset.DOOR{border-color:#f59e0b}.site-map-asset.ALARM{border-color:#ef4444}.cam-badge.route-active{color:#86efac;border-color:#22c55e}.cam-badge.route-degraded{color:#fcd34d;border-color:#f59e0b}.assurance-control{align-items:start}.assurance-control input,.assurance-control select,.assurance-control textarea{width:100%;margin-bottom:6px}.assurance-control textarea{resize:vertical;min-height:72px}:root{--bg-dark:#f3f6fa;--bg-card:#fffffff5;--bg-card-hover:#f4f7fb;--bg-input:#f8fafc;--border-color:#dce3ec;--border-strong:#c6d0dd;--border-accent:#0b72e775;--text-main:#101827;--text-body:#344256;--text-muted:#6b778a;--text-label:#253247;--accent-blue:#0b72e7;--accent-purple:#6d5ce7;--accent-green:#059669;--accent-amber:#c66a08;--accent-red:#d92d3f;--radius-lg:14px;--radius-md:9px;--shadow-card:0 1px 2px #0f172a0a, 0 10px 28px #0f172a0e;--shadow-elevated:0 24px 60px #0f172a2e;--shadow-glow:0 0 0 1px #0b72e71f, 0 8px 28px #0b72e729;color-scheme:light}body.dark-theme{--bg-dark:#070b12;--bg-card:#0f1622f7;--bg-card-hover:#162235;--bg-input:#0b121e;--border-color:#243246;--border-strong:#33455e;--border-accent:#38a0ff99;--text-main:#f2f7fc;--text-body:#c8d4e3;--text-muted:#8493a8;--text-label:#d9e4f0;--accent-blue:#38a0ff;--accent-purple:#9b8cff;--accent-green:#27d59b;--accent-amber:#ffb547;--accent-red:#ff5e70;--shadow-card:0 1px 0 #ffffff06, 0 12px 30px #0000003d;--shadow-elevated:0 28px 80px #0009;--shadow-glow:0 0 0 1px #38a0ff33, 0 10px 32px #005cb83d;color-scheme:dark}html{background:var(--bg-dark);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}body{background:radial-gradient(circle at 72% -20%, #0b72e714, transparent 34%), var(--bg-dark);font-feature-settings:"cv02", "cv03", "cv04", "cv11"}body.dark-theme{background:radial-gradient(circle at 70% -18%,#1b77d624,#0000 34%),linear-gradient(135deg,#070b12 0%,#090f19 52%,#070b12 100%)}button,input,select,textarea{font:inherit}button,[role=button]{-webkit-tap-highlight-color:transparent}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.48}::selection{color:#fff;background:var(--accent-blue)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.app-container{isolation:isolate}.sidebar{background:var(--bg-card);width:240px;padding:18px 14px 14px}@supports (color:color-mix(in lab, red, red)){.sidebar{background:color-mix(in srgb, var(--bg-card) 92%, transparent)}}.sidebar{border-right-color:var(--border-color);-webkit-backdrop-filter:blur(24px)saturate(135%);backdrop-filter:blur(24px)saturate(135%);z-index:40;box-shadow:10px 0 35px #0f172a09}body.dark-theme .sidebar{box-shadow:12px 0 40px #00000038}.brand{border-bottom:1px solid var(--border-color);gap:11px;min-height:56px;margin-bottom:14px;padding:0 8px 12px}.brand-icon,.brand-icon img{border-radius:10px!important;width:40px!important;height:40px!important}.brand-text h2{letter-spacing:-.035em;font-size:18px}.brand-text p{letter-spacing:.16em;margin-top:2px;font-size:9px}.nav-menu{scrollbar-gutter:stable;gap:10px;min-height:0;padding:2px 2px 12px;overflow-y:auto}.nav-group{flex-direction:column;gap:3px;padding-bottom:8px;display:flex}.nav-group:not(:last-child){border-bottom:1px solid var(--border-color)}@supports (color:color-mix(in lab, red, red)){.nav-group:not(:last-child){border-bottom:1px solid color-mix(in srgb, var(--border-color) 72%, transparent)}}.nav-section-label,.header-eyebrow{--tw-font-weight:var(--font-weight-bold);font-size:10px;font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest);text-transform:uppercase}.nav-section-label{min-height:25px;color:var(--text-muted);align-items:center;padding:6px 11px 3px;line-height:1;display:flex}.nav-item{letter-spacing:-.005em;border:1px solid #0000;border-radius:9px;gap:11px;min-height:40px;padding:8px 11px;font-size:12.5px}.nav-item i{width:19px;font-size:14px}.nav-item:hover{border-color:var(--border-color);background:var(--bg-card-hover);transform:translate(2px)}.nav-item.active{box-shadow:inset 3px 0 0 var(--accent-blue);background:linear-gradient(90deg,#0b72e72b,#0b72e712);border:1px solid #0b72e733}.nav-item.active i{color:var(--accent-blue)}.nav-item .badge{text-align:center;min-width:22px;padding:2px 7px}.user-profile-badge,.sidebar-status{border-color:var(--border-color);background:var(--bg-input)}@supports (color:color-mix(in lab, red, red)){.user-profile-badge,.sidebar-status{background:color-mix(in srgb, var(--bg-input) 88%, transparent)}}.user-profile-badge{margin-top:6px;margin-bottom:8px;padding:10px 11px}.sidebar-status{padding:9px 11px}.status-indicator.online{box-shadow:0 0 0 4px var(--accent-green), 0 0 12px var(--accent-green)}@supports (color:color-mix(in lab, red, red)){.status-indicator.online{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-green) 15%, transparent), 0 0 12px color-mix(in srgb, var(--accent-green) 60%, transparent)}}.main-content{background:0 0;min-width:0}.top-bar{background:var(--bg-card);gap:20px;min-height:78px;padding:13px 22px}@supports (color:color-mix(in lab, red, red)){.top-bar{background:color-mix(in srgb, var(--bg-card) 90%, transparent)}}.top-bar{box-shadow:0 1px 0 var(--border-color);-webkit-backdrop-filter:blur(22px)saturate(130%);backdrop-filter:blur(22px)saturate(130%);z-index:30}.header-title{flex:360px;min-width:260px}.header-eyebrow{color:var(--accent-blue);margin-bottom:2px;display:block}.header-title h1{letter-spacing:-.03em;font-size:clamp(18px,1.45vw,23px);line-height:1.12}.header-title p{max-width:720px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11.5px;line-height:1.35;overflow:hidden}.header-controls{flex:0 auto;gap:8px}.command-clock{border-right:1px solid var(--border-color);text-align:right;min-width:88px;padding-right:12px;line-height:1;display:grid}.command-clock-label{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:700}.command-clock time{color:var(--text-main);font-variant-numeric:tabular-nums;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;font-weight:700}.sidebar-toggle{border:1px solid var(--border-color);width:39px;height:39px;color:var(--text-main);background:var(--bg-card);cursor:pointer;border-radius:9px;flex:0 0 39px;justify-content:center;align-items:center;display:none}.sidebar-scrim{display:none}.content-body{scrollbar-gutter:stable;padding:18px}.tab-view.active{animation:.18s ease-out view-enter}@keyframes view-enter{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.btn{letter-spacing:.005em;border:1px solid #0000;border-radius:8px;justify-content:center;gap:7px;min-height:36px;padding:8px 13px;font-size:11.5px;font-weight:700}.btn-primary{border-color:var(--accent-blue)}@supports (color:color-mix(in lab, red, red)){.btn-primary{border-color:color-mix(in srgb, var(--accent-blue) 72%, #000)}}.btn-primary{background:linear-gradient(180deg, var(--accent-blue), var(--accent-blue))}@supports (color:color-mix(in lab, red, red)){.btn-primary{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-blue) 88%, #fff), color-mix(in srgb, var(--accent-blue) 90%, #071a38))}}.btn-primary{box-shadow:inset 0 1px 1px #ffffff2e,0 6px 16px #0b72e733}.btn-primary:hover{opacity:1;filter:brightness(1.06);transform:translateY(-1px)}.btn-secondary{border-color:var(--border-color);background:var(--bg-card)}@supports (color:color-mix(in lab, red, red)){.btn-secondary{background:color-mix(in srgb, var(--bg-card) 92%, transparent)}}.btn-secondary{box-shadow:0 1px 1px #0f172a06}.btn-secondary:hover{border-color:var(--border-accent);background:var(--bg-card-hover)}.btn-sm{min-height:31px;padding:6px 10px;font-size:10.5px}.grid-selector{background:var(--bg-input);border-radius:9px;gap:2px;padding:3px}.grid-btn{border-radius:6px;min-height:29px;padding:5px 8px;font-size:10.5px}.grid-btn.active{background:var(--accent-blue);box-shadow:0 4px 12px #0b72e738}select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]){border-radius:8px;min-height:39px;font-size:12.5px;border-color:var(--border-color)!important;background-color:var(--bg-input)!important}textarea{color:var(--text-main);padding:10px 12px}select:hover,textarea:hover,input:not([type=checkbox]):not([type=radio]):not([type=range]):hover{border-color:var(--border-strong)!important}.wall-command-bar{border-color:var(--border-color);background:var(--bg-card);border-radius:11px;min-height:51px;padding:8px 10px}@supports (color:color-mix(in lab, red, red)){.wall-command-bar{background:color-mix(in srgb, var(--bg-card) 95%, transparent)}}#tab-live-grid{container:live-operations/inline-size}@container live-operations (max-width:1160px){.wall-command-bar{flex-direction:column;align-items:stretch}.wall-profile-controls,.wall-actions{flex-wrap:wrap;width:100%;min-width:0}.wall-actions{justify-content:flex-start}}.operations-overview{grid-template-columns:minmax(440px,.9fr) minmax(560px,1.35fr);gap:12px;margin-bottom:12px;display:grid}.operations-metrics,.operations-toolbar{border:1px solid var(--border-color);background:var(--bg-card);border-radius:11px;min-width:0}@supports (color:color-mix(in lab, red, red)){.operations-metrics,.operations-toolbar{background:color-mix(in srgb, var(--bg-card) 97%, transparent)}}.operations-metrics,.operations-toolbar{box-shadow:var(--shadow-card)}.operations-metrics{grid-template-columns:repeat(4,minmax(92px,1fr));display:grid;overflow:hidden}.operation-metric{border-right:1px solid var(--border-color);align-items:center;gap:9px;min-width:0;padding:10px 12px;display:flex}.operation-metric:last-child{border-right:0}.operation-metric>span:last-child{min-width:0;display:grid}.operation-metric strong{color:var(--text-main);font-family:var(--font-heading);font-variant-numeric:tabular-nums;font-size:17px;line-height:1}.operation-metric small{color:var(--text-muted);letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-top:4px;font-size:8.5px;font-weight:700;overflow:hidden}.operation-metric-icon{border-radius:8px;flex:0 0 29px;justify-content:center;align-items:center;width:29px;height:29px;font-size:11px;display:inline-flex}.operation-metric-icon.total{color:var(--accent-blue);background:var(--accent-blue)}@supports (color:color-mix(in lab, red, red)){.operation-metric-icon.total{background:color-mix(in srgb, var(--accent-blue) 11%, transparent)}}.operation-metric-icon.online{color:var(--accent-green);background:var(--accent-green)}@supports (color:color-mix(in lab, red, red)){.operation-metric-icon.online{background:color-mix(in srgb, var(--accent-green) 11%, transparent)}}.operation-metric-icon.recording{color:var(--accent-red);background:var(--accent-red)}@supports (color:color-mix(in lab, red, red)){.operation-metric-icon.recording{background:color-mix(in srgb, var(--accent-red) 10%, transparent)}}.operation-metric-icon.attention{color:var(--accent-amber);background:var(--accent-amber)}@supports (color:color-mix(in lab, red, red)){.operation-metric-icon.attention{background:color-mix(in srgb, var(--accent-amber) 12%, transparent)}}.operations-toolbar{align-items:center;gap:7px;padding:8px;display:flex}.operations-search{flex:250px;align-items:center;min-width:180px;position:relative;margin:0!important;display:flex!important}.operations-search>i{z-index:1;color:var(--text-muted);pointer-events:none;font-size:11px;position:absolute;left:11px}.operations-search input{width:100%;min-height:34px!important;padding:7px 36px 7px 31px!important}.operations-search kbd{border:1px solid var(--border-color);border-bottom-color:var(--border-strong);min-width:20px;color:var(--text-muted);background:var(--bg-card);text-align:center;pointer-events:none;border-radius:5px;padding:2px 5px;font-family:inherit;font-size:9px;line-height:1.3;position:absolute;right:8px}.operations-toolbar select{width:132px;min-height:34px;padding-block:7px;font-size:10.5px}.operations-result-count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:9.5px;font-weight:700}.operations-empty-state{border:1px dashed var(--border-strong);min-height:280px;color:var(--text-muted);background:var(--bg-card);border-radius:12px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;display:flex}@supports (color:color-mix(in lab, red, red)){.operations-empty-state{background:color-mix(in srgb, var(--bg-card) 86%, transparent)}}.operations-empty-state{text-align:center}.operations-empty-state>i{color:var(--accent-blue);margin-bottom:4px;font-size:25px}.operations-empty-state strong{color:var(--text-main);font-size:13px}.operations-empty-state span{margin-bottom:4px;font-size:11px}.camera-grid{gap:12px}.card{border-color:var(--border-color);background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px}.card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-glow)}.card-header{background:var(--bg-card);min-height:53px;padding:13px 16px}@supports (color:color-mix(in lab, red, red)){.card-header{background:color-mix(in srgb, var(--bg-card) 96%, var(--bg-input))}}.card-header h3{letter-spacing:-.015em;font-size:14px}.card-body{padding:16px}.audit-table{font-size:11.5px}.audit-table th{z-index:2;color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;font-size:9.5px;position:sticky;top:0}.audit-table th,.audit-table td{padding:10px 12px}.modal-backdrop{-webkit-backdrop-filter:blur(14px)saturate(80%);backdrop-filter:blur(14px)saturate(80%);background:#030811c2;padding:22px}.modal{border-color:var(--border-strong);width:min(520px,100vw - 32px);max-width:none;box-shadow:var(--shadow-elevated);border-radius:15px}.modal-lg{width:min(820px,100vw - 32px)}.modal-header{background:var(--bg-card);min-height:62px;padding:15px 19px}@supports (color:color-mix(in lab, red, red)){.modal-header{background:color-mix(in srgb, var(--bg-card) 96%, var(--bg-input))}}.modal-header h3{letter-spacing:-.02em;font-size:16px}.modal-body{padding:19px}.modal-close{border:1px solid #0000;border-radius:8px;width:34px;height:34px;line-height:1}.modal-close:hover{border-color:var(--accent-red)}@supports (color:color-mix(in lab, red, red)){.modal-close:hover{border-color:color-mix(in srgb, var(--accent-red) 28%, transparent)}}.modal-close:hover{background:var(--accent-red)}@supports (color:color-mix(in lab, red, red)){.modal-close:hover{background:color-mix(in srgb, var(--accent-red) 9%, transparent)}}#modal-login{background:radial-gradient(circle at 50% 10%,#2684eb4d,#0000 34%),linear-gradient(145deg,#040b16fa,#08192df7)}.modal-login-box{color:#172033;color-scheme:light;background:#fff;border:1px solid #ffffffb8;width:min(430px,100vw - 32px);overflow:hidden;box-shadow:0 0 0 1px #0f172a0a,0 32px 90px #0000008c}.modal-login-box .modal-header{background:linear-gradient(135deg,#f8fbff,#eef5fd);border-bottom:1px solid #dce7f2}.modal-login-box .modal-body{padding:26px}.login-header{align-items:center;gap:14px;padding:22px 26px;display:flex}.login-logo{object-fit:cover;border-radius:13px;width:52px;height:52px;box-shadow:0 8px 24px #0b72e73d}.login-header h3{font-family:var(--font-heading);letter-spacing:-.025em;font-size:20px;font-weight:800;color:#101827!important}.login-header h3 span{color:#0b72e7}.login-header p{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:11px}.modal-login-box .form-group{margin-bottom:16px}.modal-login-box label{font-size:12px;color:#253247!important}.modal-login-box label span{color:#7b8798;font-size:10px;font-weight:500}.modal-login-box input,.modal-login-box input:hover,.modal-login-box input:focus{opacity:1;width:100%;min-height:44px;color:#101827!important;caret-color:#0b72e7!important;-webkit-text-fill-color:#101827!important;background:#f8fafc!important;border:1px solid #c7d2df!important}.modal-login-box input::placeholder{opacity:1;color:#7b8798!important;-webkit-text-fill-color:#7b8798!important}.modal-login-box input:focus{background:#fff!important;border-color:#0b72e7!important;outline:none!important;box-shadow:0 0 0 3px #0b72e724!important}.modal-login-box input:-webkit-autofill{transition:background-color 9999s ease-out;-webkit-text-fill-color:#101827!important;caret-color:#0b72e7!important;border-color:#c7d2df!important;box-shadow:inset 0 0 0 1000px #f8fafc!important}.modal-login-box input:-webkit-autofill:hover{transition:background-color 9999s ease-out;-webkit-text-fill-color:#101827!important;caret-color:#0b72e7!important;border-color:#c7d2df!important;box-shadow:inset 0 0 0 1000px #f8fafc!important}.modal-login-box input:-webkit-autofill:focus{transition:background-color 9999s ease-out;-webkit-text-fill-color:#101827!important;caret-color:#0b72e7!important;border-color:#c7d2df!important;box-shadow:inset 0 0 0 1000px #f8fafc!important}.login-password-field{position:relative}.login-password-field input{padding-right:46px!important}.login-password-field button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:7px;width:34px;height:34px;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.login-password-field button:hover{color:#0b72e7;background:#e8f1fb}.login-security-note{color:#64748b;align-items:flex-start;gap:8px;margin:2px 0 14px;font-size:10.5px;line-height:1.45;display:flex}.login-security-note i{color:#0b72e7;margin-top:2px}.login-status{border-radius:8px;margin-bottom:12px;padding:9px 11px;font-size:11px;line-height:1.4;display:none}.login-status.is-error,.login-status.is-pending{display:block}.login-status.is-error{color:#b42318;background:#fef2f2;border:1px solid #fecaca}.login-status.is-pending{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.login-submit{justify-content:center;width:100%;min-height:44px;font-size:12.5px}.analytics-filter-bar,.playback-controls-bar{border-color:var(--border-color);background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:11px}.ai-governance-card{overflow:hidden}.ai-governance-header,.ai-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ai-governance-header p,.ai-section-heading p{margin:4px 0 0}.ai-health-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.ai-health-tile{border:1px solid var(--border-color);background:var(--bg-soft);border-radius:10px;flex-direction:column;gap:5px;min-width:0;padding:12px;display:flex}.ai-health-tile small{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.ai-health-tile strong{overflow-wrap:anywhere}.ai-safety-state{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9px;margin:10px 0 20px;padding:10px 12px;font-size:12px;font-weight:600}.ai-model-admin{border:1px solid var(--border-color);background:var(--bg-soft);border-radius:11px;margin:0 0 20px;padding:14px}.ai-model-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.ai-model-form label{color:var(--text-main);flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.ai-model-form .ai-model-digest,.ai-model-form .ai-model-wide{grid-column:1/-1}.ai-model-form textarea{resize:vertical}.ai-section-heading{margin:18px 0 10px}.ai-section-heading h4{margin:0}.ai-state{letter-spacing:.04em;border-radius:999px;align-items:center;width:max-content;padding:3px 7px;font-size:10px;font-weight:800;display:inline-flex}.ai-state.is-ready{color:#027a48;background:#ecfdf3}.ai-state.is-warning{color:#b54708;background:#fffaeb}.ai-state.is-danger{color:#b42318;background:#fef3f2}.ai-state.is-neutral{color:#475467;background:#f2f4f7}.ai-signed-label{color:#027a48;margin-top:5px;display:block}.ai-observation-review-list{gap:9px;display:grid}.ai-review-item{border:1px solid var(--border-color);background:var(--bg-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.ai-review-main{min-width:0}.ai-review-main>div{align-items:center;gap:8px;display:flex}.ai-review-main p{margin:6px 0}.ai-review-main small{color:var(--text-muted)}.ai-review-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.empty-state{border-color:var(--border-color);color:var(--text-muted)}@media (max-width:1500px){.top-bar{flex-wrap:wrap;align-items:flex-start}.header-controls{width:100%;padding-bottom:2px;overflow-x:auto}.header-title{max-width:calc(100% - 120px)}.operations-overview{grid-template-columns:1fr}@supports not (container-type:inline-size){.wall-command-bar{flex-direction:column;align-items:stretch}.wall-profile-controls,.wall-actions{flex-wrap:wrap;width:100%;min-width:0}.wall-actions{justify-content:flex-start}}}@media (max-width:1200px){.command-clock{display:none}.content-body{padding:14px}}@media (max-width:1024px){.sidebar{width:min(286px,100vw - 54px);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}body.sidebar-open .sidebar{transform:translate(0)}.sidebar-scrim{z-index:35;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#02060c9e;border:0;width:100vw;height:100vh;position:fixed;inset:0}body.sidebar-open .sidebar-scrim{display:block}.sidebar-toggle{display:inline-flex}.top-bar{padding:12px 14px}.header-title{max-width:calc(100% - 65px)}.operations-toolbar{flex-wrap:wrap}.operations-result-count{margin-left:auto}.ai-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-model-form{grid-template-columns:1fr}.ai-model-form .ai-model-digest,.ai-model-form .ai-model-wide{grid-column:auto}.ai-review-item{flex-direction:column;align-items:stretch}.ai-review-actions{justify-content:flex-start}}@media (max-width:720px){.top-bar{gap:10px}.header-title p{white-space:normal}.header-controls{gap:6px}.header-controls>.btn{white-space:nowrap}.content-body{padding:10px}.operations-metrics{grid-template-columns:repeat(2,minmax(120px,1fr))}.operation-metric:nth-child(2){border-right:0}.operation-metric:nth-child(-n+2){border-bottom:1px solid var(--border-color)}.operations-search,.operations-toolbar select{flex-basis:100%;width:100%}.operations-result-count{width:100%;margin:1px 0 2px}.wall-command-bar,.wall-profile-controls,.wall-actions{align-items:stretch}.wall-profile-controls,.wall-actions,.wall-command-bar input[type=text],.wall-command-bar select{width:100%}.grid-layout-4,.grid-layout-9,.grid-layout-16,.grid-layout-25,.grid-layout-36{grid-template-rows:none;grid-template-columns:1fr}.camera-tile{min-height:330px}.management-settings-actions{flex-direction:column;align-items:stretch}.modal-backdrop{align-items:flex-end;padding:8px}.modal{border-radius:16px 16px 10px 10px;width:100%;max-height:calc(100dvh - 16px)}}.integration-hero{background:radial-gradient(circle at 85% 15%,#2563eb29,#0000 34%),linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #bfdbfe;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;padding:26px;display:flex}.integration-hero h2{margin:4px 0 8px}.integration-hero p{max-width:780px;color:var(--text-muted);margin:0}.integration-security-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.integration-security-strip span{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);border-radius:12px;padding:12px 14px;font-size:12px;font-weight:700}.integration-security-strip i{color:#2563eb;margin-right:7px}.integration-layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:16px;margin-bottom:16px;display:grid}.integration-create-card,.integration-docs-card,.integration-test-card,.integration-receipts-card,.integration-directory-card{padding:20px}.integration-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.integration-form label{color:var(--text-main);gap:7px;font-size:12px;font-weight:700;display:grid}.integration-form textarea{resize:vertical;min-height:76px}.integration-form select[multiple]{min-height:132px}.integration-form-wide{grid-column:1/-1}.api-contract code,.integration-secret code,.integration-card code{overflow-wrap:anywhere;color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:9px 11px;font:600 12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.api-contract pre{color:#dbeafe;background:#0f172a;border-radius:12px;max-height:390px;padding:16px;overflow:auto}.api-contract pre code{white-space:pre;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.integration-secret{color:#78350f;background:#fffbeb;border:1px solid #f59e0b;border-radius:12px;gap:10px;margin-top:16px;padding:15px;display:grid}.integration-secret label{gap:5px;font-size:12px;font-weight:700;display:grid}.integration-secret p{margin:0;font-size:12px}.integration-directory{gap:12px;display:grid}.integration-card{border:1px solid var(--border-color);background:var(--bg-card);border-radius:14px;justify-content:space-between;gap:18px;padding:16px;display:flex}.integration-card-main{flex:1;min-width:0}.integration-card h4{margin:7px 0 4px;font-size:16px}.integration-card p{color:var(--text-muted);margin:0 0 8px;font-size:12px}.integration-card-meta{flex-wrap:wrap;gap:7px;margin-bottom:9px;display:flex}.integration-card-meta span{color:#1e40af;background:#eff6ff;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:700}.integration-state{text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.integration-state.enabled{color:#166534;background:#dcfce7}.integration-state.disabled{color:#991b1b;background:#fee2e2}.integration-card-actions{align-items:flex-start;gap:8px;display:flex}.integration-error{color:#b91c1c!important}.integration-receipts{gap:9px;max-height:470px;display:grid;overflow:auto}.integration-receipt{border:1px solid var(--border-color);background:var(--bg-card);border-radius:10px;padding:12px}.integration-receipt>div{justify-content:space-between;gap:10px;display:flex}.integration-receipt p{margin:5px 0;font-size:12px}.integration-receipt small{color:var(--text-muted)}body.dark-theme .integration-hero{background:radial-gradient(circle at 85% 15%,#3b82f62e,#0000 34%),linear-gradient(135deg,#172033,#111827);border-color:#334155}body.dark-theme .api-contract code,body.dark-theme .integration-card code{color:#dbeafe;background:#111827;border-color:#334155}body.dark-theme .integration-secret{color:#fde68a;background:#422006;border-color:#b45309}body.dark-theme .integration-card-meta span{color:#dbeafe;background:#1e3a8a}@media (max-width:980px){.integration-layout{grid-template-columns:1fr}.integration-security-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.integration-hero,.integration-card{flex-direction:column}.integration-security-strip,.integration-form{grid-template-columns:1fr}.integration-form-wide{grid-column:auto}.integration-card-actions{flex-wrap:wrap}}body.wall-monitor-mode .operations-overview{display:none!important}.firmware-page-intro{border:1px solid var(--border-color);background:linear-gradient(100deg, var(--accent-blue), var(--bg-card) 62%);border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:14px;padding:18px 20px;display:flex}@supports (color:color-mix(in lab, red, red)){.firmware-page-intro{background:linear-gradient(100deg, color-mix(in srgb, var(--accent-blue) 8%, var(--bg-card)), var(--bg-card) 62%)}}.firmware-page-intro{box-shadow:var(--shadow-card)}.firmware-page-intro h2{color:var(--text-main);font-family:var(--font-heading);letter-spacing:-.03em;margin:2px 0 5px;font-size:clamp(19px,1.6vw,25px)}.firmware-page-intro p{max-width:760px;color:var(--text-muted);font-size:12px;line-height:1.55}.firmware-safety-badge{border:1px solid var(--accent-green);flex:0 0 310px;align-items:center;gap:11px;max-width:330px;padding:11px 13px;display:flex}@supports (color:color-mix(in lab, red, red)){.firmware-safety-badge{border:1px solid color-mix(in srgb, var(--accent-green) 26%, var(--border-color))}}.firmware-safety-badge{color:var(--accent-green);background:var(--accent-green);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.firmware-safety-badge{background:color-mix(in srgb, var(--accent-green) 7%, var(--bg-card))}}.firmware-safety-badge>i{font-size:19px}.firmware-safety-badge span{color:var(--text-muted);font-size:9.5px;line-height:1.4;display:grid}.firmware-safety-badge strong{color:var(--text-main);font-size:11px}.hardware-summary-grid{grid-template-columns:repeat(7,minmax(72px,1fr));gap:8px;margin-bottom:14px;display:grid}.hardware-summary-item{border:1px solid var(--border-color);background:var(--bg-input);text-align:center;border-radius:9px;gap:3px;padding:10px;display:grid}.hardware-summary-item strong{color:var(--accent-blue);font-family:var(--font-heading);font-variant-numeric:tabular-nums;font-size:18px;line-height:1}.hardware-summary-item span{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:800}.hardware-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.hardware-category{border:1px solid var(--border-color);background:var(--bg-card);border-radius:10px;min-width:0;overflow:hidden}.hardware-category header{border-bottom:1px solid var(--border-color);background:var(--bg-input);justify-content:space-between;align-items:center;min-height:39px;padding:8px 11px;display:flex}.hardware-category h4{color:var(--text-main);font-size:11px;font-weight:800}.hardware-category h4 i{width:18px;color:var(--accent-blue)}.hardware-category header>span{min-width:22px;color:var(--accent-blue);background:var(--accent-blue);border-radius:999px;padding:2px 6px}@supports (color:color-mix(in lab, red, red)){.hardware-category header>span{background:color-mix(in srgb, var(--accent-blue) 9%, transparent)}}.hardware-category header>span{text-align:center;font-size:9px;font-weight:800}.hardware-category-items{max-height:235px;overflow-y:auto}.hardware-inventory-item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:10px;padding:9px 11px;display:flex}.hardware-inventory-item:last-child{border-bottom:0}.hardware-inventory-item>div{gap:2px;min-width:0;display:grid}.hardware-inventory-item strong{overflow-wrap:anywhere;color:var(--text-main);font-size:10.5px}.hardware-inventory-item small,.hardware-none{color:var(--text-muted);font-size:9px;line-height:1.45}.hardware-none{padding:13px 11px}.hardware-state{border:1px solid var(--border-color);color:var(--text-muted);text-transform:uppercase;border-radius:5px;flex:none;padding:2px 6px;font-size:8px;font-weight:800}#host-hardware-notice{margin-top:11px;font-size:9.5px}#firmware-management-module{border:1px solid var(--border-color);background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;margin-top:0;padding:0 16px 18px;overflow:hidden}#firmware-management-module>.card-header{margin-inline:-16px}#firmware-management-module>p{border-left:3px solid var(--accent-blue);background:var(--accent-blue);border-radius:0 8px 8px 0;margin:14px 0;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){#firmware-management-module>p{background:color-mix(in srgb, var(--accent-blue) 6%, var(--bg-card))}}#firmware-management-module>p{line-height:1.55}#firmware-management-module>.storage-status-grid{max-height:420px;padding:2px;overflow-y:auto}@media (max-width:820px){.firmware-page-intro{flex-direction:column;align-items:stretch}.firmware-safety-badge{flex-basis:auto;width:100%;max-width:none}.hardware-summary-grid{grid-template-columns:repeat(4,minmax(60px,1fr))}.hardware-inventory-grid{grid-template-columns:1fr}}.poi-governance-banner{border:1px solid var(--border-color);background:linear-gradient(115deg, var(--accent-purple), var(--bg-card) 62%)}@supports (color:color-mix(in lab, red, red)){.poi-governance-banner{background:linear-gradient(115deg, color-mix(in srgb, var(--accent-purple) 8%, var(--bg-card)), var(--bg-card) 62%)}}.poi-governance-banner{box-shadow:var(--shadow-card);border-radius:14px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:14px;padding:18px 20px;display:flex}.poi-governance-banner h2{font:800 clamp(20px, 1.7vw, 27px)/1.2 var(--font-heading);letter-spacing:-.03em;margin:3px 0 6px}.poi-governance-banner p{color:var(--text-muted);max-width:850px;font-size:12px;line-height:1.6}.poi-governance-guard{border:1px solid var(--accent-green)}@supports (color:color-mix(in lab, red, red)){.poi-governance-guard{border:1px solid color-mix(in srgb, var(--accent-green) 28%, var(--border-color))}}.poi-governance-guard{background:var(--accent-green)}@supports (color:color-mix(in lab, red, red)){.poi-governance-guard{background:color-mix(in srgb, var(--accent-green) 7%, var(--bg-card))}}.poi-governance-guard{color:var(--accent-green);border-radius:11px;align-items:center;gap:11px;min-width:270px;padding:12px 14px;display:flex}.poi-governance-guard i{font-size:22px}.poi-governance-guard span{color:var(--text-muted);font-size:10px;display:grid}.poi-governance-guard strong{color:var(--text-main);font-size:12px}.poi-workspace-grid{grid-template-columns:minmax(460px,1.3fr) minmax(360px,.9fr);gap:14px;margin-bottom:14px;display:grid}.poi-enrollment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.poi-enrollment-form label,.poi-search-form label{flex-direction:column;gap:6px;display:flex}.poi-enrollment-form input,.poi-enrollment-form select,.poi-enrollment-form textarea,.poi-search-form input,.poi-search-form select{border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-main);border-radius:9px;min-height:40px;padding:9px 11px}.poi-enrollment-form input[type=file]{padding:7px}.poi-wide{grid-column:1/-1}.poi-confirm{align-items:flex-start;flex-direction:row!important;font-weight:600!important}.poi-confirm input{width:17px;min-height:17px;margin-top:2px}.poi-search-form{gap:11px;display:grid}.poi-registry{gap:10px;display:grid}.poi-profile-card{border:1px solid var(--border-color);background:var(--bg-input);border-radius:11px;grid-template-columns:92px minmax(220px,1fr) minmax(220px,.8fr) auto;align-items:center;gap:13px;padding:12px;display:grid}.poi-profile-photo{border:1px solid var(--border-color);background:var(--bg-card);object-fit:cover;border-radius:10px;width:92px;height:92px}.poi-profile-placeholder{color:var(--text-muted);place-items:center;display:grid}.poi-profile-main p{margin:5px 0;font-size:12px}.poi-profile-main small,.poi-profile-authority small{color:var(--text-muted);line-height:1.5;display:block}.poi-profile-authority strong{margin-bottom:4px;font-size:11px;display:block}.poi-profile-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.poi-match-photo{object-fit:cover;border-radius:8px;width:96px;height:64px}@media (max-width:1100px){.poi-workspace-grid{grid-template-columns:1fr}.poi-profile-card{grid-template-columns:80px 1fr}.poi-profile-authority,.poi-profile-actions{grid-column:2;justify-content:flex-start}}@media (max-width:680px){.poi-governance-banner{flex-direction:column;align-items:stretch}.poi-governance-guard{min-width:0}.poi-enrollment-form{grid-template-columns:1fr}.poi-wide{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.service-status-banner{border:1px solid var(--border-color);background:linear-gradient(120deg, var(--accent-blue), var(--bg-card) 64%);border-radius:14px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:14px;padding:18px 20px;display:flex}@supports (color:color-mix(in lab, red, red)){.service-status-banner{background:linear-gradient(120deg, color-mix(in srgb, var(--accent-blue) 9%, var(--bg-card)), var(--bg-card) 64%)}}.service-status-banner{box-shadow:var(--shadow-card)}.service-status-banner h2{font:800 clamp(20px, 1.7vw, 27px)/1.2 var(--font-heading);letter-spacing:-.03em;margin:3px 0 6px}.service-status-banner p{max-width:820px;color:var(--text-muted);font-size:12px;line-height:1.6}.service-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.service-summary-card{gap:4px;padding:16px 18px;display:grid}.service-summary-card span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.service-summary-card strong{overflow-wrap:anywhere;color:var(--text-main);font-size:20px}.service-summary-attention{border-left:3px solid var(--accent-red)}.service-summary-good{color:var(--accent-green)!important}.service-summary-warning{color:var(--accent-amber)!important}.service-inventory-card{overflow:hidden}.service-inventory-header{align-items:center;gap:18px}.service-filter{border:1px solid var(--border-color);background:var(--bg-input);width:min(360px,100%);color:var(--text-muted);border-radius:9px;align-items:center;gap:8px;padding:0 11px;display:flex}.service-filter input{width:100%;min-height:38px;color:var(--text-main);background:0 0;outline:none}.service-table-wrap{max-height:min(58vh,680px);overflow:auto}.service-table{min-width:760px}.service-table thead{z-index:1;position:sticky;top:0}.service-name{align-items:center;gap:9px;display:flex}.service-name>div{gap:2px;display:grid}.service-name small{color:var(--text-muted);font-size:9px}.service-state-dot{background:var(--text-muted);border-radius:50%;flex:none;width:9px;height:9px}.service-state-dot.running{background:var(--accent-green);box-shadow:0 0 0 4px var(--accent-green)}@supports (color:color-mix(in lab, red, red)){.service-state-dot.running{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-green) 13%, transparent)}}.service-state-dot.failed{background:var(--accent-red);box-shadow:0 0 0 4px var(--accent-red)}@supports (color:color-mix(in lab, red, red)){.service-state-dot.failed{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-red) 13%, transparent)}}.service-state,.service-category{border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:800;display:inline-flex}.service-state.running{border-color:var(--accent-green)}@supports (color:color-mix(in lab, red, red)){.service-state.running{border-color:color-mix(in srgb, var(--accent-green) 35%, var(--border-color))}}.service-state.running{color:var(--accent-green)}.service-state.failed{border-color:var(--accent-red)}@supports (color:color-mix(in lab, red, red)){.service-state.failed{border-color:color-mix(in srgb, var(--accent-red) 35%, var(--border-color))}}.service-state.failed{color:var(--accent-red)}.service-failures-card{border-color:var(--accent-red);margin-top:14px}@supports (color:color-mix(in lab, red, red)){.service-failures-card{border-color:color-mix(in srgb, var(--accent-red) 35%, var(--border-color))}}.service-failure-list{gap:8px;padding:14px 16px 16px;display:grid}.service-failure-list article{border:1px solid var(--border-color);background:var(--bg-input);border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;display:grid}.service-failure-list article>div{gap:3px;display:grid}.service-failure-list small{color:var(--text-muted)}@media (max-width:820px){.service-status-banner,.service-inventory-header{flex-direction:column;align-items:stretch}.service-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-filter{width:100%}}.wifi-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0;display:grid}.wifi-status-item{border:1px solid var(--border-color);background:var(--bg-input);border-radius:9px;align-items:center;gap:10px;min-width:0;padding:11px 12px;display:flex}.wifi-status-item>i{width:18px;color:var(--accent-blue);text-align:center}.wifi-status-item>div{gap:3px;min-width:0;display:grid}.wifi-status-item strong,.wifi-status-item small{overflow-wrap:anywhere}.wifi-status-item small{color:var(--text-muted);font-size:9px;line-height:1.45}.wifi-scan-toolbar{align-items:flex-end;gap:10px;margin:14px 0 10px;display:flex}.wifi-scan-toolbar label{min-width:220px;color:var(--text-label);gap:6px;font-size:11px;font-weight:700;display:grid}.wifi-scan-toolbar select{border:1px solid var(--border-color);background:var(--bg-input);min-height:39px;color:var(--text-main);border-radius:8px;padding:8px 10px}.wifi-network-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:310px;margin-bottom:14px;display:grid;overflow-y:auto}.wifi-network-card{border:1px solid var(--border-color);background:var(--bg-input);border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;display:grid}.wifi-network-card.unsupported{opacity:.68}.wifi-network-card>div:nth-child(2){gap:3px;min-width:0;display:grid}.wifi-network-card strong,.wifi-network-card small{overflow-wrap:anywhere}.wifi-network-card small{color:var(--text-muted);font-size:9px}.wifi-network-signal{background:linear-gradient(to top, var(--accent-blue) var(--wifi-signal), var(--bg-card) var(--wifi-signal));border-radius:9px;place-items:center;width:32px;height:32px;display:grid}@supports (color:color-mix(in lab, red, red)){.wifi-network-signal{background:linear-gradient(to top, color-mix(in srgb, var(--accent-blue) 18%, transparent) var(--wifi-signal), var(--bg-card) var(--wifi-signal))}}.wifi-network-signal{color:var(--accent-blue)}.wifi-connect-form{border-top:1px solid var(--border-color);padding-top:14px}.wifi-workflow{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:2px;list-style:none;display:grid}.wifi-workflow li{border:1px solid var(--border-color);background:var(--bg-input);min-width:0;color:var(--text-muted);border-radius:9px;align-items:center;gap:8px;padding:9px 10px;font-size:10px;line-height:1.4;display:flex}.wifi-workflow strong{background:var(--accent-blue);color:#fff;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid}.wifi-check{align-self:end;align-items:center;min-height:40px;flex-direction:row!important}.wifi-check input{width:17px;height:17px}.wifi-wide{grid-column:1/-1}.wifi-form-actions{align-self:end}.wifi-transaction-actions{margin-top:12px}.wifi-transaction-actions input{min-width:min(360px,100%)}.wifi-security-note{border-left:3px solid var(--accent-green);background:var(--accent-green);border-radius:0 8px 8px 0;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 11px;display:flex}@supports (color:color-mix(in lab, red, red)){.wifi-security-note{background:color-mix(in srgb, var(--accent-green) 6%, var(--bg-card))}}.wifi-security-note{color:var(--text-muted);font-size:10px;line-height:1.5}.wifi-security-note i{color:var(--accent-green);margin-top:2px}@media (max-width:820px){.wifi-status-grid,.wifi-network-results{grid-template-columns:1fr}.wifi-scan-toolbar{flex-direction:column;align-items:stretch}.wifi-scan-toolbar label{width:100%}.wifi-workflow{grid-template-columns:1fr}}.storage-guidance{color:#1e3a5f;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.storage-guidance i{color:#1677d2;margin-top:3px}.archive-target-form{border:1px solid var(--border-color);background:#f8fafc;border-radius:12px;margin:12px 0 18px;padding:16px}.archive-target-form [hidden]{display:none!important}.archive-target-heading,.archive-target-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.archive-target-actions{justify-content:flex-start;margin-top:10px}.storage-target-error{color:#b42318;margin-top:6px;font-size:.82rem}.sync-playback-card{min-height:220px;overflow:hidden}#playback-sync-camera-select{min-height:120px}#synchronized-playback-workspace{margin-top:14px}#synchronized-playback-status{margin:10px 0}.investigation-timeline-card{margin-top:14px}.investigation-workspace textarea{min-height:84px}.investigation-timeline{gap:8px;max-height:520px;margin-top:12px;display:grid;overflow-y:auto}.investigation-timeline-item{border:1px solid var(--border-color);background:var(--bg-input);border-radius:10px;grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:10px;padding:11px 12px;display:grid}.investigation-timeline-item>i{width:30px;height:30px;color:var(--accent-blue);background:var(--accent-blue);border-radius:8px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.investigation-timeline-item>i{background:color-mix(in srgb, var(--accent-blue) 10%, var(--bg-card))}}.investigation-timeline-item small{color:var(--text-muted)}.investigation-timeline-item p{margin-top:5px;font-size:12px;line-height:1.5}.investigation-timeline-actions{gap:6px;display:flex}@media (max-width:760px){.investigation-timeline-item{grid-template-columns:30px 1fr}.investigation-timeline-actions{grid-column:2}}.ai-search-modal{color:#f8fafc;flex-direction:column;width:95%;max-width:920px;max-height:90vh;display:flex;background:#090d16!important;border:1px solid #ffffff1f!important;border-radius:16px!important;box-shadow:0 24px 70px #000000d9!important}.ai-search-modal .modal-body{flex-direction:column;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.ai-search-input-wrap{background:#0f172a;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:12px;padding:6px 14px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.ai-search-input-wrap:focus-within{border-color:var(--accent-blue);box-shadow:0 0 15px #3b82f640}.ai-search-input-wrap>i{color:#64748b;font-size:16px}.ai-search-input-wrap input[type=search]{color:#f8fafc;background:0 0;border:none;outline:none;flex:1;padding:8px 0;font-size:14px}.ai-search-filters-row{flex-wrap:wrap;align-items:center;gap:14px;padding-top:8px;display:flex}.ai-search-filters-row label{color:#94a3b8;align-items:center;gap:8px;margin:0;font-size:12px;display:flex}.ai-search-filters-row select,.ai-search-filters-row input{color:#f1f5f9;background:#0f172a;border:1px solid #ffffff1f;border-radius:8px;padding:6px 10px;font-size:12px}.ai-search-status{min-height:20px;font-size:12px}.ai-search-results-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:8px;display:grid}.ai-search-results-grid .person-result-card{background:#0f172a;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;transition:transform .2s,border-color .2s;display:flex;overflow:hidden}.ai-search-results-grid .person-result-card:hover{border-color:#3b82f666;transform:translateY(-2px)}.ai-search-results-grid .person-result-image{background:#020617;justify-content:center;align-items:center;height:160px;display:flex;overflow:hidden}.ai-search-results-grid .person-result-image img{object-fit:cover;width:100%;height:100%}.ai-search-results-grid .person-result-body{flex-direction:column;flex:1;gap:6px;padding:12px;display:flex}.btn-jump-to-playback{justify-content:center;width:100%;margin-top:8px}#btn-toggle-ai-mode.active{color:#c084fc;background:linear-gradient(135deg,#8e24aa2e,#3b82f638);border-color:#c084fc99;font-weight:600;box-shadow:0 0 12px #c084fc59}body.dark-theme #btn-toggle-ai-mode.active{color:#e9d5ff;background:linear-gradient(135deg,#a855f740,#3b82f640);border-color:#a855f7;box-shadow:0 0 15px #a855f773}.cam-badge.ai-active-badge{color:#a855f7;background:#8e24aa26;border:1px solid #c084fc66;align-items:center;gap:4px;font-weight:600;display:inline-flex}body.dark-theme .cam-badge.ai-active-badge{color:#d8b4fe;background:#a855f733;border-color:#c084fc80}.cam-action-btn.btn-ai-scan{color:#a855f7;border-color:#c084fc66;font-weight:500}.cam-action-btn.btn-ai-scan:hover{color:#7e22ce;background:#8e24aa26;border-color:#a855f7}body.dark-theme .cam-action-btn.btn-ai-scan{color:#c084fc}body.dark-theme .cam-action-btn.btn-ai-scan:hover{color:#f3e8ff;background:#a855f740}.vms-toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:10px;max-width:420px;display:flex;position:fixed;top:72px;right:24px}.vms-toast{pointer-events:auto;-webkit-backdrop-filter:blur(12px);border-radius:10px;align-items:flex-start;gap:12px;padding:12px 16px;font-size:13px;line-height:1.4;transition:opacity .25s,transform .25s;animation:.3s cubic-bezier(.16,1,.3,1) forwards vmsToastSlideIn;display:flex;box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #0003}.vms-toast.toast-hiding{opacity:0;transform:translate(30px)}.vms-toast-icon{flex-shrink:0;margin-top:1px;font-size:16px}.vms-toast-content{word-break:break-word;flex:1}.vms-toast-close{cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1;transition:opacity .15s}.vms-toast-close:hover{opacity:1}.vms-toast.toast-info{color:#f1f5f9;background:#0f172aeb;border:1px solid #60a5fa66}.vms-toast.toast-info .vms-toast-icon{color:#60a5fa}.vms-toast.toast-info .vms-toast-close{color:#94a3b8}.vms-toast.toast-success{color:#f1f5f9;background:#0f172aeb;border:1px solid #34d39980}.vms-toast.toast-success .vms-toast-icon{color:#34d399}.vms-toast.toast-success .vms-toast-close{color:#94a3b8}.vms-toast.toast-warning{color:#f1f5f9;background:#0f172aeb;border:1px solid #fbbf2480}.vms-toast.toast-warning .vms-toast-icon{color:#fbbf24}.vms-toast.toast-warning .vms-toast-close{color:#94a3b8}.vms-toast.toast-error{color:#f1f5f9;background:#0f172aeb;border:1px solid #f8717180}.vms-toast.toast-error .vms-toast-icon{color:#f87171}.vms-toast.toast-error .vms-toast-close{color:#94a3b8}@keyframes vmsToastSlideIn{0%{opacity:0;transform:translate(40px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.modal-xl{width:1100px;max-width:96vw}.smart-recording-modal{flex-direction:column;max-height:92vh;display:flex}.smart-zones-body{flex:1;padding:16px 22px 22px;overflow-y:auto}.smart-zones-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:20px;display:grid}@media (max-width:920px){.smart-zones-grid{grid-template-columns:1fr}}.zone-viewport-container{flex-direction:column;gap:10px;display:flex}.zone-viewport-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.zone-canvas-stage{aspect-ratio:16/9;border:1px solid var(--border-color,#334155);-webkit-user-select:none;user-select:none;cursor:crosshair;background:#020617;border-radius:8px;width:100%;position:relative;overflow:hidden}.zone-canvas-stage canvas{width:100%;height:100%;position:absolute;top:0;left:0}.zone-canvas-hint{color:#cbd5e1;pointer-events:none;z-index:10;background:#0f172ad9;border-radius:4px;padding:4px 10px;font-size:.78rem;position:absolute;bottom:8px;left:8px;box-shadow:0 2px 4px #0000004d}.zone-viewport-footer{justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.zone-settings-container{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#334155);border-radius:8px;padding:16px}.smart-zones-list{border:1px solid var(--border-color,#334155);background:#00000026;border-radius:6px;flex-direction:column;gap:6px;max-height:180px;padding:8px;display:flex;overflow-y:auto}.smart-zone-chip{color:var(--text-main,#f8fafc);background:#f59e0b1a;border-left:4px solid #f59e0b;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.85rem;display:flex}.smart-zone-chip.zone-privacy{background:#ef44441a;border-left-color:#ef4444}.smart-zone-chip .zone-chip-title{align-items:center;gap:6px;font-weight:600;display:flex}.smart-zone-chip .zone-chip-del{cursor:pointer;color:#ef4444;background:0 0;border:none;border-radius:4px;padding:2px 6px;transition:background-color .2s}.smart-zone-chip .zone-chip-del:hover{background:#ef444440}.btn-group{border-radius:6px;display:inline-flex;overflow:hidden}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.btn-group .btn:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.btn-group .btn.active{color:#fff;background:#0284c7;border-color:#0284c7}.cam-badge.badge-smart-rec{color:#0284c7;background:#0ea5e926;border:1px solid #0ea5e959;font-weight:600}.shortcuts-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 20px;margin-top:8px;display:grid}.shortcut-item{border-bottom:1px solid var(--border-color);color:var(--text-primary);justify-content:space-between;align-items:center;padding:8px 0;font-size:.86rem;display:flex}.shortcut-keys{align-items:center;gap:4px;display:inline-flex}kbd{color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-color);border-radius:5px;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:700;line-height:1.2;display:inline-block;box-shadow:0 1px 2px #00000026}.camera-viewport{position:relative;overflow:hidden}.camera-viewport.is-zoomed video{cursor:grab!important}.camera-viewport.is-zoomed.is-panning video{cursor:grabbing!important}.zoom-badge-pill{z-index:15;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f8fafc;pointer-events:auto;background:#0f172ae0;border:1px solid #ffffff2e;border-radius:20px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:600;transition:opacity .2s;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 4px 14px #00000073}.zoom-badge-pill .btn-zoom-reset{color:#fff;cursor:pointer;background:#ffffff38;border:none;border-radius:12px;padding:1px 7px;font-size:10px;transition:background .15s}.zoom-badge-pill .btn-zoom-reset:hover{background:#ef4444b3}.stream-diagnostics-hud{z-index:16;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#94a3b8;pointer-events:auto;background:#020617e6;border:1px solid #38bdf859;border-radius:8px;flex-direction:column;gap:4px;min-width:210px;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;display:flex;position:absolute;top:40px;left:10px;box-shadow:0 8px 24px #0000008c}.stream-diagnostics-hud .hud-title{color:#38bdf8;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;margin-bottom:3px;padding-bottom:3px;font-size:11.5px;font-weight:700;display:flex}.stream-diagnostics-hud .hud-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.stream-diagnostics-hud .hud-close:hover{color:#ef4444}.stream-diagnostics-hud .hud-row{justify-content:space-between;gap:12px;display:flex}.stream-diagnostics-hud .hud-val{color:#f8fafc;font-weight:600}.btn-cam-audio.is-unmuted{box-shadow:0 0 10px #10b98159;color:#10b981!important;background:#10b98147!important;border-color:#10b9818c!important}.playback-transport-group{background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:6px;padding:4px;display:inline-flex}.playback-transport-group .transport-btn{border-radius:6px;min-height:32px;padding:6px 10px;font-size:11.5px}.playback-transport-group .transport-btn:hover{background:var(--bg-card);color:var(--accent-blue)}.timeline-trim-bar{background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;margin:12px 0 8px;padding:8px 12px;display:flex}.timeline-trim-bar .trim-actions{align-items:center;gap:8px;display:flex}.trim-range-display{color:var(--text-primary);margin-left:8px;font-size:.82rem;font-weight:600}.timeline-activity-track-container{border:1px solid var(--border-color);background:#0f172a99;border-radius:6px;width:100%;height:28px;margin:14px 0 6px;position:relative;overflow:hidden}.timeline-activity-track{pointer-events:none;display:flex;position:absolute;inset:0}.timeline-segment-block{opacity:.9;border-radius:3px;position:absolute;top:4px;bottom:4px}.timeline-segment-block.continuous{background:#0284c7}.timeline-segment-block.motion{background:#f59e0b}.timeline-segment-block.alarm{z-index:2;background:#ef4444}.timeline-segment-block.ai{z-index:2;background:#a855f7}.timeline-trim-selection{pointer-events:none;z-index:3;background:#0ea5e947;border-left:2px solid #0284c7;border-right:2px solid #0284c7;position:absolute;top:0;bottom:0}.timeline-activity-track-container .timeline-slider{opacity:.4;cursor:pointer;z-index:4;width:100%;height:100%;margin:0;position:absolute;top:0;left:0}.timeline-activity-track-container .timeline-slider:hover{opacity:.7}.timeline-legend{color:var(--text-muted);align-items:center;gap:16px;margin-top:6px;font-size:.78rem;display:flex}.timeline-legend .legend-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.live-wall-wrapper{align-items:stretch;gap:12px;width:100%;min-height:0;display:flex;position:relative}.live-wall-wrapper .camera-grid{flex:auto;min-width:0}.live-events-panel{background:var(--bg-card);border:1px solid var(--border-color);width:320px;box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;flex:0 0 320px;max-height:calc(100vh - 230px);transition:width .25s;display:flex;overflow:hidden}.events-panel-header{border-bottom:1px solid var(--border-color);background:var(--bg-card);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.events-panel-header{background:color-mix(in srgb, var(--bg-card) 95%, var(--bg-input))}}.events-panel-title{color:var(--text-primary);align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.events-header-actions{align-items:center;gap:4px;display:flex}.events-filter-chips{border-bottom:1px solid var(--border-color);background:var(--bg-input);gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.event-chip{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:.76rem;font-weight:600;transition:all .15s;display:inline-flex}.event-chip.active{color:#fff;background:#0284c7;border-color:#0284c7}.chip-dot{border-radius:50%;width:6px;height:6px}.events-panel-list{flex-direction:column;flex:auto;gap:6px;padding:8px;display:flex;overflow-y:auto}.events-empty-state{text-align:center;padding:36px 16px;font-size:.85rem}.live-event-card{background:var(--bg-input);border:1px solid var(--border-color);cursor:pointer;border-left:3px solid #0284c7;border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;font-size:.82rem;transition:transform .1s,border-color .15s;display:flex}.live-event-card:hover{border-color:var(--border-accent);transform:translate(2px)}.live-event-card.event-alarm{background:var(--bg-input);border-left-color:#ef4444}@supports (color:color-mix(in lab, red, red)){.live-event-card.event-alarm{background:color-mix(in srgb, var(--bg-input) 92%, #ef4444)}}.live-event-card.event-motion{border-left-color:#f59e0b}.live-event-card.event-anpr{border-left-color:#10b981}.live-event-top{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.74rem;display:flex}.live-event-camera{color:var(--text-primary);font-weight:700}.live-event-desc{color:var(--text-primary);font-weight:600}.live-event-actions{gap:6px;margin-top:4px;display:flex}.live-event-action-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:2px 7px;font-size:.72rem}.live-event-action-btn:hover{color:#fff;background:#0284c7;border-color:#0284c7}@keyframes tilePulseGlow{0%{box-shadow:0 0 #0ea5e9b3}50%{box-shadow:0 0 0 8px #0ea5e900}to{box-shadow:0 0 #0ea5e900}}.camera-tile.tile-highlighted{animation:1s ease-in-out 3 tilePulseGlow;border-color:#0284c7!important}.site-map-fov-cone{pointer-events:none;transform-origin:0 0;z-index:5;transition:opacity .2s;position:absolute}.site-map-fov-cone svg{display:block;overflow:visible}.site-map-fov-cone path{fill:#0ea5e92e;stroke:#0ea5e98c;stroke-width:1.5px;stroke-dasharray:3 3}.site-map-canvas.hide-fov .site-map-fov-cone{display:none}@keyframes popoverScaleIn{0%{opacity:0;transform:translate(-50%,-90%)scale(.92)}to{opacity:1;transform:translate(-50%,-105%)scale(1)}}.site-map-video-popover{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:60;pointer-events:auto;background:#0f172af5;border:1px solid #38bdf873;border-radius:12px;width:320px;padding:10px;animation:.18s cubic-bezier(.16,1,.3,1) popoverScaleIn;position:absolute;box-shadow:0 16px 40px #000000a6,0 0 0 1px #ffffff0d}.popover-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;display:flex}.popover-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:.8rem;display:flex;overflow:hidden}.popover-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.1rem;line-height:1}.popover-close:hover{color:#fff}.popover-video-container{aspect-ratio:16/9;background:#020617;border-radius:8px;width:100%;position:relative;overflow:hidden}.popover-video{object-fit:contain;width:100%;height:100%;display:block}.popover-video-loading{color:var(--text-muted);background:#020617d9;justify-content:center;align-items:center;gap:6px;font-size:.75rem;display:flex;position:absolute;inset:0}.popover-meta{color:var(--text-muted);justify-content:space-between;margin-top:6px;font-size:.72rem;display:flex}.popover-actions{gap:6px;margin-top:8px;display:flex}.popover-actions .btn{text-align:center;flex:1;justify-content:center;padding:4px 6px;font-size:.72rem}@keyframes mapBeaconAlarmPing{0%{box-shadow:0 0 #ef4444f2}70%{box-shadow:0 0 0 20px #ef444400}to{box-shadow:0 0 #ef444400}}@keyframes mapBeaconMotionPing{0%{box-shadow:0 0 #f59e0bf2}70%{box-shadow:0 0 0 20px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}.site-map-asset.site-map-marker-alarm-pulse{background:#ef444440!important;border-color:#ef4444!important;animation:1.2s infinite mapBeaconAlarmPing!important}.site-map-asset.site-map-marker-motion-pulse{background:#f59e0b40!important;border-color:#f59e0b!important;animation:1.2s infinite mapBeaconMotionPing!important}.site-map-alarm-badge{letter-spacing:.05em;white-space:nowrap;pointer-events:none;z-index:20;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:800;animation:.2s ease-out popoverScaleIn;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.site-map-alarm-badge.badge-alarm{color:#fff;background:#ef4444;box-shadow:0 2px 8px #ef444499}.site-map-alarm-badge.badge-motion{color:#000;background:#f59e0b;box-shadow:0 2px 8px #f59e0b99}.live-wall-minimap-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:45;background:#0f172af0;border:1px solid #38bdf859;border-radius:10px;flex-direction:column;width:290px;height:200px;display:flex;position:absolute;bottom:16px;right:16px;overflow:hidden;box-shadow:0 10px 30px #0009}.minimap-header{color:var(--text-primary);background:#020617d9;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.74rem;font-weight:700;display:flex}.minimap-body{background:#0b1220;flex:1;position:relative;overflow:hidden}.minimap-body canvas{width:100%;height:100%;display:block}.evidence-export-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;margin-top:14px;padding:16px;box-shadow:0 4px 16px #0003}.evidence-export-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:10px;display:flex}.evidence-export-title{color:var(--text-primary);font-size:1rem;font-weight:700}.evidence-export-meta{color:var(--text-muted);margin-top:2px;font-size:.78rem}.evidence-export-status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:700}.evidence-export-status-badge.status-completed{color:#fff;background:#10b981}.evidence-export-status-badge.status-queued,.evidence-export-status-badge.status-building{color:#fff;background:#0ea5e9}.evidence-export-status-badge.status-failed{color:#fff;background:#ef4444}.evidence-artifact-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:.8rem}.evidence-artifact-table th,.evidence-artifact-table td{border-bottom:1px solid var(--border-color);text-align:left;padding:8px 10px}.evidence-artifact-table th{color:var(--text-muted);font-weight:600}.hash-pill{background:var(--bg-input);color:#38bdf8;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;border-radius:4px;max-width:180px;padding:2px 6px;font-family:ui-monospace,monospace;font-size:.72rem;display:inline-block;overflow:hidden}.stream-watchdog-table th,.stream-watchdog-table td{border-bottom:1px solid var(--border-color);padding:10px 14px}.stream-watchdog-table th{background:var(--bg-card);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.stream-watchdog-table tr:hover td{background:#ffffff05}.watchdog-status-pill{border-radius:12px;align-items:center;gap:6px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.watchdog-status-pill.healthy{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.watchdog-status-pill.recording{color:#0ea5e9;background:#0ea5e926;border:1px solid #0ea5e94d}.watchdog-status-pill.offline{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.incident-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;margin:12px 0;padding:16px;transition:box-shadow .2s,border-color .2s}.incident-card:hover{border-color:#475569}.incident-card.critical{border-left:5px solid #ef4444}.incident-card.high{border-left:5px solid #f97316}.incident-card.medium{border-left:5px solid #eab308}.incident-card.low{border-left:5px solid #3b82f6}.incident-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.incident-title-text{color:var(--text-main);font-size:1rem;font-weight:700}.incident-badge-group{align-items:center;gap:6px;display:flex}.incident-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.incident-badge.severity-critical{color:#ef4444;background:#ef444433;border:1px solid #ef444466}.incident-badge.severity-high{color:#f97316;background:#f9731633;border:1px solid #f9731666}.incident-badge.severity-medium{color:#eab308;background:#eab30833;border:1px solid #eab30866}.incident-badge.severity-low{color:#3b82f6;background:#3b82f633;border:1px solid #3b82f666}.incident-badge.status-open{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.incident-badge.status-acknowledged{color:#fb923c;background:#f9731626;border:1px solid #f973164d}.incident-badge.status-contained{color:#38bdf8;background:#0ea5e926;border:1px solid #0ea5e94d}.incident-badge.status-resolved{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.incident-badge.status-closed{color:#94a3b8;background:#64748b33;border:1px solid #64748b66}.incident-meta-row{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;margin-bottom:12px;font-size:.8rem;display:flex}.incident-meta-item{align-items:center;gap:5px;display:inline-flex}.sop-checklist-container{border:1px solid var(--border-color);background:#0f172a73;border-radius:6px;margin:10px 0;padding:12px}.sop-checklist-header{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.8rem;font-weight:700;display:flex}.sop-progress-pill{color:#38bdf8;background:#0ea5e926;border:1px solid #0ea5e94d;border-radius:10px;padding:2px 8px;font-size:.72rem}.sop-step-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sop-step-item{background:#ffffff05;border:1px solid #ffffff0d;border-radius:5px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.82rem;transition:background .15s;display:flex}.sop-step-item:hover{background:#ffffff0a}.sop-step-item.sop-step-completed{background:#10b9810f;border-color:#10b98133}.sop-step-left{flex:1;align-items:center;gap:8px;display:flex}.sop-step-number{color:#94a3b8;background:#94a3b826;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:700;display:inline-flex}.sop-step-completed .sop-step-number{color:#0f172a;background:#10b981}.sop-step-text{color:var(--text-main);line-height:1.35}.sop-step-completed .sop-step-text{color:#94a3b8;text-decoration:line-through}.sop-step-meta{color:#10b981;white-space:nowrap;font-size:.7rem}.incident-activities-box{border:1px solid var(--border-color);background:#0f172a80;border-radius:6px;margin-top:10px;padding:12px}.activity-timeline{flex-direction:column;gap:8px;max-height:220px;padding-right:4px;display:flex;overflow-y:auto}.activity-item{border-left:2px solid var(--accent-blue);background:#ffffff05;border-radius:0 4px 4px 0;gap:10px;padding:6px 8px;font-size:.78rem;display:flex}.activity-item.created{border-left-color:#38bdf8}.activity-item.status_change{border-left-color:#f59e0b}.activity-item.checklist_complete{border-left-color:#10b981}.activity-item.note{border-left-color:#818cf8}.activity-details{color:var(--text-main);flex:1}.activity-time{color:var(--text-muted);white-space:nowrap;font-size:.7rem}.incident-add-note-box{gap:8px;margin-top:8px;display:flex}.incident-add-note-box input{border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-main);border-radius:4px;flex:1;padding:6px 10px;font-size:.82rem}.timeline-bookmarks-layer{pointer-events:none;z-index:4;width:100%;height:100%;position:absolute;top:0;left:0}.timeline-bookmark-pin{cursor:pointer;pointer-events:auto;flex-direction:column;align-items:center;width:18px;height:36px;transition:transform .15s;display:flex;position:absolute;top:-18px;transform:translate(-50%)}.timeline-bookmark-pin:hover{z-index:10;transform:translate(-50%)scale(1.25)}.timeline-bookmark-pin i{filter:drop-shadow(0 2px 4px #0009);font-size:14px}.timeline-bookmark-pin.type-note i{color:#38bdf8}.timeline-bookmark-pin.type-incident i{color:#ef4444}.timeline-bookmark-pin.type-person i{color:#c084fc}.timeline-bookmark-pin.type-vehicle i{color:#f59e0b}.timeline-bookmark-pin.type-evidence i{color:#10b981}.timeline-bookmark-pin:after{content:"";background:#fff6;width:2px;height:16px;margin-top:1px}.ptz-btn{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:1.1rem;transition:all .1s;display:flex}.ptz-btn:active{filter:brightness(1.2);transform:scale(.92)}.ptz-dpad button{border-radius:8px}.ptz-dpad button[data-cmd=HOME]{color:#fff;background:#0b72e7}.grid-2x2{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px;display:grid}@media (max-width:768px){.grid-2x2{grid-template-columns:1fr}}.sync-playback-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.sync-playback-card video{aspect-ratio:16/9;object-fit:contain;background:#020617;width:100%}body:not(.active-tab-live-grid) #btn-toggle-carousel,body:not(.active-tab-live-grid) #grid-selector-box,body:not(.active-tab-live-grid) #btn-toggle-wall-tools,body:not(.active-tab-live-grid) #btn-wall-fullscreen-top,body:not(.active-tab-live-grid) #btn-open-ai-search,body:not(.active-tab-live-grid) #btn-open-shortcuts,body:not(.active-tab-live-grid) #btn-toggle-events-panel,body:not(.active-tab-live-grid) #btn-add-camera{display:none!important}.speed-controls{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:3px;padding:3px 6px;display:inline-flex}.speed-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:600;transition:all .15s}.speed-btn:hover{color:var(--text-main);background:#ffffff14}.speed-btn.active{color:#fff;background:var(--accent-blue,#2563eb)}#analytics-policy-health{grid-column:1/-1;margin-top:6px;font-size:12px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}