:root {
    --navbar-height: 71px;
    --page_title-height: 40px;
    --total_title-height: 111px;
    --navbar-zindex: 1002;
    --sidebar-zindex: 1003;
    --light-muted: #D3D4D9;
}

/* Limita a 5 righe con ellissi */
.clamp-5 {
    display: -webkit-box;
    -webkit-line-clamp: 5; /* Chrome/Edge/Safari */
    -webkit-box-orient: vertical;
    overflow: hidden;
    /* opzionali */
    white-space: pre-line; /* preserva \n delle eccezioni */
    overflow-wrap: anywhere; /* spezza parole lunghissime/stacktrace */
}


.page-content{
    padding-bottom: 0px !important;
    height: 100vh;
}

#back-to-top {
    bottom: 50px !important;
}

#page-topbar {
    z-index: 1003;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.navbar-brand-box {
    display: flex;
    align-items: center;
    gap: 24px;
    font-size: 24px;
    line-height: 22px;
}

    .navbar-brand-box span {
        color: #888;
        font-size: 22px;
        display: block;
    }

.simplebar-content {
    height: 100%;
}

.page_title-sticky {
    position: sticky;
    top: var(--navbar-height);
    z-index: var(--navbar-zindex);
}

.side_bar-custom {
    z-index: var(--sidebar-zindex);
}



.loading-fullscreen {
}

/*colors*/
.color-lightblue {
    color: rgb(41,156,219);
}

.color-light_muted {
    color: var(--light-muted);
}

.bg-light_muted {
    background-color: var(--light-muted);
}

.navbar-header h1 {
    font-size: 1.7rem;
    padding: 0px !important;
    margin: 0px !important;
}

.validation-message {
    width: 100%;
    margin-top: 0.25rem;
    font-size: .875em;
    color: var(--vz-form-invalid-color);
}

.form-control.invalid, .was-validated .form-control:invalid {
    border-color: var(--vz-form-invalid-border-color);
    padding-right: calc(1.5em + 1rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23f06548'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f06548' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.25rem) center;
    background-size: calc(0.75em + 0.5rem) calc(0.75em + 0.5rem);
}

.was-validated textarea.form-control:invalid, textarea.form-control.invalid {
    padding-right: calc(1.5em + 1rem);
    background-position: top calc(0.375em + 0.25rem) right calc(0.375em + 0.25rem);
}

/*Form classes*/
.form-label {
    margin-bottom: 2px;
}


[quickgrid] > tbody > tr:hover,
[hoverrowtable] > tbody > tr:hover {
    cursor: pointer;
    --vz-table-color: #000;
    --vz-table-bg: #d7e4fc;
    --vz-table-border-color: #c2cde3;
    --vz-table-striped-bg: #d3dff7;
    --vz-table-striped-color: #000;
    --vz-table-active-bg: #cedbf2;
    --vz-table-active-color: #000;
    --vz-table-hover-bg: #cedbf2;
    --vz-table-hover-color: #000;
    color: var(--vz-table-color);
    border-color: var(--vz-table-border-color);
}

.cursor-pointer {
    cursor: pointer;
}

.flex-fill-equals {
    flex: 1 1 0px !important;
}


