/* ============================================================
   Financeiro (out/2026) — complementos do mc-modulo.css (prefixo fn-).
   Só o que a fundação mm-* não cobre: valores monetários, seleção em
   lote, agenda de vencimentos, gráfico do fluxo projetado, aging,
   conciliação (extrato × sugestões) e conferência do caixa.
   Tudo com os tokens --p-* (claro/escuro herdados de .mm/.mm-layer).
   Seções marcadas por tela: cada uma só mexe na sua.
   ============================================================ */

/* ---- Valores ---- */
.fn-valor { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--p-ink); white-space: nowrap; }
.fn-valor.neg, .fn-neg { color: var(--p-red); }
.fn-valor.pos, .fn-pos { color: var(--p-green); }
.fn-valor.mut { color: var(--p-faint); font-weight: 600; }
.fn-riscado { text-decoration: line-through; opacity: .6; }
.fn-sub { font-size: .66rem; font-weight: 600; color: var(--p-faint); margin-top: 1px; line-height: 1.35; }
.fn-tit { font-size: .78rem; font-weight: 700; color: var(--p-ink); line-height: 1.3; }
.fn-cel { display: flex; flex-direction: column; min-width: 0; }
.fn-cel .fn-tit, .fn-cel .fn-sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fn-clip { color: var(--p-green); font-size: 14px; margin-left: 4px; vertical-align: -2px; }
.fn-kpis-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* Faixa de situação na 1ª célula (atrasada / hoje / quitada) */
.fn-tbl tbody tr > td:first-child { box-shadow: inset 4px 0 0 var(--tom, transparent); }
.fn-tbl tbody tr.sel > td { background: var(--p-blue-soft); }
.fn-tbl td.fn-chk, .fn-tbl th.fn-chk { width: 36px; padding-right: 0; }
.fn-tbl .mm-check input { margin: 0; }
:is(.mm, .mm-layer) .mm-tbl td.acoes .prmd-iconbtn { display: inline-flex; vertical-align: middle; }
.fn-tbl tfoot td { background: var(--p-soft); font-weight: 800; color: var(--p-ink); border-top: 1px solid var(--p-border); position: sticky; bottom: 0; }
.fn-tbl-alta { max-height: calc(100vh - 330px); }

/* ---- Barra da seleção em lote (gruda no rodapé da área visível) ---- */
.fn-lote {
    position: sticky; bottom: 12px; z-index: 6;
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    padding: 10px 14px; border-radius: 14px;
    background: var(--p-ink); color: #fff; box-shadow: var(--p-shadow-lg);
    animation: mmFadeUp .25s var(--p-ease);
}
[data-theme-mode="dark"] .fn-lote { background: #1d4066; }
.fn-lote b { font-weight: 800; }
.fn-lote .fn-lote-n { width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,.16); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: .74rem; }
.fn-lote .mm-btn { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #fff; }
.fn-lote .mm-btn:hover:not(:disabled) { background: rgba(255,255,255,.18); color: #fff; border-color: rgba(255,255,255,.4); }
.fn-lote .mm-btn.ok { background: var(--p-green); border-color: var(--p-green); }

/* ---- Modal de lançamento: prévia de parcelas / recorrência ---- */
.fn-prev { display: flex; flex-direction: column; gap: 6px; }
.fn-prev-it {
    display: grid; grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1fr); gap: 8px; align-items: center;
    padding: 6px 8px; border-radius: 10px; background: var(--p-surface); border: 1px solid var(--p-border);
}
.fn-prev-it .n { font-size: .68rem; font-weight: 800; color: var(--p-muted); text-align: center; }
.fn-prev-it .prmd-field { height: 32px; padding: 0 8px; font-size: .76rem; }
.fn-prev-tot { display: flex; justify-content: space-between; align-items: center; padding: 8px 10px; border-radius: 10px; background: var(--p-soft2); font-size: .74rem; font-weight: 700; color: var(--p-ink); }
.fn-prev-tot.dif { background: var(--p-orange-soft); color: var(--p-orange); }
.fn-conf-linha { display: flex; justify-content: space-between; gap: 8px; font-size: .74rem; padding: 6px 0; border-bottom: 1px dashed var(--p-border); }
.fn-conf-linha:last-child { border-bottom: 0; }
.fn-conf-linha span:first-child { color: var(--p-faint); font-weight: 700; }
.fn-conf-linha span:last-child { color: var(--p-ink); font-weight: 700; text-align: right; }
.fn-total-big { font-size: 1.6rem; font-weight: 800; color: var(--p-ink); letter-spacing: -.5px; font-variant-numeric: tabular-nums; }

/* Histórico (auditoria) dentro do modal da conta */
.fn-aud .mm-tl-meta b { color: var(--p-muted); }
.fn-aud .fn-motivo { margin-top: 4px; padding: 6px 9px; border-radius: 8px; background: var(--p-orange-soft); color: var(--p-orange); font-size: .7rem; font-weight: 600; }

/* Anexos */
.fn-anexos { display: flex; flex-direction: column; gap: 6px; }
.fn-anexo { display: flex; align-items: center; gap: 9px; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--p-border); background: var(--p-surface); }
.fn-anexo-ico { width: 32px; height: 32px; border-radius: 9px; display: flex; align-items: center; justify-content: center; font-size: 16px; background: var(--tom-soft, var(--p-blue-soft)); color: var(--tom, var(--p-blue)); flex: none; }
.fn-upload { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px; border: 1.5px dashed var(--p-border-strong); border-radius: 12px; background: var(--p-soft); }
.fn-upload input[type=file] { font-size: .72rem; color: var(--p-muted); max-width: 260px; }

