/* =========================================================================
   Documentos impressos — credencial de evento, certificado, lista de presença.
   Medidas em mm/pt: o que vale é o papel. Cores com print-color-adjust:exact
   para o fundo sair mesmo com "gráficos de fundo" desmarcado.
   ========================================================================= */

/* montado fora da tela (com layout, para medir) e só aparece na impressão */
#impressao{position:absolute;left:-40000px;top:0;visibility:hidden}
@media print{
  body.imprimindo > :not(#impressao){display:none!important}
  body.imprimindo #impressao{position:static;left:auto;visibility:visible}
  body.imprimindo{background:#fff!important;margin:0}
}
.cr,.ce,.pr{font-family:Montserrat,Arial,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}

/* ------------------------------------------------------------ credencial */
.cr{position:relative;box-sizing:border-box;width:calc(var(--w) + 2 * var(--b));height:calc(var(--h) + 2 * var(--b));
  overflow:hidden;background:#fff;color:#20232B}
.cr *{box-sizing:border-box}
.crs-grafica .cr{break-after:page;page-break-after:always}
.crs-grafica .cr:last-child{break-after:auto;page-break-after:auto}
.crs-folha{display:flex;flex-wrap:wrap;gap:4mm;padding:6mm 4mm;justify-content:center;align-content:flex-start}
.crs-folha .cr{break-inside:avoid;page-break-inside:avoid;outline:.25mm dashed #9AA6B5}
.cr-in{position:absolute;inset:var(--b);display:flex;flex-direction:column;align-items:center;text-align:center}
.cr-pe{align-self:stretch;margin:0 calc(-1 * var(--b)) calc(-1 * var(--b));padding:.75em 0 calc(var(--b) + .75em);
  background:#DBA958;color:#061F35;font-size:.8em;font-weight:800;letter-spacing:.35em;text-transform:uppercase;line-height:1}

/* vertical (10×15, 9×13): faixa navy, nome grande, QR, faixa dourada */
.cr-v .cr-cab{align-self:stretch;margin:calc(-1 * var(--b)) calc(-1 * var(--b)) 0;padding:calc(var(--b) + 2.4em) 1.2em 1.1em;
  background:#061F35;color:#fff;display:flex;flex-direction:column;align-items:center}
.cr-v .cr-cab img{height:2.5em;display:block}
.cr-v .cr-cab small{margin-top:.95em;font-size:.6em;font-weight:800;letter-spacing:.32em;text-transform:uppercase;color:#DBA958}
.cr-v .cr-cab b{font-size:1.45em;font-weight:800;line-height:1.1;margin-top:.15em}
.cr-v .cr-data{margin-top:.8em;background:#DBA958;color:#061F35;font-size:.74em;font-weight:800;letter-spacing:.08em;
  padding:.38em 1.05em;border-radius:99em}
.cr-v .cr-nome{margin-top:1.05em;width:88%;font-size:2.1em;font-weight:800;color:#061F35;line-height:1.12;text-wrap:balance}
.cr-v .cr-emp{margin-top:.8em;width:86%;font-size:.7em;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5A6372;line-height:1.3}
.cr-v .cr-setor{margin-top:.3em;font-size:.72em;color:#5A6372}
.cr-v .cr-qr{margin:auto 0;padding:.6em 0;display:flex;flex-direction:column;align-items:center}
.cr-v .cr-qr img{width:11em;height:11em;display:block}
.cr-v .cr-qr span{font-family:Menlo,Consolas,monospace;font-size:.8em;font-weight:700;letter-spacing:.12em;color:#061F35;margin-top:.15em}

/* horizontal (cartão 8,6×5,4) */
.cr-h .cr-cab{align-self:stretch;margin:calc(-1 * var(--b)) calc(-1 * var(--b)) 0;padding:calc(var(--b) + .85em) 1.3em .85em;
  background:#061F35;display:flex;align-items:center;justify-content:space-between;gap:1em}
.cr-h .cr-cab img{height:2.3em;display:block}
.cr-h .cr-cab span{color:#DBA958;font-size:.85em;font-weight:800;letter-spacing:.03em;white-space:nowrap}
.cr-h .cr-corpo{flex:1;align-self:stretch;display:flex;align-items:center;gap:1em;padding:.3em 1.3em;min-height:0}
.cr-h .cr-txt{flex:1;min-width:0;text-align:left}
.cr-h .cr-nome{font-size:1.75em;font-weight:800;color:#061F35;line-height:1.12;text-wrap:balance}
.cr-h .cr-emp{font-size:.62em;font-weight:700;text-transform:uppercase;color:#5A6372;margin-top:.55em;line-height:1.25}
.cr-h .cr-data{font-size:.72em;font-weight:800;color:#C9923D;margin-top:.55em;letter-spacing:.04em}
.cr-h .cr-qr{display:flex;flex-direction:column;align-items:center}
.cr-h .cr-qr img{width:9.6em;height:9.6em;display:block}
.cr-h .cr-qr span{font-family:Menlo,Consolas,monospace;font-size:.6em;font-weight:700;letter-spacing:.1em;color:#061F35}
.cr-h .cr-pe{font-size:.62em;padding:.55em 0 calc(var(--b) + .55em)}

/* ----------------------------------------------------- certificado (A4 paisagem) */
.ce{width:297mm;height:210mm;position:relative;overflow:hidden;background:#fff;color:#20232B;box-sizing:border-box;
  break-after:page;page-break-after:always}
.ce:last-child{break-after:auto;page-break-after:auto}
.ce-in{position:absolute;inset:9mm;border:.5mm solid #DBA958;border-radius:3mm;overflow:hidden}
.ce-faixa{position:absolute;left:0;top:0;bottom:0;width:22mm;background:#061F35}
.ce-faixa::after{content:"";position:absolute;right:-2mm;top:0;bottom:0;width:2mm;background:#DBA958}
.ce-marca{position:absolute;right:-20mm;top:50%;transform:translateY(-50%);height:150mm;opacity:.06}
.ce-corpo{position:absolute;left:40mm;right:24mm;top:14mm;bottom:14mm;display:flex;flex-direction:column}
.ce-logo{height:13mm;align-self:flex-start;display:block}
.ce-tit{margin-top:9mm;font-size:34pt;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:#061F35;line-height:1}
.ce-sub{font-size:12pt;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:#C9923D;margin-top:2.5mm}
.ce-txt{font-size:12.5pt;line-height:1.6;color:#20232B;margin:7mm 0 0;max-width:205mm}
.ce-txt b{color:#061F35}
.ce-nome{font-size:30pt;font-weight:800;color:#061F35;margin-top:2.5mm;max-width:205mm;text-wrap:balance;
  border-bottom:.4mm solid #DBA958;padding-bottom:2mm;line-height:1.15;box-sizing:content-box}
.ce-local{margin-top:auto;font-size:11pt;color:#5A6372}
.ce-assins{display:flex;gap:16mm;margin-top:14mm}
.ce-ass{width:72mm;text-align:center}
.ce-ass span{display:block;border-top:.3mm solid #20232B;margin-bottom:2mm}
.ce-ass b{display:block;font-size:10pt;color:#061F35}
.ce-ass small{font-size:8.5pt;color:#5A6372}
.ce-valida{position:absolute;right:11mm;bottom:11mm;display:flex;align-items:center;gap:3mm;text-align:left}
.ce-valida img{width:22mm;height:22mm;display:block}
.ce-valida small{display:block;font-size:6.5pt;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#C9923D}
.ce-valida b{display:block;font-family:Menlo,Consolas,monospace;font-size:11pt;color:#061F35;letter-spacing:.08em}
.ce-valida span{display:block;font-size:6.5pt;color:#5A6372}

/* ------------------------------------------- lista de presença (A4 retrato) */
.pr-folha{padding:0 12mm;break-after:page;page-break-after:always}
.pr-folha:last-child{break-after:auto;page-break-after:auto}
table.pr{width:100%;border-collapse:collapse;table-layout:fixed;color:#20232B}
.pr thead{display:table-header-group}
.pr tfoot{display:table-footer-group}
.pr col.c-n{width:8mm}.pr col.c-e{width:42mm}.pr col.c-s{width:30mm}.pr col.c-c{width:22mm}.pr col.c-h{width:16mm}.pr col.c-a{width:46mm}
.pr-margem td{height:10mm;padding:0;border:0}
.pr-margem-b td{height:8mm;padding:0;border:0}
.pr-topo td{padding:0;border:0}
.pr-topo-in{display:flex;align-items:center;gap:5mm;padding-bottom:3mm;margin-bottom:3mm;border-bottom:.7mm solid #DBA958}
.pr-topo-in img{height:9mm;display:block}
.pr-tit{flex:1;border-left:.3mm solid #C9D0DA;padding-left:5mm}
.pr-tit small{display:block;font-size:7pt;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#C9923D}
.pr-tit b{display:block;font-size:13pt;font-weight:800;color:#061F35;line-height:1.15}
.pr-dia{text-align:right}
.pr-dia b{display:block;font-size:12pt;font-weight:800;color:#061F35}
.pr-dia span{display:block;font-size:8pt;color:#5A6372;margin-top:.5mm}
.pr-cols th{font-size:6.3pt;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#061F35;text-align:left;
  white-space:nowrap;overflow:hidden;padding:2.2mm 2mm;background:#EEF1F6;border-bottom:.4mm solid #061F35}
.pr-cols th.n,.pr-cols th.h{text-align:center}
.pr-linha td{height:12mm;padding:0 2mm;border-bottom:.25mm solid #C9D0DA;vertical-align:middle}
.pr-linha td + td{border-left:.2mm solid #E1E5EB}
.pr-linha.par td{background:#F8F9FB}
.pr-linha{break-inside:avoid;page-break-inside:avoid}
.pr td.n{text-align:center;font-weight:700;color:#5A6372;font-size:8.5pt}
.pr td.p b{display:block;font-size:10pt;font-weight:700;color:#061F35;line-height:1.2}
.pr td.p span{display:block;font-size:7.5pt;color:#5A6372;margin-top:.6mm}
.pr td.e,.pr td.s{font-size:7.8pt;line-height:1.25}
.pr td.c{font-family:Menlo,Consolas,monospace;font-size:7.3pt;color:#203D5A;white-space:nowrap}
.pr td.h{text-align:center;font-size:8.5pt;font-weight:700;color:#1B9E6E}
.pr-grupo td{padding:4mm 2mm 1.5mm;font-size:8.5pt;font-weight:800;color:#061F35;border-bottom:.4mm solid #DBA958}
.pr-grupo span,.pr-secao span{font-weight:500;color:#5A6372}
.pr-secao td{padding:6mm 2mm 1.5mm;font-size:8.5pt;font-weight:800;color:#061F35;border-bottom:.4mm solid #061F35}
.pr-fecho td{padding:7mm 0 0;border:0}
.pr-fecho-in{break-inside:avoid;page-break-inside:avoid}
.pr-total{font-size:8.5pt;color:#5A6372}
.pr-total b{color:#061F35}
.pr-assin{display:flex;gap:16mm;margin-top:16mm}
.pr-assin div{flex:1;font-size:8pt;color:#5A6372;text-align:center}
.pr-assin span{display:block;border-top:.3mm solid #20232B;margin-bottom:1.5mm}
.pr-pe td{padding:3mm 0 0;border:0}
.pr-pe div{display:flex;justify-content:space-between;font-size:7pt;color:#5A6372;border-top:.3mm solid #E1E5EB;padding-top:2mm}
