:root
{
        /* variabili colori */
        --color-gray-dark: #313231;
        --color-gray-clear: #f3f0ec;
        --color-gray: #b7a9a5;
        --color-blue-electric: #51dde1;
        
        --color-primary: var(--color-gray-dark);
        --color-secondary: #FFF;
        --color-thirdary: #D9D9D9;
        --color-primary-opac: #313231BB;
        --color-secondary-opac: #FFFB;
        --color-thirdary-opac: #51dde1BB;
        --color-top-menu-back: var(--color-primary);
        --color-top-menu-link: var(--color-secondary);
        --color-top-menu-back-hover: var(--color-primary-opac);
        --color-top-menu-link-hover: var(--color-secondary-opac);
        --color-side-menu-back: var(--color-thirdary);
        --color-side-menu-link: var(--color-primary);
        --color-side-menu-selected-back: var(--color-primary);
        --color-side-menu-selected-link: var(--color-secondary);
        --color-button-back: var(--color-primary);
        --color-button-text: var(--color-secondary);
        --color-button-hover-back: var(--color-primary-opac);
        --color-button-hover-text: var(--color-secondary-opac);
        --color-text: var(--color-primary);
        --color-title: var(--color-primary);
        --color-entrata: #0029FF;
        --color-uscita: #FF0000;
        --color-error: #FF0000;
        --color-green: green;
        --color-table-bg: #f9f9f9;
        
        /* variabili font-size */
/*        --fontsize-base: 12px;
        --fontsize-big: 14px;
        --fontsize-p: 12px;
        --fontsize-h1: 30px;
        --fontsize-h2: 26px;
        --fontsize-h3: 24px;
        --fontsize-h4: 22px;
        --fontsize-h5: 20px;
        --fontsize-h6: 18px;
        --fontsize-top-menu: 20px;
        --fontsize-side-menu: 20px;
        --fontsize-menu1: 15px;*/
        
        --fontsize-normal: 14px;
        --fontsize-sm: 12px;
        --fontsize-table: 12px;
        /* tabelle e altro con dettaglio degli impegni, accertamenti ecc */
        --fontsize-table-dettaglio: 11px;
        
        --fontsize-base: var(--fontsize-normal);
        --fontsize-big: 14px;
        --fontsize-p: var(--fontsize-normal);
        --fontsize-button: 13px;
        --fontsize-calendar: 13px;
        --fontsize-h1: var(--fontsize-normal);
        --fontsize-h2: 26px;
        --fontsize-h3: 24px;
        --fontsize-h4: 22px;
        --fontsize-h5: 20px;
        --fontsize-h6: 18px;
        --fontsize-top-menu: 20px;
        --fontsize-side-menu: 20px;
        --fontsize-menu1: 15px;
        
        /* variabili font-family */
        /*--fontfamily-general: "Inter", sans-serif;*/
        --fontfamily-general: "Amiko", sans-serif;
        --fontfamily-title: "Amiko", sans-serif;
        
        /* top menu */
        --top-menu-padding-y: 1rem;
        --top-menu-padding-x: 1rem;
        
        /* accordion icon width */
        --accordion-btn-icon-width: 2rem;
        
        /* border */
        --border-input: solid 1px var(--color-gray);
        
        /* box shadow*/
        --box-shadow1: 0 0 10px 0 rgba(0, 0, 0, 0.1);
        --box-shadow-select: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
        --box-shadow-calendar: var(--box-shadow1);
        
        /* border radius */
        --border-radius1: 7px;
        --border-radius-input: 6px;
        
        /* buttons */
        /*--button-padding: .25rem .5rem;*/
        --button-padding: .15rem .6rem;
        --button-padding-sm: 0rem .2rem;
        --button-border: 1px solid transparent;
        --button-border-radius: 4px;
        
}

:root
{
        --transition-menu: 0.2s;
}

:root
{
        --bs-border-radius: 0;
        --bs-border-color: var(--color-gray);
}
/* desktop */
@media (min-width: 1200px)
{
        :root
        {
                --content-padding: 1.3rem;
        }
}
/* mobile */
@media (max-width: 1199.98px)
{
        :root
        {
                --content-padding: 1rem;
        }
}


/*** general START ***/
html
{
        /*font-size: var(--fontsize-base);*/
}
body
{
        font-family: var(--fontfamily-general);
        color: var(--color-primary);
}
p, li
{
        font-size: var(--fontsize-p);
        color: var(--color-gray-dark);
}
span, label, a
{
        font-size: var(--fontsize-p);
}
.fontsize_big
{
        font-size: var(--fontsize-big);
}
h1, h2, h3, h4, h5, h6
{
        font-family: var(--fontfamily-title);
        color: var(--color-title);
        margin: 0;
        padding: 0;
}
h1
{
        font-size: var(--fontsize-h1);
        font-weight: bold;
}
h2
{
        font-size: var(--fontsize-h2);
}
h3
{
        font-size: var(--fontsize-h3);
}
h4
{
        font-size: var(--fontsize-h4);
}
h5
{
        font-size: var(--fontsize-h5);
}
h6
{
        font-size: var(--fontsize-h6);
}
.border-black
{
        border: solid 1px var(--color-primary);
}
.border-gray
{
        border: solid 1px var(--color-gray);
        border-radius: var(--border-radius1);
}
p.not_found
{
        font-style: italic;
        font-weight: 600;
        padding-top: 12px;
}
option.hidden
{
        display: none;
}
.uscita > *,
.dare > *,
.impegno > *
{
        color: var(--color-uscita) !important;
}
.entrata > *,
.avere > *,
.accertamento > *
{
        color: var(--color-entrata) !important;
}
.uscita,
.dare,
.impegno
{
        color: var(--color-uscita) !important;
}
.entrata,
.avere,
.accertamento
{
        color: var(--color-entrata) !important;
}
a.link1
{
        transition: color 0.1s, opacity 0.1s;
        color: var(--color-primary);
        opacity: 1;
}
a.link1:hover
{
        /*color: var(--color-primary-opac);*/
        opacity: 0.9;
}
.opacity_0
{
        opacity: 0;
}
.icon
{
        transition: opacity 0.1s;
        opacity: 1;
}
.icon_inline
{
        height: 1em;
        width: auto;
}
.icon:hover
{
        opacity: 0.9;
}
*::placeholder
{
        color: var(--color-gray) !important;
}
.no_wrap
{
        white-space: nowrap;
}
/*** general END ***/

