

/* aicarm buttons */
.aicarm-btn {
    background: #871d50;
    color: #fff;
}
.aicarm-btn:hover {
    color: #fff;
}

.aicarm-btn-outline {
    background: transparent;
    color: #871d50;
    border-color: #871d50;
}
.aicarm-btn-outline:hover {
    color: #fff;
    background: #871d50;
}

.aicarm-btn-light {
    background: rgba(54, 92, 245, 0.12);
    color: #871d50;
}
.aicarm-btn-light:hover {
    color: #871d50;
}

.aicarm-btn-group {
    background: transparent;
    border: 1px solid transparent;
    color: #871d50;
}
.aicarm-btn-group.active, .aicarm-btn-group:hover {
    color: #fff;
    background: #871d50;
    border-color: #871d50 !important;
}

.bg-aicarm{
    --bs-bg-opacity:1;
    background-color: #871d50 !important;
}

.border-aicarm{
    --bs-border-opacity:1 !important;
    border-color:#871d50 !important;
}
.text-aicarm{
    color: #871d50 !important;
}
.title h2 {
    padding-top: 12px;
    color: #871d50 !important;
    margin: 0;
    vertical-align: middle;
    display: inline-block;
}

.title svg {
    background: rgba(135, 29, 80, 0.12);
    color: #871d50;
    padding: 8px;
    border-radius: 4px;
    vertical-align: middle;
    margin-right: 10px;
    display: inline-block;
}

.title {
    display: flex;
    align-items: center;
}


.icon.purple {
    background: rgba(155, 81, 224, 0.1);
    color: #9b51e0;
}
.icon.success {
    background: rgba(33, 150, 83, 0.1);
    color: #219653;
}
.icon.orange {
    background: rgba(242, 153, 74, 0.1);
    color: #f2994a;
}
.icon {
    max-width: 46px;
    width: 100%;
    height: 46px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    margin-right: 20px;
    background: rgba(54, 92, 245, 0.1);
    color: #365CF5;
    font-weight: 700;
}

