@import url('../lib/fontawesome/css/fontawesome.min.css');
@import url('../lib/fontawesome/css/solid.min.css');

@font-face {
    font-family: "Roboto";
    src: url("../fonts/Roboto-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Roboto";
    src: url("../fonts/Roboto-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Roboto";
    src: url("../fonts/Roboto-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

:root {
    /* 
        Configurazione "responsive": la dimensione del font si adatta 
        in base alla larghezza del dispositivo.
    */
    font-size: calc(0.7em + 0.3vw);
}
/* Dimensioni */

:root {
    --ewf-border-radius-sm: 0.3em;
    --ewf-border-radius-lg: 0.5em;
    --ewf-btn-min-width: 5em;
    --ewf-disabled-opacity: 0.7;
    --ewf-gap-rem: 0.3rem;
    --ewf-gap-em: 0.3em;
    --ewf-navbar-height: 40px;
    --ewf-sidebar-width: 220px;
    --ewf-table-empty-data-cell-height: 5em;
    /* Altezza misurata empiricamente, da ricalcolare se cambiano i fattori al contorno */
    --ewf-toolbar-height: 4.7em;
}

.ewf-ui-sm {
    --ewf-font-size: 0.750rem;
}

:root,
.ewf-ui-md {
    --ewf-font-size: 0.875rem;
}

.ewf-ui-lg {
    --ewf-font-size: 1rem;
}

/*
    COLORI PRESI DA VISION, tenere come riferimento.

    <SolidColorBrush x:Key="Icon.Color" Color="#5c5c5c" PresentationOptions:Freeze="True"/>
    <SolidColorBrush x:Key="Icon.Color.Selected" Color="#35597e" PresentationOptions:Freeze="True"/>
    <SolidColorBrush x:Key="Icon.Color.Orange" Color="#eba348" PresentationOptions:Freeze="True"/>
    <SolidColorBrush x:Key="Icon.Color.Red" Color="#e68497" PresentationOptions:Freeze="True"/>
    <SolidColorBrush x:Key="Icon.Color.Blue" Color="#4d82b8" PresentationOptions:Freeze="True"/>
    <SolidColorBrush x:Key="Icon.Color.Green" Color="#76a797" PresentationOptions:Freeze="True"/>
    <SolidColorBrush x:Key="Icon.Color.Gray" Color="#999999" PresentationOptions:Freeze="True"/>
    <SolidColorBrush x:Key="Icon.Color.LightBlue" Color="#6d99c5" PresentationOptions:Freeze="True"/>
    <SolidColorBrush x:Key="Icon.Color.DarkGreen" Color="#4a8672" PresentationOptions:Freeze="True"/>
    <SolidColorBrush x:Key="Icon.Color.LightGreen" Color="#92b9ac" PresentationOptions:Freeze="True"/>
    <SolidColorBrush x:Key="Icon.Color.White" Color="#ffffff" PresentationOptions:Freeze="True"/>
    <SolidColorBrush x:Key="Icon.Color.DarkGray" Color="#595959" PresentationOptions:Freeze="True" />
    <SolidColorBrush x:Key="Icon.Color.AzureGray" Color="#bccad8" PresentationOptions:Freeze="True" />
    <SolidColorBrush x:Key="Icon.Color.DarkBlue" Color="#35597e" PresentationOptions:Freeze="True" />
    <SolidColorBrush x:Key="Icon.Color.ControlButton" Color="#35597e" PresentationOptions:Freeze="True"/>
    <SolidColorBrush x:Key="Icon.Color.ControlButton.Focused" Color="#35597e" PresentationOptions:Freeze="True"/>
*/

/* Colori */

:root {
    /* Black blue */
    --ewf-color-black-blue-hue: 219deg;
    --ewf-color-black-blue-1: hsl(var(--ewf-color-black-blue-hue), 16%, 17%);
    --ewf-color-black-blue-2: hsl(var(--ewf-color-black-blue-hue), 20%, 16%);
    --ewf-color-black-blue-3: hsl(var(--ewf-color-black-blue-hue), 19%, 14%);
    --ewf-color-black-blue-4: hsl(var(--ewf-color-black-blue-hue), 16%, 31%);
    --ewf-color-black-blue-5: hsl(var(--ewf-color-black-blue-hue), 19%, 23%);
    --ewf-color-black-blue-6: hsl(var(--ewf-color-black-blue-hue), 19%, 16%);
    /* Blue */
    --ewf-color-blue-hue: 210deg;
    --ewf-color-dark-blue-1: hsl(var(--ewf-color-blue-hue), 41%, 35%);
    --ewf-color-dark-blue-3-parts: var(--ewf-color-blue-hue), 76%, 15%;
    --ewf-color-dark-blue-3: hsl(var(--ewf-color-dark-blue-3-parts));
    --ewf-color-dark-blue-4: hsl(var(--ewf-color-blue-hue), 20%, 18%);
    --ewf-color-dark-blue-5: hsl(var(--ewf-color-blue-hue), 11%, 15%);
    --ewf-color-light-blue-1: hsl(var(--ewf-color-blue-hue), 43%, 60%);
    --ewf-color-light-blue-2-parts: var(--ewf-color-blue-hue), 77%, 60%;
    --ewf-color-light-blue-2: hsl(var(--ewf-color-light-blue-2-parts));
    --ewf-color-light-blue-3: hsl(var(--ewf-color-blue-hue), 50%, 40%);
    --ewf-color-light-blue-4: hsl(var(--ewf-color-blue-hue), 55%, 96%);
    --ewf-color-light-blue-5: hsl(var(--ewf-color-blue-hue), 80%, 90%);
    --ewf-color-light-blue-6: hsl(var(--ewf-color-blue-hue), 30%, 70%);
    --ewf-color-light-blue-7: hsl(var(--ewf-color-blue-hue), 70%, 40%);
    --ewf-color-azure-gray-1: hsl(var(--ewf-color-blue-hue), 26%, 76%);
    --ewf-color-azure-gray-2: hsl(var(--ewf-color-blue-hue), 14%, 83%);
    --ewf-color-azure-gray-3-parts: var(--ewf-color-blue-hue), 7%, 46%;
    --ewf-color-azure-gray-3: hsl(var(--ewf-color-azure-gray-3-parts));
    --ewf-color-azure-gray-4: hsl(var(--ewf-color-blue-hue), 16%, 31%);
    --ewf-color-azure-gray-6: hsl(var(--ewf-color-blue-hue), 29%, 97%);
    --ewf-color-azure-gray-7: hsl(var(--ewf-color-blue-hue), 26%, 93%);
    --ewf-color-azure-gray-8: hsl(var(--ewf-color-blue-hue), 9%, 31%);
    /* Cyan */
    --ewf-color-cyan-hue: 194deg;
    --ewf-color-cyan-1: hsl(var(--ewf-color-cyan-hue), 66%, 61%);
    /* Green */
    --ewf-color-dark-green-hue: 113deg;
    --ewf-color-dark-green-1: hsl(var(--ewf-color-dark-green-hue), 41%, 32%);
    --ewf-color-dark-green-2: hsl(var(--ewf-color-dark-green-hue), 39%, 54%);
    --ewf-color-light-green-hue: 160deg;
    --ewf-color-light-green-1: hsl(var(--ewf-color-light-green-hue), 22%, 56%);
    /* Orange */
    --ewf-color-dark-orange-hue: 20deg;
    --ewf-color-dark-orange-1: hsl(var(--ewf-color-dark-orange-hue), 80%, 40%);
    --ewf-color-dark-orange-2: hsl(var(--ewf-color-dark-orange-hue), 80%, 50%);
    --ewf-color-dark-orange-3: hsl(var(--ewf-color-dark-orange-hue), 80%, 55%);
    --ewf-color-dark-orange-4-parts: var(--ewf-color-dark-orange-hue), 100%, 63%;
    --ewf-color-dark-orange-4: hsl(var(--ewf-color-dark-orange-4-parts));
    --ewf-color-dark-orange-5: hsl(var(--ewf-color-dark-orange-hue), 100%, 68%);
    --ewf-color-dark-orange-6: hsl(var(--ewf-color-dark-orange-hue), 50%, 30%);
    --ewf-color-dark-orange-7: hsl(var(--ewf-color-dark-orange-hue), 65%, 40%);
    --ewf-color-light-orange-hue: 33deg;
    --ewf-color-light-orange-1-parts: var(--ewf-color-light-orange-hue), 100%, 30%;
    --ewf-color-light-orange-1: hsl(var(--ewf-color-light-orange-1-parts));
    --ewf-color-light-orange-2-parts: var(--ewf-color-light-orange-hue), 100%, 60%;
    --ewf-color-light-orange-2: hsl(var(--ewf-color-light-orange-2-parts));
    --ewf-color-light-orange-3-parts: var(--ewf-color-light-orange-hue), 80%, 60%;
    --ewf-color-light-orange-3: hsl(var(--ewf-color-light-orange-3-parts));
    /* Red */
    --ewf-color-red-hue: 348deg;
    --ewf-color-red-1: hsl(var(--ewf-color-red-hue), 66%, 71%);
    --ewf-color-red-2: hsl(var(--ewf-color-red-hue), 70%, 40%);
    --ewf-color-red-3: hsl(var(--ewf-color-red-hue), 70%, 54%);
    /* Yellow */
    --ewf-color-yellow-hue: 47deg;
    --ewf-color-yellow-1: hsl(var(--ewf-color-yellow-hue), 100%, 51%);
    --ewf-color-yellow-2: hsl(var(--ewf-color-yellow-hue), 90%, 80%);
    --ewf-color-yellow-3: hsl(var(--ewf-color-yellow-hue), 60%, 50%);
    --ewf-color-yellow-4: hsl(var(--ewf-color-yellow-hue), 64%, 67%);
    /* Grayscale */
    --ewf-color-white-hue: 0deg;
    --ewf-color-black: hsl(var(--ewf-color-white-hue), 0%, 0%);
    --ewf-color-gray-5: hsl(var(--ewf-color-white-hue), 0%, 5%);
    --ewf-color-gray-10: hsl(var(--ewf-color-white-hue), 0%, 10%);
    --ewf-color-gray-15: hsl(var(--ewf-color-white-hue), 0%, 15%);
    --ewf-color-gray-20: hsl(var(--ewf-color-white-hue), 0%, 20%);
    --ewf-color-gray-25: hsl(var(--ewf-color-white-hue), 0%, 25%);
    --ewf-color-gray-30: hsl(var(--ewf-color-white-hue), 0%, 30%);
    --ewf-color-gray-35: hsl(var(--ewf-color-white-hue), 0%, 35%);
    --ewf-color-gray-40: hsl(var(--ewf-color-white-hue), 0%, 40%);
    --ewf-color-gray-45: hsl(var(--ewf-color-white-hue), 0%, 45%);
    --ewf-color-gray-50: hsl(var(--ewf-color-white-hue), 0%, 50%);
    --ewf-color-gray-55: hsl(var(--ewf-color-white-hue), 0%, 55%);
    --ewf-color-gray-60: hsl(var(--ewf-color-white-hue), 0%, 60%);
    --ewf-color-gray-65: hsl(var(--ewf-color-white-hue), 0%, 65%);
    --ewf-color-gray-70: hsl(var(--ewf-color-white-hue), 0%, 70%);
    --ewf-color-gray-75: hsl(var(--ewf-color-white-hue), 0%, 75%);
    --ewf-color-gray-80-parts: var(--ewf-color-white-hue), 0%, 80%;
    --ewf-color-gray-80: hsl(var(--ewf-color-gray-80-parts));
    --ewf-color-gray-85: hsl(var(--ewf-color-white-hue), 0%, 85%);
    --ewf-color-gray-90: hsl(var(--ewf-color-white-hue), 0%, 90%);
    --ewf-color-gray-95: hsl(var(--ewf-color-white-hue), 0%, 95%);
    --ewf-color-white: hsl(var(--ewf-color-white-hue), 0%, 100%);
}

/* Tema chiaro */

:root {
    /* Gerarchia Estro */
    --ewf-primary: var(--ewf-color-dark-blue-1);
    --ewf-primary-active-box-shadow: hsla(var(--ewf-color-light-blue-2-parts), 0.5);
    --ewf-primary-background-color: var(--ewf-color-dark-blue-1);
    --ewf-primary-border-color: var(--ewf-color-light-blue-3);
    --ewf-primary-color: var(--ewf-color-white);
    --ewf-primary-hover-filter-brightness: 1.2;
    --ewf-secondary-active-box-shadow: hsla(var(--ewf-color-azure-gray-3-parts), 0.5);
    --ewf-secondary-background-color: var(--ewf-color-white);
    --ewf-secondary-border-color: var(--ewf-color-azure-gray-1);
    --ewf-secondary-color: var(--ewf-color-azure-gray-4);
    --ewf-secondary-hover-filter-brightness: 0.8;
    --ewf-danger-background-color: var(--ewf-color-red-3);
    --ewf-danger-border-color: var(--ewf-color-red-2);
    --ewf-danger-color: var(--ewf-color-white);
    /* Alert */
    --ewf-alert-primary-background-color: var(--ewf-color-light-blue-5);
    --ewf-alert-primary-border-color: var(--ewf-color-light-blue-6);
    --ewf-alert-primary-color: var(--ewf-color-dark-blue-5);
    /* Componenti */
    --ewf-generic-background-color: var(--ewf-color-light-blue-4);
    --ewf-generic-border-color: var(--ewf-color-azure-gray-1);
    --ewf-icon-color: var(--ewf-color-dark-blue-1);
    --ewf-icon-dark-color: var(--ewf-color-dark-blue-1);
    --ewf-breadcrumb-color: var(--ewf-color-azure-gray-3);
    --ewf-busy-panel-background-color: var(--ewf-color-gray-95);
    --ewf-busy-spinner-background-color: var(--ewf-color-black-blue-5);
    --ewf-busy-message-color: var(--ewf-color-white);
    --ewf-busy-message-background-color: var(--ewf-color-black-blue-5);
    --ewf-card-background-color: var(--ewf-color-white);
    --ewf-card-border-color: var(--ewf-color-azure-gray-1);
    --ewf-card-box-shadow-color: var(--ewf-color-dark-blue-3-parts);
    --ewf-card-hover-border-color: var(--ewf-color-light-blue-1);
    --ewf-calendar-not-current-month-color: var(--ewf-color-gray-60);
    --ewf-catalog-card-background-color: var(--ewf-color-white);
    --ewf-checkbox-background-color: var(--ewf-color-dark-blue-1);
    --ewf-checkbox-color: var(--ewf-color-white);
    --ewf-checkbox-disabled-background-color: var(--ewf-color-gray-60);
    --ewf-checkbox-disabled-color: var(--ewf-color-white);
    --ewf-checkbox-focused-background-color: var(--ewf-color-light-orange-3);
    --ewf-dropdown-active-background-color: var(--ewf-primary-background-color);
    --ewf-dropdown-active-color: var(--ewf-primary-color);
    --ewf-dropdown-background-color: var(--ewf-color-white);
    --ewf-dropdown-border-color: var(--ewf-color-azure-gray-1);
    --ewf-dropdown-color: var(--ewf-color-dark-blue-5);
    --ewf-dropdown-divider-border-color: var(--ewf-color-azure-gray-7);
    --ewf-dropdown-header-color: var(--ewf-color-azure-gray-3);
    --ewf-esmodal-clear-button-color: var(--ewf-color-gray-70);
    --ewf-groupbox-header-background-color: var(--ewf-color-dark-blue-1);
    --ewf-groupbox-header-border-color: var(--ewf-color-gray-85);
    --ewf-groupbox-header-color: var(--ewf-color-white);
    --ewf-grid-border-color: var(--ewf-color-azure-gray-2);
    --ewf-grid-card-border-color: var(--ewf-color-gray-85);
    --ewf-grid-description-color: var(--ewf-color-dark-blue-1);
    --ewf-grid-header-background-color: var(--ewf-color-dark-blue-1);
    --ewf-grid-header-color: var(--ewf-color-white);
    --ewf-grid-link-color: var(--ewf-color-light-blue-7);
    --ewf-grid-selected-link-color: var(--ewf-color-dark-blue-1);
    --ewf-input-background-color: var(--ewf-color-white);
    --ewf-input-border-color: var(--ewf-color-azure-gray-2);
    --ewf-input-color: var(--ewf-color-azure-gray-8);
    --ewf-input-dropdown-button-color: var(--ewf-color-dark-blue-1);
    --ewf-input-focused-background-color: var(--ewf-color-yellow-2);
    --ewf-input-focused-border-color: var(--ewf-color-yellow-3);
    --ewf-input-focused-color: var(--ewf-color-azure-gray-8);
    --ewf-input-focused-icon-color: var(--ewf-color-dark-blue-1);
    --ewf-input-icon-color: var(--ewf-color-dark-blue-1);
    --ewf-input-invalid-border-color: var(--ewf-color-red-1);
    --ewf-input-readonly-color: var(--ewf-color-gray-55);
    --ewf-input-selected-background-color: hsla(var(--ewf-color-light-orange-1-parts), 0.17);
    --ewf-pagination-link-color: var(--ewf-color-dark-blue-1);
    --ewf-pagination-link-disabled-color: var(--ewf-color-gray-85);
    --ewf-report-pars-container-background-color: var(--ewf-color-gray-70);
    --ewf-report-pars-description-color: var(--ewf-color-white);
    --ewf-report-pars-groupbox-border-color: var(--ewf-color-dark-blue-3);
    --ewf-sidebar-active-color: var(--ewf-color-dark-blue-1);
    --ewf-sidebar-active-icon-color: var(--ewf-color-dark-blue-1);
    --ewf-sidebar-active-border-color: var(--ewf-color-light-blue-1);
    --ewf-sidebar-background-color: var(--ewf-color-dark-blue-1);
    --ewf-sidebar-color: var(--ewf-color-white);
    --ewf-sidebar-icon-color: var(--ewf-color-white);
    --ewf-tab-color: var(--ewf-color-dark-blue-1);
    --ewf-tab-active-border-color: var(--ewf-color-dark-blue-1);
    --ewf-tab-hovered-border-color: var(--ewf-color-light-blue-1);
    --ewf-tab-hr-border-color: var(--ewf-color-azure-gray-2);
    --ewf-table-row-even-background-color: var(--ewf-color-white);
    --ewf-table-row-odd-background-color: var(--ewf-color-azure-gray-7);
    --ewf-table-row-selected-background-color: var(--ewf-color-yellow-2);
    --ewf-table-detail-background-color: var(--ewf-color-light-blue-4);
    --ewf-table-detail-indent-color: var(--ewf-color-gray-65);
    --ewf-text-color: var(--ewf-color-dark-blue-5);
    --ewf-text-dark-color: var(--ewf-color-dark-blue-5);
    --ewf-text-emphasized-color: var(--ewf-color-dark-blue-1);
    --ewf-toolbar-background-color: var(--ewf-color-azure-gray-6);
    --ewf-toolbar-border-color: var(--ewf-color-gray-60);
    --ewf-toolbar-separator-color: var(--ewf-color-gray-80);
    /* Override colori Bootstrap */
    --red: var(--ewf-color-red-3);
}

/* Tema scuro - Variabili */

.ewf-theme-dark {
    /* Gerarchia Estro */
    --ewf-primary: var(--ewf-color-dark-orange-2);
    --ewf-primary-active-box-shadow: hsla(var(--ewf-color-dark-orange-4-parts), 0.5);
    --ewf-primary-background-color: var(--ewf-color-dark-orange-2);
    --ewf-primary-border-color: var(--ewf-color-dark-orange-1);
    --ewf-primary-color: var(--ewf-color-white);
    --ewf-primary-hover-filter-brightness: 1.2;
    --ewf-secondary-background-color: var(--ewf-color-gray-75);
    --ewf-secondary-border-color: var(--ewf-color-gray-75);
    --ewf-secondary-color: var(--ewf-color-dark-blue-5);
    --ewf-secondary-hover-filter-brightness: 0.8;
    --ewf-danger-background-color: var(--ewf-color-red-2);
    --ewf-danger-border-color: var(--ewf-color-red-3);
    --ewf-danger-color: var(--ewf-color-white);
    /* Alert */
    --ewf-alert-primary-background-color: var(--ewf-color-dark-orange-6);
    --ewf-alert-primary-border-color: var(--ewf-color-dark-orange-7);
    --ewf-alert-primary-color: var(--ewf-color-white);
    /* Componenti */
    --ewf-generic-background-color: var(--ewf-color-black-blue-3);
    --ewf-generic-border-color: var(--ewf-color-gray-35);
    --ewf-icon-color: var(--ewf-color-white);
    --ewf-icon-dark-color: var(--ewf-color-dark-orange-6);
    --ewf-breadcrumb-color: var(--ewf-color-gray-80);
    --ewf-busy-panel-background-color: var(--ewf-color-gray-55);
    --ewf-busy-spinner-background-color: var(--ewf-color-gray-80);
    --ewf-busy-message-color: var(--ewf-color-gray-20);
    --ewf-busy-message-background-color: var(--ewf-color-gray-80);
    --ewf-card-background-color: var(--ewf-color-black-blue-2);
    --ewf-card-border-color: var(--ewf-color-gray-40);
    --ewf-card-box-shadow-color: var(--ewf-color-gray-80-parts);
    --ewf-card-hover-border-color: var(--ewf-color-dark-orange-5);
    --ewf-calendar-not-current-month-color: var(--ewf-color-gray-40);
    --ewf-catalog-card-background-color: var(--ewf-color-black-blue-3);
    --ewf-checkbox-background-color: var(--ewf-color-gray-60);
    --ewf-checkbox-color: var(--ewf-color-white);
    --ewf-checkbox-disabled-background-color: var(--ewf-color-gray-40);
    --ewf-checkbox-disabled-color: var(--ewf-color-white);
    --ewf-checkbox-focused-background-color: var(--ewf-color-light-orange-1);
    --ewf-dropdown-active-background-color: var(--ewf-primary-background-color);
    --ewf-dropdown-active-color: var(--ewf-primary-color);
    --ewf-dropdown-background-color: var(--ewf-color-black-blue-1);
    --ewf-dropdown-border-color: var(--ewf-color-gray-40);
    --ewf-dropdown-color: var(--ewf-color-white);
    --ewf-dropdown-divider-border-color: var(--ewf-color-gray-35);
    --ewf-dropdown-header-color: var(--ewf-color-gray-65);
    --ewf-esmodal-clear-button-color: var(--ewf-color-gray-50);
    --ewf-groupbox-header-background-color: var(--ewf-color-gray-75);
    --ewf-groupbox-header-border-color: var(--ewf-color-gray-35);
    --ewf-groupbox-header-color: var(--ewf-color-dark-blue-5);
    --ewf-grid-border-color: var(--ewf-color-gray-20);
    --ewf-grid-card-border-color: var(--ewf-color-gray-35);
    --ewf-grid-description-color: var(--ewf-color-white);
    --ewf-grid-header-background-color: var(--ewf-color-gray-75);
    --ewf-grid-header-color: var(--ewf-color-dark-blue-5);
    --ewf-grid-link-color: var(--ewf-color-yellow-3);
    --ewf-grid-selected-link-color: var(--ewf-color-dark-orange-6);
    --ewf-input-background-color: var(--ewf-color-black-blue-5);
    --ewf-input-border-color: var(--ewf-color-gray-35);
    --ewf-input-color: var(--ewf-color-white);
    --ewf-input-dropdown-button-color: var(--ewf-color-gray-75);
    --ewf-input-focused-background-color: var(--ewf-color-yellow-4);
    --ewf-input-focused-border-color: var(--ewf-color-yellow-3);
    --ewf-input-focused-color: var(--ewf-color-azure-gray-8);
    --ewf-input-focused-icon-color: var(--ewf-color-azure-gray-8);
    --ewf-input-icon-color: var(--ewf-color-gray-75);
    --ewf-input-invalid-border-color: var(--ewf-color-red-1);
    --ewf-input-readonly-color: var(--ewf-color-gray-65);
    --ewf-input-selected-background-color: hsla(var(--ewf-color-light-orange-1-parts), 0.17);
    --ewf-pagination-link-color: var(--ewf-color-white);
    --ewf-pagination-link-disabled-color: var(--ewf-color-gray-40);
    --ewf-report-pars-container-background-color: var(--ewf-color-gray-70);
    --ewf-report-pars-description-color: var(--ewf-color-white);
    --ewf-report-pars-groupbox-border-color: var(--ewf-color-dark-blue-3);
    --ewf-sidebar-active-color: var(--ewf-color-black-blue-1);
    --ewf-sidebar-active-icon-color: var(--ewf-color-black-blue-1);
    --ewf-sidebar-active-border-color: var(--ewf-color-dark-orange-4);
    --ewf-sidebar-background-color: var(--ewf-color-black-blue-1);
    --ewf-sidebar-icon-color: var(--ewf-color-white);
    --ewf-tab-color: var(--ewf-color-white);
    --ewf-tab-active-border-color: var(--ewf-color-dark-orange-4);
    --ewf-tab-hovered-border-color: var(--ewf-color-dark-orange-5);
    --ewf-tab-hr-border-color: var(--ewf-color-black-blue-4);
    --ewf-table-row-even-background-color: var(--ewf-color-black-blue-6);
    --ewf-table-row-odd-background-color: var(--ewf-color-black-blue-3);
    --ewf-table-row-selected-background-color: var(--ewf-color-yellow-4);
    --ewf-table-detail-background-color: var(--ewf-color-black-blue-3);
    --ewf-table-detail-indent-color: var(--ewf-color-black-blue-3);
    --ewf-text-color: var(--ewf-color-white);
    --ewf-text-emphasized-color: var(--ewf-color-yellow-3);
    --ewf-toolbar-background-color: var(--ewf-color-dark-blue-4);
    --ewf-toolbar-border-color: var(--ewf-color-gray-40);
    --ewf-toolbar-separator-color: var(--ewf-color-gray-30);
    /* Override colori Bootstrap */
    --blue: var(--ewf-color-light-blue-2);
    --cyan: var(--ewf-color-cyan-1);
    --green: var(--ewf-color-dark-green-2);
    --red: var(--ewf-color-red-2);
    --yellow: var(--ewf-color-yellow-1);
    /* Override gerarchia Bootstrap */
    --primary: var(--blue);
    --success: var(--green);
    --info: var(--cyan);
    --warning: var(--yellow);
    --danger: var(--red);
}

body {
    background-color: var(--ewf-generic-background-color);
    color: var(--ewf-text-color);
    font-size: var(--ewf-font-size);
    overscroll-behavior: none;
}

.fa,
.fas {
    color: var(--ewf-icon-color);
}

.content {
    padding: calc(2 * var(--ewf-gap-rem));
}

/* Aspetto controlli in browsing/readonly */

div[data-is-browsing='True'] {
    opacity: 1;
}

div[data-is-browsing='False'][data-readonly='True'] > .ewf-text-muted /* Controllo generico */,
div[data-is-browsing='False'][data-readonly='True'] > div.ewf-escode-description > .ewf-text-muted /* Descrizione ESCode */ {
    opacity: var(--ewf-disabled-opacity);
}

div[data-required='True'] > .ewf-text-muted /* Controllo generico */,
div[data-required='True'] > div.ewf-escode-description > .ewf-text-muted /* Descrizione ESCode */ {
    font-weight: 500;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6em 1.25em 0.7em 1.25em;
    position: fixed;
    width: 100%;
    z-index: 10000;
    color: var(--ewf-color-gray-10);
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

#components-reconnect-modal {
    color: var(--ewf-color-gray-10);
}

.row {
    /* Uso i rem per avere una spaziatura uniforme anche in punti della pagina con font-size differenti */
    margin-left: calc(-1 * var(--ewf-gap-rem));
    margin-right: calc(-1 * var(--ewf-gap-rem));
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl,
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
    /* Uso i rem per avere una spaziatura uniforme anche in punti della pagina con font-size differenti */
    padding-left: var(--ewf-gap-rem);
    padding-right: var(--ewf-gap-rem);
}

.row + .row {
    /* Uso gli em perché la spaziatura verso l'alto deve essere proporzionale al font-size */
    margin-top: var(--ewf-gap-em);
}

.alert-primary {
    background-color: var(--ewf-alert-primary-background-color);
    border-color: var(--ewf-alert-primary-border-color);
    color: var(--ewf-alert-primary-color);
}

    .alert-primary .alert-link {
        color: var(--ewf-alert-primary-color);
    }

    .alert-primary hr {
        border-top-color: var(--ewf-alert-primary-border-color);
    }

.alert-secondary {
    background-color: var(--ewf-color-white);
    border-color: var(--ewf-color-azure-gray-1);
    color: var(--ewf-color-dark-blue-5);
}

    .alert-secondary .alert-link {
        color: var(--ewf-color-dark-blue-5);
    }

.btn {
    padding-inline: 1.2em;
}

.btn-primary {
    background-color: var(--ewf-primary-background-color);
    border-color: var(--ewf-primary-border-color);
    color: var(--ewf-primary-color);
}

    .btn-primary:not(.disabled):not(:disabled).hover,
    .btn-primary:not(.disabled):not(:disabled):hover {
        background-color: var(--ewf-primary-background-color);
        border-color: var(--ewf-primary-border-color);
        color: var(--ewf-primary-color);
        filter: brightness(var(--ewf-primary-hover-filter-brightness));
    }

    .btn-primary:not(.disabled):not(:disabled).active,
    .btn-primary:not(.disabled):not(:disabled):active,
    .show > .btn-primary.dropdown-toggle {
        background-color: var(--ewf-primary-background-color);
        border-color: var(--ewf-primary-border-color);
        color: var(--ewf-primary-color);
        filter: brightness(var(--ewf-primary-hover-filter-brightness));
    }

    .btn-primary:not(.disabled):not(:disabled).focus,
    .btn-primary:not(.disabled):not(:disabled):focus {
        background-color: var(--ewf-primary-background-color);
        border-color: var(--ewf-primary-border-color);
        box-shadow: 0 0 0 0.2rem var(--ewf-primary-active-box-shadow);
        color: var(--ewf-primary-color);
        filter: brightness(var(--ewf-primary-hover-filter-brightness));
    }

    .btn-primary:not(.disabled):not(:disabled).active:focus,
    .btn-primary:not(.disabled):not(:disabled):active:focus,
    .show > .btn-primary.dropdown-toggle:focus {
        background-color: var(--ewf-primary-background-color);
        border-color: var(--ewf-primary-border-color);
        box-shadow: 0 0 0 0.2rem var(--ewf-primary-active-box-shadow);
        color: var(--ewf-primary-color);
        filter: brightness(var(--ewf-primary-hover-filter-brightness));
    }

    .btn-primary.disabled,
    .btn-primary:disabled {
        background-color: var(--ewf-primary-background-color);
        border-color: var(--ewf-primary-border-color);
        color: var(--ewf-primary-color);
    }

.btn-secondary {
    background-color: var(--ewf-secondary-background-color);
    border-color: var(--ewf-secondary-border-color);
    color: var(--ewf-secondary-color);
}

    .btn-secondary:not(.disabled):not(:disabled).hover,
    .btn-secondary:not(.disabled):not(:disabled):hover {
        background-color: var(--ewf-secondary-background-color);
        border-color: var(--ewf-secondary-border-color);
        color: var(--ewf-secondary-color);
        filter: brightness(var(--ewf-secondary-hover-filter-brightness));
    }

    .btn-secondary:not(.disabled):not(:disabled).active,
    .btn-secondary:not(.disabled):not(:disabled):active,
    .show > .btn-secondary.dropdown-toggle {
        background-color: var(--ewf-secondary-background-color);
        border-color: var(--ewf-secondary-border-color);
        color: var(--ewf-secondary-color);
        filter: brightness(var(--ewf-secondary-hover-filter-brightness));
    }

    .btn-secondary:not(.disabled):not(:disabled).focus,
    .btn-secondary:not(.disabled):not(:disabled):focus {
        background-color: var(--ewf-secondary-background-color);
        border-color: var(--ewf-secondary-border-color);
        box-shadow: 0 0 0 0.2rem var(--ewf-secondary-active-box-shadow);
        color: var(--ewf-secondary-color);
        filter: brightness(var(--ewf-secondary-hover-filter-brightness));
    }

    .btn-secondary:not(.disabled):not(:disabled).active:focus,
    .btn-secondary:not(.disabled):not(:disabled):active:focus,
    .show > .btn-secondary.dropdown-toggle:focus {
        background-color: var(--ewf-secondary-background-color);
        border-color: var(--ewf-secondary-border-color);
        box-shadow: 0 0 0 0.2rem var(--ewf-secondary-active-box-shadow);
        color: var(--ewf-secondary-color);
        filter: brightness(var(--ewf-secondary-hover-filter-brightness));
    }

    .btn-secondary.disabled,
    .btn-secondary:disabled {
        background-color: var(--ewf-secondary-background-color);
        border-color: var(--ewf-secondary-border-color);
        color: var(--ewf-secondary-color);
    }

.card {
    background-color: var(--ewf-card-background-color);
}

.dropdown-menu {
    background-color: var(--ewf-dropdown-background-color);
    border: thin var(--ewf-dropdown-border-color) solid;
}

    .dropdown-menu label {
        color: var(--ewf-dropdown-color);
    }

.dropdown-header {
    color: var(--ewf-dropdown-header-color);
}

.dropdown-divider {
    border-top-color: var(--ewf-dropdown-divider-border-color);
}

.dropdown-item {
    color: var(--ewf-dropdown-color);
}

    .dropdown-item.active,
    .dropdown-item:active {
        background-color: var(--ewf-dropdown-active-background-color);
        color: var(--ewf-dropdown-active-color);
    }

    .dropdown-item.disabled {
        color: var(--ewf-dropdown-color);
        opacity: var(--ewf-disabled-opacity);
    }

.form-group label {
    margin-bottom: 0;
}

.form-control {
    border-color: var(--ewf-input-border-color);
    background-color: var(--ewf-input-background-color);
    color: var(--ewf-input-color);
}

    .form-control.focus,
    .form-control:focus {
        color: var(--ewf-input-focused-color);
        background-color: var(--ewf-input-focused-background-color);
        border-color: var(--ewf-input-focused-border-color);
        box-shadow: none;
    }

    .form-control::selection {
        background-color: var(--ewf-input-selected-background-color);
    }

    .form-control.form-control-sm {
        font-size: 1em;
    }

    .form-control:read-only:not(.focus):not(:focus) {
        /* Gli input read-only devono avere lo sfondo bianco, ma non devo forzarlo anche sui bottoni a destra */
        background-color: var(--ewf-input-background-color);
        box-shadow: none;
        color: var(--ewf-input-color);
    }

.table {
    color: var(--ewf-text-color);
}

    .table tbody td,
    .table thead th {
        border-color: var(--ewf-grid-border-color);
    }

.table-bordered {
    border-color: var(--ewf-grid-border-color);
}

    .table-bordered tbody td,
    .table-bordered thead th {
        border-color: var(--ewf-grid-border-color);
    }

.text-primary {
    color: var(--primary) !important;
}

.text-success {
    color: var(--success) !important;
}

.text-info {
    color: var(--info) !important;
}

.text-warning {
    color: var(--warning) !important;
}

.text-danger {
    color: var(--danger) !important;
}

.ewf-device-tablet .font-weight-bold {
    /* Su tablet si ritiene che il peso normale sia poco leggibile */
    font-weight: 500 !important;
}

.text-muted {
    overflow: hidden;
}

/* Tema scuro - Nuovi default */

.ewf-theme-dark {
}

    .ewf-theme-dark .bg-primary {
        background-color: var(--primary) !important;
    }

    .ewf-theme-dark .bg-success {
        background-color: var(--success) !important;
    }

    .ewf-theme-dark .bg-info {
        background-color: var(--info) !important;
    }

    .ewf-theme-dark .bg-warning {
        background-color: var(--warning) !important;
    }

    .ewf-theme-dark .bg-danger {
        background-color: var(--danger) !important;
    }

    .ewf-theme-dark .bg-light {
        background-color: var(--ewf-color-azure-gray-8) !important;
    }

    .ewf-theme-dark .btn-secondary .fas {
        /* I bottoni secondari, nel tema scuro, necessitano di un'icona scura */
        color: var(--ewf-secondary-color);
    }

    .ewf-theme-dark .input-group .btn-secondary .fas {
        /* Le icone a destra negli input, nel tema scuro, necessitano di un'icona chiara */
        color: var(--ewf-icon-color);
    }

    .ewf-theme-dark .text-muted {
        color: var(--ewf-color-gray-80) !important;
    }

/* Buttons */

.dxbl-btn {
    --dxbl-btn-border-radius: var(--ewf-border-radius-sm);
    --dxbl-btn-color: var(--ewf-text-color);
    --dxbl-btn-focus-shadow-color: var(--ewf-primary-background-color);
    /* DevExpress applica già un'opacità allo sfondo e al testo: complessivamente era troppo opaco */
    --dxbl-btn-disabled-opacity: 1;
}

    .dxbl-btn.dxbl-btn-primary {
        --dxbl-btn-bg: var(--ewf-primary-background-color);
        --dxbl-btn-border-color: var(--ewf-primary-border-color);
        --dxbl-btn-color: var(--ewf-primary-color);
        --dxbl-btn-active-bg: var(--ewf-primary-background-color);
        --dxbl-btn-active-border-color: var(--ewf-primary-border-color);
        --dxbl-btn-active-color: var(--ewf-primary-color);
        --dxbl-btn-hover-bg: var(--ewf-primary-background-color);
        --dxbl-btn-hover-border-color: var(--ewf-primary-border-color);
        --dxbl-btn-hover-color: var(--ewf-primary-color);
        --dxbl-btn-disabled-bg: var(--ewf-primary-background-color);
        --dxbl-btn-disabled-border-color: var(--ewf-primary-border-color);
        --dxbl-btn-disabled-color: var(--ewf-primary-color);
        --dxbl-btn-focus-shadow-color: var(--ewf-primary-background-color);
    }

    .dxbl-btn.dxbl-btn-secondary {
        --dxbl-btn-bg: var(--ewf-secondary-background-color);
        --dxbl-btn-border-color: var(--ewf-secondary-border-color);
        --dxbl-btn-color: var(--ewf-secondary-color);
        --dxbl-btn-active-bg: var(--ewf-secondary-background-color);
        --dxbl-btn-active-border-color: var(--ewf-secondary-border-color);
        --dxbl-btn-active-color: var(--ewf-secondary-color);
        --dxbl-btn-hover-bg: var(--ewf-secondary-background-color);
        --dxbl-btn-hover-border-color: var(--ewf-secondary-border-color);
        --dxbl-btn-hover-color: var(--ewf-secondary-color);
        --dxbl-btn-disabled-bg: var(--ewf-secondary-background-color);
        --dxbl-btn-disabled-border-color: var(--ewf-secondary-border-color);
        --dxbl-btn-disabled-color: var(--ewf-secondary-color);
        --dxbl-btn-focus-shadow-color: var(--ewf-secondary-background-color);
    }

        .dxbl-btn.dxbl-btn-secondary .fa, .dxbl-btn.dxbl-btn-secondary .fas {
            color: var(--ewf-icon-dark-color);
        }

    .dxbl-btn.dxbl-btn-danger {
        --dxbl-btn-bg: var(--ewf-danger-background-color);
        --dxbl-btn-border-color: var(--ewf-danger-border-color);
        --dxbl-btn-color: var(--ewf-danger-color);
        --dxbl-btn-active-bg: var(--ewf-danger-background-color);
        --dxbl-btn-active-border-color: var(--ewf-danger-border-color);
        --dxbl-btn-active-color: var(--ewf-danger-color);
        --dxbl-btn-hover-bg: var(--ewf-danger-background-color);
        --dxbl-btn-hover-border-color: var(--ewf-danger-border-color);
        --dxbl-btn-hover-color: var(--ewf-danger-color);
        --dxbl-btn-disabled-bg: var(--ewf-danger-background-color);
        --dxbl-btn-disabled-border-color: var(--ewf-danger-border-color);
        --dxbl-btn-disabled-color: var(--ewf-danger-color);
        --dxbl-btn-focus-shadow-color: var(--ewf-danger-background-color);
    }

    .dxbl-btn.dxbl-btn-link,
    .dxbl-btn.dxbl-btn-outline-link,
    .dxbl-btn.dxbl-btn-text-link {
        --dxbl-btn-hover-color: var(--ewf-primary-background-color);
    }

        .dxbl-btn.dxbl-btn-link span:not(.dxbl-image),
        .dxbl-btn.dxbl-btn-outline-link span:not(.dxbl-image),
        .dxbl-btn.dxbl-btn-text-link span:not(.dxbl-image) {
            text-decoration: none;
        }

.dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.ewf-inner-button,
.dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.dxbl-edit-btn-dropdown {
    /* Bottone inserito a destra di un input di testo o di una combo */
    border-left: 0;
}

    .dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.ewf-inner-button .fas,
    .dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.dxbl-edit-btn-dropdown .dxbl-image {
        color: var(--ewf-input-icon-color);
        opacity: 1;
    }

    .dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.ewf-inner-button:not(.dxbl-disabled):not(:disabled):hover .fas,
    .dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.dxbl-edit-btn-dropdown:not(.dxbl-disabled):not(:disabled):hover .dxbl-image {
        color: var(--ewf-input-icon-color);
        opacity: 1;
    }

    .dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.ewf-inner-button:not(.dxbl-disabled):not(:disabled):hover::before,
    .dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.dxbl-edit-btn-dropdown:not(.dxbl-disabled):not(:disabled):hover::before {
        background-color: transparent;
    }

    .dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.ewf-inner-button.dxbl-disabled,
    .dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.dxbl-edit-btn-dropdown.dxbl-disabled {
        opacity: var(--ewf-disabled-opacity);
    }

        .dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.ewf-inner-button.dxbl-disabled::before,
        .dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.dxbl-edit-btn-dropdown.dxbl-disabled::before {
            background-color: transparent;
        }

.dxbl-text-edit:focus-within > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.ewf-inner-button .fas,
.dxbl-text-edit:focus-within > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.dxbl-edit-btn-dropdown .dxbl-image {
    color: var(--ewf-input-focused-icon-color);
}

.dxbl-text-edit:focus-within > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.ewf-inner-button:not(.dxbl-disabled):not(:disabled):hover .fas,
.dxbl-text-edit:focus-within > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.dxbl-edit-btn-dropdown:not(.dxbl-disabled):not(:disabled):hover .dxbl-image {
    color: var(--ewf-input-focused-icon-color);
}

.dxbl-btn:not(.dxbl-disabled):not(:disabled).dxbl-focused,
.dxbl-btn:not(.dxbl-disabled):not(:disabled):focus-visible {
    outline: unset;
    --dxbl-btn-bg: var(--ewf-input-focused-background-color);
    --dxbl-btn-border-color: var(--ewf-input-focused-border-color);
    --dxbl-btn-color: var(--ewf-input-focused-color);
    --dxbl-btn-active-bg: var(--ewf-input-focused-background-color);
    --dxbl-btn-active-border-color: var(--ewf-input-focused-border-color);
    --dxbl-btn-active-color: var(--ewf-input-focused-color);
    --dxbl-btn-hover-bg: var(--ewf-input-focused-background-color);
    --dxbl-btn-hover-border-color: var(--ewf-input-focused-border-color);
    --dxbl-btn-hover-color: var(--ewf-input-focused-color);
    --dxbl-btn-disabled-bg: var(--ewf-input-focused-background-color);
    --dxbl-btn-disabled-border-color: var(--ewf-input-focused-border-color);
    --dxbl-btn-disabled-color: var(--ewf-input-focused-color);
    --dxbl-btn-focus-shadow-color: var(--ewf-input-focused-background-color);
}

/* Calendar */

.dxbl-calendar {
    --dxbl-calendar-bg: var(--ewf-dropdown-background-color);
    --dxbl-calendar-color: var(--ewf-text-color);
    --dxbl-calendar-border-color: var(--ewf-dropdown-border-color);
    --dxbl-calendar-readonly-color: var(--ewf-text-color);
    --dxbl-calendar-disabled-color: var(--ewf-text-color);
    --dxbl-calendar-weekend-color: var(--red);
    --dxbl-calendar-not-current-month-color: var(--ewf-calendar-not-current-month-color);
    --dxbl-calendar-today-border-color: var(--ewf-primary);
}

/* CheckBox */

.dxbl-checkbox {
    /* Override variabili estroWF con quelle definite negli script, se presenti */
    --ewf-checkbox-background-color-override: var(--ewf-script-backcolor, var(--ewf-checkbox-background-color));
    --ewf-checkbox-color-override: var(--ewf-script-forecolor, var(--ewf-checkbox-color));
    /* Override variabili di DevExpress */
    --dxbl-checkbox-disabled-opacity: 1;
    --dxbl-checkbox-check-element-checked-bg: var(--ewf-checkbox-background-color-override);
    --dxbl-checkbox-check-element-checked-hover-bg: var(--ewf-checkbox-background-color-override);
    --dxbl-checkbox-check-element-checked-color: var(--ewf-checkbox-color-override);
    --dxbl-checkbox-check-element-disabled-bg: var(--ewf-checkbox-background-color-override);
    --dxbl-checkbox-check-element-disabled-color: var(--ewf-checkbox-color-override);
    --dxbl-checkbox-check-element-unchecked-bg: transparent;
    --dxbl-checkbox-check-element-unchecked-hover-bg: var(--ewf-checkbox-background-color-override);
    --dxbl-checkbox-check-element-unchecked-border-color: var(--ewf-checkbox-background-color-override);
    --dxbl-checkbox-check-element-unchecked-hover-border-color: var(--ewf-checkbox-background-color-override);
    --dxbl-checkbox-checked-focus-shadow-color: var(--ewf-checkbox-focused-background-color);
    --dxbl-checkbox-unchecked-focus-shadow-color: var(--ewf-checkbox-focused-background-color);
    --dxbl-checkbox-validation-valid-color: var(--ewf-checkbox-background-color-override);
    --dxbl-checkbox-validation-invalid-color: var(--ewf-checkbox-background-color-override);
}

    .dxbl-checkbox:focus-within {
        --dxbl-checkbox-check-element-checked-bg: var(--ewf-checkbox-focused-background-color);
        --dxbl-checkbox-check-element-checked-hover-bg: var(--ewf-checkbox-focused-background-color);
        --dxbl-checkbox-check-element-unchecked-border-color: var(--ewf-checkbox-focused-background-color);
        --dxbl-checkbox-check-element-unchecked-hover-bg: var(--ewf-checkbox-focused-background-color);
    }

    .dxbl-checkbox.valid:not([type=checkbox]),
    .dxbl-checkbox.valid.modified:not([type=checkbox]),
    .dxbl-checkbox.invalid:not([type=checkbox]),
    .dxbl-checkbox.invalid.modified:not([type=checkbox]) {
        --dxbl-checkbox-check-element-checked-hover-bg: var(--ewf-checkbox-background-color-override);
        --dxbl-checkbox-check-element-unchecked-border-color: var(--ewf-checkbox-background-color-override);
        --dxbl-checkbox-check-element-unchecked-hover-border-color: var(--ewf-checkbox-background-color-override);
        --dxbl-checkbox-checked-focus-shadow-color: var(--ewf-checkbox-focused-background-color);
        --dxbl-checkbox-unchecked-focus-shadow-color: var(--ewf-checkbox-focused-background-color);
    }

    .dxbl-checkbox.valid:focus-within,
    .dxbl-checkbox.valid.modified:focus-within,
    .dxbl-checkbox.invalid:focus-within,
    .dxbl-checkbox.invalid.modified:focus-within {
        --dxbl-checkbox-check-element-checked-bg: var(--ewf-checkbox-focused-background-color);
        --dxbl-checkbox-check-element-checked-hover-bg: var(--ewf-checkbox-focused-background-color);
        --dxbl-checkbox-check-element-unchecked-border-color: var(--ewf-checkbox-focused-background-color);
        --dxbl-checkbox-check-element-unchecked-hover-bg: var(--ewf-checkbox-focused-background-color);
    }

    .dxbl-checkbox.valid:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:focus-within::before,
    .dxbl-checkbox.valid.modified:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:focus-within::before,
    .dxbl-checkbox.invalid:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:focus-within::before,
    .dxbl-checkbox.invalid.modified:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:focus-within::before {
        --dxbl-checkbox-check-element-unchecked-border-color: var(--ewf-checkbox-focused-background-color);
    }

    .dxbl-checkbox.valid:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:hover:focus::before,
    .dxbl-checkbox.valid.modified:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:hover:focus::before,
    .dxbl-checkbox.invalid:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:hover:focus::before,
    .dxbl-checkbox.invalid.modified:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:hover:focus::before {
        --dxbl-checkbox-check-element-unchecked-hover-border-color: var(--ewf-checkbox-focused-background-color);
    }

    .dxbl-checkbox.valid:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:hover:focus-within::before,
    .dxbl-checkbox.valid.modified:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:hover:focus-within::before,
    .dxbl-checkbox.invalid:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:hover:focus-within::before,
    .dxbl-checkbox.invalid.modified:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:hover:focus-within::before {
        --dxbl-checkbox-check-element-unchecked-hover-border-color: var(--ewf-checkbox-focused-background-color);
    }

    .dxbl-checkbox.valid:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:not(.dxbl-disabled):not(:disabled):hover::before,
    .dxbl-checkbox.valid.modified:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:not(.dxbl-disabled):not(:disabled):hover::before,
    .dxbl-checkbox.invalid:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:not(.dxbl-disabled):not(:disabled):hover::before,
    .dxbl-checkbox.invalid.modified:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:not(.dxbl-disabled):not(:disabled):hover::before {
        --dxbl-checkbox-check-element-unchecked-hover-border-color: var(--ewf-checkbox-background-color-override);
    }

    .dxbl-checkbox.valid:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:not(.dxbl-disabled):not(:disabled):hover:focus::before,
    .dxbl-checkbox.valid.modified:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:not(.dxbl-disabled):not(:disabled):hover:focus::before,
    .dxbl-checkbox.invalid:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:not(.dxbl-disabled):not(:disabled):hover:focus::before,
    .dxbl-checkbox.invalid.modified:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:not(.dxbl-disabled):not(:disabled):hover:focus::before {
        --dxbl-checkbox-check-element-unchecked-hover-border-color: var(--ewf-checkbox-focused-background-color);
    }

    .dxbl-checkbox.valid:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:not(.dxbl-disabled):not(:disabled):hover:focus-within::before,
    .dxbl-checkbox.valid.modified:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:not(.dxbl-disabled):not(:disabled):hover:focus-within::before,
    .dxbl-checkbox.invalid:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:not(.dxbl-disabled):not(:disabled):hover:focus-within::before,
    .dxbl-checkbox.invalid.modified:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-checkbox-unchecked .dxbl-checkbox-check-element:not(.dxbl-disabled):not(:disabled):hover:focus-within::before {
        --dxbl-checkbox-check-element-unchecked-hover-border-color: var(--ewf-checkbox-focused-background-color);
    }

    .dxbl-checkbox:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-disabled .dxbl-checkbox-check-element::before {
        background-color: transparent;
    }

    .dxbl-checkbox:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-disabled {
        --dxbl-checkbox-check-element-unchecked-border-color: var(--ewf-checkbox-background-color-override);
    }

/* ContextMenu */

.dxbl-context-menu.dxbl-context-menu-dropdown {
    --dxbl-context-menu-bg: var(--ewf-dropdown-background-color);
    --dxbl-context-menu-color: var(--ewf-dropdown-color);
    --dxbl-context-menu-border-color: var(--ewf-dropdown-border-color);
    --dxbl-context-menu-item-active-bg: var(--ewf-dropdown-active-background-color);
    --dxbl-context-menu-item-active-color: var(--ewf-dropdown-active-color);
    --dxbl-context-menu-separator-color: var(--ewf-dropdown-divider-border-color);
}

/* DropDown */

.dxbl-dropdown,
.dxbl-itemlist-dropdown {
    --dxbl-dropdown-bg: var(--ewf-dropdown-background-color);
    --dxbl-dropdown-color: var(--ewf-dropdown-color);
    --dxbl-dropdown-border-color: var(--ewf-dropdown-border-color);
}

    .dxbl-dropdown > .dxbl-dropdown-dialog.dxbl-edit-dropdown {
        --dxbl-edit-dropdown-bg: var(--ewf-dropdown-background-color);
        --dxbl-edit-dropdown-color: var(--ewf-dropdown-color);
        --dxbl-edit-dropdown-border-color: var(--ewf-dropdown-border-color);
    }

/* ListBox */

.dxbl-list-box,
.dxbl-list-box.valid.modified:not([type=checkbox]) {
    --dxbl-list-box-bg: var(--ewf-input-background-color);
    --dxbl-list-box-color: var(--ewf-dropdown-color);
    --dxbl-list-box-item-border-width: 0px;
    --dxbl-list-box-border-color: var(--ewf-input-border-color);
}

    .dxbl-list-box div.dxbl-list-box-item {
        --dxbl-border-width-with-scaling: 0px;
    }

    .dxbl-list-box > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > table > tbody > tr.dxbl-list-box-item-selected > td::before,
    .dxbl-list-box > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul > li.dxbl-list-box-item-selected::before {
        /* DevExpress applica uno sfondo opaco con una tinta uguale al colore del font */
        background-color: var(--ewf-dropdown-active-background-color);
    }

    .dxbl-list-box:not(.dxbl-disabled):not(:disabled):not(.dxbl-readonly) > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > :not(.dxbl-list-box-empty-data-container) > li.dxbl-list-box-item-selected:not([dxbl-top-virtual-spacer-element]):not([dxbl-bottom-virtual-spacer-element]):hover::before,
    .dxbl-list-box:not(.dxbl-disabled):not(:disabled):not(.dxbl-readonly) > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > :not(.dxbl-list-box-empty-data-container) > tbody > tr.dxbl-list-box-item-selected:not([dxbl-top-virtual-spacer-element]):not([dxbl-bottom-virtual-spacer-element]):hover > td::before {
        /* DevExpress applica uno sfondo opaco con una tinta uguale al colore del font */
        background-color: var(--ewf-dropdown-active-background-color);
    }

    .dxbl-list-box:not(.dxbl-disabled):not(:disabled):not(.dxbl-readonly) div.dxbl-list-box-item:not(.dxbl-disabled):not(:disabled):hover:not(.dxbl-list-box-item-selected):not(.dxbl-list-box-item-disabled):not(.dxbl-list-box-empty-data-item):not(tr)::before {
        /* DevExpress applica uno sfondo opaco con una tinta uguale al colore del font */
        background-color: var(--ewf-dropdown-color);
    }

    .dxbl-listbox {
        --dxbl-listbox-bg: var(--ewf-input-background-color);
        --dxbl-listbox-color: var(--ewf-dropdown-color);
        --dxbl-listbox-item-border-width: 0px;
    }

    .dxbl-listbox div.dxbl-listbox-item-selected::before,
    .dxbl-listbox tr.dxbl-listbox-item-selected > td::before {
        background-color: var(--ewf-dropdown-active-background-color);
    }

    .dxbl-listbox:not(.dxbl-disabled):not(:disabled):not(.dxbl-readonly) div.dxbl-listbox-item:not(.dxbl-disabled):not(:disabled):hover.dxbl-listbox-item-selected:not(.dxbl-listbox-item-disabled):not(.dxbl-listbox-empty-data-item):not(tr)::before,
    .dxbl-listbox:not(.dxbl-disabled):not(:disabled):not(.dxbl-readonly) div.dxbl-listbox-item:not(.dxbl-disabled):not(:disabled):hover.dxbl-listbox-item-selected:not(.dxbl-listbox-item-disabled):not(.dxbl-listbox-empty-data-item) > td::before,
    .dxbl-listbox:not(.dxbl-disabled):not(:disabled):not(.dxbl-readonly) tr.dxbl-listbox-item:not(.dxbl-disabled):not(:disabled):hover.dxbl-listbox-item-selected:not(.dxbl-listbox-item-disabled):not(.dxbl-listbox-empty-data-item):not(tr)::before,
    .dxbl-listbox:not(.dxbl-disabled):not(:disabled):not(.dxbl-readonly) tr.dxbl-listbox-item:not(.dxbl-disabled):not(:disabled):hover.dxbl-listbox-item-selected:not(.dxbl-listbox-item-disabled):not(.dxbl-listbox-empty-data-item) > td::before {
        background-color: var(--ewf-dropdown-active-background-color);
    }

/* Modal */

.dxbl-modal {
    --dxbl-popup-border-color: var(--ewf-card-border-color);
    --dxbl-popup-bg: var(--ewf-generic-background-color);
    --dxbl-popup-color: var(--ewf-text-color);
}

/* Pager */

.dxbl-pager {
    --dxbl-pager-color: var(--ewf-input-background-color);
    --dxbl-pager-btn-bg: transparent;
    --dxbl-pager-btn-border-color: transparent;
    --dxbl-pager-btn-color: var(--ewf-pagination-link-color);
    --dxbl-pager-btn-hover-bg: transparent;
    --dxbl-pager-btn-hover-color: var(--ewf-pagination-link-color);
    --dxbl-pager-btn-disabled-bg: transparent;
    --dxbl-pager-btn-disabled-color: var(--ewf-pagination-link-disabled-color);
    --dxbl-pager-page-edit-bg: var(--ewf-input-background-color);
    --dxbl-pager-page-edit-color: var(--ewf-input-color);
    --dxbl-pager-page-edit-border-color: var(--ewf-input-border-color);
}

    .dxbl-pager .dxbl-pager-page-edit {
        margin-right: var(--dxbl-pager-page-edit-spacing) !important;
    }

    .dxbl-pager .dxbl-pager-page-edit-text {
        display: none;
    }

/* Tabs */

.dxbl-tabs-content-panel {
    --dxbl-tabs-content-color: var(--ewf-text-color);
}

/* TextEdit */

.dxbl-text-edit {
    /* Override variabili estroWF con quelle definite negli script, se presenti */
    --ewf-input-background-color-override: var(--ewf-script-backcolor, var(--ewf-input-background-color));
    --ewf-input-color-override: var(--ewf-script-forecolor, var(--ewf-input-color));
    --ewf-input-font-weight-override: var(--ewf-script-fontweight, unset);
    /* Override variabili di DevExpress */
    --dxbl-text-edit-bg: var(--ewf-input-background-color-override);
    --dxbl-text-edit-box-shadow: none;
    --dxbl-text-edit-border-color: var(--ewf-input-border-color);
    --dxbl-text-edit-border-radius: var(--ewf-border-radius-sm);
    --dxbl-text-edit-btn-bg: var(--ewf-input-background-color-override);
    --dxbl-text-edit-btn-disabled-bg: var(--ewf-input-background-color-override);
    --dxbl-text-edit-btn-disabled-image-color: var(--ewf-input-icon-color);
    --dxbl-text-edit-btn-image-color: var(--ewf-input-color-override);
    --dxbl-text-edit-btn-hover-color: var(--ewf-input-color-override);
    --dxbl-text-edit-color: var(--ewf-input-color-override);
    --dxbl-text-edit-disabled-bg: var(--ewf-generic-background-color);
    --dxbl-text-edit-disabled-color: var(--ewf-input-color-override);
    --dxbl-text-edit-disabled-opacity: unset;
    --dxbl-text-edit-focus-border-color: var(--ewf-input-focused-border-color);
    --dxbl-text-edit-readonly-bg: var(--ewf-input-background-color-override);
    --dxbl-text-edit-readonly-color: var(--ewf-input-color-override);
    --dxbl-text-edit-validation-valid-color: var(--ewf-input-border-color);
    --dxbl-text-edit-validation-invalid-color: var(--ewf-input-invalid-border-color);
}

    .dxbl-text-edit.dxbl-focused,
    .dxbl-text-edit:focus-within {
        /* Override variabili estroWF con quelle definite negli script, se presenti */
        --ewf-input-text-focused-background-color: var(--ewf-script-backcolor, var(--ewf-input-focused-background-color));
        --ewf-input-text-focused-color: var(--ewf-script-forecolor, var(--ewf-input-focused-color));
        /* Override variabili di DevExpress */
        --dxbl-text-edit-bg: var(--ewf-input-text-focused-background-color);
        --dxbl-text-edit-btn-bg: var(--ewf-input-text-focused-background-color);
        --dxbl-text-edit-btn-disabled-bg: var(--ewf-input-text-focused-background-color);
        --dxbl-text-edit-color: var(--ewf-input-text-focused-color);
        --dxbl-text-edit-readonly-bg: var(--ewf-input-text-focused-background-color);
        --dxbl-text-edit-readonly-color: var(--ewf-input-text-focused-color);
        --dxbl-text-edit-validation-valid-color: var(--ewf-input-focused-border-color);
        --dxbl-text-edit-validation-invalid-color: var(--ewf-input-focused-border-color);
    }

    .dxbl-text-edit.dxbl-readonly::before,
    .dxbl-text-edit.dxbl-readonly::after {
        background-color: transparent;
    }

    .dxbl-text-edit > .dxbl-text-edit-input {
        font-weight: var(--ewf-input-font-weight-override);
    }

    .dxbl-text-edit > .dxbl-text-edit-input::selection {
        background-color: var(--ewf-input-selected-background-color);
    }

    .dxbl-text-edit.invalid.modified:not([type=checkbox]) {
        --dxbl-text-edit-border-color: var(--dxbl-text-edit-validation-invalid-color);
        --dxbl-text-edit-focus-border-color: var(--dxbl-text-edit-validation-invalid-color);
    }

/* Toolbar */

.dxbl-toolbar {
    --dxbl-toolbar-color: var(--ewf-text-color);
    --dxbl-toolbar-separator-color: var(--ewf-toolbar-separator-color);
    --dxbl-toolbar-btn-bg: var(--ewf-secondary-background-color);
    --dxbl-toolbar-btn-color: var(--ewf-secondary-color);
    --dxbl-toolbar-btn-border-color: var(--ewf-secondary-border-color);
    --dxbl-toolbar-btn-disabled-color: var(--ewf-secondary-color);
    --dxbl-toolbar-btn-hover-color: var(--ewf-secondary-color);
    --dxbl-toolbar-btn-active-color: var(--ewf-text-color);
    --dxbl-toolbar-btn-active-hover-color: var(--ewf-text-color);
}

.dxbl-btn-toolbar > .dxbl-btn-group > .dxbl-btn.dxbl-btn-secondary {
    --dxbl-btn-root-bg: var(--ewf-secondary-background-color);
}

    .dxbl-btn-toolbar > .dxbl-btn-group > .dxbl-btn.dxbl-btn-secondary:not(.dxbl-disabled):not(:disabled):hover::after,
    .dxbl-btn-toolbar > .dxbl-btn-group > .dxbl-btn.dxbl-btn-secondary:not(.dxbl-disabled):not(:disabled).dxbl-active:not(.dxbl-disabled):not(:disabled):hover::after {
        /* Elimina un difetto grafico a causa del quale si vedono degli artefatti scuri all'hover sui bottoni */
        border-radius: unset;
    }

.dxbl-toolbar-dropdown {
    --dxbl-dropdown-bg: var(--ewf-dropdown-background-color);
    --dxbl-toolbar-dropdown-btn-color: var(--ewf-dropdown-color);
    --dxbl-toolbar-dropdown-btn-disabled-color: var(--ewf-dropdown-color);
    --dxbl-toolbar-dropdown-padding-x: 0;
    --dxbl-toolbar-dropdown-padding-y: 0;
    /* Il padding imposto di default è un po' piccolo per i tablet */
    --dxbl-toolbar-dropdown-btn-padding-x: 0.5rem;
    --dxbl-toolbar-dropdown-btn-padding-y: 0.375rem;
}

    .dxbl-toolbar-dropdown .dxbl-toolbar-dropdown-item .dxbl-toolbar-menu-item .dxbl-dropdown-item.dxbl-btn {
        --dxbl-border-width-with-scaling: 0px;
        /* Il padding imposto di default non è simmetrico tra sinistra e destra */
        padding: var(--dxbl-toolbar-dropdown-btn-padding-y) calc(var(--dxbl-toolbar-dropdown-btn-padding-x) * 2) var(--dxbl-toolbar-dropdown-btn-padding-y) calc(var(--dxbl-toolbar-dropdown-btn-padding-x) * 2)
    }

.monaco-editor-container {
    border: thin solid var(--ewf-input-border-color);
}

/* FAB (Floating Action Button) */

.ewf-fab-container {
    position: fixed;
    bottom: 2rem;
    right: 3rem;
    z-index: 100;
}

    .ewf-fab-container .btn {
        border-radius: 50%;
        height: 3rem;
        width: 3rem;
    }

    .ewf-fab-container .dropdown-item.nested {
        padding-left: 2.5rem;
    }

/* Link Button */

.ewf-link-button {
    color: var(--ewf-text-emphasized-color);
    text-decoration: none;
}

    .ewf-link-button:hover {
        color: var(--ewf-text-emphasized-color);
        filter: brightness(var(--ewf-primary-hover-filter-brightness));
        text-decoration: none;
    }

    .ewf-link-button .fas {
        color: var(--ewf-text-emphasized-color);
    }

/* Common */

div[data-is-browsing='False'][data-readonly='True'].ewf-esdate .ewf-esdate-input,
div[data-is-browsing='False'][data-readonly='True'].ewf-estime .ewf-estime-input,
div[data-is-browsing='False'][data-readonly='True'].ewf-esdecimal .ewf-esdecimal-input,
div[data-is-browsing='False'][data-readonly='True'].ewf-esinteger .ewf-esinteger-input,
div[data-is-browsing='False'][data-readonly='True'].ewf-maplink .ewf-maplink-input,
div[data-is-browsing='False'][data-readonly='True'].ewf-estext .ewf-estext-input,
div[data-is-browsing='False'][data-readonly='True'].ewf-espassword .ewf-espassword-input,
div[data-is-browsing='False'][data-readonly='True'].ewf-escombobox .ewf-escombobox-input,
div[data-is-browsing='False'][data-readonly='True'].ewf-esgraphiccombobox .ewf-esgraphiccombobox-input,
div[data-is-browsing='False'][data-readonly='True'].ewf-escolorpicker .ewf-escolorpicker-input {
    /* 
        Smorzo il colore del testo dell'input se in sola lettura in un contesto di modifica.
        Nel caso in cui sia presente una forzatura effettuata lato script, questa vince sul colore predefinito.
    */
    color: var(--ewf-script-forecolor, var(--ewf-input-readonly-color));
}

/* Action */

.ewf-action.dxbl-btn:not(.dxbl-disabled):not(:disabled):hover {
    border: 0;
    background: none;
}

/* Breadcrumb */

.ewf-breadcrumb {
    color: var(--ewf-breadcrumb-color);
    display: flex;
    justify-content: left;
    align-items: baseline;
    gap: var(--ewf-gap-em);
}

    .ewf-breadcrumb .ewf-breadcrumb-item {
        color: var(--ewf-breadcrumb-color);
        font-size: 0.875em;
        margin: 0;
        padding: 0;
        border: 0;
        line-height: 1;
    }

        .ewf-breadcrumb .ewf-breadcrumb-item:hover {
            color: var(--ewf-breadcrumb-color) !important;
        }

    .ewf-breadcrumb .ewf-breadcrumb-separator {
        line-height: 0.875;
    }

/* CheckBox */

div[data-is-browsing='False'] .dxbl-checkbox:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-disabled {
    --dxbl-checkbox-check-element-disabled-bg: var(--ewf-script-backcolor, var(--ewf-checkbox-disabled-background-color));
    --dxbl-checkbox-check-element-disabled-color: var(--ewf-script-forecolor, var(--ewf-checkbox-disabled-color));
    --dxbl-checkbox-check-element-unchecked-border-color: var(--ewf-script-backcolor, var(--ewf-checkbox-disabled-background-color));
}

    div[data-is-browsing='False'] .dxbl-checkbox:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio).dxbl-disabled label.dxbl-text {
        opacity: var(--ewf-disabled-opacity);
    }

/* ControlScriptingInfo */

.ewf-control-scripting-info {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
}

    .ewf-control-scripting-info .ewf-control-scripting-info {
        /* Se ho due contenitori annidati, lascio che solo il primo dia direttive di layout */
        display: unset;
        flex-direction: unset;
        justify-content: unset;
    }

/* GroupBox */

.ewf-groupbox-header {
    padding: 0.1em;
    border-bottom: thin solid var(--ewf-groupbox-header-border-color);
    color: var(--ewf-groupbox-header-color);
    background-color: var(--ewf-groupbox-header-background-color);
    text-align: center;
}

    .ewf-groupbox-header.ewf-groupbox-header-standalone {
        margin-top: calc(2 * var(--ewf-gap-em));
    }

/* HTML Editor */

.ewf-eshtmleditor {
    --ewf-tinymce-editor-toolbar-background-color: var(--ewf-color-azure-gray-6);
    --ewf-tinymce-editor-button-hover-background-color: var(--ewf-color-light-blue-5);
}

.ewf-theme-dark .ewf-eshtmleditor {
    --ewf-tinymce-editor-toolbar-background-color: var(--ewf-color-black-blue-6);
    --ewf-tinymce-editor-button-hover-background-color: var(--ewf-color-dark-orange-7);
}

.ewf-eshtmleditor {
}

    .ewf-eshtmleditor .tox.tox-tinymce {
        border: thin solid var(--ewf-input-border-color);
        border-radius: var(--ewf-border-radius-lg);
    }

        .ewf-eshtmleditor .tox.tox-tinymce.ewf-eshtmleditor-editor-focused {
            border-color: var(--ewf-input-focused-border-color);
        }

    .ewf-eshtmleditor .tox:not(.tox-tinymce-inline) .tox-editor-header {
        background-color: var(--ewf-tinymce-editor-toolbar-background-color);
        box-shadow: none;
        border-bottom: thin solid var(--ewf-input-border-color);
    }

    .ewf-eshtmleditor .tox .tox-toolbar__primary,
    .ewf-eshtmleditor .tox .tox-toolbar__overflow {
        background-color: var(--ewf-tinymce-editor-toolbar-background-color);
    }

    .ewf-eshtmleditor .tox .tox-tbtn {
        margin-top: 0;
        margin-bottom: 0;
        color: var(--ewf-text-color);
    }

        .ewf-eshtmleditor .tox .tox-tbtn:hover,
        .ewf-eshtmleditor .tox .tox-tbtn:active {
            background-color: var(--ewf-tinymce-editor-button-hover-background-color);
            color: var(--ewf-text-color);
        }

    .ewf-eshtmleditor .tox .tox-tbtn--disabled {
        opacity: var(--ewf-disabled-opacity);
    }

    .ewf-eshtmleditor .tox .tox-tbtn svg,
    .ewf-eshtmleditor .tox .tox-tbtn:hover svg,
    .ewf-eshtmleditor .tox .tox-tbtn:active svg {
        fill: var(--ewf-text-color);
    }

/* Image Gallery */

.ewf-image-gallery {
}

    .ewf-image-gallery .ewf-img-gallery-indicators {
        background-color: rgba(255, 255, 255, 0.8);
        border-radius: var(--ewf-border-radius-sm);
    }

    .ewf-image-gallery .carousel-indicators li.ewf-img-gallery-indicator {
        background-color: var(--ewf-primary-background-color);
    }

.ewf-theme-dark .ewf-image-gallery {
    filter: brightness(0.9);
}

/* SQL Text */

.ewf-sql-editor-container {
}

    .ewf-sql-editor-container .monaco-editor-container {
        height: 30vh;
    }

/* Modal */

.ewf-esmodal .dxbl-text-edit > .dxbl-btn-group.dxbl-btn-group-right > .dxbl-btn.ewf-inner-button.ewf-esmodal-clear-button .fas {
    /* Bottone di pulizia "manuale", inserito a destra */
    color: var(--ewf-esmodal-clear-button-color);
}

/* Select File */

.ewf-file-drop-zone {
    padding: 0;
    background-color: var(--ewf-input-background-color);
    border: thin solid var(--ewf-input-border-color);
    border-radius: var(--ewf-border-radius-sm);
    height: 10em;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.8em;
}

    .ewf-file-drop-zone .fas {
        font-size: 2em;
    }

.ewf-file-drop-upload-area {
    margin-left: 15px;
    margin-right: 15px;
}

.dxuc-file-size.text-black-50 {
    color: var(--ewf-text-color) !important;
    opacity: var(--ewf-disabled-opacity);
}

div[data-is-browsing='True'] .dxuc-file-view .fa-trash {
    opacity: var(--ewf-disabled-opacity);
}

.ewf-uploaded-file-boxes {
    flex-grow: 10;
    display: flex;
    gap: calc(2 * var(--ewf-gap-em));
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: flex-start;
    padding-top: 0.3em;
}

.ewf-uploaded-file-box {
    --ewf-uploaded-file-box-file-extension-background-color: var(--ewf-color-dark-orange-1);
    --ewf-uploaded-file-box-file-extension-color: var(--ewf-color-white);
    --ewf-uploaded-file-box-background-color: hsla(0, 0%, 100%, 0.8);
    --ewf-uploaded-file-box-icon-color: var(--ewf-icon-color);
    --ewf-uploaded-file-box-top-left-icon-color: var(--ewf-uploaded-file-box-icon-color);
    --ewf-uploaded-file-box-selected-background-color: var(--ewf-color-yellow-2);
    --ewf-uploaded-file-box-selected-color: var(--ewf-text-dark-color);
}

.ewf-theme-dark .ewf-uploaded-file-box {
    --ewf-uploaded-file-box-background-color: hsla(0, 0%, 100%, 0.2);
    --ewf-uploaded-file-box-icon-color: var(--ewf-color-gray-60);
    --ewf-uploaded-file-box-selected-background-color: var(--ewf-color-yellow-4);
}

.ewf-uploaded-file-box {
    position: relative;
    display: flex;
    flex-direction: row;
    gap: calc(2 * var(--ewf-gap-em));
    width: 20em;
    padding: var(--ewf-gap-em) calc(2 * var(--ewf-gap-em));
    border: thin solid var(--ewf-input-border-color);
    border-radius: var(--ewf-border-radius-sm);
    background-color: var(--ewf-uploaded-file-box-background-color);
}

    .ewf-uploaded-file-box.ewf-uploaded-file-box-selected {
        background-color: var(--ewf-uploaded-file-box-selected-background-color);
        border-color: var(--ewf-input-focused-border-color);
        color: var(--ewf-uploaded-file-box-selected-color);
    }

    .ewf-uploaded-file-box.ewf-uploaded-file-box-light {
        background-color: unset;
        border: unset;
        align-items: center;
    }

    .ewf-uploaded-file-box .ewf-uploaded-file-box-icon {
        font-size: 4em;
        padding-left: var(--ewf-gap-rem);
    }

        .ewf-uploaded-file-box .ewf-uploaded-file-box-icon .fas {
            color: var(--ewf-uploaded-file-box-icon-color);
        }

    .ewf-uploaded-file-box .ewf-uploaded-file-box-extension {
        position: absolute;
        top: 3em;
        left: var(--ewf-gap-em);
        z-index: 1;
        background-color: var(--ewf-uploaded-file-box-file-extension-background-color);
        color: var(--ewf-uploaded-file-box-file-extension-color);
        padding: var(--ewf-gap-em);
        border-radius: var(--ewf-border-radius-sm);
    }

    .ewf-uploaded-file-box .ewf-uploaded-file-box-info-container {
        display: flex;
        gap: var(--ewf-gap-em);
        align-items: flex-start;
        overflow-wrap: anywhere;
        flex-direction: column;
        flex-grow: 1;
    }

        .ewf-uploaded-file-box .ewf-uploaded-file-box-info-container .ewf-uploaded-file-box-delete-button {
            margin-left: auto;
        }

        .ewf-uploaded-file-box .ewf-uploaded-file-box-info-container .ewf-uploaded-file-box-name {
            font-size: 0.9em;
            font-weight: bold;
        }

        .ewf-uploaded-file-box .ewf-uploaded-file-box-info-container .ewf-uploaded-file-box-size {
            font-size: 0.8em;
        }

    .ewf-uploaded-file-box.ewf-uploaded-file-box-light .ewf-uploaded-file-box-info-container .ewf-uploaded-file-box-delete-button {
        margin-left: unset;
        order: 1;
    }

/*RadioButtonList*/
.ewf-esradiobuttonlist .dxbl-checkbox,
.ewf-esradiobuttonlist .dxbl-checkbox.valid.modified:not([type=checkbox]) {
    --dxbl-checkbox-radio-check-bg: var(--ewf-checkbox-background-color-override);
    --dxbl-checkbox-radio-checked-border-color: var(--ewf-checkbox-background-color-override);
    --dxbl-checkbox-radio-checked-hover-bg: var(--ewf-checkbox-background-color-override);
    --dxbl-checkbox-radio-checked-hover-background: var(--ewf-checkbox-background-color-override);
    --dxbl-checkbox-radio-unchecked-border-color: var(--ewf-input-readonly-color);
    --dxbl-checkbox-radio-unchecked-hover-border-color: var(--ewf-checkbox-background-color-override);
}
    /*Sovrascrivo la variabile --dxbl-checkbox-radio-unchecked-border-color nel before e after quando è selezionata per evitare che sia grigio*/
    .ewf-esradiobuttonlist .dxbl-checkbox.valid.modified:not([type=checkbox]).dxbl-checkbox-radio.dxbl-checkbox-checked .dxbl-checkbox-check-element::before {
        --dxbl-checkbox-radio-unchecked-border-color: var(--ewf-checkbox-background-color-override);
    }
    .ewf-esradiobuttonlist .dxbl-checkbox.valid.modified:not([type=checkbox]).dxbl-checkbox-radio.dxbl-checkbox-checked .dxbl-checkbox-check-element::after {
        --dxbl-checkbox-radio-unchecked-border-color: var(--ewf-checkbox-background-color-override);
    }
    /*Cambio l'evento Hover rendendo il colore più brillante*/
    .ewf-esradiobuttonlist .dxbl-checkbox.dxbl-checkbox-radio:not(.dxbl-readonly):not(.dxbl-disabled):not(:disabled):hover.dxbl-checkbox-checked .dxbl-checkbox-check-element::after {
        filter: brightness(1.5);
    }
    .ewf-esradiobuttonlist .dxbl-checkbox.dxbl-checkbox-radio:not(.dxbl-readonly):not(.dxbl-disabled):not(:disabled):hover.dxbl-checkbox-checked .dxbl-checkbox-check-element::before {
        filter: brightness(1.5);
    }

    .ewf-esradiobuttonlist .dxbl-checkbox.dxbl-checkbox-unchecked .dxbl-checkbox-check-element:focus-within,
    .ewf-esradiobuttonlist .dxbl-checkbox.dxbl-checkbox-checked .dxbl-checkbox-check-element:focus-within {
        -webkit-box-shadow: unset;
        box-shadow: unset;
    }

    div[data-is-browsing='True'].ewf-esradiobuttonlist .dxbl-checkbox {
        --dxbl-checkbox-radio-readonly-alhpa: 1;
    }

div[data-is-browsing='True'].ewf-esradiobuttonlist .dxbl-checkbox .dxbl-text {
    color: var(--ewf-script-forecolor, var(--ewf-input-color));
}

div[data-is-browsing='False'][data-readonly='True'].ewf-esradiobuttonlist .dxbl-checkbox .dxbl-text {
    color: var(--ewf-script-forecolor, var(--ewf-input-readonly-color));
}
/* Grid description */

.ewf-grid-description {
    color: var(--ewf-grid-description-color);
    text-align: center;
}

    .ewf-grid-description .ewf-link-button,
    .ewf-grid-description .ewf-link-button .fas {
        color: var(--ewf-grid-description-color);
    }

/* List link */

.ewf-list-link {
    --ewf-grid-link-color-override: var(--ewf-script-forecolor, var(--ewf-grid-link-color));
    --ewf-grid-link-font-weight-override: var(--ewf-script-fontweight, unset);
    border: 0;
    padding: 0;
    vertical-align: baseline;
    color: var(--ewf-grid-link-color-override);
    font-weight: var(--ewf-grid-link-font-weight-override);
    text-decoration: none;
    text-align: left;
}

    .ewf-list-link:hover,
    .ewf-list-link.dxbl-btn:not(.dxbl-disabled):not(:disabled):hover {
        color: var(--ewf-grid-link-color-override);
        filter: brightness(1.5);
        text-decoration: none;
    }

.ewf-device-tablet .ewf-list-link {
    /* Su tablet si ritiene che il peso normale sia poco leggibile */
    font-weight: 500;
}

/* Grid */

.ewf-grid.dxbl-grid {
    --dxbl-grid-bg: var(--ewf-generic-background-color);
    --dxbl-grid-border-color: var(--ewf-grid-border-color);
    --dxbl-grid-border-radius: 0;
    color: var(--ewf-text-color);
}

    .ewf-grid.dxbl-grid .ewf-grid-header-row {
        background-color: var(--ewf-grid-header-background-color);
    }

        .ewf-grid.dxbl-grid .ewf-grid-header-row > .ewf-grid-header-cell .dxbl-grid-header-content {
            color: var(--ewf-grid-header-color);
            justify-content: center;
            position: relative;
        }

            .ewf-grid.dxbl-grid .ewf-grid-header-row > .ewf-grid-header-cell .dxbl-grid-header-content span {
                /* Lo span acquisce un margine destro quando è presente la freccia dell'ordinamento, ma va tolto per centrarlo bene */
                margin-right: 0;
            }

            .ewf-grid.dxbl-grid .ewf-grid-header-row > .ewf-grid-header-cell .dxbl-grid-header-content .dxbl-grid-sort-asc,
            .ewf-grid.dxbl-grid .ewf-grid-header-row > .ewf-grid-header-cell .dxbl-grid-header-content .dxbl-grid-sort-desc {
                position: absolute;
                right: 0;
            }

    .ewf-grid.dxbl-grid .ewf-grid-filter-row.dxbl-grid-filter-row {
        background-color: var(--ewf-input-background-color);
    }

        .ewf-grid.dxbl-grid .ewf-grid-filter-row.dxbl-grid-filter-row > .ewf-grid-filter-cell {
            padding: 0;
        }

            .ewf-grid.dxbl-grid .ewf-grid-filter-row.dxbl-grid-filter-row > .ewf-grid-filter-cell:focus-within {
                /* In combinazione con una clausola più sotto, evita che le combo corte (99%) abbiano un dentino bianco a destra quando selezionate */
                background-color: var(--ewf-input-focused-background-color);
            }

            .ewf-grid.dxbl-grid .ewf-grid-filter-row.dxbl-grid-filter-row > .ewf-grid-filter-cell .dxbl-text-edit {
                border: 0;
                border-radius: 0;
            }

            .ewf-grid.dxbl-grid .ewf-grid-filter-row.dxbl-grid-filter-row > .ewf-grid-filter-cell dxbl-combobox.dxbl-text-edit {
                /* Evita la comparsa di una scrollbar orizzontale se l'ultima colonna di una griglia ha come filtro una combo */
                width: 99%;
            }

    .ewf-grid.dxbl-grid .ewf-grid-data-row.ewf-grid-data-row-even {
        background-color: var(--ewf-table-row-even-background-color);
    }

    .ewf-grid.dxbl-grid .ewf-grid-data-row.ewf-grid-data-row-odd {
        background-color: var(--ewf-table-row-odd-background-color);
    }

    .ewf-grid.dxbl-grid .ewf-grid-data-row.ewf-grid-data-row-selected,
    .ewf-grid.dxbl-grid .ewf-grid-data-row.dxbl-grid-selected-row {
        /* Se ho una forzatura dello sfondo tramite script, la ignoro durante la selezione */
        --dxbl-grid-selection-bg: var(--ewf-table-row-selected-background-color);
        background-color: var(--dxbl-grid-selection-bg);
        /* Se ho una forzatura del colore tramite script sulla riga, la devo tenere anche durante la selezione */
        --dxbl-grid-selection-color: var(--ewf-script-forecolor, var(--ewf-text-dark-color));
        color: var(--dxbl-grid-selection-color);
    }

        .ewf-grid.dxbl-grid .ewf-grid-data-row.ewf-grid-data-row-selected > .ewf-grid-data-cell,
        .ewf-grid.dxbl-grid .ewf-grid-data-row.dxbl-grid-selected-row > .ewf-grid-data-cell {
            /* Se ho una forzatura del colore tramite script sulla cella, la devo tenere anche durante la selezione */
            --dxbl-grid-selection-color: var(--ewf-script-forecolor, var(--dxbl-grid-selection-color));
            color: var(--dxbl-grid-selection-color);
        }

            .ewf-grid.dxbl-grid .ewf-grid-data-row.ewf-grid-data-row-selected > .ewf-grid-data-cell .fas,
            .ewf-grid.dxbl-grid .ewf-grid-data-row.dxbl-grid-selected-row > .ewf-grid-data-cell .fas {
                color: var(--ewf-text-dark-color);
            }

            .ewf-grid.dxbl-grid .ewf-grid-data-row.ewf-grid-data-row-selected > .ewf-grid-data-cell .ewf-list-link,
            .ewf-grid.dxbl-grid .ewf-grid-data-row.dxbl-grid-selected-row > .ewf-grid-data-cell .ewf-list-link {
                /* Se ho una forzatura del colore tramite script, la devo tenere anche durante la selezione */
                color: var(--ewf-script-forecolor, var(--ewf-grid-selected-link-color));
            }

    .ewf-grid.dxbl-grid .ewf-grid-pager-container {
        justify-content: center;
    }

        .ewf-grid.dxbl-grid .ewf-grid-pager-container .dxbl-pager-page-size-selector {
            /* 
                Abilito il selettore di pagina affinché il paginatore della griglia sia sempre visibile.
                Tuttavia, lo nascondo visivamente perché non è una funzionalità da esporre, è solo un modo per aggirare DevExpress.
                Vedi le note nella documentazione di DevExpress: https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxGrid.PagerVisible
            */
            display: none;
        }

    .ewf-grid.dxbl-grid .ewf-row-detail-container {
        padding: calc(2 * var(--ewf-gap-em));
    }

    .ewf-grid.dxbl-grid .dxbl-grid-table .dxbl-grid-detail-cell {
        padding: 0 0 0 var(--dxbl-grid-detail-cell-padding-x);
    }

    .ewf-grid.dxbl-grid .dxbl-grid-table .dxbl-grid-empty-data {
        background-color: var(--ewf-table-row-odd-background-color);
        /* Imposto l'altezza in modo che la tendina degli ESCode non sia minuscola quando non ha righe */
        height: var(--ewf-table-empty-data-cell-height);
    }

        .ewf-grid.dxbl-grid .dxbl-grid-table .dxbl-grid-empty-data > span {
            opacity: var(--ewf-disabled-opacity);
        }

    .ewf-grid.dxbl-grid .dxbl-grid-table > thead .dxbl-grid-filter-row > td.dxbl-grid-indent-cell {
        background-color: var(--ewf-input-background-color);
    }

    /* Compare quando si sta caricando una griglia, in particolare spostandosi tra un tab e l'altro */
    .ewf-grid.dxbl-grid .dxbl-grid-table > thead > .dxbl-grid-arm-row {
        background-color: var(--ewf-grid-header-background-color);
        height: 2em;
        visibility: visible;
    }

    .ewf-grid.dxbl-grid .ewf-grid-data-row > .ewf-grid-data-cell {
        background-color: var(--ewf-script-backcolor);
        color: var(--ewf-script-forecolor);
        font-weight: var(--ewf-script-fontweight);
    }

        /* Clausole che evitano che il testo lungo, all'interno di una cella, vada su due righe */
        .ewf-grid.dxbl-grid .ewf-grid-header-row > .ewf-grid-header-cell .dxbl-grid-header-content > span,
        .ewf-grid.dxbl-grid .ewf-grid-data-row > .ewf-grid-data-cell > span,
        .ewf-grid.dxbl-grid .ewf-grid-data-row > .ewf-grid-data-cell > .ewf-list-link > span {
            white-space: unset;
            word-break: break-all;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
        }

        .ewf-grid.dxbl-grid .ewf-grid-data-row > .ewf-grid-data-cell > .fas.ewf-grid-action-image {
            color: var(--ewf-icon-color);
        }

        /* I palloncini di caricamento che compaiono nelle celle, per esempio navigando tra una pagina e l'altra, non si devono vedere */
        .ewf-grid.dxbl-grid .ewf-grid-data-row > .ewf-grid-data-cell > .dxbl-grid-skeleton-content {
            background-color: transparent; /* Rendo trasparente e non nascondo affinché occupi comunque spazio */
        }

        /* Annullo il padding presente nel testo evidenziato a seguito di una ricerca */
        .ewf-grid.dxbl-grid .ewf-grid-data-row > .ewf-grid-data-cell > span > mark {
            padding: 0;
        }

    /* La griglia della modale degli ESCode (F4) deve avere un'altezza fissa */
    .ewf-grid.dxbl-grid.ewf-grid-f4 {
        height: 65vh;
    }

/* Placeholder cell */

.ewf-placeholder-cell {
    display: flex;
    align-items: center;
}

    .ewf-placeholder-cell .ewf-placeholder-cell-text {
        color: var(--ewf-script-forecolor, var(--ewf-input-color));
        background-color: var(--ewf-script-backcolor, var(--ewf-input-background-color));
        font-weight: var(--ewf-script-fontweight, unset);
        border: 0;
        width: 100%;
        cursor: text;
        /* Valori copiati da DevExpress */
        --dxbl-text-edit-padding-x: 0.375rem;
        --dxbl-text-edit-padding-y: 0.25003125rem;
        padding: var(--dxbl-text-edit-padding-y) var(--dxbl-text-edit-padding-x);
    }

    .ewf-placeholder-cell[data-is-browsing='False'][data-readonly='True'] .ewf-placeholder-cell-text {
        /* 
            Smorzo il colore del testo dell'input se in sola lettura in un contesto di modifica.
            Nel caso in cui sia presente una forzatura effettuata lato script, questa vince sul colore predefinito.
        */
        color: var(--ewf-script-forecolor, var(--ewf-input-readonly-color));
    }

    .ewf-placeholder-cell .ewf-placeholder-cell-text:focus-visible {
        outline: 0;
    }

    .ewf-placeholder-cell .ewf-placeholder-cell-inner-button {
        border: 0;
        background-color: var(--ewf-script-backcolor, var(--ewf-input-background-color));
        /* Valori copiati da DevExpress */
        --dxbl-text-edit-btn-padding-x: 0.375rem;
        --dxbl-text-edit-btn-padding-y: 0.25003125rem;
        padding: var(--dxbl-text-edit-btn-padding-y) var(--dxbl-text-edit-btn-padding-x);
    }

        .ewf-placeholder-cell .ewf-placeholder-cell-inner-button .ewf-placeholder-cell-icon-disabled {
            opacity: var(--ewf-disabled-opacity);
        }

/*Aggiungo css per gestione size small*/
.ewf-size-grid-small {
    /* Valori copiati da DevExpress */
    --dxbl-text-edit-font-size: 0.75rem !important;
    --dxbl-text-edit-line-height: 1.5 !important;
    --dxbl-text-edit-padding-x: 0.25rem !important;
    --dxbl-text-edit-padding-y: 0.1875rem !important;
    padding: var(--dxbl-text-edit-padding-y) var(--dxbl-text-edit-padding-x) !important;
}

.ewf-size-grid-button-small {
    /* Valori copiati da DevExpress */
    --dxbl-text-edit-btn-padding-x: 0.25rem !important;
    --dxbl-text-edit-btn-padding-y: 0.1875rem !important;
}
/* Resizable grid columns */

.resizer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: 0.2em;
    cursor: col-resize;
}

.ewf-clickable {
    cursor: pointer;
}

.ewf-img {
    width: 100%;
    height: auto;
}

/* Icone */

.ewf-icon-blue {
    color: var(--ewf-color-light-blue-1) !important;
}

.ewf-icon-gray {
    color: var(--ewf-color-gray-60) !important;
}

.ewf-icon-green {
    color: var(--ewf-color-light-green-1) !important;
}

.ewf-icon-orange {
    color: var(--ewf-color-light-orange-3) !important;
}

.ewf-icon-red {
    color: var(--ewf-color-red-1) !important;
}

.ewf-icon-white {
    color: var(--ewf-color-white) !important;
}

/* Testo */

.ewf-noresize textarea {
    resize: none !important;
}

.ewf-text-container {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

    .ewf-text-container.ewf-truncate-line-1 {
        white-space: break-spaces;
        word-break: break-all; /* Va bene tagliare anche all'interno delle parole */
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
    }

    .ewf-text-container.ewf-truncate-line-2 {
        white-space: break-spaces;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .ewf-text-container.ewf-truncate-line-3 {
        white-space: break-spaces;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

.ewf-text-muted {
    color: var(--ewf-text-color);
    text-overflow: ellipsis;
    overflow: hidden;
    display: block;
    white-space: nowrap;
}

/* Bottoni */

.ewf-btn-group-vertical {
    display: flex;
    flex-direction: column;
    gap: var(--ewf-gap-em);
}


/* Script Console */

#ewf-script-console-container {
    margin-top: var(--ewf-gap-em);
}

#ewf-script-console {
    font-size: 0.9em;
    height: 20rem;
    width: 100%;
    border-radius: var(--ewf-border-radius-sm);
    padding: 0.3em 0.6em;
    border: thin solid var(--ewf-card-border-color);
    background-color: var(--ewf-card-background-color);
    color: var(--ewf-input-color);
}

 /* Utilità di Bootstrap >= 5.0 */

.gap-0 {
    gap: 0 !important;
}

.gap-1 {
    gap: 0.25rem !important;
}

.gap-2 {
    gap: 0.5rem !important;
}

.gap-3 {
    gap: 1rem !important;
}

.gap-4 {
    gap: 1.5rem !important;
}

.gap-5 {
    gap: 3rem !important;
}

.row-gap-0 {
    row-gap: 0 !important;
}

.row-gap-1 {
    row-gap: 0.25rem !important;
}

.row-gap-2 {
    row-gap: 0.5rem !important;
}

.row-gap-3 {
    row-gap: 1rem !important;
}

.row-gap-4 {
    row-gap: 1.5rem !important;
}

.row-gap-5 {
    row-gap: 3rem !important;
}

.column-gap-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
}

.column-gap-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
}

.column-gap-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
}

