/* Faturamento SUS — módulo único (02/11/2026). A barra (Shared/Faturamento/FatSusSubnav.razor) traz o próprio
   invólucro .mm: aqui só o que ela precisa nas telas que ainda não estão no desenho mm-* (TISS, AIH, YNEX). */
.fatsus-nav { font-family: var(--p-font); margin-bottom: 14px; }
.fatsus-nav .mm-subnav { border-radius: 12px; border: 1px solid var(--p-border); }
/* em tela mm-* a barra encosta no topo como nos outros módulos (o .mm-body já dá o espaço) */
.mm.mc-page > .fatsus-nav { margin-bottom: 0; }
.mm.mc-page > .fatsus-nav .mm-subnav { border-radius: 0; border-width: 0 0 1px; }

/* Críticas (Regras): grade de regras (listas grandes: content-visibility nas linhas) */
.fatsus-crit .mm-grade { --cols: 60px 96px minmax(280px, 2.2fr) 104px 130px minmax(150px, 1fr) 76px; }
.fatsus-crit .mm-grade-l { content-visibility: auto; contain-intrinsic-size: auto 52px; min-height: 52px; padding-top: 6px; padding-bottom: 6px; }
.fatsus-crit .mm-grade-l.off { opacity: .55; }
.fatsus-crit .mm-grade .acoes { display: flex; gap: 4px; justify-content: flex-end; }

/* ===== Relatórios + Processamento bruto (Pages/Faturamento/RelatoriosFaturamento.razor) ===== */

