@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--app-bg:#090909;--app-surface:#101012;--app-surface-muted:#19191c;--app-border:#212226;--app-border-strong:#34353a;--app-text:#f7f7f8;--app-text-muted:#8a8b94;--app-text-soft:#6e707c;--app-primary:#0362ff;--app-primary-hover:#2478ff;--app-primary-soft:#0362ff1f;--app-primary-border:#0362ff52;--app-warning:#f59e0b;--app-warning-soft:#f59e0b24;--app-danger:#f87171;--app-danger-soft:#f8717124;--background:#101012;--foreground:#f7f7f8;--card:#101012;--popover:#19191c;--muted:#19191c;--muted-foreground:#6e707c;--accent:#1d1d20;--border:#212226;--input:#212226;--ring:#0362ff;--sidebar:#090909;--sidebar-accent:#151517;--sidebar-border:#212226;--radius:.75rem;--radius-sm:calc(var(--radius) * .6);--radius-md:calc(var(--radius) * .8);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) * 1.4);--sidebar-width:16rem;--page-max:1600px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;font-family:Geist Variable,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html[data-theme=light]{--app-bg:#f4f6fa;--app-surface:#fff;--app-surface-muted:#f0f2f6;--app-border:#e1e4ea;--app-border-strong:#c9ced8;--app-text:#17181c;--app-text-muted:#626773;--app-text-soft:#858b97;--app-primary-soft:#0362ff17;--app-primary-border:#0362ff3d;--app-warning:#d97706;--app-warning-soft:#d977061a;--app-danger:#dc2626;--app-danger-soft:#dc262617;--background:#f8f9fb;--foreground:#17181c;--card:#fff;--popover:#fff;--muted:#eef1f5;--muted-foreground:#626773;--accent:#e8edf6;--border:#e1e4ea;--input:#d7dbe3;--sidebar:#fff;--sidebar-accent:#eef1f5;--sidebar-border:#e1e4ea;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{background:var(--app-bg);min-width:320px;height:100%}body{min-width:320px;height:100%;color:var(--app-text);background:var(--app-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:.875rem;line-height:1.5;transition:background-color .16s,color .16s;overflow:hidden}button,a,input,select,textarea{font:inherit}h1,h2,h3,h4,p,dl,dd,figure{margin:0}h1,h2,h3{letter-spacing:-.025em;font-weight:500}.panel>p,.video-card>p,.zone-card>p,.report-section>p{margin:.5rem 0}:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 45%, transparent);outline:none}.skip-link{z-index:100;color:#fff;background:var(--app-primary);border-radius:var(--radius-md);padding:.5rem .875rem;font-size:.8125rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-220%)}.skip-link:focus{transform:translateY(0)}.shell{background:var(--app-bg);height:100dvh;display:flex;overflow:hidden}.shell-sidebar{width:var(--sidebar-width);background:var(--sidebar);height:100%;color:var(--app-text);flex-direction:column;flex-shrink:0;gap:.25rem;padding:.5rem;display:flex}.shell-main{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--background);flex-direction:column;flex:1;min-width:0;min-height:0;margin:.5rem .5rem .5rem 0;display:flex;overflow:hidden}.shell-scroll{flex:1;min-height:0;overflow:auto}.shell-mobilebar,.shell-backdrop{display:none}.sb-brand{height:3rem;color:inherit;border-radius:var(--radius-md);align-items:center;gap:.625rem;padding:0 .5rem;text-decoration:none;display:flex}.sb-mark{border-radius:var(--radius-md);background:var(--app-primary);color:#fff;letter-spacing:-.02em;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.8125rem;font-weight:600;display:inline-flex}.sb-brand-text{min-width:0;line-height:1.25;display:grid}.sb-brand-text strong{font-size:.875rem;font-weight:600}.sb-brand-text span{color:var(--app-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.sb-content{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding-top:.5rem;display:flex;overflow-y:auto}.sb-group{flex-direction:column;gap:.125rem;display:flex}.sb-group-label{height:1.75rem;color:var(--app-text-soft);letter-spacing:.04em;align-items:center;padding:0 .625rem;font-size:.6875rem;font-weight:500;display:flex}.sb-link{border-radius:var(--radius-sm);height:2.25rem;color:var(--app-text-muted);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0 .625rem;font-size:.8125rem;font-weight:450;text-decoration:none;transition:background-color .12s,color .12s;display:flex}.sb-link svg{flex-shrink:0;width:1rem;height:1rem}.sb-link:hover{background:var(--sidebar-accent);color:var(--app-text)}.sb-link[aria-current=page]{background:var(--sidebar-accent);color:var(--app-text);font-weight:500}.sb-footer{border-top:1px solid var(--sidebar-border);flex-direction:column;gap:.125rem;padding-top:.5rem;display:flex}.sb-status{height:2.25rem;color:var(--app-text-muted);align-items:center;gap:.5rem;padding:0 .625rem;font-size:.75rem;display:flex}.sb-status .status-dot{margin-right:0}.page{min-height:100%}.page-header{padding:1.5rem 1rem 0}.page-header-inner{max-width:var(--page-max);border-bottom:1px solid var(--border);flex-direction:column;justify-content:space-between;gap:1.25rem;margin:0 auto;padding-bottom:1.5rem;display:flex}.page-heading{align-items:flex-start;gap:.875rem;min-width:0;display:flex}.page-icon{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--muted) 40%, transparent);width:2.25rem;height:2.25rem;color:var(--muted-foreground);flex-shrink:0;justify-content:center;align-items:center;margin-top:.125rem;display:none}.page-icon svg{width:1rem;height:1rem}.eyebrow{color:var(--muted-foreground);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .5rem;font-size:.6875rem;font-weight:500}.page-title{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:1.5rem;font-weight:500}.page-desc{max-width:68ch;color:var(--muted-foreground);margin:.5rem 0 0;font-size:.875rem}.page-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.page-content{max-width:var(--page-max);gap:1rem;margin:0 auto;padding:1.5rem 1rem;display:grid}.panel,.video-card,.zone-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);min-width:0;padding:1rem}.panel h2,.video-card h2,.zone-card h2{letter-spacing:-.015em;overflow-wrap:anywhere;font-size:.9375rem;font-weight:500}button{cursor:pointer}:where(.shell-main,.legacy-main) button,.btn{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--input) 30%, transparent);height:2rem;min-height:2rem;color:var(--app-text);white-space:nowrap;justify-content:center;align-items:center;gap:.375rem;padding:0 .625rem;font-size:.8125rem;font-weight:500;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}:where(.shell-main,.legacy-main) button:where(:hover:not(:disabled)),.btn:hover:not(:disabled){background:var(--muted);border-color:var(--app-border-strong)}:where(.shell-main,.legacy-main) button:where(:disabled),.btn:disabled{opacity:.5;cursor:not-allowed}:where(.shell-main,.legacy-main) button>svg,.btn>svg{flex-shrink:0;width:.875rem;height:.875rem}:where(.shell-main,.legacy-main) button:where([aria-pressed=true]){border-color:var(--app-primary-border);background:var(--app-primary-soft);color:var(--app-primary)}.video-primary,.zone-primary,.report-submit,.csv-button,.video-download{background:var(--app-primary);color:#fff;border:1px solid #0000}.video-primary:hover:not(:disabled),.zone-primary:hover:not(:disabled),.report-submit:hover:not(:disabled),.csv-button:hover:not(:disabled),.video-download:hover{background:var(--app-primary-hover);color:#fff;border-color:#0000}.icon-btn{border:1px solid var(--border);border-radius:var(--radius-md);width:2rem;height:2rem;min-height:2rem;color:var(--app-text-muted);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn>svg{width:1rem;height:1rem}.video-person-link,.video-time-link{height:auto;min-height:0;color:var(--app-primary);font-size:inherit;font-weight:inherit;text-align:left;white-space:normal;background:0 0;border:0;border-radius:0;padding:0;display:inline}.video-person-link:hover:not(:disabled),.video-time-link:hover:not(:disabled){text-underline-offset:2px;background:0 0;border-color:#0000;text-decoration:underline}label{min-width:0}input,select,textarea{color:var(--app-text)}:where(.shell-main,.legacy-main) input:where(:not([type=file],[type=range],[type=checkbox])),:where(.shell-main,.legacy-main) select,:where(.shell-main,.legacy-main) textarea{border:1px solid var(--input);border-radius:var(--radius-md);background:color-mix(in srgb, var(--muted) 45%, transparent);width:100%;min-width:0;height:2rem;color:var(--app-text);outline:none;padding:0 .625rem;font-size:.8125rem;transition:border-color .14s,box-shadow .14s}:where(.shell-main,.legacy-main) textarea{height:auto;padding:.5rem .625rem;line-height:1.55}:where(.shell-main,.legacy-main) input::placeholder,:where(.shell-main,.legacy-main) textarea::placeholder{color:var(--app-text-soft)}:where(.shell-main,.legacy-main) input:where(:focus-visible),:where(.shell-main,.legacy-main) select:where(:focus-visible),:where(.shell-main,.legacy-main) textarea:where(:focus-visible){border-color:var(--app-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--app-primary) 16%, transparent)}:where(.shell-main,.legacy-main) input:where(:disabled),:where(.shell-main,.legacy-main) select:where(:disabled){opacity:.55;cursor:not-allowed}:where(.shell-main,.legacy-main) input[type=file]{width:100%;min-width:0;color:var(--app-text-muted);font-size:.75rem}:where(.shell-main,.legacy-main) input[type=file]::file-selector-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--muted) 60%, transparent);height:1.75rem;color:var(--app-text);cursor:pointer;margin-right:.5rem;padding:0 .625rem;font-size:.75rem;font-weight:500}:where(.shell-main,.legacy-main) input[type=file]::file-selector-button:hover{border-color:var(--app-border-strong)}:where(.shell-main,.legacy-main) progress{background:var(--muted);width:100%;height:.375rem;accent-color:var(--app-primary);border:0;border-radius:999px}:where(.shell-main,.legacy-main) progress::-webkit-progress-bar{background:var(--muted);border-radius:999px}:where(.shell-main,.legacy-main) progress::-webkit-progress-value{background:var(--app-primary);border-radius:999px}.badge,.identity-badge,.report-badge,.video-status,.status-pill,.connection-chip{background:color-mix(in srgb, var(--app-text-muted) 10%, transparent);width:fit-content;height:1.375rem;color:var(--app-text-muted);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.3125rem;padding:0 .5rem;font-size:.6875rem;font-weight:500;line-height:1;display:inline-flex}.identity-confirmed,.report-good,.status-completed,.stream-healthy_primary,.connection-live{border-color:var(--app-primary-border);background:var(--app-primary-soft);color:var(--app-primary)}.badge-warning,.identity-uncertain,.report-review,.status-processing,.status-delivering,.status-reporting,.stream-reconnecting,.stream-degraded_fallback,.connection-reconnecting,.connection-connecting{border-color:color-mix(in srgb, var(--app-warning) 30%, transparent);background:var(--app-warning-soft);color:var(--app-warning)}.identity-conflict,.report-danger,.status-failed,.stream-unhealthy,.connection-offline{border-color:color-mix(in srgb, var(--app-danger) 30%, transparent);background:var(--app-danger-soft);color:var(--app-danger)}.badge-outline,.report-open{border-color:var(--border);color:var(--app-text-muted);background:0 0}.status-dot{background:currentColor;border-radius:999px;flex-shrink:0;width:.375rem;height:.375rem}.connection-live .status-dot,.stream-healthy_primary .status-dot{animation:2.4s ease-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;display:grid}.stat{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);flex-direction:column;gap:1.25rem;padding:1rem;display:flex}.stat-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.stat-label{color:var(--muted-foreground);font-size:.8125rem;font-weight:500}.stat-icon{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--muted) 50%, transparent);width:1.75rem;height:1.75rem;color:var(--app-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.stat-icon svg{width:.875rem;height:.875rem}.stat-value{letter-spacing:-.045em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.75rem;font-weight:400;line-height:1}.stat-detail{color:var(--muted-foreground);margin:.625rem 0 0;font-size:.75rem}.report-table-wrap,.video-table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.8125rem}th{border-bottom:1px solid var(--border);height:2.25rem;color:var(--app-text);text-align:left;white-space:nowrap;padding:0 .5rem;font-size:.75rem;font-weight:500}td{border-bottom:1px solid var(--border);vertical-align:top;padding:.625rem .5rem;line-height:1.5}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background-color .12s}tbody tr:hover{background:color-mix(in srgb, var(--muted) 50%, transparent)}td small{color:var(--muted-foreground);margin-top:.1875rem;font-size:.6875rem;display:block}caption{caption-side:bottom;color:var(--muted-foreground);text-align:left;margin-top:.875rem;font-size:.75rem}.video-help,.zone-help,.report-scope-note,.filter-time-note{color:var(--muted-foreground);margin:.5rem 0;font-size:.75rem;line-height:1.6}.notice,.video-error,.video-success,.zone-error,.report-error,.report-inline-error,.report-dirty-note{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--muted) 40%, transparent);color:var(--app-text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:.625rem .875rem;font-size:.8125rem;line-height:1.6;display:flex}.notice strong,.report-error strong{color:var(--app-text);font-weight:500}.video-error,.zone-error,.report-error,.report-inline-error{border-color:color-mix(in srgb, var(--app-danger) 28%, transparent);background:var(--app-danger-soft);color:var(--app-danger)}.video-error strong,.report-error strong{color:var(--app-danger)}.video-success{border-color:var(--app-primary-border);background:var(--app-primary-soft);color:var(--app-primary)}.report-dirty-note{border-color:color-mix(in srgb, var(--app-warning) 28%, transparent);background:var(--app-warning-soft);color:var(--app-warning)}.empty-state,.video-empty,.report-empty,.zone-empty{border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--muted-foreground);text-align:center;place-items:center;gap:.375rem;padding:2.5rem 1.25rem;font-size:.8125rem;display:grid}.empty-state strong,.video-empty strong,.report-empty strong,.zone-empty strong{color:var(--app-text);font-weight:500}.empty-state.compact{border-style:solid;padding:1rem;font-size:.75rem}.loading-dot{background:var(--app-primary);border-radius:999px;width:.375rem;height:.375rem;animation:1.2s ease-in-out infinite pulse-dot;display:inline-block}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.right-rail{gap:1rem;min-width:0;display:grid}.camera-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);min-width:0;margin:0;padding:1rem}.camera-toolbar{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.875rem;display:flex}.camera-toolbar h2{font-size:.9375rem}.video-stage{border:1px solid var(--border);border-radius:var(--radius-md);background:#000;width:100%;min-height:16rem;position:relative;overflow:hidden}.camera-frame{object-fit:contain;width:100%;height:100%;display:block}.frame-placeholder{height:100%;color:var(--muted-foreground);text-align:center;place-content:center;place-items:center;gap:.375rem;padding:1.5rem;font-size:.8125rem;display:grid}.frame-placeholder strong{color:var(--app-text);font-weight:500}.placeholder-mark{border:1px solid var(--border);border-radius:var(--radius-md);width:2.25rem;height:2.25rem;color:var(--app-text-muted);justify-content:center;align-items:center;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:inline-flex}.zone-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.crossing-line{stroke:var(--app-warning);stroke-width:2px;vector-effect:non-scaling-stroke}.zone-label{border-radius:var(--radius-sm);color:#fff;white-space:nowrap;pointer-events:none;background:#000000b8;padding:.1875rem .4375rem;font-size:.6875rem;position:absolute;transform:translate(.25rem,-1.75rem)}.boxes-layer{pointer-events:none;position:absolute;inset:0}.track-box{border:1.5px solid var(--app-primary);border-radius:.25rem;position:absolute}.track-box.identity-uncertain{border-color:var(--app-warning)}.track-box.identity-conflict{border-color:var(--app-danger)}.track-box.identity-unknown{border-color:var(--app-text-muted);border-style:dashed}.box-label{border-radius:var(--radius-sm);color:#fff;white-space:nowrap;background:#000000c7;gap:.0625rem;margin-bottom:.1875rem;padding:.1875rem .375rem;font-size:.6875rem;line-height:1.3;display:grid;position:absolute;bottom:100%;left:-1.5px}.box-label span{color:#fff9;font-variant-numeric:tabular-nums;font-size:.625rem}.camera-meta{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.625rem 1.25rem;margin-top:.875rem;padding-top:.875rem;display:grid}.camera-meta>span{color:var(--muted-foreground);gap:.1875rem;font-size:.6875rem;display:grid}.camera-meta strong{color:var(--app-text);overflow-wrap:anywhere;font-size:.8125rem;font-weight:500}.panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.875rem;display:flex}.count-badge{border:1px solid var(--app-primary-border);border-radius:var(--radius-sm);background:var(--app-primary-soft);min-width:1.75rem;height:1.75rem;color:var(--app-primary);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 .5rem;font-size:.8125rem;font-weight:500;display:inline-flex}.count-badge.secondary{border-color:var(--border);background:color-mix(in srgb, var(--muted) 50%, transparent);color:var(--app-text-muted)}.zone-presence+.zone-presence{margin-top:.875rem}.zone-heading{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.zone-heading strong{font-size:.8125rem;font-weight:500}.zone-heading span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.6875rem}.people-list,.track-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.person-row{border-bottom:1px solid var(--border);align-items:center;gap:.625rem;padding:.5rem 0;display:flex}.people-list li:last-child,.track-list li:last-child{border-bottom:0}.avatar{border:1px solid var(--app-primary-border);border-radius:var(--radius-sm);background:var(--app-primary-soft);width:1.75rem;height:1.75rem;color:var(--app-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:500;display:inline-flex}.avatar.identity-uncertain{border-color:color-mix(in srgb, var(--app-warning) 30%, transparent);background:var(--app-warning-soft);color:var(--app-warning)}.avatar.identity-conflict{border-color:color-mix(in srgb, var(--app-danger) 30%, transparent);background:var(--app-danger-soft);color:var(--app-danger)}.avatar.identity-unknown{border-color:var(--border);background:color-mix(in srgb, var(--muted) 60%, transparent);color:var(--app-text-muted)}.person-main{flex:1;gap:.0625rem;min-width:0;display:grid}.person-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}.person-main span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.6875rem}.person-detail{flex-shrink:0;justify-items:end;gap:.1875rem;display:grid}.person-detail>span:last-child{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.6875rem}.track-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.track-list li>div{gap:.0625rem;min-width:0;display:grid}.track-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}.track-list li>div>span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.6875rem}.track-right{flex-shrink:0;justify-items:end;gap:.1875rem;display:grid}.track-list time{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.6875rem}.system-strip{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--border);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1px;display:grid;overflow:hidden}.system-item{background:var(--card);gap:.3125rem;padding:.875rem 1rem;display:grid}.metric-label{color:var(--muted-foreground);letter-spacing:.02em;font-size:.6875rem;font-weight:500}.system-item strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:.875rem;font-weight:500}.report-section{gap:1rem;min-width:0;display:grid}.report-filters{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:end;gap:.75rem;padding:1rem;display:grid}.report-filters label{min-width:0;color:var(--app-text-muted);gap:.375rem;font-size:.75rem;display:grid}.report-filters .report-submit{align-self:end}.report-filters>p{grid-column:1/-1;margin:0}.table-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card)}.table-card th:first-child,.table-card td:first-child{padding-left:1rem}.table-card th:last-child,.table-card td:last-child{padding-right:1rem}.table-card caption{padding:0 1rem .875rem}.report-status{color:var(--muted-foreground);font-size:.75rem}.report-status>span{font-variant-numeric:tabular-nums;align-items:center;gap:.375rem;display:inline-flex}.report-table td>*{display:block}.report-table td>time,.report-table td strong{font-variant-numeric:tabular-nums}.report-table td>span[aria-hidden]{color:var(--app-text-soft)}.report-table .identity-badge{margin-top:.1875rem;display:inline-flex}.open-value{color:var(--app-warning);font-weight:500}.report-pagination{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.report-pagination span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.75rem}@media (width>=640px){.page-header{padding:2rem 1.5rem 0}.page-content{padding:2rem 1.5rem}.page-icon{display:flex}.page-header-inner{flex-direction:row;align-items:flex-end}.page-title{font-size:1.75rem}}@media (width>=1280px){.page-header{padding:2.5rem 2.5rem 0}.page-content{padding:2rem 2.5rem}}@media (width<=1100px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=860px){.report-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.report-table,.report-table tbody,.report-table tr,.report-table td{display:block}.report-table tr{border-bottom:1px solid var(--border);padding:.5rem 0}.report-table caption{margin:0;padding:0 1rem .75rem;display:block}.report-table td{border:0;grid-template-columns:minmax(8.5rem,.7fr) minmax(0,1.3fr);gap:.75rem;padding:.375rem 1rem;display:grid}.report-table td:before{content:attr(data-label);color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;grid-area:1/1;font-size:.625rem;font-weight:500}.report-table td>*{grid-column:2}.report-pagination{justify-content:space-between}}@media (width<=640px){.stat{gap:.75rem}.stat-value{font-size:1.5rem}.camera-toolbar,.panel-heading,.video-report-heading{flex-direction:column;align-items:flex-start;gap:.625rem}.box-label span{display:none}}@media (width<=900px){.shell-sidebar{z-index:60;border-right:1px solid var(--sidebar-border);width:18rem;height:100dvh;transition:transform .18s;position:fixed;top:0;left:0;transform:translate(-100%)}.shell[data-sidebar=open] .shell-sidebar{transform:translate(0)}.shell[data-sidebar=open] .shell-backdrop{z-index:50;background:#00000080;display:block;position:fixed;inset:0}.shell-main{border:0;border-radius:0;margin:0}.shell-mobilebar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:.625rem;height:3.25rem;padding:0 .75rem;display:flex}.shell-mobilebar strong{font-size:.875rem;font-weight:500}.shell-mobilebar .page-actions{margin-left:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.wf-uploads{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.wf-uploads>div{flex-direction:column;align-items:flex-start;gap:.5rem;min-width:0;display:flex}.wf-uploads>.video-error{grid-column:1/-1}.wf-uploads input[type=file]{max-width:100%}.wf-period{color:var(--app-muted,inherit);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.wf-issues{margin:0;font-size:.8125rem}.wf-issues ul,ul.wf-issues{margin:.25rem 0 0;padding-left:1.1rem}.wf-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.wf-filters{flex-wrap:wrap;gap:.375rem;display:flex}.wf-table{width:100%;display:block;overflow-x:auto}.wf-table td{vertical-align:top}.wf-muted{opacity:.7;font-size:.75rem}.wf-moves{margin:0;padding:0;font-size:.8125rem;list-style:none}.wf-moves span{font-variant-numeric:tabular-nums;margin-right:.25rem}.status-pill.wf-present{color:#15803d;background:#16a34a24}.status-pill.wf-absent{color:#b91c1c;background:#dc26261f}.status-pill.wf-unscheduled{color:#1d4ed8;background:#2563eb1f}.status-pill.wf-unmatched{color:#b45309;background:#d9770624}.wf-moves a,.wf-table td a{color:var(--app-primary);text-decoration:none}.wf-moves a:hover,.wf-table td a:hover{text-decoration:underline}:root{--bg:#090909;--surface:#101012;--muted:#19191c;--hover:#1d1d20;--border:#212226;--strong:#34353a;--text:#f7f7f8;--secondary:#a0a1aa;--soft:#737581;--blue:#0362ff;--blue-soft:#0362ff1f;--green:#62cfa0;--green-soft:#62cfa01a;--amber:#f5b649;--amber-soft:#f5b6491a;--red:#f87171;--red-soft:#f871711a;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;font-family:Geist Variable,system-ui,sans-serif}html[data-theme=light]{--bg:#f4f6fa;--surface:#fff;--muted:#f0f2f6;--hover:#e8edf6;--border:#e1e4ea;--strong:#c9ced8;--text:#17181c;--secondary:#626773;--soft:#777d88;--green:#15845a;--green-soft:#edf8f2;--amber:#a26900;--amber-soft:#fff7e5;--red:#d63636;--red-soft:#fff1f1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}:where(.kontur-page,.sidebar,.topbar,.toast) button,:where(.kontur-page,.sidebar,.topbar,.toast) input,:where(.kontur-page,.sidebar,.topbar,.toast) select,:where(.kontur-page,.sidebar,.topbar,.toast) textarea{font:inherit}:where(.kontur-page,.sidebar,.topbar,.toast) button,:where(.kontur-page,.sidebar,.topbar,.toast) a,:where(.kontur-page,.sidebar,.topbar,.toast) input,:where(.kontur-page,.sidebar,.topbar,.toast) select{-webkit-tap-highlight-color:transparent}:where(.kontur-page,.sidebar,.topbar,.toast) button{cursor:pointer}:where(.kontur-page,.sidebar,.topbar,.toast) button:disabled{cursor:not-allowed;opacity:.45}:where(.kontur-page,.sidebar,.topbar,.toast) a{color:inherit;text-decoration:none}:where(.kontur-page,.sidebar,.topbar,.toast) h1,:where(.kontur-page,.sidebar,.topbar,.toast) h2,:where(.kontur-page,.sidebar,.topbar,.toast) h3,:where(.kontur-page,.sidebar,.topbar,.toast) p{margin:0}:where(.kontur-page,.sidebar,.topbar,.toast) h1{letter-spacing:-1px;font-size:29px;font-weight:550;line-height:1.25}:where(.kontur-page,.sidebar,.topbar,.toast) h2{letter-spacing:-.4px;font-size:17px;font-weight:550}:where(.kontur-page,.sidebar,.topbar,.toast) h3{font-size:15px;font-weight:550}:where(.kontur-page,.sidebar,.topbar,.toast) small{font-size:12px}:where(.kontur-page,.sidebar,.topbar,.toast) svg.icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}:where(.kontur-page,.sidebar,.topbar,.toast) button:focus-visible,:where(.kontur-page,.sidebar,.topbar,.toast) a:focus-visible,:where(.kontur-page,.sidebar,.topbar,.toast) input:focus-visible,:where(.kontur-page,.sidebar,.topbar,.toast) select:focus-visible,:where(.kontur-page,.sidebar,.topbar,.toast) textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}:where(.kontur-page,.sidebar,.topbar,.toast) input,:where(.kontur-page,.sidebar,.topbar,.toast) select,:where(.kontur-page,.sidebar,.topbar,.toast) textarea{border:1px solid var(--strong);background:var(--surface);color:var(--text);border-radius:7px;min-width:0;padding:9px 11px}:where(.kontur-page,.sidebar,.topbar,.toast) input[type=checkbox]{accent-color:var(--blue);cursor:pointer;width:16px;height:16px;padding:0}:where(.kontur-page,.sidebar,.topbar,.toast) input::placeholder{color:var(--soft)}:where(.kontur-page,.sidebar,.topbar,.toast) input[type=search]::-webkit-search-cancel-button{cursor:pointer}:where(.kontur-page,.sidebar,.topbar,.toast) textarea{resize:vertical;width:100%}:where(.kontur-page,.sidebar,.topbar,.toast) select{cursor:pointer}[hidden]{display:none!important}.skip{z-index:200;background:var(--blue);color:#fff;border-radius:6px;padding:8px 16px;position:fixed;top:12px;left:20px;transform:translateY(-150%)}.skip:focus{transform:none}.shell{min-height:100dvh;display:flex}.sidebar{background:var(--bg);z-index:30;border-right:1px solid var(--border);flex-direction:column;width:234px;padding:24px 14px 16px;transition:width .16s;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:10px;height:34px;padding:0 9px;display:flex}.brand-mark{background:var(--blue);color:#fff;letter-spacing:-.5px;border-radius:9px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:650;display:grid}.brand-name{letter-spacing:-.8px;font-size:21px;font-weight:600}.brand-name small{letter-spacing:0;color:var(--secondary);margin-left:5px;font-size:10px;font-weight:400}.workspace{border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;margin:30px 3px 29px;padding:10px;display:flex}.workspace-icon{background:var(--muted);width:30px;height:30px;color:var(--secondary);border-radius:5px;place-items:center;display:grid}.workspace strong{font-size:12px;font-weight:500;display:block}.workspace small{color:var(--secondary);font-size:10px}.nav-label{color:var(--soft);margin:0 12px 9px;font-size:11px}.nav-link{color:var(--secondary);white-space:nowrap;border-radius:7px;align-items:center;gap:11px;margin-bottom:4px;padding:10px 13px;font-size:13px;display:flex}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--muted)}.nav-count{text-align:center;border:1px solid var(--strong);min-width:22px;color:var(--secondary);border-radius:4px;margin-left:auto;font-size:10px}.sidebar-bottom{margin-top:auto}.pilot{border:1px solid var(--border);color:var(--secondary);border-radius:9px;margin:18px 3px;padding:13px;font-size:11px}.pilot-top{color:var(--text);align-items:center;gap:7px;margin-bottom:6px;font-size:12px;display:flex}.pilot a{color:#7aa7ff;margin-top:8px;display:block}.user{border-top:1px solid var(--border);align-items:center;gap:9px;padding:17px 8px 3px;display:flex}.user-avatar{color:#b7c9e8;background:#232938;border-radius:50%;place-items:center;width:31px;height:31px;font-size:11px;display:grid}.user strong{font-size:12px;font-weight:500;display:block}.user small{color:var(--secondary);font-size:10px}.main{flex:1;min-width:0;margin-left:234px;transition:margin-left .16s}.topbar{border-bottom:1px solid var(--border);background:var(--bg);z-index:20;align-items:center;gap:15px;height:65px;padding:0 32px;display:flex;position:sticky;top:0}.breadcrumbs{color:var(--soft);align-items:center;gap:9px;font-size:12px;display:flex}.top-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.demo-badge{color:var(--secondary);border:1px solid var(--strong);border-radius:5px;padding:3px 7px;font-size:10px}.top-date{color:var(--secondary);font-size:11px}.icon-btn{width:32px;height:32px;color:var(--secondary);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--muted);color:var(--text)}.content{max-width:1760px;margin:auto;padding:31px 34px 45px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.page-heading p{color:var(--secondary);margin-top:7px;font-size:12px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--strong);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:450;display:inline-flex}.btn.primary:hover{background:#2478ff;border-color:#2478ff}.btn.ghost{color:var(--secondary);background:0 0;border-color:#0000}.btn.small{padding:6px 9px;font-size:11px}.btn .icon{width:15px;height:15px}.text-link{color:#78a7ff;background:0 0;border:0;padding:0;font-size:12px}.text-link:hover{text-decoration:underline}.back{color:var(--secondary);align-items:center;gap:6px;margin-bottom:20px;font-size:12px;display:inline-flex}.back:hover{color:var(--text)}.back .icon{width:14px}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:18px 20px;display:flex}.panel-head p{color:var(--secondary);margin-top:3px;font-size:11px}.section{margin-top:24px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.section-heading p{color:var(--secondary);margin-top:4px;font-size:12px}.metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0;display:grid}.metric{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:17px 19px}.metric-label{color:var(--secondary);justify-content:space-between;font-size:12px;display:flex}.metric-value{letter-spacing:-1.2px;font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;margin:9px 0 5px;font-size:32px;font-weight:500;line-height:1.25;display:flex}.metric-value small{color:var(--soft);letter-spacing:0;font-size:14px}.metric-note{color:var(--secondary);font-size:11px}.green{color:var(--green)}.amber{color:var(--amber)}.red{color:var(--red)}.blue{color:#6e9eff}.muted{color:var(--secondary)}.soft{color:var(--soft)}.dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.badge{white-space:nowrap;border:1px solid var(--strong);color:var(--secondary);border-radius:5px;align-items:center;gap:6px;padding:4px 7px;font-size:10px;line-height:1.25;display:inline-flex}.badge.green{color:var(--green);background:var(--green-soft);border-color:#0000}.badge.amber{color:var(--amber);background:var(--amber-soft);border-color:#0000}.badge.red{color:var(--red);background:var(--red-soft);border-color:#0000}.badge.blue{color:#79a8ff;background:var(--blue-soft);border-color:#0000}.note{border:1px solid var(--border);color:var(--secondary);border-radius:8px;align-items:flex-start;gap:10px;padding:13px 16px;font-size:12px;display:flex}.note svg{color:#7aa7ff;margin-top:1px}.note strong{color:var(--text);font-weight:500}.note p+p{margin-top:3px}.note.warning{background:var(--amber-soft);border-color:#f5b64929}.note.warning svg{color:var(--amber)}.note.error{background:var(--red-soft);border-color:#f8717129}.note.error svg{color:var(--red)}.report-date{align-items:center;gap:12px;display:flex}.date-square{border:1px solid var(--strong);border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:43px;height:43px;line-height:1.05;display:flex}.date-square small{color:var(--secondary);margin-bottom:3px;font-size:9px}.date-square strong{font-size:18px;font-weight:500}.report-date h1{font-size:27px}.report-date p{margin-top:3px}.report-summary{grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:15px;display:grid}.attendance-chart{align-items:center;gap:24px;padding:5px 0;display:flex}.ring{background:conic-gradient(var(--blue) var(--pct), var(--muted) 0);border-radius:50%;flex-shrink:0;place-items:center;width:96px;height:96px;display:grid}.ring-inner{background:var(--surface);text-align:center;border-radius:50%;align-content:center;width:80px;height:80px;display:grid}.ring strong{letter-spacing:-.7px;font-size:21px;font-weight:500}.ring small{color:var(--secondary);font-size:9px}.chart-info{flex:1}.chart-info h3{margin-bottom:13px}.legend-line{color:var(--secondary);align-items:center;gap:7px;margin:8px 0;font-size:12px;display:flex}.legend-line strong{color:var(--text);margin-left:auto;font-weight:500}.alert-line{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:11px 0;display:flex}.alert-line:last-child{border:0;padding-bottom:0}.alert-mark{background:var(--amber-soft);width:28px;height:28px;color:var(--amber);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.alert-mark.red{background:var(--red-soft);color:var(--red)}.alert-mark .icon{width:14px;height:14px}.alert-line h3{font-size:12px;font-weight:450}.alert-line p{color:var(--secondary);margin-top:3px;font-size:10px}.alert-line .icon-btn{width:24px;height:24px;margin-left:auto}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin:17px 0;display:flex}.toolbar-controls{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.search{position:relative}.search .icon{width:15px;height:15px;color:var(--soft);position:absolute;top:10px;left:11px}.search input{border-color:var(--border);min-width:220px;height:36px;padding-left:34px;font-size:12px}.toolbar select{border-color:var(--border);height:36px;padding:8px 28px 8px 10px;font-size:12px}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:7px;flex-shrink:0;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--soft);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:5px 8px;font-size:11px;display:flex}.segmented button.active{color:var(--text);background:var(--muted)}.segmented .icon{width:15px;height:15px}.tabs{border-bottom:1px solid var(--border);gap:22px;margin-top:25px;display:flex}.tabs button{color:var(--secondary);background:0 0;border:0;align-items:center;gap:7px;padding:0 0 12px;font-size:12px;display:flex;position:relative}.tabs button.active:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:-1px;left:0;right:0}.tabs .count{background:var(--muted);color:var(--secondary);border-radius:4px;padding:0 5px;font-size:10px}.table-scroll{overflow:auto}:where(.kontur-page,.sidebar,.topbar,.toast) table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}:where(.kontur-page,.sidebar,.topbar,.toast) th{text-align:left;color:var(--soft);background:var(--surface);border-bottom:1px solid var(--border);padding:12px 17px;font-size:10px;font-weight:400}:where(.kontur-page,.sidebar,.topbar,.toast) td{border-bottom:1px solid var(--border);color:var(--secondary);padding:13px 17px}:where(.kontur-page,.sidebar,.topbar,.toast) tbody tr:last-child td{border-bottom:0}:where(.kontur-page,.sidebar,.topbar,.toast) tbody tr.clickable{cursor:pointer}:where(.kontur-page,.sidebar,.topbar,.toast) tbody tr.clickable:hover{background:var(--muted)}:where(.kontur-page,.sidebar,.topbar,.toast) td strong{color:var(--text);font-weight:450}.employee-cell{align-items:center;gap:10px;min-width:200px;display:flex}.avatar{object-fit:cover;background:var(--muted);border:1px solid var(--strong);border-radius:50%;flex-shrink:0;width:33px;height:33px}.avatar.fallback{color:var(--secondary);place-items:center;font-size:10px;display:grid}.employee-cell strong{font-size:12px;display:block}.employee-cell small{color:var(--soft);margin-top:2px;font-size:10px;display:block}.code{color:var(--soft);font-variant-numeric:tabular-nums;font-size:10px}.time{font-variant-numeric:tabular-nums}.tiny-progress{background:var(--muted);border-radius:4px;width:85px;height:4px;margin-top:6px;overflow:hidden}.tiny-progress span{background:var(--blue);border-radius:4px;height:100%;display:block}.flag{color:var(--amber);align-items:center;gap:5px;margin-top:4px;font-size:10px;display:flex}.flag .icon{width:12px;height:12px}.table-footer{border-top:1px solid var(--border);color:var(--soft);justify-content:space-between;align-items:center;gap:10px;padding:12px 17px;font-size:11px;display:flex}.pagination{align-items:center;gap:5px;display:flex}.pagination .btn{min-width:28px;padding:5px 8px}.empty{text-align:center;color:var(--secondary);padding:55px 20px}.empty .icon{width:30px;height:30px;color:var(--soft);margin-bottom:12px}.empty h3{color:var(--text);margin-bottom:6px}.empty p{font-size:12px}.empty .btn{margin-top:16px}.employee-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.employee-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;padding:17px;position:relative}.employee-card:hover{border-color:var(--strong)}.employee-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.employee-card .portrait{object-fit:cover;background:var(--muted);width:61px;height:70px;color:var(--soft);border-radius:7px;place-items:center;display:grid}.employee-card h3{margin-top:14px;font-size:13px;line-height:1.4}.employee-card p{color:var(--secondary);margin-top:5px;font-size:11px}.employee-card-bottom{border-top:1px solid var(--border);color:var(--soft);justify-content:space-between;align-items:center;margin-top:15px;padding-top:12px;font-size:10px;display:flex}.employee-card .select-check{position:absolute;top:12px;right:12px}.selection-bar{z-index:10;background:var(--text);color:var(--bg);border-radius:9px;justify-content:space-between;align-items:center;gap:16px;max-width:480px;margin:20px auto 0;padding:10px 15px;font-size:12px;display:flex;position:sticky;bottom:18px}.selection-bar .btn{background:var(--blue);color:#fff;border-color:var(--blue)}.selection-bar .text-link{color:var(--bg)}.days-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.day-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:11px;padding:19px}.day-card:hover{border-color:var(--strong)}.day-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.day-card h3{font-size:15px}.day-card p{color:var(--soft);margin-top:4px;font-size:10px}.day-stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:14px 0;display:flex}.day-stats strong{font-size:21px;font-weight:500;line-height:1.3;display:block}.day-stats span{color:var(--secondary);font-size:10px}.day-bottom{color:var(--secondary);justify-content:space-between;align-items:center;margin-top:14px;font-size:10px;display:flex}.day-progress{background:var(--muted);border-radius:3px;height:4px;margin-top:15px;display:flex;overflow:hidden}.day-progress span{background:var(--blue)}.day-progress i{background:var(--red)}.month-nav{align-items:center;gap:8px;display:flex}.month-nav strong{text-align:center;min-width:135px;font-size:12px;font-weight:450}.plan-layout{grid-template-columns:minmax(0,1fr) 275px;gap:18px;display:grid}.field{color:var(--secondary);flex-direction:column;gap:6px;font-size:12px;display:flex}.field label{color:var(--secondary);font-size:11px}.field input,.field select{width:100%;font-size:12px}.field-row{grid-template-columns:1fr 1fr;gap:12px;margin:15px 0;display:grid}.plan-settings h3{margin-bottom:17px}.plan-settings .field{margin-bottom:14px}.plan-settings .btn{width:100%;margin-top:15px}.plan-item{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 17px;display:flex}.plan-item:last-child{border-bottom:0}.plan-item .employee-cell{flex:1}.plan-item input[type=time]{width:91px;padding:7px;font-size:11px}.plan-item select{width:145px;padding:7px;font-size:11px}.plan-item .dash{color:var(--soft)}.editor-search{border-bottom:1px solid var(--border);align-items:center;gap:9px;padding:13px 17px;display:flex}.editor-search .search{flex:1}.editor-search input{width:100%}.employee-picker{max-height:310px;overflow:auto}.picker-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 4px;display:flex}.picker-row .employee-cell{flex:1}.picker-row label{cursor:pointer;align-items:center;gap:12px;width:100%;display:flex}.picker-row .avatar{width:29px;height:29px}.person-header{align-items:center;gap:17px;display:flex}.person-header .avatar{border-radius:10px;width:64px;height:64px}.person-header h1{font-size:25px}.person-header p{color:var(--secondary);margin-top:5px;font-size:12px}.profile-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:17px;display:grid}.timeline{padding:8px 0}.timeline-scale{color:var(--soft);font-variant-numeric:tabular-nums;justify-content:space-between;margin:0 0 10px;font-size:10px;display:flex}.timeline-track{background:var(--muted);border-radius:6px;gap:2px;height:27px;display:flex;overflow:hidden}.timeline-track button{background:var(--blue);border:0;min-width:3px;height:100%;padding:0;position:relative}.timeline-track .gap{background:repeating-linear-gradient(135deg, var(--muted), var(--muted) 4px, var(--strong) 4px, var(--strong) 5px)}.timeline-legend{color:var(--secondary);flex-wrap:wrap;align-items:center;gap:16px;margin-top:14px;font-size:10px;display:flex}.legend-swatch{border-radius:2px;width:14px;height:7px;margin-right:5px;display:inline-block}.zone-row{border-bottom:1px solid var(--border);align-items:center;gap:13px;padding:12px 0;font-size:12px;display:flex}.zone-row:last-child{border:0}.zone-number{background:var(--muted);border:1px solid var(--border);width:27px;height:27px;color:var(--soft);border-radius:6px;flex-shrink:0;place-items:center;font-size:10px;display:grid}.zone-info{flex:1}.zone-info strong{font-weight:450}.zone-info small{color:var(--soft);margin-top:2px;font-size:10px;display:block}.zone-bar{background:var(--muted);border-radius:5px;width:85px;height:4px;overflow:hidden}.zone-bar span{background:var(--blue);border-radius:5px;height:100%;display:block}.zone-time{text-align:right;font-variant-numeric:tabular-nums;width:77px;font-size:11px}.event-list{padding:0 20px}.event{border-bottom:1px solid var(--border);gap:13px;padding:14px 0;display:flex}.event:last-child{border:0}.event-time{color:var(--soft);font-variant-numeric:tabular-nums;min-width:35px;margin-top:2px;font-size:10px}.event-line{width:8px;position:relative}.event-line:after{content:"";background:var(--border);width:1px;position:absolute;top:13px;bottom:-22px;left:3px}.event:last-child .event-line:after{display:none}.event-line .dot{color:#79a8ff;margin-top:7px}.event h3{font-size:12px;font-weight:450}.event p{color:var(--secondary);margin-top:3px;font-size:10px}.event .avatar{width:29px;height:29px}.event-text{flex:1}.event-thumb{object-fit:cover;opacity:.75;border-radius:4px;width:53px;height:34px}.camera-layout{grid-template-columns:minmax(0,1fr) 277px;gap:19px;display:grid}.camera-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.camera-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;overflow:hidden}.camera-card:hover{border-color:var(--strong)}.camera-picture{aspect-ratio:16/9;background:#191b1e;position:relative;overflow:hidden}.camera-picture>img,.video-stage>img{object-fit:cover;filter:brightness(.68)saturate(.55);width:100%;height:100%}.camera-picture:after{content:"";pointer-events:none;background:linear-gradient(#0000 65%,#00000073);position:absolute;inset:0}.camera-top{z-index:2;color:#fff;justify-content:space-between;align-items:center;display:flex;position:absolute;top:10px;left:12px;right:12px}.live-pill{color:#a3e5c6;background:#00000080;border-radius:4px;align-items:center;gap:5px;padding:3px 6px;font-size:9px;display:flex}.camera-top .icon{width:13px;height:13px}.camera-bottom{color:#fff;z-index:2;font-variant-numeric:tabular-nums;font-size:10px;position:absolute;bottom:11px;left:12px}.camera-info{justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;display:flex}.camera-info h3{font-size:12px}.camera-info p{color:var(--soft);margin-top:3px;font-size:10px}.avatar-stack{align-items:center;margin-right:4px;display:flex}.avatar-stack .avatar{border:2px solid var(--surface);width:23px;height:23px;margin-right:-6px}.avatar-stack small{color:var(--secondary);padding-left:10px;font-size:10px}.detection-box{left:var(--x);top:var(--y);width:var(--w);height:var(--h);z-index:3;pointer-events:none;border:1px solid #66cfa3;border-radius:2px;position:absolute}.detection-box span{color:#0f2820;white-space:nowrap;background:#66cfa3;border-radius:2px 2px 0 0;padding:2px 4px;font-size:8px;position:absolute;top:-17px;left:-1px}.camera-feed{max-height:calc(100dvh - 110px);position:sticky;top:88px;overflow:auto}.feed-date{color:var(--secondary);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:13px 18px;font-size:10px;display:flex}.feed-date .dot{color:var(--green)}.video-stage{aspect-ratio:16/9;border:1px solid var(--border);background:#15171a;border-radius:9px;position:relative;overflow:hidden}.video-stage>video{object-fit:contain;background:#000;width:100%;height:100%}.video-controls{color:#fff;z-index:4;background:#000000b8;align-items:center;gap:12px;padding:15px 16px;font-size:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.video-controls button{color:#fff}.video-controls .spacer{flex:1}.video-stage .camera-top{top:15px;left:17px;right:17px}.video-stage .detection-box span{font-size:10px;top:-20px}.camera-detail-layout{grid-template-columns:minmax(0,1fr) 295px;gap:20px;display:grid}.camera-detail-layout .event-list{padding:0 16px}.occupant{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:13px 0;display:flex}.occupant:last-child{border:0}.occupant .employee-cell{flex:1;min-width:0}.occupant .employee-cell strong{font-size:11px}.occupant-time{white-space:nowrap;color:var(--secondary);font-size:11px}.live-stats{flex-wrap:wrap;gap:23px;padding:17px 0;display:flex}.live-stats div{color:var(--soft);font-size:10px}.live-stats strong{color:var(--text);margin-top:4px;font-size:20px;font-weight:500;display:block}.camera-detail-layout .section{margin-top:18px}.live-note{color:var(--secondary);align-items:center;gap:7px;margin:14px 0;font-size:11px;display:flex}.live-note .dot{color:var(--green)}:where(.kontur-page,.sidebar,.topbar,.toast) dialog{border:1px solid var(--strong);background:var(--surface);color:var(--text);border-radius:14px;width:560px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 40px);padding:0;overflow:hidden}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:10px;padding:21px 23px;display:flex}.modal-head h2{font-size:18px}.modal-head p{color:var(--secondary);margin-top:5px;font-size:11px}.modal-body{max-height:calc(100dvh - 250px);padding:21px 23px;overflow:auto}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:9px;padding:15px 23px;display:flex}.modal-step{color:var(--soft);align-items:center;gap:9px;margin-bottom:20px;font-size:10px;display:flex}.modal-step b{color:#79a8ff;font-weight:450}.dropzone{text-align:center;border:1px dashed var(--strong);background:var(--bg);cursor:pointer;border-radius:9px;padding:29px 18px;display:block}.dropzone:hover,.dropzone.drag{border-color:var(--blue);background:var(--blue-soft)}.dropzone .icon{width:26px;height:26px;color:var(--secondary);margin-bottom:10px}.dropzone strong{font-size:12px;font-weight:450;display:block}.dropzone small{color:var(--soft);margin-top:5px;font-size:10px;display:block}.import-table{border:1px solid var(--border);border-radius:7px;max-height:240px;margin-top:16px;overflow:auto}.import-table table{font-size:11px}.import-table td,.import-table th{padding:9px 10px}.import-summary{color:var(--secondary);gap:14px;margin-top:15px;font-size:11px;display:flex}.toast{z-index:150;background:var(--muted);border:1px solid var(--strong);border-radius:9px;align-items:center;gap:9px;max-width:calc(100vw - 35px);padding:12px 17px;font-size:12px;display:flex;position:fixed;bottom:22px;left:calc(50% + 110px);transform:translate(-50%)}.toast .icon{color:var(--green);width:16px;height:16px}.help-list{color:var(--secondary);gap:15px;font-size:12px;display:grid}.help-list strong{color:var(--text);margin-bottom:4px;font-weight:500;display:block}.help-list a{color:#78a7ff}.divider{background:var(--border);height:1px;margin:18px 0}.profile-registry{grid-template-columns:190px 1fr;gap:23px;display:grid}.profile-photo{aspect-ratio:1/1.15;object-fit:cover;background:var(--muted);border-radius:10px;width:100%}.profile-meta{grid-template-columns:repeat(2,1fr);gap:19px;font-size:12px;display:grid}.profile-meta small{color:var(--soft);margin-bottom:5px;font-size:10px;display:block}.footer-note{color:var(--soft);align-items:center;gap:6px;margin-top:22px;font-size:10px;display:flex}.footer-note .icon{width:13px;height:13px}.shell.collapsed .sidebar .hide-collapsed,.shell.collapsed .nav-count,.shell.collapsed .workspace,.shell.collapsed .pilot,.shell.collapsed .nav-label{display:none}.shell.collapsed .brand{padding:0 10px}.shell.collapsed .nav-link{justify-content:center;margin-top:5px;padding:12px}.shell.collapsed .nav{margin-top:47px}.shell.collapsed .user-avatar{flex-shrink:0}.shell.collapsed .toast{left:calc(50% + 36px)}@media (width>=1650px){.camera-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.content{padding:35px 42px}}@media (width<=1200px){.sidebar{width:205px}.main{margin-left:205px}.content{padding:25px}.topbar{padding:0 25px}.employee-grid{grid-template-columns:repeat(3,1fr)}.camera-layout{grid-template-columns:1fr 245px}.camera-detail-layout{grid-template-columns:1fr 265px}.report-summary{grid-template-columns:1.3fr 1fr}.metric{padding:15px}.profile-layout{grid-template-columns:1.3fr 1fr}.zone-bar{display:none}.days-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1000px){.sidebar{width:72px;padding:24px 9px 16px}.sidebar .hide-collapsed,.sidebar .nav-count,.sidebar .workspace,.sidebar .pilot,.sidebar .nav-label{display:none}.sidebar .brand{padding:0 10px}.main{margin-left:72px}.nav-link{justify-content:center;margin-top:5px;padding:12px}.nav{margin-top:47px}.user{padding:16px 9px 0}.camera-layout,.camera-detail-layout{grid-template-columns:1fr}.camera-feed{max-height:none;position:static}.camera-feed .event-list{grid-template-columns:1fr 1fr;gap:0 25px;display:grid}.camera-detail-layout>.panel{max-height:400px;overflow:auto}.profile-layout{grid-template-columns:1fr 1fr}.plan-layout{grid-template-columns:1fr}.plan-settings{grid-template-columns:1fr 1fr;gap:12px;display:grid}.plan-settings h3,.plan-settings .note,.plan-settings .btn{grid-column:1/-1}.plan-settings .field{margin:0}.top-date{display:none}.toast{left:calc(50% + 36px)}}@media (width<=700px){.sidebar,.shell.collapsed .sidebar{width:230px;padding:24px 14px;transform:translate(-100%)}.shell.mobile-open .sidebar{transform:none}.shell.mobile-open .sidebar .hide-collapsed,.shell.mobile-open .sidebar .workspace,.shell.mobile-open .sidebar .pilot,.shell.mobile-open .sidebar .nav-label{display:block}.shell.mobile-open .sidebar .workspace{display:flex}.shell.mobile-open .sidebar .nav-count{display:block}.shell.mobile-open .nav-link{justify-content:flex-start}.shell.mobile-open .nav{margin-top:0}.sidebar-backdrop{z-index:29;background:#000000b3;display:none;position:fixed;inset:0}.shell.mobile-open .sidebar-backdrop{display:block}.main,.shell.collapsed .main{margin-left:0;transition:none}.topbar{gap:9px;height:56px;padding:0 16px}.breadcrumbs{font-size:11px}.top-actions{gap:4px}.top-actions>.icon-btn:last-child{display:none}.content{padding:21px 16px 35px}:where(.kontur-page,.sidebar,.topbar,.toast) h1{font-size:25px}.page-heading{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:20px}.page-heading .actions{width:100%}.metrics{grid-template-columns:repeat(2,1fr);gap:9px}.metric{padding:14px}.metric-value{font-size:28px}.metric-note{font-size:10px}.report-summary,.profile-layout{grid-template-columns:1fr}.toolbar{align-items:flex-start;gap:8px}.toolbar-controls{flex:1;gap:7px}.search{flex:1;min-width:170px}.search input{width:100%;min-width:0}.toolbar select{max-width:165px}.employee-grid{grid-template-columns:repeat(2,1fr);gap:9px}.employee-card{padding:13px}.employee-card h3{font-size:12px}.employee-card .portrait{width:52px;height:60px}.employee-card-top .badge{padding:4px;font-size:8px}.days-grid,.camera-grid{grid-template-columns:1fr}.camera-feed .event-list{display:block}.tabs{white-space:nowrap;gap:16px;overflow:auto}.tabs button{font-size:11px}.report-date h1{font-size:24px}.person-header .avatar{width:53px;height:53px}.person-header h1{font-size:22px}.plan-item{flex-wrap:wrap}.plan-item .employee-cell{flex-basis:100%}.plan-item select{flex:1;width:120px}.plan-item input[type=time]{width:84px}.plan-settings{padding:15px}.profile-registry{grid-template-columns:90px 1fr;gap:15px}.profile-meta{grid-template-columns:1fr;gap:12px}.profile-photo{aspect-ratio:1}.toast,.shell.collapsed .toast{width:max-content;left:50%}.modal-head,.modal-body{padding:18px}.modal-foot{padding:13px 18px}.camera-detail-layout{gap:14px}.video-controls{padding:7px 10px;font-size:9px}.video-stage .detection-box span{font-size:7px;top:-15px}.camera-top{top:8px!important}.day-stats{gap:15px}.demo-badge{font-size:9px}.table-footer{flex-wrap:wrap}}@media (width<=1000px){.shell.mobile-open .sidebar{width:234px;padding:24px 14px;transform:none}.shell.mobile-open .sidebar .hide-collapsed,.shell.mobile-open .sidebar .nav-count,.shell.mobile-open .sidebar .pilot,.shell.mobile-open .sidebar .nav-label{display:block}.shell.mobile-open .sidebar .workspace{display:flex}.shell.mobile-open .nav-link{justify-content:flex-start}.shell.mobile-open .nav{margin-top:0}.shell.mobile-open .sidebar-backdrop{z-index:29;background:#000000b3;display:block;position:fixed;inset:0}.shell.mobile-open .sidebar .brand{padding:0 9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.sidebar,.topbar,.actions,.toolbar,.back,.tabs,.table-footer,.btn,.footer-note{display:none!important}.main,.shell.collapsed .main{margin:0}.content{padding:0}.panel,.metric{break-inside:avoid;border-color:#ccc}body{color:#111;background:#fff}html{--surface:#fff;--bg:#fff;--text:#111;--secondary:#555;--soft:#666;--border:#ddd;--muted:#eee}.table-scroll{overflow:visible}.content{max-width:none}}:root{--white:#fff;--black:#000;--gray-50:oklch(98.5% .002 247.839);--gray-100:oklch(96.7% .003 264.542);--gray-200:oklch(92.8% .006 264.531);--gray-300:oklch(87.2% .01 258.338);--gray-400:oklch(70.7% .022 261.325);--gray-500:oklch(55.1% .027 264.364);--gray-600:oklch(44.6% .03 256.802);--gray-700:oklch(37.3% .034 259.733);--gray-800:oklch(27.8% .033 256.848);--gray-900:oklch(21% .034 264.665);--gray-950:oklch(13% .028 261.692);--polar-50:#d9d9d9;--polar-100:#c9c9c9;--polar-200:#adadad;--polar-300:#9e9e9e;--polar-400:#858585;--polar-500:#757575;--polar-600:#292929;--polar-700:#212121;--polar-800:#181818;--polar-900:#111;--polar-950:#090909;--emerald-50:oklch(97.9% .021 166.113);--emerald-100:oklch(95% .052 163.051);--emerald-200:oklch(90.5% .093 164.15);--emerald-300:oklch(84.5% .143 164.978);--emerald-400:oklch(76.5% .177 163.223);--emerald-500:oklch(69.6% .17 162.48);--emerald-600:oklch(59.6% .145 163.225);--emerald-700:oklch(50.8% .118 165.612);--emerald-800:oklch(43.2% .095 166.913);--emerald-900:oklch(37.8% .077 168.94);--emerald-950:oklch(26.2% .051 172.552);--red-50:oklch(97.1% .013 17.38);--red-100:oklch(93.6% .032 17.717);--red-200:oklch(88.5% .062 18.334);--red-300:oklch(80.8% .114 19.571);--red-400:oklch(70.4% .191 22.216);--red-500:oklch(63.7% .237 25.331);--red-600:oklch(57.7% .245 27.325);--red-700:oklch(50.5% .213 27.518);--red-800:oklch(44.4% .177 26.899);--red-900:oklch(39.6% .141 25.723);--red-950:oklch(25.8% .092 26.042);--amber-50:oklch(98.7% .022 95.277);--amber-100:oklch(96.2% .059 95.617);--amber-200:oklch(92.4% .12 95.746);--amber-300:oklch(87.9% .169 91.605);--amber-400:oklch(82.8% .189 84.429);--amber-500:oklch(76.9% .188 70.08);--amber-600:oklch(66.6% .179 58.318);--amber-700:oklch(55.5% .163 48.998);--amber-800:oklch(47.3% .137 46.201);--amber-900:oklch(41.4% .112 45.904);--amber-950:oklch(27.9% .077 45.635);--indigo-50:oklch(96.2% .018 272.314);--indigo-100:oklch(93% .034 272.788);--indigo-200:oklch(87% .065 274.039);--indigo-300:oklch(78.5% .115 274.713);--indigo-400:oklch(67.3% .182 276.935);--indigo-500:oklch(58.5% .233 277.117);--indigo-600:oklch(51.1% .262 276.966);--indigo-700:oklch(45.7% .24 277.023);--indigo-800:oklch(39.8% .195 277.366);--indigo-900:oklch(35.9% .144 278.697);--indigo-950:oklch(25.7% .09 281.288);--text-1:.75rem;--text-2:.875rem;--text-3:1rem;--text-4:1.125rem;--text-5:1.25rem;--text-6:1.5rem;--text-7:1.875rem;--text-8:2.25rem;--text-9:3rem;--text-10:3.75rem;--text-11:4.5rem;--text-12:6rem;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--space-none:0;--space-xs:4px;--space-s:8px;--space-m:12px;--space-l:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--space-4xl:64px;--space-5xl:96px;--font-body:"Geist Variable", sans-serif;--font-heading:"Geist Variable", sans-serif;--sidebar-width:184px;--sidebar-rail:64px;--bg:var(--polar-950);--surface:var(--polar-900);--muted:var(--polar-800);--hover:var(--polar-700);--border:var(--polar-700);--strong:var(--polar-600);--text:#f0f0f0;--secondary:var(--polar-200);--soft:var(--polar-400);--blue:#2563eb;--blue-soft:#2563eb1f;--link:#79a8ff;--green:#34d399;--green-soft:#34d39917;--amber:#fbbf24;--amber-soft:#fbbf2414;--red:#fb7185;--red-soft:#fb718514;--action-bg:#fff;--action-text:#090909;--sidebar-bg:var(--polar-950);--radius:12px;--radius-control:10px;--radius-pill:999px;--shadow-popover:0 0 20px #0000000a, 0 0 5px #0000000f;font-family:var(--font-body)}html[data-theme=light]{--bg:#fff;--surface:#f9fafb;--muted:#f3f4f6;--hover:#e5e7eb;--border:#e5e7eb;--strong:#d1d5dc;--text:#111;--secondary:#6a7282;--soft:#757575;--link:#2563eb;--green:#059669;--green-soft:#ecfdf5;--amber:#a16207;--amber-soft:#fffbeb;--red:#e11d48;--red-soft:#fff1f2;--action-bg:#000;--action-text:#fff;--sidebar-bg:#f9fafb}body{font-family:var(--font-body);text-rendering:optimizelegibility;letter-spacing:.005em;font-weight:400}:where(.kontur-page,.sidebar,.topbar,.toast) h1,:where(.kontur-page,.sidebar,.topbar,.toast) h2,:where(.kontur-page,.sidebar,.topbar,.toast) h3,.metric-value{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:500}:where(.kontur-page,.sidebar,.topbar,.toast) h1{font-size:30px;font-weight:400;line-height:1.25}:where(.kontur-page,.sidebar,.topbar,.toast) h2{font-size:18px;font-weight:500}:where(.kontur-page,.sidebar,.topbar,.toast) h3{font-size:14px}.page-heading{margin-bottom:28px}.page-heading p{margin-top:9px;font-size:13px;line-height:1.6}.person-header h1,.report-date h1{font-size:28px;font-weight:400}.content{max-width:1760px;padding:32px 36px 44px}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-color:var(--border);padding:16px 10px;transition:none}.main{margin-left:var(--sidebar-width);transition:none}.nav,.shell.collapsed .nav{margin-top:0}.nav-link{border-radius:var(--radius-control);gap:12px;min-height:42px;margin:0 0 5px;padding:11px 13px;font-size:13px;font-weight:400}.nav-link.active{background:var(--muted);color:var(--text)}.nav-link.active svg{color:var(--text)}.nav-link:hover{background:var(--muted)}.nav-count{display:none!important}.sidebar-utility{text-align:left;background:0 0;border:0;width:100%}.sidebar-bottom{padding-top:16px}.user{border-top:1px solid var(--border);justify-content:flex-start;padding:14px 13px 0}.user-avatar{border:1px solid var(--strong);background:var(--muted);width:29px;height:29px;color:var(--secondary)}.shell.collapsed .sidebar{width:var(--sidebar-rail);padding:16px 9px}.shell.collapsed .main{margin-left:var(--sidebar-rail)}.shell.collapsed .nav-link{min-height:42px;margin:0 0 6px;padding:11px}.shell.collapsed .user{padding:14px 8px 0}.topbar{background:var(--bg);border-color:var(--border);gap:16px;height:64px;padding:0 36px}.breadcrumbs{gap:12px;font-size:12px}.breadcrumbs .current{color:var(--text)}.demo-badge{border-radius:var(--radius-pill);border-color:var(--border);padding:4px 9px;font-size:10px}.top-actions{gap:16px}.top-date{color:var(--soft)}.icon-btn{border-radius:var(--radius-control);width:34px;height:34px}:where(.kontur-page,.sidebar,.topbar,.toast) svg.icon{stroke-width:1.55px}.btn{font-family:var(--font-heading);letter-spacing:.01em;border-radius:var(--radius-pill);border-color:var(--border);background:0 0;gap:8px;min-height:36px;padding:8px 16px;font-size:12px;font-weight:500}.btn:hover{background:var(--muted);border-color:var(--strong)}.btn.primary{background:var(--action-bg);border-color:var(--action-bg);color:var(--action-text)}.btn.primary:hover{background:var(--action-bg);border-color:var(--action-bg);opacity:.85}.btn.small{min-height:29px;padding:5px 11px;font-size:11px}.btn.ghost{border-color:#0000}.btn.danger{color:var(--red)}:where(.kontur-page,.sidebar,.topbar,.toast) input,:where(.kontur-page,.sidebar,.topbar,.toast) select,:where(.kontur-page,.sidebar,.topbar,.toast) textarea{border-color:var(--border);border-radius:var(--radius-control);background:0 0}:where(.kontur-page,.sidebar,.topbar,.toast) input:hover,:where(.kontur-page,.sidebar,.topbar,.toast) select:hover,:where(.kontur-page,.sidebar,.topbar,.toast) textarea:hover{border-color:var(--strong)}:where(.kontur-page,.sidebar,.topbar,.toast) input[type=checkbox]{accent-color:var(--blue);border-radius:4px}.search input,.toolbar select{border-radius:var(--radius-pill);height:36px}.search .icon{top:10px}.segmented{border-radius:var(--radius-pill);background:0 0;padding:3px}.segmented button{border-radius:var(--radius-pill);height:27px;color:var(--soft)}.segmented button.active{background:var(--muted);color:var(--text)}.panel{border-radius:var(--radius);border-color:var(--border);background:var(--surface)}.panel-head{border-color:var(--border);padding:18px 22px}.panel-body{padding:22px}.panel-head p{color:var(--soft);font-size:11px}.metrics{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:0;margin:24px 0;overflow:hidden}.metric{border:0;border-right:1px solid var(--border);background:0 0;border-radius:0;padding:20px 24px}.metric:last-child{border-right:0}.metric-label{color:var(--secondary);font-size:12px}.metric-label .icon{width:15px;height:15px;color:var(--soft)}.metric-value{margin:10px 0 4px;font-size:32px;font-weight:400;line-height:1.2}.metric-note{color:var(--soft);font-size:11px;line-height:1.5}.ring{width:98px;height:98px}.ring-inner{background:var(--surface)}.ring strong{font-weight:500}.badge{border-radius:var(--radius-pill);letter-spacing:.01em;padding:4px 9px;font-size:10px;font-weight:400}.badge.blue,.blue{color:var(--link)}.note{border-radius:var(--radius-control);background:0 0;padding:14px 16px;font-size:12px;line-height:1.6}.note strong{font-weight:500}.note.warning{border-color:#fbbf242e}.note.error{border-color:#fb71852e}.note svg,.text-link,.help-list a,.modal-step b{color:var(--link)}.text-link{font-size:12px}.back{color:var(--soft);gap:7px;font-size:12px}.tabs{border-color:var(--border);gap:24px;margin-top:24px}.tabs button{color:var(--soft);padding-bottom:13px;font-size:12px;font-weight:400}.tabs button.active{color:var(--text)}.tabs button.active:after{background:var(--text);height:1px}.tabs .count{background:var(--muted);border-radius:var(--radius-pill);min-width:19px;color:var(--secondary);padding:0 6px}:where(.kontur-page,.sidebar,.topbar,.toast) th{background:var(--surface);color:var(--soft);padding:12px 18px;font-size:11px}:where(.kontur-page,.sidebar,.topbar,.toast) td{border-color:var(--border);padding:14px 18px;font-size:12px}:where(.kontur-page,.sidebar,.topbar,.toast) td strong{font-weight:500}.employee-cell strong{letter-spacing:0;font-size:12px;font-weight:500}.table-footer{padding:12px 18px;font-size:11px}.pagination .btn{border-radius:var(--radius-pill)}.employee-card{border-radius:var(--radius);background:var(--surface);border-color:var(--border);padding:18px}.employee-card:hover,.day-card:hover,.camera-card:hover{border-color:var(--strong)}.employee-card h3{font-family:var(--font-body);letter-spacing:0;font-size:13px;font-weight:500}.employee-card .portrait{border-radius:var(--radius-control);width:61px;height:70px}.employee-card-bottom{color:var(--soft);margin-top:16px;padding-top:13px}.employee-card p{font-size:11px}.employee-card .badge{padding:4px 7px;font-size:9px}.day-card{border-radius:var(--radius);background:var(--surface);padding:22px}.day-card h3{font-size:16px;font-weight:500}.day-stats strong{font-family:var(--font-heading);font-size:25px;font-weight:400}.day-stats{padding:16px 0}.day-progress{height:3px}.day-bottom{font-size:11px}.date-square{border-radius:var(--radius-control);border-color:var(--border)}.selection-bar{border-radius:var(--radius-pill);box-shadow:var(--shadow-popover);padding:10px 17px}.selection-bar .btn{color:var(--action-text);background:var(--action-bg);border-color:var(--action-bg)}.plan-item{padding:14px 20px}.plan-settings{padding:22px}.plan-settings h3{font-size:15px}.plan-item input[type=time],.plan-item select{border-radius:8px}.profile-photo{border-radius:var(--radius)}.person-header .avatar{border-radius:var(--radius-control)}.zone-number{border-radius:var(--radius-control);background:var(--muted);color:var(--soft)}.zone-row{padding:13px 0}.timeline-track{border-radius:6px;height:24px}.timeline-legend,.route-detail{font-size:11px}.event h3{font-family:var(--font-body);letter-spacing:0;font-weight:500}.event p{color:var(--soft)}.camera-statusbar{color:var(--soft);flex-wrap:wrap;align-items:center;gap:22px;margin:-6px 0 26px;font-size:12px;display:flex}.camera-statusbar span{align-items:center;gap:7px;display:flex}.camera-statusbar strong{color:var(--text);font-weight:500}.camera-statusbar .dot{width:5px;height:5px}.camera-layout{display:block}.camera-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.camera-card{border-radius:var(--radius);background:var(--surface);border-color:var(--border)}.camera-picture{aspect-ratio:16/9;background:var(--muted)}.camera-picture>img,.video-stage>img{filter:brightness(.82)saturate(.65)}.camera-top{top:13px;left:14px;right:14px}.live-pill{border-radius:var(--radius-pill);background:#090909a6;padding:4px 8px;font-size:9px}.camera-bottom{font-size:10px;bottom:13px;left:14px}.camera-info{min-height:73px;padding:15px 16px}.camera-info h3{font-family:var(--font-body);letter-spacing:0;font-size:13px;font-weight:500}.camera-info p{color:var(--soft);margin-top:4px;font-size:10px;line-height:1.5}.camera-info .avatar{border-color:var(--surface);width:24px;height:24px}.video-stage{border-radius:var(--radius);border-color:var(--border)}.video-controls .icon-btn:hover{background:#ffffff1f}.live-stats strong{font-family:var(--font-heading);font-weight:400}:where(.kontur-page,.sidebar,.topbar,.toast) dialog{box-shadow:var(--shadow-popover);background:var(--surface);border-color:var(--strong);border-radius:16px}:where(.kontur-page,.sidebar,.topbar,.toast) dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6}.modal-head,.modal-body{padding:24px}.modal-foot{padding:16px 24px}.modal-head h2{font-size:20px;font-weight:400}.modal-head p{color:var(--soft);font-size:12px}.dropzone{border-radius:var(--radius);background:var(--bg);padding:32px 20px}.dropzone:hover{background:var(--muted);border-color:var(--secondary)}.toast{border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-popover);left:calc(50% + 32px)}.footer-note{color:var(--soft);font-size:10px;line-height:1.6}@media (width>=1650px){.content{padding:36px 44px 48px}}@media (width<=1200px){.content{padding:28px}.topbar{padding:0 28px}.metric{padding:18px}}@media (width<=1100px){.camera-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (width<=1000px){.sidebar,.shell.collapsed .sidebar{width:var(--sidebar-rail);padding:16px 9px}.main,.shell.collapsed .main{margin-left:var(--sidebar-rail)}.nav,.shell.collapsed .nav{margin-top:0}.nav-link{justify-content:center}.user{padding:14px 8px 0}.shell.mobile-open .sidebar{width:var(--sidebar-width);padding:16px 10px}.shell.mobile-open .nav-link{justify-content:flex-start}.shell.mobile-open .sidebar .hide-collapsed{display:block}.shell.mobile-open .user{padding:14px 13px 0}.camera-detail-layout{grid-template-columns:1fr}.camera-feed{display:none}}@media (width<=700px){.main,.shell.collapsed .main{margin-left:0;transition:none}.sidebar,.shell.collapsed .sidebar{transform:translate(-100%)}.shell.mobile-open .sidebar{transform:none}.content{padding:24px 16px 32px}.topbar{gap:10px;height:56px;padding:0 16px}.top-actions{gap:6px}.breadcrumbs{gap:7px;min-width:0}.breadcrumbs .current{font-size:11px}.top-date{display:none}.page-heading{gap:16px;margin-bottom:22px}.page-heading p{font-size:12px}:where(.kontur-page,.sidebar,.topbar,.toast) h1,.report-date h1{font-size:26px}.person-header h1{font-size:24px}.metrics{margin:20px 0}.metric{padding:17px 15px}.metric:nth-child(2n){border-right:0}.metric:nth-child(n+3){border-top:1px solid var(--border)}.metric-value{font-size:28px}.metric-note{font-size:10px}.panel-head,.panel-body{padding:18px}.employee-card{padding:14px}.employee-card h3{font-size:12px}.employee-card .portrait{width:52px;height:60px}.camera-statusbar{gap:12px 18px;margin:0 0 22px;font-size:11px}.camera-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.camera-info{min-height:65px;padding:12px}.camera-info h3{font-size:12px}.camera-top{top:9px;left:9px;right:9px}.camera-bottom{bottom:9px;left:9px}.camera-info .avatar-stack{display:none}.tabs{gap:18px}.modal-head,.modal-body{padding:20px}.modal-foot{padding:14px 20px}.toast{border-radius:var(--radius-control);left:50%}.btn{min-height:35px;padding:8px 14px}.plan-settings{padding:18px}}@media (width<=540px){.camera-grid{grid-template-columns:1fr}.camera-info .avatar-stack{display:flex}.camera-info{min-height:71px;padding:14px 15px}.camera-info h3{font-size:13px}.camera-picture{aspect-ratio:16/9}}@media print{.main,.shell.collapsed .main{margin:0}.metrics{border:1px solid #ddd}.metric{border-color:#ddd}.content{padding:0}.panel,.metric,.day-card{background:#fff}}.project-home{width:42px;height:38px;color:var(--text);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin:0 0 20px;display:flex}.project-home:hover{background:var(--muted)}.project-mark{flex-shrink:0;display:block}.shell.collapsed .project-home{width:44px}@media print{.project-home{display:none}}.nav-group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--soft);margin:14px 12px 4px;font-size:10px}.shell.collapsed .nav-group-label{display:none}.nav-divider{background:var(--border);height:1px;margin:10px 14px;display:none}.shell.collapsed .nav-divider{display:block}.legacy-status{justify-content:flex-end;margin-bottom:8px;display:flex}.content>[hidden]{display:none!important}.text-link.red{color:var(--red)}body{height:auto;min-height:100%;overflow:visible}.shell{background:var(--bg);height:auto;overflow:visible}.shell .btn:hover:not(:disabled){background:var(--muted);border-color:var(--strong)}.shell .btn.primary:hover:not(:disabled){background:var(--action-bg);border-color:var(--action-bg);opacity:.9}.shell .btn{height:auto}.shell .icon-btn{min-height:0;padding:0}:where(.kontur-page) .panel{min-width:0;padding:0}:where(.kontur-page) .panel h2{letter-spacing:-.02em;font-size:18px;font-weight:500}:where(.kontur-page) .avatar{color:inherit;font-size:inherit;font-weight:inherit}:where(.kontur-page) .badge{background:0 0;width:auto;height:auto}:where(.kontur-page) .camera-card{margin:0;padding:0}:where(.kontur-page) .metric-label{font-weight:inherit;letter-spacing:inherit}:where(.kontur-page) .video-stage{min-height:0}.event-note{background:var(--amber-soft,#f59e0b26);color:var(--amber,#b45309);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;line-height:18px;display:inline-block}.link-btn{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.multicam-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.multicam-grid figure{background:#000;border-radius:8px;margin:0;overflow:hidden}.multicam-grid video{aspect-ratio:16/9;object-fit:contain;cursor:pointer;width:100%;display:block}.multicam-body{max-height:calc(100dvh - 190px);padding:12px 16px}.multicam-grid figcaption{color:var(--muted,#9aa4b2);padding:4px 8px;font-size:12px}.multicam-grid .multicam-main{outline:2px solid var(--amber,#f5b649)}.multicam-controls{align-items:center;gap:12px;width:100%;display:flex}.multicam-controls input[type=range]{flex:1}.multicam-pos{font-variant-numeric:tabular-nums;color:var(--muted,#9aa4b2);white-space:nowrap;font-size:12px}@media (width<=720px){.multicam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.face-thumb{object-fit:cover;background:var(--muted);border:1px solid var(--strong);color:var(--secondary);border-radius:8px;flex-shrink:0;place-items:center;font-size:12px;display:inline-grid}.face-thumb.registry{opacity:.85;border-style:dashed}.employee-cell .face-thumb{border-radius:50%}.ident-cell{align-items:center;gap:10px;display:flex}.ident-cell>div{gap:3px;font-size:11px;display:grid}.ident-cell small{color:var(--soft);font-size:10px}.ident-card{align-items:flex-start;gap:18px;display:flex}.ident-card .face-thumb{border-radius:12px}.ident-card p{color:var(--secondary);margin:4px 0;font-size:12px}.freshness{color:var(--secondary);flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px;font-size:12px;display:flex}.freshness .soft{font-size:11px}.summary-metrics{margin-top:-8px}.summary-metrics .metric-value{font-size:22px}.day-nav{align-items:center;gap:12px;display:flex}.day-nav .back{margin-bottom:0}.date-field{color:var(--secondary);align-items:center;gap:8px;font-size:11px;display:flex}.date-field input{padding:7px 9px;font-size:12px}.log-filters .toolbar-controls{flex-wrap:wrap;gap:8px}.log-filters select{max-width:220px}.log-table td{vertical-align:middle}.access-panel .empty{padding:26px 20px}.access-summary{color:var(--secondary);flex-wrap:wrap;align-items:center;gap:20px;font-size:12px;display:flex}.access-summary .dot{background:var(--secondary);border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.access-summary .dot.green,.camera-statusbar .dot.green{background:var(--green)}.access-summary .dot.amber,.camera-statusbar .dot.amber{background:var(--amber)}.camera-statusbar .dot.blue{background:var(--blue)}.camera-facts{border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:12px 16px 14px;display:grid}.camera-facts div{min-width:0}.camera-facts dt{color:var(--soft);margin-bottom:3px;font-size:10px}.camera-facts dd{white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;margin:0;font-size:12px;overflow:hidden}.zone-overlay-svg{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.zone-overlay-svg polygon{fill:#0362ff29;stroke:#4d8bff;stroke-width:.006px;vector-effect:non-scaling-stroke;stroke-width:2px}.zone-overlay-svg line{stroke:var(--amber);stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.route{padding:4px 0 0}.route-grid{grid-template-columns:150px minmax(0,1fr);gap:0 14px;padding-bottom:24px;display:grid}.route-labels{grid-row:1/-1}.route-label{color:var(--secondary);border-bottom:1px solid var(--border);align-items:center;gap:7px;min-width:0;font-size:12px;display:flex}.route-label span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.route-label svg.icon{width:15px;height:15px;color:var(--soft)}.route-track{background:var(--muted);border-radius:8px;grid-row:1/-1;position:relative;overflow:visible}.route-row{border-bottom:1px solid var(--border);position:absolute;left:0;right:0}.route-bar{opacity:.95;cursor:pointer;border:0;border-radius:4px;min-width:4px;padding:0;position:absolute;top:8px;bottom:8px;box-shadow:0 0 0 1px #00000040}.route-bar:hover,.route-bar:focus-visible{opacity:1;filter:brightness(1.15)}.route-tick{pointer-events:none;position:absolute;top:0;bottom:0}.route-tick i{border-left:1px dashed var(--strong);position:absolute;top:0;bottom:0}.route-tick small{color:var(--soft);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:5px;font-size:10px;position:absolute;top:100%;transform:translate(-50%)}.route-arrow{opacity:.9;pointer-events:none;border-left:2px dashed;width:0;position:absolute;transform:translate(-1px)}.route-arrow i{border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;left:-5px}.route-arrow.down i{border-top:8px solid;bottom:-1px}.route-arrow.up i{border-bottom:8px solid;top:-1px}.route-detail{color:var(--secondary);min-height:16px;margin-top:6px;font-size:11px}.route-legend{color:var(--secondary);flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:11px;display:flex}.route-legend span{align-items:center;gap:6px;display:inline-flex}.route-legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.route-legend.compact{margin-top:0}.help-list{margin:0;padding:0;list-style:none}.help-list li{align-items:flex-start;gap:10px;display:flex}.help-list li svg.icon{color:var(--blue);margin-top:2px}.help-list p{margin:0}.online-steps{border-top:1px solid var(--border);color:var(--secondary);margin-top:18px;padding-top:14px;font-size:12px}.online-steps h3{margin-bottom:6px}.online-steps ol{margin:0;padding-left:18px}.online-demo{grid-template-columns:minmax(0,1fr) 280px;gap:18px;display:grid}.online-demo-side h3{margin-bottom:10px}.occupant-list{margin:0;padding:0;list-style:none}.occupant-list .occupant{justify-content:space-between}.occupant-list .occupant.active strong{color:var(--blue)}.occupant-list small{font-size:10px;display:block}.shift-table .badge{padding:3px 6px;font-size:9px}@media (width<=1000px){.camera-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.online-demo{grid-template-columns:1fr}.route-grid{grid-template-columns:110px minmax(0,1fr)}}@media print{.sidebar,.topbar,.sidebar-backdrop,.toast,.no-print,.footer-note,.tabs,.pagination,.access-panel .actions{display:none!important}.main{margin-left:0!important}.content{max-width:none!important;padding:0!important}.panel,.metric,.note{break-inside:avoid;border-color:#bbb!important}.metrics{grid-template-columns:repeat(4,1fr)!important}.table-scroll{overflow:visible!important}table{font-size:10px!important}.face-thumb{width:28px!important;height:28px!important}a[href]:after{content:""!important}}.settings-zone{max-width:480px;margin-top:4px}.settings-table input,.settings-table select{width:100%;min-width:120px;padding:7px 9px;font-size:12px}.settings-table input.settings-channel{font-variant-numeric:tabular-nums;width:80px;min-width:70px}.settings-table td{vertical-align:middle}.settings-order{font-variant-numeric:tabular-nums;color:var(--secondary);align-items:center;gap:2px;display:flex}.settings-order .icon-btn{width:24px;height:24px}.settings-order .icon-btn svg.icon{width:14px;height:14px;transform:rotate(90deg)}.settings-frame{background:var(--muted);width:72px;height:44px;color:var(--soft);border-radius:6px;place-items:center;display:grid;overflow:hidden}.settings-frame img{object-fit:cover;width:100%;height:100%}.settings-check{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}.settings-params{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;display:grid}.settings-params .field small{margin-top:6px;font-size:11px;line-height:1.4;display:block}.settings-shift{align-items:center;gap:8px;display:flex}.settings-actions{border-top:1px solid var(--border)}.settings-actions .actions{justify-content:flex-end}.settings-actions .note{margin-bottom:12px}@media (width<=900px){.settings-params{grid-template-columns:1fr}}.day-divider{color:var(--soft);text-transform:uppercase;letter-spacing:.3px;padding:12px 0 4px;font-size:11px}.event-list .event .text-link{white-space:nowrap;align-self:center;font-size:11px}.video-workspace{gap:1rem;min-width:0;display:grid}.video-download{border-radius:var(--radius-md);white-space:nowrap;justify-content:center;align-items:center;gap:.375rem;width:fit-content;height:2rem;margin-top:.75rem;padding:0 .625rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.video-download>svg{width:.875rem;height:.875rem}.video-upload-fields{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:end;gap:.75rem;display:grid}.video-workspace label{min-width:0;color:var(--app-text-muted);gap:.375rem;font-size:.75rem;display:grid}.video-field-note{color:var(--app-text-muted);margin-top:.75rem;font-size:.75rem}.video-upload-progress{gap:.5rem;margin-top:.875rem;display:grid}.video-upload-progress>span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.75rem}.video-library-layout{grid-template-columns:17rem minmax(0,1fr);align-items:start;gap:1rem;display:grid}.video-library{position:sticky;top:0}.video-library h2 span{color:var(--muted-foreground);font-weight:400}.video-job-list{gap:.25rem;max-height:70vh;margin-top:.75rem;display:grid;overflow:auto}.video-job{border-radius:var(--radius-md);border:1px solid #0000;align-items:flex-start;gap:.25rem;width:100%;padding:0 .25rem 0 0;display:flex}.video-job:hover{background:var(--muted);border-color:#0000}.video-job.selected{border-color:var(--app-primary-border);background:var(--app-primary-soft)}.video-job.pending-delete{border-color:color-mix(in srgb, var(--app-danger) 40%, transparent);background:var(--app-danger-soft)}.video-job-open{border-radius:var(--radius-md);min-width:0;height:auto;min-height:0;color:var(--app-text);text-align:left;white-space:normal;background:0 0;border:0;flex:1;gap:.25rem;padding:.625rem .75rem;font-weight:400;display:grid}.video-job-open:hover:not(:disabled){background:0 0;border-color:#0000}.video-job-remove{width:1.75rem;min-width:1.75rem;height:1.75rem;min-height:1.75rem;color:var(--muted-foreground);opacity:0;background:0 0;border-color:#0000;flex:none;align-self:center;padding:0}.video-job:hover .video-job-remove,.video-job-remove:focus-visible,.video-job.pending-delete .video-job-remove{opacity:1}.video-job-remove:hover:not(:disabled){border-color:color-mix(in srgb, var(--app-danger) 30%, transparent);background:var(--app-danger-soft);color:var(--app-danger)}@media (hover:none){.video-job-remove{opacity:1}}.video-job strong{overflow-wrap:anywhere;font-size:.8125rem;font-weight:500}.video-job span:not(.video-status),.video-job small{color:var(--muted-foreground);font-size:.6875rem;line-height:1.45}.video-job .video-status{margin-top:.125rem}.video-report-area{gap:1rem;min-width:0;display:grid}.video-report-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.video-confirm{border-color:color-mix(in srgb, var(--app-danger) 28%, transparent)}.video-confirm-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.video-danger{border-color:color-mix(in srgb, var(--app-danger) 55%, transparent);background:var(--app-danger-soft);color:var(--app-danger);font-weight:500}.video-danger:hover:not(:disabled){border-color:var(--app-danger);background:color-mix(in srgb, var(--app-danger) 20%, transparent);color:var(--app-danger)}.video-danger-ghost{border-color:color-mix(in srgb, var(--app-danger) 28%, transparent);color:var(--app-danger);background:0 0}.video-danger-ghost:hover:not(:disabled){border-color:color-mix(in srgb, var(--app-danger) 45%, transparent);background:var(--app-danger-soft);color:var(--app-danger)}.video-report-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.875rem;display:flex}.video-report-heading>div{min-width:0}.video-processing{gap:.5rem;margin:.875rem 0;display:grid}.video-processing p{color:var(--muted-foreground);font-size:.75rem}.video-stats{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.5rem;margin:.875rem 0;display:grid}.video-stats>div{border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem .875rem}.video-stats strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:1.375rem;font-weight:400;line-height:1.2;display:block}.video-stats span{color:var(--muted-foreground);margin-top:.375rem;font-size:.6875rem;line-height:1.45;display:block}.video-filters{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem;margin:.875rem 0;display:grid}.video-subject{border-color:var(--app-primary-border);scroll-margin-top:1rem}.video-subject-times{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.875rem;margin:.875rem 0;display:grid}.video-subject-times dt{color:var(--muted-foreground);font-size:.6875rem}.video-subject-times dd{font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:.8125rem}.video-card details{border-top:1px solid var(--border);min-width:0;margin:.875rem 0 0;padding-top:.875rem}.video-card summary{color:var(--app-text-muted);cursor:pointer;font-size:.75rem}.video-card summary:hover{color:var(--app-text)}.video-crossings{flex-wrap:wrap;gap:.375rem;margin-top:.75rem;display:flex}.video-presence-legend{color:var(--app-text-soft);flex-wrap:wrap;gap:1rem;margin:.875rem 0 .5rem;font-size:.6875rem;display:flex}.video-presence-legend span:first-child{color:var(--app-primary)}.video-presence-legend span:nth-child(2){color:var(--app-warning)}.video-presence-timeline{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--muted) 60%, transparent);height:1.75rem;position:relative;overflow:hidden}.video-presence-timeline button{background:var(--app-primary);border:0;border-radius:0;height:100%;min-height:0;padding:0;position:absolute}.video-presence-timeline button:hover:not(:disabled){filter:brightness(1.2);border:0}.video-presence-timeline .presence-inside{background:var(--app-primary)}.video-presence-timeline .presence-outside{background:var(--app-warning)}.video-presence-timeline .presence-gap{background:color-mix(in srgb, var(--app-text-soft) 40%, transparent)}.detection-player{gap:.5rem;margin-top:.875rem;display:grid}.detection-toolbar{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.detection-toolbar span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.75rem}.detection-stage{border:1px solid var(--border);border-radius:var(--radius-md);background:#000;width:100%;position:relative;overflow:hidden}.detection-stage video{object-fit:contain;width:100%;height:100%;display:block}.detection-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.detection-overlay rect,.detection-overlay polygon{vector-effect:non-scaling-stroke;stroke-width:1.5px}.detection-zone{fill:color-mix(in srgb, var(--app-primary) 8%, transparent);stroke:color-mix(in srgb, var(--app-primary) 65%, transparent);stroke-dasharray:6 4}.detection-person rect{fill:#0000;stroke:var(--app-primary);pointer-events:stroke;cursor:pointer}.detection-person text{fill:#fff;paint-order:stroke;stroke:#000c;stroke-width:4px;stroke-linejoin:round;pointer-events:auto;cursor:pointer;font-weight:600}.detection-person.selected rect,.detection-person:focus rect{stroke:#fff;stroke-width:2.5px}.detection-person:focus{outline:none}.detection-face{fill:#0000;stroke:var(--app-warning);stroke-dasharray:4 2}.detection-person .detection-ppe rect{stroke:none;pointer-events:none}.detection-person .detection-ppe text{fill:#fff;stroke:none;text-anchor:middle;pointer-events:none;font-weight:600}.detection-ppe .ppe-worn rect{fill:var(--app-primary)}.detection-ppe .ppe-missing rect{fill:var(--app-danger)}.ppe-chips{flex-wrap:wrap;gap:.25rem;display:flex}.video-workspace label.video-checkbox{height:2rem;color:var(--app-text);white-space:nowrap;cursor:pointer;align-items:center;gap:.4375rem;font-size:.8125rem;display:flex}.video-workspace label.video-checkbox:has(input:disabled){color:var(--app-text-muted);cursor:not-allowed}.video-workspace label.video-checkbox input{width:auto;margin:0}.detection-stage:fullscreen{border:0;border-radius:0;justify-content:center;align-items:center;display:flex}.detection-stage:fullscreen video{height:auto;max-height:100%}.video-employee-add{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;margin:.875rem 0;display:grid}.video-employee-upload{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.video-employee-upload input[type=file]{flex:12rem}.video-employees td strong{font-weight:500;display:block}.video-employee-remove,.video-employee-confirm>div{flex-wrap:wrap;gap:.5rem;display:flex}.video-employee-confirm{border:1px solid color-mix(in srgb, var(--app-danger) 35%, transparent);border-radius:var(--radius-sm);background:var(--app-danger-soft);flex-direction:column;gap:.375rem;padding:.5rem;display:flex}.video-employee-confirm small{max-width:22rem}@media (width<=1100px){.video-library-layout{grid-template-columns:minmax(0,1fr)}.video-library{position:static}.video-job-list{max-height:none;display:flex;overflow:auto}.video-job{min-width:14rem;max-width:18rem}}@media (width<=640px){.video-employee-add{grid-template-columns:1fr}.video-workspace table{min-width:36rem}}.video-excluded{margin-top:.75rem}.video-excluded-list{gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.video-excluded-list li{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.video-excluded-list small{color:var(--muted,#6b7280)}.unmatched-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.unmatched-card{border:1px solid var(--border,#d9dee5);background:var(--surface,#fff);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.unmatched-crops{gap:6px;display:flex}.unmatched-crops img{object-fit:cover;background:#eee;border-radius:6px;width:64px;height:80px}.unmatched-meta{flex-direction:column;font-size:.9rem;display:flex}.unmatched-form{flex-wrap:wrap;gap:6px;display:flex}.unmatched-form input{flex:140px}.zone-editor{min-width:0}.zone-editor-layout{grid-template-columns:minmax(0,1fr) 21rem;align-items:start;gap:1rem;display:grid}.zone-workspace{gap:1rem;min-width:0;display:grid}.zone-card label{min-width:0;color:var(--app-text-muted);gap:.375rem;font-size:.75rem;display:grid}.zone-toolbar{flex-wrap:wrap;align-items:end;gap:.375rem;margin-top:.875rem;display:flex}.zone-toolbar label{max-width:10rem}.zone-instruction{min-height:2.4em;color:var(--app-text-muted);margin:.75rem 0;font-size:.8125rem;line-height:1.55}.zone-video-picker video{border:1px solid var(--border);border-radius:var(--radius-md);background:#000;width:100%;max-height:18rem;margin:.875rem 0 0;display:block}.zone-frame{border:1px solid var(--border);border-radius:var(--radius-md);background:#000;width:100%;position:relative;overflow:hidden}.zone-frame img{pointer-events:none;width:100%;height:100%;display:block}.zone-frame svg{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.zone-frame-label{overflow-wrap:anywhere}.zone-polygon{fill:color-mix(in srgb, var(--app-primary) 14%, transparent);stroke:var(--app-primary);stroke-width:1.5px;vector-effect:non-scaling-stroke}.zone-unclosed{fill:none;stroke-dasharray:7 5}.zone-crossing{stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.zone-direction{pointer-events:none}.zone-direction line{stroke:var(--app-warning);stroke-width:2px;vector-effect:non-scaling-stroke}.zone-direction text,.zone-point-label{fill:#fff;paint-order:stroke;stroke:#000000bf;stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-weight:600}.zone-handle{fill:var(--app-primary);stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke;cursor:grab}.zone-handle-line{fill:#fff;stroke:var(--app-primary)}.zone-empty{align-content:center;min-height:16rem}.zone-actions{margin-top:.875rem}.zone-settings{align-content:start;gap:.75rem;display:grid}.zone-field-pair{grid-template-columns:6rem minmax(0,1fr);gap:.5rem;display:grid}.zone-card details{border-top:1px solid var(--border);min-width:0;padding-top:.75rem}.zone-card summary{color:var(--app-text-muted);cursor:pointer;padding:.25rem 0;font-size:.75rem}.zone-card summary:hover{color:var(--app-text)}.zone-card pre{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--muted) 60%, transparent);max-height:20rem;color:var(--app-text-muted);margin:.625rem 0 0;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6875rem;line-height:1.5;overflow:auto}.zone-imported{color:var(--app-primary);overflow-wrap:anywhere;margin:0;font-size:.75rem}.zone-export-text{resize:vertical;margin:.625rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6875rem}.zone-validation{border:1px solid color-mix(in srgb, var(--app-warning) 28%, transparent);border-radius:var(--radius-md);background:var(--app-warning-soft);color:var(--app-warning);padding:.75rem .875rem;font-size:.75rem;line-height:1.55}.zone-validation ul{margin:.5rem 0 0;padding-left:1.1rem}.zone-validation li+li{margin-top:.3rem}.zone-valid{border-color:var(--app-primary-border);background:var(--app-primary-soft);color:var(--app-primary)}.zone-coordinates{margin-top:.875rem}.zone-coordinate-row{grid-template-columns:4.5rem minmax(0,1fr) minmax(0,1fr) 2rem;align-items:end;gap:.375rem;margin:.375rem 0;display:grid}.zone-coordinate-row>span{color:var(--muted-foreground);padding-bottom:.5rem;font-size:.6875rem}@media (width<=1100px){.zone-editor-layout{grid-template-columns:minmax(0,1fr)}}