.column-gap-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
}

.column-gap-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
}

.column-gap-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
}
.ewf-content,
.ewf-sidebar {
    transition: transform 0.1s ease-out;
}

app {
    height: 100vh;
    overflow: hidden;
}

.ewf-content {
    background-color: var(--ewf-generic-background-color);
    height: calc(100vh - var(--ewf-navbar-height));
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: stretch;
    overflow: hidden;
    overscroll-behavior: none;
}

.ewf-dynamic-content {
    position: relative;
    overflow: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

@media (min-width: 1200px) {
    .ewf-dynamic-content {
        min-width: calc(100vw - var(--ewf-sidebar-width));
    }

    .ewf-sidebar {
        max-height: calc(100vh);
    }

    .desktop-sidebar-hidden .ewf-dynamic-content {
        min-width: 100vw;
    }

    .desktop-sidebar-hidden {
        transform: translateX(calc(-1 * var(--ewf-sidebar-width)));
        margin-right: calc(-1 * var(--ewf-sidebar-width));
    }
}

/* dimensioni mobile @media (max-width: 1199px) {*/
/* per fare in modo che sui tablet parta senza menu aperto */
@media (max-width: 1199px) {
    .ewf-dynamic-content {
        min-width: 100vw;
        display: flex;
        flex-flow: column nowrap;
    }

        .ewf-dynamic-content > .content {
            flex: 1 1 auto;
        }

    .ewf-sidebar {
        position: fixed;
        top: 3.5rem;
        height: inherit;
    }

    .ewf-sidebar {
        transform: translateX(-100%);
        left: 0;
        margin-top: calc(-3 * var(--ewf-gap-rem));
    }

    .mobile-sidebar-shown .ewf-sidebar {
        transform: translateX(0);
    }
}

/* Notification Toaster */

.ewf-alert-notifications {
    position: fixed;
    z-index: 1030;
    right: 10px;
    top: calc(3.5rem + 10px);
    font-size: 1em;
}

@keyframes ewf-alert-notify {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.ewf-alert-notifications .alert:last-of-type {
    animation: ewf-alert-notify 0.3s linear;
    animation-fill-mode: forwards;
}

#toast-container > div {
    opacity: 1 !important;
}

/* Busy indicator */

.busy-panel {
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    z-index: 12001;
    background-color: transparent;
    visibility: visible;
}

    .busy-panel.busy-panel-background {
        background-color: var(--ewf-busy-panel-background-color);
        transition: background-color 0.5s ease;
        opacity: 0.2;
    }

.busy-spinner {
    z-index: 12002;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

    .busy-spinner > div {
        width: 1.3em;
        height: 1.3em;
        background-color: var(--ewf-busy-spinner-background-color);
        border-radius: 100%;
        display: inline-block;
        -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
        animation: sk-bouncedelay 1.4s infinite ease-in-out both;
    }

    .busy-spinner .bounce1 {
        -webkit-animation-delay: -0.32s;
        animation-delay: -0.32s;
    }

    .busy-spinner .bounce2 {
        -webkit-animation-delay: -0.16s;
        animation-delay: -0.16s;
    }

@-webkit-keyframes sk-bouncedelay {
    0%, 80%, 100% {
        -webkit-transform: scale(0)
    }

    40% {
        -webkit-transform: scale(1.0)
    }
}

@keyframes sk-bouncedelay {
    0%, 80%, 100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    40% {
        -webkit-transform: scale(1.0);
        transform: scale(1.0);
    }
}

.busy-message {
    /*position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 12003;
    font-size: 1.1em;
    font-weight: 500;
    text-align: center;*/
    position: absolute;
    top: 56%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 12003;
    font-size: 1.1em;
    font-weight: 500;
    text-align: center;
    color: var(--ewf-busy-message-color);
    background-color: var(--ewf-busy-message-background-color);
    padding: 0.3em 0.6em;
    border-radius: var(--ewf-border-radius-sm);
}

.ewf-menu-breadcrumb {
    margin-bottom: 0.9em;
    display: flex;
    align-items: flex-start;
}

    .ewf-menu-breadcrumb.ewf-menu-breadcrumb-with-searchbox {
        margin-bottom: 0.4em;
    }

        .ewf-menu-breadcrumb.ewf-menu-breadcrumb-with-searchbox .ewf-menu-searchbox {
            width: 20em;
            margin-top: -0.4em;
        }

.ewf-menuitem {
    display: flex;
    background-color: var(--ewf-color-white);
    border-width: thin;
    border-color: var(--ewf-card-border-color);
    border-style: solid;
    padding: 0.5em 1em 1em 1em;
    gap: 1em;
    border-radius: var(--ewf-border-radius-sm);
    min-height: 5.5rem;
    box-shadow: hsla(var(--ewf-card-box-shadow-color), 0.25) 0px 4px 8px -2px, hsla(var(--ewf-card-box-shadow-color), 0.08) 0px 0px 0px 1px;
    color: var(--ewf-text-color);
    text-decoration: none;
}

    .ewf-menuitem:hover {
        border-color: var(--ewf-card-hover-border-color);
        color: var(--ewf-text-color);
        text-decoration: none;
    }

    .ewf-menuitem .ewf-menuitem-action a {
        text-decoration: none;
    }

        .ewf-menuitem .ewf-menuitem-action a:hover {
            text-decoration: none;
        }

.ewf-theme-dark .ewf-menuitem {
    background-color: var(--ewf-card-background-color);
}

.ewf-menuitem-green {
    float: right;
    font-size: 2em;
    color: #76A797;
}

.ewf-menuitem-blue {
    float: right;
    font-size: 2em;
    color: steelblue;
}

.ewf-menuitem-orange {
    float: right;
    font-size: 2em;
    color: darkorange;
}

.ewf-menuitem-yellow {
    float: right;
    font-size: 2em;
    color: rgb(242, 200, 17);
}

/* Navbar */

.navbar {
    background-color: white;
    z-index: 1030;
    border: none;
    border-radius: 0;
    border-bottom: solid thin var(--ewf-color-gray-35);
    flex-wrap: nowrap;
    justify-content: flex-start;
}

    .navbar .navbar-toggler {
        background-color: var(--ewf-color-azure-gray-4);
        outline: none;
        border-radius: 0;
        padding-left: .75rem;
        padding-right: .75rem;
        align-self: stretch;
    }

        .navbar .navbar-toggler:hover {
            filter: brightness(var(--ewf-secondary-hover-filter-brightness));
        }

        .navbar .navbar-toggler .navbar-toggler-icon {
            background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
            background-color: transparent !important;
            height: 2rem;
            width: 2rem;
        }

    .navbar .ewf-navbar-actions .fas {
        font-size: 1.5em;
    }

.ewf-theme-dark .navbar {
    background-color: var(--ewf-color-dark-blue-4);
}

/* Main title */

.ewf-main-title {
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    font-size: 1.7em;
    color: var(--ewf-color-dark-blue-1);
}

.ewf-theme-dark .ewf-main-title {
    color: unset;
}

/* Separators */

.ewf-navbar-separator::before {
    content: " ";
    display: inline-block;
    border-left: thin solid var(--ewf-color-gray-60);
    height: 1.5rem;
    opacity: .8;
    margin: 0.4em 0.4em 0 0.4em;
}

/* User popup */

.ewf-user-popup {
    position: absolute;
    top: calc(var(--ewf-navbar-height) + var(--ewf-gap-rem));
    right: calc(2 * var(--ewf-gap-rem));
    width: 32em;
    z-index: 300;
    background-color: var(--ewf-card-background-color);
    border: solid 1px var(--ewf-card-border-color);
    border-radius: var(--ewf-border-radius-lg);
    padding: calc(2 * var(--ewf-gap-em)) calc(3 * var(--ewf-gap-em)) calc(3 * var(--ewf-gap-em));
}

    .ewf-user-popup .fas {
        margin-right: 0.2em;
    }

    .ewf-user-popup .ewf-theme-selector {
        display: flex;
    }

        .ewf-user-popup .ewf-theme-selector .ewf-theme-icon {
            color: var(--ewf-color-gray-60);
        }

            .ewf-user-popup .ewf-theme-selector .ewf-theme-icon.ewf-theme-icon-selected {
                color: var(--ewf-primary);
            }

/* Script button */

.ewf-navbar-script-button {
    padding-right: 0.1em;
}

/* Responsiveness */

@media (max-width: 767px) {
    .ewf-navbar-script-button,
    .ewf-navbar-script-separator,
    .ewf-navbar-full-screen-label,
    .ewf-navbar-full-screen-separator,
    .ewf-navbar-cart-label {
        display: none;
    }

    .ewf-navbar-cart-icon {
        margin-left: 0.2em;
    }
}

/* Sidebar */

.ewf-sidebar {
    min-width: var(--ewf-sidebar-width);
    max-width: 300px;
    box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.16);
    z-index: 1029;
    overflow-y: auto
}

/* Menu area */

.ewf-menu-panel {
    color: var(--ewf-sidebar-color);
    background-color: var(--ewf-sidebar-background-color);
}

.ewf-menuarea {
    overflow-y: auto;
}

    .ewf-menuarea > .dxbl-treeview {
        --dxbl-treeview-item-border-radius: 0;
        --dxbl-treeview-spacing-x: 0;
        --dxbl-treeview-spacing-y: 0;
        --dxbl-treeview-item-spacing-y: 0;
        --dxbl-treeview-item-selection-bg: var(--ewf-color-white);
        --dxbl-treeview-item-selection-color: var(--ewf-sidebar-active-color);
        --dxbl-treeview-text-padding-y: 0.350em;
    }

        .ewf-menuarea > .dxbl-treeview > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > .dxbl-treeview-items-container {
            padding-right: 0;
        }

            .ewf-menuarea > .dxbl-treeview > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > .dxbl-treeview-items-container .dxbl-treeview-item .dxbl-treeview-item-container .dxbl-treeview-item-text-container.dxbl-text {
                --dxbl-text-padding-x: 0.2em;
            }

            .ewf-menuarea > .dxbl-treeview > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > .dxbl-treeview-items-container .dxbl-treeview-item .dxbl-treeview-item-container .dxbl-image.fas {
                color: var(--ewf-sidebar-icon-color);
                width: 3em;
                padding-left: 0.5em;
                text-align: center;
            }

            .ewf-menuarea > .dxbl-treeview > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > .dxbl-treeview-items-container .dxbl-treeview-item .dxbl-treeview-item-container.dxbl-active {
                border-right: solid 0.3em var(--ewf-sidebar-active-border-color);
            }

                .ewf-menuarea > .dxbl-treeview > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > .dxbl-treeview-items-container .dxbl-treeview-item .dxbl-treeview-item-container.dxbl-active .dxbl-image.fas {
                    color: var(--ewf-sidebar-active-icon-color);
                }

.ewf-tab-container.dxbl-tabs {
    --ewf-tab-border-bottom-width: 0.2em;
    --dxbl-tabs-bottom-border-color: var(--ewf-tab-hr-border-color);
    --dxbl-tabs-tab-border-color: transparent;
    --dxbl-tabs-tab-border-width: 0;
    --dxbl-tabs-tab-padding-x: 0.8em;
    --dxbl-tabs-tab-padding-y: 0.2em;
}

    .ewf-tab-container.dxbl-tabs .dxbl-tabs-tablist {
        background-color: transparent;
    }

    /* 
        Uso abbondante di !important per sovrascrivere le regole di DevExpress,
        le quali hanno una specificità molto, molto elevata.
    */
    .ewf-tab-container.dxbl-tabs .dxbl-tabs-item {
        color: var(--ewf-tab-color) !important;
        border-bottom-width: var(--ewf-tab-border-bottom-width) !important;
        min-width: var(--ewf-btn-min-width);
        justify-content: center;
    }

        .ewf-tab-container.dxbl-tabs .dxbl-tabs-item.dxbl-active {
            border-bottom-width: var(--ewf-tab-border-bottom-width) !important;
            border-bottom-color: var(--ewf-tab-active-border-color) !important;
        }

        .ewf-tab-container.dxbl-tabs .dxbl-tabs-item:hover {
            border-bottom-width: var(--ewf-tab-border-bottom-width) !important;
            border-bottom-color: var(--ewf-tab-hovered-border-color) !important;
        }

        .ewf-tab-container.dxbl-tabs .dxbl-tabs-item:focus {
            border-bottom-width: var(--ewf-tab-border-bottom-width) !important;
            border-bottom-color: var(--ewf-tab-hovered-border-color) !important;
        }

        .ewf-tab-container.dxbl-tabs .dxbl-tabs-item:focus-visible {
            outline: 0;
        }

        .ewf-tab-container.dxbl-tabs .dxbl-tabs-item .dxbl-text {
            --dxbl-text-padding-x: 0;
            --dxbl-text-padding-y: 0;
            --dxbl-text-border-width: 0;
        }

            .ewf-tab-container.dxbl-tabs .dxbl-tabs-item .dxbl-text .dxbl-tabs-text-overflow {
                text-align: center;
            }

.dxbl-tabs-content .ewf-tab-content {
    padding-top: var(--ewf-gap-em);
}

/* Tiles */

.ewf-tile-group {
    font-size: 1.5em;
    font-weight: 400;
}

.ewf-page-tile-container .ewf-tile-group {
    font-size: 1.3em;
}

.ewf-tile-title {
    font-size: 1.2em;
    overflow: hidden;
}

.ewf-device-tablet .ewf-tile-title {
    font-size: 1.1em;
}

.ewf-tileitem {
    background-color: var(--ewf-card-background-color);
    border: thin var(--ewf-card-border-color) solid;
    padding: 0.5em 1em;
    border-radius: var(--ewf-border-radius-sm);
    height: 8em;
    box-shadow: hsla(var(--ewf-card-box-shadow-color), 0.25) 0px 4px 8px -2px, hsla(var(--ewf-card-box-shadow-color), 0.08) 0px 0px 0px 1px;
    overflow: hidden;
}

    .ewf-tileitem.ewf-tile-table,
    .ewf-tileitem.ewf-tile-chart {
        /* Altezza minima necessaria per accomodare il contenuto */
        min-height: 350px;
        height: 24em;
    }

        .ewf-tileitem.ewf-tile-chart .ewf-eschart {
            border: 0 !important;
        }

            .ewf-tileitem.ewf-tile-chart .ewf-eschart .ewf-eschart-fullscreen-switch {
                top: 0;
                right: 0;
            }

    .ewf-tileitem .ewf-tile-loading-icon,
    .ewf-tileitem .ewf-tile-error-icon,
    .ewf-tileitem .ewf-tile-placeholder-icon {
        /* Attributi comuni alle icone di sfondo delle tile */
        min-height: 18rem;
        font-size: 7em;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .ewf-tileitem .ewf-tile-placeholder-icon {
        opacity: 0.5;
    }

.ewf-tile-counter-value,
.ewf-tile-syncdate-value {
    font-style: normal;
    color: var(--ewf-text-emphasized-color);
}

.ewf-tile-counter-value {
    font-size: 1.4em;
}

.ewf-tile-syncdate-value {
    font-size: 1.1em;
}

.ewf-device-tablet .ewf-tile-counter-value {
    font-size: 1.3em;
}

/* Table Tile */

.ewf-tile-table-table.table {
    font-size: .875em;
    margin-bottom: 0;
}

    .ewf-tile-table-table.table td {
        padding: 0.25em 0.5em;
    }

    .ewf-tile-table-table.table .ewf-tile-table-number {
        overflow: hidden;
        text-align: end;
    }

    .ewf-tile-table-table.table.table-bordered.ewf-table-bordered {
        border: 0;
    }

        .ewf-tile-table-table.table.table-bordered.ewf-table-bordered thead tr:first-of-type th {
            border-top: 0;
        }

            .ewf-tile-table-table.table.table-bordered.ewf-table-bordered thead tr:first-of-type th:first-of-type {
                border-left: 0;
            }

            .ewf-tile-table-table.table.table-bordered.ewf-table-bordered thead tr:first-of-type th:last-of-type {
                border-right: 0;
            }

        .ewf-tile-table-table.table.table-bordered.ewf-table-bordered tbody tr:last-of-type td {
            border-bottom: 0;
        }

        .ewf-tile-table-table.table.table-bordered.ewf-table-bordered tbody tr td:first-of-type {
            border-left: 0;
        }

        .ewf-tile-table-table.table.table-bordered.ewf-table-bordered tbody tr td:last-of-type {
            border-right: 0;
        }

    .ewf-tile-table-table.table.table-striped.ewf-table-striped tbody tr:nth-child(even) {
        background-color: var(--ewf-table-row-even-background-color);
    }

    .ewf-tile-table-table.table.table-striped.ewf-table-striped tbody tr:nth-child(odd) {
        background-color: var(--ewf-table-row-odd-background-color);
    }

/* Tile Selector */

.ewf-tile-selector {
    --selected-box-height: 22vh;
    --selected-btn-group-height: 4vh;
}

    .ewf-tile-selector .selected dxbl-list-box {
        border-color: var(--ewf-input-border-color);
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .ewf-tile-selector .selected .btn-group {
        height: var(--selected-btn-group-height);
    }

        .ewf-tile-selector .selected .btn-group .btn {
            border-color: var(--ewf-input-border-color);
        }

            .ewf-tile-selector .selected .btn-group .btn:nth-child(1) {
                border-top-left-radius: 0;
            }

            .ewf-tile-selector .selected .btn-group .btn:nth-child(2) {
                border-top-right-radius: 0;
            }

    .ewf-tile-selector .selected ul {
        height: var(--selected-box-height);
    }

    .ewf-tile-selector .available ul {
        height: calc(var(--selected-box-height) + var(--selected-btn-group-height));
    }

.ewf-toolbar {
    background-color: var(--ewf-toolbar-background-color);
    border-width: 0 0 thin 0;
    border-color: var(--ewf-toolbar-border-color);
    border-style: solid;
    padding-top: calc(2 * var(--ewf-gap-rem));
    padding-bottom: 0.2em;
    padding-right: calc(2 * var(--ewf-gap-rem));
    padding-left: calc(2 * var(--ewf-gap-rem));
    /* Annullano il padding inserito dal contenitore Bootstrap */
    margin-top: calc(-2 * var(--ewf-gap-rem));
    margin-bottom: var(--ewf-gap-em);
    margin-right: calc(-3 * var(--ewf-gap-rem));
    margin-left: calc(-3 * var(--ewf-gap-rem));
    /* Blocca la posizione della toolbar, rimane fissa in alto anche se la pagina è lunga */
    position: sticky;
    top: 0;
    z-index: 3;
    height: var(--ewf-toolbar-height);
}

    .ewf-toolbar > .dxbl-toolbar {
        --dxbl-toolbar-item-spacing: 0.1em;
        --dxbl-toolbar-btn-hover-color: var(--ewf-text-color);
    }

        .ewf-toolbar > .dxbl-toolbar > .dxbl-btn-toolbar .dxbl-toolbar-btn.dxbl-btn.dxbl-btn-text-secondary {
            --dxbl-btn-color: var(--ewf-text-color);
            --dxbl-btn-disabled-color: var(--ewf-text-color);
            --dxbl-btn-focus-shadow-color: var(--ewf-secondary-background-color);
            --dxbl-btn-hover-color: var(--ewf-text-color);
        }

        .ewf-toolbar > .dxbl-toolbar > .dxbl-btn-toolbar .dxbl-btn-group:first-of-type .dxbl-toolbar-btn.dxbl-btn.dxbl-btn-text-secondary:first-of-type {
            margin-left: -0.25em; /* Per centrare la prima icona con la casetta della Home */
        }

        .ewf-toolbar > .dxbl-toolbar > .dxbl-btn-toolbar .dxbl-toolbar-btn.dxbl-btn.dxbl-btn-text-secondary .dxbl-image.fas {
            font-size: 1.2em;
        }

            .ewf-toolbar > .dxbl-toolbar > .dxbl-btn-toolbar .dxbl-toolbar-btn.dxbl-btn.dxbl-btn-text-secondary .dxbl-image.fas.ewf-toolbar-more-icon + svg.dxbl-toolbar-dropdown-toggle {
                display: none; /* Occorre nascondere il triangolo della dropdown per il bottone con i tre puntini */
            }

        /* Per gestire l'opacità dei bottoni disabilitati inseriti nella toolbar come template personalizzato */
        .ewf-toolbar > .dxbl-toolbar > .dxbl-btn-toolbar > .dxbl-btn-group > .dxbl-toolbar-btn.dxbl-toolbar-item-tmpl .dxbl-btn.dxbl-btn-text-secondary.dxbl-disabled > :not(.dxbl-image),
        .ewf-toolbar > .dxbl-toolbar > .dxbl-btn-toolbar > .dxbl-btn-group > .dxbl-toolbar-btn.dxbl-toolbar-item-tmpl .dxbl-btn.dxbl-btn-text-secondary:disabled > :not(.dxbl-image) {
            opacity: 60%;
        }

    .ewf-toolbar .ewf-breadcrumb {
        margin-left: var(--ewf-gap-rem);
        margin-bottom: calc(2 * var(--ewf-gap-em));
    }

.ewf-badge {
    line-height: normal;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: var(--ewf-border-radius-sm);
}
.ewf-badge-standard {
    border: thin var(--ewf-card-border-color) solid;
    box-shadow: hsla(var(--ewf-card-box-shadow-color), 0.25) 0px 4px 8px -2px, hsla(var(--ewf-card-box-shadow-color), 0.08) 0px 0px 0px 0px;
}
.ewf-badge-pill {
    --bs-badge-border-radius: 20px;
    border-radius: var(--bs-badge-border-radius);
    border: thin var(--ewf-card-border-color) solid;
    box-shadow: hsla(var(--ewf-card-box-shadow-color), 0.25) 0px 4px 8px -2px, hsla(var(--ewf-card-box-shadow-color), 0.08) 0px 0px 0px 0px;
}

.ewf-badge-tag {
    padding: 0.25em 2em 0.25em 0.5em;
    background: linear-gradient(-45deg, transparent 1em, var(--ewf-card-hover-border-color) 1em) bottom, linear-gradient(-135deg, transparent 1em, var(--ewf-card-hover-border-color) 1em) top;
    background-repeat: no-repeat;
    background-size: 100% 50%;
    background-color: transparent !important;
    box-shadow: hsla(var(--ewf-card-box-shadow-color), 0.25) -20px 6px 17px 0px, hsla(var(--ewf-card-box-shadow-color), 0.08) 0px 0px 0px 0px;
}
.ewf-eschart {
    background-color: var(--ewf-card-background-color);
    position: relative;
}

    .ewf-eschart .ewf-eschart-fullscreen-switch {
        position: absolute;
        font-size: 1em;
        top: 0.3em;
        right: 0.3em;
    }

    .ewf-eschart.ewf-eschart-fullscreen {
        position: fixed;
        z-index: 1500;
        top: 10px;
        left: 10px;
        width: calc(98% - 10px);
        height: calc(98% - 30px);
        border-width: 1px;
        border-color: var(--ewf-card-border-color);
        border-style: solid;
        padding-top: 0.5em;
        padding-bottom: 1em;
        padding-right: 1em;
        padding-left: 1em;
        border-radius: var(--ewf-border-radius-sm);
        box-shadow: hsla(var(--ewf-card-box-shadow-color), 0.25) 0px 4px 8px -2px, hsla(var(--ewf-card-box-shadow-color), 0.08) 0px 0px 0px 1px;
    }

    .ewf-eschart .ewf-eschart-chart {
        width: 100%;
        height: 100%;
    }

    .ewf-eschart .ewf-eschart-tooltip-content {
        color: var(--ewf-text-dark-color);
        padding: 0.4em 0.8em;
    }

.ewf-eschart-overlay {
    background: rgba(0, 0, 0, 0.5);
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 1499;
}

/* Componente */

.ewf-escode {
    display: flex;
    flex-direction: column;
    /* Necessaria per posizionare la tendina con i suggerimenti */
    position: relative;
}

    .ewf-escode .ewf-escode-description {
        display: inline-flex;
        align-items: center;
    }

    .ewf-escode .ewf-escode-data {
        display: flex;
    }

        .ewf-escode .ewf-escode-data .ewf-escode-link {
            background-color: var(--ewf-input-background-color);
        }

        .ewf-escode .ewf-escode-data .ewf-escode-label {
            border-top-left-radius: 0;
            border-bottom-left-radius: 0;
            border-left: 0;
        }

        .ewf-escode .ewf-escode-data:focus-within .dxbl-text-edit {
            /* Copro entrambi gli input, perché anche il click sul bottone con la lente genera un focus */
            border-color: var(--ewf-input-focused-border-color);
        }

        .ewf-escode .ewf-escode-data:focus-within .ewf-inner-button .fas {
            color: var(--ewf-input-focused-icon-color);
        }

    .ewf-escode.ewf-escode-with-label .ewf-escode-data .dxbl-text-edit {
        /* Un ESCode con la descrizione non deve avere gli angoli smussati a destra */
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

td .ewf-escode .ewf-escode-data .dxbl-text-edit {
    /* Un ESCode in una cella non deve avere gli angoli smussati */
    border-radius: 0;
}

div[data-is-browsing='False'][data-readonly='True'].ewf-escode .ewf-escode-data .ewf-escode-input {
    /* 
        Smorzo il colore del testo dell'input se in sola lettura in un contesto di modifica.
        Nel caso in cui sia presente una forzatura effettuata lato script, questa vince sul colore predefinito.
    */
    color: var(--ewf-script-forecolor, var(--ewf-input-readonly-color));
}

/* Tendina suggerimenti */

.ewf-escode-tips-overlay {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 3;
    background-color: transparent;
}

.ewf-escode-tips-container {
    position: fixed;
    z-index: 4;
}

.ewf-escode-tips {
    width: 100%;
    display: block;
    font-size: 0.875rem;
    border: 0;
    margin: 3.5em 0 0;
    padding: 0;
}

.ewf-escode-hosted .ewf-escode-tips {
    /* Se sono nella griglia, allora non ho etichetta e la tendina deve essere più in alto */
    margin-top: 2em;
}

/* Modale ricerca */
.ewf-codebrowser-dialog {
    /* Per non aggiungere un altro bordo, oltre a quello della griglia */
    border: 0;
}

.ewf-esgrid {
}

    .ewf-esgrid .table-sm td {
        padding: 0px;
    }

    .ewf-esgrid .form-control {
        border-style: none;
    }

    .ewf-esgrid thead {
        background-color: var(--ewf-grid-header-background-color);
        color: var(--ewf-grid-header-color);
        text-align: center;
    }

    .ewf-esgrid td .dxbl-text-edit {
        --dxbl-text-edit-border-width: 0;
        --dxbl-text-edit-border-radius: 0;
    }

    .ewf-esgrid td .ewf-escheckbox {
        display: flex;
        justify-content: center;
    }

        .ewf-esgrid td .ewf-escheckbox label {
            /* Nascondo l'etichetta vuota che occupa comunque spazio e non fa centrare il controllo */
            display: none;
        }

    .ewf-esgrid .dxbs-gridview .card {
        border: thin solid var(--ewf-grid-card-border-color);
        border-radius: 0;
    }

    .ewf-esgrid .ewf-esgrid-scrollable-container {
        overflow-x: auto;
    }

    .ewf-esgrid .ewf-grid-pager-row {
        background: var(--ewf-generic-background-color);
    }

        .ewf-esgrid .ewf-grid-pager-row td {
            padding-top: 0.6em;
            padding-bottom: 0.6em;
            text-align: center;
        }

    .ewf-esgrid button.btn-secondary {
        border-width: 0px;
    }

    .ewf-esgrid td.ewf-esgrid-header {
        padding: 0.25em 0.375em;
        border-color: var(--ewf-grid-border-color);
    }

        .ewf-esgrid td.ewf-esgrid-header .ewf-escheckbox .dxbl-checkbox {
            --dxbl-checkbox-check-element-size: 1.2em;
            --ewf-checkbox-background-color-override: var(--ewf-input-border-color);
            --dxbl-checkbox-check-element-unchecked-bg: var(--ewf-input-background-color);
        }

            .ewf-esgrid td.ewf-esgrid-header .ewf-escheckbox .dxbl-checkbox .dxbl-checkbox-check-element {
                margin: 0.1em 0;
            }

        .ewf-esgrid td.ewf-esgrid-header > span,
        .ewf-esgrid td.ewf-esgrid-header > .ewf-escode-header > span {
            font-weight: 500;
        }

        .ewf-esgrid td.ewf-esgrid-header > .ewf-escode-header {
            display: inline-flex;
            align-items: baseline;
        }

            .ewf-esgrid td.ewf-esgrid-header > .ewf-escode-header .fas {
                color: var(--ewf-grid-header-color);
                font-size: 0.9em;
            }

    .ewf-esgrid td .ewf-escode .ewf-escode-link {
        display: none;
    }

    .ewf-esgrid .card .dxbs-table > tbody > tr > td.ewf-esgrid-placeholder-data-cell {
        text-align: center;
        background-color: var(--ewf-table-row-odd-background-color);
        height: var(--ewf-table-empty-data-cell-height);
    }

        .ewf-esgrid .card .dxbs-table > tbody > tr > td.ewf-esgrid-placeholder-data-cell > span {
            opacity: var(--ewf-disabled-opacity);
            font-weight: 600;
            font-size: 1rem;
        }

.ewf-eskanban {
    display: flex;
    flex-direction: row;
    gap: var(--ewf-gap-em);
}

    .ewf-eskanban .ewf-eskanban-state {
        display: flex;
        flex-direction: column;
        /* Le due clausole sottostanti (flex, min-width) servono per ripartire equamente le colonne */
        flex: 1;
        min-width: 0;
        gap: 1em;
        border: dashed;
        border-color: transparent;
        border-radius: var(--ewf-border-radius-lg);
        padding: 0.3em;
    }

        .ewf-eskanban .ewf-eskanban-state.ewf-eskanban-state-dragover {
            border-color: var(--ewf-card-border-color);
        }

    .ewf-eskanban .ewf-eskanban-state-header {
        background-color: var(--ewf-primary-background-color);
        border-radius: var(--ewf-border-radius-sm);
        color: var(--ewf-primary-color);
        padding: 0.2em 0em;
        text-align: center;
        font-size: 1.2em;
        font-weight: 500;
    }

    .ewf-eskanban .ewf-eskanban-item {
        background-color: var(--ewf-card-background-color);
        border: thin var(--ewf-card-border-color) solid;
        border-radius: var(--ewf-border-radius-sm);
        box-shadow: hsla(var(--ewf-card-box-shadow-color), 0.25) 0px 4px 8px -2px, hsla(var(--ewf-card-box-shadow-color), 0.08) 0px 0px 0px 0px;
        padding: 0.4em 0.8em;
        cursor: move;
    }

/* Blazored Modal */

.blazored-modal-container {
    z-index: 1040; /* Le tendine di DevExpress hanno z-index uguale a 1050 e devono stare sopra */
    background-color: transparent;
}

    .blazored-modal-container.ewf-user-message-dialog-container {
        /* 
            Se non devo mostrare controlli come le tendine, allora posso alzare lo z-index.
            Così facendo, le modali con i messaggi utente possono stare sopra le finestre popup DevExpress.
            Un esempio è dato dalla modale di conferma di cancellazione delle note dei card.
        */
        z-index: 1060;
    }

.blazored-modal-overlay {
    background-color: rgba(0,0,0,0.2);
}

.blazored-modal-content {
    height: 100%;
}

    .blazored-modal-content .ewf-full-screen-dialog {
        height: 100%;
        display: flex;
        flex-direction: column;
    }

/* Dialog button group */

.ewf-dialog-btn-group {
    display: flex;
    justify-content: center;
    gap: var(--ewf-gap-em);
    padding: calc(2 * var(--ewf-gap-em)) 0;
    position: relative;
    height: 3.6em /* Calcolo empirico per garantire allineamento anche senza i bottoni centrali */;
}

    .ewf-dialog-btn-group .ewf-dialog-btn-group-left {
        position: absolute;
        left: calc(2 * var(--ewf-gap-em));
    }

    .ewf-dialog-btn-group .ewf-dialog-btn-group-right {
        position: absolute;
        right: calc(2 * var(--ewf-gap-em));
    }

    .ewf-dialog-btn-group .dxbl-btn {
        min-width: var(--ewf-btn-min-width);
    }

    .ewf-dialog-btn-group.ewf-dialog-btn-group-top {
    }

    .ewf-dialog-btn-group.ewf-dialog-btn-group-bottom {
        margin-top: auto;
    }

/* Full screen position */

.ewf-full-screen-dialog-position {
}

    .ewf-full-screen-dialog-position .blazored-modal {
        position: absolute;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: var(--ewf-generic-background-color);
        overflow-y: auto;
        padding: 0;
        border: 0;
        border-radius: 0;
    }

/* Script dialog */

.ewf-script-dialog {
    --ewf-script-dialog-toolbar-height: 2.8em;
    --ewf-script-dialog-tab-container-height: 2em;
}

    .ewf-script-dialog.ewf-script-dialog-loading .ewf-script-dialog-spinner {
        font-size: 5em;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
    }

    .ewf-script-dialog .ewf-toolbar {
        padding-top: var(--ewf-gap-rem);
        margin: unset;
        height: var(--ewf-script-dialog-toolbar-height);
    }

    .ewf-script-dialog .ewf-tab-container .dxbl-tabs-tablist {
        height: var(--ewf-script-dialog-tab-container-height);
        margin-left: calc(2 * var(--ewf-gap-em));
        margin-right: calc(2 * var(--ewf-gap-em));
    }

.ewf-script-dialog-tab-content {
    padding-top: 0;
}

.ewf-script-dialog-editor-tab-content {
}

.ewf-script-dialog-editor-top-container {
    --ewf-script-snippets-width: 20em;
    display: flex;
    flex-direction: row;
    margin-left: calc(2 * var(--ewf-gap-em));
    gap: calc(2 * var(--ewf-gap-em));
    height: 100%;
}

    .ewf-script-dialog-editor-top-container .ewf-script-snippets-container {
        display: flex;
        flex-direction: column;
        width: var(--ewf-script-snippets-width);
        height: 100%;
        box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.16);
    }

        .ewf-script-dialog-editor-top-container .ewf-script-snippets-container .ewf-script-snippets-tree {
            height: calc(100vh - var(--ewf-script-dialog-toolbar-height) - var(--ewf-script-dialog-tab-container-height));
        }

            .ewf-script-dialog-editor-top-container .ewf-script-snippets-container .ewf-script-snippets-tree.dxbl-treeview {
                --dxbl-treeview-text-padding-y: 0.2em;
                --dxbl-treeview-spacing-x: calc(2 * var(--ewf-gap-em));
                --dxbl-treeview-spacing-y: var(--ewf-gap-em);
            }

                .ewf-script-dialog-editor-top-container .ewf-script-snippets-container .ewf-script-snippets-tree.dxbl-treeview .dxbl-treeview-item .dxbl-treeview-item-content .dxbl-treeview-item-container .dxbl-treeview-item-text-container.dxbl-text {
                    --dxbl-text-font-size: 0.875em;
                }

                .ewf-script-dialog-editor-top-container .ewf-script-snippets-container .ewf-script-snippets-tree.dxbl-treeview .dxbl-treeview-item .dxbl-treeview-item-content .dxbl-btn {
                    --dxbl-btn-padding-x: 0;
                    --dxbl-btn-padding-y: 0;
                }

                    .ewf-script-dialog-editor-top-container .ewf-script-snippets-container .ewf-script-snippets-tree.dxbl-treeview .dxbl-treeview-item .dxbl-treeview-item-content .dxbl-btn:not(.dxbl-nav-expand-btn-custom):not(.dxbl-disabled):not(:disabled):hover::before {
                        border-radius: 0;
                    }

    .ewf-script-dialog-editor-top-container .ewf-script-main-container {
        display: flex;
        flex-direction: column;
        gap: var(--ewf-gap-em);
    }

        .ewf-script-dialog-editor-top-container .ewf-script-main-container .ewf-top-dropdowns-container {
            display: flex;
            gap: var(--ewf-gap-em);
            margin-top: var(--ewf-gap-em);
            align-items: end;
        }

            .ewf-script-dialog-editor-top-container .ewf-script-main-container .ewf-top-dropdowns-container > * {
                /* Fa s� che le colonne abbiano uguale larghezza */
                flex: 1;
            }

        .ewf-script-dialog-editor-top-container .ewf-script-main-container .ewf-script-editor-container .monaco-editor-container {
            width: calc(100vw - var(--ewf-script-snippets-width) - (4 * var(--ewf-gap-em)));
            height: 78vh;
        }

/* UI Designer */

.ewf-script-dialog-designer-top-container {
    display: flex;
    flex-direction: row;
    margin-top: var(--ewf-gap-em);
    margin-left: calc(2 * var(--ewf-gap-em));
    margin-right: calc(2 * var(--ewf-gap-em));
    gap: calc(2 * var(--ewf-gap-em));
}

    .ewf-script-dialog-designer-top-container .ewf-script-dialog-designer-canvas-container {
        overflow-y: auto;
    }

        .ewf-script-dialog-designer-top-container .ewf-script-dialog-designer-canvas-container .ewf-script-dialog-designer-canvas {
            background-color: var(--ewf-generic-background-color);
            width: 80vw;
            height: calc(80vw / 1920 * (50 * 18)); /* Tenere sincronizzata questa parte con le misure del canvas */
        }

    .ewf-script-dialog-designer-top-container .ewf-script-dialog-designer-props-container {
        display: flex;
        flex-direction: column;
        gap: var(--ewf-gap-em);
        width: 18vw;
        margin-left: auto;
    }

        .ewf-script-dialog-designer-top-container .ewf-script-dialog-designer-props-container .ewf-groupbox-header {
            margin-top: var(--ewf-gap-em);
        }

.ewf-script-dialog-designer-no-control-selected {
    display: flex;
    gap: var(--ewf-gap-em);
    align-items: baseline;
}

.ewf-sysdialog {
    display: flex;
    z-index: 102;
    flex-direction: column;
    background-color: var(--ewf-generic-background-color);
    border-radius: var(--ewf-border-radius-lg);
    box-shadow: 0 2px 2px rgba(0,0,0,.25);
    overflow: hidden;
    border: thin var(--ewf-card-border-color) solid;
}

    .ewf-sysdialog .blazored-modal-header {
        padding: 0.3em 0.6em;
        color: var(--ewf-primary-color);
        background-color: var(--ewf-primary-background-color);
        position: relative;
    }

    .ewf-sysdialog .blazored-modal-title {
        font-size: 0.9em;
    }

    .ewf-sysdialog .blazored-modal-close {
        color: var(--ewf-primary-color);
        position: absolute;
        right: 0.3rem;
        top: -0.5rem;
    }

    .ewf-sysdialog .blazored-modal-content {
        height: 100%;
    }

.ewf-box-formatcondition {
    display: flex;
    gap: 0.5em;
}
.ewf-ruleslist {
 /*   background-color: var(--ewf-report-pars-container-background-color);*/
}
.ewf-ruleslist-title {
    display: block
}
.ewf-ruleschoices-title {
    display: block
}
.ewf-bottom {
    padding-top: 10em;
    padding-top: 10em;
    padding-left: 0.5em;
    padding-right: 0.5em;
}
.ewf-button-rule {
    text-align: center
}
.ewf-colorcombo {
    display: flex;
    gap: 0.3em;
    align-items: center
}
.ewf-colorcombo-icon {
    height: 1em;
    width: 1em;
}
@media screen and (min-width: 768px) {
    #appStoreImage {
        width: 144px;
        height: 48px;
    }

    #auth-btn-group {
        margin-bottom: 0 !important;
    }

    #auth-btn-group > * {
        position: absolute !important;
    }
}
.ewf-card-page-container.dxbl-tabs.dxbl-tabs-top > .dxbl-tabs-tablist {
    border: unset;
}

