/* VECTOR//OPS clean BB OPS shell */
:root{--bg:#050b12;--panel:#0c1623dd;--line:#23384f;--text:#edf5ff;--muted:#92a4ba;--blue:#168cff;--cyan:#2fd4ff;--lime:#9eff2e;--green:#66f083;--red:#ff3d5f;--amber:#ffb32d}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
body{background:radial-gradient(circle at 74% 32%,rgba(22,140,255,.18),transparent 28%),radial-gradient(circle at 46% 70%,rgba(158,255,46,.08),transparent 34%),linear-gradient(135deg,#03070d,#071420 47%,#03070c)}
.grid-bg{position:fixed;inset:0;opacity:.12;pointer-events:none;background-image:linear-gradient(rgba(47,212,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(47,212,255,.18) 1px,transparent 1px);background-size:46px 46px}
.route-bg{position:fixed;inset:0;opacity:.16;pointer-events:none;background:repeating-linear-gradient(135deg,transparent 0 70px,rgba(47,212,255,.18) 71px 72px,transparent 73px 140px)}
.hidden{display:none!important}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;padding:36px;gap:30px}.brand-panel,.auth-panel{border:1px solid var(--line);background:linear-gradient(180deg,rgba(10,18,30,.84),rgba(6,13,22,.86));border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.28);backdrop-filter:blur(10px)}
.brand-panel{position:relative;overflow:hidden;padding:34px;display:grid;grid-template-rows:auto 1fr auto}.brand{display:flex;gap:16px;align-items:center;z-index:2}.mark{width:58px;height:58px;background:linear-gradient(135deg,var(--blue),var(--cyan));clip-path:polygon(0 0,100% 0,78% 30%,45% 30%,45% 100%,0 100%);display:grid;place-items:center;font-size:28px;font-weight:950;color:#04111f;box-shadow:0 0 34px rgba(47,212,255,.25)}
.brand h1{margin:0;font-size:39px;letter-spacing:5px;font-weight:950}.brand h1 span{color:var(--blue);margin-left:10px}.brand p,.mini-brand p{margin:4px 0 0;color:var(--muted);letter-spacing:4px;font-size:12px}.route-map{position:relative;min-height:420px;margin-top:24px}.route-map canvas{width:100%;height:100%;display:block}.status-chip{position:absolute;right:10px;top:12px;display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:rgba(8,17,29,.88);border-radius:12px;padding:12px 15px}.status-chip i{width:13px;height:13px;border-radius:50%;background:var(--lime);box-shadow:0 0 18px var(--lime)}.status-chip b{display:block;font-size:11px;letter-spacing:1px}.status-chip span{color:var(--lime);font-weight:900}.brand-copy h2{font-size:44px;line-height:1.05;margin:0 0 14px;letter-spacing:1px}.brand-copy p{color:var(--muted);font-size:16px;margin:0}
.auth-panel{padding:34px 42px;align-self:center;max-width:620px;width:100%}.tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:28px}.tabs button{border:0;background:#08131f;color:var(--muted);padding:14px;font-weight:900;cursor:pointer}.tabs button.active{background:linear-gradient(90deg,rgba(22,140,255,.32),rgba(47,212,255,.12));color:white;box-shadow:inset 0 -3px 0 var(--blue)}.form{display:none}.active-form{display:grid;gap:16px}.form h2{margin:0;font-size:31px}.form p{margin:0 0 6px;color:var(--muted)}
label{display:grid;gap:8px;color:#bfd1e5;font-size:13px;font-weight:850;letter-spacing:.4px}input,select,textarea{width:100%;border:1px solid #2b435d;background:#071321;color:white;border-radius:10px;padding:14px 15px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(47,212,255,.12)}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.check{display:flex;grid-template-columns:auto 1fr;gap:9px;align-items:center;font-weight:600;color:var(--muted)}.check input{width:18px;height:18px;accent-color:var(--blue)}.row a{color:var(--cyan);text-decoration:none}.primary{border:0;background:linear-gradient(135deg,var(--blue),var(--cyan));color:white;border-radius:10px;padding:15px 16px;font-weight:950;letter-spacing:1px;cursor:pointer;box-shadow:0 16px 45px rgba(22,140,255,.24)}.primary.lime{background:linear-gradient(135deg,var(--lime),#49e86e);color:#071321}.message{min-height:22px;font-weight:800}.message.error{color:var(--red)}.message.ok{color:var(--green)}.message.warn{color:var(--amber)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:285px 1fr}.sidebar{border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(6,13,22,.98),rgba(4,9,15,.98));padding:24px 18px}.mini-brand{display:flex;gap:13px;align-items:center;margin-bottom:30px}.mini-brand .mark{width:48px;height:48px;font-size:22px}.mini-brand h2{margin:0;letter-spacing:4px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{border:0;background:transparent;color:#d7e6f8;text-align:left;padding:13px 14px;border-radius:10px;font-size:15px;cursor:pointer}.sidebar nav button.active,.sidebar nav button:hover{background:linear-gradient(90deg,rgba(22,140,255,.25),transparent);box-shadow:inset 4px 0 0 var(--blue)}.system-card{margin-top:30px;border:1px solid var(--line);background:#081523;border-radius:14px;padding:16px}.system-card small{color:var(--muted)}.system-card strong{display:block;color:var(--lime);font-size:20px;margin:6px 0}.system-card span{color:var(--muted);font-size:13px}
.dashboard{padding:28px;overflow:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:6px 0 0;color:var(--muted)}.user-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:12px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0b2941,var(--blue));border:1px solid #2b5f88;font-weight:950}.user-card b{display:block}.user-card span{display:block;color:var(--muted);font-size:12px}.user-card button,.panel-head button{border:1px solid #2b435d;background:#081523;color:#d5e7fb;border-radius:8px;padding:9px 10px;cursor:pointer}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.metrics article{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:18px}.metrics span{display:block;color:var(--muted);font-size:12px;font-weight:900}.metrics b{display:block;font-size:39px;margin:6px 0}.metrics em{color:var(--cyan);font-style:normal;font-size:13px}.content-grid{display:grid;grid-template-columns:440px 1fr;gap:14px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:15px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.24)}.panel-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:14px 16px}.panel-head h3{margin:0}.panel-head small{color:var(--muted)}.report-form form{display:grid;gap:13px;padding:16px}.wide{grid-column:1/-1}textarea{min-height:90px;resize:vertical}.queue{grid-column:2}.queue table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid rgba(35,56,79,.7);padding:12px;font-size:13px}th{color:var(--muted);font-size:11px}.empty,.empty-page{color:var(--muted);padding:22px}.full{min-height:68vh}.view{display:none}.active-view{display:block}.code-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:18px}.code-card{border:1px solid var(--line);border-radius:12px;background:#081523;padding:14px}.code-card b{display:block;color:var(--cyan);font-size:18px}.code-card span{display:block;color:var(--muted);margin-top:8px;line-height:1.35}
.transition-overlay{position:fixed;inset:0;display:grid;place-items:center;z-index:500;pointer-events:none;opacity:0;transform:scale(1.015);transition:opacity .28s ease,transform .35s ease;background:radial-gradient(circle at 50% 45%,rgba(47,212,255,.14),transparent 30%),rgba(2,8,14,.72);backdrop-filter:blur(9px)}.transition-overlay.show{opacity:1;transform:scale(1);pointer-events:auto}.transition-card{position:relative;z-index:2;width:min(560px,90vw);border:1px solid rgba(47,212,255,.42);border-radius:20px;padding:34px;background:linear-gradient(180deg,rgba(8,18,30,.95),rgba(4,11,19,.96));box-shadow:0 0 60px rgba(47,212,255,.16),0 34px 90px rgba(0,0,0,.55)}.transition-mark{width:64px;height:64px;display:grid;place-items:center;margin-bottom:18px;color:#04111f;font-size:31px;font-weight:950;background:linear-gradient(135deg,var(--blue),var(--cyan));clip-path:polygon(0 0,100% 0,78% 30%,45% 30%,45% 100%,0 100%)}.transition-card h2{margin:0;font-size:28px}.transition-card p{margin:10px 0 24px;color:var(--muted)}.transition-progress{height:10px;border-radius:999px;background:#071321;border:1px solid #1f344c;overflow:hidden}.transition-progress i{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan),var(--lime));transition:width .28s}.transition-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.transition-steps span{border:1px solid #1f344c;border-radius:8px;padding:8px 6px;text-align:center;font-size:11px;color:#6f8197;font-weight:900;background:#071321}.transition-steps span.active{color:#06111d;background:var(--lime)}.auth-shell.auth-exit{animation:authExit .8s forwards}.app-shell.app-preload{display:grid!important;opacity:0;transform:translateY(28px) scale(.985);filter:blur(10px)}.app-shell.app-enter{animation:appEnter .75s forwards}.app-shell.app-exit{animation:appExit .28s forwards}@keyframes authExit{to{opacity:0;transform:translateX(-70px) scale(.975);filter:blur(10px)}}@keyframes appEnter{to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes appExit{to{opacity:0;transform:translateY(18px) scale(.99);filter:blur(6px)}}
@media(max-width:1100px){.auth-shell{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.content-grid{grid-template-columns:1fr}.queue{grid-column:auto}.metrics{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start;flex-direction:column}.code-list{grid-template-columns:1fr}}


/* VECTOR modal */
.modal-backdrop{position:fixed;inset:0;z-index:800;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,rgba(255,179,45,.10),transparent 28%),rgba(1,5,10,.72);backdrop-filter:blur(9px);padding:24px}.vector-modal{width:min(590px,94vw);border:1px solid rgba(255,179,45,.55);background:linear-gradient(180deg,rgba(11,22,35,.98),rgba(5,12,20,.98));border-radius:18px;box-shadow:0 0 60px rgba(255,179,45,.12),0 34px 90px rgba(0,0,0,.6);overflow:hidden;animation:modalIn .18s ease-out}.modal-top{display:flex;gap:14px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(255,179,45,.12),rgba(22,140,255,.05))}.modal-alert{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,179,45,.18);border:1px solid rgba(255,179,45,.6);color:var(--amber);font-weight:950;font-size:26px}.modal-top h2{margin:0;font-size:24px}.modal-top p{margin:4px 0 0;color:var(--muted)}.modal-body{padding:22px}.modal-body p{margin:0;color:#d8e8fb;line-height:1.45}.modal-trailer{margin:16px 0;border:1px solid rgba(255,179,45,.55);background:#071321;border-radius:12px;padding:16px 18px;font-size:30px;letter-spacing:3px;font-weight:950;color:var(--amber);text-align:center}.modal-help{color:var(--muted)!important;font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line);background:rgba(3,9,16,.65)}.ghost-btn,.secondary-btn{border:1px solid #2b435d;background:#081523;color:#d5e7fb;border-radius:10px;padding:13px 14px;font-weight:900;cursor:pointer}.secondary-btn{border-color:rgba(47,212,255,.45);color:#e8f8ff;background:rgba(22,140,255,.10)}@keyframes modalIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1100px){.modal-actions{flex-direction:column}.modal-actions button{width:100%}}


/* v4 admin user access modal/table */
.user-table-wrap{padding:16px;overflow:auto}
.user-table{width:100%;border-collapse:collapse}
.user-table .small-muted{color:var(--muted);font-size:12px;margin-top:3px}
.access-pill{display:inline-flex;align-items:center;border:1px solid #2b435d;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;background:#081523;color:#d5e7fb}
.access-pill.ok{border-color:rgba(102,240,131,.45);color:var(--green);background:rgba(102,240,131,.08)}
.access-pill.warn{border-color:rgba(255,179,45,.45);color:var(--amber);background:rgba(255,179,45,.08)}
.access-pill.off{border-color:rgba(255,61,95,.45);color:var(--red);background:rgba(255,61,95,.08)}
.user-access-modal{border-color:rgba(47,212,255,.55)}
.user-flag{color:var(--cyan);border-color:rgba(47,212,255,.6);background:rgba(47,212,255,.13)}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.flag-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.user-action{border:1px solid rgba(47,212,255,.45);background:rgba(22,140,255,.10);color:#e8f8ff;border-radius:8px;padding:8px 10px;font-weight:900;cursor:pointer}
@media(max-width:720px){.modal-grid,.flag-row{grid-template-columns:1fr}}


/* v5 username login + reset password modal */
.password-reset-modal{border-color:rgba(47,212,255,.55)}
.reset-flag{color:var(--cyan);border-color:rgba(47,212,255,.6);background:rgba(47,212,255,.13)}
.modal-grid{grid-template-columns:1fr 1fr}


/* v7 request access tab reinforcement */
.auth-panel .tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:28px}
.auth-panel .tabs button{display:block}


/* v8: cleaner trailer autocomplete behavior, clickable rows, detail/follow-up terminals */
.clickable-row{cursor:pointer;transition:background .14s ease,box-shadow .14s ease,transform .14s ease}
.clickable-row:hover{background:rgba(47,212,255,.08);box-shadow:inset 4px 0 0 var(--cyan)}
.clickable-row:active{transform:scale(.996)}

.queue-card-list{display:grid;gap:12px;padding:16px}
.queue-card{width:100%;text-align:left;border:1px solid var(--line);background:rgba(8,21,35,.86);border-radius:13px;padding:14px 16px;color:var(--text);cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}
.queue-card:hover{background:rgba(22,140,255,.12);border-color:rgba(47,212,255,.55)}
.queue-card:active{transform:scale(.995)}
.queue-card strong{display:block;font-size:16px}
.queue-card span{display:block;color:var(--muted);margin-top:5px}
.queue-card small{display:block;color:var(--cyan);margin-top:8px}

.report-detail-modal{border-color:rgba(47,212,255,.55)}
.detail-flag{font-size:15px;color:var(--cyan);border-color:rgba(47,212,255,.6);background:rgba(47,212,255,.13)}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.detail-grid div{border:1px solid var(--line);background:#071321;border-radius:12px;padding:12px}
.detail-grid small,.note-block small{display:block;color:var(--muted);font-size:11px;letter-spacing:.8px;font-weight:900;text-transform:uppercase}
.detail-grid strong{display:block;margin-top:6px;font-size:17px}
.note-block{border:1px solid var(--line);background:#071321;border-radius:12px;padding:14px;margin-top:12px}
.note-block p{white-space:pre-wrap;margin-top:8px!important}
.terminal-note{border-color:rgba(158,255,46,.25)}

.nested-backdrop{z-index:950;background:radial-gradient(circle at 55% 42%,rgba(158,255,46,.12),transparent 30%),rgba(1,5,10,.50)}
.terminal-modal{width:min(660px,94vw);border-color:rgba(158,255,46,.62);box-shadow:0 0 70px rgba(158,255,46,.13),0 34px 90px rgba(0,0,0,.65)}
.terminal-top{background:linear-gradient(90deg,rgba(158,255,46,.12),rgba(47,212,255,.08))}
.terminal-flag{color:var(--lime);border-color:rgba(158,255,46,.62);background:rgba(158,255,46,.12)}
.terminal-strip{font-family:Consolas,monospace;border:1px solid rgba(158,255,46,.35);background:#030b0e;color:var(--lime);border-radius:10px;padding:12px;margin-bottom:14px;letter-spacing:.5px}
#followupText{min-height:160px;font-family:Consolas,monospace}

@media(max-width:900px){
  .detail-grid{grid-template-columns:1fr}
}


/* v9 close/reopen BB action */
.status-action-modal{border-color:rgba(102,240,131,.58)}
.status-action-modal.reopen{border-color:rgba(255,179,45,.62)}
#statusActionNotes{min-height:130px;font-family:Consolas,monospace}
#detailStatusAction.hidden{display:none!important}
#detailStatusAction.close-ready{border-color:rgba(102,240,131,.45);color:var(--green);background:rgba(102,240,131,.09)}
#detailStatusAction.reopen-ready{border-color:rgba(255,179,45,.50);color:var(--amber);background:rgba(255,179,45,.10)}
.access-pill.closed{border-color:rgba(102,240,131,.45);color:var(--green);background:rgba(102,240,131,.08)}
