:root {
    --defaultFont: 'Source Sans Pro', 'Segoe UI', 'Droid Sans', Tahoma, Arial, sans-serif;
    --secondFont: 'Fjalla One', sans-serif;
    --osvaldoFont: 'Oswald', sans-serif;
    --newFont: 'Europa', sans-serif;
    --color-success: #4caf50;
    --color-success-light: #8bc34a;
    --color-danger: #d0181e;
    --color-warning: rgba(251, 149, 3, 1);
    --color-default: #65696e;
}

.icon-colored-default , .badge-default , .btn-default{
    background: var(--color-default);
    color: #fff;
}
.badge-success , .btn-success {
    background: var(--color-success);
    color: #fff;
}

.icon-colored-success , .badge-success , .btn-success , .btn-success:hover , .btn-success:focus , .status.status-success:before {

    background: var(--color-success) !important;
    border-color: var(--color-success);
    color: #fff;
}
.icon-colored-danger , .badge-danger , .btn-danger , .btn-danger:hover , .btn-danger:focus , .status.status-danger:before {
    background: var(--color-danger) !important;
    border-color: var(--color-danger);
    color: #fff;
}
.icon-colored-success-light , .badge-success-light , .btn-success-light , .btn-success-light:hover , .btn-success-light:focus{
    background: var(--color-success-light) !important;
    border-color: var(--color-success-light);
    color: #fff;
}
.icon-colored-warning , .badge-warning , .btn-warning , .btn-warning:hover , .btn-warning:focus , .bg-warning-700 , .status.status-warning:before {
    background: var(--color-warning) !important;
    border-color: var(--color-warning);
    color: #fff;
}


.badge-text{
    padding: 5px 10px !important;
}

.show-password{
    cursor: pointer;
}

.btn-custom{
    border-radius: 15px;
    padding: 5px 10px;
   
}
.btn-primary{
    color: #fff;
}

.liquid-glass-btn {
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.liquid-glass-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s;
    pointer-events: none;
}

.liquid-glass-btn:hover::before {
    left: 100%;
}

.liquid-glass-btn:hover {
    /* transform: translateY(-2px); */
    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.liquid-glass-btn:active {
    transform: translateY(0);
    box-shadow:
        0 4px 20px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/**
 * Logo FlowMind adattivo: 2 layer bianchi sovrapposti.
 * Il colore percepito dipende dallo sfondo (mix-blend-mode).
 * Su sfondo chiaro usare variant "light" → logo.png
 */
.flowmind-logo {
    position: relative;
    display: inline-block;
    line-height: 0;
    vertical-align: middle;
}

.flowmind-logo--adaptive {
    isolation: isolate;
}

.flowmind-logo__glow,
.flowmind-logo__core,
.flowmind-logo--static {
    height: var(--flowmind-logo-h, 85px);
    width: auto;
    max-width: none;
}

.flowmind-logo__glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    mix-blend-mode: screen;
    opacity: 0.92;
    pointer-events: none;
    z-index: 1;
}

.flowmind-logo__core {
    position: relative;
    display: block;
    mix-blend-mode: overlay;
    z-index: 2;
}

/* Sidebar / header scuri: alone più visibile */
.page-sidebar .flowmind-logo__glow,
.page-header .flowmind-logo__glow {
    mix-blend-mode: plus-lighter;
    opacity: 1;
}

.page-sidebar .flowmind-logo__core,
.page-header .flowmind-logo__core {
    mix-blend-mode: soft-light;
}
.dataTables_filter , #DataTables_Table_0_info{
    display: none;
}

.btn-panel-custom {
    width: 25px !important;
    height: 25px !important;
    line-height: 25px !important;
    box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.07), 0px 4px 5px 0px rgba(0, 0, 0, 0.05), 0px 1px 10px 0px rgba(0, 0, 0, 0.03) !important;
}

.panel-toolbar .btn-panel-custom {
    margin-left: 0.3rem;
}
.w50{
    width: 50px;
}
.centered{
    text-align: center;
}
.no-sort::after{
    display: none !important;
}
.no-sort:before{
    display: none !important;
}
.no-sort:hover:after{
    display: none !important;
}
.no-sort:hover:before{
    display: none !important;
}
.errorMessage{
    font-style: italic;
        font-size: 11px;
        font-weight: 300;
        border-left: #fccd66 3px solid;
        padding: 5px;
        margin-top: 3px;
        FONT-WEIGHT: px solid;
        color: #c18301;
        background: #fff8e9;
        margin-top: 3px;
}

