/**
 * COLUMN-TOGGLE.CSS
 * Painel de seleção de colunas usado em tabelas do Portal.
 *
 * Renderizado dentro do componente `popover` do design system, com a estrutura:
 *
 *   {% call popover(trigger=..., popover_attrs={"class": "col-toggle-panel"}) %}
 *     <div class="col-toggle-list">
 *       <label class="col-toggle-item"><input type="checkbox" data-col-toggle="chave" /> Rótulo</label>
 *     </div>
 *     <div class="col-toggle-footer">…</div>
 *   {% endcall %}
 *
 * Usado por /associados/lista e /financeiro/extrato.
 */

.col-toggle-panel {
  width: 16rem;
  background: var(--popover);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  z-index: 50;
}

.col-toggle-list {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 1);
  padding: calc(var(--spacing) * 2);
}

/* Lista longa de colunas rola dentro do painel em vez de estourar a tela. */
.col-toggle-list--scroll {
  max-height: 20rem;
  overflow-y: auto;
}

.col-toggle-item {
  display: flex;
  align-items: center;
  gap: calc(var(--spacing) * 2);
  padding: calc(var(--spacing) * 1) calc(var(--spacing) * 1);
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 0.875rem;
  color: var(--foreground);
  user-select: none;
}

.col-toggle-item:hover {
  background: var(--muted);
}

.col-toggle-item input[type="checkbox"] {
  flex-shrink: 0;
}

.col-toggle-footer {
  display: flex;
  justify-content: flex-end;
  gap: calc(var(--spacing) * 2);
  padding: calc(var(--spacing) * 2);
  border-top: 1px solid var(--border);
}
