/* =====================================================================
 *  KRIGGING - OS DOCUMENTOS DO PLANO (rodada 5)
 *  A barra do documento, o quadro de patolamento, o memorial de cálculo
 *  (A4 retrato) e a PRANCHA (A3 e A1 paisagem). A folha A4 do plano
 *  continua em oficina.css (regras `fp-`).
 *
 *  A prancha é desenho técnico: linha fina preta, rótulo em caixa alta,
 *  quadros em grade, sem cartão arredondado e sem cor de interface. Cor
 *  só onde a prancha da casa usa: verde, amarelo e vermelho da utilização
 *  e da tabela de ângulos, e a caixa vermelha dos avisos.
 * ===================================================================== */

/* ---- a barra do documento -------------------------------------------- */
.doc-barra { flex-wrap: wrap; row-gap: 8px }
.doc-barra .doc-situacao { flex: 1 1 200px }
.doc-preparando { font-weight: 700; color: var(--texto) }
.doc-preparando:empty { display: none }
.doc-preparando::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border: 2px solid var(--azul-2); border-right-color: transparent; border-radius: 50%; vertical-align: -1px; animation: doc-gira .8s linear infinite }
@keyframes doc-gira { to { transform: rotate(360deg) } }
.doc-troca { display: inline-flex }
.doc-troca .btn { border-radius: 0; margin: 0 }
.doc-troca .btn:first-child { border-radius: var(--raio-sm) 0 0 var(--raio-sm) }
.doc-troca .btn:last-child { border-radius: 0 var(--raio-sm) var(--raio-sm) 0; margin-left: -1px }
.doc-troca .btn.ativo { background: var(--azul); color: var(--papel-branco); border-color: var(--azul) }
.doc-formato { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--cinza) }
.doc-formato select { height: 36px; min-width: 190px }
.doc-espera { max-width: 210mm; margin: 24px auto; text-align: center; color: var(--cinza) }
#folha-do-plano[data-formato="A3"] .fp-barra, #folha-do-plano[data-formato="A1"] .fp-barra,
#folha-do-plano[data-formato="A3"] .fp-faltou, #folha-do-plano[data-formato="A1"] .fp-faltou { max-width: none }

/* ---- o fecho de todo documento: responsável técnico, verificador e, por último, a ART ---- */
.doc-rt { display: grid; grid-template-columns: 1.3fr 1fr; gap: 12px; margin-top: 15mm; text-align: center; font-size: 9pt }
.doc-rt span { display: block; border-top: 1px solid var(--prancha-preto); margin-bottom: 3px }
.doc-rt small { display: block; color: var(--prancha-texto-2); min-height: 1.2em; text-align: left; padding-left: 22% }
.doc-rt div + div small { text-align: center; padding-left: 0 }
.doc-art { margin-top: 5mm; border: 1px solid var(--prancha-preto); padding: 5px 8px; min-height: 9mm; font-size: 9.5pt; break-inside: avoid }
.doc-normas li { margin-bottom: 1px }

/* ---- tabela de ângulos: verde, amarelo, laranja e vermelho, como na prancha ---- */
tr.doc-faixa-verde td { background: var(--prancha-verde-2) }
tr.doc-faixa-amarelo td { background: var(--prancha-amarelo-2) }
tr.doc-faixa-laranja td { background: var(--prancha-laranja) }
tr.doc-faixa-vermelho td { background: var(--prancha-vermelho-2) }
.fp-tabela tr.fp-do-plano[class*="doc-faixa-"] td, .pr-t tr.fp-do-plano td { font-weight: 800; color: var(--prancha-preto); outline: 1.5px solid var(--prancha-preto); outline-offset: -1.5px }
.fp-tabela tr.doc-faixa-verde.fp-do-plano td { background: var(--prancha-verde-2) }
.fp-tabela tr.doc-faixa-amarelo.fp-do-plano td { background: var(--prancha-amarelo-2) }
.fp-tabela tr.doc-faixa-laranja.fp-do-plano td { background: var(--prancha-laranja) }
.fp-tabela tr.doc-faixa-vermelho.fp-do-plano td { background: var(--prancha-vermelho-2) }

