:root{font-family:Arial,sans-serif;color:#111;background:#f5f5f5}*{box-sizing:border-box}body{margin:0}.login{max-width:420px;margin:12vh auto;background:#fff;padding:36px;border:1px solid #ddd}.login h1{margin-top:0}.login form{display:grid;gap:12px}.login input,.login button,.tabs button,.back,.inline-form input,.inline-form select,.row button{padding:12px;border:1px solid #bbb;background:#fff;font:inherit}.login button,.shell header button{background:#111;color:#fff;cursor:pointer}.error{color:#b00020}.shell header{height:64px;background:#111;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 28px}.shell header button{margin-left:12px;padding:7px 10px;border-color:#777}.shell main{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 64px)}nav{background:#fff;border-right:1px solid #ddd;padding:24px}nav button{display:block;width:100%;text-align:left;border:0;background:none;padding:12px 8px;cursor:pointer}nav button.selected{background:#eee;font-weight:700}section{padding:32px}.empty{margin-top:15vh}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.card{display:grid;gap:8px;text-align:left;padding:22px;background:#fff;border:1px solid #ccc;cursor:pointer}.card span,.row span{color:#666}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:24px 0}.tabs button.active{background:#111;color:#fff}article{background:#fff;border:1px solid #ddd;padding:24px}.row{display:flex;gap:20px;align-items:center;border-bottom:1px solid #eee;padding:14px 0}.row span{flex:1}.row a{color:#0645ad}.evidence-row video{max-width:240px;max-height:140px}.back{cursor:pointer;margin-bottom:16px}.summary{display:flex;gap:28px;flex-wrap:wrap}.inline-form{display:flex;gap:8px;flex-wrap:wrap;padding-top:18px}.modal{position:fixed;inset:0;background:#000a;display:grid;place-items:center;padding:24px;z-index:10}.modal-card{background:#fff;width:min(900px,100%);padding:24px}.close{float:right;padding:8px 12px}.live-video{width:100%;background:#000;min-height:280px}.modal small{color:#555}@media(max-width:700px){.shell main{grid-template-columns:1fr}nav{border-right:0;border-bottom:1px solid #ddd}.shell header{padding:0 16px}.row{align-items:flex-start;flex-wrap:wrap}.evidence-row video{width:100%;max-width:100%}}.camera-viewer{height:100dvh;display:flex;flex-direction:column;background:#0b111b;color:#f1f5f9;overflow:hidden}.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid #334155}.viewer-header h1{margin:0;font-size:21px}.viewer-header p{margin:6px 0 0;font-size:13px;color:#b8c5d6}.viewer-controls,.camera-actions{display:flex;gap:8px;flex-wrap:wrap}.viewer-controls button,.viewer-controls a,.camera-actions button{background:#1e293b;border:1px solid #64748b;color:#fff;border-radius:4px;padding:8px 12px;text-decoration:none;cursor:pointer;font:inherit}.camera-actions button{font-size:12px;padding:5px 8px}.camera-actions button:disabled{opacity:.5;cursor:default}.viewer-grid{display:grid;gap:8px;padding:12px;flex:1;min-height:0;overflow:auto}.viewer-grid>div{min-width:0;min-height:0}.camera-tile{position:relative;display:flex;flex-direction:column;padding:0;border:1px solid #334155;background:#111c2b;height:100%;min-height:0;overflow:hidden}.camera-surface{flex:1;min-height:0;background:#000;overflow:hidden}.camera-surface[role=button]{cursor:zoom-in}.camera-surface:focus-visible{outline:3px solid #60a5fa;outline-offset:-3px}.viewer-video{width:100%;height:100%;object-fit:contain;display:block}.camera-caption{display:flex;justify-content:space-between;gap:8px;padding:6px 8px 2px;font-size:13px}.camera-caption strong,.camera-caption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-caption span{color:#b8c5d6;font-size:11px}.camera-status{color:#b8c5d6;font-size:11px;padding:2px 8px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.camera-actions{padding:4px 8px 8px}.viewer-grid:not(.expanded) .camera-actions{position:absolute;top:4px;right:0;opacity:0;background:#0b111be6}.viewer-grid:not(.expanded) .camera-tile:hover .camera-actions,.viewer-grid:not(.expanded) .camera-tile:focus-within .camera-actions{opacity:1}.viewer-grid.expanded .camera-status{white-space:normal}.tile-hidden{display:none}.viewer-footer{color:#b8c5d6;font-size:12px;padding:8px 20px}.viewer-message{padding:24px;color:#fff}.viewer-message a{color:#93c5fd}@media(max-width:700px){.viewer-header{align-items:flex-start;flex-direction:column}.viewer-grid:not(.expanded){grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:190px}.viewer-grid:not(.expanded) .camera-actions{opacity:1}}
