.fas[data-count] {
   position: relative;
}

.fas[data-count]:after {
   position: absolute;
   right: -0.75em;
   top: -.75em;
   content: attr(data-count);
   padding: .5em;
   border-radius: 10em;
   line-height: .9em;
   color: white;
   background-color: orangered;
   opacity: 0.85;
   text-align: center;
   min-width: 2em;
   font: bold .5em sans-serif;
}

.far[data-count] {
   position: relative;
}

.far[data-count]:after {
   position: absolute;
   right: -1.25em;
   top: -1.25em;
   content: attr(data-count);
   padding: .5em;
   border-radius: 12em;
   line-height: .9em;
   color: white;
   background-color: orangered;
   opacity: 0.75;
   text-align: center;
   min-width: 2em;
   font: bold .5em sans-serif;
}

.pointer:hover {
   cursor: pointer;
}

#LogName:hover {
   cursor: default;
}

.no-drop:hover {
   cursor: no-drop;
   color: grey;
}

.no-drop {
   color: grey;
}

.Labels {
   position: absolute;
   top: 5%;
   align-content: center;
   padding: 16px;
   border-radius: 15px;
   background-color: #1D1F21;
   z-index: 2002;
   overflow: auto;
   animation: fadeIn 0.2s ease-in both;
   text-align: center;
}

.WaitingDisplay {
   position: absolute;
   top: 45%;
   left: 45%;
   right: 45%;
   align-content: center;
   padding: 16px;
   border-radius: 15px;
   background-color: #1D1F21;
   z-index: 1002;
   overflow: auto;
   animation: fadeIn 0.2s ease-in both;
   text-align: center;
}

.FADEMEOUT {
   animation: fadeIn 0.2s ease-in both;
}

@keyframes fadeIn {
   from {
      opacity: 0;
      transform: translate3d(0, -20%, 0);
   }

   to {
      opacity: 1;
      transform: translate3d(0, 0, 0);
   }
}

.FADEMELEFT {
   animation: fadeInLeft 2s;
}

@keyframes fadeInLeft {
   0% {
      left: -100px
   }

   25% {
      left: 0px
   }
}

@keyframes blinker {
   50% {
      opacity: 0;
   }
}

.ZOOMMEOUT {
   animation: zoomOut 0.2s ease-in both;
}

@keyframes zoomOut {
   from {
      opacity: 0;
      transform: rotateX(-180deg) scaleZ(0);
   }

   to {
      opacity: 1;
      transform: rotateX(0deg) scaleZ(100);
   }
}

.SEL {
   background-color: var(--search-area-bg);
   font-style: bold;
}

.bootstrap-select>.dropdown-toggle {
   width: 100%;
   height: 40px;
}

/* .dropdown-menu {
   position: relative;
   max-height: 300px;
} */

.XLine {
   text-decoration: line-through;
}

.sectionator {
   display: flex;
   justify-content: center;
   align-items: center;
}

.sectionator .tabs {
   font-size: var(--font-size-base);
   padding: 0;
   background-color: white;
   box-shadow: 0 0 5px rgba(0, 0, 0, .2);
   border-radius: 50px;
   position: relative;
}

.sectionator .tabs ul {
   display: flex;
}

.sectionator .tabs ul li {
   color: #777;
   padding: 10px 20px;
   position: relative;
   z-index: 1;
   transition: 0.3s ease-in-out;
   cursor: pointer;
   user-select: none;
}

.sectionator .tabs ul li.active {
   color: white;
}

.sectionator .tabs ul li i.fas {
   margin-right: 7px;
}