/* Attachments */
.ewf-dmsdocinfo-container {
    display: flex;
    height: calc(100vh - var(--ewf-navbar-height) - var(--ewf-toolbar-height));
    /* Margine negativo per consentire allo sfondo di coprire tutto lo spazio */
    --ewf-content-negative-margin: calc(-3 * var(--ewf-gap-rem));
    margin: calc(-1 * var(--ewf-gap-rem)) var(--ewf-content-negative-margin) calc(-2 * var(--ewf-gap-rem)) var(--ewf-content-negative-margin);
}

.ewf-dmsdocinfo-panel {
    --ewf-dmsdocinfo-panel-background-color: var(--ewf-color-light-blue-3);
    --ewf-dmsdocinfo-panel-color: var(--ewf-color-white);
    --ewf-checkbox-color: var(--ewf-dmsdocinfo-panel-background-color);
    --ewf-checkbox-background-color: var(--ewf-color-white);
    --ewf-disabled-opacity: 0.8;
}

.ewf-theme-dark .ewf-dmsdocinfo-panel {
    --ewf-dmsdocinfo-panel-background-color: var(--ewf-color-black-blue-2);
    --ewf-checkbox-color: unset;
    --ewf-checkbox-background-color: unset;
}

.ewf-dmsdocinfo-panel {
    background-color: var(--ewf-dmsdocinfo-panel-background-color);
    padding: 0.6em 1.5em;
    flex-basis: 20em;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: var(--ewf-gap-em);
    box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.16);
}

    .ewf-dmsdocinfo-panel > .ewf-control-scripting-info {
        height: auto;
    }

    .ewf-dmsdocinfo-panel .ewf-text-muted,
    .ewf-dmsdocinfo-panel .ewf-escheckbox .dxbl-checkbox .dxbl-text {
        color: var(--ewf-dmsdocinfo-panel-color);
    }

    .ewf-dmsdocinfo-panel .ewf-dmsdocinfo-panel-flags {
        display: flex;
        gap: var(--ewf-gap-em);
    }

    .ewf-dmsdocinfo-panel .ewf-dmsdocinfo-panel-creation-time {
        display: flex;
    }

        .ewf-dmsdocinfo-panel .ewf-dmsdocinfo-panel-creation-time .ewf-esdate .dxbl-text-edit {
            border-top-right-radius: 0;
            border-bottom-right-radius: 0;
            border-right: 0;
        }

        .ewf-dmsdocinfo-panel .ewf-dmsdocinfo-panel-creation-time .ewf-estime .dxbl-text-edit {
            border-top-left-radius: 0;
            border-bottom-left-radius: 0;
        }

