/* === DRONE FILTER INPUT === */
.drone-filter-wrap { padding: 5px 10px; border-bottom: 1px solid var(--b1); }
.drone-filter { width: 100%; background: rgba(255,255,255,.03); border: 1px solid var(--b1); border-radius: 2px; padding: 5px 9px; font-family: var(--fm); font-size: 8px; letter-spacing: 1.5px; color: var(--txt2); outline: none; transition: border-color .15s; box-sizing: border-box; }
.drone-filter::placeholder { color: var(--txt4); }
.drone-filter:focus { border-color: rgba(1,195,142,.3); }

/* === PANEL ADD BUTTON === */
.plbl-add { background: none; border: 1px solid rgba(1,195,142,.2); border-radius: 2px; color: var(--ice); font-size: 12px; line-height: 1; width: 16px; height: 16px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; margin-left: 6px; transition: all .15s; }
.plbl-add:hover { background: rgba(1,195,142,.1); border-color: rgba(1,195,142,.5); }

/* === MISSION CREATE POPUP === */
#mission-create {
  display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%);
  z-index: 9100; width: 320px; background: rgba(11,14,11,.98); border: 1px solid var(--b2);
  border-radius: 3px; backdrop-filter: blur(24px); box-shadow: 0 8px 40px rgba(0,0,0,.7);
}
#mission-create.on { display: flex; flex-direction: column; }
.mc-hdr    { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--b1); }
.mc-title  { font-family: var(--fc); font-size: 11px; font-weight: 700; letter-spacing: 3px; color: var(--txt); }
.mc-sec    { font-family: var(--fc); font-size: 7px; font-weight: 700; letter-spacing: 3px; color: var(--txt3); padding: 10px 16px 4px; }
.mc-input  { width: calc(100% - 32px); margin: 0 16px; background: rgba(255,255,255,.04); border: 1px solid var(--b1); border-radius: 2px; padding: 7px 10px; font-family: var(--fm); font-size: 8px; letter-spacing: 1px; color: var(--txt2); outline: none; transition: border-color .15s; box-sizing: border-box; }
.mc-input::placeholder { color: var(--txt4); }
.mc-input:focus { border-color: rgba(1,195,142,.3); }
select.mc-input { cursor: pointer; }
select.mc-input option { background: #0b0e0b; }
.mc-prios  { display: flex; gap: 4px; padding: 0 16px 4px; }
.mc-prio   { flex: 1; font-family: var(--fc); font-size: 7px; font-weight: 700; letter-spacing: 1px; padding: 5px 2px; border-radius: 2px; cursor: pointer; transition: all .15s; background: rgba(255,255,255,.03); border: 1px solid var(--b2); color: var(--txt3); }
.mc-prio.sel[data-p="1"] { background: rgba(248,113,113,.12); border-color: rgba(248,113,113,.4); color: var(--red); }
.mc-prio.sel[data-p="2"] { background: rgba(251,191,36,.08);  border-color: rgba(251,191,36,.4);  color: var(--amber); }
.mc-prio.sel[data-p="3"] { background: rgba(1,195,142,.08);   border-color: rgba(1,195,142,.4);   color: var(--ice); }
.mc-prio.sel[data-p="4"] { background: rgba(71,85,105,.12);   border-color: var(--b2);            color: var(--txt2); }
.mc-btns   { display: flex; gap: 8px; padding: 14px 16px 16px; }

/* ── SHARED LABELS ── */
.plbl { font-family: var(--fc); font-size: 9px; font-weight: 600; letter-spacing: 3px; color: var(--txt3); padding: 9px 12px 7px; border-bottom: 1px solid var(--b1); text-transform: uppercase; display: flex; justify-content: space-between; align-items: center; }
.plbl-s { font-family: var(--fm); font-size: 8px; color: var(--txt2); }

/* ── DRONE CARDS ── */
.dc { padding: 10px 12px; border-bottom: 1px solid var(--b1); cursor: pointer; transition: background .15s; border-left: 2px solid transparent; }
.dc:hover { background: rgba(1,195,142,.03); }
.dc.sel { background: rgba(1,195,142,.06); border-left-color: var(--ice); }
.dc-t { display: flex; align-items: center; gap: 7px; margin-bottom: 7px; }
.dtb { font-family: var(--fc); font-size: 10px; font-weight: 700; letter-spacing: 2px; padding: 1px 7px; border-radius: 1px; flex-shrink: 0; }
.dtb.HEAVY        { background: rgba(251,146,60,.12);  color: var(--heavy);    border: 1px solid rgba(251,146,60,.25); }
.dtb.ML           { background: rgba(52,211,153,.1);   color: var(--ml);       border: 1px solid rgba(52,211,153,.2); }
.dtb.MUL          { background: rgba(167,139,250,.1);  color: var(--mul);      border: 1px solid rgba(167,139,250,.2); }
.dtb.ISR          { background: rgba(56,189,248,.08);  color: var(--isr);      border: 1px solid rgba(56,189,248,.2); }
.dtb.LOGISTICS    { background: rgba(251,146,60,.08);  color: var(--logistics);border: 1px solid rgba(251,146,60,.15); }
.dtb.DEFENSE      { background: rgba(248,113,113,.08); color: var(--defense);  border: 1px solid rgba(248,113,113,.2); }
.dtb.JAMMING      { background: rgba(251,191,36,.07);  color: var(--jamming);  border: 1px solid rgba(251,191,36,.15); }
.dtb.ANTI-JAMMING { background: rgba(251,191,36,.07);  color: var(--jamming);  border: 1px solid rgba(251,191,36,.15); }
.dc-id { font-family: var(--fm); font-size: 9px; color: var(--txt); flex: 1; }
.dc-st { font-family: var(--fc); font-size: 8px; font-weight: 600; letter-spacing: 1px; padding: 1px 6px; border-radius: 1px; cursor: pointer; transition: opacity .15s; }
.dc-st:hover { opacity: .75; }
.dc-st.m { background: rgba(52,211,153,.1);  color: var(--jade); }
.dc-st.s { background: rgba(71,85,105,.12);  color: var(--txt3); }
.dc-st.r { background: rgba(251,191,36,.1);  color: var(--amber); }
.dc-st.a { background: rgba(248,113,113,.1); color: var(--red); animation: blink 1s infinite; }
.bars { display: flex; flex-direction: column; gap: 3px; margin-bottom: 5px; }
.br  { display: flex; align-items: center; gap: 5px; }
.brl { font-family: var(--fm); font-size: 7px; color: var(--txt3); width: 16px; }
.brt { flex: 1; height: 2px; background: rgba(255,255,255,.05); border-radius: 1px; overflow: hidden; }
.brf { height: 100%; border-radius: 1px; }
.brv { font-family: var(--fm); font-size: 7px; width: 22px; text-align: right; }
.dc-desc { font-family: var(--fm); font-size: 7px; color: var(--txt3); line-height: 1.5; }
.crew-row { display: flex; gap: 4px; margin-top: 5px; flex-wrap: wrap; }
.cpip { font-family: var(--fm); font-size: 7px; padding: 1px 5px; border-radius: 1px; border: 1px solid rgba(251,146,60,.2); color: var(--heavy); background: rgba(251,146,60,.05); }

/* ── MISSION QUEUE — status LED dot, not a left accent bar ── */
.mqi { padding: 8px 12px; border-bottom: 1px solid var(--b1); cursor: pointer; transition: background .15s; display: flex; gap: 7px; }
.mqi:hover { background: rgba(1,195,142,.03); }
.mqbody { flex: 1; }
.mq-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; margin-right: 1px; }
.mqt { font-family: var(--fc); font-size: 10px; font-weight: 600; letter-spacing: 1px; color: var(--txt); flex: 1; }
.mqs { font-family: var(--fm); font-size: 7px; color: var(--txt3); line-height: 1.6; }

/* ── VITALS ── */
.vgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 9px 11px 11px; }
.vc    { background: var(--panel2); border: 1px solid var(--b1); padding: 9px 10px; border-radius: 2px; }
.vlbl  { font-family: var(--fc); font-size: 8px; font-weight: 600; letter-spacing: 2px; color: var(--txt3); margin-bottom: 4px; }
.vnum  { font-family: var(--fm); font-size: 19px; font-weight: 500; line-height: 1; }
.vu    { font-family: var(--fm); font-size: 8px; color: var(--txt3); margin-left: 1px; }
.vnum.ok   { color: var(--jade); }
.vnum.warn { color: var(--amber); }
.vnum.crit { color: var(--red); }
.vtrend { font-family: var(--fm); font-size: 7px; margin-top: 3px; opacity: .6; }

