.android-download-link[data-v-1fe2b698]{color:#04110d;white-space:nowrap;background:#67d7b6;border:1px solid #48c7a4;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 12px;font-size:13px;font-weight:800;line-height:1;text-decoration:none;transition:border-color .12s,background-color .12s,box-shadow .12s;display:inline-flex}.android-download-link[data-v-1fe2b698]:hover{background:#8de6cc;border-color:#8de6cc;box-shadow:0 8px 24px #48c7a42e}.android-download-link[data-v-1fe2b698]:focus-visible{outline-offset:2px;outline:3px solid #67d7b652}.android-download-link svg[data-v-1fe2b698]{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:17px;height:17px}@media (width<=760px){.android-download-link[data-v-1fe2b698]{flex:auto}}:root{color:#eaf5f1;font-synthesis:none;text-rendering:optimizelegibility;background:#07100f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% 5%,#123c32 0,#0000 32rem),#07100f;min-width:320px;min-height:100vh;margin:0}button{font:inherit}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#0a1815f5;border:1px solid #23463d;border-radius:22px;width:min(440px,100%);padding:clamp(24px,6vw,38px);box-shadow:0 26px 80px #00000061}.login-card h1{font-size:clamp(30px,7vw,43px)}.login-lead,.login-security{color:#9fb5ae}.login-card form{gap:9px;margin-top:26px;display:grid}.login-card label{color:#c9d9d4;margin-top:8px;font-size:13px;font-weight:700}.login-card input{color:#f1faf7;background:#07110f;border:1px solid #315b50;border-radius:11px;outline:none;width:100%;padding:12px 13px}.login-card input:focus{border-color:#58d1ae;box-shadow:0 0 0 3px #58d1ae29}.login-card input:disabled{opacity:.65}.login-submit{color:#04110d;cursor:pointer;background:#67d7b6;border:1px solid #48c7a4;border-radius:11px;margin-top:13px;padding:12px 16px;font-weight:800}.login-submit:hover:not(:disabled){background:#8de6cc}.login-submit:disabled{cursor:wait;opacity:.6}.login-error,.session-error{color:#faa;margin:8px 0 0}.login-security{margin:18px 0 0;font-size:12px}.login-checking{text-align:center}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:34px 0 56px}.app-header,.viewer-header,.viewer-footer{justify-content:space-between;align-items:center;gap:24px;display:flex}.app-header{margin-bottom:24px}.eyebrow,.section-label{color:#67d7b6;letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.055em;margin-bottom:10px;font-size:clamp(32px,6vw,58px)}.lead{color:#a7bdb6;max-width:700px;margin-bottom:0}.vite-badge{color:#c8c0ff;background:#17142f;border:1px solid #6457b5;border-radius:999px;flex:none;padding:9px 13px}.session-summary{align-items:center;gap:12px;display:flex}.session-summary div{text-align:right;gap:3px;display:grid}.session-summary span{color:#9fb5ae;font-size:12px}.session-summary button{color:#d6e6e1;cursor:pointer;background:#10231f;border:1px solid #315b50;border-radius:10px;padding:9px 12px}.session-summary button:hover{background:#6f3030;border-color:#d28080}.session-error{background:#5c222273;border:1px solid #7e3b3b;border-radius:10px;margin:-10px 0 18px;padding:10px 12px}.workspace-switcher{gap:8px;margin:-8px 0 22px;display:flex}.workspace-switcher button{color:#a7bdb6;cursor:pointer;background:#10231f;border:1px solid #315b50;border-radius:999px;padding:9px 18px}.workspace-switcher button:hover,.workspace-switcher button.active{color:#fff;background:#1c735e;border-color:#48c7a4}.viewer{background:#0a1815f0;border:1px solid #23463d;border-radius:22px;overflow:hidden;box-shadow:0 26px 80px #00000052}.viewer-header{padding:22px}.viewer-header h2{margin-bottom:7px;font-size:26px}.viewer-header p:last-child{color:#9ab0aa;margin-bottom:0}.mode-switcher{gap:8px;display:flex}.mode-switcher button,.preview-toggle{color:#d6e6e1;cursor:pointer;background:#10231f;border:1px solid #315b50;border-radius:11px;padding:10px 14px}.mode-switcher button:hover,.mode-switcher button.active,.preview-toggle:hover{color:#fff;background:#1c735e;border-color:#48c7a4}.video-stage{aspect-ratio:16/9;background:#030706;min-height:330px}.video-stage iframe{border:0;width:100%;height:100%;display:block}.video-placeholder{text-align:center;color:#aac0ba;place-content:center;justify-items:center;height:100%;padding:30px;display:grid}.video-placeholder strong{color:#eef8f5;margin:16px 0 8px;font-size:22px}.video-placeholder p{max-width:560px;margin-bottom:0}.vue-mark{color:#6ee7b1;background:#0f2a22;border:1px solid #42b883;border-radius:20px;place-items:center;width:70px;height:70px;font-size:34px;font-weight:900;display:grid}.viewer-footer{color:#a8bdb7;padding:15px 22px;font-size:14px}.status-dot{background:#53dbaa;border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block;box-shadow:0 0 14px #53dbaa}.api-state{background:#0a1815f0;border:1px solid #23463d;border-radius:18px;padding:30px}.api-state strong{font-size:22px}.api-state p{color:#9fb5ae;margin:8px 0 18px}.api-state-error{border-color:#7e3b3b}.dashboard-toolbar{background:#0a1815f0;border:1px solid #23463d;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:12px 14px;display:flex}.grid-controls,.toolbar-actions,.grid-size-buttons{align-items:center;gap:10px;display:flex}.grid-controls>span{color:#9fb5ae;font-size:13px}.grid-size-buttons button,.back-button,.action-button{color:#d6e6e1;cursor:pointer;background:#10231f;border:1px solid #315b50;border-radius:9px;padding:8px 11px}.grid-size-buttons button:hover,.grid-size-buttons button.active,.back-button:hover,.action-button:hover{color:#fff;background:#1c735e;border-color:#48c7a4}.camera-grid{gap:12px;display:grid}.camera-grid-1{grid-template-columns:1fr}.camera-grid-4{grid-template-columns:repeat(2,1fr)}.camera-grid-6,.camera-grid-9{grid-template-columns:repeat(3,1fr)}.camera-grid-16{grid-template-columns:repeat(4,1fr)}.camera-tile{background:#07110f;border:1px solid #23463d;border-radius:15px;min-width:0;overflow:hidden;box-shadow:0 14px 36px #00000038}.camera-tile:hover{border-color:#48c7a4}.camera-tile-action{width:100%;color:inherit;text-align:left;background:0 0;display:block}.camera-tile-video{aspect-ratio:16/9;background:#020504;position:relative;overflow:hidden}.camera-recording-indicator{z-index:3;color:#fff;letter-spacing:.08em;pointer-events:none;background:#190808d1;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:10px;font-weight:900;display:inline-flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 12px #00000073}.camera-recording-indicator i{background:#ff3b3b;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite recording-pulse;box-shadow:0 0 0 3px #ff3b3b2e}@keyframes recording-pulse{50%{opacity:.45;transform:scale(.82)}}@media (prefers-reduced-motion:reduce){.camera-recording-indicator i{animation:none}}.camera-tile-video iframe{pointer-events:none;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.camera-grid-1 .camera-tile-video iframe{pointer-events:auto}.camera-tile-placeholder{color:#7e938d;place-content:center;justify-items:center;gap:8px;height:100%;display:grid}.camera-tile-placeholder>span{font-size:30px}.camera-tile-placeholder strong{font-size:13px}.camera-open-overlay{z-index:1;cursor:pointer;background:0 0;border:0;width:100%;position:absolute;inset:0}.camera-open-overlay:focus-visible{outline-offset:-3px;outline:3px solid #67d7b6}.camera-tile-footer{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.camera-tile-footer div{gap:3px;min-width:0;display:grid}.camera-tile-footer strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.camera-tile-footer div span,.camera-state{color:#8da39d;font-size:11px}.camera-state{flex:none}.camera-online .camera-state{color:#62d6b5}.camera-offline{border-color:#4e3030}.camera-offline .camera-state{color:#dc8585}.camera-disabled{opacity:.68}.camera-grid-1 .camera-tile{border-radius:22px}.camera-grid-1 .camera-tile-footer{padding:15px 18px}.camera-grid-1 .camera-tile-footer strong{font-size:18px}.grid-pagination{justify-content:space-between;align-items:center;gap:16px;margin:12px 2px 0;display:flex}.grid-note{color:#8da39d;margin:0;font-size:13px}.grid-pagination nav{color:#a7bdb6;align-items:center;gap:10px;font-size:13px;display:flex}.grid-pagination button{color:#d6e6e1;cursor:pointer;background:#10231f;border:1px solid #315b50;border-radius:9px;padding:7px 10px}.grid-pagination button:disabled{opacity:.45;cursor:not-allowed}.archive-panel{background:#0a1815f0;border:1px solid #23463d;border-radius:20px;padding:22px;overflow:hidden;box-shadow:0 20px 60px #00000042}.archive-header,.archive-day-summary,.archive-fragment-info{justify-content:space-between;align-items:center;gap:18px;display:flex}.archive-header h2{margin-bottom:7px;font-size:28px}.archive-header p:last-child{color:#9fb5ae;margin-bottom:0}.archive-filters{gap:10px;display:flex}.archive-filters label{color:#9fb5ae;gap:6px;font-size:12px;font-weight:700;display:grid}.archive-filters select,.archive-filters input{color:#eaf5f1;background:#07110f;border:1px solid #315b50;border-radius:10px;min-width:170px;padding:10px}.archive-state{color:#9fb5ae;text-align:center;border:1px dashed #315b50;border-radius:14px;margin-top:20px;padding:28px}.archive-state strong{color:#eaf5f1;margin-bottom:8px;font-size:20px;display:block}.archive-state button{color:#d6e6e1;cursor:pointer;background:#10231f;border:1px solid #315b50;border-radius:9px;margin-top:12px;padding:8px 11px}.archive-state-error{color:#faa;border-color:#7e3b3b}.archive-day-summary{color:#9fb5ae;background:#0a1916;border-radius:12px;margin-top:20px;padding:11px 14px;font-size:13px}.archive-timeline{grid-template-columns:repeat(6,1fr);gap:7px;margin:14px 0 20px;padding:0;list-style:none;display:grid}.archive-timeline button{color:#80938e;text-align:left;background:#08110f;border:1px solid #263d37;border-radius:10px;align-content:center;gap:5px;width:100%;min-height:70px;padding:8px;display:grid}.archive-timeline button:not(:disabled){cursor:pointer}.archive-timeline button:not(:disabled):hover,.archive-timeline button.active{border-color:#67d7b6;box-shadow:0 0 0 2px #67d7b621}.archive-timeline button span{font-size:10px}.archive-timeline .archive-hour-complete{color:#c7f4e6;background:#12372e;border-color:#2f8069}.archive-timeline .archive-hour-partial{color:#f3dfae;background:#332a14;border-color:#8b7135}.archive-player{background:#030706;border:1px solid #2a4941;border-radius:16px;overflow:hidden}.archive-minute-section{background:#081310;padding:13px 12px 10px}.archive-minute-heading{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:9px;display:flex}.archive-minute-heading strong{color:#d8ebe5;font-size:13px}.archive-minute-heading span{color:#80978f;font-size:11px}.archive-minute-viewport{padding-bottom:3px;overflow-x:auto}.archive-minute-track{min-width:600px}.archive-minute-ruler{color:#758a84;justify-content:space-between;margin-bottom:4px;font-size:9px;display:flex}.archive-minute-cells{grid-template-columns:repeat(60,minmax(5px,1fr));gap:2px;display:grid}.archive-minute-cells button{cursor:not-allowed;background:#17221f;border:0;border-radius:3px;min-height:23px;padding:0}.archive-minute-cells button.recorded{cursor:pointer;background:#287962}.archive-minute-cells button.recorded:hover,.archive-minute-cells button.active{outline-offset:1px;background:#48c7a4;outline:2px solid #9cf1d8}.archive-fragment-switcher{background:#0a1916;gap:8px;padding:11px 12px;display:flex;overflow-x:auto}.archive-fragment-switcher button{color:#a7bdb6;cursor:pointer;background:#10231f;border:1px solid #315b50;border-radius:9px;flex:none;padding:8px 10px}.archive-fragment-switcher button:hover,.archive-fragment-switcher button.active{color:#fff;background:#1c735e;border-color:#67d7b6}.archive-player video{aspect-ratio:16/9;background:#000;width:100%;display:block}.archive-fragment-info{padding:13px 15px}.archive-fragment-info div{gap:4px;display:grid}.archive-fragment-info span{color:#8da39d;font-size:12px}.archive-fragment-info a{color:#caffef;background:#123b31;border:1px solid #48c7a4;border-radius:9px;padding:9px 12px;text-decoration:none}.operations-dashboard{background:#0a1815f0;border:1px solid #23463d;border-radius:20px;padding:22px;box-shadow:0 20px 60px #00000042}.operations-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.operations-header h2{margin-bottom:7px;font-size:28px}.operations-header p:last-child{color:#9fb5ae;margin-bottom:0}.operations-header button,.operations-state button{color:#d6e6e1;cursor:pointer;background:#10231f;border:1px solid #315b50;border-radius:10px;padding:9px 13px}.operations-header button:hover:not(:disabled),.operations-state button:hover{color:#fff;background:#1c735e;border-color:#48c7a4}.operations-header button:disabled{cursor:wait;opacity:.6}.operations-state{color:#9fb5ae;text-align:center;border:1px dashed #315b50;border-radius:14px;margin-top:20px;padding:28px}.operations-state strong{color:#eaf5f1;margin-bottom:12px;display:block}.operations-state-error,.operations-inline-warning{color:#faa;border-color:#7e3b3b}.operations-inline-warning{border:1px solid;border-radius:10px;margin:18px 0 0;padding:10px 12px}.operations-start-panel{color:#b9d8cf;background:#0c211b;border:1px solid #2f8069;border-radius:14px;margin:18px 0 0;padding:14px}.operations-start-summary{color:#eaf5f1;justify-content:space-between;align-items:center;gap:12px;display:flex}.operations-start-summary span{color:#8ee2c8;font-variant-numeric:tabular-nums}.operations-start-meter{background:#18352d;border-radius:999px;height:9px;margin:12px 0;overflow:hidden}.operations-start-meter span{border-radius:inherit;background:linear-gradient(90deg,#2c9478,#67d7b6);height:100%;transition:width .35s;display:block}.operations-start-steps{flex-wrap:wrap;gap:8px 18px;margin:0 0 10px;padding:0;font-size:12px;list-style:none;display:flex}.operations-start-steps li:before{content:"○";color:#668079;margin-right:6px}.operations-start-steps li.done:before{content:"●";color:#58c9aa}.operations-start-panel small{color:#7f9690}.operations-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.operations-card{background:#091713;border:1px solid #29473f;border-radius:15px;min-width:0;padding:18px}.operations-card>span{color:#67d7b6;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:800;display:block}.operations-card strong{margin-bottom:8px;font-size:21px;display:block}.operations-card p{color:#a7bdb6;margin-bottom:8px}.operations-card small{color:#7f9690}.operations-retention-card{grid-column:1/-1}.operations-retention-settings{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:12px;margin-top:16px;display:grid}.operations-retention-settings label{color:#a7bdb6;gap:7px;font-size:12px;display:grid}.operations-retention-settings label:first-child{align-items:center;gap:8px;min-height:39px;display:flex}.operations-retention-settings input[type=number]{color:#eaf5f1;width:100%;font:inherit;background:#07110e;border:1px solid #31544a;border-radius:9px;padding:9px 10px}.operations-retention-settings input[type=checkbox]{accent-color:#58c9aa}.operations-retention-settings button{color:#d7ebe5;cursor:pointer;background:#10251f;border:1px solid #31544a;border-radius:9px;padding:9px 12px}.operations-action-message{margin-top:10px;display:block;color:#9edcc9!important}.operations-primary-action{color:#06120f;cursor:pointer;background:#58c9aa;border:1px solid #48c7a4;border-radius:10px;width:100%;margin-top:16px;padding:10px 14px;font-weight:800}.operations-primary-action:hover:not(:disabled){background:#75ddc0}.operations-primary-action:disabled{cursor:default;opacity:.55}.operations-card.status-recording,.operations-card.status-ok{border-color:#2f8069}.operations-card.status-degraded,.operations-card.status-warning,.operations-card.status-failed{background:#251f11;border-color:#8b7135}.operations-meter{background:#172722;border-radius:999px;height:8px;margin:13px 0 10px;overflow:hidden}.operations-meter span{border-radius:inherit;background:#58c9aa;height:100%;display:block}.operations-observed{color:#7f9690;text-align:right;margin:16px 0 0;font-size:12px}.access-management{background:#0a1815f0;border:1px solid #23463d;border-radius:20px;gap:16px;padding:22px;display:grid;box-shadow:0 20px 60px #00000042}.access-toolbar,.access-save-bar{background:#091713;border:1px solid #29473f;border-radius:14px;justify-content:space-between;align-items:flex-end;gap:16px;padding:14px;display:flex}.access-toolbar label{color:#9fb5ae;gap:6px;min-width:min(430px,100%);font-size:12px;font-weight:700;display:grid}.access-toolbar select{color:#eaf5f1;background:#07110f;border:1px solid #315b50;border-radius:10px;width:100%;padding:10px}.access-bulk-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.access-bulk-actions button,.access-save-bar button{color:#d6e6e1;cursor:pointer;background:#10231f;border:1px solid #315b50;border-radius:9px;padding:8px 11px}.access-bulk-actions button:hover,.access-save-bar button:hover:not(:disabled){color:#fff;background:#1c735e;border-color:#48c7a4}.access-bulk-actions .danger-button{color:#faa;border-color:#7e3b3b}.access-table-wrap{background:#091713;border:1px solid #29473f;border-radius:14px;overflow-x:auto}.access-table{border-collapse:collapse;width:100%;min-width:700px}.access-table th,.access-table td{text-align:center;border-bottom:1px solid #203a34;padding:12px 14px}.access-table th:first-child{text-align:left}.access-table tbody tr:last-child th,.access-table tbody tr:last-child td{border-bottom:0}.access-table small{color:#d6a85f;margin-top:4px;font-weight:500;display:block}.access-table input[type=checkbox]{accent-color:#48c7a4;width:18px;height:18px}.access-save-bar{align-items:center;position:sticky;bottom:12px;box-shadow:0 16px 40px #00000057}.access-save-bar p{color:#67d7b6;margin:0}.access-save-bar button:disabled{cursor:wait;opacity:.6}.explanation-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;display:grid}.explanation-grid article{background:#0a1714b3;border:1px solid #1f3933;border-radius:17px;padding:20px}.explanation-grid span{color:#58c9aa;font-size:12px;font-weight:800}.explanation-grid h2{margin:8px 0}.explanation-grid p{color:#9fb5ae;margin-bottom:0}@media (width<=760px){.app-shell{width:min(100% - 20px,1180px);padding-top:22px}.app-header,.viewer-header,.viewer-footer{flex-direction:column;align-items:flex-start}.session-summary{justify-content:space-between;width:100%}.session-summary div{text-align:left}.video-stage{min-height:230px}.explanation-grid{grid-template-columns:1fr}.dashboard-toolbar,.grid-controls,.toolbar-actions,.archive-header,.archive-fragment-info{flex-direction:column;align-items:stretch}.archive-minute-heading{flex-direction:column;align-items:flex-start;gap:4px}.operations-header{flex-direction:column;align-items:stretch}.operations-header button{width:100%}.operations-grid,.operations-retention-settings{grid-template-columns:1fr}.access-toolbar,.access-save-bar{flex-direction:column;align-items:stretch}.access-bulk-actions{justify-content:flex-start}.archive-filters{grid-template-columns:1fr 1fr;width:100%;display:grid}.archive-filters select,.archive-filters input{width:100%;min-width:0}.archive-timeline{grid-template-columns:repeat(4,1fr)}.grid-size-buttons{grid-template-columns:repeat(5,1fr);display:grid}.camera-grid-6,.camera-grid-9,.camera-grid-16{grid-template-columns:repeat(2,1fr)}.camera-tile-footer{flex-direction:column;align-items:flex-start}.grid-pagination{flex-direction:column;align-items:stretch}.grid-pagination nav{justify-content:space-between}}@media (width<=480px){.camera-grid-4,.camera-grid-6,.camera-grid-9,.camera-grid-16,.archive-filters{grid-template-columns:1fr}.archive-timeline{grid-template-columns:repeat(3,1fr)}}
