/* 2.5.0: app switcher fit, toast, PMO pills, COI blue, busy buttons, fire bypass modal. No inline CSS. */
header.top .appsw img{height:auto}
header.top .appsw-btn{color:var(--navy,#083346);background:#fff;border-color:#c9d2dc;box-shadow:0 1px 2px rgba(8,51,70,.12),inset 0 1px 0 #fff}
header.top .appsw-btn:hover{background:#eef3f8}
header.top .appsw-menu[open] .appsw-btn{background:var(--navy,#083346);color:#fff;border-color:var(--navy,#083346)}
header.top .appsw-item{border:0;padding:10px 4px;background:none;text-transform:none;letter-spacing:0;font:600 13px system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;color:#1d2330}
@media (max-width:480px){header.top .wrap{gap:10px}.appsw-list{top:64px}}
/* toast: fades out by itself (CSS only) */
.toast{position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:2000;max-width:calc(100vw - 32px);box-sizing:border-box;padding:12px 18px;border-radius:10px;
 background:#083346;color:#fff;font:600 14px var(--sans,system-ui);box-shadow:0 8px 24px rgba(8,51,70,.3);pointer-events:none;animation:toastfade 5s ease forwards}
.toast::before{content:"✓ ";color:#8fc1ec}
@keyframes toastfade{0%{opacity:0;transform:translate(-50%,-8px)}6%{opacity:1;transform:translate(-50%,0)}80%{opacity:1}100%{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){.toast{animation:toastfade-r 5s steps(1,end) forwards}@keyframes toastfade-r{0%{opacity:1}100%{opacity:0;visibility:hidden}}}
.pmo-sub{display:block;font:500 12px var(--sans,system-ui);letter-spacing:.14em;text-transform:uppercase;color:#6b7785;margin-top:4px}
/* back from engineering */
.pill.backeng{background:#2f6fb0;border-color:#2f6fb0;color:#fff;font-weight:700}
.engrec-mini{margin-top:4px;font-size:12px;color:#33445a;max-width:240px}.engrec-mini.eng_reject b{color:#a12d2d}.engrec-mini.eng_approve b{color:#1f5b9a}.engrec-mini.eng_question b{color:#7a4b00}
/* COI confirmed = blue */
.coibtn.on{background:linear-gradient(180deg,#4a8ccc 0%,#2f6fb0 55%,#225689 100%);border-color:#225689;color:#fff;box-shadow:0 2px 0 #225689,0 3px 8px rgba(47,111,176,.28),inset 0 1px 0 rgba(255,255,255,.28)}
.coibtn.on:hover{background:linear-gradient(180deg,#5698d6 0%,#2f6fb0 55%,#1d4b78 100%)}
.coistate{display:flex;align-items:center;justify-content:center;min-height:40px;margin:0 0 14px;padding:8px 12px;border-radius:8px;border:2px solid #c9d2dc;background:#fff;color:#556;font:600 14px var(--sans,system-ui)}
.coistate.on{background:#2f6fb0;border-color:#225689;color:#fff}
.coimk{display:inline-block;min-width:22px;padding:1px 6px;border-radius:999px;background:#2f6fb0;color:#fff;font-weight:700;text-align:center}
/* busy buttons (busy.js) */
button.busy{position:relative;cursor:progress!important;opacity:.85}
button.busy::before{content:"";display:inline-block;width:14px;height:14px;margin:0 8px -2px 0;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:bspin .7s linear infinite;vertical-align:baseline}
@keyframes bspin{to{transform:rotate(360deg)}}
.btn#submitbtn{min-width:180px;min-height:44px;border-radius:8px;box-shadow:0 2px 0 #041c28,0 3px 8px rgba(8,51,70,.22),inset 0 1px 0 rgba(255,255,255,.22)}
.btn#submitbtn:active{transform:translateY(1px)}
/* fire bypass modal (board) */
html.bbm-open{overflow:hidden}
.bbar form.confirm.bbm{position:fixed;inset:0;z-index:3000;margin:0;padding:16px;border:0;border-radius:0;background:rgba(6,20,30,.62);display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.bbar form.confirm.bbm[hidden]{display:none}
.bbm-box{width:420px;max-width:100%;max-height:calc(100vh - 32px);overflow:auto;box-sizing:border-box;background:#fff;color:#1d2330;border-radius:12px;padding:20px 20px 16px;border-top:5px solid #c62828;box-shadow:0 20px 50px rgba(0,0,0,.4);font:15px var(--sans,system-ui)}
.bbm-box h2{margin:0 0 12px;font-size:20px;color:#1d2330}
.bbm-box .bbm-q{margin:-4px 0 10px;color:#4a5563;font-size:14px}
.bbm-box .also{background:#fff3cd;border:1px solid #f0b429;border-radius:8px;padding:8px 10px;margin:0 0 12px;font-size:14px}
.bbm-box label{display:block;margin:10px 0 4px;font-weight:600;font-size:13px;color:#33445a}
.bbm-box textarea,.bbm-box input.zones,.bbm-box input.ini{display:block;width:100%;box-sizing:border-box;min-height:42px;padding:9px 10px;border:1px solid #c9d3dd;border-radius:8px;font:15px var(--sans,system-ui);color:#1d2330;background:#fff}
.bbm-box input.ini{width:96px;text-align:center;font-weight:700;text-transform:uppercase}
.bbm-scope{display:flex;flex-wrap:wrap;gap:0;margin:0 0 4px}
.bbm-scope input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}
.bbm-scope>label{flex:1 1 50%;margin:0;padding:10px 8px;text-align:center;border:1px solid #c9d3dd;background:#f5f7fa;color:#33445a;cursor:pointer;font-size:14px}
.bbm-scope>label[for=bbs-full]{border-radius:8px 0 0 8px}.bbm-scope>label[for=bbs-zon]{border-radius:0 8px 8px 0;border-left:0}
.bbm-scope input:checked+label{background:#083346;border-color:#083346;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.bbm-scope input:focus-visible+label{outline:3px solid #5993C5;outline-offset:2px}
.bbm-zones{display:none;flex:1 1 100%}.bbm-scope #bbs-zon:checked~.bbm-zones{display:block}
.bbm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.bbm-cancel,.bbm-go{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 16px;border-radius:8px;font:600 14px var(--sans,system-ui);text-decoration:none;cursor:pointer;box-sizing:border-box}
.bbm-cancel{background:#fff;color:#33445a;border:1px solid #b9c4cf;box-shadow:0 1px 0 #b9c4cf}
.bbm-cancel:hover{background:#f2f5f8}
.bbm-go{background:linear-gradient(180deg,#d53a3a 0%,#c62828 55%,#a11f1f 100%);color:#fff;border:1px solid #8e1b1b;box-shadow:0 2px 0 #8e1b1b,0 3px 8px rgba(198,40,40,.3),inset 0 1px 0 rgba(255,255,255,.25)}
.bbm-go:hover{background:linear-gradient(180deg,#de4848 0%,#c62828 55%,#8e1b1b 100%)}.bbm-go:active{transform:translateY(1px)}
.bbm-cancel:focus-visible,.bbm-go:focus-visible{outline:3px solid #5993C5;outline-offset:2px}
@media (max-width:480px){.bbar form.confirm.bbm{padding:10px;align-items:flex-end}.bbm-box{width:100%;border-radius:12px}}
/* 2.5.0 modal: win over the older inline-confirm rules (.bbar .confirm button{flex:1;...}) */
.bbar form.confirm.bbm .bbm-box h2{display:block;margin:0 0 12px;font:700 20px var(--sans,system-ui);color:#1d2330;letter-spacing:0;text-transform:none;border:0;padding:0}
.bbar form.confirm.bbm .bbm-actions .bbm-cancel,.bbar form.confirm.bbm .bbm-actions .bbm-go{flex:0 0 auto;width:auto;min-height:38px;padding:8px 16px;font:600 14px var(--sans,system-ui);letter-spacing:0;text-transform:none}
.bbar form.confirm.bbm .bbm-actions .bbm-cancel{background:#fff;color:#33445a;border:1px solid #b9c4cf}
.bbar form.confirm.bbm .bbm-actions .bbm-go{background:linear-gradient(180deg,#d53a3a 0%,#c62828 55%,#a11f1f 100%);color:#fff;border:1px solid #8e1b1b}
.bbar form.confirm.bbm .bbm-scope>label{text-transform:none;letter-spacing:0;font-weight:600}
@media (max-width:480px){.bbar form.confirm.bbm{align-items:center}}
.toast{top:98px}@media (max-width:700px){.toast{top:72px}}
.toast{background:#2f6fb0;border:1px solid #225689}.toast::before{color:#fff}
/* toast positioning without transform (keyframes only fade), left-anchored on phones so a wide table can't push it off-screen */
.toast{left:0;right:0;margin:0 auto;width:max-content;transform:none;animation-name:toastfade2}
@keyframes toastfade2{0%{opacity:0}6%{opacity:1}80%{opacity:1}100%{opacity:0;visibility:hidden}}
@media (max-width:700px){.toast{left:12px;right:auto;margin:0;max-width:calc(100vw - 24px);white-space:normal}}
@media (max-width:480px){.bbar form.confirm.bbm{right:auto;width:100vw}}