/* ---- o quadro de PATOLAMENTO E SOLO (folha A4, memorial e prancha) ---- */
.qp { margin: 0 0 6px }
.qp-patolas { break-inside: avoid; page-break-inside: avoid }
.qp h4 { margin: 6px 0 3px }
.qp-patolas th small { display: block; font-weight: 700; color: var(--prancha-vermelho-linha); font-size: .85em }
.qp-patolas td, .qp-patolas th { text-align: center }
.qp-frase { margin: 4px 0; font-size: .95em; text-align: justify }
.qp-solucao { display: grid; grid-template-columns: 44mm 1fr; gap: 8px; align-items: start; margin-top: 5px; break-inside: avoid }
.qp-kv th { text-align: left; width: 38%; background: none; font-weight: 400 }
.qp-kv td { text-align: left }
.qp-ok { font-weight: 800; color: var(--prancha-verde-texto) }
.qp-nao { font-weight: 800; color: var(--prancha-vermelho-linha) }
.qp-desenho { margin: 0 }
.qp-desenho svg { display: block; width: 100%; height: auto; border: .3mm solid var(--prancha-preto); background: var(--papel-branco) }
.qp-desenho figcaption { font-size: .8em; color: var(--prancha-texto-2); margin-top: 2px; line-height: 1.2 }
.qp-peca { fill: var(--prancha-madeira); stroke: var(--prancha-preto); stroke-width: .7 }
.qp-peca-cima { fill: var(--prancha-madeira-2); fill-opacity: .45; stroke: var(--prancha-preto); stroke-width: .7; stroke-dasharray: 3 2 }
.qp-sapata { fill: var(--prancha-texto-2); fill-opacity: .6; stroke: var(--prancha-preto); stroke-width: 1 }
.qp-eixo { stroke: var(--papel-branco); stroke-width: .8 }
.qp-cota { stroke: var(--prancha-preto); stroke-width: .6 }
.qp-txt { font: 700 8.5px Arial, Helvetica, sans-serif; fill: var(--prancha-preto) }

/* =====================================================================
 *  MEMORIAL DE CÁLCULO (A4 retrato)
 * ===================================================================== */
