/* Performance optimizations for Chrome and low-end devices */

/* Отключение анимаций для пользователей с preference reduced-motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    
    .card {
        opacity: 1 !important;
        transform: none !important;
    }
    
    .table {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Оптимизация для Chrome на слабых устройствах */
@supports (will-change: transform) {
    .card,
    .table,
    .btn {
        will-change: auto; /* Убираем will-change по умолчанию */
    }
    
    .card:hover,
    .btn:hover {
        will-change: transform, box-shadow; /* Включаем только при hover */
    }
}

/* Содержание макета для улучшения производительности */
.container,
.container-fluid {
    contain: layout style;
}

/* Изоляция слоев для карточек */
.card {
    isolation: isolate;
    contain: layout style;
}

/* Упрощение backdrop-filter для слабых GPU */
@media (max-resolution: 1dppx), (max-width: 768px) {
    .card,
    .select2-dropdown-grid,
    .inline-checkbox-grid {
        backdrop-filter: none !important;
        background: rgba(255, 255, 255, 0.95) !important;
    }
}

/* GPU слои только для интерактивных элементов */
.card:hover,
.btn:hover,
.select2-grid-item:hover,
.inline-checkbox-item:hover {
    transform: translate3d(0, 0, 0);
}

/* Оптимизация скроллинга */
.table-responsive,
.select2-grid-container,
.inline-checkbox-items {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

/* Исправление скролла для таблиц и интерактивных элементов */
.table,
.table-responsive,
.dropdown-menu,
.form-control,
.form-select,
input,
textarea,
select {
    pointer-events: auto !important; /* Обеспечиваем нормальную работу с мышью */
    position: relative;
    z-index: 10; /* Поднимаем над параллакс эффектами */
}

/* Убираем параллакс эффекты с интерактивных областей */
.table *,
.table-responsive *,
.dropdown-menu *,
.btn *,
.form-control *,
.form-select * {
    pointer-events: auto;
}

/* Обеспечиваем нормальный скролл */
.table-responsive {
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
}

.card .table-responsive {
    margin: -1rem; /* Компенсируем padding карточки для полноширинной таблицы */
    border-radius: 0;
}

.card .table-responsive:first-child {
    margin-top: -1.25rem; /* Компенсируем padding заголовка карточки */
    border-radius: var(--vision-radius) var(--vision-radius) 0 0;
}

.card .table-responsive:last-child {
    margin-bottom: -1.25rem;
    border-radius: 0 0 var(--vision-radius) var(--vision-radius);
}

/* Дополнительные стили для предотвращения конфликтов с параллакс эффектами */
.card:has(.table),
.card:has(.table-responsive) {
    transform-style: flat !important; /* Отключаем 3D трансформации для карточек с таблицами */
}

/* Альтернатива для браузеров без поддержки :has() */
.card.has-table {
    transform-style: flat !important;
}

/* Обеспечиваем правильную работу скролла */
.table tbody {
    overflow: visible;
}

.table-responsive:hover {
    z-index: 15; /* Поднимаем еще выше при hover */
}

/* Убираем трансформации с родительских элементов при наведении на таблицу */
.card:hover:has(.table:hover),
.card:hover:has(.table-responsive:hover) {
    transform: none !important;
}

/* Альтернатива через JavaScript будет добавлена */
.card.table-hover-active {
    transform: none !important;
    transition: transform 0.2s ease;
}

/* Принудительное отключение параллакс эффектов для таблиц */
.card.table-hover-active {
    transform: none !important;
    transition: transform 0.1s ease !important;
}

.card.table-hover-active * {
    pointer-events: auto !important;
}

/* Обеспечиваем нормальный скролл страницы при наведении на таблицы */
.table,
.table-responsive,
.table *,
.table-responsive * {
    touch-action: auto !important;
    -ms-touch-action: auto !important;
    pointer-events: auto !important;
    user-select: auto !important;
}

/* Убираем любые трансформации с таблиц */
.table,
.table-responsive,
tbody,
thead,
tr,
td,
th {
    transform: none !important;
    will-change: auto !important;
}

/* Обеспечиваем нормальную работу скролла во всех браузерах */
.table-responsive {
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: auto !important;
}

/* Принудительное отключение 3D трансформаций для карточек с таблицами */
.card:has(.table),
.card:has(.table-responsive),
.card.has-table {
    transform-style: flat !important;
    perspective: none !important;
}

/* Дополнительная защита от блокировки скролла */
body {
    overflow: auto !important;
    overscroll-behavior: auto !important;
}
