/* ============================================================================
   LINHA · Farmácia da unidade (js/reg/02 e 03): risco sanitário no topo,
   estoque, dispensação, fichas do catálogo e seletor de unidades.
   ============================================================================ */

/* risco sanitário: itens do resumo que filtram o estoque */
.rf-risco:empty{ display:none }
.rf-alert{ display:inline-flex; align-items:baseline; gap:4px; border:0; background:none; padding:0; font:inherit; color:var(--l-texto-2); cursor:pointer }
.rf-alert b{ font-size:var(--l-t-titulo); font-weight:600; color:var(--l-texto); font-variant-numeric:tabular-nums }
.rf-alert.is-alerta b{ color:var(--l-erro) }
.rf-alert:hover{ color:var(--l-marca-tinta); text-decoration:underline; text-underline-offset:3px }
.rf-pag-tit{ font-size:var(--l-t-med); font-weight:600 }

/* estoque */
.rf-row-acts{ display:flex; justify-content:flex-end; gap:var(--l-e1); white-space:nowrap }
.rf-cel{ display:flex; flex-direction:column; align-items:flex-start; gap:4px }

/* fichas (medicamento, entrada de lote, exame) */
.rf-modal{ display:flex; flex-direction:column; gap:var(--l-e4) }
.rf-group{ display:flex; flex-direction:column; gap:var(--l-e3); padding-top:var(--l-e3); border-top:1px solid var(--l-fio) }
.rf-group:first-child{ padding-top:0; border-top:0 }
.rf-group-t{ display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--l-e2); font-size:var(--l-t-corpo); font-weight:600 }
.rf-checks{ display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:var(--l-e2) var(--l-e3) }
.rf-chk{ display:flex; align-items:center; gap:var(--l-e2); font-size:var(--l-t-peq) }
.rf-chk input{ accent-color:var(--l-marca) }
.rf-chk-solo{ padding:var(--l-e2) var(--l-e3); border-radius:var(--l-raio-2); background:var(--l-erro-fundo); color:var(--l-erro); font-weight:500 }
.rf-obj{ display:flex; align-items:center; gap:var(--l-e3) }
.rf-obj-ico{ display:grid; place-items:center; width:36px; height:36px; border-radius:var(--l-raio-2); background:var(--l-marca-suave); color:var(--l-marca-tinta) }
.rf-obj-ico svg{ width:18px; height:18px }
.rf-obj-txt{ display:flex; flex-direction:column }
.rf-escopo{ display:flex; flex-wrap:wrap; gap:var(--l-e2) }
.rf-escopo-op{ display:flex; align-items:center; gap:var(--l-e2); padding:var(--l-e2) var(--l-e3); border:1px solid var(--l-borda); border-radius:var(--l-raio-2); cursor:pointer }
.rf-escopo-op:has(input:checked){ border-color:var(--l-marca); background:var(--l-marca-suave) }
.rf-escopo-ico svg{ width:16px; height:16px }
.rf-escopo-txt{ display:flex; flex-direction:column; font-size:var(--l-t-peq) }

/* autocompletar CATMAT */
.rf-ac{ position:relative }
.rf-ac-pop{ position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:60; max-height:240px; overflow:auto; background:var(--l-sup); border:1px solid var(--l-borda); border-radius:var(--l-raio-2); box-shadow:var(--l-sombra-flutua) }
.rf-ac-item{ padding:8px 12px; border-bottom:1px solid var(--l-fio); cursor:pointer }
.rf-ac-item:hover{ background:var(--l-sup-3) }
.rf-ac-empty{ padding:9px 12px }

/* dispensação: busca de quem está no balcão, cartão por prescrição */
.rf-busca-grande{ flex:1 1 480px; max-width:none !important; height:44px }
.rf-disp-list{ display:flex; flex-direction:column; gap:var(--l-e2) }
.rf-disp-card{
  display:flex; align-items:center; justify-content:space-between; gap:var(--l-e4); width:100%; padding:var(--l-e3) var(--l-e4);
  border:1px solid var(--l-borda); border-radius:var(--l-raio-2); background:var(--l-sup); text-align:left; color:inherit; font:inherit; cursor:pointer;
}
.rf-disp-card:hover{ border-color:var(--l-marca) }
.rf-disp-main{ display:flex; flex-direction:column; gap:2px; min-width:0 }
.rf-disp-side{ display:flex; align-items:center; gap:var(--l-e2); flex:none }
.rf-disp-side svg{ width:18px; height:18px; color:var(--l-texto-3) }
.rf-back{ display:flex }
.rf-pac{ display:flex; align-items:center; gap:var(--l-e3) }
.rf-pac-av{ display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--l-marca-suave); color:var(--l-marca-tinta) }
.rf-pac-av svg{ width:18px; height:18px }
.rf-pac-txt{ display:flex; flex-direction:column }
.rf-pac-txt strong{ font-size:var(--l-t-med) }
tr.rf-row-off{ opacity:.55 }
.rf-qtd{ width:90px }
.rf-confirm{ display:flex; flex-direction:column; gap:var(--l-e4); padding:var(--l-e4) var(--l-e5) }
.rf-ret{ display:flex; flex-wrap:wrap; gap:var(--l-e3); align-items:flex-end }
.rf-ret-extra{ display:flex; flex-wrap:wrap; gap:var(--l-e3) }
.rf-actionbar{ display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:var(--l-e3) }
.rf-resumo{ margin-right:auto; font-size:var(--l-t-peq); color:var(--l-texto-2) }

/* seletor de unidades (serviços, exames) */
.reg-unit-picker{ display:flex; flex-direction:column; gap:var(--l-e2); padding:var(--l-e3); border:1px solid var(--l-borda); border-radius:var(--l-raio-2) }
.reg-unit-head{ display:flex; justify-content:space-between; align-items:baseline; gap:var(--l-e2) }
.reg-ac-label{ font-size:var(--l-t-peq); font-weight:500 }
.reg-unit-count{ color:var(--l-texto-3) }
.reg-unit-tools{ display:flex; gap:var(--l-e2) }
.reg-unit-search{ flex:1 }
.reg-unit-list{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:2px var(--l-e3); max-height:220px; overflow:auto }
.reg-unit-item{ display:flex; align-items:center; gap:var(--l-e2); padding:4px 0; font-size:var(--l-t-peq) }
.reg-unit-item input{ accent-color:var(--l-marca) }