.mc-papel { font-size: 9pt }
.mc-identificacao { margin-bottom: 8px }
.mc-aviso { border: 1px solid var(--prancha-preto); border-left: 4px solid var(--amarelo); padding: 6px 9px; margin: 0 0 10px; font-size: 9pt; break-inside: avoid }
.mc-aviso.diverge { border-left-color: var(--vermelho) }
.mc-secao { margin: 0 0 10px }
.mc-h { font-size: 10.5pt; margin: 0 0 5px; padding: 3px 0 2px; border-bottom: 1.5px solid var(--prancha-preto); text-transform: uppercase; letter-spacing: .02em; break-after: avoid; page-break-after: avoid }
.mc-secao h4 { font-size: 9pt; margin: 7px 0 3px; text-transform: uppercase; break-after: avoid }
.mc-secao p { margin: 3px 0 }
.mc-tabela { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 2.68mm; line-height: 1.25; font-variant-numeric: tabular-nums; margin: 3px 0 5px }
.mc-tabela th, .mc-tabela td { border: .5pt solid var(--prancha-linha-2); padding: 2px 3.5px; text-align: left; vertical-align: top; overflow-wrap: anywhere; word-break: normal }
.mc-tabela th { background: var(--prancha-faixa); font-size: 7pt; text-transform: uppercase; text-align: center; vertical-align: middle }
.mc-tabela th:nth-child(1) { width: 21% }
.mc-tabela th:nth-child(2) { width: 18% }
.mc-tabela th:nth-child(3) { width: 20% }
.mc-tabela th:nth-child(4) { width: 13% }
.mc-tabela th:nth-child(5) { width: 9% }
.mc-tabela th:nth-child(6) { width: 19% }
.mc-tabela td.mc-un { white-space: nowrap; overflow-wrap: normal }
.mc-tabela td.mc-texto { text-align: left; font-weight: 700 }
.mc-conclusao .fp-classe { border-radius: 0 }
.mc-tabela td.mc-valor { text-align: right; font-weight: 700 }
.mc-tabela td.mc-fonte { font-size: 6.8pt; color: var(--prancha-texto-2) }
.mc-tabela tr.mc-principal td { background: var(--prancha-faixa-2); font-weight: 800 }
.mc-tabela thead { display: table-header-group }
.mc-tabela tr { break-inside: avoid }
.mc-tabela.mc-regras th:nth-child(1) { width: 62% }
.mc-tabela.mc-regras th:nth-child(2) { width: 20% }
.mc-tabela.mc-regras th:nth-child(3) { width: 18% }
.mc-kv { width: 100%; border-collapse: collapse; font-size: 8.5pt; margin: 2px 0 4px }
.mc-kv th, .mc-kv td { border: .5pt solid var(--prancha-linha-2); padding: 2px 5px; text-align: left; vertical-align: top; overflow-wrap: anywhere }
.mc-kv th { width: 32%; font-weight: 400; background: var(--prancha-faixa-2) }
.mc-kv td { font-weight: 700 }
.mc-kv tr { break-inside: avoid }
.mc-notas, .mc-lista { margin: 3px 0; padding-left: 18px; font-size: 8.5pt }
.mc-notas li, .mc-lista li { margin-bottom: 2px; break-inside: avoid }
.mc-quadro { margin: 6px 0 }
.mc-declaracao { border: 1px solid var(--prancha-preto); padding: 6px 9px; text-align: justify }
.mc-fecho { break-inside: avoid }
.mc-conclusao { display: grid; grid-template-columns: 34mm 1fr; gap: 10px; align-items: start }
.mc-conclusao p { font-size: 10pt }

/* =====================================================================
 *  PRANCHA (A3 e A1, paisagem)
 * ===================================================================== */
.pr-papel { margin: 0 auto 24px }
.pr-tela { margin: 0 auto 18px; overflow: hidden; box-shadow: var(--sombra-lg); background: var(--papel-branco) }
.pr-folha { position: relative; box-sizing: border-box; background: var(--papel-branco); color: var(--prancha-preto); overflow: hidden; transform-origin: 0 0;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; line-height: 1.22; font-variant-numeric: tabular-nums;
  --pr-f: 9.4pt; --pr-fp: 8pt; --pr-ft: 10.6pt; --pr-l: .25mm; --pr-lg: .7mm; --pr-e: 1.6mm; font-size: var(--pr-f) }
.pr-folha[data-formato="A3"] { --pr-f: 5.9pt; --pr-fp: 5.1pt; --pr-ft: 6.5pt; --pr-l: .18mm; --pr-lg: .5mm; --pr-e: 1mm }
.pr-folha *, .pr-folha *::before, .pr-folha *::after { box-sizing: border-box }
.pr-folha p { margin: .6mm 0 }
.pr-folha .fp-fonte { font-size: var(--pr-fp); color: var(--prancha-texto-2) }
.pr-moldura { position: absolute; border: var(--pr-lg) solid var(--prancha-preto); display: flex }
.pr-margem-texto { position: absolute; left: 0; width: 25mm; text-align: center; font-size: 11pt; letter-spacing: .12em; writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; color: var(--prancha-preto) }
.pr-folha[data-formato="A3"] .pr-margem-texto { font-size: 2.65mm }
.pr-mt-1 { top: 10% }
.pr-mt-2 { bottom: 10% }
.pr-formato-nome { position: absolute; left: 26mm; bottom: 1.5mm; font-size: 6.5pt; letter-spacing: .08em }
.pr-folha[data-formato="A3"] .pr-formato-nome { bottom: .8mm; font-size: 5pt }
/* Marcas de centro: um traço no meio de cada lado da moldura. */
.pr-centro { position: absolute; background: var(--prancha-preto) }
.pr-centro.c1, .pr-centro.c2 { left: 50%; width: var(--pr-lg); height: 5mm }
.pr-centro.c1 { top: -5mm }
.pr-centro.c2 { bottom: -5mm }
.pr-centro.c3, .pr-centro.c4 { top: 50%; height: var(--pr-lg); width: 5mm }
.pr-centro.c3 { left: -5mm }
.pr-centro.c4 { right: -5mm }
.pr-area { flex: 1 1 0; min-width: 0; height: 100%; padding: calc(var(--pr-e) * 1.5); overflow: hidden }
.pr-coluna { flex: none; height: 100%; border-left: var(--pr-lg) solid var(--prancha-preto); display: flex; flex-direction: column; min-height: 0 }
.pr-slot { flex: 1 1 0; min-height: 0; overflow: hidden; padding: var(--pr-e) }
.pr-fixo { flex: none }

