.dataTables_wrapper {
    padding: 0 0 0px;
    max-width: 100%;
    position: relative;
    opacity: 0;
    transition: opacity var(--transition);
}

.dataTables_wrapper.dataTable_loaded {
    opacity: 1;
}

.dataTables_wrapper .dataTables_scrollHeadInner {
    box-sizing: border-box !important;
}

table.datatable {
    opacity: 0;
    width: auto !important;
}

.dataTables_wrapper.dataTable_loaded table.datatable,
table.datatable.loaded {
    opacity: 1 !important;
}

table.datatable:not(.dataTable) {
    opacity: 0;
}

table.datatable thead tr th {
    min-width: 55px;
    white-space: nowrap;
}

table.datatable tbody tr td {
    max-width: 30vw;
}

table tbody tr td .datatable-cell-wrapper {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    /* text-wrap: nowrap; */
    align-items: center;
}

.dataTables_empty {
    padding: 30px;
    text-align: center;
    width: 100% !important;
}

table.datatable  tbody tr.marked,
table.datatable  tbody tr.datatable-row-warning {
    box-shadow: inset var(--warning) 5px 0px 0px -2px;
}

table.datatable  tbody tr.marked td:after,
table.datatable  tbody tr.datatable-row-warning td:after {
    background: var(--warning);
}

table.datatable  tbody tr.important,
table.datatable  tbody tr.datatable-row-danger {
    box-shadow: inset var(--danger) 5px 0px 0px -2px !important;
}

table.datatable   tbody tr.important td:after,
table.datatable   tbody tr.datatable-row-danger td:after {
    background: var(--danger);
}

table.datatable  tbody tr.complete td:after,
table.datatable  tbody tr.datatable-row-primary td:after {
    background: var(--primary);
}

table.datatable  tbody tr.datatable-row-success td:after {
    background: var(--success);
}

table.datatable  tbody tr.datatable-row-inactive td {
    opacity: 0.4;
    pointer-events: none;
}

table.datatable tbody tr td:last-child {
    width: 1%;
    word-break: keep-all;
}

table.datatable tbody tr td.dataTables_empty {
    border: none;
    border-top: 1px solid var(--border);
}

table.datatable tbody tr td.dataTables_empty:before,
table.datatable tbody tr td.dataTables_empty:after {
    display: none !important;
}


/* [START] SCROLL ORIZZONTALE ============== */
div.dataTables_wrapper .datatable-scroll-container,
div.dataTables_wrapper .datatable-scroll-top {
    width: 100%;
    overflow-x: auto;
}

div.dataTables_wrapper .datatable-scroll-top > div {
    height: 1px;
}
/* [END] SCROLL ORIZZONTALE ============== */


/* [START] SEARCH PANELS ============== */
.datatable-panels.hidden {
    display: none;
}
/* [END] SEARCH PANELS ============== */

/* [START] HEADER ============== */
.datatable-header {
    display: flex;
    margin-bottom: 15px;
}

.datatable-header.datatable-fullsearch {
    margin: 0;
}

.datatable-header.datatable-fullsearch >div {
    width: 100%;
}

.datatable-header.datatable-fullsearch label {
    width: 100%;
    display: block;
    border: 0 !important;
    border-radius: 0;
    border-bottom: 1px solid var(--border) !important;
    margin: 0 !important;
}

.datatable-header.datatable-fullsearch input {
    flex: 1;
    width: 100%;
    border-radius: 0 !important;
}

.dataTables_processing {

}

.datatable-header .datatable-filters {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}


.datatable-header .datatable-filters .datatable-datefilters {
    display: flex !important;
    gap: 10px;
    flex: 1;
    justify-content: flex-end;
}

.datatable-header .datatable-filters .datatable-datefilters .btn {
    text-align: left;
    flex-wrap: nowrap;
}


.datatable-header .datatable-filters > div:empty {
    display: none;
}

.datatable-header .datatable-filters button {
    /* background: none; */
    /* padding: 0; */
    /* border: none; */
    /* outline: none; */
}

.datatable-header .btn,
.datatable-header [type="search"],
.datatable-header select,
.datatable-header .btn-group {
    height: 50px;
    width: auto;
    flex: none;
    min-width: initial;
}


.datatable-header .dataTables_filter {
    display: flex;
}

.datatable-header .dataTables_filter label {
    border-radius: var(--radius);
    background: var(--white);
    border: 1px solid var(--border);
    padding-left: 10px;
    flex: 1;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-radius: 0 !important;
}


.datatable-header .dataTables_filter label:focus-within {
    border-color: var(--primary) !important;
}

