﻿/* ----------------------------------------

   BASE STYLES

---------------------------------------- */
* {
    font-family: 'poppins', sans-serif !important;
}

.check:checked {
    background-color: #a94dc1 !important;
    border-color: #a94dc1 !important;
}

/* Tutti i checkbox del portale con colore viola */
input[type="checkbox"] {
    accent-color: #a94dc1 !important;
}
input[type="checkbox"]:checked,
.form-check-input:checked,
.column-dropdown input[type="checkbox"]:checked,
.filter-dropdown input[type="checkbox"]:checked,
.dtcc-columnControl input[type="checkbox"]:checked,
.dtsp-searchPane input[type="checkbox"]:checked {
    background-color: #a94dc1 !important;
    border-color: #a94dc1 !important;
    accent-color: #a94dc1 !important;
}
input[type="checkbox"]:focus,
.form-check-input:focus {
    border-color: #a94dc1 !important;
    box-shadow: none !important;
}
/* Select2: stile tag selezionati */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    border-radius: 0.5rem !important;
    border: 0 !important;
    background-color: rgba(214, 83, 193, 0.1) !important;
    color: #D653C1 !important;
    font-size: .85rem !important;
    padding: 5px 0 !important;
    padding-right: 8px !important;
    padding-left: 32px !important;
    position: relative !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
    color: #D653C1 !important;
    border-right: 0 !important;
    border-color: transparent !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
    background-color: rgba(214, 83, 193, 0.2) !important;
    color: #D653C1 !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__display,
.select2-container--classic .select2-selection--multiple .select2-selection__choice__display {
    color: #D653C1 !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #D653C1 !important;
}

.offcanvas{
    background-color: gainsboro !important;
    z-index: 100003 !important;
}
.offcanvas-header,
.offcanvas-body,
.offcanvas-footer {
    background: white !important;
}
.show-pass .mdi-eye-outline { display: none; }
.show-pass.active .mdi-eye-off-outline { display: none; }
.show-pass.active .mdi-eye-outline { display: inline-block; }
.show-pass.eye {
    font-size: 1rem !important;
    top: auto !important;
    bottom: 0 !important;
    transform: translateY(-3px) !important;
    height: calc(1.5em + 0.75rem + 2px);
    display: flex;
    align-items: center;
}
.offcanvas-backdrop {
    z-index: 100002 !important;
}
.check:focus {
    border-color: #a94dc1;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(169, 77, 193, 0.25);
}
.fc .fc-button-group > .fc-button:focus, .fc .fc-button-group > .fc-button:active, .fc .fc-button-group > .fc-button:hover, .fc .fc-button-group > .fc-button.fc-button-active {
    background: #6c757d !important;
    color: #fff;
    border-color: #6c757d !important;
}
.form-label {
    font-weight: 600 !important;
}

table.dataTable tbody td {
    font-weight: 400;
}

table.dataTable tbody td:not(.text-center):not(.right) {
    /*padding-left: 5px !important;*/
}

.goToBtn {
    font-size: 20px;
    position: absolute;
    float: right;
    right: 15px;
    top: 5px;
}

html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
    /*font-family: 'SN Pro', sans-serif !important;
    font-weight: 600 !important;*/
}

.content-body .container-fluid, .content-body .container-sm, .content-body .container-md, .content-body .container-lg, .content-body .container-xl, .content-body .container-xxl {
    /*padding-top: 0.875rem;*/
    padding-right: 1rem;
    padding-left: 1rem;
}

.dlabnav .nav-text {
    font-weight: 700 !important;
}

li {
    font-weight: 500 !important;
}

h5 {
    font-weight: 500 !important;
}

body {
    margin-bottom: 0 !important;
    font-family: 'poppins', sans-serif !important;
    font-weight: 600 !important;
}

span {
    font-size: 0.85rem;
}

@media (min-width: 768px) {

    html {
        font-size: 16px;
    }
}

.initials-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(72.47deg, #ca80b1 22.16%, rgba(77, 51, 124, 0.7) 76.47%);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    flex-shrink: 0;
}
/* ----------------------------------------

   CALENDARIO

---------------------------------------- */
#calendarMonthSelect,
#calendarMonthSelect option {
    font-family: 'poppins', sans-serif !important;
}

.airplane-badge {
    position: absolute;
    top: 5px;
    right: 5px;
    z-index: 10;
    cursor: pointer;
    background: #4a4a4a;
    color: #ffffff;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    transition: all 0.2s;
}

    .airplane-badge:hover {
        transform: scale(1.2);
        background: #000000;
        color: #fff;
    }

    .airplane-badge i, .airplane-badge span {
        font-size: 14px;
    }

.legenda-dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-right: 10px;
    border: 1px solid rgba(0,0,0,0.1);
}

.fc .fc-button-group > .fc-button:hover, .fc .fc-button-group > .fc-button.fc-button-active {
    background: #6c757d !important;
    color: #fff;
    border-color: #6c757d !important;
}

.fc table {
    font-size: 1em !important;
}

.fc .fc-button-group > .fc-button:active {
    background: #6c757d !important;
    color: #fff;
    border-color: #6c757d !important;
}

