/* Barra de filtros */
.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
  justify-content: center;
  padding: var(--spacing-sm) var(--spacing-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-surface);
  margin-bottom: var(--spacing-sm);
}

.filter-bar > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  font-weight: 600;
}

.filter-bar select {
  font-size: var(--font-size-sm);
  padding: 4px 6px;
}

/* Toolbar (botón Columnas) */
.listado-toolbar {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-sm);
}

/* Panel flotante de columnas */
.col-panel {
  position: fixed;
  top: 70px;
  right: var(--spacing-md);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: var(--spacing-md);
  z-index: 900;
  min-width: 260px;
  max-height: calc(100vh - 90px);
  overflow-y: auto;
}

.col-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-sm);
  padding-bottom: var(--spacing-xs);
  border-bottom: 1px solid var(--color-border);
  font-weight: 600;
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.col-panel-header select {
  font-size: var(--font-size-sm);
  padding: 3px 6px;
}

.col-panel-grid {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.col-panel-grid label {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  font-size: var(--font-size-sm);
  cursor: pointer;
  padding: 3px var(--spacing-xs);
  border-radius: var(--radius-sm);
}

.col-panel-grid label:hover {
  background: var(--color-bg);
}

.col-panel-grid input[type="checkbox"] {
  transform: none;
  flex-shrink: 0;
  width: 15px;
  height: 15px;
}

/* Tabla de datos */
.tabla-datos {
  overflow-x: auto;
  display: flex;
  justify-content: center;
}

.tabla_estilizada {
  display: table;
  width: fit-content;
  background: var(--color-surface);
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
  margin: 0 auto var(--spacing-sm);
  font-size: var(--font-size-sm);
}

.tabla_estilizada > div {
  display: table-row;
}

.tabla_estilizada > div > div {
  display: table-cell;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  padding: 5px 8px;
  vertical-align: middle;
  white-space: nowrap;
}

.tabla-header > div {
  background: #d1d5db;
  font-weight: 600;
  text-align: center;
}

.listado_oddeven:nth-child(odd)  { background: var(--color-surface); }
.listado_oddeven:nth-child(even) { background: var(--color-bg); }