.datatable-header .dataTables_filter [type="search"] {
    margin: -1px -1px -1px -1px;
    border-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* [END] HEADER ============== */

/* [START] SEARCH COLUMN ============ */

.dataTables_wrapper .datatable-search-columns {
    display: none;
    margin-bottom: 15px;
}

.dataTables_wrapper .datatable-search-columns .search-inputs-container {
    display: flex;
    flex-wrap:wrap;
    gap: 15px;
}


.dataTables_wrapper .datatable-search-columns .search-inputs-container > .styled-checkbox {
    width: auto;
    min-width: auto;
    max-width: initial;
    display: flex;
    margin: 0;
}
/* [END] SEARCH COLUMN ============== */

/* [START] SEARCH FILTERS ============ */

.dataTables_wrapper .datatable-search-filters {
    margin-bottom: 15px;
    display: none;
}
/* [END] SEARCH FILTERS ============== */


/* [START] ORDINAMENTO ============== */
table.datatable thead>tr>th.sorting,table.datatable thead>tr>th.sorting_asc,table.datatable thead>tr>th.sorting_desc,table.datatable thead>tr>th.sorting_asc_disabled,table.datatable thead>tr>th.sorting_desc_disabled,table.datatable thead>tr>td.sorting,table.datatable thead>tr>td.sorting_asc,table.datatable thead>tr>td.sorting_desc,table.datatable thead>tr>td.sorting_asc_disabled,table.datatable thead>tr>td.sorting_desc_disabled {
    cursor: pointer;
    position: relative;
    padding-right: 26px
}

table.datatable thead>tr>th.sorting:before,table.datatable thead>tr>th.sorting:after,table.datatable thead>tr>th.sorting_asc:before,table.datatable thead>tr>th.sorting_asc:after,table.datatable thead>tr>th.sorting_desc:before,table.datatable thead>tr>th.sorting_desc:after,table.datatable thead>tr>th.sorting_asc_disabled:before,table.datatable thead>tr>th.sorting_asc_disabled:after,table.datatable thead>tr>th.sorting_desc_disabled:before,table.datatable thead>tr>th.sorting_desc_disabled:after,table.datatable thead>tr>td.sorting:before,table.datatable thead>tr>td.sorting:after,table.datatable thead>tr>td.sorting_asc:before,table.datatable thead>tr>td.sorting_asc:after,table.datatable thead>tr>td.sorting_desc:before,table.datatable thead>tr>td.sorting_desc:after,table.datatable thead>tr>td.sorting_asc_disabled:before,table.datatable thead>tr>td.sorting_asc_disabled:after,table.datatable thead>tr>td.sorting_desc_disabled:before,table.datatable thead>tr>td.sorting_desc_disabled:after {
    position: absolute;
    display: block;
    opacity: .125;
    right: 10px;
    line-height: 9px;
    font-size: .8em
}

table.datatable thead>tr>th.sorting:before,table.datatable thead>tr>th.sorting_asc:before,table.datatable thead>tr>th.sorting_desc:before,table.datatable thead>tr>th.sorting_asc_disabled:before,table.datatable thead>tr>th.sorting_desc_disabled:before,table.datatable thead>tr>td.sorting:before,table.datatable thead>tr>td.sorting_asc:before,table.datatable thead>tr>td.sorting_desc:before,table.datatable thead>tr>td.sorting_asc_disabled:before,table.datatable thead>tr>td.sorting_desc_disabled:before {
    bottom: 50%;
    font-family: 'Font Awesome 5 Free';
    content: "\f107";
}

table.datatable thead>tr>th.sorting:after,table.datatable thead>tr>th.sorting_asc:after,table.datatable thead>tr>th.sorting_desc:after,table.datatable thead>tr>th.sorting_asc_disabled:after,table.datatable thead>tr>th.sorting_desc_disabled:after,table.datatable thead>tr>td.sorting:after,table.datatable thead>tr>td.sorting_asc:after,table.datatable thead>tr>td.sorting_desc:after,table.datatable thead>tr>td.sorting_asc_disabled:after,table.datatable thead>tr>td.sorting_desc_disabled:after {
    top: 50%;
    font-family: 'Font Awesome 5 Free';
    content: "\f106";
}

table.datatable thead>tr>th.sorting_asc:before,table.datatable thead>tr>th.sorting_desc:after,table.datatable thead>tr>td.sorting_asc:before,table.datatable thead>tr>td.sorting_desc:after {
    opacity: .6;
}

table.datatable thead>tr>th.sorting_desc_disabled:after,table.datatable thead>tr>th.sorting_asc_disabled:before,table.datatable thead>tr>td.sorting_desc_disabled:after,table.datatable thead>tr>td.sorting_asc_disabled:before {
    display: none;
}
/* [END] ORDINAMENTO ============== */

/* [START] PRELOADER ============== */
.dataTables_processing {
    display: none !important;
}

.dataTables_processing  + div + div {
}
/* [END] PRELOADER ============== /*


/* [START] SELEZIONE ============== */
table.datatable.selectable tbody tr.selected td:after {
    background: var(--primary);
    opacity: 0.1;
}


table.datatable.selectable tbody tr.selected td {
    color: var(--primary);
}

table.datatable  tbody tr td > a:not(.btn,.label),
table.datatable  tbody tr td > .datatable-cell-wrapper > a:not(.btn,.label) {
    border: 1px solid;
    padding: 0px 10px;
    border-radius: 4px;
    display: inline-block;
    background: rgba(255, 255, 255, 0.8);
    position: relative;
    z-index: 2;
    transition: var(--transition);
}

table.datatable  tbody tr td > a:not(.btn,.label):hover,
table.datatable  tbody tr td > .datatable-cell-wrapper > a:not(.btn,.label):hover {
    background: var(--primary);
    border-color: var(--primary);
    color: white;
}
/* [END] SELEZIONE ============== */

/* [START] PAGINAZIONE ============== */
.datatable-footer {
    display: flex;
    padding: 15px 0;
    align-items: center;
}

.datatable-footer > div {
}


.datatable-footer .select-info {
    display: none;
}

.dataTables_info {
    flex: 1;
}

.dataTables_paginate,
.dataTables_paginate > span {
    display: flex;
    gap: 10px;
}

.dataTables_paginate[style*="block"] {
    display: flex !important;
    flex: 1;
}

.dataTables_paginate > .btn {
    flex: 1;
}

.dataTables_paginate .ellipsis {
    padding: 0 10px;
}
/* [END] PAGINAZIONE ============== */


/* [START] BOX SELEZIONE ============== */
#selectedRowCounts {
    z-index: 100;
    text-align: center;
    background: var(--light);
    border: 1px solid var(--border);
    padding: 5px 15px;
    height: 60px;
    border-radius: 3px;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -5px;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
}