.content-body .container-fluid {
    padding-top: 0.875rem;
    padding-right: 1.875rem;
    padding-left: 0.875rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.fc-daygrid-event-harness .fc-event-main-full-view {
    font-size: 0.75rem;
    line-height: 0.8;
    display: block;
    height: auto;
    min-height: 100%;
}

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

.fc-event-main-full-view .event-text-truncate {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.fc-event-main-full-view .event-time-short {
    font-size: 11px;
    font-weight: 400;
    display: inline-block;
}

#calendar {
    flex-grow: 1;
}

.fc-col-header-cell-cushion {
    font-size: 12px;
}

.fc .fc-view-harness {
    height: 100% !important;
}

.fc .fc-timegrid-slot {
    height: 3em;
}

.fc-timegrid-slot-label {
    font-size: 0.75rem;
    padding-top: 0 !important;
}

.fc-timegrid-slot-lane {
    height: 2.5em;
}


.fc-timegrid-event.fc-event-short {
    min-height: 18px !important;
    height: auto !important;
    overflow: visible !important;
    z-index: 10;
    border: none;
}

.fc-event-main-full-view {
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip;
    padding: 0 4px;
}

.fc .fc-daygrid-day.fc-day-today {
    background-color: #F2F0EF !important;
}

.fc .fc-daygrid-day-number {
    font-size: 10px !important;
}

.fc-event-main-full-view .event-time-short {
    margin-top: 2px;
    display: inline-block;
}

.event-main-line {
    font-size: 0.8rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.event-time-line {
    font-size: 0.7rem;
    opacity: 0.8;
}

.fc-daygrid-event, .fc-v-event, .fc-h-event {
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

.fc-timegrid-slot-label-frame {
    width: 60px !important;
    height: 2.5em !important;
}

.fc-event-main {
    padding: 1px 1px !important;
}

.fc-timegrid-event {
    font-size: 0.65rem;
    line-height: 0.75em;
}

.fc-daygrid-day {
    min-height: 102px !important;
}

.fc-daygrid-day-frame {
    height: 100% !important;
    min-height: 100px !important;
}

.fc-daygrid-day-top {
    font-size: 1.1rem !important;
    padding: 5px !important;
}

.content-body {
    height: 100%;
    display: flex;
    flex-direction: column;
    margin-top: 0rem;
}

main {
    height: 100%;
}

.fc-loader,
.fc .fc-loader,
.fc-loading {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.fc-statusFilter-button,
.fc-button-primary.fc-statusFilter-button {
    display: none !important;
}

.fc-daygrid-event {
    background: #ffffff !important;
    border: 2px solid !important;
    border-radius: 6px !important;
    margin: 2px 4px !important;
    padding: 2px 0 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.fc-event-main, .fc-event-main-container, .fc-event-main-container div {
    color: inherit !important;
}

.fc-daygrid-event-dot {
    display: none !important;
}

#timbroOra, #pauseStart, #pauseEnd {
    font-size: 1.1rem;
    text-align: center;
    font-weight: bold;
}

.timbratura-event {
    background: #fff !important;
    border-radius: 4px !important;
    border-width: 1.5px !important;
    border-style: solid !important;
    padding: 1px 6px !important;
    display: flex !important;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    height: 22px;
}

.border-mattina {
    border-color: #FFA755 !important;
    color: #b36b2d !important;
    background-color: rgba(255, 167, 85, 0.1) !important;
}

.border-pomeriggio {
    border-color: #DC73CB !important;
    color: #943d86 !important;
    background-color: rgba(220, 115, 203, 0.1) !important;
}

.border-pausa {
    border-color: #6e6e6e !important;
    color: #333 !important;
    background-color: rgba(110, 110, 110, 0.1) !important;
}

.border-caffe {
    border-color: #6F4E37 !important;
    color: #4b3621 !important;
    background-color: rgba(111, 78, 55, 0.1) !important;
}

.status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin-right: 5px;
    flex-shrink: 0;
}

.status-completo {
    background-color: #28a745;
}

.status-in-corso {
    background-color: #ffc107;
}

.status-pausa {
    background-color: #6c757d;
}

.status-caffe {
    background-color: #6F4E37;
}

.status-approved, .btn-filter-approved {
    border-color: #198754 !important;
    color: #198754 !important;
    background-color: rgba(25, 135, 84, 0.1) !important;
}

    .btn-filter-approved:hover {
        background-color: #198754 !important;
        color: #fff !important;
    }

.btn-filter-all {
    border-color: #6c757d !important;
    color: #6c757d !important;
    background-color: rgba(108, 117, 125, 0.1) !important;
}

    .btn-filter-all:hover {
        background-color: #6c757d !important;
        color: #fff !important;
    }

.status-refused, .btn-filter-refused {
    border-color: #dc3545 !important;
    color: #dc3545 !important;
    background-color: rgba(220, 53, 69, 0.1) !important;
}

    .btn-filter-refused:hover {
        background-color: #dc3545 !important;
        color: #fff !important;
    }

.status-waiting, .btn-filter-waiting {
    border-color: #ffc107 !important;
    color: #997404 !important;
    background-color: rgba(255, 193, 7, 0.1) !important;
}

    .btn-filter-waiting:hover {
        background-color: #ffc107 !important;
        color: #fff !important;
    }

.btn-filter-approved, .btn-filter-refused, .btn-filter-waiting, .btn-filter-all {
    padding: 2px 10px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    min-width: 70px;
    border-radius: 3px;
    display: inline-block;
    text-align: center;
    border-width: 1px;
    border-style: solid;
    text-transform: uppercase;
    font-weight: 600;
}

.custom-event-container, .btn-filter-custom {
    background-color: #ffffff !important;
    border: 1.5px solid !important;
    border-radius: 4px;
    transition: all 0.2s ease;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1px 6px !important;
    font-size: 0.72rem !important;
    line-height: 1.1 !important;
    height: auto !important;
    min-height: 18px !important;
    margin: 1px;
}

#eventDrawer .form-control,
#eventDrawer .form-select {
    background-color: #fff !important;
}
div:where(.swal2-container) div:where(.swal2-popup) {
    font-size: 0.85rem !important;
}
.swal2-container {
    z-index: 100005 !important;
}
/* Quando un modal Bootstrap è aperto, abbassa nav-header sotto il backdrop (z-index 1040) */
body.modal-open .nav-header {
    z-index: 1039 !important;
}
#eventDrawer input[type="date"],
#eventDrawer input[type="time"] {
    background-color: #fff !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.btn-white-icon-black {
    background-color: white !important;
    color: black !important;
    border: 1px solid #ced4da;
}

    .btn-white-icon-black.active,
    .btn-white-icon-black:active,
    .btn-white-icon-black:focus,
    .btn-white-icon-black:hover {
        background-color: #f0f0f0 !important;
        color: black !important;
        border-color: #ced4da;
        box-shadow: none;
    }

    .btn-white-icon-black.btn-outline {
        background-color: white !important;
        color: black !important;
    }

.btn-icon:hover {
    pointer-events: none;
}

.mioBtn {
    margin-right: 8px !important;
}

.btn-group {
    margin-bottom: 10px !important;
}
/* ----------------------------------------

   TABELLE

---------------------------------------- */
#allBusteDip td, #allBusteHr td {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

#allBusteDip tr, #allBusteHr tr {
    height: 50px;
}

/*#utentiTable thead th {
    border: 1px solid #dee2e6 !important;
    border-bottom: 2px solid #dee2e6 !important;
    background-color: #f8f9fa;
}

#utentiTable tbody td {
    border: 1px solid #dee2e6 !important;
}

#utentiTable {
    border-collapse: collapse !important;
    border: 1px solid #dee2e6 !important;
}

    #utentiTable td {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    #utentiTable tr {
        height: 67px;
    }

    #utentiTable td:last-child {
        white-space: nowrap;
    }

    #utentiTable .btn-action {
        padding: 0.25rem 0.5rem;
        line-height: 1.25;
        height: auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    #utentiTable thead th {
        border: 1px solid #dee2e6 !important;
        border-bottom: 2px solid #dee2e6 !important;
        background-color: #f8f9fa;
    }

#utentiTable_info {
    font-size: 13px !important;
    margin-top: 5px !important;
}*/

.badge {
    --bs-badge-font-size: 0.8em !important;
    border: 1px solid currentColor !important;
}

div.dt-container .dt-paging [data-dt-idx="first"],
div.dt-container .dt-paging [data-dt-idx="previous"],
div.dt-container .dt-paging [data-dt-idx="next"],
div.dt-container .dt-paging [data-dt-idx="last"] {
    line-height: 0 !important;
}

.dt-length {
    font-weight: 500 !important;
}

div.dt-container {
    background: #ffffff;
    padding: 2rem;
    border-radius: 20px;
    /*box-shadow: 0 10px 40px rgba(30, 41, 59, 0.04);*/
    font-family: 'poppins', sans-serif !important;
    /*border: 1px solid #f1f5f9;*/
    margin-bottom: 0rem;
}

    div.dt-container table.dataTable {
        /*width: 100% !important;
        border-collapse: collapse !important;
        margin: 1.5rem 0 !important;
        border-radius: 12px;
        overflow: hidden;
        border: none !important;*/
        font-family: 'poppins', sans-serif !important;
    }

        /*div.dt-container table.dataTable thead th {
            background: linear-gradient(180deg, #2c3e50 0%, #1e293b 100%) !important;
            color: #ffffff !important;
            border-bottom: 1px solid #334155 !important;
            font-size: 12px !important;
            font-weight: 800 !important;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            padding: 22px 24px !important;
            border: none !important;
        }*/

        div.dt-container table.dataTable tbody td {
            /*padding-right: 5px !important;
            color: gray !important;
            font-size: 14px;
            font-weight: 500;
            background-color: #ffffff;
            transition: all 0.2s ease;*/
            font-family: 'poppins', sans-serif !important;
        }

        div.dt-container table.dataTable tbody tr:hover td {
            background-color: #f8fafc !important;
            color: #1e293b !important;
        }

.dt-search input {
    /*border: 1px solid #e2e8f0 !important;*/
    border-radius: 12px !important;
    padding: 12px 20px !important;
    background: #ffffff !important;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
    font-size: 13px;
    min-width: 300px;
    outline: none;
    transition: all 0.3s;
}

    .dt-search input:focus {
        border-color: #f4b400 !important;
        box-shadow: 0 0 0 4px rgba(244, 180, 0, 0.1) !important;
    }

div.dt-buttons > .dt-button {
    border-radius: 12px !important;
    background: #ffffff !important;
    /*border: 1px solid #e2e8f0 !important;*/
    color: #1e293b !important;
    font-weight: 500 !important;
    padding: 10px 20px !important;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.3s;
}

    div.dt-buttons > .dt-button:hover {
        background: #1e293b !important;
        color: #ffffff !important;
        border-color: #1e293b !important;
        transform: translateY(-1px);
    }