/* ── ECG ── */
.ecgbox { margin: 0 11px 9px; background: var(--panel2); border: 1px solid var(--b1); padding: 8px; border-radius: 2px; }
.ecgtop { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.ecglbl { font-family: var(--fc); font-size: 8px; font-weight: 600; letter-spacing: 2px; color: var(--txt3); }
.ecgbpm { font-family: var(--fm); font-size: 11px; color: var(--jade); }

/* ── VIDEO ── */
.vidbox  { margin: 0 11px 9px; border: 1px solid var(--b1); border-radius: 2px; overflow: hidden; position: relative; background: #000; }
.vido    { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 6px; pointer-events: none; }
.vtag    { font-family: var(--fm); font-size: 7px; color: rgba(1,195,142,.75); letter-spacing: 1px; }
.vrec    { display: flex; align-items: center; gap: 3px; font-family: var(--fm); font-size: 7px; color: var(--red); }
.vrdot   { width: 4px; height: 4px; border-radius: 50%; background: var(--red); animation: blink .8s infinite; }
.vcross  { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); pointer-events: none; }

/* ── AI DECISION — flat rows, no card box / colored border bar (that reads as generic AI-dashboard chrome) */
.aibox { margin: 0 11px 9px; }
.aic   { padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.05); }
.aic:last-child { border-bottom: none; }
.aiclbl { font-family: var(--fc); font-size: 7px; font-weight: 700; letter-spacing: 2px; margin-bottom: 4px; }
.aic.i .aiclbl { color: var(--ice); }
.aic.w .aiclbl { color: var(--amber); }
.aic.g .aiclbl { color: var(--jade); }
.aictxt { font-family: var(--fm); font-size: 8px; color: var(--txt2); line-height: 1.6; }
.aictxt strong { color: var(--txt); }

/* ── COMMS ── */
.commbox { margin: 0 11px 9px; }
.comr    { display: flex; align-items: center; gap: 6px; padding: 4px 0; border-bottom: 1px solid var(--b1); }
.cdot    { width: 4px; height: 4px; border-radius: 50%; flex-shrink: 0; }
.cname   { font-family: var(--fm); font-size: 8px; color: var(--txt3); flex: 1; }
.cval    { font-family: var(--fm); font-size: 8px; text-align: right; }

/* === AI TICKER NEW CARD === */
.aic.ai-new { animation: ai-flash 1.2s ease-out; }
@keyframes ai-flash {
  0%   { background: rgba(1,195,142,.12); border-color: rgba(1,195,142,.4); }
  100% { background: transparent; }
}

/* === TOPBAR ALERT PILL BLINK === */
#pill-alerts.alert { animation: pill-alert 1s ease-in-out infinite; }
@keyframes pill-alert {
  0%,100% { opacity: 1; }
  50% { opacity: .45; }
}

/* ── COMMS LIVE SIGNAL ── */
.csig { display: flex; align-items: flex-end; gap: 1.5px; height: 10px; margin: 0 5px; }
.csig span { width: 2px; border-radius: 1px; background: var(--jade); animation: csig-wave 1.1s ease-in-out infinite; }
.csig.warn span { background: var(--amber); }
.csig.alert span { background: var(--red); }
.csig.off span { animation: none; height: 2px; background: var(--txt4); }
@keyframes csig-wave { 0%,100% { height: 2px; } 50% { height: 9px; } }

/* ── HOSPITALS ── */
.hospbox { margin: 0 11px 11px; }
.hc      { background: var(--panel2); border: 1px solid var(--b1); padding: 9px 11px; border-radius: 2px; margin-bottom: 4px; cursor: pointer; transition: border-color .18s; display: flex; justify-content: space-between; align-items: center; }
.hc:hover { border-color: var(--b2); }
.hname   { font-family: var(--fc); font-size: 9px; font-weight: 600; letter-spacing: 1px; color: var(--txt); margin-bottom: 2px; }
.htype   { font-family: var(--fm); font-size: 7px; color: var(--txt3); }
.heta    { font-family: var(--fm); font-size: 11px; color: var(--amber); text-align: right; }
.hbeds   { font-family: var(--fm); font-size: 7px; color: var(--jade); margin-top: 2px; text-align: right; }

/* ── POPUP ── */
.ph      { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--b1); }
.pico    { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 2px; font-family: var(--fc); font-size: 11px; font-weight: 700; flex-shrink: 0; }
.pico.HEAVY        { background: rgba(251,146,60,.12);  color: var(--heavy); }
.pico.ML           { background: rgba(52,211,153,.1);   color: var(--ml); }
.pico.MUL          { background: rgba(167,139,250,.1);  color: var(--mul); }
.pico.ISR          { background: rgba(56,189,248,.08);  color: var(--isr); }
.pico.LOGISTICS    { background: rgba(251,146,60,.08);  color: var(--logistics); }
.pico.DEFENSE      { background: rgba(248,113,113,.08); color: var(--defense); }
.pico.JAMMING      { background: rgba(251,191,36,.07);  color: var(--jamming); }
.ptitle  { font-family: var(--fc); font-size: 13px; font-weight: 700; letter-spacing: 2px; color: var(--txt); flex: 1; }
.pclose  { background: none; border: none; color: var(--txt3); cursor: pointer; font-size: 17px; line-height: 1; }
.psec    { font-family: var(--fc); font-size: 8px; font-weight: 600; letter-spacing: 3px; color: var(--txt3); text-transform: uppercase; margin: 12px 0 7px; padding-bottom: 4px; border-bottom: 1px solid var(--b1); }
.prow    { display: flex; justify-content: space-between; padding: 4px 0; gap: 10px; }
.prl     { font-family: var(--fm); font-size: 8px; color: var(--txt3); flex-shrink: 0; }
.prv     { font-family: var(--fm); font-size: 8px; color: var(--txt); text-align: right; }
.prv.g   { color: var(--jade); } .prv.a { color: var(--amber); } .prv.r { color: var(--red); }
.pcrew   { background: var(--surf); border: 1px solid var(--b1); padding: 10px 11px; border-radius: 2px; margin-bottom: 6px; }
.pcn     { font-family: var(--fc); font-size: 11px; font-weight: 600; letter-spacing: 1px; color: var(--txt); margin-bottom: 1px; }
.pcr     { font-family: var(--fm); font-size: 7px; color: var(--txt3); margin-bottom: 6px; }
.pact    { font-family: var(--fm); font-size: 8px; color: var(--jade); padding: 3px 8px; background: rgba(52,211,153,.05); border-left: 2px solid var(--jade2); margin-bottom: 3px; line-height: 1.5; }
.pai     { background: rgba(1,195,142,.05); border: 1px solid rgba(1,195,142,.12); border-radius: 2px; padding: 9px 11px; margin-bottom: 5px; }
.pail    { font-family: var(--fc); font-size: 7px; font-weight: 600; letter-spacing: 3px; color: rgba(1,195,142,.55); margin-bottom: 4px; }
.pait    { font-family: var(--fm); font-size: 8px; color: var(--txt2); line-height: 1.6; }
.pait strong { color: var(--ice); }
.pbtns   { display: flex; gap: 8px; margin-top: 14px; }
.pbtn    { flex: 1; padding: 9px; font-family: var(--fc); font-size: 8px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; border: none; cursor: pointer; transition: all .18s; border-radius: 2px; }
.pbtn.pri { background: rgba(1,195,142,.12); border: 1px solid rgba(1,195,142,.3); color: var(--ice); }
.pbtn.pri:hover { background: rgba(1,195,142,.22); }
.pbtn.sec   { background: rgba(71,85,105,.12); border: 1px solid var(--b2); color: var(--txt3); }
.pbtn.abort { background: rgba(248,113,113,.08); border: 1px solid rgba(248,113,113,.25); color: var(--red); }
.pbtn.abort:hover { background: rgba(248,113,113,.18); }

/* === ROLE BADGE (topbar) === */
.t-role-badge {
  display: flex; align-items: center; gap: 5px;
  padding: 3px 10px 3px 8px;
  background: var(--gold-dim); border: 1px solid var(--border2);
  border-radius: 2px; margin-right: 6px;
}
.t-role-icon { font-size: 10px; color: var(--role-color, var(--gold)); }
.t-role-name { font-family: var(--fc); font-size: 9px; letter-spacing: 2px; color: var(--role-color, var(--gold)); }

.t-logout {
  display: flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; background: transparent;
  border: 1px solid rgba(248,113,113,.2); border-radius: 2px;
  color: var(--red); font-size: 12px; cursor: pointer;
  transition: background .2s, border-color .2s; margin-right: 8px;
}
.t-logout:hover { background: rgba(248,113,113,.1); border-color: rgba(248,113,113,.5); }

/* === ROE PANEL (defense) === */
#roe-panel { display: flex; flex-direction: column; gap: 4px; padding: 6px 0; }
.roe-row { display: flex; justify-content: space-between; align-items: center; padding: 5px 8px; background: var(--surf); border-radius: 2px; }
.roe-lbl { font-family: var(--fm); font-size: 7px; letter-spacing: 2px; color: var(--txt3); }
.roe-val { font-family: var(--fc); font-size: 9px; letter-spacing: 2px; }
.roe-val.amber { color: var(--amber); }
.roe-val.jade  { color: var(--jade); }
.roe-val.txt2  { color: var(--txt2); }

