/* ============================================================================
   Busca de procedimentos na documentação (ferramenta do faturista).
   Escopo: .bef-modal (usado por Components/BuscaEvolucaoFaturamento.razor).

   POR QUE ESTE ARQUIVO É GLOBAL (e não um .razor.css isolado):
   o bundle de CSS isolado do Blazor está DESLIGADO neste projeto — o
   <link href="...styles.css"> está comentado em Pages/_Layout.cshtml, o que torna
   todo .razor.css silenciosamente inerte. A convenção real para estilo que sustenta
   layout é CSS global em wwwroot/css/. Ao alterar este arquivo, dar bump no ?v= do
   link em _Layout.cshtml.

   POR QUE TODO font-size TEM !important:
   wwwroot/css/custom-font-size.css é linkado ANTES deste e aplica uma redução global
   de ~10% com !important em 116 declarações (html{15px}, body{0.732rem}, .form-label,
   .badge, e `small, .small { calc(0.875em * 0.75) }`). Composto, um .small aninhado
   cai para ~7-9px REAIS. Qualquer font-size sem !important aqui seria descartado.

   ESTE MODAL NÃO É ESCALADO: ele é renderizado como IRMÃO do container .mc-scaled da
   AIH.razor (o container fecha antes dos modais), então mc-scale.js não o toca e os
   tamanhos abaixo são os tamanhos REAIS em tela. Não usar unidades que dependam da
   escala.

   Tema escuro: as superfícies vêm de --mc-surface-*, que medcare-tokens.css redefine
   sob [data-theme-mode="dark"]. Nada de prefers-color-scheme.
   ============================================================================ */

/* ---------- Caixa do modal ---------------------------------------------- */

/* O faturista compara o texto da documentação com o SIGTAP: quanto mais largura,
   menos quebra de linha no trecho e menos rolagem. 1560px cobre 1600px+ com folga
   e 96vw protege telas de 1366. */
.bef-modal .modal-dialog {
    max-width: min(1560px, 96vw);
    margin: 1.25rem auto;
}

/* Altura: ocupa a tela quase toda; só o corpo rola, cabeçalho e rodapé ficam fixos. */
.bef-modal .modal-content {
    max-height: calc(100vh - 2.5rem);
}

.bef-modal .modal-body {
    overflow-y: auto;
}

/* ---------- Tipografia --------------------------------------------------- */

/* Base do corpo: tudo que não tiver regra própria herda daqui. */
.bef-modal .modal-body {
    font-size: 14px !important;
}

.bef-modal .modal-title {
    font-size: 17px !important;
    font-weight: 600 !important;
}

.bef-modal .modal-title small {
    font-size: 14px !important;
}

/* Campo do termo: é onde o faturista digita o tempo todo. */
.bef-modal .bef-campo-termo {
    font-size: 15px !important;
    height: auto !important;
    padding: 0.5rem 0.75rem !important;
}

/* O TRECHO DA DOCUMENTAÇÃO é o elemento dominante da tela — é o texto que o
   faturista lê para decidir o vínculo. Antes era .fs-12 (~9px reais). */
.bef-modal .bef-trecho {
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.bef-modal .bef-trecho mark {
    padding: 0.1em 0.25em;
    border-radius: 3px;
    font-weight: 600;
}

/* Cabeçalho de cada resultado (origem, data, profissional) */
.bef-modal .bef-res-meta {
    font-size: 13.5px !important;
}

.bef-modal .bef-res-data {
    font-size: 14px !important;
    font-weight: 600 !important;
}

.bef-modal .badge {
    font-size: 12px !important;
}

/* Rótulos e apoio do bloco de vínculo SIGTAP */
.bef-modal .bef-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 0.15rem !important;
}

.bef-modal .bef-apoio {
    font-size: 12.5px !important;
}

.bef-modal .form-control,
.bef-modal .form-select {
    font-size: 14px !important;
}

.bef-modal .btn {
    font-size: 13.5px !important;
}

.bef-modal .alert {
    font-size: 14px !important;
}

/* Estado vazio ("digite 2 letras", "nenhuma ocorrência") */
.bef-modal .bef-vazio {
    font-size: 15px !important;
}

.bef-modal .bef-contador {
    font-size: 13px !important;
}

.bef-modal .modal-footer small {
    font-size: 12.5px !important;
}

/* ---------- Lista de resultados SIGTAP (overlay) ------------------------- */

/* O overlay é posicionado por JS (position:fixed), então ele NÃO herda o escopo
   .bef-modal no cascade de layout — mas herda por seletor, pois o elemento
   continua sendo descendente do modal na árvore do DOM. */
.bef-modal .list-group-item {
    font-size: 13.5px !important;
    padding: 0.4rem 0.7rem !important;
}

.bef-modal .list-group-item code {
    font-size: 13.5px !important;
    font-weight: 600;
}

/* ---------- Cartão de resultado ----------------------------------------- */

.bef-modal .bef-card {
    padding: 0.6rem 0.75rem !important;
}

/* ---------- Grupos de termos -------------------------------------------- */

.bef-grupos-wrap {
    position: relative;
}

.bef-modal .bef-btn-grupos {
    font-size: 13.5px !important;
    white-space: nowrap;
}

/* Menu dos grupos: absolute (não fixed) — fica dentro do fluxo do modal, então
   não sofre o problema de ancestral com transform que afeta os overlays SIGTAP. */
.bef-grupos-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    min-width: 300px;
    max-height: 340px;
    overflow-y: auto;
    z-index: 1080;
    background: var(--mc-surface, var(--bs-body-bg, #fff));
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
    padding: 0.25rem;
}

.bef-grupo-item {
    display: block;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    border-radius: 6px;
    padding: 0.4rem 0.55rem;
    font-size: 13.5px !important;
    color: inherit;
}

.bef-grupo-item:hover {
    background: var(--mc-surface-3, rgba(0, 0, 0, .05));
}

/* Seção de um termo no modo grupo */
.bef-secao {
    border-left: 3px solid var(--mc-brand, #0891b2);
    padding-left: 0.6rem;
}

.bef-modal .bef-secao-cab {
    font-size: 14.5px !important;
    margin-bottom: 0.35rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.15rem;
}

.bef-modal .bef-secao-cab code {
    font-size: 13px !important;
}

/* Rodapé com os termos que não acharam nada — informação de cobertura, discreta */
.bef-secao-vazia {
    border-top: 1px dashed var(--bs-border-color, #dee2e6);
    padding-top: 0.5rem;
    margin-top: 0.25rem;
}

/* Editor: chip do SIGTAP já escolhido para o termo */
.bef-modal .bef-sigtap-chip {
    font-size: 12px !important;
    white-space: normal;
    text-align: left;
    line-height: 1.35;
}

.bef-modal .bef-sigtap-chip code {
    font-size: 12px !important;
}

/* Bloco de um termo no editor: agrupa o termo e seus procedimentos candidatos */
.bef-termo-box {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 8px;
    padding: 0.6rem 0.75rem;
    background: var(--mc-surface-3, rgba(0, 0, 0, .015));
}

.bef-cand-linha {
    padding-left: 0.25rem;
}

/* Campo de quantidade ao lado do chip — estreito, para não roubar a linha */
.bef-modal .bef-qtd-mini {
    width: 68px;
    font-size: 13px !important;
}
