/* Layout fixo da proposta MTF (A4). Só os dados mudam; a estrutura é sempre a mesma. */
:root {
  --preto: #151515; --verm: #D7262E; --verm-claro: #FF5A5F; --grafite: #3C3C3C;
  --cinza: #F2F2F2; --cinza2: #D9D9D9; --cinza3: #E8E8E8; --texto: #262626;
  --verde: #2E8B57;
}
.doc { font-family: Arial, "Liberation Sans", Helvetica, sans-serif; color: var(--texto); }
.page {
  width: 210mm; height: 297mm; position: relative; overflow: hidden; background: #fff;
  box-sizing: border-box; font-size: 9.6pt; line-height: 1.32;
}
.page * { box-sizing: border-box; }
.page p { margin: 0 0 2.2mm; text-align: justify; }
.page b, .page strong { color: var(--preto); }

/* ---------- cabeçalho / rodapé das páginas internas ---------- */
.cab { position: absolute; top: 9mm; left: 20mm; right: 20mm; height: 24mm; display: flex; align-items: center; gap: 4mm; }
.cab img { width: 36mm; }
.cab .emp { flex: 1; font-size: 7.2pt; color: var(--grafite); line-height: 1.3; }
.cab .emp b { font-size: 8.4pt; display: block; }
.cab .num { background: var(--preto); color: #fff; text-align: center; padding: 3mm 4mm; width: 45mm; }
.cab .num .r { color: var(--verm-claro); font-size: 7.5pt; font-weight: 700; letter-spacing: 1.5pt; }
.cab .num .n { font-size: 12pt; font-weight: 700; }
.cab .num .v { font-size: 7.5pt; }
.regua { position: absolute; top: 35mm; left: 20mm; right: 20mm; border-top: 0.7mm solid var(--verm); }
.corpo { position: absolute; top: 39mm; left: 20mm; right: 20mm; bottom: 17mm; }
.rod { position: absolute; bottom: 8mm; left: 20mm; right: 20mm; border-top: 0.25mm solid var(--cinza2);
  padding-top: 1.5mm; font-size: 7.5pt; color: var(--grafite); display: flex; justify-content: space-between; }

/* ---------- títulos ---------- */
.faixa { background: var(--preto); color: #fff; display: flex; align-items: center; gap: 4mm;
  padding: 2.4mm 3mm; margin: 3mm -1mm 3mm; font-weight: 700; font-size: 14pt; letter-spacing: 0.8pt; text-transform: uppercase; }
.faixa .nn { background: var(--verm); padding: 0.3mm 2.6mm; font-size: 15pt; }
.faixa.primeira { margin-top: 0; }
.sub { font-weight: 700; font-size: 11pt; color: var(--preto); margin: 3.2mm 0 1.6mm; }
.sub::before { content: "▌ "; color: var(--verm); }
.rotulo { color: var(--verm); font-weight: 700; font-size: 9.5pt; letter-spacing: 2pt; text-transform: uppercase;
  border-bottom: 0.25mm solid var(--cinza2); padding-bottom: 1mm; margin: 4mm 0 2mm; }
.titulo-grande { font-size: 20pt; font-weight: 700; letter-spacing: 0.8pt; color: var(--preto); margin: 0 0 0.5mm; }
.subtitulo-grande { font-size: 9.6pt; color: var(--grafite); margin-bottom: 3mm; }

/* ---------- tabelas ---------- */
table.t { width: 100%; border-collapse: separate; border-spacing: 0 0.5mm; margin: 0 0 2.5mm; }
table.t th { background: var(--grafite); color: #fff; text-align: left; font-size: 8.4pt; text-transform: uppercase; padding: 1.2mm 2.5mm; }
table.t td { padding: 1.1mm 2.5mm; vertical-align: top; }
table.t td.k { background: var(--cinza2); color: var(--grafite); font-weight: 700; width: 38%; font-size: 9pt; }
table.t td.v { background: var(--cinza); font-weight: 700; color: var(--preto); }
table.t tr:nth-child(even) td.k { background: var(--cinza3); }
table.t tr:nth-child(even) td.v { background: #fff; }
table.t.k25 td.k { width: 26%; }
table.t.k32 td.k { width: 32%; }

/* ---------- itens numerados ---------- */
.it { display: flex; gap: 2mm; margin: 0 0 1.4mm; text-align: justify; }
.it .n { color: var(--verm); font-weight: 700; min-width: 8mm; }
.it.l { } .it.l .n { min-width: 11mm; }
.it .t { flex: 1; }

/* ---------- cartões (tiles) ---------- */
.tiles { display: grid; gap: 2.5mm; margin: 0 0 2.5mm; }
.tiles.c4 { grid-template-columns: repeat(4, 1fr); }
.tiles.c3 { grid-template-columns: repeat(3, 1fr); }
.tile { border-top: 1mm solid var(--verm); background: var(--cinza); padding: 2.4mm 2.8mm; }
.tile .l { font-size: 7pt; font-weight: 700; letter-spacing: 1.2pt; text-transform: uppercase; color: var(--grafite); }
.tile .v { font-size: 17pt; font-weight: 700; color: var(--preto); line-height: 1.15; margin: 0.6mm 0 0.3mm; }
.tile .v.m { font-size: 13pt; }
.tile .v.p { font-size: 10pt; line-height: 1.25; }
.tile .d { font-size: 7.3pt; color: var(--grafite); }
.tile.esc { background: var(--preto); } .tile.esc .l { color: var(--verm-claro); } .tile.esc .v { color: #fff; } .tile.esc .d { color: #BFBFBF; }
.tile.bra { background: #fff; }

/* ---------- caixas ---------- */
.caixa { border-left: 1.4mm solid var(--verm); background: #FDECEC; padding: 2.4mm 3.5mm; margin: 1mm 0 3mm; }
.caixa .ct { color: var(--verm); font-weight: 700; font-size: 9.5pt; margin-bottom: 1mm; }
.caixa.cinza { border-left-color: var(--grafite); background: var(--cinza); } .caixa.cinza .ct { color: var(--grafite); }

/* ---------- capa ---------- */
.capa-topo { background: var(--preto); text-align: center; padding: 13mm 0 9mm; }
.capa-topo img { width: 85mm; }
.capa-topo .t1 { color: #fff; font-size: 19pt; font-weight: 700; letter-spacing: 2.5pt; margin-top: 6mm; }
.capa-topo .t2 { color: var(--verm-claro); font-size: 11.5pt; font-weight: 700; letter-spacing: 2pt; margin-top: 1.5mm; }
.capa-faixa { height: 3mm; background: var(--verm); }
.capa-maq { text-align: center; font-size: 21pt; font-weight: 700; color: var(--preto); margin-top: 10mm; }
.capa-sub { text-align: center; color: var(--grafite); font-size: 10.5pt; margin: 1mm 0 3mm; }
.capa-foto { text-align: center; } .capa-foto img { width: 155mm; }
.capa-leg { text-align: center; font-size: 7.5pt; color: #8C8C8C; font-style: italic; margin: 0.5mm 0 4mm; }
.capa-cli { display: flex; margin: 0 20mm; }
.capa-cli .a { flex: 10; background: var(--cinza); border-left: 1.4mm solid var(--verm); padding: 4mm 5mm; }
.capa-cli .b { flex: 7; background: var(--preto); color: #fff; padding: 4mm 5mm; }
.capa-cli .lab { font-size: 8pt; font-weight: 700; letter-spacing: 1.5pt; color: var(--verm); }
.capa-cli .b .lab { color: var(--verm-claro); }
.capa-cli .emp { font-size: 12pt; font-weight: 700; color: var(--preto); margin: 1mm 0; }
.capa-cli .min { font-size: 9pt; color: var(--grafite); }
.capa-cli .b .val { font-size: 10.5pt; font-weight: 700; margin-bottom: 2.5mm; }
.capa-rod { position: absolute; bottom: 7mm; left: 0; right: 0; text-align: center; font-size: 7.2pt; color: var(--grafite); }

/* ---------- blocos específicos ---------- */
.indice { width: 100%; border-collapse: collapse; margin-bottom: 1mm; }
.indice td { border-bottom: 0.25mm solid var(--cinza2); padding: 1mm 1.5mm; font-weight: 700; color: var(--preto); }
.indice td.n { color: var(--verm); font-size: 11pt; width: 12mm; text-align: center; }
.cab-sec { font-size: 13pt; font-weight: 700; letter-spacing: 2pt; color: var(--preto); border-bottom: 0.5mm solid var(--verm); padding-bottom: 1mm; margin: 2mm 0 2mm; }
.foto-meio { text-align: center; margin: 1mm 0 3mm; } .foto-meio img { width: 150mm; }
.dims { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6mm; margin-bottom: 2mm; }
.dims div { text-align: center; }
.dims .h { background: var(--grafite); color: #fff; font-size: 8pt; font-weight: 700; text-transform: uppercase; padding: 1mm; }
.dims .val { background: var(--cinza); font-size: 13pt; font-weight: 700; color: var(--preto); padding: 1.8mm; }
.duas { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; margin-bottom: 3mm; }
.lista { padding: 3mm 4mm; font-size: 9pt; }
.lista .ti { font-weight: 700; font-size: 9.5pt; margin-bottom: 1.5mm; }
.lista div { margin-bottom: 0.9mm; }
.lista.ok { background: #EAF5EC; border-left: 1.4mm solid var(--verde); } .lista.ok .ti, .lista.ok .s { color: var(--verde); }
.lista.no { background: #FDECEC; border-left: 1.4mm solid var(--verm); } .lista.no .ti, .lista.no .s { color: var(--verm); }
.lista .s { font-weight: 700; margin-right: 1.5mm; }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3mm; margin: 2mm 0 4mm; }
.card { background: var(--cinza); border-top: 1.4mm solid var(--verm); padding: 4mm; font-size: 8.8pt; color: var(--grafite); }
.card .e { color: var(--verm); font-size: 7.5pt; font-weight: 700; letter-spacing: 1.3pt; text-transform: uppercase; }
.card .ti { font-size: 14pt; font-weight: 700; color: var(--preto); margin: 1mm 0 2.5mm; line-height: 1.2; }
.card div.x { margin-bottom: 1.6mm; } .card .s { color: var(--verde); font-weight: 700; margin-right: 1.2mm; }
.card.dest { background: var(--preto); color: #D9D9D9; } .card.dest .ti { color: #fff; } .card.dest .e, .card.dest .s, .card.dest .rec { color: var(--verm-claro); }
.card .rec { font-size: 7.5pt; font-weight: 700; letter-spacing: 2.5pt; margin-top: 2.5mm; }
table.inv { width: 100%; border-collapse: separate; border-spacing: 0.6mm; margin: 0 0 3mm; }
table.inv th { background: var(--preto); color: #fff; font-size: 8pt; text-transform: uppercase; padding: 1.6mm 1mm; }
table.inv td { background: var(--cinza); text-align: center; padding: 2.4mm 1mm; font-size: 9.4pt; }
.invest { display: flex; margin-bottom: 3mm; }
.invest .a { flex: 10.5; background: var(--preto); color: #fff; padding: 4.5mm 6mm; }
.invest .b { flex: 6.5; background: var(--verm); color: #fff; padding: 4.5mm 5mm; font-weight: 700; font-size: 9.3pt; }
.invest .lab { color: var(--verm-claro); font-size: 8.5pt; font-weight: 700; letter-spacing: 2pt; }
.invest .b .lab { color: #fff; margin-bottom: 1.5mm; }
.invest .preco { font-size: 27pt; font-weight: 700; margin: 0.5mm 0; }
.invest .ext { font-size: 8pt; color: #BFBFBF; }
.passos { display: flex; align-items: center; gap: 1.2mm; margin-bottom: 3mm; }
.passos .p { flex: 1; background: var(--preto); color: #fff; text-align: center; padding: 2mm 1mm; }
.passos .p.fim { background: var(--verm); }
.passos .n { color: var(--verm-claro); font-size: 14pt; font-weight: 700; } .passos .fim .n { color: #fff; }
.passos .ti { font-size: 8pt; font-weight: 700; letter-spacing: 0.5pt; }
.passos .d { font-size: 7pt; color: #D9D9D9; }
.passos .seta { color: var(--verm); font-size: 10pt; }
.assin { width: 80mm; margin: 9mm auto 0; border-top: 0.3mm solid var(--preto); text-align: center; padding-top: 1.5mm; }
.assin .nm { font-weight: 700; font-size: 10.5pt; color: var(--preto); }
.assin .cg { color: var(--verm); font-weight: 700; font-size: 9pt; }
.assin .ct { font-size: 8.5pt; color: var(--grafite); }
.cgv-t { background: var(--cinza); border-left: 1.2mm solid var(--verm); padding: 1mm 2.5mm; font-weight: 700; font-size: 9.5pt; margin: 2.2mm 0 1.2mm; letter-spacing: 0.5pt; }
.cgv-t span { color: var(--verm); margin-right: 1.5mm; }
.cgv .it { font-size: 8.5pt; margin-bottom: 0.9mm; line-height: 1.28; }
.aceite-ass { display: flex; justify-content: space-between; margin-top: 15mm; }
.aceite-ass > div { width: 75mm; border-top: 0.3mm solid var(--preto); text-align: center; padding-top: 1.5mm; }
.aceite-ass .nm { font-weight: 700; font-size: 10pt; color: var(--preto); }
.aceite-ass .rt { color: var(--verm); font-weight: 700; font-size: 8.5pt; letter-spacing: 1.5pt; }
.aceite-ass .pq { font-size: 8pt; color: var(--grafite); }
.pend { background: #FFF200; color: #000 !important; padding: 0 1mm; }

@media print {
  @page { size: A4; margin: 0; }
  .page { page-break-after: always; break-after: page; }
  .page:last-child { page-break-after: auto; break-after: auto; }
}

/* Impressão: página um pouco menor que o A4 para o Safari não criar folha em branco entre as páginas,
   e cores/fundos sempre impressos (sem precisar marcar "Gráficos de fundo"). */
@media print {
  html, body { margin: 0 !important; padding: 0 !important; }
  .page { height: 296mm; break-inside: avoid; page-break-inside: avoid;
    -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