.sectionator .tabs .selector {
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   z-index: 1;
   border-radius: 50px;
   background: linear-gradient(to right, #f21711, #f5af19);
   transition: 0.3s ease-in-out;
}

.CODE01modalBg {
   position: absolute;
   z-index: 1300;
   background-color: rgba(0, 0, 0, 0.4);
   width: 100%;
   height: 100%;
}

.CODE01modal-content {
   background-color: var(--search-area-bg);
   margin: auto;
   padding: 20px;
   /*border: 1px solid #888;*/
   width: 80%;
   margin-top: 3%;
   /*border-radius: 25px;*/
   border-radius: 10px;
}

.closeModal {
   color: orangered;
   float: right;
   font-size: var(--font-size-xl);
   font-weight: bold;
}

/* width */
::-webkit-scrollbar {
   width: 6px;
}

/* Track */
::-webkit-scrollbar-track {
   background: transparent;
   border-radius: 5px;
}

/* Handle */
::-webkit-scrollbar-thumb {
   background: var(--secondary-color);
   border-radius: 5px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
   background: #555;
   border-radius: 5px;
}

.table-hover>tbody>tr:hover {
   background-color: var(--search-area-bg);
}

.code01draggable:hover {
   cursor: grab;
}

.code01draggable:active {
   cursor: grabbing;
}

.Modal-search-wrapper {
   border-radius: 10px;
   background-color: var(--code-bg);
   padding-right: 12px;
   height: 40px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   max-width: 480px;
   color: var(--light-font);
   box-shadow: 0 2px 6px 0 rgba(136, 148, 171, 0.2), 0 24px 20px -24px rgba(71, 82, 107, 0.1);
   overflow: hidden;
}

/*-------aggiunto 08/09/2022-----------*/
.Modal-search-wrapper-txtarea {
   border-radius: 20px;
   background-color: var(--code-bg);
   padding-top: 5px;
   padding-right: 12px;
   height: 160px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   max-width: 700px;
   color: var(--main-color);
   /*box-shadow: 0 2px 6px 0 rgba(136, 148, 171, 0.2), 0 24px 20px -24px rgba(71, 82, 107, 0.1);*/
   overflow: hidden;
   resize: none;
}

.dark .Modal-search-wrapper {
   box-shadow: none;
}

.Modal-search-input {
   border: none;
   flex: 1;
   outline: none;
   height: 100%;
   padding: 0 20px;
   font-size: var(--font-size-md);
   background-color: var(--code-bg);
   color: var(--main-color);
   resize: none;
}

.Modal-search-input:placeholder {
   color: var(--main-color);
   opacity: 0.3;
}

.spanButton {
   width: 36px;
   height: 36px;
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 5px 8px;
   border-radius: 4px;
   background-color: transparent;
   border: none;
   color: var(--main-color);
   margin-left: 5px;
   transition: 0.2s;
   cursor: pointer;
   display: inline;
}

.spanButton.active {
   background-color: var(--link-color-active-bg);
   color: var(--link-color-active);
}

.spanButton:not(.active):hover {
   background-color: var(--link-color-hover);
   color: var(--link-color-active);
}

.NOspanButton {
   width: 36px;
   height: 36px;
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 5px 8px;
   border-radius: 4px;
   background-color: transparent;
   border: none;
   color: grey;
   margin-left: 5px;
   transition: 0.2s;
   cursor: no-drop;
   display: inline;
}

.NOspanButton.active {
   background-color: var(--link-color-active-bg);
   color: grey;
}

.NOspanButton:not(.active):hover {
   background-color: var(--link-color-hover);
   color: grey;
}

@media screen and (max-width: 520px) {
   .spanButton {
      width: 24px;
      height: 24px;
   }

   .NOspanButton {
      width: 24px;
      height: 24px;
   }
}

.text-end {
   text-align: right !important;
}

.text-center {
   text-align: center !important;
}

.text-start {
   text-align: left !important;
}

#modalGallery {
   /* display: block !important; */
   opacity: 1 !important;
   z-index: 2065 !important;
}


.btn-generic {
   background-color: #A855F7;
   /* Violetto più chiaro */
   border-color: #9333EA;
   /* Un po' più scuro per il bordo */
   color: white;
}

.btn-generic:hover,
.btn-generic:focus,
.btn-generic:active {
   background-color: #9333EA;
   /* Un po' più scuro quando hover */
   border-color: #7E22CE;
   color: white;
}

.button-container {
   display: flex;
   flex-wrap: wrap;
   /* Permette di andare a capo se necessario */
   gap: 5px;
   /* Aggiunge spaziatura tra i pulsanti */
   justify-content: flex-start;
   /* Allinea tutto a sinistra */
   align-items: center;
}

.button-container .btn {
   min-width: 33px;
   /* Forza una larghezza minima */
   height: 33px;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 5px;
   flex-shrink: 0;
   /* Evita che alcuni pulsanti si riducano */
   font-size: var(--font-size-md);
}

.badge-lime {
   background-color: lime !important;
   color: black !important;
}

.badge-lightblue {
   background-color: #66b3ff !important;
   color: black !important;
}


/* Bottoni Outlined - Versione Personalizzata */
.btn-outline-lime {
   color: #32CD32;
   /* Lime */
   border: 2px solid #32CD32;
   background-color: transparent;
}

.btn-outline-lime:hover {
   color: white;
   background-color: #32CD32;
   border-color: #32CD32;
}

.btn-outline-lightblue {
   color: #66b3ff;
   /* Light Blue */
   border: 2px solid #66b3ff;
   background-color: transparent;
}

.btn-outline-lightblue:hover {
   color: white;
   background-color: #66b3ff;
   border-color: #66b3ff;
}

/* PRIMARY */
.btn-outline-primary {
   color: #007bff;
   border: 2px solid #007bff;
   background-color: transparent;
}

.btn-outline-primary:hover {
   color: white;
   background-color: #007bff;
   border-color: #007bff;
}

/* INFO */
.btn-outline-info {
   color: #17a2b8;
   border: 2px solid #17a2b8;
   background-color: transparent;
}

.btn-outline-info:hover {
   color: white;
   background-color: #17a2b8;
   border-color: #17a2b8;
}

/* WARNING */
.btn-outline-warning {
   color: #ffc107;
   border: 2px solid #ffc107;
   background-color: transparent;
}

.btn-outline-warning:hover {
   color: black;
   background-color: #ffc107;
   border-color: #ffc107;
}

/* DANGER */
.btn-outline-danger {
   color: #dc3545;
   border: 2px solid #dc3545;
   background-color: transparent;
}

.btn-outline-danger:hover {
   color: white;
   background-color: #dc3545;
   border-color: #dc3545;
}

/* SUCCESS */
.btn-outline-success {
   color: #28a745;
   border: 2px solid #28a745;
   background-color: transparent;
}

.btn-outline-success:hover {
   color: white;
   background-color: #28a745;
   border-color: #28a745;
}

