.menu-toggle::after {
    position: absolute;
    display: block;
    background-color: var(--bs-menu-color);
    content: "";
    inset-block-start: 50%;
    mask-image: url(data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 6l6 6l-6 6'/%3E%3C/svg%3E);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
    transform: translateY(-50%);
    block-size: 1.375rem;
    font-size: 1.375rem;
    inline-size: 1.375rem;
}

.js-card-dashboard {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease;
}

.js-card-dashboard.show {
    opacity: 1;
    transform: translateY(0);
}

.table-scrollbar {
    min-height: 350px !important;
    max-height: 350px !important;
    overflow-y: scroll;
}

.table-scrollbar-md {
    min-height: 600px !important;
    max-height: 600px !important;
    overflow-y: scroll;
}

.table-scrollbar-modal {
    min-height: 700px !important;
    max-height: 1700px !important;
    overflow-y: scroll;
}

.css-table-head-sticky {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

/* --- STICKY HEADER --- */

.css-table-head-sticky thead th {
    position: sticky;
    z-index: 10;
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid #ddd;
}

.css-th-shadow {
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.1) !important;
    border-bottom: 1px solid #6f6868 !important;
}

/* Prima riga dell'header */
.css-table-head-sticky thead tr:nth-child(1) th {
    top: 0;
    z-index: 12;
}

.css-table-head-sticky thead tr:nth-child(2) th {
    top: 40px;
    z-index: 11;
}

.css-table-head-sticky thead tr:nth-child(3) th {
    top: 80px;
    z-index: 10;
}

.css-table-head-sticky tfoot th,
.css-table-head-sticky tfoot td {
    position: sticky;
    bottom: 0;
    z-index: 10;
    box-shadow: 0 -2px 2px -1px rgba(0, 0, 0, 0.1);
    border-top: 1px solid #ddd;
}

.ts-control input {
    background-image: url(/assets/img/list-search.png) !important;
    background-position: right top !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    padding-right: 30px !important;
}

.modal-xxl {
    max-width: 90%;
}

.cursor-pointer-table:hover {
    background-color: rgba(var(--bs-primary-rgb), 0.35) !important;
}

textarea {
    resize: none;
}

.swal2-container {
    --bs-progress-bg-amount: 15%;
    --bs-progress-mix-bg: var(--bs-white);
    --bs-modal-bg: var(--bs-paper-bg);
    --bs-modal-box-shadow: var(--bs-box-shadow-lg);
    z-index: 9999 !important;
}