div.dt-container .dt-paging .dt-paging-button {
    border: none !important;
    border-radius: 10px !important;
    padding: 8px 16px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    transition: 0.3s;
}

    div.dt-container .dt-paging .dt-paging-button.current {
        background: #f4b400 !important;
        color: #ffffff !important;
        box-shadow: 0 4px 12px rgba(244, 180, 0, 0.3) !important;
    }

.dt-info {
    font-size: 14px !important;
    /*color: initial !important;*/
    color: grey !important;
    font-weight: 500 !important;
}

/*data-dt-idx="first"{
    display: none !important;
}
dt-paging-button last {
    display: none !important;
}
dt-paging-button  first{
    display: none !important;
}*/
/*div.dt-container .dt-length,
div.dt-container .dt-search,
div.dt-container .dt-info,
div.dt-container .dt-processing,
div.dt-container .dt-paging {
    color: initial;
}*/
/*div.dt-container .dt-paging .dt-paging-button {
    box-sizing: border-box;
    display: inline-block;
    min-width: 1.5em;
    padding: .5em 1em;
    margin-left: 2px;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    color: inherit !important;
    border: 1px solid transparent;
    border-radius: 20px;
    background: transparent;
    background-color: transparent !important;
    box-shadow: none !important;
}

    div.dt-container .dt-paging .dt-paging-button:hover {
        color: white !important;
        border: 1px solid #111;
        background: aliceblue;
        background-color: aliceblue;
    }

div.dt-container .dt-paging [data-dt-idx="first"], div.dt-container .dt-paging [data-dt-idx="previous"], div.dt-container .dt-paging [data-dt-idx="next"], div.dt-container .dt-paging [data-dt-idx="last"] {
    font-size: 0.9rem;
    height: 2.5rem;
    width: auto;
    min-width: 2.5rem;
    border-radius: 0.813rem;
    display: inline-block;
}

div.dt-container .dt-paging .dt-paging-button:not(.dt-paging-current) {
    background-color: transparent !important;
    color: grey !important;
    border: none !important;
}

div.dt-container .dt-paging [data-dt-idx="first"],
div.dt-container .dt-paging [data-dt-idx="previous"],
div.dt-container .dt-paging [data-dt-idx="next"],
div.dt-container .dt-paging [data-dt-idx="last"] {
    font-size: 0.9rem;
    height: 2.5rem;
    width: auto;
    min-width: 2.5rem;
    border: 0.0625rem solid #f4b400;
    border-radius: 0.813rem;
    padding: 0 0.85rem;
    line-height: 2.5rem;
    margin: 0 0.625rem;
    display: inline-block;
    background-color: transparent !important;
}

    div.dt-container .dt-paging [data-dt-idx="first"]:hover,
    div.dt-container .dt-paging [data-dt-idx="previous"]:hover,
    div.dt-container .dt-paging [data-dt-idx="next"]:hover,
    div.dt-container .dt-paging [data-dt-idx="last"]:hover {
        color: grey !important;
        background-color: lightgrey !important;
        border-color: transparent !important;
    }

div.dt-container .dt-paging .dt-paging-disabled {
    cursor: default;
    color: #fff !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

    div.dt-container .dt-paging .dt-paging-disabled:hover {
        cursor: default;
        color: #fff !important;
        border: 1px solid transparent !important;
        background: transparent !important;
        box-shadow: none !important;
    }

div.dt-container .dt-length {
    font-size: 13px !important;
    text-transform: capitalize;
}

.dt-column-order {
    display: none;
}
div.dtsp-searchPanes {
    display: flex !important;
    flex-wrap: wrap !important;
}



.column-menu {
    font-size: 13px;
    margin-left: 6px;
    cursor: pointer;
    opacity: 0.6;
}

    .column-menu:hover {
        opacity: 1;
    }

.column-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 220px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    box-shadow: 0 6px 18px rgba(0,0,0,.15);
    z-index: 9999;
}

    .column-dropdown .dropdown-item {
        cursor: pointer;
    }
div.dt-buttons {
    display: flex !important;
    justify-content: center !important;
}

    div.dt-buttons > .dt-button {
        border-radius: 10px !important;
        background: #fff !important;
        border-color: #F39E0D !important;
        color: #F39E0D !important;
        font-weight: 600 !important;
    }

        div.dt-buttons > .dt-button:hover:not(.disabled) {
            background: #fff !important;
            border-color: transparent !important;
            color: grey !important;
            font-weight: 600 !important;
        }
.dt-column-order {
    display: none !important;
}

#ferieTable td {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

#ferieTable tr {
    height: 67px;
}

#ferieTable td:last-child {
    white-space: nowrap;
}

#ferieTable .btn-action {
    padding: 0.25rem 0.5rem;
    line-height: 1.25;
    height: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
#ferieTable thead th {
    border: 1px solid #dee2e6 !important;
    border-bottom: 2px solid #dee2e6 !important;
    background-color: #f8f9fa;
}

#ferieTable tbody td {
    border: 1px solid #dee2e6 !important;
}

#ferieTable {
    border-collapse: collapse !important;
    border: 1px solid #dee2e6 !important;
}

.dt-column-title {
    font-size: 13px;
}

div.dt-container .dt-paging .dt-paging-button {
    box-sizing: border-box;
    display: inline-block;
    min-width: 1.5em;
    padding: .5em 1em;
    margin-left: 2px;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    color: inherit !important;
    border: 1px solid transparent;
    border-radius: 20px;
    background: transparent;
    background-color: transparent !important;
    box-shadow: none !important;
}

    div.dt-container .dt-paging .dt-paging-button:hover {
        color: white !important;
        border: 1px solid #111;
        background: aliceblue;
        background-color: aliceblue;
    }

div.dt-container .dt-paging [data-dt-idx="first"], div.dt-container .dt-paging [data-dt-idx="previous"], div.dt-container .dt-paging [data-dt-idx="next"], div.dt-container .dt-paging [data-dt-idx="last"] {
    font-size: 0.9rem;
    height: 2.5rem;
    width: auto;
    min-width: 2.5rem;
    border-radius: 0.813rem;
    display: inline-block;
}

div.dt-container .dt-paging .dt-paging-button:not(.dt-paging-current) {
    background-color: transparent !important;
    color: grey !important;
    border: none !important;
}

div.dt-container .dt-paging .dt-paging-current {
    color: #fff !important;
    background: #f4b400 !important;
    border-color: #f4b400 !important;
    box-shadow: none !important;
}

div.dt-container .dt-paging .dt-paging-button:not(.dt-paging-disabled):hover {
    color: gray !important;*/
/*             background: light-dark !important;
 */ /*border-color: transparent !important;
    box-shadow: none !important;
}

div.dt-container .dt-paging [data-dt-idx="first"],
div.dt-container .dt-paging [data-dt-idx="previous"],
div.dt-container .dt-paging [data-dt-idx="next"],
div.dt-container .dt-paging [data-dt-idx="last"] {
    font-size: 0.9rem;
    height: 1.8rem;
    width: auto;
    min-width: 2.5rem;
    border: 0.0625rem solid #f4b400;
    border-radius: 0.813rem;
    padding: 0 0.85rem;
    line-height: 1.8rem;
    margin: 0 0.625rem;
    display: inline-block;
    background-color: transparent !important;
    vertical-align: middle;
}

    div.dt-container .dt-paging [data-dt-idx="first"]:hover,
    div.dt-container .dt-paging [data-dt-idx="previous"]:hover,
    div.dt-container .dt-paging [data-dt-idx="next"]:hover,
    div.dt-container .dt-paging [data-dt-idx="last"]:hover {
        color: grey !important;
        background-color: lightgrey !important;
        border-color: transparent !important;
        transform: translateY(-1px);
    }

div.dt-container .dt-paging .dt-paging-disabled {
    cursor: default;
    color: #fff !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

    div.dt-container .dt-paging .dt-paging-disabled:hover {
        cursor: default;
        color: #fff !important;
        border: 1px solid transparent !important;
        background: transparent !important;
        box-shadow: none !important;
    }

div.dt-container .dt-length {
    font-size: 13px !important;
    text-transform: capitalize;
}

#ferieTable_info {
    font-size: 13px !important;
    margin-top: 5px !important;
}*/

