/* Praxis Spital · Farmácia e estoque (31/10/2026). Usa os tokens de app.css e as classes .sp-* de spital.css. */
.se { min-width: 0; }
.se-abas { margin-top: -4px; }
.se-centro { justify-content: center; align-items: center; }
.se-larga { flex: 2 1 260px !important; }
.se-busca { flex: 2 1 240px !important; }
.se-mal { color: var(--mal); } .se-ok { color: var(--ok); }
.se-inativo td { opacity: .6; }
.se-link { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--tinta); cursor: pointer; text-align: left; }
.se-link:hover { color: var(--px); text-decoration: underline; }
.se-qtd { max-width: 96px; text-align: right; padding: 6px 8px !important; }
/* painel */
.se .sp-kpis { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.se .sp-kpi.se-valor { grid-column: span 2; }
.se-locais { display: grid; grid-template-columns: 1fr auto; gap: 0 10px; font-size: .8rem; color: var(--aco); margin-top: 2px; }
.se-locais span { display: block; text-transform: none; letter-spacing: 0; font-size: .8rem; }
.se-locais b { font-family: inherit; font-size: inherit; font-weight: 600; color: var(--tinta); text-align: right; }
.se-duas { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 14px; align-items: start; }
.se-al > span b { font-weight: 700; }
.se-al.mal { box-shadow: inset 3px 0 0 var(--mal); padding-left: 10px !important; }
.se-al.at { box-shadow: inset 3px 0 0 var(--at); padding-left: 10px !important; }
.se-opcoes { display: flex; flex-direction: column; gap: 10px; }
/* entradas */
.se-itens { display: flex; flex-direction: column; gap: 10px; }
.se-item { border: 1px solid var(--linha); border-radius: 8px; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; background: var(--bg); }
.se-item.falta { border-color: var(--mal); background: var(--mal-s); }
.se-item-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.se-item-cab b { flex: 1 1 200px; min-width: 0; overflow-wrap: anywhere; }
.se-item .sp-linha { align-items: end; }
.se-item .sp-linha > .campo.curto { flex: 1 1 100px; }
.se-res { color: var(--px); font-weight: 600; min-height: 1.2em; }
.se-total { display: flex; justify-content: space-between; align-items: baseline; border-top: 2px solid var(--linha); padding-top: 8px; }
.se-total b { font-family: var(--f-tit); font-size: 1.25rem; font-variant-numeric: tabular-nums; }
/* movimentar */
.se-seg { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* dispensar */
.se-pac-cab { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.se-tdisp select { min-width: 200px; }
.se-aviso-l td { border-top: 0; padding-top: 0; }
.se-aviso-l .sp-atencao { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
/* controlados */
.sp-linha > .campo.se-mes { flex: 0 1 200px; }
.se-lei { margin: 0; }
.se-livro h2 { font-size: 1.05rem; }
.se-doc-tab { font-size: .8rem; }
.se-doc-tab th, .se-doc-tab td { padding: 4px 6px; border: 1px solid #bbb; color: #111; }
/* inventário */
.se-conf { border-top: 1px solid var(--linha); padding-top: 8px; }
.se-rels button { font-size: .82rem; padding: 5px 12px; }
.sp-tabela tfoot td { border-top: 2px solid var(--linha); }

@media (max-width: 640px) {
  .se .sp-kpi.se-valor { grid-column: 1 / -1; }
  .se-seg { gap: 6px; }
  .se-seg button { padding: 7px 4px; font-size: .82rem; }
  .se-tdisp select { min-width: 0; width: 100%; }
  table.tc td .se-qtd { max-width: 110px; }
  table.tc tr.se-aviso-l { background: none; box-shadow: none; padding: 0; margin-top: -6px; }
  .se-duas { grid-template-columns: 1fr; }
  .se-doc-tab { font-size: .7rem; }
}
@media print { .se-doc-tab th, .se-doc-tab td { border: 1px solid #555; } }
.se-pac.se-foco { border-color: var(--px); box-shadow: 0 0 0 2px var(--px-suave), inset 4px 0 0 var(--px); }
/* Tabela dentro da gaveta (flex em coluna): com overflow-x, encolhia até sumir quando a ficha era longa. */
.gaveta > .tab { flex-shrink: 0; }
/* Leitor de códigos (01/11/2026) */
.se-cod { display: flex; gap: 6px; align-items: stretch; }
.se-cod input { flex: 1; min-width: 0; }
.se-ler { white-space: nowrap; }
.se-tdisp small.se-ok { display: block; font-weight: 600; }
