/* Контейнер для горизонтального скролла */
.table-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    max-width: 100%;
    cursor: grab; /* Курсор в виде ладони */
    user-select: none; /* Запрещаем случайное выделение текста при перетаскивании */
}
table {
    border-collapse: separate;
    border-spacing: 0;
    width: max-content;
    min-width: 100%;
}

th, td {
    padding: 12px;
    border: 1px solid #ddd;
    background: #fff; /* Обязательно сплошной фон */
}

/* Фиксация левого столбца по горизонтали (CSS) */
.left-col {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
}

/* Шапка таблицы готовится к вертикальному сдвигу (JS) */
.sticky-header-row th {
    background: #fff;
    will-change: transform;
}

/* Угловая ячейка на пересечении */
.sticky-header-row th.left-col {
    z-index: 3;
}