/* ----------------------------------------

   BUTTONS & FOCUS

---------------------------------------- */
.dt-btn-custom-style.dt-button,
.dt-btn-custom-style.dt-button:focus:not(.disabled),
.dt-btn-custom-style.dt-button:active:not(.disabled) {
    background: #fff !important;
    border: 1px solid #F39E0D !important;
    color: #F39E0D !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    margin-right: 5px;
    transition: all 0.2s;
}

    .dt-btn-custom-style.dt-button:hover:not(.disabled) {
        background-color: #F39E0D !important;
        color: #fff !important;
        border-color: #F39E0D !important;
    }

    .dt-btn-custom-style.dt-button.disabled {
        background: #f8f8f8 !important;
        color: #ccc !important;
        border-color: #ccc !important;
    }


div.dt-button-collection button.dt-button {
    background: #fff !important;
    border: 1px solid #ddd !important;
    color: #495057 !important;
}

    div.dt-button-collection button.dt-button:hover {
        background: #f8f8f8 !important;
        color: #F39E0D !important;
    }


/* =========================================================
   FONT & GLOBAL
========================================================= */
#calendarMonthSelect,
#calendarMonthSelect option,
#eventType,
#eventType option {
    font-family: 'poppins', sans-serif !important;
}

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

main {
    height: 100%;
}

.content-body {
    height: 100%;
    display: flex;
    flex-direction: column;
    margin-top: 0;
}

    .content-body .container-fluid {
        flex-grow: 1;
        display: flex;
        flex-direction: column;
    }

/* =========================================================
   DATATABLES – STILI COMUNI
========================================================= */
.dataTables_wrapper .dataTables_filter {
    display: none;
}

.dt-column-title {
    font-size: 13px;
}

.dt-column-order {
    display: none !important;
}

div.dt-container .dt-length {
    font-size: 13px !important;
    text-transform: capitalize;
}

div.dt-container .dt-paging .dt-paging-button {
    box-sizing: border-box;
    display: inline-block;
    min-width: 1.5em;
    padding: .5em 1em;
    margin-left: 2px;
    text-align: center;
    cursor: pointer;
    border-radius: 20px;
    background: transparent !important;
    border: none !important;
    color: grey !important;
    box-shadow: none !important;
}

div.dt-container .dt-paging .dt-paging-current {
    color: #fff !important;
    background: #f4b400 !important;
    border-color: #f4b400 !important;
}

div.dt-container .dt-paging [data-dt-idx="first"],
div.dt-container .dt-paging [data-dt-idx="previous"],
div.dt-container .dt-paging [data-dt-idx="next"],
div.dt-container .dt-paging [data-dt-idx="last"] {
    font-size: 0.9rem;
    min-width: 2.5rem;
    height: 1.8rem;
    line-height: 1.8rem;
    border: 1px solid #f4b400;
    border-radius: 0.813rem;
    padding: 0 0.85rem;
    margin: 0 0.625rem;
    background: transparent !important;
}
.dt-paging-button.previous,
.dt-paging-button.next,
.dt-paging-button.first,
.dt-paging-button.last {
    font-size: 0 !important; 
    display: inline-flex !important;
    align-items: center; 
    justify-content: center; 
    min-width: 38px;
    height: 38px; 
    padding: 0 !important;
    vertical-align: middle;
    cursor: pointer;
}

    .dt-paging-button.previous::before,
    .dt-paging-button.next::before,
    .dt-paging-button.first::before,
    .dt-paging-button.last::before {
        font-family: "Material Design Icons";
        font-size: 1.3rem; 
        line-height: 3;
    }

    .dt-paging-button.previous::before {
        content: "\F013D";
    }
    .dt-paging-button.next::before {
        content: "\F013E";
    }

    .dt-paging-button.first::before {
        content: "\F013D"; 
    }

    .dt-paging-button.last::before {
        content: "\F013E"; 
    }
    .card-body{
        /*padding: 0 !important;*/
    }

    div.dt-container .dt-paging [data-dt-idx="first"],
    div.dt-container .dt-paging [data-dt-idx="last"]{
        display: none !important;
    }
    div.dt-container .dt-paging [data-dt-idx]:hover {
        background-color: lightgrey !important;
        color: grey !important;
        border-color: transparent !important;
    }

div.dt-container .dt-paging .dt-paging-disabled {
    cursor: default;
    background: transparent !important;
    border: none !important;
}

/* =========================================================
   TABELLE – STILE BASE
========================================================= */
table[id$="Table"] {
    /*border-collapse: collapse !important;*/
    /*border: 1px solid #dee2e6 !important;*/
}

    table[id$="Table"] thead th {
        /*border: 1px solid #dee2e6 !important;*/
        /*border-bottom: 2px solid #dee2e6 !important;*/
        background-color: #f8f9fa;
    }
    table[id$="Table"] table.dataTable > thead > tr > th {
        padding-left: 0 !important;
    }
    table[id$="Table"] tbody td {
        /*border: 1px solid #dee2e6 !important;*/
        padding: 8px 0 !important;
    }

    table[id$="Table"] tr {
        height: 67px;
    }

    table[id$="Table"] td:last-child {
        white-space: nowrap;
    }

    table[id$="Table"] .btn-action {
        padding: 0.25rem 0.5rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

/* =========================================================
   FULLCALENDAR – COMUNE
========================================================= */
.fc-loader,
.fc-loading {
    display: none !important;
}

.fc .fc-button-group > .fc-button:hover,
.fc .fc-button-group > .fc-button.fc-button-active,
.fc .fc-button-group > .fc-button:active {
    background: #6c757d !important;
    color: #fff;
    border-color: #6c757d !important;
}

.fc .fc-daygrid-day.fc-day-today {
    background-color: #F2F0EF !important;
}

.fc-col-header-cell-cushion {
    font-size: 12px;
}

.fc-daygrid-day-number {
    font-size: 10px !important;
}

.fc-daygrid-event,
.fc-v-event,
.fc-h-event {
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

/* =========================================================
   EVENTI CUSTOM / STATUS
========================================================= */
.custom-event-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    border-radius: 4px;
    font-size: 0.72rem;
    padding: 1px 6px !important;
}

    .custom-event-container:hover {
        filter: brightness(0.95);
        cursor: pointer;
    }

.status-approved {
    border-color: #198754 !important;
    color: #198754 !important;
}

.status-refused {
    border-color: #dc3545 !important;
    color: #dc3545 !important;
}

.status-waiting {
    border-color: #ffc107 !important;
    color: #997404 !important;
}

/* =========================================================
   BOTTONI
========================================================= */
.btn-white-icon-black {
    background: white !important;
    color: black !important;
    border: 1px solid #ced4da;
}

    .btn-white-icon-black:hover,
    .btn-white-icon-black:active {
        background: #f0f0f0 !important;
        box-shadow: none;
    }

.btn-icon:hover {
    pointer-events: none;
}


.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus {
    box-shadow: none !important;
}
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: #a94dc1 !important;
    box-shadow: 0 0 0 0.25rem rgba(169, 77, 193, 0.25) !important;
    outline: 0 !important;
}

/* DataTables pagination - pagina attiva testo bianco, hover non cambia colore testo */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate span .paginate_button.current,
.paging_simple_numbers .dataTables_paginate .paginate_button.current,
.paging_simple_numbers .paginate_button.current {
    color: #fff !important;
    background: var(--primary) !important;
    border-color: transparent !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.dataTables_wrapper .dataTables_paginate span .paginate_button.current:hover,
.paging_simple_numbers .dataTables_paginate .paginate_button.current:hover,
.paging_simple_numbers .paginate_button.current:hover {
    color: #fff !important;
    background: var(--primary) !important;
    border-color: transparent !important;
}
.dataTables_wrapper .dataTables_paginate span .paginate_button:not(.current):hover {
    color: #888888 !important;
    background: var(--rgba-primary-1) !important;
    border-color: transparent !important;
}

/* ----------------------------------------

   GENERAL COLORS & TEXT

---------------------------------------- */

.text-primary {
    color: #114944 !important;
    font-size: 15px !important;
}

.text-danger {
    color: #CC2C05 !important;
    font-size: 15px !important;
}

.breadcrumb .breadcrumb-item.active a {
    color: #F39E0D !important;
    font-weight: 700;
}

.breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: #F39E0D !important;
}