/* === IFF TRACKS LIST === */
#iff-list { display: flex; flex-direction: column; gap: 3px; }
.iff-track {
  display: flex; align-items: center; gap: 6px;
  padding: 5px 8px; background: var(--surf); border-radius: 2px;
  border-left: 2px solid var(--txt4);
}
.iff-track.ami     { border-left-color: #3b82f6; }
.iff-track.hostile { border-left-color: var(--red); }
.iff-track.unknown { border-left-color: var(--amber); }
.iff-sym  { width: 10px; height: 10px; flex-shrink: 0; border-radius: 1px; }
.iff-id   { font-family: var(--fc); font-size: 9px; letter-spacing: 1px; color: var(--txt); flex: 1; }
.iff-cls  { font-family: var(--fm); font-size: 7px; letter-spacing: 1px; }

/* === FONT UPDATES: use Gruppo for tactical labels, Inter for data === */
.plbl       { font-family: var(--fc); }
.dc-id      { font-family: var(--fc); }
.dc-st      { font-family: var(--fc); }
.t-bname    { font-family: var(--fc); }
.lg-title   { font-family: var(--fc); }
.b-name     { font-family: var(--fc); }
.aiclbl     { font-family: var(--fc); }
.hname      { font-family: var(--fc); }
.mqt        { font-family: var(--fc); }
.pcn        { font-family: var(--fc); }
.pico       { font-family: var(--fc); }

.dc-desc    { font-family: var(--fd); }
.aictxt     { font-family: var(--fd); }
.pcr        { font-family: var(--fd); }
.mqs        { font-family: var(--fd); }

/* === GOLD accent on active/selected states (replaces ice for non-medical contexts) === */
[data-role="defense"] .dc.sel  { border-color: rgba(248,113,113,.3); box-shadow: 0 0 0 1px rgba(248,113,113,.08); }
[data-role="defense"] .brf     { background: linear-gradient(90deg,var(--red2),var(--red)) !important; }
[data-role="drone_mgr"] .dc.sel { border-color: var(--border2); box-shadow: 0 0 0 1px var(--gold-dim); }

/* === LOGIN DEMO PANEL === */
.lg-demo      { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.06); }
.lg-demo-lbl  { font-family: var(--fm); font-size: 7px; letter-spacing: 3px; color: var(--txt3); margin-bottom: 6px; text-align: center; }
#lg-demo-list { display: flex; flex-direction: column; gap: 2px; }
.lg-demo-row  { display: flex; justify-content: space-between; align-items: center; padding: 5px 10px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.05); border-radius: 2px; cursor: pointer; transition: background .15s; }
.lg-demo-row:hover { background: rgba(194,151,23,.08); border-color: rgba(194,151,23,.2); }
.lg-demo-role { font-family: var(--fc); font-size: 8px; font-weight: 700; letter-spacing: 2px; color: var(--gold); width: 60px; }
.lg-demo-user { font-family: var(--fm); font-size: 8px; color: var(--txt3); }

/* === DRONE CAPABILITY BLOCK === */
.dc-cap { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-top: 6px; padding-top: 5px; border-top: 1px solid var(--b1); }
.cap-pill { font-family: var(--fc); font-size: 8px; font-weight: 700; letter-spacing: 2px; padding: 1px 7px; border-radius: 1px; }
.cap-pill.cap-HEAVY    { background: rgba(251,146,60,.1);  color: var(--heavy);    border: 1px solid rgba(251,146,60,.2); }
.cap-pill.cap-ISR      { background: rgba(56,189,248,.08); color: var(--isr);      border: 1px solid rgba(56,189,248,.2); }
.cap-pill.cap-LOGISTICS{ background: rgba(251,146,60,.08); color: var(--logistics);border: 1px solid rgba(251,146,60,.15); }
.cap-pill.cap-DEFENSE  { background: rgba(248,113,113,.08);color: var(--defense);  border: 1px solid rgba(248,113,113,.2); }
.cap-pill.cap-MUL      { background: rgba(167,139,250,.08);color: var(--mul);      border: 1px solid rgba(167,139,250,.2); }
.cap-pill.cap-ML       { background: rgba(52,211,153,.07); color: var(--ml);       border: 1px solid rgba(52,211,153,.15); }
.cap-pill.cap-JAMMING  { background: rgba(251,191,36,.07); color: var(--jamming);  border: 1px solid rgba(251,191,36,.15); }
.cap-live  { font-family: var(--fm); font-size: 7px; color: var(--red); animation: blink .8s infinite; }
.cap-meta  { font-family: var(--fm); font-size: 7px; color: var(--txt3); }
.cap-row   { display: flex; gap: 8px; align-items: center; width: 100%; }
.cap-lbl   { font-family: var(--fm); font-size: 7px; color: var(--txt3); width: 28px; flex-shrink: 0; }
.cap-val   { font-family: var(--fm); font-size: 8px; color: var(--txt2); }

/* === C-UAS THREAT CARDS (defense) === */
.cuas-card { padding: 8px 10px; border-radius: 2px; margin-bottom: 4px; border-left: 2px solid var(--txt4); background: var(--surf); }
.cuas-card.hostile { border-left-color: var(--red); background: rgba(248,113,113,.05); }
.cuas-card.unknown { border-left-color: var(--amber); background: rgba(251,191,36,.04); }
.cuas-hdr  { display: flex; justify-content: space-between; align-items: center; margin-bottom: 3px; }
.cuas-id   { font-family: var(--fc); font-size: 10px; letter-spacing: 2px; color: var(--txt); }
.cuas-threat { font-family: var(--fc); font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.cuas-body { font-family: var(--fm); font-size: 7px; color: var(--txt2); margin-bottom: 2px; }
.cuas-meta { font-family: var(--fm); font-size: 7px; color: var(--txt3); margin-bottom: 2px; }
.cuas-note { font-family: var(--fm); font-size: 7px; color: var(--txt3); font-style: italic; }

/* === MAINTENANCE CARDS (fleet mgr) === */
.maint-card { padding: 8px 10px; background: var(--surf); border-radius: 2px; margin-bottom: 4px; border-left: 2px solid var(--amber); }
.maint-hdr  { display: flex; justify-content: space-between; margin-bottom: 4px; }
.maint-id   { font-family: var(--fc); font-size: 9px; letter-spacing: 1px; color: var(--txt); }
.maint-issue{ font-family: var(--fc); font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.maint-bars { display: flex; gap: 12px; }
.maint-bar-row { display: flex; gap: 6px; align-items: center; font-family: var(--fm); font-size: 7px; color: var(--txt3); }

/* === STOCK ROWS (fleet mgr) === */
#stock-list { padding: 0 11px 8px; display: flex; flex-direction: column; gap: 2px; }
.stock-row  { display: flex; justify-content: space-between; align-items: center; padding: 5px 8px; background: var(--surf); border-radius: 2px; border-left: 2px solid transparent; }
.stock-row.low { border-left-color: var(--red); background: rgba(248,113,113,.04); }
.stock-name { font-family: var(--fd); font-size: 8px; color: var(--txt); }
.stock-cont { font-family: var(--fm); font-size: 7px; color: var(--txt3); margin-top: 1px; }
.stock-qty  { font-family: var(--fm); font-size: 9px; font-weight: 500; }
.stock-temp { font-family: var(--fm); font-size: 7px; margin-top: 1px; }

/* === MISSION QUEUE STATUS BADGE + ETA === */
.mqt-row  { display: flex; justify-content: space-between; align-items: center; gap: 6px; margin-bottom: 2px; }
.mst      { font-family: var(--fc); font-size: 7px; font-weight: 700; letter-spacing: 1.5px; padding: 1px 6px; border-radius: 1px; flex-shrink: 0; }
.mst-active   { background: rgba(1,195,142,.1);  color: var(--jade); border: 1px solid rgba(1,195,142,.2); }
.mst-planned  { background: rgba(71,85,105,.12); color: var(--txt3); border: 1px solid var(--b2); }
.mst-briefed  { background: rgba(251,191,36,.08);color: var(--amber); border: 1px solid rgba(251,191,36,.2); }
.mst-done     { background: rgba(56,189,248,.07);color: var(--isr);   border: 1px solid rgba(56,189,248,.15); }
.mst-aborted  { background: rgba(248,113,113,.08);color: var(--red);  border: 1px solid rgba(248,113,113,.2); }
.meta-eta { font-family: var(--fm); font-size: 7px; color: var(--amber); margin-top: 3px; letter-spacing: 1px; }

/* === HOSPITAL CARD LAYOUT + PRE-ALERT === */
.hc-main  { flex: 1; min-width: 0; }
.hc-right { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex-shrink: 0; }
.h-alert-btn {
  font-family: var(--fc); font-size: 7px; font-weight: 700; letter-spacing: 1.5px;
  padding: 3px 8px; border-radius: 1px; cursor: pointer; transition: all .18s;
  background: rgba(248,113,113,.08); border: 1px solid rgba(248,113,113,.25); color: var(--red);
}
.h-alert-btn:hover { background: rgba(248,113,113,.18); border-color: rgba(248,113,113,.5); }
.h-alert-btn.sent  { background: rgba(52,211,153,.08); border-color: rgba(52,211,153,.3); color: var(--jade); }

/* === DRONE INFO BUTTON === */
.dc-info {
  background: none; border: none; color: var(--txt3); cursor: pointer;
  font-size: 11px; line-height: 1; padding: 0 2px; transition: color .15s; flex-shrink: 0;
}
.dc-info:hover { color: var(--ice); }

/* === DRONE DETAIL POPUP === */
#drone-popup {
  display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%);
  z-index: 200; width: 280px; max-height: 80vh; overflow-y: auto;
  background: var(--panel); border: 1px solid var(--b2); border-radius: 3px;
  box-shadow: 0 8px 40px rgba(0,0,0,.6);
}
#drone-popup.on { display: flex; flex-direction: column; }
.dp-hdr   { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--b1); }
.dp-icon  { font-family: var(--fc); font-size: 10px; font-weight: 700; letter-spacing: 2px; min-width: 36px; }
.dp-info  { flex: 1; }
.dp-title { font-family: var(--fc); font-size: 11px; font-weight: 700; letter-spacing: 1.5px; color: var(--txt); }
.dp-status{ font-family: var(--fm); font-size: 8px; margin-top: 2px; letter-spacing: 1px; }
.dp-close { background: none; border: none; color: var(--txt3); cursor: pointer; font-size: 15px; line-height: 1; }
.dp-sec   { font-family: var(--fc); font-size: 7px; font-weight: 700; letter-spacing: 3px; color: var(--txt3); padding: 10px 14px 4px; border-top: 1px solid var(--b1); margin-top: 2px; }
.dp-sec:first-child { border-top: none; margin-top: 0; }
.dp-row   { display: flex; justify-content: space-between; padding: 3px 14px; }
.dp-lbl   { font-family: var(--fm); font-size: 8px; color: var(--txt3); }
.dp-val   { font-family: var(--fm); font-size: 8px; color: var(--txt2); text-align: right; }
.dp-caps  { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px 14px 8px; }
.dp-cap-pill { font-family: var(--fm); font-size: 7px; padding: 2px 7px; border-radius: 1px; background: rgba(1,195,142,.07); border: 1px solid rgba(1,195,142,.15); color: var(--txt2); }
.dp-cap-pill.crew { background: rgba(251,146,60,.07); border-color: rgba(251,146,60,.15); color: var(--heavy); }
.dp-desc  { font-family: var(--fm); font-size: 7px; color: var(--txt3); padding: 2px 14px 10px; line-height: 1.6; }