/*** page top div START ***/
.page_top_div
{
        display: flex;
        flex-wrap: wrap;
        row-gap: var(--content-padding);
        justify-content: flex-end;
}
.page_top_title_div
{
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        margin-right: auto;
        padding: 0.5rem 1rem;
        border-radius: var(--border-radius1);
        box-shadow: var(--box-shadow1);
        background-color: #fff;
}
.page_top_title_div > *
{
        text-transform: uppercase;
        font-size: var(--fontsize-menu1);
        font-family: var(--fontfamily-title);
}
.page_title
{
        font-weight: 700;
}
.page_title .subcat_title
{
        font-weight: 400;
}
span.page_top_separator
{
        padding: 0 0.2rem;
        /*font-weight: 700;*/
}
.page_top_form_anno_div
{
        display: flex;
        align-items: center;
        /*margin-left: auto;*/
        margin-left: 2rem;
        background: white;
        column-gap: 0.6rem;
        padding-right: 0.6rem;
        border-radius: var(--border-radius1);
        box-shadow: var(--box-shadow1);
}
.page_top_form_anno_div img
{
        width: 20px;
}
#formAnno
{
        display: flex;
        align-items: center;
}
@media (max-width: 991.8px)
{
        #formAnno
        {
                margin-right: auto;
                padding-right: 0;
        }
}
#formAnno label
{
        font-size: var(--fontsize-menu1);
        font-family: var(--fontfamily-title);
        font-weight: 700;
}
#anno_esercizio
{
/*        padding: 0.5rem 1rem;
        border-radius: var(--border-radius1);
        box-shadow: var(--box-shadow1);
        border: none;
        background-color: #fff;
        font-family: var(--fontfamily-title);
        font-size: var(--fontsize-menu1);
        line-height: 1;
        --bs-form-select-bg-img: none;*/
}
.page_top_user_menu_div
{
        margin-left: 2rem;
        /* border-radius: var(--border-radius1); */
        box-shadow: var(--box-shadow1);
        background: transparent;
        display: flex;
        flex-direction: column;
        position: relative;
}
.page_top_user_menu_div a.dropdown-toggle::after
{
        content: none;
}
.page_top_user_menu_div a img
{
        /*background: transparent;*/
        background: white;
        height: 38.5px;
        border-radius: var(--border-radius-input);
}
.page_top_user_menu_div .user_menu_ul
{
        border: var(--border-input);
        border-radius: var(--border-radius-input);
        box-shadow: var(--box-shadow1);
        padding: 0;
}
.page_top_user_menu_div .user_menu_ul .user_menu_li
{
}
.page_top_user_menu_div .user_menu_ul .user_menu_li a
{
        white-space: nowrap;
        color: var(--color-gray-dark);
        text-decoration: none;
        display: block;
        /*padding: 0.35rem 0.7rem;*/
        padding: var(--padding-input);
        transition: background 0.1s;
}
.page_top_user_menu_div .user_menu_ul .user_menu_li a:hover
{
        background: var(--color-blue-electric);
}
/*** page top div END ***/

/*** page START ***/
.page_container
{
        display: flex;
}
@media (max-width: 1199.98px)
{
        .page_container
        {
                flex-direction: column;
        }
}
.page_center_div
{
        margin-top: var(--content-padding);
}
/*** page END ***/

/*** pagina informativa START ***/
.info_div .parag_div
{
        /*margin-top: 18px;*/
        margin-bottom: 18px;
}
.info_div .parag_div p
{
        margin-bottom: 6px;
}
.info_div .parag_div p.selected
{
        /*font-weight: bold;*/
        /*color: var(--color-blue-electric);*/
        text-decoration: underline;
}
.info_div .parag_div  > ul
{
        margin-bottom: 6px;
}
.info_div .parag_div  > ul > li
{
        margin-bottom: 3px;
}
.info_div .parag_div h3
{
        text-transform: uppercase;
        font-size: var(--fontsize-menu1);
        font-family: var(--fontfamily-title);
        font-weight: bold;
        margin-bottom: 3px;
}
.info_div .parag_div h4
{
        font-size: var(--fontsize-base);
/*        font-weight: 600;
        font-style: italic;*/
        font-weight: 700;
        margin-bottom: 3px;
        text-decoration: underline;
}
.info_div .parag_div h5
{
        font-size: var(--fontsize-base);
        font-weight: 600;
        font-style: italic;
        margin-bottom: 3px;
}
.info_div .parag_div p button
{
        margin-right: 0.25rem;
        margin-bottom: 3px;
        font-size: var(--fontsize-sm);
}
.info_div .parag_div p button.last_of_group
{
        margin-right: 1.75rem;
}
/* diagramma di flusso (by ChatGPT) */
.flow-container
{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 20px;
        margin: 12px 0;
        flex-wrap: wrap; /* per gestire meglio la versione mobile */
        font-size: var(--fontsize-base);
}

.flow-step
{
        padding: 15px 25px;
        border: 2px solid var(--color-gray-dark);
        border-radius: 12px;
        font-weight: bold;
        text-align: center;
        min-width: 150px;
        border-radius: var(--border-radius1);
        box-shadow: var(--box-shadow1) 0 0 10px 0 rgba(0, 0, 0, 0.1);
        background-color: #fff;
}
.flow-step.selected
{
        background-color: var(--color-blue-electric);
}

/* --- Freccia orizzontale (desktop) --- */
.arrow {
        display: flex;
        align-items: center;
}

.arrow::before
{
        content: "";
        display: inline-block;
        width: 24px;         /* lunghezza della linea */
        height: 2px;         /* spessore */
        background: var(--color-gray-dark); /* colore */
        position: relative;
}

.arrow::after
{
        content: "";
        display: inline-block;
        margin-left: -5px;   /* avvicina la punta alla linea */
        border-top: 7px solid transparent;
        border-bottom: 7px solid transparent;
        border-left: 12px solid var(--color-gray-dark); /* punta triangolare */
}

