/* dist/css/relatorios.css — aba "Relatórios de leads" (v2.29.0): barra, cards de filtro com divisões e selects de
   múltipla escolha, linha de filtros ativos e o card da lista (tabela com colunas escolhidas e CSV). */

.rl { --rl-gap: .75rem; display: flex; flex-direction: column; gap: var(--rl-gap); }
.rl-n { color: var(--shell-muted); font-variant-numeric: tabular-nums; font-weight: 400; }

/* ---------- barra do topo ---------- */
.rl-barra { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem 1rem; }
.rl-cobertura { font-size: calc(.9375rem * var(--aia-text-scale, 1)); font-weight: 600; }
.rl-dica { font-size: calc(.75rem * var(--aia-text-scale, 1)); color: var(--shell-muted); }
.rl-barra-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.rl-periodo { width: auto; min-width: 230px; }
.rl-barra-acoes .form-check-label { font-size: calc(.8125rem * var(--aia-text-scale, 1)); }

/* ---------- cards de filtro ---------- */
.rl-cards { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--rl-gap); align-items: start; }
@media (max-width: 1280px) { .rl-cards { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .rl-card-perfil { grid-column: 1 / -1; } }
@media (max-width: 760px) { .rl-cards { grid-template-columns: minmax(0, 1fr); } }

.rl-card { margin: 0; overflow: visible; } /* visible: o painel do select passa da borda do card */
.rl-card-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: .5rem; padding: .65rem .85rem; border-bottom: 1px solid var(--shell-border); }
.rl-card-tit { font-size: calc(.875rem * var(--aia-text-scale, 1)); font-weight: 600; }
.rl-card-n { display: inline-grid; place-items: center; min-width: 18px; height: 18px; margin-left: .4rem; padding: 0 .3rem; font-size: calc(.6875rem * var(--aia-text-scale, 1)); font-weight: 600;
  color: #fff; background: var(--tblr-primary); border-radius: 999px; vertical-align: 1px; }
.rl-card-dica { font-size: calc(.75rem * var(--aia-text-scale, 1)); color: var(--shell-muted); }
.rl-card-corpo { padding: .25rem .85rem .75rem; }

/* divisões dentro do card */
.rl-secao { padding: .6rem 0; }
.rl-secao + .rl-secao { border-top: 1px dashed var(--shell-border); }
.rl-secao-tit { margin-bottom: .45rem; font-size: calc(.6875rem * var(--aia-text-scale, 1)); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--shell-muted); }
.rl-secao-campos { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .55rem .75rem; }
.rl-card-campanha .rl-secao-campos { grid-template-columns: minmax(0, 1fr); }
.rl-campo { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.rl-campo-rot { font-size: calc(.75rem * var(--aia-text-scale, 1)); color: var(--shell-muted); }

/* ---------- select de múltipla escolha ---------- */
.rl-sel { position: relative; min-width: 0; }
.rl-sel-btn { width: 100%; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.rl-sel-btn span { color: var(--shell-muted); }
.rl-sel-btn.ativo { border-color: var(--tblr-primary); box-shadow: 0 0 0 1px var(--tblr-primary) inset; }
.rl-sel-btn.ativo span { color: var(--tblr-primary); font-weight: 600; }
.rl-sel-btn:disabled { cursor: default; opacity: .6; }
.rl-sel-painel { position: absolute; z-index: 1060; top: calc(100% + 4px); left: 0; width: max(100%, 280px); max-width: min(420px, 92vw); padding: .4rem;
  background: var(--tblr-bg-surface); border: 1px solid var(--shell-border); border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, .12); }
.rl-sel-painel.rl-sel-direita { left: auto; right: 0; width: 260px; }
.rl-sel-busca { margin-bottom: .35rem; }
.rl-sel-opcoes { max-height: 280px; overflow-y: auto; }
.rl-opt { display: flex; align-items: center; gap: .5rem; padding: .3rem .4rem; border-radius: 6px; cursor: pointer; font-size: calc(.8125rem * var(--aia-text-scale, 1)); }
.rl-opt:hover { background: var(--tblr-bg-surface-secondary, rgba(var(--tblr-body-color-rgb), .04)); }
.rl-opt[hidden] { display: none; }
.rl-opt-rot { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rl-sel-rodape { display: flex; justify-content: space-between; align-items: center; margin-top: .3rem; padding: .35rem .4rem 0; border-top: 1px solid var(--shell-border); font-size: calc(.75rem * var(--aia-text-scale, 1)); }

/* ---------- filtros ativos ---------- */
.rl-ativos { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; }
.rl-ativos-rot { font-size: calc(.75rem * var(--aia-text-scale, 1)); font-weight: 600; color: var(--shell-muted); }
.rl-pill { display: inline-flex; align-items: center; gap: .4rem; max-width: 360px; padding: .15rem .55rem; font-size: calc(.75rem * var(--aia-text-scale, 1));
  color: var(--tblr-primary); background: var(--tblr-primary-lt); border: 1px solid transparent; border-radius: 999px; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.rl-pill:hover { border-color: var(--tblr-primary); }
.rl-pill span { font-weight: 700; }
.rl-erro { padding: .4rem .65rem; font-size: calc(.8125rem * var(--aia-text-scale, 1)); border-radius: 6px; color: var(--tblr-body-color); background: var(--tblr-warning-lt, rgba(247, 103, 7, .1)); }

/* ---------- card da lista ---------- */
.rl-lista { margin: 0; overflow: visible; }
.rl-lista .rl-card-cab { align-items: center; }
.rl-resumo { margin-left: .35rem; font-size: calc(.8125rem * var(--aia-text-scale, 1)); color: var(--shell-muted); }
.rl-lista-acoes { display: flex; align-items: center; gap: .5rem; }
.rl-tabela-wrap { overflow-x: auto; }
.rl-tabela { margin: 0; font-size: calc(.8125rem * var(--aia-text-scale, 1)); }
.rl-tabela th { position: sticky; top: 0; white-space: nowrap; background: var(--tblr-bg-surface); }
.rl-tabela th:first-child, .rl-tabela td:first-child { padding-left: .85rem; }
.rl-tabela td { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rl-tabela tbody tr[data-i] { cursor: pointer; }
.rl-c-whatsapp, .rl-c-primeira_mensagem, .rl-c-ultima_interacao, .rl-c-data_aula, .rl-c-contrato, .rl-c-frequencia { font-variant-numeric: tabular-nums; }
.rl-vazio { padding: 1rem !important; color: var(--shell-muted); text-align: center; }
.rl-mais { display: flex; justify-content: center; padding: .6rem 0; }
.rl-mais:has(button[hidden]) { display: none; }

/* ---------- card "Conversas do WhatsApp" (v2.33.0): baixar as mensagens do período em .xlsx ---------- */
.rl-conv { margin: 0; }
.rl-conv-corpo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: .6rem 1rem; padding: .65rem .85rem; }
.rl-conv-txt { flex: 1 1 280px; min-width: 0; }
.rl-conv-campos { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .5rem .75rem; }
.rl-conv [hidden] { display: none !important; } /* .rl-campo é flex e venceria o hidden */
.rl-conv-campos input[type="date"] { width: 9.5rem; }
.rl-conv-unidade select { min-width: 12rem; }
.rl-conv-msg { margin: 0 .85rem .65rem; padding: .4rem .65rem; font-size: calc(.8125rem * var(--aia-text-scale, 1)); border-radius: 6px;
  color: var(--tblr-body-color); background: var(--tblr-success-lt, rgba(47, 179, 68, .1)); }
.rl-conv-msg.rl-conv-erro { background: var(--tblr-warning-lt, rgba(247, 103, 7, .1)); }
