/* DataTable Organism - SPACING CONTRACT: No external margins */
.data-table-container {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  margin: 0;
}

.table-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.table-toolbar-left,
.table-toolbar-right {
  display: flex;
  gap: var(--space-2);
  align-items: center;
}

.table-wrapper {
  overflow: hidden;
  border: var(--border-width-1) solid var(--border-subtle);
  border-radius: var(--border-radius-lg);
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: var(--text-sm);
  table-layout: auto;
}

.table-head {
  background-color: var(--bg-panel);
  border-bottom: var(--border-width-2) solid var(--border-default);
}

.table-header-cell {
  padding: var(--space-2) var(--space-3);
  text-align: left;
  font-weight: var(--font-weight-semibold);
  color: var(--text-primary);
  position: relative;
  white-space: nowrap;
}

.header-cell-content {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  overflow: hidden;
}

.header-cell-content > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table-body .table-row {
  border-bottom: var(--border-width-1) solid var(--border-subtle);
  transition: background-color var(--duration-150) var(--easing-out);
}

.table-row:hover {
  background-color: var(--bg-surface-hover);
}

.table-row.selected {
  background-color: var(--color-primary-light);
}

.table-cell {
  padding: var(--space-2) var(--space-3);
  color: var(--text-body);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table-cell-checkbox {
  width: var(--space-10);
  padding: var(--space-2);
}

.table-footer {
  display: flex;
  justify-content: center;
  padding: var(--space-3) 0;
}

.table-actions {
  display: flex;
  gap: var(--space-2);
}

.table-title {
  font-size: var(--text-sm);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  color: var(--text-muted);
  letter-spacing: 0.025em;
}

/* Column alignment */
.table-align-right { text-align: right; }
.table-align-center { text-align: center; }

/* Built-in action icons cell */
.table-cell-actions {
  display: inline-flex;
  gap: var(--space-2);
  align-items: center;
}


