/*
 * OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
 * Copyright (C) DevCode s.r.l.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org/licenses/>.
 */

*:focus {
    outline: none;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: local('Source Sans Pro'),
        url('../fonts/sourcesanspro-regular-webfont.eot') format('embedded-opentype'),
        url('../fonts/sourcesanspro-regular-webfont.woff') format('woff'),
        url('../fonts/sourcesanspro-regular-webfont.woff2') format('woff2'),
        url('../fonts/sourcesanspro-regular-webfont.ttf') format('truetype'),
        url('../fonts/sourcesanspro-regular-webfont.svg') format('svg');
}

.li-widget > a {
    color: #333;
}

.li-widget > a:hover {
    color: #000;
}

.text-black {
    color: #000;
}

/* ===== LOADING INDICATORS ===== */

/* Main loading overlay */
#main_loading {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 9999;
}

#main_loading > img {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 60px;
    margin-top: -30px;
    margin-left: -30px;
    z-index: 9999;
}

/* Mini loader */
#mini-loader > div {
    position: fixed;
    bottom: 20px;
    right: 20px;
    margin-top: -50px;
    margin-left: -50px;
    z-index: 9000;
    width: 100px;
    height: 100px;
    background: transparent url(../img/ajax-loader.gif) top left no-repeat;
}

/* Tiny loader */
#tiny-loader {
    position: fixed;
    z-index: 9000;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    background: transparent url(../img/ajax-loader.gif) top left no-repeat;
}

/* Component loader */
.component-loader {
    position: absolute;
    z-index: 20;
    opacity: 0.5;
    width: 100%;
    height: 100%;
    background: #fff;
}

.component-loader > div {
    position: relative;
    top: 50%;
    color: #333;
}

html {
    font-size: 13px;
    height: 100%;
}

body {
    font-family: sans-serif, "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: left;
}

.main-header .navbar{
    background: #333;
}

textarea {
    resize: vertical;
}

a.disabled {
    pointer-events: none;
    cursor: default;
    opacity: 0.6;
}

#progress {
    margin: auto;
    position: relative;
    display: none;
}

#progress .progress-bar {
    background-image: url(../img/progress.gif);
    position: relative;
}

#progress .progress-bar span {
    position: absolute;
    display: inline-block;
    width: 100%;
    text-align: center;
    left: 0;
    z-index: 1;
}

/* Position the percentage text in the center of the container, not the progress bar */
#progress span.progress-percentage {
    position: absolute;
    display: inline-block;
    width: 100%;
    text-align: center;
    left: 0;
    top: 0;
    z-index: 2;
}

input[type=file] {
    height: initial;
    margin-bottom: 5px;
}

#datetime {
    font-size: 11px;
    font-weight: normal;
    color: #aaa;
    margin: 8px 0 0 0;
}

.ui-menu {
    position: fixed;
}

.autocomplete,
.ui-autocomplete {
    background: white;
    min-width: 160px;
    padding: 10px;
    margin: 2px;
    list-style: none;
    border-style: solid;
    border-width: 1px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    z-index: 9990;
}

.autocomplete .group,
.ui-autocomplete-category {
    font-size: 1.5em;
    background: inherit;
}

.autocomplete>div {
    padding: 5px;
}

.highlight, .search-highlight {
    background: #ffc107;
    color: #212529;
    font-weight: bold;
    padding: 2px 4px;
    border-radius: 3px;
    box-shadow: 0 1px 3px rgba(255, 193, 7, 0.3);
}

/* Disabilita il widget sidebar-search di AdminLTE */
[data-widget-disabled="true"] .sidebar-search-results,
.sidebar-search-results,
.sidebar-search-open .sidebar-search-results {
    display: none !important;
}

/* Stili per la ricerca unificata nella sidebar */

.search-results-header {
    padding: 8px 12px 4px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 4px;
}

.search-results-header h6 {
    margin: 0;
    font-size: 10px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--text-light);
    text-transform: uppercase;
}

.search-results-header .search-term {
    background: rgba(255, 255, 255, 0.2);
    color: var(--text-light);
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 9px;
    font-weight: 700;
}

.search-category h6 {
    margin: 0;
    padding: 8px 12px 6px 12px;
    font-size: 10px;
    text-transform: uppercase;
    font-weight: 600;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.15));
    color: #ffffff !important;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 4px 4px 0 0;
    margin-bottom: 2px;
    letter-spacing: 0.5px;
    position: relative;
    backdrop-filter: blur(5px);
}

.search-category h6 i {
    margin-right: 8px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.8);
}

.search-category h6 .badge {
    margin-left: auto;
    font-size: 9px;
    padding: 3px 8px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.3);
    color: rgba(255, 255, 255, 0.95);
    font-weight: 600;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.search-result-item {
    padding: 8px 12px !important;
    font-size: 11px;
    border-left: 3px solid transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: flex-start;
    color: var(--text-light) !important;
    transition: all 0.2s ease;
    min-height: auto;
    white-space: normal;
}

.search-result-item:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-left-color: rgba(255, 255, 255, 0.5);
}

.search-result-item .nav-icon {
    font-size: 11px;
    width: 16px;
    margin-right: 8px;
    color: rgba(255, 255, 255, 0.7);
    flex-shrink: 0;
    text-align: center;
}

.search-result-text {
    flex: 1;
    overflow: visible;
    word-wrap: break-word;
    white-space: normal;
}

.search-result-text > div {
    font-weight: 500;
    color: var(--text-light);
    word-wrap: break-word;
}

.search-result-text small {
    font-size: 9px;
    color: rgba(255, 255, 255, 0.6);
    display: block;
    word-wrap: break-word;
    white-space: normal;
    line-height: 1.3;
    overflow-wrap: break-word;
}

#clear-search {
    color: rgba(255, 255, 255, 0.7);
    font-size: 10px;
    padding: 4px 6px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.1);
    border: none;
}

#clear-search:hover {
    color: var(--text-light);
    background: rgba(220, 53, 69, 0.8);
}

.nav-sidebar.search-hidden {
    margin-bottom: 0 !important;
}

.search-no-results {
    text-align: center;
    padding: 20px 12px;
    color: rgba(255, 255, 255, 0.7);
}

.search-no-results i {
    font-size: 16px;
    margin-bottom: 8px;
    color: rgba(255, 255, 255, 0.5);
}

.search-no-results p {
    font-size: 11px;
    margin: 0;
    color: rgba(255, 255, 255, 0.7);
}

/* Stili per l'indicatore di caricamento della ricerca */
.search-loading {
    text-align: center;
    padding: 20px 12px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 12px;
    font-weight: 500;
}

.search-loading i {
    font-size: 14px;
    margin-right: 8px;
    color: rgba(255, 255, 255, 0.8);
}


.autocomplete>div:hover:not(.group),
.autocomplete>div.selected {
    background: #F5F5F5;
    cursor: pointer;
}

.ui-autocomplete-scrollable {
    max-height: 80vh;
    width: 600px;
    overflow-y: auto;
    overflow-x: hidden;
}

.ui-autocomplete a {
    color: inherit;
}

.square {
    width: 18px;
    height: 18px;
    margin: auto;
}

.content-wrapper {
    padding-top: 10px;
}

.content {
    padding: 0 20px !important;
}

.navbar a:hover,
.brand-link:hover,
.alert a,
.alert a:hover,
a:hover,
a:focus {
    text-decoration: none;
}

.no-padding {
    padding: 0;
}

.no-padding-left {
    padding-left: 0px;
}

.box-center {
    width: 600px;
    margin: 7% auto
}

.box-center-large {
    width: 850px;
    margin: 7% auto
}

.card-center-large {
    width: 1000px;
    margin: 7% auto
}

.card-center-medium {
    margin: 0 auto;
}

.box-center .box-body,
.box-center-large .box-body {
    padding: 20px;
    border-top: 0
}

.li-widget a:hover {
    text-decoration: none;
}

.clickable {
    cursor: pointer;
}


/* Mini and tiny loaders moved to the loading indicators section */

body .header .brand-link {
    font-family: inherit;
}

.btn-github {
    color: #ffffff;
    background-color: #444444;
    border-color: rgba(0, 0, 0, 0.2);
}

.navbar-custom-menu>ul>li>a:hover,
.navbar-custom-menu>ul>li>a:focus,
.navbar-custom-menu>ul>li>a:active {
    filter: brightness(75%);
}

.btn-github:active,
.btn-github.active,
.open .dropdown-toggle.btn-github {
    background-image: none;
}

.btn-github.disabled,
.btn-github[disabled],
fieldset[disabled] .btn-github,
.btn-github.disabled:hover,
.btn-github[disabled]:hover,
fieldset[disabled] .btn-github:hover,
.btn-github.disabled:focus,
.btn-github[disabled]:focus,
fieldset[disabled] .btn-github:focus,
.btn-github.disabled:active,
.btn-github[disabled]:active,
fieldset[disabled] .btn-github:active,
.btn-github.disabled.active,
.btn-github[disabled].active,
fieldset[disabled] .btn-github.active {
    background-color: #444444;
    border-color: rgba(0, 0, 0, 0.2);
}

.btn-github .badge {
    color: #444444;
    background-color: #ffffff;
}

span.form-control {
    background: transparent;
    border: none;
}

