.tl-bar{--tl-band:#3b82f6;--tl-motion:#f59e0b;--tl-alarm:#ef4444;--tl-bg:#070a10;background:var(--tl-bg);border-top:1px solid var(--line);-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;gap:4px;margin:0 -12px;padding:6px 12px 8px;display:flex}.tl-top{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.tl-top-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.tl-readout{align-items:baseline;gap:10px;display:flex}.tl-clock{letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.tl-live-tag{letter-spacing:.08em;color:var(--tl-alarm);font-size:12px;font-weight:800}.tl-msg{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.op-date{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);width:auto;color:inherit;font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:5px 9px}.tl-track{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:grab;touch-action:none;background:#0b0f17;height:62px;position:relative;overflow:hidden}.tl-track:active{cursor:grabbing}.tl-ruler{border-bottom:1px solid var(--line);height:20px;position:absolute;top:0;left:0;right:0}.tl-tick{border-left:1px solid var(--faint);width:0;position:absolute;top:12px;bottom:0}.tl-tick.major{border-left-color:var(--muted);top:6px}.tl-tick span{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px;position:absolute;top:-12px;left:3px}.tl-lane{position:absolute;left:0;right:0}.tl-any{height:5px;top:23px}.tl-cam{height:26px;top:31px}.tl-band{background:var(--tl-band);opacity:.55;border-radius:2px;position:absolute;top:0;bottom:0}.tl-band.pending{background:repeating-linear-gradient(45deg, var(--tl-band) 0 4px, transparent 4px 8px)}.tl-marker{background:var(--mk,var(--tl-motion));cursor:pointer;border:0;border-radius:2px;width:4px;margin-left:-2px;padding:0;position:absolute;top:3px;bottom:3px}.tl-marker.alarm{background:var(--mk,var(--tl-alarm));width:5px}.tl-sel{border-left:1px solid var(--amber);border-right:1px solid var(--amber);pointer-events:none;background:#fab8192e;position:absolute;top:20px;bottom:0}.tl-handle{border-left:2px solid var(--amber);width:0;color:var(--amber);pointer-events:none;font-size:14px;font-weight:800;position:absolute;top:20px;bottom:0}.tl-handle.in{padding-left:3px}.tl-handle.out{text-align:right;border-left:0;border-right:2px solid var(--amber);width:auto;margin-left:0;padding-right:3px;transform:translate(-100%)}.tl-playhead{background:var(--tl-alarm);pointer-events:none;z-index:2;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.tl-tag{background:var(--tl-alarm);color:#fff;white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:700;position:absolute;bottom:2px;left:5px}.tl-empty{position:absolute;top:34px;left:12px}.tl-transport{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.tl-left{align-items:center;gap:12px;min-width:0;display:flex}.tl-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tl-controls{align-items:center;gap:6px;display:flex}.tl-play{min-width:48px}.tl-speed{padding:5px 8px}.tl-right{justify-content:flex-end;align-items:center;gap:10px;display:flex}.btn.live{color:var(--tl-alarm);font-weight:700}.btn.live:disabled{opacity:1;cursor:default;background:#ef444429;border-color:#ef444499}@media (width<=900px){.tl-top,.tl-transport{grid-template-columns:1fr;justify-items:center}}.tl-bm{cursor:pointer;z-index:1;background:currentColor;border:1px solid #0b0f17;width:11px;height:11px;margin-left:-5.5px;padding:0;position:absolute;bottom:1px;transform:rotate(45deg)scale(.8)}.tl-bm:hover,.tl-bm:focus-visible{outline:1px solid #fff;transform:rotate(45deg)scale(1)}.tl-bm-band{opacity:.85;pointer-events:none;height:3px;position:absolute;bottom:0}.tl-band.low{opacity:.25}.tl-legend{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.tl-key{background:var(--tl-band);opacity:.55;border-radius:2px;width:12px;height:8px;display:inline-block}.tl-key.low{opacity:.25;margin-left:4px}.tl-band.edge{opacity:1;background:repeating-linear-gradient(-45deg,#ffffff47 0 2px,#0000 2px 6px)}.op-ptz{z-index:3;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute;bottom:8px;left:8px}.op-ptz-pad{grid-template-rows:repeat(3,30px);grid-template-columns:repeat(3,30px);gap:3px;display:grid}.op-ptz .btn{background:#0009}.op-ptz .btn.on{background:#1a7fd48c}.op-ptz-btn{touch-action:none;justify-content:center;align-items:center;padding:0;display:flex}.op-ptz-btn.u{grid-area:1/2}.op-ptz-btn.l{grid-area:2/1}.op-ptz-btn.r{grid-area:2/3}.op-ptz-btn.d{grid-area:3/2}.op-ptz-btn.zi{grid-area:1/1}.op-ptz-btn.zo{grid-area:3/1}.op-ptz-menu{border:1px solid var(--line);border-radius:var(--radius-sm);background:#0a0c10eb;flex-direction:column;gap:4px;min-width:190px;max-height:220px;padding:8px;display:flex;overflow-y:auto}.op-ptz-preset{gap:4px;display:flex}.op-ptz-preset .btn:first-child{text-align:left;flex:1}.op-ptz-empty{color:var(--muted);font-size:12px}.op-ptz-save{gap:4px;margin-top:2px;display:flex}.op-ptz-save input{flex:1;min-width:0}.op-ptz-note{border-radius:var(--radius-sm);max-width:240px;color:var(--red);cursor:pointer;background:#000000bf;padding:4px 8px;font-size:12px}.alarm-instructions{border-left:3px solid var(--accent,#1a7fd4);border-radius:var(--radius-sm);white-space:pre-wrap;background:#1a7fd414;margin:8px 0 4px;padding:8px 10px;font-size:13px;line-height:1.45}.alarm-instructions>div+div{margin-top:4px}.rule-list{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.rule-row{flex-direction:column;gap:6px;display:flex}.rule-row.off{opacity:.6}.rule-head{align-items:center;gap:10px;display:flex}.rule-head strong{overflow-wrap:anywhere;flex:1;min-width:0}.rule-pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rule-pills .grow{flex:1}.rule-ins{color:var(--muted);white-space:pre-wrap;font-size:12.5px}.chip-grid{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.chip input{margin:0}.chip.on{border-color:var(--accent,#1a7fd4);background:#1a7fd424}.time-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.time-row label.field{margin-bottom:0}.push-card{margin-top:8px}.push-card h2{margin-bottom:6px;font-size:16px}.push-modes{flex-direction:column;gap:8px;margin:12px 0;display:flex}.push-mode{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.push-mode.on{border-color:var(--accent,#1a7fd4)}.push-mode input{margin-top:3px}.switch-row{align-items:center;gap:10px;display:flex}.fp-tabs{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.fp-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-weight:600}.fp-tabs button:hover{background:var(--raised);color:var(--text)}.fp-tabs button.on{color:var(--text);background:#1a7fd42e}.fp-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.fp-bar .grow{flex:1}.fp-body{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:14px;display:grid}.fp-side{flex-direction:column;gap:8px;padding:12px;display:flex}.fp-hint{min-height:2.6em}.fp-cams{flex-direction:column;gap:3px;max-height:420px;display:flex;overflow-y:auto}.fp-cam{text-align:left;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 8px;display:flex}.fp-cam:hover{background:var(--raised)}.fp-cam.on{border-color:var(--accent);background:#1a7fd42e}.fp-cam.sel{border-color:var(--line)}.fp-heading{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:10px;display:flex}.fp-check{align-items:center;gap:6px;font-size:13px;display:flex}.fp-dial{align-items:center;gap:8px;display:flex}.fp-dial input{flex:1}.fp-stage{min-width:0}.fp-plan{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;width:100%;position:relative}.fp-plan.edit{touch-action:none}.fp-plan.placing{cursor:crosshair}.fp-plan>img{width:100%;height:100%;display:block;position:absolute;inset:0}.fp-pin{cursor:pointer;background:0 0;border:0;width:0;height:0;padding:0;position:absolute;overflow:visible}.fp-plan.edit .fp-pin{cursor:grab}.fp-plan.edit .fp-pin:active{cursor:grabbing}.fp-dot{background:var(--accent);border:2px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;top:-9px;left:-9px;box-shadow:0 1px 4px #00000080}.fp-pin.sel .fp-dot{background:var(--amber)}.fp-pin.offline .fp-dot{background:#8a93a3}.fp-pin.alarm .fp-dot{background:var(--red);animation:1.1s ease-out infinite fp-pulse}.fp-pin:focus-visible .fp-dot{outline-offset:2px;outline:2px solid #fff}.fp-cone{pointer-events:none;width:44px;height:44px;position:absolute;top:-22px;left:-22px}.fp-cone:before{content:"";border-bottom:20px solid #1a7fd48c;border-left:9px solid #0000;border-right:9px solid #0000;width:0;height:0;margin-left:-9px;position:absolute;top:0;left:50%}.fp-pin.alarm .fp-cone:before{border-bottom-color:#ff3b3099}.fp-label{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:2;background:#000000b8;border-radius:4px;padding:1px 6px;font-size:11px;position:absolute;top:-10px;left:12px}.fp-pin:hover .fp-label,.fp-pin.sel .fp-label,.fp-pin:focus-visible .fp-label{opacity:1}@keyframes fp-pulse{0%{box-shadow:0 0 #ff3b30bf}to{box-shadow:0 0 0 16px #ff3b3000}}@media (prefers-reduced-motion:reduce){.fp-pin.alarm .fp-dot{animation:none;box-shadow:0 0 0 5px #ff3b3073}}@media (width<=820px){.fp-body{grid-template-columns:minmax(0,1fr)}}.op-map{flex:1;min-height:0;padding:8px 2px 20px;overflow-y:auto}.op-map .fp-plan{margin:0 auto}.op-map-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.op-map-bar .grow{flex:1}.zn-pick{flex-direction:column;gap:2px;min-width:200px;display:flex}.zn-list{flex-direction:column;gap:8px;max-height:460px;display:flex;overflow-y:auto}.zn-row{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;gap:6px;padding:8px;display:flex}.zn-row.sel{border-color:var(--accent);background:#1a7fd41f}.zn-row-top,.zn-row-bottom{align-items:center;gap:6px;display:flex}.zn-row-top input,.zn-row-bottom select{flex:1;min-width:0}.zn-swatch{border-radius:3px;flex:none;width:12px;height:12px}.zn-swatch.detect{background:#2fbf71}.zn-swatch.mask{background:#ff453a}.zn-swatch.line{background:#ffb340;border-radius:2px;width:16px;height:4px}.zn-canvas{cursor:default;background-image:linear-gradient(45deg,#ffffff0a 25%,#0000 25% 75%,#ffffff0a 75%),linear-gradient(45deg,#ffffff0a 25%,#0000 25% 75%,#ffffff0a 75%);background-position:0 0,12px 12px;background-size:24px 24px}.zn-canvas.placing{cursor:crosshair}.zn-nopic{text-align:center;pointer-events:none;position:absolute;top:8px;left:0;right:0}.zn-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.zn-poly{stroke-width:2px;vector-effect:non-scaling-stroke}.zn-poly.detect{fill:#2fbf7138;stroke:#2fbf71}.zn-poly.mask{fill:#0000009e;stroke:#ff453a}.zn-poly.line{fill:none;stroke:#ffb340;stroke-width:3px}.zn-arrow-head{fill:#ffb340;stroke-width:1px}.zn-poly.off{stroke-dasharray:6 4;fill-opacity:.08}.zn-poly.sel{stroke-width:3px}.zn-poly.drawing{fill:none;stroke-dasharray:4 3}.zn-vertex{background:var(--accent);cursor:grab;touch-action:none;border:2px solid #fff;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;padding:0;position:absolute;box-shadow:0 1px 3px #0009}.zn-vertex:active{cursor:grabbing}.zn-vertex.drawing{cursor:crosshair;pointer-events:none;background:var(--amber)}.zn-vertex.drawing.first{width:16px;height:16px;margin:-8px 0 0 -8px}.admin-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.admin-head .grow{flex:1}.admin-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-size:11px;font-weight:700}.admin-shell{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:20px;display:grid}.admin-side{max-height:calc(100vh - 16px);padding-right:4px;position:sticky;top:8px;overflow-y:auto}.admin-main{min-width:0}.admin-menu,.admin-scrim{display:none}.nav-filter{box-sizing:border-box;width:100%;margin-bottom:8px}.nav-row{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.nav-row:hover{background:var(--raised);color:var(--text)}.nav-row.on{color:var(--text);background:#1a7fd42e}.nav-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-root{color:var(--text);font-size:14px}.nav-cat{text-transform:uppercase;letter-spacing:.04em;margin-top:6px;font-size:11px}.nav-leaf{padding-left:28px}.nav-chev{font-size:10px;transition:transform .12s;display:inline-block}.nav-chev.open{transform:rotate(90deg)}.nav-none{color:var(--faint);padding:8px 10px;font-size:13px}.admin-crumbs{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:10px}.admin-crumbs ol{color:var(--muted);flex-wrap:wrap;align-items:baseline;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.admin-crumbs li+li:before{content:"›";color:var(--faint);margin:0 8px}.admin-crumbs strong{color:var(--text)}.admin-welcome{max-width:640px;padding:24px 0}.welcome-mark{width:48px;height:48px}.nav-glyph{flex:none;width:18px;height:18px}.welcome-links{padding-left:18px;line-height:1.9}.stat-card:focus-visible,.linkish:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-error{align-items:center;gap:10px;display:flex}.admin-error .grow{flex:1}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.head-input{width:auto;min-width:160px}.row-actions{text-align:right;white-space:nowrap}.row-actions .btn+.btn{margin-left:6px}tr.row-muted td{opacity:.55}.nowrap{white-space:nowrap}.load-more{justify-content:center;padding:12px 0 2px;display:flex}.confirm-body p{margin:0 0 10px}.field-label,fieldset.field>legend{color:var(--muted);margin-bottom:5px;padding:0;font-size:12px;font-weight:600;display:block}fieldset.field{border:0;min-width:0;margin:0 0 12px;padding:0}.field-problem{color:#ffb3ad;margin-top:4px;font-size:11px;display:block}.move-note{color:var(--amber)!important}.linkish{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}input[type=time],.modal textarea{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.picker{border:0;min-width:0;margin:0;padding:0}.picker .chip-grid{max-height:180px;overflow-y:auto}.picker-filter{margin-bottom:8px}.picker-foot{margin-top:6px}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.admin-stats .card+.card{margin-top:0}.stat-card{color:inherit;text-decoration:none;display:block}.stat-card:hover{border-color:#fff3}.stat-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.stat-value{font-variant-numeric:tabular-nums;margin:6px 0 8px;font-size:30px;font-weight:700}.storage-list{flex-direction:column;gap:14px;display:flex}.storage-row .meter{margin:6px 0}.storage-name{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.storage-figures{overflow-wrap:anywhere}.code-row{align-items:center;gap:8px;display:flex}.code-row .grow{flex:1;min-width:0;margin:0}.code-row input{flex:1;min-width:0}.log-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.log-lines{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.log-lines select{width:auto}.log-view{white-space:pre-wrap;overflow-wrap:anywhere;max-height:min(60vh,520px);line-height:1.45;overflow:auto}.directory-grid{margin-bottom:14px}.mappings,.ldap-test{margin-top:6px;border-top:1px solid var(--line)!important;padding-top:12px!important}.mapping{border:1px solid var(--line);border-radius:var(--radius-sm);margin:8px 0;padding:10px 10px 0}.mapping-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.mapping-row .grow{flex:1;min-width:160px}.mapping-row .btn{margin-bottom:12px}.sticky-actions{background:linear-gradient(transparent, var(--bg) 30%);justify-content:flex-end;gap:8px;padding:12px 0;display:flex;position:sticky;bottom:0}.health-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.health-head h2{flex:1;margin:0}.scope-field .check{margin-bottom:8px}@media (width<=860px){.head-input{flex:140px;min-width:0}.row-actions{white-space:normal}.row-actions .btn{margin:2px 0 2px 6px}}@media (width<=560px){.code-row{flex-direction:column;align-items:stretch}}@media (width<=860px){.admin-shell{grid-template-columns:minmax(0,1fr)}.admin-menu{display:inline-flex}.admin-side{z-index:30;background:var(--chrome);border-right:1px solid var(--line);width:min(300px,85vw);max-height:none;padding:14px;display:none;position:fixed;top:0;bottom:0;left:0}.drawer-open .admin-side{display:block}.drawer-open .admin-scrim{z-index:20;background:#00000080;display:block;position:fixed;inset:0}}.stat .meter{flex:1;min-width:60px;display:block}.log-pane{white-space:pre-wrap;overflow-wrap:anywhere;max-height:65vh;margin:0;font-size:12px;line-height:1.5;overflow:auto}.log-line.warn{color:var(--amber)}.log-line.error{color:var(--red)}.log-line.debug{color:var(--muted)}.rule-draft,.rule-templates{margin-bottom:14px}.rule-draft textarea{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);width:100%;color:inherit;font:inherit;resize:vertical;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;outline:none;padding:9px 11px}.rule-draft textarea:focus{border-color:var(--accent)}.rule-draft .btn .spinner{border-top-color:var(--text);width:12px;height:12px}.rule-templates>summary{cursor:pointer}.rule-templates>summary h2{margin:0;display:inline}.rule-templates[open]>summary{margin-bottom:12px}.template-group+.template-group{margin-top:14px}.template-group h3{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px;font-weight:700}.template-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.template-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);flex-direction:column;align-items:flex-start;gap:8px;padding:12px;display:flex}.template-card p{margin:0}.template-card .btn{margin-top:auto}.rule-draft-notes{border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--raised);margin-bottom:14px;padding:10px 12px}.rule-draft-notes p{margin:0 0 6px}.rule-draft-warnings{color:var(--amber);margin:0 0 8px;padding-left:18px;font-size:13px}.rule-draft-notes .hint{margin-top:0}.ins-stale{opacity:.6;transition:opacity .15s}.ins-tiles{margin-bottom:14px}.ins-grid{margin-top:14px}.ins-none{margin:0}.ins-recs{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ins-rec{border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;align-items:flex-start;gap:6px;padding:12px;display:flex}.ins-rec.attention{border-left-color:var(--amber)}.ins-rec.suggestion{border-left-color:var(--accent)}.ins-rec-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ins-rec p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.ins-rec .error{margin:0}.ins-rec a.btn{color:inherit;text-decoration:none}.badge.ins-info{color:var(--muted);background:var(--raised)}.ins-chart{width:100%;height:140px;display:block}.ins-hit{fill:#0000}.ins-chart g:hover .ins-hit{fill:var(--line)}.ins-base{stroke:var(--line);stroke-width:1px}.ins-peak{margin:-6px 0 10px}.ins-axis{color:var(--muted);justify-content:space-between;gap:10px;margin-top:6px;font-size:12px;display:flex}.ins-legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.ins-legend li,.ins-mix-kind{align-items:center;gap:6px;display:inline-flex}.ins-swatch{border-radius:3px;flex:none;width:10px;height:10px}.ins-k0{fill:var(--accent);background:var(--accent)}.ins-k1{fill:var(--amber);background:var(--amber)}.ins-k2{fill:var(--red);background:var(--red)}.ins-k3{fill:var(--green);background:var(--green)}.ins-other{fill:var(--faint);background:var(--faint)}.ins-mix{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ins-mix li{grid-template-columns:minmax(90px,1fr) minmax(60px,2fr) 8em;align-items:center;gap:10px;font-size:13px;display:grid}.ins-mix li>.mono{text-align:right}.ins-share{background:var(--bg);border:1px solid var(--line);border-radius:999px;height:8px;overflow:hidden}.ins-share>span{height:100%;display:block}.warn-text{color:var(--amber)}.ppl-privacy{line-height:1.45}.ppl-days input{width:90px}.ppl-days-row{align-items:center;gap:8px;display:flex}.ppl-strip{gap:10px;margin:0;padding:0 0 4px;list-style:none;display:flex;overflow-x:auto}.ppl-strip.ppl-grid{flex-wrap:wrap;overflow-x:visible}.ppl-face{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);flex-direction:column;flex:none;gap:6px;width:150px;padding:8px;display:flex}.ppl-crop{object-fit:cover;border-radius:var(--radius-sm);background:var(--bg);width:96px;height:96px;display:block}.ppl-face-actions{flex-wrap:wrap;gap:4px;display:flex}.plt-filter{max-width:280px;margin-bottom:10px}.plt-plate{letter-spacing:.06em;font-weight:700}.plt-sightings{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.plt-sightings li{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.plt-sightings img,.plt-sightings .event-ph{aspect-ratio:16/9;object-fit:cover;background:var(--bg);width:100%;display:block}.plt-sightings .small{padding:6px 8px}.det-models{grid-column:1/-1}.det-meter{margin-top:6px}.server-dir{color:var(--muted);word-break:break-all;font-size:12px}.rec-section{margin-top:4px}.rec-modes{gap:6px;margin-bottom:10px;display:grid}.rec-mode{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.rec-mode.on{border-color:var(--accent);background:#1a7fd414}.rec-mode.disabled{opacity:.55;cursor:not-allowed}.rec-mode input{margin-top:3px}.rec-mode small{color:var(--muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.rec-tag{vertical-align:1px;margin-left:8px}.rec-estimate{margin:0 0 10px}.notice.warn{color:var(--amber);background:#fab8191f;border-color:#fab81966}.grid-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;gap:14px;display:grid}.rec-mode .linkish{cursor:pointer;font-size:inherit}.sub-field{margin-bottom:12px}.sub-field>small{color:var(--faint);margin-top:4px;font-size:11px;display:block}.sub-input{align-items:center;gap:8px;display:flex}.sub-input input{flex:1;min-width:0}.sub-input .btn{flex:none}.stream-picker{border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:8px;padding:10px}.stream-picker .notice{margin-bottom:8px}.stream-list{gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.stream-list li{border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;display:flex}.stream-list li.on{border-color:var(--accent)}.stream-what{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.stream-what .mono{overflow-wrap:anywhere;flex-basis:100%}.stream-actions{justify-content:flex-end;gap:8px;display:flex}.kind-picker{margin-bottom:14px}.kind-picker label{color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-weight:600;display:inline-flex;position:relative}.kind-picker label.on{background:var(--accent);color:#fff}.kind-picker input{opacity:0;pointer-events:none;position:absolute}.kind-picker label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.kind-picker .kind-note{opacity:.85;font-size:12px;font-weight:400}.phone-badge{vertical-align:1px;margin-left:8px}.phone-setup .notice{margin-bottom:10px}.phone-setup ol{gap:4px;margin:8px 0 12px;padding-left:22px;display:grid}.phone-note{align-items:center;gap:6px;display:flex}.push-key{margin-top:8px}.push-key .notice p{margin:0 0 8px}.push-key .row-actions{flex-wrap:wrap;gap:8px;display:flex}.upload-badge{margin-right:6px}.evidence-player video{border-radius:var(--radius-sm);background:#000;width:100%;max-height:70vh}:root{--bg:#0a0e14;--chrome:#111620;--panel:#151a25;--raised:#191f2b;--line:#ffffff17;--text:#f2f4f8;--muted:#f2f4f899;--faint:#f2f4f866;--accent:#1a7fd4;--amber:#fab819;--green:#12d478;--red:#ff3b30;--radius:12px;--radius-sm:8px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Ubuntu,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select{font:inherit;color:inherit}a{color:var(--accent)}h1,h2,h3{letter-spacing:-.01em;margin:0}h1{font-size:22px}h2{font-size:16px}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--chrome);border-right:1px solid var(--line);flex-direction:column;gap:4px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:4px 8px 18px;font-size:16px;font-weight:700;display:flex}.brand img{width:28px;height:28px}.brand small{color:var(--muted);font-size:11px;font-weight:500;display:block}.nav-item{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:9px 10px;font-weight:600;text-decoration:none;display:flex}.nav-item:hover{background:var(--raised);color:var(--text)}.nav-item.active{color:var(--text);background:#1a7fd42e}.nav-item .icon{text-align:center;width:18px}.sidebar .spacer{flex:1}.whoami{border-top:1px solid var(--line);color:var(--muted);padding:10px;font-size:12px}.whoami strong{color:var(--text);font-size:13px;display:block}.main{min-width:0;padding:22px 26px 40px}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-head .sub{color:var(--muted);margin-top:2px;font-size:13px}.page-head .grow{flex:1}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card+.card{margin-top:14px}.card h2{margin-bottom:12px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:14px;display:grid}.grid-2>.card+.card{margin-top:0}.btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--raised);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){border-color:#fff3}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);color:#fff;border-color:#0000}.btn.danger{color:var(--red)}.btn.small{padding:5px 10px;font-size:12px}.seg{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex}.seg button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 12px;font-weight:600}.seg button.on{background:var(--accent);color:#fff}label.field{margin-bottom:12px;display:block}label.field>span{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:600;display:block}label.field small{color:var(--faint);margin-top:4px;font-size:11px;display:block}input[type=text],input[type=password],input[type=email],input[type=number],select{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);outline:none;width:100%;padding:9px 11px}input:focus,select:focus{border-color:var(--accent)}.check{align-items:center;gap:8px;margin-bottom:12px;font-weight:600;display:flex}.error{color:#ffb3ad;border-radius:var(--radius-sm);background:#ff3b301f;border:1px solid #ff3b3059;margin-bottom:12px;padding:10px 12px}.notice{border-radius:var(--radius-sm);background:#1a7fd41f;border:1px solid #1a7fd459;margin-bottom:12px;padding:10px 12px}.empty{text-align:center;color:var(--muted);padding:48px 20px}.empty .big{margin-bottom:8px;font-size:34px}.badge{border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge.green{color:var(--green);background:#12d47824}.badge.red{color:var(--red);background:#ff3b3024}.badge.amber{color:var(--amber);background:#fab81924}.badge.blue{color:var(--accent);background:#1a7fd429}.dot{background:currentColor;border-radius:50%;width:7px;height:7px}table.list{border-collapse:collapse;width:100%}table.list th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);border-bottom:1px solid var(--line);padding:8px 10px;font-size:11px;font-weight:700}table.list td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px}table.list tr:last-child td{border-bottom:0}table.list .mono,.mono{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.table-wrap{overflow-x:auto}.live-grid{gap:12px;display:grid}.tile{border-radius:var(--radius);aspect-ratio:16/9;border:1px solid var(--line);cursor:pointer;background:#000;position:relative;overflow:hidden}.tile.focused{border-color:var(--accent)}.tile video{object-fit:contain;background:#000;width:100%;height:100%;display:block}.tile .overlay{pointer-events:none;background:linear-gradient(#000000b8,#0000);align-items:flex-start;gap:8px;padding:10px 12px 26px;display:flex;position:absolute;inset:0 0 auto}.tile .overlay .name{font-size:13px;font-weight:700}.tile .overlay .loc{color:#ffffffa6;font-size:11px}.tile .overlay .grow{flex:1}.tile .badge.phone{color:#fff;background:#ffffff2e;padding:2px 6px}.tile .rec{color:#fff;background:#0000008c}.tile .rec .dot{background:var(--red)}.tile .placeholder{color:var(--faint);text-align:center;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.tile .placeholder .big{margin-bottom:6px;font-size:28px;display:block}.rec-layout{grid-template-columns:320px 1fr;align-items:start;gap:14px;display:grid}.rec-list{max-height:calc(100vh - 170px);padding:6px;overflow-y:auto}.rec-day{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;padding:10px 8px 6px;font-size:11px;font-weight:700}.rec-item{border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:9px 10px;display:flex}.rec-item:hover{background:var(--raised)}.rec-item.on{background:#1a7fd42e}.player{border-radius:var(--radius);border:1px solid var(--line);background:#000;overflow:hidden}.player video{aspect-ratio:16/9;background:#000;width:100%;display:block}.modal-back{z-index:10;background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:min(520px,100%);max-height:calc(100vh - 40px);padding:20px;overflow-y:auto}.modal h2{margin-bottom:16px;font-size:18px}.modal .actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.modal .actions .grow{flex:1}.auth{background:radial-gradient(ellipse at top, #1a7fd42e, transparent 60%), var(--bg);place-items:center;min-height:100vh;padding:20px;display:grid}.auth .card{width:min(380px,100%);padding:26px}.auth .logo{justify-content:center;margin-bottom:14px;display:flex}.auth .logo img{width:52px;height:52px}.auth h1{text-align:center;margin-bottom:4px}.auth p.lead{text-align:center;color:var(--muted);margin:0 0 20px}.auth .btn{width:100%;padding:10px}.meter{background:var(--bg);border:1px solid var(--line);border-radius:999px;height:8px;overflow:hidden}.meter>div{background:var(--accent);height:100%}.stat{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:7px 0;display:flex}.stat>:last-child{text-align:right;overflow-wrap:anywhere}.stat:last-child{border-bottom:0}.stat span:first-child{color:var(--muted)}@media (width<=860px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{flex-flow:wrap;height:auto;padding:10px;position:static}.brand{width:100%;padding-bottom:4px}.sidebar .spacer,.whoami{display:none}.nav-item{width:auto}.rec-layout{grid-template-columns:1fr}.main{padding:16px}}.modal.wide{width:min(680px,100%)}.scan-status{color:var(--muted);align-items:center;gap:10px;padding:18px 4px;display:flex}.spinner{border:2px solid var(--line);border-top-color:var(--accent,#1a7fd4);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.scan-list{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;margin-bottom:14px;display:flex}.scan-row{align-items:center;gap:10px;padding:10px 12px;display:flex}.scan-row+.scan-row{border-top:1px solid var(--line)}.scan-row .grow{flex:1;min-width:0}.scan-row .mono{overflow-wrap:anywhere}.scan-manual{align-items:flex-end;gap:8px;margin-top:6px;display:flex}.scan-manual .grow{flex:1;margin-bottom:0}.hint{color:var(--muted);margin-top:-4px;font-size:12px;display:block}@media (width<=560px){.scan-row{flex-wrap:wrap}.scan-manual{flex-direction:column;align-items:stretch}.modal .actions{flex-wrap:wrap}.modal .actions .grow{flex-basis:100%;height:0}}.phones-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:16px;display:grid}.phones-grid .card{margin:0}.steps{margin:0 0 16px;padding-left:20px;line-height:1.8}.muted{color:var(--muted)}.small{font-size:12px}.pair-active{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.qr{border-radius:8px;flex:none;width:220px;height:220px}.pair-info{flex:1;min-width:180px}.pair-code{letter-spacing:3px;margin:2px 0 4px;font:700 28px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.remote-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.remote-row .grow{flex:1}.remote-url{overflow-wrap:anywhere}.notice.success{background:#34c7591f;border-color:#34c75966}@media (width<=560px){.qr{width:100%;max-width:280px;height:auto}}.nav-count{color:#fff;background:#e5484d;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.alarm-list{flex-direction:column;gap:10px;display:flex}.alarm-list .card{margin:0}.alarm.is-new{border-color:#e5484d8c}.alarm-head{align-items:center;gap:8px;display:flex}.alarm-head .grow{flex:1;min-width:0}.alarm-detail{margin:6px 0 4px}.alarm-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.alarm-actions .grow{flex:1}.evidence-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.response-log{color:var(--muted);margin:10px 0 0;padding-left:18px;font-size:13px}.select-inline{width:auto}.event-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.event-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:left;color:inherit;cursor:pointer;font:inherit;padding:0;overflow:hidden}.event-card img,.event-ph{aspect-ratio:16/9;object-fit:cover;background:#000;width:100%;display:block}.event-ph{color:var(--muted);place-items:center;font-size:12px;display:grid}.event-meta{padding:8px 10px;font-size:13px}.ai-bar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.ai-bar input{flex:1;min-width:220px}.ai-answer{margin-bottom:12px}.ai-text{white-space:pre-wrap;line-height:1.5}.kind-filter{margin-bottom:12px;display:inline-flex}.event-desc{color:var(--text,#e6e8ee);margin:4px 0 2px;font-size:12.5px;line-height:1.4}.event-card.toned{border-color:color-mix(in srgb, var(--tone) 55%, transparent)}.side-help{flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.side-help button.nav-item{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;width:100%}.modal textarea{background:var(--bg,#0b0d12);width:100%;color:inherit;border:1px solid var(--line);font:inherit;resize:vertical;border-radius:8px;padding:10px}.update-banner{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.update-banner .grow{flex:1;min-width:220px}.code-block{background:var(--bg,#0b0d12);border:1px solid var(--line);border-radius:var(--radius-sm);white-space:pre;margin:10px 0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow-x:auto}.cloud-card{max-width:760px}.cloud-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.cloud-head h2{flex:1;margin:0}.cloud-account{margin:-4px 0 8px}.cloud-lines{margin-bottom:4px}.cloud-value{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:inline-flex}.cloud-url{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.cloud-problem{text-align:right;margin:4px 0 6px}.cloud-form{max-width:420px}.cloud-form>p{margin:0 0 12px}.cloud-mode{margin-bottom:14px}.cloud-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px;display:flex}.cloud-form .cloud-actions{margin-top:4px}.cloud-error{margin:12px 0 0}.cloud-notice{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cloud-notice .grow{flex:1;min-width:200px}.cloud-foot{margin:14px 0 0}.cloud-renew{margin:12px 0 0}.cloud-plans{flex-direction:column;gap:6px;margin-top:14px;display:flex}.cloud-plan-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cloud-plan-row select{flex:0 auto;width:auto;max-width:100%}.cloud-resign{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.cloud-more{margin-top:16px}.cloud-more summary{cursor:pointer;color:var(--muted);margin-bottom:10px;font-weight:600}.cloud-banner{align-items:center;gap:8px;display:flex}.cloud-banner .grow{flex:1;min-width:0}@media (width<=560px){.cloud-value{justify-content:flex-start}.cloud-problem{text-align:left}.cloud-plan-row select{width:100%}}.kind-icon{margin-right:6px;font-weight:700;display:inline-block}.kind-icon-watchlist{color:var(--red)}.event-tags{vertical-align:middle;flex-wrap:wrap;gap:4px;margin-left:6px;display:inline-flex}.event-tag{border:1px solid var(--line);background:var(--raised);color:var(--text);border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.event-tag.plate{letter-spacing:.05em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.event-tag.person{color:var(--accent)}:root{--sp-xs:4px;--sp-sm:8px;--sp-md:12px;--sp-lg:16px;--sp-xl:24px;--r-sm:10px;--r-md:14px;--r-lg:20px}.op-icon{flex:none;display:block}.grow{flex:1}.op-menu{z-index:30;background:var(--raised);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;min-width:200px;padding:4px;display:flex;position:fixed;box-shadow:0 8px 24px #00000073}.op-menu.right{min-width:240px;position:absolute;top:calc(100% + 4px);left:auto;right:0}.op-menu button{color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;padding:7px 10px}.op-menu button:hover:not(:disabled){background:#ffffff14}.op-menu button:disabled{color:var(--faint);cursor:default}.op-menu button.danger{color:var(--red)}.op-menu-label{color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px;padding:6px 10px;font-size:12px}.op-rail{width:84px;padding:var(--sp-md) 6px var(--sp-sm);align-items:stretch;gap:var(--sp-xs);background:var(--chrome);border-right:1px solid var(--line);flex-direction:column;flex:none;min-height:0;display:flex}.op-rail-site{padding-bottom:var(--sp-xs);flex-direction:column;align-items:center;gap:6px;display:flex}.op-rail-badge{border-radius:var(--r-sm);width:40px;height:40px;color:var(--accent);background:#1a7fd42e;place-items:center;display:grid;position:relative}.op-rail-dot{background:var(--amber);width:10px;height:10px;box-shadow:0 0 0 2px var(--chrome);border-radius:50%;position:absolute;bottom:-3px;right:-3px}.op-rail-dot.on{background:var(--green)}.op-rail-site-name{color:#f2f4f8d9;text-align:center;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:100%;font-size:11px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.op-rail-items{scrollbar-width:none;flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow-y:auto}.op-rail-items::-webkit-scrollbar{display:none}.op-rail-item{border-radius:var(--r-sm);width:100%;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 5px;display:flex;position:relative}.op-rail-item:hover{color:var(--text);background:#ffffff0d}.op-rail-item.on{color:var(--accent);background:#1a7fd429}.op-rail-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.op-rail-icon{place-items:center;height:22px;display:grid;position:relative}.op-rail-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;font-weight:600;overflow:hidden}.op-rail-count{background:var(--red);color:#fff;text-align:center;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--chrome);border-radius:9px;padding:0 5px;font-size:11px;font-weight:800;line-height:18px;position:absolute;top:-8px;left:13px}.op-rail-foot{padding-top:var(--sp-sm);border-top:1px solid var(--line);flex-direction:column;flex:none;align-items:center;gap:2px;display:flex}.op-rail-foot .op-clock{text-align:center;min-width:0;font-size:13px}.op-rail-tool{border-radius:var(--r-sm);width:36px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.op-rail-tool:hover,.op-rail-tool.on{color:var(--text);background:#ffffff0f}.op-rail-settings{width:100%;position:relative}.op-rail-menu{min-width:240px;position:absolute;bottom:0;left:calc(100% + 10px)}.op-page-head{align-items:center;gap:var(--sp-md);padding:var(--sp-lg) 0 var(--sp-md);flex-wrap:wrap;flex:none;display:flex}.op-page-head.op-tb{padding:var(--sp-md) var(--sp-lg);background:0 0;border-bottom:0}.op-page-titles{flex:220px;min-width:0}.op-page-head h1{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:28px;font-weight:800;line-height:1.15;overflow:hidden}.op-page-sub{color:var(--muted);align-items:center;gap:6px;margin-top:3px;font-size:13px;font-weight:500;display:flex}.op-dot{background:var(--tone);border-radius:50%;flex:none;width:8px;height:8px}.op-page-tools{align-items:center;gap:var(--sp-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.op-section-head{justify-content:space-between;align-items:baseline;gap:var(--sp-md);margin-bottom:var(--sp-md);display:flex}.op-section-head h2{font-size:18px;font-weight:700}.op-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:15px;font-weight:600}.op-link:hover{text-decoration:underline}.op-chip{--tone:var(--accent);white-space:nowrap;color:var(--tone);background:color-mix(in srgb, var(--tone) 16%, transparent);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.op-chip.filled{color:#fff;background:var(--tone)}.op-chip.outlined{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 40%, transparent);background:color-mix(in srgb, var(--tone) 16%, #0000008c)}.op-chip.op-sev{letter-spacing:.04em;font-weight:800}.op-icon-tile{--tone:var(--accent);border-radius:var(--r-sm);color:var(--tone);background:color-mix(in srgb, var(--tone) 16%, transparent);flex:none;place-items:center;display:grid}.op-stats{gap:var(--sp-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.op-stat{--tone:var(--accent);align-items:flex-start;gap:var(--sp-sm);padding:var(--sp-lg);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);color:var(--text);text-align:left;font:inherit;cursor:pointer;flex-direction:column;min-width:0;display:flex}.op-stat:hover:not(:disabled){background:var(--raised)}.op-stat:disabled{cursor:default}.op-stat-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex;overflow:hidden}.op-stat-title .op-icon{color:var(--tone)}.op-stat-value{font-variant-numeric:tabular-nums;font-size:32px;font-weight:800;line-height:1.05}.op-stat-note{color:var(--tone);background:color-mix(in srgb, var(--tone) 14%, transparent);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600}.op-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);position:relative}.op-card-list{gap:var(--sp-md);flex-direction:column;display:flex}.op-alarm-card{--tone:var(--accent);overflow:hidden}.op-alarm-card:before{content:"";background:var(--tone);width:3px;position:absolute;top:0;bottom:0;left:0}.op-alarm-card.attention{border-color:color-mix(in srgb, var(--tone) 45%, transparent)}.op-alarm-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.op-card-main{align-items:center;gap:var(--sp-md);padding:var(--sp-md) var(--sp-md) var(--sp-md) calc(var(--sp-md) + 4px);cursor:default;outline:none;display:flex}.op-card-main[role=button]{cursor:pointer}.op-card-main[role=button]:hover{background:#ffffff06}.op-card-main:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.op-card-main>input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0}.op-card-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.op-card-title{align-items:center;gap:var(--sp-sm);min-width:0;display:flex}.op-card-title strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}.op-card-meta{align-items:center;gap:var(--sp-sm);color:var(--muted);min-width:0;font-size:12px;display:flex}.op-card-meta-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.op-card-state{flex:none;font-weight:600}.op-card-detail{color:#f2f4f8bf;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.op-card-actions{align-items:center;gap:var(--sp-sm);padding:0 var(--sp-md) var(--sp-md) calc(var(--sp-md) + 4px);flex-wrap:wrap;display:none}.op-card-actions.always,.op-alarm-card:hover .op-card-actions,.op-alarm-card.selected .op-card-actions,.op-alarm-card:focus-within .op-card-actions{display:flex}.op-card-actions .btn{border-radius:var(--r-sm)}.op-card-actions .btn.grow{flex:1;padding:9px 14px;font-size:14px}.op-icon-btn{width:44px;padding:8px 0}.op-more-link{width:100%;color:var(--accent);font:inherit;cursor:pointer;text-align:center;padding:10px;font-weight:600}.op-more-link:hover{background:var(--raised)}.op-pad-lg{padding:var(--sp-lg)}.op-event-card{--tone:var(--accent);flex-direction:column;display:flex;overflow:hidden}.op-event-card:hover{border-color:#ffffff2e}.op-event-open{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.op-event-media{background:linear-gradient(135deg,#1f1f1f,#0a0a0a);display:block;position:relative}.op-event-media .op-thumb img,.op-event-media .op-thumb .event-ph{aspect-ratio:16/9}.op-event-over{padding:24px var(--sp-sm) var(--sp-sm);pointer-events:none;background:linear-gradient(#0000,#000000b3);justify-content:space-between;align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:0;left:0;right:0}.op-event-over .op-chip{color:#fff;background:var(--tone)}.op-event-time{color:#ffffffd9;font-size:12px;font-weight:600}.op-event-body{padding:10px var(--sp-md) var(--sp-md);flex-direction:column;gap:3px;display:flex}.op-event-body .op-card-detail{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.op-event-card .op-card-title strong{font-size:14px}.op-event-grid{gap:var(--sp-md);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.op-event-card.has-track .op-event-body{padding-bottom:32px}.op-home{flex:1;min-height:0;overflow-y:auto}.op-home-inner{gap:var(--sp-xl);flex-direction:column;max-width:1100px;margin:0 auto;display:flex}.op-home-inner>.op-page-head{padding-bottom:0;padding-top:var(--sp-xl)}.op-home-cols{gap:var(--sp-xl);grid-template-columns:minmax(0,55fr) minmax(0,45fr);align-items:start;display:grid}.op-home-left,.op-home-right{gap:var(--sp-xl);flex-direction:column;min-width:0;display:flex}.op-all-clear{align-items:center;gap:var(--sp-md);padding:var(--sp-lg);display:flex}.op-all-clear .op-icon-tile{border-radius:50%}.op-activity-list{flex-direction:column;display:flex;overflow:hidden}.op-activity-row{align-items:center;gap:var(--sp-md);padding:10px var(--sp-md);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.op-activity-row+.op-activity-row{border-top:1px solid var(--line)}.op-activity-row:hover{background:var(--raised)}.op-activity-thumb{background:linear-gradient(135deg,#1f1f1f,#0a0a0a);border-radius:8px;flex:none;width:76px;height:54px;overflow:hidden}.op-activity-thumb .op-thumb,.op-activity-thumb .op-thumb img,.op-activity-thumb .op-thumb .event-ph{aspect-ratio:auto;width:100%;height:100%}.op-activity-thumb .event-ph{font-size:10px}.op-still-ph{color:#ffffff4d;background:linear-gradient(135deg,#1f1f1f,#0a0a0a);place-items:center;width:100%;height:100%;display:grid}.op-activity-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.op-activity-top{align-items:center;gap:6px;min-width:0;display:flex}.op-activity-top strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.op-activity-time{color:var(--faint);flex:none;font-size:11px;font-weight:500}.op-activity-cam{color:#f2f4f8bf;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.op-activity-desc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.op-cam-tiles{gap:var(--sp-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.op-cam-tile{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:inherit;font:inherit;text-align:left;cursor:pointer;flex-direction:column;padding:0;display:flex;overflow:hidden}.op-cam-tile:hover{border-color:#fff3}.op-cam-still{aspect-ratio:16/9;background:linear-gradient(135deg,#1f1f1f,#0a0a0a);display:block;position:relative}.op-cam-still .op-thumb,.op-cam-still .op-thumb img,.op-cam-still .op-thumb .event-ph{aspect-ratio:auto;width:100%;height:100%}.op-cam-badges{padding:var(--sp-sm);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.op-rec{color:#fff;background:#0000008c;border-radius:999px;align-items:center;gap:4px;padding:3px 7px;font-size:11px;font-weight:800;display:inline-flex}.op-rec-dot{background:var(--red);border-radius:50%;width:6px;height:6px}.op-cam-foot{padding:var(--sp-sm) 10px;background:var(--chrome);flex-direction:column;gap:2px;min-width:0;display:flex}.op-cam-foot strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.op-cam-place{color:var(--faint);white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex;overflow:hidden}.op-home-right .op-more-link{margin-top:var(--sp-md)}.op-link-cards{gap:var(--sp-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.op-link-card{align-items:stretch;gap:var(--sp-sm);min-height:92px;padding:var(--sp-md);color:var(--text);font:inherit;text-align:left;cursor:pointer;flex-direction:column;display:flex}.op-link-card:hover{background:var(--raised)}.op-link-card-top{color:var(--accent);justify-content:space-between;align-items:center;display:flex}.op-link-card .op-chev{color:var(--faint)}@media (width<=1000px){.op-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.op-home-cols{grid-template-columns:minmax(0,1fr)}}.op-filter-chip{--tone:var(--accent);font:inherit;color:var(--tone);background:color-mix(in srgb, var(--tone) 16%, transparent);cursor:pointer;white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.op-filter-chip:hover{background:color-mix(in srgb, var(--tone) 26%, transparent)}.op-filter-chip.on{color:#fff;background:var(--tone)}.op-filter-count{opacity:.7;font-weight:600}