.breadcrumb li a {
    color: #1A1A40 !important;
    font-weight: 500;
}

/* ----------------------------------------

   HEADER & NAVIGATION

---------------------------------------- */

.header {
    /*background-color: #F39E0D !important;*/
}

.nav-header .brand-title {
    max-width: 11.75rem;
    margin-left: 8px;
}

.navbar-nav-center {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ----------------------------------------

   SIDEBAR

---------------------------------------- */

.sideBar {
    background-color: #fff !important;
    color: gray !important;
}

.line {
    background-color: #1A1A40 !important;
}

.dlabnav .metismenu > li.mm-active > ul, .dlabnav .metismenu > li > ul.mm-show {
    display: block !important;
    height: auto !important;
    border-radius: unset;
}

.dlabnav .metismenu > li ul li.mm-active > a {
    background: linear-gradient(72.47deg, #ca80b1 22.16%, rgba(77, 51, 124, 0.7) 76.47%);
    box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.5);
    color: #fff !important;
    margin: 15px;
}

[data-sidebar-style="full"][data-layout="vertical"] .dlabnav .metismenu > li.mm-active > a i {
    color: #fff !important;
}

.dlabnav .metismenu ul a {
    margin: 0;
}

.dlabnav .metismenu > li > a {
    /*border-radius: 0 !important;*/
    border-radius: 0.5rem !important
}
    /*.nav-text {
    color: #000 !important;
    font-weight: 400 !important;
}*/

    .dlabnav .metismenu > li > a::before {
        background: none !important;
    }

.dlabnav .metismenu > li.mm-active > a {
    background: linear-gradient(72.47deg, #ca80b1 22.16%, rgba(77, 51, 124, 0.7) 76.47%);
    box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.5);
    color: #fff !important;
    margin: 5px;
}

.dlabnav .metismenu > li.mm-active > a {
    background: linear-gradient(72.47deg, #ca80b1 22.16%, rgba(77, 51, 124, 0.7) 76.47%);
    box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.5);
    color: #fff !important;
    margin: 5px;
}

    .dlabnav .metismenu > li.mm-active > a .nav-text {
        color: #fff !important;
    }

    .dlabnav .metismenu > li.mm-active > a::after {
        border-top: 0.3125rem solid white;
        border-left: 0.3125rem solid white;
    }

[data-sidebar-style="full"][data-layout="vertical"] .dlabnav .metismenu ul li a::before {
    background: #5E4294 !important;
}

.dlabnav .metismenu ul a:hover {
    text-decoration: none;
    color: #5E4294 !important;
    border-radius: 0.5rem;
}

.dlabnav .metismenu ul a.mm-active {
    text-decoration: none;
    background: linear-gradient(72.47deg, #ca80b1 22.16%, rgba(77, 51, 124, 0.7) 76.47%);
    box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.5);
    color: #fff !important;
    margin: 15px;
    border-radius: 0.5rem;
}

/* Regole menu-toggle spostate dentro i breakpoint desktop e tablet */

/* Sidebar scroll layout */

.dlabnav-scroll {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

ul#menu {
    flex-grow: 1;
    margin-bottom: 0;
}

.dlabnav .copyright {
    margin-bottom: 0;
}

.dropdown-toggle::after {
    display: none !important;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}

/* ----------------------------------------

   FOOTER

---------------------------------------- */

footer .copyright {
    flex-shrink: 0;
    margin-top: 2rem !important;
}


/* ----------------------------------------

   SEPARATOR

---------------------------------------- */

.menu-separator {
    pointer-events: none; /* opzionale: non cliccabile */
}

    .menu-separator .text-separator {
        display: flex;
        align-items: center;
        color: #999;
        font-weight: 600;
        text-transform: uppercase; /* opzionale */
    }

        .menu-separator .text-separator::before,
        .menu-separator .text-separator::after {
            content: "";
            flex: 1;
            height: 1px;
            background-color: #ccc;
        }

        .menu-separator .text-separator::before {
            margin-right: 10px;
        }

        .menu-separator .text-separator::after {
            margin-left: 10px;
        }
/*.menu-separator {
    border: none;
    border-bottom: 2px solid #ccc;
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
}
*/
/* ----------------------------------------

   TABLE & DATATABLES

---------------------------------------- */

table thead tr th {
    font-weight: 600 !important;
}


/* ----------------------------------------

   BUTTON ICONS

---------------------------------------- */

.btn-icon {
    border: none !important;
    margin: 8px !important;
    height: 2.2rem !important;
    line-height: 1.5rem !important;
}

    .btn-icon:hover {
        color: #fff !important;
        background: none !important;
    }

.btn-primary:active,
.btn-primary:focus,
.btn-primary:hover {
    color: #fff !important;
}

.myFooter {
    margin-right: 1.5rem !important;
}

/* body.menu-toggle: gestito nei breakpoint specifici */
/* ----------------------------------------

   RESPONSIVE - MIN 576px (47.9375rem)

---------------------------------------- */

@media (min-width:36rem) and (max-width: 47.9375rem) {

    .dlabnav {
        width: 16rem !important;
    }

    html body.menu-toggle[data-layout="vertical"][data-sidebar-style="overlay"] .dlabnav {
        left: 0 !important;
        transform: none !important;
        display: block !important;
    }


    body.menu-toggle [data-sidebar-style="overlay"] .dlabnav {
        left: 0 !important;
        transform: none !important;
        display: block !important;
    }

    .dlabnav .metismenu > li:hover > a, .dlabnav .metismenu > li:focus > a {
        color: #9B78B4 !important;
    }

    .dlabnav .metismenu > li > a {
        display: flex;
        align-items: center;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .dlabnav .metismenu > li a > i {
        margin-left: 0;
        margin-right: 1rem;
        flex-shrink: 0;
        width: var(--dz-side-ico-width);
        height: var(--dz-side-ico-height);
        font-size: var(--dz-side-ico-size);
        text-align: center;
    }

    .dlabnav .metismenu > li a .menu-text {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex: 1 1 auto;
        min-width: 0;
    }

    .nav-header {
        width: 16rem !important;
        background: #fff !important;
    }

    .nav-control {
        left: 14rem;
        margin-left: 40px !important;
    }

    .header .header-content {
        padding-left: 3.75rem;
        padding-right: 2rem;
    }

    .nav-header .brand-title {
        display: inline;
        width: 10rem;
        margin-left: 0;
        margin-right: 16px;
        margin-top: 9px;
    }

    .header-left .dashboard_bar {
        display: inline;
        margin-left: 165px;
    }

    .dlabnav .metismenu > li > a {
        /*border-radius: 0rem !important;*/
    }

    .dlabnav .metismenu > li > a {
        display: flex;
        align-items: center;
    }

        .dlabnav .metismenu > li > a i {
            height: var(--dz-side-ico-height);
            width: var(--dz-side-ico-width);
            font-size: var(--dz-side-ico-size);
            text-align: center;
            margin-right: 1rem;
            line-height: 1;
            flex-shrink: 0;
        }

    .dlabnav .nav-text {
        display: flex !important;
        white-space: unset;
        flex-direction: column;
        overflow: hidden;
        text-overflow: ellipsis;
        min-width: 0;
        line-height: 1.5;
    }

    .dlabnav .metismenu > li {
        padding: 0 !important;
    }

        .dlabnav .metismenu > li > a {
            /*border-radius: 0rem !important;*/
        }

    body.menu-toggle [data-sidebar-style="overlay"] .dlabnav {
        left: 0 !important;
        transform: none !important;
        display: block !important;
    }

    .dlabnav .metismenu li > ul {
        position: initial !important;
        width: 100% !important;
        box-shadow: none !important;
        display: block;
        transition: height 0.3s ease;
        height: 0;
        overflow: hidden;
    }

    .dlabnav .metismenu > li > ul.mm-show,
    .dlabnav .metismenu > li.mm-active > ul {
        height: auto !important;
    }
}

/* ----------------------------------------

   RESPONSIVE - MIN 768px (48rem)

---------------------------------------- */

@media (min-width: 48rem) and (max-width: 74.9375rem) {

    [data-sidebar-style="overlay"][data-layout="vertical"] {
        --dz-side-sub_nav-padding: .5rem .5rem .5rem 3.5rem;
        --dz-side-nav-padding: .85rem 1.5rem;
    }

    .footer .copyright p {
        margin-right: 14rem !important;
    }

    .myFooter {
        margin-right: 1rem !important;
    }

    /* Tablet: l'hamburger collassa la sidebar come su desktop (gestito da _Sidebar.cshtml inline CSS) */

    [data-typography="poppins"] {
        font-family: "Public Sans","Golos Text", 'poppins', sans-serif;
    }

    [data-sidebar-position="fixed"] {
        --dz-sidebar-pos: fixed;
    }

    [data-header-position="fixed"] {
        --dz-header-pos: fixed;
    }

    [data-sidebar-style="overlay"] .menu-toggle .dlabnav {
        left: 0;
    }

    [data-sidebar-style="mini"] .dlabnav .sidebar-info {
        display: flex !important;
    }

    .nameProfile {
        margin-left: 0.5rem !important;
    }

    .dlabnav .header-info2 {
        margin-top: 1.5rem;
    }

    .dropdown .header-profile2 {
        height: 80px;
    }

    .dlabnav {
        width: 16rem !important;
        padding-bottom: 0;
        height: calc(100% - var(--dz-header-height));
        position: fixed !important;
        top: var(--dz-header-height);
        left: 0;
        padding-top: 0;
        background-color: var(--sidebar-bg);
        transition: all .2s ease;
        box-shadow: 0 0.9375rem 1.875rem rgba(0, 0, 0, 0.02);
        overflow: hidden !important;
        z-index: 2 !important;
    }

    [data-sidebar-style="overlay"] .dlabnav {
        left: -100%;
        transition: all 0.5s;
        box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.2);
    }

    .header .header-content {
        padding-left: 16rem;
    }

    .content-body {
        margin-left: 16rem !important;
    }

    .nav-control {
        display: inline !important;
        margin-left: 100px !important;
    }

    [data-sidebar-style="mini"] .nav-header .brand-title {
        display: inline !important;
    }

    .nav-header .brand-logo {
        padding-left: 2.25rem;
    }

    .nav-header .brand-title {
        display: inline;
        width: 16rem;
        margin-left: 8px;
        margin-right: 35px;
        margin-top: 9px;
    }

    .dashboard_bar {
        margin-left: 1rem;
    }

    .dlabnav .nav-text {
        overflow: hidden;
        text-overflow: ellipsis;
        min-width: 0;
        line-height: 1.5;
        margin-left: 0.4rem;
        display: flex !important;
        white-space: unset;
        flex-direction: column;
    }

    .dlabnav .copyright {
        display: flex !important;
    }

    .dlabnav .metismenu > li > a {
        display: flex;
        align-items: center;
    }

        .dlabnav .metismenu > li > a i {
            height: var(--dz-side-ico-height);
            width: var(--dz-side-ico-width);
            font-size: var(--dz-side-ico-size);
            text-align: center;
            margin-right: 1rem;
            line-height: 1;
            flex-shrink: 0;
        }

    .dlabnav .metismenu > li {
        padding: 0 !important;
    }

        .dlabnav .metismenu > li > a {
            /*border-radius: 0rem !important;*/
        }

    /* === TABLET: Sidebar collassata con hamburger toggle === */
    #main-wrapper.menu-toggle .dlabnav {
        width: 5.5rem !important;
        overflow: visible !important;
    }

    #main-wrapper.menu-toggle .dlabnav .nav-text,
    #main-wrapper.menu-toggle .dlabnav .sidebar-info,
    #main-wrapper.menu-toggle .dlabnav .copyright,
    #main-wrapper.menu-toggle .dlabnav .metismenu .has-arrow::after {
        display: none !important;
    }

    #main-wrapper.menu-toggle .dlabnav .header-profile2 .nameProfile,
    #main-wrapper.menu-toggle .dlabnav .header-profile2 .mdi-menu-down {
        display: none !important;
    }

    #main-wrapper.menu-toggle .dlabnav .metismenu > li > a {
        justify-content: center !important;
        padding: 0.75rem !important;
        text-align: center !important;
    }

    #main-wrapper.menu-toggle .dlabnav .metismenu > li > a i {
        margin-right: 0 !important;
        font-size: 1.4rem !important;
    }

    #main-wrapper.menu-toggle .content-body {
        margin-left: 5.5rem !important;
    }

    #main-wrapper.menu-toggle .header .header-content {
        padding-left: 5.5rem !important;
    }

    #main-wrapper.menu-toggle .nav-header {
        width: 5.5rem !important;
    }

    #main-wrapper.menu-toggle .nav-header img,
    #main-wrapper.menu-toggle .nav-header .brand-title {
        display: none !important;
    }

    /* Flyout hover sui sottomenu quando collassata */
    #main-wrapper.menu-toggle .dlabnav .metismenu > li {
        position: relative !important;
    }

    #main-wrapper.menu-toggle .dlabnav .metismenu > li:hover > a .nav-text {
        display: block !important;
        position: absolute !important;
        left: 100% !important;
        top: 0 !important;
        background: #fff !important;
        padding: 0.75rem 1rem !important;
        white-space: nowrap !important;
        box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.15) !important;
        border-radius: 0 0.5rem 0.5rem 0 !important;
        z-index: 99999 !important;
        color: #1A1A40 !important;
        font-size: 0.875rem !important;
        min-width: 10rem !important;
    }

    #main-wrapper.menu-toggle .dlabnav .metismenu > li:hover > ul,
    #main-wrapper.menu-toggle .dlabnav .metismenu > li:hover > ul.mm-show,
    #main-wrapper.menu-toggle .dlabnav .metismenu > li:hover > ul.mm-collapse {
        display: block !important;
        position: absolute !important;
        left: 100% !important;
        top: 0 !important;
        background: #fff !important;
        padding: 0.5rem 0 !important;
        white-space: nowrap !important;
        box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.15) !important;
        border-radius: 0 0.5rem 0.5rem 0 !important;
        z-index: 99999 !important;
        min-width: 12rem !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    #main-wrapper.menu-toggle .dlabnav .metismenu > li:not(:hover) > ul {
        display: none !important;
    }

    #main-wrapper.menu-toggle .dlabnav .metismenu > li:hover > a.has-arrow .nav-text {
        display: none !important;
    }
}

