/* documento.css — a Proposta de Meta na tela e impressa (A4 retrato; tabela por loja em A4 paisagem) */
.doc-moldura { background: #e9ecef; border-radius: var(--ff-radius-md); padding: 24px 12px; overflow-x: auto; }
.doc { --d-verde: #1a7a4a; --d-verde-esc: #145c37; --d-verde-cl: #e8f5ee; --d-texto: #1a1f2e; --d-mudo: #6b7280; --d-linha: #dde1e7;
  color: var(--d-texto); font: 13px/1.5 'Segoe UI', system-ui, sans-serif; }
.doc .pag { background: #fff; width: 210mm; min-height: 297mm; margin: 0 auto 18px; padding: 18mm 18mm 16mm; box-shadow: 0 2px 10px rgba(0,0,0,.08); position: relative; }
.doc .pag.paisagem { width: 297mm; min-height: 210mm; padding: 12mm 12mm 10mm; }
.doc h2 { font-size: 20px; color: var(--d-verde-esc); margin: 0 0 8px; }
.doc h3 { font-size: 15px; margin: 18px 0 6px; color: var(--d-texto); }
.doc p { margin: 0 0 8px; }
.doc .formula { background: var(--d-verde-cl); border-left: 4px solid var(--d-verde); padding: 10px 14px; margin: 8px 0 10px; font-weight: 700; border-radius: 0 6px 6px 0; }
.doc .formula small { font-weight: 400; color: var(--d-mudo); }
.doc .caixa { border: 1px solid var(--d-linha); background: #fafbfc; border-radius: 8px; padding: 10px 14px; margin: 10px 0; }
.doc .bloco-especial { border-top: 1px solid var(--d-linha); margin-top: 14px; padding-top: 4px; }
.doc .t-simples { width: 100%; border-collapse: collapse; margin: 8px 0 12px; font-size: 12.5px; }
.doc .t-simples th { text-align: left; font-size: 10.5px; text-transform: uppercase; letter-spacing: .5px; color: var(--d-mudo); border-bottom: 1.5px solid var(--d-verde); padding: 5px 6px; }
.doc .t-simples td { padding: 5px 6px; border-bottom: 1px solid var(--d-linha); }
.doc .n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.doc tr.total td { font-weight: 700; border-top: 1.5px solid var(--d-texto); border-bottom: 0; }
.doc .t-resumo td:first-child { width: 46%; }
.doc .analise { margin-top: 14px; }
.doc .analise p { text-align: justify; }

/* capa */
.doc .capa { display: flex; flex-direction: column; }
.doc .capa-marca { font-size: 11px; letter-spacing: 2px; font-weight: 700; color: var(--d-verde); }
.doc .capa-titulo { font-size: 44px; line-height: 1.1; margin: 46mm 0 4px; color: var(--d-texto); }
.doc .capa-mes { font-size: 26px; color: var(--d-verde); font-weight: 700; }
.doc .capa-sub { max-width: 135mm; color: var(--d-mudo); font-size: 14px; margin-top: 12px; }
.doc .capa-kpis { display: grid; grid-template-columns: .7fr 1fr 1fr 1.1fr; gap: 10px; margin-top: 26mm; }
.doc .capa-kpis div { border-top: 3px solid var(--d-linha); padding-top: 8px; }
.doc .capa-kpis div.destaque { border-top-color: var(--d-verde); }
.doc .capa-kpis b { display: block; font-size: 21px; font-weight: 800; white-space: nowrap; }
.doc .capa-kpis span { font-size: 10px; letter-spacing: .5px; color: var(--d-mudo); font-weight: 600; }
.doc .capa-rodape { margin-top: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; border-top: 1px solid var(--d-linha); padding-top: 10px; font-size: 12.5px; }
.doc .capa-rodape span { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; color: var(--d-mudo); font-weight: 600; }
.doc .marca-rascunho { position: absolute; top: 18mm; right: 18mm; border: 2px solid #b45309; color: #b45309; font-weight: 800; letter-spacing: 2px; padding: 4px 10px; border-radius: 6px; font-size: 12px; }

/* tabela por loja */
.doc .tab-topo { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 6px; }
.doc .tab-topo h2 { font-size: 16px; margin: 0; }
.doc .tab-topo span { font-size: 10.5px; color: var(--d-mudo); }
.doc .t-lojas { width: 100%; border-collapse: collapse; font-size: 10.6px; }
.doc .t-lojas thead th { font-size: 8.6px; text-transform: uppercase; letter-spacing: .3px; color: var(--d-mudo); text-align: left; padding: 4px 4px; border-bottom: 1.5px solid var(--d-verde); vertical-align: bottom; line-height: 1.2; }
.doc .t-lojas thead th.n { text-align: right; }
.doc .t-lojas thead tr.grupo th { color: var(--d-verde-esc); border-bottom: 1px solid var(--d-linha); text-align: center; font-size: 9px; letter-spacing: 1px; }
.doc .t-lojas td { padding: 5.2px 4px; border-bottom: 1px solid var(--d-linha); white-space: nowrap; }
.doc .t-lojas td.loja { font-weight: 600; white-space: normal; min-width: 30mm; }
.doc .t-lojas .forte { font-weight: 700; }
.doc .t-lojas .neg { color: #b42318; }
.doc .selo { display: inline-block; font-size: 7.4px; font-weight: 800; letter-spacing: .4px; border-radius: 3px; padding: 1px 4px; vertical-align: middle; }
.doc .selo-nova { background: #e8f0ff; color: #2563eb; }
.doc .selo-realoc { background: #fff3e0; color: #b45309; }
.doc .selo-piso { background: var(--d-verde-cl); color: var(--d-verde-esc); }
.doc .legenda { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 10px; font-size: 9.6px; color: var(--d-mudo); }

@page { size: A4 portrait; margin: 14mm 16mm; }
@page paisagem { size: A4 landscape; margin: 9mm 10mm; }
@media print {
  .doc-moldura { background: none; padding: 0; border-radius: 0; overflow: visible; }
  .doc .pag { box-shadow: none; margin: 0; padding: 0; width: auto; min-height: 0; break-after: page; }
  .doc .pag.capa { height: 268mm; }
  .doc .pag.paisagem { page: paisagem; width: auto; min-height: 0; padding: 0; }
  .doc .pag:last-child { break-after: auto; }
  .doc .marca-rascunho { top: 0; right: 0; }
  .doc table, .doc .caixa, .doc .formula { break-inside: avoid; }
  .doc h2, .doc h3 { break-after: avoid; }
  .doc * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
