/* V1461 — "Receber título / Receber parcela"; V1462 — "Efetuar baixa" no mesmo padrão;
   V1464 — versão compacta: cabe na altura da tela sem barra de rolagem (até 4 campos por linha,
   cartões baixos e resumo da operação no rodapé, ao lado dos botões). */
.fin-modal.fin-rec2 { width: min(1000px, calc(100vw - 24px)) !important; max-width: 1000px !important; max-height: calc(100vh - 16px) !important; display: flex !important; flex-direction: column; overflow: hidden !important; margin: auto; }
.fin-modal.fin-rec2 > form { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; }
.fin-modal.fin-rec2 .fin-modal-head { padding: 10px 18px !important; min-height: 0 !important; }
.fin-modal.fin-rec2 .fin-modal-head h2 { font-size: 18px !important; }
.fin-modal.fin-rec2 .fin-modal-icon { width: 32px !important; height: 32px !important; }
.fin-modal.fin-rec2 .fin-modal-subtitle { font-size: 12px !important; margin-top: 1px !important; }
.fin-modal.fin-rec2 .fin-modal-body { display: block !important; grid-template-columns: none !important; padding: 12px 18px 10px !important; flex: 1 1 auto; min-height: 0; max-height: none !important; overflow-y: auto !important; scrollbar-width: none; }
.fin-modal.fin-rec2 .fin-modal-body::-webkit-scrollbar { display: none; }
.fin-modal.fin-rec2 .fin-field { margin: 0 !important; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.fin-modal.fin-rec2 .fin-field > span { font-size: 12px; font-weight: 600; color: #344054; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fin-modal.fin-rec2 .input { width: 100%; min-height: 34px; height: 34px; padding-top: 5px; padding-bottom: 5px; box-sizing: border-box; font-size: 13.5px; }
.fin-modal.fin-rec2 textarea.input { height: 34px; min-height: 34px; resize: vertical; line-height: 1.4; }

/* resumo do título */
.fin-rec2-resumo { display: flex; align-items: stretch; margin: 0 0 10px; border: 1px solid #d6e2f0; border-radius: 10px; background: linear-gradient(180deg, #f5f9fe, #edf3fb); overflow: hidden; }
.fin-rec2-resumo > div { padding: 7px 14px; display: flex; flex-direction: column; justify-content: center; gap: 1px; }
.fin-rec2-resumo-id { flex: 1; min-width: 0; }
.fin-rec2-resumo-id strong { font-size: 14px; color: #12315e; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fin-rec2-resumo-id small, .fin-rec2-resumo-meta small { color: #5b6b80; font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fin-rec2-resumo-meta { border-left: 1px solid #d6e2f0; min-width: 110px; }
.fin-rec2-resumo-meta strong { font-size: 14px; color: #12315e; }
.fin-rec2-resumo-saldo { border-left: 1px solid #d6e2f0; background: #12315e; min-width: 160px; align-items: flex-end; }
.fin-rec2-resumo-saldo .fin-rec2-rotulo { color: #b9c8dc; }
.fin-rec2-resumo-saldo strong { font-size: 18px; color: #fff; font-variant-numeric: tabular-nums; }
.fin-rec2-rotulo { font-size: 10.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #6b7a8f; }
.fin-rec2 .fin-rec2-vencido { color: #b42318 !important; font-weight: 700; }

/* seções */
.fin-rec2-secao { border: 0; margin: 0 0 10px; padding: 0; min-width: 0; }
.fin-rec2-secao:last-of-type { margin-bottom: 0; }
.fin-rec2-secao[hidden] { display: none !important; }
.fin-rec2-secao > legend { display: flex; align-items: center; gap: 7px; padding: 0; margin: 0 0 6px; font-size: 13px; font-weight: 700; color: #12315e; }
.fin-rec2-num { width: 19px; height: 19px; border-radius: 50%; background: #f07f1a; color: #fff; font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 19px; }
.fin-rec2-grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px 12px; align-items: start; }
.fin-rec2-grade > .is-vazio { display: none !important; }
.fin-rec2-grade > .fin-rec2-duplo, .fin-rec2-grade > div:has(> .fin-rec2-duplo) { grid-column: span 2; }
.fin-rec2-um-campo .fin-rec2-grade > * { grid-column: span 2; }

/* tipo de recebimento em cartões */
.fin-rec2-tipos { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 6px; }
.fin-rec2-tipo { position: relative; cursor: pointer; margin: 0; }
.fin-rec2-tipo input { position: absolute; opacity: 0; pointer-events: none; }
.fin-rec2-tipo-box { display: flex; flex-direction: column; gap: 2px; height: 100%; box-sizing: border-box; padding: 6px 9px 6px 28px; border: 1px solid #d0d9e5; border-radius: 9px; background: #fff; transition: border-color .15s, background-color .15s, box-shadow .15s; position: relative; }
.fin-rec2-tipo-box::before { content: ""; position: absolute; left: 10px; top: 9px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid #b3c0d1; box-sizing: border-box; background: #fff; }
.fin-rec2-tipo-box strong { font-size: 12.5px; color: #12315e; line-height: 1.25; }
.fin-rec2-tipo-box small { font-size: 11px; color: #66768c; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fin-rec2-tipo:hover .fin-rec2-tipo-box { border-color: #f0a35c; }
.fin-rec2-tipo input:focus-visible + .fin-rec2-tipo-box { box-shadow: 0 0 0 3px rgba(240, 127, 26, .25); }
.fin-rec2-tipo input:checked + .fin-rec2-tipo-box { border-color: #f07f1a; background: #fff7ef; box-shadow: 0 0 0 1px #f07f1a inset; }
.fin-rec2-tipo input:checked + .fin-rec2-tipo-box::before { border-color: #f07f1a; background: radial-gradient(circle, #f07f1a 0 2.5px, #fff 3px); }

/* valor */
.fin-rec2-moeda { position: relative; }
.fin-rec2-moeda em { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); font-style: normal; font-weight: 600; color: #6b7a8f; font-size: 12.5px; pointer-events: none; }
.fin-rec2-moeda .input { padding-left: 32px !important; font-weight: 600; font-variant-numeric: tabular-nums; }
.fin-rec2-ajuda { font-size: 11px; color: #6b7a8f; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fin-rec2-ajuda.is-alerta { color: #a15c00; font-weight: 600; white-space: normal; }
.fin-rec2-atalhos { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 1px; }
.fin-rec2-chip { height: 24px; padding: 0 9px; border-radius: 12px; border: 1px solid #c9d6e6; background: #f5f8fc; color: #12315e; font: inherit; font-size: 11.5px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.fin-rec2-chip:hover { border-color: #f07f1a; color: #c25e05; }
.fin-rec2-chip.is-ativo { border-color: #f07f1a; background: #fff3e6; color: #c25e05; }

/* rodapé: resumo da operação ao lado dos botões */
.fin-modal.fin-rec2 .fin-modal-foot { display: flex !important; align-items: center !important; gap: 12px !important; padding: 10px 18px !important; flex: 0 0 auto; }
.fin-modal.fin-rec2 .fin-modal-foot > .btn { flex: 0 0 auto; white-space: nowrap; }
.fin-rec2-previa { flex: 1 1 auto; min-width: 0; display: flex; gap: 10px; align-items: center; margin: 0 auto 0 0; padding: 6px 12px; border-radius: 9px; border: 1px solid #cfe3d6; background: #f0f8f3; }
.fin-rec2-previa > div { min-width: 0; }
.fin-rec2-previa .fin-rec2-rotulo { display: none; }
.fin-rec2-previa .fin-rec-previa { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 12.5px !important; color: #1b2433 !important; line-height: 1.35; }
.fin-rec2-previa-icone { flex: 0 0 20px; width: 20px; height: 20px; border-radius: 50%; background: #1f7a3d; color: #fff; font: 700 11px/20px Georgia, serif; text-align: center; }
.fin-rec2-previa.is-pendente { border-color: #f1d49c; background: #fff8e8; }
.fin-rec2-previa.is-pendente .fin-rec2-previa-icone { background: #c27a00; }
.fin-rec2-previa.is-erro { border-color: #f3b8b2; background: #fef1f0; }
.fin-rec2-previa.is-erro .fin-rec2-previa-icone { background: #b42318; }

/* telas baixas: esconde textos de apoio (as descrições dos cartões continuam na dica ao passar o mouse) */
@media (max-height: 780px) {
  .fin-rec2-tipo-box small, .fin-modal.fin-rec2 .fin-modal-subtitle, .fin-rec2-valor .fin-rec2-ajuda { display: none !important; }
  .fin-rec2-tipo-box { padding-top: 7px; padding-bottom: 7px; justify-content: center; }
  .fin-rec2-tipo-box::before { top: 50%; transform: translateY(-50%); }
}

@media (max-width: 760px) {
  .fin-rec2-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fin-rec2-resumo { flex-wrap: wrap; }
  .fin-rec2-resumo-meta { flex: 1 1 40%; }
  .fin-rec2-resumo-saldo { min-width: 0; flex: 1 1 100%; align-items: flex-start; border-left: 0; }
  .fin-modal.fin-rec2 .fin-modal-foot { flex-wrap: wrap; }
  .fin-rec2-previa { flex-basis: 100%; }
}