/* === PATIENT QUEUE CARDS (medical) === */
#patient-queue-list { padding: 0 11px 8px; display: flex; flex-direction: column; gap: 3px; }
.pat-card  { padding: 8px 10px; background: var(--surf); border-radius: 2px; margin-bottom: 4px; }
.pat-hdr   { display: flex; justify-content: space-between; align-items: center; margin-bottom: 3px; padding-bottom: 4px; border-left: 2px solid; border-left-color: inherit; padding-left: 6px; }
.pat-id    { font-family: var(--fc); font-size: 9px; letter-spacing: 1px; color: var(--txt); }
.pat-prio  { font-family: var(--fc); font-size: 8px; color: var(--red); font-weight: 700; }
.pat-injury{ font-family: var(--fd); font-size: 8px; color: var(--txt2); margin-bottom: 2px; }
.pat-meta  { font-family: var(--fm); font-size: 7px; color: var(--txt3); margin-bottom: 1px; }
.pat-drone { font-family: var(--fm); font-size: 7px; color: var(--txt4); display: block; margin-top: 4px; padding-top: 3px; border-top: 1px solid var(--b1); }

/* === NOTIFICATION LOG PANEL === */
#notif-panel {
  display: none; position: fixed; top: 48px; right: 10px;
  z-index: 9200; width: 300px; max-height: 420px;
  background: rgba(11,14,11,.98); border: 1px solid var(--b2); border-radius: 3px;
  backdrop-filter: blur(24px); box-shadow: 0 8px 40px rgba(0,0,0,.7);
  flex-direction: column; overflow: hidden;
}
#notif-panel.on { display: flex; }
#notif-list { flex: 1; overflow-y: auto; padding: 4px 0; }
.notif-row { display: flex; align-items: flex-start; gap: 8px; padding: 7px 14px; border-bottom: 1px solid var(--b1); }
.notif-dot { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; margin-top: 4px; }
.notif-dot.mission { background: var(--jade); }
.notif-dot.drone   { background: var(--amber); }
.notif-dot.alert   { background: var(--red); }
.notif-dot.info    { background: var(--isr); }
.notif-msg { font-family: var(--fm); font-size: 8px; color: var(--txt2); line-height: 1.5; flex: 1; }
.notif-ts  { font-family: var(--fm); font-size: 7px; color: var(--txt4); flex-shrink: 0; margin-top: 1px; }

/* === ADMIN SUMMARY === */
#admin-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; padding: 6px 10px 8px; }
.astat { background: var(--surf); border: 1px solid var(--b1); border-radius: 2px; padding: 7px 9px; }
.astat-val { font-family: var(--fc); font-size: 16px; font-weight: 700; color: var(--jade); line-height: 1; }
.astat-val.warn { color: var(--amber); }
.astat-val.alert { color: var(--red); }
.astat-lbl { font-family: var(--fm); font-size: 7px; color: var(--txt3); margin-top: 3px; letter-spacing: 1px; }

/* === MISSION FILTER TABS === */
.mqtabs { display: flex; gap: 0; border-bottom: 1px solid var(--b1); }
.mqtab  { flex: 1; font-family: var(--fc); font-size: 7px; font-weight: 700; letter-spacing: 1.5px; padding: 5px 4px; text-align: center; cursor: pointer; color: var(--txt4); background: transparent; border: none; border-bottom: 2px solid transparent; transition: all .15s; }
.mqtab:hover { color: var(--txt2); }
.mqtab.on    { color: var(--ice); border-bottom-color: var(--ice); }

/* === FLEET ASSIGNMENT ROWS === */
.assign-row { display: flex; align-items: center; gap: 6px; padding: 5px 10px; border-bottom: 1px solid var(--b1); font-family: var(--fm); font-size: 8px; }
.assign-mis { color: var(--ice); font-weight: 600; font-family: var(--fc); width: 60px; flex-shrink: 0; }
.assign-drn { color: var(--txt2); flex: 1; }
.assign-st  { font-family: var(--fc); font-size: 7px; font-weight: 700; letter-spacing: 1px; }
.assign-bat { font-size: 7px; flex-shrink: 0; }

/* === C-UAS INTERCEPT ACTIONS === */
.cuas-actions { display: flex; gap: 5px; margin-top: 6px; }
.cuas-btn { flex: 1; font-family: var(--fc); font-size: 7px; font-weight: 700; letter-spacing: 1px; padding: 4px 6px; border-radius: 2px; cursor: pointer; transition: all .15s; }
.intercept-btn { background: rgba(248,113,113,.08); border: 1px solid rgba(248,113,113,.3); color: var(--red); }
.intercept-btn:hover:not(:disabled) { background: rgba(248,113,113,.18); border-color: rgba(248,113,113,.6); }
.intercept-btn:disabled { opacity: .5; cursor: default; }
.monitor-btn { background: rgba(251,191,36,.06); border: 1px solid rgba(251,191,36,.25); color: var(--amber); }
.monitor-btn:hover { background: rgba(251,191,36,.14); border-color: rgba(251,191,36,.5); }
.cuas-intercept-status { font-family: var(--fm); font-size: 7px; color: var(--txt3); margin-top: 4px; min-height: 10px; }

/* === MISSION QUEUE DRONE BADGE === */
.mqdrn     { display: flex; align-items: center; gap: 5px; margin-top: 4px; padding-top: 3px; border-top: 1px solid var(--b1); }
.mqdrn-lbl { font-family: var(--fm); font-size: 7px; color: var(--txt3); flex: 1; }
.mqdrn-st  { font-family: var(--fc); font-size: 7px; font-weight: 700; letter-spacing: 1px; }
.mqdrn-bat { font-family: var(--fm); font-size: 7px; }

/* === MISSION POPUP BRIEF === */
.pdesc { font-family: var(--fm); font-size: 8px; color: var(--txt3); line-height: 1.7; padding: 6px 0; }

/* === MISSION TIMELINE === */
.ptl { padding: 4px 0; }
.ptl-row { display: flex; align-items: center; gap: 8px; padding: 3px 0; }
.ptl-dot  { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; }
.ptl-dot.mst-planned  { background: var(--txt4); }
.ptl-dot.mst-active   { background: var(--jade); }
.ptl-dot.mst-done     { background: var(--isr); }
.ptl-dot.mst-aborted  { background: var(--red); }
.ptl-lbl { font-family: var(--fc); font-size: 7px; font-weight: 700; letter-spacing: 1.5px; color: var(--txt3); flex: 1; }
.ptl-ts  { font-family: var(--fm); font-size: 7px; color: var(--txt4); }

/* === MISSION CREATE GPS PIN === */
.mc-gps-row { display: flex; align-items: center; gap: 8px; padding: 4px 16px 2px; }
.mc-gps-btn { font-family: var(--fc); font-size: 7px; font-weight: 700; letter-spacing: 1.5px; padding: 4px 10px; border-radius: 2px; cursor: pointer; background: rgba(1,195,142,.06); border: 1px solid rgba(1,195,142,.2); color: var(--ice); transition: all .15s; }
.mc-gps-btn:hover, .mc-gps-btn.active { background: rgba(1,195,142,.14); border-color: rgba(1,195,142,.5); }
.mc-gps-btn.active { animation: blink .6s infinite; }
.mc-gps-val { font-family: var(--fm); font-size: 8px; color: var(--txt3); }

/* === DRONE GPS FIX INDICATOR === */
.gps-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--jade); flex-shrink: 0; box-shadow: 0 0 4px var(--jade); margin: 0 2px; }
.gps-dot.gps-none { background: var(--txt4); box-shadow: none; }

