.table-wrap { overflow: visible; min-width: 0; max-width: 100%; }
.table-wrap table { table-layout: fixed; width: 100%; border-collapse: separate; border-spacing: 0; }
.table-wrap thead { position: sticky; top: var(--table-header-offset, 0px); z-index: 5; }
.table-wrap th { white-space: normal; overflow-wrap: anywhere; }
.table-wrap th .sort-link { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.table-wrap td { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap !important; }
.table-wrap td img { max-width: 100% !important; }
.table-wrap td .badge { max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
.table-wrap td:has(form), .table-wrap td:has(.actions), .table-wrap td[colspan] { white-space: normal !important; overflow-wrap: anywhere; }
.table-wrap td button, .table-wrap td .button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.table-wrap td .actions { min-width: 0; gap: 6px; }
@media (max-width: 760px) {
  .table-wrap th, .table-wrap td { padding: 8px 4px; font-size: .75rem; }
  .table-wrap td button, .table-wrap td .button { padding: 6px 4px; font-size: .75rem; }
}
@media (max-width: 600px) {
  .table-wrap .activity-table { display: table; }
  .table-wrap .activity-table thead { display: table-header-group; }
  .table-wrap .activity-table tbody { display: table-row-group; }
  .table-wrap .activity-table tr { display: table-row; }
  .table-wrap .activity-table th, .table-wrap .activity-table th:not([aria-sort]),
  .table-wrap .activity-table td { display: table-cell; width: auto; padding: 8px 4px; text-align: left; }
  .table-wrap .activity-table th { background: var(--surface-soft); }
  .table-wrap .activity-table td::before { display: none; }
}
@media print {
  .table-wrap thead { position: static; }
  .table-wrap td { white-space: normal !important; overflow-wrap: anywhere; }
}
