/* ==========================================================================
   Table Components
   ========================================================================== */

/* Sortable Table Headers */
th.sortable {
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast);
}

th.sortable:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

th.resizer {
    position: relative;
}

th .resize-handle {
    position: absolute;
    right: 0;
    top: 0;
    width: 6px;
    height: 100%;
    cursor: col-resize;
    z-index: var(--z-dropdown);
}

/* Custom Table Header Styling */
.table-striped thead th {
    border: var(--table-header-border);
    background: var(--table-header-bg);
    color: var(--table-header-text);
    font-weight: var(--font-weight-bold);
    text-align: center;
    vertical-align: middle;
    position: relative;
}

.table-striped thead th .sort-indicator {
    margin-left: var(--spacing-1);
    font-size: 1.1em;
}

/* Striped Rows */
.table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--table-stripe-bg);
}

/* Fake Scrollbar (for synced horizontal scrolling) */
.fake-row-scrollbar {
    height: 32px;
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    background: transparent;
    margin: 0;
    padding: 0;
}

.fake-row-scrollbar-inner {
    height: 8px;
}