.btn-opaced-primary {
   color: #66b3ff;
   border: 0px;
   background-color: #172331;
}

.btn-opaced-primary:hover {
   color: white;
   background-color: #007bff;
   border-color: #007bff;
}

.btn-opaced-danger {
   color: #dc3545;
   border: 0px;
   background-color: #302024;
}

.btn-opaced-danger:hover {
   color: white;
   background-color: #dc3545;
   border-color: #dc3545;
}

.btn-opaced-success {
   color: #00A261;
   border: 0px;
   background-color: #1F212A;
}

.btn-opaced-success:hover {
   color: white;
   background-color: #00A261;
   border-color: #00A261;
}

.btn-opaced-warning {
   color: #C59A00;
   border: 0px;
   background-color: #242320;
}

.btn-opaced-warning:hover {
   color: white;
   background-color: #C59A00;
   border-color: #C59A00;
}

.table-hover>tbody>tr:hover {
   background-color: var(--search-area-bg);
}

/* Stili per i badge temporanei */
.badge {
   display: inline-block;
   padding: 0.4em 0.8em;
   font-size: var(--font-size-base);
   font-weight: bold;
   color: white;
   border-radius: 0.25em;
}

/* .badge-success {
   background-color: green;
}

.badge-danger {
   background-color: darkred;
}

.badge-warning {
   background-color: darkorange;
}

.badge-info {
   background-color: dodgerblue;
}

.badge-primary {
   background-color: royalblue;
}

.badge-secondary {
   background-color: gray;
}

.badge-light {
   background-color: lightgray;
   color: black;
}

.badge-dark {
   background-color: black;
}

.badge-muted {
   background-color: #6c757d;
   color: white;
}

.badge-purple {
   background-color: purple;
}

.badge-pink {
   background-color: deeppink;
}

.badge-teal {
   background-color: teal;
}

.badge-cyan {
   background-color: cyan;
   color: black;
}

.badge-brown {
   background-color: saddlebrown;
}

.badge-gold {
   background-color: gold;
   color: black;
}

.badge-silver {
   background-color: silver;
   color: black;
}

.badge-violet {
   background-color: #8080ff;
   color: white;
}

.badge-light-success {
   background-color: var(--bg-badge);
   color: green;
}

.badge-light-danger {
   background-color: var(--bg-badge);
   color: red;
}

.badge-light-warning {
   background-color: var(--bg-badge);
   color: darkorange;
}

.badge-light-info {
   background-color: var(--bg-badge);
   color: dodgerblue;
}

.badge-light-primary {
   background-color: var(--bg-badge);
   color: royalblue;
}

.badge-light-secondary {
   background-color: var(--bg-badge);
   color: rgb(206, 206, 206);
}

.badge-light-purple {
   background-color: var(--bg-badge);
   color: purple;
}

.badge-light-violet {
   background-color: var(--bg-badge);
   color: #8080ff;
}

.badge-light-gold {
   background-color: var(--bg-badge);
   color: gold;
} */


/* === COLORI BASE (DARK MODE DEFAULT) === */
.badge-success {
   background-color: green;
}

.badge-danger {
   background-color: darkred;
}

.badge-warning {
   background-color: darkorange;
}

.badge-info {
   background-color: dodgerblue;
}

.badge-primary {
   background-color: royalblue;
}

.badge-secondary {
   background-color: gray;
}

.badge-light {
   background-color: lightgray;
   color: black;
}

.badge-dark {
   background-color: black;
}

.badge-muted {
   background-color: #6c757d;
   color: white;
}

.badge-purple {
   background-color: purple;
}

.badge-pink {
   background-color: deeppink;
}

.badge-teal {
   background-color: teal;
}

.badge-cyan {
   background-color: cyan;
   color: black;
}

.badge-brown {
   background-color: saddlebrown;
}

.badge-gold {
   background-color: gold;
   color: black;
}

.badge-silver {
   background-color: silver;
   color: black;
}

.badge-violet {
   background-color: #8080ff;
   color: white;
}

/* === LIGHT BADGES === */
.badge-light-success {
   background-color: var(--bg-badge);
   color: green;
}

.badge-light-danger {
   background-color: var(--bg-badge);
   color: red;
}

.badge-light-warning {
   background-color: var(--bg-badge);
   color: darkorange;
}

.badge-light-info {
   background-color: var(--bg-badge);
   color: dodgerblue;
}

.badge-light-primary {
   background-color: var(--bg-badge);
   color: royalblue;
}

.badge-light-secondary {
   background-color: var(--bg-badge);
   color: rgb(206, 206, 206);
}

.badge-light-purple {
   background-color: var(--bg-badge);
   color: purple;
}

.badge-light-violet {
   background-color: var(--bg-badge);
   color: #8080ff;
}

.badge-light-gold {
   background-color: var(--bg-badge);
   color: gold;
}

/* =========================
   LIGHT MODE FIX
   ========================= */
:root {
   /* miglior contrasto in light mode */
   --badge-success-bg: #198754;
   --badge-danger-bg: #dc3545;
   --badge-warning-bg: #ffc107;
   --badge-info-bg: #0dcaf0;
   --badge-primary-bg: #0d6efd;
   --badge-secondary-bg: #313131;
   --badge-dark-bg: #3c3e40;
   --badge-muted-bg: #adb5bd;
}

