/* ============================================================================
   LINHA · formulários clínicos da unidade (units/02 e 03): faixa do paciente,
   triagem, consulta médica, prescrição, registros e histórico.
   Vocabulário próprio do painel (cl-*, ubs-triagem-*, prontuario-fields...).
   ============================================================================ */

/* modal clínico: largo, com rolagem interna */
.ubs-clinical-modal-box{ width:min(1080px, 100%); max-height:calc(100dvh - 48px); overflow:auto }
.ubs-clinical-modal-box > h3{ font-size:var(--l-t-titulo); font-weight:600; padding-right:32px }
.ubs-clinical-modal-box form{ display:flex; flex-direction:column; gap:var(--l-e3) }

/* grade de campos */
.prontuario-fields{ display:grid; gap:var(--l-e3); grid-template-columns:repeat(2, minmax(0,1fr)) }
.prontuario-fields-2{ grid-template-columns:repeat(2, minmax(0,1fr)) }
.prontuario-fields-6{ grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)) }
.cl-c2{ grid-column:span 2 } .cl-c3{ grid-column:span 3 } .cl-c4{ grid-column:span 4 } .cl-c12{ grid-column:1 / -1 }
.cl-obrig{ margin-left:6px; font-size:var(--l-t-mini); font-weight:500; color:var(--l-erro) }
.cl-idade{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--l-e2) }
.cl-idade input{ width:92px }
@media (max-width:760px){ .prontuario-fields, .prontuario-fields-2{ grid-template-columns:1fr } .cl-c2, .cl-c3, .cl-c4{ grid-column:1 / -1 } }

/* autocompletar (CIAP, CID, SIGTAP, medicamento) */
.reg-ac{ position:relative }
.reg-ac-list{
  position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:60; max-height:260px; overflow:auto;
  background:var(--l-sup); border:1px solid var(--l-borda); border-radius:var(--l-raio-2); box-shadow:var(--l-sombra-flutua);
}
.reg-ac-list > *{ display:block; width:100%; padding:8px 12px; border:0; background:none; text-align:left; font-size:var(--l-t-peq); color:var(--l-texto); cursor:pointer }
.reg-ac-list > *:hover, .reg-ac-list > .on, .reg-ac-list > .active{ background:var(--l-sup-3) }

/* faixa de identificação do paciente */
.cl-pac{ display:flex; align-items:center; justify-content:space-between; gap:var(--l-e4); flex-wrap:wrap; padding:var(--l-e3) var(--l-e4); border-radius:var(--l-raio-2); background:var(--l-sup-2); border:1px solid var(--l-fio) }
.cl-pac-id{ display:flex; flex-direction:column; gap:2px; min-width:0 }
.cl-pac-id b{ font-size:var(--l-t-med); font-weight:600 }
.cl-pac-linha{ font-size:var(--l-t-peq); color:var(--l-texto-2) }
.cl-pac-extra{ color:var(--l-texto-3) }
.cl-pac-tags{ display:flex; flex-wrap:wrap; gap:var(--l-e2) }
.cl-pac-alerta{ margin:0; font-size:var(--l-t-peq); color:var(--l-atencao) }
.cl-alertas:empty{ display:none }
.cl-alertas{ display:flex; flex-wrap:wrap; gap:var(--l-e2) }
.cl-al-item{ display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:var(--l-raio-1); background:var(--l-atencao-fundo); color:var(--l-atencao); font-size:var(--l-t-peq); font-weight:500 }
.cl-al-item.critico{ background:var(--l-erro-fundo); color:var(--l-erro) }
.cl-al-proc{ font-style:normal; font-weight:400; opacity:.8 }
.cl-sem-ato svg{ width:13px; height:13px }