.btn-orange {
    --bs-btn-color: #fff;
    --bs-btn-bg: #fd7e14;
    --bs-btn-border-color: #fd7e14;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #d76b11;
    --bs-btn-hover-border-color: #ca6510;
    --bs-btn-focus-shadow-rgb: 253, 142, 55;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #ca6510;
    --bs-btn-active-border-color: #be5f0f;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #fd7e14;
    --bs-btn-disabled-border-color: #fd7e14;
}
.bg-orange {
    background-color: #FF9800;
}
.border-orange {
    border-color: #FF9800;
}
.btn-outline-orange {
    background-color: transparent;
    color: #FF9800;
    border: 2px solid #FF9800;
    border-radius: 4px;
    padding: 8px 16px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-outline-orange:hover {
    background-color: #FF9800;
    color: white;
}
.bg-purple {
    background-color: #9C27B0;
}

.border-purple {
    border-color: #9C27B0;
}

.dropdown-menu li a {
    display: block;
    font-size: 14px;
}

.secondary-btn{
    --bs-btn-color:#fff;
    --bs-btn-bg:#6c757d;
    --bs-btn-border-color:#6c757d;
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-bg:#5c636a;
    --bs-btn-hover-border-color:#565e64;
    --bs-btn-focus-shadow-rgb:130,138,145;
    --bs-btn-active-color:#fff;
    --bs-btn-active-bg:#565e64;
    --bs-btn-active-border-color:#51585e;
    --bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color:#fff;
    --bs-btn-disabled-bg:#6c757d;
    --bs-btn-disabled-border-color:#6c757d
}

/* Classe base per sfondo teal */
.bg-teal {
    background-color: #008080;
}

/* Varianti di sfondo teal */
.bg-teal-light {
    background-color: #4DB6AC;
}

.bg-teal-lighter {
    background-color: #B2DFDB;
}

.bg-teal-dark {
    background-color: #00635F;
}

.bg-teal-darker {
    background-color: #004D40;
}

/* Bordo teal */
.border-teal {
    border-color: #008080;
}

/* Varianti di bordo teal */
.border-teal-light {
    border-color: #4DB6AC;
}

.border-teal-lighter {
    border-color: #B2DFDB;
}

.border-teal-dark {
    border-color: #00635F;
}

.border-teal-darker {
    border-color: #004D40;
}

/* Testo teal */
.text-teal {
    color: #008080;
}

.text-teal-light {
    color: #4DB6AC;
}

.text-teal-lighter {
    color: #B2DFDB;
}

.text-teal-dark {
    color: #00635F;
}

.text-teal-darker {
    color: #004D40;
}

/* Bottoni con outline teal */
.btn-outline-teal {
    background-color: transparent;
    color: #008080;
    border: 2px solid #008080;
    border-radius: 4px;
    padding: 8px 16px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-outline-teal:hover {
    background-color: #008080;
    color: white;
}

/* Bottone pieno teal */
.btn-teal {
    background-color: #008080;
    color: white;
    border: 2px solid #008080;
    border-radius: 4px;
    padding: 8px 16px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-teal:hover {
    background-color: #00635F;
    border-color: #00635F;
    color: white;
}

/* Badge teal */
.badge-teal {
    background-color: #008080;
    color: white;
}

.badge-teal-light {
    background-color: #4DB6AC;
    color: white;
}

/* Box shadow teal */
.shadow-teal {
    box-shadow: 0 0.5rem 1rem rgba(0, 128, 128, 0.15);
}

/* Sfondo gradiente teal */
.bg-gradient-teal {
    background: linear-gradient(to right, #008080, #004D40);
    color: white;
}

/* Card con bordi teal */
.card-teal {
    border-color: #008080;
}

.card-teal .card-header {
    background-color: #008080;
    color: white;
}

/* Pannelli con diversi stili teal */
.panel-teal {
    border-color: #008080;
}

.panel-teal > .panel-heading {
    background-color: #008080;
    color: white;
    border-color: #008080;
}

/* Alert teal */
.alert-teal {
    background-color: #E0F2F1;
    border-color: #B2DFDB;
    color: #004D40;
}

/* Link teal */
.link-teal {
    color: #008080;
}

.link-teal:hover {
    color: #00635F;
}

/* Evidenziazione teal per il testo */
.highlight-teal {
    background-color: #B2DFDB;
    padding: 2px 4px;
    border-radius: 3px;
}

/* Bordi di diverse dimensioni */
.border-teal-1 {
    border: 1px solid #008080;
}

.border-teal-2 {
    border: 2px solid #008080;
}

.border-teal-3 {
    border: 3px solid #008080;
}

/* Bordi a direzioni specifiche */
.border-teal-top {
    border-top: 2px solid #008080;
}

.border-teal-bottom {
    border-bottom: 2px solid #008080;
}

.border-teal-left {
    border-left: 2px solid #008080;
}

.border-teal-right {
    border-right: 2px solid #008080;
}

/* Stili per checkbox e radio teal */
.form-check-input.teal-check:checked {
    background-color: #008080;
    border-color: #008080;
}

/* Progress bar teal */
.progress-bar-teal {
    background-color: #008080;
}

/* Spinner teal */
.spinner-teal {
    color: #008080;
}

/* Table con header teal */
.table-teal thead {
    background-color: #008080;
    color: white;
}

.table-teal-striped tbody tr:nth-of-type(odd) {
    background-color: #E0F2F1;
}

/* Tooltip teal */
.tooltip-teal .tooltip-inner {
    background-color: #008080;
    color: white;
}

.tooltip-teal.bs-tooltip-top .arrow::before {
    border-top-color: #008080;
}

/* Toggle switch teal */
.switch-teal .form-check-input:checked {
    background-color: #008080;
    border-color: #008080;
}

/* Paginazione teal */
.pagination-teal .page-item.active .page-link {
    background-color: #008080;
    border-color: #008080;
    color: white;
}

.pagination-teal .page-link {
    color: #008080;
}

.pagination-teal .page-link:hover {
    color: #00635F;
}

/* Navbar teal */
.navbar-teal {
    background-color: #008080;
}

.navbar-teal .navbar-brand,
.navbar-teal .nav-link {
    color: white;
}

.navbar-teal .nav-link:hover {
    color: #E0F2F1;
}

/* Outline focus teal */
.focus-teal:focus {
    box-shadow: 0 0 0 0.25rem rgba(0, 128, 128, 0.25);
    outline: none;
}

/* Bordi arrotondati con colore teal */
.rounded-teal {
    border-radius: 0.25rem;
    border: 1px solid #008080;
}

/* Liste con marcatori teal */
.list-teal {
    list-style: none;
    padding-left: 1.5rem;
}

.list-teal li::before {
    content: "•";
    color: #008080;
    font-weight: bold;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}

.teal{
    background-color: #B2DFDB;
    color: #008080;

}

/* Classe base per sfondo rosa ciliegia */
.bg-cherry {
    background-color: #C71585; /* RGB: 199,21,133 */
}
.icon.cherry {
    background: rgba(220, 53, 69, 0.1);
    color: #F1A8D0;
}
/* Varianti di sfondo rosa ciliegia */
.bg-cherry-light {
    background-color: #DB5A9B; /* Versione più chiara */
}

.bg-cherry-lighter {
    background-color: #F1A8D0; /* Versione molto chiara */
}

.bg-cherry-dark {
    background-color: #9E0F67; /* Versione più scura */
}

.bg-cherry-darker {
    background-color: #700B49; /* Versione molto scura */
}

/* Bordo rosa ciliegia */
.border-cherry {
    border-color: #C71585;
}

/* Varianti di bordo rosa ciliegia */
.border-cherry-light {
    border-color: #DB5A9B;
}

.border-cherry-lighter {
    border-color: #F1A8D0;
}

.border-cherry-dark {
    border-color: #9E0F67;
}

.border-cherry-darker {
    border-color: #700B49;
}

/* Testo rosa ciliegia */
.text-cherry {
    color: #C71585;
}

.text-cherry-light {
    color: #DB5A9B;
}

.text-cherry-lighter {
    color: #F1A8D0;
}

.text-cherry-dark {
    color: #9E0F67;
}

.text-cherry-darker {
    color: #700B49;
}

/* Bottoni con outline rosa ciliegia */
.btn-outline-cherry {
    background-color: transparent;
    color: #C71585;
    border: 2px solid #C71585;
    border-radius: 4px;
    padding: 8px 16px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-outline-cherry:hover {
    background-color: #C71585;
    color: white;
}

/* Bottone pieno rosa ciliegia */
.btn-cherry {
    background-color: #C71585;
    color: white;
    border: 2px solid #C71585;
    border-radius: 4px;
    padding: 8px 16px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-cherry:hover {
    background-color: #9E0F67;
    border-color: #9E0F67;
    color: white;
}

/* Badge rosa ciliegia */
.badge-cherry {
    background-color: #C71585;
    color: white;
}

.badge-cherry-light {
    background-color: #DB5A9B;
    color: white;
}

/* Box shadow rosa ciliegia */
.shadow-cherry {
    box-shadow: 0 0.5rem 1rem rgba(199, 21, 133, 0.15);
}

/* Sfondo gradiente rosa ciliegia */
.bg-gradient-cherry {
    background: linear-gradient(to right, #C71585, #700B49);
    color: white;
}

/* Card con bordi rosa ciliegia */
.card-cherry {
    border-color: #C71585;
}

.card-cherry .card-header {
    background-color: #C71585;
    color: white;
}

/* Pannelli con diversi stili rosa ciliegia */
.panel-cherry {
    border-color: #C71585;
}

.panel-cherry > .panel-heading {
    background-color: #C71585;
    color: white;
    border-color: #C71585;
}

/* Alert rosa ciliegia */
.alert-cherry {
    background-color: #FCE4F3;
    border-color: #F1A8D0;
    color: #700B49;
}

/* Link rosa ciliegia */
.link-cherry {
    color: #C71585;
}

.link-cherry:hover {
    color: #9E0F67;
}

/* Evidenziazione rosa ciliegia per il testo */
.highlight-cherry {
    background-color: #F1A8D0;
    padding: 2px 4px;
    border-radius: 3px;
}

/* Bordi di diverse dimensioni */
.border-cherry-1 {
    border: 1px solid #C71585;
}

.border-cherry-2 {
    border: 2px solid #C71585;
}

.border-cherry-3 {
    border: 3px solid #C71585;
}

/* Bordi a direzioni specifiche */
.border-cherry-top {
    border-top: 2px solid #C71585;
}

.border-cherry-bottom {
    border-bottom: 2px solid #C71585;
}

.border-cherry-left {
    border-left: 2px solid #C71585;
}

.border-cherry-right {
    border-right: 2px solid #C71585;
}

/* Stili per checkbox e radio rosa ciliegia */
.form-check-input.cherry-check:checked {
    background-color: #C71585;
    border-color: #C71585;
}

/* Progress bar rosa ciliegia */
.progress-bar-cherry {
    background-color: #C71585;
}

/* Spinner rosa ciliegia */
.spinner-cherry {
    color: #C71585;
}

/* Table con header rosa ciliegia */
.table-cherry thead {
    background-color: #C71585;
    color: white;
}

.table-cherry-striped tbody tr:nth-of-type(odd) {
    background-color: #FCE4F3;
}

/* Tooltip rosa ciliegia */
.tooltip-cherry .tooltip-inner {
    background-color: #C71585;
    color: white;
}

.tooltip-cherry.bs-tooltip-top .arrow::before {
    border-top-color: #C71585;
}

/* Toggle switch rosa ciliegia */
.switch-cherry .form-check-input:checked {
    background-color: #C71585;
    border-color: #C71585;
}

/* Paginazione rosa ciliegia */
.pagination-cherry .page-item.active .page-link {
    background-color: #C71585;
    border-color: #C71585;
    color: white;
}

.pagination-cherry .page-link, a.text-cherry {
    color: #C71585;
}

.pagination-cherry .page-link:hover {
    color: #9E0F67;
}

/* Navbar rosa ciliegia */
.navbar-cherry {
    background-color: #C71585;
}

.navbar-cherry .navbar-brand,
.navbar-cherry .nav-link {
    color: white;
}

.navbar-cherry .nav-link:hover {
    color: #FCE4F3;
}

/* Outline focus rosa ciliegia */
.focus-cherry:focus {
    box-shadow: 0 0 0 0.25rem rgba(199, 21, 133, 0.25);
    outline: none;
}

/* Bordi arrotondati con colore rosa ciliegia */
.rounded-cherry {
    border-radius: 0.25rem;
    border: 1px solid #C71585;
}

.cherry{
    background-color: #FCE4F3;
    color: #C71585;
}

/* Classe base per sfondo blu navy */
.bg-navy {
    background-color: #000080; /* RGB: 0,0,128 */
}

/* Varianti di sfondo blu navy */
.bg-navy-light {
    background-color: #0000B3; /* Versione più chiara */
}

.bg-navy-lighter {
    background-color: #4D4DFF; /* Versione molto chiara */
}

.bg-navy-dark {
    background-color: #000066; /* Versione più scura */
}

.bg-navy-darker {
    background-color: #00004D; /* Versione molto scura */
}

/* Bordo blu navy */
.border-navy {
    border-color: #000080;
}

/* Varianti di bordo blu navy */
.border-navy-light {
    border-color: #0000B3;
}

.border-navy-lighter {
    border-color: #4D4DFF;
}

.border-navy-dark {
    border-color: #000066;
}

.border-navy-darker {
    border-color: #00004D;
}

/* Testo blu navy */
.text-navy {
    color: #000080;
}

.text-navy-light {
    color: #0000B3;
}

.text-navy-lighter {
    color: #4D4DFF;
}

.text-navy-dark {
    color: #000066;
}

.text-navy-darker {
    color: #00004D;
}

/* Bottoni con outline blu navy */
.btn-outline-navy {
    background-color: transparent;
    color: #000080;
    border: 2px solid #000080;
    border-radius: 4px;
    padding: 8px 16px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-outline-navy:hover {
    background-color: #000080;
    color: white;
}

/* Bottone pieno blu navy */
.btn-navy {
    background-color: #000080;
    color: white;
    border: 2px solid #000080;
    border-radius: 4px;
    padding: 8px 16px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-navy:hover {
    background-color: #000066;
    border-color: #000066;
    color: white;
}

/* Badge blu navy */
.badge-navy {
    background-color: #000080;
    color: white;
}

.badge-navy-light {
    background-color: #0000B3;
    color: white;
}

/* Box shadow blu navy */
.shadow-navy {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 128, 0.15);
}

/* Sfondo gradiente blu navy */
.bg-gradient-navy {
    background: linear-gradient(to right, #000080, #00004D);
    color: white;
}

/* Card con bordi blu navy */
.card-navy {
    border-color: #000080;
}

.card-navy .card-header {
    background-color: #000080;
    color: white;
}

/* Pannelli con diversi stili blu navy */
.panel-navy {
    border-color: #000080;
}

.panel-navy > .panel-heading {
    background-color: #000080;
    color: white;
    border-color: #000080;
}

/* Alert blu navy */
.alert-navy {
    background-color: #E6E6FF;
    border-color: #B3B3FF;
    color: #00004D;
}

/* Link blu navy */
.link-navy {
    color: #000080;
}

.link-navy:hover {
    color: #000066;
}

/* Evidenziazione blu navy per il testo */
.highlight-navy {
    background-color: #B3B3FF;
    padding: 2px 4px;
    border-radius: 3px;
}

/* Bordi di diverse dimensioni */
.border-navy-1 {
    border: 1px solid #000080;
}

.border-navy-2 {
    border: 2px solid #000080;
}

.border-navy-3 {
    border: 3px solid #000080;
}

/* Bordi a direzioni specifiche */
.border-navy-top {
    border-top: 2px solid #000080;
}

.border-navy-bottom {
    border-bottom: 2px solid #000080;
}

.border-navy-left {
    border-left: 2px solid #000080;
}

.border-navy-right {
    border-right: 2px solid #000080;
}

/* Stili per checkbox e radio blu navy */
.form-check-input.navy-check:checked {
    background-color: #000080;
    border-color: #000080;
}

/* Progress bar blu navy */
.progress-bar-navy {
    background-color: #000080;
}

/* Spinner blu navy */
.spinner-navy {
    color: #000080;
}

/* Table con header blu navy */
.table-navy thead {
    background-color: #000080;
    color: white;
}

.table-navy-striped tbody tr:nth-of-type(odd) {
    background-color: #E6E6FF;
}

/* Tooltip blu navy */
.tooltip-navy .tooltip-inner {
    background-color: #000080;
    color: white;
}

.tooltip-navy.bs-tooltip-top .arrow::before {
    border-top-color: #000080;
}

/* Toggle switch blu navy */
.switch-navy .form-check-input:checked {
    background-color: #000080;
    border-color: #000080;
}

/* Paginazione blu navy */
.pagination-navy .page-item.active .page-link {
    background-color: #000080;
    border-color: #000080;
    color: white;
}

.pagination-navy .page-link, .text-navy {
    color: #000080;
}

.pagination-navy .page-link:hover {
    color: #000066;
}

/* Navbar blu navy */
.navbar-navy {
    background-color: #000080;
}

.navbar-navy .navbar-brand,
.navbar-navy .nav-link {
    color: white;
}

.navbar-navy .nav-link:hover {
    color: #E6E6FF;
}

/* Outline focus blu navy */
.focus-navy:focus {
    box-shadow: 0 0 0 0.25rem rgba(0, 0, 128, 0.25);
    outline: none;
}

/* Bordi arrotondati con colore blu navy */
.rounded-navy {
    border-radius: 0.25rem;
    border: 1px solid #000080;
}

/* List group blu navy */
.list-group-item-navy {
    background-color: #E6E6FF;
    color: #00004D;
}

.list-group-item-navy.active {
    background-color: #000080;
    border-color: #000080;
}

label {
    font-size: 14px;
    font-weight: 500;
    color: #1A2142;
    display: block;
    margin-bottom: 10px;
}

.form-control-default {
    width: 100%;
    background: rgba(239, 239, 239, 0.5);
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    padding: 16px;
    color: #5d657b;
    resize: none;
    transition: all 0.3s;
}

@media (max-width: 767px) {
    .form-control-default {
        font-size: 14px;
    }
}

.form-control-default:focus {
    border-color: #365CF5;
    background: #fff;
}


.form-select-default {
    width: 100%;
    background: transparent;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 16px;
    padding-right: 38px;
    color: #5d657b;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}

.form-select-default:focus {
    border-color: #365CF5;
    outline: none;
}

.danger-btn {
    background: #dc3545;
    color: #fff;
}
.danger-btn:hover {
    color: #fff;
}

label {
    font-size: 14px;
    font-weight: 500;
    color: #1A2142;
    display: block;
    margin-bottom: 10px;
}

.form-control {
    width: 100%;
    background: rgba(239, 239, 239, 0.5);
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    padding: 16px;
    color: #5d657b;
    resize: none;
    transition: all 0.3s;
}

@media (max-width: 767px) {
    .form-control {
        font-size: 14px;
    }
}

.form-control:focus {
    border-color: #365CF5;
    background: #fff;
}


.form-select {
    width: 100%;
    background: transparent;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 16px;
    padding-right: 38px;
    color: #5d657b;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}

.form-select:focus {
    border-color: #365CF5;
    outline: none;
}


/* Variabili comuni per form-control e form-select */
:root {
    --form-element-padding: .375rem .75rem;
    --form-element-font: 400 1rem/1.5 var(--bs-font-sans-serif);
    --form-element-border: var(--bs-border-width) solid var(--bs-border-color);
    --form-element-radius: .375rem;
    --form-element-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    --form-element-focus-shadow: 0 0 0 .25rem rgba(13,110,253,.25);
    --form-element-focus-border: #86b7fe;
}

/* Base styles for form controls */
.form-control-default, .form-select-default {
    display: block;
    width: 100%;
    color: var(--bs-body-color);
    background-color: var(--bs-form-control-bg);
    background-clip: padding-box;
    border: var(--form-element-border);
    border-radius: var(--form-element-radius);
    padding: var(--form-element-padding);
    font: var(--form-element-font);
    transition: var(--form-element-transition);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media (prefers-reduced-motion: reduce) {
    .form-control-default, .form-select-default {
        transition: none;
    }
}

/* Focus states */
.form-control-default:focus, .form-select-default:focus {
    color: var(--bs-body-color);
    background-color: var(--bs-form-control-bg);
    border-color: var(--form-element-focus-border);
    outline: 0;
    box-shadow: var(--form-element-focus-shadow);
}

/* Disabled states */
.form-control-default:disabled, .form-select-default:disabled {
    background-color: var(--bs-form-control-disabled-bg);
    opacity: 1;
}

/* Placeholder styling */
.form-control-default::placeholder {
    color: var(--bs-secondary-color);
    opacity: 1;
}

/* File input specific */
.form-control-default[type=file] {
    overflow: hidden;
}

.form-control-default[type=file]:not(:disabled):not([readonly]) {
    cursor: pointer;
}

/* Date input specific */
.form-control-default::-webkit-date-and-time-value {
    height: 1.5em;
}

.form-control-default::-webkit-datetime-edit {
    display: block;
    padding: 0;
}

/* File selector button */
.form-control-default::file-selector-button,
.form-control-default::-webkit-file-upload-button {
    padding: var(--form-element-padding);
    margin: -.375rem -.75rem;
    margin-inline-end: .75rem;
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: var(--bs-border-width);
    border-radius: 0;
    transition: var(--form-element-transition);
}

/* Select specific */
.form-select-default {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    padding-right: 2.25rem;
    background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
}

.form-select-default[multiple],
.form-select-default[size]:not([size="1"]) {
    padding-right: .75rem;
    background-image: none;
}

.form-select-default:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 var(--bs-body-color);
}

/* Select sizes */
.form-select-default-sm {
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: .25rem;
}

.form-select-default-lg {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: .5rem;
}

/* Dark theme adjustments */
[data-bs-theme=dark] .form-select-default {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

/* Input groups */
.input-group > .form-control-default,
.input-group > .form-select-default,
.input-group > .form-floating {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}

.input-group > .form-control-default:focus,
.input-group > .form-select-default:focus,
.input-group > .form-floating:focus-within {
    z-index: 5;
}

/* Input group text */
.input-group-text-default {
    display: flex;
    align-items: center;
    padding: var(--form-element-padding);
    font: var(--form-element-font);
    color: var(--bs-body-color);
    text-align: center;
    white-space: nowrap;
    background-color: var(--bs-tertiary-bg);
    border: var(--form-element-border);
    border-radius: var(--form-element-radius);
}


/* Assicuriamo che gli elementi dell'input group abbiano la stessa altezza */
.input-group-text-default,
.form-select-default {
    height: calc(1.5em + .75rem + 2px); /* Altezza standard di Bootstrap */
    line-height: 1.5;
    box-sizing: border-box;
}

/* Alternative per un allineamento più preciso */
.input-group {
    align-items: stretch; /* Assicura che tutti gli elementi si estendano verticalmente */
}

.input-group-text-default {
    display: flex;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
}

/* Classi per icone quadrate */
.icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    margin-right: 10px;

}

/* Variante più piccola */
.icon-sm {
    width: 36px;
    height: 36px;
    border-radius: 6px;
    font-size: 0.875rem;
}

/* Variante più grande */
.icon-lg {
    width: 64px;
    height: 64px;
    border-radius: 10px;
    font-size: 1.5rem;
}

/* Forma rotonda invece di quadrata */
.icon-rounded {
    border-radius: 50%;
}


/* Stile per animazione hover */
.icon.hover-effect:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

/* breadcrumb base styles */
.base-breadcrumb {
    border-radius: 6px;
    border: 1px solid #DFE5EF;
    background-color: white;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 30px;
    margin-top: 10px;
}
.base-breadcrumb li,
.base-breadcrumb a {
    display: flex;
    align-items: center;
    gap: 10px;
}
.base-breadcrumb li i,
.base-breadcrumb a i {
    line-height: 1;
}
.base-breadcrumb li {
    font-size: 14px;
    font-weight: 500;
}
.base-breadcrumb li a,
.base-breadcrumb li span {
    display: flex;
    color: #5d657b;
}
.base-breadcrumb li.active {
    color: #365CF5;
}

.breadcrumb-two {
    gap: 12px;
}
.breadcrumb-two li {
    gap: 12px;
}
.breadcrumb-two li span {
    max-width: 4px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #5d657b;
}
.breadcrumb-two a {
    gap: 5px;
}

.breadcrumb-three a {
    gap: 5px;
}

.icon.danger {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
}

/* Stile per troncare il testo lungo nei nomi dei documenti */
.doc-name {
    max-width: 200px; /* Puoi regolare questa larghezza in base alle tue esigenze */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
}

/* Per schermi più piccoli, riduci ulteriormente */
@media (max-width: 768px) {
    .doc-name {
        max-width: 150px;
    }
}

/* Per schermi molto piccoli, riduci ancora */
@media (max-width: 576px) {
    .doc-name {
        max-width: 100px;
    }
}

/* Stili personalizzati per Select2 che si integrano con lo stile esistente */

/* Container principale per Select2 */
.select2-container {
    width: 100% !important; /* Imposta la larghezza al 100% del contenitore */
}

/* Stile per il campo di selezione quando non è aperto */
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
    width: 100%;
    background: rgba(239, 239, 239, 0.5);
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    padding: 8px;
    color: #5d657b;
    transition: all 0.3s;
    height: auto; /* Override dell'altezza fissa di select2 */
    min-height: 58px; /* Per mantenere la stessa altezza degli input normali */
}

/* Stile per l'elemento selezionato */
.select2-container .select2-selection--single .select2-selection__rendered {
    padding: 4px 8px;
    color: #5d657b;
    line-height: 1.5;
}

/* Stile per il contenitore quando ha focus */
.select2-container--focus .select2-selection--single,
.select2-container--focus .select2-selection--multiple,
.select2-container--open .select2-selection--single,
.select2-container--open .select2-selection--multiple {
    border-color: #365CF5;
    background: #fff;
}

/* Stile per la freccia dropdown */
.select2-container .select2-selection--single .select2-selection__arrow {
    height: 51px; /* Stessa altezza del container */
    width: 30px;
}

/* Rimozione del bordo quando ha focus */
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #365CF5;
}

/* Dropdown menu */
.select2-dropdown {
    background: #e5e5e5;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Risultati nella dropdown */
.select2-container--default .select2-results > .select2-results__options {
    max-height: 200px;
    overflow-y: auto;
}

/* Stile per i singoli elementi risultato */
.select2-results__option {
    padding: 10px 16px;
    color: #5d657b;
    transition: all 0.2s;
}

/* Elemento al passaggio del mouse */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: rgba(54, 92, 245, 0.1);
    color: #365CF5;
}

/* Elemento selezionato */
.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: rgba(54, 92, 245, 0.2);
    color: #365CF5;
    font-weight: 500;
}
.select2-search {
    background-color: #e5e5e5;
}
/* Campo di ricerca */
.select2-search--dropdown .select2-search__field {
    padding: 10px;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
}

.select2-search--dropdown .select2-search__field:focus {
    border-color: #365CF5;
    outline: none;
}

/* Placeholder */
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #9da4bd;
}

/* Multi-select */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #f0f3ff;
    border: 1px solid #d1d9ff;
    border-radius: 4px;
    padding: 4px 8px;
    margin-right: 5px;
    margin-top: 5px;
    color: #365CF5;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #365CF5;
    margin-right: 5px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #1a2142;
}

/* Versione "disabled" */
.select2-container--default.select2-container--disabled .select2-selection--single,
.select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: #f5f5f5;
    cursor: not-allowed;
    opacity: 0.7;
}

/* Compatibilità con l'input-style-1 e input-style-2 */
.input-style-1 .select2-container .select2-selection--single,
.input-style-1 .select2-container .select2-selection--multiple,
.input-style-2 .select2-container .select2-selection--single,
.input-style-2 .select2-container .select2-selection--multiple {
    width: 100%;
    background: rgba(239, 239, 239, 0.5);
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    padding: 8px;
    color: #5d657b;
    transition: all 0.3s;
}

.input-style-1 .select2-container--focus .select2-selection--single,
.input-style-1 .select2-container--focus .select2-selection--multiple,
.input-style-1 .select2-container--open .select2-selection--single,
.input-style-1 .select2-container--open .select2-selection--multiple,
.input-style-2 .select2-container--focus .select2-selection--single,
.input-style-2 .select2-container--focus .select2-selection--multiple,
.input-style-2 .select2-container--open .select2-selection--single,
.input-style-2 .select2-container--open .select2-selection--multiple {
    border-color: #365CF5;
    background: #fff;
}

/* Adattamento responsive come richiesto */
@media (max-width: 767px) {
    .select2-container .select2-selection--single .select2-selection__rendered {
        font-size: 14px;
    }

    .select2-results__option {
        font-size: 14px;
        padding: 8px 12px;
    }

    .select2-container .select2-selection--multiple .select2-selection__choice {
        font-size: 13px;
        padding: 3px 6px;
    }
}

/* Stile Bootstrap 5 Select2 */
.select2-container--bootstrap-5 .select2-selection {
    width: 100%;
    background: rgba(239, 239, 239, 0.5);
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    padding: 8px;
    color: #5d657b;
    transition: all 0.3s;
    min-height: 51px;
}

.select2-container--bootstrap-5.select2-container--focus .select2-selection,
.select2-container--bootstrap-5.select2-container--open .select2-selection {
    border-color: #365CF5;
    background: #fff;
}

.select2-container--bootstrap-5 .select2-dropdown {
    border-color: #e5e5e5;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.select2-container--bootstrap-5 .select2-dropdown .select2-results__option--highlighted[aria-selected] {
    background-color: rgba(54, 92, 245, 0.1);
    color: #365CF5;
}

.select2-container--bootstrap-5 .select2-results__option--selected {
    background-color: rgba(54, 92, 245, 0.2);
    color: #365CF5;
}

/* Classe di utilità per allineare select2 con altri input in termini di spaziatura */
.select-container {
    margin-bottom: 30px;
}
.selection {
    width: 100%;
}
.table td{
    padding-left: 2px;
    padding-right: 2px;
}

.nav-item.active i{
    color: #365CF5;
}

.nav-item i{
    font-size: 20px;
}
.add{
    color: #365CF5!important;
}

.view{
    color: #219653!important;
}

.delete{
    color: #dc3545;

}
.edit{
    color: #f7c800;
}

.icon-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: white;
}

.code-editor {
    font-family: monospace;
    font-size: 14px;
}

/**
 * AICARM - Icon Circle CSS Class
 * Classe versatile per creare cerchi con icone
 * @version 1.0
 * @author AICARM Development Team
 */

/* ===== CLASSE BASE ===== */
.icon-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    position: relative;
    overflow: hidden;
}

/* ===== VARIANTI DI DIMENSIONE ===== */
.icon-circle.icon-xs {
    width: 24px;
    height: 24px;
    font-size: 0.75rem;
}

.icon-circle.icon-sm {
    width: 32px;
    height: 32px;
    font-size: 0.875rem;
}

.icon-circle.icon-md {
    width: 40px;
    height: 40px;
    font-size: 1rem;
}

.icon-circle.icon-lg {
    width: 48px;
    height: 48px;
    font-size: 1.25rem;
}

.icon-circle.icon-xl {
    width: 56px;
    height: 56px;
    font-size: 1.5rem;
}

.icon-circle.icon-xxl {
    width: 64px;
    height: 64px;
    font-size: 1.75rem;
}

/* ===== VARIANTI COLORE AICARM ===== */
.icon-circle.bg-aicarm {
    background-color: #0066cc;
    color: #ffffff;
}

.icon-circle.bg-aicarm:hover {
    background-color: #0052a3;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 102, 204, 0.3);
}

/* ===== VARIANTI COLORE BOOTSTRAP ===== */
.icon-circle.bg-primary {
    background-color: #0d6efd;
    color: #ffffff;
}

.icon-circle.bg-primary:hover {
    background-color: #0b5ed7;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(13, 110, 253, 0.3);
}

.icon-circle.bg-secondary {
    background-color: #6c757d;
    color: #ffffff;
}

.icon-circle.bg-secondary:hover {
    background-color: #5c636a;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(108, 117, 125, 0.3);
}

.icon-circle.bg-success {
    background-color: #198754;
    color: #ffffff;
}

.icon-circle.bg-success:hover {
    background-color: #157347;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(25, 135, 84, 0.3);
}

.icon-circle.bg-danger {
    background-color: #dc3545;
    color: #ffffff;
}

.icon-circle.bg-danger:hover {
    background-color: #bb2d3b;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(220, 53, 69, 0.3);
}

.icon-circle.bg-warning {
    background-color: #ffc107;
    color: #000000;
}

.icon-circle.bg-warning:hover {
    background-color: #ffca2c;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(255, 193, 7, 0.3);
}

.icon-circle.bg-info {
    background-color: #0dcaf0;
    color: #000000;
}

.icon-circle.bg-info:hover {
    background-color: #31d2f2;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(13, 202, 240, 0.3);
}

.icon-circle.bg-light {
    background-color: #f8f9fa;
    color: #212529;
    border: 1px solid #dee2e6;
}

.icon-circle.bg-light:hover {
    background-color: #e9ecef;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.icon-circle.bg-dark {
    background-color: #212529;
    color: #ffffff;
}

.icon-circle.bg-dark:hover {
    background-color: #1c1f23;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(33, 37, 41, 0.3);
}

/* ===== VARIANTI GRADIENTE ===== */
.icon-circle.bg-gradient-primary {
    background: linear-gradient(135deg, #0d6efd 0%, #0b5ed7 100%);
    color: #ffffff;
}

.icon-circle.bg-gradient-success {
    background: linear-gradient(135deg, #198754 0%, #157347 100%);
    color: #ffffff;
}

.icon-circle.bg-gradient-warning {
    background: linear-gradient(135deg, #ffc107 0%, #ffca2c 100%);
    color: #000000;
}

.icon-circle.bg-gradient-danger {
    background: linear-gradient(135deg, #dc3545 0%, #bb2d3b 100%);
    color: #ffffff;
}

.icon-circle.bg-gradient-info {
    background: linear-gradient(135deg, #0dcaf0 0%, #31d2f2 100%);
    color: #000000;
}

.icon-circle.bg-gradient-aicarm {
    background: linear-gradient(135deg, #0066cc 0%, #004499 100%);
    color: #ffffff;
}

/* ===== VARIANTI OUTLINE ===== */
.icon-circle.border-primary {
    background-color: transparent;
    color: #0d6efd;
    border: 2px solid #0d6efd;
    box-shadow: none;
}

.icon-circle.border-primary:hover {
    background-color: #0d6efd;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(13, 110, 253, 0.3);
}

.icon-circle.border-success {
    background-color: transparent;
    color: #198754;
    border: 2px solid #198754;
    box-shadow: none;
}

.icon-circle.border-success:hover {
    background-color: #198754;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(25, 135, 84, 0.3);
}

.icon-circle.border-warning {
    background-color: transparent;
    color: #ffc107;
    border: 2px solid #ffc107;
    box-shadow: none;
}

.icon-circle.border-warning:hover {
    background-color: #ffc107;
    color: #000000;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(255, 193, 7, 0.3);
}

.icon-circle.border-danger {
    background-color: transparent;
    color: #dc3545;
    border: 2px solid #dc3545;
    box-shadow: none;
}

.icon-circle.border-danger:hover {
    background-color: #dc3545;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(220, 53, 69, 0.3);
}

.icon-circle.border-aicarm {
    background-color: transparent;
    color: #0066cc;
    border: 2px solid #0066cc;
    box-shadow: none;
}

.icon-circle.border-aicarm:hover {
    background-color: #0066cc;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 102, 204, 0.3);
}

/* ===== EFFETTI SPECIALI ===== */
.icon-circle.pulse {
    animation: pulse-icon 2s infinite;
}

@keyframes pulse-icon {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(0, 102, 204, 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(0, 102, 204, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(0, 102, 204, 0);
    }
}

.icon-circle.glow {
    box-shadow: 0 0 20px rgba(0, 102, 204, 0.5);
}

.icon-circle.rotate:hover {
    transform: rotate(360deg);
    transition: transform 0.6s ease;
}

/* ===== STATI INTERATTIVI ===== */
.icon-circle.clickable {
    cursor: pointer;
    user-select: none;
}

.icon-circle.clickable:active {
    transform: scale(0.95);
}

.icon-circle.disabled {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

/* ===== BADGE OVERLAY ===== */
.icon-circle-container {
    position: relative;
    display: inline-block;
}

.icon-circle-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    background-color: #dc3545;
    color: #ffffff;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #ffffff;
    font-weight: bold;
}

.icon-circle-badge.badge-success {
    background-color: #198754;
}

.icon-circle-badge.badge-warning {
    background-color: #ffc107;
    color: #000000;
}

.icon-circle-badge.badge-info {
    background-color: #0dcaf0;
    color: #000000;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .icon-circle.icon-lg {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }
    
    .icon-circle.icon-xl {
        width: 48px;
        height: 48px;
        font-size: 1.25rem;
    }
    
    .icon-circle.icon-xxl {
        width: 56px;
        height: 56px;
        font-size: 1.5rem;
    }
}

/* ===== UTILITÀ ===== */
.icon-circle.no-shadow {
    box-shadow: none;
}

.icon-circle.no-hover:hover {
    transform: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.icon-circle.square {
    border-radius: 8px;
}

.icon-circle.rounded {
    border-radius: 12px;
}

/* ===== DARK MODE SUPPORT ===== */
@media (prefers-color-scheme: dark) {
    .icon-circle.bg-light {
        background-color: #343a40;
        color: #ffffff;
        border-color: #495057;
    }
    
    .icon-circle.bg-light:hover {
        background-color: #495057;
    }
}