/* === MEDICAL QUEUED PATIENT CARD === */
.pat-queued { opacity: .7; }
.pat-queued .pat-hdr { border-left-width: 2px !important; }

/* === SEARCH RESULTS ENHANCED === */
.sr-type { font-family: var(--fc); font-size: 6px; font-weight: 700; letter-spacing: 1.5px; padding: 1px 4px; border-radius: 2px; margin-right: 4px; background: rgba(255,255,255,.06); color: var(--txt3); }
.sr-drone .sr-type  { color: var(--jade); }
.sr-mission .sr-type { color: var(--amber); }
.sr-no-gps { opacity: .55; }
.sr-dim { color: var(--txt4); font-size: 7px; }
.sr-sep { height: 1px; background: var(--b1); margin: 3px 8px; }

/* === FLEET ASSIGN ETA === */
.assign-eta { font-family: var(--fm); font-size: 7px; color: var(--amber); margin-left: auto; }

/* === INJURY PRESET TAGS === */
.injury-presets { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px 16px 6px; }
.injury-tag { font-family: var(--fc); font-size: 6.5px; font-weight: 700; letter-spacing: 1.2px; padding: 3px 7px; border-radius: 2px; cursor: pointer; background: rgba(255,255,255,.04); border: 1px solid var(--b1); color: var(--txt3); transition: all .12s; }
.injury-tag:hover { background: rgba(1,195,142,.1); border-color: rgba(1,195,142,.3); color: var(--ice); }
.injury-tag.sel  { background: rgba(1,195,142,.14); border-color: rgba(1,195,142,.5); color: var(--jade); }

/* === NOTIFICATION BADGE PULSE === */
@keyframes pillPulse { 0%,100% { box-shadow: none; } 50% { box-shadow: 0 0 0 3px rgba(251,191,36,.35); } }
.pill.pulse { animation: pillPulse 0.4s ease 3; }

/* === PATIENT VITALS === */
.pat-vitals { display: flex; gap: 8px; padding: 4px 0 2px; border-top: 1px solid var(--b1); margin-top: 3px; font-family: var(--fm); font-size: 7px; color: var(--txt4); }
.pat-vitals span { display: flex; align-items: center; gap: 3px; }
.vital-val { font-family: var(--fc); font-weight: 700; font-size: 8px; letter-spacing: .5px; transition: color .5s; }

/* === KEYBOARD HELP OVERLAY === */
#help-overlay { position:fixed; inset:0; background:rgba(5,8,14,.82); z-index:9999; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(4px); }
.help-box { background:var(--bg2); border:1px solid var(--b2); border-radius:4px; min-width:280px; }
.help-hdr { display:flex; align-items:center; justify-content:space-between; padding:10px 14px 8px; border-bottom:1px solid var(--b1); font-family:var(--f); font-size:9px; font-weight:700; letter-spacing:2px; color:var(--txt2); }
.help-grid { padding:10px 14px 14px; display:flex; flex-direction:column; gap:6px; }
.help-row { display:flex; align-items:center; gap:12px; font-family:var(--fm); font-size:8px; color:var(--txt3); }
kbd { font-family:var(--f); font-size:7.5px; font-weight:700; padding:2px 6px; border-radius:2px; background:rgba(255,255,255,.06); border:1px solid var(--b2); color:var(--txt2); min-width:28px; text-align:center; }

/* === DRONE POPUP GPS LINK === */
.dp-gps { cursor:pointer; text-decoration:none; transition:color .15s; }
.dp-gps:hover { color:var(--jade) !important; }

/* === MISSION ELAPSED TIMER === */
.mq-elapsed { font-family: var(--fm); font-size: 7px; color: var(--txt4); margin-top: 2px; }

/* === DRONE POPUP ACTIONS === */
.dp-actions { display: flex; gap: 6px; padding: 4px 0 2px; flex-wrap: wrap; }
.dp-act-btn { font-family: var(--fc); font-size: 6.5px; font-weight: 700; letter-spacing: 1.2px; padding: 4px 9px; border-radius: 2px; cursor: pointer; background: rgba(1,195,142,.06); border: 1px solid rgba(1,195,142,.2); color: var(--ice); transition: all .12s; }
.dp-act-btn:hover { background: rgba(1,195,142,.14); border-color: rgba(1,195,142,.5); }
.dp-act-btn.warn { background: rgba(251,191,36,.06); border-color: rgba(251,191,36,.2); color: var(--amber); }
.dp-act-btn.warn:hover { background: rgba(251,191,36,.14); border-color: rgba(251,191,36,.5); }

/* === STOCK CONTROL === */
.stock-row { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 4px 0; border-bottom: 1px solid var(--b1); }
.stock-info { flex: 1; min-width: 0; }
.stock-ctrl { display: flex; align-items: center; gap: 5px; flex-shrink: 0; }
.stock-btn { font-family: var(--fc); font-size: 10px; font-weight: 700; width: 18px; height: 18px; border-radius: 2px; cursor: pointer; background: rgba(255,255,255,.04); border: 1px solid var(--b1); color: var(--txt3); display: flex; align-items: center; justify-content: center; transition: all .12s; }
.stock-btn:hover { background: rgba(1,195,142,.1); border-color: rgba(1,195,142,.3); color: var(--jade); }

/* === COMMS ACTIVE CHANNEL === */
.comr-active { background: rgba(1,195,142,.06); border-left: 2px solid var(--jade); padding-left: 6px; margin-left: -8px; }

