:root,.dark{--background:#f3f6fc;--foreground:#142039;--card:#fff;--card-foreground:#142039;--popover:#fff;--popover-foreground:#142039;--primary:#245de8;--primary-foreground:#fff;--secondary:#e8eefb;--secondary-foreground:#243d69;--muted:#eef2f8;--muted-foreground:#5d6b80;--accent:#e4ecff;--accent-foreground:#1743ae;--border:#dce3ef;--input:#cdd7e8;--ring:#245de8;--radius:.75rem;--destructive:#bd2942}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font:16px/1.5 Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible{outline:3px solid #99b6ff;outline-offset:2px}.shell{max-width:1440px;margin:auto;padding:0 40px 40px}.top{min-height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce3ef}.brand{font-size:28px;font-weight:800;letter-spacing:-1px;display:flex;gap:10px;align-items:center}.brand>span{background:#245de8;color:white;border-radius:11px;width:38px;height:38px;text-align:center;font-size:26px}.brand small{font-size:12px;letter-spacing:2px;color:#62738f;margin-left:20px;border-left:1px solid #ccd6e8;padding-left:24px}.private{display:flex;align-items:center;gap:8px;color:#56657e;font-size:14px}.heading{display:flex;justify-content:space-between;align-items:center;margin:36px 0 28px;gap:16px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:#245de8;margin:0 0 10px}h1{font-size:36px;letter-spacing:-1px;line-height:1.2;margin:0 0 8px}p{color:#61718b;margin:0}h2{font-size:21px;font-weight:700;margin:0}h3{font-size:18px;font-weight:700}.pill{border:1px solid #cdd9ee;padding:8px 14px;border-radius:30px;white-space:nowrap;font-size:14px;color:#38527c}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.metrics article{background:white;border:1px solid #dce3ef;border-radius:14px;padding:22px}.metrics article:first-child{background:#153369;color:white;border-color:#153369}.metrics span{font-size:14px;display:block;opacity:.8}.metrics strong{display:block;margin-top:10px;font-size:30px;letter-spacing:-.5px}.navigation{width:100%!important;height:auto!important;justify-content:flex-start!important;gap:8px!important;padding:0 0 20px!important;background:transparent!important;overflow-x:auto}.navigation button{flex:none!important;padding:10px 18px!important;font-size:15px!important;min-height:44px!important}.navigation button[data-state=active]{background:#245de8!important;color:#fff!important;box-shadow:0 4px 12px #245de825}.panel{background:white;border:1px solid #dce3ef;border-radius:16px;overflow:hidden;margin-bottom:20px}.panel-title{padding:23px 25px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e6ebf4}.panel-title>span{color:#607089;font-size:14px}.empty{padding:64px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.empty svg{color:#245de8}.foot{font-size:14px;margin-top:20px}.form{padding:24px;display:grid;gap:18px}.form label{display:grid;gap:6px;font-size:14px;color:#42536e}.form input{width:100%;border:1px solid #ccd7e8;border-radius:8px;padding:10px 12px;color:#142039;background:white;min-height:44px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.btn{background:#245de8;color:#fff;border:0;border-radius:8px;padding:10px 16px;min-height:44px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px}.btn.secondary{color:#274a85;background:#eaf0fd}.btn.danger{color:#ab2945;background:#fff0f2}.badge{display:inline-flex;border-radius:30px;padding:4px 10px;font-size:13px;background:#edf2fa;color:#55677f}.badge.good{background:#e6f5ed;color:#216848}.badge.warn{background:#fff3db;color:#815713}.badge.blue{background:#e7efff;color:#2453b7}.notice{border-left:3px solid #e0a129;background:#fff7e5;padding:15px 18px;color:#795b27;font-size:14px;border-radius:6px;margin-bottom:22px}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.data-table th{font-size:13px;color:#65728a;font-weight:500;text-align:left;padding:14px 20px}.data-table td{padding:16px 20px;border-top:1px solid #edf1f7;font-size:14px;vertical-align:middle}.data-table{width:100%;border-collapse:collapse}.name{font-weight:700;color:#183459}.sub{display:block;font-size:13px;color:#67768d;margin-top:3px}.cam-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.camera{background:white;border:1px solid #dce3ef;border-radius:12px;overflow:hidden}.cam-screen{aspect-ratio:16/9;background:#142238;color:#95a6c0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:14px}.cam-body{padding:15px}.cam-body .btn{margin-top:14px;width:100%;justify-content:center}.help{font-size:14px;color:#61718b}.error{background:#fff0f2;color:#9a2441;border-radius:8px;padding:14px;margin:15px 0}.date{background:white;border:1px solid #ccd7e8;padding:9px 12px;border-radius:8px;font:inherit;max-width:100%}.avatar{background:#e7efff;color:#255ce0;border-radius:10px;width:36px;height:36px;display:inline-grid;place-items:center;font-weight:bold;margin-right:10px}.report-note{padding:18px 25px;font-size:14px;color:#61718b}@media(max-width:1000px){.cam-grid{grid-template-columns:repeat(3,1fr)}.shell{padding:0 24px 30px}}@media(max-width:700px){.shell{padding:0 16px 24px}.top{min-height:76px}.brand small{display:none}.private{font-size:12px}.heading{margin:26px 0;align-items:flex-start;flex-direction:column}h1{font-size:29px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metrics article{padding:16px}.metrics strong{font-size:24px}.metrics span{font-size:13px}.split{grid-template-columns:1fr}.cam-grid{grid-template-columns:1fr 1fr}.panel-title{padding:18px;flex-wrap:wrap}.form{padding:18px}.navigation button{padding:10px 12px!important}.cam-screen{font-size:12px}.cam-body{padding:10px}.data-table td,.data-table th{padding:12px}.row{gap:8px}}@media(max-width:380px){.cam-grid{grid-template-columns:1fr}}@media print{.top,.navigation,.btn,.foot,.notice{display:none!important}.shell{padding:0}.metrics{break-inside:avoid}.panel{border:0}body{background:white}.data-table td,.data-table th{padding:8px;font-size:11px}.panel{overflow:visible}}

