/* ===== Relatórios ===== */
.rel-filtros{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:14px}
.rel-filtros .linha{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.rel-filtros .f{flex:1 1 170px;min-width:150px}
.rel-filtros .f.curto{flex:0 0 150px}
.rel-filtros .acoes{display:flex;gap:8px;margin-left:auto}
.rel-pessoas{position:relative}
.rel-pessoas .caixa{display:none;position:absolute;z-index:60;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(15,23,42,.15);max-height:320px;overflow:auto;padding:6px}
.rel-pessoas.aberta .caixa{display:block}
.rel-pessoas .caixa label{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:6px;font-size:13px;cursor:pointer}
.rel-pessoas .caixa label:hover{background:var(--panel-2)}
.rel-pessoas .caixa input[type=search]{width:100%;height:34px;border:1px solid var(--border-strong);border-radius:7px;padding:0 9px;margin-bottom:6px}
.rel-opcoes{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:13px}
.rel-opcoes label{display:flex;gap:6px;align-items:center;cursor:pointer}
.rel-saida{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;min-height:120px;overflow:auto}
.rel-saida .vazio{color:var(--text-muted);text-align:center;padding:30px}

/* conteúdo do relatório (tela e impressão) */
.rp{font-size:12px;color:#111}
.rp .folha{margin-bottom:26px;page-break-after:always}
.rp .folha:last-child{page-break-after:auto}
.rp .cab{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;margin-bottom:10px}
.rp .cab h2{grid-column:1/-1;margin:0 0 4px;font-size:15px;text-align:center}
.rp .cab div{font-size:11.5px}.rp .cab b{font-weight:700}
.rp table{width:100%;border-collapse:collapse;margin-bottom:8px}
.rp th,.rp td{border:1px solid #cbd5e1;padding:3px 5px;text-align:center;font-size:11px;white-space:nowrap}
.rp th{background:#f1f5f9;font-weight:700}
.rp td.esq,.rp th.esq{text-align:left}
.rp tr.fds td{background:#fafafa}
.rp .fm{color:#dc2626;font-weight:700}
.rp .inc{color:#1d4ed8}
.rp .faixa{font-weight:700}
.rp .resumo{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 16px;border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;margin:6px 0}
.rp .resumo div{display:flex;justify-content:space-between;border-bottom:1px dotted #cbd5e1;font-size:11.5px}
.rp .assin{display:flex;justify-content:space-around;margin-top:34px;font-size:11px}
.rp .assin div{border-top:1px solid #111;width:40%;text-align:center;padding-top:4px}
.rp h3.titulo{text-align:center;margin:0 0 10px;font-size:15px}
.rp .grupo-tit{background:#e2e8f0;font-weight:700;text-align:left}
.rp .neg{color:#dc2626}.rp .pos{color:#047857}

/* ---------------- painéis ---------------- */
.db-atalhos{display:flex;gap:6px;flex-wrap:wrap}.db-atalhos .btn{height:40px;padding:0 10px;font-size:12.5px}
.db-trilha{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px;font-size:13px;color:var(--text-muted)}
.db-trilha span{background:#eef2ff;color:#3730a3;border-radius:999px;padding:3px 6px 3px 12px;display:inline-flex;gap:6px;align-items:center}
.db-trilha button{border:0;background:#c7d2fe;border-radius:50%;width:20px;height:20px;cursor:pointer;line-height:1;color:#312e81}
.db-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:14px}
.db-kpi{background:#fff;border:1px solid var(--border);border-left:4px solid var(--c);border-radius:12px;padding:12px 14px}
.db-kpi .t{font-size:12px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.db-kpi .v{font-size:26px;font-weight:800;color:var(--text);margin:4px 0 2px;font-variant-numeric:tabular-nums}
.db-kpi .s{font-size:12px;color:var(--text-muted)}
.db-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.db-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px;min-width:0}
.db-card.larga{grid-column:1/-1}
.db-card h3{margin:0 0 12px;font-size:14px;display:flex;align-items:center;gap:8px}
.db-card h3 small{font-weight:400;color:var(--text-dim);font-size:12px}
.db-card h3 .btn.mini{margin-left:auto;height:28px;padding:0 10px;font-size:12px}
.db-vazio{color:var(--text-muted);padding:24px;text-align:center}
.db-nota{color:var(--text-muted)}
.db-barras .lin{display:grid;grid-template-columns:minmax(90px,220px) 1fr auto;gap:10px;align-items:center;padding:4px 6px;border-radius:8px}
.db-barras .lin.clic{cursor:pointer}.db-barras .lin.clic:hover,.db-tab tr.clic:hover td{background:var(--panel-2);cursor:pointer}
.db-barras .rot{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-barras .val{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.db-barras .trilho{display:flex;height:16px;background:var(--panel-2);border-radius:5px;overflow:hidden}
.db-barras .trilho.fino{height:7px;margin:2px 0}
.db-barras .trilho span{display:block;height:100%}
.db-leg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--text-muted);margin-top:8px}
.db-leg.col{flex-direction:column}.db-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.db-leg b{color:var(--text);margin-left:4px}
.db-linhas{width:100%;height:auto}.db-linhas text{font-size:10px;fill:var(--text-muted)}
.db-linhas .g{stroke:var(--border);stroke-width:1}.db-linhas path{fill:none;stroke-width:2;stroke-linejoin:round}
.db-linhas .hov{fill:transparent}.db-linhas .hov:hover{fill:rgba(37,99,235,.07)}
.db-rosca{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.db-rosca svg{width:170px;flex:0 0 170px}
.db-rosca .t1{font-size:16px;font-weight:800;fill:var(--text)}.db-rosca .t2{font-size:10px;fill:var(--text-muted)}
.db-tab{overflow:auto;max-height:460px}
.db-tab table{width:100%;border-collapse:collapse;font-size:12.5px}
.db-tab th{position:sticky;top:0;background:var(--panel-header);font-weight:700;text-align:right;padding:7px 8px;border-bottom:1px solid var(--border);white-space:nowrap}
.db-tab td{text-align:right;padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap;font-variant-numeric:tabular-nums}
.db-tab .esq{text-align:left}.db-tab .neg{color:#dc2626}
.db-opc{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:12px;font-size:13px}
.db-opc label{display:flex;gap:6px;align-items:center;cursor:pointer;font-weight:600}.db-opc small{color:var(--text-muted)}
@media (max-width:900px){.db-grade{grid-template-columns:1fr}.db-barras .lin{grid-template-columns:100px 1fr auto}}
.tot-eventos{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 12px;max-height:190px;overflow:auto;border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin-top:8px;font-size:12.5px}
.tot-eventos label{display:flex;gap:6px;align-items:center;cursor:pointer;padding:2px 0}
.rp tr.sub td{background:#f8fafc;border-top:2px solid #cbd5e1}