.form-inline {
    display: inline ;
}

.panel-heading.mini {
    padding: 5px 8px;
}

.dropdown.col-md-3>.dropdown-menu {
    width: 91.5%;
    left: 15px;
    padding: 5px;
}

.input-group-addon {
    padding: 3px 12px;
}

.colorpicker {
    margin-top: 0;
}

#pulsanti {
    position: sticky;
    top: 0;
    z-index: 999;
    background: #f6f6f6;
    line-height: 3;
}



/* ===== UI TOOLTIP STYLES ===== */

.ui-tooltip {
    background: #e0e6eb;
    color: #000000;
    border: 0;
    font-size: 11px;
    z-index: 9990;
    border-radius: 8px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.2);
}

/* ===== SHORTENED TEXT STYLES ===== */

/* Wrapper for shortened text */
.shorten-wrapper,
.request-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

/* Full text display */
.shorten-full,
.request-full {
    word-wrap: break-word;
    white-space: normal;
    max-width: 100%;
    line-height: 1.5;
    margin-bottom: 10px;
}

/* ===== TOOLTIP STYLES ===== */

/* Base tooltip styles */
.tooltipster-shadow {
    border-radius: 8px !important;
    box-shadow: 0 3px 10px rgba(0,0,0,0.2) !important;
    border: none !important;
    background-color: #e0e6eb !important;
}

.tooltipster-shadow .tooltipster-content {
    font-family: inherit !important;
    padding: 8px !important;
    width: 400px !important;
    background-color: #e0e6eb !important;
    color: #000000 !important;
    overflow: hidden !important;
    word-wrap: break-word !important;
    border-radius: 8px !important;
}

.tooltipster-base {
    max-width: 400px !important;
    width: 400px !important;
    z-index: 10000 !important; /* Consistent z-index for all tooltip states */
    background-color: #e0e6eb !important;
    border: none !important;
    border-radius: 8px !important;
}

/* Rimuove i bordi esterni dai tooltip */
.tooltipster-box,
.tooltipster-arrow,
.tooltipster-arrow-border,
.tooltipster-arrow-background {
    border: none !important;
}

/* Rimuove completamente l'ombra inferiore dai tooltip */
.tooltipster-sidetip.tooltipster-shadow .tooltipster-box {
    box-shadow: 0 0 10px rgba(0,0,0,0.2) !important;
    border: none !important;
}

/* Rimuove qualsiasi ombra o bordo dai tooltip */
.tooltipster-sidetip {
    border: none !important;
    box-shadow: none !important;
}

/* Rimuove qualsiasi ombra o bordo inferiore dai tooltip */
.tooltipster-sidetip.tooltipster-shadow .tooltipster-box:after,
.tooltipster-sidetip.tooltipster-shadow .tooltipster-box:before,
.tooltipster-sidetip.tooltipster-shadow:after,
.tooltipster-sidetip.tooltipster-shadow:before,
.tooltipster-sidetip .tooltipster-arrow,
.tooltipster-arrow-border,
.tooltipster-arrow-background {
    display: none !important;
    border: none !important;
    box-shadow: none !important;
    background: none !important;
}

/* Arrotonda i bordi del box del tooltip */
.tooltipster-box {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: none !important;
}

/* Rimuove completamente la freccia del tooltip */
.tooltipster-arrow {
    display: none !important;
}

/* Nasconde le barre di scorrimento */
.tooltipster-content::-webkit-scrollbar {
    display: none !important;
}
.tooltipster-content {
    -ms-overflow-style: none !important;  /* IE and Edge */
    scrollbar-width: none !important;  /* Firefox */
}


/* Tooltip header */
.tooltip-header {
    position: relative;
    padding: 8px;
    background-color: #3c8dbc;
    color: white;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    margin: -8px -8px 8px -8px;
}

.tooltip-header-title {
    font-weight: bold;
    font-size: 14px;
}

/* Login page styles */
.login-page {
    background: linear-gradient(135deg, rgba(245,247,250,1) 0%, rgba(230,233,240,1) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
}

.login-box {
    margin: 0 auto;
}

.card-outline.card-primary {
    border-top: 3px solid #007bff;
    border-radius: 8px;
    overflow: hidden;
}

.form-control-lg {
    border-radius: 4px;
    transition: all 0.3s ease;
}

.form-control-lg:focus {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

.input-group-text {
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}

.btn-primary {
    transition: all 0.3s ease;
}

.login-box-msg {
    font-size: 1.1rem;
}

.is-invalid {
    border-color: #dc3545 !important;
    background-image: url("data:image/svg+xml,%3csvg width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875rem;
    color: #dc3545;
}

@media (max-width: 576px) {
    .login-box {
        width: 90%;
        margin: 0 auto;
    }
}

/* Close button */
.tooltip-close-button {
    position: absolute;
    top: 8px;
    right: 8px;
    cursor: pointer;
    background-color: rgba(255,255,255,0.2);
    color: white;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    text-align: center;
    line-height: 22px;
    transition: background-color 0.3s;
}

.tooltip-close-button:hover {
    background-color: rgba(255,255,255,0.4);
}

/* Tooltip content sections */
.tooltip-info-section {
    margin-bottom: 15px;
    border-bottom: 1px solid #ccc !important;
    padding-bottom: 10px;
}

.tooltip-info-section-noborder {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.tooltip-info-row {
    margin-bottom: 5px;
    display: flex;
    align-items: flex-start;
}

.tooltip-info-label {
    font-weight: bold;
    margin-right: 5px;
    min-width: 120px;
    color: #000000;
}

.tooltip-info-value {
    flex: 1;
}

/* Toggle buttons for shortened text */
.shorten-toggle,
.request-toggle {
    display: inline-block;
    margin: 2px 0 0 0;
    color: #fff;
    background-color: #3c8dbc;
    padding: 4px 10px;
    border-radius: 3px;
    font-weight: bold;
    text-decoration: none;
    position: relative;
    font-size: 12px;
    border: none;
    cursor: pointer;
    width: 100%;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

/* Classi per i wrapper di testo troncato */
.shorten-wrapper {
    margin-bottom: 0;
}

.shorten-text, .request-text {
    display: block;
}

.shorten-full, .request-full {
    display: none;
    margin-bottom: 0;
}

.shorten-toggle:hover,
.request-toggle:hover {
    background-color: #367fa9;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}

.nav-tabs-custom>.nav-tabs.pull-right>li>a.back-btn {
    font-size: 12px;
    color: #FFFFFF;
}

.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a,
.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a,
.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a {
    white-space: normal;
}

.nav-tabs-custom>.nav-tabs.pull-right>li>a.back-btn:hover {
    cursor: pointer;
    color: #72AFD2;
}

.input-searching {
    background: #FFBF91;
}

.deleteicon:hover {
    color: black;
}

.deleteicon {
    color: gray;
    width: 15px;
    height: 15px;
    position: absolute;
    bottom: 19px;
    right: 29px;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.input-group-addon {
    min-width: 40px;
}

.info-box-icon i {
    color: #fff;
}
.progress-description {
    white-space: normal;
    overflow: auto;
    font-size: 1rem;
}

.colorpicker {
    z-index: 1 ;
}

.signature-pad {
    width: 100%;
    height: 100%;
    font-size: 10px;
    border: 1px solid #e8e8e8;
    background-color: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.08) inset;
    border-radius: 4px;
}

.signature-pad:before,
.signature-pad:after {
    content: "";
    width: 40%;
    height: 10px;
    left: 20px;
    bottom: 10px;
    background: transparent;
    -webkit-transform: skew(-3deg) rotate(-3deg);
    -moz-transform: skew(-3deg) rotate(-3deg);
    -ms-transform: skew(-3deg) rotate(-3deg);
    -o-transform: skew(-3deg) rotate(-3deg);
    transform: skew(-3deg) rotate(-3deg);
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.4);
}

.signature-pad:after {
    left: auto;
    right: 20px;
    -webkit-transform: skew(3deg) rotate(3deg);
    -moz-transform: skew(3deg) rotate(3deg);
    -ms-transform: skew(3deg) rotate(3deg);
    -o-transform: skew(3deg) rotate(3deg);
    transform: skew(3deg) rotate(3deg);
}

#canvas {
    width: 100%;
    height: 100%;
    min-height: 202px;
    border-radius: 4px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.02) inset;
}

/* Stili per il modal di controllo database */
.btn-resolve-all {
    margin-bottom: 20px;
}

.table-database {
    width: 100%;
    margin-bottom: 15px;
}

.table-database thead {
    background-color: #f5f5f5 !important;
}

.table-database thead th {
    background-color: #f5f5f5 !important;
    color: #333 !important;
    padding: 6px !important;
    border-bottom: 1px solid #ddd !important;
}

.table-database th,
.table-database td {
    padding: 6px !important;
}

.table-database .column-name {
    width: 30%;
    font-weight: bold;
    vertical-align: middle;
}

.table-database .column-conflict {
    width: 70%;
    font-family: monospace;
    white-space: collapse !important;
}

/* Stile per il nome della tabella */
.modules-aggiornamenti h3 {
    font-size: 1.1em;
    margin-top: 15px;
    margin-bottom: 5px;
    font-weight: 600;
}

.table-title {
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 1.5em;
}

.row-warning td {
    background-color: #fff3cd;
}

.row-info td {
    background-color: #d1ecf1;
}

.row-danger td {
    background-color: #f8d7da;
}

.alert-database {
    margin-top: 15px;
    margin-bottom: 15px;
}

.sidebar-form {
    border-radius: 3px;
    margin: 10px 10px;
}

.sidebar-form input[type="text"],
.sidebar-form .btn {
    border: 1px;
    height: 35px;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.sidebar-form input[type="text"] {
    border-top-left-radius: 2px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 2px;
}

.sidebar-form .btn {
    border-top-left-radius: 0;
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
    border-bottom-left-radius: 0;
}

.swal2-buttonswrapper .btn {
    margin: 5px;
}

/* Enhanced styling for SweetAlert2 elements */
.swal2-title {
    font-size: 18px !important;
    margin-bottom: 15px !important;
    color: #2c3e50 !important;
    border-bottom: 1px solid #eee !important;
    padding-bottom: 10px !important;
}

.swal2-content {
    font-size: 13px !important;
}

.swal2-modal {
    padding: 20px !important;
    border-radius: 8px !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important;
}

/* Make SweetAlert2 modals more visually appealing */
.swal2-popup {
    padding: 0 !important;
}

/* Improve form elements in SweetAlert2 */
.swal2-content input[type="text"],
.swal2-content input[type="date"],
.swal2-content input[type="datetime-local"],
.swal2-content select {
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    padding: 6px 12px !important;
    margin-bottom: 5px !important;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05) !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.swal2-content input[type="text"]:focus,
.swal2-content input[type="date"]:focus,
.swal2-content input[type="datetime-local"]:focus,
.swal2-content select:focus {
    border-color: #3498db !important;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05), 0 0 8px rgba(52,152,219,0.3) !important;
    outline: none !important;
}

/* Style labels in SweetAlert2 */
.swal2-content label {
    font-weight: 600 !important;
    color: #555 !important;
    font-size: 13px !important;
    margin-bottom: 3px !important;
    display: block !important;
}

/* Style the warning icon */
.swal2-icon.swal2-warning {
    border-color: #f39c12 !important;
    color: #f39c12 !important;
}

/* Style the buttons */
.swal2-confirm.btn-warning {
    background-color: #f39c12 !important;
    border-color: #e08e0b !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important;
}

.swal2-confirm.btn-warning:hover {
    background-color: #e08e0b !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
}

.swal2-cancel {
    transition: all 0.2s ease !important;
}

.swal2-cancel:hover {
    background-color: #f5f5f5 !important;
}

/* Improve the appearance of the form sections */
.swal2-content h4 {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #3498db !important;
    margin-top: 20px !important;
    margin-bottom: 10px !important;
}

/* Style the specific form elements in the bulk copy form */
.swal2-content .form-control {
    height: 36px !important;
}

/* Reduce spacing between form groups in SweetAlert2 */
.swal2-content > div {
    margin-bottom: 5px !important;
}

/* Reduce vertical spacing in SweetAlert2 forms */
.swal2-content {
    margin-top: -5px !important;
}

/* Specifically target the spacing between Data/ora richiesta and Stato fields */
.swal2-content label[for="Stato"],
.swal2-content label[for="stato"] {
    margin-top: 0 !important;
}

/* Target the specific fields in the screenshot */
.swal2-content input[name="data"] + label,
.swal2-content input[name="Data/ora richiesta"] + label,
.swal2-content input[type="datetime-local"] + label {
    margin-top: 0 !important;
}

/* Style the "Duplica righe", "Duplica sessioni", etc. labels */
.swal2-content label[for^="Duplica"] {
    font-size: 13px !important;
    color: #444 !important;
    font-weight: 500 !important;
    margin-top: 10px !important;
    margin-bottom: 5px !important;
    display: block !important;
}


/* Personalizzazione del plugin Select2 */

.select2-search,
.select2-search__field {
    width: 100% !important;
}

.select2-results__option[aria-selected=true] {
    display: none
}

.input-group-addon.no-padding {
    border: 0px;
}

.input-group-addon.no-padding>* {
    border-radius: 0px;
}

div.DTS tbody td,
div.DTS tbody th {
    max-width: 500px;
}

input.min-width {
    min-width: 200px;
}

input.small-width {
    min-width: 100px;
}

.pac-container {
    z-index: 1100;
}

.form-control#blob {
    height: auto;
}

.callout a {
    text-decoration: none;
}

.img-circle.square {
    box-shadow: 0px 0px 1px 1px lightgray;
}

.dropdown-menu {
    min-width: 130px;
}

/* Stili per il dropdown delle notifiche */
#hooks .dropdown-item {
    white-space: normal;
    word-wrap: break-word;
    word-break: break-word;
    max-width: 350px;
    min-width: 280px;
    padding: 12px 16px;
    line-height: 1.4;
    border-bottom: 1px solid #eee;
    transition: background-color 0.2s ease;
    color: #333;
}

#hooks .dropdown-item:last-child {
    border-bottom: none;
    border-radius: 0 0 8px 8px;
}

#hooks .dropdown-item:hover {
    background-color: #f6f6f6;
    text-decoration: none;
}