/* === HOSPITAL BADGES & FILTER === */
.h-badge { font-family:var(--f); font-size:6px; font-weight:700; letter-spacing:1px; padding:1px 4px; border-radius:2px; vertical-align:middle; margin-left:5px; }
.h-heli { background:rgba(6,182,212,.12); border:1px solid rgba(6,182,212,.3); color:#06b6d4; }
.h-tl.h-red { background:rgba(248,113,113,.1); border:1px solid rgba(248,113,113,.3); color:var(--red); }
.h-tl.h-amber { background:rgba(251,191,36,.08); border:1px solid rgba(251,191,36,.25); color:var(--amber); }
.h-tl.h-ice { background:rgba(99,179,237,.08); border:1px solid rgba(99,179,237,.2); color:var(--ice); }
.hfil-btn { font-family:var(--f); font-size:6.5px; font-weight:700; letter-spacing:1.2px; padding:2px 7px; border-radius:2px; cursor:pointer; background:rgba(6,182,212,.06); border:1px solid rgba(6,182,212,.2); color:rgba(6,182,212,.7); transition:all .12s; }
.hfil-btn:hover { background:rgba(6,182,212,.14); border-color:rgba(6,182,212,.5); }
.hfil-btn.hfil-on { background:rgba(6,182,212,.2); border-color:#06b6d4; color:#06b6d4; }

/* === DRONE CHARGING ANIMATION === */
@keyframes batCharge {
  0%,100% { opacity:1; filter:brightness(1); }
  50% { opacity:.65; filter:brightness(1.35) saturate(1.5); }
}
.bat-charging { animation: batCharge 1.4s ease-in-out infinite; }

/* === COLD CHAIN TEMP ALERT === */
@keyframes tempPulse { 0%,100%{border-color:rgba(248,113,113,.25)} 50%{border-color:rgba(248,113,113,.7)} }
.stock-row.temp-alert { border-left:2px solid var(--red); padding-left:5px; animation:tempPulse 2s ease-in-out infinite; }
.stock-temp { font-family:var(--f); font-size:7px; font-weight:700; letter-spacing:.5px; margin-left:4px; }

/* === DRONE POPUP MAINTENANCE NOTE === */
.dp-maint-note { font-family:var(--fm); font-size:7.5px; color:var(--txt3); line-height:1.5; padding:4px 0 2px; border-left:2px solid rgba(251,191,36,.3); padding-left:7px; margin-top:2px; }

/* === ADMIN BATTERY GRID === */
#admin-bat-grid { display:flex; gap:4px; flex-wrap:wrap; padding:4px 0 6px; }
.ab-pip { width:26px; height:42px; border-radius:3px; border:1px solid; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; padding:2px 3px 0; cursor:default; position:relative; overflow:hidden; }
.ab-bar { width:100%; border-radius:2px 2px 0 0; transition:height .5s; }
.ab-lbl { font-family:var(--f); font-size:5px; font-weight:700; letter-spacing:.5px; color:var(--txt4); text-align:center; margin-top:2px; white-space:nowrap; }

/* === ADMIN CANVAS CHARTS === */
#admin-chart-health, #admin-chart-missions { background:rgba(255,255,255,.02); border-radius:2px; }

/* === IFF CLASSIFY BUTTONS === */
.iff-classify-row { display:flex; gap:4px; margin-top:4px; }
.iff-cls-btn { font-family:var(--f); font-size:6px; font-weight:700; letter-spacing:1px; padding:2px 6px; border-radius:2px; cursor:pointer; transition:all .12s; }
.iff-cls-btn.ami { background:rgba(59,130,246,.08); border:1px solid rgba(59,130,246,.25); color:#60a5fa; }
.iff-cls-btn.ami:hover { background:rgba(59,130,246,.18); border-color:#60a5fa; }
.iff-cls-btn.hostile { background:rgba(248,113,113,.08); border:1px solid rgba(248,113,113,.25); color:var(--red); }
.iff-cls-btn.hostile:hover { background:rgba(248,113,113,.18); border-color:var(--red); }
.iff-track { display:flex; align-items:flex-start; gap:8px; padding:5px 0; border-bottom:1px solid var(--b1); }

/* === COMMS RADIO LOG === */
#comms-log-wrap { margin-top:6px; border:1px solid var(--b1); border-radius:3px; overflow:hidden; }
.cl-hdr { display:flex; align-items:center; justify-content:space-between; padding:5px 8px; background:rgba(255,255,255,.03); border-bottom:1px solid var(--b1); font-family:var(--f); font-size:7px; font-weight:700; letter-spacing:1.5px; color:var(--txt3); }
.cl-hdr button { background:none; border:none; color:var(--txt4); cursor:pointer; font-size:8px; padding:0 2px; }
.cl-hdr button:hover { color:var(--txt2); }
#comms-log { max-height:90px; overflow-y:auto; padding:4px 8px; }
@keyframes clSlide { from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:translateY(0)} }
.cl-entry { display:flex; gap:6px; padding:3px 0; border-bottom:1px solid rgba(255,255,255,.03); animation:clSlide .2s ease; }
.cl-ts { font-family:var(--f); font-size:6.5px; color:var(--txt4); flex-shrink:0; }
.cl-msg { font-family:var(--fm); font-size:7px; color:var(--txt3); line-height:1.4; }

/* === MISSION PRIORITY ESCALATE BUTTON === */
.escalate-btn { font-family:var(--f); font-size:6px; font-weight:700; letter-spacing:1px; padding:2px 6px; border-radius:2px; cursor:pointer; background:rgba(248,113,113,.07); border:1px solid rgba(248,113,113,.25); color:var(--red); margin-left:auto; transition:all .12s; }
.escalate-btn:hover { background:rgba(248,113,113,.16); border-color:var(--red); }
.prow { display:flex; align-items:center; }

/* === DRONE LAST-SEEN AGE BADGE === */
.dc-age { font-family:var(--fm); font-size:6px; color:var(--txt4); margin-left:3px; flex-shrink:0; }
.dc-age.stale { color:var(--red); animation:blink .8s infinite; }

/* === MISSION TYPE FILTER TABS === */
.mqtabs-type { margin-top:3px; opacity:.75; }
.mqtabs-type .mqtab { font-size:6px; padding:2px 7px; }
.mqtabs-type .mqtab.on { opacity:1; }

/* === MISSION POPUP DRONE ASSIGNMENT === */
.p-assign-row { display:flex; align-items:center; gap:5px; margin-top:3px; }
.p-assign-sel { font-family:var(--f); font-size:7px; color:var(--txt2); background:var(--bg2); border:1px solid var(--b2); border-radius:2px; padding:3px 5px; flex:1; min-width:0; cursor:pointer; }
.p-assign-btn { font-family:var(--f); font-size:6.5px; font-weight:700; letter-spacing:1px; padding:3px 8px; border-radius:2px; cursor:pointer; background:rgba(1,195,142,.08); border:1px solid rgba(1,195,142,.25); color:var(--jade); flex-shrink:0; transition:all .12s; }
.p-assign-btn:hover { background:rgba(1,195,142,.18); border-color:var(--jade); }
.p-unassign-btn { font-family:var(--f); font-size:6px; font-weight:700; letter-spacing:1px; padding:2px 6px; border-radius:2px; cursor:pointer; background:rgba(248,113,113,.06); border:1px solid rgba(248,113,113,.2); color:var(--red); transition:all .12s; }
.p-unassign-btn:hover { background:rgba(248,113,113,.14); border-color:var(--red); }

/* === MISSION FIELD NOTES === */
.p-notes-log { max-height:80px; overflow-y:auto; margin-bottom:4px; }
.p-note-line { font-family:var(--fm); font-size:7px; color:var(--txt3); line-height:1.5; padding:1px 0; }
.p-note-line:first-child { color:var(--txt2); }
.p-notes-empty { font-family:var(--fm); font-size:7px; color:var(--txt4); padding:2px 0 4px; font-style:italic; }
.p-note-input-row { display:flex; gap:5px; align-items:flex-start; margin-top:4px; }
.p-note-ta { font-family:var(--fm); font-size:7.5px; color:var(--txt2); background:rgba(255,255,255,.03); border:1px solid var(--b2); border-radius:2px; padding:4px 6px; flex:1; resize:vertical; min-height:28px; outline:none; }
.p-note-ta:focus { border-color:rgba(1,195,142,.4); }
.p-note-save { font-family:var(--f); font-size:6.5px; font-weight:700; letter-spacing:1px; padding:4px 8px; border-radius:2px; cursor:pointer; background:rgba(1,195,142,.07); border:1px solid rgba(1,195,142,.2); color:var(--jade); flex-shrink:0; align-self:flex-end; transition:all .12s; }
.p-note-save:hover { background:rgba(1,195,142,.16); border-color:var(--jade); }

/* === DRONE HOME BASE ROW === */
.dp-homebase { font-family:var(--f); font-size:7px; font-weight:700; letter-spacing:1px; color:var(--txt3); padding:3px 0; }

/* === HUD GO/NO-GO BADGE === */
.hud-gonogo {
  display: inline-block;
  font-family: var(--fc);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 1px 5px;
  border-radius: 2px;
  vertical-align: middle;
  margin-left: 4px;
}
.hud-gonogo.go      { background: rgba(0,255,120,.15); color: var(--jade); border: 1px solid rgba(0,255,120,.3); }
.hud-gonogo.caution { background: rgba(255,180,0,.15);  color: var(--amber); border: 1px solid rgba(255,180,0,.3); }
.hud-gonogo.nogo    { background: rgba(255,60,60,.15);  color: var(--red);   border: 1px solid rgba(255,60,60,.3); }

/* === TELESTRATION TOOLBAR === */
#tele-bar {
  position: fixed;
  bottom: 52px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 420;
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(8,12,18,.88);
  border: 1px solid rgba(0,220,255,.22);
  border-radius: 4px;
  padding: 5px 10px;
  pointer-events: all;
}
#tele-bar.hidden { display: none; }
.tele-btn {
  font-family: var(--fc);
  font-size: 9px;
  font-weight: 700;
  color: var(--txt3);
  background: transparent;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 2px;
  padding: 3px 9px;
  cursor: pointer;
  transition: all .15s;
}
.tele-btn:hover  { color: var(--ice); border-color: rgba(0,220,255,.4); }
.tele-btn.active { color: var(--ice); background: rgba(0,220,255,.12); border-color: var(--ice); }
.tele-sep  { width: 1px; height: 14px; background: rgba(255,255,255,.1); margin: 0 2px; }
#tele-color {
  width: 20px; height: 20px;
  border: none; border-radius: 2px;
  cursor: pointer; padding: 0;
  background: none;
}

/* === COMMS QUICK-SEND PRESETS === */
#comms-presets { display: flex; flex-wrap: wrap; gap: 3px; padding: 4px 0 5px; border-bottom: 1px solid rgba(255,255,255,.05); }
.cl-preset {
  font-family: var(--fm); font-size: 7.5px; color: var(--txt3);
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08);
  border-radius: 2px; padding: 2px 6px; cursor: pointer; transition: all .12s;
  max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cl-preset:hover { color: var(--ice); border-color: rgba(0,220,255,.35); background: rgba(0,220,255,.06); }
.cl-preset.cl-preset-sent { background: rgba(1,195,142,.15); border-color: rgba(1,195,142,.4); color: var(--jade); }
.cl-entry-sent .cl-msg { color: var(--jade); }
.cl-entry-sent .cl-ts  { color: rgba(1,195,142,.6); }

/* === HOSPITAL ALERTED BADGE === */
.h-alerted {
  font-family: var(--fc);
  font-size: 7px;
  font-weight: 700;
  background: rgba(251,191,36,.12);
  color: var(--amber);
  border: 1px solid rgba(251,191,36,.3);
  border-radius: 2px;
  padding: 1px 5px;
  animation: blink .9s ease-in-out infinite;
}

/* === MISSION ELAPSED TIMER === */
.meta-elapsed {
  font-family: var(--fc);
  font-size: 8px;
  font-weight: 600;
  color: rgba(251,191,36,.7);
  letter-spacing: .04em;
  margin-top: 1px;
}

/* === MISSION QUEUE QUICK-ACTIONS === */
.mq-qa-row { display: flex; gap: 4px; margin-top: 5px; flex-wrap: wrap; }
.mq-qa {
  font-family: var(--fc);
  font-size: 7.5px;
  font-weight: 700;
  letter-spacing: .05em;
  padding: 2px 8px;
  border-radius: 2px;
  cursor: pointer;
  transition: all .12s;
}
.qa-activate { background: rgba(1,195,142,.08); border: 1px solid rgba(1,195,142,.25); color: var(--jade); }
.qa-activate:hover { background: rgba(1,195,142,.18); border-color: var(--jade); }
.qa-complete { background: rgba(56,189,248,.08); border: 1px solid rgba(56,189,248,.2); color: var(--ice); }
.qa-complete:hover { background: rgba(56,189,248,.16); border-color: var(--ice); }
.qa-abort { background: rgba(248,113,113,.06); border: 1px solid rgba(248,113,113,.18); color: var(--red); }
.qa-abort:hover { background: rgba(248,113,113,.14); border-color: var(--red); }
.mq-qa:disabled { opacity: .4; cursor: default; }

/* === RTB ALL BUTTON === */
.plbl-rtb {
  font-family: var(--fc);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 2px 7px;
  border-radius: 2px;
  cursor: pointer;
  background: rgba(248,113,113,.08);
  border: 1px solid rgba(248,113,113,.25);
  color: var(--red);
  float: right;
  transition: all .12s;
}
.plbl-rtb:hover { background: rgba(248,113,113,.18); border-color: var(--red); }

/* === DRONE POPUP RTB BUTTON === */
.dp-act-rtb { background: rgba(248,113,113,.1) !important; border-color: rgba(248,113,113,.3) !important; color: var(--red) !important; }
.dp-act-rtb:hover { background: rgba(248,113,113,.22) !important; border-color: var(--red) !important; }

/* === MISSION POPUP WAYPOINTS === */
.pwp-list { margin: 3px 0 6px; }
.pwp-row { display: flex; align-items: center; gap: 8px; padding: 2px 0; border-bottom: 1px solid rgba(255,255,255,.04); }
.pwp-idx { font-family: var(--fc); font-size: 7px; color: var(--txt4); min-width: 14px; }
.pwp-lbl { font-family: var(--fc); font-size: 7.5px; color: var(--txt2); flex: 1; }
.pwp-coords { font-family: var(--fm); font-size: 7px; color: var(--ice); cursor: pointer; }
.pwp-coords:hover { color: var(--jade); text-decoration: underline; }

/* === MISSION TYPE BADGE === */
.mq-type-badge {
  font-family: var(--fc);
  font-size: 6.5px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 1px 5px;
  border-radius: 2px;
  background: rgba(56,189,248,.1);
  border: 1px solid rgba(56,189,248,.2);
  color: var(--ice);
  vertical-align: middle;
  margin-left: 4px;
}

/* === NOTIFICATION PANEL FILTERS === */
.notif-filters { display: flex; gap: 4px; padding: 6px 14px 4px; }
.nf-btn {
  font-family: var(--fc);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .07em;
  padding: 2px 8px;
  border-radius: 2px;
  cursor: pointer;
  background: transparent;
  border: 1px solid rgba(255,255,255,.08);
  color: var(--txt3);
  transition: all .1s;
}
.nf-btn:hover { border-color: rgba(255,255,255,.2); color: var(--txt2); }
.nf-btn.nf-on { background: rgba(56,189,248,.1); border-color: rgba(56,189,248,.3); color: var(--ice); }

/* === MISSION QUEUE WAIT TIME === */
.mq-wait { font-family: var(--fm); font-size: 7px; color: var(--amber); margin-top: 2px; letter-spacing: .5px; }

/* === MISSION SEARCH === */
.mq-search-wrap { padding: 3px 0 2px; }
.mq-search {
  width: 100%;
  box-sizing: border-box;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 2px;
  color: var(--txt2);
  font-family: var(--fm);
  font-size: 7px;
  letter-spacing: .06em;
  padding: 4px 8px;
  outline: none;
  transition: border-color .15s;
}
.mq-search::placeholder { color: var(--txt4); }
.mq-search:focus { border-color: rgba(56,189,248,.3); }

/* === HOSPITAL BED ADJUST === */
.hbeds-row { display: flex; align-items: center; gap: 3px; }
.hbed-adj {
  font-family: var(--fm);
  font-size: 9px;
  font-weight: 700;
  width: 14px;
  height: 14px;
  line-height: 1;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 2px;
  background: transparent;
  color: var(--txt3);
  cursor: pointer;
  padding: 0;
  transition: all .1s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hbed-adj:hover { border-color: rgba(56,189,248,.4); color: var(--ice); background: rgba(56,189,248,.08); }

/* === STOCK EXPIRY === */
.stock-exp { font-family: var(--fm); font-size: 6px; letter-spacing: .04em; margin-left: 4px; }
.stock-row.exp-crit { border-left: 2px solid var(--red); }
.stock-row.exp-warn { border-left: 2px solid var(--amber); }

/* === MISSION QUEUE EMPTY STATE === */
.mq-empty { font-family: var(--fm); font-size: 8px; color: var(--txt4); padding: 16px 0; text-align: center; letter-spacing: .08em; }

/* === HOSPITAL CAPACITY BAR === */
.hcap-bar-wrap { height: 3px; background: rgba(255,255,255,.06); border-radius: 1px; margin-top: 3px; overflow: hidden; }
.hcap-bar { height: 100%; border-radius: 1px; transition: width .4s ease, background .4s; }

/* === HOSPITAL ICU BADGE === */
.hicu { font-family: var(--fm); font-size: 6px; color: var(--ice); letter-spacing: .04em; margin-left: 4px; opacity: .7; }

/* === DRONE CARD MISSION TIME === */
.dc-mission-time { font-family: var(--fm); font-size: 6.5px; color: var(--jade); margin-top: 2px; letter-spacing: .04em; opacity: .85; }

/* === MISSION PRIORITY SUMMARY === */
.mq-prio-summary-bar { display: flex; gap: 6px; align-items: center; padding: 2px 0; min-height: 14px; flex-wrap: wrap; }
.mq-psum { font-family: var(--fm); font-size: 7px; font-weight: 700; letter-spacing: .06em; }
.mq-psum-sep { font-family: var(--fm); font-size: 7px; color: var(--txt4); }

/* =========================================================
   TACTICAL MED AI — Overlay Panel
   ========================================================= */

/* Topbar nav button */
.tmed-nav-btn {
  position: relative;
  font-family: var(--fc);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  padding: 4px 11px;
  border-radius: 2px;
  border: 1px solid rgba(0,229,160,.35);
  background: rgba(0,229,160,.07);
  color: var(--ice);
  cursor: pointer;
  transition: background .15s, border-color .15s, box-shadow .15s;
  white-space: nowrap;
  flex-shrink: 0;
}
.tmed-nav-btn:hover {
  background: rgba(0,229,160,.14);
  border-color: rgba(0,229,160,.6);
  box-shadow: 0 0 10px rgba(0,229,160,.15);
}
.nrbce-alert-badge {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 15px;
  height: 15px;
  padding: 0 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--red);
  color: #fff;
  font-family: var(--fc);
  font-size: 9px;
  font-weight: 700;
  border-radius: 8px;
  border: 1px solid #08090d;
  box-shadow: 0 0 6px rgba(248,113,113,.6);
}

/* Full-screen overlay backdrop */
#tmed-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(4,5,10,.72);
  backdrop-filter: blur(2px);
  z-index: 1000;
  align-items: stretch;
  justify-content: flex-end;
}
#tmed-overlay.tmed-visible {
  display: flex;
}

