/* Veezy OS · Relatórios. Cores e fontes vêm dos tokens de central.css (:root); botões reaproveitam os do squad.css. */
.rl-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 440px), 1fr)); gap: 16px; align-items: stretch; grid-auto-rows: 1fr; }
.rl-card { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.rl-card.off { opacity: .75; }
.rl-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rl-h h2 { font-size: 18px; font-weight: 700; }
.rl-modelo { margin: -6px 0 0; font-size: 13px; color: var(--ink-3); }
.rl-info { margin: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.rl-info div { display: flex; gap: 10px; }
.rl-info dt { flex: none; width: 92px; color: var(--ink-3); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; padding-top: 2px; }
.rl-info dd { margin: 0; color: var(--ink-2); font-variant-numeric: tabular-nums; min-width: 0; }
.rl-link input { width: 100%; box-sizing: border-box; font: inherit; font-size: 13px; color: var(--ink); background: var(--bg); border: 1px solid var(--line); border-radius: 8px; padding: 9px 12px; text-overflow: ellipsis; }
.rl-abrir { text-decoration: none; display: inline-block; font-size: 13px; font-weight: 600; padding: 8px 14px; border-radius: 8px; white-space: nowrap; }
.rl-sep { flex: none; width: 1px; height: 22px; background: var(--line); margin: 0 2px; }
.rl-aviso { margin: 0; font-size: 13px; color: var(--warn); }
.rl-sem { display: flex; flex-direction: column; gap: 6px; }
.rl-sem p { margin: 0; font-size: 13px; max-width: 90ch; }
.rl-nomes { color: var(--ink-2); line-height: 1.7; }
.rl-fonte { display: inline-block; font-size: 11.5px; font-weight: 600; color: var(--accent); background: var(--accent-soft); border-radius: 99px; padding: 1px 9px; margin: 0 6px 4px 0; }
/* cartões da mesma linha com a mesma altura: o link e os botões ficam sempre no rodapé do cartão */
.rl-card .rl-link { margin-top: auto; }

/* separação por tier (mesmo padrão da Central de Contas) e filtros */
.rl-tiers { display: flex; flex-direction: column; gap: 28px; }
.rl-h h2 { display: flex; align-items: center; gap: 8px; }
.rl-h h2 .tier { font-size: 11px; }
.rl-conta { font-size: 13px; }
.rl-nomes { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.rl-nome { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
@media (max-width: 640px) { .relatorios .filters input { width: 100%; } .relatorios .filters .spacer { display: none; } }
