/* Relatórios (pedido do dono, 04/10): componente único — páginas, filtro por coluna, agrupamento por setor, sem rolagem
   lateral e mais diferenciação visual, no ciano da marca (variante A do topo-maior). */
:root{--marca:#0E7490;--marca-claro:#06B6D4;--marca-escuro:#155E75;--marca-fundo:#E6F6FA;--marca-linha:#B9DDE6}
:root[data-marca="b"]{--marca:#0891B2;--marca-claro:#22D3EE;--marca-escuro:#0E7490}

.relt-doc{max-width:100%}
.relt-cab{border-left:5px solid var(--marca);padding-left:14px}
.relt-cab .relvm-titulo{color:var(--marca-escuro)}
.relt-cab .relvm-chip{background:var(--marca-fundo);border-color:var(--marca-linha);color:var(--marca-escuro)}
.relt-secao{margin:26px 0 8px}
.relt-h3{font-size:15px;font-weight:700;color:var(--marca-escuro);margin:0 0 10px;padding:8px 12px;border-left:4px solid var(--marca);
  background:linear-gradient(90deg,var(--marca-fundo) 0,rgba(230,246,250,0) 70%);border-radius:0 6px 6px 0}

/* tabela que cabe na largura: texto quebra linha, número não quebra, colunas secundárias em "+ detalhes" */
.relt-tw{width:100%;max-width:100%;border:1px solid var(--marca-linha);border-radius:8px;overflow-x:auto;background:#fff}
.relt-t{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;font-size:13px;color:#263238}
.relt-t th{position:sticky;top:0;z-index:1;background:var(--marca);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.3px;text-align:left;padding:8px 8px 7px;vertical-align:bottom;border-right:1px solid rgba(255,255,255,.18)}
.relt-t th:last-child{border-right:0}
.relt-t th.relt-n{text-align:right}
.relt-th{white-space:normal;line-height:1.2;margin-bottom:6px;overflow-wrap:anywhere}
.relt-filtro{display:block;width:100%;min-width:48px;box-sizing:border-box;font-family:inherit;font-weight:400;font-size:11.5px;line-height:1.2;padding:4px 6px;border:0;
  border-radius:4px;background:rgba(255,255,255,.94);color:#263238;text-transform:none;letter-spacing:0}
.relt-filtro:focus{outline:2px solid var(--marca-claro);outline-offset:0}
.relt-t td{padding:7px 8px;border-bottom:1px solid #EDF2F4;vertical-align:top}
.relt-x{white-space:normal;overflow-wrap:anywhere;word-break:break-word;min-width:60px}
.relt-n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.relt-moeda{font-weight:600;color:#0B4F5C}
.relt-neg{color:#C62828;font-weight:700}
.relt-t tbody tr.relt-l:nth-child(even) td{background:#F5FAFB}
.relt-t tbody tr.relt-l:hover td{background:#E3F4F8}
.relt-t tbody tr.relt-destaque td{font-weight:700;background:var(--marca-fundo)}
.relt-w-estreita{width:84px}.relt-w-media{width:130px}.relt-w-larga{width:28%}

/* grupo forte, subtotal e total geral */
.relt-grupo td{background:linear-gradient(90deg,var(--marca-escuro) 0,var(--marca) 55%,var(--marca-claro) 100%);color:#fff;font-weight:700;
  font-size:13.5px;padding:9px 12px;border-top:12px solid #fff;letter-spacing:.2px}
.relt-t tbody tr.relt-grupo:first-child td{border-top:0}
.relt-grupo-rot{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;opacity:.85;margin-right:6px}
.relt-grupo-n{float:right;font-weight:500;font-size:12px;opacity:.92}
.relt-subtotal td{background:var(--marca-fundo);font-weight:700;color:var(--marca-escuro);border-top:1px solid var(--marca-linha);border-bottom:2px solid var(--marca-linha)}
.relt-subtotal small,.relt-total small{font-weight:500;opacity:.8}
.relt-total td{background:var(--marca-escuro);color:#fff;font-weight:800;font-size:13.5px;border-top:3px solid var(--marca-claro);padding:10px 8px}
.relt-total .relt-moeda{color:#fff}

/* status nas cores da Agenda */
.relt-status{display:inline-block;padding:2px 8px;border-radius:10px;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;white-space:nowrap}

/* detalhes */
.relt-dt{width:1%;white-space:nowrap;text-align:center}
.relt-mais{border:1px solid var(--marca);color:var(--marca-escuro);background:#fff;border-radius:12px;font-family:inherit;font-weight:600;font-size:11px;line-height:1.2;padding:3px 9px;cursor:pointer}
.relt-mais:hover{background:var(--marca-fundo)}
.relt-det-l td{background:#F2FAFC!important;border-bottom:2px solid var(--marca-linha)}
.relt-det{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 20px;padding:4px 6px}
.relt-det-i span{display:block;font-size:10.5px;color:#607D8B;text-transform:uppercase;letter-spacing:.3px}
.relt-det-i b{font-weight:600;overflow-wrap:anywhere}
.relt-vazio{text-align:center;color:#78909C;padding:20px!important}

/* rodapé no estilo da Agenda: chips + páginas */
.relt-rodape{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:10px 2px 4px;border-top:2px solid var(--marca)}
.relt-chips{display:flex;flex-wrap:wrap;gap:6px}
.relt-chip{display:inline-flex;align-items:center;min-height:30px;font-size:11px;font-weight:700;color:#fff;border-radius:5px;padding:4px 10px;
  text-transform:uppercase;box-shadow:0 1px 2px rgba(38,50,56,.16);background:#607D8B}
.relt-chip-n{background:var(--marca)}.relt-chip-g{background:var(--marca-escuro)}.relt-chip-v{background:#0B5F2E}
.relt-pg{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#455A64}
.relt-pp{display:flex;align-items:center;gap:6px;margin-right:8px}
.relt-pp-s{font:inherit;padding:3px 6px;border:1px solid var(--marca-linha);border-radius:5px}
.relt-pg-b{width:30px;height:30px;border:1px solid var(--marca-linha);border-radius:6px;background:#fff;color:var(--marca-escuro);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.relt-pg-b:hover:not(:disabled){background:var(--marca-fundo)}
.relt-pg-b:disabled{opacity:.4;cursor:default}
.relt-pg-t b{color:var(--marca-escuro)}

@media print{.relt-filtro,.relt-rodape,.relt-dt,.relt-mais{display:none!important}}
.relt-sec-topo{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.relt-sec-topo .relt-h3{margin:0;flex:1 1 auto}
.relt-agr{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--marca-escuro)}
.relt-agr-s{font:inherit;font-weight:600;padding:5px 10px;border:2px solid var(--marca);border-radius:6px;color:var(--marca-escuro);background:#fff}
