.login[data-v-584363c0]{max-width:360px;margin:0 auto;padding:18vh 16px 48px}.brand[data-v-584363c0]{margin:0 0 32px;font-family:var(--font-condensed);font-size:1.375rem;font-weight:600;color:var(--sodium)}h1[data-v-584363c0]{margin:0 0 24px;font-family:var(--font-condensed);font-size:2rem;font-weight:600;line-height:1.1}form[data-v-584363c0]{display:grid;gap:16px}label[data-v-584363c0]{display:grid;gap:6px;color:var(--dusk);font-size:.875rem}label .input[data-v-584363c0]{color:var(--mist);font-size:1rem}.btn[data-v-584363c0]{margin-top:8px;padding:11px}.error[data-v-584363c0]{margin-top:16px}h2[data-v-1e166c2c]{margin:0 0 12px;font-family:var(--font-condensed);font-size:1.125rem;font-weight:500;color:var(--dusk)}ul[data-v-1e166c2c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none}@media(min-width:900px){ul[data-v-1e166c2c]{grid-template-columns:1fr}}li[data-v-1e166c2c]{border:1px solid var(--line);border-radius:8px;background:var(--slate)}li.watching[data-v-1e166c2c]{border-color:var(--sodium)}.watch[data-v-1e166c2c]{display:flex;flex-direction:column;gap:2px;width:100%;padding:12px 14px 6px;border:0;border-radius:inherit;background:none;text-align:left}.watch:hover:not(:disabled) .camera-name[data-v-1e166c2c]{color:#fff}.camera-name[data-v-1e166c2c]{font-size:1.0625rem;font-weight:600}.state[data-v-1e166c2c]{display:flex;align-items:center;gap:6px;color:var(--dusk);font-size:.8125rem}.state[data-v-1e166c2c]:before{content:"";flex:none;width:7px;height:7px;border:1px solid var(--dusk);border-radius:50%}.state.online[data-v-1e166c2c]{color:var(--mist)}.state.online[data-v-1e166c2c]:before{border-color:var(--sodium);background:var(--sodium)}.tile-actions[data-v-1e166c2c]{display:flex;gap:4px;padding:0 8px 8px}.tile-actions button[data-v-1e166c2c]{padding:2px 6px;border:0;border-radius:4px;background:none;color:var(--dusk);font-size:.8125rem}.tile-actions button[data-v-1e166c2c]:hover{color:var(--mist)}.tile-actions .remove[data-v-1e166c2c]:hover{color:var(--ember)}.enroll[data-v-1e166c2c]{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}summary[data-v-1e166c2c]{color:var(--sodium);font-weight:500;cursor:pointer}form[data-v-1e166c2c]{display:flex;gap:8px;margin-top:12px}form .input[data-v-1e166c2c]{flex:1;min-width:0}.code[data-v-1e166c2c]{margin-top:16px;padding:16px;border-radius:8px;background:var(--slate);text-align:center}.code img[data-v-1e166c2c]{display:block;width:180px;margin:0 auto;border-radius:4px}.code strong[data-v-1e166c2c]{display:block;margin-top:12px;font-size:1.75rem;font-weight:600;letter-spacing:.2em;font-variant-numeric:tabular-nums}.code p[data-v-1e166c2c]{margin:8px 0 0;color:var(--dusk);font-size:.875rem}.empty[data-v-1e166c2c]{margin:0 0 12px;color:var(--dusk)}.error[data-v-1e166c2c]{margin:12px 0 0}.motion-zone[data-v-6ba702b0]{position:absolute;pointer-events:none}.motion-zone.editing[data-v-6ba702b0]{pointer-events:auto;cursor:crosshair;touch-action:none;background:#0f1b2d73}.zone[data-v-6ba702b0]{position:absolute;border:2px solid var(--sodium);background:#f5a62326;box-sizing:border-box}.toolbar[data-v-6ba702b0]{position:absolute;top:8px;right:8px;display:flex;gap:6px;cursor:default}.toolbar .btn[data-v-6ba702b0]:not(.btn-primary){border-color:transparent;background:#0f1b2dd9}.app[data-v-1bacb4ba]{max-width:1200px;margin:0 auto;padding:0 16px 48px}.topbar[data-v-1bacb4ba]{display:flex;align-items:center;gap:16px;height:64px}.brand[data-v-1bacb4ba]{font-family:var(--font-condensed);font-size:1.375rem;font-weight:600;letter-spacing:.01em}.tabs[data-v-1bacb4ba]{display:flex;gap:4px;margin-right:auto;padding:3px;border:1px solid var(--line);border-radius:999px}.tabs button[data-v-1bacb4ba]{padding:6px 16px;border:0;border-radius:999px;background:transparent;color:var(--dusk);font-weight:500}.tabs button[aria-current=page][data-v-1bacb4ba]{background:var(--slate);color:var(--mist)}.logout[data-v-1bacb4ba]{border:0;background:none;color:var(--dusk);font-weight:500}.logout[data-v-1bacb4ba]:hover{color:var(--mist)}.live[data-v-1bacb4ba]{display:grid;gap:24px}@media(min-width:900px){.live[data-v-1bacb4ba]{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}.video-frame[data-v-1bacb4ba]{position:relative;overflow:hidden;border-radius:12px;background:#000}.video-frame video[data-v-1bacb4ba]{display:block;width:100%;aspect-ratio:4 / 3;max-height:72vh;background:#000}.stage-empty[data-v-1bacb4ba]{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:16px;background:var(--slate);color:var(--dusk);text-align:center}.stage-name[data-v-1bacb4ba]{position:absolute;top:12px;left:14px;display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font-condensed);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:600;line-height:1;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.6);pointer-events:none}.live-dot[data-v-1bacb4ba]{width:.35em;height:.35em;border-radius:50%;background:var(--sodium);animation:pulse-1bacb4ba 2s ease-in-out infinite}@keyframes pulse-1bacb4ba{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.live-dot[data-v-1bacb4ba]{animation:none}}.stage-bar[data-v-1bacb4ba]{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.stage-bar .stop[data-v-1bacb4ba]{margin-left:auto}.stage .error[data-v-1bacb4ba]{margin:12px 0 0}.player video[data-v-1bacb4ba]{display:block;width:100%;max-height:60vh;border-radius:12px;background:#000}.player-bar[data-v-1bacb4ba]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.player-caption[data-v-1bacb4ba]{display:flex;flex-direction:column;margin:0}.player-caption span[data-v-1bacb4ba]{color:var(--dusk);font-size:.875rem}.player-nav[data-v-1bacb4ba]{display:flex;gap:8px}.clips-head[data-v-1bacb4ba]{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:8px}.player+.clips-head[data-v-1bacb4ba]{margin-top:32px}h2[data-v-1bacb4ba]{margin:0;font-family:var(--font-condensed);font-size:1.75rem;font-weight:600}.empty[data-v-1bacb4ba]{color:var(--dusk)}.day h3[data-v-1bacb4ba]{margin:28px 0 4px;font-family:var(--font-condensed);font-size:1.125rem;font-weight:500;color:var(--dusk)}.day ul[data-v-1bacb4ba]{margin:0;padding:0;list-style:none}.day li[data-v-1bacb4ba]{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.clip-open[data-v-1bacb4ba]{flex:1;display:flex;align-items:baseline;gap:16px;min-width:0;padding:14px 4px;border:0;background:none;text-align:left}.clip-time[data-v-1bacb4ba]{font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums}.clip-camera[data-v-1bacb4ba]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clip-meta[data-v-1bacb4ba]{display:flex;gap:12px;color:var(--dusk);font-size:.875rem;font-variant-numeric:tabular-nums}.day li.playing .clip-time[data-v-1bacb4ba],.day li.playing .clip-camera[data-v-1bacb4ba]{color:var(--sodium)}.lock.locked[data-v-1bacb4ba]{border-color:var(--sodium);color:var(--sodium)}@media(max-width:520px){.clip-meta[data-v-1bacb4ba]{display:none}}:root{--midnight: #0f1b2d;--slate: #172537;--line: #2a3b52;--mist: #d5dee8;--dusk: #8699ae;--sodium: #f5a623;--ember: #ff7a6b;--font: "Barlow", system-ui, sans-serif;--font-condensed: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--midnight);color:var(--mist);font-family:var(--font);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--sodium);outline-offset:2px}.btn{padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:transparent;font-weight:500}.btn:hover:not(:disabled){border-color:var(--dusk)}.btn:disabled{opacity:.4}.btn-primary{border-color:var(--sodium);background:var(--sodium);color:var(--midnight);font-weight:600}.btn-primary:hover:not(:disabled){border-color:#ffbd4a;background:#ffbd4a}.btn-danger{color:var(--ember)}.input{padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--midnight)}.input::placeholder{color:var(--dusk)}.error{color:var(--ember)}