#hooks .dropdown-item a {
    color: inherit;
    text-decoration: none;
    display: block;
}

#hooks .dropdown-item a:hover {
    color: inherit;
    text-decoration: none;
}

/* Stili per il contenuto delle notifiche */
#hooks .dropdown-item .small {
    font-size: 13px;
    line-height: 1.4;
    margin-left: 8px;
    display: inline-block;
    vertical-align: top;
}

#hooks .dropdown-item i {
    font-size: 14px;
    margin-right: 2px;
    vertical-align: top;
    margin-top: 2px;
    flex-shrink: 0;
}

/* Miglioramenti per il dropdown menu delle notifiche */
.navbar-nav .dropdown-menu {
    max-width: 380px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border: 1px solid #ddd;
    padding: 0;
    margin-top: 8px;
    overflow: hidden;
    z-index: 99999 !important;
}

/* Assicura che l'header si estenda per tutta la larghezza */
.navbar-nav .dropdown-menu .btn.dropdown-item {
    border-radius: 0;
    border: none;
    text-align: left;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Stili per l'header del dropdown */
#hooks-header {
    padding: 12px 16px;
    font-size: 12px;
    font-weight: 600;
    color: #333;
    border-bottom: 1px solid #ddd;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    margin: 0;
    text-align: left;
    position: relative;
    border-radius: 8px 8px 0 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    width: 100%;
    box-sizing: border-box;
    display: block;
}



#hooks-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: #ddd;
}

/* Stili per quando non ci sono notifiche */
#hooks-header.no-notifications {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    color: #155724;
}



#hooks-header.no-notifications::after {
    background: #c3e6cb;
}

/* Stili per le icone nell'header */
#hooks-header i {
    font-size: 13px;
    margin-right: 8px;
    opacity: 0.8;
    color: #495057;
    vertical-align: middle;
}

#hooks-header.no-notifications i {
    color: #155724;
    opacity: 1;
}

/* Miglioramenti per il contenitore delle notifiche */
#hooks {
    max-height: 400px;
    overflow-y: auto;
}

#hooks::-webkit-scrollbar {
    width: 6px;
}

#hooks::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

#hooks::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

#hooks::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Stili per il badge delle notifiche */
#hooks-badge {
    font-size: 10px;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    margin-top: -3px;
}

/* Stili per il contenuto delle notifiche migliorato */
.notification-content {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.notification-content i {
    margin-top: 2px;
    flex-shrink: 0;
}

.notification-content .small {
    flex: 1;
    margin-left: 0;
}

.notification-link {
    color: inherit !important;
    text-decoration: none !important;
}

.notification-link:hover {
    color: inherit !important;
    text-decoration: none !important;
}

/* Stili per la barra di progresso nelle notifiche */
#hooks .progress {
    background-color: #e9ecef;
    border-radius: 2px;
    overflow: hidden;
}

#hooks .progress-bar {
    background-color: #007bff;
    transition: width 0.3s ease;
}

#hooks .progress-text {
    text-align: center;
    font-size: 11px;
    color: #666;
    margin-top: 4px;
}

/* Stili responsive per le notifiche */
@media (max-width: 768px) {
    .navbar-nav .dropdown-menu {
        max-width: 320px;
        left: -280px !important;
        right: 10px !important;
    }

    #hooks-header {
        padding: 10px 12px;
        font-size: 11px;
    }

    #hooks .dropdown-item {
        max-width: 300px;
        min-width: 250px;
        padding: 10px 12px;
        font-size: 12px;
    }

    #hooks .dropdown-item .small {
        font-size: 12px;
    }

    #hooks .dropdown-item i {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .navbar-nav .dropdown-menu {
        max-width: 280px;
        left: -240px !important;
    }

    #hooks-header {
        padding: 8px 10px;
        font-size: 10px;
    }

    #hooks .dropdown-item {
        max-width: 260px;
        min-width: 220px;
        padding: 8px 10px;
    }
}

.select2-dropdown {
    z-index: 2000;
}

.input-group-text > .btn{
    line-height: 1px;
}

.hide-it-off-screen {
    position: absolute;
    left: -10000px;
    top: -10000px;
}

.box-info ul>li> :last-child {
    margin-bottom: 5px;
}

