:root{--bg-dark: #0a0c0e;--panel-bg: #14181d;--panel-border: #2c3540;--panel-border-light: #414e5e;--accent-amber: #f59e0b;--accent-amber-glow: rgba(245, 158, 11, .4);--accent-green: #10b981;--accent-green-glow: rgba(16, 185, 129, .4);--accent-red: #ef4444;--accent-red-glow: rgba(239, 68, 68, .5);--accent-cyan: #06b6d4;--accent-blue: #3b82f6;--text-main: #e2e8f0;--text-muted: #94a3b8;--text-dark: #0f172a;--stamp-green: #059669;--stamp-red: #dc2626;--crt-scanline: rgba(0, 0, 0, .25);--font-mono: "Courier New", Courier, "Lucida Console", Monaco, monospace}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}html,body{width:100%;height:100%;overflow:hidden;background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-mono);font-size:14px}#app{position:relative;width:100vw;height:100vh;overflow:hidden;background:#050608}#canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}#canvas-container canvas{display:block;width:100%;height:100%}#crt-scanlines{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none;background:linear-gradient(#12101000 50%,#00000038 50%),linear-gradient(90deg,#ff000008,#00ff0003,#0000ff08);background-size:100% 3px,6px 100%;box-shadow:inset 0 0 100px #000000d9}#ui-layer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none}#ui-layer>*{pointer-events:auto}button{font-family:var(--font-mono);cursor:pointer;border:none;outline:none;transition:all .15s ease}button:active{transform:translateY(2px)}.btn-primary{background:#1e293b;color:var(--accent-amber);border:2px solid var(--accent-amber);padding:10px 20px;font-size:15px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;box-shadow:0 0 12px var(--accent-amber-glow)}.btn-primary:hover{background:var(--accent-amber);color:var(--text-dark);box-shadow:0 0 20px #f59e0bb3}.btn-secondary{background:#1e293b;color:var(--text-main);border:1px solid var(--panel-border-light);padding:8px 16px;font-size:13px;font-weight:700;letter-spacing:1px}.btn-secondary:hover{background:#334155;border-color:var(--text-muted)}#title-screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#0f172ae0,#05070af5);padding:24px}.title-card{width:100%;max-width:620px;background:#0f141c;border:3px solid var(--panel-border-light);border-radius:4px;padding:32px 28px;text-align:center;box-shadow:0 12px 40px #000c,0 0 30px #f59e0b26;position:relative}.title-card:before{content:"MINISTRY OF BORDER INTEGRITY // SECTOR 7";position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#0f141c;padding:2px 14px;font-size:11px;letter-spacing:2px;color:var(--accent-amber);border:1px solid var(--panel-border-light)}.title-main{font-size:34px;font-weight:900;letter-spacing:4px;color:#f8fafc;text-shadow:0 0 16px rgba(255,255,255,.3);margin-top:8px;margin-bottom:4px}.title-sub{font-size:13px;color:var(--accent-amber);letter-spacing:2px;text-transform:uppercase;margin-bottom:24px}.title-desc{font-size:13px;line-height:1.6;color:var(--text-muted);margin-bottom:24px;background:#161c26;padding:14px 18px;border-left:3px solid var(--accent-amber);text-align:left}.title-stats-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px;background:#0a0d13;padding:12px;border:1px solid var(--panel-border)}.stat-box{display:flex;flex-direction:column;align-items:center}.stat-label{font-size:10px;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase}.stat-value{font-size:16px;font-weight:700;color:var(--accent-amber);margin-top:2px}.title-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:50;pointer-events:auto}.modal-content{background:#111620;border:2px solid var(--panel-border-light);width:90%;max-width:640px;max-height:85vh;overflow-y:auto;padding:24px;box-shadow:0 10px 30px #000000e6;pointer-events:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--panel-border);padding-bottom:12px;margin-bottom:16px}.modal-header h2{font-size:18px;color:var(--accent-amber);letter-spacing:2px}.modal-body{font-size:13px;line-height:1.6;color:var(--text-main)}.modal-body h3{color:var(--accent-cyan);margin:14px 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:1px}.modal-body ul{padding-left:20px;margin-bottom:12px}.modal-body li{margin-bottom:4px}.modal-footer{margin-top:20px;text-align:right;border-top:1px solid var(--panel-border);padding-top:12px}#booth-hud{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.booth-top-bar{display:flex;justify-content:space-between;align-items:center;background:#0e1219eb;border-bottom:2px solid var(--panel-border);padding:8px 18px;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.top-bar-left,.top-bar-center,.top-bar-right{display:flex;align-items:center;gap:16px}.badge{background:#090c10;border:1px solid var(--panel-border-light);padding:4px 10px;font-size:12px;font-weight:700;letter-spacing:1px;border-radius:2px}.badge-amber{color:var(--accent-amber);border-color:var(--accent-amber)}.badge-green{color:var(--accent-green);border-color:var(--accent-green)}.badge-red{color:var(--accent-red);border-color:var(--accent-red)}.strikes-container{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--accent-red)}.strike-icon{display:inline-block;width:14px;height:14px;line-height:14px;text-align:center;border:1px solid var(--accent-red);color:var(--accent-red);background:#ef44441a;border-radius:2px}.strike-icon.active{background:var(--accent-red);color:#000;box-shadow:0 0 8px var(--accent-red-glow)}.booth-bottom-deck{display:flex;justify-content:space-between;align-items:flex-end;padding:12px 18px;pointer-events:none}.booth-bottom-deck>*{pointer-events:auto}.deck-panel{background:#0e1219f0;border:2px solid var(--panel-border);padding:12px;border-radius:4px;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 6px 20px #0009}.conveyor-filter-panel{display:flex;flex-direction:column;gap:10px;width:320px}.panel-header-title{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--panel-border);padding-bottom:4px;display:flex;justify-content:space-between}.conveyor-button-group{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.conveyor-btn{background:#1a222e;border:1px solid var(--panel-border-light);color:var(--text-main);padding:8px 4px;font-size:11px;font-weight:700;letter-spacing:1px;border-radius:2px}.conveyor-btn.active{background:var(--accent-amber);color:var(--text-dark);border-color:var(--accent-amber);box-shadow:0 0 10px var(--accent-amber-glow)}.filter-mode-group{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.filter-btn{background:#161d27;border:1px solid var(--panel-border);color:var(--text-muted);padding:8px 6px;font-size:11px;font-weight:700;letter-spacing:1px;text-align:left;display:flex;align-items:center;gap:6px;border-radius:2px}.filter-led{width:8px;height:8px;border-radius:50%;background:#334155}.filter-btn.active{background:#1e293b;color:#fff;border-color:var(--accent-cyan)}.filter-btn.active .filter-led{background:var(--accent-cyan);box-shadow:0 0 8px var(--accent-cyan)}.inspect-action-panel{display:flex;gap:10px;align-items:center}.desk-btn{background:#1a222e;border:1px solid var(--accent-amber);color:var(--accent-amber);padding:10px 14px;font-size:12px;font-weight:700;letter-spacing:1px;border-radius:3px;display:flex;align-items:center;gap:8px}.desk-btn:hover{background:var(--accent-amber);color:var(--text-dark)}.action-stamps-panel{display:flex;gap:12px;align-items:center}.stamp-btn{width:110px;height:64px;font-size:13px;font-weight:900;letter-spacing:2px;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-transform:uppercase;box-shadow:inset 0 2px 4px #ffffff1a,0 4px 12px #0009}.stamp-btn .hotkey{font-size:10px;font-weight:400;letter-spacing:1px;opacity:.8}.stamp-approve{background:#064e3b;color:#6ee7b7;border:2px solid var(--stamp-green)}.stamp-approve:hover{background:var(--stamp-green);color:#fff;box-shadow:0 0 16px var(--accent-green-glow)}.stamp-reject{background:#7f1d1d;color:#fca5a5;border:2px solid var(--stamp-red)}.stamp-reject:hover{background:var(--stamp-red);color:#fff;box-shadow:0 0 16px var(--accent-red-glow)}.alarm-module{display:flex;flex-direction:column;align-items:center;background:repeating-linear-gradient(-45deg,#000,#000 8px,#f59e0b 8px,#f59e0b 16px);padding:4px;border-radius:4px}.alarm-btn{width:100px;height:56px;background:#dc2626;color:#fff;border:2px solid #ef4444;border-radius:3px;font-size:13px;font-weight:900;letter-spacing:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 14px var(--accent-red-glow);animation:pulse-alarm 2s infinite ease-in-out}.alarm-btn:hover{background:#b91c1c;box-shadow:0 0 24px #ef4444e6}@keyframes pulse-alarm{0%,to{box-shadow:0 0 10px var(--accent-red-glow)}50%{box-shadow:0 0 22px #ef4444e6}}#document-viewer{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000d1;display:flex;align-items:center;justify-content:center;padding:20px;z-index:40}.documents-desk{display:flex;gap:24px;max-width:960px;width:100%;justify-content:center;align-items:stretch;flex-wrap:wrap}.passport-card{width:360px;background:#1b222c;border:3px solid #475569;border-radius:6px;padding:20px;box-shadow:0 10px 30px #000000e6;color:#f1f5f9;position:relative}.passport-header{border-bottom:2px solid var(--accent-amber);padding-bottom:8px;margin-bottom:14px;text-align:center}.passport-country-title{font-size:15px;font-weight:700;letter-spacing:2px;color:var(--accent-amber);text-transform:uppercase}.passport-seal-icon{font-size:24px;margin-top:4px}.passport-content{display:flex;gap:16px}.passport-photo-frame{width:100px;height:120px;background:#090c10;border:2px solid var(--panel-border-light);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.passport-photo-canvas{width:100%;height:100%;image-rendering:pixelated}.passport-details{flex:1;font-size:12px;display:flex;flex-direction:column;gap:6px}.detail-row{display:flex;flex-direction:column}.detail-lbl{font-size:9px;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase}.detail-val{font-size:12px;font-weight:700;color:#fff}.detail-val.expired{color:var(--accent-red)}.passport-footer-mrz{margin-top:14px;padding:8px;background:#090c10;border:1px solid var(--panel-border);font-family:var(--font-mono);font-size:10px;letter-spacing:2px;color:#94a3b8;word-break:break-all}.permit-card{width:360px;background:#241e17;border:2px dashed #b45309;border-radius:4px;padding:20px;box-shadow:0 10px 30px #000000e6;color:#fed7aa}.permit-header{border-bottom:2px solid #b45309;padding-bottom:8px;margin-bottom:12px;text-align:center}.permit-title{font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#f59e0b}.permit-body{font-size:12px;line-height:1.5;display:flex;flex-direction:column;gap:8px}.permit-stamp-area{margin-top:14px;height:50px;border:1px solid #78350f;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:2px;color:#d97706}.document-close-btn{position:absolute;top:16px;right:20px;background:#dc2626;color:#fff;border:1px solid #ef4444;padding:8px 16px;font-size:13px;font-weight:700;letter-spacing:1px}#shift-summary-screen{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,#0f172af0,#05070afa);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.summary-card{width:100%;max-width:580px;background:#0f141c;border:3px solid var(--panel-border-light);border-radius:4px;padding:28px;box-shadow:0 12px 40px #000000e6}.summary-header{text-align:center;border-bottom:2px solid var(--panel-border);padding-bottom:14px;margin-bottom:18px}.summary-title{font-size:22px;font-weight:700;letter-spacing:3px;color:#f8fafc}.summary-subtitle{font-size:12px;color:var(--accent-amber);letter-spacing:1.5px;margin-top:4px}.summary-ledger{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;background:#090d14;padding:14px;border:1px solid var(--panel-border)}.ledger-row{display:flex;justify-content:space-between;font-size:13px;color:var(--text-main);padding:2px 0}.ledger-row.total{border-top:1px dashed var(--panel-border-light);padding-top:8px;margin-top:4px;font-size:15px;font-weight:700}.ledger-val.positive{color:var(--accent-green)}.ledger-val.negative{color:var(--accent-red)}.summary-status-badge{padding:10px;text-align:center;font-size:14px;font-weight:700;letter-spacing:2px;border-radius:3px;margin-bottom:20px;text-transform:uppercase}.status-promoted{background:#10b98126;border:2px solid var(--accent-green);color:var(--accent-green)}.status-perfect{background:#f59e0b26;border:2px solid var(--accent-amber);color:var(--accent-amber)}.status-fired{background:#ef444426;border:2px solid var(--accent-red);color:var(--accent-red)}.summary-actions{display:flex;gap:12px;justify-content:center}#pause-screen{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:60}.pause-card{width:320px;background:#111722;border:2px solid var(--panel-border-light);padding:24px;text-align:center;box-shadow:0 10px 30px #000000e6}.pause-card h2{font-size:20px;letter-spacing:3px;color:var(--accent-amber);margin-bottom:20px}.pause-buttons{display:flex;flex-direction:column;gap:10px}#toast-mount{position:absolute;bottom:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column-reverse;gap:8px;z-index:100;pointer-events:none}.toast{padding:8px 18px;font-size:13px;font-weight:700;letter-spacing:1px;border-radius:3px;background:#0f172a;border:1px solid var(--panel-border-light);color:#fff;box-shadow:0 4px 16px #000c;animation:toast-fade-in .2s ease-out;text-align:center}.toast.reward{border-color:var(--accent-green);color:var(--accent-green)}.toast.penalty{border-color:var(--accent-red);color:var(--accent-red)}.toast.warning{border-color:var(--accent-amber);color:var(--accent-amber)}@keyframes toast-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.alarm-active #crt-scanlines{box-shadow:inset 0 0 120px #ef4444a6;animation:siren-strobe .5s infinite alternate ease-in-out}@keyframes siren-strobe{0%{background-color:#ef44440d}to{background-color:#ef444440}}.stamp-slam-effect{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%) rotate(-10deg) scale(1);pointer-events:none;z-index:120;animation:stampSlamKeyframes .85s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes stampSlamKeyframes{0%{opacity:0;transform:translate(-50%,-50%) rotate(-24deg) scale(2.6)}28%{opacity:1;transform:translate(-50%,-50%) rotate(-10deg) scale(1)}75%{opacity:.95;transform:translate(-50%,-50%) rotate(-10deg) scale(1.02)}to{opacity:0;transform:translate(-50%,-50%) rotate(-10deg) scale(.98)}}.stamp-slam-effect.approve .stamp-border{border:4px dashed #059669;background:#05966938;color:#10b981;padding:14px 30px;text-align:center;border-radius:6px;box-shadow:0 0 35px #10b98180,inset 0 0 16px #05966959}.stamp-slam-effect.reject .stamp-border{border:4px dashed #dc2626;background:#dc262640;color:#ef4444;padding:14px 30px;text-align:center;border-radius:6px;box-shadow:0 0 35px #ef444499,inset 0 0 16px #dc262666}.stamp-slam-effect .stamp-text{font-size:32px;font-weight:900;letter-spacing:4px;text-transform:uppercase;text-shadow:0 0 10px currentColor}.stamp-slam-effect .stamp-sub{font-size:10px;letter-spacing:2px;margin-top:4px;opacity:.88}
