:root{color-scheme:dark;--bg:#07131f;--sidebar:#071d33;--panel:#0c2033;--border:#2c3e50;--text:#eef6fc;--muted:#91a4b6;--orange:#f7941d;--green:#45b987;--red:#e3666b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,select{cursor:pointer}button{border:1px solid var(--border);border-radius:9px;background:#102b3d;color:var(--text);padding:10px 15px;font-weight:600}button:hover{background:#203c50}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.primary{background:var(--orange);border-color:var(--orange);color:#fff}.primary:hover{background:#ec6c00}.danger{color:#ff9c9f;background:#35202d;border-color:#673640}input,select,textarea{background:#071722;border:1px solid var(--border);color:var(--text);padding:11px;border-radius:8px;max-width:100%}label{display:grid;gap:7px;font-weight:600}p,small{color:var(--muted)}h1{font-size:28px;letter-spacing:-.7px;margin:0 0 3px}h2{font-size:16px;margin:0}p{margin:3px 0 15px}strong{font-weight:750}.sidebar{position:fixed;inset:0 auto 0 0;width:228px;background:var(--sidebar);border-right:1px solid #152d40;display:flex;flex-direction:column;padding:22px 12px}.brand{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:white;padding:0 0 25px;border-bottom:1px solid var(--border);margin-bottom:15px}.brand strong{font-size:29px;font-style:italic;font-weight:850;letter-spacing:-1px}.brand strong span{color:var(--orange)}.brand small{font-size:10px;letter-spacing:3px;margin-top:5px}.brandmark{font-size:44px;color:var(--orange);font-style:italic;font-weight:950;height:52px;position:relative}.brandmark span{color:#fff;font-size:26px;margin-left:-15px}nav{display:grid;gap:6px}nav button{display:flex;align-items:center;gap:15px;background:none;border:0;text-align:left;color:#bac9d4;padding:13px 14px}nav button.active{background:#2a3b4e;color:white}nav b{margin-left:auto;background:#081520;border-radius:20px;padding:0 7px;font-size:11px}.sidebarBottom{margin-top:auto;border-top:1px solid var(--border);padding:20px 6px 0;display:flex;align-items:center;gap:10px}.sidebarBottom strong,.sidebarBottom small{display:block;font-size:12px}.avatar{border-radius:50%;background:var(--orange);color:#102338;width:34px;height:34px;display:grid;place-items:center;font-weight:800}.shell{margin-left:228px;min-height:100vh}header{background:#0a2030;border-bottom:1px solid var(--border);min-height:68px;padding:12px 30px;display:flex;align-items:center;justify-content:space-between;gap:12px}.crumb{color:var(--muted)}.crumb span{margin:0 10px;color:#547082}.crumb b{color:var(--text)}.headerTools{display:flex;gap:10px;align-items:center}.headerTools select{font-size:12px;max-width:235px}.badge{color:#86ddb7;white-space:nowrap;font-size:12px}main{max-width:1500px;margin:auto;padding:34px 40px 50px}.pagehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px}.pagehead p{margin:0}.hero{background:linear-gradient(110deg,#fa9616,#f36c00);border:1px solid #ff9234;border-radius:15px;padding:23px;display:flex;align-items:center;gap:17px;box-shadow:0 6px 24px #e56c0018;margin-bottom:20px}.hero strong{font-size:21px}.hero p{margin:3px 0 0;color:#fff1db}.heroIcon{background:#fff3e5;border-radius:10px;color:#bf5900;width:49px;height:49px;display:grid;place-items:center;font-size:26px}.heroTag{margin-left:auto;background:#fff2df;color:#aa4b00;padding:7px 12px;border-radius:8px;font-size:12px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:28px}.stat{background:var(--panel);border:1px solid var(--border);border-top:3px solid;padding:18px 20px;border-radius:14px;box-shadow:0 8px 20px #0002}.stat span,.stat small{display:block;color:var(--muted);font-size:12px}.stat strong{font-size:30px;display:block;margin:3px 0 8px;line-height:1.3}.stat strong small{font-size:16px;display:inline;color:var(--muted)}.blue{border-top-color:#42a2ca}.green{border-top-color:var(--green)}.orange{border-top-color:var(--orange)}.red{border-top-color:var(--red)}.sectionhead,.panelhead{display:flex;align-items:center;justify-content:space-between;gap:15px}.sectionhead{margin:20px 0 14px}.sectionhead p,.panelhead p{font-size:12px;margin:2px 0 0}.sectionhead button,.panelhead button{font-size:12px;background:transparent}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 8px 22px #0002}.panelhead{padding:18px 20px;border-bottom:1px solid var(--border)}.cameraGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:25px}.cameraCard{text-align:left;padding:0;background:var(--panel);border-radius:13px;overflow:hidden;border:1px solid var(--border)}.cameraCard img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#030c13;display:block}.cameraCard .info{padding:13px 16px;display:flex;align-items:center;justify-content:space-between}.cameraCard small{display:block;margin-top:3px;font-weight:400}.pill{font-size:11px;border-radius:20px;background:#182f42;padding:4px 9px;color:#b2c4d3;white-space:nowrap}.pill.online,.pill.correct{color:#84dfb5;background:#163c35}.pill.offline,.pill.error,.pill.incorrect{color:#ff9c9f;background:#492b35}.pill.demo,.pill.unreviewed{color:#ffc48d;background:#493325}.empty{padding:45px 24px;text-align:center;color:var(--muted);font-weight:400}.cameraGrid>.empty{grid-column:1/-1;background:var(--panel);border:1px dashed var(--border);border-radius:12px}.eventRow{display:grid;grid-template-columns:80px 1fr auto auto;align-items:center;gap:16px;padding:15px 20px;border-bottom:1px solid var(--border)}.eventRow:last-child{border-bottom:0}.eventRow img{width:80px;height:50px;object-fit:cover;border-radius:6px}.eventRow small{display:block;font-size:12px}.eventRow button{font-size:12px}.workspace{display:grid;grid-template-columns:250px 1fr;gap:18px}.cameraList button{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}.cameraList button.active{background:#203c50;border-left:3px solid var(--orange)}.cameraList small{display:block;font-weight:400}.viewer{position:relative;background:#030c13;min-height:240px}.viewer img{width:100%;display:block;min-height:200px}.viewer canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.viewer.drawing canvas{pointer-events:auto;cursor:crosshair;touch-action:none}.zoneEditor{padding:0 20px 20px}.zoneEditor p{font-size:12px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:16px}.zoneRow{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.zoneRow small{display:block}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.notice{background:#413122;border:1px solid #805229;color:#ffcf99;border-radius:10px;padding:12px 16px;margin-bottom:18px}.notice.subtle{background:#0c2c40;border-color:#285372;color:#b6daef}.settings{padding:24px;max-width:850px}.settings h2{margin:0 0 15px}.settings p{line-height:1.8}dl{display:grid;grid-template-columns:160px 1fr;gap:15px;margin-bottom:35px}dt{color:var(--muted)}dd{margin:0}.customerRow{display:flex;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}footer{padding:18px 40px;border-top:1px solid #1a2c3b;color:var(--muted);font-size:11px;display:flex;justify-content:space-between}dialog{background:var(--panel);color:var(--text);border:1px solid #405970;border-radius:16px;width:560px;max-width:94vw;padding:24px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#010910bd;backdrop-filter:blur(4px)}dialog label{margin:16px 0}dialog p{font-size:12px}.dialoghead{display:flex;align-items:center;justify-content:space-between}.dialoghead button{padding:3px 10px;font-size:24px;background:none;border:0}#eventDialog{width:780px}#eventSnapshot{width:100%;border-radius:9px;margin:15px 0}#toast{position:fixed;right:24px;bottom:24px;background:#234257;padding:15px 22px;border:1px solid #58788e;border-radius:10px;z-index:20;max-width:500px}body.client .adminOnly{display:none!important}[hidden]{display:none!important}@media(max-width:1100px){.cameraGrid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}main{padding:25px}.headerTools{flex-wrap:wrap;justify-content:flex-end}.workspace{grid-template-columns:190px 1fr}.sidebar{width:200px}.shell{margin-left:200px}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:10px 14px}.brand{flex-direction:row;gap:10px;padding:0;margin:0;border:0}.brandmark{font-size:28px;height:38px}.brandmark span{font-size:18px}.brand strong{font-size:22px}.brand small{margin-left:auto}nav{display:flex;overflow-x:auto;margin-top:10px;gap:3px}nav button{padding:10px 12px;white-space:nowrap;gap:7px}nav b,.sidebarBottom{display:none}.shell{margin:0}header{padding:12px 16px;flex-wrap:wrap}.crumb{font-size:12px}.headerTools{width:100%;justify-content:flex-start}.headerTools select{max-width:45%;flex:1}.pagehead{align-items:flex-start}.pagehead button{font-size:12px}main{padding:22px 16px}.hero{padding:17px}.hero strong{font-size:18px}.heroTag{display:none}.stats{gap:10px}.stat{padding:14px}.cameraGrid{grid-template-columns:1fr}.workspace{grid-template-columns:1fr}.cameraList{max-height:200px;overflow:auto}.eventRow{grid-template-columns:60px 1fr auto;gap:10px;padding:12px}.eventRow img{width:60px;height:42px}.eventRow>.pill{display:none}.eventRow button{padding:7px;font-size:11px}.formrow{grid-template-columns:1fr}dl{grid-template-columns:1fr;gap:7px}dd{margin-bottom:10px}footer{padding:16px}.panelhead{padding:15px}.panelhead select{max-width:45%}}

.brand img{display:block;width:132px;height:98px;object-fit:contain}.brand{padding-bottom:14px}.primary{color:#071d33}.hero{background:linear-gradient(110deg,#f7941d,#f36c00)}@media(max-width:700px){.brand img{width:94px;height:48px}}

#eventVideo{width:100%;border-radius:9px;background:#030c13}#clipDetails{margin:9px 0 15px;color:#b9ccdd}

.checklabel{display:flex;align-items:center;gap:9px;margin:14px 0;font-weight:500}.checklabel input{width:18px;height:18px;accent-color:var(--orange)}
.authShell{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 20% 10%,#124269 0,#071d33 38%,#040d16 100%)}.authCard{width:min(440px,100%);padding:35px;background:var(--panel);border:1px solid var(--border);border-radius:22px;box-shadow:0 12px 34px #0004}.authCard h1{font-size:25px}.loginLogo{display:block;width:150px;height:105px;object-fit:contain;margin:0 auto 14px}.eyebrow{display:block;text-align:center;color:#f7941d;letter-spacing:3px;font-size:10px;margin-bottom:24px}.authCard label{margin:15px 0}.wide{width:100%}a{color:#f7941d;text-decoration:none}.error{color:#ffabab;background:#462c35;border-radius:8px;padding:10px 14px}.error:empty{display:none}.authCard>a{display:block;font-size:12px;text-align:center;margin-top:20px}#app>aside{position:fixed;inset:0 auto 0 0;width:228px;background:#071d33;padding:20px 12px;display:flex;flex-direction:column;border-right:1px solid #223747}.identity{margin-top:auto;display:flex;gap:9px;align-items:center;border-top:1px solid var(--border);padding-top:18px}.identity strong,.identity small{display:block;font-size:12px}.identity button{margin-left:auto;padding:5px 8px}.headerRight{display:flex;align-items:center;gap:15px}.online{color:#8edbb7;font-size:12px}.pagehead p{margin:0}.info{padding:24px;margin-bottom:18px;max-width:960px}.info h2{margin:18px 0 8px}.info h2:first-child{margin-top:0}.panel{margin-bottom:22px}.stats{grid-template-columns:repeat(3,1fr)}.hero>span{margin-left:auto;letter-spacing:3px;font-weight:700;font-size:11px}.dataRow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;border-bottom:1px solid var(--border)}.dataRow small{display:block}.dataRow button{font-size:12px}.dataRow .buttons{display:flex;align-items:center;gap:8px}.dataRow select{max-width:260px;font-size:12px}video{width:100%;background:#030c13;border-radius:10px;margin:15px 0}#eventImage{width:100%;margin-top:15px;border-radius:10px}#eventDialog,#liveDialog,#zoneDialog{width:880px}#nodeConfig{width:100%;font:12px/1.6 monospace}.cameraCard .preview{position:relative}.cameraCard img{width:100%;aspect-ratio:16/9;object-fit:contain}.cameraCard .playTag{position:absolute;left:14px;bottom:12px;border-radius:6px;padding:4px 9px;background:#06141fde;color:white;font-size:11px}.zoneViewer{position:relative;margin:15px 0}.zoneViewer img{width:100%;display:block}.zoneViewer canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.checklabel{display:flex;align-items:center;gap:9px;margin:14px 0;font-weight:500}.checklabel input{width:18px;height:18px;accent-color:var(--orange)}body.client .adminOnly{display:none!important}dialog{max-height:94vh;overflow:auto}@media(max-width:700px){#app>aside{position:static;width:100%;padding:10px 14px}.identity{display:none}.stats{grid-template-columns:repeat(3,1fr)}.stat{padding:12px 9px}.stat small{font-size:10px}.stat strong{font-size:25px}.hero>span{display:none}.dataRow{flex-wrap:wrap}.dataRow .buttons{flex-wrap:wrap}.headerRight{width:100%}.headerRight select{max-width:70%}}
#eventImage{max-height:18vh;object-fit:contain;background:#030c13}#eventVideo{max-height:44vh;object-fit:contain}#eventDialog .dialoghead{position:sticky;top:-26px;background:var(--panel);padding:12px 0;z-index:2}