.ewf-dmsdocinfo-boxes {
    flex-grow: 10;
    display: flex;
    gap: calc(2 * var(--ewf-gap-em));
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: flex-start;
    padding: calc(4 * var(--ewf-gap-em));
}

.ewf-dmsdocinfo-box {
    --ewf-dmsdocinfo-box-file-extension-background-color: var(--ewf-color-dark-orange-1);
    --ewf-dmsdocinfo-box-file-extension-color: var(--ewf-color-white);
    --ewf-dmsdocinfo-box-icon-background-color: hsla(0, 0%, 100%, 0.8);
    --ewf-dmsdocinfo-box-icon-color: var(--ewf-icon-color);
    --ewf-dmsdocinfo-box-top-left-icon-color: var(--ewf-dmsdocinfo-box-icon-color);
    --ewf-dmsdocinfo-box-selected-background-color: var(--ewf-color-yellow-2);
    --ewf-dmsdocinfo-box-selected-color: var(--ewf-text-dark-color);
}

.ewf-theme-dark .ewf-dmsdocinfo-box {
    --ewf-dmsdocinfo-box-icon-background-color: hsla(0, 0%, 100%, 0.2);
    --ewf-dmsdocinfo-box-icon-color: var(--ewf-color-gray-60);
    --ewf-dmsdocinfo-box-selected-background-color: var(--ewf-color-yellow-4);
}

