/* Mouse dragging is opt-in per hovered, overflowing table; touch stays native. */
.table-drag-ready,
.table-drag-ready table,
.table-drag-ready :is(th,td) :is(button,a,img) { cursor:grab; }
.table-dragging,
.table-dragging * { cursor:grabbing!important; user-select:none!important; }

/* Sortable headers sort from anywhere in the cell (table-drag.js). */
thead th[aria-sort]:has(button),
thead th:has(> button.usage-sort, > button[data-tracker-sort], > button[data-overview-sort]) { cursor:pointer; }