/* ---- Agenda de vencimentos (painel) ---- */
.fn-agenda { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.fn-agenda-col { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.fn-agenda-head { display: flex; align-items: center; gap: 7px; padding: 0 2px 4px; }
.fn-agenda-head .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--tom); }
.fn-agenda-head b { font-size: .76rem; font-weight: 800; color: var(--p-ink); }
.fn-agenda-it { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 8px 10px; border-radius: 11px; border: 1px solid var(--p-border); background: var(--p-surface); text-align: left; width: 100%; font: inherit; color: inherit; transition: border-color .15s, background .15s; }
button.fn-agenda-it:hover { border-color: var(--p-blue-line); background: var(--p-blue-soft); }
.fn-agenda-dia { width: 34px; height: 34px; border-radius: 9px; background: var(--tom-soft, var(--p-soft2)); color: var(--tom, var(--p-muted)); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.fn-agenda-dia b { font-size: .8rem; font-weight: 800; }
.fn-agenda-dia small { font-size: .52rem; font-weight: 800; text-transform: uppercase; letter-spacing: .4px; }
.fn-agenda-mais { font-size: .7rem; font-weight: 700; color: var(--p-blue); text-align: center; padding: 4px; border: none; background: transparent; }
.fn-seta { font-size: 14px; }
.fn-seta.pagar { color: var(--p-red); }
.fn-seta.receber { color: var(--p-green); }

/* ---- Fluxo projetado (barras realizado + previsto) ---- */
.fn-fluxo { display: flex; align-items: flex-end; gap: 10px; height: 230px; padding: 10px 4px 0; overflow-x: auto; }
.fn-fluxo-per { flex: 1; min-width: 54px; display: flex; flex-direction: column; align-items: center; gap: 5px; height: 100%; justify-content: flex-end; cursor: default; }
.fn-fluxo-barras { display: flex; align-items: flex-end; gap: 3px; height: 100%; width: 100%; justify-content: center; }
.fn-fluxo-col { width: 42%; max-width: 22px; display: flex; flex-direction: column-reverse; border-radius: 6px 6px 2px 2px; overflow: hidden; min-height: 2px; }
.fn-fluxo-col .real { background: var(--tom); }
.fn-fluxo-col .prev { background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--tom) 45%, transparent) 0 4px, color-mix(in srgb, var(--tom) 22%, transparent) 4px 8px); }
.fn-fluxo-col.ent { --tom: var(--p-green); }
.fn-fluxo-col.sai { --tom: var(--p-red); }
.fn-fluxo-lbl { font-size: .6rem; font-weight: 800; color: var(--p-faint); white-space: nowrap; }
.fn-fluxo-per.atual .fn-fluxo-lbl { color: var(--p-blue); }
.fn-fluxo-per.atual .fn-fluxo-barras { background: color-mix(in srgb, var(--p-blue-soft) 70%, transparent); border-radius: 8px; }
.fn-fluxo-saldo { font-size: .6rem; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fn-leg { display: flex; flex-wrap: wrap; gap: 14px; font-size: .68rem; font-weight: 700; color: var(--p-muted); }
.fn-leg span { display: inline-flex; align-items: center; gap: 6px; }
.fn-leg i.sw { width: 12px; height: 12px; border-radius: 4px; display: inline-block; }

/* ---- Aging ---- */
.fn-aging td.faixa { text-align: right; font-variant-numeric: tabular-nums; }
.fn-aging td.faixa.fx1 { background: color-mix(in srgb, var(--p-yellow-soft) 70%, transparent); }
.fn-aging td.faixa.fx2 { background: color-mix(in srgb, var(--p-orange-soft) 85%, transparent); }
.fn-aging td.faixa.fx3 { background: color-mix(in srgb, var(--p-red-soft) 85%, transparent); color: var(--p-red); }
.fn-aging td.faixa.fx4 { background: var(--p-red-soft); color: var(--p-red); font-weight: 800; }
.fn-aging td.zero { color: var(--p-faint); }

/* ==== [CAIXA] — /financeiro/caixa ==== */
/* Abertura do caixa: botão alinhado ao pé dos campos */
.fn-cx-fim { display: flex; align-items: flex-start; padding-top: 21px; }
.fn-cx-fim > .mm-row-flex { min-height: 36px; }
.fn-cx-fim.sem-rotulo { padding-top: 0; }
.fn-cx-largo { width: 100%; height: 37px; }
.mm-fgrid.fn-cx-abertura .mm-f-hint { min-height: 1em; }
.fn-cx-fatos .mm-tag { font-size: .7rem; padding: .22rem .6rem; }
.fn-cx-fatos .mm-tag i { font-size: 13px; color: var(--p-faint); }
/* Extrato: rola dentro do cartão, cabeçalho e totais grudados */
.fn-cx-extrato { max-height: 520px; }
.fn-cx-extrato tfoot td { position: static; }
.fn-cx-extrato tfoot tr.fn-cx-tfoot2 td { font-size: .74rem; color: var(--p-muted); }
.fn-cx-abertura-linha td { background: var(--p-soft); }
.mm-tbl td.acoes .fn-cx-nf { margin-right: 3px; vertical-align: middle; text-decoration: none; }
.mm-tbl td.acoes .mm-btn { vertical-align: middle; }
/* Caixa com movimento pendurado: a lixeira vira alerta laranja (apagar segue liberado ao admin) */
.prmd-iconbtn.fn-cx-alerta { color: var(--p-orange); background: var(--p-orange-soft); }
.fn-cx-pad-b0 { padding-bottom: 0; }
/* Campos de valor alinhados à direita (números) */
:is(.mm, .mm-layer) .prmd-field.fn-cx-num { text-align: right; font-variant-numeric: tabular-nums; }
.fn-cx-abas { align-self: flex-start; }
.fn-cx-linha-rec { align-items: end; }
.fn-cx-cob { align-items: start; }
.mm-dl.fn-cx-dl5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.fn-cx-scard { display: flex; flex-direction: column; gap: 2px; }
.fn-cx-edforma { flex-wrap: nowrap; }
.fn-cx-edforma .fn-cx-edvalor { width: 150px; flex: none; }
/* Conferência do fechamento (FinFecharCaixaModal) */
.mm-mbody.cols > .prmd-side.fn-cx-side { width: 300px; }
.fn-cx-conf td .prmd-field { height: 34px; padding: 0 10px; }
.fn-cx-conf td .fn-tit i { color: var(--p-faint); margin-right: 2px; }
.fn-cx-conf tbody tr > td { vertical-align: middle; }
/* ==== fim [CAIXA] ==== */



/* ==== [CONTAS-PACIENTES] — /financeiro/contas-pacientes e faturamento particular ==== */
/* Contas de Pacientes (fn-cp-*) e cadastros (fn-cad-*). */
.fn-busca { min-width: 260px; }
.fn-busca .prmd-busca input { height: 36px; }
.fn-num { text-align: right; font-variant-numeric: tabular-nums; }
:is(.mm, .mm-layer) .mm-mfoot .prmd-confirm-danger,
:is(.mm, .mm-layer) .fn-cp-perigo { display: inline-flex; align-items: center; gap: 6px; }
:is(.mm, .mm-layer) .prmd-confirm-danger:disabled { opacity: .55; cursor: not-allowed; }
:is(.mm, .mm-layer) .prmd-confirm-danger .prmd-btn-spin,
:is(.mm, .mm-layer) .prmd-btn.outline .prmd-btn-spin {
    width: 14px; height: 14px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff;
    border-radius: 50%; animation: mmSpin .8s linear infinite;
}
:is(.mm, .mm-layer) .prmd-btn.outline .prmd-btn-spin { border-color: var(--p-blue-line-soft); border-top-color: var(--p-blue); }
:is(.mm, .mm-layer) .prmd-btn:disabled { opacity: .55; cursor: not-allowed; }
:is(.mm, .mm-layer) a.prmd-btn { text-decoration: none; justify-content: center; }
:is(.mm, .mm-layer) .mm-stack > .prmd-btn, :is(.mm, .mm-layer) .mm-stack > .mm-btn { width: 100%; justify-content: center; }

/* Faixa do caixa do operador */
.fn-cp-caixa { display: flex; align-items: center; gap: 12px; padding: 12px 16px; flex-wrap: wrap; border-left: 4px solid var(--p-border-strong); }
.fn-cp-caixa.aberto { border-left-color: var(--p-green); }
.fn-cp-caixa-ico { width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 19px; background: var(--p-soft2); color: var(--p-muted); flex: none; }
.fn-cp-caixa.aberto .fn-cp-caixa-ico { background: var(--p-green-soft); color: var(--p-green); }
.fn-cp-caixa .fn-tit { display: flex; align-items: center; gap: 8px; font-size: .84rem; }
.fn-cp-caixa .fn-sub b { color: var(--p-ink); }

.fn-cp-filtro-pac { min-width: 280px; max-width: 360px; flex: 1; }
.fn-cp-filtro-pac .mm-chip-sel { max-width: 100%; white-space: nowrap; overflow: hidden; padding-right: 6px; }

/* Modal da conta */
.fn-cp-itens { max-height: 360px; border: 1px solid var(--p-border); border-radius: 12px; }
.fn-cp-itens .prmd-field.sm { width: 100%; min-width: 64px; }
.fn-cp-mini { font-size: .62rem !important; font-weight: 700; margin-top: 4px; gap: 5px !important; white-space: nowrap; }
.fn-cp-mini input { width: 13px !important; height: 13px !important; }
.fn-cp-f-acao { display: flex; align-items: flex-end; }
.fn-cp-f-acao .prmd-btn { width: 100%; justify-content: center; height: 38px; }
.fn-cp-pgl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) auto; gap: 6px; align-items: center; }
.fn-cp-receber { justify-content: center; width: 100%; padding: .7rem 1rem; font-size: .84rem; }
.fn-cp-hist-resumo { display: flex; align-items: flex-end; gap: 6px; flex-wrap: wrap; }

