/**
 * Styles partagés : overlay de chargement DataTable + squelettes + masquage du processing natif.
 * Les vues conservent leurs classes BEM par ressource (kt-*-table-wrapper / overlay).
 */

.kt-products-table-wrapper,
.kt-clients-table-wrapper,
.kt-categories-table-wrapper,
.kt-fournisseurs-table-wrapper,
.kt-devis-table-wrapper,
.kt-stock-movements-table-wrapper,
.kt-action-history-table-wrapper {
    position: relative;
    /* min-height: 320px; */
}

.kt-products-table-overlay,
.kt-clients-table-overlay,
.kt-categories-table-overlay,
.kt-fournisseurs-table-overlay,
.kt-devis-table-overlay,
.kt-stock-movements-table-overlay,
.kt-action-history-table-overlay {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(2px);
    border-radius: 0.75rem;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.kt-products-table-overlay.d-none,
.kt-clients-table-overlay.d-none,
.kt-categories-table-overlay.d-none,
.kt-fournisseurs-table-overlay.d-none,
.kt-devis-table-overlay.d-none,
.kt-stock-movements-table-overlay.d-none,
.kt-action-history-table-overlay.d-none {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.kt-products-table-overlay:not(.d-none),
.kt-clients-table-overlay:not(.d-none),
.kt-categories-table-overlay:not(.d-none),
.kt-fournisseurs-table-overlay:not(.d-none),
.kt-devis-table-overlay:not(.d-none),
.kt-stock-movements-table-overlay:not(.d-none),
.kt-action-history-table-overlay:not(.d-none) {
    opacity: 1;
    visibility: visible;
}

.kt-products-table-overlay__content,
.kt-clients-table-overlay__content,
.kt-categories-table-overlay__content,
.kt-fournisseurs-table-overlay__content,
.kt-devis-table-overlay__content,
.kt-stock-movements-table-overlay__content,
.kt-action-history-table-overlay__content {
    min-width: 240px;
    text-align: center;
    background: #ffffff;
    border: 1px solid #eef1f5;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
    padding: 1.25rem 1.5rem;
}

.kt-table-is-loading tbody {
    opacity: 0.45;
    transition: opacity 0.2s ease;
}

.kt-table-is-loading {
    pointer-events: none;
}

.kt-skeleton-line {
    display: inline-block;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(90deg, #eef2f7 25%, #e3e8ef 37%, #eef2f7 63%);
    background-size: 400% 100%;
    animation: ktDatatableSkeletonShimmer 1.4s ease infinite;
}

.kt-skeleton-line.sm { width: 60px; }
.kt-skeleton-line.md { width: 110px; }
.kt-skeleton-line.lg { width: 180px; }

.kt-skeleton-avatar {
    width: 50px;
    height: 50px;
    border-radius: 8px;
    background: linear-gradient(90deg, #eef2f7 25%, #e3e8ef 37%, #eef2f7 63%);
    background-size: 400% 100%;
    animation: ktDatatableSkeletonShimmer 1.4s ease infinite;
    flex-shrink: 0;
}

.kt-skeleton-image {
    width: 125px;
    height: 125px;
    border-radius: 0.5rem;
    background: linear-gradient(90deg, #eef2f7 25%, #e3e8ef 37%, #eef2f7 63%);
    background-size: 400% 100%;
    animation: ktDatatableSkeletonShimmer 1.4s ease infinite;
}

.kt-row-skeleton td {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.dataTables_processing {
    display: none !important;
}

@keyframes ktDatatableSkeletonShimmer {
    0% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0 50%;
    }
}
