:root {
  --cor: #0f6e78;
  --cor-escura: #0a525a;
  --cor-clara: #e2f0f1;
  --fundo: #f3f5f6;
  --superficie: #ffffff;
  --texto: #1f2a30;
  --suave: #5b676e;
  --linha: #d5dbde;
  --ok: #1e8e3e;
  --alerta: #b26a00;
  --erro: #b3261e;
  --raio: 12px;
  color-scheme: light;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body {
  margin: 0;
  background: var(--fundo);
  color: var(--texto);
  font: 16px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
button { font: inherit; cursor: pointer; }
h1, h2 { margin: 0 0 12px; letter-spacing: -.01em; }
h1 { font-size: 22px; }
h2 { font-size: 18px; }

/* --- topo e status da balança ------------------------------------------------------- */
.topo {
  position: sticky; top: 0; z-index: 5;
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding: 10px 16px; background: var(--superficie); border-bottom: 1px solid var(--linha);
}
.marca { display: flex; align-items: center; gap: 10px; font-weight: 650; font-size: 18px; color: var(--cor); }
.status {
  display: flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px;
  background: var(--fundo); font-size: 14px; color: var(--suave);
}
.status i { width: 10px; height: 10px; border-radius: 50%; background: #9aa3a8; flex: none; }
.status[data-estado="pareada"] i { background: var(--alerta); }
.status[data-estado="procurando"] i { background: var(--alerta); animation: pulsa 1s ease-in-out infinite; }
.status[data-estado="conectada"] { background: #e6f4ea; color: var(--ok); font-weight: 600; }
.status[data-estado="conectada"] i { background: var(--ok); box-shadow: 0 0 0 4px #1e8e3e33; }
.status[data-estado="sem-suporte"] { background: #fce8e6; color: var(--erro); }
.status[data-estado="sem-suporte"] i { background: var(--erro); }
@keyframes pulsa { 50% { opacity: .25; } }

/* --- tela inicial -------------------------------------------------------------------- */
.inicio { max-width: 1100px; margin: 0 auto; padding: 16px; display: grid; gap: 16px; }
@media (min-width: 960px) { .inicio { grid-template-columns: 1.3fr 1fr; align-items: start; } }
.card { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); padding: 20px; }

form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
@media (max-width: 560px) { form { grid-template-columns: 1fr; } }
.largo { grid-column: 1 / -1; }
.campo { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; color: var(--suave); min-width: 0; }
fieldset.campo { border: 0; margin: 0; padding: 0; }
fieldset.campo legend { padding: 0; margin-bottom: 6px; }
.campo input:not([type="radio"]) {
  font-family: inherit; font-size: 17px; line-height: 1.3; color: var(--texto); font-weight: 400;
  padding: 11px 12px; border: 1px solid var(--linha); border-radius: 8px; background: #fff; min-width: 0;
}
.campo input:focus { outline: 2px solid var(--cor); outline-offset: 1px; border-color: var(--cor); }
.opcoes { display: flex; gap: 8px; }
.opcoes label {
  flex: 1; display: flex; align-items: center; gap: 8px; padding: 10px 12px;
  border: 1px solid var(--linha); border-radius: 8px; font-weight: 400; color: var(--texto); cursor: pointer;
}
.opcoes label:has(input:checked) { border-color: var(--cor); background: var(--cor-clara); }
.opcoes input { accent-color: var(--cor); margin: 0; }
.erro { color: var(--erro); font-weight: 500; min-height: 0; }
.erro:empty { display: none; }
.invalido input:not([type="radio"]), .invalido .opcoes label { border-color: var(--erro); }
.dica { color: var(--cor); font-weight: 500; }
.dica:empty { display: none; }
.marco { color: var(--suave); font-weight: 400; font-size: 12.5px; line-height: 1.35; }
.preparo legend { display: flex; gap: 12px; align-items: baseline; }
.preparo legend .link { font-size: 13px; }
.preparo .checks { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 16px; margin-bottom: 4px; }
@media (max-width: 560px) { .preparo .checks { grid-template-columns: 1fr; } }
.preparo .checks label { display: flex; gap: 8px; align-items: center; font-weight: 500; color: var(--texto); }
.preparo .checks input { width: 18px; height: 18px; accent-color: var(--cor); }
.rel .prep { font-size: 8pt; margin: 0; }
.rel .prep.fora { color: var(--alerta); }
.como-medir { font-size: 14px; color: var(--suave); border: 1px solid var(--linha); border-radius: 8px; padding: 10px 14px; }
.como-medir summary { font-weight: 600; color: var(--cor); cursor: pointer; }
.como-medir ul { margin: 8px 0 2px; padding-left: 18px; }
.como-medir li { margin-bottom: 4px; }

.primario, .secundario {
  border-radius: 10px; padding: 12px 20px; font-weight: 650; border: 1px solid var(--cor);
}
.primario { background: var(--cor); color: #fff; }
.primario:hover { background: var(--cor-escura); }
.secundario { background: #fff; color: var(--cor); }
.secundario:hover { background: var(--cor-clara); }
#btn-medir { padding: 16px; font-size: 18px; margin-top: 4px; }
.link { background: none; border: 0; padding: 4px 6px; color: var(--cor); font-weight: 600; }
.link:hover { text-decoration: underline; }
.aviso { margin: 0; padding: 10px 12px; border-radius: 8px; background: #fef7e0; color: #7a4f01; font-size: 14px; }

.titulo-linha { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.lista { list-style: none; margin: 0; padding: 0; }
.lista li + li { border-top: 1px solid var(--linha); }
.lista button {
  width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; text-align: left;
  padding: 10px 4px; background: none; border: 0; color: var(--texto);
}
.lista button:hover { background: var(--fundo); }
.lista .nome { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lista .meta { color: var(--suave); font-size: 13px; }
.lista .num { text-align: right; font-variant-numeric: tabular-nums; }
.lista .vazio { color: var(--suave); font-style: italic; padding: 8px 0; }

/* --- medição guiada ------------------------------------------------------------------ */
.overlay {
  position: fixed; inset: 0; z-index: 10; display: grid; place-items: center; padding: 16px;
  background: rgba(15, 30, 35, .55);
}
.painel {
  width: min(560px, 100%); max-height: 100%; overflow: auto; background: var(--superficie);
  border-radius: 18px; padding: 24px; text-align: center; box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}
.passos { display: flex; gap: 6px; list-style: none; padding: 0; margin: 0 0 16px; counter-reset: p; }
.passos li {
  flex: 1; font-size: 12px; color: var(--suave); padding-top: 8px; border-top: 4px solid var(--linha);
  counter-increment: p;
}
.passos li.feito { border-color: var(--cor); color: var(--cor); }
.passos li.ativo { border-color: var(--alerta); color: var(--texto); font-weight: 650; }
.ilustracao { width: 120px; height: 128px; margin: 4px auto 8px; display: block; }
.ilustracao .plataforma { fill: var(--cor); }
.ilustracao .alca { fill: var(--suave); }
.ilustracao .corpo { fill: #c9d3d7; }
.ilustracao .braco, .ilustracao .perna { stroke: #c9d3d7; stroke-width: 9; stroke-linecap: round; fill: none; }
.ilustracao .cabo { stroke: var(--suave); stroke-width: 2; stroke-dasharray: 3 3; }
.painel h2 { font-size: 22px; }
.painel p { color: var(--suave); margin: 0 auto 12px; max-width: 46ch; }
.peso { font-size: 64px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--texto); line-height: 1.1; margin: 8px 0 16px; }
.peso small { font-size: 22px; color: var(--suave); font-weight: 500; }
.peso.estavel { color: var(--cor); }
.painel.erro-medicao .peso { display: none; }
.painel.erro-medicao h2 { color: var(--erro); }
.botoes { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.botoes [hidden] { display: none; }
.med-alerta {
  margin: 0 auto 12px; max-width: 46ch; padding: 10px 12px; border-radius: 8px; text-align: left;
  background: #fef7e0; color: #7a4f01; font-size: 14px; font-weight: 600;
}
.painel.confirmacao h2 { color: var(--alerta); }
#aviso-controle { margin: 4px 0 8px; }

/* --- controle de qualidade --------------------------------------------------------- */
.painel.controle { width: min(820px, 100%); text-align: left; }
.painel.controle p { margin: 0 0 12px; max-width: none; }
.ctl-form { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 12px; }
.ctl-form .campo { flex: 1; }
.ctl-form button { margin-top: 26px; padding: 10px 16px; }
.ctl-msg { color: var(--texto); }
.ctl-veredito { padding: 10px 12px; border-radius: 8px; background: var(--fundo); color: var(--texto); }
.ctl-veredito.ok { background: #e6f4ea; color: #155d2b; }
.ctl-veredito.alerta { background: #fef7e0; color: #7a4f01; }
.ctl-graficos { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin: 12px 0 4px; }
.ctl-graf { margin: 0; border: 1px solid var(--linha); border-radius: 8px; padding: 8px; }
.ctl-graf figcaption { display: flex; justify-content: space-between; gap: 6px; font-size: 12.5px; color: var(--suave); margin-bottom: 4px; }
.ctl-graf figcaption b { color: var(--texto); font-variant-numeric: tabular-nums; }
.ctl-graf figcaption b.fora { color: #7a4f01; }
.ctl-graf svg { width: 100%; height: auto; display: block; overflow: visible; }
.ctl-graf .faixa { fill: var(--cor-clara); }
.ctl-graf .zero { stroke: var(--linha); stroke-width: 1; }
.ctl-graf polyline { fill: none; stroke: var(--cor); stroke-width: 2; stroke-linejoin: round; }
.ctl-graf circle { fill: var(--cor); stroke: var(--superficie); stroke-width: 2; }
.ctl-graf circle.fora { fill: var(--alerta); }
.ctl-nota { font-size: 12.5px; color: var(--suave); margin: 4px 0 12px; }
.ctl-tabela { overflow-x: auto; }
.ctl-tabela table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ctl-tabela th, .ctl-tabela td { padding: 6px 8px; border-bottom: 1px solid var(--linha); text-align: left; white-space: nowrap; }
.ctl-tabela th { color: var(--suave); font-weight: 600; }
.ctl-tabela .num { text-align: right; font-variant-numeric: tabular-nums; }
.ctl-tabela small { color: var(--suave); }
.ctl-falhas { margin: 8px 0 16px; font-size: 13.5px; }
.ctl-falhas summary { cursor: pointer; font-weight: 600; color: var(--cor); }
.ctl-falhas ul { margin: 8px 0 0; padding-left: 18px; }
.ctl-falhas li { margin-bottom: 6px; }
.ctl-falhas .num { color: var(--suave); font-variant-numeric: tabular-nums; }
.ctl-falhas .vazio { list-style: none; margin-left: -18px; color: var(--suave); font-style: italic; }

/* --- relatório na tela ------------------------------------------------------------ */
.acoes {
  display: flex; justify-content: space-between; align-items: center;
  gap: 10px; padding: 10px 16px; background: var(--superficie); border-bottom: 1px solid var(--linha);
}
.papel { overflow-x: auto; padding: 16px; }
.folha { width: 210mm; margin: 0 auto; padding: 8mm 10mm; background: #fff; box-shadow: 0 4px 24px rgba(0, 0, 0, .12); }

/* --- relatório (mesmo layout de relatorio.py) ------------------------------------------- */
.rel {
  --cinza: #e9ecee; --linha-r: #9aa3a8;
  width: 190mm; font: 9.5pt/1.3 -apple-system, "Helvetica Neue", Arial, sans-serif; color: var(--texto);
}
.rel .cab { display: flex; align-items: flex-end; justify-content: space-between; border-bottom: 3px solid var(--cor); padding-bottom: 2mm; }
.rel .cab h1 { margin: 0; font-size: 20pt; color: var(--cor); letter-spacing: -.5px; }
.rel .cab .sub { color: var(--suave); font-size: 8.5pt; text-align: right; }
.rel .id { display: grid; grid-template-columns: 2.4fr 1.2fr 1.4fr; gap: 1.5mm 0; margin: 2mm 0 3mm; }
.rel .id div { border-left: 1px solid var(--linha-r); padding: 0 2.5mm; min-width: 0; }
.rel .id small { display: block; color: var(--suave); font-size: 8pt; }
.rel .id b { font-size: 10.5pt; font-weight: 500; display: block; overflow-wrap: anywhere; }
.rel .id .idade { color: var(--suave); font-size: 8.5pt; }
.rel .grade { display: grid; grid-template-columns: 1fr 62mm; gap: 6mm; }
.rel h2 { font: 600 12pt Georgia, serif; color: var(--suave); margin: 2.2mm 0 1.2mm; }
.rel h3 { font: 600 10.5pt Georgia, serif; color: var(--suave); margin: 0 0 1mm; }
.rel table.comp { width: 100%; border-collapse: collapse; }
.rel table.comp td { padding: .9mm 1.5mm; border-bottom: 1px solid #fff; background: var(--cinza); }
.rel table.comp .desc { color: var(--suave); font-size: 8.5pt; }
.rel table.comp .nome { font-weight: 600; }
.rel table.comp .nome small { font-weight: 400; color: var(--suave); margin-left: 1mm; }
.rel table.comp .v { background: #fff; text-align: right; font-size: 11pt; border-bottom: 1px solid var(--linha-r); }
.rel table.comp .f { background: #fff; color: var(--suave); font-size: 8pt; white-space: nowrap; border-bottom: 1px solid var(--linha-r); }
.rel .zonas, .rel .linha-barra, .rel .hl, .rel .hdatas { display: grid; grid-template-columns: 31mm 1fr; }
.rel .zonas .z { position: relative; height: 5mm; }
.rel .zonas .z span {
  position: absolute; top: 0; height: 100%; background: #b9c3c8; color: #fff; text-align: center;
  font-weight: 600; font-size: 8.5pt; line-height: 5mm; border-right: 2px solid #fff;
}
.rel .zonas .z span.n { background: var(--cor); }
.rel .linha-barra { border-bottom: 1px solid var(--linha-r); padding: .8mm 0; }
.rel .rot { font-weight: 600; font-size: 9pt; line-height: 1.15; display: flex; flex-direction: column; justify-content: center; }
.rel .rot small { font-weight: 400; color: var(--suave); font-size: 7.5pt; }
.rel .regua { position: relative; height: 9mm; }
.rel .marcas span { position: absolute; top: 0; transform: translateX(-50%); font-size: 7pt; color: var(--suave); }
.rel .marcas .suf { right: 0; left: auto; transform: none; }
.rel .trilho { position: absolute; top: 3.6mm; left: 0; right: 0; height: 2.4mm; border-left: 1px solid var(--texto); }
.rel .fill { height: 100%; background: repeating-linear-gradient(90deg, var(--texto) 0 92%, transparent 92% 100%); background-size: 9.2% 100%; }
.rel .val { position: absolute; top: 2.2mm; margin-left: 2mm; font-size: 10.5pt; }
.rel .segs { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; margin-top: 2mm; }
.rel .fig { position: relative; height: 56mm; background: var(--cinza); border-radius: 2mm; }
.rel .fig svg { position: absolute; inset: 3mm 10mm; width: calc(100% - 20mm); height: calc(100% - 6mm); fill: #fff; }
.rel .cx { position: absolute; width: 25mm; text-align: center; font-size: 8.5pt; }
.rel .cx b, .rel .cx span, .rel .cx em {
  display: block; border-bottom: 1px dotted var(--linha-r); padding: .3mm 0; font-style: normal; font-weight: 500;
}
.rel .cx em { border: 0; color: var(--cor); font-weight: 600; }
.rel .lado { position: absolute; top: 50%; font-size: 8pt; color: var(--suave); writing-mode: vertical-rl; transform: translateY(-50%); }
.rel .lado.e { left: 1mm; transform: translateY(-50%) rotate(180deg); }
.rel .lado.d { right: 1mm; }
.rel .hl { border-bottom: 1px solid var(--linha-r); height: 10mm; }
.rel .graf { position: relative; }
.rel .graf svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.rel .graf polyline { fill: none; stroke: var(--texto); stroke-width: 1; vector-effect: non-scaling-stroke; }
.rel .graf i { position: absolute; width: 1.4mm; height: 1.4mm; margin: -.7mm 0 0 -.7mm; border-radius: 50%; background: var(--texto); }
.rel .graf span { position: absolute; transform: translate(-50%, -125%); font-size: 7.5pt; }
.rel .hdatas .d { position: relative; height: 7mm; }
.rel .hdatas span { position: absolute; transform: translateX(-50%); font-size: 6.5pt; color: var(--suave); text-align: center; }
.rel .vazio { color: var(--suave); font-style: italic; margin: 1mm 0; }
.rel .lateral section { margin-bottom: 3mm; }
.rel .lateral h2 { font: 600 10.5pt -apple-system, Arial, sans-serif; color: var(--texto); border-bottom: 1px solid var(--linha-r); padding-bottom: .5mm; }
.rel .escore { text-align: center; font-size: 26pt; margin: 1mm 0; }
.rel .escore small { font-size: 11pt; color: var(--suave); }
.rel .nota { font-size: 7.5pt; color: var(--suave); margin: 1mm 0 0; }
.rel dl { display: grid; grid-template-columns: 1fr auto auto; gap: .6mm 2mm; margin: 0; font-size: 8.5pt; }
.rel dd { margin: 0; text-align: right; }
.rel dd.f { color: var(--suave); }
.rel .interp p { margin: 0 0 1.5mm; font-size: 8pt; }
.rel .interp b { display: block; font-size: 8.5pt; }
.rel table.imp { width: 100%; border-collapse: collapse; font-size: 8.5pt; text-align: right; }
.rel table.imp th { font-weight: 500; color: var(--suave); }
.rel table.imp td:first-child { text-align: left; white-space: nowrap; }
.rel .rodape {
  border-top: 3px solid var(--cor); margin-top: 3mm; padding-top: 1mm; font-size: 7pt; color: var(--suave);
  display: flex; justify-content: space-between;
}

/* --- página 2: padrão belo e saudável ------------------------------------------------ */
.rel.pag2 { margin-top: 10mm; padding-top: 6mm; border-top: 1px dashed var(--linha); }
.rel .id2 { grid-template-columns: 2.4fr 1.6fr 1.4fr; }
.rel .padrao-topo {
  display: grid; grid-template-columns: 50mm 1fr; gap: 7mm; align-items: center;
  background: var(--cor-clara); border-radius: 2mm; padding: 3mm 6mm 2.5mm; margin: 1mm 0 1mm;
}
.rel .indice small { display: block; color: var(--suave); font-size: 8.5pt; }
.rel .indice b { display: block; font-size: 30pt; line-height: 1.05; color: var(--cor); font-weight: 600; }
.rel .indice b span { font-size: 12pt; color: var(--suave); font-weight: 400; }
.rel .indice em { display: block; font-style: normal; font-weight: 600; font-size: 11pt; }
.rel .barra2 { position: relative; display: flex; height: 4mm; border-radius: 1mm; overflow: visible; }
.rel .barra2 span:nth-child(1) { background: #c9d6d8; border-radius: 1mm 0 0 1mm; }
.rel .barra2 span:nth-child(2) { background: #8fb6bb; }
.rel .barra2 span:nth-child(3) { background: #4f949c; }
.rel .barra2 span:nth-child(4) { background: var(--cor); border-radius: 0 1mm 1mm 0; }
.rel .barra2 i {
  position: absolute; top: -1.6mm; bottom: -1.6mm; width: 1.2mm; margin-left: -.6mm;
  background: var(--texto); border: .4mm solid #fff; border-radius: .6mm;
}
.rel .rotulos2 { display: flex; margin-top: 1.6mm; font-size: 7.5pt; line-height: 1.2; color: var(--suave); }
.rel .rotulos2 span { text-align: center; }
.rel table.padrao { width: 100%; border-collapse: collapse; }
.rel table.padrao th { text-align: left; font-weight: 500; font-size: 8pt; color: var(--suave); border-bottom: 1px solid var(--linha-r); padding: .8mm 1.5mm; }
.rel table.padrao td { padding: .9mm 1.5mm; border-bottom: 1px solid var(--linha-r); vertical-align: middle; }
.rel table.padrao .nome { font-weight: 600; }
.rel table.padrao .nome small { font-weight: 400; color: var(--suave); font-size: 7.5pt; margin-left: 1mm; }
.rel table.padrao .v { font-size: 11pt; text-align: right; white-space: nowrap; }
.rel table.padrao .alvo { color: var(--suave); white-space: nowrap; }
.rel table.padrao .sit { font-weight: 600; white-space: nowrap; }
.rel table.padrao .sit.ok { color: var(--ok); }
.rel table.padrao .sit.fora { color: var(--alerta); }
.rel table.padrao .pts { white-space: nowrap; }
.rel table.padrao .pts small { color: var(--suave); }
.rel .mini { display: inline-block; width: 18mm; height: 1.8mm; margin-right: 2mm; background: var(--cinza); border-radius: 1mm; vertical-align: middle; overflow: hidden; }
.rel .mini i { display: block; height: 100%; background: var(--cor); }
.rel .evol { display: flex; flex-wrap: wrap; align-items: baseline; gap: 1.5mm; margin: 2mm 0 0; font-size: 9pt; }
.rel .evol b { font-weight: 600; margin-right: 2mm; color: var(--suave); font-size: 8.5pt; }
.rel .evol span { display: inline-flex; flex-direction: column; align-items: center; font-size: 10.5pt; font-weight: 500; }
.rel .evol span small { font-size: 6.5pt; color: var(--suave); font-weight: 400; }
.rel .evol span.hoje { color: var(--cor); font-weight: 700; }
.rel .evol i { font-style: normal; color: var(--suave); }
.rel .padrao-meio { display: grid; grid-template-columns: 1fr 1fr; gap: 7mm; margin-top: 1mm; }
.rel table.hoje-alvo, .rel table.gasto { width: 100%; border-collapse: collapse; }
.rel table.hoje-alvo th, .rel table.gasto th { text-align: right; font-weight: 500; font-size: 8pt; color: var(--suave); border-bottom: 1px solid var(--linha-r); padding: .5mm 1.2mm; }
.rel table.gasto th { text-align: left; }
.rel table.hoje-alvo td, .rel table.gasto td { padding: .9mm 1.2mm; border-bottom: 1px solid var(--linha-r); }
.rel table.hoje-alvo .nome { font-weight: 600; }
.rel table.hoje-alvo .nome small { font-weight: 400; color: var(--suave); font-size: 7.5pt; margin-left: 1mm; }
.rel table.hoje-alvo .v, .rel table.gasto .v { text-align: right; white-space: nowrap; }
.rel table.hoje-alvo .forte { color: var(--cor); font-weight: 600; }
.rel table.hoje-alvo .dif { text-align: right; color: var(--suave); white-space: nowrap; }
.rel table.gasto { margin-top: 1.5mm; font-size: 8.5pt; }
.rel dl.energia { grid-template-columns: 1fr auto; }
.rel dl.energia dd b { color: var(--cor); }
.rel .padrao-baixo { display: grid; grid-template-columns: 1fr 1.3fr; gap: 7mm; margin-top: 1mm; }
.rel .padrao-baixo p { margin: 0 0 1.4mm; font-size: 8.5pt; }
.rel .metas { margin: 0; padding-left: 4mm; font-size: 9.5pt; }
.rel .metas li { margin-bottom: 1mm; }
.rel .fontes { margin-top: 4mm; }

/* --- impressão: só a folha do relatório ------------------------------------------- */
@page { size: A4; margin: 8mm 10mm; }
@media print {
  body { background: #fff; }
  .topo, #tela-inicio, .overlay, .acoes { display: none !important; }
  .papel { overflow: visible; padding: 0; }
  .folha { width: auto; padding: 0; margin: 0; box-shadow: none; }
  .rel.pag2 { break-before: page; margin-top: 0; padding-top: 0; border-top: 0; }
}
