.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;min-height:78vh;padding:45px 0}.neo-terminal{position:relative;text-align:center;border:1px solid #486a45;background:radial-gradient(ellipse,#304c2477,transparent 65%),repeating-linear-gradient(0deg,transparent 0 3px,#82b66b09 4px),#08140f;box-shadow:9px 9px #020704;overflow:hidden}.neo-terminal:before,.neo-terminal:after{content:'';position:absolute;top:8%;bottom:8%;width:5px;background:repeating-linear-gradient(0deg,#a7d77a 0 5px,#223e28 5px 15px);opacity:.65}.neo-terminal:before{left:20px}.neo-terminal:after{right:20px}.neo-terminal img{display:block;height:430px;max-width:100%;object-fit:contain;margin:20px auto;image-rendering:pixelated;animation:float 5s ease-in-out infinite}.neo-terminal p{letter-spacing:2px;color:#bbdc8b;font-size:12px}.neo-terminal span{display:block;font-size:9px;color:#849875;padding-bottom:24px}.login-copy p{color:#a2b493}.login-copy form{display:grid;gap:20px}.login-copy input{font-size:16px}.login-copy button{background:#b8d18a;color:#101b0e;font-weight:bold}.login-copy h1{font-size:43px}.login-copy code{overflow-wrap:anywhere}#loginError{color:#e1bb80;min-height:24px}.operator-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:25px}.operator-heading h1{margin:8px 0 12px}.session-buttons{display:flex;flex-wrap:wrap;gap:10px}.session-buttons button{font-size:10px}.control-strip,.command-buttons{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:18px 0}.control-strip{border:1px solid #435a39;background:#15261a;padding:15px;color:#b7d58e;font-size:12px}.command-buttons button{font-size:12px}.danger{border-color:#997043;color:#f1ba85}.floor-view{border:1px solid #46563e;background:#061009;margin:24px 0}.floor-view summary{padding:12px 16px;color:#b7d58e;cursor:pointer;font-size:12px;letter-spacing:1px}.floor-view iframe{display:block;width:100%;height:600px;border:0}.management-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.terminal-panel{border:1px solid #435a39;background:linear-gradient(135deg,#14251c,#0c1913);padding:24px;margin-bottom:24px;box-shadow:5px 5px #030905}.terminal-panel h2{color:#c0d398;font-size:17px;letter-spacing:1px}.terminal-panel form{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}.terminal-panel form button{grid-column:1/-1;font-size:12px}.terminal-panel input,.terminal-panel select{width:100%;min-width:0}.terminal-panel p{font-size:12px;overflow-wrap:anywhere}.terminal-panel table{border-collapse:collapse;width:100%;font-size:12px}.terminal-panel td,.terminal-panel th{padding:13px 10px;text-align:left;border-bottom:1px solid #344a34;overflow-wrap:anywhere}.table-scroll{overflow:auto}.crew-row,.bay-row{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #344a34;padding:9px 0;font-size:12px}.bay-row button{font-size:10px;padding:5px 10px}.job-line{font-size:12px;border-left:2px solid #88aa68;padding-left:12px}.auth-expired #operatorPanel{display:none}#operatorMessage{min-height:22px;color:#c6d6a3}#operatorMessage.error{color:#eac18b}#operatorPanel[data-offline] .command-buttons button{opacity:.5}.terminal-panel form.dirty:before{content:'UNSAVED CHANGES';color:#d4b576;font-size:10px;grid-column:1/-1}@keyframes float{50%{transform:translateY(-9px)}}@media(max-width:800px){.login-layout{gap:28px}.neo-terminal img{height:310px}.management-grid{grid-template-columns:1fr}.operator-heading{align-items:start;flex-direction:column}.floor-view iframe{height:480px}}@media(max-width:600px){.login-layout{grid-template-columns:1fr;min-height:unset}.neo-terminal{display:none}.login-copy h1{font-size:34px}.terminal-panel{padding:18px}.terminal-panel form{grid-template-columns:1fr}.floor-view iframe{height:440px}.command-buttons button{flex:1;min-width:140px}.control-strip{gap:10px;font-size:11px}}@media(prefers-reduced-motion:reduce){.neo-terminal img{animation:none}}
.security-panel{margin-bottom:20px}.security-panel form{max-width:460px}.mfa-pairing{display:flex;align-items:center;gap:24px;margin:20px 0}.mfa-pairing canvas{width:260px;max-width:100%;height:auto;image-rendering:pixelated;flex-shrink:0;border:8px solid #fff}.mfa-pairing code{display:block;overflow-wrap:anywhere;color:#bcf99a;user-select:all;font-size:16px}#recoveryCodes{line-height:1.8;overflow-x:auto;user-select:all}#mfaMessage{color:#e3c57b}#factorForm{margin-top:20px}@media(max-width:650px){.mfa-pairing{flex-direction:column;align-items:flex-start}}
