.table-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
  margin-bottom: var(--space-5);
}

.table-toolbar .search-box {
  position: relative;
  flex: 1;
  min-width: 220px;
}

.table-toolbar .search-box-icon {
  position: absolute;
  top: 50%;
  right: var(--space-4);
  transform: translateY(-50%);
  color: var(--color-text-faint);
  font-size: 0.85rem;
  pointer-events: none;
}

.table-toolbar .search-box .form-control {
  padding-right: calc(var(--space-4) * 2 + 0.6rem);
}

.table-toolbar .filter-select {
  min-width: 170px;
  width: auto;
}

.table-scroll {
  overflow-x: auto;
}

table.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

table.data-table thead th {
  background: transparent;
  font-weight: 600;
  font-size: 0.78rem;
  color: var(--color-text-faint);
  text-align: right;
  padding: 0 var(--space-3) var(--space-3);
  border-bottom: 1px solid var(--color-border);
  white-space: nowrap;
}

table.data-table tbody td {
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-border);
  vertical-align: middle;
  color: var(--color-text);
}

table.data-table tbody tr {
  transition: background var(--transition-fast);
}

table.data-table tbody tr:hover {
  background: var(--color-surface-alt);
}

table.data-table tbody tr:last-child td {
  border-bottom: none;
}

table.data-table .row-actions {
  display: flex;
  gap: var(--space-2);
  justify-content: flex-end;
}

table.data-table .empty-state {
  text-align: center;
  padding: var(--space-6);
  color: var(--color-text-faint);
}