[data-sidebar-style="mini"] {
    --dz-sidebar-width: 16rem;
    --dz-sidebar-pos: relative;
    --dz-side-nav-padding: 1.125rem 0.875rem;
    --dz-side-info: none;
    --dz-side-copyright: none;
}

    [data-sidebar-style="mini"] .nav-header .nav-control {
        display: inline !important;
    }

    [data-sidebar-style="mini"] .nav-header .brand-title {
        margin-left: 0px !important;
    }

.nav-header {
    width: 16rem !important;
}

@media only screen and (min-width: 48rem) {
    [data-sidebar-style="mini"] .dlabnav .metismenu li > ul {
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: auto !important;
        z-index: auto !important;
        padding-left: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    .dlabnav .metismenu li > ul {
        display: none;
        height: auto !important;
        transition: none !important;
    }

    .dlabnav .metismenu > li.mm-active > ul,
    .dlabnav .metismenu > li > ul.mm-show {
        display: block !important;
        height: auto !important;
    }
}

/* ----------------------------------------

   RESPONSIVE - MIN 992px (62rem)

---------------------------------------- */

@media (min-width: 62rem) and (max-width:74.9375rem) {

    .nav-control {
        right: -5rem !important;
    }

    .myFooter {
        margin-right: 1rem !important;
    }

    .footer .copyright p {
        margin-right: 18rem !important;
    }

    .content-body .container-fluid {
        margin-top: 1rem !important;
        margin-left: 1rem;
        padding-left: 0;
        transition: 0.3s ease;
    }

    .dashboard_bar {
        margin-left: 4rem;
    }

    [data-sidebar-style="mini"] .nav-header .brand-title {
        margin-left: 0px !important;
    }

    .dlabnav .metismenu > li > a {
        display: flex;
        align-items: center;
    }

        .dlabnav .metismenu > li > a i {
            height: var(--dz-side-ico-height);
            width: var(--dz-side-ico-width);
            font-size: var(--dz-side-ico-size);
            text-align: center;
            margin-right: 1rem;
            line-height: 1;
            flex-shrink: 0;
        }

    .dlabnav .nav-text {
        overflow: hidden;
        text-overflow: ellipsis;
        min-width: 0;
        line-height: 1.5;
        margin-left: 0.4rem;
        display: flex !important;
        white-space: unset;
        flex-direction: column;
    }

    .footer .copyright p {
        transition: 0.3s ease;
    }

    .dlabnav .metismenu > li {
        padding: 0 !important;
    }

        .dlabnav .metismenu > li > a {
            border-radius: 2rem !important;
        }
}

@media (max-width: 62rem) {

    .nav-header {
        width: 14rem;
        background-color: #fff !important;
    }
}

/* ----------------------------------------

   RESPONSIVE - BETWEEN 768px and 991px

---------------------------------------- */

@media (min-width: 48rem) and (max-width: 62rem) {

    .nav-control {
        display: inline !important;
        left: 9rem !important;
    }
}

/* ----------------------------------------

   RESPONSIVE MIN 1200px

---------------------------------------- */

@media (min-width:75rem) {
    .dlabnav {
        width: 16rem !important;
    }

    .menu-toggle .dlabnav {
        display: none !important;
    }

    .menu-toggle .nav-header .brand-title {
        display: inline !important;
    }
}

@media (min-width: 75rem) {
    .dlabnav {
        position: fixed;
        top: var(--dz-header-height);
        left: 0;
        width: var(--dz-sidebar-width);
        height: calc(100% - var(--dz-header-height));
        /*background-color: #977CB8;*/
        z-index: 1000;
        transition: transform 0.3s ease;
        transform: translateX(0);
    }

    html, body {
        height: 100%;
        margin: 0;
        padding: 0;
    }

    .menu-toggle .dlabnav {
        transform: translateX(-100%);
    }

    .header {
        position: fixed;
        top: 0;
        left: 0;
        height: var(--dz-header-height);
        width: 100%;
        /*background-color: #F39E0D;*/
        z-index: 9;
        padding-left: var(--dz-sidebar-width);
        transition: padding-left 0.3s ease;
    }

    .hamburger {
        top: 0.5rem !important;
    }

    .menu-toggle .header {
        padding-left: 0;
    }

    .nav-header {
        position: fixed;
        top: 0;
        left: 0;
        height: var(--dz-header-height);
        width: var(--dz-sidebar-width);
        background: #fff;
        z-index: 1001;
        transition: transform 0.3s ease;
    }

    .menu-toggle .nav-header {
        transform: translateX(-100%);
    }

    .nav-header {
        position: absolute;
    }

        .nav-header .nav-control {
            position: absolute;
            top: 1.8rem !important;
            left: 17rem;
            z-index: 2000;
            cursor: pointer;
            background: transparent;
            border: none;
            font-size: 1.5rem;
            transition: top 0.3s ease, transform 0.3s ease;
        }

    .nav-control {
        right: 0.5rem !important;
    }

    .menu-toggle .nav-header .nav-control {
        top: 2rem !important;
        left: 18rem;
        transition: top 0.3s ease, transform 0.3s ease;
    }

    .content-body {
        /*margin-top: 2rem;*/
        padding-left: 0;
        transition: 0.3s ease;
        flex: 1;
    }

    .menu-toggle .content-body {
        padding-left: 0;
        margin-left: 0 !important;
    }

    .dlabnav .metismenu > li > a {
        display: flex;
        align-items: center;
    }

        .dlabnav .metismenu > li > a i {
            height: var(--dz-side-ico-height);
            width: var(--dz-side-ico-width);
            font-size: var(--dz-side-ico-size);
            text-align: center;
            margin-right: 1rem;
            line-height: 1;
            flex-shrink: 0;
        }

    .dlabnav .nav-text {
        overflow: hidden;
        text-overflow: ellipsis;
        min-width: 0;
        line-height: 1.5;
        margin-left: 0.4rem;
        display: flex !important;
        white-space: unset;
        flex-direction: column;
    }

    .dlabnav .metismenu > li {
        padding: 0 !important;
    }

    .footer {
        padding-left: 0 !important;
    }
}

/* ========================================
   COLORI SIDEBAR - Globali (tutti i breakpoint)
   Sovrascrive il --primary rosso di Jobick
======================================== */

/* Override --primary dentro la sidebar */
.dlabnav {
    --primary: #9B78B4 !important;
    --primary-hover: #8a67a3 !important;
}

/* Voce attiva */
.dlabnav .metismenu > li.mm-active > a,
.dlabnav .metismenu > li.active > a {
    color: #ffffff !important;
    background: linear-gradient(72.47deg, #ca80b1 22.16%, rgba(77, 51, 124, 0.7) 76.47%) !important;
    border-radius: 0.5rem !important;
}

.dlabnav .metismenu > li.mm-active > a i,
.dlabnav .metismenu > li.active > a i {
    color: #ffffff !important;
}

/* Sottomenu attivo */
.dlabnav .metismenu li ul li.mm-active > a,
.dlabnav .metismenu li ul li.active > a {
    color: #ffffff !important;
    background-color: #9B78B4 !important;
    border-radius: 0.5rem !important;
}

.dlabnav .metismenu li ul li.mm-active {
    background: transparent !important;
}

/* Hover e focus su voci menu */
.dlabnav .metismenu > li > a:hover,
.dlabnav .metismenu > li > a:focus {
    color: #9B78B4 !important;
}

.dlabnav .metismenu > li > a:hover i,
.dlabnav .metismenu > li > a:focus i {
    color: #9B78B4 !important;
}

.dlabnav .metismenu > li.mm-active > a:hover,
.dlabnav .metismenu > li.mm-active > a:focus {
    color: #ffffff !important;
}

.dlabnav .metismenu > li.mm-active > a:hover i,
.dlabnav .metismenu > li.mm-active > a:focus i {
    color: #ffffff !important;
}

/* Hover sottomenu */
.dlabnav .metismenu li ul li a:hover,
.dlabnav .metismenu li ul li a:focus {
    color: #9B78B4 !important;
}

/* Arrow */
.dlabnav .metismenu .has-arrow:after {
    border-color: #888888 #888888 transparent transparent !important;
}

/* Badge notifiche/impostazioni nella navbar - viola */
.header-right .notification_dropdown .nav-link .badge {
    background-color: #a94dc1 !important;
    color: #fff !important;
}

/* Select2 dropdown - colore selezionato/hover viola */
.select2-container--default .select2-results__option--selected {
    background-color: #9B78B4 !important;
    color: #fff !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #8a67a3 !important;
    color: #fff !important;
}

/* ========================================
   DESKTOP - min-width per select header
======================================== */

@media (min-width: 992px) {
    .selectChangeYear {
        min-width: 100px;
    }

    .selectChangePlat {
        min-width: 200px;
    }
}

/* ========================================
   RESPONSIVE - MOBILE + SMALL TABLET (<768px)
   Sidebar come overlay, layout full-width
======================================== */

@media (max-width: 767.98px) {

    /* --- Sidebar: nascosta, overlay su toggle --- */
    .dlabnav {
        position: fixed !important;
        top: 0 !important;
        left: -100% !important;
        width: 16rem !important;
        height: 100vh !important;
        z-index: 10000 !important;
        transition: left 0.3s ease !important;
        overflow-y: auto !important;
        box-shadow: 4px 0 15px rgba(0, 0, 0, 0.2) !important;
    }

    #main-wrapper.menu-toggle .dlabnav {
        left: 0 !important;
        width: 16rem !important;
        display: block !important;
    }

    /* Mostra testi e info quando sidebar aperta */
    #main-wrapper.menu-toggle .dlabnav .sidebar-info,
    #main-wrapper.menu-toggle .dlabnav .nameProfile,
    #main-wrapper.menu-toggle .dlabnav .mdi-menu-down,
    #main-wrapper.menu-toggle .dlabnav .copyright,
    #main-wrapper.menu-toggle .dlabnav .metismenu .has-arrow::after {
        display: flex !important;
        opacity: 1 !important;
    }

    #main-wrapper.menu-toggle .dlabnav .nav-text {
        display: inline !important;
        opacity: 1 !important;
    }

    /* Nascondi email nel profilo sidebar su mobile */
    .dlabnav .header-profile2 .nameProfile small {
        display: none !important;
    }

    /* Hamburger: nascosto quando sidebar aperta su mobile */
    #main-wrapper.menu-toggle .nav-control {
        display: none !important;
    }

    /* Layout icona + testo affiancati (sempre, non solo con menu-toggle) */
    .dlabnav .metismenu > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: left !important;
        padding: 0.75rem 1.25rem !important;
    }

    .dlabnav .metismenu > li > a i {
        margin-right: 1rem !important;
        flex-shrink: 0 !important;
    }

    .dlabnav .nav-text {
        display: inline !important;
        opacity: 1 !important;
    }

    /* Preserva colori e border-radius desktop nella sidebar */
    .dlabnav .metismenu > li.mm-active > a,
    #main-wrapper.menu-toggle .dlabnav .metismenu > li.mm-active > a {
        background: linear-gradient(72.47deg, #ca80b1 22.16%, rgba(77, 51, 124, 0.7) 76.47%) !important;
        color: #fff !important;
        border-radius: 0.5rem !important;
    }

    .dlabnav .metismenu > li.mm-active > a i,
    #main-wrapper.menu-toggle .dlabnav .metismenu > li.mm-active > a i {
        color: #fff !important;
    }

    .dlabnav .metismenu > li:hover > a,
    .dlabnav .metismenu > li:focus > a {
        color: #9B78B4 !important;
    }

    .dlabnav .metismenu li ul li.mm-active > a,
    .dlabnav .metismenu li ul li.active > a {
        background: linear-gradient(72.47deg, #ca80b1 22.16%, rgba(77, 51, 124, 0.7) 76.47%) !important;
        color: #fff !important;
        border-radius: 0.5rem !important;
    }

    /* Disabilita flyout hover su mobile, usa accordion */
    #main-wrapper.menu-toggle .dlabnav .metismenu > li:hover > ul,
    #main-wrapper.menu-toggle .dlabnav .metismenu > li:hover > ul[style] {
        position: static !important;
        left: auto !important;
        top: auto !important;
        box-shadow: none !important;
        min-width: auto !important;
        width: 100% !important;
        background: transparent !important;
    }

    #main-wrapper.menu-toggle .dlabnav .metismenu > li:hover > a .nav-text {
        position: static !important;
        box-shadow: none !important;
        background: transparent !important;
        padding: 0 !important;
        min-width: auto !important;
        display: inline !important;
    }

    /* Overlay scuro dietro sidebar aperta */
    .menu-toggle .content-body::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.4);
        z-index: 9999;
    }

    /* --- Nav Header: collassato su mobile --- */
    .nav-header {
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        overflow: visible !important;
        position: absolute !important;
        z-index: auto !important;
        background: transparent !important;
    }

    .nav-header .brand-logo,
    .nav-header .brand-title {
        display: none !important;
    }

    /* Hamburger posizionato dentro l'area header */
    .nav-control {
        position: fixed !important;
        left: 0.75rem !important;
        right: auto !important;
        top: 0.6rem !important;
        transform: none !important;
        margin: 0 !important;
        z-index: 10001 !important;
    }

    /* --- Header: fisso in alto su mobile --- */
    .header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        padding-left: 0 !important;
        width: 100% !important;
        z-index: 999 !important;
        background: #fff !important;
        box-shadow: 0px 2px 6px -4px rgba(0, 0, 0, 0.5) !important;
    }

    .header .header-content {
        padding-left: 3rem !important;
        padding-right: 1rem !important;
        flex-wrap: wrap;
    }

    .header-left .dashboard_bar {
        margin-left: 0 !important;
        font-size: 0.9rem;
    }

    .selectChangeYear {
        min-width: 64px !important;
        max-width: 90px !important;
        width: auto !important;
    }

    .selectChangePlat {
        min-width: 90px !important;
        max-width: 140px !important;
        width: auto !important;
    }

    .selectChangeYear p,
    .selectChangePlat p {
        margin-bottom: 0 !important;
    }

    /* Header mobile toggle */
    #main-wrapper.menu-toggle .header {
        padding-left: 0 !important;
    }

    #main-wrapper.menu-toggle .nav-header {
        width: 0 !important;
        height: 0 !important;
    }

    /* --- Content Body --- */
    .content-body {
        margin-left: 0 !important;
        padding-left: 0 !important;
        margin-top: 3.5rem !important;
    }

    .content-body .container-fluid {
        padding-top: 0.25rem !important;
    }

    .row.page-titles {
        margin-top: 0.5rem !important;
    }

    #main-wrapper.menu-toggle .content-body {
        margin-left: 0 !important;
    }

    .content-body .container-fluid {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    /* --- Dropdown notifiche/settings --- */
    .notification_dropdown .dropdown-menu {
        max-width: 90vw !important;
        right: -1rem !important;
    }

    /* --- Cards con min-height fisso --- */
    .card[style*="min-height: 380px"],
    .card[style*="min-height:380px"] {
        min-height: auto !important;
    }

    /* --- Sidebar interne pagine (Presenze, Ferie, Turni) --- */
    .col-xl-2.col-xxl-2 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .col-xl-10.col-xxl-10 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    /* --- Footer --- */
    .footer {
        padding-left: 0 !important;
        margin-left: 0 !important;
    }

    /* --- SweetAlert modal --- */
    .swal2-popup {
        width: 95vw !important;
        max-width: 95vw !important;
    }

    /* --- DataTables --- */
    .dataTables_wrapper .dataTables_filter input,
    #customGlobalSearch {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* --- FullCalendar --- */
    .fc .fc-toolbar {
        flex-direction: column;
        gap: 0.5rem;
    }

    .fc .fc-toolbar-title {
        font-size: 1rem !important;
    }
}

/* ========================================
   RESPONSIVE - TABLET (768px - 991px)
======================================== */

@media (min-width: 768px) and (max-width: 991.98px) {

    /* Select più grandi su tablet */
    .selectChangeYear {
        min-width: 100px !important;
        width: 100px !important;
    }

    .selectChangePlat {
        min-width: 180px !important;
        width: 180px !important;
    }

    .selectChangeYear p,
    .selectChangePlat p {
        margin-bottom: 0 !important;
    }

    /* --- Sidebar interne pagine --- */
    .col-xl-2.col-xxl-2 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .col-xl-10.col-xxl-10 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    /* --- SweetAlert modal --- */
    .swal2-popup {
        max-width: 90vw !important;
    }
}

/* ========================================
   TAB ATTIVI - Colore #a94dc1
======================================== */
.nav-tabs .nav-link.active,
.nav-tabs .show > .nav-link {
    color: #a94dc1 !important;
    border-bottom-color: #a94dc1 !important;
}
.nav-tabs .nav-link:hover {
    color: #a94dc1 !important;
}