/* =====================================================================================
   Laboratório v2 · Exames Externos (prefixo lbx-) — /laboratorio/exames-externos
   Laudo de exame feito fora (WorkLab / outro laboratório) ligado ao pedido do prontuário.
   ===================================================================================== */

.lbx .mm-seg.sm button { height: 28px; padding: 0 10px; font-size: .72rem; }
.lbx .mm-chip.xs, .lbx-modal .mm-chip.xs { height: 18px; padding: 0 6px; font-size: .62rem; margin-left: 6px; vertical-align: middle; }

.lbx-grid { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 16px; align-items: start; }

/* ---- lista de pacientes ---- */
.lbx-pacs { position: sticky; top: 12px; }
.lbx-pacs-filtros { display: flex; flex-direction: column; gap: 8px; padding: 10px 14px; border-bottom: 1px solid var(--p-border-soft); }
.lbx-so-laudo { font-size: .74rem; }
.lbx-pacs-lista { max-height: 640px; overflow-y: auto; padding: 6px; }
.lbx-pac {
    display: flex; align-items: center; gap: 10px; width: 100%; text-align: left;
    padding: 8px 10px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--p-text); cursor: pointer;
}
.lbx-pac:hover { background: var(--p-soft); }
.lbx-pac.on { background: var(--p-blue-soft); border-color: var(--p-blue-light); }
.lbx-pac-nome { font-weight: 700; font-size: .82rem; color: var(--p-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lbx-pac-sub { font-size: .7rem; color: var(--p-muted); }

/* ---- painel do paciente ---- */
.lbx-painel { min-width: 0; }
.lbx-itens td.strong { max-width: 420px; }
.lbx-laudos { display: flex; flex-direction: column; gap: 10px; }
.lbx-laudo { border: 1px solid var(--p-border); border-radius: 12px; padding: 10px 12px; background: var(--p-surface); }
.lbx-laudo.sugerido { border-color: var(--p-green); box-shadow: 0 0 0 1px var(--p-green) inset; }
.lbx-laudo-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lbx-laudo-tit { font-weight: 800; font-size: .84rem; color: var(--p-ink); }
.lbx-laudo-sub { font-size: .72rem; color: var(--p-muted); }
.lbx-laudo-exames { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 14px; margin-top: 8px; padding-top: 8px; border-top: 1px dashed var(--p-border-soft); }
.lbx-ex { font-size: .72rem; color: var(--p-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lbx-ex b { font-weight: 700; color: var(--p-ink); }
.lbx-ex span { color: var(--p-muted); }
.lbx-ex.alt span { color: var(--p-red); }

/* ---- modais ---- */
.lbx-sel-lista { display: flex; flex-direction: column; gap: 6px; max-height: 300px; overflow-y: auto; }
.lbx-sel-it { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--p-border); border-radius: 10px; }
.lbx-sel-it.on { border-color: var(--p-blue-light); background: var(--p-blue-soft); }
.lbx-sel-chk { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; cursor: pointer; margin: 0; }
.lbx-sel-chk .strong { font-weight: 700; font-size: .8rem; color: var(--p-ink); }
.lbx-sel-exame { width: 280px; flex: none; }
.lbx-lote-tbl { max-height: 420px; overflow-y: auto; }
.lbx-prog { height: 8px; border-radius: 99px; background: var(--p-soft); overflow: hidden; margin-top: 12px; }
.lbx-prog-bar { height: 100%; background: var(--p-green); transition: width .25s; }

/* ---- histórico ---- */
.lbx-hist tr.desfeito td { opacity: .55; }
.lbx-hist tr.desfeito td:last-child { opacity: 1; }
