/* ================= e16: parcelar dívida ativa =================
   Plano: auditoria/evidencias-construcao/e16/PLANO-VISUAL.md. Tokens da e03; a faixa marinho e a
   régua vêm da e09 (parcelamento.css). A coisa memorável é a cascata: da dívida inscrita ao total.
   Cores por componente (as mesmas na cascata, no quadro e na legenda): dívida azul, desconto verde,
   juros âmbar, honorários violeta, custos ardósia. Ordem: base → componentes → @media. */
.pc-legenda .k-div, .pd-mini .k-div { background: var(--azul); }
.pc-legenda .k-jur, .pd-mini .k-jur { background: #C98A12; }
.pc-legenda .k-hon, .pd-mini .k-hon { background: #6E5BB0; }
.pc-legenda .k-cus, .pd-mini .k-cus { background: #7C8BA1; }

/* ---------- faixa marinho: escolher a dívida ---------- */
.pd-busca-topo { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: var(--esp-4) var(--esp-6); align-items: end; }
.pd-busca .pc-nota { margin: 0 0 6px; }
.pd-campo { flex: none; }

/* ---------- condições à esquerda, resultado à direita ---------- */
.pd-duas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--esp-4); align-items: start; margin-bottom: var(--esp-4); }
.pd-duas > .bloco { margin-bottom: 0; }
.pd-n-linha { display: flex; gap: var(--esp-2); align-items: center; flex-wrap: wrap; }
.pd-n-linha input { flex: 0 0 88px; font-variant-numeric: tabular-nums; }
.pd-rapidos { display: flex; gap: 6px; flex-wrap: wrap; }
.pd-rapidos button { min-width: 52px; justify-content: center; }
fieldset.pd-grupo { border: 0; border-top: 1px solid #EEF1F5; margin: var(--esp-4) 0 0; padding: var(--esp-3) 0 0; min-width: 0; }
.pd-grupo legend { float: left; width: 100%; margin-bottom: 0; }
.pd-grupo legend + * { clear: both; }
.pd-grupo legend { font-size: var(--t-rotulo); font-weight: 600; color: var(--tinta); padding: 0 8px 0 0; }
.pd-grupo .segmento { margin-top: var(--esp-2); }
.pd-par { display: flex; gap: var(--esp-2); align-items: center; flex-wrap: wrap; margin-top: var(--esp-2); }
.pd-par .segmento { margin-top: 0; }
.pd-par input { flex: 1 1 120px; min-width: 0; }
.pd-rot { display: block; font-size: var(--t-rotulo); color: var(--apoio); margin-top: var(--esp-3); }
#pd-hon-opcoes .dica { margin: var(--esp-2) 0 0; }
.pd-form textarea { resize: vertical; }

/* ---------- a cascata: cada degrau parte de onde o anterior parou ---------- */
ol.pd-cascata { list-style: none; margin: 0 0 var(--esp-2); padding: 0; }
.pd-degrau { display: grid; grid-template-columns: minmax(0, 190px) minmax(0, 1fr) minmax(96px, auto); gap: var(--esp-3); align-items: center; padding: 7px 0; }
.pd-degrau + .pd-degrau { border-top: 1px dashed #E6EAF0; }
.pd-deg-txt { min-width: 0; display: flex; flex-direction: column; }
.pd-deg-txt b { font-size: var(--t-corpo); font-weight: 600; }
.pd-deg-txt small { font-size: var(--t-nota); color: var(--apoio); line-height: 1.35; overflow-wrap: anywhere; }
.pd-deg-v { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 600; }
.pd-trilho { position: relative; height: 18px; border-radius: 4px; background: repeating-linear-gradient(90deg, #F1F4F8 0 1px, transparent 1px 25%); }
.pd-trilho span { position: absolute; top: 0; bottom: 0; left: var(--ini); width: var(--larg); border-radius: 4px; background: var(--azul);
  transform-origin: left; animation: pd-estica .45s var(--ease) both; }
.pd-degrau.sub .pd-trilho span { background: #5E8FD0; }
.pd-degrau.desc .pd-trilho span { background: repeating-linear-gradient(135deg, #2E9B66 0 4px, #7FCBA4 4px 8px); }
.pd-degrau.desc .pd-deg-v { color: var(--ok); }
.pd-degrau.jur .pd-trilho span { background: #C98A12; }
.pd-degrau.hon .pd-trilho span { background: #6E5BB0; }
.pd-degrau.cus .pd-trilho span { background: #7C8BA1; }
.pd-degrau.total .pd-trilho span { background: var(--marinho); }
.pd-degrau.total { border-top: 1px solid var(--borda-forte); padding-top: 10px; }
.pd-degrau.total .pd-deg-txt b, .pd-degrau.total .pd-deg-v { font-size: var(--t-bloco); }
.pd-degrau.zero .pd-deg-txt b, .pd-degrau.zero .pd-deg-v { color: var(--apoio); font-weight: 500; }
.pd-degrau:nth-child(2) span { animation-delay: .05s; } .pd-degrau:nth-child(3) span { animation-delay: .1s; }
.pd-degrau:nth-child(4) span { animation-delay: .15s; } .pd-degrau:nth-child(5) span { animation-delay: .2s; }
.pd-degrau:nth-child(6) span { animation-delay: .25s; } .pd-degrau:nth-child(7) span { animation-delay: .3s; }
@keyframes pd-estica { from { transform: scaleX(0); } }

/* ---------- comparar 3x, 6x, 12x ---------- */
.pd-cenarios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--esp-2); }
button.pd-cenario, .pd-cenario { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px var(--esp-3); align-items: start; height: auto; min-height: 0; padding: 12px 14px;
  text-align: left; background: var(--branco); color: var(--tinta); border: 1px solid var(--borda); border-radius: var(--raio-controle); font-weight: 400; box-shadow: none; }
button.pd-cenario:hover { border-color: var(--azul); background: var(--fundo-suave); }
button.pd-cenario.escolhido { border-color: var(--azul); background: var(--azul-claro-fundo); box-shadow: inset 0 0 0 1px var(--azul); }
.pd-cen-n { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: var(--esp-2); padding-bottom: 6px; border-bottom: 1px solid #E6EAF0;
  font-size: var(--t-titulo); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.pd-cen-n small { font-size: var(--t-bloco); font-weight: 600; letter-spacing: 0; white-space: nowrap; }
.pd-cen-parc { display: flex; flex-direction: column; min-width: 0; }
.pd-cen-parc small, .pd-cenario dt { font-size: var(--t-nota); color: var(--apoio); }
.pd-cen-parc b { font-size: var(--t-corpo); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pd-cenario dl { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr; gap: 2px var(--esp-3); margin: 2px 0 0; }
.pd-cenario dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; font-size: var(--t-rotulo); }
.pd-cenario dd.desce { color: var(--ok); }
.pd-cenario.indisponivel { grid-template-columns: 1fr; color: var(--apoio); border-style: dashed; }
.pd-cenario.indisponivel small { font-size: var(--t-nota); }

/* ---------- quadro das parcelas ---------- */
.pd-quadro { overflow-x: auto; }
.pd-quadro .rv-tabela td { white-space: nowrap; }
.pd-quadro .rv-tabela th, .pd-quadro .rv-tabela td { padding-left: 6px; padding-right: 6px; }
.pd-quadro tr.pd-entrada { background: #F7F5FC; }
.pd-selo { display: inline-block; margin-left: 4px; padding: 1px 7px; border-radius: 999px; font-size: var(--t-nota); background: var(--azul-claro-fundo); color: var(--azul-escuro); font-weight: 500; }
.pd-valor b { display: block; }
.pd-mini { display: flex; justify-content: flex-end; height: 4px; margin-top: 4px; border-radius: 2px; overflow: hidden; }
.pd-mini i { display: block; height: 100%; flex: none; }
.pd-saldo .desce { color: #7FD1AE; }
.pd-feito { display: flex; flex-wrap: wrap; gap: var(--esp-3); align-items: center; justify-content: space-between; margin-bottom: var(--esp-4); }

@media (prefers-reduced-motion: reduce) { .pd-trilho span { animation: none; } }

/* ---------- celular ---------- */
@media (max-width: 1100px) {
  .pd-duas { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .pd-busca-topo { grid-template-columns: minmax(0, 1fr); }
  .pd-busca .pc-nota { margin: 0; }
  .pd-n-linha input { flex: 1 1 100%; }
  .pd-rapidos { width: 100%; }
  .pd-rapidos button { flex: 1 1 0; min-width: 0; padding: 0 6px; }
  .pd-grupo .segmento { display: flex; width: 100%; }
  .pd-grupo .segmento label { flex: 1 1 0; min-width: 0; }
  .pd-degrau { grid-template-columns: minmax(0, 1fr) auto; gap: 4px var(--esp-3); }
  .pd-trilho { grid-column: 1 / -1; grid-row: 2; height: 12px; }
  .pd-cenarios { grid-template-columns: minmax(0, 1fr); }
  .pd-quadro .rv-tabela.tab-cards tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 16px; padding: 2px 12px; box-shadow: none; margin-bottom: 8px; }
  .pd-quadro .rv-tabela.tab-cards td { padding: 5px 0; font-size: var(--t-rotulo); }
  .pd-quadro .rv-tabela.tab-cards td:nth-last-child(2) { border-bottom: 0; }
  .pd-quadro .rv-tabela.tab-cards tr.pd-entrada { background: #F7F5FC; }
  .pd-quadro .rv-tabela.tab-cards tr.pd-entrada td { background: transparent; }
  .pd-quadro td.pd-valor b { display: inline; }
  .pd-mini { display: none; }
  .pc-acoes > #pd-ok { flex: 1 1 100%; justify-content: center; }
  .pd-feito button { flex: 1 1 100%; justify-content: center; }
}