/* Campo rotulado na barra de filtros: "COMPETÊNCIA DE [202611]" */
.fsr .fsr-campo { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.fsr .mm-input.fsr-comp { width: 92px; text-align: center; font-variant-numeric: tabular-nums; }

/* Colunas das grades (linhas em div: é onde o content-visibility do .mm-grade-l vale) */
.fsr .fsr-g-guias {
    --cols: 120px 84px 92px minmax(170px, 1.5fr) minmax(150px, 1.2fr) minmax(104px, .8fr) 112px 116px 104px 116px 52px;
}
.fsr .fsr-g-proc {
    --cols: 150px minmax(280px, 1fr) 104px 128px 136px 80px;
}

/* Código SIGTAP: abre a janela de detalhes (a janela fica fora da linha — a linha recorta o que transborda) */
.fsr .fsr-sigtap {
    display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 6px;
    border: 1px solid var(--p-blue-line-soft); background: var(--p-blue-soft); color: var(--p-blue);
    font: 700 .7rem var(--p-mono); letter-spacing: .3px; font-variant-numeric: tabular-nums;
    cursor: pointer; white-space: nowrap;
}
.fsr .fsr-sigtap:hover { border-color: var(--p-blue-line); }
.fsr .fsr-cod { font: 600 .74rem var(--p-mono); color: var(--p-ink); white-space: nowrap; }

/* Totais no rodapé da lista */
.fsr .fsr-totais { display: inline-flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.fsr .fsr-totais b.mm-red { color: var(--p-red); }   /* .mm-lista-rodape b pinta tudo de tinta */

/* ===== Gastos e orçamento (Pages/Faturamento/GastosOrcamento.razor) ===== */
/* Faturamento SUS — Gastos e orçamento (Pages/Faturamento/GastosOrcamento.razor, nov/2026).
   Só o que o mc-modulo.css não cobre; as colunas das grades vão em --cols no próprio markup. */

/* Utilização do teto: barra e percentual na mesma linha da grade */
.fg-gastos .fg-uso { display: flex; align-items: center; gap: 8px; }
.fg-gastos .fg-uso .mm-bar-track { flex: 1; min-width: 48px; height: 8px; }
.fg-gastos .fg-uso > span { min-width: 46px; text-align: right; font-variant-numeric: tabular-nums; color: var(--p-ink); }

/* Município no percentual de alerta ou acima (era a linha amarela da tela antiga) */
.fg-gastos .mm-grade-l.fg-alerta { box-shadow: inset 3px 0 0 var(--p-orange); }

/* Linha de totais da programação mensal */
.fg-gastos .fg-tbl-prog tfoot td {
    background: var(--p-soft); border-top: 1px solid var(--p-border); border-bottom: 0;
    color: var(--p-ink); font-weight: 800; padding: 10px 12px;
}
.fg-gastos .fg-tbl-prog tfoot td.num { font-variant-numeric: tabular-nums; }

@media print {
    .fg-gastos .fg-tbl-prog th { position: static; }
    .fg-gastos .fg-tbl-prog tfoot td { background: #f1f5f9; }
}

/* ===== Atendimentos retroativos + Prontuários (documento único) ===== */
/* Faturamento SUS — Atendimentos retroativos (Pages/Admin/AtendimentosRetroativos.razor, raiz .fatsus-retro) e
   Prontuários — documento único (Pages/Faturamento/ProntuariosCompletos.razor, raiz .fatsus-pront), desenho mm-* (02/11/2026).
   Só o que o mc-modulo.css não cobre. As janelas (MmModal) são IRMÃS do container (zoom do .mc-scaled desloca
   position:fixed): recebem a classe da página pelo parâmetro Css, então os seletores abaixo valem nelas também.
   O documento impresso/baixado é o PDF gerado no servidor — nada daqui entra nele. */

/* ---------- comum: campo rotulado na barra de filtros ("ABERTURA DE [data]") ---------- */
.fatsus-retro .fr-campo,
.fatsus-pront .fp-campo { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.fatsus-retro .mm-input.fr-data,
.fatsus-pront .mm-input.fp-data { width: 150px; }

/* paciente no cabeçalho das janelas (nome com a máscara do modo demonstração) */
.fatsus-retro .fr-pac,
.fatsus-pront .fp-pac {
    display: inline-flex; align-items: center; gap: 6px; max-width: 340px; min-width: 0;
    padding: 4px 10px; border-radius: 50px; background: var(--p-soft); border: 1px solid var(--p-border);
    font-size: .74rem; font-weight: 700; color: var(--p-ink); white-space: nowrap;
}
.fatsus-retro .fr-pac > i,
.fatsus-pront .fp-pac > i { color: var(--p-blue); font-size: 15px; flex: none; }
.fatsus-retro .fr-pac-nome,
.fatsus-pront .fp-pac-nome { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

/* ===================== Atendimentos retroativos ===================== */

/* grade (linhas em div: é onde o content-visibility do .mm-grade-l vale) */
.fatsus-retro .mm-grade { --cols: 170px minmax(220px, 1.6fr) 216px 96px minmax(150px, 1fr) 128px 76px; }
.fatsus-retro .mm-grade-l { contain-intrinsic-size: auto 60px; }
.fatsus-retro .fr-sub { margin-top: 3px; }

/* ciclo de vida: TRI → CONS → AMB → MED → ALTA (concluída verde, em andamento azul/teal girando, pendente cinza) */
.fatsus-retro .fr-ciclo { display: flex; align-items: flex-start; }
.fatsus-retro .fr-etapa { position: relative; flex: none; width: 42px; display: flex; flex-direction: column; align-items: center; color: var(--p-faint); }
.fatsus-retro .fr-etapa > i { font-size: 16px; line-height: 16px; }
.fatsus-retro .fr-etapa:not(:last-child)::after {
    content: ""; position: absolute; top: 7px; left: calc(50% + 10px); width: calc(100% - 20px); height: 2px;
    border-radius: 2px; background: var(--p-border);
}
.fatsus-retro .fr-etapa .fr-sig { margin-top: 3px; font-size: .52rem; font-weight: 800; letter-spacing: .6px; line-height: 1; }
.fatsus-retro .fr-etapa.ok { color: var(--p-green); }
.fatsus-retro .fr-etapa.ok:not(:last-child)::after { background: var(--p-green-line); }
.fatsus-retro .fr-etapa.and { color: var(--p-blue); }
.fatsus-retro .fr-etapa.and.med { color: var(--p-teal); }
.fatsus-retro .fr-etapa.and > i { animation: mmSpin 1.6s linear infinite; }

/* janela de auditoria (linha do tempo .mm-tl) */
.fatsus-retro .fr-aud-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 3px; }
.fatsus-retro .fr-aud-user { margin-top: 5px; }

/* ===================== Prontuários — documento único ===================== */

.fatsus-pront .fp-ajuda-mais { margin-top: 6px; }

/* grade */
.fatsus-pront .mm-grade { --cols: 150px minmax(220px, 1.6fr) 120px 120px 112px minmax(230px, 1.3fr) 118px; }
.fatsus-pront .mm-grade-l { contain-intrinsic-size: auto 60px; }
.fatsus-pront .fp-chips { display: flex; flex-wrap: wrap; gap: 4px; }

/* janela "Montar documento único": resumo + grupos de seções com caixas de marcar */
.fatsus-pront .fp-resumo {
    flex: none; display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    padding: 10px 12px; border-radius: 12px; background: var(--p-soft); border: 1px solid var(--p-border);
}
.fatsus-pront .fp-resumo-t { font-size: .78rem; font-weight: 600; color: var(--p-text); }
.fatsus-pront .fp-resumo-t b { color: var(--p-ink); font-weight: 800; }
.fatsus-pront .fp-grupo { flex: none; border: 1px solid var(--p-border); border-radius: 12px; background: var(--p-surface); overflow: hidden; }
.fatsus-pront .fp-grupo-h {
    display: flex; align-items: center; gap: 8px; padding: 8px 12px;
    background: var(--p-soft); border-bottom: 1px solid var(--p-border);
    font-size: .62rem; font-weight: 800; letter-spacing: .9px; text-transform: uppercase; color: var(--p-faint);
}
.fatsus-pront .fp-grupo-n { font-family: var(--p-mono); letter-spacing: 0; text-transform: none; }
.fatsus-pront .fp-link {
    border: 0; background: transparent; padding: 2px 6px; border-radius: 6px;
    color: var(--p-blue); font-size: .68rem; font-weight: 700; letter-spacing: 0; text-transform: none;
}
.fatsus-pront .fp-link:hover { background: var(--p-blue-soft); }
.fatsus-pront .fp-item {
    display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 8px 12px;
    border-bottom: 1px solid var(--p-border-soft); cursor: pointer;
}
.fatsus-pront .fp-item:last-child { border-bottom: 0; }
.fatsus-pront .fp-item:hover { background: var(--p-soft); }
.fatsus-pront .fp-item.off { opacity: .55; }
.fatsus-pront .fp-item input[type="checkbox"] { width: 16px; height: 16px; margin: 6px 0 0; flex: none; accent-color: var(--p-blue-light); cursor: pointer; }
.fatsus-pront .fp-item-ico {
    width: 28px; height: 28px; flex: none; border-radius: 8px;
    display: flex; align-items: center; justify-content: center; font-size: 15px;
    background: var(--p-blue-soft); color: var(--p-blue);
}
.fatsus-pront .fp-item-ico.anx { background: var(--p-orange-soft); color: var(--p-orange); }
.fatsus-pront .fp-item-t { display: block; font-size: .78rem; font-weight: 700; color: var(--p-ink); line-height: 1.35; }
.fatsus-pront .fp-item-d { display: block; margin-top: 1px; font-size: .68rem; font-weight: 500; color: var(--p-faint); line-height: 1.4; }
.fatsus-pront .fp-item .mm-chip { flex: none; margin-top: 4px; }

/* janela de visualização do PDF (tamanho "tela"): o iframe ocupa o corpo inteiro */
.fatsus-pront.fp-pdf .mm-mbody { padding: 0; gap: 0; overflow: hidden; background: #525659; }
.fatsus-pront .fp-frame { flex: 1; width: 100%; min-height: 0; border: 0; background: #525659; display: block; }

/* ===== Configurações SUS (Pages/Faturamento/ConfiguracoesFaturamento.razor) ===== */
/* ============================================================
   Configurações do faturamento SUS (Pages/Faturamento/ConfiguracoesFaturamento.razor) — desenho mm-* (02/11/2026).
   Escopo .fatsus-config: a página (container) E as janelas dela (MmModal Css="fatsus-config"), que ficam
   fora do container por causa do zoom do .mc-scaled. Sem media query de largura (a escala cuida).
   ============================================================ */

/* ---- Grades (linhas em div: é onde o content-visibility do .mm-grade-l vale) ---- */
.fatsus-config .fc-g-proc   { --cols: 64px 150px minmax(240px, 1fr) 48px; }
.fatsus-config .fc-g-regras { --cols: 64px minmax(200px, 1.1fr) minmax(260px, 1.7fr) 160px 132px; }
.fatsus-config .fc-g-busca  { --cols: 132px minmax(220px, 1fr) 104px 132px; }
.fatsus-config .mm-grade-l { content-visibility: auto; contain-intrinsic-size: auto 52px; }
.fatsus-config .fc-g-regras .mm-grade-l { contain-intrinsic-size: auto 64px; padding-top: 8px; padding-bottom: 8px; }
.fatsus-config .mm-grade .acoes { display: flex; gap: 4px; justify-content: flex-end; }

/* Ordem / posição na lista */
.fatsus-config .fc-ordem {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 26px; height: 26px; padding: 0 6px; border-radius: 8px;
    background: var(--p-soft2); color: var(--p-muted);
    font-size: .72rem; font-weight: 800; font-variant-numeric: tabular-nums;
}

/* Condições da regra (etiquetas) */
.fatsus-config .fc-conds { display: flex; flex-wrap: wrap; gap: 4px; }

/* Código SIGTAP: botão que abre a janela de detalhes (a janela fica fora da linha — a linha recorta o que transborda) */
.fatsus-config .fc-sigtap {
    display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 6px;
    border: 1px solid var(--p-blue-line-soft); background: var(--p-blue-soft); color: var(--p-blue);
    font: 700 .7rem var(--p-mono); letter-spacing: .3px; font-variant-numeric: tabular-nums;
    cursor: pointer; white-space: nowrap;
}
.fatsus-config .fc-sigtap:hover { border-color: var(--p-blue-line); }
.fatsus-config .fc-cod { font: 600 .74rem var(--p-mono); color: var(--p-ink); white-space: nowrap; }

/* Botões de ícone desligados (primeira regra não sobe, última não desce) */
.fatsus-config .prmd-iconbtn:disabled { opacity: .3; cursor: default; background: transparent; color: var(--p-faint); }

/* ---- Formato do BPA (três opções em cartão) ---- */
.fatsus-config .mm-opts.fc-formatos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.fatsus-config .fc-formatos .mm-opt { padding: 14px 16px; gap: 6px; }
.fatsus-config .fc-formatos .mm-opt-tit { font-size: .86rem; flex-wrap: wrap; }
.fatsus-config .fc-formatos .mm-opt-tit i { font-size: 17px; }
.fatsus-config .fc-formatos .mm-opt-sub { font-size: .72rem; line-height: 1.45; }
.fatsus-config .fc-formatos .mm-opt-sub b { color: var(--p-text); font-weight: 800; }

/* ---- Tipos de atendimento (coluna da esquerda) ---- */
.fatsus-config .fc-tipos { display: flex; flex-direction: column; gap: 6px; }
.fatsus-config .fc-tipo-wrap { position: relative; }
.fatsus-config .fc-tipo { padding: 8px 10px; }
.fatsus-config .fc-tipo-wrap.custom .fc-tipo { padding-right: 42px; }
.fatsus-config .fc-tipo .mm-item-tit { font-size: .76rem; }
.fatsus-config .fc-tipo-x { position: absolute; right: 9px; top: 50%; transform: translateY(-50%); }
.fatsus-config .fc-novo { display: flex; align-items: center; gap: 6px; flex: 1; min-width: 0; }
.fatsus-config .fc-novo .mm-input { flex: 1; min-width: 0; text-transform: uppercase; }
.fatsus-config .fc-novo .mm-input::placeholder { text-transform: none; }

/* ---- Janela "Adicionar procedimento" ---- */
.fatsus-config .fc-busca-sigtap { max-width: none; flex: none; }
.fatsus-config .fc-resultados { border: 1px solid var(--p-border); border-radius: 12px; overflow: clip; }
.fatsus-config .fc-resultados .mm-grade-l:last-child { border-bottom: 0; }

/* ---- Guia de configuração ---- */
.fatsus-config .fc-ajuda-nav { display: flex; flex-direction: column; gap: 4px; }
.fatsus-config .fc-ajuda-nav .mm-item { padding: 7px 9px; gap: 9px; }
.fatsus-config .fc-ajuda-nav .mm-item-ico { width: 28px; height: 28px; border-radius: 8px; font-size: 15px; }
.fatsus-config .fc-ajuda-nav .mm-item-tit { font-size: .74rem; }

.fatsus-config .fc-ajuda-tit { display: flex; align-items: center; gap: 8px; font-size: 1rem; font-weight: 800; color: var(--p-ink); letter-spacing: -.2px; }
.fatsus-config .fc-ajuda-tit i { font-size: 19px; color: var(--p-blue); }
.fatsus-config .fc-ajuda-txt { font-size: .78rem; font-weight: 500; color: var(--p-text); line-height: 1.6; }
.fatsus-config .fc-ajuda-txt b { color: var(--p-ink); font-weight: 700; }
.fatsus-config .fc-ajuda .mm-tbl-wrap { border: 1px solid var(--p-border); border-radius: 12px; }
.fatsus-config .fc-ajuda .mm-callout { margin: 0; }
.fatsus-config .fc-ajuda .mm-g2 { gap: 10px; }

.fatsus-config .fc-ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: .78rem; color: var(--p-text); line-height: 1.5; }
.fatsus-config .fc-ol b { color: var(--p-ink); }

.fatsus-config .fc-passo .mm-item-ico { font-size: .86rem; font-weight: 800; }
.fatsus-config .fc-passo .mm-item-sub { font-size: .74rem; color: var(--p-text); line-height: 1.5; margin-top: 3px; }
.fatsus-config .fc-passo .mm-item-sub b { color: var(--p-ink); }
.fatsus-config .fc-seta { text-align: center; color: var(--p-faint); font-size: 18px; line-height: 1; }

.fatsus-config .fc-exemplo { border: 1px solid var(--p-border); border-radius: 12px; overflow: hidden; background: var(--p-surface); }
.fatsus-config .fc-exemplo-head {
    display: flex; align-items: center; gap: 7px; padding: 9px 12px;
    background: var(--p-soft); border-bottom: 1px solid var(--p-border);
    font-size: .76rem; font-weight: 800; color: var(--p-ink);
}
.fatsus-config .fc-exemplo-head i { font-size: 16px; color: var(--p-blue); }
.fatsus-config .fc-exemplo .mm-g3 { padding: 12px; gap: 12px; }
.fatsus-config .fc-ex-lbl { font-size: .6rem; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; color: var(--p-faint); margin-bottom: 4px; }
.fatsus-config .fc-ex-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: .74rem; color: var(--p-text); }
.fatsus-config .fc-ex-lista i { font-size: 14px; margin-right: 4px; vertical-align: -2px; }

.fatsus-config .fc-faq { display: flex; flex-direction: column; gap: 6px; }
.fatsus-config .fc-faq-it { border: 1px solid var(--p-border); border-radius: 12px; overflow: hidden; background: var(--p-surface); }
.fatsus-config .fc-faq-it.on { border-color: var(--p-blue-line); }
.fatsus-config .fc-faq-q {
    display: flex; align-items: center; gap: 8px; width: 100%; padding: 10px 12px;
    border: none; background: transparent; text-align: left;
    font: 700 .78rem var(--p-font); color: var(--p-ink);
}
.fatsus-config .fc-faq-q:hover { background: var(--p-soft); color: var(--p-blue); }
.fatsus-config .fc-faq-q i { margin-left: auto; font-size: 16px; color: var(--p-faint); transition: transform .18s; }
.fatsus-config .fc-faq-it.on .fc-faq-q i { transform: rotate(180deg); color: var(--p-blue); }
.fatsus-config .fc-faq-a { padding: 0 12px 12px; font-size: .76rem; font-weight: 500; color: var(--p-text); line-height: 1.6; }

/* ===== Tabela SIGTAP · PPI por especialidade · Exportação e-SUS ===== */
/* Faturamento SUS — Tabela SIGTAP, PPI por especialidade e Exportação e-SUS APS no desenho mm-* (02/11/2026).
   Só o que o mc-modulo.css não cobre; as colunas das grades vão em --cols no próprio markup.
   As janelas (MmModal) da PPI ficam fora do .mc-scaled e levam Css="fatsus-ppi" para herdar as regras da página. */

/* ===== Tabela SIGTAP (Pages/Faturamento/Sigtap.razor) ===== */

/* Código do procedimento: selo em fonte mono (a linha inteira abre a janela de detalhes) */
.fatsus-sigtap .fsg-cod {
    display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 6px;
    border: 1px solid var(--p-blue-line-soft); background: var(--p-blue-soft); color: var(--p-blue);
    font: 700 .7rem var(--p-mono); letter-spacing: .3px; font-variant-numeric: tabular-nums; white-space: nowrap;
}
.fatsus-sigtap .mm-grade-l.click:hover .fsg-cod { border-color: var(--p-blue-line); }

/* Instrumentos de registro: etiquetas que quebram linha dentro da célula */
.fatsus-sigtap .fsg-instr { display: flex; flex-wrap: wrap; gap: 4px; }

/* Linha cuja janela está abrindo (o histórico está sendo lido) */
.fatsus-sigtap .mm-grade-l.abrindo { cursor: progress; background: var(--p-blue-soft); }

/* "Buscando os próximos 150…" no lugar do botão Mostrar mais enquanto o bloco vem do servidor */
.fatsus-sigtap .fsg-mais-busy { display: inline-flex; align-items: center; gap: 8px; font-size: .72rem; font-weight: 700; color: var(--p-muted); }
.fatsus-sigtap .fsg-mais-busy .mm-spin { width: 16px; height: 16px; border-width: 2px; }

.fatsus-sigtap .mm-toolbar .mm-select { max-width: 300px; }

/* ===== PPI por especialidade (Pages/Faturamento/PPIEspecialidades.razor) ===== */

/* cabeçalho do cartão: título + situação + busca podem não caber juntos */
.fatsus-ppi .mm-card-head { flex-wrap: wrap; }

/* Execução: barra e percentual na mesma linha da grade */
.fatsus-ppi .fpp-exec { display: flex; align-items: center; gap: 8px; }
.fatsus-ppi .fpp-exec .mm-bar-track { flex: 1; min-width: 48px; height: 8px; }
.fatsus-ppi .fpp-exec > span { min-width: 48px; text-align: right; font-variant-numeric: tabular-nums; color: var(--p-ink); }

/* Janela do item: valor pactuado calculado (quantidade × valor unitário), com cara de campo só de leitura */
.fatsus-ppi .fpp-calc {
    display: flex; align-items: center; min-height: 37px; padding: 0 .6rem; border-radius: 10px;
    background: var(--p-soft); border: 1px dashed var(--p-border);
    color: var(--p-ink); font-size: .84rem; font-weight: 800; font-variant-numeric: tabular-nums;
}

/* ===== Exportação e-SUS APS (Pages/Faturamento/ExportacaoEsus.razor) ===== */

.fatsus-esus .fes-comp-linha { gap: 6px; }
.fatsus-esus .fes-comp { width: 96px; text-align: center; font-variant-numeric: tabular-nums; }

/* Fichas: três cartões de liga/desliga lado a lado */
.fatsus-esus .fes-opts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fatsus-esus .fes-opts .mm-opt { padding: 12px 13px; gap: 5px; }
.fatsus-esus .fes-opts .mm-opt:disabled { opacity: .6; }
.fatsus-esus .fes-opts .mm-opt-sub i { font-size: 13px; vertical-align: -2px; }

.fatsus-esus .mm-card-foot { flex-wrap: wrap; }
.fatsus-esus .mm-g3 .mm-item { align-items: flex-start; }

/* ===== APAC (Pages/Faturamento/ApacGestao.razor + ApacImpressao.razor) ===== */
/* ===== APAC (Pages/Faturamento/ApacGestao.razor, ApacImpressao.razor e Shared/Faturamento/ApacBuscaCampo.razor), nov/2026 =====
   Só o que o mc-modulo.css não cobre. Tudo sob .apac: o container da página leva .apac e as janelas (MmModal) recebem
   Css="apac" — elas são IRMÃS do container (zoom do .mc-scaled), então as regras precisam valer nas duas raízes. */

/* ---- Lista (grade .mm-grade: linhas em div, content-visibility nas linhas) ---- */
.apac .ap-grade { --cols: 158px minmax(150px, 1.2fr) minmax(190px, 1.6fr) 122px 84px 106px 112px 134px 122px; }
.apac .ap-grade .mm-grade-l { contain-intrinsic-size: auto 58px; }
.apac .ap-num { font: 700 .74rem var(--p-mono); color: var(--p-ink); letter-spacing: .2px; white-space: nowrap; }
.apac .ap-proc-nome { margin-top: 3px; }
.apac .ap-exec { height: 5px; max-width: 64px; margin: 4px auto 0; }
.apac .mm-grade .acoes .mm-btn.xs { white-space: nowrap; }

/* APAC valendo (autorizada/em execução): vencida = vermelho, vence em até 15 dias = laranja
   (era a linha vermelha/amarela da tela antiga) */
.apac .mm-grade-l.ap-venc { box-shadow: inset 3px 0 0 var(--p-red); }
.apac .mm-grade-l.ap-vence { box-shadow: inset 3px 0 0 var(--p-orange); }

/* Etiqueta de críticas: na solicitação pendente é botão (abre a edição) */
.apac button.ap-crit-chip { font-family: var(--p-font); cursor: pointer; }
.apac button.ap-crit-chip:hover { box-shadow: 0 0 0 2px var(--tom-line, var(--p-border)); }

/* ---- Janela de leitura ---- */
.apac .ap-ver-status { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.apac .ap-ver-status:empty { display: none; }
.apac .ap-ver-exec { display: flex; align-items: center; gap: 10px; }
.apac .ap-ver-exec .mm-bar-track { flex: 1; height: 8px; }
.apac .mm-dl.ap-dl4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.apac .ap-tbl-sec { margin-top: 10px; border: 1px solid var(--p-border); border-radius: 12px; overflow: hidden; }
.apac .ap-tbl-sec tfoot td { background: var(--p-soft); border-top: 1px solid var(--p-border); }

/* ---- Janela de nova/editar solicitação ---- */
.apac .ap-pac-dados { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; }
.apac .ap-pac-dados > div { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-size: .7rem; }
.apac .ap-pac-dados span { flex: none; font-size: .58rem; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; color: var(--p-faint); }
.apac .ap-pac-dados b { min-width: 0; font-weight: 700; color: var(--p-ink); text-align: right; overflow-wrap: anywhere; }
.apac .ap-pac-acoes { display: flex; gap: 6px; margin-top: 10px; }
.apac .ap-mt { margin-top: 8px; }
.apac .ap-vval-sm { font-size: .78rem; }
.apac .ap-sel-nome { font-size: .78rem; font-weight: 700; color: var(--p-ink); line-height: 1.3; }
.apac .ap-cid-sel { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; min-height: 38px; min-width: 0; }
.apac .ap-cid-sel .mm-chip-sel { padding-left: 10px; }
.apac .ap-cid-sel .mm-chip-sel .mm-mono { font-weight: 800; }
.apac .ap-cid-sel .mm-ellipsis { max-width: 100%; }
.apac .ap-cid-desc { font-size: .72rem; font-weight: 500; }
.apac .prmd-field.ap-ro { background: var(--p-soft); color: var(--p-ink); font-weight: 800; }
.apac .ap-f-botao { display: flex; align-items: flex-end; }
.apac .ap-f-botao .prmd-btn { width: 100%; justify-content: center; }

/* Críticas em tempo real (coluna de conferência) */
.apac .mm-mlist-head .mm-chip { flex: none; }
.apac .ap-crit { display: flex; align-items: flex-start; gap: 8px; padding: 8px 10px; border-radius: 10px; font-size: .74rem; font-weight: 600; line-height: 1.45; }
.apac .ap-crit > i { flex: none; margin-top: 1px; font-size: 15px; }
.apac .ap-crit .mm-flex1 { color: var(--p-ink); }
.apac .ap-crit.erro { background: var(--p-red-soft); border: 1px solid var(--p-red-line); color: var(--p-red); }
.apac .ap-crit.alerta { background: var(--p-orange-soft); border: 1px solid var(--p-orange-line); color: var(--p-orange); }
.apac .ap-crit-cod { margin-top: 2px; font: 700 .6rem var(--p-mono); letter-spacing: .3px; color: var(--p-faint); }

/* Autorizar / registrar execução */
.apac .ap-alvo { margin-bottom: 2px; }
.apac .ap-alvo-pac { display: flex; align-items: center; gap: 7px; font-size: .8rem; font-weight: 800; color: var(--p-ink); }
.apac .ap-alvo-pac i { font-size: 15px; color: var(--p-blue); }

/* Campo de busca com sugestões (ApacBuscaCampo) */
.apac .ap-busca .mm-item { padding: 8px 10px; }
.apac .ap-busca .mm-item-tit { font-size: .76rem; }

/* ---- Folha de impressão (ApacImpressao.razor; o @page do A4 fica na própria página) ---- */
.apac.ap-doc { min-height: 100vh; padding-bottom: 24px; background: var(--p-bg); font-family: var(--p-font); color: #111827; }
.apac .ap-doc-barra {
    position: sticky; top: 0; z-index: 5; display: flex; justify-content: flex-end; gap: 8px;
    padding: 10px 16px; background: var(--p-surface); border-bottom: 1px solid var(--p-border);
}
.apac .ap-doc-aviso {
    max-width: 520px; margin: 60px auto; padding: 22px; text-align: center; line-height: 1.6;
    background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; font-size: .86rem; color: #374151;
}
.apac .ap-folha {
    width: 210mm; max-width: calc(100% - 32px); margin: 16px auto 0; padding: 14mm;
    background: #fff; color: #111827; box-shadow: 0 2px 12px rgba(15, 23, 42, .14);
    font-size: 11.5px; line-height: 1.45;
}
.apac .ap-folha-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding-bottom: 8px; margin-bottom: 8px; border-bottom: 2px solid #111827; }
.apac .ap-folha-tit { font-size: 17px; font-weight: 800; letter-spacing: -.2px; }
.apac .ap-folha-sub { margin-top: 2px; font-size: 10.5px; color: #4b5563; }
.apac .ap-folha-num { flex: none; text-align: right; }
.apac .ap-folha-num small { display: block; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #6b7280; }
.apac .ap-folha-num b { font: 800 14px var(--p-mono); }
.apac .ap-folha-status { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 11px; color: #374151; }
.apac .ap-folha-neg { margin-top: 6px; padding: 6px 8px; border: 1px solid #fca5a5; border-radius: 6px; background: #fef2f2; font-size: 11px; }
.apac .ap-fsec { margin-top: 12px; break-inside: avoid; }
.apac .ap-fsec-tit { margin-bottom: 6px; padding-bottom: 3px; border-bottom: 1px solid #d1d5db; font-size: 9.5px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: #374151; }
.apac .ap-fgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px 14px; }
.apac .ap-fgrid .dois { grid-column: span 2; }
.apac .ap-fgrid .full { grid-column: 1 / -1; }
.apac .ap-fl { font-size: 8.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #6b7280; }
.apac .ap-fv { font-size: 11.5px; font-weight: 600; color: #111827; overflow-wrap: anywhere; }
.apac .ap-fv.txt { font-weight: 400; white-space: pre-wrap; }
.apac .ap-ftbl { width: 100%; border-collapse: collapse; font-size: 11px; }
.apac .ap-ftbl th, .apac .ap-ftbl td { padding: 4px 6px; border: 1px solid #d1d5db; text-align: left; vertical-align: top; }
.apac .ap-ftbl th { background: #f3f4f6; font-size: 9px; letter-spacing: .05em; text-transform: uppercase; }
.apac .ap-ftbl .c { text-align: center; }
.apac .ap-ftbl .r { text-align: right; }
.apac .ap-ftbl .nw { white-space: nowrap; }
.apac .ap-folha-rodape { display: flex; justify-content: space-between; margin-top: 18px; padding-top: 6px; border-top: 1px solid #d1d5db; font-size: 9.5px; color: #6b7280; }

@media print {
    .apac.ap-doc { min-height: 0; padding: 0; background: #fff; }
    .apac .ap-doc-barra { display: none !important; }
    .apac .ap-folha { width: auto; max-width: none; margin: 0; padding: 0; box-shadow: none; }
}

/* ===== Assistente de atendimento retroativo (Components/WizardAtendimentoRetroativo.razor, janela Css="wiz-retro") ===== */
/* ============================================================
   Assistente de atendimento retroativo — Components/WizardAtendimentoRetroativo.razor (02/11/2026).
   Janela MmModal com Css="wiz-retro" (IRMÃ do .mc-scaled; tokens --p-* vêm do .mm-layer).
   Só o que mc-modulo.css / prescricao-modal.css não cobrem: bloco da justificativa, chaves das etapas,
   etapas clicáveis (mm-steps em <button>), campos com busca (CID, medicamento), cartão de item da
   prescrição, lista de exames de imagem e o aviso no rodapé. Sem media query de largura.
   ============================================================ */

/* ---------- paciente no cabeçalho ---------- */
.wiz-retro .wr-pac {
    display: inline-flex; align-items: center; gap: 6px; max-width: 340px; min-width: 0;
    padding: 4px 10px; border-radius: 50px; background: var(--p-soft); border: 1px solid var(--p-border);
    font-size: .74rem; font-weight: 700; color: var(--p-ink); white-space: nowrap;
}
.wiz-retro .wr-pac > i { color: var(--p-blue); font-size: 15px; flex: none; }
.wiz-retro .wr-pac-nome { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

/* ---------- justificativa (sempre visível) ---------- */
.wiz-retro .wr-just {
    display: flex; align-items: flex-start; gap: 11px; flex: none;
    padding: 12px 14px; border-radius: 14px;
    background: var(--p-orange-soft); border: 1px solid var(--p-orange-line);
}
.wiz-retro .wr-just-ico {
    width: 34px; height: 34px; border-radius: 10px; flex: none;
    display: flex; align-items: center; justify-content: center; font-size: 18px;
    background: var(--p-surface); color: var(--p-orange); border: 1px solid var(--p-orange-line);
}
.wiz-retro .wr-just .prmd-flabel { color: var(--p-ink); }
.wiz-retro .wr-just textarea.prmd-field { min-height: 58px; }

/* ---------- etapas incluídas (chaves) ---------- */
.wiz-retro .wr-etapas {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; flex: none;
    padding: 9px 14px; border-radius: 12px; background: var(--p-soft); border: 1px solid var(--p-border-soft);
}
.wiz-retro .wr-etapas .mm-flabel-inline { margin-right: 2px; }
.wiz-retro .mm-switch.fixo { cursor: default; opacity: .65; }

/* ---------- etapas clicáveis (mm-steps com <button>) ---------- */
.wiz-retro .wr-steps { flex: none; overflow-x: auto; scrollbar-width: thin; padding-bottom: 2px; }
.wiz-retro button.mm-step {
    min-width: 132px; font: inherit; font-size: .72rem; font-weight: 700; line-height: 1.3;
    transition: border-color .15s, color .15s, background .15s;
}
.wiz-retro button.mm-step:hover:not(.on) { border-color: var(--p-blue-line); color: var(--p-blue); }
.wiz-retro .mm-step > i { font-size: 15px; flex: none; }
.wiz-retro .mm-step .n i { font-size: 13px; }
.wiz-retro .wr-step-nome { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wiz-retro .mm-step.ok:not(.on) { color: var(--p-ink); }
.wiz-retro .mm-step.pend { border-color: var(--p-orange-line); color: var(--p-orange); }
.wiz-retro .mm-step.pend .n { background: var(--p-orange); color: #fff; }

/* ---------- campos ---------- */
.wiz-retro textarea.prmd-field.curto { min-height: 42px; }
.wiz-retro .prmd-busca input.err { border-color: var(--p-red); box-shadow: 0 0 0 3px rgba(220,38,38,.12); }
.wiz-retro .prmd-busca-btn .prmd-spin { width: 16px; height: 16px; border-width: 2px; }
.wiz-retro .mm-f-hint i { font-size: 13px; vertical-align: -2px; }
.wiz-retro .mm-f-hint.wr-hint-ok { color: var(--p-green); font-weight: 600; }
.wiz-retro .mm-f-hint.wr-hint-ok b { font-weight: 800; }
.wiz-retro .mm-sec-lbl i { font-size: 13px; vertical-align: -2px; }

/* campo com busca e lista de sugestões (CID, medicamento, filtro de exames) */
.wiz-retro .wr-busca { position: relative; }
.wiz-retro .wr-busca > .prmd-field { padding-right: 34px; }
.wiz-retro .wr-busca-ico {
    position: absolute; right: 10px; top: 0; height: 100%; max-height: 38px;
    display: flex; align-items: center; color: var(--p-faint); font-size: 15px; pointer-events: none;
}
.wiz-retro .wr-spin {
    width: 14px; height: 14px; border: 2px solid var(--p-blue-line-soft); border-top-color: var(--p-blue);
    border-radius: 50%; animation: mmSpin .7s linear infinite;
}
.wiz-retro .wr-busca .mm-bp-drop { max-height: 300px; }
.wiz-retro .mm-bp-it { color: var(--p-text); font-size: .76rem; }
.wiz-retro .wr-cod {
    flex: none; min-width: 52px; padding: 2px 7px; border-radius: 6px; text-align: center;
    background: var(--p-blue-soft); color: var(--p-blue); font: 800 .7rem var(--p-mono, monospace);
}
.wiz-retro .wr-sug-txt { font-size: .76rem; font-weight: 600; color: var(--p-text); line-height: 1.35; }
.wiz-retro .wr-sug-txt.b { font-weight: 700; color: var(--p-ink); }
.wiz-retro .wr-sug-ico {
    width: 28px; height: 28px; border-radius: 8px; flex: none;
    display: flex; align-items: center; justify-content: center; font-size: 15px;
    background: var(--p-blue-soft); color: var(--p-blue);
}
.wiz-retro .wr-drop-vazio { padding: 16px 10px; }
.wiz-retro .wr-drop-vazio .mm-empty-tit { margin: 0; }

/* medicamento já escolhido */
.wiz-retro .wr-sel {
    display: flex; align-items: center; gap: 8px; min-height: 36px;
    padding: 3px 4px 3px 10px; border-radius: 10px;
    border: 1.5px solid var(--p-blue-line); background: var(--p-blue-soft);
    font-size: .78rem; font-weight: 700; color: var(--p-ink);
}
.wiz-retro .wr-sel > i { color: var(--p-blue); font-size: 15px; flex: none; }

/* ---------- prescrição ---------- */
.wiz-retro .wr-sec-acao { display: flex; align-items: center; gap: 10px; }
.wiz-retro .wr-sec-acao .mm-sec { margin: 0; }
.wiz-retro .wr-item {
    flex: none; padding: 12px 14px; border-radius: 14px;
    border: 1px solid var(--p-border); background: var(--p-surface); box-shadow: var(--p-shadow-sm);
}
.wiz-retro .wr-item-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.wiz-retro .wr-item-n {
    width: 24px; height: 24px; border-radius: 7px; flex: none;
    display: flex; align-items: center; justify-content: center;
    background: var(--p-blue-soft); color: var(--p-blue); font-size: .68rem; font-weight: 800;
}
.wiz-retro .wr-item-tit { flex: 1; min-width: 0; font-size: .76rem; font-weight: 800; color: var(--p-ink); }
.wiz-retro .wr-centro { display: flex; justify-content: center; flex: none; }

/* ---------- exames de imagem ---------- */
.wiz-retro .wr-filtro { margin-bottom: 8px; }
.wiz-retro .wr-exames {
    max-height: 280px; overflow-y: auto; padding: 4px;
    border: 1px solid var(--p-border); border-radius: 12px; background: var(--p-surface);
}
.wiz-retro .wr-exames.err { border-color: var(--p-red); box-shadow: 0 0 0 3px rgba(220,38,38,.12); }
.wiz-retro .wr-ex-it {
    display: flex; align-items: center; gap: 9px; margin: 0;
    padding: 7px 9px; border-radius: 9px; cursor: pointer;
    font-size: .76rem; font-weight: 600; color: var(--p-text);
}
.wiz-retro .wr-ex-it:hover { background: var(--p-soft); }
.wiz-retro .wr-ex-it.on { background: var(--p-blue-soft); color: var(--p-ink); }
.wiz-retro .wr-ex-it input { width: 16px; height: 16px; margin: 0; flex: none; accent-color: var(--p-blue-light); cursor: pointer; }
.wiz-retro .wr-ex-nome { flex: 1; min-width: 0; }
.wiz-retro .wr-ex-mod { color: var(--p-faint); font-weight: 600; }

/* ---------- rodapé ---------- */
.wiz-retro .mm-mfoot { flex-wrap: wrap; }
.wiz-retro .mm-mfoot .wr-foot-warn { margin-right: auto; flex: 0 1 auto; min-width: 0; padding: .45rem .65rem; }

/* ===== Faturamento BPA: janelas (Css="bpa") e a tela .bpa ===== */
.bpa .bpa-cod { font: 700 .72rem var(--p-mono); color: var(--p-blue); letter-spacing: .2px; white-space: nowrap; }
.bpa .bpa-mono { font-family: var(--p-mono); font-variant-numeric: tabular-nums; }
.bpa .bpa-alerta { color: var(--p-orange); font-weight: 600; }
.bpa .bpa-erro { color: var(--p-red); font-weight: 600; }
.bpa .bpa-ok { color: var(--p-green); }
.bpa .bpa-falta { border-color: var(--p-orange) !important; box-shadow: 0 0 0 3px var(--p-orange-soft); }
.bpa .bpa-sel { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.bpa .bpa-sel-ico { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: var(--p-blue-soft); color: var(--p-blue); flex: none; }
.bpa .bpa-escolhido { display: flex; align-items: center; gap: 6px; min-height: 36px; padding: 4px 6px 4px 10px; border: 1px solid var(--p-border); border-radius: 10px; background: var(--p-soft); font-size: .74rem; }
.bpa .bpa-escolhido > span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bpa .bpa-incluir { margin-bottom: 4px; }
.bpa .bpa-crit { border: 1px solid var(--p-red-line); border-radius: 12px; overflow: hidden; }
.bpa .bpa-crit.alerta { border-color: var(--p-orange-line); }
.bpa .bpa-crit-head { display: flex; align-items: center; gap: 8px; padding: 9px 12px; font-size: .74rem; font-weight: 800; color: var(--p-ink); background: var(--p-soft); }
.bpa .bpa-crit-head i { color: var(--p-red); font-size: 15px; }
.bpa .bpa-crit.alerta .bpa-crit-head i { color: var(--p-orange); }
.bpa .bpa-crit-row { display: flex; align-items: flex-start; gap: 10px; padding: 8px 12px; border-top: 1px solid var(--p-border); font-size: .74rem; color: var(--p-text); }
.bpa .bpa-crit-row .mm-chip { flex: none; font-family: var(--p-mono); }
.bpa .ap-busca .mm-item { padding: 8px 10px; }
.bpa .ap-busca .mm-item-tit { font-size: .76rem; }

/* ===== Faturamento BPA: "Gerar do movimento" / "Particular → BPA" (Shared/Faturamento/BpaMovimentoLista.razor) ===== */
.bpa-mov { display: flex; flex-direction: column; gap: 10px; }
.bpa .bpa-campo-rot { display: inline-flex; align-items: center; gap: 6px; }
.bpa .bpa-comp { width: 130px; }
.bpa .bpa-auto { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; padding: 8px 12px; border-radius: 12px; border: 1px solid var(--p-border); background: var(--p-soft); font-size: .74rem; color: var(--p-muted); }
.bpa .bpa-auto.on { border-color: var(--p-green-line); background: var(--p-green-soft); }
.bpa .bpa-auto-info { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.bpa .bpa-auto-info b { color: var(--p-ink); }
.bpa .bpa-auto-semplano { margin-left: auto; }
.bpa .bpa-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.bpa .bpa-dica { flex: 1; min-width: 260px; }
.bpa .bpa-selbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; padding: 8px 12px; border-radius: 12px; border: 1px solid var(--p-blue-line); background: var(--p-blue-soft); font-size: .76rem; color: var(--p-ink); }
.bpa .bpa-selbar i { color: var(--p-blue); margin-right: 4px; }
.bpa .bpa-g-mov { --cols: 30px 118px 70px minmax(150px, 1fr) minmax(220px, 1.6fr) minmax(110px, .8fr) 130px minmax(140px, .9fr) 74px; }
.bpa .bpa-g-mov .mm-grade-l { content-visibility: auto; contain-intrinsic-size: auto 56px; min-height: 52px; padding-top: 6px; padding-bottom: 6px; }
.bpa .bpa-g-mov .mm-grade-l.bpa-grupo { contain-intrinsic-size: auto 46px; min-height: 44px; background: var(--p-soft); }
.bpa .bpa-grupo-cab { grid-column: 2 / -1; display: flex; align-items: center; gap: 8px; min-width: 0; }
.bpa .bpa-grupo-cab .bpa-nome { font-weight: 800; color: var(--p-ink); font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bpa .bpa-item.sel { background: var(--p-blue-soft); }
.bpa .bpa-item.gerado { opacity: .62; }
.bpa .bpa-item.pend { box-shadow: inset 3px 0 0 var(--p-orange); }
.bpa .bpa-g-mov .acoes { display: flex; gap: 4px; justify-content: flex-end; }
/* nome do convênio longo ("UNIMED NACIONAL (CNU) - …") passava por cima da coluna Situação */
.bpa .bpa-conv { min-width: 0; }
.bpa .bpa-conv .mm-chip { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }
.bpa .bpa-ell { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bpa .bpa-sug { margin-top: 4px; max-height: 240px; overflow: auto; }
.bpa .bpa-barra { height: 10px; border-radius: 999px; background: var(--p-blue-soft); overflow: hidden; }
.bpa .bpa-barra > div { height: 100%; background: var(--p-grad-primary); border-radius: 999px; transition: width .2s; }
.bpa .bpa-opts .mm-opt { flex: 1; }
.bpa .bpa-campos { display: grid; grid-template-columns: 170px 1fr; gap: 6px 14px; font-size: .76rem; }
.bpa .bpa-campo { display: contents; }
.bpa .bpa-campo .k { color: var(--p-muted); font-weight: 700; font-size: .7rem; text-transform: uppercase; letter-spacing: .4px; padding-top: 2px; }
.bpa .bpa-campo .v { color: var(--p-text); min-width: 0; }
.bpa .bpa-campo .v.pre { white-space: pre-wrap; }
.bpa .bpa-campo.destaque .v { font-weight: 700; color: var(--p-ink); }

/* ---- BPA: página principal (abas Guias / Lotes, 02/11/2026 — substitui o bpa.css do desenho TISS) ---- */
.bpa .bpa-abas { align-self: flex-start; flex-wrap: wrap; }
.bpa .bpa-ajuda { align-items: flex-start; }
.bpa .bpa-fluxo { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.bpa .bpa-data { width: 140px; }
.bpa .bpa-forte { font-weight: 700; color: var(--p-ink); }
.bpa .bpa-dir { text-align: right; }
.bpa .bpa-zero { color: var(--p-purple); }
.bpa .bpa-sit { border: none; cursor: pointer; font: inherit; display: inline-flex; align-items: center; gap: 4px; max-width: 100%; }
.bpa .bpa-sit i { font-size: 13px; }
.bpa .bpa-mini { width: 26px; height: 26px; }
.bpa .bpa-btn-sm { height: 30px; padding: 0 10px; font-size: .72rem; }
.bpa .bpa-pessoas { display: flex; flex-wrap: wrap; gap: 4px; }
.bpa .bpa-ul { margin: 0; padding-left: 16px; font-size: .72rem; line-height: 1.5; }
.bpa .bpa-regras { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bpa .bpa-g-guias { --cols: 30px 118px minmax(200px, 1.4fr) minmax(150px, 1fr) minmax(200px, 1.4fr) 84px 96px 160px 100px 96px; }   /* Lote: botão "#lote ›" */
.bpa .bpa-guia.sel { background: var(--p-blue-soft); }
.bpa .bpa-guia.cancelada { opacity: .55; }
.bpa .bpa-g-lotes { --cols: 28px minmax(200px, 1.4fr) 76px 70px 150px 100px 90px 100px minmax(150px, 1fr) 210px; }
.bpa .bpa-lote.exp { background: var(--p-blue-soft); }
.bpa .bpa-lote-bloco .bpa-lote { content-visibility: visible; }
.bpa .bpa-lote-bloco { content-visibility: auto; contain-intrinsic-size: auto 60px; }
.bpa .bpa-lote-bloco:has(.menu-on), .bpa .bpa-lote-bloco:has(.exp) { content-visibility: visible; }
.bpa .bpa-sub { margin: 0 14px 10px 42px; border: 1px solid var(--p-border); border-radius: 12px; overflow: hidden; background: var(--p-surface); }
.bpa .bpa-g-lsub { --cols: 118px minmax(180px, 1.3fr) minmax(140px, 1fr) minmax(180px, 1.3fr) 150px 92px 70px; }
.bpa .bpa-g-val { --cols: 120px minmax(160px, 1.1fr) minmax(130px, .9fr) minmax(160px, 1.1fr) minmax(220px, 1.5fr) 120px; }
.bpa .bpa-g-val .mm-grade-l { align-items: start; }
.bpa .bpa-g-guias .acoes, .bpa .bpa-g-lotes .acoes, .bpa .bpa-g-lsub .acoes, .bpa .bpa-g-val .acoes { display: flex; gap: 4px; justify-content: flex-end; align-items: center; }
.bpa .bpa-hist-aba { min-width: 0; }

/* ---- BPA: janela do lote (03/11/2026) — botão do lote na coluna Lote (aba Guias) e na aba Lotes, e a
   janela com informações, resumo e ações (FaturamentoBpa.razor, "JANELA: LOTE"; MmModal Css="bpa") ---- */
.bpa .bpa-lote-btn {
    display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 5px 0 7px; flex: none;
    border-radius: 7px; border: 1px solid var(--p-blue-line); background: var(--p-blue-soft); color: var(--p-blue);
    font: 800 .7rem var(--p-mono); white-space: nowrap; cursor: pointer; transition: background .15s, color .15s, border-color .15s;
}
.bpa .bpa-lote-btn > i { font-size: 13px; }
.bpa .bpa-lote-btn > i.seta { font-size: 14px; margin-left: -1px; opacity: .75; transition: transform .15s; }
.bpa .bpa-lote-btn:hover { background: var(--p-blue); border-color: var(--p-blue); color: #fff; }
.bpa .bpa-lote-btn:hover > i.seta { transform: translateX(2px); opacity: 1; }
.bpa .bpa-lote-btn:focus-visible { outline: 2px solid var(--p-blue); outline-offset: 2px; }
.bpa .bpa-lote-st { display: flex; align-items: center; gap: 4px; margin-top: 2px; }
.bpa .bpa-lote-tirar { border: 0; padding: 0; background: none; color: var(--p-red); font-size: 13px; line-height: 1; cursor: pointer; }
.bpa .bpa-lote-tirar:hover { color: var(--p-ink); }
.bpa .bpa-lr-spin { width: 16px; height: 16px; flex: none; border: 2px solid var(--p-blue-line-soft); border-top-color: var(--p-blue); border-radius: 50%; animation: mmSpin .8s linear infinite; }
.bpa .bpa-lr-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 14px; align-items: start; }
.bpa .bpa-lr-card { padding: 14px 16px; }
.bpa .bpa-lr-h { display: flex; align-items: center; gap: 7px; margin-bottom: 10px; font-size: .8rem; font-weight: 800; color: var(--p-ink); }
.bpa .bpa-lr-h > i { font-size: 16px; color: var(--p-blue); }
.bpa .bpa-lr-dl { display: grid; grid-template-columns: 124px minmax(0, 1fr); gap: 7px 12px; font-size: .76rem; }
.bpa .bpa-lr-dl .k { padding-top: 2px; font-size: .66rem; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: var(--p-muted); }
.bpa .bpa-lr-dl .v { min-width: 0; color: var(--p-text); overflow-wrap: anywhere; }
.bpa .bpa-lr-bar { display: flex; height: 9px; overflow: hidden; border-radius: 999px; background: var(--p-soft2); }
.bpa .bpa-lr-bar > span { display: block; height: 100%; }
.bpa .bpa-lr-leg { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 8px; font-size: .72rem; font-weight: 600; color: var(--p-muted); }
.bpa .bpa-lr-leg i { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 2px; }
.bpa .bpa-g-lrproc { --cols: 112px minmax(0, 1fr) 64px 104px; border: 1px solid var(--p-border); border-radius: 10px; overflow: hidden; }
.bpa .bpa-g-lrproc .mm-grade-l { min-height: 38px; }
.bpa .bpa-g-lrproc .mm-grade-l:last-child { border-bottom: 0; }
.bpa .bpa-lr-desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.35; }
.bpa .bpa-lr-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; width: 100%; }
.bpa .bpa-lr-grupo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

/* ============================================================
   Faturamento AIH — abas "Lotes e arquivo SISAIH01" (Shared/Faturamento/AihLotesPainel.razor) e
   "Unidades terceirizadas" (Shared/Faturamento/UnidadesTerceirizadasPainel.razor), no desenho mm-*
   (02/11/2026). Só o que o mc-modulo.css não cobre, sempre sob a classe raiz do componente
   (.aih-lotes / .aih-unid). As janelas levam a MESMA classe (MmModal Css="aih-lotes"/"aih-unid"),
   por isso o miolo da aba usa .aih-aba para o próprio layout (nunca mexer no .mm-modal).
   Sem media query de largura: a escala do .mc-scaled cuida (ver CLAUDE.md).
   ============================================================ */

/* ---- Miolo da aba (um filho só dentro do .mm-body da tela de AIH) ---- */
.aih-lotes.aih-aba, .aih-unid.aih-aba { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
:is(.aih-lotes, .aih-unid) .aih-aba-tit { font-size: 1.08rem; font-weight: 800; color: var(--p-ink); letter-spacing: -.3px; line-height: 1.25; }
:is(.aih-lotes, .aih-unid) .mm-card-head { flex-wrap: wrap; }
:is(.aih-lotes, .aih-unid) code {
    font-family: var(--p-mono); font-size: .9em; padding: 0 .35em; border-radius: 5px;
    background: var(--p-soft2); color: var(--p-ink);
}
:is(.aih-lotes, .aih-unid) .mm-callout .prmd-iconbtn { margin: -3px -4px -3px 0; flex: none; }
:is(.aih-lotes, .aih-unid) .prmd-iconbtn:disabled { opacity: .4; cursor: not-allowed; }

/* spinner pequeno (linha ocupada, rodapé da janela, remoção de AIH) */
.aih-lotes .al-spin {
    display: inline-block; width: 14px; height: 14px; flex: none;
    border: 2px solid var(--p-blue-line-soft); border-top-color: var(--p-blue); border-radius: 50%;
    animation: mmSpin .8s linear infinite;
}

/* ============================================================
   LOTES
   ============================================================ */
.aih-lotes .al-mes { width: 170px; }
.aih-lotes .al-busca { min-width: 220px; max-width: 320px; }
.aih-lotes .al-aviso { margin: 10px 14px 0; }

/* grade de lotes (linhas em div: é onde o content-visibility do .mm-grade-l vale) */
.aih-lotes .al-grade { --cols: minmax(220px, 2fr) 112px 62px 66px 74px 126px 116px 236px; }
.aih-lotes .al-grade .mm-grade-l { contain-intrinsic-size: auto 58px; }
.aih-lotes .al-grade .acoes { gap: 3px; }
.aih-lotes .al-grade.ocupado .acoes button { opacity: .45; pointer-events: none; }
.aih-lotes .al-lote { display: flex; align-items: baseline; gap: 7px; min-width: 0; }
.aih-lotes .al-num { flex: none; font-family: var(--p-mono); font-size: .74rem; font-weight: 800; color: var(--p-blue); }
.aih-lotes .al-nome { min-width: 0; font-weight: 700; color: var(--p-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aih-lotes .al-trab { display: inline-flex; align-items: center; margin-right: 4px; }

/* ---- Janela do lote ---- */
.aih-lotes .al-resumo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 1.8fr); gap: 8px; }
.aih-lotes .al-apres { display: flex; align-items: center; gap: 8px; margin-top: 3px; flex-wrap: wrap; }
.aih-lotes .al-apres .prmd-field { width: 170px; }
.aih-lotes .al-avulsa { align-items: center; flex-wrap: wrap; }
.aih-lotes .al-avulsa > i { margin-top: 0; }
.aih-lotes .al-avulsa .prmd-field { width: 160px; }
.aih-lotes .mm-mfoot { flex-wrap: wrap; }
.aih-lotes .prmd-btn:disabled { opacity: .5; cursor: not-allowed; }

/* grade de AIHs do lote */
.aih-lotes .al-itens { --cols: 64px minmax(190px, 1.3fr) 128px minmax(160px, 1fr) 92px minmax(260px, 2.2fr) 158px; }
.aih-lotes .al-itens .mm-grade-l { align-items: start; contain-intrinsic-size: auto 64px; padding-top: 9px; padding-bottom: 9px; }
.aih-lotes .al-itens .mm-grade-l.erro { box-shadow: inset 3px 0 0 var(--p-red); background: color-mix(in srgb, var(--p-red-soft) 60%, var(--p-surface)); }
.aih-lotes .al-itens .mm-grade-l.erro:hover { background: var(--p-red-soft); }
.aih-lotes .al-cidproc { display: flex; flex-wrap: wrap; gap: 4px; }
.aih-lotes .al-msgs { margin: 0; padding-left: 15px; display: flex; flex-direction: column; gap: 2px; font-size: .7rem; font-weight: 600; line-height: 1.4; }
.aih-lotes .al-msgs li.erro { color: var(--p-red); }
.aih-lotes .al-msgs li.alerta { color: var(--p-orange); }

/* ---- Janela "Regras SISAIH01" ---- */
.aih-lotes .al-regras { display: flex; flex-direction: column; gap: 14px; }
.aih-lotes .al-regras .mm-sec > i { font-size: 15px; color: var(--p-blue); }
.aih-lotes .al-regras ul, .aih-lotes .al-regras ol { margin: 0; padding-left: 20px; font-size: .76rem; line-height: 1.6; color: var(--p-text); }
.aih-lotes .al-regras li + li { margin-top: 3px; }
.aih-lotes .al-regras strong { color: var(--p-ink); font-weight: 700; }
.aih-lotes .al-regras-box {
    padding: 12px 14px; border-radius: 12px;
    background: var(--p-soft); border: 1px solid var(--p-border-soft);
    font-size: .76rem; line-height: 1.6; color: var(--p-text);
}
.aih-lotes .al-regras-box ol { margin-top: 6px; }
.aih-lotes .al-regras-sub { margin-top: 10px; font-weight: 700; color: var(--p-ink); }

/* ============================================================
   UNIDADES TERCEIRIZADAS
   ============================================================ */
.aih-unid .au-busca { min-width: 200px; max-width: 280px; }
.aih-unid .au-grade { --cols: minmax(200px, 1.3fr) 240px minmax(200px, 1.6fr) 110px 100px; }
.aih-unid .au-grade .mm-grade-l { contain-intrinsic-size: auto 52px; }
.aih-unid .au-doc { margin-left: 6px; }
.aih-unid .au-link {
    border: none; background: none; padding: 0;
    font: inherit; font-weight: 800; color: var(--p-blue); cursor: pointer;
}
.aih-unid .au-link:hover { color: var(--p-blue-light); text-decoration: underline; }

/* ---- AIH: tela das internações para AIH (02/11/2026 — substitui o aih-page.css do protótipo) ----
   Raiz .mm.aih (página) e as janelas MmModal Css="aih …". As peças das janelas usam o prefixo aed-* (o que o
   mc-modulo.css não tem: cartão de seção, escolhido código+descrição, avisos coloridos, sugestões em overlay). */
.aih .aih-campo-rot { display: inline-flex; align-items: center; gap: 6px; }
.aih .aih-data { width: 140px; }
.aih .aih-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.aih .aih-selbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; padding: 8px 12px; border-radius: 12px; border: 1px solid var(--p-blue-line); background: var(--p-blue-soft); font-size: .76rem; color: var(--p-ink); }
.aih .aih-selbar i { color: var(--p-blue); margin-right: 4px; }
.aih .aih-g-eleg { --cols: 30px minmax(200px, 1.3fr) 150px minmax(170px, 1fr) minmax(220px, 1.5fr) 120px 150px 140px; }
.aih .aih-g-lote { --cols: minmax(200px, 1.3fr) 150px minmax(170px, 1fr) minmax(220px, 1.5fr) 120px minmax(150px, 1fr) 150px 140px; }
.aih .aih-linha.sel { background: var(--p-blue-soft); }
.aih .aih-forte { font-weight: 700; color: var(--p-ink); }
.aih .aih-ell { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.aih .aih-mono { font-family: var(--p-mono); font-variant-numeric: tabular-nums; }
.aih .aih-erro { color: var(--p-red); font-weight: 600; }
.aih .aih-alerta { color: var(--p-orange); font-weight: 600; }
.aih .aih-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 3px; align-items: center; }
.aih .aih-meds { display: grid; gap: 1px; font-size: .7rem; min-width: 0; }
.aih .aih-meds > div { display: flex; gap: 6px; min-width: 0; }
.aih .aih-meds span { flex: none; width: 34px; font-size: .6rem; font-weight: 800; letter-spacing: .5px; color: var(--p-faint); padding-top: 1px; }
.aih .aih-meds b { font-weight: 600; color: var(--p-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.aih .aih-cidproc { display: flex; align-items: baseline; gap: 6px; min-width: 0; font-size: .72rem; }
.aih .aih-cidproc + .aih-cidproc { margin-top: 3px; }
.aih .aih-cod { font: 700 .7rem var(--p-mono); color: var(--p-blue); white-space: nowrap; flex: none; }
.aih .aih-cod-cid { font: 700 .7rem var(--p-mono); color: var(--p-red); white-space: nowrap; flex: none; }
.aih .aih-link { display: block; color: var(--p-blue); text-decoration: none; }
.aih .aih-link:hover { text-decoration: underline; }
.aih .aih-sit { border: none; cursor: pointer; font: inherit; display: inline-flex; align-items: center; gap: 4px; }
.aih .aih-g-eleg .acoes, .aih .aih-g-lote .acoes { display: flex; gap: 4px; justify-content: flex-end; }

/* janelas */
.aih .aed-corpo { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.aih .aed-stack { display: flex; flex-direction: column; gap: 12px; }
.aih .aed-stack.sm { gap: 8px; }
.aih .aed-stack.xs { gap: 5px; }
.aih .aed-stack.lg { gap: 18px; }
.aih .aed-card { position: relative; background: var(--p-surface); border: 1px solid var(--p-border); border-radius: 12px; padding: 14px; min-width: 0; }
.aih .aed-card.flush { padding: 0; overflow: visible; }
.aih .aed-card.pad { padding: 16px; }
.aih .aed-card.tracejado { border-style: dashed; background: var(--p-soft); }
.aih .aed-card.crit { border-color: var(--p-red-line); background: var(--p-red-soft); }
.aih .aed-sec { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.aih .aed-sec.tight { margin-bottom: 8px; }
.aih .aed-sec.barra { margin: 0; padding: 10px 14px; border-bottom: 1px solid var(--p-border); background: var(--p-soft); border-radius: 12px 12px 0 0; }
.aih .aed-sec-ico { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; font-size: 14px; flex: none;
    background: var(--tom-soft, var(--p-blue-soft)); color: var(--tom, var(--p-blue)); }
.aih .aed-sec-ico.letra { font-size: .74rem; font-weight: 800; }
.aih .aed-sec-t { font-size: .8rem; font-weight: 800; color: var(--p-ink); }
.aih .aed-sec-t.mut { color: var(--p-muted); }
.aih .aed-sec-chip { font-size: .62rem; font-weight: 700; color: var(--p-muted); background: var(--p-soft2); border-radius: 50px; padding: 2px 8px; letter-spacing: .2px; }
.aih .aed-sec-chip.off { color: var(--p-red); background: var(--p-red-soft); }
.aih .aed-g2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.aih .aed-g2 > .span2 { grid-column: 1 / -1; }
.aih .aed-g3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.aih .aed-g21 { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 2fr); gap: 12px; align-items: start; }
.aih .mm-fgrid .mm-f.c1 { grid-column: span 1; }
.aih .aed-g2 .prmd-flabel, .aih .aed-g3 .prmd-flabel, .aih .aed-g21 .prmd-flabel, .aih .aed-ac > .prmd-flabel { display: flex; align-items: center; gap: 5px; }
.aih .prmd-flabel .opc { font-weight: 600; color: var(--p-faint); text-transform: none; letter-spacing: 0; }
.aih textarea.prmd-field { min-height: 70px; resize: vertical; }
.aih .prmd-field.xs { height: 30px; padding: 0 8px; font-size: .72rem; width: auto; }
.aih .prmd-field.err { border-color: var(--p-red); box-shadow: 0 0 0 3px rgba(220,38,38,.12); }
.aih .prmd-field.pend { border-color: var(--p-orange); box-shadow: 0 0 0 3px rgba(217,119,6,.12); }
.aih .aed-num { font-family: var(--p-mono); font-variant-numeric: tabular-nums; }
.aih .mm-f-hint.warn { color: var(--p-orange); font-weight: 600; }
.aih .mm-f-hint.ok { color: var(--p-green); font-weight: 600; }
.aih .mm-f-hint.err { color: var(--p-red); font-weight: 600; }
.aih .mm-f-hint code, .aih .aed-ac-item code { font-family: var(--p-mono); font-size: .92em; color: var(--p-ink); background: var(--p-soft2); border-radius: 5px; padding: 0 .35em; }
.aih .aed-ac { position: relative; min-width: 0; }
.aih .aed-ac-item { display: block; width: 100%; text-align: left; border: none; background: none; padding: 7px 9px; border-radius: 8px;
    font-size: .74rem; color: var(--p-text); cursor: pointer; }
.aih .aed-ac-item:hover { background: var(--p-blue-soft); color: var(--p-blue); }
.aih .aed-sel { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 5px 6px 5px 10px; border-radius: 10px; font-size: .74rem;
    border: 1px solid var(--tom-line, var(--p-border)); background: var(--tom-soft, var(--p-soft)); color: var(--p-text); min-width: 0; }
.aih .aed-sel > i { color: var(--tom, var(--p-blue)); font-size: 15px; flex: none; }
.aih .aed-sel-cod { font: 700 .72rem var(--p-mono); color: var(--tom, var(--p-blue)); flex: none; }
.aih .aed-sel-desc { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aih .aed-x { width: 26px; height: 26px; flex: none; }
.aih .aed-alert { display: flex; align-items: flex-start; gap: 9px; padding: 10px 12px; border-radius: 12px; font-size: .74rem; line-height: 1.5;
    background: var(--tom-soft, var(--p-blue-soft)); border: 1px solid var(--tom-line, var(--p-blue-line-soft)); color: var(--p-text); }
.aih .aed-alert > i { font-size: 16px; flex: none; color: var(--tom, var(--p-blue)); margin-top: 1px; }
.aih .aed-alert.sm { padding: 7px 10px; font-size: .7rem; }
.aih .aed-alert-txt { flex: 1; min-width: 0; }
.aih .aed-alert-txt b { color: var(--p-ink); }
.aih .aed-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 36px 16px; color: var(--p-faint); text-align: center; }
.aih .aed-empty > i { font-size: 28px; }
.aih .aed-empty.ok > i { color: var(--p-green); }
.aih .aed-empty-t { font-size: .8rem; font-weight: 600; color: var(--p-muted); }
.aih .aed-emptybox { padding: 10px 12px; border: 1px dashed var(--p-border); border-radius: 10px; font-size: .72rem; color: var(--p-faint); background: var(--p-soft); }
.aih .aed-grp { display: flex; align-items: center; gap: 7px; font-size: .74rem; font-weight: 800; color: var(--tom, var(--p-ink)); margin-bottom: 8px; }
.aih .aed-grp.sm { font-size: .7rem; margin-bottom: 6px; }
.aih .aed-bullet { display: flex; align-items: flex-start; gap: 8px; font-size: .74rem; color: var(--p-text); }
.aih .aed-bullet-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--p-red); flex: none; margin-top: 6px; }
.aih .aed-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.aih .aed-ok { color: var(--p-green); }
.aih .aed-nota { padding: 10px 14px; border-top: 1px solid var(--p-border); font-size: .7rem; color: var(--p-muted); }
.aih .aed-optrow { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--p-border); border-radius: 10px; cursor: pointer; }
.aih .aed-optrow.on { border-color: var(--p-blue-light); background: var(--p-blue-soft); }
.aih .aed-forte { font-weight: 700; color: var(--p-ink); font-size: .78rem; }
.aih .aed-drawer { position: sticky; bottom: -18px; margin: 0 -18px -18px; padding: 14px 18px; border-top: 1px solid var(--p-red-line);
    background: var(--p-surface); box-shadow: 0 -12px 30px -18px rgba(2,10,30,.35); max-height: 42vh; overflow-y: auto; z-index: 3; }
.aih .mm-mfoot .aed-foot-crit { margin-right: auto; }
/* tons das peças aed-* */
.aih .t-blue { --tom: var(--p-blue); --tom-soft: var(--p-blue-soft); --tom-line: var(--p-blue-line-soft); }
.aih .t-green { --tom: var(--p-green); --tom-soft: var(--p-green-soft); --tom-line: var(--p-green-line); }
.aih .t-red { --tom: var(--p-red); --tom-soft: var(--p-red-soft); --tom-line: var(--p-red-line); }
.aih .t-orange { --tom: var(--p-orange); --tom-soft: var(--p-orange-soft); --tom-line: var(--p-orange-line); }
.aih .t-teal { --tom: var(--p-teal); --tom-soft: var(--p-teal-soft); --tom-line: var(--p-teal-line); }
.aih .t-purple { --tom: var(--p-purple); --tom-soft: var(--p-purple-soft); --tom-line: var(--p-purple-line); }
.aih .t-indigo { --tom: var(--p-blue-light); --tom-soft: var(--p-blue-soft); --tom-line: var(--p-blue-line-soft); }
.aih .t-gray { --tom: var(--p-muted); --tom-soft: var(--p-soft); --tom-line: var(--p-border); }
/* detalhes da internação */
.aih .aed-resumo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 10px 14px; border: 1px solid var(--p-border); border-radius: 12px; background: var(--p-soft); }
.aih .aed-resumo-item { min-width: 0; }
.aih .aed-resumo-item.largo { flex: 1; min-width: 220px; }
.aih .aed-resumo-item .k { font-size: .6rem; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; color: var(--p-faint); }
.aih .aed-resumo-item .v { font-size: .8rem; font-weight: 700; color: var(--p-ink); }
.aih .aed-resumo-cid { display: flex; align-items: center; gap: 6px; font-size: .74rem; min-width: 0; }
.aih .aed-evo { border: 1px solid var(--tom-line, var(--p-border)); border-left: 3px solid var(--tom, var(--p-blue)); border-radius: 10px; padding: 10px 12px; background: var(--p-surface); }
.aih .aed-evo-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.aih .aed-evo-pill { font-size: .62rem; font-weight: 800; color: var(--tom, var(--p-blue)); background: var(--tom-soft, var(--p-blue-soft)); border-radius: 50px; padding: 2px 8px; }
.aih .aed-evo-prof { font-size: .74rem; font-weight: 700; color: var(--p-ink); }
.aih .aed-evo-dt, .aih .aed-presc-dt, .aih .aed-sv-dt { margin-left: auto; font: 600 .68rem var(--p-mono); color: var(--p-faint); }
.aih .aed-sv-dt { margin-left: 0; }
.aih .aed-evo-txt, .aih .aed-presc-txt { font-size: .74rem; color: var(--p-text); white-space: pre-line; line-height: 1.5; }
.aih .aed-evo-sinais { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.aih .aed-presc-head { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-bottom: 1px solid var(--p-border); }
.aih .aed-presc-med { font-size: .76rem; font-weight: 700; color: var(--p-ink); }
.aih .aed-presc-txt { padding: 10px 14px; }
.aih .aed-sv { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid var(--p-border); border-radius: 10px; }
.aih .aed-sv-prof { font-size: .7rem; color: var(--p-muted); }
.aih .aed-proc { display: flex; align-items: center; gap: 10px; }
.aih .aed-proc-n { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--p-blue-soft); color: var(--p-blue); font-size: .7rem; font-weight: 800; flex: none; }
.aih .aed-proc-cod { font: 700 .74rem var(--p-mono); color: var(--p-blue); }
.aih .aed-proc-desc { font-size: .76rem; color: var(--p-text); min-width: 0; }
/* impressão do laudo */
.aih-impr .aih-impr-frame { width: 100%; height: 100%; min-height: 70vh; border: 0; border-radius: 10px; background: #fff; display: block; }
/* ponte: o editor de procedimentos realizados (componente compartilhado com a internação) veste o aih-page.css
   e a sugestão de procedimento pelo CID (sugestao-procedimento.css) lê os mesmos --t-*
   pelo .aihroot — aqui com os tokens do mm-*, para ficar igual ao resto da janela */
.mm-layer.aih, .mm.aih, .aih .aihroot.aih-ponte {
    --t-bg: var(--p-soft); --t-surface: var(--p-surface); --t-border: var(--p-border); --t-inb: var(--p-border);
    --t-text: var(--p-text); --t-strong: var(--p-ink); --t-muted: var(--p-muted); --t-faint: var(--p-faint); --t-input: var(--p-surface);
    --t-blue: var(--p-blue); --t-bluebg: var(--p-blue-soft); --t-link: var(--p-blue-light);
    --t-red: var(--p-red); --t-redbg: var(--p-red-soft); --t-redb: var(--p-red-line);
    --t-amber: var(--p-orange); --t-amberbg: var(--p-orange-soft); --t-amberb: var(--p-orange-line);
    --t-green: var(--p-green); --t-greenbg: var(--p-green-soft); --t-teal: var(--p-teal); --t-tealbg: var(--p-teal-soft);
    --t-purple: var(--p-purple); --t-purplebg: var(--p-purple-soft); --t-tabact: var(--p-blue-soft); --t-thead: var(--p-soft);
    --t-font: inherit;
}
/* busca na documentação (Components/BuscaEvolucaoFaturamento, MmModal Css="aih aih-bef bef-modal"): o miolo ainda usa os
   utilitários de layout do Bootstrap (d-flex, gap, row/col); as cores deles passam para os tokens do mm-* */
.aih-bef .aed-alert { display: block; }
.aih-bef .aed-alert > i { display: inline; margin: 0 4px 0 0; vertical-align: -2px; }
.aih-bef .aed-alert.d-flex { display: flex !important; }
.aih-bef .prmd-field.sm { height: 32px; padding: 0 9px; font-size: .74rem; }
.aih-bef .prmd-field.bef-qtd-mini { width: 70px; }
.aih-bef .bef-link { border: none; background: none; padding: 0; color: var(--p-blue); font-size: .7rem; font-weight: 600; cursor: pointer; text-decoration: underline; }
.aih-bef .mm-spin-sm.bef-spin { display: inline-block; width: 13px; height: 13px; border: 2px solid var(--p-blue-line-soft); border-top-color: var(--p-blue); border-radius: 50%; animation: mmSpin .8s linear infinite; vertical-align: -2px; margin-right: 5px; }
.aih-bef .bef-card.ativo { border-color: var(--p-blue-light) !important; background: var(--p-blue-soft); }
.aih-bef .bef-check { width: 16px; height: 16px; accent-color: var(--p-blue-light); margin-top: 3px; flex: none; }
.aih-bef .bef-ac-lista .aed-ac-item code { color: var(--p-blue); }
.aih-bef .text-muted { color: var(--p-faint) !important; }
.aih-bef .text-danger { color: var(--p-red) !important; }
.aih-bef .text-warning { color: var(--p-orange) !important; }
.aih-bef .text-success { color: var(--p-green) !important; }
.aih-bef .text-primary { color: var(--p-blue) !important; }
.aih-bef .border, .aih-bef .border-top { border-color: var(--p-border) !important; }
.aih-bef .rounded { border-radius: 10px !important; }