/* fila por profissional */
.cl-fp{ display:flex; flex-direction:column }
.cl-fp-item{ display:flex; align-items:center; justify-content:space-between; gap:var(--l-e3); padding:10px 0; border-bottom:1px solid var(--l-fio) }
.cl-fp-item:last-child{ border-bottom:0 }
.cl-fp-item.vazio{ opacity:.6 }
.cl-fp-nome{ display:flex; flex-direction:column; min-width:0; font-weight:500 }
.cl-fp-nums{ display:flex; align-items:baseline; gap:var(--l-e3); font-size:var(--l-t-peq); color:var(--l-texto-3) }
.cl-fp-n b{ font-size:var(--l-t-med); color:var(--l-texto); font-variant-numeric:tabular-nums }

/* rascunho da triagem */
.cl-rascunho:empty{ display:none }
.cl-rascunho{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--l-e2); padding:8px 12px; border-radius:var(--l-raio-2); background:var(--l-sup-2); font-size:var(--l-t-peq); color:var(--l-texto-2) }
.cl-rascunho.recuperado{ background:var(--l-marca-suave); color:var(--l-marca-tinta) }
.cl-rascunho-btn{ border:0; background:none; padding:0; color:var(--l-erro); font-size:var(--l-t-peq); text-decoration:underline; cursor:pointer }

/* avaliação dos sinais vitais */
.cl-vitais-ok{ color:var(--l-ok); font-size:var(--l-t-peq) }
.cl-vitais-sug{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--l-e2); margin-top:4px; font-size:var(--l-t-peq) }

/* saúde da mulher e alergia */
.cl-gest, .cl-alergia{ display:flex; flex-direction:column; gap:var(--l-e2); padding:var(--l-e3) var(--l-e4); border:1px solid var(--l-fio); border-radius:var(--l-raio-2) }
.cl-gest-head{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--l-e2) }
.cl-gest-head svg{ width:16px; height:16px; color:var(--l-marca-tinta) }
.cl-gest-campos{ display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:var(--l-e3); align-items:end }
.cl-gest-info:empty{ display:none }
.cl-gest-info{ font-size:var(--l-t-peq); color:var(--l-texto-2) }
.cl-gest-ok{ color:var(--l-ok) }
.cl-gest-erro{ color:var(--l-erro); font-weight:500 }
.cl-alergia-info{ flex-direction:row; padding:8px 12px; font-size:var(--l-t-peq) }
.cl-alergia.sim, .cl-alergia.alerta{ border-color:var(--l-erro); background:var(--l-erro-fundo); color:var(--l-erro) }

/* blocos da consulta (encaminhamento, laboratório, prescrição, testes, APAC) */
.presc-builder, .apac-sec{ display:flex; flex-direction:column; gap:var(--l-e3); padding:var(--l-e4); border:1px solid var(--l-borda); border-radius:var(--l-raio-2); background:var(--l-sup) }
.presc-builder.is-reg{ border-color:var(--l-atencao); background:var(--l-atencao-fundo) }
.presc-builder.is-lab{ border-color:var(--l-info, var(--l-borda)); background:var(--l-sup-2) }
.cl-bloco-cab{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--l-e2) }
.cl-bloco-cab svg{ width:16px; height:16px }
.cl-bloco-cab strong{ font-size:var(--l-t-corpo); font-weight:600 }
.cl-bloco-cab .au-hint{ color:var(--l-texto-3) }
.cl-presc-grid{ display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); gap:var(--l-e3); align-items:end }
.cl-presc-grid > .au-fld:not([class*="cl-c"]){ grid-column:span 3 }
.cl-presc-acao{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--l-e2) }
.cl-presc-chk{ align-self:center }
.cl-presc-sug, .cl-sigtap-auto{ font-size:var(--l-t-mini); color:var(--l-texto-3) }
.cl-lab-grid{ display:grid; grid-template-columns:2fr .8fr auto; gap:var(--l-e2); align-items:end }
.reg-proc-flag{ display:inline-flex; align-items:center; gap:4px; margin:2px; padding:3px 10px; border-radius:var(--l-raio-1); background:var(--l-sup-3); font-size:var(--l-t-peq); font-weight:500 }
@media (max-width:900px){ .cl-presc-grid{ grid-template-columns:1fr } .cl-presc-grid > *{ grid-column:1 / -1 !important } .cl-lab-grid{ grid-template-columns:1fr } }