/* ---- as vistas (folha 1) ---- */
.pr-area.pr-vistas { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 58% 42%; gap: 0 }
.pr-vista { margin: 0; min-width: 0; min-height: 0; display: flex; flex-direction: column; padding: var(--pr-e) }
.pr-vista-img { flex: 1 1 0; min-height: 0; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden }
.pr-vista-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block }
.pr-vista-espera { color: var(--prancha-linha-2); font-size: var(--pr-ft) }
.pr-vista figcaption { flex: none; display: flex; align-items: center; gap: 2mm; height: 9mm; font-size: var(--pr-ft) }
.pr-folha[data-formato="A3"] .pr-vista figcaption { height: 5.5mm; gap: 1.2mm }
.pr-vista figcaption i { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 8mm; height: 8mm; border: var(--pr-l) solid var(--prancha-preto); border-radius: 50%; font-style: normal; font-weight: 700 }
.pr-folha[data-formato="A3"] .pr-vista figcaption i { width: 4.6mm; height: 4.6mm }
.pr-vista figcaption b { border-bottom: var(--pr-l) solid var(--prancha-preto); padding: 0 6mm 0 1mm; letter-spacing: .04em }
.pr-vista figcaption small { font-size: var(--pr-fp); letter-spacing: .04em }
.pr-quadro-inferior { min-width: 0; min-height: 0; overflow: hidden; padding: var(--pr-e) }
.pr-qi-interno { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--pr-e) * 2); align-items: start }
.pr-qi-interno .pr-bloco { margin: 0 }
.pr-folha[data-formato="A3"] .pr-qi-interno .qp-solucao { grid-template-columns: 1fr; gap: 1mm; margin: 0 }
.pr-folha[data-formato="A3"] .pr-qi-interno .qp-desenho { max-width: 34mm }
.pr-qi-interno > div { min-width: 0 }