html:not(.dark) .badge-success {
   background-color: var(--badge-success-bg);
   color: #fff;
}

html:not(.dark) .badge-danger {
   background-color: var(--badge-danger-bg);
   color: #fff;
}

html:not(.dark) .badge-warning {
   background-color: var(--badge-warning-bg);
   color: #000;
}

html:not(.dark) .badge-info {
   background-color: var(--badge-info-bg);
   color: #000;
}

html:not(.dark) .badge-primary {
   background-color: var(--badge-primary-bg);
   color: #fff;
}

html:not(.dark) .badge-secondary {
   background-color: #adb5bd;
   color: #000;
}

/* ✅ leggibile */
html:not(.dark) .badge-dark {
   background-color: var(--badge-dark-bg);
   color: #fff;
}

html:not(.dark) .badge-muted {
   background-color: var(--badge-muted-bg);
   color: #000;
}

html:not(.dark) .badge-light {
   background-color: #f8f9fa;
   color: #000;
}

html:not(.dark) .badge-light-success {
   background-color: var(--bg-badge);
   color: green;
}

html:not(.dark) .badge-light-danger {
   background-color: var(--bg-badge);
   color: red;
}

html:not(.dark) .badge-light-warning {
   background-color: var(--bg-badge);
   color: darkorange;
}

html:not(.dark) .badge-light-info {
   background-color: var(--bg-badge);
   color: dodgerblue;
}

html:not(.dark) .badge-light-primary {
   background-color: var(--bg-badge);
   color: royalblue;
}

html:not(.dark) .badge-light-secondary {
   background-color: var(--bg-badge);
   color: rgb(82, 81, 81);
}

/* ✅ leggibile */
html:not(.dark) .badge-light-dark {
   background-color: var(--bg-badge);
   color: #393939;
}

html:not(.dark) .badge-light-muted {
   background-color: var(--bg-badge);
   color: #000;
}

html:not(.dark) .badge-light-light {
   background-color: var(--bg-badge);
   color: #000;
}

html:not(.dark) .badge-light-gold {
   background-color: var(--bg-badge);
   color: rgb(185, 157, 0);
}


.badge-lg {
   min-width: 2rem;
   font-size: var(--font-size-md);
}


/* ========== light buttons ========== */

/* Primary */
.btn-light-primary {
   color: #0d6efd;
   background-color: rgba(13, 110, 253, 0.1);
   border: 1px solid rgba(13, 110, 253, 0.2);
}

.btn-light-primary:hover,
.btn-light-primary:focus {
   color: #ffffff;
   background-color: #0d6efd;
   border-color: #0d6efd;
}

.btn-light-primary:disabled,
.btn-light-primary.disabled {
   color: #0d6efd;
   background-color: rgba(13, 110, 253, 0.1);
   border-color: rgba(13, 110, 253, 0.2);
   opacity: 0.65;
   pointer-events: none;
}

/* Info */
.btn-light-info {
   color: #0dcaf0;
   background-color: rgba(13, 202, 240, 0.1);
   border: 1px solid rgba(13, 202, 240, 0.2);
}

.btn-light-info:hover,
.btn-light-info:focus {
   color: #ffffff;
   background-color: #0dcaf0;
   border-color: #0dcaf0;
}

.btn-light-info:disabled,
.btn-light-info.disabled {
   color: #0dcaf0;
   background-color: rgba(13, 202, 240, 0.1);
   border-color: rgba(13, 202, 240, 0.2);
   opacity: 0.65;
   pointer-events: none;
}

/* Generic (uso palette secondary) */
.btn-light-generic {
   color: rgb(147, 51, 234);
   background-color: rgba(147, 51, 234, 0.1);
   border: 1px solid rgba(147, 51, 234, 0.2);
}

.btn-light-generic:hover,
.btn-light-generic:focus {
   color: #ffffff;
   background-color: rgb(147, 51, 234);
   border-color: rgb(147, 51, 234);
}

.btn-light-generic:disabled,
.btn-light-generic.disabled {
   color: #9333ea;
   background-color: rgba(147, 51, 234, 0.1);
   border-color: rgba(147, 51, 234, 0.2);
   opacity: 0.65;
   pointer-events: none;
}

/* Success */
.btn-light-success {
   color: #198754;
   background-color: rgba(25, 135, 84, 0.1);
   border: 1px solid rgba(25, 135, 84, 0.2);
}

.btn-light-success:hover,
.btn-light-success:focus {
   color: #ffffff;
   background-color: #198754;
   border-color: #198754;
}

.btn-light-success:disabled,
.btn-light-success.disabled {
   color: #198754;
   background-color: rgba(25, 135, 84, 0.1);
   border-color: rgba(25, 135, 84, 0.2);
   opacity: 0.65;
   pointer-events: none;
}

/* Warning */
.btn-light-warning {
   color: #ffc107;
   background-color: rgba(255, 193, 7, 0.1);
   border: 1px solid rgba(255, 193, 7, 0.2);
}

.btn-light-warning:hover,
.btn-light-warning:focus {
   color: #ffffff;
   background-color: #ffc107;
   border-color: #ffc107;
}

.btn-light-warning:disabled,
.btn-light-warning.disabled {
   color: #ffc107;
   background-color: rgba(255, 193, 7, 0.1);
   border-color: rgba(255, 193, 7, 0.2);
   opacity: 0.65;
   pointer-events: none;
}

