.table-tools {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 1rem;
}

.table-tools .table {
  margin-bottom: 0;
}

.table-tools-bar {
  display: flex;
  gap: .75rem;
  align-items: center;
  padding: .85rem 1rem;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
}

.table-tools-search {
  max-width: 360px;
}

.table-tools-meta {
  margin-inline-start: auto;
  color: #6b7280;
  font-size: .85rem;
}

.sortable-th {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

.sortable-th:hover {
  color: #0d6efd;
}

.sortable-th.sorted-asc::after {
  content: " ▲";
  font-size: .7em;
  opacity: .8;
}

.sortable-th.sorted-desc::after {
  content: " ▼";
  font-size: .7em;
  opacity: .8;
}

.sortable-th.no-sort,
th.no-sort {
  cursor: default;
}

.sortable-th.no-sort:hover {
  color: inherit;
}