/* ---- os quadros que correm em colunas (folhas de dados) ---- */
/* No A1 as folhas de dados têm papel de sobra: o texto dos quadros sai maior, para ler de pé, na obra. */
.pr-folha[data-formato="A1"] .pr-quadro-inferior { --pr-f: 11pt; --pr-fp: 9.4pt; --pr-ft: 12.4pt; font-size: var(--pr-f) }
.pr-folha[data-formato="A1"] .pr-area.pr-fluxo { --pr-f: 11pt; --pr-fp: 9.4pt; --pr-ft: 12.4pt; font-size: var(--pr-f) }
.pr-folha[data-formato="A1"] .pr-area.pr-fluxo.pr-grande { --pr-f: 13.4pt; --pr-fp: 11.4pt; --pr-ft: 15pt }
.pr-folha[data-formato="A3"] .pr-area.pr-fluxo.pr-compacto { --pr-f: 5.4pt; --pr-fp: 4.8pt; --pr-ft: 6pt; font-size: var(--pr-f); line-height: 1.16 }
.pr-folha[data-formato="A3"] .pr-area.pr-fluxo.pr-compacto .pr-bloco { margin-bottom: 1.4mm }
.pr-area.pr-fluxo { column-gap: calc(var(--pr-e) * 3); column-fill: balance; column-rule: var(--pr-l) solid var(--prancha-preto) }
.pr-folha .doc-amarracao th:first-child { width: 30% }
.pr-folha .doc-amarracao th:last-child { width: 14% }
.pr-bloco { break-inside: avoid; margin: 0 0 calc(var(--pr-e) * 2.2) }
.pr-bloco.largo { column-span: all }
.pr-bloco > h3 { margin: 0 0 var(--pr-e); padding: .6mm 1.2mm; font-size: var(--pr-ft); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: var(--prancha-faixa); border: var(--pr-l) solid var(--prancha-preto) }
.pr-bloco h4 { margin: 1.2mm 0 .6mm; font-size: var(--pr-f); text-transform: uppercase }
.pr-ul { margin: .6mm 0; padding-left: 4mm }
.pr-folha[data-formato="A3"] .pr-ul { padding-left: 2.8mm }
.pr-ul li { margin-bottom: .5mm; break-inside: avoid }
.pr-check { list-style: none; margin: 0; padding: 0 }
.pr-check li { display: flex; gap: 1.5mm; align-items: flex-start; margin-bottom: .8mm }
.pr-check i { flex: none; width: 2.6mm; height: 2.6mm; border: var(--pr-l) solid var(--prancha-preto); margin-top: .3mm }
.pr-folha[data-formato="A3"] .pr-check i { width: 1.9mm; height: 1.9mm }
.pr-vermelho-t { color: var(--prancha-vermelho-linha) }