.ewf-dmsdocinfo-box {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--ewf-gap-em);
    width: 10em;
    padding: var(--ewf-gap-em) calc(2 * var(--ewf-gap-em));
}

    .ewf-dmsdocinfo-box.ewf-dmsdocinfo-box-selected {
        background-color: var(--ewf-dmsdocinfo-box-selected-background-color);
        color: var(--ewf-dmsdocinfo-box-selected-color);
    }

    .ewf-dmsdocinfo-box .ewf-dmsdocinfo-box-icon {
        background-color: var(--ewf-dmsdocinfo-box-icon-background-color);
        border: thin solid var(--ewf-card-border-color);
        text-align: center;
        font-size: 5em;
    }

        .ewf-dmsdocinfo-box .ewf-dmsdocinfo-box-icon .fas {
            color: var(--ewf-dmsdocinfo-box-icon-color);
        }

    .ewf-dmsdocinfo-box .ewf-dmsdocinfo-box-name-container {
        display: flex;
        gap: var(--ewf-gap-em);
        align-items: flex-start;
        overflow-wrap: anywhere;
    }

        .ewf-dmsdocinfo-box .ewf-dmsdocinfo-box-name-container .ewf-dmsdocinfo-box-name {
            padding: 0 var(--ewf-gap-em);
        }

    .ewf-dmsdocinfo-box .ewf-dmsdocinfo-box-delete-button {
        flex-shrink: 1;
    }

    .ewf-dmsdocinfo-box .ewf-dmsdocinfo-box-top-left-icon {
        position: absolute;
        top: -0.5em;
        left: 0em;
        z-index: 1;
        font-size: 2em;
    }

        .ewf-dmsdocinfo-box .ewf-dmsdocinfo-box-top-left-icon .fas {
            color: var(--ewf-dmsdocinfo-box-top-left-icon-color);
        }

        .ewf-dmsdocinfo-box .ewf-dmsdocinfo-box-top-left-icon.ewf-dmsdocinfo-box-primary-check {
            transform: rotate(-15deg);
        }

    .ewf-dmsdocinfo-box .ewf-dmsdocinfo-box-file-extension {
        position: absolute;
        top: 4em;
        left: 2em;
        z-index: 1;
        background-color: var(--ewf-dmsdocinfo-box-file-extension-background-color);
        color: var(--ewf-dmsdocinfo-box-file-extension-color);
        padding: var(--ewf-gap-em);
        border-radius: var(--ewf-border-radius-sm);
    }

