:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e3e7ed;background:#0b0e14;font-synthesis:none;font-size:13px;font-weight:400;--bg: #0b0e14;--panel: #10141c;--raised: #171c26;--border: #242a35;--muted: #8993a5;--green: #a7ed89;--green-dark: #1f3428;--red: #f27772;--amber: #eebf72;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:340px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--green)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:7px;background:#191e28;color:#d5dce7;min-height:36px;padding:8px 13px;cursor:pointer;text-decoration:none;font-weight:500;transition:background .15s,border-color .15s}button:hover,.button:hover{background:#252c38;border-color:#414b5c}button:disabled{opacity:.45;cursor:wait}button.primary,.primary{background:var(--green);color:#142215;border-color:var(--green);font-weight:650}button.primary:hover{background:#bdf7a5;border-color:#bdf7a5}.icon-button{border:0;background:transparent;width:32px;min-height:32px;padding:7px;flex-shrink:0;color:var(--muted);border-radius:5px}.icon-button.active,.icon-button:hover{color:#ecf0f4;background:#202631}.text-button{background:none;border:0;padding:8px 0;color:var(--green);font-size:12px}.text-button:hover{background:none;color:#d2ffbd}.muted{color:var(--muted)}.green{color:var(--green)}.mono{font-family:SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:650;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-1px;font-weight:570}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:14px;font-weight:600}small{font-size:11px;color:var(--muted)}svg{flex-shrink:0}input,select,textarea{width:100%;background:#0e121a;border:1px solid #303745;border-radius:6px;padding:10px 11px;color:#e1e7ed;min-width:0;min-height:39px}input::placeholder,textarea::placeholder{color:#667084}input[type=checkbox]{width:16px;height:16px;min-height:16px;accent-color:var(--green);margin:0;flex-shrink:0}label{display:flex;flex-direction:column;gap:8px;color:#bdc6d5;font-size:12px;font-weight:500}label small{font-weight:400;line-height:1.5}button,a{-webkit-tap-highlight-color:transparent}.app-shell{display:flex;min-height:100dvh}.rail{width:66px;flex-shrink:0;background:#0e1118;border-right:1px solid var(--border);display:flex;align-items:center;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:25}.rail-brand{width:42px;height:58px;background:none;border:0;color:var(--green);margin:0 0 26px}.rail-brand:hover{background:none}.rail-links{display:flex;flex-direction:column;gap:9px;width:100%;align-items:center}.rail-item{width:44px;min-height:44px;border:0;background:none;border-radius:8px;color:#747f92;position:relative}.rail-item.active{background:#223126;color:var(--green)}.rail-item.active:before{position:absolute;content:"";width:3px;left:-11px;top:12px;bottom:12px;background:var(--green);border-radius:2px}.rail-item span{display:none}.rail-bottom{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:9px;padding-bottom:18px}.avatar{width:31px;height:31px;border:1px solid #46503e;background:#273222;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#c9daba;font-weight:650;font-size:10px;flex-shrink:0}.main-shell{margin-left:66px;min-width:0;width:calc(100% - 66px)}.app-header{height:62px;padding:0 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:15px;background:#0e1219}.header-title{display:flex;align-items:center;gap:20px;font-size:12px;color:#c3cbd8}.wordmark{font-size:14px;letter-spacing:2.3px;font-weight:740;color:#f1f4f6}.wordmark>span{color:var(--green);font-size:23px;line-height:0}.header-slash{color:#414b5c;font-size:20px}.header-right{display:flex;align-items:center;gap:23px}.system-indicator{font-size:10px;color:#a5aebd;display:flex;align-items:center;gap:7px}.system-indicator i,.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#758092;flex-shrink:0}.system-indicator i,.status-dot.recording{background:var(--green);box-shadow:0 0 7px #a7ed8925}.status-dot.offline,.system-indicator i.warning{background:var(--red)}.status-dot.connecting,.status-dot.paused{background:var(--amber)}.header-clock{font-size:10px;color:#8490a2;display:flex;gap:14px}.header-clock span{color:#c2cbd9}.control-room{display:flex;min-height:calc(100dvh - 62px)}.sources-panel{width:217px;flex-shrink:0;background:#11151d;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 15px 17px;min-height:calc(100dvh - 62px)}.panel-heading{display:flex;align-items:center;gap:9px;margin-bottom:20px}.panel-heading h2{font-size:13px;font-weight:600;letter-spacing:0;margin:0}.subtle-count{border:1px solid #333b47;border-radius:4px;padding:1px 5px;font-size:10px;color:#9da8b9}.search-field{flex-direction:row;align-items:center;background:#181d26;border:1px solid #292f3b;border-radius:6px;gap:6px;padding:0 9px;color:#748096}.search-field input{background:none;border:0;padding:7px 0;font-size:11px;min-height:33px}.search-field>span{font-size:16px;color:#596376}.source-section-title{display:flex;align-items:center;justify-content:space-between;margin:19px 0 8px;color:#798498;font-size:9px;letter-spacing:1.2px;font-weight:600;height:23px}.tree-group{display:flex;align-items:center;gap:6px;font-size:11px;color:#b3becd;padding:7px 2px}.tree-group>span:last-child{margin-left:auto;color:#6f7d90;font-size:10px}.source-camera{display:flex;align-items:center;width:100%;min-height:53px;padding:9px 8px;gap:9px;text-align:left;border:1px solid transparent;background:none;border-radius:6px;margin:2px 0;cursor:grab}.source-camera>svg{color:#798ba0}.source-camera>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.source-camera small{display:block;font-size:9px;color:#78859a;margin-top:4px;font-weight:400}.source-camera.assigned{background:#1c2624;border-color:#304235}.source-camera.assigned>svg{color:#a2c995}.source-camera .status-dot{width:5px;height:5px}.source-tip{font-size:9px;color:#737f93;line-height:1.7;padding:12px 8px;margin:0}.layout-title{border-top:1px solid var(--border);padding-top:20px;height:36px;margin-top:16px}.layout-list>button,.saved-layout-row>button:first-child{width:100%;border:0;background:none;font-size:11px;text-align:left;justify-content:flex-start;padding:9px 8px;gap:9px;color:#929daf}.layout-list>button>span:first-of-type,.saved-layout-row>button>span:first-of-type{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-list button.selected-layout{color:var(--green);background:#1d2724}.layout-count{font-size:9px;opacity:.7}.saved-layout-row{display:flex;position:relative}.saved-layout-row>button:first-child{padding-right:26px}.delete-layout{position:absolute;right:0;top:4px;opacity:0;width:24px}.saved-layout-row:hover .delete-layout,.saved-layout-row:focus-within .delete-layout{opacity:1}.source-storage{margin-top:auto;padding-top:32px}.source-storage>div:first-child{display:flex;gap:7px;align-items:center;color:#909db0;font-size:10px}.source-storage strong{font-size:10px;font-weight:500;flex:1}.source-storage small{display:block;font-size:9px;margin-top:8px;color:#8a97a9}.storage-meter{height:4px;border-radius:3px;background:#29303a;overflow:hidden;margin-top:12px}.storage-meter>span{display:block;height:100%;background:var(--green);min-width:1px;border-radius:3px}.rotation-active{display:flex;gap:5px;align-items:center;font-size:9px;color:#819779;margin-top:15px}.monitor-main{min-width:0;flex:1;padding:27px 23px 0;display:flex;flex-direction:column;min-height:calc(100dvh - 62px)}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.workspace-heading .eyebrow{font-size:8px;color:#839086}.workspace-heading h1{font-size:27px;margin:8px 0 7px;display:flex;align-items:center;gap:11px}.live-heading-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}.workspace-heading p{font-size:11px;color:#8490a1;margin:0;line-height:1.5}.save-layout{font-size:10px;min-height:33px;padding:7px 10px;background:#11161e}.view-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:15px}.mode-tabs{display:flex;border:1px solid #2b323e;background:#10151d;border-radius:7px;padding:3px;gap:2px}.mode-tabs button{background:none;border:0;min-height:29px;padding:7px 11px;font-size:10px;color:#8d99ac;border-radius:4px;white-space:nowrap}.mode-tabs button.active{background:#2a342b;color:#c9edb7}.toolbar-spacer{flex:1}.grid-switcher{display:flex;gap:3px;align-items:center}.grid-switcher button{border:1px solid transparent;background:none;min-height:28px;width:29px;padding:7px;border-radius:4px}.grid-switcher button.active{background:#233125;border-color:#3f5d38;color:var(--green)}.grid-symbol{display:grid;gap:2px;width:14px;height:14px;grid-template-columns:repeat(2,1fr)}.grid-symbol i{border:1px solid currentColor;border-radius:1px;min-width:0}.grid-1{grid-template-columns:1fr}.grid-9{grid-template-columns:repeat(3,1fr);gap:1px}.grid-16{grid-template-columns:repeat(4,1fr);gap:1px}.toolbar-divider{height:18px;width:1px;background:#29313b}.export-button{color:#c4d6b9;background:#233023;border:1px solid #3a4c32;font-size:10px;min-height:32px;padding:7px 11px}.export-button:hover{background:#31452b}.grid-status{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.7px;color:#858fa1;margin-bottom:9px;gap:10px}.grid-status>div,.grid-status>span{display:flex;align-items:center;gap:7px}.grid-status>span{font-size:9px;letter-spacing:0}.grid-status-divider{color:#3f4756;margin:0 4px}.grid-status .status-dot{height:5px;width:5px}.camera-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:1;min-height:320px;background:#0b0e14}.camera-grid.cameras-1{grid-template-columns:1fr}.camera-grid.cameras-9{grid-template-columns:repeat(3,minmax(0,1fr))}.camera-grid.cameras-16{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-slot{min-width:0;min-height:130px;display:flex}.camera-tile,.empty-tile{position:relative;overflow:hidden;border:1px solid #282f3c;border-radius:5px;width:100%;height:100%;min-height:160px;background:#10151d}.camera-tile.selected,.empty-tile.selected{border-color:#81ac67;box-shadow:inset 0 0 0 1px #81ac6710}.camera-tile video{width:100%;height:100%;object-fit:contain;position:absolute;top:0;right:0;bottom:0;left:0;background:#080b0f}.tile-top,.tile-bottom{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:2}.tile-top{top:0;padding:11px 11px 20px;background:linear-gradient(#080d18d9,#080d1800)}.tile-name{display:flex;gap:8px;font-size:10px;color:#f1f3f6;align-items:center;min-width:0}.tile-name>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 4px #000}.channel-number{font-family:monospace;background:#0e152095;border:1px solid #c2cddd40;border-radius:3px;padding:2px 3px;color:#c9d1de;font-size:8px;flex-shrink:0}.record-pill{font-family:monospace;font-size:8px;background:#21181fc9;border:1px solid #9d56564d;border-radius:3px;padding:3px 5px;display:flex;align-items:center;gap:4px;color:#f3948e;letter-spacing:.3px}.record-pill i{width:4px;height:4px;background:#f6827b;border-radius:50%}.record-pill.neutral{color:#afbdd0;border-color:#8795a040;background:#101824b0}.record-pill.neutral i{background:#8897a9}.audio-warning-badge{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:3px 5px;border-radius:4px;background:#211d12dc;color:#e4c581;font-size:10px;white-space:nowrap}.phone-monitor .audio-warning-badge>span{display:none}.tile-bottom{bottom:0;padding:20px 10px 7px;background:linear-gradient(#080d1800,#080d18c9);color:#ccd5e1;font-size:8px;letter-spacing:.3px}.tile-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;min-width:0;gap:1px;opacity:0;transition:opacity .15s}.camera-tile:hover .tile-actions,.camera-tile:focus-within .tile-actions{opacity:1}.tile-actions button{flex-shrink:0;color:#c4d0df;width:25px;min-height:25px;padding:5px}.tile-actions .zoom-reset{display:inline-flex;align-items:center;gap:4px;width:auto;font-size:11px;padding:3px 6px}.camera-tile.image-zoomed{cursor:grab}.camera-tile.image-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.tile-bottom>.mono{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-message{position:absolute;top:40px;right:12px;bottom:34px;left:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;pointer-events:none}.tile-message>svg{color:#617188}.tile-message strong{font-size:11px;font-weight:450;color:#b0bcce;max-width:260px;line-height:1.5}.tile-message>span:not(.loading-spinner){font-size:9px;color:#8492a7;max-width:260px;line-height:1.5}.tile-message button{pointer-events:auto}.empty-tile{display:flex;flex-direction:column;gap:7px;color:#526078;background-image:radial-gradient(#33405248 .7px,transparent .7px);background-size:14px 14px;padding:30px 10px}.empty-tile:hover{background-color:#151d26;border-color:#6b875b}.empty-channel{position:absolute;left:11px;top:12px;font-family:monospace;font-size:9px;color:#5d6b81}.empty-tile-icon{border:1px dashed #526144;border-radius:9px;width:43px;height:43px;display:flex;align-items:center;justify-content:center;color:#8ba67a;background:#172019;margin-bottom:5px}.empty-tile strong{font-size:11px;font-weight:450;color:#8795a9}.empty-tile>span:not([class]){font-size:9px;color:#606e84}.tile-corner{position:absolute;width:12px;height:12px;border-color:#758f5b4d;border-style:solid}.tile-corner.top-left{left:26px;top:27px;border-width:1px 0 0 1px}.tile-corner.bottom-right{right:26px;bottom:27px;border-width:0 1px 1px 0}.cameras-9 .camera-tile,.cameras-9 .empty-tile,.cameras-16 .camera-tile,.cameras-16 .empty-tile{min-height:125px}.cameras-16 .tile-name{font-size:9px}.cameras-16 .record-pill{display:none}.cameras-16 .empty-tile-icon{width:27px;height:27px}.cameras-16 .empty-tile>span:not([class]){display:none}.cameras-16 .tile-corner{display:none}.cameras-16 .tile-message>span:not(.loading-spinner){display:none}.cameras-16 .tile-message strong{font-size:9px}.timeline-panel{background:#11161e;border:1px solid #2b3340;border-radius:6px;margin-top:17px;overflow:hidden;flex-shrink:0}.playback-controls{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:10px 12px;border-bottom:1px solid #252d39}.transport{display:flex;align-items:center;gap:3px}.transport>.icon-button{width:25px;min-height:28px;padding:5px}.play-button{width:30px;min-height:29px;padding:6px;background:#273629;border:1px solid #40553a;color:#b8e49f;border-radius:5px}.speed-select{font-size:10px;min-height:26px;padding:4px 2px 4px 7px;width:47px;background:none;border:0;color:#adbbd0}.control-divider{height:16px;width:1px;background:#30394a;margin:0 8px}.sync-badge{color:#92b386;display:flex;gap:5px;align-items:center;font-size:9px;white-space:nowrap}.playback-time-controls{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0}.playback-clock{color:#c6e6b5;font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap;flex-shrink:0}.date-control{display:flex;flex-direction:row;gap:7px;align-items:center;color:#8c9cb3;min-width:0}.date-control input{min-width:0;font-size:10px;min-height:29px;padding:4px 6px;width:191px;background:#181e28;color:#afbed2;border-color:#2b3647}.zoom-controls{display:flex;align-items:center;gap:4px;font-size:10px;color:#97a7bd}.zoom-controls>span{min-width:25px;text-align:center}.zoom-controls .icon-button{width:23px;min-height:25px;padding:5px}.timeline-body{display:flex;min-height:76px;max-height:250px;overflow-y:auto;overflow-x:hidden}.timeline-labels{width:123px;flex-shrink:0;border-right:1px solid #283140;color:#95a6bd}.timeline-labels>span{height:31px;display:flex;align-items:center;font-size:8px;letter-spacing:1px;padding:0 10px;color:#62758e}.timeline-labels>div{height:24px;display:flex;align-items:center;gap:8px;padding:0 9px;font-size:9px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.timeline-labels>div>span{font-size:8px;color:#5b6e85}.timeline-track,.summary-track{flex:1;min-width:0;position:relative;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;padding-bottom:12px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 1px),#34425340 calc(12.5% - 1px),#34425340 12.5%);overflow:hidden}.timeline-track.dragging,.summary-track.dragging{cursor:grabbing}.time-ruler{height:31px;position:relative;border-bottom:1px solid #232f40;margin-bottom:0}.time-ruler>span{position:absolute;font-family:monospace;font-size:8px;color:#8496b0;top:10px;transform:translate(-50%)}.time-ruler>span:first-child{transform:translate(4px)}.time-ruler>span:last-child{transform:translate(calc(-100% - 4px))}.recording-row{height:24px;position:relative;border-bottom:1px solid #202a3733}.recording-bar{position:absolute;top:7px;bottom:6px;min-width:1px;background:#37634e;border-radius:1px;border-top:1px solid #6aa57966}.event-marker{position:absolute;top:5px;height:15px;min-height:15px;width:5px;padding:0;border:0;border-radius:1px;background:#78abed;z-index:2;transform:translate(-50%)}.event-marker.motion{background:#e4b16a}.event-marker:hover{background:#f3d29e;box-shadow:0 0 0 3px #e4b16a55}.playhead{position:absolute;top:24px;bottom:6px;width:1px;background:#c5efa9;z-index:3;pointer-events:none}.playhead span{position:absolute;top:-3px;left:-3px;width:7px;height:7px;background:#c5efa9;transform:rotate(45deg);border-radius:1px}.timeline-tooltip{position:absolute;background:#283241;border:1px solid #485568;padding:3px 5px;font-family:monospace;font-size:9px;pointer-events:none;z-index:5;border-radius:3px;width:86px;text-align:center}.timeline-footer{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;border-top:1px solid #232d3d;gap:5px}.timeline-legend{display:flex;align-items:center;gap:14px;font-size:8px;color:#8d9db5}.timeline-legend span{display:flex;align-items:center;gap:5px}.timeline-legend i{width:6px;height:6px;border-radius:1px}.continuous{background:#507e61}.motion{background:#e4b16a}.smart{background:#78abed}.timeline-hint{font-size:8px;color:#5d718d}.timeline-footer>div:last-child{display:flex;flex-wrap:wrap;gap:4px}.timeline-footer{flex-wrap:wrap}.timeline-footer .timeline-download{min-height:26px;padding:4px 9px;font-size:11px;background:#263d26;color:#b6e68f;border-color:#49653a}.event-search-actions input[type=search]{width:min(240px,100%)}.download-panel{display:flex;justify-content:flex-end;padding-top:6px}.timeline-footer .icon-button{min-height:21px;width:23px;padding:3px}.workspace-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;font-size:8px;color:#5e6d82}.workspace-footer>span{display:flex;align-items:center;gap:5px}.keyboard-hint{font-family:monospace;font-size:7px;color:#91a1b6!important}.keyboard-hint span{font-family:Inter,sans-serif;color:#5c6c82;margin:0 7px 0 0}.event-panel{width:230px;flex-shrink:0;border-left:1px solid var(--border);background:#10141c;padding:24px 15px;display:flex;flex-direction:column}.event-panel .panel-heading{justify-content:space-between;margin-bottom:14px}.feed-live{font-size:8px;letter-spacing:.6px;color:#95b086;display:flex;align-items:center;gap:5px}.feed-live>i{background:#a4cb8c;width:4px;height:4px;border-radius:50%}.event-panel-subtitle{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#75839a;margin-bottom:13px}.event-panel-subtitle .icon-button{height:18px;min-height:18px}.event-filter-tabs{display:flex;gap:5px;margin-bottom:13px;border-bottom:1px solid #272f3e;padding-bottom:13px}.event-filter-tabs button{background:none;border-color:transparent;min-height:26px;font-size:9px;padding:5px 9px;color:#73829a}.event-filter-tabs button.active{border-color:#354635;background:#202b24;color:#b9d5aa}.event-list{display:flex;flex-direction:column}.event-item{display:flex;width:100%;text-align:left;padding:15px 0;gap:12px;border-radius:0;border-width:0 0 1px;background:none;border-color:#252f40;justify-content:flex-start}.event-item:hover{background:#1a2330;border-color:#354154}.event-copy{flex:1;min-width:0}.event-copy>strong{display:block;font-size:12px;font-weight:500;color:#c5d0e0;margin-bottom:5px}.event-copy>span{font-size:10px;color:#7789a4;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-icon{width:33px;height:33px;background:#202d3a;color:#8aafd7;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.event-icon.motion{color:#c7a16e;background:#302a20}.event-icon.signal_loss{color:#d9908d;background:#352329}.event-time{font-family:monospace;font-size:10px;color:#72849f;display:flex;align-items:center;gap:9px}.compact .event-item{padding:13px 0;gap:9px}.compact .event-icon{width:28px;height:29px;border-radius:6px}.compact .event-copy>strong{font-size:9px;margin-bottom:5px}.compact .event-copy>span{font-size:8px;max-width:120px}.compact .event-time{font-size:8px;gap:0}.compact .event-time svg{display:none}.event-panel-footer{display:flex;align-items:flex-start;gap:9px;color:#60734f;margin-top:auto;padding:22px 2px 0;border-top:1px solid #242e3d}.event-panel-footer p{font-size:10px;color:#a3b29b;line-height:1.6;margin:0}.event-panel-footer span{display:block;font-size:9px;color:#657792}.events-empty{padding:50px 10px;display:flex;align-items:center;flex-direction:column;gap:12px;text-align:center;color:#667b6b}.events-empty strong{font-size:12px;font-weight:500;color:#96a795}.events-empty span{font-size:10px;line-height:1.6;color:#6e8099;max-width:175px}.source-empty{text-align:center;color:#60718c;font-size:10px;padding:22px 5px}.source-empty p{margin:10px 0}.source-empty .text-button{font-size:9px}.management{padding:39px 40px;max-width:1320px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:33px}.page-heading h1{margin:10px 0}.page-heading p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.heading-count{color:#72816e;font-size:16px;margin-left:15px;letter-spacing:0}.page-icon{color:#5e7854}.device-list{display:flex;flex-direction:column;gap:13px}.device-card{padding:23px;background:#131922;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;gap:20px}.device-icon{width:65px;height:65px;display:flex;align-items:center;justify-content:center;background:#1c2923;border:1px solid #354937;border-radius:12px;color:#a0ba91}.device-info{flex:1;min-width:0}.device-info h3{display:flex;gap:13px;align-items:center;margin-bottom:7px;flex-wrap:wrap}.device-info p{font-size:11px;color:#8090a8;margin-bottom:12px;overflow-wrap:anywhere}.device-info p>span{margin:0 6px;color:#45536b}.device-features{display:flex;gap:18px;flex-wrap:wrap;color:#a1adc0;font-size:10px}.device-features>span{display:flex;align-items:center;gap:6px}.device-buttons{display:flex;gap:8px}.device-buttons button{font-size:11px}.status-tag{font-size:9px;letter-spacing:.3px;font-weight:500;padding:3px 7px;border:1px solid #3b4655;border-radius:4px;color:#9baac0}.status-tag.recording{background:#233829;color:#b3d9a5;border-color:#3c5936}.status-tag.offline{background:#322327;color:#d99696;border-color:#5c363c}.status-tag.connecting{color:var(--amber)}.test-result{margin:10px 0 0!important;color:#b5c7a5!important;font-size:11px!important}.large-empty{padding:80px 20px;border:1px dashed #394535;border-radius:12px;text-align:center;background:#121921;color:#869c7b}.large-empty h2{margin-top:20px;color:#d2deca}.large-empty p{color:#8190a7;font-size:12px}.large-empty button{margin-top:15px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:27px}.stat-grid>article{background:#141b24;border:1px solid #293241;border-radius:10px;padding:25px}.stat-grid article>span{font-size:11px;color:#8d9db5;display:block}.stat-grid strong{font-size:32px;font-weight:450;display:block;letter-spacing:-1px;margin:15px 0 9px;color:#cfe4c3}.stat-grid small{font-size:10px}.stat-grid .date-stat{font-size:23px;line-height:38px;letter-spacing:-.5px;color:#e3e8ef}.settings-card{background:#131a23;border:1px solid #293341;border-radius:10px;padding:28px;margin-bottom:24px}.section-title{display:flex;align-items:flex-start;gap:13px;color:#9fbc92;margin-bottom:23px}.section-title h3{color:#dbe3ed;margin:0 0 7px}.section-title p{font-size:12px;color:#8495af;margin:0;line-height:1.6}.storage-meter.large{height:8px;margin-top:5px}.meter-labels{display:flex;justify-content:space-between;font-size:11px;color:#889bb5;margin:12px 0 30px}.settings-footer{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:20px}.settings-footer>span{font-size:11px;color:#a1c290}.account-list{border:1px solid #293241;border-radius:10px;overflow:hidden}.account-row{padding:19px 24px;display:flex;align-items:center;gap:20px;background:#131a23;border-bottom:1px solid #293241}.account-row:last-child{border-bottom:0}.account-row>.avatar{width:39px;height:39px}.account-row>div:nth-child(2){flex:1}.account-row strong{font-weight:550;font-size:13px}.account-row small{display:block;margin-top:5px}.account-row select{width:120px;font-size:12px}.account-row>button{font-size:11px}.audit-list{margin-top:22px;max-height:440px;overflow:auto}.audit-list>div{display:flex;align-items:center;gap:20px;font-size:11px;padding:14px 0;border-bottom:1px solid #283141}.audit-list>div>span:first-child{color:#7a8da8;font-size:10px}.audit-list strong{font-weight:450;flex:1;color:#bccbdf}.audit-list>div>span:last-child{color:#92aa83}.event-center .event-list{background:#121923;border:1px solid #293341;border-radius:10px;padding:0 22px;margin:20px 0}.event-center-toolbar{display:flex;align-items:flex-end;gap:10px}.event-center-toolbar label{font-size:10px}.event-center-toolbar input{width:170px}.event-center-toolbar select{margin-left:auto;width:200px}.event-center-toolbar button{min-height:39px}.event-search-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}.event-search-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0}.event-camera-filter{position:relative}.event-camera-filter summary{cursor:pointer;padding:11px 14px;border:1px solid #354154;border-radius:6px}.event-camera-options{position:absolute;z-index:10;top:calc(100% + 6px);left:0;width:min(350px,80vw);max-height:340px;overflow:auto;padding:14px;background:#161e28;border:1px solid #354154;border-radius:8px;box-shadow:0 10px 30px #0009}.event-snapshot{width:clamp(88px,14vw,160px);aspect-ratio:16 / 9;flex-shrink:0;display:grid;place-items:center;background:#080c11;border-radius:5px;overflow:hidden}.event-snapshot img{width:100%;height:100%;object-fit:contain}.event-snapshot>span{display:grid;justify-items:center;gap:4px;color:#8594aa}.event-snapshot small{font-size:9px;text-align:center}.event-center .event-copy>span{margin-top:5px}.event-center .event-item:disabled{opacity:1;cursor:default}.clip-selection{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px;padding:8px 10px;border-bottom:1px solid #293341;flex-shrink:0}.clip-selection label{font-size:10px;min-width:0;flex:1 1 150px;max-width:220px}.clip-selection input{width:100%;min-height:30px;padding:5px;font-size:11px}.clip-selection button{min-height:30px;padding:5px 8px;font-size:10px}.clip-selection>[role=alert]{width:100%;color:#e99f9c;font-size:11px}.clip-selection-hint{flex-basis:100%;color:#a1b398;font-size:10px}.timeline-footer .clip-toggle{padding:3px 6px;min-height:24px;font-size:10px}.timeline-clip-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.timeline-clip-range{position:absolute;top:0;bottom:0;pointer-events:auto;cursor:grab;border-inline:2px solid #bddf8c;background:#b6dc8222}.timeline-clip-overlay.dragging .timeline-clip-range{cursor:grabbing}.timeline-clip-handle{position:absolute;top:0;bottom:0;width:16px;pointer-events:auto;cursor:ew-resize;border:1px solid #bddf8c;border-radius:4px;background:linear-gradient(90deg,#344b2c 5px,#bddf8c 5px,#bddf8c 6px,#344b2c 6px,#344b2c 9px,#bddf8c 9px,#bddf8c 10px,#344b2c 10px)}.timeline-clip-handle:hover{filter:brightness(1.2)}.timeline-clip-handle:focus-visible,.timeline-clip-range:focus-visible{outline:2px solid #e2ffc4;outline-offset:-3px}.system-warning{background:#4c3028;color:#f0cdb6;padding:10px 24px;font-size:12px;border-bottom:1px solid #755140}.modal{position:fixed;width:min(500px,calc(100vw - 32px));max-height:90dvh;padding:26px;border:1px solid #3a4656;border-radius:13px;background:#151c26;color:#e1e7ef;box-shadow:0 28px 120px #0009;overflow:auto}.modal.wide{width:min(660px,calc(100vw - 32px))}.modal::backdrop{background:#03080fd6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.modal-header .eyebrow{color:#899c7a;font-size:8px}.modal-header h2{margin:8px 0 0;font-weight:540}.form-intro{color:#91a0b5;font-size:12px;line-height:1.6;margin-bottom:23px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 18px}.full{grid-column:1 / -1}.source-kinds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:25px}.source-kinds>button{flex-direction:column;gap:9px;font-size:10px;min-height:75px;background:#101722;color:#8497b2;padding:10px 5px}.source-kinds>button.active{color:#b9dda6;background:#233425;border-color:#6b8855}.form-section{border-top:1px solid #2e3949;margin-top:23px;padding-top:21px}.form-section h3{font-size:12px;margin-bottom:16px}.check-row{display:flex;flex-direction:row;align-items:center;gap:12px;margin:15px 0;font-size:12px;color:#c2cee0;line-height:1.5}.check-row>span>small{display:block;font-weight:400;font-size:10px;line-height:1.5;color:#8b9bb2;margin-top:3px}.advanced-fields{border-top:1px solid #2c3748;margin-top:13px;padding-top:22px}.notice{font-size:11px;color:#93a5ba;line-height:1.75;padding:12px 14px;background:#101722;border:1px solid #2b374a;border-radius:6px;margin:18px 0}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:11px;border-top:1px solid #2e394a;margin-top:23px;padding-top:20px}.modal-footer>.muted{margin-right:auto;font-size:10px}.stack-form{display:flex;flex-direction:column;gap:20px}.stack-form>.form-intro{margin:0}.stack-form>.primary{align-self:flex-end}.error-message{font-size:12px;color:#f0b2ae;border:1px solid #704345;background:#392327;padding:12px 14px;border-radius:6px;line-height:1.6;margin:15px 0}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:20px;padding:13px 17px;background:#29332c;border:1px solid #57764a;border-radius:9px;z-index:60;color:#d9ebcc;box-shadow:0 10px 35px #0008;font-size:12px;max-width:min(600px,calc(100vw - 24px))}.toast>span{overflow-wrap:anywhere}.assign-list{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.assign-list>button{padding:14px;justify-content:flex-start;text-align:left;background:#101823}.assign-list>button>span{flex:1;min-width:0;overflow-wrap:anywhere}.assign-list small{display:block;margin-top:4px;font-weight:400;font-size:10px}.assign-list .status-dot{margin-right:7px}.assign-list svg{color:#99b48a}.export-cameras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-top:19px}.export-cameras>.check-row>svg{color:#83a078}.export-jobs{border-top:1px solid #303a4a;margin-top:25px;padding-top:22px}.export-jobs h3{display:flex;justify-content:space-between;font-size:12px}.export-jobs h3 span{font-size:10px;font-weight:400}.export-job{display:flex;align-items:center;gap:12px;border-top:1px solid #2c3747;padding:17px 0}.export-job>div{flex:1}.export-job strong{display:block;font-size:11px;font-weight:500;margin-bottom:6px}.export-job small{display:block;font-size:10px;line-height:1.6}.export-job a{font-size:11px}.ptz-pad{display:grid;grid-template-columns:repeat(3,50px);grid-template-rows:repeat(3,50px);gap:7px;justify-content:center;margin:25px 0}.restore-grid{flex-shrink:0;min-height:32px;display:inline-flex;align-items:center;gap:8px;margin:0;padding:7px 10px;font-size:12px}.ptz-panel{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:10px;padding:12px 16px;background:#151d27;border:1px solid #344253;border-radius:6px}.ptz-heading{display:flex;flex:1;align-items:flex-start;justify-content:space-between;gap:10px;min-width:180px}.ptz-heading strong{font-size:13px}.ptz-heading p{color:#9aaac0;font-size:11px;margin:7px 0 0}.ptz-controls{display:flex;align-items:center;gap:16px}.ptz-panel .ptz-pad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:5px;margin:0}.ptz-panel .ptz-pad button{padding:0}.ptz-panel .ptz-zoom{flex-direction:column;gap:8px}.ptz-panel .ptz-zoom button{min-height:44px;font-size:12px}.ptz-panel .form-error{flex-basis:100%;margin:0}@media(max-width:600px){.ptz-panel{display:block;padding:12px}.ptz-controls{justify-content:center;margin-top:12px}}.ptz-pad>button:first-child{grid-column:2}.ptz-pad>button:nth-child(2){grid-column:1;grid-row:2}.ptz-pad>span{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center;color:#9ebe8d}.ptz-pad>button:nth-child(4){grid-column:3;grid-row:2}.ptz-pad>button:last-child{grid-column:2;grid-row:3}.ptz-zoom{display:flex;justify-content:center;gap:13px}.region-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:11px}.field-label{font-size:12px;color:#b4c3d8}.region-fields label{font-size:10px}.mobile-sources,.mobile-close{display:none}.boot-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:16px;color:#a9c39a;font-size:13px}.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh;background:#10151d}.login-art{background:radial-gradient(ellipse at 20% 50%,#243c2733,transparent 60%),#0c1116;padding:43px 10%;position:relative;overflow:hidden;border-right:1px solid #29332b;display:flex;flex-direction:column;min-height:750px}.login-brand{display:flex;align-items:center;gap:13px;color:var(--green)}.login-brand>span{font-size:18px;font-weight:730;letter-spacing:3px;color:#e3eae0}.brand-dot{color:var(--green)}.login-heading{margin-top:auto;margin-bottom:70px;z-index:1}.login-heading .eyebrow{font-size:9px;color:#9fbd8e;letter-spacing:2px}.login-heading h1{font-size:clamp(42px,4.4vw,72px);line-height:1.12;font-weight:460;letter-spacing:-3px;color:#e0e8dc;margin:22px 0}.login-heading p{color:#7d9286;font-size:14px;line-height:1.8}.login-footnote{font-size:10px;color:#70826f;display:flex;align-items:center;gap:7px}.radar-art{position:absolute;top:20%;left:26%;width:370px;height:370px;transform:rotate(-18deg);opacity:.7}.radar-art>div{border:1px solid #5b805345;border-radius:50%;position:absolute;top:0;right:0;bottom:0;left:0;background:conic-gradient(from 15deg,transparent 65%,#a7ed891c 99%,#a7ed8955)}.radar-art>div:nth-child(2){top:50px;right:50px;bottom:50px;left:50px;background:none}.radar-art>div:nth-child(3){top:105px;right:105px;bottom:105px;left:105px;background:none}.radar-art:after,.radar-art:before{content:"";position:absolute;top:50%;left:-20px;right:-20px;border-top:1px solid #57864e36}.radar-art:after{transform:rotate(90deg)}.radar-art>svg{position:absolute;top:calc(50% - 29px);left:calc(50% - 29px);color:#83b06a;transform:rotate(18deg)}.radar-dot{width:7px;height:7px;border-radius:50%;background:#b5e798;position:absolute;box-shadow:0 0 0 5px #82a96225,0 0 23px #a7ed8980}.radar-dot.one{top:74px;left:232px}.radar-dot.two{top:253px;left:99px}.radar-dot.three{top:252px;left:313px}.login-form-wrap{display:flex;align-items:center;justify-content:center;position:relative;padding:50px 40px}.login-form{width:100%;max-width:355px}.login-icon{width:46px;height:46px;background:#263628;color:#b7d7a3;border:1px solid #405637;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:32px}.login-form>.eyebrow{font-size:9px;color:#7f8f81}.login-form>h2{font-size:29px;letter-spacing:-.9px;font-weight:520;margin:12px 0}.login-form>p:not(.error-message){font-size:12px;color:#8895a9;margin-bottom:32px;line-height:1.5}.login-form>label{margin-bottom:21px;font-size:11px;gap:9px}.login-form>label>input{min-height:44px;background:#111923;border-color:#354051;font-size:12px}.login-submit{width:100%;justify-content:space-between;margin-top:10px;min-height:44px;padding:12px 17px;font-size:12px}.login-passkey{width:100%;justify-content:center;margin-top:20px;min-height:44px}.login-note{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:24px;color:#6b7d96;font-size:10px}.version-note{position:absolute;bottom:26px;font-size:9px;letter-spacing:1px;color:#53657e}.version-note>span{margin-left:10px;color:#7e8fa7}.loading-spinner,button[aria-busy=true]:before{display:inline-block;content:"";width:16px;height:16px;flex:0 0 16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:loading-turn .9s linear infinite}button[aria-busy=true]>svg{display:none}.loading-status{display:inline-flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:12px;pointer-events:none}.loading-block{display:flex;min-height:100px;padding:20px}.app-loading{display:grid;min-height:100dvh;place-items:center}.request-progress{position:fixed;inset:0 0 auto;height:2px;z-index:2000;overflow:hidden;pointer-events:none;animation:loading-reveal 0s .35s both}.request-progress-track{display:block;height:100%;width:35%;background:var(--accent, #a9ea87);animation:loading-travel 1.6s ease-in-out infinite}.timeline-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:8;pointer-events:none;padding:5px 9px;border-radius:6px;background:#101720eb;animation:loading-reveal 0s .18s both}.timeline-panel{position:relative}.video-buffering{position:absolute;right:8px;bottom:44px;padding:5px 8px;border-radius:5px;background:#0c121bd9;pointer-events:none;z-index:3;animation:loading-reveal 0s .35s both}.tile-message .loading-spinner{width:26px;height:26px;flex-basis:26px;color:#a9ea87}.event-snapshot{position:relative}.event-snapshot>.loading-status{position:absolute;top:0;right:0;bottom:0;left:0}.event-snapshot.is-loading img{opacity:0}@keyframes loading-turn{to{transform:rotate(360deg)}}@keyframes loading-travel{0%{transform:translate(-100%)}to{transform:translate(390%)}}@keyframes loading-reveal{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.loading-spinner,button[aria-busy=true]:before,.request-progress-track{animation:none}.request-progress-track{width:100%;opacity:.65}}.pulse{animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.4}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#384456;border-radius:5px}@media(min-width:1800px){.sources-panel{width:248px;padding:26px 20px}.event-panel{width:275px;padding:26px 20px}.monitor-main{padding:32px 30px 0}.camera-grid{min-height:430px}.camera-tile,.empty-tile{min-height:220px}.tile-name{font-size:12px}.tile-bottom{font-size:10px}.workspace-heading h1{font-size:32px}.event-copy>strong{font-size:12px}.compact .event-copy>strong{font-size:11px}.compact .event-copy>span{font-size:10px}.compact .event-time{font-size:9px}.workspace-heading{margin-bottom:30px}}@media(max-width:1279px){.event-panel,.header-clock{display:none}.monitor-main{padding:24px 20px 0}.sources-panel{width:203px}.timeline-hint{display:none}.workspace-heading h1{font-size:25px}.camera-grid{min-height:360px}}@media(max-width:960px){.sources-panel{position:fixed;left:66px;top:62px;bottom:0;z-index:30;display:none;width:245px;box-shadow:20px 0 60px #0008}.sources-panel.open{display:flex}.mobile-close{display:inline-flex;margin-left:auto}.mobile-sources{display:inline-flex}.sources-panel .subtle-count{display:none}.monitor-main{padding:24px 22px 0}.management{padding:30px 24px}.stat-grid{gap:12px}.stat-grid>article{padding:20px}.stat-grid strong{font-size:26px}.stat-grid .date-stat{font-size:20px}.device-card{gap:15px}.device-icon{width:48px;height:48px}.device-buttons{flex-direction:column}.login-art{padding:35px 10%;min-height:700px}.radar-art{width:280px;height:280px;left:12%;top:20%}.radar-art>div:nth-child(2){top:40px;right:40px;bottom:40px;left:40px}.radar-art>div:nth-child(3){top:80px;right:80px;bottom:80px;left:80px}.login-form-wrap{padding:40px 30px}.login-heading h1{font-size:44px;letter-spacing:-2px}.login-heading p{font-size:12px}.sync-badge{font-size:8px}.control-divider{margin:0 4px}}@media(max-width:640px){body{min-width:340px}.app-shell{padding-bottom:64px}.rail{width:100%;height:60px;top:auto;right:0;bottom:0;flex-direction:row;justify-content:space-around;border-right:0;border-top:1px solid #303b49;background:#10171ff5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.rail-brand{display:none}.rail-links{flex-direction:row;gap:0;justify-content:space-around;flex:1}.rail-item{width:44px;min-height:45px;flex-direction:column;gap:4px;border-radius:6px;padding:6px 2px}.rail-item span{display:block;font-size:7px;font-weight:450;letter-spacing:0}.rail-item.active:before{left:13px;right:13px;top:-7px;bottom:auto;height:2px;width:auto}.rail-item>svg{width:18px;height:18px}.rail-bottom{padding:0;margin:0;flex-direction:row;gap:0}.rail-bottom .avatar,.rail-bottom .rail-item span{display:none}.rail-bottom .rail-item{width:35px}.main-shell{margin-left:0;width:100%}.app-header{height:56px;padding:0 16px;gap:8px}.header-title{gap:12px;font-size:10px}.wordmark{font-size:12px;letter-spacing:1.7px}.header-slash{font-size:17px}.header-right{gap:6px}.header-right>.icon-button{display:none}.system-indicator{font-size:0;gap:0}.system-indicator i{width:6px;height:6px}.control-room{min-height:calc(100dvh - 116px)}.monitor-main{padding:22px 14px 0;min-height:calc(100dvh - 116px)}.workspace-heading{align-items:center;margin-bottom:20px}.workspace-heading h1{font-size:24px;letter-spacing:-.8px;margin:8px 0}.workspace-heading .eyebrow{font-size:7px;letter-spacing:1.5px}.workspace-heading p{font-size:10px;max-width:210px;line-height:1.65}.save-layout{font-size:0;padding:7px;width:35px;min-height:35px}.save-layout svg{width:16px;height:16px}.view-toolbar{gap:6px;flex-wrap:wrap;margin-bottom:15px}.mode-tabs button{font-size:9px;min-height:32px;padding:7px 8px;gap:5px}.mode-tabs button svg{width:12px;height:12px}.grid-switcher{gap:1px}.grid-switcher>button{width:27px;min-height:32px;padding:6px}.toolbar-divider,.expand-grid{display:none}.export-button{font-size:0;width:31px;min-height:33px;padding:6px}.grid-status{font-size:7px;letter-spacing:.3px}.grid-status>span{font-size:8px}.grid-status>div{gap:5px}.camera-grid{min-height:390px;gap:6px;flex:none;grid-template-columns:1fr!important}.camera-grid.cameras-1,.camera-grid.cameras-1 .grid-slot{min-height:220px}.camera-grid.cameras-4 .grid-slot{min-height:200px}.camera-grid.cameras-9,.camera-grid.cameras-16{grid-template-columns:repeat(2,minmax(0,1fr))!important}.camera-grid.cameras-9 .grid-slot,.camera-grid.cameras-16 .grid-slot{min-height:140px}.camera-tile,.empty-tile{min-height:180px}.cameras-9 .empty-tile>span:not([class]),.cameras-9 .tile-message>span:not(.loading-spinner){display:none}.cameras-9 .tile-name>span:last-child,.cameras-16 .tile-name>span:last-child{max-width:90px}.cameras-9 .record-pill{display:none}.tile-actions{opacity:1}.tile-actions .icon-button{width:29px;min-height:30px}.tile-name{font-size:11px}.tile-bottom{font-size:9px}.empty-tile>span:not([class]){font-size:10px}.empty-tile strong{font-size:12px}.camera-tile .tile-message strong{font-size:11px}.timeline-panel{margin-top:15px}.playback-controls{padding:8px;flex-wrap:wrap;gap:9px}.transport{gap:2px}.transport>.icon-button{width:26px;min-height:29px}.playback-time-controls{order:3;width:100%;justify-content:center;gap:8px;flex-wrap:wrap}.playback-clock{font-size:24px}.date-control{flex:1}.date-control input{flex:1;font-size:11px;min-height:34px}.sync-badge{font-size:9px}.zoom-controls{margin-left:auto}.zoom-controls>.icon-button{min-height:30px;width:25px}.timeline-labels{width:86px}.timeline-labels>div{font-size:8px;gap:5px;padding:0 6px}.time-ruler>span{font-size:7px}.time-ruler>span:nth-child(2n){display:none}.timeline-legend{gap:9px;font-size:7px}.timeline-hint{display:none}.timeline-footer{padding:4px 7px}.timeline-footer .icon-button{min-height:30px;width:30px}.workspace-footer{font-size:7px;justify-content:center}.keyboard-hint{display:none!important}.sources-panel{left:0;top:56px;bottom:60px;width:280px;min-height:0}.source-camera{min-height:56px}.source-camera>span{font-size:13px}.source-camera small,.source-section-title{font-size:10px}.layout-list>button,.saved-layout-row>button:first-child{min-height:43px;font-size:12px}.delete-layout{opacity:1}.management{padding:27px 16px}.page-heading{gap:12px;margin-bottom:24px;align-items:flex-start}.page-heading h1{font-size:25px;line-height:1.2;letter-spacing:-.8px}.page-heading .eyebrow{font-size:8px}.page-heading p{font-size:11px}.page-heading>.primary{font-size:10px;white-space:nowrap;padding:9px;min-height:39px;margin-top:23px}.page-heading>svg{display:none}.device-card{padding:18px 15px;align-items:flex-start;gap:12px;flex-wrap:wrap}.device-icon{width:38px;height:38px;border-radius:8px}.device-icon>svg{width:20px;height:20px}.device-info{flex-basis:calc(100% - 60px)}.device-info h3{font-size:13px;gap:8px}.device-info p{font-size:10px;line-height:1.7}.device-features{gap:10px;font-size:9px}.device-buttons{flex-direction:row;width:100%;justify-content:flex-end}.device-buttons>button{min-height:38px;font-size:11px}.stat-grid{grid-template-columns:1fr;gap:12px}.stat-grid>article{padding:20px 22px}.stat-grid strong{margin:10px 0;font-size:29px}.stat-grid .date-stat{font-size:24px;line-height:1.3}.settings-card{padding:20px 17px}.settings-card .form-grid{grid-template-columns:1fr}.settings-footer{align-items:flex-start;flex-direction:column;gap:13px}.settings-footer>.primary{align-self:flex-end}.account-row{padding:16px 14px;gap:10px;flex-wrap:wrap}.account-row>div:nth-child(2){flex-basis:calc(100% - 50px)}.account-row select{margin-left:auto;width:105px}.account-row>button{font-size:10px}.account-row strong{font-size:12px}.account-row small{font-size:10px}.audit-list>div{gap:7px;font-size:9px;flex-wrap:wrap}.audit-list>div>span:first-child{width:100%;font-size:9px}.event-center-toolbar{flex-wrap:wrap}.event-center-toolbar select{width:calc(100% - 90px);margin-left:0}.event-center-toolbar input{width:190px}.event-center .event-list{padding:0 13px}.event-copy>strong{font-size:11px}.event-copy>span{font-size:9px}.event-time{font-size:9px}.event-item{gap:9px}.modal{padding:22px 18px;max-height:92dvh;border-radius:10px}.modal-header h2{font-size:20px}.modal-header .icon-button{min-height:36px;width:36px}.form-grid{gap:15px 12px}.form-grid>label{font-size:11px}.source-kinds{gap:5px}.source-kinds>button{min-height:65px;gap:8px;font-size:8px}.source-kinds>button>svg{width:19px}.form-intro{font-size:11px}.form-grid input,.form-grid select{font-size:12px;min-height:42px}.check-row{font-size:11px}.notice{font-size:10px}.modal-footer{gap:8px}.modal-footer>button{font-size:11px;min-height:40px}.modal-footer>.muted{font-size:9px;max-width:100px}.export-cameras{grid-template-columns:1fr}.export-jobs h3{font-size:11px;gap:10px}.export-jobs h3 span{font-size:9px}.export-job{gap:9px;flex-wrap:wrap}.export-job>a{min-height:38px}.export-job strong{font-size:10px}.export-job small{font-size:9px}.toast{bottom:76px;font-size:11px;width:calc(100vw - 28px);padding:10px 13px}.login-page{display:block;min-height:100dvh}.login-art{display:none}.login-form-wrap{min-height:100dvh;padding:48px 27px 80px;background:radial-gradient(ellipse at 80% 0%,#233b254d,transparent 60%)}.login-form{max-width:365px}.login-form>h2{font-size:31px}.login-icon{margin-bottom:32px}.login-form>.eyebrow{font-size:8px}.login-form>label{font-size:12px}.login-form>label>input{min-height:48px}.login-submit{min-height:48px}.login-note{font-size:10px}.ptz-pad{grid-template-columns:repeat(3,60px);grid-template-rows:repeat(3,60px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:640px){.camera-grid.cameras-4{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-height:270px}.camera-grid.cameras-4 .grid-slot,.cameras-4 .camera-tile,.cameras-4 .empty-tile{min-height:132px}.cameras-4 .tile-name{font-size:9px;gap:4px}.cameras-4 .tile-top{padding:8px 7px 16px}.cameras-4 .record-pill{font-size:6px;padding:2px 3px}.cameras-4 .empty-tile{padding:25px 5px}.cameras-4 .empty-tile-icon{width:30px;height:30px}.cameras-4 .empty-tile strong{font-size:10px}.cameras-4 .empty-tile>span:not([class]){font-size:8px}.cameras-4 .tile-corner{display:none}.cameras-4 .tile-message{top:30px;right:8px;bottom:30px;left:8px}.cameras-4 .tile-message strong{font-size:9px}.cameras-4 .tile-message>span:not(.loading-spinner){display:none}.cameras-4 .tile-bottom{font-size:7px;padding:15px 6px 4px}.cameras-4 .tile-actions .icon-button{width:25px;min-height:29px}.cameras-4 .tile-bottom>.mono{max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.stream-picker{max-width:150px;min-height:28px;padding:3px 20px 3px 7px;font-size:11px;background:#162327;border-color:#354649}.stream-settings{margin:16px 0;padding:16px;border:1px solid var(--border);border-radius:10px;background:#10191c}.stream-settings-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:8px}.stream-settings-footer .check-row{flex:1}.config-file-path{overflow-wrap:anywhere;font-family:var(--mono);font-size:12px;color:var(--green)}.settings-card form{margin-top:20px}.export-source{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.export-source .check-row{flex:1}.export-source select{max-width:190px}@media(max-width:600px){.stream-picker{max-width:90px;font-size:10px}.tile-actions{gap:2px}.grid-9 .stream-picker,.grid-16 .stream-picker{max-width:65px}}.device-buttons{flex-wrap:wrap}.danger-button{color:var(--red, #f29d9d);border-color:#713d46}.danger-button:hover:not(:disabled){background:#3a2029;border-color:#c67680}.diagnostic-toolbar{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.diagnostic-list{display:grid;gap:.75rem;margin:1rem 0;max-height:52vh;overflow:auto}.diagnostic-entry{padding:1rem;border:1px solid var(--border);border-radius:12px;min-width:0}.diagnostic-entry.error{border-left:3px solid #df8792}.diagnostic-entry.warning{border-left:3px solid #d7b66d}.diagnostic-entry p{margin:.5rem 0}.diagnostic-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.75rem;margin-bottom:.5rem}.diagnostic-entry details{margin-top:.75rem}.diagnostic-entry summary{cursor:pointer;color:var(--muted);font-size:.8rem}.diagnostic-entry pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem}.diagnostic-note{overflow-wrap:anywhere}.diagnostic-note code{font-size:.82em}.system-meters{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;padding:9px 26px;border-bottom:1px solid var(--border);background:var(--panel);font-size:11px;color:var(--muted)}.meter-scope{text-transform:uppercase;font-size:9px;letter-spacing:.12em}.resource-meter,.bandwidth-meter,.bandwidth-meter span{display:flex;align-items:center;gap:8px}.resource-meter strong,.bandwidth-meter strong{font-variant-numeric:tabular-nums;color:#e3e7ed;font-weight:500}.resource-meter meter{width:64px;height:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#29313b;border-radius:3px;overflow:hidden}.resource-meter meter::-webkit-meter-bar{background:#29313b;border:0}.resource-meter meter::-webkit-meter-optimum-value{background:var(--green)}.bandwidth-meter{gap:18px;margin-left:auto}.discovery-panel{margin-bottom:24px}.discovery-panel .section-title{flex-wrap:wrap}.discovery-panel .section-title>div{flex:1;min-width:200px}.discovery-panel details{margin-top:18px}.discovery-panel summary{cursor:pointer;color:var(--green);padding:10px 0}.discovery-results article,.discovered-profiles>div{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.discovery-results small{display:block;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.permission-groups{margin-top:36px}.group-card{display:flex;align-items:center;gap:14px;margin-bottom:12px}.group-card>div{flex:1;min-width:0}.group-card h3,.group-card p{overflow-wrap:anywhere;margin:0 0 5px}.group-card small{color:var(--muted)}.member-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 16px;max-height:280px;overflow:auto}.stack-form fieldset{border:1px solid var(--border);border-radius:10px;padding:16px;min-width:0}.stack-form legend{padding:0 6px;font-weight:600}.permission-matrix{overflow-x:auto;width:100%}.permission-matrix table{width:100%;border-collapse:collapse;font-size:12px}.permission-matrix th,.permission-matrix td{padding:12px 8px;border-bottom:1px solid var(--border);text-align:center;min-width:65px}.permission-matrix th:first-child{text-align:left;min-width:140px}.permission-matrix input{accent-color:var(--green);width:19px;height:19px;cursor:pointer}@media(max-width:700px){.system-meters{padding:9px 14px;gap:8px 14px}.meter-scope{display:none}.resource-meter{flex:1}.bandwidth-meter{margin-left:0;flex-basis:100%;justify-content:space-between}.group-card,.account-row{flex-wrap:wrap}.group-card>div{min-width:160px}.permission-matrix th:first-child{min-width:110px}}.configuration-form{display:flex;flex-direction:column;align-items:stretch;gap:20px}.configuration-form>button{align-self:flex-start;margin:0}.form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-block:16px}.discovery-results>article>input[type=checkbox]{width:20px;height:20px;flex:0 0 20px}.import-results{overflow-wrap:anywhere}.passkey-list{display:grid;gap:12px}.passkey-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.device-icon .camera-select{width:18px;height:18px;min-height:18px;margin:0;cursor:pointer}.bulk-delete-list{max-height:220px;overflow-y:auto;padding:0;list-style:none}.bulk-delete-list li{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.directory-test{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}textarea{resize:vertical}.app-shell.monitor-page{height:100dvh;min-height:0;overflow:hidden}.monitor-page .main-shell{display:flex;flex-direction:column;min-height:0}.monitor-page .app-header,.monitor-page .system-meters,.monitor-page .system-warning{flex-shrink:0}.monitor-page .app-header{height:46px}.monitor-page .system-meters{padding-top:6px;padding-bottom:6px}.monitor-page .control-room{flex:1;min-height:0;overflow:hidden}.monitor-page .sources-panel,.monitor-page .event-panel{min-height:0;overflow-y:auto}.monitor-page .monitor-main{min-height:0;padding:8px;overflow:hidden}.monitor-page .monitor-main>:not(.camera-grid){flex-shrink:0}.monitor-page .workspace-heading{margin-bottom:6px;gap:8px}.monitor-page .workspace-heading h1{font-size:19px;margin:0}.monitor-page .workspace-heading .eyebrow,.monitor-page .workspace-heading p,.monitor-page .workspace-footer{display:none}.monitor-page .view-toolbar{margin-bottom:6px;gap:6px;container:monitor-controls / inline-size}@container monitor-controls (max-width: 850px){.restore-grid{width:32px;padding:6px}.restore-grid span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.view-options .open-all-cameras{font-size:0;padding:6px;min-width:32px;min-height:32px}}.monitor-page .grid-status{flex:1;min-width:0;margin:0 8px;overflow:hidden}.monitor-page .grid-status>div{min-width:0;overflow:hidden}.monitor-page .grid-status>div>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-page .grid-status>span{display:none}.camera-pages{flex:1 1 0;min-width:0;min-height:0;position:relative;overflow:hidden}.camera-pages>.camera-grid{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.camera-pages[data-slide]>.camera-grid{will-change:transform}.camera-pages[data-slide=settling]{pointer-events:none}.monitor-page .camera-grid{--grid-count: 2;grid-template-columns:repeat(var(--grid-count),minmax(0,1fr));grid-template-rows:repeat(var(--grid-count),minmax(0,1fr));flex:1 1 0;min-height:0;gap:4px}.monitor-page .camera-grid.cameras-1{--grid-count: 1}.monitor-page .camera-grid.cameras-9{--grid-count: 3}.monitor-page .camera-grid.cameras-16{--grid-count: 4}.monitor-page .camera-grid .grid-slot,.monitor-page .camera-grid .camera-tile,.monitor-page .camera-grid .empty-tile{min-height:0;min-width:0}.monitor-page .grid-slot{overflow:hidden}.monitor-page .grid-slot[hidden]{display:none}.update-notice{position:fixed;z-index:1000;top:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 16px);padding:8px 12px;border:1px solid #66834a;border-radius:8px;background:#202b24;color:#c5e5b2;font-size:12px;box-shadow:0 6px 24px #0008}.update-notice button{min-height:30px;padding:5px 9px;font-size:12px}.monitor-page .camera-pages:fullscreen{flex:none;width:100%;height:100dvh;padding:4px}.monitor-page .timeline-panel{margin-top:6px}.monitor-page .timeline-body{min-height:32px;max-height:min(14dvh,130px)}.monitor-page .playback-controls{padding:5px 8px}.monitor-page .timeline-footer{padding-top:4px;padding-bottom:4px}.monitor-page .ptz-panel{max-height:25dvh;overflow:auto;margin-top:6px}.camera-tile{container-type:size}.detection-badges{position:absolute;top:38px;left:8px;right:8px;display:flex;flex-wrap:wrap;gap:4px;pointer-events:none}.detection-badge{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 5px;border-radius:4px;background:#382710e8;color:#ffd485;border:1px solid #8e6b2c;font-size:10px}.detection-badge span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.display-mode-field{margin-top:16px}.display-camera-list{max-height:30dvh;overflow-y:auto}@container (max-width: 230px){.tile-top{padding:5px;gap:3px}.tile-name{min-width:0;font-size:9px;gap:3px}.tile-name>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-bottom>span,.channel-number{display:none}.tile-bottom{padding:4px}.tile-actions{gap:1px;flex-wrap:wrap;justify-content:flex-end}.tile-actions .icon-button{width:24px;min-height:24px;padding:4px}.stream-picker{max-width:75px}.detection-badges{top:25px;left:4px;right:4px}.detection-badge{font-size:8px;padding:2px 3px}.tile-message{padding:5px}.tile-message>svg,.tile-message>span:not(.loading-spinner){display:none}}@container (max-height: 130px){.tile-actions{opacity:0}.camera-tile:hover .tile-actions,.camera-tile:focus-within .tile-actions{opacity:1}}@media(max-width:640px){.monitor-page .monitor-main{padding:5px}.monitor-page .workspace-heading h1{font-size:16px}.monitor-page .camera-grid{gap:3px}.monitor-page .grid-status>span{display:none}.monitor-page .empty-tile{padding:3px;gap:3px}.monitor-page .empty-tile-icon,.monitor-page .empty-tile>span:not([class]),.monitor-page .empty-channel{display:none}.monitor-page .empty-tile strong{font-size:9px}}@media(max-height:600px){.monitor-page .grid-status,.monitor-page .timeline-footer{display:none}.monitor-page .app-header{height:38px}.monitor-page .system-meters{padding-top:3px;padding-bottom:3px}.monitor-page .timeline-body{max-height:45px}.monitor-page .playback-controls{gap:3px;padding:3px}}.device-icon.selection-control{width:32px;height:44px;background:transparent;border:0;cursor:pointer}.discovery-results>article{justify-content:flex-start}.discovery-results>article>div{flex:1 1 180px;min-width:0;text-align:left;overflow-wrap:anywhere}.discovery-results>article>input[type=checkbox]{width:16px;height:16px;flex-basis:16px}.directory-default-groups{border:1px solid var(--border);border-radius:6px;padding:12px;margin:16px 0;min-width:0}.timeline-scroll-area{position:relative;display:flex;min-height:0}.timeline-body{display:block;flex:1;min-width:0;scrollbar-width:none}.timeline-content{display:flex;min-height:100%}.timeline-body::-webkit-scrollbar{display:none}.timeline-scrollbar{flex:0 0 18px;background:#101722;touch-action:none;cursor:ns-resize;position:relative}.timeline-scroll-thumb{position:absolute;left:5px;right:5px;border-radius:8px;background:#5a6d86;pointer-events:none}.timeline-scrollbar:hover .timeline-scroll-thumb,.timeline-scrollbar:focus-visible .timeline-scroll-thumb{background:#91a9c5}@media(pointer:coarse){.timeline-scrollbar{flex-basis:24px}.timeline-scroll-thumb{left:8px;right:8px}}.open-all-cameras{min-height:30px;padding:6px 9px;font-size:10px}.timeline-labels{touch-action:pan-y}.layout-dimensions,.layout-editor-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:14px 0}.layout-dimensions label{flex:1;min-width:90px}.layout-editor-grid{display:grid;height:min(45dvh,440px);gap:4px;margin-top:14px}.layout-editor-grid button{min-width:0;min-height:0;padding:3px;flex-direction:column;overflow:hidden;font-size:11px}.layout-editor-grid button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.layout-editor-grid button.selected{background:#293e24;border-color:#a9e981;color:#cdf9b1}.layout-editor-actions button{font-size:11px;padding:8px}.camera-info-list{margin:18px 0}.camera-info-list>div{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:16px;padding:9px 0;border-bottom:1px solid #293342;font-size:12px}.camera-info-list dt{color:#9aacbf}.camera-info-list dd{margin:0;overflow-wrap:anywhere}.player-switcher{position:relative;width:100%;height:100%;min-height:0;min-width:0}.stream-layer{width:100%;height:100%}.stream-layer.preloading{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.stream-switch-status{position:absolute;bottom:38px;right:6px;max-width:calc(100% - 12px);padding:3px 6px;font-size:9px;background:#101722de;color:#c1d3dd;border-radius:4px;z-index:4}.stream-switch-status button{display:inline;min-height:0;padding:2px 4px;font-size:9px}@container (max-width: 150px){.record-pill{font-size:0;padding:3px;gap:0}.tile-message{top:22px;right:4px;bottom:4px;left:4px}.tile-message strong{font-size:8px;line-height:1.3}}.language-switch{position:relative;flex-shrink:0}.language-switch button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:5px 9px;font-size:12px}.language-switch [role=alert]{position:absolute;top:100%;right:0;z-index:100;width:min(280px,85vw);padding:10px;border:1px solid var(--red);border-radius:8px;background:var(--panel)}.login-page>.language-switch{position:absolute;top:20px;right:20px;z-index:2}.view-options{display:contents}.phone-view-options{display:none}.phone-monitor .app-header{height:40px;padding:0 10px}.phone-monitor .header-title>:not(.wordmark):not(.monitor-title),.phone-monitor .header-clock{display:none}.phone-monitor .system-meters{padding:4px 8px;gap:6px;font-size:9px;flex-wrap:nowrap}.phone-monitor .meter-scope,.phone-monitor .resource-meter meter,.phone-monitor .system-meters svg{display:none}.phone-monitor .resource-meter{flex:none;gap:3px}.phone-monitor .bandwidth-meter{flex:1;gap:5px;justify-content:flex-end}.phone-monitor .bandwidth-meter span{gap:3px;white-space:nowrap}.phone-monitor .language-switch{min-height:30px;padding:4px 7px}.phone-monitor .workspace-heading{display:none}.phone-monitor .header-title{min-width:0}.phone-monitor .monitor-title{margin:0;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-monitor .save-layout{min-height:32px;width:32px;padding:5px;font-size:0}.phone-monitor .view-toolbar{position:relative;flex-wrap:nowrap;margin-bottom:6px}.phone-monitor .mode-tabs{flex:1;display:flex}.phone-monitor .mode-tabs button{flex:1;min-height:38px;font-size:11px;padding:5px 7px}@media(max-width:360px){.phone-monitor .mode-tabs button svg{display:none}}.phone-monitor .view-toolbar>.toolbar-spacer{display:none}.phone-monitor .phone-view-options,.phone-monitor .mobile-sources{display:inline-flex;width:40px;min-height:40px}.phone-monitor .view-options{display:none}.phone-monitor .view-options.open{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;position:absolute;right:0;top:calc(100% + 4px);z-index:24;width:min(320px,100%);padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 10px 30px #0008}.phone-monitor .view-options button{min-height:40px}.phone-monitor .view-options .open-all-cameras{font-size:11px}.phone-monitor .view-options .workspace-actions{width:100%}.phone-monitor .view-options .workspace-actions button{min-width:40px;min-height:40px}.phone-monitor .mobile-sources[hidden],.phone-monitor .grid-status{display:none}.phone-monitor .camera-grid{grid-template-columns:var(--phone-columns)!important;gap:6px}.phone-monitor .camera-pages{touch-action:pan-y pinch-zoom}.phone-monitor .camera-grid .tile-top{padding:2px 4px;gap:4px;min-height:30px;background:linear-gradient(#080d1880,transparent)}.phone-monitor .camera-grid .tile-name{flex:1;font-size:10px;min-width:0}.phone-monitor .tile-name>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-monitor .camera-grid .record-pill{flex-shrink:0;font-size:0;gap:0;padding:0;border:0;background:none}.phone-monitor .camera-grid .record-pill.neutral{display:none}.phone-monitor .camera-grid .record-pill i{width:5px;height:5px}.phone-monitor .camera-grid .mobile-tile-menu{width:28px;min-height:28px;padding:3px;flex-shrink:0;background:#0e152040;border:0}.phone-monitor .detection-badges{top:auto;bottom:5px;left:5px;right:5px}.phone-monitor .detection-badge{padding:3px}.phone-monitor .detection-badge span{display:none}.phone-camera-controls{flex-shrink:0;border:1px solid var(--border);border-radius:8px;margin-top:5px;padding:3px 6px 5px;background:var(--panel)}.phone-controls-heading{display:flex;align-items:center;gap:6px}.phone-controls-heading strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.phone-controls-heading .icon-button{width:28px;min-height:28px;padding:4px}.phone-camera-controls .tile-actions{opacity:1;gap:3px;justify-content:flex-start}.phone-camera-controls .tile-actions .icon-button{width:34px;min-height:34px}.phone-camera-controls .stream-picker{flex:1;min-width:96px;max-width:180px;min-height:34px;font-size:11px}.camera-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:5px}.camera-pager>span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.camera-pager button{width:40px;min-height:40px}.camera-pager select{min-height:36px;width:auto;padding:4px 24px 4px 8px;font-size:11px}.phone-monitor .restore-grid{min-height:40px;width:40px;justify-content:center;padding:6px;margin:0}.phone-monitor .restore-grid span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.phone-monitor .timeline-panel{margin-top:4px}.phone-monitor .playback-controls{display:grid;grid-template-columns:1fr auto;gap:3px;padding:4px}.phone-monitor .sync-badge,.phone-monitor .control-divider{display:none}.phone-monitor .playback-time-controls{grid-column:1 / -1;order:3;width:100%}.phone-monitor .date-control input{min-height:30px;padding:3px;font-size:11px}.phone-monitor .transport button{min-height:32px}.phone-monitor .timeline-body{max-height:64px}.phone-monitor .timeline-footer{padding:3px 5px;gap:4px}.phone-monitor .timeline-footer button{min-height:30px;padding:3px 7px;font-size:10px}.phone-monitor .timeline-legend{display:none}@media(max-width:640px){body{min-width:320px}.phone-monitor{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.phone-monitor .rail{height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}}@media(max-height:500px){.phone-monitor .workspace-heading,.phone-monitor .system-meters{display:none}.phone-monitor .app-header{height:32px}.phone-monitor .timeline-footer{display:flex}.phone-monitor .playback-controls{grid-template-columns:auto 1fr auto}.phone-monitor .playback-time-controls{grid-column:auto;order:0}.phone-monitor .timeline-body{max-height:40px}.phone-monitor .view-toolbar .camera-pager{padding-top:0;gap:3px;flex-shrink:0}.phone-monitor .view-toolbar .camera-pager select{max-width:115px}}.camera-order-buttons{display:flex;flex-direction:column;gap:2px}.camera-order-buttons .icon-button{width:32px;min-height:32px}.device-list+.discovery-panel{margin-top:24px}@media(min-width:641px)and (max-height:500px){.phone-monitor .rail-brand{height:32px;min-height:32px;margin:0 0 4px}.phone-monitor .rail-links,.phone-monitor .rail-bottom{gap:2px}.phone-monitor .rail-item{min-height:36px;height:36px}.phone-monitor .rail-bottom{padding-bottom:4px}.phone-monitor .rail .avatar{display:none}}.performance-settings{margin:20px 0;padding-top:16px;border-top:1px solid var(--border)}.performance-settings>summary{cursor:pointer;font-weight:600;color:var(--green)}.performance-settings>p{margin:12px 0 20px;color:var(--muted);line-height:1.5}.kiosk-view{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;overflow:hidden;background:#000;cursor:none}.kiosk-grid{display:grid;width:100%;height:100%;gap:2px}.kiosk-cell,.kiosk-tile{position:relative;min-width:0;min-height:0;overflow:hidden;background:#050608}.kiosk-cell-focused{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.kiosk-cell[data-obscured]{visibility:hidden}.kiosk-return{position:absolute;z-index:2;right:12px;top:12px;background:#10141cd9}.kiosk-focus-target{pointer-events:auto}.kiosk-cell:focus-visible,.kiosk-focus-target:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.kiosk-tile,.kiosk-empty{width:100%;height:100%}.kiosk-tile video{display:block;width:100%;height:100%}.kiosk-camera-name{position:absolute;top:0;left:0;max-width:100%;padding:6px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(10px,1vw,16px);color:#fff;background:#0009;pointer-events:none}.kiosk-tile-status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;color:var(--muted);font-size:clamp(10px,1vw,14px);text-align:center;pointer-events:none}.kiosk-tile>.detection-badges,.kiosk-render-label>.detection-badges{top:6px;left:6px;right:6px}.kiosk-camera-name~.detection-badges{top:38px}.kiosk-fullscreen{position:absolute;z-index:2;right:12px;bottom:12px;opacity:0;transition:opacity .2s;background:#10141cd9}.kiosk-tile-status button{pointer-events:auto}.kiosk-controls-visible{cursor:default}.kiosk-view:not(.kiosk-controls-visible),.kiosk-view:not(.kiosk-controls-visible) *{cursor:none!important}.kiosk-controls-visible .kiosk-fullscreen,.kiosk-fullscreen:focus-visible{opacity:1}.kiosk-unavailable{display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:24px;text-align:center}.kiosk-unavailable h1,.kiosk-unavailable p{margin:0}.kiosk-unavailable p{max-width:48rem;color:var(--muted);font-size:.95rem;line-height:1.6}.public-layout-card{display:flex;gap:18px;align-items:center}.public-layout-copy{flex:1;min-width:0}.public-layout-copy a{color:var(--green);overflow-wrap:anywhere}.public-layout-copy h3{margin:0 0 8px}.public-layout-actions{display:flex;gap:8px;flex-wrap:wrap}.public-layout-actions .button{font-size:inherit}.public-path{display:flex;align-items:center;gap:8px}.public-path input{min-width:0;flex:1}@media(max-width:800px){.public-layout-card{flex-wrap:wrap}.public-layout-actions{width:100%}}.public-editor-fields{border:0;padding:0;margin:0;min-width:0}.public-editor-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.public-editor-header h1{margin:6px 0;font-size:28px}.public-editor-header p{color:var(--muted);margin:8px 0 0}.public-editor-name{display:block;max-width:440px;margin-bottom:16px}.public-editor-name input{width:100%;margin-top:6px}.public-editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.public-editor-toolbar button{padding:9px 12px}.public-editor-toolbar .check-row{margin:0 0 0 auto;white-space:nowrap}.public-grid-presets{display:flex;gap:4px}.public-grid-presets button{min-width:48px}.public-grid-presets button[aria-pressed=true]{background:#a7ed891c;border-color:var(--green);color:var(--green)}.public-editor-help{color:var(--muted);line-height:1.5;font-size:13px}.public-editor-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:start}.public-camera-picker{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px;min-width:0}.public-camera-picker>p{font-size:12px;margin:10px 0}.public-camera-search{display:flex;flex-direction:row;align-items:center;gap:8px}.public-camera-search input{min-width:0;width:100%;padding:9px}.public-camera-options{display:flex;flex-direction:column;gap:6px;max-height:56vh;overflow-y:auto}.public-camera-options button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:10px 8px;cursor:grab}.public-camera-options button:active{cursor:grabbing}.public-camera-options button.assigned{border-color:#659a5355;background:#91c47910}.public-camera-options button>span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:12px}.public-camera-options small{display:block;color:var(--muted);font-size:10px}.public-camera-options svg{flex-shrink:0}.public-editor-canvas{min-width:0}.public-editor-grid{display:grid;gap:5px;width:100%;height:clamp(240px,54vh,720px);background:#050608;border-radius:8px;padding:4px}.public-editor-tile{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:4px;background:#090c11}.public-editor-tile.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.public-editor-tile.drop-target{border:3px solid var(--green)}.public-editor-tile.moving{opacity:.6;outline:2px dashed var(--green);outline-offset:-5px}.public-tile-select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-radius:0;padding:0;background:transparent;align-items:flex-start;cursor:grab}.public-tile-select:hover{background:#a3db7810}.public-tile-select:focus-visible{outline-offset:-4px}.public-tile-caption{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:6px;background:linear-gradient(#000b,#0005);padding:7px;text-align:left;color:#f1f5f9;font-size:11px;pointer-events:none}.public-tile-caption>span:first-child{color:#a8b3c2;font-variant-numeric:tabular-nums}.public-tile-caption>span:nth-child(2){flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.public-tile-caption>svg{flex-shrink:0}.public-editor-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;padding:30px 8px 8px;color:var(--muted);font-size:12px;text-align:center;overflow:hidden}.public-editor-placeholder>span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.public-editor-tile .kiosk-tile-status{padding-top:35px;font-size:11px}.public-editor-tile .kiosk-tile-status button{position:relative;z-index:2}.public-tile-inspector{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.public-tile-inspector>strong{flex:1;min-width:100px;font-size:13px}.public-tile-inspector>strong>span{display:block;color:var(--muted);font-weight:400;margin-top:4px;overflow-wrap:anywhere}.public-tile-inspector>label{font-size:11px;min-width:0}.public-tile-inspector select{display:block;width:100%;max-width:240px;padding:8px;margin-top:4px}.public-tile-inspector button{font-size:12px;padding:10px}.public-editor-feedback{min-height:20px;color:var(--green);font-size:12px;margin:8px 0}.public-publish-settings{border:1px solid var(--border);border-radius:10px;padding:16px;margin-top:16px}.public-publish-settings summary{cursor:pointer;font-weight:600;color:var(--green)}.public-publish-settings .form-grid{margin-top:20px}.public-editor-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}@media(max-width:800px){.public-editor-header{align-items:stretch;flex-direction:column}.public-editor-header h1{font-size:23px}.public-editor-header .public-layout-actions{justify-content:space-between}.public-editor-workspace{grid-template-columns:minmax(0,1fr);gap:6px}.public-editor-canvas{grid-row:1}.public-editor-grid{height:clamp(220px,40vh,480px)}.public-camera-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:200px}.public-camera-options button{min-height:48px}.public-tile-inspector>label{flex:1;min-width:140px}.public-editor-toolbar button{font-size:12px}.public-editor-toolbar .check-row{margin-left:0}.public-editor-placeholder{font-size:10px}.public-tile-caption{font-size:10px;padding:5px}.public-publish-settings{padding:12px}}.public-link-address{max-width:320px;margin-bottom:8px;font-size:11px}.public-link-address select{width:100%;min-width:0;padding:8px}.schedule-management{max-width:1250px;margin-inline:auto}.schedule-management h1{display:flex;align-items:center;gap:10px}.schedule-management .settings-card>label{max-width:600px}.schedule-fields{border:0;padding:0;margin:20px 0;min-width:0}.schedule-fields:disabled{opacity:.55}.schedule-fields[disabled] .schedule-track{pointer-events:none}.schedule-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.schedule-mode{background:#1a222e}.schedule-mode span{width:10px;height:10px;border-radius:2px;flex-shrink:0}.schedule-mode.continuous span,.schedule-block.continuous{background:#639c75}.schedule-mode.event span,.schedule-block.event{background:#ddb064}.schedule-mode.off span,.schedule-block.off{background:#303b4a}.schedule-mode.selected{background:#202f28;outline:2px solid var(--accent, #abe985);outline-offset:1px}.schedule-axis,.schedule-day{display:grid;grid-template-columns:100px minmax(0,1fr) 38px;align-items:center;gap:8px}.schedule-axis>div{display:flex;justify-content:space-between;font-size:10px;color:#91a0b4;padding:8px 0}.schedule-day{min-height:48px;font-size:13px}.schedule-track{position:relative;height:32px;border-radius:5px;background:#303b4a;cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;outline-offset:3px}.schedule-track:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(to right,transparent 0,transparent calc(25% - 1px),#0e16284d calc(25% - 1px),#0e16284d 25%);border:1px solid #92a3ba33;border-radius:inherit}.schedule-block{position:absolute;top:0;bottom:0;pointer-events:none}.schedule-block:first-child{border-radius:4px 0 0 4px}.schedule-block:last-of-type{border-radius:0 4px 4px 0}.schedule-drag-label{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#15202e;color:#fff;border:1px solid #738098;border-radius:4px;padding:3px 6px;white-space:nowrap;z-index:2;pointer-events:none}.schedule-periods{display:grid;gap:6px;max-height:220px;overflow-y:auto;margin:15px 0}.schedule-period{justify-content:space-between;text-align:left;border-left-width:4px}.schedule-period.continuous{border-left-color:#639c75}.schedule-period.event{border-left-color:#ddb064}.schedule-period.off{border-left-color:#52627a}@media(max-width:650px){.schedule-management .settings-card{padding:14px}.schedule-day,.schedule-axis{grid-template-columns:70px minmax(0,1fr) 32px;gap:6px}.schedule-day{font-size:11px}.schedule-mode{font-size:12px;padding:9px}.schedule-axis>div{font-size:8px}.schedule-period{font-size:12px;gap:8px}}.timeline-summary{display:flex;flex-shrink:0;border-top:2px solid #648f89;background:#19282c}.timeline-summary .summary-label{display:grid;grid-template-columns:16px 1fr;align-content:center;column-gap:5px;row-gap:3px;padding:7px 8px;box-sizing:border-box;color:#d2e7df}.summary-label strong{font-size:10px;line-height:1.2}.summary-label small{grid-column:2;font-size:9px;color:#adc4c0}.summary-track{height:44px;padding-bottom:0}.summary-recordings,.summary-events{position:absolute;left:0;right:0;height:13px}.summary-recordings{top:6px;background:#10191b66}.summary-events{top:24px}.summary-coverage{position:absolute;height:100%;min-width:1px;background:#659a78;border-radius:2px}.summary-event{position:absolute;top:0;height:12px;min-height:12px;width:5px;padding:0;border:0;border-radius:2px;transform:translate(-50%)}.summary-event.motion{height:6px;min-height:6px;background:#e0b265}.summary-event.smart{top:7px;height:6px;min-height:6px;background:#75a6e0}.summary-playhead{pointer-events:none}.summary-scroll-spacer{flex:0 0 18px;background:#101722}.phone-monitor .timeline-summary .summary-label{grid-template-columns:1fr;padding:3px 5px}.phone-monitor .summary-label small,.phone-monitor .summary-label svg{display:none}.phone-monitor .summary-track{height:32px}.phone-monitor .summary-recordings{top:3px;height:10px}.phone-monitor .summary-events{top:17px}@media(pointer:coarse){.summary-scroll-spacer{flex-basis:24px}}@media(max-width:650px){.timeline-summary .summary-label{grid-template-columns:1fr;gap:2px;padding:5px}.summary-label svg{display:none}.summary-label small{grid-column:1}}.bulk-camera-list{margin:12px 0 18px}.bulk-camera-list ul{max-height:120px;overflow:auto}.bulk-settings-section{border:1px solid #303b4b;border-radius:8px;margin:12px 0}.bulk-settings-section>summary{padding:14px;font-weight:600;cursor:pointer}.bulk-setting{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,1fr);gap:12px;align-items:center;padding:10px 14px;border-top:1px solid #273241}.bulk-setting.chosen{background:#a8e98508}.bulk-setting .check-row{margin:0;font-size:13px}.bulk-setting-value{min-width:0}.bulk-setting-value small{display:block;margin-top:6px;color:#96a6bd}.bulk-region{display:flex;gap:4px}.bulk-region input{min-width:0;padding-inline:6px}.bulk-review dl>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #303b4b}.bulk-review dd{margin:0;overflow-wrap:anywhere}@media(max-width:650px){.bulk-setting{grid-template-columns:1fr;gap:8px}.bulk-setting-value{padding-left:30px}}.kiosk-rendered{display:grid;place-items:center;width:100%;height:100%}.kiosk-render-stage{position:relative;width:min(100vw,calc(100dvh * 16 / 9));aspect-ratio:16 / 9;overflow:hidden}.kiosk-render-stage>video{display:block;width:100%;height:100%;object-fit:contain}.kiosk-render-stage>video:not([src]){visibility:hidden}.kiosk-render-labels{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;gap:2px;pointer-events:none}.kiosk-render-label{position:relative;min-width:0;min-height:0;overflow:hidden}.kiosk-render-warning{position:absolute;bottom:12px;left:12px}.kiosk-audio-warning{position:absolute;right:6px;bottom:6px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border-radius:5px;background:#10141ce6;color:var(--amber);pointer-events:none}.kiosk-fps-indicator{display:inline-flex;align-items:center;gap:4px;padding:3px 5px;border:1px solid #e3b45d80;border-radius:4px;background:#171c26;color:var(--amber);font-size:10px;line-height:14px;white-space:nowrap;pointer-events:auto}.kiosk-render-label>.kiosk-fps-indicator{position:absolute;top:6px;right:6px}.kiosk-render-label:has(>.kiosk-fps-indicator)>.kiosk-camera-name{max-width:max(0px,calc(100% - 74px))}.kiosk-render-label:has(>.kiosk-fps-indicator)>.detection-badges{right:74px}.kiosk-render-focused .kiosk-render-label>.kiosk-fps-indicator{top:64px}.kiosk-audio{position:absolute;right:70px;bottom:12px;z-index:4;max-width:calc(100vw - 88px);cursor:default}.kiosk-audio-bar{display:flex;gap:4px;justify-content:flex-end}.kiosk-audio-bar button{background:#10141cee;min-height:42px;padding:8px 12px}.kiosk-audio-bar small{color:var(--green);font-variant-numeric:tabular-nums}.kiosk-audio-action{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.kiosk-audio-action small{color:var(--muted);font-size:11px;font-weight:400}.public-hls-settings{padding:16px;border:1px solid var(--border);border-radius:10px}.public-hls-settings>.form-grid{margin-top:16px}.public-hls-link{margin-top:12px}.public-hls-link input{width:100%;min-width:0;font-size:12px}.kiosk-audio-panel{position:absolute;right:0;bottom:calc(100% + 8px);width:min(360px,calc(100vw - 28px));max-height:min(60dvh,480px);overflow-y:auto;padding:14px;border:1px solid var(--border);border-radius:12px;background:#151c25;box-shadow:0 8px 30px #0007}.kiosk-audio-panel header{display:flex;justify-content:space-between;align-items:center}.kiosk-audio-panel p{color:var(--muted);font-size:12px;line-height:1.5;margin:8px 0}.kiosk-audio-channel{display:flex;flex-direction:row;text-align:left;align-items:center;gap:12px;min-height:52px;border-top:1px solid var(--border);padding:10px 0}.kiosk-audio-channel>span{min-width:0}.kiosk-audio-channel strong{display:block;overflow-wrap:anywhere;font-size:13px}.kiosk-audio-channel small,.public-audio-setting small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.kiosk-audio-channel input[type=checkbox]{width:18px;height:18px;flex-shrink:0}.public-audio-setting{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) auto;align-items:center;gap:18px;padding:12px 0;border-top:1px solid var(--border)}@media(max-width:700px){.public-audio-setting{grid-template-columns:1fr;gap:10px}.kiosk-audio{right:62px;bottom:10px;max-width:calc(100vw - 74px)}.kiosk-audio-panel{width:min(340px,calc(100vw - 76px))}}.workspace-loading{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:40;padding:10px 16px;border-radius:8px;background:#151c25;pointer-events:none}.kiosk-unavailable>.loading-spinner{width:32px;height:32px}.event-snapshot .loading-status{font-size:10px}.event-snapshot .loading-status>span:last-child{display:none}.workspace-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.sources-panel .workspace-fold{margin-left:auto}.workspace-actions .icon-button{min-height:32px}.event-panel .panel-heading{gap:8px}.event-panel .panel-heading>.icon-button{margin-left:auto}@media(min-width:961px){.sources-panel.folded{display:none}}@media(max-width:960px){.workspace-fold{display:none}}@media(max-width:1279px){.monitor-page .event-panel{display:flex;position:fixed;z-index:35;top:62px;right:0;bottom:65px;width:min(320px,calc(100vw - 24px));box-shadow:-12px 0 40px #0008}}
