.live-toasts{position:fixed;top:16px;right:16px;z-index:2100;display:flex;flex-direction:column;gap:10px;width:340px;max-width:calc(100vw - 32px)}.live-toast{position:relative;display:flex;align-items:stretch;gap:0;background:var(--panel);border:2px solid var(--border);border-left-width:6px;border-radius:8px;box-shadow:0 10px 28px #00000038;overflow:hidden;animation:live-toast-in .18s ease-out}@keyframes live-toast-in{0%{transform:translate(12px);opacity:0}to{transform:none;opacity:1}}.live-toast-alarm,.live-toast-dispatched{border-color:var(--danger-fg);animation:live-toast-in .18s ease-out,live-toast-pulse 1.6s ease-in-out 3}@keyframes live-toast-pulse{0%,to{box-shadow:0 10px 28px #00000038}50%{box-shadow:0 0 0 4px #b03a2e47,0 10px 28px #00000038}}.live-toast-confirmed-yes{border-color:var(--warn-fg)}.live-toast-alert{border-color:var(--info-fg)}.live-toast-confirmed-no{border-color:var(--omni-green)}.live-toast-unverified,.live-toast-other{border-color:var(--alt-fg)}.live-toast-filtered{border-color:var(--muted)}@media (prefers-reduced-motion: reduce){.live-toast,.live-toast-alarm,.live-toast-dispatched{animation:none}}.live-toast-body{flex:1;min-width:0;text-align:left;background:none;border:0;padding:10px 26px 10px 12px;cursor:pointer;font:inherit;color:inherit}.live-toast-body:hover{background:var(--surface-hover)}.live-toast-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.live-state{font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:10px;white-space:nowrap;cursor:inherit}.live-state-dispatched{background:var(--danger);color:var(--text-inverse)}.live-state-alarm{background:var(--danger-bg);color:var(--danger-fg)}.live-state-confirmed-yes{background:var(--warn-bg);color:var(--warn-fg)}.live-state-confirmed-no{background:var(--ok-bg);color:var(--ok-fg)}.live-state-alert{background:var(--info-bg);color:var(--info-fg)}.live-state-unverified,.live-state-other{background:var(--alt-bg);color:var(--alt-fg)}.live-state-filtered{background:var(--surface-sunken);color:var(--text)}.live-toast-time{font-size:11px;color:var(--muted)}.live-toast-camera{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-toast-location{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-toast-cta{margin-top:6px;font-size:12px;font-weight:600;color:var(--omni-green-2)}.live-toast-thumb{width:84px;object-fit:cover;background:var(--surface-sunken);flex:none}.live-toast-close{position:absolute;top:2px;right:6px;background:none;border:0;font-size:18px;line-height:1;color:var(--muted);cursor:pointer;padding:2px 4px}.live-toast-close:hover{color:var(--danger-fg)}.live-toast-footer{display:flex;justify-content:flex-end;gap:8px}.live-toast-more,.live-toast-dismiss-all{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:12px;cursor:pointer;box-shadow:0 6px 18px #00000024}.live-toast-more{font-weight:600}.live-toast-dismiss-all{color:var(--muted)}.dashboard-page{display:flex;flex-direction:column;gap:22px}.dashboard-header{margin-bottom:0}.dashboard-subtitle,.dashboard-section-heading p,.dashboard-card-note{color:var(--muted);font-size:13px;margin:5px 0 0}.dashboard-section{display:flex;flex-direction:column;gap:10px}.dashboard-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}.dashboard-section-heading h2{font-size:17px;margin:0}.dashboard-system-grid{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(320px,1.4fr) minmax(300px,1.2fr);gap:12px}.dashboard-card,.dashboard-metric{background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px #1f29370a}.dashboard-card{padding:17px 18px}.dashboard-card-warning{border-color:var(--warn-strong);background:var(--warn-bg)}.dashboard-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.dashboard-card-heading strong{color:var(--text);font-size:30px;line-height:1;letter-spacing:-.03em}.dashboard-license-row,.dashboard-split-stat,.dashboard-role-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;font-size:12px;color:var(--muted);margin-top:14px}.dashboard-license-row{justify-content:space-between}.dashboard-health-dot{width:9px;height:9px;border-radius:50%;background:var(--danger)}.dashboard-health-dot.healthy{background:var(--omni-green-2)}.dashboard-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:12px}.dashboard-status-grid div{min-width:0;padding:7px 6px;border-radius:6px;background:var(--bg);text-align:center}.dashboard-status-grid strong,.dashboard-status-grid span{display:block}.dashboard-status-grid strong{font-size:15px}.dashboard-status-grid span{color:var(--muted);font-size:9px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.dashboard-role-row{padding-top:11px;border-top:1px solid var(--border)}.dashboard-role-row strong{color:var(--text);margin-left:3px}.dashboard-good{color:var(--ok-fg)!important;font-weight:600}.dashboard-bad{color:var(--danger)!important;font-weight:600}.dashboard-source-summary{color:var(--muted);font-size:11px;margin:2px 0 10px}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.dashboard-metric{border-top:3px solid var(--omni-gray);padding:13px 14px 12px}.dashboard-metric-yes{border-top-color:var(--omni-green-2)}.dashboard-metric-no{border-top-color:var(--text-muted)}.dashboard-metric-unverified,.dashboard-outcomes{border-top-color:var(--warn-strong)}.dashboard-outcome-list{margin:7px 0 0}.dashboard-outcome-row{align-items:baseline;display:grid;gap:0 8px;grid-template-columns:1fr auto auto}.dashboard-outcome-row+.dashboard-outcome-row{margin-top:6px}.dashboard-outcome-name{color:var(--text);font-size:12px}.dashboard-outcome-value{font-size:17px;font-weight:700;letter-spacing:-.02em;margin:0}.dashboard-outcome-detail{color:var(--muted);font-size:10px;margin:0;min-width:42px;text-align:right}.dashboard-metric-label{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.dashboard-metric-value{font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-top:7px}.dashboard-metric-detail{color:var(--muted);font-size:10px;margin-top:5px}.dashboard-table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:10px;max-width:100%;overflow-x:auto}.dashboard-table{border-collapse:collapse;font-size:12px;min-width:1260px;width:100%}.dashboard-table th,.dashboard-table td{border-bottom:1px solid var(--border);padding:9px 11px;text-align:right;white-space:nowrap}.dashboard-table thead th{background:var(--surface-hover);color:var(--muted);font-size:10px;letter-spacing:.03em;position:sticky;top:0;text-transform:uppercase}.dashboard-table th:first-child{left:0;min-width:190px;position:sticky;text-align:left;z-index:1}.dashboard-table tbody th:first-child{background:var(--panel);font-weight:600}.dashboard-table tbody tr:last-child th,.dashboard-table tbody tr:last-child td{border-bottom:0}.dashboard-table tbody tr:hover th,.dashboard-table tbody tr:hover td{background:var(--ok-bg)}@media (max-width: 1180px){.dashboard-system-grid{grid-template-columns:1fr 1fr}.dashboard-system-grid .dashboard-card:last-child{grid-column:1 / -1}.dashboard-metrics{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media (max-width: 760px){.dashboard-system-grid,.dashboard-metrics{grid-template-columns:1fr}.dashboard-system-grid .dashboard-card:last-child{grid-column:auto}.dashboard-section-heading{align-items:flex-start;flex-direction:column}.dashboard-source-summary{text-align:left}}.dashboard-window{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.dashboard-window select{font:inherit;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text)}.dashboard-load-progress{margin:8px 0 0;max-width:68ch;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--muted);font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums}.health-subtitle{margin:.25rem 0 0;color:var(--text-muted)}.health-notice{margin:0 0 1rem;padding:.6rem .8rem;border:1px solid var(--border);border-left:3px solid var(--info-fg);background:var(--info-bg);color:var(--info-fg);border-radius:4px}.health-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin-bottom:1.5rem}.health-tile{padding:.85rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--panel)}.health-tile-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.health-tile-state{margin-top:.2rem;font-size:1.15rem;font-weight:600;color:var(--text)}.health-tile-foot{margin-top:.35rem;font-size:.8rem;color:var(--text-faint);min-height:1rem}.health-tile-allClear{border-left:3px solid var(--ok-fg)}.health-tile-allClear .health-tile-state{color:var(--ok-fg)}.health-tile-findings{border-left:3px solid var(--danger-fg)}.health-tile-findings .health-tile-state{color:var(--danger-fg)}.health-tile-cantTell{border-left:3px solid var(--warn-fg)}.health-tile-cantTell .health-tile-state{color:var(--warn-fg)}.health-tile-nothingToCheck{border-left:3px solid var(--border-strong)}.health-tile-nothingToCheck .health-tile-state{color:var(--text-muted)}.health-section{margin-bottom:1.75rem}.health-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:.4rem;margin-bottom:.75rem}.health-section-head h2{margin:0;font-size:1.05rem}.health-section-note{font-size:.85rem;color:var(--text-muted)}.health-media-control{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.health-media-control label{display:flex;align-items:center;gap:.35rem}.health-findings{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.health-finding{padding:.7rem .9rem;border:1px solid var(--border);border-radius:6px;background:var(--panel)}.health-finding-head{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.health-finding-title{font-size:.98rem;color:var(--text)}.health-badge{flex:none;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:3px;white-space:nowrap}.health-urgency-now{border-left:3px solid var(--danger-fg)}.health-urgency-now .health-badge{background:var(--danger-bg);color:var(--danger-fg)}.health-urgency-soon{border-left:3px solid var(--warn-fg)}.health-urgency-soon .health-badge{background:var(--warn-bg);color:var(--warn-fg)}.health-urgency-fyi{border-left:3px solid var(--info-fg)}.health-urgency-fyi .health-badge{background:var(--info-bg);color:var(--info-fg)}.health-finding-detail{margin:.4rem 0 0;color:var(--text)}.health-finding-worst{margin:.2rem 0 0;font-size:.87rem;color:var(--text-muted)}.health-finding-foot{margin:.5rem 0 0;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.health-finding-tests{font-size:.78rem;color:var(--text-faint);flex:1 1 20rem}.health-drilldown{flex:none;font-size:.85rem;font-weight:600;color:var(--accent-dark);text-decoration:none;white-space:nowrap}.health-drilldown:hover,.health-drilldown:focus-visible{text-decoration:underline}.health-more{margin:.5rem 0 0;font-size:.85rem;color:var(--text-muted)}.health-clear{margin:0;color:var(--ok-fg)}.health-unknowns{margin-top:.75rem;padding:.6rem .9rem;border:1px dashed var(--border-strong);border-radius:6px;background:var(--surface-sunken)}.health-unknowns h3{margin:0 0 .35rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.health-unknowns ul{margin:0;padding-left:1.1rem;display:grid;gap:.25rem}.health-unknowns li{font-size:.87rem;color:var(--text-muted)}.health-unknowns strong{color:var(--text)}.health-rank{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;border-radius:50%;background:var(--surface-sunken);border:1px solid var(--border-strong);color:var(--text-muted);font-size:.78rem;font-weight:700}.health-note-toggle{display:inline-flex;align-items:center;gap:.35rem;margin-top:.4rem;font-size:.8rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.health-note-toggle input{cursor:pointer}.health-finding-noted{background:var(--surface-sunken);border-left-color:var(--border-strong)}.health-finding-noted .health-finding-title{color:var(--text-muted);font-weight:500}.health-finding-noted .health-badge{background:var(--surface-hover);color:var(--text-faint)}.health-note-stale{margin:.4rem 0 0;font-size:.87rem;font-weight:600;color:var(--warn-fg)}.health-noted-block{margin-top:1rem}.health-noted-block h3{margin:0 0 .5rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.insights{display:flex;flex-direction:column;gap:14px}.insight-card{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.insight-cameras{margin:0;color:var(--muted);font-size:13px}.insight-evidence{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0}.insight-evidence div{display:flex;gap:6px;align-items:baseline}.insight-evidence dt{color:var(--muted);font-size:12px}.insight-evidence dd{margin:0;font-variant-numeric:tabular-nums;font-weight:640}.insight-evidence .is-danger dd{color:var(--danger-fg)}.insights td.num{text-align:right;font-variant-numeric:tabular-nums}.insights .scroller{overflow-x:auto}.insight-card.is-flagged{border-left-color:var(--warn-solid);border-left-width:6px}.cognition-said{margin:0;padding:6px 0 6px 12px;border-left:2px solid var(--border);color:var(--text);font-size:14px;line-height:1.5}.notify-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.notify-card-header h3{margin:0}.draft-rule{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.draft-rule-lead{margin:0 0 2px}.draft-rule-action{margin:10px 0 0}.draft-prompt{white-space:pre;margin:0;padding:8px 10px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:6px}.backtest{display:flex;flex-direction:column;gap:8px;margin-top:8px}.backtest .rule-field{max-width:22rem}.plugin-config-form{display:grid;gap:1rem}.plugin-config-field{display:grid;gap:.35rem}.plugin-config-field>label{color:var(--text);font-size:.86rem;font-weight:650}.plugin-config-field input[type=text],.plugin-config-field input[type=password],.plugin-config-field select,.plugin-config-field textarea{background:var(--panel);border:1px solid var(--border);border-radius:7px;box-sizing:border-box;color:var(--text);font:inherit;padding:.62rem .7rem;width:100%}.plugin-config-field textarea{line-height:1.45;resize:vertical}.plugin-config-field input:focus,.plugin-config-field select:focus,.plugin-config-field textarea:focus{outline:2px solid var(--info-fg);outline-offset:2px}.plugin-config-field input[readonly]{background:var(--surface-sunken);color:var(--muted)}.plugin-config-toggle-field>label{align-items:center;display:flex;gap:.6rem}.plugin-config-toggle-field input{height:1.05rem;margin:0;width:1.05rem}.plugin-config-toggle-field input[role=switch]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--text-faint);border-radius:999px;cursor:pointer;height:1.35rem;position:relative;transition:background .12s ease;width:2.4rem}.plugin-config-toggle-field input[role=switch]:after{background:var(--panel);border-radius:50%;box-shadow:0 1px 2px #10182840;content:"";height:1rem;left:.18rem;position:absolute;top:.18rem;transition:transform .12s ease;width:1rem}.plugin-config-toggle-field input[role=switch]:checked{background:var(--info-fg)}.plugin-config-toggle-field input[role=switch]:checked:after{transform:translate(1.05rem)}.plugin-config-help{color:var(--text-muted);font-size:.78rem;line-height:1.4;margin:0}.plugin-config-section{background:var(--surface-hover);border-left:3px solid var(--info-fg);border-radius:4px;padding:.7rem .8rem}.plugin-config-section>p:first-child{color:var(--text);font-size:.88rem;font-weight:600;line-height:1.45;margin:0}.plugin-config-section .plugin-config-help{margin-top:.35rem}.plugin-config-divider{border:0;border-top:1px solid var(--border);margin:.25rem 0}.plugin-runflags-wrap{overflow-x:auto}.plugin-runflags{border-collapse:collapse;font-size:.86rem;width:100%}.plugin-runflags th,.plugin-runflags td{border:1px solid var(--border);padding:.4rem .6rem;text-align:center}.plugin-runflags thead th{background:var(--surface-hover);color:var(--text);font-weight:650}.plugin-runflags tbody td:first-child,.plugin-runflags thead th:first-child{text-align:left;text-transform:capitalize;white-space:nowrap}.plugin-runflags input[type=checkbox]{height:1rem;width:1rem}.loc-plugins{display:grid;gap:1rem}.loc-plugin-list{display:grid;gap:.5rem;list-style:none;margin:0;padding:0}.loc-plugin-row{align-items:center;border:1px solid var(--border);border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:.6rem .75rem}.loc-plugin-info{display:grid;gap:.15rem;min-width:0}.loc-plugin-name{font-weight:650}.loc-plugin-meta{color:var(--text-muted);font-size:.82rem}.loc-plugin-warn{color:var(--danger-fg)}.loc-plugin-actions{display:flex;flex-shrink:0;gap:.4rem}.loc-plugin-add{border-top:1px solid var(--border);padding-top:.9rem}.loc-plugin-add h4{margin:0 0 .6rem}.loc-plugin-add-grid{align-items:end;display:grid;gap:.6rem;grid-template-columns:1fr 1.6fr}.loc-plugin-add-grid select,.loc-plugin-add-grid input{background:var(--panel);border:1px solid var(--border);border-radius:7px;box-sizing:border-box;color:var(--text);font:inherit;padding:.55rem .65rem;width:100%}.loc-plugin-add-actions{margin-top:.7rem}.loc-plugin-footer{border-top:1px solid var(--border);display:flex;gap:.6rem;justify-content:flex-end;margin-top:.5rem;padding-top:.9rem}@media (max-width: 640px){.loc-plugin-add-grid{grid-template-columns:1fr}.loc-plugin-row{align-items:flex-start;flex-direction:column}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-canvas{width:100%;height:100%;min-height:480px;border-radius:8px;overflow:hidden}.cam-dot{width:14px;height:14px;border-radius:50%;background:var(--omni-green, #82BC00);border:2px solid #fff;box-shadow:0 0 0 1px #0000004d}.cam-marker.is-selected .cam-dot{outline:2px solid #1d4ed8;outline-offset:1px}.cam-marker.is-placing .cam-dot{background:#f59e0b}.cam-cone{position:absolute;left:50%;top:50%;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:34px solid rgba(130,188,0,.35);transform-origin:50% 100%;pointer-events:none}.cam-marker.is-selected .cam-cone{border-bottom-width:58px;border-left-width:16px;border-right-width:16px;border-bottom-color:#1d4ed847}.cam-rotate-handle>div{width:22px;height:22px;border-radius:50%;background:#1d4ed8;border:2px solid #fff;box-shadow:0 1px 4px #00000059;color:#fff;font-size:13px;line-height:18px;text-align:center;cursor:grab;-webkit-user-select:none;user-select:none}.cam-rotate-handle>div:active{cursor:grabbing}.cam-tether{stroke:#1d4ed8;stroke-width:1.5;stroke-dasharray:4 4;opacity:.55}.leaflet-tooltip.cam-angle-badge{background:#1d4ed8;border:none;color:#fff;font-size:11px;font-weight:700;padding:1px 6px;border-radius:10px;box-shadow:none}.leaflet-tooltip.cam-angle-badge:before{display:none}.mapping-page{max-width:1480px}.mapping-summary{display:flex;gap:20px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:13px}.mapping-summary-item strong{font-weight:600;margin-right:4px}.mapping-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:16px;align-items:start}@media (max-width: 960px){.mapping-layout{grid-template-columns:1fr}}.mapping-list{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px;max-height:78vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.mapping-empty-hint{color:var(--muted);font-size:13px;padding:8px 6px}.mapping-location-group{border:1px solid var(--border);border-radius:7px;overflow:hidden;flex-shrink:0}.mapping-location-header{display:flex;align-items:stretch;width:100%;background:var(--surface-hover);border-bottom:1px solid var(--border)}.mapping-location-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:none;padding:8px 10px;cursor:pointer;text-align:left;color:inherit}.mapping-location-main:hover{background:var(--surface-sunken)}.mapping-location-edit{flex-shrink:0;background:none;border:none;border-left:1px solid var(--border);padding:0 12px;cursor:pointer;color:var(--muted);font-size:14px;line-height:1}.mapping-location-edit:hover{background:var(--border);color:var(--text)}.mapping-location-name{font-weight:600;font-size:13px}.mapping-location-address{color:var(--muted);font-size:12px}.mapping-camera-empty{color:var(--muted);font-size:12px;padding:8px 10px}.mapping-camera-row{display:flex;align-items:center;gap:8px;width:100%;background:var(--panel);border:none;border-bottom:1px solid var(--border);padding:7px 10px;cursor:pointer;text-align:left;font-size:13px}.mapping-camera-row:last-child{border-bottom:none}.mapping-camera-row:hover{background:var(--surface-hover)}.mapping-camera-row.is-selected{background:var(--ok-bg)}.mapping-camera-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-camera-state{color:var(--muted);font-size:11px;white-space:nowrap}.mapping-coord-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.mapping-coord-dot.is-positioned{background:var(--omni-green)}.mapping-coord-dot.is-unplaced{background:var(--warn-strong)}.mapping-section-title{color:var(--muted);font-size:12px;font-weight:600;padding:8px 10px 4px;text-transform:uppercase;letter-spacing:.03em}.mapping-unaddressed{border:none}.mapping-unaddressed .mapping-location-header{border:1px solid var(--border);border-radius:7px;margin:0 8px 6px;width:calc(100% - 16px)}.mapping-map{background:var(--panel);border:1px solid var(--border);border-radius:8px;min-height:70vh;padding:8px;display:flex;flex-direction:column}.mapping-map .map-canvas{flex:1;min-height:70vh}.mapping-map-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--muted);font-size:14px;text-align:center;padding:20px}.mapping-focus-note{flex-shrink:0;margin:0 0 8px;background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:6px;padding:6px 10px;font-size:13px;line-height:1.4}.mapping-locate-warn{color:var(--warn-fg);font-size:11px}.cc{display:flex;flex-direction:column;gap:10px;margin:12px 0 4px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-sunken)}.cc-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width: 640px){.cc-row{grid-template-columns:1fr}}.cc-action{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;border:2px solid var(--border-strong);border-radius:8px;background:var(--panel);color:var(--text);font:inherit;cursor:pointer;text-align:center;transition:background .12s ease,border-color .12s ease}.cc-action-label{font-size:20px;font-weight:700;letter-spacing:.02em}.cc-action-sub{font-size:11px;color:var(--muted);line-height:1.3}.cc-action:disabled{cursor:not-allowed;opacity:.55}.cc-action-yes{border-color:var(--danger-line);color:var(--danger-fg)}.cc-action-yes:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger-solid)}.cc-action-no{border-color:var(--border-strong);color:var(--ok-fg)}.cc-action-no:hover:not(:disabled){background:var(--ok-bg);border-color:var(--ok-fg)}.cc-action-unverifiable{border-color:var(--warn-line);color:var(--warn-fg)}.cc-action-unverifiable:hover:not(:disabled){background:var(--warn-bg);border-color:var(--warn-solid)}.cc-action.is-answered{opacity:1;box-shadow:inset 0 0 0 2px var(--accent)}.cc-action-yes.is-answered{background:var(--danger-bg)}.cc-action-no.is-answered{background:var(--ok-bg)}.cc-action-unverifiable.is-answered{background:var(--warn-bg)}.cc-answered{margin:0;font-size:12px;color:var(--muted)}.cc-confirm{border:1px solid var(--warn-line);border-left:4px solid var(--warn-solid);background:var(--warn-bg);border-radius:6px;padding:10px 12px}.cc-confirm-text{margin:0 0 8px;font-size:13px;color:var(--warn-fg)}.cc-confirm-actions{display:flex;gap:8px;flex-wrap:wrap}.cc .cc-confirm-go{border-color:var(--danger-solid);color:var(--danger-fg)}.cc-late{margin:0;font-size:12px;color:var(--warn-fg);background:var(--warn-bg);border-radius:6px;padding:6px 10px}.cc-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;border-top:1px solid var(--border);padding-top:10px}.cc-control{position:relative}.cc-control-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border:2px solid var(--border-strong);border-radius:8px;background:var(--panel);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.cc-control-btn:hover:not(:disabled){background:var(--surface-hover)}.cc-control-btn:disabled{cursor:not-allowed;opacity:.55}.cc-control-btn.is-open{border-color:var(--accent);background:var(--surface-hover)}.cc-caret{font-size:10px;color:var(--muted)}.cc-control-off{margin:4px 0 0;max-width:260px;font-size:11px;color:var(--muted)}.cc-subactions{position:absolute;z-index:5;top:calc(100% + 6px);left:0;min-width:280px;display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--border-strong);border-radius:8px;background:var(--panel);box-shadow:0 6px 20px #0000002e}.cc-sub{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.cc-sub:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border)}.cc-sub:disabled{cursor:not-allowed;opacity:.55}.cc-sub-label{font-size:13px;font-weight:600}.cc-sub-hint{font-size:11px;color:var(--muted);line-height:1.35}.cc-note{margin:0;font-size:12px;border-radius:6px;padding:6px 10px}.cc-note-busy{color:var(--muted);background:var(--surface-hover)}.cc-note-ok{color:var(--ok-fg);background:var(--ok-bg)}.cc-note-error{color:var(--danger-fg);background:var(--danger-bg)}.media-viewer{margin-bottom:16px}.media-empty{background:#f6f7f5;border:1px dashed var(--border);border-radius:8px;padding:22px 16px;text-align:center;color:var(--muted);font-size:13px;margin-bottom:16px}.media-primary{position:relative;display:block;width:100%;padding:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#1c2430;cursor:zoom-in;line-height:0}.media-primary img{width:100%;max-height:380px;object-fit:contain;display:block}.media-video-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:240px;color:#e8eaec;font-size:13px;line-height:1.4}.media-play{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#ffffffe6;color:#1c2430;font-size:11px}.media-play-lg{width:54px;height:54px;font-size:20px}.media-primary-badge{position:absolute;left:8px;bottom:8px;background:#141a22c7;color:#fff;font-size:11px;line-height:1;padding:5px 8px;border-radius:4px}.media-strip{display:flex;gap:8px;margin-top:8px;overflow-x:auto;padding-bottom:4px}.media-thumb{position:relative;flex:none;width:84px;height:62px;padding:0;border:2px solid var(--border);border-radius:6px;overflow:hidden;background:#1c2430;cursor:pointer;display:flex;align-items:center;justify-content:center}.media-thumb.selected{border-color:var(--omni-green)}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-thumb-label{position:absolute;left:0;right:0;bottom:0;background:#141a22b8;color:#fff;font-size:9px;line-height:1;padding:3px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;background:#0c1016f0;display:flex;flex-direction:column}.lightbox-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;color:#e8eaec;border-bottom:1px solid rgba(255,255,255,.12)}.lightbox-title{flex:1;font-weight:600;font-size:14px}.lightbox-scale{font-size:12px;font-variant-numeric:tabular-nums;min-width:46px;text-align:center}.lightbox-stage{flex:1;display:grid;place-items:center;overflow:hidden;padding:16px;cursor:zoom-in}.lightbox-stage.is-zoomed{cursor:grab}.lightbox-stage.is-zoomed:active{cursor:grabbing}.lightbox-img{max-width:100%;max-height:100%;transform-origin:center center;-webkit-user-select:none;user-select:none}.lightbox-video{max-width:100%;max-height:100%}.lightbox-strip{display:flex;gap:8px;padding:10px 14px;overflow-x:auto;border-top:1px solid rgba(255,255,255,.12)}.live-page .live-toolbar{gap:14px;flex-wrap:wrap}.live-switch{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.live-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}.live-status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.live-status-live .live-status-dot{background:var(--danger-solid);animation:live-blink 2s ease-in-out infinite}.live-status-hidden .live-status-dot{background:var(--warn-solid)}.live-status-error .live-status-dot{background:var(--danger)}@keyframes live-blink{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion: reduce){.live-status-live .live-status-dot{animation:none}}.live-hint{background:var(--surface-hover);border:1px solid var(--border);border-left:4px solid var(--omni-green);border-radius:6px;padding:8px 12px;font-size:13px;color:var(--muted)}.live-split{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:16px;align-items:start}@media (max-width: 1100px){.live-split{grid-template-columns:1fr}}.live-timeline{list-style:none;margin:0;padding:0;max-height:calc(100vh - 230px);overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.live-timeline>li+li{border-top:1px solid var(--border)}.live-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-left:4px solid transparent;padding:10px 12px;cursor:pointer;font:inherit;color:inherit}.live-row:hover{background:var(--surface-hover)}.live-row.selected{background:var(--ok-bg)}.live-row-dispatched{border-left-color:var(--danger)}.live-row-alarm{border-left-color:var(--danger-fg)}.live-row-confirmed-yes{border-left-color:var(--warn-fg)}.live-row-confirmed-no{border-left-color:var(--omni-green)}.live-row-alert{border-left-color:var(--info-fg)}.live-row-unverified,.live-row-other{border-left-color:var(--alt-fg)}.live-row-filtered{border-left-color:var(--muted)}.live-row-when{font-size:11px;color:var(--muted)}.live-row-thumb{flex:none;width:56px;height:42px;border-radius:4px;overflow:hidden;background:var(--surface-sunken);display:flex;align-items:center;justify-content:center}.live-row-thumb img{width:100%;height:100%;object-fit:cover}.live-row-main{flex:1;min-width:0;display:flex;flex-direction:column}.live-row-camera{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-row-location{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-row-live{width:7px;height:7px;border-radius:50%;background:var(--danger-solid);flex:none;animation:live-blink 1.4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.live-row-live{animation:none}}.live-empty-state{padding:24px 16px;color:var(--muted);font-size:13px;text-align:center}.live-pane{border:1px solid var(--border);border-radius:8px;background:var(--panel);min-height:200px}.live-detail{padding:16px 18px}.live-detail-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}.live-detail-head h2{margin:0;font-size:18px}.live-detail-when{font-size:12px;color:var(--muted)}.live-stages{list-style:none;margin:0 0 16px;padding:0 0 0 4px;border-left:2px solid var(--border)}.live-stage{position:relative;display:flex;align-items:baseline;gap:8px;padding:4px 0 4px 14px;font-size:13px}.live-stage-dot{position:absolute;left:-6px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--omni-green);border:2px solid var(--panel)}.live-stage-waiting{color:var(--muted);font-style:italic}.live-stage-waiting .live-stage-dot{background:var(--warn-solid);animation:live-blink 1.4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.live-stage-waiting .live-stage-dot{animation:none}}.live-stage-label{flex:1}.live-stage-at{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.live-detail-grid{display:grid;grid-template-columns:150px 1fr;gap:4px 12px;margin:0 0 16px;font-size:13px}.live-detail-grid dt{color:var(--muted)}.live-detail-grid dd{margin:0;overflow-wrap:anywhere}.live-pane h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 6px}.live-raw{margin-top:16px}.live-raw summary{cursor:pointer;font-size:12px;color:var(--muted)}.live-raw pre{background:var(--surface-hover);border:1px solid var(--border);border-radius:6px;padding:10px;font-size:11px;max-height:320px;overflow:auto}.live-stage-verification .live-stage-dot,.live-stage-alarm .live-stage-dot{background:var(--muted)}.live-stage-verification.tone-negative .live-stage-dot,.live-stage-alarm.tone-negative .live-stage-dot{background:var(--danger-solid)}.live-stage-verification.tone-positive .live-stage-dot,.live-stage-alarm.tone-positive .live-stage-dot{background:var(--omni-green)}.live-stage-verification.tone-neutral .live-stage-dot,.live-stage-alarm.tone-neutral .live-stage-dot{background:var(--warn-solid)}.live-verdict{font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.03em;padding:1px 6px;border-radius:9px;background:var(--surface-sunken);color:var(--muted)}.live-verdict.tone-negative{background:var(--danger-bg);color:var(--danger-fg)}.live-verdict.tone-positive{background:var(--ok-bg);color:var(--ok-fg)}.live-verdict.tone-neutral{background:var(--warn-bg);color:var(--warn-fg)}.live-source-raw{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--muted)}.live-kind-tag{margin-left:6px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--danger-fg);border:1px solid var(--danger-line);border-radius:8px;padding:0 5px}.plugins-page{max-width:1100px}.plugins-header{align-items:flex-start}.plugins-header .hint{margin:.35rem 0 0}.plugins-count{color:var(--text-muted);font-size:.9rem;margin:1rem 0 .65rem}.plugin-list{display:grid;gap:.9rem;list-style:none;margin:0;padding:0}.plugin-item{background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px #1018280a;padding:.9rem 1rem}.plugin-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.plugin-heading h2{font-size:1.1rem;margin:0}.plugin-badges{display:flex;flex-wrap:wrap;gap:.4rem}.plugin-badges{justify-content:flex-end}.plugin-badge{background:var(--surface-sunken);border-radius:999px;color:var(--muted);display:inline-block;font-size:.76rem;font-weight:600;padding:.25rem .55rem;white-space:nowrap}.plugin-publish-public{background:var(--ok-bg);color:var(--ok-fg)}.plugin-publish-private{background:var(--warn-bg);color:var(--warn-fg)}.plugin-publish-test{background:var(--alt-bg);color:var(--alt-fg)}.plugin-used{background:var(--info-bg);color:var(--info-fg)}.plugin-unused,.plugin-usage-unknown{background:var(--surface-sunken);color:var(--muted)}.plugin-description{color:var(--text-muted);line-height:1.5;margin:.65rem 0 0}.plugin-actions{align-items:center;display:flex;justify-content:flex-end;margin-top:.8rem}.plugin-no-config{color:var(--text-muted);font-size:.82rem}.plugin-config-backdrop{align-items:center;background:#1018288c;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1.5rem;position:fixed;z-index:1000}.plugin-config-dialog{background:var(--panel);border-radius:12px;box-shadow:0 24px 48px #1018283d;max-height:min(88vh,900px);max-width:680px;overflow-y:auto;padding:1.25rem;width:100%}.plugin-config-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.plugin-config-header h2{font-size:1.35rem;margin:.15rem 0 0}.plugin-config-eyebrow{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.plugin-config-close{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:1.6rem;height:2rem;justify-content:center;line-height:1;padding:0;width:2rem}.plugin-config-close:hover{background:var(--surface-sunken);color:var(--text)}.plugin-config-notice{background:var(--info-bg);border:1px solid var(--info-bg);border-radius:8px;color:var(--text);font-size:.88rem;line-height:1.45;margin:1rem 0;padding:.7rem .8rem}.plugin-config-close:focus-visible{outline:2px solid var(--info-fg);outline-offset:2px}.plugin-config-footer{border-top:1px solid var(--border);display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem}.plugins-empty{border:1px dashed var(--border);border-radius:10px;color:var(--text-muted);margin-top:1rem;padding:2rem;text-align:center}@media (max-width: 640px){.plugin-heading{display:grid}.plugin-badges,.plugin-actions{justify-content:flex-start}.plugin-config-backdrop{align-items:flex-end;padding:0}.plugin-config-dialog{border-radius:12px 12px 0 0;max-height:92vh}}.optimizer section{margin-bottom:16px}.optimizer-draft-row{display:flex;gap:12px;flex-wrap:wrap}.optimizer-draft-row .rule-field{flex:1 1 12rem}.optimizer-batch-controls{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.optimizer-batch-controls label{display:flex;align-items:baseline;gap:6px}.optimizer-composition{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0}.optimizer-composition dt{color:var(--text-muted);font-size:.85rem}.optimizer-composition dd{font-variant-numeric:tabular-nums;font-size:1.25rem;margin:0}.optimizer-excluded ul{margin:8px 0 0;padding-left:16px;color:var(--text-muted)}.optimizer-score{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0}.optimizer-score dt{color:var(--text-muted);font-size:.85rem}.optimizer-score dd{font-variant-numeric:tabular-nums;font-size:1.5rem;margin:0}.optimizer-danger dd{color:var(--danger);font-weight:700}.optimizer-buckets{display:flex;gap:12px;flex-wrap:wrap;list-style:none;padding:0;color:var(--text-muted)}.optimizer-rows,.optimizer-history{width:100%;border-collapse:collapse}.optimizer-rows th,.optimizer-rows td,.optimizer-history th,.optimizer-history td{border-bottom:1px solid var(--border);padding:8px;vertical-align:top;text-align:left}.optimizer-thumb{width:96px;height:auto;border-radius:6px}.optimizer-raw{max-width:28rem;white-space:pre-wrap;font-size:.8rem}.optimizer-run{overflow-x:auto}.optimizer-definitive{max-width:14rem}.optimizer-definitive .cell-modal-btn{white-space:normal;text-align:left}.optimizer-thumb{width:100%;height:auto;border-radius:6px;display:block}.optimizer-thumb-btn{position:relative;width:150px;padding:0;border:1px solid var(--border);border-radius:6px;background:none;cursor:zoom-in;display:block}.optimizer-thumb-btn:hover,.optimizer-thumb-btn:focus-visible{border-color:var(--accent)}.optimizer-thumb-count{position:absolute;right:4px;bottom:4px;background:var(--surface-raised);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:11px;font-variant-numeric:tabular-nums}.modal-panel.definitive-modal-wide{width:min(1040px,94vw);max-width:94vw}.optimizer-zoom{display:flex;flex-wrap:wrap;gap:12px}.optimizer-zoom figure{margin:0;flex:1 1 calc(50% - 6px);min-width:0}.optimizer-zoom img{width:100%;height:auto;border-radius:6px;background:var(--surface-sunken)}.optimizer-coach{margin-top:28px;border-top:1px solid var(--border);padding-top:12px}.optimizer-suggestion{margin-top:12px;padding:12px 14px;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px}.optimizer-suggestion h3{margin:0 0 6px;font-size:15px}.optimizer-suggestion-field{margin:12px 0 0}.optimizer-suggestion-field pre{margin:4px 0 6px;padding:8px 10px;background:var(--surface-sunken);border-radius:6px;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.45;max-height:40vh;overflow:auto}.coach-models{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.coach-model-chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:3px 9px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--text);cursor:pointer}.coach-model-chip:hover{border-color:var(--accent)}.coach-model-chip.is-current{font-weight:700;border-color:var(--accent);border-width:2px;padding:2px 8px}.optimizer-assumed{color:var(--muted);font-weight:400;font-size:.85em}.definitive-proposal{margin:0 0 10px;padding:8px 10px;border:1px solid var(--info-fg);border-radius:6px;background:var(--info-bg);color:var(--info-fg);font-size:13px;line-height:1.45}.definitive-proposal .btn{margin-left:4px}.definitive-proposed{color:var(--info-fg);font-style:italic}.definitive-other{font-style:italic}.optimizer-pinned{margin:8px 0 0;max-width:78ch;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel);font-size:13px;line-height:1.5}.optimizer-pinned .btn{margin:0 2px}.optimizer-verdict{font-weight:600}.optimizer-verdict.is-better{color:var(--ok-fg)}.optimizer-verdict.is-worse{color:var(--danger)}.optimizer-verdict.is-mixed{color:var(--warn-fg)}.optimizer-verdict.is-same,.optimizer-verdict.is-unknown{color:var(--text-muted);font-weight:400}.optimizer-history-danger{color:var(--danger);font-weight:700}.optimizer-history{font-variant-numeric:tabular-nums}.optimizer-history-best>td{background:var(--surface-hover)}.optimizer-best-badge{background:var(--ok-bg);color:var(--ok-fg)}.optimizer-identity{display:flex;flex-direction:column;gap:2px;min-width:0}.optimizer-identity h1{margin:0}.optimizer-heading{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.optimizer-heading-label{font-size:15px;font-weight:600;color:var(--text-muted)}.optimizer-heading .optimizer-heading-rule{font-size:26px;line-height:1.15;min-width:0;overflow-wrap:anywhere}.optimizer-eyebrow{margin:0;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.optimizer-auto{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.optimizer-auto .optimizer-score{margin-bottom:8px}.optimizer-auto table,.optimizer-auto .optimizer-batch-controls{margin-top:12px}.modal-panel.sched-dialog{width:620px;max-width:95vw}.sched-dialog-lead{margin:0 0 14px}.sched-dialog-field{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:5px;padding-top:12px}.sched-dialog-field:first-of-type{border-top:none;padding-top:0}.sched-dialog-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sched-dialog-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.sched-dialog-sub{margin-top:2px}.sched-dialog-grow{flex:1 1 200px;min-width:0}.sched-dialog-num{width:84px}.sched-dialog-field input,.sched-dialog-field select{background:var(--panel);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;padding:6px 9px}.sched-dialog-inline{color:var(--text-muted);font-size:12px}.sched-dialog-note{color:var(--text-muted);font-size:11px;line-height:1.45}.sched-dialog-note code{font-size:11px}.sched-dialog-echo{font-size:12px;font-weight:600}.sched-field-error{color:var(--danger-fg);font-size:12px;line-height:1.4}.sched-dialog-link{background:none;border:none;color:var(--info-fg);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.sched-dialog-preview{background:var(--surface-sunken);border:1px solid var(--border);border-radius:8px;margin-top:14px;padding:11px 13px}.sched-dialog-preview-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.sched-dialog-occurrences{display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding-left:22px}.sched-dialog-occurrences li{font-size:13px}.sched-dialog-block{background:var(--danger-bg);border:1px solid var(--danger-line);border-radius:8px;color:var(--danger-fg);font-size:13px;line-height:1.5;margin:12px 0 0;padding:10px 13px}.sched-dialog-notice{background:var(--info-bg);border:1px solid var(--border);border-radius:8px;color:var(--info-fg);font-size:13px;line-height:1.5;margin:12px 0 0;padding:10px 13px}.sched-dialog-weekdays{display:flex;flex-wrap:wrap;gap:6px}.sched-dialog-day{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:6px;cursor:pointer;display:flex;font-size:12px;gap:5px;padding:5px 9px;-webkit-user-select:none;user-select:none}.sched-dialog-day.is-on{background:var(--info-bg);border-color:var(--info-fg);color:var(--info-fg);font-weight:600}.schedules-page{max-width:1480px}.sched-section{margin-top:16px}.sched-section h2{align-items:baseline;display:flex;font-size:17px;gap:8px;margin:0 0 2px}.sched-section .hint{margin-top:0}.sched-count{background:var(--surface-sunken);border-radius:10px;color:var(--text-muted);font-size:12px;font-weight:600;padding:1px 8px}.sched-empty{background:var(--panel);border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-muted);font-size:13px;line-height:1.5;margin:0;padding:14px 16px}.sched-readonly{background:var(--info-bg);border:1px solid var(--border);border-radius:8px;color:var(--info-fg);font-size:13px;line-height:1.55;margin:0 0 12px;padding:11px 14px}.sched-readonly code{font-size:12px}.sched-diverged{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:8px;color:var(--warn-fg);font-size:13px;line-height:1.55;margin:0 0 12px;padding:11px 14px}.sched-scroll{overflow-x:auto}.sched-table{background:var(--panel);border:1px solid var(--border);border-collapse:collapse;border-radius:8px;font-size:13px;table-layout:fixed;width:100%}.sched-table th{background:var(--surface-sunken);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.03em;padding:7px 10px;text-align:left;text-transform:uppercase}.sched-table th,.sched-table td{white-space:normal}.sched-table td{border-bottom:1px solid var(--border);padding:9px 10px;vertical-align:top}.sched-table tbody tr:last-child td{border-bottom:none}.sched-table tbody tr:hover{background:var(--surface-hover)}.sched-row-cancelled td{color:var(--text-muted)}.sched-when,.sched-when-main{display:block}.sched-zone{color:var(--text-muted);display:block;font-size:11px}.sched-when-unreadable .mono{color:var(--danger-fg);font-size:11px}.sched-target{display:block}.sched-target-label{display:block;font-weight:600}.sched-target-kind{color:var(--text-muted);display:block;font-size:11px}.sched-who{color:var(--text-muted);font-size:12px;word-break:break-all}.sched-note{color:var(--text-muted);display:block;font-size:11px;line-height:1.45;margin-top:3px;overflow-wrap:anywhere}.sched-note-first{margin-top:0}.sched-bad{color:var(--danger-fg)}.sched-info{color:var(--text-muted);display:block;font-size:11px;line-height:1.4;margin-top:4px;overflow-wrap:anywhere}.sched-section .badge{text-transform:none;white-space:nowrap}.sched-tone-ok{background:var(--ok-bg);color:var(--ok-fg)}.sched-tone-warn{background:var(--warn-bg);color:var(--warn-fg)}.sched-tone-danger{background:var(--danger-bg);color:var(--danger-fg)}.sched-tone-info{background:var(--info-bg);color:var(--info-fg)}.sched-tone-muted{background:var(--surface-sunken);color:var(--text-muted)}.sched-created{background:var(--ok-bg);border:1px solid var(--border);border-radius:8px;color:var(--ok-fg);font-size:13px;line-height:1.55;margin:0 0 12px;padding:11px 14px}.sched-live-pause{color:var(--warn-fg)}.sched-danger-link{color:var(--danger-fg)}.sched-actions button{display:block}.sched-finished-toggle{font-size:12px;font-weight:400;margin-left:10px;vertical-align:baseline}.sched-table button:disabled{cursor:default;opacity:.55}.notes-page{max-width:1480px}.notes-header{align-items:flex-start}.notes-subtitle{color:var(--muted);font-size:13px;margin:5px 0 0}.notes-save-status{color:var(--muted);font-size:12px;padding-top:4px}.notes-local-notice{background:var(--info-bg);border:1px solid var(--border);border-radius:7px;color:var(--text-muted);font-size:12px;margin:0 0 12px;padding:8px 11px}.notes-reference-panel{align-items:flex-start;background:var(--panel);border:1px solid var(--border);border-radius:8px;display:grid;gap:18px;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);margin-bottom:12px;padding:13px 15px}.notes-reference-copy h2{font-size:15px;margin:0 0 4px}.notes-reference-copy p{color:var(--muted);font-size:12px;line-height:1.45;margin:0}.notes-reference-picker{position:relative}.notes-reference-search{border:1px solid var(--border);border-radius:6px;font:inherit;padding:8px 10px;width:100%}.notes-reference-search:focus,.notes-editor:focus{border-color:var(--accent-dark);box-shadow:0 0 0 2px #82bc002e;outline:none}.notes-reference-results{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 28px #1e263026;left:0;max-height:330px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 5px);z-index:30}.notes-reference-help{color:var(--muted);font-size:12px;padding:9px 10px}.notes-reference-result{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;display:grid;font:inherit;gap:2px 9px;grid-template-columns:68px minmax(0,1fr);padding:8px 10px;text-align:left;width:100%}.notes-reference-result:last-child{border-bottom:0}.notes-reference-result:hover,.notes-reference-result:focus-visible{background:var(--surface-hover);outline:none}.notes-reference-kind{border-radius:10px;font-size:10px;font-weight:700;grid-row:1 / 3;justify-self:start;padding:2px 7px;text-transform:uppercase}.notes-reference-kind-location{background:var(--ok-bg);color:var(--ok-fg)}.notes-reference-kind-server{background:var(--info-bg);color:var(--info-fg)}.notes-reference-kind-camera{background:var(--warn-bg);color:var(--warn-fg)}.notes-reference-kind-event{background:var(--alt-bg);color:var(--alt-fg)}.notes-reference-name,.notes-reference-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-reference-name{font-size:13px;font-weight:600}.notes-reference-detail{color:var(--muted);font-size:11px}.notes-toolbar{align-items:center;background:var(--panel);border:1px solid var(--border);border-bottom:0;border-radius:8px 8px 0 0;display:flex;flex-wrap:wrap;gap:10px;padding:8px 10px}.notes-toolbar-group{display:flex;flex-wrap:wrap;gap:6px}.notes-toolbar .btn{padding:5px 9px}.notes-document-stats{color:var(--muted);font-size:11px;margin-left:auto}.notes-view-switch{background:var(--surface-sunken);border-radius:6px;display:flex;padding:2px}.notes-view-switch button{background:transparent;border:0;border-radius:4px;color:var(--muted);cursor:pointer;font:inherit;font-size:12px;padding:4px 8px}.notes-view-switch button.active{background:var(--panel);box-shadow:0 1px 3px #0000001f;color:var(--text);font-weight:600}.notes-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:550px}.notes-workspace-edit,.notes-workspace-preview{grid-template-columns:minmax(0,1fr)}.notes-pane{background:var(--panel);border:1px solid var(--border);display:flex;flex-direction:column;min-width:0}.notes-editor-pane{border-radius:0 0 0 8px}.notes-preview-pane{border-left:0;border-radius:0 0 8px}.notes-workspace-edit .notes-editor-pane,.notes-workspace-preview .notes-preview-pane{border-left:1px solid var(--border);border-radius:0 0 8px 8px}.notes-pane-heading{background:var(--surface-hover);border-bottom:1px solid var(--border);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;padding:7px 11px;text-transform:uppercase}.notes-editor{border:0;color:var(--text);flex:1;font:13px/1.6 ui-monospace,Cascadia Mono,Menlo,monospace;min-height:520px;padding:16px;resize:vertical;width:100%}.notes-preview{flex:1;font-size:14px;line-height:1.65;min-height:520px;overflow-wrap:anywhere;padding:8px 20px 24px}.notes-preview h1,.notes-preview h2,.notes-preview h3,.notes-preview h4{line-height:1.25;margin:1.2em 0 .45em}.notes-preview h1{font-size:24px}.notes-preview h2{font-size:19px}.notes-preview h3{font-size:16px}.notes-preview p,.notes-preview ul,.notes-preview ol{margin:.65em 0}.notes-preview a{color:var(--info-fg)}.notes-preview a[href*="noteRef="]{background:var(--ok-bg);border-radius:4px;color:var(--ok-fg);font-weight:600;padding:1px 4px;text-decoration:none}.notes-preview a[href*="noteRef="]:hover{background:var(--ok-bg);text-decoration:underline}.notes-preview blockquote{border-left:4px solid var(--accent);color:var(--muted);margin:1em 0;padding:2px 14px}.notes-preview code{background:var(--surface-sunken);border-radius:4px;font-family:ui-monospace,Cascadia Mono,Menlo,monospace;font-size:.9em;padding:2px 5px}.notes-preview pre{background:var(--surface-sunken);border-radius:7px;color:var(--surface-sunken);overflow-x:auto;padding:12px 14px}.notes-preview pre code{background:none;color:inherit;padding:0}.notes-preview table{display:block;overflow-x:auto;width:max-content;max-width:100%}.notes-preview th,.notes-preview td{white-space:normal}.notes-preview input[type=checkbox]{margin-right:7px}.notes-empty-preview{color:var(--muted);display:grid;min-height:470px;place-items:center;text-align:center}@media (max-width: 900px){.notes-reference-panel,.notes-workspace-split{grid-template-columns:1fr}.notes-workspace-split .notes-editor-pane{border-radius:0}.notes-workspace-split .notes-preview-pane{border-left:1px solid var(--border);border-radius:0 0 8px 8px;border-top:0}}@media (max-width: 640px){.notes-document-stats{margin-left:0;order:3;width:100%}.notes-view-switch{margin-left:auto}.notes-editor,.notes-preview{min-height:420px}}.user-scope-list{display:flex;flex-direction:column;gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none}.user-scope-row{display:grid;grid-template-columns:minmax(12rem,18rem) 1fr;gap:1rem;align-items:start;padding:.75rem;border:1px solid var(--border, var(--border-strong));border-radius:6px}@media (max-width: 680px){.user-scope-row{grid-template-columns:1fr}}.user-scope-who{display:flex;flex-direction:column;gap:.15rem;min-width:0}.user-scope-name{font-weight:600}.user-scope-email{overflow-wrap:anywhere;font-size:.85rem;color:var(--muted, var(--text-muted))}.user-scope-role{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted, var(--text-muted))}.user-scope-role-edit{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:.1rem 0}.user-scope-controls{display:flex;flex-direction:column;gap:.5rem;min-width:0}.user-scope-locations{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.15rem 1rem;max-height:14rem;overflow-y:auto;padding:.25rem .25rem .25rem 0}.user-scope-location{display:flex;gap:.4rem;align-items:baseline;font-size:.9rem;cursor:pointer}.user-scope-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.user-scope-wide{font-weight:600}.user-scope-invited{font-size:.8rem;color:var(--muted, var(--text-muted));overflow-wrap:anywhere}.user-scope-remove{align-self:start;margin-top:.4rem}.user-invite{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border, var(--border-strong))}.user-invite h3{margin:0 0 .5rem;font-size:1rem}.user-invite-fields{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.user-invite-fields .field{margin:0;min-width:0}.user-invite-fields .field:first-child{flex:1 1 18rem}.onboarding-block{padding:.75rem;border:1px solid var(--border, var(--border-strong));border-radius:6px;margin:.75rem 0 0}.onboarding-block h3{margin:0 0 .35rem}.onboarding-domains{display:flex;flex-direction:column;gap:.35rem;margin:.5rem 0;padding:0;list-style:none}.onboarding-domain{display:flex;align-items:center;gap:.5rem}.onboarding-domain code{font-size:.95rem}.onboarding-add{display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}.onboarding-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.onboarding-warning{margin:.5rem 0 0;padding:.5rem .65rem;border-left:3px solid var(--accent, var(--omni-green));background:var(--bg, var(--surface));color:var(--text, var(--text));font-size:.9rem}.onboarding-frozen{color:var(--danger, var(--danger));font-weight:600}:root{--manual-measure: min(120ch, 100%)}.manual-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}.manual-subtitle{color:var(--text-muted);margin:4px 0 0}.manual-contents{display:flex;flex-direction:column;gap:2px;position:sticky;top:16px;padding:8px;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px}.manual-contents a{padding:6px 10px;border-radius:6px;color:var(--text);text-decoration:none;font-size:14px}.manual-contents a:hover{background:var(--surface-hover)}.manual-contents a.active{background:var(--accent);color:var(--on-accent);font-weight:600}.manual-doc{min-width:0;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;padding:20px 24px 24px}.manual-intro{max-width:var(--manual-measure);color:var(--text)}.manual-figure{margin:20px 0 0;padding:12px;background:var(--surface-sunken);border:1px solid var(--border-strong);border-radius:8px}.manual-shot{display:block;width:100%;height:auto;border-radius:4px}.manual-shot-wrap{position:relative;display:block}.manual-hotspot-anchor{position:absolute}.manual-hotspot{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;background:transparent;border:2px solid var(--accent);border-radius:4px;cursor:pointer}.manual-hotspot:hover,.manual-hotspot.active{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent-dark)}.manual-hotspot:focus-visible{outline:3px solid var(--accent-dark);outline-offset:2px}.manual-hotspot-number{position:absolute;top:-11px;left:-11px;width:22px;height:22px;display:grid;place-items:center;font-size:12px;font-weight:700;border-radius:50%;background:var(--accent);color:var(--on-accent)}.manual-popover{position:absolute;pointer-events:none;top:calc(100% + 8px);left:0;z-index:5;display:block;width:280px;max-width:60vw;max-height:45vh;overflow:hidden;padding:10px 12px;text-align:left;font-weight:400;white-space:normal;background:var(--surface-raised);color:var(--text);border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 6px 18px #0000002e}.manual-popover p{margin:6px 0 0}.manual-popover-above{top:auto;bottom:calc(100% + 8px)}.manual-popover-left{left:auto;right:0}.manual-popover-clipped:after{content:"more in the list below ↓";position:absolute;left:0;right:0;bottom:0;padding:18px 12px 6px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--text-muted);text-align:right;background:linear-gradient(to bottom,transparent,var(--surface-raised) 55%);pointer-events:none}.manual-popover-pinned{pointer-events:auto;overflow-y:auto;overscroll-behavior:contain}.manual-hotspot-list{margin:24px 0 0;padding-left:20px;max-width:var(--manual-measure)}.manual-hotspot-list li{margin-bottom:14px;padding:6px 10px;border-radius:6px}.manual-hotspot-list li.active{background:var(--surface-hover);box-shadow:inset 3px 0 0 var(--accent)}.manual-hotspot-list h3{margin:0 0 4px;font-size:15px}.manual-hotspot-list p{margin:0 0 6px;color:var(--text)}.manual-requires,.manual-stale{margin:12px 0 0;padding:8px 12px;border-radius:6px;font-size:14px}.manual-requires{background:var(--info-bg);color:var(--info-fg)}.manual-requires code{font-family:inherit;font-weight:700}.manual-stale{background:var(--warn-bg);color:var(--warn-fg)}.manual-picker{display:flex;align-items:center;gap:10px;margin-top:16px}.manual-picker-readout{font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums}.manual-shot-wrap.picking{cursor:crosshair}.manual-shot-wrap.picking .manual-hotspot-anchor{pointer-events:none}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff) format("woff")}:root{--omni-green: #82bc00;--omni-green-2: #3fae29;--omni-gray: #555559;--bg: #f4f5f3;--panel: #ffffff;--sidebar-bg: var(--omni-gray);--sidebar-fg: #d7d8da;--accent: var(--omni-green);--accent-dark: #6ba300;--on-accent: #17210a;--border: #e0e2df;--text: #33343a;--muted: #6f7074;color-scheme:light;--danger: #c0392b;--danger-soft: #e74c3c;--ok-bg: #e6f7ee;--ok-fg: #147a44;--warn-bg: #fef5e7;--warn-fg: #9c6410;--warn-solid: #9c6410;--danger-bg: #fdecea;--danger-fg: #b03a2e;--danger-solid: #b03a2e;--info-bg: #eaf2fd;--info-fg: #1f5aa8;--alt-bg: #f2ebff;--alt-fg: #6b3f96;--warn-strong: #f39c12;--warn-line: #fed7aa;--danger-line: #f3c9c1;--surface: var(--bg);--surface-raised: var(--panel);--surface-sunken: #f0f2f5;--surface-hover: #f6f7f5;--row-band: #f7f8fa;--row-active: #f1f6fd;--row-active-edge: #2f6fd0;--border-strong: #dcdce0;--text-muted: var(--muted);--text-faint: #858e9d;--text-inverse: #ffffff;--sidebar-active: #1f2e3f;font-family:Gotham,Gotham SSm,Montserrat,Segoe UI,system-ui,-apple-system,sans-serif;color:var(--text)}:root[data-theme=dark]{color-scheme:dark;--sidebar-bg: #11151a;--surface-sunken: #161b20;--bg: #1b2126;--panel: #232a31;--surface-hover: #2b333b;--row-band: #272f37;--row-active: #28354a;--row-active-edge: #6ea8ff;--border: #2e363d;--border-strong: #3d474f;--text: #e5eae6;--muted: #9aa3a8;--text-faint: #6f7a81;--text-inverse: #ffffff;--sidebar-fg: #c8ced2;--sidebar-active: #202b36;--accent-dark: #97d10c;--ok-bg: #14291d;--ok-fg: #74dc90;--warn-bg: #2f2415;--warn-fg: #f3c455;--warn-solid: #f0a93c;--danger-bg: #321a17;--danger-fg: #ff8f7e;--danger-solid: #ff6b58;--danger: #c0392b;--danger-soft: #ff7a68;--info-bg: #16233a;--info-fg: #85b5ff;--alt-bg: #241a33;--alt-fg: #c9a7f0;--warn-strong: #f0a93c;--warn-line: #5c4418;--danger-line: #5e2a22}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.app-loading{display:grid;place-items:center;height:100vh;color:var(--muted)}.layout{display:flex;min-height:100vh}.sidebar{width:260px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-fg);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{padding:18px 16px 10px}.brand-logo{display:block;width:152px;height:auto}.brand-product{margin-top:8px;font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--accent)}.sidebar-account{padding:0 16px 12px;border-bottom:1px solid var(--sidebar-active)}.account-name{font-size:13px;color:var(--text-faint)}.switch-account{display:block;background:none;border:none;padding:0;color:var(--accent);font-size:12px;cursor:pointer}.switch-account:hover{text-decoration:underline}.account-actions{display:flex;gap:12px;margin-top:4px}.sign-out{background:none;border:none;padding:0;color:var(--accent);font-size:12px;cursor:pointer}.sign-out:hover{text-decoration:underline}.sidebar-nav{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid var(--sidebar-active)}.sidebar-nav a{color:var(--sidebar-fg);text-decoration:none;padding:8px 16px;font-size:14px}.sidebar-nav a:hover{background:var(--sidebar-active)}.sidebar-nav a.active{background:var(--sidebar-active);color:var(--text-inverse);border-left:3px solid var(--accent);padding-left:13px}.sidebar-tree{padding:10px 8px;font-size:13px}.tree-header{text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:var(--text-muted);padding:4px 8px;display:flex;justify-content:space-between;align-items:center}.tree-row{display:flex;align-items:center;gap:4px;border-radius:4px;padding:2px 4px}.tree-row.selected{background:var(--sidebar-active)}.tree-row button{background:none;border:none;color:inherit;cursor:pointer;font-size:13px;text-align:left}.tree-toggle{width:18px;flex-shrink:0}.tree-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 0}.tree-server{margin-left:22px;color:var(--text-faint)}.sidebar-version{margin-top:auto;padding:10px 16px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--sidebar-active)}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-online{background:var(--omni-green)}.status-offline{background:var(--danger-soft)}.status-degraded{background:var(--warn-strong)}.main{flex:1;min-width:0;padding:20px 28px}.page h1{margin:0;font-size:22px}:where(.page h2){font-size:18px}.page-narrow{max-width:760px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hint{color:var(--muted);font-size:13px}.filter-note{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:6px;padding:6px 10px;font-size:13px}.sync-info{color:var(--muted);font-size:12px}.error{color:var(--danger);font-size:13px}.mono{font-family:ui-monospace,Cascadia Mono,Menlo,monospace;font-size:12px}.account-choice{width:100%;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:10px 14px;font-size:14px;text-align:left;cursor:pointer;color:var(--text)}.account-choice:hover{border-color:var(--accent)}.account-choice-name{display:block}.account-choice-id{display:block;color:var(--muted);font-size:11px;margin-top:2px;overflow-wrap:anywhere}.btn{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer;color:var(--text);text-decoration:none;display:inline-block}.btn:hover:not(:disabled){border-color:var(--text-faint)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent-dark);color:var(--on-accent);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-dark)}.btn-danger{color:var(--danger)}.btn-link{background:none;border:none;color:var(--info-fg);cursor:pointer;font-size:12px;padding:2px 0}input,select,textarea{font:inherit;background:var(--panel);color:var(--text);border-color:var(--border)}button{font-family:inherit}.field{display:flex;flex-direction:column;gap:4px;margin:10px 0;max-width:420px}.field span{font-size:12px;color:var(--muted)}.field input{border:1px solid var(--border);border-radius:6px;padding:7px 10px}.datagrid{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.datagrid-toolbar{display:flex;align-items:center;gap:10px;padding:10px;flex-wrap:wrap}.datagrid-search{border:1px solid var(--border);border-radius:6px;padding:7px 10px;min-width:220px}.datagrid-count{color:var(--muted);font-size:12px;margin-left:auto}.datagrid-note{color:var(--warn-fg);background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:6px;padding:4px 8px;font-size:12px;line-height:1.4}.column-menu-wrap{position:relative}.column-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001f;padding:8px;z-index:20;min-width:180px;max-height:320px;overflow-y:auto}.column-menu.column-menu-left{right:auto;left:0}.column-menu-item{display:flex;align-items:center;gap:8px;padding:4px 6px;font-size:13px;cursor:pointer;white-space:nowrap}.datagrid-scroll{overflow:auto;max-height:var(--datagrid-max-height, calc(100vh - 260px) );min-height:240px}.datagrid table{table-layout:fixed}.datagrid th{padding:0;z-index:2}.datagrid td{padding:0}.datagrid td.datagrid-empty{padding:24px}.th-inner{display:flex;align-items:center;gap:2px;padding:7px 10px;-webkit-user-select:none;user-select:none;overflow:hidden}.th-inner.sortable{cursor:pointer}.th-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-inner{padding:7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-resizer{position:absolute;top:0;right:0;height:100%;width:7px;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none}.col-resizer:hover,.col-resizer.resizing{background:var(--accent);opacity:.55}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:7px 10px;border-top:1px solid var(--border);white-space:nowrap}th{background:var(--surface-sunken);font-weight:600;-webkit-user-select:none;user-select:none;position:sticky;top:0}th.sortable{cursor:pointer}tbody tr:hover{background:var(--surface-hover)}tbody tr.month-band-b>td{background:var(--row-band)}tbody tr.month-boundary>td{border-top:2px solid var(--border)}tbody tr.row-active>td{background:var(--row-active)}tbody tr.row-active>td:first-child{box-shadow:inset 3px 0 0 var(--row-active-edge)}.datagrid-rows-clickable tbody tr{cursor:pointer}.datagrid-rows-clickable tbody tr .datagrid-empty{cursor:default}.datagrid-empty{text-align:center;color:var(--muted);padding:24px}.datagrid-pager{display:flex;align-items:center;gap:10px;padding:10px;font-size:13px}.cell-editable{cursor:text;display:inline-block;min-width:40px;border-bottom:1px dashed transparent}.cell-editable:hover{border-bottom-color:var(--accent)}.cell-empty{color:var(--text-faint)}.cell-input{border:1px solid var(--accent);border-radius:4px;padding:3px 6px;font-size:13px;width:160px;max-width:100%}.cell-select{border:1px solid var(--border);border-radius:4px;padding:3px 6px;font-size:13px;background:var(--surface-raised);max-width:100%}.badge{display:inline-block;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;text-transform:capitalize}.badge-online{background:var(--ok-bg);color:var(--ok-fg)}.badge-offline{background:var(--danger-bg);color:var(--danger-fg)}.badge-degraded{background:var(--warn-bg);color:var(--warn-fg)}.badge-shared{background:var(--warn-bg);color:var(--warn-fg);margin-left:8px}.badge-toggle{border:0;font-family:inherit;line-height:inherit;cursor:pointer}.badge-toggle:hover:not(:disabled){filter:brightness(1.08)}.badge-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.badge-toggle:disabled{cursor:default;opacity:.6}.licence-error{margin:4px 0 0}.badge-cam-0{background:var(--surface-sunken);color:var(--text-muted)}.badge-cam-1{background:var(--danger-bg);color:var(--danger-fg)}.badge-cam-2{background:var(--info-bg);color:var(--info-fg)}.badge-cam-3{background:var(--warn-bg);color:var(--warn-fg)}.badge-cam-4{background:var(--ok-bg);color:var(--ok-fg)}.badge-gun_detected{background:var(--danger-bg);color:var(--danger-fg)}.badge-test{background:var(--info-bg);color:var(--info-fg)}.badge-tamper{background:var(--warn-bg);color:var(--warn-fg)}.workflow-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.workflow-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:8px}.workflow-card-header{display:flex;align-items:center;gap:8px}.workflow-name{font-size:15px;font-weight:600;border:1px solid transparent;border-radius:4px;padding:4px 6px;flex:1;min-width:0}.workflow-name:hover,.workflow-name:focus{border-color:var(--border)}.workflow-usage{color:var(--muted);font-size:12px;white-space:nowrap}.workflow-description{border:1px solid transparent;border-radius:4px;padding:4px 6px;font-size:13px;color:var(--muted)}.workflow-description:hover,.workflow-description:focus{border-color:var(--border)}.workflow-options{display:flex;flex-direction:column;gap:6px}.workflow-option{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.rule-section{font-size:15px;margin:20px 0 8px}.rule-list{display:flex;flex-direction:column;gap:14px}.rule-field input[readonly],.rule-field textarea[readonly],.rule-field select:disabled{background:var(--surface-hover);color:var(--muted);cursor:default}.rule-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px 16px;transition:box-shadow .3s,border-color .3s}.rule-card.just-added{border-color:var(--accent);box-shadow:0 0 0 3px #82bc004d}.rule-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.rule-id{font-size:15px;font-weight:700;background:var(--surface-sunken);border-radius:6px;padding:2px 8px}.rule-card-header .workflow-usage{margin-left:auto}.rule-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:10px}.rule-field{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.rule-field span{font-size:12px;color:var(--muted)}.rule-field input,.rule-field textarea{border:1px solid var(--border);border-radius:6px;padding:6px 8px;font:inherit;width:100%;resize:vertical}.rule-field select{border-radius:6px;padding:6px 8px;font:inherit;width:100%}.rule-field textarea{font-size:13px;line-height:1.4}.workflow-locations{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.workflow-locations li{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--border);padding:5px 0}.scope-modes{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:8px}.scope-selectors{display:flex;gap:16px;flex-wrap:wrap}.scope-selectors .field{flex:1;min-width:220px;margin:6px 0}.scope-summary{background:var(--info-bg);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:14px;margin:10px 0}.scope-summary.scope-empty{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}.scope-active{color:var(--ok-fg);font-weight:600}.scope-inactive{color:var(--warn-fg);font-weight:600}.command-history{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.command-entry{border-top:1px solid var(--border);padding-top:8px;font-size:13px}.command-entry code{background:var(--surface-sunken);border-radius:4px;padding:1px 5px}.rule-config-fold{margin:8px 0 0}.rule-config-fold>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-muted);padding:4px 0}.rule-config-fold>summary:hover{color:var(--text)}.rule-config-fold>summary .hint{font-weight:400}.rule-config-fold[open]>summary{margin-bottom:6px}.camera-bl-none{color:var(--warn-fg);font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c243073;display:grid;place-items:center;z-index:2000;padding:20px;white-space:normal}.modal-panel{background:var(--panel);border-radius:10px;box-shadow:0 20px 60px #0000004d;width:480px;max-width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-size:16px}.modal-close{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted)}.modal-body{padding:16px 18px;overflow-y:auto}.modal-fields{display:flex;flex-direction:column;gap:10px}.modal-fields .field{max-width:none;margin:0}.modal-fields .field input{border:1px solid var(--border);border-radius:6px;padding:7px 10px}.field-hint{display:block;white-space:normal;margin-top:3px;font-size:12px;line-height:1.45;color:var(--muted)}.modal-fields>.field-hint{margin-top:-6px}.modal-section{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:4px;margin-top:6px}.modal-section:first-child{margin-top:0}.field-ro{border:1px solid var(--border);border-radius:6px;padding:7px 10px;background:var(--surface-hover);color:var(--text);word-break:break-word}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border)}.cell-modal-btn{background:none;border:none;padding:0;font:inherit;color:var(--text);cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;text-decoration:underline dotted var(--border);text-underline-offset:3px}.cell-modal-btn:hover{text-decoration-color:var(--accent)}.cell-modal-btn.cell-error{color:var(--danger);font-weight:600}td.cell-error{background:var(--danger-bg);box-shadow:inset 2px 0 0 var(--danger)}td.cell-warn{background:var(--warn-bg);box-shadow:inset 2px 0 0 var(--warn-fg)}tr.row-error>td{background:var(--danger-bg)}tr.row-warn>td{background:var(--warn-bg)}tr.row-error>td.cell-error,tr.row-warn>td.cell-error{background:var(--danger-bg)}tr.row-error>td.cell-warn,tr.row-warn>td.cell-warn{background:var(--warn-bg)}.datagrid-select-col{width:36px}.datagrid-select-col .th-inner,.datagrid-select-col .td-inner{display:flex;justify-content:center;padding:7px 6px}.datagrid-action-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:10px 10px 0;background:var(--surface-hover);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px}.bulk-action-bar{display:flex;flex-direction:column;gap:6px;width:100%}.bulk-action-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.bulk-menu-item{display:block;width:100%;text-align:left;background:none;border:none;color:inherit;font:inherit}.bulk-menu-item:hover{background:var(--surface-hover)}.datagrid-rejection{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 10px 10px;padding:8px 12px;border:1px solid var(--danger-line);border-radius:6px;background:var(--danger-bg);color:var(--danger);font-size:13px}.event-media{display:flex;gap:8px;align-items:baseline}.event-media-sep{color:var(--muted);font-size:12px}.event-media a{color:var(--info-fg);font-size:12px}.settings-section{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px 18px;margin:14px 0}.settings-section h2{margin:0 0 8px;font-size:16px}.license-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:14px}.users-table{margin-bottom:12px}.users-table td,.users-table th{white-space:normal}.add-user{display:flex;gap:8px;flex-wrap:wrap}.add-user input{border:1px solid var(--border);border-radius:6px;padding:7px 10px;min-width:240px}.login-screen{display:grid;place-items:center;min-height:100vh;background:var(--sidebar-bg)}.login-card{background:var(--panel);border-radius:12px;padding:28px 32px;width:440px;max-width:calc(100vw - 32px);box-shadow:0 16px 48px #00000059;text-align:center}.login-logo{display:block;width:232px;height:auto;margin:4px auto 6px}.login-product{text-align:center;font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--omni-gray);margin:0 0 4px}.login-card .field{max-width:none}.login-card .btn{width:100%;padding:9px;font-size:14px}.login-card code{font-size:11px}.login-signin{display:inline-block;margin-top:4px;padding:8px 20px;border-radius:6px;background:var(--accent);border:1px solid var(--accent-dark);color:var(--on-accent);font-weight:600;text-decoration:none}.login-signin:hover{background:var(--accent-dark)}.pre-app-signout{display:block;margin:14px auto 0;background:none;border:none;padding:0;color:var(--muted);font-size:12px;cursor:pointer;text-align:center}.pre-app-signout:hover{text-decoration:underline}.login-version{font-size:11px;color:var(--muted);margin:4px 0 0}.login-card h1{font-size:18px;text-align:center;margin:8px 0 2px}.picker-search{width:100%;border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin:12px 0 4px;font:inherit;text-align:left}.picker-list{max-height:48vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-top:6px}.picker-group-label{text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:var(--muted);margin:8px 0 2px;text-align:left}.account-choice.is-highlighted{border-color:var(--accent)}.picker-empty{text-align:center;color:var(--muted);font-size:13px}.cmd-results{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.cmd-progress{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--omni-gray, var(--omni-gray))}.btn-small{padding:.15rem .6rem;font-size:.8rem}.result-card{border:1px solid var(--border);border-radius:6px;overflow:hidden}.result-head{padding:.3rem .6rem;font-weight:600;font-size:.85rem;background:var(--surface-hover)}.import-result{white-space:pre-wrap;font-size:12px;background:var(--surface-hover);border:1px solid var(--border);border-radius:6px;padding:8px 10px;max-height:200px;overflow:auto}.result-data{margin:0;padding:.6rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.modal-panel.modal-wide{width:900px;max-width:95vw}.command-reference-filter{width:100%;margin:8px 0}.command-reference-scroll{max-height:55vh;overflow-y:auto}.command-reference-table{width:100%;border-collapse:collapse;font-size:12px}.command-reference-table th{text-align:left;position:sticky;top:0;background:var(--panel);border-bottom:1px solid var(--border);padding:4px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.command-reference-table td{padding:5px 6px;border-bottom:1px solid var(--surface-sunken);vertical-align:top}.command-reference-table td:first-child{white-space:nowrap}.tenancy-group{margin-bottom:24px}.tenancy-summary{list-style:none;margin:8px 0 12px;padding:0;font-size:13px}.tenancy-summary>li+li{margin-top:4px}.tenancy-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:12px}.tenancy-table th{text-align:left;border-bottom:1px solid var(--border);padding:4px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.tenancy-table td{padding:5px 6px;border-bottom:1px solid var(--surface-sunken);vertical-align:top}.command-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.priv-badge{display:inline-block;margin-left:6px;padding:0 5px;border-radius:8px;background:var(--danger-bg);color:var(--danger);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.command-field{position:relative}.command-suggestions{position:absolute;top:100%;left:0;right:0;z-index:30;margin:2px 0 0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0000001f;max-height:260px;overflow-y:auto}.command-suggestions button{display:flex;align-items:baseline;gap:8px;width:100%;padding:5px 8px;border:none;border-radius:4px;background:none;text-align:left;cursor:pointer;font:inherit}.command-suggestions button:hover,.command-suggestions button.is-active{background:var(--ok-bg)}.command-suggestions .hint{font-size:12px}.command-signature{margin:-4px 0 10px;font-size:12px;color:var(--muted)}.command-signature .is-current{color:var(--text);font-weight:700;text-decoration:underline}.nav-live-badge{background:var(--danger-solid);color:var(--text-inverse);border-radius:9px;padding:0 6px;margin-left:6px;font-size:11px;font-weight:700}.appearance-choices{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.appearance-choice.is-selected{background:var(--accent);color:var(--on-accent);border-color:var(--accent-dark)}.appearance-note{max-width:62ch;font-size:13px}a{color:var(--info-fg)}.login-logo-dark{display:none}:root[data-theme=dark] .login-logo-light{display:none}:root[data-theme=dark] .login-logo-dark{display:block}.month-strip{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.month-chip{align-items:baseline;background:var(--panel);border:1px solid var(--border);border-radius:999px;color:var(--text);cursor:pointer;display:inline-flex;font:inherit;font-size:12px;gap:7px;padding:4px 11px}.month-chip.is-selected{background:var(--row-active);border-color:var(--row-active-edge);font-weight:700}.month-chip-count{color:var(--muted)}.month-chip-alarms{color:var(--danger-fg);font-weight:600}.active-row-caption{background:var(--row-active);border:1px solid var(--row-active-edge);border-radius:6px;color:var(--text);font-size:12px;margin:0 0 8px;padding:5px 10px}