/* Notes */

.ewf-sys-notes {
    --ewf-sys-note-background-color: var(--ewf-color-light-blue-5);
}

.ewf-theme-dark .ewf-sys-notes {
    --ewf-sys-note-background-color: var(--ewf-color-azure-gray-8);
}

.ewf-sys-notes {
    display: flex;
    flex-direction: column;
    gap: calc(2 * var(--ewf-gap-em));
}

.ewf-sys-notes-list {
    display: flex;
    flex-direction: column;
    gap: calc(2 * var(--ewf-gap-em));
}

.ewf-sys-note {
    background-color: var(--ewf-sys-note-background-color);
    border-radius: var(--ewf-border-radius-lg);
    padding: 0.3em 0.9em;
    display: flex;
    flex-direction: column;
    gap: var(--ewf-gap-em);
}

    .ewf-sys-note .ewf-sys-note-header {
        display: flex;
        align-items: baseline;
        gap: calc(2 * var(--ewf-gap-em));
    }

        .ewf-sys-note .ewf-sys-note-header .ewf-sys-note-last-update {
            opacity: var(--ewf-disabled-opacity);
        }

        .ewf-sys-note .ewf-sys-note-header .ewf-sys-note-actions {
            color: var(--ewf-text-color);
            margin-left: auto;
            margin-right: var(--ewf-gap-em);
        }

    .ewf-sys-note .ewf-sys-note-body p,
    .ewf-sys-note .ewf-sys-note-body ul,
    .ewf-sys-note .ewf-sys-note-body ol {
        margin-bottom: var(--ewf-gap-em);
    }