.row {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: unset;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}

.request .morelink {
    color: #fff;
    font-weight: bold;
}

/* Component loader moved to the loading indicators section */

.btn-group-flex {
    display: flex;
}

.btn-group-flex .btn {
    flex: 1
}

/* Interventi da pianificare in Dashboard */

#external-events .fc-event {
    margin-top: 10px;
    padding: 10px;
    cursor: pointer;
}

.fc-event.fc-h-event,
.fc-event.fc-v-event {
    border-top-width: 10px;
    border-style: solid;
}

.fc-daygrid-dot-event {
    padding: 0;
}

.fc-event-primary {
    background-color: #3a87ad;
    border: 1px solid #3a87ad;
    color:white;
}

.fc-event-danger {
    background-color: #dd4b46;
    border: 1px solid #dd4b46;
    color: white;
}

.fc-event .fc-event-main {
    overflow: hidden;
}

/* Fix per tabs editor */

.nav-tabs-custom>.nav-tabs>li {
    border-top: 3px solid #ddd;
}

.nav-tabs-custom>.nav-tabs.pull-right>li:first-of-type.active>a {
    border-right-color: #f4f4f4;
    border-right-width: 1px;
    border-left-width: 0px;
}

.nav-tabs-custom>.nav-tabs>li.header {
    padding: 0px;
}

.nav-tabs-custom>.nav-tabs>li {
    margin-bottom: -1px;
    margin-right: 0px;
}

.ui-autocomplete {
    background: #f6f6f6;
    border-color: #ccc;
    border-color: rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
}

.ui-menu .ui-menu-item-wrapper {
    padding: 3px 1em 3px .4em;
    cursor: pointer;
}

.ui-menu .ui-menu-item-wrapper:hover {
    border: 1px solid #003eff;
    background: #007fff;
    font-weight: 400;
    color: #fff;
}

.parsley-errors-list {
    color: red;
}


/** TIMELINE */

.timeline {
    list-style: none;
    padding: 20px 0 20px;
    position: relative;
}

.timeline:before {
    top: 0;
    bottom: 0;
    position: absolute;
    content: " ";
    width: 3px;
    background-color: #eeeeee;
    left: 50%;
    margin-left: -4.5px;
}

.timeline>li {
    margin-bottom: 20px;
    position: relative;
}

.timeline>li:before,
.timeline>li:after {
    content: " ";
    display: table;
}

.timeline>li:after {
    clear: both;
}

.timeline>li:before,
.timeline>li:after {
    content: " ";
    display: table;
}

.timeline>li:after {
    clear: both;
}

.timeline>li>.timeline-panel {
    width: 50%;
    float: left;
    border: 1px solid #d4d4d4;
    border-radius: 2px;
    padding: 20px;
    position: relative;
    -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
}

.timeline>li.timeline-inverted+li:not(.timeline-inverted),
.timeline>li:not(.timeline-inverted)+li.timeline-inverted {
    margin-top: -60px;
}

.timeline>li:not(.timeline-inverted) {
    padding-right: 90px;
}

.timeline>li.timeline-inverted {
    padding-left: 90px;
}

.timeline>li>.timeline-panel:before {
    position: absolute;
    top: 26px;
    right: -15px;
    display: inline-block;
    border-top: 15px solid transparent;
    border-left: 15px solid #ccc;
    border-right: 0 solid #ccc;
    border-bottom: 15px solid transparent;
    content: " ";
}

.timeline>li>.timeline-panel:after {
    position: absolute;
    top: 27px;
    right: -14px;
    display: inline-block;
    border-top: 14px solid transparent;
    border-left: 14px solid #fff;
    border-right: 0 solid #fff;
    border-bottom: 14px solid transparent;
    content: " ";
}

.timeline>li>.timeline-badge {
    color: #fff;
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 1.4em;
    text-align: center;
    position: absolute;
    top: 16px;
    left: 50%;
    margin-left: -25px;
    background-color: #999999;
    z-index: 100;
    border-top-right-radius: 50%;
    border-top-left-radius: 50%;
    border-bottom-right-radius: 50%;
    border-bottom-left-radius: 50%;
}

.timeline>li.timeline-inverted>.timeline-panel {
    float: right;
}

.timeline>li.timeline-inverted>.timeline-panel:before {
    border-left-width: 0;
    border-right-width: 15px;
    left: -15px;
    right: auto;
}

.timeline>li.timeline-inverted>.timeline-panel:after {
    border-left-width: 0;
    border-right-width: 14px;
    left: -14px;
    right: auto;
}

.timeline-title {
    margin-top: 0;
    color: inherit;
}

.timeline-body>p,
.timeline-body>ul {
    margin-bottom: 0;
}

.timeline-body>p+p {
    margin-top: 5px;
}

/** TIMELINE SMALL (OPERATIONS) */

/* Timeline container */
.timeline-sm {
    position: relative;
    padding: 0;
    margin: 0;
    list-style: none;
}

/* Vertical line */
.timeline-sm:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 16px;
    width: 3px;
    background: #e0e6eb;
    border-radius: 3px;
}

/* Date labels */
.timeline-sm .time-label {
    position: relative;
    margin: 25px 0 15px 35px;
    z-index: 1;
}