/* ---- tabelas da prancha ---- */
.pr-t, .pr-q, .pr-folha .fp-tabela { width: 100%; border-collapse: collapse; margin: 0 0 var(--pr-e); font-size: var(--pr-f) }
.pr-t th, .pr-t td, .pr-q th, .pr-q td, .pr-folha .fp-tabela th, .pr-folha .fp-tabela td { border: var(--pr-l) solid var(--prancha-preto); padding: .35mm .9mm; text-align: center; vertical-align: middle; overflow-wrap: break-word; color: var(--prancha-preto) }
.pr-t th, .pr-q th, .pr-folha .fp-tabela th { overflow-wrap: normal }
.pr-t th, .pr-folha .fp-tabela th { font-size: var(--pr-fp); font-weight: 700; text-transform: uppercase; background: var(--prancha-faixa-2) }
.pr-t th small, .pr-folha .fp-tabela th small { display: block; font-size: .85em; font-weight: 400; color: var(--prancha-preto) }
.pr-t td.esq, .pr-folha .fp-tabela td.esq { text-align: left }
.pr-t th.pr-th { text-align: left; background: var(--prancha-faixa); font-size: var(--pr-f); letter-spacing: .04em }
.pr-t tr.pr-total th { text-align: right; background: none }
.pr-t tr.pr-total td { font-weight: 800 }
.pr-t tbody th { background: none; text-align: right; font-weight: 400; white-space: nowrap }
.pr-folha .fp-tabela.estreita { width: 70% }
.pr-folha .fp-tabela.fp-carga { table-layout: fixed }
.pr-folha .fp-tabela.fp-carga th:first-child { width: 11% }
.pr-folha .fp-tabela .fp-col { background: var(--prancha-faixa-2) }
.pr-folha .fp-tabela td.fp-lida { background: var(--prancha-lida); font-weight: 800; outline: .5mm solid var(--prancha-vermelho-linha); outline-offset: -.5mm }
.pr-folha .fp-selo { border: var(--pr-l) solid var(--prancha-vermelho-linha); color: var(--prancha-vermelho-linha); border-radius: 0; padding: 0 1mm; font-size: var(--pr-fp); font-weight: 700 }
.pr-folha .fp-aviso { font-size: var(--pr-fp); border: 0; border-left: .6mm solid var(--prancha-preto); background: none; padding: .2mm 1mm; margin: .6mm 0 }
.pr-folha .fp-aviso.erro { border-left-color: var(--prancha-vermelho-linha); color: var(--prancha-vermelho-linha); font-weight: 700 }
.pr-folha .fp-critico { border: var(--pr-l) solid var(--prancha-preto); border-radius: 0; padding: 1mm 1.5mm; font-size: var(--pr-f); margin: 1mm 0 }
.pr-folha .qp-frase { font-size: var(--pr-fp) }
.pr-folha .qp-solucao { grid-template-columns: 38% 1fr; gap: 1.5mm }
.pr-folha .qp-kv tbody th { width: 40%; text-align: left; white-space: normal; text-transform: uppercase }
.pr-folha .qp-kv td { text-align: left }
.pr-folha .qp-desenho figcaption { font-size: var(--pr-fp) }
.pr-folha .qp h4 { font-size: var(--pr-f) }
/* Quadro de rótulo, valor e unidade (como os quadros do Formulário Rigger). */
.pr-q thead th { background: var(--prancha-faixa); font-size: var(--pr-fp); font-weight: 700; letter-spacing: .03em; text-align: center; text-transform: uppercase }
.pr-q tbody th { border: 0; border-left: var(--pr-l) solid var(--prancha-preto); text-align: right; font-weight: 400; font-size: var(--pr-fp); text-transform: uppercase; width: 54%; padding-right: 1.2mm }
.pr-q tbody td { font-weight: 700; width: 28% }
.pr-q tbody td.un { border: 0; border-right: var(--pr-l) solid var(--prancha-preto); width: 18%; text-align: left; font-weight: 400; font-size: var(--pr-fp); white-space: nowrap; padding-left: .6mm }
.pr-q tbody tr:last-child th, .pr-q tbody tr:last-child td.un { border-bottom: var(--pr-l) solid var(--prancha-preto) }
.pr-q tr.pr-texto th { width: 34% }
.pr-q tr.pr-texto td { font-weight: 400; font-size: var(--pr-fp); text-align: left; width: auto; border-right: var(--pr-l) solid var(--prancha-preto) }
.pr-q tr.pr-forte th { font-weight: 700 }
.pr-q tr.pr-forte td { font-weight: 800; border-width: calc(var(--pr-l) * 2) }
.pr-q tr.pr-verde td:not(.un), .pr-verde { background: var(--prancha-verde) }
.pr-q tr.pr-amarelo td:not(.un), .pr-amarelo { background: var(--prancha-amarelo) }
.pr-q tr.pr-vermelho td:not(.un), .pr-vermelho { background: var(--prancha-vermelho) }
.pr-par { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pr-e); align-items: start; margin-bottom: var(--pr-e) }
.pr-par > .pr-q { margin: 0 }

/* ---- Formulário Rigger (coluna da direita) ---- */
.pr-form-cab { display: grid; grid-template-columns: 1.1fr 1fr; border: var(--pr-l) solid var(--prancha-preto); margin-bottom: var(--pr-e) }
.pr-emp { padding: 1.2mm 1.6mm; border-right: var(--pr-l) solid var(--prancha-preto); display: flex; flex-direction: column; justify-content: center }
.pr-emp b { font-size: calc(var(--pr-ft) * 1.25); line-height: 1.1 }
.pr-emp span { font-size: var(--pr-fp) }
.pr-cab-dados { width: 100%; border-collapse: collapse; font-size: var(--pr-f) }
.pr-cab-dados th { text-align: left; font-weight: 400; font-size: var(--pr-fp); width: 22%; padding: .4mm 1mm; vertical-align: top }
.pr-cab-dados td { font-weight: 700; padding: .4mm 1mm }
.pr-cab-dados tr + tr th, .pr-cab-dados tr + tr td { border-top: var(--pr-l) solid var(--prancha-preto) }
.pr-faixa-titulo { background: var(--prancha-preto); color: var(--papel-branco); text-align: center; font-weight: 700; letter-spacing: .12em; font-size: var(--pr-ft); padding: .5mm 1mm; margin-bottom: var(--pr-e) }
.pr-classe { border: calc(var(--pr-l) * 2) solid var(--prancha-preto); text-align: center; padding: .9mm 1mm; font-size: var(--pr-ft); letter-spacing: .04em }
.pr-classe.pr-cinza { background: var(--prancha-faixa) }