.ewf-sys-notes-editor-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--ewf-gap-em);
    position: relative;
    min-height: 10em;
}

.ewf-sys-notes-editor-fab {
    position: absolute;
    z-index: 2;
    right: 1em;
    bottom: 1.5em;
    width: 3em;
    height: 3em;
    border-radius: 50%;
}

    .ewf-sys-notes-editor-fab.ewf-sys-notes-editor-fab-secondary {
        right: 4.5em;
    }

.ewf-sys-notes-daily-separator {
    display: flex;
    align-items: center;
}

    .ewf-sys-notes-daily-separator .ewf-sys-notes-daily-separator-line {
        flex-grow: 1;
        border-top: thin solid var(--ewf-generic-border-color);
    }

    .ewf-sys-notes-daily-separator .ewf-sys-notes-daily-separator-date {
        min-width: 8em;
        text-align: center;
    }

/* Timeline */

.ewf-sys-timeline {
    --ewf-sys-timeline-event-background-color: var(--ewf-color-light-blue-5);
}

.ewf-theme-dark .ewf-sys-timeline {
    --ewf-sys-timeline-event-background-color: var(--ewf-color-azure-gray-8);
}

.ewf-sys-timeline {
    display: flex;
    flex-direction: column;
    gap: calc(2 * var(--ewf-gap-em));
}