/* Right-side sliding panel */
#tmed-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 520px;
  max-width: 100vw;
  background: var(--panel);
  border-left: 1px solid var(--b1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: -6px 0 40px rgba(0,0,0,.6);
  animation: tmed-slidein .22s cubic-bezier(.22,1,.36,1);
}

@keyframes tmed-slidein {
  from { transform: translateX(100%); opacity: 0; }
  to   { transform: translateX(0);    opacity: 1; }
}

/* Header */
.tmed-hdr {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  height: 42px;
  min-height: 42px;
  border-bottom: 1px solid var(--b1);
  background: var(--panel2);
  flex-shrink: 0;
}
.tmed-title {
  font-family: var(--fc);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--ice);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tmed-title em {
  font-style: normal;
  color: var(--txt3);
  font-size: 9px;
}

/* Triage badge */
.tmed-triage-badge {
  font-family: var(--fc);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
  padding: 2px 8px;
  border-radius: 2px;
  color: #fff;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Lang toggle */
.tmed-lang {
  display: flex;
  gap: 3px;
  flex-shrink: 0;
}
.tmed-lb {
  font-family: var(--fc);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 2px 8px;
  border-radius: 2px;
  border: 1px solid rgba(255,255,255,.1);
  background: transparent;
  color: var(--txt3);
  cursor: pointer;
  transition: all .12s;
}
.tmed-lb:hover { border-color: rgba(0,229,160,.3); color: var(--txt2); }
.tmed-lb.active {
  border-color: rgba(0,229,160,.5);
  background: rgba(0,229,160,.1);
  color: var(--ice);
}

/* Close button */
.tmed-close {
  font-size: 13px;
  font-weight: 400;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
  border: 1px solid rgba(255,255,255,.1);
  background: transparent;
  color: var(--txt3);
  cursor: pointer;
  transition: all .12s;
  flex-shrink: 0;
  padding: 0;
  line-height: 1;
}
.tmed-close:hover { border-color: rgba(248,113,113,.4); color: var(--red); background: rgba(248,113,113,.08); }

/* Preset row */
.tmed-presets {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  padding: 8px 14px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  flex-shrink: 0;
}
.tmed-pre {
  font-family: var(--fc);
  font-size: 7.5px;
  font-weight: 700;
  letter-spacing: .09em;
  padding: 3px 9px;
  border-radius: 2px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  color: var(--txt3);
  cursor: pointer;
  transition: all .12s;
}
.tmed-pre:hover {
  border-color: rgba(0,229,160,.3);
  color: var(--ice);
  background: rgba(0,229,160,.06);
}
.tmed-pre.sel {
  border-color: rgba(0,229,160,.5);
  background: rgba(0,229,160,.1);
  color: var(--ice);
}

/* Textarea input */
#tmed-input {
  margin: 10px 14px 0;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 3px;
  color: var(--txt);
  font-family: var(--fm);
  font-size: 9px;
  line-height: 1.55;
  padding: 10px 12px;
  resize: vertical;
  min-height: 140px;
  max-height: 260px;
  outline: none;
  transition: border-color .15s;
  flex-shrink: 0;
  letter-spacing: .02em;
}
#tmed-input::placeholder { color: var(--txt3); font-size: 8.5px; }
#tmed-input:focus { border-color: rgba(0,229,160,.35); background: rgba(0,229,160,.025); }