#selectedRowCounts h4 {
    font-size: 15px;
    margin: 0;
}

#selectedRowCounts .selectedRowValue b {
    font-size: 120%;
}

#selectedRowCounts .selectedRowButton {
    margin-left: 15px;
}
#selectedRowCounts .selectedRowButton b {
    /* margin: 0px 3px; */
}
/* [END] BOX SELEZIONE ============== */


/* [START] DATATABLE PANELS ============== */

.datatable-panels {

}

.datatable-panels .dtsp-titleRow,
.datatable-panels .dataTables_scrollHead,
.datatable-panels .dtsp-hidden,
.datatable-panels .dtsp-pill {
    display: none !important;
}

.datatable-panels .dtsp-searchPanes {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 10px; /* Aggiungi spazio tra le colonne */
    padding: 15px;
    background: white;
    border-bottom: 1px solid var(--border);
    margin: -15px -15px 15px;
}

.datatable-panels .dtsp-searchPane {

}


.datatable-panels .dtsp-searchPane .dtsp-search {
    appearance: none !important;
    border: none;
    background: none;
    font-size: var(--font-label);
    color: var(--dark);
    font-weight: bold;
    margin-bottom: 10px;
}

.datatable-panels .dataTables_wrapper {
    display: block !important;
    opacity: 1 !important;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}


.datatable-panels .dataTables_wrapper table {
    border: none;
    overflow: hidden;
}

.datatable-panels .dataTables_wrapper table tr {
    padding: 0 !important;
}


.datatable-panels .dataTables_wrapper table tr:first-child td {
    padding-top: 10px;
}

.datatable-panels .dataTables_wrapper table tr:last-child td {
    padding-bottom: 10px;
}

.datatable-panels .dataTables_wrapper table tr td{
    border: none;
    padding: 5px 15px;
}

.datatable-panels .dataTables_wrapper table .dtsp-name {
    padding: 10px 15px;
    border-radius: var(--radius);
    line-height: 1rem;
    display: inline-block;
    width: 100%;
}

.datatable-panels .dataTables_wrapper table .selected .dtsp-name {
    background: var(--primary);
    color: white;
}

/* [END] DATATABLE PANELS ============== */

/* [START] DATATABLE POPOVER =========== */
.datatable span.editable {
    display: flex;
    min-width: 100%;

}
.datatable .editable .editable-inline {
    flex: 1;
}

.datatable .editable .form-group > div {
    display: flex;
}

.datatable .editable .editable-input {
    flex: 1;
}

.datatable .popover {
    background: var(--white);
    padding: 15px;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 9;
    width: calc(100% + 1px);
    min-width: 400px;
    height: 100%;
    display: flex;
    align-content: center;
    justify-content: center;
    border-right: 1px solid var(--border);
}

.datatable .popover .popover-content {
    margin: 0;
}

.datatable .popover .popover-title {
    display: none;
}

.datatable .popover .form-group > div {
    display: flex;
}
.datatable .popover .editable-input {
    flex: 1;
}

/* [END] DATATABLE POPOVER ============ */