.ewf-sys-timeline-list {
    display: flex;
    flex-direction: column;
    gap: calc(2 * var(--ewf-gap-em));
}

.ewf-sys-timeline-event {
    background-color: var(--ewf-sys-timeline-event-background-color);
    border-radius: var(--ewf-border-radius-lg);
    padding: 0.3em 0.9em;
    display: flex;
    flex-direction: column;
    gap: var(--ewf-gap-em);
}

    .ewf-sys-timeline-event .ewf-sys-timeline-event-header {
        display: flex;
        align-items: baseline;
        gap: calc(2 * var(--ewf-gap-em));
    }

        .ewf-sys-timeline-event .ewf-sys-timeline-event-header .ewf-sys-timeline-event-last-update {
            opacity: var(--ewf-disabled-opacity);
        }

    .ewf-sys-timeline-event .ewf-sys-timeline-event-body p,
    .ewf-sys-timeline-event .ewf-sys-timeline-event-body ul,
    .ewf-sys-timeline-event .ewf-sys-timeline-event-body ol {
        margin-bottom: var(--ewf-gap-em);
    }

.ewf-sys-timeline-daily-separator {
    display: flex;
    align-items: center;
}

    .ewf-sys-timeline-daily-separator .ewf-sys-timeline-daily-separator-line {
        flex-grow: 1;
        border-top: thin solid var(--ewf-generic-border-color);
    }

    .ewf-sys-timeline-daily-separator .ewf-sys-timeline-daily-separator-date {
        min-width: 8em;
        text-align: center;
    }

.ewf-catalog-container {
    margin-left: -4px;
    margin-right: +4px;
}

.card.ewf-catalog-card {
    background-color: var(--ewf-catalog-card-background-color);
    border-color: var(--ewf-card-border-color);
    box-shadow: rgb(var(--ewf-card-box-shadow-color) / 25%) 0px 4px 8px -2px, rgb(var(--ewf-card-box-shadow-color) / 8%) 0px 0px 0px 1px;
}

    .card.ewf-catalog-card .card-img-top {
        min-height: 8em;
    }

    .card.ewf-catalog-card .card-body {
        padding: 0.2em 0.8em 0.4em;
    }

        .card.ewf-catalog-card .card-body .card-text {
            margin-bottom: 0.2em;
        }

            .card.ewf-catalog-card .card-body .card-text .ewf-catalog-description {
                color: var(--ewf-text-emphasized-color);
            }

            .card.ewf-catalog-card .card-body .card-text .ewf-catalog-price {
                color: var(--ewf-color-dark-green-1);
                font-size: 1.1em;
            }

            .card.ewf-catalog-card .card-body .card-text .ewf-catalog-input-price-container {
                width: 40%;
            }

                .card.ewf-catalog-card .card-body .card-text .ewf-catalog-input-price-container .dxbl-text-edit {
                    border-top-right-radius: 0;
                    border-bottom-right-radius: 0;
                    border-right: 0;
                }

                .card.ewf-catalog-card .card-body .card-text .ewf-catalog-input-price-container .dxbl-spin-btns > button {
                    border-top-right-radius: 0;
                    border-bottom-right-radius: 0;
                }

            .card.ewf-catalog-card .card-body .card-text .ewf-catalog-btn-add {
                border-top-left-radius: 0;
                border-bottom-left-radius: 0;
                --dxbl-btn-padding-y: 0;
            }

            .card.ewf-catalog-card .card-body .card-text .ewf-catalog-btn-details {
                --dxbl-btn-padding-y: 0;
            }

.ewf-device-tablet .card.ewf-catalog-card .card-body .card-text .ewf-catalog-input-price-container {
    width: 50%;
}

.ewf-device-tablet .card.ewf-catalog-card .card-body .card-text .ewf-catalog-price {
    font-size: 1em;
}

.ewf-theme-dark .card.ewf-catalog-card .card-img-top {
    filter: brightness(0.9);
}

.ewf-catalog-pager {
    display: flex;
    justify-content: center;
}

.ewf-dataquery-grid-description .ewf-grid-description {
    text-align: start;
    margin-top: 0;
}

.ewf-dataquery-grid-description .ewf-list .card {
    border-top: 0;
}

.ewf-dataquery-grid-description .ewf-list input {
    border-radius: 0;
}

.ewf-dataquery-grid-description .ewf-esgrid td .dxbl-text-edit {
    border: 0;
    border-radius: 0;
}

.powerbi {
    height: calc(100vh - var(--ewf-navbar-height) - var(--ewf-gap-rem));
    margin-top: calc(-2 * var(--ewf-gap-rem));
    margin-left: calc(-3 * var(--ewf-gap-rem));
    margin-right: calc(-3 * var(--ewf-gap-rem));
    margin-bottom: calc(-2 * var(--ewf-gap-rem));
}

    .powerbi iframe {
        border: thin solid var(--ewf-card-border-color);
    }

.powerbi-menu button[data-toggle='dropdown'] {
    padding-bottom: 5px;
    padding-top: 5px;
}

.powerbi-menu .page-title {
    margin-top: 10px;
}

#powerbiMenu .btn-default {
    background-color: #f8f8f8
}

@media only screen and (min-width: 0px) and (max-width: 679px) {
    #powerbiMenu > a,
    #powerbiMenu.btn-header a {
        margin-top: 0px !important;
        width: auto !important;
        height: auto !important;
        line-height: 1.42857143;
    }
}

@media (max-width: 767px) {
    #powerbiMenu > a,
    #powerbiMenu .btn-header a {
        margin-top: 0px !important;
        width: auto !important;
        height: auto !important;
        line-height: 1.42857143;
    }
}

@media (min-width: 768px) and (max-width: 979px) {
    #powerbiMenu a,
    #powerbiMenu .btn-header a {
        margin-top: 0px !important;
        width: auto !important;
        height: auto !important;
        line-height: 1.42857143;
    }
}

@media (min-width: 768px) and (max-width: 880px) {
    #powerbiMenu > a,
    #powerbiMenu .btn-header a {
        margin-top: 0px !important;
        width: auto !important;
        height: auto !important;
        line-height: 1.42857143;
    }
}

.ewf-powerbi {
}

.ewf-report-container {
    --ewf-report-breadcrumb-height: 2.4em;
    --ewf-report-toolbar-height: 2.4em;
    --ewf-report-tab-container-height: 2.2em;
}

.ewf-report-breadcrumb {
    background-color: var(--ewf-toolbar-background-color);
    padding-top: calc(2 * var(--ewf-gap-rem));
    padding-right: calc(3 * var(--ewf-gap-rem));
    padding-left: calc(3 * var(--ewf-gap-rem));
    /* Annullano il padding inserito dal contenitore Bootstrap */
    margin-top: calc(-2 * var(--ewf-gap-rem));
    margin-right: calc(-3 * var(--ewf-gap-rem));
    margin-left: calc(-3 * var(--ewf-gap-rem));
    /* Blocca la posizione della toolbar, rimane fissa in alto anche se la pagina è lunga */
    position: sticky;
    top: 0;
    z-index: 3;
    height: var(--ewf-report-breadcrumb-height);
}

.ewf-toolbar.ewf-report-toolbar {
    padding-top: unset;
    padding-right: calc(2 * var(--ewf-gap-rem));
    padding-left: calc(2 * var(--ewf-gap-rem));
    margin-top: 0.2em;
    margin-right: calc(-2 * var(--ewf-gap-rem));
    margin-left: calc(-2 * var(--ewf-gap-rem));
    height: var(--ewf-report-toolbar-height);
}

.ewf-tab-container.ewf-report-tab-container {
    --dxbl-tabs-separator-border-width: 0;
    background-color: var(--ewf-toolbar-background-color);
    padding-right: calc(2 * var(--ewf-gap-rem));
    padding-left: calc(2 * var(--ewf-gap-rem));
    /* Annullano il padding inserito dal contenitore Bootstrap */
    margin-left: calc(-3 * var(--ewf-gap-rem));
    margin-right: calc(-3 * var(--ewf-gap-rem));
    height: var(--ewf-report-tab-container-height);
}

    .ewf-tab-container.ewf-report-tab-container.dxbl-tabs.dxbl-tabs-top > .dxbl-tabs-tablist > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul > li > .dxbl-tabs-item:not(.dxbl-disabled):not(:disabled).dxbl-active,
    .ewf-tab-container.ewf-report-tab-container .dxbl-tabs.dxbl-tabs-top > .dxbl-tabs-tablist > ul > li > .dxbl-tabs-item:not(.dxbl-disabled):not(:disabled).dxbl-active {
        border-bottom-color: var(--dxbl-tabs-bg);
    }

    .ewf-tab-container.ewf-report-tab-container.dxbl-tabs > .dxbl-tabs-tablist > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul > li > .dxbl-tabs-item:not(.dxbl-disabled):not(:disabled).dxbl-active,
    .ewf-tab-container.ewf-report-tab-container.dxbl-tabs > .dxbl-tabs-tablist > ul > li > .dxbl-tabs-item:not(.dxbl-disabled):not(:disabled).dxbl-active {
        color: var(--dxbl-tabs-tab-selected-color);
        background-color: var(--dxbl-tabs-tab-selected-bg);
        border-color: var(--dxbl-tabs-tab-border-color) var(--dxbl-tabs-tab-border-color) var(--dxbl-tabs-tab-border-color) var(--dxbl-tabs-tab-border-color);
    }

    .ewf-tab-container.ewf-report-tab-container.dxbl-tabs.dxbl-tabs-top > .dxbl-tabs-tablist > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul > li > .dxbl-tabs-item,
    .ewf-tab-container.ewf-report-tab-container.dxbl-tabs.dxbl-tabs-top > .dxbl-tabs-tablist > ul > li > .dxbl-tabs-item {
        border-top-left-radius: .25rem;
        border-top-right-radius: .25rem;
    }

    .ewf-tab-container.ewf-report-tab-container.dxbl-tabs > .dxbl-tabs-tablist > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul > li > .dxbl-tabs-item,
    .ewf-tab-container.ewf-report-tab-container.dxbl-tabs > .dxbl-tabs-tablist > ul > li > .dxbl-tabs-item {
        border-style: var(--dxbl-tabs-tab-border-style);
        border-color: transparent;
        border-width: var(--dxbl-tabs-tab-border-width);
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        padding: var(--dxbl-tabs-tab-padding-y) var(--dxbl-tabs-tab-padding-x);
        text-decoration: none;
        max-width: var(--dxbl-tabs-tab-width);
    }

    .ewf-tab-container.ewf-report-tab-container .ewf-report-tab-close-btn {
        padding: 0 0 0 var(--ewf-gap-em);
    }

.ewf-report-pars-container {
    height: calc(100vh - var(--ewf-navbar-height) - var(--ewf-report-breadcrumb-height) - var(--ewf-report-tab-container-height) - var(--ewf-report-toolbar-height));
    background-color: var(--ewf-report-pars-container-background-color);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    padding: calc(2 * var(--ewf-gap-rem));
    /* Margine negativo per consentire allo sfondo di coprire tutto lo spazio */
    --ewf-content-negative-margin: calc(-2 * var(--ewf-gap-rem));
    margin: calc(-1 * var(--ewf-gap-rem)) var(--ewf-content-negative-margin) 0 var(--ewf-content-negative-margin);
}

.ewf-report-pars-description {
    font-size: 2em;
    font-weight: 500;
    color: var(--ewf-report-pars-description-color);
}

.ewf-report-pars-groupbox {
    width: 40em;
    min-height: 25em;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: calc(3 * var(--ewf-gap-em));
    padding-bottom: calc(3 * var(--ewf-gap-em));
    background-color: var(--ewf-generic-background-color);
    border: var(--ewf-report-pars-groupbox-border-color) thin solid;
    border-radius: var(--ewf-border-radius-lg);
}

    .ewf-report-pars-groupbox .ewf-groupbox-header {
        border-top-left-radius: var(--ewf-border-radius-lg);
        border-top-right-radius: var(--ewf-border-radius-lg);
    }

.ewf-report-pars-files {
    padding: 0 calc(3 * var(--ewf-gap-em));
}

.ewf-report-pars-form {
    padding: 0 calc(3 * var(--ewf-gap-em));
}

.ewf-report-viewer-container {
    background-color: var(--ewf-toolbar-background-color);
    height: calc(100vh - var(--ewf-navbar-height) - var(--ewf-report-breadcrumb-height) - var(--ewf-report-tab-container-height));
    /* Margine negativo per consentire allo sfondo di coprire tutto lo spazio */
    --ewf-content-negative-margin: calc(-2 * var(--ewf-gap-rem));
    margin: 0 var(--ewf-content-negative-margin);
}

    .ewf-report-viewer-container .dx-blazor-reporting .dx-designer-viewport .dxd-back-secondary-invariant {
        background-color: var(--ewf-toolbar-background-color);
    }

    .ewf-report-viewer-container .dx-blazor-reporting .dx-designer-viewport .dxrd-toolbar .dxd-icon-fill {
        fill: var(--ewf-primary) !important;
    }

        .ewf-report-viewer-container .dx-blazor-reporting .dx-designer-viewport .dxrd-toolbar .dxd-icon-fill.ewf-icon-orange,
        .ewf-report-viewer-container .dx-blazor-reporting .dx-designer-viewport .dxrd-toolbar .dxd-icon-fill.ewf-icon-red {
            fill: currentColor !important;
        }

    .ewf-report-viewer-container .dx-blazor-reporting .dx-designer-viewport .dxrd-toolbar .dxd-icon-highlighted:hover .dxd-icon-fill {
        filter: brightness(1.2);
    }

    .ewf-report-viewer-container .dx-blazor-reporting .dx-designer-viewport .dxrd-toolbar .dxd-border-secondary {
        border-color: var(--ewf-color-gray-60);
    }

    /*
        Nascondo così il bottone Add Data Source nel pannello di destra
        perché programmaticamente non sembra esserci un modo per farlo.
    */
    .ewf-report-viewer-container #btn-add-dataSource {
        visibility: collapse !important;
    }

    /*
        Nascondo così il bottone hamburger nel menu in alto
        perché programmaticamente non sembra esserci un modo per farlo.
    */
    .ewf-report-viewer-container div.dxrd-menu-button > div.dxrd-menu-button-image {
        visibility: collapse !important;
    }

    /*
        Avendo spento il bottone per andare in Preview, tutti gli altri
        risultavano allineati a destra. Questa clausola li riporta al centro.
    */
    .ewf-report-viewer-container div.dxrd-toolbar-item.dxrd-toolbar-item-11 {
        margin-right: auto;
    }

.ewf-theme-overview {
    display: flex;
    flex-direction: column;
    gap: 2em;
    margin-bottom: 2em;
}

.ewf-theme-colors {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

    .ewf-theme-colors .ewf-theme-color {
    }

        .ewf-theme-colors .ewf-theme-color .ewf-theme-color-variants {
            display: flex;
            gap: 0.5em;
            flex-wrap: wrap;
        }

            .ewf-theme-colors .ewf-theme-color .ewf-theme-color-variants > div {
                width: 7em;
                height: 2em;
                border: solid thin;
                font-size: 1em;
            }

.ewf-theme-components {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

    .ewf-theme-components .ewf-theme-component {
    }

        .ewf-theme-components .ewf-theme-component .ewf-theme-component-variants {
            display: flex;
            gap: 0.5em;
            align-items: flex-end;
        }

            .ewf-theme-components .ewf-theme-component .ewf-theme-component-variants button {
                text-transform: capitalize;
            }

            .ewf-theme-components .ewf-theme-component .ewf-theme-component-variants .alert {
                max-width: 30em;
            }

            .ewf-theme-components .ewf-theme-component .ewf-theme-component-variants .ewf-tileitem {
                width: 12em;
            }