/* Actions row */
.tmed-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.tmed-submit {
  font-family: var(--fc);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  padding: 6px 20px;
  border-radius: 2px;
  border: 1px solid rgba(0,229,160,.5);
  background: rgba(0,229,160,.12);
  color: var(--ice);
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.tmed-submit:hover:not(:disabled) {
  background: rgba(0,229,160,.22);
  border-color: var(--ice);
  box-shadow: 0 0 14px rgba(0,229,160,.2);
}
.tmed-submit:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.tmed-status {
  font-family: var(--fm);
  font-size: 8px;
  color: var(--txt3);
  letter-spacing: .04em;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Response area */
.tmed-response {
  flex: 1;
  overflow-y: auto;
  padding: 12px 14px 20px;
  font-family: var(--fm);
  font-size: 9px;
  line-height: 1.65;
  color: var(--txt2);
  letter-spacing: .02em;
  opacity: 0;
  transition: opacity .2s;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,229,160,.2) transparent;
}
.tmed-response::-webkit-scrollbar { width: 3px; }
.tmed-response::-webkit-scrollbar-thumb { background: rgba(0,229,160,.2); border-radius: 2px; }

/* Response content formatting */
.tmed-section {
  font-family: var(--fc);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--ice);
  margin-top: 10px;
  margin-bottom: 3px;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(0,229,160,.12);
}
.tmed-bullet {
  padding-left: 10px;
  color: var(--txt2);
  margin: 1px 0;
}
.tmed-num {
  padding-left: 6px;
  color: var(--txt2);
  margin: 1px 0;
}
.tmed-line {
  margin: 1px 0;
}
.tmed-warn {
  font-family: var(--fc);
  font-size: 9px;
  color: var(--amber);
  padding: 8px 12px;
  border-radius: 3px;
  border: 1px solid rgba(251,191,36,.2);
  background: rgba(251,191,36,.06);
  margin: 8px 0;
  letter-spacing: .06em;
}

.tmed-mode-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
}

/* =========================================================
   NRBCE DETECTION — drone gas-scan list + map
   ========================================================= */
.nrbce-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px 6px;
  flex-shrink: 0;
}
.nrbce-title-row {
  font-family: var(--fc);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--ice);
}
.nrbce-count {
  font-family: var(--fm);
  font-size: 8px;
  color: var(--txt3);
  margin-left: 6px;
}
.nrbce-refresh {
  font-family: var(--fc);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 3px 9px;
  border-radius: 2px;
  border: 1px solid rgba(255,255,255,.08);
  background: transparent;
  color: var(--txt3);
  cursor: pointer;
  transition: all .12s;
}
.nrbce-refresh:hover { border-color: rgba(0,229,160,.3); color: var(--ice); }

.nrbce-map {
  height: 170px;
  margin: 4px 14px 10px;
  border-radius: 3px;
  border: 1px solid var(--b1);
  flex-shrink: 0;
  background: var(--panel2);
}

.nrbce-list {
  flex: 1;
  overflow-y: auto;
  padding: 0 14px 16px;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,229,160,.2) transparent;
}
.nrbce-list::-webkit-scrollbar { width: 3px; }
.nrbce-list::-webkit-scrollbar-thumb { background: rgba(0,229,160,.2); border-radius: 2px; }

.nrbce-empty {
  font-family: var(--fm);
  font-size: 9px;
  color: var(--txt3);
  padding: 16px 0;
  text-align: center;
}

/* Flat ops-log row — no card box, no colored border frame. Status reads as a plain
   outlined text tag (terminal/HUD convention), not a filled "dashboard" pill. */
.nrbce-row {
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: 9px 2px 10px;
  cursor: pointer;
  transition: background .12s;
}
.nrbce-row:hover { background: rgba(255,255,255,.025); }
.nrbce-row.sel { background: rgba(0,229,160,.04); }
.nrbce-row:last-child { border-bottom: none; }

.nrbce-card-top {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin-bottom: 4px;
}
.nrbce-tag {
  font-family: var(--fm);
  font-size: 7.5px;
  font-weight: 700;
  letter-spacing: .1em;
  padding: 1px 5px;
  border: 1px solid currentColor;
  flex-shrink: 0;
}
.nrbce-tag-ok    { color: var(--jade); }
.nrbce-tag-warn  { color: var(--amber); }
.nrbce-tag-alarm { color: var(--red); }
.nrbce-drone {
  font-family: var(--fc);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--txt2);
  flex: 1;
}
.nrbce-time {
  font-family: var(--fm);
  font-size: 7.5px;
  color: var(--txt3);
  flex-shrink: 0;
}

.nrbce-level {
  font-family: var(--fc);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 1px 7px;
  border-radius: 2px;
  color: #fff;
}
.nrbce-level-ok    { background: var(--jade2); }
.nrbce-level-warn  { background: var(--amber2); }
.nrbce-level-alarm { background: var(--red2); }
.nrbce-level-na    { background: var(--txt4); color: var(--txt2); }

.nrbce-loc {
  font-family: var(--fm);
  font-size: 8px;
  color: var(--txt2);
  margin-bottom: 6px;
}
.nrbce-coords {
  color: var(--txt3);
  margin-left: 4px;
}

.nrbce-gases {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 4px;
}
.nrbce-radneuro { margin-bottom: 6px; }
.nrbce-radneuro-table { margin-bottom: 14px; }
.nrbce-gas {
  font-family: var(--fm);
  font-size: 7.5px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 2px;
  letter-spacing: .02em;
  border: 1px solid transparent;
}
.nrbce-gas-ok    { background: rgba(52,211,153,.1);  color: var(--jade);  border-color: rgba(52,211,153,.25); }
.nrbce-gas-warn  { background: rgba(251,191,36,.1);  color: var(--amber); border-color: rgba(251,191,36,.25); }
.nrbce-gas-alarm { background: rgba(248,113,113,.12); color: var(--red);  border-color: rgba(248,113,113,.3); }

.nrbce-notes {
  font-family: var(--fm);
  font-size: 7.5px;
  color: var(--txt3);
  line-height: 1.5;
  padding-top: 4px;
  border-top: 1px solid rgba(255,255,255,.04);
  font-style: italic;
}

/* NRBCE scan detail — inline panel, swaps in place of the list within the same side panel */
.nrbce-detail-inline {
  flex: 1;
  overflow-y: auto;
  padding: 0 14px 16px;
}
.nrbce-back {
  font-family: var(--fc);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .09em;
  padding: 4px 10px;
  border-radius: 2px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  color: var(--txt2);
  cursor: pointer;
  transition: all .12s;
  margin: 10px 0 12px;
}
.nrbce-back:hover { border-color: rgba(0,229,160,.3); color: var(--ice); }
#nrbce-detail-title {
  font-family: var(--fc);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--ice);
  margin-bottom: 10px;
}
.nrbce-detail-body { padding: 0; }
.nrbce-detail-meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--b1);
}
.nrbce-detail-k {
  font-family: var(--fm);
  font-size: 7px;
  letter-spacing: .12em;
  color: var(--txt3);
  margin-bottom: 4px;
}
.nrbce-detail-v { font-size: 12px; color: var(--txt); }
.nrbce-detail-coords { font-family: var(--fm); font-size: 9px; color: var(--txt3); margin-top: 2px; }

.nrbce-detail-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.nrbce-detail-table thead th {
  text-align: left;
  font-family: var(--fc);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--txt3);
  padding: 7px 8px;
  border-bottom: 1px solid var(--b2);
}
.nrbce-detail-table tbody td {
  padding: 8px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  font-family: var(--fm);
  color: var(--txt2);
}
.nrbce-detail-table .idx { color: var(--txt3); width: 20px; }
.nrbce-detail-table .gas { font-family: var(--fc); font-weight: 700; color: var(--txt); }
.nrbce-detail-table .reading { font-weight: 700; }
.nrbce-detail-table .thresh { color: var(--txt3); }

.nrbce-detail-notes {
  margin-top: 14px;
  padding: 10px 12px;
  background: var(--panel2);
  border: 1px solid var(--b1);
  border-radius: 2px;
  font-family: var(--fm);
  font-size: 10px;
  color: var(--txt2);
  font-style: italic;
}

/* Mobile — full width */
@media (max-width: 600px) {
  #tmed-panel { width: 100vw; }
}