/* Danger */
.btn-light-danger {
   color: #dc3545;
   background-color: rgba(220, 53, 69, 0.1);
   border: 1px solid rgba(220, 53, 69, 0.2);
}

.btn-light-danger:hover,
.btn-light-danger:focus {
   color: #ffffff;
   background-color: #dc3545;
   border-color: #dc3545;
}

.btn-light-danger:disabled,
.btn-light-danger.disabled {
   color: #dc3545;
   background-color: rgba(220, 53, 69, 0.1);
   border-color: rgba(220, 53, 69, 0.2);
   opacity: 0.65;
   pointer-events: none;
}


.fattura-header-container {
   display: flex;
   /* Usa Flexbox per affiancare i contenitori */
   gap: 10px;
   /* Spazio tra i due contenitori */
   width: 100%;
   /* Larghezza totale della modale */
}

.fattura-header {
   flex: 1;
   /* Ogni blocco occupa lo stesso spazio */
   padding: 15px;
   border-radius: 5px;
   border: 1px solid rgba(221, 221, 221, 0.15);
   background-color: rgba(249, 249, 249, 0.03);
   margin-bottom: 10px;
   /* Elimina margine inferiore per uniformità */
}

.fattura-header h4 {
   margin-top: 0;
   font-weight: bold;
}

.fattura-header p {
   margin: 5px 0;
}

.table-footer {
   font-size: var(--font-size-md);
   text-align: right;
}


.custom-alert {
   display: flex;
   align-items: center;
   border: 1px solid transparent;
   padding: 5px 10px;
   border-radius: 3px;
   font-size: var(--font-size-sm);
   background-color: rgba(255, 255, 255, 0.05);
   color: white;
   margin-right: 10px;
}

.custom-alert .icon-container {
   width: 40px;
   height: 40px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-right: 1rem;
   border-radius: 50%;
   /* background-color: rgba(255, 255, 255, 0.1); */
}

.custom-alert i {
   font-size: var(--font-size-2xl);
}

.alert-danger-custom {
   border-color: rgba(220, 53, 69, 0.2);
   color: #dc3545;
   background-color: rgba(220, 53, 69, 0.1);
}

.alert-warning-custom {
   border-color: #ffc107;
   color: #ffcc00;
   background-color: #ffcc0020;
}

.alert-success-custom {
   border-color: #28a745;
   color: #4caf50;
   background-color: #4caf5020;
}

.alert-purple-custom {
   border-color: #6f42c1;
   color: #b085f5;
   background-color: #b085f520;
}

.alert-info-custom {
   border-color: #007bff;
   /* Colore del bordo blu */
   color: #007bff;
   /* Testo blu */
   background-color: #007bff20;
}

.modal .table-hover tbody tr:hover {
   background-color: rgba(0, 0, 255, 0.1);
   /* Azzurro leggero */
}

.scroll-top-btn {
   position: fixed;
   bottom: 40px;
   right: 40px;
   width: 50px;
   height: 50px;
   background-color: rgba(114, 35, 241, 0.7);
   color: white;
   border: 1px solid rgba(114, 35, 241);
   border-radius: 50%;
   box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
   cursor: pointer;
   display: none;
   justify-content: center;
   align-items: center;
   font-size: var(--font-size-xl);
   transition: opacity 0.3s ease-in-out, transform 0.3s;
}

.scroll-top-btn:hover {
   background-color: rgb(77, 10, 155);
}

.scroll-top-btn.show {
   display: flex;
   opacity: 1;
   transform: translateY(0);
}

.scroll-top-btn.hide {
   opacity: 0;
   transform: translateY(100px);
}

.selected {
   background-color: rgba(3, 238, 167, 0.2) !important;
   /* Un azzurrino per evidenziare */
}

.swal-custom-zindex {
   z-index: 99999 !important;
}

.select2-container .select2-selection {
   color: #1e1e1e;
   border: 1px solid #444;
}

.select2-container .select2-selection__rendered {
   color: #fff;
}

.select2-container .select2-results__option {
   color: #1e1e1e;
}

.select2-container .select2-results__option--highlighted {
   color: #2c2c2c;
}

.select2-container .select2-search__field {
   color: #1e1e1e;
   border: 1px solid #444;
}

/* Bootstrap-like spacing utilities (safe for BS3) */
.mt-0 {
   margin-top: 0 !important;
}

.mt-1 {
   margin-top: 0.25rem !important;
}

.mt-2 {
   margin-top: 0.5rem !important;
}

.mt-3 {
   margin-top: 1rem !important;
}

.mt-4 {
   margin-top: 1.5rem !important;
}

.mt-5 {
   margin-top: 3rem !important;
}

.mr-0 {
   margin-right: 0 !important;
}

.mr-1 {
   margin-right: 0.25rem !important;
}

.mr-2 {
   margin-right: 0.5rem !important;
}

.mr-3 {
   margin-right: 1rem !important;
}

.mr-4 {
   margin-right: 1.5rem !important;
}

.mr-5 {
   margin-right: 3rem !important;
}

.ml-0 {
   margin-left: 0 !important;
}

.ml-1 {
   margin-left: 0.25rem !important;
}

