:root{color-scheme:dark;--bg:#0b1220;--panel:#111d2e;--line:#243246;--text:#edf3f9;--muted:#9daec2;--green:#81dfbd;--amber:#edc17b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0%,#192a43 0,transparent 48%),var(--bg);color:var(--text);font-family:Segoe UI,Arial,sans-serif;font-size:15px;line-height:1.5}.shell{max-width:1460px;margin:auto;padding:0 44px}header{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}a{color:inherit}.brand{display:flex;gap:13px;text-decoration:none;font-size:14px;font-weight:700;letter-spacing:2px;align-items:center}.brand-mark{font-size:38px;color:var(--green);font-weight:400;line-height:1}.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:3px;color:var(--muted);margin-top:5px}.header-right{display:flex;gap:24px;align-items:center}.local{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.local i,.test-dot{width:7px;height:7px;display:inline-block;background:var(--green);border-radius:50%;margin-right:7px}.quiet{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:7px;padding:8px 13px;cursor:pointer}.intro{padding:42px 0 30px;display:flex;justify-content:space-between;gap:25px;align-items:center}.eyebrow{color:var(--green);letter-spacing:2px;font-size:10px;font-weight:700;margin:0 0 11px}h1{font-size:42px;letter-spacing:-1.5px;line-height:1.15;font-weight:600;margin:0 0 13px}.subtle{color:var(--muted);margin:0;font-size:13px}.test-label{display:flex;align-items:center;white-space:nowrap;font-size:13px}.test-label small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.test-label .test-dot{margin-right:12px}.summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#0f1a2a;margin-bottom:26px}.summary>div{padding:19px 24px;border-right:1px solid var(--line)}.summary>div:last-child{border:0}.summary span,.summary small{display:block;color:var(--muted)}.summary span{font-size:9px;letter-spacing:1.4px;font-weight:600}.summary strong{display:block;font-size:24px;line-height:1.3;margin:7px 0 4px;font-weight:500}.summary small{font-size:10px}.feeds{display:grid;grid-template-columns:1fr 1fr;gap:23px}.camera{background:var(--panel);border:1px solid var(--line);border-radius:11px;overflow:hidden}.camera-head{display:flex;justify-content:space-between;align-items:center;padding:18px 23px}.camera-number{font-size:9px;letter-spacing:1.6px;color:var(--muted)}h2{font-size:21px;letter-spacing:-.4px;font-weight:600;margin:3px 0 0}.pill{border:1px solid #45546a;color:#b4c2d3;border-radius:20px;font-size:10px;padding:5px 10px}.pill.good{background:#19352f;color:var(--green);border-color:#2d5648}.pill.warn{background:#362e23;color:var(--amber);border-color:#5f4c30}.preview{position:relative;background:#050a12;aspect-ratio:2688/1520;overflow:hidden}.preview img{width:100%;height:100%;object-fit:contain;display:none}.preview-empty{position:absolute;inset:0;display:grid;place-items:center;color:#647992;font-size:12px}.preview-label,.preview-time{position:absolute;bottom:13px;background:#08101bd9;border:1px solid #ffffff20;border-radius:4px;padding:4px 7px;font-size:8px;letter-spacing:1px}.preview-label{left:14px}.preview-time{right:14px;letter-spacing:.2px;color:#bdcbda}.camera-details{padding:19px 23px;display:grid;grid-template-columns:1.2fr 1fr;gap:15px 20px}.camera-details span{display:block;color:var(--muted);font-size:10px}.camera-details strong{font-size:14px;font-weight:500;display:block;margin-top:4px}.camera-foot{border-top:1px solid var(--line);padding:11px 23px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.preview-note{font-size:11px;color:var(--muted);margin:14px 0 31px}.archive{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#0f1a2a}.section-heading{display:flex;justify-content:space-between;align-items:end;padding:22px 24px}.section-heading .eyebrow{margin-bottom:5px}.section-heading .subtle{font-size:11px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{padding:11px 24px;color:#8d9fb5;font-size:9px;letter-spacing:1px;text-transform:uppercase;font-weight:500;background:#0b1625;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:12px 24px;border-bottom:1px solid #202e40;font-size:11px;color:#b5c4d7}tr:last-child td{border-bottom:0}td:first-child{color:var(--text);font-weight:600}td a{color:var(--green);text-decoration:none;font-size:10px}td a:hover{text-decoration:underline}.file-name{font-family:Consolas,monospace;font-size:10px}.recording-state{color:var(--green)}.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:28px 0}.stage{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:8px;padding:18px;color:var(--muted)}.stage>span{font-family:Consolas,monospace;font-size:20px;color:#5d748f}.stage strong{font-size:12px;color:#c2cfde;font-weight:500}.stage small{display:block;font-size:10px;margin-top:4px}.stage b{margin-left:auto;font-size:8px;letter-spacing:1px;font-weight:500}.stage.current{border-color:#2f594d;background:#102822}.stage.current>span,.stage.current b{color:var(--green)}footer{padding:20px 0 30px;display:flex;justify-content:space-between;color:#71849c;font-size:10px;border-top:1px solid var(--line)}.notice{border:1px solid #68552f;background:#30291f;color:#f0cd90;border-radius:7px;padding:12px 15px;font-size:12px;margin-bottom:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.login-page{min-height:100vh;display:grid;place-items:center;padding:30px}.login-card{max-width:440px;padding:40px;background:#101c2d;border:1px solid var(--line);border-radius:14px;box-shadow:0 25px 100px #0004}.login-card>.brand-mark{display:block;margin-bottom:25px}.login-card h1{font-size:33px;letter-spacing:-1px}.login-card .eyebrow{margin-bottom:12px}.login-card form{margin-top:28px}.login-card label{display:block;font-size:12px;margin-bottom:8px;color:#c2cfde}.login-card input{width:100%;padding:12px;border:1px solid #42516a;border-radius:6px;background:#081322;color:var(--text);font-size:16px}.login-card input:focus{outline:2px solid var(--green);outline-offset:2px}.login-card button{width:100%;padding:12px 16px;background:var(--green);border:0;border-radius:6px;color:#10251e;font-size:13px;font-weight:600;display:flex;justify-content:space-between;margin-top:15px;cursor:pointer}.login-card button:disabled{opacity:.5}.login-note{font-size:10px;color:var(--muted);margin:24px 0 0}#login-error{font-size:12px;color:var(--amber);margin:12px 0 0}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:4px}@media(max-width:1000px){.shell{padding:0 24px}.intro{display:block}.test-label{margin-top:22px}.summary>div{padding:16px}.camera-details{padding:16px}.stage{padding:14px;gap:9px}.stage b{display:none}.section-heading .subtle{max-width:160px;text-align:right}}@media(max-width:690px){.shell{padding:0 17px}header{height:82px}.local{display:none}.brand{font-size:11px;letter-spacing:1.5px}.brand small{font-size:7px}.brand-mark{font-size:32px}h1{font-size:34px}.intro{padding-top:30px}.summary{grid-template-columns:1fr 1fr}.summary>div:nth-child(2){border-right:0}.summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.summary strong{font-size:22px}.feeds{grid-template-columns:1fr;gap:20px}.roadmap{grid-template-columns:1fr}.stage b{display:block}.section-heading{padding:19px}.section-heading .subtle{display:none}th,td{padding:11px 18px}footer{display:block}footer span{display:block;margin-bottom:7px}.login-card{padding:28px}.login-card h1{font-size:30px}}
.analysis-section{border:1px solid var(--line);border-radius:11px;background:#0f1a2a;margin:0 0 28px;overflow:hidden}.analysis-note{color:var(--muted);font-size:11px;padding:0 24px;margin:0 0 21px;max-width:920px}.analysis-cameras{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 24px 24px}.analysis-cameras article{background:#101f30;border:1px solid var(--line);border-radius:8px;padding:18px}.analysis-cameras h3{margin:0 0 15px;font-size:14px;font-weight:600;display:flex;justify-content:space-between;gap:10px}.analysis-cameras h3 span{font-size:10px;font-weight:400;color:var(--green)}.baseline-track{height:4px;background:#25364b;border-radius:3px;overflow:hidden}.baseline-track i{height:100%;width:0;background:var(--green);display:block;transition:width 1s}.analysis-cameras p{font-size:10px;color:var(--muted);margin:9px 0 19px}.analysis-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.analysis-metrics span{display:block;color:var(--muted);font-size:9px}.analysis-metrics strong{display:block;font-size:13px;font-weight:500;margin-top:6px}.candidate-list{border-top:1px solid var(--line);padding:19px 24px}.candidate-list h3{font-size:12px;font-weight:500;margin:0 0 13px}.candidate-list h3 span{color:var(--green);margin-left:7px}.candidate-list .subtle{font-size:11px}.candidate{display:grid;gap:4px;border-top:1px solid var(--line);padding:13px 0}.candidate strong{font-size:11px;font-weight:500}.candidate>span{font-size:11px;color:#c0cede}.candidate small{font-size:9px;color:var(--amber)}@media(max-width:690px){.analysis-cameras{grid-template-columns:1fr;padding:0 18px 18px}.analysis-note{padding:0 19px}.analysis-metrics{grid-template-columns:repeat(2,1fr)}}
.recording-controls{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:20px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.recording-controls h2{font-size:18px;margin-bottom:5px}.control-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.control-actions label{font-size:12px;color:var(--muted)}.control-actions select{margin-left:7px;background:#0b1625;color:var(--text);border:1px solid #52657e;border-radius:6px;padding:10px;font:inherit}.control-actions button{padding:11px 16px;border-radius:6px;font:600 12px Segoe UI,Arial,sans-serif;cursor:pointer}.start-recording{background:var(--green);color:#10251e;border:1px solid var(--green)}.stop-recording{background:#34252a;color:#ffc2c2;border:1px solid #80555d}.control-actions button:disabled,.control-actions select:disabled{opacity:.45;cursor:default}#control-message{flex-basis:100%;font-size:12px;color:var(--green);margin:0}#control-message:empty{display:none}.control-actions select:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media(max-width:690px){.recording-controls{padding:18px}.control-actions{width:100%}.control-actions label{width:100%}.control-actions button{flex:1}}