/* alergias e problemas ativos */
.alert-pulse{ padding:6px 8px; border-radius:var(--l-raio-2); background:var(--l-erro-fundo); color:var(--l-erro) }
.cl-chip{ display:inline-flex; align-items:center; gap:4px; margin:2px; padding:3px 10px; border-radius:999px; background:var(--l-sup-3); font-size:var(--l-t-peq); font-weight:500 }
.cl-chip.alergia{ background:var(--l-erro-fundo); color:var(--l-erro) }
.cl-chip button{ border:0; background:none; padding:0; color:inherit; cursor:pointer }
.cl-prob-novo{ display:flex; flex-wrap:wrap; gap:var(--l-e2); align-items:center }
.cl-prob-novo input:not([id="prob-cid"]){ flex:1; min-width:160px }
.cl-prob-novo #prob-cid{ width:120px }

/* triagem registrada (leitura) */
.ubs-triagem-card{ display:flex; flex-direction:column; gap:var(--l-e3); padding:var(--l-e4); border:1px solid var(--l-borda); border-radius:var(--l-raio-2) }
.ubs-triagem-empty{ color:var(--l-texto-3) }
.ubs-triagem-head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--l-e2) }
.ubs-risco-badge{ display:inline-flex; align-items:center; height:24px; padding:0 10px; border-radius:var(--l-raio-1); background:var(--l-sup-3); font-size:var(--l-t-peq); font-weight:600 }
.ubs-risco-badge.r0, .ubs-risco-badge.vermelho{ background:var(--l-r-vermelho); color:#fff }
.ubs-risco-badge.r1, .ubs-risco-badge.laranja{ background:var(--l-r-laranja); color:var(--l-sobre-claro) }
.ubs-risco-badge.r2, .ubs-risco-badge.amarelo{ background:var(--l-r-amarelo); color:var(--l-sobre-claro) }
.ubs-risco-badge.r3, .ubs-risco-badge.verde{ background:var(--l-r-verde); color:#fff }
.ubs-risco-badge.r4, .ubs-risco-badge.azul{ background:var(--l-r-azul); color:#fff }
.ubs-triagem-queixa span{ font-size:var(--l-t-mini); color:var(--l-texto-3) }
.ubs-triagem-queixa p{ margin:2px 0 0 }
.ubs-triagem-vitais{ display:grid; grid-template-columns:repeat(auto-fill, minmax(110px, 1fr)); gap:var(--l-e2) }
.ubs-triagem-vitais > *{ display:flex; flex-direction:column; padding:8px 10px; border-radius:var(--l-raio-2); background:var(--l-sup-2); font-size:var(--l-t-peq); color:var(--l-texto-3) }
.ubs-triagem-vitais b, .ubs-triagem-vitais strong{ font-size:var(--l-t-med); color:var(--l-texto); font-variant-numeric:tabular-nums }
.ubs-triagem-foot{ font-size:var(--l-t-peq); color:var(--l-texto-3) }

/* reavaliações, registros e testes: lista com hora à esquerda */
.cl-reav, .cl-log, .cl-testes{ display:flex; flex-direction:column; gap:var(--l-e2) }
.cl-reav-head, .cl-log-head, .cl-testes-head{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--l-e2); font-weight:600 }
.cl-reav-head svg, .cl-log-head svg, .cl-testes-head svg{ width:16px; height:16px; color:var(--l-texto-3) }
.cl-reav-vazio{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--l-e2); font-size:var(--l-t-peq); color:var(--l-texto-3) }
.cl-reav-item, .cl-log-item, .cl-testes-lista > *{ display:grid; grid-template-columns:56px minmax(0,1fr); gap:var(--l-e3); padding:8px 0; border-top:1px solid var(--l-fio) }
.cl-reav-hora, .cl-log-hora, .cl-testes-hora{ font-size:var(--l-t-peq); color:var(--l-texto-3); font-variant-numeric:tabular-nums }
.cl-reav-txt, .cl-log-txt{ display:flex; flex-direction:column; gap:2px; font-size:var(--l-t-peq) }
.cl-reav-autor, .cl-log-nota{ font-style:normal; color:var(--l-texto-3) }
.cl-reav-obs{ color:var(--l-texto-2) }
.cl-testes-form{ display:flex; flex-wrap:wrap; gap:var(--l-e2); align-items:flex-end }

/* histórico do paciente */
.ubs-hist-list{ display:flex; flex-direction:column }
.ubs-hist-item{ display:flex; flex-direction:column; gap:4px; padding:var(--l-e3) 0; border-top:1px solid var(--l-fio); font-size:var(--l-t-peq) }
.ubs-hist-top{ color:var(--l-texto-2) }

/* barra de atalhos do prontuário */
.ubs-prontuario-bar{ display:flex; flex-wrap:wrap; gap:var(--l-e2) }

/* linhas de cuidado e encaminhamentos */
.cl-linhas{ display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:var(--l-e2) }
.cl-linha-txt{ display:flex; flex-direction:column; gap:2px; font-size:var(--l-t-peq) }
.cl-enc-lista{ display:flex; flex-direction:column }
.cl-enc-item{ display:flex; align-items:center; gap:var(--l-e3); padding:8px 0; border-top:1px solid var(--l-fio) }
.cl-enc-prio{ min-width:32px; padding:2px 6px; border-radius:var(--l-raio-1); background:var(--l-sup-3); text-align:center; font-size:var(--l-t-mini); font-weight:600 }
.cl-enc-txt{ flex:1; display:flex; flex-direction:column; font-size:var(--l-t-peq) }

/* caderneta: tabela de sorologias */
.ta-c{ text-align:center }

.btn.btn-success{ background:var(--l-ok); border-color:var(--l-ok); color:#fff }

/* prescrição: itens agrupados por receita */
.cl-receita{ display:flex; flex-direction:column; padding:var(--l-e2) var(--l-e3); border:1px solid var(--l-borda); border-radius:var(--l-raio-2) }
.cl-receita + .cl-receita{ margin-top:var(--l-e2) }
.cl-receita.is-especial{ border-color:var(--l-atencao); background:var(--l-atencao-fundo) }
.cl-receita-cab{ display:flex; align-items:center; gap:6px; font-size:var(--l-t-peq); font-weight:600 }
.cl-receita.is-especial .cl-receita-cab{ color:var(--l-atencao) }
.cl-receita-cab svg{ width:14px; height:14px }
.cl-presc-item{ display:flex; justify-content:space-between; align-items:flex-start; gap:var(--l-e2); padding:6px 0; border-top:1px solid var(--l-fio) }
.reg-proc-flag.is-externo{ background:var(--l-atencao-fundo); color:var(--l-atencao) }
.cl-x{ border:0; background:none; padding:0 2px; color:inherit; font-weight:700; cursor:pointer }
.cl-alerta-presc{ display:flex; align-items:center; gap:var(--l-e2); padding:10px 12px; font-weight:600 }
.cl-alerta-presc svg{ width:16px; height:16px; flex:none }
/* documentos e APAC */
.cl-leitura{ white-space:pre-wrap; min-height:18px; padding:8px 10px; border:1px solid var(--l-fio); border-radius:var(--l-raio-2); background:var(--l-sup-2); font-size:var(--l-t-peq) }
.cl-laudo{ margin:2px 0 0; white-space:pre-wrap; font-size:var(--l-t-peq) }
.cl-emitido:empty{ display:none }
.cl-emitido{ font-size:var(--l-t-peq); font-weight:600; color:var(--l-ok) }
.cl-sec-item{ display:flex; align-items:center; gap:var(--l-e2); padding:6px 0; border-top:1px solid var(--l-fio) }
.cl-sec-nome{ flex:1; font-size:var(--l-t-peq) }
.cl-sec-qtd{ display:flex; align-items:center; gap:4px; font-size:var(--l-t-mini); color:var(--l-texto-3) }
.cl-sec-qtd input{ width:64px }