.mod-skin-dark:not(.mod-skin-light) .errorMessage{
    color: #ffffff;
    color: var(--theme-warning-100);
    background-color: rgba(255, 194, 65, 0.2);
    background-color: rgba(var(--theme-rgb-warning), 0.2);
    border-color: rgba(255, 194, 65, 0.6);
    border-color: rgba(var(--theme-rgb-warning), 0.6);
}
.flag-icon{
    width: 20px;
    height: 20px;
    margin-right: 10px;
    border-radius: 50%;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

.form-group {
    margin-bottom: 1.5rem !important;
}
.errorSummary p{
   display: none !important;
}
.errorSummary ul{
    margin-left: 5px !important;
    padding-left: 10px !important;
}
.errorSummary li{
    margin-left: 0px !important;
    padding-left: 0px !important;
}
.no-sort{
    padding-right: 0px !important;
  
}
.centered{
    text-align: center !important;
    padding-right: 0px !important;
        padding-left: 0px !important;
}
.logo-small{
    width: 20px;
    height: 20px;
    border-radius: 50%;
}
.logo-medium{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.logo-large{
    width: 80px;
    height: 80px;
    border-radius: 50%;
}
.mod-skin-dark:not(.mod-skin-light) .modal-header {
    background: #303136;
}
.panel-header{
  line-height: 1.5;
}

.modal-footer {
    
    line-height: 1.5;
}

/* Modal adattato al contenuto (altezza/larghezza) */
.modal-fit.show {
    display: flex !important;
    align-items: center;
    padding: 1rem 0;
}

.modal-fit .modal-dialog {
    width: fit-content;
    max-width: min(92vw, 720px);
    margin: auto;
    min-height: auto;
}

.modal-fit .modal-dialog::before {
    display: none;
}

.modal-fit .modal-content {
    width: 100%;
}

.modal-fit .modal-body {
    max-height: calc(100vh - 10rem);
    overflow-y: auto;
}
td{
    vertical-align: middle !important;
}


.mod-skin-dark:not(.mod-skin-light) #toast-container > div {
    color: #ffffff;
    background-color: rgba(136, 106, 181, 0.8);
    background-color: rgba(var(--theme-rgb-primary), 0.8);
    border-color: rgba(136, 106, 181, 1);
    border-color: rgba(var(--theme-rgb-primary), 1);
}



#toast-container > div:before {
    display: none !important;
}

#toast-container > div {
    padding: 15px !important;
}

#toast-container>.toast {
    padding: 1rem 1rem 1rem .5rem;
}

.toast-flex {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.toast-icona {
    flex-shrink: 0;
    font-size: 1.5rem;
    line-height: 1;
    color: #fff;
}

.toast-content {
    flex: 1;
    min-width: 0;
}
.colored{
    color: var(--theme-primary-200);
}
.nav-title{
   margin-top: 0px !important;
}

.progetto-tabs-nav .nav-link {
    margin-bottom: 0.35rem;
    border-radius: 0.35rem;
    text-align: left;
}

.progetto-tabs-nav .nav-link.disabled {
    opacity: 0.55;
    pointer-events: none;
    cursor: not-allowed;
}

.progetto-tabs-content {
    min-height: 320px;
}
.info-box-small{
    margin-bottom: 1rem;
}
.alert-small{
    padding: 5px !important;
}
.alert-small p{
    padding-top: 6px !important;
}
.alert-small button{
    display: none !important;
}

/** Dashboard Timer */
.dashboard-kpi-primary  {
    color: #0891b2;
}

.dashboard-kpi-success  {
    color: #4caf50;
}

.dashboard-kpi-info  {
    color: #2196f3;
}

.dashboard-kpi-warning  {
    color: #fb9503;
}

.logo-small {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    margin-right: 5px;
}
.card-kanban-priorita{
    position: absolute;
    top: 5px;
    right: 5px;
    z-index: 1000;
}
.dashboard-kanban-column-body {
    padding: 1rem;
}
.dashboard-kanban-cards {
    min-height: 72px;
}
.dashboard-kanban-card {
    cursor: grab;
    position: relative;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.dashboard-kanban-notif {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 1001;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(255, 193, 7, 0.95);
    color: #1f2d3d;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.dashboard-notif-item--unread {
    background: rgba(8, 145, 178, 0.06);
}
#header-notif-list .profile-image,
.dashboard-notif-list .profile-image {
    width: 36px;
    height: 36px;
    font-size: 14px;
}
.notif-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.notif-avatar-img--logo {
    object-fit: contain;
    padding: 5px;
}
.dashboard-kanban-card:active {
    cursor: grabbing;
}
.dashboard-kanban-card--dragging {
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
    transform: scale(1.01);
}
.dashboard-kanban-card-header {
    position: relative;
    padding: 0;
}
.dashboard-kanban-placeholder {
    background: rgba(8, 145, 178, 0.08);
    border: 2px dashed rgba(8, 145, 178, 0.35) !important;
    visibility: visible !important;
    box-shadow: none;
}
.dashboard-kanban-cards.ui-sortable-helper {
    z-index: 1050;
}
.card-kanban-scadenza{
    float: left;
    line-height: 25px;
}
.card-kanban-assegnatari{
    float: right;
    line-height: 25px;
}
.card-kanban-footer{
    clear: both;
    padding: 10px 7px 10px 7px;
}
.card-kanban-title{
    padding: 5px 5px 5px 5px !important;
    margin-bottom: 0px !important;
}
.card-kanban-body{
    padding: 10px 7px 10px 7px !important;
}
.badge-custom{
position: relative;
    top: -7px;
    right: 10px;

}

.table-no-padding{
    padding: 0px !important; 
}

.table-no-padding table{
    margin-bottom: 0px !important;
}

.custom-control-inline {
     margin-right: 0px
}