.ml-2 {
   margin-left: 0.5rem !important;
}

.ml-3 {
   margin-left: 1rem !important;
}

.ml-4 {
   margin-left: 1.5rem !important;
}

.ml-5 {
   margin-left: 3rem !important;
}

.ml-6 {
   margin-left: 5rem !important;
}

.ml-7 {
   margin-left: 7rem !important;
}

.mb-0 {
   margin-bottom: 0 !important;
}

.mb-1 {
   margin-bottom: 0.25rem !important;
}

.mb-2 {
   margin-bottom: 0.5rem !important;
}

.mb-3 {
   margin-bottom: 1rem !important;
}

.mb-4 {
   margin-bottom: 1.5rem !important;
}

.mb-5 {
   margin-bottom: 3rem !important;
}

.pt-0 {
   padding-top: 0 !important;
}

.pt-1 {
   padding-top: 0.25rem !important;
}

.pt-2 {
   padding-top: 0.5rem !important;
}

.pt-3 {
   padding-top: 1rem !important;
}

.pt-4 {
   padding-top: 1.5rem !important;
}

.pt-5 {
   padding-top: 3rem !important;
}

.pb-0 {
   padding-bottom: 0 !important;
}

.pb-1 {
   padding-bottom: 0.25rem !important;
}

.pb-2 {
   padding-bottom: 0.5rem !important;
}

.pb-3 {
   padding-bottom: 1rem !important;
}

.pb-4 {
   padding-bottom: 1.5rem !important;
}

.pb-5 {
   padding-bottom: 3rem !important;
}

/* Font Size Utility Classes - stile Keen */
.fs-0-5x {
   font-size: 0.5rem !important;
}

.fs-0-75x {
   font-size: 0.75rem !important;
}

.fs-0-85x {
   font-size: 0.85rem !important;
}

.fs-0-95x {
   font-size: 0.95rem !important;
}

.fs-1x {
   font-size: 1rem !important;
}

/* base */
.fs-1-5x {
   font-size: 1.5rem !important;
}

.fs-1-75x {
   font-size: 1.75rem !important;
}

.fs-2x {
   font-size: 2rem !important;
}

.fs-2-25x {
   font-size: 2.25rem !important;
}

.fs-2-5x {
   font-size: 2.5rem !important;
}

.fs-2-75x {
   font-size: 2.75rem !important;
}

.fs-3x {
   font-size: 3rem !important;
}

.fs-3-25x {
   font-size: 3.25rem !important;
}

.fs-3-5x {
   font-size: 3.5rem !important;
}

.fs-3-75x {
   font-size: 3.75rem !important;
}

.fs-4x {
   font-size: 4rem !important;
}

.fs-4-25x {
   font-size: 4.25rem !important;
}

.fs-4-5x {
   font-size: 4.5rem !important;
}

.fs-4-75x {
   font-size: 4.75rem !important;
}

.fs-5x {
   font-size: 5rem !important;
}

.fs-5-25x {
   font-size: 5.25rem !important;
}

.fs-5-5x {
   font-size: 5.5rem !important;
}

.fs-5-75x {
   font-size: 5.75rem !important;
}

.fs-fluid {
   font-size: 100% !important;
}



/* Text Colors Potenziati per Dark UI */
.text-primary {
   color: #009dff !important;
   /* Azzurro acceso */
}

.text-secondary {
   color: #a0a0a0 !important;
   /* Grigio medio */
}

.text-success {
   color: var(--text-success-color) !important;
   /* Verde acceso */
}

.text-danger {
   color: #ff4c4c !important;
   /* Rosso brillante */
}

.text-warning {
   color: var(--text-warning-color) !important;
   /* Giallo forte, molto più visibile */
   /* text-shadow: var(--text-warning-shadow); */
}

.text-info {
   color: #00c0ff !important;
   /* Ciano brillante */
}

.text-light {
   color: #f1f1f1 !important;
   /* Quasi bianco */
}

.text-dark {
   color: #333 !important;
   /* Grigio scurissimo */
}

.text-muted {
   color: #888 !important;
   /* Grigio tenue */
}

.text-white {
   color: #fff !important;
}

.text-generic {
   color: #af59ff !important;
   /* Grigio chiaro per testo generico */
}


.proj-prod-cell {
   display: flex;
   align-items: flex-start;
   gap: 6px;
}

.proj-prod-thumb {
   width: 32px;
   height: 32px;
   border-radius: 4px;
   overflow: hidden;
   flex-shrink: 0;
   background: rgba(0, 0, 0, .03);
}

.dark .proj-prod-thumb {
   background: rgba(255, 255, 255, .06);
}

.proj-prod-thumb img {
   width: 100%;
   height: 100%;
   object-fit: contain;
   display: block;
}

.proj-prod-thumb.empty {
   /* solo per tenere lo spazio se non c'è immagine */
   border: 1px dashed rgba(0, 0, 0, .1);
}

.proj-prod-info {
   line-height: 1.2;
}

.badge-distinta {
   cursor: help;
   color: var(--PRIMARY);
   font-size: var(--font-size-sm);
   display: inline-block;
   margin-bottom: 2px;
}

/* popover distinta: più largo, senza padding extra */
.popover-distinta {
    max-width: 820px;          /* più largo del default (276px) */
}