/* --- VERSIONE MOBILE (verticale) --- */
@media (max-width: 768px)
{
        .flow-container
        {
                flex-direction: column;
                gap: 10px;
        }

        .arrow
        {
                flex-direction: column;
        }

        .arrow::before
        {
                width: 2px;         /* linea verticale */
                height: 20px;       /* lunghezza */
                margin: 0 auto;
        }

        .arrow::after
        {
                margin: 0 auto;
                margin-top: -5px;   /* avvicina la punta */
                border-left: none;
                border-top: 12px solid #64748b; /* punta triangolare verso il basso */
                border-right: 7px solid transparent;
                border-left: 7px solid transparent;
                border-bottom: none;
        }
}

/*** pagina informativa END ***/


/*** top menu START ***/
.navbar
{
        background-color: var(--color-top-menu-back);
        padding-top: var(--top-menu-padding-y);
        padding-bottom: var(--top-menu-padding-y);
        padding-left: var(--top-menu-padding-x);
        padding-right: var(--top-menu-padding-x);
        /*font-weight: 700;*/
}
.navbar .navbar-nav a.nav-link
{
        color: var(--color-top-menu-link);
}
.navbar .navbar-nav a.nav-link.active
{
        color: var(--color-top-menu-link);
        text-decoration: underline;
}
.navbar .navbar-nav a.nav-link:hover
{
        color: var(--color-top-menu-link-hover);
}
.navbar .navbar-brand
{
        margin-right: 2.4rem;
        margin-left: 1.8rem;
}
.navbar .navbar-brand img
{
        height: 50px;
        width: auto;
        transform: scale(1.5);
        opacity: 1;
        transition: opacity 0.15s;
}
.navbar .navbar-brand img:hover
{
        opacity: 0.9;
}
/* dropdown custom */
@media (min-width: 992px) {
        .navbar-expand-lg .navbar-nav
        {
                flex-wrap: wrap;
        }
}
.navbar .dropdown-menu
{
        border-radius: 0;
        background-color: var(--color-top-menu-back);
        padding-top: 0;
        /*padding-bottom: 12px;*/
        padding-bottom: 0;
}
.navbar .dropend .dropdown-toggle::after
{
        vertical-align: middle;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        font-size: 1.3rem;
        padding-right: 32px;
        border-left: .5em solid;
}
.navbar .navbar-nav > .dropdown > .dropdown-menu
{
        margin-top: 26px;
}
.navbar .nav-item
{
        font-weight: 700;
        font-size: 14px;
        padding-left: 4px;
        padding-right: 4px;
}
.navbar .nav-item.active > a
{
/*        text-decoration: underline;
        text-decoration-thickness: 1.5px;
        text-underline-offset: 2px;*/
        font-weight: 900;
}
.navbar .dropdown-item.dropdown-toggle
{
        padding: 12px 72px 12px 32px;
}
.navbar .dropdown-item
{
        font-weight: 700;
        font-size: 14px;
        /*padding: 16px 24px;*/
        padding: 12px 32px 12px 32px;
        background-color: var(--color-top-menu-back);
        color: var(--color-top-menu-link);
}
.navbar .active > .dropdown-item
{
/*        text-decoration: underline;
        text-underline-offset: 2px;*/
        font-weight: 900;
}
.navbar .dropdown-item:hover
{
        background-color: var(--color-top-menu-back-hover);
        color: var(--color-top-menu-link-hover);
}
.navbar .navbar-toggler-icon
{
/*        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%283, 152, 158, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='4' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");*/
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-toggler-icon
{
/*        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%283, 152, 158, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='4' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");*/
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
/* dropdown menu multi level*/
.navbar .dropdown-menu li
{
        position: relative;
}
.navbar .dropdown-menu li:nth-child(1 of :not(.d-none))
{
        /*padding-top: 12px;*/
        /*margin-top: 12px;*/
}
.navbar .dropdown-menu .dropdown-submenu
{
        display: none;
        position: absolute;
        left: 99%;
        top: -1px;
        /* serve a compensare i 12px di margin-top del padre */
        /*top: -12px;*/
}
.navbar .dropdown-menu .dropdown-submenu-left
{
        right: 100%;
        left: auto;
}
.navbar .dropdown-menu > li:hover > .dropdown-submenu
{
        display: block;
}
/*** top menu END ***/

/*** side menu START ***/
/* gestione transizioni */
:root
{
        --side_menu_transition_1: 0.2s;
        --side_menu_transition_2: 0.2s;
}
.side_menu
{
        transition: all var(--side_menu_transition_2);
}
.side_menu_title
{
        transition: all var(--side_menu_transition_1);
}
#side_menu_accordion
{
        transition: all  var(--side_menu_transition_1);
}
#close_side_menu_icon
{
        transition: all var(--side_menu_transition_2);
}
.page_container > .content
{
        transition: all var(--side_menu_transition_2);
}
.side_menu
{
        padding-right: 40px;
        position: relative;
}
.side_menu_title
{
        font-size: 17px;
        font-weight: 800;
/*        text-decoration: underline;
        text-underline-offset: 2px;*/
        text-transform: uppercase;
        margin-bottom: 40px;
}
#close_side_menu_icon
{
/*        width: 23px;
        top: 0;*/
        width: 18px;
        top: 2px;
        position: absolute;
        right: 40px;
        z-index: 1;
        cursor: pointer;
        opacity: 1;
        /*transition: opacity 0.1s, transform 0.1s;*/
        transform: rotate(0deg);
}
@media (max-width: 991.98px)
{
        #close_side_menu_icon
        {
                display: none;
        }
}
#close_side_menu_icon.rotated
{
        transform: rotate(45deg);
}
#close_side_menu_icon:hover
{
        opacity: 0.9;
}
.side_menu_accordion a.accordion-body
{
        display: block;
        text-decoration: none;
        width: 100%;
        text-align: center;
        font-size: 14px;
        padding: 16px 28px;
        /*border: solid black 1px;*/
        color: var(--color-primary);
        /*background-color: var(--color-thirdary);*/
        transition: color 0.1s;
}
.side_menu_accordion a.accordion-body.active
{
        font-weight: 800;
}
.side_menu_accordion a.accordion-body:hover
{
        color: var(--color-primary-opac);
}
.side_menu_accordion.opacity_0
{
        pointer-events: none;
}
.accordion-collapse
{
/*        border: solid black 1px;
        border-top-width: 2px;
        background-color: var(--color-thirdary);*/
}
.accordion-collapse .accordion-body:nth-child(1 of :not(.d-none))
{
        /*margin-top: 16px;*/
        /*padding-top: 0;*/
}
.accordion-collapse .accordion-body:nth-last-child(1 of :not(.d-none))
{
        /*margin-bottom: 16px;*/
        /*padding-bottom: 0;*/
}
.accordion-item:nth-child(1 of :not(.d-none))
{
        /*border-top: solid black 1px;*/
}
a.accordion-button::after
{
        content: "";
}

#side_menu_accordion > .accordion-link.accordion-item
{
        background-color: var(--color-thirdary);
        transition: background-color 0.1s;
}
#side_menu_accordion > .accordion-link.accordion-item.active,
#side_menu_accordion > .accordion-link.accordion-item:hover
{
        background-color: var(--color-primary);
}
#side_menu_accordion > .accordion-link.accordion-item > .accordion-header > a
{
        transition: color 0.1s;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--color-primary);
        padding: 28px;
}
#side_menu_accordion > .accordion-link.accordion-item.active > .accordion-header > a,
#side_menu_accordion > .accordion-link.accordion-item:hover > .accordion-header > a
{
        color: var(--color-secondary);
        background-color: var(--color-primary);
}
.accordion-button:hover,
.accordion-button:not(.collapsed)
{
/*        color: var(--color-secondary);
        background-color: var(--color-primary);*/
}
.accordion-item
{
/*        border: solid black 1px;
        border-radius: 0 !important;*/
        /*padding: 24px 32px;*/
}
button.accordion-button
{
        border-radius: 0 !important;
        color: var(--color-primary);
        background-color: var(--color-thirdary);
        transition: background-color 0.1s, color 0.1s;
        width: 100%;
        text-transform: uppercase;
        font-size: 14px;
        padding: 28px 40px;
        font-weight: 800;
        justify-content: center;
        text-align: center;
}
button.accordion-button:not(.collapsed)
{
/*        color: var(--color-secondary);
        background-color: var(--color-primary);*/
        color: var(--color-primary);
        background-color: var(--color-thirdary);
}
#side_menu_accordion > .accordion-item
{
}
/*button.accordion-button:hover,*/
.active button.accordion-button
{
        color: var(--color-secondary);
        background-color: var(--color-primary);
}

button.accordion-button::after
{
        position: absolute;
        right: 16px;
        width: var(--accordion-btn-icon-width);
        height: var(--accordion-btn-icon-width);
        background-size: var(--accordion-btn-icon-width);
        background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='true'  ><path d='M4 5L8 11L12 5'/></svg>");
}
/*button.accordion-button:not(.collapsed)::after,
button.accordion-button:hover::after,*/
.active button.accordion-button::after
{
        background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'  ><path d='M4 5L8 11L12 5'/></svg>");
}
.accordion-button:not(.collapsed)
{
        box-shadow: none;
}
.accordion-button:not(.collapsed)::after
{
        background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='true'  ><path d='M4 5L8 11L12 5'/></svg>");
}
/*** side menu END ***/

/*** paginazione START ***/
.input_paginazione_container.input_paginazione_container_sm
{
        column-gap: 0.3rem;
}
.input_paginazione_container
{
        display: flex;
        align-items: center;
        column-gap: 0.5rem;
}
.input_paginazione_container:last-of-type
{
        /*padding-right: 0;*/
        margin-right: 0;
}
.paginazione_buttons_container
{
        display: flex;
        column-gap: 0.35rem;
}
/*** paginazione END ***/

/*** form START ***/
.tab-pane
{
        outline: none;
}
input
{
        border-radius: 0;
        font-size: var(--fontsize-base);
}
.form-select
{
        font-family: var(--fontfamily-title);
        font-size: var(--fontsize-base);
        border: var(--border-input);
        border-radius: var(--border-radius-input);
        padding: var(--padding-select);
        padding-right: 2.25rem;
}
.option_selected
{
        font-weight: bold;
}
.input_ricerca_container
{
        display: flex;
        align-items: center;
        column-gap: 0.5rem;
        position: relative;
}
.input_ricerca_container .ricerca_text
{
        padding-right: 32px;
}
.input_ricerca_container .ricerca_link
{
        position: absolute;
        /*right: 23px;*/
        /*right: 7px;*/
        right: 0.3rem;
        height: 100%;
        top: 50%;
        transform: translateY(-50%);
}
.input_ricerca_container .ricerca_link img
{
        height: 75%;
        vertical-align: bottom;
}
.input_ricerca_container .ricerca_link .ricerca_icon
{
        color: black;
}
.input_ricerca_container .ricerca_link .ricerca_icon:before
{
        font-weight: bold !important;
}
/*form.form-border
{
        border-left: solid 1px var(--color-primary);
        border-bottom: solid 1px var(--color-primary);
        border-right: solid 1px var(--color-primary);
        padding: 0.5rem 3rem;
}*/
.form-section
{
        margin: 1rem 0;
        padding: 1rem 2rem;
}
.form-section  h6,
h6.form-section-title
{
        font-size: var(--fontsize-base);
        text-align: center;
        font-weight: 700;
}
.form-control
{
        padding: var(--padding-input);
        font-family: var(--fontfamily-title);
        font-size: var(--fontsize-base);
        color: var(--color-primary);
        border-radius: var(--border-radius-input);
        border: var(--border-input);
}
.content form label,
.content form span.label
{
        font-size: var(--fontsize-base);
        font-family: var(--fontfamily-title);
        cursor: pointer;
}
.content form label.label_sm
{
        font-size: var(--fontsize-sm);
}
.form-group
{
        /*padding: 12px 0;*/
        /*row-gap: .5rem;*/
        row-gap: .7rem;
}
.form-row
{
        /*padding: 0.5rem 0;*/
        padding: 0.7rem 0;
        display: flex;
        /*gap: 1rem;*/
/*        flex-wrap: wrap;*/
}
.form-column
{
        /*padding: 0.75rem 0;*/
        /*padding: 0.5rem 0;*/
        padding: 0.7rem 0;
        display: flex;
        flex-direction: column;
}
.form-input-div
{
        padding-right: 1rem;
}
.form-input-row
{
        display: flex;
        flex-direction: row;
        /*gap: 0.3rem;*/
        gap: 0.35rem;
}
.form-input-col
{
        display: flex;
        flex-direction: column;
        /*gap: 0.3rem;*/
        gap: 0.35rem;
}
.form-row .form-input-col
{
        /*padding-right: 1rem;*/
}
.form-row .form-input-col:last-of-type
{
        /*padding-right: 0;*/
}
.form-input-col label,
.form-input-row label
{
        /*font-size: 10px;*/
        /*font-weight: 700;*/
}
.form-labels-fw-normal label
{
        font-weight: normal;
}
.form_labels_bold label
{
        /*font-weight: 600;*/
}
label.col-form-label,
span.label.col-form-label
{
        padding-bottom: 0;
        padding-top: 0;
}
label.col-form-label
.form_span_field
{
        /*font-weight: 700;*/
        font-size: var(--fontsize-base);
}
table .form_span_value
{
        font-size: var(--fontsize-table);
}
.form_span_value
{
        font-weight: 700;
        font-size: var(--fontsize-base);
}
.form_span_value.accettato_1
{
        color: var(--color-green);
        font-weight: 700;
}
.form_span_value.accettato_2
{
        color: var(--color-error);
        font-weight: 700;
}
.form_span_value.saldato_1
{
        color: var(--color-green);
        font-weight: 700;
}
.form_span_value.saldato_0
{
        color: var(--color-error);
        font-weight: 700;
}
.form_span_value.contabiliz_1
{
        color: var(--color-green);
        font-weight: 700;
}
.form_span_value.contabiliz_0
{
        color: var(--color-error);
        font-weight: 700;
}
.table-form
{
        margin-top: 0.5rem;
}
.table-form th,
.table-form td
{
        font-size: 12px;
}
.checkboxs-inline
{
        display: flex;
        gap: 0.7rem 1.4rem;
        flex-wrap: wrap;
}
.checkbox-disabled-div
{
        opacity: 0.8;
        cursor: not-allowed;
}
.checkbox-disabled-div *
{
        pointer-events: none;
}
/*.check-div
{
        display: flex;
        align-items: center;
        gap: 0.5rem;
}*/
.input_no_border_container .form-control, .input_no_border_container .form-select
{
        border: none;
}
.form_accordion_link
{
        column-gap: 8px;
        opacity: 1;
        transition: opacity 0.1s;
}
.form_accordion_link:hover
{
        opacity: 0.9;
}
.form_accordion_icon
{
        width: 8px;
}
#opzioni_stampa_accordion.show,
#opzioni_stampa_accordion.collapsing
{
        display: grid;
}
@media (min-width: 1200px)
{
        #opzioni_stampa_accordion
        {
                grid-template-columns: 1fr 1fr;
                column-gap: 0.7rem;
        }
}
@media (max-width: 1199.98px)
{
        #opzioni_stampa_accordion
        {
                grid-template-columns: 1fr;
        }
}
/* form pagine con lista elementi */
:root
{
        /*--fontsize-search-filters: var(--fontsize-base);*/
/*        --padding-input: .25rem .5rem .25rem .5rem;
        --padding-select: .25rem 2.5rem .25rem .5rem;*/
        --padding-input: .1rem .6rem;
        --padding-input-sm: .1rem .4rem;
        --padding-select: .1rem 1.2rem .1rem .6rem;
        --padding-select-sm: .1rem 1.2rem .1rem .4rem;
        --select-arrow-color: var(--color-gray);
        
        --focus-border-color: #86b7fe;
        --focus-outline: 0;
        --focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
}
/*form.form_lista,*/
.form_container
{
        background: white;
        padding: var(--content-padding);
        /*border-top-right-radius: 12px;*/
        border-radius: var(--border-radius1);
        border-top-left-radius: 0;
        box-shadow: var(--box-shadow1);
}
.form_container
{
        
}
/*.content form.form_lista label
{
        font-size: var(--fontsize-search-filters);
}
.content form.form_lista .form-select
{
        font-size: var(--fontsize-search-filters);
}
.content form.form_lista .form-control
{
        font-size: var(--fontsize-search-filters);
}
.content form.form_lista button
{
        font-size: var(--fontsize-search-filters);
}*/
.filters_container
{
        flex-wrap: wrap;
}
/*.content form.form_lista .form-row>**/
.filters_container > *
{
/*        padding-left: 0.5rem;
        padding-right: 0.5rem;*/
        /*padding-left: 0rem;*/
        /*padding-right: 1rem;*/
        /*margin-right: 1rem;*/
}
.filters_container *:last-of-type
{
        /*margin-right: 0;*/
}
.input_importo_div
{
        display: flex;
        align-items: center;
        gap: 0.35rem;
        min-width: 98px;
}
.input_importo_div.input_importo_div_reverse
{
        flex-direction: row-reverse;
}
.input_importo_div .importo_currency
{
        font-size: var(--fontsize-base);
}
.currency
{
        /*font-weight: bold;*/
}
/*** form END ***/

/***  allegati START ***/
.allegato_prev_div
{
        display: flex;
        flex-direction: row;
        column-gap: 0.35rem;
        margin-top: 0.35rem;
}
.allegato_new_input_container
{
        display: flex;
        flex-direction: row;
        column-gap: 0.35rem;
}
.allegato_icon
{
        width: 14px;
}
a.visualizza_allegato_link
{
        text-decoration: none;
}
a.visualizza_allegato_link.deleted
{
        text-decoration: line-through;
}
/***  allegati END ***/

/*** buttons START ***/
button,
.button
{
        /*border: none;*/
        font-family: var(--fontfamily-title);
        font-size: var(--fontsize-button);
        padding: var(--button-padding);
        border: var(--button-border);
        border-radius: var(--button-border-radius);
        transition: color 0.1s, background-color 0.1s;
}
a.button
{
        text-decoration: none;
}
button.button_sm
{
        padding: var(--button-padding-sm);
}
/*button.button-primary*/
.button-primary
{
        font-weight: 700;
        color: var(--color-gray-dark);
        background-color: var(--color-blue-electric);
        /*border: solid 1px var(--color-primary);*/
}
/*button.button-primary:hover*/
.button-primary:hover:not(.button-disabled)
{
        color: var(--color-blue-electric);
        background-color: var(--color-gray-dark);
}
.button-primary.active
{
        color: var(--color-blue-electric);
        background-color: var(--color-gray-dark);
}
/*button.button-primary:hover*/
.button-primary.active:hover
{
/*        color: var(--color-primary);
        background-color: var(--color-thirdary);*/
}
/*button.button-secondary*/
.button-secondary
{
        color: var(--color-gray-dark);
        background-color: white;
        border-color: var(--color-gray-dark);
}
/*button.button-secondary:hover*/
.button-secondary:hover:not(.button-disabled)
{
        font-weight: 700;
        color: white;
        background-color: var(--color-gray-dark);
}
/*button.button-secondary*/
.button-thirdary
{
        color: var(--color-primary);
        background-color: var(--color-secondary);
        border-color: var(--color-primary);
}
/*button.button-secondary:hover*/
.button-thirdary:hover
{
        color: var(--color-primary);
        background-color: var(--color-thirdary);
}
.button-disabled
{
        cursor: not-allowed !important;
}
.button-primary.button-disabled
{
        opacity: 0.5;
/*        color: var(--color-secondary);
        background-color: var(--color-primary-opac);*/
}
.button-primary.button-disabled:hover
{
/*        color: var(--color-secondary);
        background-color: var(--color-primary-opac);*/
}
.button-secondary.button-disabled
{
        opacity: 0.5;
/*        color: var(--color-primary-opac);
        background-color: var(--color-thirdary-opac);*/
}
/* classe utilizzata per disattivare i pulsanti di esportazione nella versione DEMO */
.esporta_buttons_container_disabled .button-secondary
{
        color: var(--color-gray-dark) !important;
        background-color: white !important;
        border-color: var(--color-gray-dark) !important;
        font-weight: 400 !important;
        cursor: not-allowed !important;
        opacity: 0.5;
}
.button-paginazione
{
        background: transparent;
        opacity: 1;
        transition: opacity 0.1s;
}
.button-paginazione:hover
{
        opacity: 0.8;
}
.button-paginazione img
{
        width: 6px;
}
/* button group */
.btn-group
{
        flex-wrap: wrap;
}
.btn-group a.btn
{
        font-family: var(--fontfamily-title);
        font-size: var(--fontsize-normal);
        padding: 0.8rem 1.6rem;
        color: var(--color-gray-dark);
        background-color: white;
        border: none;
        border-top-left-radius: 6px !important;
        border-top-right-radius: 6px !important;
        box-shadow: inset 5px -5px 10px 0px rgba(0, 0, 0, 0.02);
}
.btn-group a.demo_disabled
{
        cursor: not-allowed;
}
.btn-group a.active
{
        font-weight: 700;
}
.btn-group a.active,
.btn-group a:not(.demo_disabled):hover
{
        box-shadow: none;
}
/* button group */

/* buttons container */
.buttons_container
{
        background: white;
        position: sticky;
        top: 0;
        z-index: 2;
}
.buttons_container .buttons-group
{
        display: flex;
        margin-right: 1.5rem;
}
.buttons_container .buttons-group .form-input-div
{
        padding-right: 0.5rem;
}
.buttons_container button
{
        font-size: var(--fontsize-sm);
/*        font-size: var(--fontsize-table-dettaglio);
        padding: .375rem calc(2* .375rem);*/
}
.buttons_container .sub_menu_container
{
        position: relative;
}
.button-toggler
{
        border: var(--border-input);
        color: var(--color-primary);
        background-color: white;
        padding-right: 1.2rem;
        position: relative;
}
.button-toggler i.icon-toggler
{
        border-color: var(--select-arrow-color) transparent transparent transparent;
        border-width: 7px 4px 0 4px;
        margin-top: -3px;
        border-style: solid;
        height: 0;
        margin-left: -4px;
        position: absolute;
        top: 50%;
        right: 0.3rem;
        width: 0;
}
.button-toggler:hover
{
        /*background: var(--color-secondary)*/
}
.buttons_container .sub_menu_container .button-toggler .arrow_icon
{
        width: 8px;
        margin-left: 4px;
}
.buttons_container .sub_menu_container .sub_menu
{
        position: absolute;
        top: calc(100% + 0.7rem);
        background: white;
        border: var(--border-input);
        border-radius: var(--border-radius-input);
        box-shadow: var(--box-shadow-select);
/*        display: flex;
        flex-direction: column;*/
        overflow: hidden;
}
.buttons_container .sub_menu_container .sub_menu button
{
        color: var(--color-primary);
        padding-left: 1rem;
        padding-right: 1rem;
        background: white;
        width: 100%;
        border: none;
        border-radius: 0;
        display: block;
}
.buttons_container .sub_menu_container .sub_menu button:hover
{
        background: var(--color-blue-electric);
}
/*** buttons END ***/

/*** table START ***/
.table_container_overflow_auto
{
        max-width: 100%;
        overflow: auto;
        max-height: 500px;
        margin-bottom: 1rem;
}
.table_container_overflow_auto table
{
        margin-bottom: 0;
}
.table_border_collapse_container table
{
        border-collapse: separate;
        border-spacing: 0;
}
.table_header_sticky_container table thead:not(.position_unset),
.table_header_sticky_container table thead tr.sticky-t-0
{
        position: sticky;
        top: 0;
        z-index: 1;
}
table
{
        font-size: var(--fontsize-table);
        font-family: var(--fontfamily-title);
        color: var(--color-gray-dark);
}
table a
{
        font-size: var(--fontsize-table);
}
.table>:not(caption) > * > *
{
        padding: 0.6rem 0.9rem !important;
        color: var(--color-primary);
}
.tables_container .table>:not(caption) > * > *
{
        /*padding: 0.3rem 0.45rem !important;*/
        padding: 0.3rem 0.3rem !important;
}
.tables_container .th_title
{
        font-size: var(--fontsize-table);
}
.elenco table thead
{
        position: sticky;
        top: 0;
}
/*.form_lista table tbody tr:nth-child(odd) td*/
table tbody tr:nth-child(odd) td
{
        background: var(--color-table-bg);
}
/*.form_lista table tbody tr:nth-child(even) td*/
table tbody tr:nth-child(even) td
{
        background: white;
}
table.table_double_row tbody tr:nth-child(4n+1) td,
table.table_double_row tbody tr:nth-child(4n+2) td
{
        background: var(--color-table-bg);
}
table.table_double_row tbody tr:nth-child(4n+3) td,
table.table_double_row tbody tr:nth-child(4n+4) td
{
        background: white;
}
table.table_triple_row tbody tr:nth-child(6n+1) td,
table.table_triple_row tbody tr:nth-child(6n+2) td,
table.table_triple_row tbody tr:nth-child(6n+3) td
{
        background: var(--color-table-bg);
}
table.table_triple_row tbody tr:nth-child(6n+4) td,
table.table_triple_row tbody tr:nth-child(6n+5) td,
table.table_triple_row tbody tr:nth-child(6n+6) td
{
        background: white;
}
/*.form_lista table tr th,*/
table tr th
{
        font-weight: 700;
}
table .table_order_link
{
/*        font-size: var(--fontsize-base);
        font-weight: 700;*/
        color: var(--color-gray-dark);
        text-decoration: none;
        transition: opacity 0.1s;
        opacity: 1;
        white-space: nowrap;
}
table th.table_elenco_th
{
        font-size: var(--fontsize-table);
        color: var(--color-gray-dark);
        white-space: nowrap;
}
table .table_order_link:hover
{
        opacity: 0.9;
}
table .table_order_link .arrow_icon
{
        width: 5px;
        margin-left: 5px;
}
table tbody tr
{
        vertical-align: middle;
}
table tbody tr td .table_td_links
{
        display: flex;
        align-items: center;
        justify-content: flex-end;
        column-gap: 0.6rem;
}
table tbody tr td a.button
{
        text-decoration: none;
        font-size: var(--fontsize-table);
        background: transparent;
        padding: 0.15rem 0.6rem;
        border-radius: 7px;
}
table tbody tr td a.icon_trash img
{
        width: 14px;
        opacity: 1;
        transition: opacity 0.1s;
}
table tbody tr td a.icon_trash:hover img
{
        opacity: 0.9;
}
.td-inline
{
        display: flex;
        gap: 0.5rem;
        align-items: center;
}
.table_dettaglio
{
        /*font-size: 11px;*/
}
.th_title
{
        border-top-left-radius: var(--border-radius1);
        border-top-right-radius: var(--border-radius1);
        font-size: var(--fontsize-base);
}
.tr_imp_acc_chiuso td
{
        background-color: #c0c0c0;
}
td.td_importo
{
        /*font-weight: bold;*/
}
/*.table.table_dettaglio>:not(caption)>*>**/
.table.table_dettaglio thead tr th
{
        /*padding: .5rem .25rem;*/
        vertical-align: middle;
        white-space: nowrap;
        color: var(--color-primary);
        /*background: var(--color-thirdary);*/
}
.table.table_dettaglio thead tr th.th_title
{
        color: white;
        background: var(--color-gray-dark);
}
.table.table_dettaglio tbody tr td
{
        /*padding: 0.25rem 0.25rem !important;*/
        /*font-size: var(--fontsize-table-dettaglio);*/
}
.table.table_dettaglio tbody tr td .form-control
{
        font-size: var(--fontsize-table);
        background: transparent;
        /*min-width: 76px;*/
        /*padding: .1rem .1rem;*/
        padding: var(--padding-input-sm);
}
.table.table_dettaglio tbody tr td .form-control.currency,
.table.table_dettaglio tbody tr td .form-control.min_width
{
        min-width: 78px;
}
.table.table_dettaglio tbody tr td .form-control.form_date_sm
{
        max-width: 110px;
}
.table.table_dettaglio tbody tr td .input_ricerca_container .form-control.ricerca_text
{
        padding-right: 28px;
}
.table.table_dettaglio tbody tr td .form-control.error,
.form_data .form-control.error,
.form_data .form-select.error
{
        border: solid 2px var(--color-error);
}
.table.table_dettaglio tbody tr td .form-select
{
        /*font-size: var(--fontsize-table-dettaglio);*/
        font-size: var(--fontsize-table);
        padding: .1rem 1rem .1rem .1rem;
        background-color: transparent;
        background-position: right;
}
.table.table_dettaglio tbody tr td .input_importo_div
{
        gap: 0.3rem;
        min-width: unset;
        white-space: nowrap;
        /*font-size: var(--fontsize-table-dettaglio);*/
}
.table_dettaglio .table_dettaglio_icon
{
        font-size: 13px;
        color: var(--color-primary);
        opacity: 1;
        transition: opacity 0.1s;
}
.table_dettaglio .table_dettaglio_icon:hover
{
        opacity: 0.9;
}
/*** table END ***/

/*** tab START ***/
.nav-pills
{
        /*padding: 0.5rem 0;*/
        margin-bottom: 0.5rem;
}
.nav-pills .nav-link.active, .nav-pills .show>.nav-link
{
        color: var(--color-gray-dark);
        background-color: white;
        font-weight: 700;
        border-bottom: 3px solid var(--color-blue-electric);
}
.nav-pills .nav-link
{
        color: var(--color-gray-dark);
        background-color: white;
        font-size: var(--fontsize-base);
        margin-right: 3rem;
        padding: 0 0 0.1rem 0;
        border-bottom: 3px solid transparent;
}
.nav-pills .nav-item:last-of-type .nav-link
{
        margin-right: 0;
}
.nav-pills .nav-item.disabled
{
        /*cursor: not-allowed;*/
        opacity: 0.65;
}
.fade
{
        transition: 0.1s all;
}
/*** tab END ***/

/*** msgs START ***/
.msgs
{
/*        margin-top: 0.25rem;
        margin-bottom: 0.25rem;*/
        margin-bottom: calc(var(--content-padding) / 2);
        padding: 0.5rem;
        border-radius: var(--border-radius1);
        box-shadow: var(--box-shadow1);
}
.msgs_container div.msgs:last-of-type
{
        margin-bottom: var(--content-padding);
}
.msgs.infos
{
        background-color: #ddf0ff;
        /*border: solid 1px #2196F3;*/
}
.msgs.successes
{
        background-color: #e1ffbe;
        /*border: solid 1px #8BC34A;*/
}
.msgs.alerts
{
        background-color: #ffffb6;
        /*border: solid 1px yellow;*/
}
.msgs.errors
{
        background-color: #febbbb;
        /*border: solid 1px red;*/
}
.msgs .msg
{
        margin-bottom: 0.2rem;
}
.msgs .msg:last-of-type
{
        margin-bottom: 0;
}
/*** msgs END ***/

/*** dialog START ***/
:root
{
        --dialog-section-padding: 0.6rem 1.2rem;
        --fontsize-dialog-input: 11px;
}
/*ui-dialog: The outer container of the dialog. If the draggable option is set, the ui-dialog-dragging class is added during a drag. If the resizable option is set, the ui-dialog-resizing class is added during a resize. If the buttons option is set, the ui-dialog-buttons class is added.
ui-dialog-titlebar: The title bar containing the dialog's title and close button.
ui-dialog-title: The container around the textual title of the dialog.
ui-dialog-titlebar-close: The dialog's close button.
ui-dialog-content: The container around the dialog's content. This is also the element the widget was instantiated with.
ui-dialog-buttonpane: The pane that contains the dialog's buttons. This will only be present if the buttons option is set.
ui-dialog-buttonset: The container around the buttons themselves.*/
.ui-dialog
{
        margin: 10px 0;
        position: fixed;
        padding: 0;
        border-radius: var(--border-radius1);
        box-shadow: var(--box-shadow1);
        overflow: hidden;
}
.ui-dialog *
{
        font-family: var(--fontfamily-general) !important;
}
.ui-dialog .ui-dialog-titlebar
{
        padding: var(--dialog-section-padding);
        background-color: var(--color-secondary);
        border-top: none;
        border-left: none;
        border-right: none;
}
.ui-dialog .ui-dialog-title
{
        color: var(--color-primary);
        font-size: var(--fontsize-base);
}
.ui-dialog button
{
        border-radius: 0;
}
.ui-dialog .ui-dialog-content
{
        padding: var(--dialog-section-padding);
}
.ui-dialog .ui-dialog-content p:last-of-type
{
        margin-bottom: 0;
}
.ui-dialog .ui-dialog-buttonpane
{
        padding: var(--dialog-section-padding);
        margin-top: 0;
}
.ui-dialog .ui-dialog-buttonpane button
{
        margin-top: 0;
        margin-bottom: 0;
        transition: color 0.1s, background-color 0.1s;
        font-size: var(--fontsize-base);
        font-weight: 700;
        padding: 8px 24px;
        border: 1px solid transparent;
        padding: .375rem calc(3* .375rem);
        color: var(--color-secondary);
        background-color: var(--color-primary);
}
.ui-dialog .ui-dialog-buttonpane button:hover
{
        color: var(--color-primary);
        background-color: var(--color-thirdary);
}
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button
{
        /*font-size: var(--fontsize-dialog-input);*/
        font-size: var(--fontsize-base);
}
.no-close .ui-dialog-titlebar-close
{
        display: none;
}
.ui-widget-overlay
{
/*        opacity: var(--bs-backdrop-opacity);
        background-color: var(--bs-backdrop-bg);*/
        opacity: 0.5;
        background-color: black;
}
/*** dialog END ***/

/*** modal START ***/
:root
{
        --modal-section-padding: 0.6rem 1.2rem;
        --fontsize-modal-input: 11px;
}
@media (min-width: 576px)
{
        .modal-dialog
        {
                max-width: 90vw;
        }
        .modal-dialog.modal_small
        {
                max-width: 40vw;
                min-width: 400px;
        }
        .modal-dialog.modal_medium
        {
                max-width: 60vw;
                min-width: 600px;
        }
}
.modal-content
{
        border-radius: var(--border-radius1);
        box-shadow: var(--box-shadow1);
}
.modal-header
{
        padding: var(--modal-section-padding);
        background-color: var(--color-secondary);
}
.modal-title
{
        color: var(--color-primary);
        font-size: var(--fontsize-base);
        font-weight: bold;
}
.modal-body
{
        padding: var(--modal-section-padding);
}
.modal-footer
{
        padding: var(--modal-section-padding);
}
.modal-footer > *
{
        margin: unset;
}
/* modal ricerca START */

.modal_ricerca .filters_container
{
        margin-bottom: 0.5rem;
}
.modal_ricerca .filters_container .form-input-row label
{
        white-space: nowrap;
}
/* modal ricerca END */
/*** modal END ***/

/*** Sdi Invoices grid START ***/
.grid-wrap   { width:100%; }
.grid-table  { width:100%; border:1px solid #dee2e6; border-radius:.5rem; overflow-x:auto; }
.grid-row    { display:grid; align-items:center; grid-auto-rows:minmax(2.6rem,auto); }
.grid-row    { grid-template-columns: 4fr 2fr 2fr 1fr 2fr 1.2fr; }
.grid-cell   { padding:.5rem .75rem; border-top:1px solid #dee2e6; border-right:1px solid #dee2e6;
                                overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.grid-row .grid-cell:last-child { border-right:0; }
.grid-header { position:sticky; top:0; background: var(--bs-tertiary-bg,#f8f9fa);
                                font-weight:600; z-index:1; border-top:0; }
/*** Sdi Invoices grid END ***/

/*** Layout Utils START ***/

.text-right  { text-align:right; }

/*** Layout Utils END ***/