tr.bg-body-highlight th {
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

th[scope="row"] {
    font-weight: normal;
}

th.th-sortable {
    cursor: pointer;
    user-select: none;
}

.sort-icon-inactive {
    opacity: 0.4;
}

.sort-icon {
    display: inline-block;
    width: 1em;
}

thead.thead-sticky th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: inherit;
    box-shadow: none;
}

.td-dot {
    width: 1.5rem;
    padding: 0.25rem !important;
    text-align: center;
}

.table-scroll-container table {
    border-collapse: collapse;
}

.table-scroll-container {
    max-height: calc(100vh - 380px);
    min-height: 100px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.table-scroll-container.flex-grow-1 {
    max-height: none;
    height: 0;
}
