:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--graphite-950:#101214;--graphite-900:#171a1d;--graphite-850:#1d2125;--graphite-800:#252a2f;--graphite-750:#2d3339;--graphite-700:#373e45;--graphite-650:#444c55;--color-layer-01:var(--graphite-900);--color-layer-02:var(--graphite-850);--color-layer-03:var(--graphite-800);--color-layer-hover:var(--graphite-750);--color-field:var(--color-layer-02);--workflow-canvas:#111417;--workflow-panel:#171b1f;--workflow-panel-raised:#1d2227;--workflow-panel-hover:#262c32;--workflow-line:#ffffff14;--workflow-line-strong:#ffffff29;--workflow-grid-major:#ffffff0e;--workflow-grid-minor:#ffffff06;--color-canvas:var(--graphite-950);--color-sidebar:var(--color-layer-01);--color-surface:var(--color-layer-01);--color-surface-raised:var(--color-layer-02);--color-surface-muted:var(--color-layer-02);--color-surface-hover:var(--color-layer-hover);--color-surface-active:var(--graphite-650);--color-border:#ffffff17;--color-border-soft:#ffffff1f;--color-border-strong:#ffffff2e;--color-border-hover:#ffffff3d;--color-border-focus:var(--color-accent);--color-focus-ring:#9eabb86b;--color-selection:#9eabb838;--color-disabled:#666b72;--opacity-disabled:.5;--color-ink:#f1f2f3;--color-ink-soft:#d7d9dc;--color-muted:#a2a6ad;--color-subtle:#8b9097;--color-accent:#9eabb8;--color-accent-hover:#c2cbd4;--color-on-accent:var(--graphite-950);--color-accent-soft:#9eabb81f;--color-accent-ring:#9eabb847;--color-live:#83c49a;--color-success:var(--color-live);--color-live-soft:#83c49a1f;--color-live-ring:#83c49a3d;--color-warning:#aeb7c1;--color-warning-soft:#aeb7c11f;--color-warning-ring:#aeb7c13d;--color-danger:#df7d7d;--color-danger-soft:#df7d7d1f;--color-danger-ring:#df7d7d3d;--color-info:#78a9d6;--color-info-soft:#78a9d61f;--color-info-ring:#78a9d63d;--color-control:#00000059;--color-control-hover:#000000b3;--color-overlay:#0009;--color-grid:#ffffff14;--color-grid-dot:#ffffff29;--color-float:#1e2023e6;--color-float-border:#ffffff29;--color-overlay-text:#ffffffb3;--color-overlay-text-soft:#fffc;--color-scrollbar-track:var(--graphite-900);--color-scrollbar-thumb:var(--graphite-650);--color-scrollbar-thumb-hover:var(--graphite-700);--color-scrollbar-corner:var(--graphite-950);--color-operator:#aeb7c1;--color-operator-soft:#aeb7c124;--color-offline:#a2a6ad;--color-offline-soft:#a2a6ad1f;--color-offline-ring:#a2a6ad3d;--color-owl-mark-dark:#171819;--sidebar-expanded-width:232px;--sidebar-collapsed-width:64px;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--control-height:40px;--control-padding-x:16px;--control-font-size:14px;--space-xs:var(--space-1);--space-sm:var(--space-2);--space-md:var(--space-4);--space-lg:var(--space-6);--container-padding:32px;--page-gap:24px;--section-gap:16px;--motion-fast:.12s ease;--motion-normal:.18s ease;--motion-slow:.28s ease;--shadow-xs:none;--shadow-sm:none;--shadow-md:0 8px 24px #00000047;--shadow-lg:0 16px 36px #0000003d;--shadow-xl:0 24px 60px #00000052;--shadow-card:none;--shadow-float:0 20px 50px #00000061;--shadow-node:none;--shadow-overlay:var(--shadow-lg);--shadow-modal:var(--shadow-xl)}@media (width<=1440px),(height<=800px){:root{--control-height:36px;--control-padding-x:12px;--control-font-size:13px;--space-xs:3px;--space-sm:6px;--space-md:12px;--space-lg:18px;--container-padding:24px;--page-gap:18px;--section-gap:12px}}:root{background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}::-webkit-scrollbar-thumb{border:2px solid var(--color-scrollbar-track);border-radius:var(--radius-pill);background:var(--color-scrollbar-thumb);min-height:2rem}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:var(--color-scrollbar-corner)}body{background:var(--color-canvas);color:var(--color-ink);min-width:320px;margin:0}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;box-shadow:none}::selection{background:var(--color-selection);color:var(--color-ink)}.workflow-grid{background-image:linear-gradient(var(--color-border) 1px, transparent 1px), linear-gradient(90deg, var(--color-border) 1px, transparent 1px);background-size:24px 24px}@media (width<=1199px){:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .sidebar{align-items:center;width:76px;padding-left:.75rem;padding-right:.75rem}:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .main{margin-left:76px}:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .brand-copy,:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .brand-name,:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .navigation-title,:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .navigation-label,:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .navigation-count,:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .operator-copy{display:none}:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .navigation-link,:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .operator{justify-content:center;padding-left:.5rem;padding-right:.5rem}}@media (width<=767px){:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .sidebar{width:60px;padding-left:.5rem;padding-right:.5rem}:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .main{margin-left:60px}:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .header,:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .content{padding-left:1rem;padding-right:1rem}:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .header{flex-direction:column;align-items:flex-start;padding-top:1rem;padding-bottom:1rem}:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .dashboard-grid,:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .summary,:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .camera-grid,:is(.dashboard-page,.cameras-page,.alerts-page,.events-page) .recent-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.button{min-width:4rem;height:var(--control-height);border-radius:var(--radius-sm);padding:0 var(--control-padding-x);font-size:var(--control-font-size);letter-spacing:.01em;box-shadow:none;justify-content:center;align-items:center;gap:.5rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.button:active:not(:disabled){box-shadow:none}.button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.button:disabled{cursor:not-allowed;opacity:var(--opacity-disabled);border-color:#0000}.button-icon{object-fit:contain;flex:0 0 1.125rem;width:1.125rem;height:1.125rem}.button--full-width{width:100%}.button--primary{color:var(--color-on-accent);background:var(--color-accent);border:1px solid #0000}.button--primary:hover:not(:disabled){background:var(--color-accent-hover)}.button--secondary{border:1px solid var(--color-border-strong);color:var(--color-ink-soft);background:var(--color-layer-01)}.button--secondary:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-surface-hover)}.button--ghost{color:var(--color-ink-soft);padding-right:var(--control-padding-x);padding-left:var(--control-padding-x);background:0 0;border:1px solid #0000}.button--ghost:hover:not(:disabled){background:var(--color-surface-hover)}.button--danger{color:var(--color-ink);background:var(--color-danger);border:1px solid #0000}.button--danger:hover:not(:disabled){border-color:var(--color-danger);background:#c76f6f}.layout-box,.layout-flex,.layout-grid,.layout-stack,.layout-container{box-sizing:border-box}.layout-flex{display:flex}.layout-grid,.layout-stack{display:grid}.layout-container{width:100%;max-width:1200px;margin-inline:auto}.layout-container--fluid{max-width:none}.form-field{gap:var(--space-xs);display:grid}.form-field-label{color:var(--color-muted);font-size:.75rem;font-weight:500}.form-field-message{color:var(--color-subtle);font-size:.75rem}.form-field-message--error{color:var(--color-danger)}.textarea,.file-input{box-sizing:border-box;border:0;border-bottom:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;color:var(--color-ink);background:var(--color-field);font-size:var(--control-font-size);outline:0}.textarea{min-height:6rem;padding:var(--space-sm);resize:vertical}.file-input{height:var(--control-height);padding:0 var(--control-padding-x)}.textarea:focus,.file-input:focus,.form-check-control:focus-visible,.form-switch-control:focus-visible+.form-switch-track{border-color:var(--color-border-focus);box-shadow:none;outline:0}.form-check,.form-switch{color:var(--color-ink-soft);cursor:pointer;align-items:center;gap:.625rem;display:inline-flex}.form-check-control{width:1rem;height:1rem;accent-color:var(--color-accent)}.form-switch-control{opacity:0;width:1px;height:1px;position:absolute}.form-switch-track{border:1px solid var(--color-border-soft);background:var(--color-surface-muted);border-radius:999px;align-items:center;width:2.25rem;height:1.25rem;padding:.125rem;display:inline-flex}.form-switch-thumb{background:var(--color-muted);border-radius:50%;width:.875rem;height:.875rem}.form-switch-control:checked+.form-switch-track{border-color:var(--color-accent);background:var(--color-accent-soft)}.form-switch-control:checked+.form-switch-track .form-switch-thumb{background:var(--color-accent);transform:translate(1rem)}.input{box-sizing:border-box;min-width:0;height:var(--control-height);border:0;border-bottom:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:0 var(--control-padding-x);font-size:var(--control-font-size);color:var(--color-ink);background:var(--color-field);outline:0}.input::placeholder{color:var(--color-subtle)}.input:hover{border-color:var(--color-border-hover)}.input:focus{border-bottom-width:2px;border-color:var(--color-border-focus);box-shadow:none}.text-field{position:relative}.text-field--password .input{padding-right:4.5rem}.text-field-toggle{min-width:3.5rem;height:var(--control-height);padding:0 var(--control-padding-x);color:var(--color-accent);cursor:pointer;background:0 0;border:0;font-size:.7rem;position:absolute;bottom:0;right:0}.text-field-toggle:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.dropdown,.dropdown-search{box-sizing:border-box;min-width:0;height:var(--control-height);border:0;border-bottom:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-ink);background:var(--color-field);outline:0}.dropdown{width:100%;padding:0 calc(var(--control-padding-x) + 1.5rem) 0 var(--control-padding-x);font-size:var(--control-font-size);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.dropdown:hover{border-color:var(--color-border-hover)}.dropdown:focus{border-color:var(--color-border-focus);box-shadow:none;border-bottom-width:2px}.dropdown option{color:var(--color-ink);background:var(--color-layer-03)}.dropdown-searchable{position:relative}.dropdown-search{width:100%;padding:0 2.25rem 0 var(--control-padding-x);font-size:var(--control-font-size)}.dropdown-search:hover,.dropdown-search:focus{border-color:var(--color-border-focus)}.dropdown-search:focus{box-shadow:none;border-bottom-width:2px}.dropdown-clear{width:1.5rem;height:1.5rem;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;font-size:1rem;line-height:1;display:grid;position:absolute;top:50%;right:.375rem;transform:translateY(-50%)}.dropdown-clear:hover,.dropdown-clear:focus-visible{color:var(--color-ink);background:var(--color-surface-hover)}.dropdown-options{z-index:10;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-layer-03);max-height:14rem;box-shadow:var(--shadow-md);padding:0;display:grid;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow-y:auto}.dropdown-options button{color:var(--color-ink-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;padding:.625rem .75rem}.dropdown-options button:hover,.dropdown-options button.is-selected{color:var(--color-ink);background:var(--color-surface-hover)}.dropdown-options button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.dropdown-empty{color:var(--color-subtle);padding:.625rem .75rem;font-size:.875rem}.dropdown-native{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.auth-page{min-height:100dvh;color:var(--color-ink);background-color:var(--color-canvas);background-image:linear-gradient(to right, var(--color-grid) 1px, transparent 1px), linear-gradient(to bottom, var(--color-grid) 1px, transparent 1px);background-size:24px 24px;grid-template-rows:minmax(0,1fr) auto;padding:clamp(1rem,3vw,2.5rem);display:grid;position:relative;overflow:hidden auto}.auth-page .auth-shell{z-index:1;place-items:center;max-width:32rem;min-height:0;margin:0 auto;display:grid;position:relative}.auth-page .auth-card{border:1px solid var(--color-border-strong);border-top:3px solid var(--color-accent);background:var(--color-layer-01);width:100%;box-shadow:var(--shadow-modal);border-radius:0;padding:clamp(1.5rem,4vw,2.5rem);position:relative}.auth-page .auth-title{margin-bottom:var(--space-8)}.auth-page .auth-title h1{color:var(--color-ink);letter-spacing:-.04em;margin:0;font-size:2rem;font-weight:600}.auth-page form{gap:var(--space-6);display:grid}.auth-page .auth-error{margin:calc(var(--space-2) * -1) 0 0;border-left:2px solid var(--color-danger);padding:var(--space-2) var(--space-3);color:var(--color-danger);background:var(--color-danger-soft);font-size:.75rem;line-height:1.4}.auth-page .auth-footer{color:var(--color-subtle);background:0 0;grid-template-columns:1fr;padding-top:.5rem;font-size:.625rem;display:grid}@media (width>=1440px){.auth-page--desktop .auth-shell{max-width:30rem}}@media (width>=768px) and (width<=1199px){.auth-page--tablet{padding:1.5rem}.auth-page--tablet .auth-shell{max-width:25rem}.auth-page--tablet .auth-card{padding:2rem}}@media (width<=767px){.auth-page--mobile{padding:1rem}.auth-page--mobile .auth-shell{max-width:100%;min-height:auto}.auth-page--mobile .auth-card{padding:1.5rem}}.sidebar{border-right:1px solid var(--color-border);background:var(--color-sidebar);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid}.sidebar .icon{flex:0 0 1.25rem;width:1.25rem;height:1.25rem;display:block}.sidebar .brand,.sidebar .navigation-link{text-decoration:none}.sidebar .brand{border-bottom:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.625rem;width:100%;min-height:56px;padding:0 1rem;display:grid}.sidebar .brand .brand-mark{background:var(--color-layer-02);width:2rem;height:2rem;color:var(--color-accent);border-radius:0;place-items:center;display:grid}.sidebar .brand .brand-mark svg{width:1.5rem;height:1.5rem}.sidebar .brand .brand-name{color:var(--color-ink);letter-spacing:.18em;margin:0;font-size:.875rem;font-weight:700}.sidebar .navigation{width:100%;margin-top:1rem;padding:0 .75rem}.sidebar .navigation-title{color:var(--color-subtle);text-transform:uppercase;letter-spacing:.18em;margin:0 0 .375rem;padding:0 .5rem;font-size:.625rem;font-weight:600}.sidebar .navigation-list{gap:.125rem;display:grid}.sidebar .navigation-link{width:100%;min-height:40px;color:var(--color-muted);border-left:3px solid #0000;grid-template-columns:1.25rem minmax(0,1fr) auto;align-items:center;gap:.625rem;padding:.5rem .625rem;font-size:.875rem;display:grid}.sidebar .navigation-link:hover{background:var(--color-surface-hover);color:var(--color-ink-soft)}.sidebar .navigation-link--active{border-left-color:var(--color-accent);background:var(--color-layer-02);color:var(--color-accent);font-weight:600}.sidebar .navigation-label{min-width:0}.sidebar .navigation-count{background:var(--color-surface-muted);color:var(--color-muted);border-radius:0;padding:.125rem .375rem;font-size:.625rem}.sidebar .navigation-count--alert{background:var(--color-danger-soft);color:var(--color-danger)}.sidebar .navigation-group+.sidebar .navigation-group{margin-top:1.25rem}.sidebar .sidebar-footer{border-top:1px solid var(--color-border);gap:.5rem;padding:.75rem;display:grid}.sidebar .sidebar-status{min-height:32px;color:var(--color-muted);align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.75rem;text-decoration:none;display:flex}.sidebar .sidebar-status:hover{background:var(--color-surface-hover);color:var(--color-ink-soft)}.sidebar .sidebar-status-dot{border-radius:var(--radius-pill);background:var(--color-live);width:.5rem;height:.5rem;box-shadow:0 0 0 3px var(--color-live-soft);flex:0 0 .5rem}.sidebar .sidebar-status-dot--unknown{background:var(--color-subtle);box-shadow:none}.sidebar .sidebar-status-copy b{color:var(--color-ink-soft);font-weight:500}.sidebar .sidebar-account{display:grid;position:relative}.sidebar .operator{width:100%;min-height:40px;color:var(--color-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.625rem;padding:.5rem .625rem;display:grid}.sidebar .operator:hover{background:var(--color-surface-hover)}.sidebar .operator>.icon{width:1rem;height:1rem}.sidebar .account-menu{z-index:5;border:1px solid var(--color-border-strong);background:var(--color-layer-03);box-shadow:var(--shadow-md);position:absolute;bottom:calc(100% + .5rem);left:0;right:0}.sidebar .account-menu .logout-button{width:100%;min-height:40px;color:var(--color-danger);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:1rem minmax(0,1fr);align-items:center;gap:.625rem;padding:.5rem .625rem;display:grid}.sidebar .account-menu .logout-button:hover{background:var(--color-danger-soft)}.sidebar>.logout-button{width:100%;min-height:40px;color:var(--color-danger);font:inherit;cursor:pointer;background:0 0;border:0}.sidebar>.logout-button:hover{background:var(--color-danger-soft)}.sidebar .operator-badge{border-radius:var(--radius-pill);background:var(--color-operator-soft);width:1.75rem;height:1.75rem;color:var(--color-operator);place-items:center;font-size:.75rem;font-weight:700;display:grid}.sidebar .operator-copy{min-width:0;display:block}.sidebar .operator-name{color:var(--color-ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;display:block;overflow:hidden}.sidebar .operator-role{color:var(--color-subtle);font-size:.6875rem;display:block}@media (width<=1199px){.sidebar.sidebar--collapsible{width:var(--sidebar-collapsed-width,64px);overflow:hidden}.sidebar.sidebar--collapsible .brand{grid-template-columns:1fr;place-items:center;padding:0}.sidebar.sidebar--collapsible .brand-copy,.sidebar.sidebar--collapsible .navigation-title,.sidebar.sidebar--collapsible .navigation-label,.sidebar.sidebar--collapsible .navigation-count,.sidebar.sidebar--collapsible .sidebar-status-copy,.sidebar.sidebar--collapsible .operator-copy,.sidebar.sidebar--collapsible .account-menu{display:none}.sidebar.sidebar--collapsible .navigation{padding:0 .5rem}.sidebar.sidebar--collapsible .navigation-link{grid-template-columns:1fr;place-items:center;gap:0;padding-left:.5rem;padding-right:.5rem}.sidebar.sidebar--collapsible .sidebar-footer{padding:.5rem}.sidebar.sidebar--collapsible .sidebar-status,.sidebar.sidebar--collapsible .operator{grid-template-columns:1fr;place-items:center;padding-left:.25rem;padding-right:.25rem}.sidebar.sidebar--collapsible .operator>.icon{display:none}}.sidebar-button{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-muted);text-align:left;background:0 0;border:0;place-items:center;margin:0;padding:0;text-decoration:none;display:grid}.sidebar-button.logout-button{margin-top:0}.sidebar-button:hover:not(:disabled){color:var(--color-ink-soft);background:var(--color-surface-muted)}.sidebar-button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.operator-badge{border-radius:var(--radius-pill);width:1.75rem;height:1.75rem;color:var(--color-operator);background:var(--color-operator-soft);flex:0 0 1.75rem;place-items:center;font-size:.75rem;display:grid}.operator-copy{flex:1;gap:.125rem;min-width:0;display:grid}.operator-name{color:var(--color-ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;overflow:hidden}.operator-role{color:var(--color-subtle);font-size:.6875rem}.app-layout{--sidebar-layout-width:var(--sidebar-expanded-width,232px);grid-template-columns:var(--sidebar-layout-width) minmax(0, 1fr);background:var(--color-canvas);min-height:100vh;color:var(--color-ink);display:grid}.app-layout>.sidebar{z-index:20;width:var(--sidebar-layout-width);grid-area:1/1/-1;position:static}.app-layout>.main{grid-column:2;min-width:0;min-height:100vh;margin-left:0}@media (width<=1199px){.app-layout{--sidebar-layout-width:var(--sidebar-collapsed-width,64px);grid-template-columns:var(--sidebar-layout-width) minmax(0, 1fr)}}.alerts-page{--sidebar-layout-width:var(--sidebar-expanded-width,232px);min-height:100vh;color:var(--color-ink);background:var(--color-canvas)}.alerts-page .icon{width:1.25rem;height:1.25rem}.alerts-page .main{min-height:100vh}.alerts-page .header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;min-height:64px;padding:1rem 2rem;display:grid}.alerts-page .header .eyebrow{color:var(--color-accent);text-transform:uppercase;letter-spacing:.18em;margin:0;font-size:.75rem}.alerts-page .header .title{margin:.25rem 0 0;font-size:1.25rem}.alerts-page .header .unacknowledged{border-radius:var(--radius-pill);color:var(--color-danger);background:var(--color-danger-soft);padding:.375rem .75rem;font-size:.75rem;font-weight:600}.alerts-page .content{padding:2rem}.alerts-page .content .summary{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;display:grid}.alerts-page .content .summary .summary-card{border:0;border-top:1px solid var(--color-border);background:var(--color-layer-01);border-radius:0;padding:1rem}.alerts-page .content .summary .summary-card p{color:var(--color-subtle);margin:0;font-size:.75rem}.alerts-page .content .summary .summary-card strong{margin-top:.5rem;font-size:1.5rem;display:block}.alerts-page .content .summary .summary-card strong.danger{color:var(--color-danger)}.alerts-page .content .summary .summary-card strong.live{color:var(--color-live)}.alerts-page .queue-header{grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:grid}.alerts-page .queue-header h2{margin:0;font-size:1rem}.alerts-page .queue-header p{color:var(--color-subtle);margin:.25rem 0 0;font-size:.75rem}.alerts-page .queue-header select{border:0;border-bottom:1px solid var(--color-border-strong);color:var(--color-muted);background:var(--color-field);border-radius:0;padding:.5rem .75rem}.alerts-page .alert-list{border:1px solid var(--color-border);background:var(--color-layer-01);border-radius:0;overflow:hidden}.alerts-page .alert-list .empty{color:var(--color-muted);text-align:center;padding:2.5rem}.alerts-page .alert-list .alert-row{border-bottom:1px solid var(--color-border-soft);grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.25rem;display:grid}.alerts-page .alert-list .alert-row:hover{background:var(--color-surface-hover)}.alerts-page .alert-list .alert-row:last-child{border-bottom:0}.alerts-page .alert-list .alert-row .alert-symbol{border-radius:0;flex-shrink:0;place-items:center;width:2.25rem;height:2.25rem;display:grid}.alerts-page .alert-list .alert-row .alert-symbol.critical{color:var(--color-danger);background:var(--color-danger-soft)}.alerts-page .alert-list .alert-row .alert-symbol.warning{color:var(--color-warning);background:var(--color-warning-soft)}.alerts-page .alert-list .alert-row .alert-symbol.info{color:var(--color-live);background:var(--color-live-soft)}.alerts-page .alert-list .alert-row .alert-copy{min-width:0}.alerts-page .alert-list .alert-row .alert-copy h3{margin:0 .5rem 0 0;font-size:.875rem;display:inline}.alerts-page .alert-list .alert-row .alert-copy .severity{border-radius:var(--radius-pill);text-transform:uppercase;padding:.125rem .5rem;font-size:.625rem}.alerts-page .alert-list .alert-row .alert-copy .acknowledged{color:var(--color-live);text-transform:uppercase;margin-left:.5rem;font-size:.625rem}.alerts-page .alert-list .alert-row .alert-copy p{color:var(--color-muted);margin:.25rem 0 0;font-size:.75rem}.alerts-page .alert-list .alert-row .alert-actions{color:var(--color-subtle);grid-auto-columns:max-content;grid-auto-flow:column;align-items:end;gap:.75rem;font-size:.75rem;display:grid}.alerts-page .alert-list .alert-row .alert-actions button{border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);color:var(--color-muted);background:0 0;padding:.375rem .625rem;font-size:.625rem}.alerts-page .alert-list .alert-row .alert-actions button:hover{color:var(--color-ink);background:var(--color-surface-muted)}@media (width<=1199px){.alerts-page{--sidebar-layout-width:var(--sidebar-collapsed-width,64px)}}.camera-card{border:1px solid var(--color-border-soft);background:var(--color-layer-01);box-shadow:none;border-radius:0;position:relative;overflow:hidden}.camera-card .media{aspect-ratio:16/9;position:relative;overflow:hidden}.camera-card .feed{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.camera-card .overlay,.camera-card .grid-overlay,.camera-card .toolbar,.camera-card .action,.camera-card .offline,.camera-card .live-label{z-index:1;position:absolute}.camera-card .overlay{background:radial-gradient(circle at 35% 25%, var(--color-overlay-text-soft), transparent 28%), linear-gradient(135deg, var(--color-control), var(--color-control-hover));inset:0}.camera-card .overlay.offline{filter:grayscale()}.camera-card .grid-overlay{background-image:linear-gradient(var(--color-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-grid) 1px, transparent 1px);opacity:.3;background-size:28px 28px;inset:0}.camera-card .toolbar{grid-template-columns:minmax(0,1fr) auto;padding:.75rem;display:grid;inset:0 0 auto}.camera-card .status{border-radius:var(--radius-pill);color:var(--status-color);background:var(--status-background);letter-spacing:.14em;text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--status-ring);grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:10px;font-weight:600;display:inline-grid}.camera-card .status--live{--status-color:var(--color-live);--status-background:var(--color-live-soft);--status-ring:var(--color-live-ring)}.camera-card .status--warning{--status-color:var(--color-warning);--status-background:var(--color-warning-soft);--status-ring:var(--color-warning-ring)}.camera-card .status--offline{--status-color:var(--color-offline);--status-background:var(--color-offline-soft);--status-ring:var(--color-offline-ring)}.camera-card .status-dot,.camera-card .live-label-dot{border-radius:var(--radius-pill);background:currentColor;width:.375rem;height:.375rem;display:block}.camera-card .action{border-radius:var(--radius-sm);color:var(--color-overlay-text);background:var(--color-control);opacity:0;transition:opacity var(--motion-fast), background var(--motion-fast), color var(--motion-fast);border:0;padding:.375rem}.camera-card .action:hover{color:var(--color-ink);background:var(--color-control-hover)}.camera-card .action:focus-visible{opacity:1}.camera-card .action--expand{position:absolute;top:.75rem;right:.75rem}.camera-card:hover .action{opacity:1}.camera-card .offline{color:var(--color-overlay-text-soft);text-align:center;place-items:center;display:grid;inset:0}.camera-card .offline .offline-icon{border-radius:var(--radius-pill);width:2.5rem;height:2.5rem;color:var(--color-ink-soft);background:var(--color-control);place-items:center;margin:0 auto .5rem;display:grid}.camera-card .offline p{margin:0;font-size:12px;font-weight:500}.camera-card .live-label{color:var(--color-overlay-text);letter-spacing:.16em;text-transform:uppercase;grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;gap:.5rem;font-size:10px;font-weight:500;display:grid;bottom:.75rem;left:.75rem}.camera-card .live-label .live-label-dot{background:var(--color-danger);animation:1.8s ease-in-out infinite camera-pulse}.camera-card .footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.875rem 1rem;display:grid}.camera-card .location,.camera-card .meta,.camera-card .resolution{margin:0}.camera-card .location{color:var(--color-ink-soft);font-size:14px;font-weight:600}.camera-card .meta{color:var(--color-subtle);margin-top:.25rem;font-size:12px}.camera-card .resolution{color:var(--color-subtle);font-size:12px}.camera-card .health-meta{color:var(--color-subtle);flex-wrap:wrap;gap:.5rem;margin-top:.5rem;font-size:10px;display:flex}.camera-card .health-state{color:var(--color-warning);align-items:center;gap:.25rem;display:inline-flex}.camera-card .health-state--connected{color:var(--color-live)}.camera-card .health-state--error{color:var(--color-danger)}.camera-card .health-state-dot{border-radius:var(--radius-pill);background:currentColor;width:.375rem;height:.375rem}.camera-card .menu{z-index:5;border:1px solid var(--color-border-soft);background:var(--color-layer-02);min-width:8rem;box-shadow:var(--shadow-card);border-radius:0;padding:.25rem;position:fixed}.camera-card .menu button{width:100%;color:var(--color-ink-soft);text-align:left;background:0 0;border:0;border-radius:0;padding:.5rem .625rem;font-size:12px;display:block}.camera-card .menu button:hover,.camera-card .menu button:focus-visible{background:var(--color-surface-hover);outline:0}.camera-card .menu .menu-item--danger{color:var(--color-danger)}@keyframes camera-pulse{50%{opacity:.45}}.cameras-page{--sidebar-layout-width:var(--sidebar-expanded-width,232px);min-height:100vh;color:var(--color-ink);background:var(--color-canvas)}.cameras-page .icon{width:1.25rem;height:1.25rem}.cameras-page .main{min-height:100vh}.cameras-page .header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:1rem;min-height:64px;padding:1rem 2rem;display:grid}.cameras-page .header .eyebrow{color:var(--color-accent);text-transform:uppercase;letter-spacing:.18em;margin:0;font-size:.75rem}.cameras-page .header h1{margin:.25rem 0 0;font-size:1.25rem}.cameras-page .header-actions{grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;gap:.75rem;display:grid}.cameras-page .online-count{border-radius:var(--radius-pill);color:var(--color-live);background:var(--color-live-soft);padding:.375rem .75rem;font-size:.75rem;font-weight:600}.cameras-page .content{padding:2rem}.cameras-page .page-heading{margin-bottom:1.5rem}.cameras-page .page-heading h2{margin:0;font-size:1rem}.cameras-page .page-heading p{color:var(--color-subtle);margin:.25rem 0 0;font-size:.75rem}.cameras-page .camera-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.cameras-page .camera-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.cameras-page .camera-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.cameras-page .camera-toolbar{grid-template-columns:minmax(12rem,1fr) repeat(3,max-content) max-content;align-items:end;gap:.75rem;margin-bottom:1.5rem;display:grid}.cameras-page .camera-toolbar label{color:var(--color-muted);gap:.35rem;font-size:.6875rem;display:grid}.cameras-page .camera-toolbar input,.cameras-page .camera-toolbar select{box-sizing:border-box;border:0;border-bottom:1px solid var(--color-border-strong);min-height:2.25rem;color:var(--color-ink);background:var(--color-field);border-radius:0;outline:0;padding:.5rem .625rem;font-size:.75rem}.cameras-page .camera-toolbar input:focus,.cameras-page .camera-toolbar select:focus{border-bottom-width:2px;border-color:var(--color-accent)}.cameras-page .camera-toolbar .search-field input{width:100%}.cameras-page .empty-state{border:1px dashed var(--color-border-soft);color:var(--color-ink-soft);text-align:center;border-radius:0;gap:.5rem;padding:3rem;display:grid}.cameras-page .empty-state span{color:var(--color-subtle);font-size:.75rem}.cameras-page .dialog-backdrop{z-index:40;background:var(--color-overlay);place-items:start center;padding:1.25rem;display:grid;position:fixed;inset:0;overflow-y:auto}.cameras-page .dialog-panel{border:1px solid var(--color-border-soft);background:var(--color-layer-01);width:100%;max-width:32rem;box-shadow:var(--shadow-modal);border-radius:0;margin:2rem 0}.cameras-page .dialog-panel--wide{max-width:56rem}.cameras-page .dialog-header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:grid}.cameras-page .dialog-header .eyebrow{color:var(--color-accent);text-transform:uppercase;letter-spacing:.18em;margin:0;font-size:.625rem}.cameras-page .dialog-header h2{margin:.25rem 0 0;font-size:1.125rem}.cameras-page .dialog-header p{color:var(--color-subtle);margin:.25rem 0 0;font-size:.75rem}.cameras-page .dialog-header .close{color:var(--color-subtle);background:0 0;border:0;font-size:1.25rem}.cameras-page .dialog-content{grid-template-columns:1fr 1.2fr;gap:1.5rem;padding:1.5rem;display:grid}.cameras-page .dialog-content h3{color:var(--color-ink-soft);margin:0;font-size:.75rem}.cameras-page .scanner-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;margin-top:.75rem;display:grid}.cameras-page .scanner-row input{min-width:0}.cameras-page .scanner p{color:var(--color-subtle);font-size:.6875rem;line-height:1.5}.cameras-page .dialog-content input,.cameras-page .dialog-content select{box-sizing:border-box;border:0;border-bottom:1px solid var(--color-border-strong);width:100%;color:var(--color-ink);background:var(--color-field);border-radius:0;outline:0;padding:.625rem .75rem;font-size:.75rem}.cameras-page .dialog-content input:focus,.cameras-page .dialog-content select:focus{border-bottom-width:2px;border-color:var(--color-accent)}.cameras-page .discoveries{gap:.5rem;margin-top:1rem;display:grid}.cameras-page .discovery,.cameras-page .empty{border:1px dashed var(--color-border-soft);border-radius:var(--radius-sm);color:var(--color-subtle);padding:.75rem;font-size:.75rem}.cameras-page .discovery{gap:.25rem;display:grid}.cameras-page .camera-form{gap:.75rem;display:grid}.cameras-page .camera-form label{color:var(--color-muted);text-transform:capitalize;gap:.25rem;font-size:.6875rem;display:grid}.cameras-page .dialog-actions{grid-auto-columns:max-content;grid-auto-flow:column;justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:grid}.cameras-page .form-error{color:var(--color-danger);font-size:.75rem}.cameras-page .settings-content{color:var(--color-subtle);gap:1rem;padding:1.5rem;font-size:.75rem;display:grid}.cameras-page .settings-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.cameras-page .settings-grid>div,.cameras-page .settings-grid .endpoint{background:var(--color-layer-02);border-radius:0;gap:.25rem;padding:.75rem;display:grid}.cameras-page .settings-grid b{color:var(--color-ink-soft)}.cameras-page .endpoint{word-break:break-all;background:var(--color-layer-02);gap:.25rem;padding:.75rem;display:grid}.cameras-page .focus-backdrop{z-index:50;background:var(--color-overlay);place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0;overflow-y:auto}.cameras-page .focus-panel{border:1px solid var(--color-border-soft);background:var(--color-layer-01);width:min(100%,84rem);box-shadow:var(--shadow-modal);border-radius:0;overflow:hidden}.cameras-page .focus-header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1rem 1.25rem;display:grid}.cameras-page .focus-header .eyebrow{color:var(--color-accent);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.625rem}.cameras-page .focus-header h2{margin:.25rem 0 0;font-size:1.125rem}.cameras-page .focus-header p:last-child{color:var(--color-subtle);margin:.25rem 0 0;font-size:.75rem}.cameras-page .focus-header .close{color:var(--color-subtle);font-size:1.25rem}.cameras-page .focus-media{aspect-ratio:16/9;min-height:20rem;max-height:75vh;color:var(--color-subtle);background:var(--color-surface);place-items:center;display:grid}.cameras-page .focus-media img{object-fit:contain;width:100%;height:100%}.cameras-page .focus-details{border-top:1px solid var(--color-border);color:var(--color-subtle);flex-wrap:wrap;gap:.75rem;padding:.875rem 1.25rem;font-size:.75rem;display:flex}.cameras-page .focus-status{color:var(--color-warning)}.cameras-page .focus-status--live{color:var(--color-live)}.cameras-page .focus-status--offline{color:var(--color-danger)}@media (width<=1199px){.cameras-page{--sidebar-layout-width:var(--sidebar-collapsed-width,64px)}.cameras-page .camera-grid--3,.cameras-page .camera-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.cameras-page .header{grid-template-columns:1fr}.cameras-page .header-actions{justify-content:space-between}.cameras-page .content{padding:1.25rem}.cameras-page .camera-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.cameras-page .camera-toolbar .search-field{grid-column:1/-1}.cameras-page .camera-toolbar .button{grid-column:1/-1;justify-self:start}.cameras-page .camera-grid{grid-template-columns:1fr}.cameras-page .focus-backdrop{padding:.75rem}.cameras-page .focus-media{min-height:12rem}}.panel{border:0;border-top:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:none}.gauge{background:conic-gradient(var(--color-accent) 0deg var(--gauge-value), var(--color-border-soft) var(--gauge-value) 360deg);border-radius:50%;place-items:center;width:11rem;height:11rem;margin:1.5rem auto;display:grid}.gauge>div{background:var(--color-surface-muted);border-radius:50%;align-content:center;place-items:center;width:8rem;height:8rem;display:grid}.gauge>div strong{font-size:1.875rem}.gauge>div span{color:var(--color-subtle);text-transform:uppercase;letter-spacing:.14em;font-size:.625rem}.dashboard-page{--sidebar-layout-width:var(--sidebar-expanded-width,232px);min-height:100vh;color:var(--color-ink);background:var(--color-canvas)}.dashboard-page .main{min-height:100vh}.dashboard-page .header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:64px;padding:1rem 2rem;display:grid}.dashboard-page .eyebrow{color:var(--color-accent);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.75rem}.dashboard-page .title{margin:.25rem 0 0;font-size:1.25rem}.dashboard-page .content{padding:2rem}.dashboard-page .dashboard-link{color:var(--color-accent);font-size:.75rem;text-decoration:none}.dashboard-page .dashboard-error{color:var(--color-warning);margin:0 0 1rem;font-size:.75rem}.dashboard-page .summary,.dashboard-page .dashboard-grid,.dashboard-page .quick-links{gap:1rem;display:grid}.dashboard-page .summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}.dashboard-page .summary article,.dashboard-page .quick-links article,.dashboard-page .panel{border:0;border-top:1px solid var(--color-border);background:var(--color-layer-01);border-radius:0;padding:1rem}.dashboard-page .summary p,.dashboard-page .quick-links p,.dashboard-page .panel-heading p,.dashboard-page .attention-list span{color:var(--color-subtle);margin:0;font-size:.75rem}.dashboard-page .summary strong{text-transform:capitalize;margin-top:.5rem;font-size:1.5rem;display:block}.dashboard-page .summary small{color:var(--color-subtle);font-size:.875rem}.dashboard-page .warning,.dashboard-page .degraded{color:var(--color-warning)}.dashboard-page .healthy-text,.dashboard-page .healthy{color:var(--color-live)}.dashboard-page .runtime-state{font-size:1rem!important}.dashboard-page .runtime-state--error{color:var(--color-danger)}.dashboard-page .runtime-state--running{color:var(--color-live)}.dashboard-page .dashboard-grid{grid-template-columns:minmax(18rem,1fr) minmax(0,2fr)}.dashboard-page .panel{padding:1.25rem}.dashboard-page .panel-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.dashboard-page .panel-heading h2,.dashboard-page .quick-links h2{margin:0;font-size:1rem}.dashboard-page .healthy,.dashboard-page .degraded{text-transform:uppercase;font-size:.625rem}.dashboard-page .health-stats{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.dashboard-page .health-stats b,.dashboard-page .health-stats span{display:block}.dashboard-page .health-stats span{color:var(--color-subtle);font-size:.625rem}.dashboard-page .attention-list{gap:.75rem;margin-top:1rem;display:grid}.dashboard-page .attention-list article{border:0;border-top:1px solid var(--color-border-soft);background:var(--color-layer-02);border-radius:0;grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;padding:.75rem;display:grid}.dashboard-page .attention-list span{grid-column:1/-1}.dashboard-page .empty{color:var(--color-subtle);margin:1rem 0 0;font-size:.75rem}.dashboard-page .quick-links{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.dashboard-page .quick-links p{margin:.5rem 0 1rem}@media (width<=1199px){.dashboard-page{--sidebar-layout-width:var(--sidebar-collapsed-width,64px)}}@media (width<=767px){.dashboard-page .header{grid-template-columns:1fr;padding:1rem 1.25rem}.dashboard-page .content{padding:1.25rem}.dashboard-page .summary,.dashboard-page .dashboard-grid,.dashboard-page .quick-links{grid-template-columns:1fr}}.events-page{--sidebar-layout-width:var(--sidebar-expanded-width,232px);min-height:100vh;color:var(--color-ink);background:var(--color-canvas)}.events-page .icon{width:1.25rem;height:1.25rem}.events-page .small{width:1rem;height:1rem}.events-page .main{min-height:100vh}.events-page .header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;min-height:64px;padding:1rem 2rem;display:grid}.events-page .header .eyebrow{color:var(--color-accent);text-transform:uppercase;letter-spacing:.18em;margin:0;font-size:.75rem}.events-page .header .title{margin:.25rem 0 0;font-size:1.25rem}.events-page .notifications{border:1px solid var(--color-border-soft);color:var(--color-muted);background:var(--color-surface-muted);border-radius:0;padding:.625rem;position:relative}.events-page .notifications span{border:2px solid var(--color-canvas);border-radius:var(--radius-pill);background:var(--color-warning);width:.375rem;height:.375rem;position:absolute;top:.5rem;right:.5rem}.events-page .content{padding:2rem}.events-page .content .summary{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;display:grid}.events-page .content .summary>div{border:0;border-top:1px solid var(--color-border);background:var(--color-layer-01);border-radius:0;padding:1rem}.events-page .content .summary>div p{color:var(--color-subtle);margin:0;font-size:.75rem}.events-page .content .summary>div strong{margin-top:.5rem;font-size:1.5rem;display:block}.events-page .content .summary>div strong.warning{color:var(--color-warning)}.events-page .timeline-heading{grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:grid}.events-page .timeline-heading h2{margin:0;font-size:1rem}.events-page .timeline-heading p{color:var(--color-subtle);margin:.25rem 0 0;font-size:.75rem}.events-page .timeline-heading .filters{grid-auto-columns:max-content;grid-auto-flow:column;gap:.5rem;display:grid}.events-page .timeline-heading .filters select{border:0;border-bottom:1px solid var(--color-border-strong);color:var(--color-muted);background:var(--color-field);border-radius:0;padding:.5rem .75rem;font-size:.75rem}.events-page .event-list{border:1px solid var(--color-border);background:var(--color-layer-01);border-radius:0;overflow:hidden}.events-page .event-list .empty{color:var(--color-muted);text-align:center;padding:2.5rem}.events-page .event-list .event-row{grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:1rem;padding:1rem 1.25rem;display:grid}.events-page .event-list .event-row:hover{background:var(--color-surface-hover)}.events-page .event-list .event-row.separated{border-top:1px solid var(--color-border-soft)}.events-page .event-list .event-row .event-symbol{border-radius:0;flex-shrink:0;place-items:center;width:2.25rem;height:2.25rem;display:grid}.events-page .event-list .event-row .event-symbol.motion{color:var(--color-warning);background:var(--color-warning-soft)}.events-page .event-list .event-row .event-symbol.person{color:var(--color-live);background:var(--color-live-soft)}.events-page .event-list .event-row .event-symbol.system{color:var(--color-muted);background:var(--color-surface-muted)}.events-page .event-list .event-row .event-copy{min-width:0}.events-page .event-list .event-row .event-copy h3{margin:0 .5rem 0 0;font-size:.875rem;display:inline}.events-page .event-list .event-row .event-copy span{border-radius:var(--radius-pill);color:var(--color-subtle);background:var(--color-surface-muted);text-transform:uppercase;padding:.125rem .5rem;font-size:.625rem}.events-page .event-list .event-row .event-copy p{color:var(--color-muted);margin:.25rem 0 0;font-size:.75rem}.events-page .event-list .event-row .event-time{color:var(--color-ink-soft);text-align:right}.events-page .event-list .event-row .event-time p{margin:0;font-size:.75rem;font-weight:600}.events-page .event-list .event-row .event-time small{color:var(--color-subtle);font-size:.625rem}@media (width<=1199px){.events-page{--sidebar-layout-width:var(--sidebar-collapsed-width,64px)}}.settings-page{--sidebar-layout-width:var(--sidebar-expanded-width,232px);background:var(--color-canvas);min-height:100vh;color:var(--color-ink)}.settings-page .main{min-width:0;min-height:100vh}.settings-page .header{border-bottom:1px solid var(--color-border);align-items:center;min-height:64px;padding:1rem 2rem;display:grid}.settings-page .header .eyebrow{color:var(--color-accent);text-transform:uppercase;letter-spacing:.18em;margin:0;font-size:.75rem}.settings-page .header h1{margin:.25rem 0 0;font-size:1.35rem}.settings-page .back-link{color:var(--color-muted);margin-bottom:.8rem;font-size:.75rem;text-decoration:none;display:inline-block}.settings-page .back-link:hover{color:var(--color-accent)}.settings-page .settings-layout{grid-template-columns:160px minmax(0,1fr);align-items:start;gap:2rem;max-width:920px;padding:2rem;display:grid}.settings-page .settings-nav{gap:.3rem;display:grid;position:sticky;top:2rem}.settings-page .settings-nav p{color:var(--color-subtle);text-transform:uppercase;letter-spacing:.15em;margin:0 0 .5rem;font-size:.65rem}.settings-page .settings-nav a{color:var(--color-muted);border-left:3px solid #0000;border-radius:0;padding:.6rem .7rem;font-size:.85rem;text-decoration:none}.settings-page .settings-nav a:hover,.settings-page .settings-nav a.active{color:var(--color-accent);border-left-color:var(--color-accent);background:var(--color-layer-02)}.settings-page .settings-content{gap:2rem;min-width:0;display:grid}.settings-page .settings-section{gap:.8rem;display:grid}.settings-page .section-heading h2{margin:0;font-size:1rem}.settings-page .section-heading p{color:var(--color-muted);margin:.35rem 0 0;font-size:.84rem}.settings-page .settings-card{border:0;border-top:1px solid var(--color-border);background:var(--color-layer-01);box-shadow:none;border-radius:0}.settings-page .account-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.85rem;padding:1rem;display:grid}.settings-page .account-card>div{gap:.2rem;display:grid}.settings-page .account-card span{color:var(--color-muted);font-size:.8rem}.settings-page .account-badge{background:var(--color-operator-soft);width:2.5rem;height:2.5rem;color:var(--color-operator);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:grid}.settings-page .settings-list{display:grid}.settings-page .setting-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:grid}.settings-page .setting-row:last-child{border-bottom:0}.settings-page .setting-row span:first-child{gap:.25rem;display:grid}.settings-page .setting-row small,.settings-page .setting-row .setting-value{color:var(--color-muted);font-size:.8rem}.settings-page .setting-row input{width:1rem;height:1rem;accent-color:var(--color-accent)}.settings-page .password-form{gap:.75rem;padding:1rem;display:grid}.settings-page .password-form>div{gap:.25rem;display:grid}.settings-page .password-form small{color:var(--color-muted);font-size:.8rem}.settings-page .password-form label{color:var(--color-muted);gap:.35rem;font-size:.75rem;display:grid}.settings-page .password-form input{border:0;border-bottom:1px solid var(--color-border-strong);width:100%;color:var(--color-ink);background:var(--color-field);border-radius:0;padding:.65rem .75rem}.settings-page .password-form button{color:var(--color-canvas);background:var(--color-accent);cursor:pointer;border:0;border-radius:0;justify-self:start;padding:.65rem .85rem;font-weight:700}.settings-page .password-form .password-error,.settings-page .password-form .password-success{margin:0;font-size:.78rem}.settings-page .password-form .password-error{color:var(--color-danger)}.settings-page .password-form .password-success{color:var(--color-success)}.settings-page .activity-empty{gap:.35rem;padding:1.25rem;display:grid}.settings-page .activity-empty span{color:var(--color-muted);font-size:.82rem}.settings-page .inference-card{gap:.5rem;padding:1rem;display:grid}.settings-page .inference-card label{color:var(--color-muted);gap:.35rem;font-size:.75rem;display:grid}.settings-page .inference-card select{border:0;border-bottom:1px solid var(--color-border-strong);width:100%;color:var(--color-ink);background:var(--color-field);border-radius:0;padding:.65rem .75rem}.settings-page .inference-card small{color:var(--color-muted);font-size:.75rem}.settings-page .model-error{color:var(--color-danger);margin:0;font-size:.75rem}@media (width<=720px){.settings-page .settings-layout,.settings-page .header{padding:1.25rem}.settings-page .settings-layout{grid-template-columns:1fr;gap:1.25rem}.settings-page .settings-nav{grid-template-columns:repeat(3,1fr);position:static}.settings-page .settings-nav p{grid-column:1/-1}}@media (width<=1199px){.settings-page{--sidebar-layout-width:var(--sidebar-collapsed-width,64px)}}.window{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-layer-01);min-width:0;min-height:0;box-shadow:var(--shadow-modal);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.window-topbar{border-bottom:1px solid var(--color-border-soft);background:var(--color-layer-02);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:3.5rem;padding:.625rem .75rem .625rem 1rem;display:grid}.window-heading{min-width:0}.window-eyebrow{color:var(--color-accent);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.625rem;font-weight:600}.window-title{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;margin:.125rem 0 0;font-size:1rem;font-weight:600;overflow:hidden}.window-subtitle{color:var(--color-subtle);margin:.25rem 0 0;font-size:.75rem}.window-close{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-muted);border:1px solid #0000;place-items:center;padding:0;font-size:1.25rem;line-height:1;display:grid}.window-close:hover:not(:disabled){border-color:var(--color-danger-ring);color:var(--color-danger);background:var(--color-danger-soft)}.window-close:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.window-body{min-height:0;padding:1.25rem;overflow:auto}.floating-window{z-index:80;width:min(30rem,100vw - 2rem);max-height:calc(100vh - 2rem);position:fixed;top:50%;left:50%}.floating-window .window-topbar{cursor:grab;-webkit-user-select:none;user-select:none}.floating-window .window-topbar:active{cursor:grabbing}.floating-window .window-close{cursor:pointer}.group-editor{border:1px solid var(--workflow-line-strong);border-left:3px solid var(--color-accent);background:var(--workflow-panel-raised);border-radius:0;gap:.75rem;padding:.75rem;display:grid}.group-toolbar,.group-controls,.group-connections{align-items:center;gap:.75rem;display:grid}.group-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.group-kicker,.group-connections-title{color:var(--color-accent);text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:.625rem;font-weight:700}.group-toolbar h4{color:var(--color-ink);margin:.25rem 0 0;font-size:.8125rem}.group-help,.group-connections-empty{color:var(--color-subtle);margin:0;font-size:.6875rem}.group-controls{border-top:1px solid var(--workflow-line);grid-template-columns:max-content max-content minmax(0,1fr);align-items:flex-end;padding-top:.75rem}.group-controls label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;gap:.35rem;font-size:.625rem;font-weight:600;display:grid}.group-controls input,.group-controls select{min-width:4rem;padding:.45rem .5rem;font-size:.75rem}.group-controls .add-child{width:100%;min-width:0}.group-controls .add-child>div{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.group-controls .add-child select{min-width:0}.group-canvas{border:1px solid var(--workflow-line-strong);background-color:var(--workflow-canvas);background-image:radial-gradient(var(--workflow-grid-major) 1px, transparent 1px);background-size:16px 16px;border-radius:0;grid-template-columns:4.5rem minmax(0,1fr) 4.5rem;min-height:16rem;display:grid;overflow:hidden}.group-ports{align-content:center;gap:1rem;padding:.5rem;display:grid}.group-ports--outputs{justify-items:end}.group-port{color:var(--color-muted);text-transform:uppercase;white-space:nowrap;grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;gap:.25rem;font-size:.5625rem;font-weight:700;display:grid}.group-port-handle,.group-child-handle{border:1px solid var(--color-accent);min-width:0;color:var(--color-accent);background:var(--workflow-panel);font-size:.5625rem}.group-port-handle:hover,.group-port-handle.active,.group-child-handle:hover,.group-child-handle.active{color:var(--color-on-accent);background:var(--color-accent)}.group-port-handle{border-radius:50%;width:.75rem;height:.75rem;padding:0}.group-child-canvas{border-right:1px solid var(--workflow-line);border-left:1px solid var(--workflow-line);min-width:0;position:relative}.group-empty{color:var(--color-subtle);place-items:center;margin:0;font-size:.6875rem;display:grid;position:absolute;inset:0}.group-child-node{border:1px solid var(--color-border-strong);background:var(--workflow-panel-raised);border-radius:0;width:9rem;position:absolute;box-shadow:0 6px 14px #0000003d}.group-child-header{border-bottom:1px solid var(--color-border-soft);color:var(--color-ink-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem;padding:.35rem .45rem;font-size:.6875rem;font-weight:600;display:grid}.group-child-header button{min-width:1rem;min-height:1rem;color:var(--color-subtle);padding:0;font-size:.875rem}.group-child-body{gap:.35rem;padding:.45rem;display:grid}.group-child-inputs{grid-template-columns:repeat(auto-fit,minmax(max-content,1fr));gap:.25rem;display:grid}.group-child-handle{padding:.2rem .3rem;font-size:.5625rem}.group-child-handle--input{border-color:var(--color-info);color:var(--color-info)}.group-child-handle--output{justify-self:end}.group-child-detail{color:var(--color-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.5625rem;overflow:hidden}.group-connections{border-top:1px solid var(--workflow-line);grid-template-columns:repeat(auto-fit,minmax(max-content,1fr));padding-top:.65rem}.group-connection{border-left:2px solid var(--workflow-line-strong);background:var(--workflow-panel);color:var(--color-ink-soft);border-radius:0;padding:.25rem .4rem;font-size:.625rem}@media (width<=42rem){.group-toolbar,.group-controls{grid-template-columns:1fr;align-items:stretch}.group-canvas{grid-template-columns:4rem minmax(0,1fr) 4rem}}.rtsp-scanner-modal{z-index:70;pointer-events:none;position:fixed;inset:0}.rtsp-scanner-panel{pointer-events:auto;width:min(38rem,100vw - 2rem);max-height:min(90vh,42rem)}.rtsp-scanner-form{grid-template-columns:minmax(0,1fr) auto;align-items:flex-end;gap:.75rem;margin-top:1.25rem;display:grid}.rtsp-scanner-form .form-field{min-width:0}.rtsp-scanner-help,.rtsp-scanner-empty{color:var(--color-subtle);font-size:.75rem}.rtsp-scanner-results{gap:.625rem;margin-top:1rem;display:grid}.rtsp-discovery{border:1px solid var(--workflow-line-strong);border-left:3px solid var(--color-accent);background:var(--workflow-panel-raised);border-radius:0;gap:.5rem;padding:.75rem;display:grid}.rtsp-discovery strong,.rtsp-discovery span{display:block}.rtsp-discovery strong{color:var(--color-ink-soft);font-size:.8125rem}.rtsp-discovery span{color:var(--color-subtle);margin-top:.2rem;font-size:.6875rem}.rtsp-source{text-overflow:ellipsis;white-space:nowrap;justify-self:start;max-width:100%;overflow:hidden}.rtsp-scanner-error{color:var(--color-danger)}@media (width<=32rem){.rtsp-scanner-form{grid-template-columns:1fr;align-items:stretch}}.audio-spectrum{border:1px solid var(--workflow-line-strong);background:var(--workflow-canvas);border-radius:0;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:end;gap:2px;height:2.5rem;margin:.35rem .75rem 0;padding:.35rem;display:grid}.audio-spectrum-bar{background:var(--color-info);border-radius:0;width:100%;min-height:.2rem;transition:height .12s}.node-config-panel{width:100%;max-width:58rem;max-height:92vh}.node-config-panel .config-summary{color:var(--color-muted);grid-template-columns:max-content max-content minmax(0,1fr);align-items:center;gap:.5rem .75rem;margin-top:1rem;font-size:.75rem;display:grid}.node-config-panel .capability{border:1px solid var(--color-accent-ring);color:var(--color-accent);background:var(--color-accent-soft);letter-spacing:.08em;text-transform:uppercase;border-radius:0;padding:.2rem .4rem;font-size:.625rem;font-weight:700}.node-config-panel .capability--planned{color:var(--color-warning)}.node-config-panel .config-main{grid-template-columns:minmax(0,1fr);gap:.875rem;margin-top:1rem;display:grid}.node-config-panel .config-main--preview{grid-template-columns:minmax(0,1fr) minmax(16rem,.9fr)}.node-config-panel .config-fields,.node-config-panel .source-preview{border:1px solid var(--workflow-line-strong);background:var(--workflow-panel-raised);border-radius:0;min-width:0;padding:.875rem}.node-config-panel .config-fields h3,.node-config-panel .source-preview h3{color:var(--color-ink);margin:0 0 .875rem;font-size:.875rem;font-weight:600}.node-config-panel .settings-list{gap:.75rem;display:grid}.node-config-panel .scan-network{margin-top:.75rem}.node-config-panel .empty-settings,.node-config-panel .config-details p{color:var(--color-subtle);margin:0;font-size:.75rem}.node-config-panel .source-preview img,.node-config-panel .source-preview .preview-empty{box-sizing:border-box;border:1px solid var(--color-border-soft);background:var(--workflow-canvas);border-radius:0;width:100%;min-height:12rem;display:block}.node-config-panel .source-preview img{object-fit:cover;height:12rem}.node-config-panel .preview-empty{color:var(--color-subtle);place-items:center;padding:.75rem;font-size:.75rem;display:grid!important}.node-config-panel .config-details{border:1px solid var(--workflow-line-strong);background:var(--workflow-panel-raised);border-radius:0;margin-top:.75rem;padding:0 .875rem}.node-config-panel .config-details summary{color:var(--color-ink-soft);cursor:pointer;grid-template-columns:minmax(0,1fr) max-content;gap:.75rem;padding:.75rem 0;font-size:.75rem;font-weight:600;display:grid}.node-config-panel .config-details summary span{color:var(--color-subtle);font-weight:500}.node-config-panel .connection-list{gap:.375rem;margin:0 0 .875rem;display:grid}.node-config-panel .connection-list>div{border-left:2px solid var(--workflow-line-strong);background:var(--workflow-panel);border-radius:0;grid-template-columns:minmax(0,1fr) max-content;gap:.75rem;padding:.45rem .625rem;font-size:.6875rem;display:grid}.node-config-panel .connection-list dt{color:var(--color-muted)}.node-config-panel .connection-list dd{color:var(--color-accent);margin:0;font-weight:600}.node-config-panel .node-logs{gap:.375rem;max-height:9rem;margin:0 0 .875rem;padding:0;list-style:none;display:grid;overflow:auto}.node-config-panel .node-log{border-left:2px solid var(--workflow-line-strong);background:var(--workflow-panel);color:var(--color-ink-soft);border-radius:0;grid-template-columns:9rem minmax(0,1fr);gap:.625rem;padding:.45rem .625rem;font-size:.75rem;display:grid}.node-config-panel .node-log time{color:var(--color-subtle);font-variant-numeric:tabular-nums}.node-config-panel .node-log--error span{color:var(--color-danger)}.node-config-panel .actions{grid-auto-columns:max-content;grid-auto-flow:column;justify-content:end;gap:.5rem;margin-top:1.25rem;display:grid}.node-config-panel .cancel,.node-config-panel .apply,.node-config-panel .save{border-radius:0;padding:.5rem .75rem;font-size:.75rem;font-weight:500}.node-config-panel .cancel{border:1px solid var(--color-border-soft);color:var(--color-muted);background:0 0}.node-config-panel .save{color:var(--color-owl-mark-dark);background:var(--color-accent);border:0;font-weight:600}@media (width<=48rem){.node-config-panel .config-summary,.node-config-panel .config-main--preview{grid-template-columns:minmax(0,1fr)}}@keyframes workflow-edge-frame-a{0%{stroke:var(--color-info);stroke-width:4px}to{stroke-width:2.5px}}@keyframes workflow-edge-frame-b{0%{stroke:var(--color-info);stroke-width:4px}to{stroke-width:2.5px}}.node-canvas{--workflow-grid-size:24px;border:1px solid var(--workflow-line-strong);background:var(--workflow-canvas);border-radius:0;flex:1;min-height:0;position:relative;overflow:auto;box-shadow:inset 0 0 0 1px #00000059}.node-canvas .canvas-surface{width:var(--canvas-width);min-height:var(--canvas-height);background-image:linear-gradient(to right, var(--workflow-grid-major) 1px, transparent 1px), linear-gradient(to bottom, var(--workflow-grid-major) 1px, transparent 1px), linear-gradient(to right, var(--workflow-grid-minor) 1px, transparent 1px), linear-gradient(to bottom, var(--workflow-grid-minor) 1px, transparent 1px);background-size:calc(var(--workflow-grid-size) * 4) calc(var(--workflow-grid-size) * 4), calc(var(--workflow-grid-size) * 4) calc(var(--workflow-grid-size) * 4), var(--workflow-grid-size) var(--workflow-grid-size), var(--workflow-grid-size) var(--workflow-grid-size);position:relative}.node-canvas .canvas-edges{width:var(--canvas-width);pointer-events:none;height:auto;position:absolute;inset:0 auto auto 0}.node-canvas .canvas-edges path{pointer-events:stroke;cursor:context-menu}.node-canvas .canvas-edges .connection-preview{pointer-events:none;cursor:default;opacity:.9}.node-canvas .canvas-edges .workflow-edge-jump,.node-canvas .canvas-edges .workflow-edge-jump-mask{pointer-events:none;fill:none}.node-canvas .canvas-edges .workflow-edge--pulse-0{animation:.25s ease-out workflow-edge-frame-a}.node-canvas .canvas-edges .workflow-edge--pulse-1{animation:.25s ease-out workflow-edge-frame-b}.accordion{border:0;border-top:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-layer-01);overflow:hidden}.accordion .accordion-trigger{z-index:1;border-radius:var(--radius-md);width:100%;min-height:3.5rem;color:var(--color-ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:1.25rem minmax(0,1fr) auto 1.5rem;align-items:center;gap:.75rem;padding:0 1rem;font-size:.75rem;font-weight:600;display:grid;position:sticky;top:0}.accordion .accordion-trigger:hover{background:var(--color-surface-hover)}.accordion .accordion-trigger:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.accordion .accordion-icon-cell,.accordion .accordion-count-cell,.accordion .accordion-chevron{place-items:center;display:grid}.accordion .accordion-icon-cell{width:1.25rem;height:1.25rem}.accordion .accordion-count-cell{min-width:1.25rem}.accordion .accordion-icon,.accordion .accordion-icon-cell .icon{object-fit:contain;width:1rem;height:1rem}.accordion .accordion-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.accordion .accordion-count{border:1px solid var(--color-border-soft);border-radius:var(--radius-pill);min-width:1.25rem;color:var(--color-subtle);background:var(--color-surface-muted);text-align:center;padding:.125rem .375rem;font-size:.625rem}.accordion .accordion-chevron{width:1.5rem;color:var(--color-subtle);text-align:center;font-size:1.25rem;line-height:1}.accordion .accordion-chevron-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1rem;height:1rem}.accordion--open .accordion-chevron{transform:rotate(180deg)}.accordion--open{border-color:var(--color-border);background:var(--color-layer-02)}.accordion--open .accordion-trigger{color:var(--color-ink)}.accordion .accordion-content{border-top:1px solid var(--color-border-soft);padding:.75rem 1rem 1rem}.icon{flex:none;display:block}.node-palette{gap:.5rem;min-width:0;margin-top:.75rem;display:grid}.node-palette .accordion{width:100%;min-width:0}.node-palette .node-search{z-index:2;width:100%;margin-bottom:.5rem;position:sticky;top:0}.node-palette .items{grid-template-columns:minmax(0,1fr);gap:.375rem;display:grid}.node-palette .item{align-items:center;justify-content:initial;border:1px solid #0000;border-left:2px solid var(--workflow-line-strong);width:100%;color:var(--color-muted);background:var(--workflow-panel);text-align:left;cursor:grab;white-space:nowrap;border-radius:0;grid-template-columns:1.25rem minmax(0,1fr);gap:.5rem;padding:.5rem .75rem;font-size:.75rem;display:grid}.node-palette .item:active{cursor:grabbing}.node-palette .item .button-icon{justify-self:center}.node-palette .item--source .button-icon{color:var(--color-accent)}.node-palette .item--output .button-icon{color:var(--color-warning)}.node-palette .item--logic .button-icon{color:var(--color-operator)}.node-palette .item--analytics .button-icon,.node-palette .item--inference .button-icon{color:var(--color-live)}.node-palette .item:hover{border-color:var(--workflow-line-strong);border-left-color:var(--color-accent);color:var(--color-ink-soft);background:var(--workflow-panel-hover)}.node-palette--wide .items{grid-template-columns:repeat(2,minmax(0,1fr))}.inspector-resize-handle{z-index:2;cursor:col-resize;width:.7rem;position:absolute;top:0;bottom:0;left:-.35rem}.inspector-resize-handle:hover{background:var(--color-border-hover)}.inspector-content{align-content:start;gap:.75rem;min-height:0;display:grid;overflow:auto}.inspector-content .accordion{border:1px solid var(--workflow-line);background:var(--workflow-panel-raised);border-radius:0}.inspector-content .accordion-trigger{border-radius:0}.inspector-content .accordion-content{background:var(--workflow-panel-raised);padding:0 1rem 1rem}.inspector .node-palette{margin-top:0}.inspector-activity-summary{color:var(--color-subtle);grid-template-columns:minmax(0,1fr) auto;gap:.75rem;margin-bottom:.75rem;font-size:.75rem;display:grid}.inspector-activity-summary strong{color:var(--color-ink-soft);font-weight:600}.inspector-log-list{gap:.625rem;margin:0;padding:0;list-style:none;display:grid}.inspector-log-list li{border-top:1px solid var(--color-border-soft);color:var(--color-subtle);grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:.5rem;padding-top:.625rem;font-size:.6875rem;display:grid}.inspector-log-list time{white-space:nowrap}.inspector-log-list p{color:var(--color-muted);overflow-wrap:anywhere;margin:0}.inspector-log-level{color:var(--color-subtle);text-transform:uppercase;font-size:.5625rem;font-weight:700}.inspector-log-level--error{color:var(--color-danger)}.inspector-log-level--warning{color:var(--color-warning)}@keyframes node-status-frame-a{0%{background:var(--color-info);box-shadow:0 0 0 3px var(--color-info-soft)}to{box-shadow:none}}@keyframes node-status-frame-b{0%{background:var(--color-info);box-shadow:0 0 0 3px var(--color-info-soft)}to{box-shadow:none}}@keyframes node-port-frame-a{0%{background:var(--color-info);box-shadow:0 0 0 4px var(--color-info-soft)}to{box-shadow:none}}@keyframes node-port-frame-b{0%{background:var(--color-info);box-shadow:0 0 0 4px var(--color-info-soft)}to{box-shadow:none}}.node{width:calc(var(--workflow-grid-size,24px) * 9);min-height:calc(var(--workflow-grid-size,24px) * 6);box-sizing:border-box;-webkit-user-select:none;user-select:none;border:1px solid var(--workflow-line-strong);border-top:2px solid var(--graphite-650);background:var(--workflow-panel);border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:absolute;box-shadow:0 8px 18px #00000038}.node.selected{border-color:var(--color-accent);border-top-color:var(--color-accent-hover);box-shadow:inset 3px 0 0 var(--color-accent), 0 10px 24px #00000052}.node--camera,.node--display{background:var(--workflow-panel-raised)}.node:hover:not(.selected){border-color:var(--color-border-hover);border-top-color:var(--color-accent)}.node:has(.node-icon.source){border-top-color:var(--color-accent)}.node:has(.node-icon.output){border-top-color:var(--color-warning)}.node:has(.node-icon.logic){border-top-color:var(--color-operator)}:is(.node:has(.node-icon.analytics),.node:has(.node-icon.inference)){border-top-color:var(--color-live)}.node.selected{border-top-color:var(--color-accent-hover)}.node-port-group{z-index:10;pointer-events:none;width:1rem;height:1rem;position:absolute;top:50%;transform:translateY(-50%)}.node-port-group--input{left:-.5rem}.node-port-group--output{right:-.5rem}.node-port-label{white-space:nowrap;border:1px solid var(--color-border-soft);color:var(--color-subtle);background:var(--workflow-panel-raised);letter-spacing:.08em;opacity:0;transition:opacity var(--motion-fast);border-radius:0;padding:.125rem .25rem;font-size:.5rem;font-weight:600;position:absolute;top:50%;transform:translateY(-50%)}.node-port-group--input .node-port-label{right:calc(100% + .25rem)}.node-port-group--output .node-port-label{left:calc(100% + .25rem)}.node-port-group:hover .node-port-label{opacity:1}.node .node-handle{box-sizing:border-box;pointer-events:auto;border:2px solid var(--workflow-canvas);border-radius:50%;width:1rem;min-width:1rem;height:1rem;padding:0;position:relative}.node .node-handle--input{background:var(--workflow-panel-raised)}.node .node-handle--output{background:var(--color-accent)}.node .node-handle--ready{background:var(--color-subtle)}.node .node-handle--connecting{background:var(--color-warning)}.node .node-handle--disconnecting{background:var(--color-danger);box-shadow:0 0 0 4px var(--color-danger-soft);cursor:grabbing}.node .node-handle--context-selected{border-color:var(--color-warning);background:var(--color-warning);box-shadow:0 0 0 4px var(--color-warning-soft)}.node .node-handle--other-port{border-color:var(--color-danger);background:var(--color-danger);box-shadow:0 0 0 4px var(--color-danger-soft)}.node .node-handle--connection-source{border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-ring)}.node .node-handle--pulse-0{animation:.25s ease-out node-port-frame-a}.node .node-handle--pulse-1{animation:.25s ease-out node-port-frame-b}.node-header{border-bottom:1px solid var(--workflow-line);background:var(--workflow-panel-raised);cursor:grab;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;display:grid}.node-header:active{cursor:grabbing}.node-icon{border:1px solid var(--workflow-line);width:1.75rem;height:1.75rem;box-shadow:none;border-radius:0;flex-shrink:0;place-items:center;display:grid}.node-icon .icon{width:1rem;height:1rem}.node-icon.source{color:var(--color-accent);background:var(--color-accent-soft)}.node-icon.output{color:var(--color-warning);background:var(--color-warning-soft)}.node-icon.logic{color:var(--color-operator);background:var(--color-operator-soft)}.node-icon.analytics,.node-icon.inference{color:var(--color-live);background:var(--color-live-soft)}.node-copy{min-width:0}.node-capability{color:var(--color-warning);letter-spacing:.08em;text-transform:uppercase;margin-top:.125rem;font-size:.5625rem;font-weight:700;display:inline-block}.node-warning{color:#f5c542;cursor:help;align-self:center;display:grid;position:relative}.node-warning:hover .node-warning-tooltip,.node-warning:focus-visible .node-warning-tooltip{display:block}.node-warning .icon{width:1rem;height:1rem}.node-warning-tooltip{z-index:20;border:1px solid var(--color-warning);border-radius:var(--radius-sm);background:var(--workflow-panel-raised);width:max-content;max-width:16rem;box-shadow:var(--shadow-card);color:var(--color-ink-soft);white-space:normal;padding:.5rem .625rem;font-size:.6875rem;font-weight:500;line-height:1.4;display:none;position:absolute;top:calc(100% + .5rem);right:0}.node-title{color:var(--color-ink-soft);margin:0;font-size:.875rem;font-weight:600}.node-body{padding:.625rem .75rem .875rem}.node-data-rows{gap:.25rem;margin-top:.5rem;display:grid}.node-data-row{min-width:0;color:var(--color-ink-soft);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.375rem;font-size:.625rem;line-height:1.25;display:grid}.node-data-row b{color:var(--color-subtle);font-size:inherit;letter-spacing:.08em;text-transform:uppercase}.node-data-row span{text-align:right;text-overflow:ellipsis;white-space:nowrap;justify-self:end;max-width:8rem;overflow:hidden}.node-data-row em{color:var(--color-info);font-variant-numeric:tabular-nums;justify-self:end;font-style:normal}.node-data-row--config{color:var(--color-ink-soft)}.node-data-row--config b{color:var(--color-operator)}.node-content{min-height:0}.node-add-output{border:1px solid var(--color-accent);color:var(--color-on-accent);background:var(--color-accent);margin-top:.5rem;padding:.25rem .5rem;font-size:.625rem}.node--split,.node--group{background:var(--workflow-panel)}.node-group-summary{color:var(--color-info);grid-template-columns:minmax(0,1fr) auto;gap:.5rem;margin-top:.625rem;font-size:.625rem;font-weight:600;display:grid}.node-preview{border:1px solid var(--workflow-line-strong);background:var(--workflow-canvas);border-radius:0;place-items:center;height:5.5rem;margin:0 .5rem;display:grid;overflow:hidden}.node-preview-status{color:var(--color-subtle);font-size:var(--control-font-size);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.node-preview img{object-fit:cover;width:100%;height:100%;display:block}.node-preview--empty{color:var(--color-subtle);text-align:center;place-items:center;padding:0 .75rem;font-size:.5rem;display:grid}.node-display-previews{gap:.35rem;display:grid}.node-output-summary{border-top:1px solid var(--color-border-soft);color:var(--color-subtle);gap:.25rem;margin-top:.5rem;padding-top:.5rem;font-size:.625rem;display:grid}.node-output-summary span{grid-template-columns:.375rem minmax(0,1fr);align-items:center;gap:.375rem;display:grid}.node-output-summary span:before{border-radius:var(--radius-pill);background:var(--color-info);content:"";width:.375rem;height:.375rem}.node-property{border:0;border-left:2px solid var(--workflow-line-strong);background:var(--workflow-panel-raised);color:var(--color-subtle);text-overflow:ellipsis;white-space:nowrap;border-radius:0;padding:.1875rem .375rem;font-size:.625rem;overflow:hidden}.node-status{grid-template-columns:auto minmax(0,1fr);align-items:center;margin-top:0;display:grid}.node-status-dot{border-radius:var(--radius-pill);width:.375rem;height:.375rem}.node-status-dot--stopped{background:var(--color-danger)}.node-status-dot--waiting{background:var(--color-warning)}.node-status-dot--running,.node-status-dot--streaming,.node-status-dot--receiving,.node-status-dot--running{background:var(--color-live)}.node-status-dot--pulse-0{animation:.25s ease-out node-status-frame-a}.node-status-dot--pulse-1{animation:.25s ease-out node-status-frame-b}.node-status-label{text-align:right;color:var(--color-subtle);text-transform:uppercase;letter-spacing:.12em;font-size:.625rem;font-weight:500}.node-footer{border-top:1px solid var(--workflow-line);background:#0000001f;padding:.5rem .75rem}.workflow-page .node .node-handle{clip-path:none;border-radius:50%;width:1rem;min-width:1rem;height:1rem;min-height:1rem;padding:0;line-height:1;overflow:visible;transform:none}.node-depth-empty{min-height:3.5rem;color:var(--color-subtle);place-items:center;font-size:.6875rem;display:grid}.node-depth-rows{gap:.25rem;display:grid}.node-depth-rows span{justify-content:space-between;font-size:.625rem;display:flex}.node-depth-rows b{color:var(--color-subtle)}.node-depth-rows strong{color:var(--color-ink-soft);font-weight:600}.node-metric{gap:.25rem;display:grid}.node-metric small{color:var(--color-subtle);font-size:.625rem}.node-metric>strong{color:var(--color-live);font-size:1.125rem}.node-metric em{color:var(--color-subtle);font-size:.625rem;font-style:normal}.workflow-page{--sidebar-layout-width:var(--sidebar-expanded-width,232px);--inspector-min-width:240px;grid-template-columns:var(--sidebar-layout-width) minmax(0, 1fr) minmax(var(--inspector-min-width), var(--inspector-width,300px));background:var(--workflow-canvas);height:100dvh;min-height:0;color:var(--color-ink);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;overflow:hidden}@media (width<=1199px){.workflow-page{--sidebar-layout-width:var(--sidebar-collapsed-width,64px)}}.workflow-page .layout{isolation:isolate;min-height:0;display:contents}.workflow-page .main{display:contents}.workflow-page .header{border-bottom:1px solid var(--color-border);background:var(--workflow-panel);grid-area:1/2/auto/-1;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:1rem;min-height:64px;padding:1rem 2rem;display:grid}.workflow-page .eyebrow{color:var(--color-subtle);text-transform:uppercase;letter-spacing:.18em;margin:0;font-size:.75rem;font-weight:600}.workflow-page .title{color:var(--color-ink-soft);letter-spacing:-.01em;margin:.25rem 0 0;font-size:1.25rem;font-weight:600}.workflow-page .actions{grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;gap:.5rem;display:grid}.workflow-page .workflow-action-icon{width:2.5rem;min-width:2.5rem;padding:0}.workflow-page .workflow-action-icon svg{fill:currentColor;stroke:currentColor;stroke-width:2px;width:1.125rem;height:1.125rem}.workflow-page .workflow-action-icon--play{border-color:var(--color-live-soft);color:var(--color-live);background:var(--color-live-soft)}.workflow-page .workflow-action-icon--play:hover:not(:disabled){border-color:var(--color-live);color:var(--color-live);background:var(--color-live-soft)}.workflow-page .button-properties-title{color:var(--color-subtle);text-transform:uppercase;letter-spacing:.12em;margin:0 0 .625rem;font-size:.625rem;font-weight:600}.workflow-page .button-property{color:var(--color-subtle);grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;gap:.75rem;padding:.25rem 0;font-size:.6875rem;display:grid}.workflow-page .button-property strong{color:var(--color-ink-soft);font-weight:500}.workflow-page .pipeline{border-bottom:1px solid var(--color-border);background:var(--workflow-panel-raised);color:var(--color-muted);grid-area:2/2/auto/-1;padding:.75rem 2rem;font-size:.75rem}.workflow-page .pipeline strong{color:var(--color-ink-soft)}.workflow-page .pipeline-separator{color:var(--color-subtle);margin:0 .5rem}.workflow-page .footer{border-top:1px solid var(--color-border);background:var(--workflow-panel);min-height:40px;color:var(--color-subtle);grid-area:4/2/auto/-1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);justify-content:space-between;align-items:center;gap:1rem;padding:.625rem 2rem;font-size:.6875rem;display:grid}.workflow-page .footer-status{color:var(--color-muted);align-items:center;gap:.5rem;display:inline-flex}.workflow-page .footer-status-dot{border-radius:var(--radius-pill);background:var(--color-muted);width:.375rem;height:.375rem;box-shadow:0 0 0 3px var(--color-surface-muted)}.workflow-page .footer-status-dot--running{background:var(--color-live);box-shadow:0 0 0 3px var(--color-live-soft)}.workflow-page .footer-status-dot--error{background:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}.workflow-page .footer-save-status{color:var(--color-muted);text-align:center}.workflow-page .footer-count{justify-self:end}.workflow-page .canvas-section{background:var(--workflow-canvas);grid-area:3/2;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:1rem;display:grid;overflow:hidden}.workflow-page .section-header{border:1px solid var(--workflow-line);background:var(--workflow-panel);grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;min-height:3rem;margin-bottom:.75rem;padding:.375rem .5rem;display:grid}.workflow-page .section-tools{grid-auto-columns:max-content;grid-auto-flow:column;justify-content:end;align-items:center;gap:.5rem;width:100%;min-width:0;padding-right:.5rem;display:grid;overflow-x:auto}.workflow-page .section-title{color:var(--color-ink);margin:0;font-size:.875rem;font-weight:600}.workflow-page .section-meta{color:var(--color-subtle);margin:.25rem 0 0;font-size:.75rem}.workflow-page .selection-marquee{z-index:20;border:1px solid var(--color-accent);background:var(--color-selection);opacity:.72;pointer-events:none;position:absolute}.workflow-page .context-menu{z-index:50;border:1px solid var(--workflow-line-strong);background:var(--workflow-panel-raised);width:10rem;box-shadow:var(--shadow-card);border-radius:0;padding:.25rem;position:fixed}.workflow-page .context-action{width:100%;color:var(--color-muted);text-align:left;border-radius:0;padding:.5rem .75rem;font-size:.75rem;display:block}.workflow-page .context-action:hover{background:var(--workflow-panel-hover)}.workflow-page .context-action--danger{color:var(--color-danger)}.workflow-page .context-action--danger:hover{background:var(--color-danger-soft)}.workflow-page .context-action:disabled{cursor:not-allowed;opacity:.45}.workflow-page .context-action-wrapper{display:block}.workflow-page .inspector{min-height:0;min-width:var(--inspector-min-width);border-left:1px solid var(--color-border);background:var(--workflow-panel);grid-area:3/3;grid-template-rows:auto auto minmax(0,1fr);align-content:start;gap:1rem;padding:1rem;display:grid;position:relative;overflow-y:auto}.workflow-page .inspector-toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.workflow-page .inspector-label{color:var(--color-subtle);text-transform:uppercase;letter-spacing:.16em;margin:0;font-size:.625rem;font-weight:600}.workflow-page .inspector-card,.workflow-page .inspector-palette,.workflow-page .inspector .palette-card{border:1px solid var(--workflow-line);background:var(--workflow-panel-raised);border-radius:0;min-width:0;margin-top:0;padding:1rem}.workflow-page .inspector .palette-card{min-height:0;overflow:auto}.workflow-page .inspector-heading{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.workflow-page .inspector-icon{border:1px solid var(--workflow-line-strong);width:2.25rem;height:2.25rem;box-shadow:none;border-radius:0;place-items:center;display:grid}.workflow-page .inspector-icon--source{background:var(--color-accent-soft);color:var(--color-accent)}.workflow-page .inspector-icon--output{background:var(--color-warning-soft);color:var(--color-warning)}.workflow-page .inspector-icon--logic{background:var(--color-operator-soft);color:var(--color-operator)}.workflow-page .inspector-icon--frame,.workflow-page .inspector-icon--inference,.workflow-page .inspector-icon--analytics{background:var(--color-live-soft);color:var(--color-live)}.workflow-page .inspector-title{color:var(--color-ink-soft);margin:0;font-size:.875rem;font-weight:600}.workflow-page .inspector-subtitle{color:var(--color-subtle);margin:0;font-size:.75rem}.workflow-page .inspector-list{gap:.75rem;margin:1.25rem 0 0;font-size:.75rem;display:grid}.workflow-page .inspector-row{grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;gap:.75rem;display:grid}.workflow-page .inspector-row dt{color:var(--color-subtle)}.workflow-page .inspector-row dd{color:var(--color-muted);margin:0;font-weight:500}.workflow-page .inspector-properties{border-top:1px solid var(--color-border-soft);margin-top:1.25rem;padding-top:1rem}.workflow-page .inspector-properties-title{color:var(--color-subtle);text-transform:uppercase;letter-spacing:.12em;margin:0 0 .625rem;font-size:.625rem;font-weight:600}.workflow-page .inspector-property{color:var(--color-muted);grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:baseline;gap:1rem;padding:.375rem 0;font-size:.75rem;display:grid}.workflow-page .inspector-property span{color:var(--color-subtle)}.workflow-page .inspector-property strong{color:var(--color-ink-soft);text-align:right;overflow-wrap:anywhere;font-weight:600}.workflow-page .palette-title{color:var(--color-subtle);text-transform:uppercase;letter-spacing:.16em;margin:0;font-size:.625rem;font-weight:600}.workflow-page .palette-help{color:var(--color-subtle);margin:.25rem 0 0;font-size:.6875rem;line-height:1.75}@media (width<=1023px){.workflow-page{grid-template-columns:var(--sidebar-layout-width) minmax(0, 1fr) minmax(var(--inspector-min-width), var(--inspector-width,280px))}}.workflow-page:not(.inspector-open){grid-template-columns:var(--sidebar-layout-width) minmax(0, 1fr) 0}.workflow-page:not(.inspector-open) .inspector{display:none}@media (width<=767px){.workflow-page{grid-template-columns:var(--sidebar-layout-width) minmax(0, 1fr) minmax(var(--inspector-min-width), var(--inspector-width,240px))}.workflow-page .header,.workflow-page .pipeline{padding-left:1.25rem;padding-right:1.25rem}.workflow-page .canvas-section{padding:.75rem}.workflow-page .canvas-section .section-header{padding-left:.5rem}.workflow-page .footer{padding-left:1rem;padding-right:1rem}}.workflow-page--tablet,.workflow-page--mobile{grid-template-columns:var(--sidebar-layout-width) minmax(0, 1fr)}.workflow-page--tablet .header,.workflow-page--tablet .pipeline,.workflow-page--tablet .footer,.workflow-page--mobile .header,.workflow-page--mobile .pipeline,.workflow-page--mobile .footer{grid-column:2}.workflow-page--tablet .header,.workflow-page--mobile .header{min-width:0;padding:.75rem 1rem}.workflow-page--tablet .header .actions,.workflow-page--mobile .header .actions{flex-wrap:wrap;justify-content:flex-end}.workflow-page--tablet .pipeline,.workflow-page--mobile .pipeline{text-overflow:ellipsis;white-space:nowrap;padding:.625rem 1rem;overflow:hidden}.workflow-page--tablet .canvas-section,.workflow-page--mobile .canvas-section{padding:.75rem}.workflow-page--tablet .canvas-section .section-header,.workflow-page--mobile .canvas-section .section-header{padding-left:.5rem}.workflow-page--tablet .footer,.workflow-page--mobile .footer{padding:.5rem 1rem}.workflow-page--tablet .footer .footer-save-status,.workflow-page--mobile .footer .footer-save-status{display:none}.workflow-page--tablet .inspector,.workflow-page--mobile .inspector{z-index:30;border-left:1px solid var(--color-border);width:min(360px,100vw - 64px);box-shadow:var(--shadow-card);transition:transform var(--motion-fast);position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.workflow-page--tablet.inspector-open .inspector,.workflow-page--mobile.inspector-open .inspector{transform:translate(0)}.workflow-page--mobile{grid-template-columns:60px minmax(0,1fr)}.workflow-page--mobile .header{flex-direction:column;align-items:flex-start}.workflow-page--mobile .header .actions{justify-content:flex-start;width:100%}.workflow-page--mobile .eyebrow{display:none}.workflow-page--mobile .title{font-size:1rem}.workflow-page--mobile .inspector{width:calc(100vw - 60px)}.command-palette-backdrop{z-index:100;background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:start center;padding-top:18vh;display:grid;position:fixed;inset:0}.command-palette{border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-layer-01);width:min(36rem,100vw - 2rem);box-shadow:var(--shadow-modal);overflow:hidden}.command-palette-search{box-sizing:border-box;border:0;border-bottom:1px solid var(--color-border-soft);width:100%;color:var(--color-ink);background:var(--color-field);border-radius:0;outline:0;padding:1rem 1.125rem;font-size:1rem}.command-palette-search::placeholder{color:var(--color-subtle)}.command-palette-list{gap:0;padding:0;display:grid}.command-palette-command{width:100%;min-height:2.5rem;color:var(--color-ink-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:0;grid-template-columns:minmax(0,1fr) auto;padding:.75rem .875rem;display:grid}.command-palette-command.is-selected{border-color:#0000;border-left-color:var(--color-accent);background:var(--color-surface-hover);color:var(--color-ink)}.command-palette-command:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.command-palette-command kbd{color:var(--color-subtle);font-size:.6875rem}.command-palette-empty,.command-palette-hint{color:var(--color-subtle);margin:0;font-size:.75rem}.command-palette-empty{padding:1rem}.command-palette-hint{border-top:1px solid var(--color-border-soft);padding:.75rem 1rem}