/* ---- notas, avisos, revisões e carimbo ---- */
.pr-notas { border-top: var(--pr-l) solid var(--prancha-preto); padding: var(--pr-e) calc(var(--pr-e) * 1.2) 0; font-size: var(--pr-fp) }
.pr-bloco .pr-notas { border: 0; padding: 0; font-size: var(--pr-f) }
.pr-notas ol { margin: .5mm 0 var(--pr-e); padding-left: 4.4mm }
.pr-folha[data-formato="A3"] .pr-notas ol { padding-left: 3.2mm }
.pr-notas li { margin-bottom: .25mm }
.pr-avisos { display: grid; gap: .8mm; padding: 0 var(--pr-e) var(--pr-e) }
.pr-bloco .pr-avisos { padding: 0 }
.pr-avisos p { margin: 0; border: calc(var(--pr-l) * 2.4) solid var(--prancha-vermelho-linha); background: var(--prancha-aviso); padding: .8mm 1.4mm; font-size: var(--pr-fp); font-weight: 700 }
.pr-revisoes { margin: 0; border-top: var(--pr-lg) solid var(--prancha-preto) }
.pr-revisoes th, .pr-revisoes td { font-size: var(--pr-fp); height: 3.8mm }
.pr-folha[data-formato="A3"] .pr-revisoes th, .pr-folha[data-formato="A3"] .pr-revisoes td { height: 2.7mm }
.pr-revisoes tr > :first-child { border-left: 0 }
.pr-revisoes tr > :last-child { border-right: 0 }
.pr-revisoes th:nth-child(1) { width: 8% }
.pr-revisoes th:nth-child(2) { width: 14% }
.pr-revisoes th:nth-child(4), .pr-revisoes th:nth-child(5), .pr-revisoes th:nth-child(6) { width: 15% }
.pr-carimbo { width: 100%; border-collapse: collapse; table-layout: fixed; border-top: var(--pr-lg) solid var(--prancha-preto) }
.pr-carimbo td { border: var(--pr-l) solid var(--prancha-preto); padding: .5mm 1.2mm .7mm; vertical-align: top; text-align: left; overflow: hidden; height: 8.4mm }
.pr-folha[data-formato="A3"] .pr-carimbo td { height: 5.3mm; padding: .3mm .9mm .4mm }
.pr-carimbo tr > :first-child { border-left: 0 }
.pr-carimbo tr > :last-child { border-right: 0 }
.pr-carimbo tr:last-child td { border-bottom: 0 }
.pr-carimbo small { display: block; font-size: calc(var(--pr-fp) * .82); letter-spacing: .05em; color: var(--prancha-preto); line-height: 1.15 }
.pr-carimbo span { display: block; font-size: var(--pr-ft); font-weight: 700; line-height: 1.15; overflow-wrap: anywhere }
.pr-carimbo .pr-c-emp b { display: block; font-size: calc(var(--pr-ft) * 1.3); line-height: 1.1 }
.pr-carimbo .pr-c-emp span { font-weight: 400; font-size: var(--pr-f) }
.pr-carimbo .pr-c-classe { text-align: center }
.pr-carimbo .pr-c-classe b { display: block; font-size: calc(var(--pr-ft) * 1.45); letter-spacing: .05em; padding-top: .6mm }
.pr-carimbo .pr-c-titulo b { display: block; font-size: calc(var(--pr-ft) * 1.5); letter-spacing: .06em; line-height: 1.15 }
.pr-carimbo .pr-c-titulo span { font-weight: 400; font-size: var(--pr-fp); max-height: 2.5em; overflow: hidden }
.pr-carimbo .pr-c-folha { text-align: center }
.pr-carimbo .pr-c-folha span { font-size: calc(var(--pr-ft) * 1.5) }
.pr-carimbo .pr-c-art td, .pr-carimbo td.pr-c-art { height: 9.5mm }
.pr-folha[data-formato="A3"] .pr-carimbo td.pr-c-art { height: 6.2mm }
.pr-folha[data-formato="A3"] .pr-slot .pr-t th, .pr-folha[data-formato="A3"] .pr-slot .pr-t td, .pr-folha[data-formato="A3"] .pr-slot .pr-q th, .pr-folha[data-formato="A3"] .pr-slot .pr-q td { padding-top: .2mm; padding-bottom: .2mm }