.page-title-truncated {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-title-truncated {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-subtitle_item-truncated {
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sidebar-subsubtitle_item-truncated {
    max-width: 90px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/*Loader*/
#loader-overlay {
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(33, 37, 41, 0.35);
    z-index: 9999;
    display: none;
}

/*Aggiungo alla classe table classica questa propriet�*/
table {
    table-layout: fixed;
}

    /*Sovrascrivo il padding delle quick grid qua per non modificare il file originale QuickGrid.css*/
    table > :not(thead) > tr > td {
       padding-top: 0px !important;
       padding-bottom: 0px !important;
       padding-right: 0px !important;
    }

.table-style {
    margin-bottom: 0px !important;
}

    .table-style th,
    .table-style td {
        /*padding-left: 0px !important;*/
    }

    .table-style tr:last-child td {
        border-bottom: none !important; /* oppure border-bottom: 0; */
    }

.line-height-1 {
    line-height: 1 !important;
}

.flex-grow-2 {
    flex-grow: 2 !important;
}

.flex-grow-3 {
    flex-grow: 3 !important;
}

.flex-grow-4 {
    flex-grow: 3 !important;
}

.p-10px {
    padding: 10px !important;
}

.px-10px {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.py-10px {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.w-1   { width:  1% !important; }
.w-2   { width:  2% !important; }
.w-3   { width:  3% !important; }
.w-4   { width:  4% !important; }
.w-5   { width:  5% !important; }
.w-6   { width:  6% !important; }
.w-7   { width:  7% !important; }
.w-8   { width:  8% !important; }
.w-9   { width:  9% !important; }
.w-10  { width: 10% !important; }
.w-11  { width: 11% !important; }
.w-12  { width: 12% !important; }
.w-13  { width: 13% !important; }
.w-14  { width: 14% !important; }
.w-15  { width: 15% !important; }
.w-16  { width: 16% !important; }
.w-17  { width: 17% !important; }
.w-18  { width: 18% !important; }
.w-19  { width: 19% !important; }
.w-20  { width: 20% !important; }
.w-21  { width: 21% !important; }
.w-22  { width: 22% !important; }
.w-23  { width: 23% !important; }
.w-24  { width: 24% !important; }
.w-25  { width: 25% !important; }
.w-26  { width: 26% !important; }
.w-27  { width: 27% !important; }
.w-28  { width: 28% !important; }
.w-29  { width: 29% !important; }
.w-30  { width: 30% !important; }
.w-31  { width: 31% !important; }
.w-32  { width: 32% !important; }
.w-33  { width: 33% !important; }
.w-34  { width: 34% !important; }
.w-35  { width: 35% !important; }
.w-36  { width: 36% !important; }
.w-37  { width: 37% !important; }
.w-38  { width: 38% !important; }
.w-39  { width: 39% !important; }
.w-40  { width: 40% !important; }
.w-41  { width: 41% !important; }
.w-42  { width: 42% !important; }
.w-43  { width: 43% !important; }
.w-44  { width: 44% !important; }
.w-45  { width: 45% !important; }
.w-46  { width: 46% !important; }
.w-47  { width: 47% !important; }
.w-48  { width: 48% !important; }
.w-49  { width: 49% !important; }
.w-50  { width: 50% !important; }
.w-51  { width: 51% !important; }
.w-52  { width: 52% !important; }
.w-53  { width: 53% !important; }
.w-54  { width: 54% !important; }
.w-55  { width: 55% !important; }
.w-56  { width: 56% !important; }
.w-57  { width: 57% !important; }
.w-58  { width: 58% !important; }
.w-59  { width: 59% !important; }
.w-60  { width: 60% !important; }
.w-61  { width: 61% !important; }
.w-62  { width: 62% !important; }
.w-63  { width: 63% !important; }
.w-64  { width: 64% !important; }
.w-65  { width: 65% !important; }
.w-66  { width: 66% !important; }
.w-67  { width: 67% !important; }
.w-68  { width: 68% !important; }
.w-69  { width: 69% !important; }
.w-70  { width: 70% !important; }
.w-71  { width: 71% !important; }
.w-72  { width: 72% !important; }
.w-73  { width: 73% !important; }
.w-74  { width: 74% !important; }
.w-75  { width: 75% !important; }
.w-76  { width: 76% !important; }
.w-77  { width: 77% !important; }
.w-78  { width: 78% !important; }
.w-79  { width: 79% !important; }
.w-80  { width: 80% !important; }
.w-81  { width: 81% !important; }
.w-82  { width: 82% !important; }
.w-83  { width: 83% !important; }
.w-84  { width: 84% !important; }
.w-85  { width: 85% !important; }
.w-86  { width: 86% !important; }
.w-87  { width: 87% !important; }
.w-88  { width: 88% !important; }
.w-89  { width: 89% !important; }
.w-90  { width: 90% !important; }
.w-91  { width: 91% !important; }
.w-92  { width: 92% !important; }
.w-93  { width: 93% !important; }
.w-94  { width: 94% !important; }
.w-95  { width: 95% !important; }
.w-96  { width: 96% !important; }
.w-97  { width: 97% !important; }
.w-98  { width: 98% !important; }
.w-99  { width: 99% !important; }
.w-100 { width: 100% !important; }

.w-90px {
    width: 90px !important;
    max-width: 90px !important;
}

.w-150px {
    width: 150px !important;
    max-width: 150px !important;
}

.w-850px {
    width: 850px !important;
    max-width: 850px !important;
}

.h-modal-100 {
    height: calc(100vh - 56px) !important;
}


.iconNumWidth * {
    width: 8px !important;
    align-content: center;
    text-align: center;
    display: inline-block;
}

.mx-onepx {
    margin: 0px 1px;
}

.s0 {
    opacity: .05;
    fill: var(--vz-success)
}

.rounded-left {
    border-radius: 50rem 0 0 50rem;
}

.rounded-right {
    border-radius: 0 50rem 50rem 0;
}

.border-separator {
    border-left: 0.8px solid #C7C8C9;
}

.card-subtitle {
    font-size: 14px !important;
}

/*report-preview*/
#report-preview-container {
    width: 21cm;
    min-height: 29.7cm;
    background-color: white;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    border: var(--shared-border);
    padding: 1cm;
    display: flex;
    flex-direction: column;
    /*justify-content: center;*/
}

.form-control:disabled {
    background-color: var(--vz-tertiary-bg) !important;
}

.nav-link.no-before-icon:before {
    content: none !important; /* Rimuove completamente il pseudo-elemento */
    /* In alternativa, se vuoi solo nasconderlo ma mantenerne lo spazio/struttura: */
    /* display: none !important; */
    /* oppure */
    /* opacity: 0 !important; */
    /* width: 0 !important; */
    /* height: 0 !important; */
}

.navbar-menu .navbar-nav .nav-sm{
    /*padding-left: 24px !important;*/
}

.scenarios-container {
    height: 54px;
    overflow-x: auto;
    overflow-y: hidden;
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    padding-bottom: 6px; /*spazio per la barra sotto alle card*/
    margin-bottom: 18px;
}

.blockquote-muted {
    border-color: var(--vz-secondary-color) !important;
}