/* Editor de planos (Faturamento particular) */
.fn-cp-plano-part { padding: 8px 10px; border: 1px solid var(--p-border); border-radius: 10px; background: var(--p-soft); width: 100%; }
.fn-cp-planos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-height: 230px; overflow-y: auto; padding: 2px; margin-top: 8px; }
.fn-cp-plano { display: flex; align-items: center; gap: 8px; padding: 5px 8px; border-radius: 9px; border: 1px solid var(--p-border); background: var(--p-surface); min-height: 38px; }
.fn-cp-plano.on { border-color: var(--p-blue-line); background: var(--p-blue-soft); }
.fn-cp-plano .mm-check { min-width: 0; }
.fn-cp-plano-val { width: 96px !important; flex: none; text-align: right; }

/* Faturamento particular */
.fn-cp-vinc { display: inline-flex; align-items: center; gap: 5px; font-size: .74rem; color: var(--p-text); margin-right: 6px; }
.fn-cp-vinc i { color: var(--p-blue); font-size: 14px; }
.fn-cp-mats { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.fn-cp-mat-tbl { margin-top: 10px; border: 1px solid var(--p-border); border-radius: 12px; max-height: 260px; }
.fn-cp-mat-tbl .prmd-field.sm { width: 100%; }
.fn-cp-f-switch { display: flex; align-items: flex-end; padding-bottom: 8px; }

/* Cadastros (fornecedores, beneficiários, categorias, centros de custo, formas de pagamento) */
.fn-cad-nome { display: flex; align-items: center; gap: 9px; min-width: 0; }
.fn-cad-nome .fn-tit { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fn-cad-sub { padding-left: 38px; color: var(--p-text); font-size: .76rem; font-weight: 600; }
.fn-cad-ico { width: 28px; height: 28px; border-radius: 8px; flex: none; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; background: var(--tom-soft, var(--p-blue-soft)); color: var(--tom, var(--p-blue)); }
.fn-cad-cc { align-items: start; }
.fn-cad-orc { font-size: .72rem; margin-bottom: 4px; white-space: nowrap; }
.fn-cad-orc .fn-valor { font-size: .74rem; }
.mm-opt:disabled { opacity: .55; cursor: not-allowed; }
/* ==== fim [CONTAS-PACIENTES] ==== */



/* ==== [NFSE-CADASTROS] — /financeiro/nfse, cadastros e DRE ==== */
/* NFS-e: abas internas, quadro da DANFSe, chave de acesso, linhas inativas */
.fn-nf-abas { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.fn-nf-abas .mm-seg button { height: 34px; padding: 0 14px; }
.fn-nf-frame { display: block; width: 100%; flex: 1; min-height: 62vh; border: 1px solid var(--p-border); border-radius: 12px; background: #fff; }
.fn-nf-frame.local { background: #f5f5f4; }
.fn-nf-chave { font-size: .74rem; letter-spacing: .3px; }
.fn-nf-chavebox { display: flex; align-items: center; gap: 6px; }
.fn-nf-chavebox .prmd-field { flex: 1; font-size: .74rem; }
.fn-nf-inativo td { opacity: .55; }
.fn-nf-busca { max-width: 640px; }
.fn-nf-tomsel { max-width: 460px; flex: 1; }
.fn-nf-fontes { gap: 18px; }
.fn-nf-valor { text-align: right; font-variant-numeric: tabular-nums; }

/* DRE: seções, subtotais, resultado, participação e variação */
.fn-dre-tbl td, .fn-dre-tbl th { vertical-align: middle; }
.fn-dre-tbl th.fn-dre-part, .fn-dre-tbl td.fn-dre-part { width: 26%; min-width: 180px; }
.fn-dre-tbl .fn-dre-part .mm-bar-row { grid-template-columns: 1fr 48px; }
.fn-dre-tbl tr.fn-dre-sec td {
    background: var(--tom-soft); color: var(--tom); font-size: .66rem; font-weight: 800;
    letter-spacing: .9px; text-transform: uppercase; padding: 8px 12px; border-bottom: 1px solid var(--tom-line);
}
.fn-dre-tbl tr.fn-dre-sec td i { font-size: 15px; vertical-align: -3px; margin-right: 6px; }
.fn-dre-tbl tr.fn-dre-sec.receita { --tom: var(--p-green); --tom-soft: var(--p-green-soft); --tom-line: var(--p-green-line); }
.fn-dre-tbl tr.fn-dre-sec.despesa { --tom: var(--p-red); --tom-soft: var(--p-red-soft); --tom-line: var(--p-red-line); }
.fn-dre-tbl tr.fn-dre-sec:hover td { background: var(--tom-soft); }
.fn-dre-tbl td.fn-dre-cat { padding-left: 26px; color: var(--p-ink); font-weight: 600; }
.fn-dre-lupa { opacity: 0; margin-right: 6px; color: var(--p-blue); transition: opacity .15s; }
.fn-dre-tbl tr.click:hover .fn-dre-lupa { opacity: 1; }
.fn-dre-tbl tr.fn-dre-zerada td { opacity: .6; }
.fn-dre-tbl tr.fn-dre-sub td { background: var(--p-soft); font-weight: 800; color: var(--p-ink); border-top: 1px solid var(--p-border); }
.fn-dre-tbl tr.fn-dre-sub td:first-child { padding-left: 26px; }
.fn-dre-tbl tr.fn-dre-res td { font-size: .9rem; font-weight: 800; border-top: 2px solid var(--p-border-strong); padding-top: 13px; padding-bottom: 13px; }
.fn-dre-tbl tr.fn-dre-res td:first-child { text-transform: uppercase; letter-spacing: .5px; font-size: .72rem; color: var(--p-ink); }
.fn-dre-tbl tr.fn-dre-res td:first-child i { font-size: 16px; vertical-align: -3px; margin-right: 6px; color: var(--p-blue); }
.fn-dre-tbl tr.fn-dre-res td:nth-child(2) { font-size: .7rem; color: var(--p-muted); font-weight: 700; }
.fn-dre-tbl tr.fn-dre-res.pos td.num:nth-child(3) { color: var(--p-green); }
.fn-dre-tbl tr.fn-dre-res.neg td.num:nth-child(3) { color: var(--p-red); }
.fn-dre-tbl tr.fn-dre-res:hover td, .fn-dre-tbl tr.fn-dre-sub:hover td { background: var(--p-soft); }
.fn-dre-vazio { padding-left: 26px !important; font-size: .74rem; }
.fn-dre-delta { display: inline-flex; align-items: center; gap: 2px; font-size: .72rem; font-weight: 800; color: var(--p-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.fn-dre-delta.bom { color: var(--p-green); }
.fn-dre-delta.ruim { color: var(--p-red); }
.fn-dre-total { font-size: 1.05rem; font-weight: 800; font-variant-numeric: tabular-nums; margin-right: 6px; white-space: nowrap; }
.fn-dre-grupo td { background: var(--p-soft); color: var(--p-muted); font-size: .64rem; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; }
.fn-dre-ind { padding-left: 24px !important; }
.fn-dre-scroll { max-height: 340px; }
.fn-dre-card .mm-tbl th { position: static; }
@media print {
    .fn-dre-card { border: none; }
    .fn-dre-lupa { display: none; }
}

/* ==== fim [NFSE-CADASTROS] ==== */



/* ==== [CONCILIACAO] — /financeiro/conciliacao ==== */
.fn-conc { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 16px; align-items: start; }
.fn-sug { display: flex; flex-direction: column; gap: 8px; }
.fn-sug-it { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--p-border); background: var(--p-surface); }
.fn-sug-it.top { border-color: var(--p-green-line); box-shadow: 0 0 0 3px var(--p-green-soft); }
.fn-pts { min-width: 38px; height: 22px; padding: 0 7px; border-radius: 50px; display: inline-flex; align-items: center; justify-content: center; font-size: .64rem; font-weight: 800; background: var(--tom-soft); color: var(--tom); border: 1px solid var(--tom-line); }
/* ==== fim [CONCILIACAO] ==== */

@media print {
    .fn-lote, .fn-no-print { display: none !important; }
}