.popover-distinta .popover-content {
    padding: 0;                /* la tabella gestisce i suoi padding */
}

.popover-distinta-table {
    margin-bottom: 0;
    width: 100%;
}

.popover-distinta-table th,
.popover-distinta-table td {
    white-space: normal;
}

/* === DARK THEME REVISITATO === */
html.dark,
html.dark body {
   background-color: var(--bg-app) !important;
   color: var(--main-color) !important;
}

html.dark .panel,
html.dark .panel-default,
html.dark .dashboard-panel,
html.dark .panel-body,
html.dark .panel-heading,
html.dark .panel-footer {
   background-color: var(--search-area-bg) !important;
   color: var(--main-color) !important;
   border-color: var(--border-color) !important;
}

html.dark .panel-heading {
   background-color: var(--surface-2) !important;
}

html.dark .Labels,
html.dark .WaitingDisplay {
   background-color: var(--surface-2);
   border: 1px solid var(--border-color);
   color: var(--main-color);
}

html.dark .sectionator .tabs {
   background-color: var(--surface-2);
   box-shadow: 0 0 0 1px var(--border-color);
}

html.dark .sectionator .tabs ul li {
   color: var(--light-font);
}

html.dark .btn-opaced-primary {
   background-color: rgba(122, 167, 255, 0.12);
   color: #7aa7ff;
}

html.dark .btn-opaced-danger {
   background-color: rgba(255, 107, 122, 0.12);
   color: #ff6b7a;
}

html.dark .btn-opaced-success {
   background-color: rgba(61, 220, 151, 0.12);
   color: #3ddc97;
}

html.dark .btn-opaced-warning {
   background-color: rgba(245, 179, 74, 0.12);
   color: #f5b34a;
}

html.dark .badge-dark {
   background-color: #3a4654;
   color: #e6edf3;
}

html.dark .table-hover > tbody > tr:hover {
   background-color: rgba(122, 167, 255, 0.07);
}

html.dark .modal .table-hover tbody tr:hover {
   background-color: rgba(122, 167, 255, 0.07);
}

html.dark .CODE01modalBg {
   background-color: rgba(0, 0, 0, 0.55);
}

html.dark .CODE01modal-content {
   background-color: var(--search-area-bg);
   border: 1px solid var(--border-color);
}

html.dark .modal-content {
   background-color: var(--search-area-bg);
   color: var(--main-color);
   border: 1px solid var(--border-color);
}

html.dark .modal-header,
html.dark .modal-footer {
   border-color: var(--border-color);
}

html.dark .alert-warning-custom {
   color: #f5b34a;
   border-color: rgba(245, 179, 74, 0.35);
   background-color: rgba(245, 179, 74, 0.1);
}

html.dark .alert-success-custom {
   color: #3ddc97;
   border-color: rgba(61, 220, 151, 0.35);
   background-color: rgba(61, 220, 151, 0.1);
}

html.dark .alert-info-custom {
   color: #5cc8ff;
   border-color: rgba(92, 200, 255, 0.35);
   background-color: rgba(92, 200, 255, 0.1);
}

html.dark .alert-danger-custom {
   color: #ff6b7a;
   border-color: rgba(255, 107, 122, 0.35);
   background-color: rgba(255, 107, 122, 0.1);
}

html.dark .select2-container .select2-selection {
   background-color: var(--code-bg);
   color: var(--main-color);
   border-color: var(--border-color);
}

html.dark .select2-container .select2-selection__rendered {
   color: var(--main-color);
}

html.dark .select2-container .select2-results__option {
   color: var(--main-color);
   background-color: var(--surface-2);
}

html.dark .select2-container .select2-results__option--highlighted {
   background-color: var(--link-color-active-bg);
   color: var(--link-color-active);
}

html.dark .select2-container .select2-search__field {
   background-color: var(--code-bg);
   color: var(--main-color);
   border-color: var(--border-color);
}

html.dark table.dataTable thead th,
html.dark table.dataTable tfoot th,
html.dark table.dataTable tbody td {
   color: var(--main-color);
   border-color: var(--border-color) !important;
}

html.dark table.dataTable thead {
   border-bottom: 1px solid var(--border-color);
}

html.dark .dataTables_wrapper .dataTables_filter input,
html.dark .dataTables_wrapper .dataTables_length select,
html.dark .form-control {
   background-color: var(--code-bg) !important;
   color: var(--main-color) !important;
   border: 1px solid var(--border-color) !important;
}

html.dark .dataTables_wrapper .dataTables_info,
html.dark .dataTables_wrapper .dataTables_filter,
html.dark .dataTables_wrapper .dataTables_length {
   color: var(--light-font);
}

html.dark .pagination > li > a,
html.dark .pagination > li > span {
   background-color: var(--surface-2);
   color: var(--light-font);
   border-color: var(--border-color);
}

html.dark .pagination > .active > a,
html.dark .pagination > .active > span,
html.dark .pagination > .active > a:hover,
html.dark .pagination > .active > span:hover {
   background-color: var(--PRIMARY);
   color: #0f1419;
   border-color: var(--PRIMARY);
}

html.dark ::-webkit-scrollbar-thumb {
   background: #3a4654;
}

html.dark ::-webkit-scrollbar-thumb:hover {
   background: #4d5b6c;
}

