@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Share+Tech+Mono&display=swap";:root{--bg-base:#080c16;--bg-surface:#0f172a73;--bg-card:#1e293b59;--bg-popover:#030711;--primary:#3c83f6;--primary-hover:#639cf8;--success:#22c35d;--warning:#f59f0a;--danger:#f43e5c;--text-main:#f8fafc;--text-muted:#94a3b8;--border:#ffffff14;--glass-blur:blur(16px);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-lg:0 10px 30px -10px #00000080;--transition:all .25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;font-weight:600;line-height:1.25}.app-container{min-height:100vh;display:flex}.sidebar{width:260px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-right:1px solid var(--border);background-color:#0f172ad9;flex-direction:column;flex-shrink:0;justify-content:space-between;padding:24px 16px;display:flex}.main-content{flex-grow:1;width:100%;max-width:1400px;margin:0 auto;padding:32px;overflow-y:auto}.glass-card{background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:var(--transition);padding:24px}.glass-card:hover{border-color:#ffffff1f}.flex-row-center{justify-content:space-between;align-items:center;display:flex}.flex-center{align-items:center;gap:12px;display:flex}.grid-cols-2{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.grid-cols-3{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.grid-cols-4{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}@media (width<=1024px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.logo{color:var(--primary);align-items:center;gap:12px;margin-bottom:40px;font-size:20px;font-weight:700;display:flex}.menu-list{flex-direction:column;gap:8px;list-style:none;display:flex}.menu-item{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:var(--transition);align-items:center;gap:12px;padding:12px 16px;font-weight:500;text-decoration:none;display:flex}.menu-item:hover,.menu-item.active{color:var(--text-main);background-color:#ffffff0d}.menu-item.active{background-color:var(--primary);color:#fff}.user-badge{border-radius:var(--radius-md);border:1px solid var(--border);background-color:#ffffff08;align-items:center;gap:12px;margin-top:auto;padding:16px;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover{background-color:#33db71}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:#f6657d}.btn-secondary{color:var(--text-main);border-color:var(--border);background-color:#ffffff0d}.btn-secondary:hover{background-color:#ffffff1a}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-label{color:var(--text-muted);font-size:13px;font-weight:600}.form-input{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);width:100%;transition:var(--transition);background-color:#0003;padding:12px 16px;font-size:14px}.form-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #3b82f633}.scale-neon-display{border-radius:var(--radius-md);text-align:center;background-color:#050b14;border:2px solid #0f1c30;padding:20px;position:relative;overflow:hidden;box-shadow:inset 0 0 20px #000c}.scale-neon-text{color:#0f6;text-shadow:0 0 10px #00ff6680,0 0 20px #0f63;font-family:Share Tech Mono,monospace;font-size:48px}.scale-neon-text.unstable{color:#f90;text-shadow:0 0 10px #ff990080;animation:1s infinite alternate scale-blink}@keyframes scale-blink{0%{opacity:.6}to{opacity:1}}.scale-stability-badge{text-transform:uppercase;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;top:10px;right:15px}.stability-stable{color:#0f6;background-color:#00ff6626;border:1px solid #00ff664d}.stability-unstable{color:#f90;background-color:#ff990026;border:1px solid #ff99004d}.traffic-light-container{background-color:#111;border:2px solid #222;border-radius:12px;flex-direction:column;align-items:center;gap:8px;width:44px;padding:10px;display:flex;box-shadow:0 4px 10px #00000080}.light{background-color:#222;border-radius:50%;width:24px;height:24px;transition:all .3s}.light.red.active{background-color:#f05;box-shadow:0 0 12px #f05,0 0 24px #f056}.light.green.active{background-color:#0f6;box-shadow:0 0 12px #0f6,0 0 24px #0f66}.camera-feed{border-radius:var(--radius-md);aspect-ratio:16/9;border:1px solid var(--border);background-color:#000;position:relative;overflow:hidden}.camera-feed img{object-fit:cover;opacity:.85;width:100%;height:100%}.camera-overlay{pointer-events:none;color:#fff;text-shadow:1px 1px 2px #000c;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:12px;font-family:Share Tech Mono,monospace;font-size:12px;display:flex;position:absolute;top:0;left:0}.live-indicator{background-color:#0009;border-radius:4px;align-self:flex-start;align-items:center;gap:6px;padding:2px 8px;display:flex}.live-dot{background-color:var(--danger);border-radius:50%;width:8px;height:8px;animation:1s infinite live-pulse}@keyframes live-pulse{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}.camera-footer{background-color:#0009;border-radius:4px;justify-content:space-between;padding:4px 8px;display:flex}.table-wrapper{margin-top:16px;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{border-bottom:2px solid var(--border);color:var(--text-muted);text-transform:uppercase;padding:16px;font-size:13px;font-weight:600}.custom-table td{border-bottom:1px solid var(--border);color:var(--text-main);transition:var(--transition);padding:16px;font-size:14px}.custom-table tr:hover td{background-color:#ffffff05}.badge{text-transform:uppercase;border-radius:4px;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge-pending{color:#f90;background-color:#ff990026;border:1px solid #ff99004d}.badge-completed{color:#0f6;background-color:#00ff6626;border:1px solid #00ff664d}.badge-flagged{color:#f05;background-color:#ff005526;border:1px solid #ff00554d}.badge-overridden{color:#3b82f6;background-color:#3b82f626;border:1px solid #3b82f64d}.login-container{background-color:var(--bg-base);justify-content:center;align-items:center;width:100vw;min-height:100vh;display:flex}.login-card{background:var(--bg-surface);width:420px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px}.login-header{text-align:center;margin-bottom:32px}.login-logo{color:var(--primary);align-items:center;gap:12px;margin-bottom:12px;font-size:24px;font-weight:700;display:inline-flex}.login-sub{color:var(--text-muted);font-size:14px}.rbac-helper{border-top:1px dashed var(--border);margin-top:24px;padding-top:16px}.rbac-helper-title{text-transform:uppercase;color:var(--text-muted);text-align:center;margin-bottom:10px;font-size:11px;font-weight:700}.rbac-buttons{gap:8px;display:flex}.rbac-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition);background-color:#ffffff08;border-radius:4px;flex-grow:1;padding:6px;font-size:11px;font-weight:600}.rbac-btn:hover{color:var(--text-main);background-color:#ffffff14}