.timeline-sm .time-label span {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* Timeline items */
.timeline-sm > div {
    position: relative;
    margin-bottom: 15px;
}

/* Icon in circle */
.timeline-sm > div > i {
    position: absolute;
    left: 0;
    top: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    text-align: center;
    line-height: 34px;
    color: #fff;
    font-size: 16px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Timeline item content */
.timeline-sm .timeline-item {
    margin-left: 50px;
    padding: 15px;
    border-radius: 6px;
    background: #fff;
    position: relative;
    transition: all 0.2s ease;
    border: 1px solid #e9ecef;
}

/* Time display */
.timeline-sm .timeline-item .time {
    float: right;
    color: #6c757d;
    margin-top: -2px;
}

/* Header */
.timeline-sm .timeline-header {
    margin: 0 0 10px;
    padding: 0;
    color: #495057;
    font-size: 14px;
    line-height: 1.4;
}

/* Body content */
.timeline-sm .timeline-body {
    padding: 10px 0 5px;
}

/* User info */
.timeline-sm .timeline-body .d-flex {
    margin-bottom: 8px;
}

.timeline-sm .timeline-body .d-flex .mr-3 {
    display: flex;
    align-items: center;
    background-color: #f8f9fa;
    padding: 5px 10px;
    border-radius: 4px;
    font-weight: 500;
}

.timeline-sm .timeline-body .d-flex .mr-3 i {
    margin-right: 6px;
}

/* Operation details */
.timeline-sm .timeline-body .text-muted {
    background-color: #f8f9fa;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.5;
}

.timeline-sm .timeline-body .text-muted span {
    margin-right: 8px;
    white-space: nowrap;
}

.timeline-sm .timeline-body .text-muted span b {
    color: #495057;
    font-weight: 600;
}

/* End of timeline marker */
.timeline-sm > div:last-child i.bg-gray {
    background-color: #adb5bd !important;
}

.timeline-sm > div:last-child .timeline-item {
    background-color: #f8f9fa;
}


/* Checklist */

.todo-list ul {
    list-style: none;
    margin-left: 11px;
}

.progress {
    position: relative;
}

.progress .progress-bar {
    position: relative;
    z-index: 1;
}

.progress .progress-bar span {
    color: #000;
    z-index: 1;
}

.progress span.progress-percentage {
    position: absolute;
    display: inline-block;
    width: 100%;
    text-align: center;
    left: 0;
    top: 0;
    z-index: 2;
}

.attachment-img {
    max-width: 20px;
    max-height: 20px;
}

.has-feedback .form-control {
    padding-right: 6px;
}

.direct-chat-text img {
    max-width: 100%;
}


/* Dropzone */

.dropzone {
    border: 2px dashed #337ab7;
    border-radius: 5px;
    background: white;
    margin-top: 10px;
}

.dropzone .dz-message {
    font-weight: 400;
}

.dropzone .dz-message .note {
    font-size: 0.8em;
    font-weight: 200;
    display: block;
    margin-top: 1.4rem;
}


/** Fix tooltip per elementi disabilitati. */

div.tip {
    display: inline-block;
}

.disabled {
    pointer-events: none
}


/* Fancy checkbox: https://bootsnipp.com/snippets/M2bda */

.checkbox-group input[type="checkbox"] {
    display: none;
}

.checkbox-group input[type="checkbox"]+.btn-group {
    width: 100%;
    display: flex;
    overflow: auto;
}

.checkbox-group input[type="checkbox"]+.btn-group label:last-child {
    flex-grow: 100;
}

.checkbox-group input[type="checkbox"]+.btn-group>label span:first-child {
    display: none;
}

.checkbox-group input[type="checkbox"]+.btn-group>label span:last-child {
    display: inline-block;
}

.checkbox-group input[type="checkbox"]:checked+.btn-group>label span:first-child {
    display: inline-block;
}

.checkbox-group input[type="checkbox"]:checked+.btn-group>label span:last-child {
    display: none;
}


/* Sidebar destra per i plugin */

.control-sidebar{
    top: 0;
    padding-top: 50px;
    transition: all 0.3s ease;
    right: -200px;
    z-index: 1020; /* Z-index sotto la navbar (1030) per evitare sovrapposizioni con il menu superiore */
}

.control-sidebar-open {
    right: 0 !important;
}

.control-sidebar > h4 {
    font-size: 12px;
    padding-left: 14px;
    text-transform: uppercase;
    color: #888;
}


.control-sidebar > ul {
    display: block;
}

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

/* Loading specificato per un div */
.local-loader {
    position: relative;
    width: 100%;
    height: 0
}

.local-loader>div {
    position: absolute;
    top: 0px;
    z-index: 2;
    opacity: 0.5;
    width: 100%
}

.div-loading {
    opacity: 0.5;
}

.login-box .img-responsive {
    padding: 18px 0px 4px;
}

.no-selection {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.table-extra-condensed>thead>tr>th,
.table-extra-condensed>tbody>tr>th,
.table-extra-condensed>tfoot>tr>th,
.table-extra-condensed>thead>tr>td,
.table-extra-condensed>tbody>tr>td,
.table-extra-condensed>tfoot>tr>td {
    padding: 2px;
}

.table {
    padding: .5 rem !important;
}

table.dataTable {
    border-collapse: collapse !important;
}

.row-list .form-group {
    margin-bottom: 0px;
}

/*
* Colore help icon
*/
.tip.tooltipstered>.fa-question-circle-o {
    color: dodgerblue;
}

.tooltipster-box ul{
    list-style: none;
}

/*
* Colore testo btn-box-tool
*/
.btn-box-tool {
    color: #2e2e2e;
    padding-left: 100px;
}

.btn-box-tool:hover {
    color: #000000;
}

.select2-container--bootstrap4{
    display: block;
    flex: 1 1 auto;
    width: 85% !important;
}

.card-lg{
    width: 100%;
}

.select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field {
    height: 23px;
    padding: 3px 12px;
    margin-top: 4px;
}

.select2-container--bootstrap4 .select2-selection__clear {
    padding-left: 0.21em;
    padding-top: 0.05em;
}

/* Smaller font for select2 placeholder, selected values and dropdown options */
.select2-selection__placeholder,
.select2-selection__rendered,
.select2-results__option {
    font-size: 13px !important;
}

/* Stili per le opzioni disabilitate nei select */
.select2-results__option[aria-disabled="true"] {
    color: #777777 !important;
    background-color: #f5f5f5 !important;
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

.select2-container--bootstrap4 .select2-results__option--highlighted > a {
    color: #fff;
}

.btn-group>.btn-xs>input[type="checkbox"], .label>input[type="checkbox"] {
    margin: 2px 0px;
}

/*
* Colore eventi fullcalendar
*/
.fc .fc-bg-event {
    background: rgba(255, 49, 21, .3);
}

kbd{
    background: #ccc;
    color: #333;
    font-size: 1.3em;
    padding: 6px 8px;
    display: inline-block;
    margin: 1px;
}

.read-more-target {
    display: none;
}

.read-more-trigger {
    cursor: pointer;
}

.read-more-target:target {
    display: block;
}

.fc-day-today {
    background:#fafad2;
}

.notifica-prezzi {
    position: absolute;
    color: #ff8300;
    z-index: 10;
}

/* Stili per le icone di stato nella card centrale dell'header */
.status-item {
    transition: all 0.3s ease;
    border-radius: 6px;
}

.status-icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.status-icon i {
    font-size: 12px;
}

.status-text {
    font-weight: normal;
}

/* Stili specifici per ciascuna icona */
.insoluti-item:hover .badge-danger {
    background-color: #dc3545;
}

.insoluti-item:hover .badge-success {
    background-color: #28a745;
}

.attivita-item:hover .badge-warning {
    background-color: #ffc107;
}

.attivita-item:hover .badge-success {
    background-color: #28a745;
}

.contratto-item:hover .badge-info,
.preventivo-item:hover .badge-info,
.ordine-item:hover .badge-info {
    background-color: #17a2b8;
}

/* Effetto hover per i pulsanti delle attività */
.btn-outline-primary.btn-sm:hover {
    color: white !important;
}

.btn-outline-primary.btn-sm:hover .badge-light {
    color: white !important;
}

/* Effetto hover per cambiare il testo in bianco */
.btn-outline-primary.btn-sm:hover,
.btn-outline-primary.btn-sm:hover span,
.btn-outline-primary.btn-sm:hover i {
    color: white !important;
}

.login-box .form-control-feedback{
    pointer-events: all;
}

.login-page{
    background: #ccc;
    background: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(229,229,229,1) 34%, rgba(204,204,204,1) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
}

.icon{
    width: 15px;
    height: 15px;
    line-height: 30px;
    border-radius: 15px;
    margin-top: 3px;
    box-shadow: 0px 0px 1px black;
}

/* ===== THEME COLOR VARIABLES ===== */
:root {
    --green-theme: #3a9a5d;
    --green-theme-dark: #2d7a4a;
    --green-theme-light: rgba(58, 154, 93, 0.15);
    --green-theme-hover: rgba(58, 154, 93, 0.08);

    --blue-theme: #4285b4;
    --blue-theme-dark: #356d96;
    --blue-theme-light: rgba(66, 133, 180, 0.15);
    --blue-theme-hover: rgba(66, 133, 180, 0.08);

    --red-theme: #c45559;
    --red-theme-dark: #a64448;
    --red-theme-light: rgba(196, 85, 89, 0.15);
    --red-theme-hover: rgba(196, 85, 89, 0.08);

    --yellow-theme: #e6b54c;
    --yellow-theme-dark: #c99a3c;
    --yellow-theme-light: rgba(230, 181, 76, 0.15);
    --yellow-theme-hover: rgba(230, 181, 76, 0.08);

    --purple-theme: #7e5c9e;
    --purple-theme-dark: #664b80;
    --purple-theme-light: rgba(126, 92, 158, 0.15);
    --purple-theme-hover: rgba(126, 92, 158, 0.08);

    --info-theme: #5a9aa6;
    --info-theme-dark: #477d87;
    --info-theme-light: rgba(90, 154, 166, 0.15);
    --info-theme-hover: rgba(90, 154, 166, 0.08);

    --black-theme: #3c4045;
    --black-theme-dark: #2d3136;
    --black-theme-light: rgba(60, 64, 69, 0.15);
    --black-theme-hover: rgba(60, 64, 69, 0.08);

    --text-dark: #2d3033;
    --text-medium: #5a5f64;
    --text-light: #f8f9fa;
    --text-muted: #7d8186;

    --bg-light: #ffffff;
    --bg-hover: rgba(255, 255, 255, 0.12);
    --bg-active: rgba(255, 255, 255, 0.85);
    --bg-active-semi: rgba(255, 255, 255, 0.65);

    --btn-sidebar: #e2e4e6;
}

/* Sidebar green */
.main-sidebar.bg-green {
    background-color: var(--green-theme) !important;
}

.main-sidebar.bg-green .nav-link {
    color: var(--text-light);
}

.main-sidebar.bg-green .nav-link.active {
    color: var(--text-medium);
    background-color: var(--bg-active);
}

.main-sidebar.bg-green .nav-link:not(.active):hover {
    color: var(--text-light);
    background-color: var(--bg-hover);
}

.main-sidebar.bg-green .nav-item.menu-open > .nav-link.active {
    background-color: var(--bg-active-semi);
}

.main-sidebar.bg-green .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-green .user-panel .info > a {
    color: var(--text-light);
}

.main-sidebar.bg-green .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar green-light */
.main-sidebar.bg-green-light {
    background-color: var(--bg-light);
}

.main-sidebar.bg-green-light .nav-link {
    color: var(--text-medium);
}

.main-sidebar.bg-green-light .nav-link.active {
    color: var(--text-light);
    background-color: var(--green-theme);
}

.main-sidebar.bg-green-light .nav-link:not(.active):hover {
    color: var(--text-medium);
    background-color: var(--green-theme-light);
}

.main-sidebar.bg-green-light .nav-item.menu-open > .nav-link.active {
    background-color: rgba(58, 154, 93, 0.65);
}

.main-sidebar.bg-green-light .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-green-light .user-panel .info > a {
    color: var(--text-medium);
}

.main-sidebar.bg-green-light .user-panel .image > i {
    color: var(--text-medium);
}

.main-sidebar.bg-green-light .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar blue */
.main-sidebar.bg-blue {
    background-color: var(--blue-theme) !important;
}

.main-sidebar.bg-blue .nav-link {
    color: var(--text-light);
}

.main-sidebar.bg-blue .nav-link.active {
    color: var(--text-medium);
    background-color: var(--bg-active);
}

.main-sidebar.bg-blue .nav-link:not(.active):hover {
    color: var(--text-light);
    background-color: var(--bg-hover);
}

.main-sidebar.bg-blue .nav-item.menu-open > .nav-link.active {
    background-color: var(--bg-active-semi);
}

.main-sidebar.bg-blue .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-blue .user-panel .info > a {
    color: var(--text-light);
}

.main-sidebar.bg-blue .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar blue-light */
.main-sidebar.bg-blue-light {
    background-color: var(--bg-light);
}

.main-sidebar.bg-blue-light .nav-link {
    color: var(--text-medium);
}

.main-sidebar.bg-blue-light .nav-link.active {
    color: var(--text-light);
    background-color: var(--blue-theme);
}

.main-sidebar.bg-blue-light .nav-link:not(.active):hover {
    color: var(--text-medium);
    background-color: var(--blue-theme-light);
}

.main-sidebar.bg-blue-light .nav-item.menu-open > .nav-link.active {
    background-color: rgba(66, 133, 180, 0.65);
}

.main-sidebar.bg-blue-light .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-blue-light .user-panel .info > a {
    color: var(--text-medium);
}

.main-sidebar.bg-blue-light .user-panel .image > i {
    color: var(--text-medium);
}

.main-sidebar.bg-blue-light .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar black */
.main-sidebar.bg-black {
    background-color: var(--black-theme) !important;
}

.main-sidebar.bg-black .nav-link {
    color: var(--text-light);
}

.main-sidebar.bg-black .nav-link.active {
    color: var(--text-medium);
    background-color: var(--bg-active);
}

.main-sidebar.bg-black .nav-link:not(.active):hover {
    color: var(--text-light);
    background-color: var(--bg-hover);
}

.main-sidebar.bg-black .nav-item.menu-open > .nav-link.active {
    background-color: var(--bg-active-semi);
}

.main-sidebar.bg-black .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-black .user-panel .info > a {
    color: var(--text-light);
}

.main-sidebar.bg-black .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar black-light (white) */
.main-sidebar.bg-black-light {
    background-color: var(--bg-light);
}

.main-sidebar.bg-black-light .nav-link {
    color: var(--text-medium);
}

.main-sidebar.bg-black-light .nav-link.active {
    color: var(--text-dark);
    background-color: var(--black-theme-light);
}

.main-sidebar.bg-black-light .nav-link:not(.active):hover {
    color: var(--text-light);
    background-color: var(--black-theme-hover);
}

.main-sidebar.bg-black-light .nav-item.menu-open > .nav-link.active {
    color: var(--text-light);
    background-color: var(--black-theme-dark);
}

.main-sidebar.bg-black-light .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-black-light .user-panel .info > a {
    color: var(--text-dark);
}

.main-sidebar.bg-black-light .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar red */
.main-sidebar.bg-red {
    background-color: var(--red-theme) !important;
}

.main-sidebar.bg-red .nav-link {
    color: var(--text-light);
}

.main-sidebar.bg-red .nav-link.active {
    color: var(--text-medium);
    background-color: var(--bg-active);
}

.main-sidebar.bg-red .nav-link:not(.active):hover {
    color: var(--text-light);
    background-color: var(--bg-hover);
}

.main-sidebar.bg-red .nav-item.menu-open > .nav-link.active {
    background-color: var(--bg-active-semi);
}

.main-sidebar.bg-red .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-red .user-panel .info > a {
    color: var(--text-light);
}

.main-sidebar.bg-red .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar red-light */
.main-sidebar.bg-red-light {
    background-color: var(--bg-light);
}

.main-sidebar.bg-red-light .nav-link {
    color: var(--text-medium);
}

.main-sidebar.bg-red-light .nav-link.active {
    color: var(--text-light);
    background-color: var(--red-theme);
}

.main-sidebar.bg-red-light .nav-link:not(.active):hover {
    color: var(--text-medium);
    background-color: var(--red-theme-light);
}

.main-sidebar.bg-red-light .nav-item.menu-open > .nav-link.active {
    background-color: rgba(196, 85, 89, 0.65);
}

.main-sidebar.bg-red-light .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-red-light .user-panel .info > a {
    color: var(--text-medium);
}

.main-sidebar.bg-red-light .user-panel .image > i {
    color: var(--text-medium);
}

.main-sidebar.bg-red-light .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar yellow */
.main-sidebar.bg-yellow {
    background-color: var(--yellow-theme) !important;
}

.main-sidebar.bg-yellow .nav-link {
    color: var(--text-dark);
}

.main-sidebar.bg-yellow .nav-link.active {
    color: var(--text-medium);
    background-color: var(--bg-active);
}

.main-sidebar.bg-yellow .nav-link:not(.active):hover {
    color: var(--text-light);
    background-color: var(--bg-hover);
}

.main-sidebar.bg-yellow .nav-item.menu-open > .nav-link.active {
    background-color: var(--bg-active-semi);
}

.main-sidebar.bg-yellow .brand-link {
    background-color: var(--text-dark);
}

.main-sidebar.bg-yellow .user-panel .info > a {
    color: var(--text-dark);
}

.main-sidebar.bg-yellow .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar yellow-light */
.main-sidebar.bg-yellow-light {
    background-color: var(--bg-light);
}

.main-sidebar.bg-yellow-light .nav-link {
    color: var(--text-medium);
}

.main-sidebar.bg-yellow-light .nav-link.active {
    color: var(--text-light);
    background-color: var(--yellow-theme);
}

.main-sidebar.bg-yellow-light .nav-link:not(.active):hover {
    color: var(--text-medium);
    background-color: var(--yellow-theme-light);
}

.main-sidebar.bg-yellow-light .nav-item.menu-open > .nav-link.active {
    background-color: rgba(230, 181, 76, 0.65);
}

.main-sidebar.bg-yellow-light .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-yellow-light .user-panel .info > a {
    color: var(--text-medium);
}

.main-sidebar.bg-yellow-light .user-panel .image > i {
    color: var(--text-medium);
}

.main-sidebar.bg-yellow-light .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar purple */
.main-sidebar.bg-purple {
    background-color: var(--purple-theme) !important;
}

.main-sidebar.bg-purple .nav-link {
    color: var(--text-light);
}

.main-sidebar.bg-purple .nav-link.active {
    color: var(--text-medium);
    background-color: var(--bg-active);
}

.main-sidebar.bg-purple .nav-link:not(.active):hover {
    color: var(--text-light);
    background-color: var(--bg-hover);
}

.main-sidebar.bg-purple .nav-item.menu-open > .nav-link.active {
    background-color: var(--bg-active-semi);
}

.main-sidebar.bg-purple .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-purple .user-panel .info > a {
    color: var(--text-light);
}

.main-sidebar.bg-purple .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar purple-light */
.main-sidebar.bg-purple-light {
    background-color: var(--bg-light);
}

.main-sidebar.bg-purple-light .nav-link {
    color: var(--text-medium);
}

.main-sidebar.bg-purple-light .nav-link.active {
    color: var(--text-light);
    background-color: var(--purple-theme);
}

.main-sidebar.bg-purple-light .nav-link:not(.active):hover {
    color: var(--text-medium);
    background-color: var(--purple-theme-light);
}

.main-sidebar.bg-purple-light .nav-item.menu-open > .nav-link.active {
    background-color: rgba(126, 92, 158, 0.65);
}

.main-sidebar.bg-purple-light .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-purple-light .user-panel .info > a {
    color: var(--text-medium);
}

.main-sidebar.bg-purple-light .user-panel .image > i {
    color: var(--text-medium);
}

.main-sidebar.bg-purple-light .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar info */
.main-sidebar.bg-info {
    background-color: var(--info-theme) !important;
}

.main-sidebar.bg-info .nav-link {
    color: var(--text-light);
}

.main-sidebar.bg-info .nav-link.active {
    color: var(--text-medium);
    background-color: var(--bg-active);
}

.main-sidebar.bg-info .nav-link:not(.active):hover {
    color: var(--text-light);
    background-color: var(--bg-hover);
}

.main-sidebar.bg-info .nav-item.menu-open > .nav-link.active {
    background-color: var(--bg-active-semi);
}

.main-sidebar.bg-info .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-info .user-panel .info > a {
    color: var(--text-light);
}

.main-sidebar.bg-info .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Sidebar info-light */
.main-sidebar.bg-info-light {
    background-color: var(--bg-light);
}

.main-sidebar.bg-info-light .nav-link {
    color: var(--text-medium);
}

.main-sidebar.bg-info-light .nav-link.active {
    color: var(--text-light);
    background-color: var(--info-theme);
}

.main-sidebar.bg-info-light .nav-link:not(.active):hover {
    color: var(--text-medium);
    background-color: var(--info-theme-light);
}

.main-sidebar.bg-info-light .nav-item.menu-open > .nav-link.active {
    background-color: rgba(90, 154, 166, 0.65);
}

.main-sidebar.bg-info-light .brand-link {
    background-color: var(--bg-light);
}

.main-sidebar.bg-info-light .user-panel .info > a {
    color: var(--text-medium);
}

.main-sidebar.bg-info-light .user-panel .image > i {
    color: var(--text-medium);
}

.main-sidebar.bg-info-light .sidebar .btn-sidebar {
    background: var(--btn-sidebar);
}

/* Default sidebar background */
.main-sidebar {
    background-color: var(--bg-light);
}

/* Dark sidebar */
.main-sidebar.sidebar-dark-secondary {
    background-color: var(--black-theme) !important;
}

/* Black sidebar (same as dark) */
.main-sidebar.bg-black {
    background-color: var(--black-theme) !important;
}

.container {
    padding: 20px;
}

.conto3 {
    font-size: 1rem;
}

h5 {
    font-size: 1rem;
}

body:not(.sidebar-collapse) .sidebar .nav-treeview .nav-link {
    margin-left: 15px;
    width: auto;
}

body:not(.sidebar-collapse) .sidebar .nav-treeview .nav-treeview .nav-link {
    margin-left: 30px;
    width: auto;
}

.nav-sidebar {
    text-align: left;
}

/* Aggiunge spazio sotto l'ultimo elemento del menu principale (esclude i risultati della ricerca) */
nav .nav-sidebar:not(.search-results-list) > .nav-item:last-child {
    margin-bottom: 200px;
}

/* Stili per il menu con sottomenu */
.nav-sidebar .menu-text {
    cursor: pointer;
    display: inline;
    padding: 2px 4px;
    border-radius: 3px;
    transition: background-color 0.2s ease;
}

.nav-sidebar > .nav-item {
    position: static;
}

/* Estende l'area cliccabile del link fino alla freccia */
.nav-sidebar .nav-link[data-has-submenu="true"] {
    cursor: pointer;
    position: relative;
}

/* Menu che sono solo contenitori (senza link) - cursore normale */
.nav-sidebar .nav-link[data-widget="treeview"]:not([data-has-submenu="true"]) {
    cursor: default;
    pointer-events: none; /* Disabilita completamente i click sui menu contenitori */
}

/* Riabilita i click solo sulla freccia per i menu contenitori */
.nav-sidebar .nav-link[data-widget="treeview"]:not([data-has-submenu="true"]) .fa-angle-left {
    pointer-events: auto;
}

/* Aumenta l'area cliccabile della freccia */
.nav-sidebar .nav-link[data-widget="treeview"] .fa-angle-left {
    padding: 8px;
    margin: -8px;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.nav-sidebar .nav-link[data-widget="treeview"] .fa-angle-left:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Rotazione dell'icona freccia quando il menu è aperto */
.nav-sidebar .nav-item.menu-open > .nav-link[data-widget="treeview"] .fa-angle-left {
    transform: rotate(-90deg);
    transition: transform 0.3s ease;
}

/* Transizione per l'icona freccia quando il menu è chiuso */
.nav-sidebar .nav-link[data-widget="treeview"] .fa-angle-left {
    transition: transform 0.3s ease;
}

.hide, .hidden{
    display: none;
}

.with-control-sidebar {
    margin-right: 200px;
    transition: margin-right 0.3s ease;
}

section.content, .main-footer {
    transition: margin-right 0.3s ease;
}

.control-sidebar-open {
    right: 0;
    display: block;
    width: 200px;
}

.control-sidebar.control-sidebar-open,
.control-sidebar.control-sidebar-open+.control-sidebar-bg {
    right: 0;
}

/* Stile per il pulsante della barra dei plugin - Sostituito da nuove classi alla fine del file */
.control-sidebar-button{
    position: fixed;
    right: 0px;
    padding: 10px 12px;
    z-index: 1000; /* Z-index ridotto per essere sotto le notifiche */
    cursor: pointer;
    background: #fff;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    border-left: 1px solid #e9ecef;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Stili per il pulsante della barra dei plugin - Sostituiti da nuove classi alla fine del file */
.control-sidebar-button:hover {
    background-color: #f8f9fa;
    box-shadow: 0 3px 8px rgba(0,0,0,0.2);
}

.control-sidebar-button i {
    color: #3c8dbc;
    font-size: 14px;
    transition: all 0.3s ease;
}

.control-sidebar-button:hover i {
    color: #2c6f9d;
}

.control-sidebar-button.with-control-sidebar {
    background-color: #f8f9fa;
}

.dropdown-menu {
    z-index: 99999;
}

.module-header p{
    margin: 3px 0;
}

.module-header h3,
.module-header h4,
.module-header h5{
    margin: 4px 0;
}

.round-16{
    border-radius: 16px;
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: middle;
}

.module-header .separator{
    color: #ccc;
    padding: 0 5px;
}

.fullscreen-icon {
	background-image: url('../img/leaflet/icon-fullscreen.svg');
}

.leaflet-control-layers-toggle {
    background-image: url('../img/leaflet/layers.png');
}

/** Rimozione avviso CKEditor temporanea **/
.cke_notification_warning{
    display:none !important;
}

/** Fix per stile tema bootstrap-datetimepicker **/
.bootstrap-datetimepicker-widget table td,
.bootstrap-datetimepicker-widget table th{
    padding: 0 !important;
    border: none !important;
}

/** Styles for the modal dialog within a large modal **/
@media screen and (min-width: 576px) {
    .large-modal .modal-dialog {
        width: 98%;
        max-width: 98%;
    }
}

@media screen and (min-width: 1920px) {
    .large-modal .modal-dialog {
        width: 70%;
        max-width: 70%;
    }
}

.modal-body {
    padding: 15px 20px;
}

.modal-header {
    padding: 15px 20px;
}

.modal-footer{
    padding: 15px 20px;
}

.modal-footer .btn:last-child {
    margin-right: -30px;
}

/** Grigio chiaro per voci plugin non disponibili **/
.btn-default.disabled a{
    color: #bdbdbd;
}

/** Fix pulsanti extra per la scheda del modulo **/
@media screen and (max-width: 1920px) {
    .extra-buttons{
        padding-top: 10px;
    }
}

@media screen and (min-width: 1440px) {
    .extra-buttons{
        padding-top: 0;
        float: right;

    }
}

@media screen and (max-width: 1080px) {
    .table {
        width: 1080px;
    }
}

.info-active ul.list{
    list-style: none;
}

.readmore{
    overflow: hidden;
}

.fc-event-title {
    color: red;
    font-weight: bold;
}

.fc-event {
    opacity:1 !important;
}

/* Spostamento breadcrumb per evitare sovrapposizione con l'indicatore del plugin sidebar */
.breadcrumb.float-sm-right {
    padding-right: 50px; /* Aggiunto spazio a destra per evitare sovrapposizione con l'indicatore del plugin sidebar */
}

/* Improved styling for unpaid items and open activities */
.badge-danger i.fa, .badge-success i.fa, .badge-warning i.fa {
    font-size: 14px;
}

/* Remove bold formatting from activity status text */
.font-weight-bold {
    font-weight: normal !important;
}

/* Activity buttons hover effect */
.btn-outline-primary.btn-sm:hover {
    background-color: #007bff;
    color: white !important;
}

.btn-outline-primary.btn-sm:hover i,
.btn-outline-primary.btn-sm:hover .badge {
    color: white !important;
}

.btn-outline-primary.btn-sm:hover .badge-light {
    background-color: rgba(255, 255, 255, 0.2) !important;
}

@media screen and (max-width: 767px) {
    .navbar-left {
        display: inline-block;
    }

    .navbar-left ul>li:last-child {
        display: none;
    }

    .box-center,
    .box-center-large {
        width: 90%;
        margin-top: 20px
    }

    .main-header .brand-link {
        display: none;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .signature-pad {
        margin: 10%;
    }

    .btn-group .dropdown-menu-right {
    transform: none !important;
    top: 40px !important;
    }

}

@media screen and (max-width: 992px) {

    .table-bordered>thead>tr>th,
    .table-bordered>tbody>tr>th,
    .table-bordered>tfoot>tr>th,
    .table-bordered>thead>tr>td,
    .table-bordered>tbody>tr>td,
    .table-bordered>tfoot>tr>td {
        word-break: break-all;
    }
}

@media screen and (max-width: 1024px) {
    .push {
        position: static;
    }

    .signature-pad {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: auto;
        height: auto;
        min-width: 250px;
        min-height: 140px;
        margin: 5%;
    }

    .login-page{
        background: #ddd;
    }
}


@media (min-width: 1140px) {
    .modal-lg {
        max-width: 60vw;
    }
}


/*
* Component: Sidebar Mini
*/

@media (min-width: 768px) {

    .sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>span:not(.pull-right),
    .sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>.treeview-menu {
        width: 220px;
    }

    .sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>.pull-right-container {
        left: 220px;
    }

    html body.sidebar-mini.sidebar-mini.sidebar-collapse i.fa.fa-user-circle-o.fa-3x.pull-left {
        font-size: 2.4em;
    }
}

/* Stile migliorato per i titoli dei plugin */
.plugin-title {
    border-bottom: 1px solid #eee;
    margin-bottom: 20px !important;
    width: 100%;
    min-height: 40px;
}

.plugin-title .badge {
    font-size: 85%;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.plugin-title .text-primary {
    margin-left: 5px;
}

/* Padding per il contenuto dei plugin */
.tab-pane[id^="tab_"] {
    padding: 0px 0px 20px 0px;
}

/* Stili per la pagina di aggiornamento */
.border-left.border-danger {
    border-left-width: 4px !important;
}

.code-container {
    overflow-x: hidden;
    max-height: 300px;
    font-family: 'Courier New', monospace;
    font-size: 14px;
    color: #d63031;
    box-shadow: inset 0 0 5px rgba(0,0,0,0.1);
}

.code-container pre {
    white-space: pre-wrap;
    word-wrap: break-word;
}

.progress-container {
    height: 30px;
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    background-color: #f5f5f5;
    overflow: hidden;
    position: relative;
}

#custom-progress-bar {
    width: 0%;
    height: 100%;
    font-size: 16px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    color: transparent; /* Nascondiamo il testo all'interno della barra */
}

/* Aggiungiamo un elemento ::after per mostrare la percentuale fissa al centro */
.progress-container::after {
    content: attr(data-percentage);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    z-index: 2;
}

#progress-status {
    font-size: 14px;
}

#current-file {
    font-size: 13px;
}

/* ===== CONFIGURATION WIZARD STYLES ===== */

/* Main container for configuration wizard */
.config-wizard-container {
    max-width: 1200px !important;
    margin: 3% auto !important;
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
}

/* Header styling for configuration wizard */
.config-wizard-header {
    background-color: #f8f9fa !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    padding: 20px !important;
    text-align: center !important;
}

.config-wizard-header img {
    max-width: 280px !important;
}

/* Navigation tabs styling */
.config-wizard-tabs {
    background-color: #f8f9fa !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    margin-bottom: 0 !important;
    display: flex !important;
    list-style: none !important;
    padding: 0 !important;
}

.config-wizard-tabs li {
    flex: 1 !important;
    text-align: center !important;
}

.config-wizard-tabs li a {
    padding: 15px 0 !important;
    display: block !important;
    color: #495057 !important;
    text-decoration: none !important;
}

.config-wizard-tabs li.active a {
    color: #3c8dbc !important;
    font-weight: bold !important;
    border-bottom: 2px solid #3c8dbc !important;
}

.config-wizard-tabs li a h3 {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* Content area styling */
.config-wizard-content {
    padding: 25px 30px !important;
}

/* SmartWizard specific fixes */
.sw-theme-default {
    border: none !important;
}

.sw-theme-default .sw-toolbar {
    display: none !important;
}

.sw-theme-default .step-content {
    padding: 0 !important;
    border: none !important;
}

.sw-theme-default .sw-toolbar-bottom {
    border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.sw-theme-default > ul.step-anchor > li.active > a {
    color: #3c8dbc !important;
    border-bottom: 2px solid #3c8dbc !important;
    background: transparent !important;
}

.sw-theme-default > ul.step-anchor > li > a,
.sw-theme-default > ul.step-anchor > li > a:hover {
    background: transparent !important;
    border: none !important;
}

.sw-theme-default > ul.step-anchor > li.done > a {
    color: #5cb85c !important;
    background: transparent !important;
}

/* Fix for step content display */
#steps > div[id^="step-"] {
    display: none;
}

#steps > div#step-1 {
    display: block;
}

/* Requirements cards styling */
.requirements-card {
    border-radius: 6px !important;
    margin-bottom: 15px !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05) !important;
}

.requirements-card-header {
    padding: 12px 15px !important;
}

.requirements-card-header-success {
    background-color: #f0f9f0 !important;
}

.requirements-card-header-danger {
    background-color: #fff1f1 !important;
}

.requirements-card-title {
    font-size: 15px !important;
    font-weight: 600 !important;
}

.requirements-card-title-success {
    color: #28a745 !important;
}

.requirements-card-title-danger {
    color: #dc3545 !important;
}

.requirements-icon {
    font-size: 16px !important;
}

/* Requirements table styling */
.requirements-table {
    margin-bottom: 0 !important;
}

.requirements-table-icon-col {
    width: 40px !important;
}

.requirements-table-type-col {
    width: 120px !important;
}

.requirements-table-name-col {
    width: 300px !important;
}

/* Section headers */
.config-section-header {
    color: #3c8dbc !important;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
}

/* Section content */
.config-section-content {
    margin-bottom: 25px !important;
}

.config-section-content p {
    margin-bottom: 15px !important;
    color: #555 !important;
    line-height: 1.5 !important;
}

.config-info-text {
    color: #666 !important;
    font-size: 13px !important;
}

/* License container */
.config-license-container {
    border: 1px solid #e9ecef !important;
    border-radius: 6px !important;
    background-color: #f8f9fa !important;
    margin-bottom: 20px !important;
}

.config-license-container textarea {
    border: none !important;
    background-color: #f8f9fa !important;
    font-family: monospace !important;
    font-size: 12px !important;
}

/* License acceptance box */
.config-acceptance-box {
    border-radius: 6px !important;
    border: 1px solid #e9ecef !important;
    background-color: #f8f9fa !important;
    padding: 15px !important;
    margin-top: 10px !important;
}

.config-acceptance-text {
    font-weight: 600 !important;
    color: #555 !important;
}

/* Language selector */
.config-language-selector {
    padding: 15px 20px 0 0 !important;
}

.config-language-selector select {
    border-radius: 4px !important;
}

/* Stili per il modal di controllo database */

/* Stili per i pulsanti */
.btn-resolve-all {
    margin-bottom: 0;
}

/* Stili per le tabelle */
.table-database {
    width: 100%;
    margin-bottom: 20px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.table-database thead {
    background-color: #f5f5f5;
    color: #333;
}

.table-database th,
.table-database td {
    padding: 10px;
}

.table-database .column-name {
    width: 30%;
    font-weight: bold;
    vertical-align: middle;
}

.table-database .column-conflict {
    width: 70%;
    font-family: monospace;
    white-space: pre-wrap;
}

/* Stili per i messaggi */
.table-title {
    margin-top: 20px;
    margin-bottom: 15px;
    font-size: 1.5em;
    color: #2c3e50;
    border-bottom: 2px solid #eee;
}

/* Stili per le righe di avviso */
.row-warning td {
    background-color: #ffffff; /* Sfondo bianco invece di giallo */
    border-bottom: 1px solid #f0f0f0; /* Bordo sottile per separare le righe */
}

/* Mantieni lo sfondo giallo per le righe nella sezione problemi impostazioni */
.table-title + .table-database .row-warning td {
    background-color: #fff3cd;
}

.row-info td {
    background-color: #d1ecf1;
}

.row-danger td {
    background-color: #f8d7da;
}

/* Stili per i messaggi di errore/successo */
.alert-database {
    margin-top: 15px;
    margin-bottom: 15px;
    border-radius: 8px;
}

.alert a {
  color: #007bff;
}

/* Stili per il controllo database */
.row.align-items-center {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
}

.row.align-items-center p {
    line-height: 1.5;
    margin-bottom: 0;
}

/* Stile per il nome della tabella */
.table-name {
    font-size: 1.2em;
    font-weight: 600;
    color: #2c3e50;
    background-color: #fff3cd; /* Sfondo giallo come .row-warning td */
    padding: 8px 12px;
    margin-top: 20px;
    margin-bottom: 10px;
    border-left: 4px solid #ffc107; /* Colore più intenso che si abbina al giallo */
    border-radius: 0 4px 4px 0;
}

/* Stili migliorati per la barra dei plugin */
.control-sidebar-button {
    position: fixed;
    right: 0px;
    padding: 12px 14px;
    top: 80px; /* Spostato più in alto per essere sopra i pulsanti di azione */
    z-index: 1000; /* Z-index ridotto per essere sotto le notifiche (z-index 99999) e evitare sovrapposizioni */
    cursor: pointer;
    background: #fff;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    transition: transform 0.3s ease; /* Usa transform invece di right per una transizione più fluida */
    border-left: 1px solid #e9ecef;
    display: flex;
    align-items: center;
    justify-content: center;
}

.control-sidebar-button i {
    font-size: 16px;
    color: #3c8dbc;
}

/* Stato quando la barra è aperta - il pulsante si sposta insieme alla barra */
.control-sidebar-button.with-control-sidebar {
    transform: translateX(-200px); /* Sposta il pulsante di 200px a sinistra insieme alla barra */
}

.control-sidebar-enhanced {
    box-shadow: -2px 0 10px rgba(0,0,0,0.1);
    border-left: 1px solid #f0f0f0;
}

.plugin-header {
    padding: 15px 15px 12px;
    margin: 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 16px;
    display: flex;
    align-items: center;
}

.plugin-header i {
    margin-right: 8px;
    color: #3c8dbc;
}

.plugin-tabs {
    padding-top: 10px;
}

.plugin-tab-item {
    margin-bottom: 2px;
}

.plugin-tab-link {
    border-radius: 4px;
    transition: all 0.2s ease;
    padding: 10px 15px;
}

.plugin-tab-text {
    font-weight: 500;
}

.plugin-tab-badge {
    margin-left: 5px;
    transition: all 0.2s ease;
}

.plugin-tab-badge-light {
    margin-left: 5px;
    background-color: rgba(255,255,255,0.3);
    transition: all 0.2s ease;
}

#tablelistini_wrapper .dataTables_paginate .paginate_button {
    margin: 0 3px;
    padding: 8px 12px;
    vertical-align: top;
    line-height: 1.2;
}

/* ===== RICORRENZA INTERVENTI ===== */

/* Configurazione ricorrenza */
.ricorrenza-config {
    transition: all 0.3s ease;
    background: #f8f9fc;
    border-radius: 6px;
    padding: 1rem;
    border: 1px solid #e3e6f0;
}

/* Responsive per 4 colonne */
.ricorrenza-config .col-md-3 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

@media (max-width: 1200px) {
    .ricorrenza-config .col-md-3 {
        flex: 0 0 50%;
        max-width: 50%;
        margin-bottom: 1rem;
    }
}

@media (max-width: 768px) {
    .ricorrenza-config .col-md-3 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 1rem;
    }

    .ricorrenza-config {
        padding: 0.75rem;
    }
}