.table-scroll-area {
    max-height: 70vh;
    overflow: auto;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
}

.app-data-table {
    margin-bottom: 0;
}

.app-data-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--bs-dark);
    color: #fff;
    white-space: nowrap;
    box-shadow: inset 0 -1px var(--bs-border-color);
}

.app-data-table th[data-sort] {
    cursor: pointer;
    user-select: none;
}

.app-data-table th[data-sort]::after {
    content: " ↕";
    color: rgba(255, 255, 255, .55);
    font-size: .75em;
}

.app-data-table th[data-sort][aria-sort="ascending"]::after {
    content: " ↑";
    color: #fff;
}

.app-data-table th[data-sort][aria-sort="descending"]::after {
    content: " ↓";
    color: #fff;
}

.table-detail-row > td {
    background: var(--bs-tertiary-bg);
}

.table-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: .75rem 1.5rem;
}

.table-detail-label {
    color: var(--bs-secondary-color);
    font-size: .75rem;
    margin-bottom: .1rem;
}

.quality-section-empty-filter {
    display: none;
}

.column-choice-menu {
    min-width: 210px;
}

.app-sticky-first-column th:first-child,
.app-sticky-first-column td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    background: var(--bs-body-bg);
    box-shadow: 1px 0 var(--bs-border-color);
}

.app-sticky-first-column thead th:first-child {
    z-index: 4;
    background: var(--bs-dark);
}

.app-sticky-first-column tbody tr:nth-of-type(odd) > td:first-child {
    background: var(--bs-tertiary-bg);
}

.app-sticky-first-column .table-detail-row > td:first-child {
    position: static;
}

@media print {
    .app-sticky-first-column th:first-child,
    .app-sticky-first-column td:first-child {
        position: static;
        box-shadow: none;
    }
}

@media (max-width: 767.98px) {
    .table-detail-grid {
        grid-template-columns: 1fr;
    }
}
