/* RECIBO PRONTO — só o que a base não tem. Nenhuma cor nova na tela: tudo var(--...).
   Exceção escrita: na IMPRESSÃO o recibo sai em preto sobre branco (#000/#fff),
   como a base já faz no body em @media print — papel não tem tema escuro. */

.rp-sub { font-size: 22px; margin: 26px 0 12px; }
#formulario > .rp-sub:first-child { margin-top: 0; }
.rp-ajuda { margin: -6px 0 8px; font-size: 15px; color: var(--silk-3); }
.rp-extenso { min-height: 1.4em; font-family: var(--f-texto); font-style: italic; color: var(--silk-2); }
.rp-atalhos { display: flex; flex-wrap: wrap; gap: 8px; }
.rp-atalho { padding: 6px 12px; }
.rp-status { min-height: 1.5em; margin: 14px 0 0; text-transform: none; letter-spacing: .02em; font-size: 15px; }
.campo[aria-invalid="true"] { border-color: var(--erro); }
.rp-pdf { margin: 10px 0 0; font-size: 15px; color: var(--silk-3); }
.erro ul { margin: 0; padding-left: 1.2em; }

/* a folha: o mesmo texto que vai para o PDF */
.rp-folha {
  margin: 4px 0 0; padding: clamp(20px, 4vw, 44px);
  background: var(--raise); border: 1px solid var(--line-2); border-radius: 2px;
  color: var(--silk); font-family: var(--f-texto); max-width: 760px;
}
.rp-folha:focus { outline: 2px solid var(--copper); outline-offset: 3px; }
.rp-cab {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px;
  padding-bottom: 16px; border-bottom: 1px solid var(--line-2);
}
.rp-titulo { margin: 0; font-family: var(--f-display); font-weight: 800; font-size: 32px; letter-spacing: .04em; line-height: var(--lh-titulo); }
.rp-valor {
  margin: 0; padding: 6px 14px; border: 1px solid var(--silk-3);
  font-family: var(--f-dado); font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums;
}
.rp-corpo { margin: 24px 0 0; font-size: 18px; line-height: 1.65; overflow-wrap: anywhere; }
.rp-local { margin: 20px 0 0; text-align: right; font-size: 17px; }
.rp-assinatura { margin: 64px auto 0; max-width: 340px; text-align: center; }
.rp-linha { margin: 0; height: 0; border-top: 1px solid var(--silk); }
.rp-nome { margin: 8px 0 0; font-size: 16px; overflow-wrap: anywhere; }
.rp-doc { margin: 2px 0 0; font-family: var(--f-dado); font-size: 14px; color: var(--silk-3); }
.rp-doc:empty { display: none; }

@media print {
  /* só a folha vai para o papel: o resto sai do fluxo (display, não
     visibility, para a folha começar no alto da página) */
  .pular, .topo, .palco, .secao, .rodape, .selo-local, #formulario, .rp-status,
  #erro, #aviso, #acoes, .rp-pdf { display: none !important; }
  main, #ferramenta, .bancada, .resultado { margin: 0; padding: 0; border: 0; background: none; max-width: none; }
  .rp-folha {
    max-width: none; margin: 0; padding: 12mm 14mm;
    background: #fff; color: #000; border: 1px solid #000; break-inside: avoid;
  }
  .rp-cab { border-bottom-color: #000; }
  .rp-valor { border-color: #000; }
  .rp-linha { border-top-color: #000; }
  .rp-doc { color: #000; }
  @page { size: A4; margin: 15mm; }
}
