:root{color:#203148;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7fa;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}.shell{min-height:100vh}.top{color:#fff;background:#102840;justify-content:space-between;align-items:center;height:90px;padding:0 36px;display:flex}.brand{color:#fff;align-items:center;gap:12px;text-decoration:none;display:flex}.mark{color:#172f49;background:#7ea7ff;border-radius:13px;place-items:center;width:48px;height:48px;font:700 30px Georgia;display:grid}.brand b{font:700 26px Georgia;display:block}.brand small{letter-spacing:3px;color:#b2c2d6;margin-top:5px;font-size:9px;display:block}.top-right{letter-spacing:1px;color:#b9c7d8;align-items:center;gap:32px;font-size:11px;display:flex}.top-right b{color:#83aaff;margin-left:8px}.top-right label{align-items:center;gap:10px;display:flex}.top select,.filters select{color:#34465d;letter-spacing:0;background:#fff;border:1px solid #d5deea;border-radius:7px;padding:10px 12px;font-size:13px}.nav{background:#fff;border-bottom:1px solid #e3e8ef;gap:8px;padding:0 34px;display:flex}.nav button{color:#586a7f;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:16px 14px;font:600 14px inherit}.nav button.active{color:#244b90;border-color:#5279d5}.page{max-width:1600px;margin:auto;padding:28px 34px}.hero{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.hero small{letter-spacing:2px;color:#8190a4;font-size:10px;font-weight:700}.hero h1{color:#152941;margin:8px 0;font:700 34px Georgia}.hero p,.panelhead p{color:#7e8b9c;margin:0;font-size:14px}.pill,.label{color:#9a682b;letter-spacing:1px;background:#fff2dc;border-radius:16px;padding:8px 13px;font-size:10px;font-weight:700}.samplebar{color:#7f622b;background:#fff9ec;border:1px solid #f1dba9;border-radius:10px;margin-bottom:20px;padding:14px 18px;font-size:13px}.samplebar b{letter-spacing:1px;margin-right:8px}.cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.kpi,.panel{background:#fff;border:1px solid #e3e8ef;border-radius:12px;box-shadow:0 5px 18px #132e4708}.kpi{padding:18px}.kpi small{letter-spacing:1px;color:#78889d;font-size:10px;font-weight:700;display:block}.kpi b{color:#1f3550;margin:12px 0 5px;font:700 24px Georgia;display:block}.kpi span{color:#8290a1;font-size:11px;line-height:1.5}.notice{color:#725a32;background:#fdf6e9;border:1px solid #f1e2c4;border-radius:9px;margin:14px 0 20px;padding:13px 16px;font-size:12px;line-height:1.65}.notice.small{font-size:11px}.panel{margin:18px 0;padding:20px 22px}.panelhead{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.panelhead h2{color:#1d3149;margin:0 0 7px;font:700 21px Georgia}.filters{flex-wrap:wrap;gap:10px;display:flex}.filters label,.panelhead label{letter-spacing:1px;color:#8090a3;flex-direction:column;gap:6px;font-size:9px;font-weight:700;display:flex}.filters select{min-width:150px}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{color:#75849a;letter-spacing:.8px;white-space:nowrap;background:#f6f8fb;padding:12px 13px;font-size:9px}td{vertical-align:top;color:#344760;border-bottom:1px solid #edf0f4;padding:13px}td b{color:#20344d}td small{color:#8794a5;margin-top:5px;font-size:10px;line-height:1.45;display:block}.current-table{min-width:1250px}.state{text-transform:capitalize;color:#3c7b56;white-space:nowrap;background:#e9f4ed;border-radius:15px;padding:5px 9px;font-size:10px;font-weight:700;display:inline-block}.state.alert{color:#ac514c;background:#fdeceb}.state.stale,.state.unknown{color:#9d6e30;background:#fff3df}.footnote,footer{color:#8390a1;margin:14px 0;font-size:11px;line-height:1.6}.linkbtn{color:#31549c;cursor:pointer;white-space:nowrap;background:#f1f5ff;border:1px solid #dce5fa;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:600}.receipt{color:#80602b;max-width:210px;font-size:11px;display:block}.empty{text-align:center;color:#8190a1;padding:28px}.iframe-wrap{flex-direction:column;height:calc(100vh - 150px);display:flex}.iframe-wrap .samplebar{margin:8px 16px}.iframe-wrap iframe{background:#f5f7fa;border:0;flex:1;width:100%}.scrim{z-index:10;background:#102840b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(1250px,98vw);max-height:94vh;padding:22px 28px;overflow:auto;box-shadow:0 25px 80px #08172a55}.modal>header{border-bottom:1px solid #e8edf2;justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.modal h2{margin:8px 0 0;font:700 26px Georgia}.modal>header button{color:#465872;cursor:pointer;background:#f1f4f8;border:0;border-radius:50%;width:42px;height:42px;font-size:25px}.viewer-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:22px;padding:20px 0;display:grid}.imagebox{background:#edf1f6;border-radius:11px;place-items:center;min-height:360px;display:grid;overflow:auto}.imagebox img{object-fit:contain;width:100%;max-height:68vh;transition:transform .15s}.meta{border-bottom:1px solid #e7ebf0;padding:9px 0}.meta small{color:#8a96a5;letter-spacing:1px;margin-bottom:5px;font-size:9px;display:block}.meta b{color:#34465d;font-size:12px}.controls{border-top:1px solid #edf0f4;justify-content:center;align-items:center;gap:10px;padding-top:16px;display:flex}.controls button{color:#485b72;cursor:pointer;background:#fff;border:1px solid #dce3eb;border-radius:7px;padding:9px 12px}.controls button:disabled{opacity:.45;cursor:default}.counter{text-align:center;color:#8a95a4;font-size:11px}.modal button:focus-visible,.nav button:focus-visible,select:focus-visible,input:focus-visible,.linkbtn:focus-visible{outline-offset:2px;outline:3px solid #6d91ed}@media (width<=1100px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.page{padding:24px}}@media (width<=800px){.top{flex-wrap:wrap;gap:12px;height:auto;min-height:78px;padding:12px 18px}.top-right{flex-wrap:wrap;gap:14px}.nav{padding:0 12px;overflow-x:auto}.page{padding:20px 14px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:16px 12px}.panelhead{flex-direction:column}.filters{width:100%}.filters label{flex:1}.filters select{width:100%;min-width:0}.viewer-grid{grid-template-columns:1fr}.imagebox{min-height:240px}.modal{padding:18px}.controls{flex-wrap:wrap}}@media (width<=500px){.cards{grid-template-columns:1fr 1fr;gap:8px}.kpi{padding:12px}.kpi b{font-size:20px}.top-right{font-size:9px}.workspace{display:none}.hero h1{font-size:28px}.modal{padding:14px}.imagebox{min-height:190px}}.cctv-cards{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=800px){.cctv-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.cctv-cards{grid-template-columns:1fr}}[hidden]{display:none!important}.monitoring-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.source-pill{color:#386c58;white-space:nowrap;background:#edf6f0;border:1px solid #d6e9dd;border-radius:20px;padding:9px 13px;font-size:11px}.source-pill.sample{color:#856230;background:#fff6e6;border-color:#f0dfbe}.outlet-table{min-width:1040px}.outlet-toggle{text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.outlet-toggle>span:first-child{color:#55769f;font-size:18px}.outlet-toggle:focus-visible{outline-offset:5px;border-radius:3px;outline:3px solid #6d91ed}.outlet-detail>td{background:#f8fafd;padding:16px 22px}.outlet-detail h3{margin:0 0 14px;font-size:13px}.agent-table{background:#fff;border:1px solid #e5ebf3;min-width:800px}.loading-line{color:#526880;padding:12px 24px;font-size:12px}.source-error{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero{gap:15px}.filters input,.panelhead input{color:#34465d;border:1px solid #d5deea;border-radius:7px;padding:10px 12px}.nav button{white-space:nowrap}.iframe-wrap{height:calc(100vh - 145px)}@media (width<=800px){.monitoring-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{flex-direction:column;align-items:flex-start}.source-pill{white-space:normal}.top-right label{font-size:9px}.top-right select{max-width:180px}.iframe-wrap{height:calc(100vh - 175px)}}
