.table-scroll { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; border-bottom: 1px solid var(--frame-rule); }
.data-table th { text-align: left; color: var(--muted); font-weight: 600; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; padding: 8px; border-bottom: 1px solid var(--frame-rule); white-space: nowrap; }
.data-table th.sortable { cursor: pointer; user-select: none; }
.data-table th.sortable:hover, .data-table th.sorted { color: var(--text); }
.data-table th.num, .data-table .num { text-align: right; }
.data-table .num { font-variant-numeric: tabular-nums; }
.data-table td { padding: 7px 8px; }
.data-table tbody tr + tr td { border-top: 1px solid var(--row-rule); }
.sort-arrow { display: inline-block; width: 0.9em; margin-left: 2px; font-size: 0.9em; }
.data-table th.num .sort-arrow { margin-left: 0; margin-right: 2px; }
.pager { display: flex; align-items: center; gap: 12px; margin: 12px 0; font-size: 0.85rem; color: var(--muted); }
.pager button { min-height: 0; min-width: 0; padding: 6px 12px; font-size: 0.85rem; }