/* === DARK THEME — fix sezioni Import / Transazioni / Riepilogo === */

/* Container con bg bianco fissato */
html.dark .card-table,
html.dark .kpi-card,
html.dark .import-panel {
  background-color: var(--search-area-bg) !important;
  color: var(--main-color) !important;
  border-color: var(--border-color) !important;
  box-shadow: none !important;
}

/* Stripe righe leggibile (sostituisce le tinte chiare di BS/datatables) */
html.dark .card-table table tbody tr:nth-child(odd),
html.dark table.table-striped > tbody > tr:nth-child(odd) {
  background-color: rgba(255, 255, 255, 0.02) !important;
}
html.dark .card-table table tbody tr:nth-child(even),
html.dark table.table-striped > tbody > tr:nth-child(even) {
  background-color: transparent !important;
}

/* Bordi e header della card-table */
html.dark .card-table th,
html.dark .card-table td {
  border-color: var(--border-color) !important;
}
html.dark .card-table thead th {
  background-color: var(--surface-2) !important;
  color: var(--main-color) !important;
}

/* Select nativi (anno, generici) */
html.dark select,
html.dark select.year-select,
html.dark .year-select.pointer,
html.dark #AnnoSelector,
html.dark select.form-control {
  background-color: var(--code-bg) !important;
  color: var(--main-color) !important;
  border: 1px solid var(--border-color) !important;
}
html.dark select option {
  background-color: var(--surface-2);
  color: var(--main-color);
}

/* File input nativo */
html.dark input[type="file"] {
  color: var(--main-color);
  background-color: var(--code-bg);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  padding: 2px 4px;
}
html.dark input[type="file"]::-webkit-file-upload-button,
html.dark input[type="file"]::file-selector-button {
  background-color: var(--surface-2);
  color: var(--main-color);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  padding: 4px 10px;
  margin-right: 8px;
  cursor: pointer;
}

/* Cell muted leggibile in dark */
html.dark .cell-muted {
  color: var(--light-font) !important;
  opacity: 1 !important;
}

/* Colonne benchmark con tinta blu coerente */
html.dark .card-table .bench {
  background-color: rgba(122, 167, 255, 0.08) !important;
}


/* === LIGHT MODE — bottoni .btn-opaced-* armonizzati con il dark === */

html:not(.dark) .btn-opaced-primary {
   color: #3b7ddd !important;
   background-color: rgba(122, 167, 255, 0.14) !important;
   border: 0 !important;
}
html:not(.dark) .btn-opaced-primary:hover,
html:not(.dark) .btn-opaced-primary:focus {
   color: #ffffff !important;
   background-color: #3b7ddd !important;
   border-color: #3b7ddd !important;
}

html:not(.dark) .btn-opaced-danger {
   color: #d83a4b !important;
   background-color: rgba(255, 107, 122, 0.14) !important;
   border: 0 !important;
}
html:not(.dark) .btn-opaced-danger:hover,
html:not(.dark) .btn-opaced-danger:focus {
   color: #ffffff !important;
   background-color: #d83a4b !important;
   border-color: #d83a4b !important;
}

html:not(.dark) .btn-opaced-success {
   color: #15a572 !important;
   background-color: rgba(61, 220, 151, 0.14) !important;
   border: 0 !important;
}
html:not(.dark) .btn-opaced-success:hover,
html:not(.dark) .btn-opaced-success:focus {
   color: #ffffff !important;
   background-color: #15a572 !important;
   border-color: #15a572 !important;
}

html:not(.dark) .btn-opaced-warning {
   color: #c98b1f !important;
   background-color: rgba(245, 179, 74, 0.16) !important;
   border: 0 !important;
}
html:not(.dark) .btn-opaced-warning:hover,
html:not(.dark) .btn-opaced-warning:focus {
   color: #ffffff !important;
   background-color: #c98b1f !important;
   border-color: #c98b1f !important;
}

/* === DARK THEME — fix nuovovalorefinale.php e form generici === */

/* Form card con bg bianco fissato */
html.dark .form-card {
   background-color: var(--search-area-bg) !important;
   color: var(--main-color) !important;
   border-color: var(--border-color) !important;
   box-shadow: none !important;
}

/* Input nativi senza classe .form-control (date, number, text, ecc.) */
html.dark input[type="text"],
html.dark input[type="number"],
html.dark input[type="date"],
html.dark input[type="datetime-local"],
html.dark input[type="time"],
html.dark input[type="month"],
html.dark input[type="week"],
html.dark input[type="email"],
html.dark input[type="password"],
html.dark input[type="search"],
html.dark input[type="tel"],
html.dark input[type="url"],
html.dark textarea {
   background-color: var(--code-bg) !important;
   color: var(--main-color) !important;
   border: 1px solid var(--border-color) !important;
}

/* Icona del date-picker invertita per leggibilità */
html.dark input::-webkit-calendar-picker-indicator {
   filter: invert(0.85);
   cursor: pointer;
}

/* Placeholder coerenti */
html.dark input::placeholder,
html.dark textarea::placeholder {
   color: var(--muted-color);
}


/* === DARK THEME — uniforma background grafico "Confronto Patrimonio" === */

html.dark .card-pro {
   background-color: var(--search-area-bg) !important;
   border-color: var(--border-color) !important;
   box-shadow: none !important;
}