/* ---- marca d'água da prancha: em toda folha, por baixo da leitura ---- */
.pr-marca { position: absolute; inset: 0; z-index: 5; display: flex; align-items: center; justify-content: center; pointer-events: none; user-select: none }
.pr-marca span { transform: rotate(-28deg); font-size: 190pt; font-weight: 800; letter-spacing: .08em; white-space: nowrap; color: var(--prancha-vermelho-linha); opacity: .11 }
.pr-folha[data-formato="A3"] .pr-marca span { font-size: 96pt }

/* =====================================================================
 *  IMPRESSÃO
 * ===================================================================== */
@media print {
  body.ofp-folha-aberta #doc-corpo { margin: 0; padding: 0 }
  body.ofp-folha-aberta .doc-espera { display: none !important }
  /* A prancha imprime no tamanho real: uma folha por página, sem a redução da tela e sem margem
     (a margem técnica está desenhada dentro da folha). */
  body.ofp-folha-aberta .pr-papel { margin: 0 !important; padding: 0 !important }
  body.ofp-folha-aberta .pr-tela { width: auto !important; height: auto !important; margin: 0 !important; box-shadow: none !important; overflow: visible; break-after: page; page-break-after: always; break-inside: avoid }
  body.ofp-folha-aberta .pr-tela:last-child { break-after: auto; page-break-after: auto }
  body.ofp-folha-aberta .pr-folha { transform: none !important }
  body.ofp-folha-aberta[data-doc-formato="A3"], body.ofp-folha-aberta[data-doc-formato="A1"],
  body.ofp-folha-aberta[data-doc-formato="A3"] #conteudo, body.ofp-folha-aberta[data-doc-formato="A1"] #conteudo { margin: 0 !important; padding: 0 !important }
  body.ofp-folha-aberta[data-doc-formato="A3"] #folha-do-plano, body.ofp-folha-aberta[data-doc-formato="A1"] #folha-do-plano { margin: 0; padding: 0 }
  .pr-folha, .pr-folha *, .mc-papel, .mc-papel *, .qp, .qp * { -webkit-print-color-adjust: exact; print-color-adjust: exact }
  /* A regra geral de impressão pinta todo `tfoot tr` e mexe em toda linha: na prancha e no memorial a
     altura da linha é a do texto. */
  body.ofp-folha-aberta .pr-folha tr, body.ofp-folha-aberta .mc-tabela tr { height: auto !important }
  body.ofp-folha-aberta .mc-papel .fp-tabela th, body.ofp-folha-aberta .mc-papel .fp-tabela td { word-break: normal }
  /* No memorial o rodapé é o da página (caixas de margem do @page): não há rodapé fixo a reservar. */
  body.ofp-folha-aberta .rel-cabecalho { display: none !important }
}

/* ---- nota de propriedade intelectual, depois das notas gerais (folha e prancha) ---- */
.doc-propriedade { margin: 1mm 0 0; text-align: justify }
