:root {
  --main-color: #2E099C;
  --main-color-hover: #18025a;
  --primary-color: #2E099C;
  --primary-color-rgb: 46, 9, 156;
  --black-color: #000000;
  --white-color: #ffffff;
  --primary-color-hover: #18025a;
  --scrollbar-color: #abaaaa;
  --danger-color: #BB0F4D;
  --danger-color-hover: #940d3f;
  --form-elements-color: #EEE8FF;
  --black-color-filter: #212529;
  --gray-light-color: #dddddd;
  --gray-semi-light-color: #c0c0c0;
  --nav-pills-color: #6c757d;
  --gray-extra-light-color: #f5f5f5;
  --unsaved-color: #F6EF46;
  --background-red: #f0808087;
  --background-orange: #f4a46073;
  --background-grey: #d3d3d37d;
  --background-blue: #007bff82;
  --background-lightblue: #add8e67d;
  --background-green: #90ee90ab;

  --fs-1: 0.05625rem;
  --fs-2: calc(var(--fs-1) * 2);
  --fs-3: calc(var(--fs-1) * 3);
  --fs-4: calc(var(--fs-1) * 4);
  --fs-5: calc(var(--fs-1) * 5);
  --fs-6: calc(var(--fs-1) * 6);
  --fs-7: calc(var(--fs-1) * 7);
  --fs-8: calc(var(--fs-1) * 8);
  --fs-9: calc(var(--fs-1) * 9);
  --fs-10: calc(var(--fs-1) * 10);
  --fs-11: calc(var(--fs-1) * 11);
  --fs-12: calc(var(--fs-1) * 12);
  --fs-13: calc(var(--fs-1) * 13);
  --fs-14: calc(var(--fs-1) * 14);
  --fs-15: calc(var(--fs-1) * 15);
  --fs-16: calc(var(--fs-1) * 16);
  --fs-17: calc(var(--fs-1) * 17);
  --fs-18: calc(var(--fs-1) * 18);
  --fs-19: calc(var(--fs-1) * 19);
  --fs-20: calc(var(--fs-1) * 20);
  --fs-25: calc(var(--fs-1) * 25);
  --fs-30: calc(var(--fs-1) * 30);
  --fs-34: calc(var(--fs-1) * 34);
  --fs-35: calc(var(--fs-1) * 35);
  --fs-40: calc(var(--fs-1) * 40);
  --fs-45: calc(var(--fs-1) * 45);
  --fs-50: calc(var(--fs-1) * 50);
  --fs-60: calc(var(--fs-1) * 60);
  --fs-70: calc(var(--fs-1) * 70);
  --fs-75: calc(var(--fs-1) * 75);
  --fs-80: calc(var(--fs-1) * 80);
  --fs-90: calc(var(--fs-1) * 90);
  --fs-100: calc(var(--fs-1) * 100);
  --fs-150: calc(var(--fs-1) * 150);
  --fs-200: calc(var(--fs-1) * 200);
  --fs-250: calc(var(--fs-1) * 250);
  --fs-300: calc(var(--fs-1) * 300);
  --fs-350: calc(var(--fs-1) * 350);
  --fs-400: calc(var(--fs-1) * 400);
  --fs-450: calc(var(--fs-1) * 450);
  --fs-500: calc(var(--fs-1) * 500);
  --fs-600: calc(var(--fs-1) * 600);
  --fs-700: calc(var(--fs-1) * 700);
  --fs-800: calc(var(--fs-1) * 800);
  --fs-900: calc(var(--fs-1) * 900);
  --fs-1000: calc(var(--fs-1) * 1000);
}

html {
  /* overflow-y: auto; */
  overflow-x: hidden;
  /* -ms-zoom: 0.9;
  zoom: 0.9; */
  font-size: 16px;
}

.modal-backdrop {
  width: 100% !important;
  height: 100% !important;
}

.modal-dialog,
.modal-content {
  border-radius: var(--fs-10) !important;
}

aside[class*=sidebar-dark] {
  background-color: var(--primary-color) !important;
  background-size: var(--fs-600) auto;
}

aside[class*=sidebar-dark] .brand-link,
aside[class*=sidebar-dark] .user-panel,
aside .form-inline {
  border-bottom: var(--fs-1) solid transparent;
}

aside[class*=sidebar-dark-] .sidebar a {
  color: var(--white-color);
}

.messagebox {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 9999;
  width: calc(var(--fs-1) * 245);
}

.dropdown-item,
.dropdown-item:focus {
  outline: 0;
}

.card-tools.card-tools-main {
  position: fixed;
  bottom: var(--fs-25);
  right: var(--fs-25);
  z-index: 3;
}

.card-tools.card-tools-main:not(.card-tools-asana) button {
  text-transform: uppercase;
  padding: var(--fs-10) var(--fs-20);
}

.card-tools.card-tools-main li.nav-item+li.nav-item {
  margin-left: var(--fs-20);
}

.content-header .nav-pills .nav-link {
  color: var(--white-color);
  text-transform: uppercase;
}

.modalfooteractionlist a {
  color: var(--white-color);
}

.content-header .nav-pills .nav-link {
  line-height: var(--fs-20);
  padding: var(--fs-2) var(--fs-10);
}

.content-header h1 {
  font-size: calc(var(--fs-1) * 28.8);
}

label {
  margin-bottom: var(--fs-8);
}

/* sottomenu */
#sottomenu a {
  cursor: pointer;
  font-size: var(--fs-15);
  padding: var(--fs-2) var(--fs-10);
}

.nav-template {
  cursor: pointer
}

/* fine sottomenu */

/* maintable & table_input style */
table.maintable td,
table.maintable th {
  white-space: pre;
  padding: var(--fs-5) var(--fs-15) var(--fs-5) 0;
}

table.maintable td:first-child,
table.maintable th:first-child {
  padding-left: var(--fs-15);
}

table.maintable td>span,
table.maintable th>span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis
}

.datatr {
  cursor: pointer;
  border-top: var(--fs-1) solid #eee
}

.datatr:hover {
  opacity: .8
}

table.table_input td,
table.table_input th {
  white-space: pre;
  padding: var(--fs-5) var(--fs-15) var(--fs-5) 0;
}

table.table_input td>span,
table.table_input th>span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis
}

/* fine maintable & table_input style */

/* campi read */
.form-control:disabled,
.form-control[readonly] {
  background-color: transparent;
  opacity: 1;
  border: none
}

.overflowauto {
  overflow: auto
}

.dataTable tr[data-href] {
  cursor: pointer
}

.dataTable.fixedHeader-floating {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

div.dataTables_wrapper div.dataTables_length select {
  padding: .375rem 1.75rem .375rem .75rem;
}

#maintable_wrapper>div>div {
  overflow: auto
}

.titolocard.collassabile {
  cursor: pointer
}

.titolocard.collassabile i.fa-caret-up {
  display: block
}

.titolocard.collassabile i.fa-caret-down {
  display: none
}

.titolocard.collassabile.collapsed i.fa-caret-up {
  display: none
}

.titolocard.collassabile.collapsed i.fa-caret-down {
  display: block
}

.contenutocard h3 {
  margin-top: var(--fs-20);
  font-size: 1.3rem;
}

.contenutocard h4 {
  margin-top: var(--fs-10);
  font-size: 1.2rem;
}

.asteriscoRequired {
  color: var(--danger-color);
}

.btn-small {
  padding: var(--fs-2) var(--fs-4);
}

/*.submitbtn {position:fixed;right:5%;bottom:5%;z-index:999;border-radius:100%;text-transform:uppercase;}*/

.progress {
  background: var(--white-color);
  border: var(--fs-1) solid #c0c0c0;
  font-size: var(--fs-10);
}

.td-min-width {
  width: var(--fs-1);
}

.div-max-width-300 {
  max-width: var(--fs-300);
}

.div-max-width-300 a {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.span-max-width-300 {
  max-width: var(--fs-300);
  width: auto;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
}

.span-max-width-150 {
  max-width: var(--fs-150);
  width: auto;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
}

.span-max-width-200 {
  max-width: var(--fs-200);
  width: auto;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
}

.span-max-width-250 {
  max-width: var(--fs-250);
  width: auto;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link,
.nav-pills .dropdown-item.active:not(.nav-filter-or) {
  background: var(--nav-pills-color);
  color: var(--white-color);
  border: var(--fs-1) solid var(--nav-pills-color);
}

.nav-pills .nav-link:not(.active):hover {
  color: var(--black-color);
}

.filters-pills {
  gap: 5px;
}

.filters-pills.nav-pills .nav-item:has(.nav-link:not(.active)):not(:has(.nav-delete-filter)),
.filters-pills.nav-pills .nav-item:has(.nav-link:not(.active):not(.nav-delete-filter)),
.filters-pills.nav-pills .nav-item:has(.btn-group.dropright:not(.active)):has(.btn-group.dropright:not(.nav-delete-filter)),
.filters-pills.nav-pills .nav-item:has(.btn-group.dropright:not(.active)):has(.btn-group.dropright:not(.nav-delete-filter)) {
  border: var(--fs-1) solid var(--gray-light-color);
  border-radius: var(--fs-10);
}

.filters-pills.nav-pills .nav-item .btn-group.dropright {
  width: 100%;
}

@media (min-width: 576px) {
  .filters-pills.nav-pills .nav-item {
    max-width: 300px;
  }
}

.nav-pills .nav-link {
  padding: var(--fs-5) var(--fs-25);
}

.nav-pills .dropdown-item.nav-filter-or {
  gap: var(--fs-10);
  padding-inline: .5rem;
}

.nav-pills .dropdown-item.nav-filter-or.active {
  gap: var(--fs-10);
}

.nav-pills .dropdown-item.nav-filter-or>i {
  visibility: hidden;
}

.nav-pills .dropdown-item.active.nav-filter-or {
  background: transparent;
  color: var(--black-color-filter);
}

.nav-pills .dropdown-item.active.nav-filter-or>i {
  visibility: visible;
  color: var(--primary-color-hover);
}

span.username {
  margin: 0 !important;
}

div.comment-text {
  margin: 0 !important;
}

th.sort {
  cursor: pointer;
}

.card-header>.card-tools {
  margin-right: var(--fs-40);
  margin-top: var(--fs-5);
}

.text-center-vertical {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.mt-25 {
  margin-top: var(--fs-25);
}

.ml-25 {
  margin-left: var(--fs-25);
}

.mt-25-li li {
  margin-bottom: var(--fs-25);
  margin-left: var(--fs-25);
  border-bottom: var(--fs-1) solid var(--gray-semi-light-color);
}

.form-button-right button[type='submit'] {
  float: right;
}

tr.total-list {
  background-color: var(--gray-semi-light-color) !important;
}

.form-inline {
  border-bottom: var(--fs-1) solid #4f5962;
  padding-bottom: var(--fs-14) !important;
}

input.form-control-sidebar {
  background: var(--white-color) !important;
  color: var(--black-color) !important;
}

.card-cursor-hover {
  cursor: pointer;
}

.cp {
  cursor: pointer;
}

.dropdown-toggle::after {
  content: none !important;
}

form legend {
  font-weight: bold;
}

table.jexcel {
  font-size: var(--fs-12);
}

#modalBuonoOrdine .modal-dialog {
  max-width: 95%;
  width: calc(var(--fs-1) * 1600);
}

.btn-circle {
  border-radius: 100%;
}

.btn-secondary.light {
  background: var(--gray-extra-light-color);
  border: var(--fs-1) solid var(--gray-light-color);
  color: var(--black-color);
}

.boxcambio {
  display: none;
  background: var(--gray-extra-light-color);
  border: var(--fs-1) solid var(--gray-light-color);
  box-shadow: 0 0 var(--fs-10) 0 #eee;
  padding: var(--fs-15);
  margin-bottom: var(--fs-10);
  margin-top: var(--fs-15);
}

.boxcambio input,
.boxcambio select {
  width: 100%;
  height: var(--fs-35);
  margin-bottom: var(--fs-10);
}

.boxcambio input[type="submit"] {
  float: right;
  width: auto;
}

.custom-file-input:lang(en)~.custom-file-label::after {
  content: "Scegli file";
}

.switch {
  position: relative;
  display: inline-block;
  width: var(--fs-45);
  height: var(--fs-25);
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: var(--fs-17);
  width: var(--fs-17);
  left: var(--fs-4);
  bottom: var(--fs-4);
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked+.slider {
  background-color: #2196F3;
}

input:focus+.slider {
  box-shadow: 0 0 var(--fs-1) #2196F3;
}

input:checked+.slider:before {
  -webkit-transform: translateX(var(--fs-18));
  -ms-transform: translateX(var(--fs-18));
  transform: translateX(var(--fs-18));
}

.slider.round {
  border-radius: var(--fs-34);
}

.slider.round:before {
  border-radius: 50%;
}

#quantitascanner {
  width: var(--fs-50);
  height: var(--fs-34);
  display: none;
}

#scannerarticolo {
  position: fixed;
  left: calc(var(--fs-200) * -1);
}

#boxfiltri {
  background: #eee;
  padding: var(--fs-15);
  border: var(--fs-1) solid var(--gray-light-color);
}

#boxfiltri label {
  display: block;
  width: 100%;
  margin-bottom: var(--fs-5);
  font-weight: 400;
}

#boxfiltri input,
#boxfiltri select {
  display: block;
  width: 100%;
  height: var(--fs-40);
  margin-bottom: var(--fs-25);
  border: var(--fs-1) solid var(--gray-semi-light-color);
  border-radius: var(--fs-5);
  padding: var(--fs-5);
}

#boxfiltri button {
  float: right;
}

.btn-fixed-w-h {
  width: var(--fs-30);
  height: var(--fs-30);
  position: relative;
}

.btn-fixed-w-h i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.space-btn .btn-fixed-w-h {
  width: var(--fs-40);
  height: var(--fs-40);
  position: relative;
}

.space-btn .btn-fixed-w-h i {
  font-size: var(--fs-20);
}

.space-btn .altre-azioni button {
  margin-left: var(--fs-10);
}

.space-btn .altre-azioni label {
  margin-left: var(--fs-10);
  margin-bottom: 0;
  font-weight: normal;
}

.loading-div-img {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.2);
  display: none;
  z-index: 999999;
}

.loading-div-img img {
  position: absolute;
  max-width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

tr.disabled {
  background: #eee;
  color: #969696;
}

.alert-fixed {
  position: fixed;
  top: 50%;
  left: 50%;
  width: auto;
  transform: translate(-50%, -50%);
  z-index: 999999;
  font-size: var(--fs-40);
  padding: var(--fs-50);
  text-align: center;
  display: none;
  border-radius: var(--fs-5);
}

.alert-fixed i {
  font-size: var(--fs-100);
  display: block;
}

.alert-fixed span.dettaglio {
  font-size: var(--fs-20);
}

body.arval [class*=sidebar-dark] .brand-link .font-weight-light {
  color: #00925b !important;
  font-weight: 600 !important;
  letter-spacing: var(--fs-1);
}

body.arval .btn-primary {
  background-color: #00925b !important;
  border-color: #00925b !important;
}


body.targatelematics [class*=sidebar-dark] .brand-link .font-weight-light {
  color: #7FBA00 !important;
  font-weight: 600 !important;
  letter-spacing: var(--fs-1);
}

body.targatelematics .btn-primary {
  background-color: #7FBA00 !important;
  border-color: #7FBA00 !important;
}

.commessa-edit {
  padding-bottom: var(--fs-100) !important;
}

.gestioneallegati .scelte {
  display: inline-block;
  width: 44%;
  margin: var(--fs-10) 2.5%;
  border-bottom: var(--fs-2) solid #eee;
  text-align: center;
  cursor: pointer;
}

.gestioneallegati .scelte.active {
  border-color: #007bff;
}

.container-altre-azioni {
  position: relative;
  display: inline-block;
}

.altre-azioni {
  display: none;
  position: absolute;
  right: 0;
  background: var(--white-color);
  z-index: 99;
  width: calc(var(--fs-1) * 175);
  text-align: right;
  box-shadow: 0 0 var(--fs-10) 0 #eee;
  border: var(--fs-1) solid #c0c0c0;
  padding: var(--fs-10);
}

.altre-azioni button {
  margin-bottom: var(--fs-10);
}

.altre-azioni a {
  border: 0;
  display: block;
  padding: var(--fs-2) 0;
  font-size: var(--fs-14);
  color: #000;
  border-bottom: var(--fs-1) solid #ddd;
}

.altre-azioni a:hover {
  background: #eee;
}

#gestionemagazzino .modal-dialog {
  max-width: var(--fs-1000);
}

.ombraiframe {
  position: absolute;
  z-index: 999999999999;
  background: rgba(0, 0, 0, 0.8);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}

.ombraiframe img {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  max-width: var(--fs-50);
  transform: translate(-50%, -50%);
}

.bread-sotto {
  color: #000;
  font-size: var(--fs-14);
}

.bread-sotto.active {
  border-bottom: var(--fs-2) solid #007bff;
}

.lista-email {
  height: calc(100vh - var(--fs-200));
  background: var(--white-color);
  border: var(--fs-1) solid #ddd;
  box-shadow: 0 0 var(--fs-10) 0 #ddd;
  overflow: auto;
}

.lista-email .item {
  padding: var(--fs-15);
  border-bottom: var(--fs-1) solid #969696;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
}

.lista-email .item span {
  display: block;
  width: 75%;
  word-break: break-all;
}

.lista-email .item span.mittente {
  font-size: var(--fs-14);
  color: #969696;
}

.lista-email .item span.title {
  font-weight: 500;
}

.lista-email .item i {
  position: absolute;
  top: 50%;
  right: var(--fs-15);
  transform: translateY(-50%);
  font-size: var(--fs-20);
  color: #c0c0c0;
}

.lista-email .item:hover i {
  color: #4b4b4b;
}

.lista-email .item.active {
  background: #eee;
}

.lista-email .item.active i {
  color: #4b4b4b;
}

.box-email {
  height: calc(100vh - var(--fs-200));
  background: var(--white-color);
  border: var(--fs-1) solid #ddd;
  box-shadow: 0 0 var(--fs-10) 0 #ddd;
  padding: 0;
}

.box-email iframe {
  height: calc(100vh - var(--fs-200));
  width: 100%;
  overflow: hidden;
}

.modalemail .modal-dialog {
  max-width: var(--fs-1000) !important;
}

.modalemail .modal-dialog .modal-content {
  height: 80vh;
}

.modalemail .modal-dialog .modal-content iframe {
  width: 100%;
  height: 100%;
  overflow: none;
}

.iframe-content .info {
  background: #eee !important;
  padding: var(--fs-15) !important;
  border-bottom: var(--fs-1) solid #ddd !important;
  font-size: var(--fs-16) !important;
}

.iframe-content .info span {
  display: block !important;
  margin-bottom: var(--fs-5) !important;
}

.iframe-content .info .button-absolute {
  position: absolute !important;
  right: var(--fs-15) !important;
  top: var(--fs-15) !important;
  font-size: var(--fs-14) !important;
}

.iframe-content .info .button-absolute a {
  font-size: var(--fs-14) !important;
}

.check-allegati {
  width: var(--fs-20);
  height: var(--fs-20);
  margin-right: var(--fs-10);
  margin-bottom: var(--fs-15);
}

.list-change {
  display: inline-block;
  border-radius: var(--fs-5);
  position: absolute;
  z-index: 9999;
  box-shadow: 0 0 var(--fs-10) 0 #c0c0c0;
}

.list-change a {
  font-size: var(--fs-14);
  padding: var(--fs-10) 0;
  border-bottom: var(--fs-1) solid #c0c0c0;
}

.list-change a:nth-last-child(1) {
  border: 0;
}

.bg-warning-custom {
  background: #de7b00;
  color: var(--white-color);
}

.checkbox-table {
  max-width: var(--fs-40);
  text-align: center;
}

.checkbox-table input {
  width: var(--fs-18);
  height: var(--fs-18);
}

.file_tt {
  display: block;
  padding: var(--fs-150) 0;
  font-weight: 500 !important;
  background: var(--white-color);
  border: var(--fs-1) solid #c0c0c0;
  border-radius: var(--fs-10);
  text-align: center;
  cursor: pointer;
}

.main-sidebar .os-viewport {
  margin-bottom: var(--fs-10);
}

.swal2-container.swal-big .swal2-popup {
  width: calc(80% - var(--fs-20));
}

.swal2-actions .swal2-styled.swal2-confirm.btn-warning:not([disabled]):hover {
  background-color: #e0a800 !important;
  box-shadow: none;
}

/* Remove blue focus outline on SweetAlert2 buttons */
.swal2-actions button:focus {
  box-shadow: none !important;
  outline: none !important;
}

@media (max-width:1800px) {
  .hide1800 {
    display: none;
  }
}

@media (max-width:1500px) {
  .hide1500 {
    display: none;
  }
}

@media (max-width:900px) {
  .table-responsive-md {
    overflow: auto;
  }
}

.btn-action-fixed {
  width: var(--fs-75);
  height: var(--fs-75);
  position: fixed;
  bottom: var(--fs-30);
  right: var(--fs-30);
  z-index: 9999;
}

.btn-action-fixed i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: var(--fs-35);
}

.content-wrapper {
  padding-bottom: var(--fs-20);
}

.filtronascosto {
  display: none !important;
}

@media (min-width:1200px) {
  .col-xl-pers-5 {
    max-width: 20%;
  }
}

ul.pagination {
  overflow: auto;
  max-width: 100%;
  margin: 0px !important;
}

.content-header .breadcrumb {
  white-space: nowrap;
}

@media (max-width:767px) {
  .table-responsive-md {
    overflow: auto;
  }

  .metamobile {
    width: 48%;
    padding: var(--fs-15) !important;
  }
}

.animate-red-white {
  animation-name: animationredwhite;
  animation-duration: 1s;
  animation-iteration-count: infinite;
}

@keyframes animationredwhite {
  0% {
    color: red;
  }

  50% {
    color: white;
  }

  100% {
    color: red;
  }
}

.flex-width-auto {
  flex: 1 1 0px;
}

.gap-10 {
  gap: var(--fs-10);
}

.flex-width-30 {
  flex: 1 1 30%;
}

.flex-width-50 {
  flex: 1 1 50%;
}

.flex-width-30-gap-10 {
  flex: 1 1 calc(30% - var(--fs-10));
}

.flex-width-50-gap-10 {
  flex: 1 1 calc(50% - var(--fs-10));
}


@media (min-width: 768px) {
  .flex-md-width-auto {
    flex: 1 1 0px;
  }

  .gap-md-10 {
    gap: var(--fs-10);
  }

  .flex-md-width-30 {
    flex: 1 1 30%;
  }

  .flex-md-width-50 {
    flex: 1 1 50%;
  }

  .flex-md-width-30-gap-10 {
    flex: 1 1 calc(30% - var(--fs-10));
  }

  .flex-md-width-50-gap-10 {
    flex: 1 1 calc(50% - var(--fs-10));
  }
}

@media (min-width: 1024px) {
  .flex-lg-width-auto {
    flex: 1 1 0px;
  }

  .gap-lg-10 {
    gap: var(--fs-10);
  }

  .flex-lg-width-30 {
    flex: 1 1 30%;
  }

  .flex-lg-width-50 {
    flex: 1 1 50%;
  }

  .flex-lg-width-30-gap-10 {
    flex: 1 1 calc(30% - var(--fs-10));
  }

  .flex-lg-width-50-gap-10 {
    flex: 1 1 calc(50% - var(--fs-10));
  }
}

@media (min-width: 1200px) {
  .flex-xl-width-auto {
    flex: 1 1 0px;
  }

  .gap-xl-10 {
    gap: var(--fs-10);
  }

  .flex-xl-width-30 {
    flex: 1 1 30%;
  }

  .flex-xl-width-50 {
    flex: 1 1 50%;
  }

  .flex-xl-width-30-gap-10 {
    flex: 1 1 calc(30% - var(--fs-10));
  }

  .flex-xl-width-50-gap-10 {
    flex: 1 1 calc(50% - var(--fs-10));
  }
}

.hide-action {
  display: none !important;
}

.select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-selection,
.select2-container--bootstrap4.select2-container--disabled .select2-selection {
  background-color: inherit !important;
  box-shadow: inherit !important;
  border: none !important;
}

.select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-selection .select2-selection__arrow,
.select2-container--bootstrap4.select2-container--disabled .select2-selection .select2-selection__arrow {
  display: none;
}

select.form-control:disabled,
select.form-control[readonly] {
  appearance: none;
}

.dhx_cal_print {
  cursor: pointer;
  text-align: center;
  font-size: var(--fs-14);
  font-weight: 500;
  color: #0288d1;
  background-color: none;
  background-image: none;
  background-position: calc(var(--fs-1) * -62) 0;
  background-repeat: no-repeat;
  height: var(--fs-30);
  width: var(--fs-80);
  border: var(--fs-1) solid transparent;
  border-radius: 0;
  text-decoration: none;
  text-transform: uppercase;
  line-height: var(--fs-30);
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  position: absolute;
  white-space: nowrap;
  top: var(--fs-14);
  left: var(--fs-14);
  border-radius: var(--fs-2);
}

@media print {
  .dataTables_filter {
    display: none
  }

  .dataTable .sorting:before,
  .dataTable .sorting:after,
  .dataTable .sorting_asc:before,
  .dataTable .sorting_asc:after,
  .dataTable .sorting_desc:before,
  .dataTable .sorting_desc:after,
  .dataTable .sorting_asc_disabled:before,
  .dataTable .sorting_asc_disabled:after,
  .dataTable .sorting_desc_disabled:before,
  .dataTable .sorting_desc_disabled:after {
    display: none !important
  }

  .overflowauto {
    overflow: unset !important
  }

  .noprint {
    display: none !important
  }

  .dhx_cal_navline {
    display: none !important
  }

  .dhx_cal_data {
    overflow-y: hidden !important
  }

  .dhx_cal_header,
  .dhx_cal_data {
    position: static !important
  }
}

@media (max-width: 768px) {
  .dhx_cal_navline .dhx_cal_next_button {
    left: calc(50% + var(--fs-60)) !important;
    right: 0 !important;
    transform: translate(-50%, 0) !important;
    top: calc(var(--fs-1) * 54) !important;
  }

  .dhx_cal_navline .dhx_cal_prev_button {
    left: calc(50% - var(--fs-60)) !important;
    right: 0 !important;
    transform: translate(-50%, 0) !important;
    top: calc(var(--fs-1) * 54) !important;
  }

  .dhx_cal_navline .dhx_cal_today_button {
    left: calc(50%) !important;
    right: 0 !important;
    transform: translate(-50%, 0) !important;
    top: calc(var(--fs-1) * 54) !important;
  }

  .dhx_cal_header {
    top: var(--fs-100) !important;
  }

  .dhx_cal_data {
    top: calc(var(--fs-1) * 141) !important;
  }

  .dhx_timeline_scale_header {
    top: calc(var(--fs-1) * 101) !important;
  }
}

.card-tools.card-tools-main .nav-item .nav-link[action_type="post"] {
  color: var(--white-color);
  text-transform: uppercase;
}

.notifications {
  right: auto !important;
  top: 0 !important;
  border-radius: var(--fs-25);
}

.notifications.notifications-small {
  right: inherit !important;
  left: 35px;
}

body .notifications.notifications-small:empty {
  display: none !important;
}

.sidebar-focused .notifications.notifications-small,
.sidebar-open .notifications.notifications-small {
  display: none !important;
}

.main-sidebar:hover .notifications.notifications-small {
  opacity: 0;
  visibility: hidden;
}

@media (max-width: 576px) {

  .main-sidebar ul.nav-sidebar>li,
  .main-sidebar ul.nav-treeview li.nav-item {
    padding: 4px 0px;
  }
}

@media (max-width: 576px) {

  .login-box,
  .register-box {
    margin: var(--fs-7) auto 0;
  }
}

.nav-sidebar>.nav-item>.nav-link>i {
  margin-left: calc(var(--fs-1) * 0.8);
  font-size: var(--fs-19);
  margin-right: var(--fs-3);
  text-align: center;
  width: var(--fs-25);
}

.nav-sidebar .nav-item>.nav-link {
  margin-bottom: var(--fs-3);
}

.btn {
  font-size: var(--fs-16);
  border-width: var(--fs-1);
}

.form-control {
  font-size: var(--fs-16);
  height: calc(var(--fs-1) * 38);
  padding: var(--fs-6) var(--fs-12);
}

.btn-group-sm>.btn,
.btn-sm {
  padding: var(--fs-4) var(--fs-8);
  font-size: var(--fs-14);
  border-radius: var(--fs-3);
}

aside a.pushmenu {
  content: "";
  position: fixed;
  top: 50%;
  width: var(--fs-20);
  height: var(--fs-100);
  left: 0;
  transition: all .3s ease-in-out, width .3s ease-in-out;
  transform: translate(0, -50%);
  background-color: var(--primary-color);
  border-top-right-radius: var(--fs-25);
  border-bottom-right-radius: var(--fs-20);
  z-index: 1038;
}

aside a.pushmenu i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all .3s ease-in-out;
}

.sidebar-closed a.pushmenu {
  left: 0;
}

.sidebar-open aside.main-sidebar.sidebar-dark-primary a.pushmenu {
  left: calc(var(--fs-1) * 244);
  width: 0;
}

.sidebar-open aside.main-sidebar.sidebar-dark-primary a.pushmenu i {
  opacity: 0;
}

.content-wrapper {
  background: transparent;
}

nav.main-header.navbar.navbar-expand.navbar-white.navbar-light {
  height: calc(var(--fs-1) * 61);
}

.sidebar-mini.layout-fixed .brand-img {
  max-width: calc(var(--fs-1) * 180);
  max-height: var(--fs-50);
  height: 100%;
}

.primary-color {
  color: var(--primary-color);
}

a {
  color: var(--primary-color);
}

a:hover {
  color: var(--primary-color-hover);
}

.btn:not(.toggle-handle) {
  border-radius: var(--fs-10);
}

.bg-primary {
  background-color: var(--primary-color) !important;
}

.btn-primary,
.btn-primary.disabled,
.btn-primary:disabled {
  color: var(--white-color);
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show>.btn-primary.dropdown-toggle,
.btn-primary.focus,
.btn-primary:focus {
  background-color: var(--primary-color-hover);
  border-color: var(--primary-color-hover);
}

.btn-outline-primary,
.btn-outline-primary:disabled {
  color: var(--primary-color);
  border-color: var(--primary-color);
}

.btn-outline-primary:disabled {
  color: var(--primary-color);
  border-color: var(--primary-color);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.selected {
  color: var(--white-color) !important;
  background-color: var(--primary-color);
  border-color: var(--primary-color);

  i {
    color: var(--white-color) !important;
  }
}

.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:active,
.btn-outline-danger.selected {
  color: var(--white-color) !important;
  background-color: #dc3545;
  border-color: #dc3545;

  i {
    color: var(--white-color) !important;
  }
}

.btn-circle {
  border-radius: 50%;
  width: var(--fs-25);
  height: var(--fs-25);
  font-size: var(--fs-13);
}

.text-primary {
  color: var(--primary-color) !important;
}

.callout.callout-primary {
  border-left-color: var(--primary-color) !important;
  border-left-width: 5px !important;
  border-left-style: solid;
}

.info-box:hover .info-box-icon,
.info-box:hover .info-box-text {
  color: var(--primary-color-hover) !important;
}

textarea {
  resize: none;
}

textarea:focus,
textarea:hover {
  resize: vertical;
}

body {
  font-size: var(--fs-16);
}

.bold {
  font-weight: 600;
}

.black-color {
  color: var(--black-color);
}

.white-color {
  color: var(--white-color);
}

.fs-25 {
  font-size: var(--fs-25);
}

.fs-22 {
  font-size: calc(var(--fs-1) * 22);
}

.fs-14 {
  font-size: var(--fs-14);
}

.info-box .info-box-icon {
  font-size: var(--fs-30);
}

.info-box {
  min-height: var(--fs-80);
  border-radius: var(--widget-radius) !important;
  border: none;
  box-shadow: var(--widget-shadow);
}

.info-box:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08), 0 2px 5px rgba(0, 0, 0, 0.04);
  /* Ombra più profonda all'hover */
}

.dropdown-menu {
  font-size: var(--fs-16);
}

.sidebar-mini .main-sidebar .sidebar {
  scrollbar-color: var(--white-color) var(--primary-color) !important;
}

.sidebar-mini .main-sidebar.sidebar-dark-primary,
.sidebar-mini .main-sidebar.sidebar-dark-primary::before {
  width: var(--fs-100);
}

.sidebar-mini.sidebar-open .main-sidebar.sidebar-dark-primary,
.sidebar-mini.sidebar-open .main-sidebar.sidebar-dark-primary::before {
  width: var(--fs-250);
}

.sidebar-mini .content-wrapper,
.sidebar-mini .main-footer,
.sidebar-mini .main-header {
  margin-left: 0 !important;
}

.content-wrapper>.content-header,
.content-wrapper>.content {
  margin-left: var(--fs-15);
  margin-right: var(--fs-15);
}

[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link {
  color: var(--white-color);
}

.dropdown-menu {
  right: var(--fs-14) !important;
  border-radius: var(--fs-10);
}

.dropdown-menu .dropdown-item:not(.tour):first-child {
  border-top-left-radius: var(--fs-10);
  border-top-right-radius: var(--fs-10);
}

.dropdown-menu .dropdown-item:not(.tour):last-child {
  border-bottom-left-radius: var(--fs-10);
  border-bottom-right-radius: var(--fs-10);
}

.dropdown-item:not(.tour).active,
.dropdown-item:not(.tour):active,
li:not(#header-menu) .dropdown-item:not(.nav-filter, .form-check-label, .tour).hover,
li:not(#header-menu) .dropdown-item:not(.nav-filter, .form-check-label, .tour):hover {
  background-color: var(--primary-color-hover);
}

.dropdown-menu .dropdown-item:not(.tour) i {
  color: var(--primary-color);
}

.dropdown-menu {
  width: fit-content !important;
}

.dropdown-item:not(.tour).active i,
.dropdown-item:not(.tour):active i,
li:not(#header-menu) .dropdown-item:not(.nav-filter, .form-check-label, .tour).hover i,
li:not(#header-menu) .dropdown-item:not(.nav-filter, .form-check-label, .tour):hover i {
  color: var(--white-color);
}

.form-control {
  border-radius: var(--fs-10);
}

.dashboard .form-control,
.dashboard .form-control,
.timeline .form-control,
.scheda .form-control {
  border: 0;
  background-color: var(--form-elements-color);
}

.dashboard .form-control:focus,
.timeline .form-control:focus,
.scheda .form-control:focus {
  border: var(--fs-2) solid var(--form-elements-color);
}

.dashboard :not(.editor-interfacce) .form-control:disabled,
.dashboard :not(.editor-interfacce) .form-control[readonly],
.timeline :not(.editor-interfacce) .form-control:disabled,
.timeline :not(.editor-interfacce) .form-control[readonly],
.scheda:not(.editor-interfacce) .form-control:disabled,
.scheda:not(.editor-interfacce) .form-control[readonly] {
  background-color: transparent;
}

.select2-container--bootstrap4 .select2-selection {
  border: 0 !important;
  border-radius: var(--fs-10) !important;
  background-color: var(--form-elements-color) !important;
}

.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered .select2-search__field {
  background-color: transparent;
}

table.dataTable thead>tr>th,
table.dataTable tbody>tr>td {
  padding-top: calc(var(--fs-1) * 6.5) !important;
  padding-bottom: calc(var(--fs-1) * 6.5) !important;
  font-size: var(--fs-14) !important;
}

table.dataTable thead>tr>th {
  border-top: 0;
  border-bottom-width: 2px;
  font-weight: 600;
}

div.dataTables_wrapper div.dataTables_info {
  font-size: var(--fs-13);
  font-weight: 600;
  padding-left: var(--fs-15);
}

div.dataTables_wrapper div.dataTables_paginate {
  padding-right: var(--fs-15);
}

.table:not(.table-dark) {
  color: var(--black-color);
}

.page-item:first-child .page-link {
  border-top-left-radius: var(--fs-10);
  border-bottom-left-radius: var(--fs-10);
}

.page-item:last-child .page-link {
  border-top-right-radius: var(--fs-10);
  border-bottom-right-radius: var(--fs-10);
}

.page-link {
  color: var(--black-color);
  font-weight: 600;
  font-size: var(--fs-13);
}

.page-item.active .page-link {
  color: var(--white-color);
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.page-link:hover {
  color: var(--white-color);
  background-color: var(--primary-color-hover);
  border-color: var(--primary-color-hover);
}

.form-check .form-check-input,
.form-check-input-bool {
  appearance: none;
  -webkit-appearance: none;
  min-width: var(--fs-17);
  min-height: var(--fs-17);
  width: var(--fs-17);
  height: var(--fs-17);
  border-radius: 50%;
  outline: none;
  border: var(--fs-1) solid var(--primary-color);
  accent-color: var(--primary-color);
}

.form-check .form-check-input:checked,
.form-check-input-bool:checked {
  appearance: auto;
  -webkit-appearance: auto;
}

.form-check .form-check-input[type="checkbox"],
.form-check-input-bool[type="checkbox"] {
  border-radius: 0;
}

.card-1 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: var(--white-color);
  background-clip: border-box;
  border: 0 solid rgba(0, 0, 0, .125);
  border-radius: var(--fs-4);
}

.btn-danger {
  background-color: var(--danger-color);
  border-color: var(--danger-color);
}

.btn-danger.hover,
.btn-danger:hover {
  color: var(--white-color) !important;
  background-color: var(--danger-color-hover);
}

.btn-danger.focus,
.btn-danger:focus {
  color: var(--white-color) !important;
  background-color: var(--danger-color-hover);
}

.nav-pills .nav-link {
  border-radius: var(--fs-10);
}

.card {
  border-radius: var(--fs-10);
  box-shadow: none;
  border-width: var(--fs-1);
}

h2 {
  font-weight: 600;
  font-size: var(--fs-25);
}

h3 {
  font-size: calc(var(--fs-1) * 22);
}

h1:not(.ck-content *):not(.ck *, .swal2-title),
h2:not(.ck-content *):not(.ck *, .swal2-title),
h3:not(.ck-content *):not(.ck *, .swal2-title),
h4:not(.ck-content *):not(.ck *, .swal2-title),
h5:not(.ck-content *):not(.ck *, .swal2-title),
h6:not(.ck-content *):not(.ck *, .swal2-title) {
  color: var(--primary-color);
}

/* Allow headings inside CKEditor to use their own colors */
.ck-content h1,
.ck-content h2,
.ck-content h3,
.ck-content h4,
.ck-content h5,
.ck-content h6,
.ck h1,
.ck h2,
.ck h3,
.ck h4,
.ck h5,
.ck h6 {
  color: inherit;
}

#main_save {
  padding: var(--fs-4) var(--fs-20);
}

/* Hide toolbar when editor is disabled */
.html_editor[disabled]+.ck-editor .ck-editor__top,
.html_editor[readonly]+.ck-editor .ck-editor__top {
  display: none;
}

.html_editor[disabled]+.ck-editor .ck-content {
  border-radius: 10px !important;
  --ck-border-radius: 10px !important
}

/* Fix border radius for disabled editor content */
.html_editor[disabled]+.ck-editor .ck-content,
.html_editor[readonly]+.ck-editor .ck-content {
  border-radius: var(--ck-border-radius);
  border-top-left-radius: var(--ck-border-radius);
  border-top-right-radius: var(--ck-border-radius);
}

#emailForm .ck-editor .ck-content,
#emailForm .ck-editor .ck-content {
  border-radius: 0 !important;
}

/* HTML Editor in table-sublist: hide toolbar when not focused */
.table-sublist .ck-editor:not(:focus-within) .ck-editor__top {
  display: none !important;
}

/* HTML Editor in table-sublist: full width when not focused */
.table-sublist .ck-editor {
  z-index: 1;
  width: 100% !important;
  max-width: 100% !important;
}

.table-sublist .ck-editor:not(:focus-within) {
  width: 100% !important;
}

.table-sublist .ck-editor:not(:focus-within) .ck-content {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: var(--ck-border-radius) !important;
  border-top-left-radius: var(--ck-border-radius) !important;
  border-top-right-radius: var(--ck-border-radius) !important;
  border: none;

  &[contenteditable="true"] {
    background: var(--form-elements-color);
  }

  &[contenteditable="false"] {
    background-color: transparent;
    opacity: 1;
    border: none
  }
}

/* Force toolbar to wrap and hide overflow when space is limited */
.table-sublist .ck-editor .ck-toolbar {
  width: 100% !important;
  max-width: 100% !important;
  flex-wrap: wrap !important;
}

.table-sublist .ck-editor .ck-toolbar .ck-toolbar__items {
  flex-wrap: wrap !important;
  max-width: 100% !important;
}

/* Ensure the editor is visible and functional */
.table-sublist .ck-editor .ck-content {
  min-height: 50px !important;
}

.content-header {
  padding: var(--fs-10) var(--fs-8);
}

.text-danger {
  color: var(--danger-color);
}

.scheda.iframe .card {
  border: 0;
}

.sidebar:not(:hover) {
  overflow-y: hidden;
}

.sidebar-img {
  height: calc(var(--fs-1) * 57);
}

aside:not(.sidebar-focused):not(:hover) .sidebar-img img.full,
aside.sidebar-focused .sidebar-img img.partial,
aside:hover .sidebar-img img.partial {
  width: 0;
}

aside.sidebar-focused .sidebar-img img.full,
.sidebar-img img {
  max-height: 100%;
  max-width: 100%;
  padding: var(--fs-7);
  position: absolute;
  bottom: 0;
}

.sidebar-img img.partial {
  max-width: var(--fs-100);
}

.nav-link {
  display: flex;
}

.nav-sidebar .menu-open>.nav-link i.right {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.login-card-body,
.register-card-body {
  border-radius: var(--fs-10);
}

body.scheda.iframe .content-header.position-sticky {
  top: 0;
  z-index: 1000;
  background-color: var(--white-color);
}

#scheda_colonna_2>.card {
  position: sticky;
  top: 0;
}

.info-box .info-box-content {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

nav.main-header .navbar-nav .dropdown:hover .dropdown-menu {
  display: block;
}

nav.main-header .navbar-nav .dropdown-menu {
  margin-top: 0;
}

.input-group>.select2-container--bootstrap4:not(:last-child) .select2-selection {
  border-top-right-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
}

.input-group>.custom-select:not(:first-child),
.input-group>.form-control:not(:first-child) {
  border-top-left-radius: var(--fs-10);
  border-bottom-left-radius: var(--fs-10);
}

[class*=sidebar-dark-] .nav-sidebar>.nav-item.menu-selected>.nav-link,
[class*=sidebar-dark-] .nav-sidebar>.nav-item.menu-selected:hover>.nav-link,
[class*=sidebar-dark-] .nav-sidebar>.nav-item.menu-selected>.nav-link:focus,
[class*=sidebar-dark-] .nav-treeview>.nav-item.voce-selected>.nav-link,
[class*=sidebar-dark-] .nav-treeview>.nav-item.voce-selected>.nav-link:focus,
[class*=sidebar-dark-] .nav-treeview>.nav-item.voce-selected>.nav-link:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.sidebar-mini .main-sidebar:not(.sidebar-focused):not(:hover) .nav-treeview {
  display: none !important;
}

th.form-check-inline,
td.form-check-inline {
  margin: 0;
  display: table-cell;
}

.sketchpad {
  border: var(--fs-1) solid #777;
  cursor: crosshair;
}

.sidebar {
  overflow-x: hidden;
  height: calc(100% - (4rem + 1px)) !important;
}

.sidebar-mini.sidebar-collapse.layout-top-nav .wrapper .content-wrapper,
.sidebar-mini.sidebar-collapse.layout-top-nav .wrapper .main-footer,
.sidebar-mini.sidebar-collapse.layout-top-nav .wrapper .main-header {
  margin-left: 0 !important;
}

@media screen and (min-width: 992px) {
  .sidebar-mini aside a.pushmenu {
    left: calc(var(--fs-1) * 94);
    /* pointer-events: none; */
  }

  .sidebar-mini aside.main-sidebar.sidebar-dark-primary.sidebar-focused a.pushmenu,
  .sidebar-mini aside.main-sidebar.sidebar-dark-primary:hover a.pushmenu {
    left: calc(var(--fs-1) * 244);
    width: 0;
  }

  .sidebar-mini aside.main-sidebar.sidebar-dark-primary.sidebar-focused a.pushmenu i,
  .sidebar-mini aside.main-sidebar.sidebar-dark-primary:hover a.pushmenu i {
    opacity: 0;
  }

  .sidebar-mini:not(.layout-top-nav) .content-wrapper,
  .sidebar-mini .main-footer,
  .sidebar-mini .main-header {
    margin-left: var(--fs-100) !important;
  }

  .sidebar-mini:not(.sidebar-open):not(.layout-top-nav) .content-wrapper,
  .sidebar-mini:not(.sidebar-open) .main-footer,
  .sidebar-mini:not(.sidebar-open) .main-header {
    margin-left: var(--fs-100) !important;
  }

  .sidebar-mini:not(.sidebar-open):not(.layout-top-nav) .content-wrapper.inside-iframe {
    margin-left: 0 !important;
  }

  .sidebar-mini:not(.sidebar-open) .brand-text,
  .sidebar-mini:not(.sidebar-open) .nav-sidebar .nav-link p,
  .sidebar-mini:not(.sidebar-open) .sidebar .user-panel>.info {
    margin-left: calc(var(--fs-10) * -1);
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    visibility: hidden;
  }

  .content-wrapper>.content-header,
  .content-wrapper>.content {
    margin-left: var(--fs-25);
    margin-right: var(--fs-25);
  }

  .sidebar-mini .main-sidebar.sidebar-focused,
  .sidebar-mini .main-sidebar:hover {
    width: var(--fs-250);
    scrollbar-color: var(--white-color) var(--primary-color) !important;
  }

  .sidebar-mini .main-sidebar.sidebar-focused .brand-text,
  .sidebar-mini .main-sidebar.sidebar-focused .logo-xl,
  .sidebar-mini .main-sidebar.sidebar-focused .nav-sidebar .nav-link p,
  .sidebar-mini .main-sidebar.sidebar-focused .user-panel>.info,
  .sidebar-mini .main-sidebar:hover .brand-text,
  .sidebar-mini .main-sidebar:hover .logo-xl,
  .sidebar-mini .main-sidebar:hover .nav-sidebar .nav-link p,
  .sidebar-mini .main-sidebar:hover .user-panel>.info {
    display: inline-block;
    margin-left: 0;
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    visibility: visible;
  }

  .sidebar-mini .main-sidebar {
    overflow-x: hidden;
  }
}

.sketchpad {
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 16/9;
}

.unsaved {
  min-width: var(--fs-16);
  width: var(--fs-16);
  height: var(--fs-16);
  background-color: var(--unsaved-color);
  border-radius: var(--fs-10);
  animation: pulse 2s ease infinite;
}

@keyframes pulse {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0.4;
  }

  100% {
    opacity: 1;
  }
}

/* ===== Scrollbar CSS ===== */
/* Firefox */
body:not(.kanban) * {
  scrollbar-width: auto;
  scrollbar-color: var(--scrollbar-color) var(--white-color);
}

aside * {
  scrollbar-color: var(--white-color) var(--primary-color);
}

/* Chrome, Edge, and Safari */
body:not(.kanban) *::-webkit-scrollbar {
  width: var(--fs-14);
}

body:not(.kanban) *::-webkit-scrollbar-track {
  background: var(--white-color);
  border-radius: var(--fs-10)
}

aside *::-webkit-scrollbar-track {
  background: var(--primary-color);
}

*::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-color);
  border-radius: var(--fs-10);
  border: var(--fs-3) solid var(--white-color);
}

aside *::-webkit-scrollbar-thumb {
  background-color: var(--white-color);
  border: var(--fs-3) solid var(--primary-color);
}

/* Fine Scrollbar */

.home-gradient {
  overflow: hidden;
  position: absolute;
  top: calc(var(--fs-200) * -1);

  /* default color gestionale-smart.it */
  background-image: linear-gradient(-240deg,
      #2D079B 20%,
      #72195A 28%,
      #FFD23F 36%,
      #00B8FF 44%,
      #307351 52%,
      #A491D3 60%,
      #D17A22 68%,
      #BB0F4D 80%);
  background-size: 400% 400%;
  animation: gradient 10s ease infinite;
  height: 60vh;
  width: 180%;
  opacity: 1;
  rotate: -10deg;
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.layout-fixed .main-sidebar {
  height: 100% !important;
}

@media (max-width: 600px) {
  .home-gradient {
    rotate: 0deg;
    top: 0px;
    height: 100vh !important;
    width: 100%;
    background-image: linear-gradient(110deg,
        #2D079B 25%,
        #72195A 30%,
        #FFD23F 37%,
        #00B8FF 42%,
        #307351 50%,
        #A491D3 60%,
        #D17A22 68%,
        #BB0F4D 75%);
  }
}

@media screen and (min-width: 2100px) {
  .home-gradient {
    top: calc(var(--fs-400) * -1);
    height: 63vh;
  }
}

.btn-automation {
  outline: none !important;
}

.btn-automation.active {
  color: var(--primary-color) !important;
  border-bottom: var(--fs-3) solid var(--primary-color) !important;
}

.automation-input {
  box-shadow: none;
  border: none;
  background-color: var(--form-elements-color);
}

input.automation-input:focus,
textarea.automation-input:focus,
select.automation-input:focus {
  box-shadow: none;
  border: none;
  background-color: var(--form-elements-color);
}

.automation-icon {
  padding-top: calc(var(--fs-1) * 3.2);
}

.attivatore-scelto,
.variabili-disponibili {
  font-weight: 500;
  color: var(--primary-color) !important;
  border: var(--fs-2) solid var(--primary-color) !important;
  background-color: transparent !important;
}

.scegli-foglio,
.edit-blocco {
  border-color: var(--primary-color) !important;
}

.stats-card,
.attivatore-scelto,
.modal-content .edit-blocco {
  border-radius: var(--fs-15) !important;
}

/* .modal-content i {
  font-weight: bold;
  color: var(--primary-color);
  padding-right: 0.5em;
} */

.modal-content span {
  font-weight: 500;
}

.edit-blocco {
  color: var(--primary-color) !important;
  font-weight: 500;
}

.variabili-disponibili {
  background: transparent;
  border: none !important;
  height: var(--fs-200);
  overflow: auto;
}

.variabili-disponibili>.var {
  font-weight: 500;
  color: var(--primary-color) !important;
  border-radius: var(--fs-5) !important;
}

.var {
  border: var(--fs-1) solid var(--primary-color) !important;
}

/* Stili per sistema variabili disponibili globale */
#variabili_container {
  border-radius: var(--fs-10);
  border: var(--fs-1) solid rgba(0, 0, 0, .125);
  margin-bottom: 1rem;
  padding-left: 1rem
}

#variabili_disponibili .variabili-disponibili {
  background: transparent;
  border: none !important;
  max-height: 400px;
  overflow: auto;
  padding: 10px 0;
}

#variabili_disponibili .variabili-disponibili .var {
  font-weight: 500;
  color: var(--primary-color) !important;
  border-radius: var(--fs-5) !important;
}

select.automation-input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  background-position: calc(100%) center !important;
  background: url(/assets/img/funnel/dropdown-arrow.png) no-repeat;
  background-size: calc(var(--fs-1) * 38) calc(var(--fs-1) * 38);
  background-color: var(--form-elements-color);
  padding: var(--fs-8) calc(var(--fs-1) * 32) var(--fs-8) var(--fs-16);
}

select.automation-input:focus {
  background-color: var(--form-elements-color);
}

select.automation-input::-ms-expand {
  display: none;
}

button.parent-color {
  background-color: var(--main-color);
  color: var(--white-color);
}

button.parent-color:hover {
  background-color: var(--main-color-hover);
  color: var(--white-color);
}

a.parent-color {
  color: var(--main-color);
}

body .introjs-button {
  background-color: transparent;
  text-shadow: none;
}

body .introjs-nextbutton,
body .introjs-button:hover,
body .introjs-button:focus,
body .introjs-donebutton {
  color: var(--white-color);
  box-shadow: none;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

body .introjs-prevbutton {
  border: none;
  background-color: transparent;
  color: var(--primary-color);
}

body .introjs-bullets ul li a:focus,
body .introjs-bullets ul li a:hover,
body .introjs-bullets ul li a.active {
  background-color: var(--primary-color);
}

.modifica-campi-foglio {
  max-height: 300px;
  overflow-y: auto;
}

.alert-primary {
  background-color: var(--primary-color);
  color: var(--white-color);
  border-color: var(--primary-color);
}

.alert-primary .close {
  color: var(--white-color);
}

.disabled-div:active {
  pointer-events: none;
}

.disabled-div {
  opacity: 0.4;
  cursor: not-allowed;
}

.active .bs-stepper-circle {
  background-color: var(--primary-color) !important;
}

.bs-stepper .step-trigger:focus {
  color: var(--primary-color) !important;
}

.collapseInterfaccia {
  max-height: 500px;
  overflow: auto;
}

.modal-scroll {
  overflow-y: initial !important;
  overflow-x: hidden;
}

.modal-body {
  overflow-y: auto;
  overflow-x: hidden;
}

#emailModal .modal-body {
  max-height: 80vh;
}

.caret-collapse {
  width: fit-content;
}

.form-control:read-only::placeholder {
  opacity: 0;
}

.form-control:read-only::-webkit-input-placeholder {
  opacity: 0;
}

.form-control:read-only:-ms-input-placeholder {
  opacity: 0;
}

.form-control:read-only::-ms-input-placeholder {
  opacity: 0;
}

.select2-container--disabled .select2-search__field::placeholder {
  opacity: 0;
}

.select2-container--disabled .select2-search__field::-webkit-input-placeholder {
  opacity: 0;
}

.select2-container--disabled .select2-search__field:-ms-input-placeholder {
  opacity: 0;
}

.select2-container--disabled .select2-search__field::-ms-input-placeholder {
  opacity: 0;
}

.swal2-title:first-child,
.swal2-footer {
  margin: 0;
}

.swal2-html-container {
  max-height: calc(80vh - 75px);
  overflow-y: auto;
}

/* Additional style for proper Select2 display inside SweetAlert2 */
.swal2-container .select2-container {
  width: 100% !important;
}

.btn-check-all-import,
.btn-check-single-import {
  cursor: pointer;
}

.action-campo .nav-link {
  color: white;
}

td.action-campo>a {
  margin-bottom: 5px;
}

.main-sidebar:not(:hover) #version {
  visibility: hidden;
}

.main-sidebar:hover #version {
  color: var(--white-color);
  position: absolute;
  bottom: 0px;
  right: 5px;
}

span.select2-container {
  min-width: 100px;
  /* width: calc(100% - 42px) !important; */
}

body .select2-container--bootstrap4 .select2-selection__clear {
  background-color: transparent;
  color: #000;
  font-size: larger;
  font-weight: 700;
}

body .select2-container--bootstrap4 .select2-selection__clear:hover {
  background-color: transparent;
  color: var(--danger-color);
}

.select2-container--disabled .select2-selection__clear {
  display: none;
}

body span.select2-selection__choice__remove:hover {
  color: var(--danger-color) !important;
}

body .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b {
  background-image: url(https://cdn3.iconfinder.com/data/icons/google-material-design-icons/48/ic_keyboard_arrow_down_48px-512.png);
  background-color: transparent;
  background-size: cover;
  border: none !important;
  height: 20px !important;
  width: 20px !important;
  margin: auto !important;
  top: -10px !important;
  left: auto !important;
}

body .select2-container .select2-selection--single {
  user-select: all;
  -webkit-user-select: auto;
}

body .select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-selection,
.select2-container--bootstrap4.select2-container--disabled .select2-selection {
  cursor: inherit !important;
}

/* css per groupRow di DataTable */
.dtrg-group {
  color: var(--primary-color)
}

.dtrg-group>th {
  background-color: transparent !important
}

/* dropdown in lista */
.dropdown-menu-list {
  max-width: fit-content;
  max-height: fit-content;
}

/* icona offline profilo */
.no-connection-icon {
  visibility: hidden;
  cursor: pointer;
}

#no-connection-icon-label {
  display: none;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  #no-connection-icon-label {
    display: none !important;
  }
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
  body aside.main-sidebar {
    overflow-x: visible;
    overflow-y: visible;
  }
}

.table-json-attributes th,
.table-json-attributes td {
  padding: 0px;
}

/* .form-group {
  z-index: 1;
} */

.form-group label {
  text-align: left;
}

label>.i-cronologia {
  display: none;
}

label:hover>.i-cronologia {
  display: inline;
}

i.info-desc-interfaccia {
  position: absolute;
  right: 15px;
}

@media screen and (min-width: 768px) {
  i.info-desc-interfaccia {
    display: none !important;
  }

  [role="tooltip"].tooltip {
    display: block;
  }
}

body [form_inline="1"] {
  width: 60%;
}

div.form-group:has([form_inline="1"])>small.text-muted {
  width: auto;
  max-width: 49%;
}

div.form-group:has([form_inline="1"])>span.select2,
div.form-group:has([form_inline="1"])>div.explainerror,
body div.form-group div:has(>select [form_inline="1"]) {
  display: inline-block !important;
  width: 49%;
}

body div.form-group div:has(>select)>span.select2 {
  width: 100% !important;
}

body label[form_inline="1"] {
  vertical-align: top;
}

.table-sublist body [form_inline="1"],
.table-sublist div.form-group:has([form_inline="1"])>small.text-muted,
.table-sublist div.form-group:has([form_inline="1"])>span.select2,
.table-sublist div.form-group:has([form_inline="1"])>div.explainerror {
  display: block !important;
  width: auto;
}

.table-sublist.template_sublist_card tbody td {
  text-align: left !important;
}

body .table-sublist.template_sublist_card div.form-group input:not(.form-check-input, .form-check-input),
body .table-sublist.template_sublist_card div.form-group .iti--allow-dropdown,
body .table-sublist.template_sublist_card div.form-group select,
body .table-sublist.template_sublist_card div.form-group textarea:not(.html_editor),
body .table-sublist.template_sublist_card div.form-group>label:not(.label-upload),
body .table-sublist.template_sublist_card div.form-group small.text-muted,
body .table-sublist.template_sublist_card div.form-group div.explainerror,
body .table-sublist.template_sublist_card div.form-group div:has(>span.select2) {
  display: inline-block !important;
  /* width: 49%!important; */
  width: 100% !important;

}

.blurred {
  filter: blur(5px);
  pointer-events: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.widget-list {
  gap: 1rem;

  @media screen and (max-width: 768px) {
    flex-wrap: wrap;
    gap: 0rem;
  }

  /* Widget Carousel Styles */
  .widget-carousel-container {
    position: relative;
    overflow: hidden;
  }

  .widget-list {
    transition: transform 0.3s ease;
    width: 100%;
    flex-wrap: nowrap;
    /* Importante per lo scorrimento orizzontale */
    overflow: hidden;
  }

  @media (max-width: 992px) {
    .widget-list {
      justify-content: flex-start;
    }

    .widget-container.widget-slide {
      width: 100%;
    }

    .widget-carousel-container {
      overflow: visible;
    }
  }
}

.widget-item.notifications {
  border-radius: 1rem;
}

.widget-item.notifications .notifica_alert,
.notification_interfaccia {
  color: #dc3545;
  padding-left: .2rem;
}

.widget-item.notifications .notifica_alert::before {
  content: '- ';
  font-size: .9rem;
}

.widget-item.notifications .notifica_alert a {
  cursor: pointer;
  color: #dc3545;
  font-weight: bold;
}

.widget-item.notifications .notifica_alert a:hover {
  text-decoration: underline;
}

/* Form Inline */
.form-group:not(.table-responsive):has([form_inline]),
.form-group:not(.table-responsive):has([form-inline]),
table.template_sublist_card td.form-inline-colonne .form-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-height: 30px;
  min-width: 100%;
  justify-content: space-between;
}

table.table-sublist td.form-inline-colonne .form-group:has([tipo="boolean"], .box-preview),
.form-group:not(.table-responsive):has([form_inline]):has([tipo="boolean"], .box-preview) {
  justify-content: start !important;
}

table.table-sublist td.form-inline-colonne .form-group .gruppoCheckbox {
  text-align: left !important;
}

.form-group:not(.table-responsive) .form-group:has([form-inline]) div:not(.explainerror, .iti__flag, .iti__arrow, .iti__selected, .iti__flag-container-flag, .iti__flag-box) {
  width: 60%;
}

.form-group:has([form_inline]) label {
  text-align: left;
  display: block;
  width: 100%;
}

.form-group:has([form_inline]) [tipo="boolean"] {
  text-align: left;
  margin-left: var(--fs-12);
}

.form-group label:not(.form-check-label) span {
  font-weight: bold !important;
}

.select2-container {
  width: 100% !important;
  min-width: 200px;
}

.form-control {
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .form-group:has([form_inline]) label {
    vertical-align: top;
  }

  .select2-container {
    width: 100% !important;
  }
}

.form-group:has([form_inline]) label:not(.form-check-label, .label-upload) {
  flex: 0 0 40%;
  margin: 0;
}

.form-group:has([form_inline]) .form-control,
.form-group:has([form_inline]) .select2-container,
.form-group:has([form_inline]) .box-preview-files_allegati_task,
.form-group:has([form_inline]) .gruppoCheckbox,
.form-group:has([form_inline]) .gruppoRadio,
.form-group:has([form_inline]) .form-row,
.iti.iti--allow-dropdown.iti--separate-dial-code:has([form_inline="1"]),
.table-sublist.template_sublist_card .form-inline-colonne .form-group .form-control,
.table-sublist.template_sublist_card .form-inline-colonne .form-group .select2-container,
.table-sublist.template_sublist_card .form-inline-colonne .form-group .box-preview-files_allegati_task,
.table-sublist.template_sublist_card .form-inline-colonne .form-group .gruppoCheckbox,
.table-sublist.template_sublist_card .form-inline-colonne .form-group .gruppoRadio,
.table-sublist.template_sublist_card .form-inline-colonne .form-group .form-row {
  flex: 0 0 60% !important;
}

.form-group:has([form_inline]) .form-row {
  margin: 0 !important;
}

.form-group:has([form_inline]) .form-row div.col-4 {
  padding-left: 0;
}

/* Campo Phone */
.iti.iti--allow-dropdown {
  width: 100% !important;
}

table .iti.iti--allow-dropdown {
  width: 75% !important;
}

/* Quando il testo va su più righe */
.multi-line .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered {
  white-space: normal !important;
  line-height: 1.5 !important;
  padding-block: .5rem;
}

.multi-line span.select2-selection__clear {
  margin-top: .25rem !important;
}

span.select2-selection.select2-selection--single {
  height: 100% !important;
}

.iti__selected-dial-code {
  display: none !important;
}

.phone {
  padding-left: 45px !important;
}

.phone[disabled] {
  padding-left: 35px !important;
}

.form-group:not(.table-responsive):has(.phone) {
  /* z-index: 2!important; */
}
.form-group:not(.table-responsive):has(.phone) {
  z-index: 2!important;
}

.iti.iti--allow-dropdown.iti--separate-dial-code:has([form_inline="1"]) input {
  width: 100% !important;
}

@media (max-width: 576px) {
  .iti__country {
    padding: 5px !important;
  }
}

/* Classe generica */
.clickable {
  cursor: pointer;
}

.d-if-none {
  /* display: none!important; */
}

/* classe per gli iframe delle modifiche */
.logs_iframe {
  width: 100% !important;
  height: 100%;
  min-height: 300px;
  border: 0px solid #ced4da;
  border-radius: 1rem;
}

.gruppo-colonna .form-group label span {
  font-size: small !important;
}

.form-inline-colonne .form-group label {
  margin-bottom: 0px;
}

/* td.form-inline-colonne{
  min-width: 180px;
} */

td.form-inline-colonne .form-group {
  flex-direction: row !important;
}

/* Usa width 40% se ci sono meno o più di 3 figli diretti in .form-group */
table.template_sublist_card td.form-inline-colonne .form-group label {
  word-break: break-word;
  flex: 0 0 40% !important;
}

table:not(.template_sublist_card) td.form-inline-colonne .form-group label {
  word-break: break-word;
  min-width: 80px;
  min-width: 80px;
  width: 80px;
}

.template_sublist_card .form-group:has(.mappa):has(div[id^="map_"]),
.template_sublist_card .form-group:has(.mappa) div[id^="map_"] {
  width: 100% !important;
}

td span[data-target="#modal-qr"] {
  width: 10%;
}

.table-sublist td:not(:last-child) [form_inline="1"] :is(input, select, textarea, span.select2) {
  width: 75% !important;
}

.sublist-totale th {
  padding: 0.25rem !important;
  vertical-align: top !important;
  text-align: center !important;
}

.form-inline-colonne div:not(.iti, .iti__selected-dial-code, .iti__selected-flag, .iti__flag-container) {
  margin-bottom: .25rem !important;
}

.form-inline-colonne div:last-child {
  margin-bottom: 0rem !important;
}

.table-sublist:not(.template_sublist_card) td:not(.form-inline-colonne) input,
.table-sublist:not(.template_sublist_card) td:not(.form-inline-colonne) input,
.table-sublist:not(.template_sublist_card) td:not(.form-inline-colonne) select,
.table-sublist:not(.template_sublist_card) td:not(.form-inline-colonne) textarea {
  text-align: center;
}

.collapse-logs {
  margin: .5rem 1rem;
  padding: .5rem;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 1rem;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
  background-color: #f9f9f9;
}

.collapse-logs .row {
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
  padding-bottom: .5rem;
}

.collapse-logs .row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.btn-link {
  color: var(--primary-color) !important;
}

a.nav-link.btn.action-link {
  background: transparent;
  color: var(--primary-color);
  border: 1px solid var(--primary-color);
  gap: .4rem
}

div.dataTables_wrapper div.dataTables_info {
  white-space: pre-wrap !important;
}

.modal.backdrop {
  backdrop-filter: brightness(0.5);
}

.modal.show {
  display: block;
}

.modal.datepicker {
  z-index: 1600 !important;
}

#modalHistoryLogs .modal-content {
  border-radius: 1rem;
  max-height: calc(100vh - 100px);
  height: calc(100vh - 100px);
}

#modalHistoryLogs .modal-dialog {
  max-width: 800px;
}

.ck-content .todo-list .todo-list__label>input {
  margin-left: 0px;
  left: -10px;
}

.ck-content .todo-list .todo-list__label>input[checked]:before {
  background: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}

.error-sublist {
  border: 2px solid #e91414;
}

.table-sublist:not(.template_sublist_card) .gruppo-colonna>label {
  display: none !important;
}

.table-sublist.template_sublist_card tbody td>.form-group:not(.iti, .iti__selected-dial-code, .iti__selected-flag, .iti__flag-container, .d-if-none, :has(>[tipo_orig]), :has(.mappa), .collassabile) {
  display: grid !important;
  grid-template-columns: 1fr 2fr !important;
}

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

  .table-sublist td:not(:last-child) input:not(.form-check-input),
  .table-sublist td:not(:last-child) select,
  .table-sublist td:not(:last-child) textarea,
  .table-sublist td.form-inline-colonne .form-group:has(> :nth-child(4)):not(:has(> :nth-child(5))) input {
    width: 100% !important;
  }

  body .table-sublist div.form-group input[type="phone"] {
    width: 100% !important;
  }

  .iti.iti--allow-dropdown {
    width: 100% !important;
  }

  .filters-pills {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  .filters-pills li a {
    word-break: break-word
  }

  .card-tools-asana .nav {
    flex-direction: column;
    align-items: end;
    gap: 8px;
  }

  .card-tools.card-tools-main {
    z-index: 3;
  }
}

.iti__flag-container {
  padding: 0 !important;
}

.iti__selected-flag {
  border-radius: 10px 0px 0px 10px;
}

.iti--separate-dial-code .iti__selected-flag {
  background-color: transparent !important;
}

body .table-sublist div.form-group input[type="phone"] {
  width: 100% !important;
}

.select2-selection__rendered {
  text-align: start;
}

.box-preview .item-media.preview,
.item-file.preview {
  min-width: 200px;
}

/* Task #3446: Preview immagini nei campi file - dimensioni uniformi */
.item-file {
  width: 60px;
}
.item-file img {
  width: 60px;
  height: 60px;
  object-fit: cover;
}

span[id^="campo_fake_"] {
  text-align: start;
}

.select2-results__group {
  text-align: center;
  color: var(--primary-color) !important;
}

.select2-results__group:not(:first-child) {
  border-top: 2px solid var(--primary-color);
  margin-top: 8px;
}

.daterangepicker {
  border-radius: var(--fs-10) !important;
}

/* .daterangepicker.show-calendar .ranges {
  overflow-y: scroll;
  max-height: 225px;
} */

.daterangepicker .ranges li.active,
.daterangepicker td.active,
.daterangepicker td.active:hover {
  background-color: var(--primary-color) !important;
}

.daterangepicker select.hourselect,
.daterangepicker select.minuteselect,
.daterangepicker select.secondselect,
.daterangepicker select.ampmselect {
  border-radius: 10px;
}

.daterangepicker select.monthselect,
.daterangepicker select.yearselect {
  border-radius: 6px;
  border: 1px solid #ced4da !important;
}

.table-sublist tbody td .item-file a {
  width: max-content;
}

.info-box .info-box-icon {
  width: 40px !important;
}

.parent-box {
  transition: .3s opacity ease-in-out;
}

.parent-box.hidden {
  opacity: 0;
}

.br-10 {
  border-radius: var(--fs-10);
}

@media screen and (min-width: 992px) {
  .br-tl-lg-0 {
    border-bottom-left-radius: var(--fs-10);
  }

  .br-tr-lg-0 {
    border-bottom-right-radius: var(--fs-10);
  }
}

.table-responsive:has([data-tipo="sublist"][hide_sublist_title])>h3 {
  display: none !important;
}

td:has([type="checkbox"][name="checkboxMulti"]) {
  pointer-events: none;
}

[type="checkbox"][name="checkboxMulti"] {
  cursor: pointer;
  pointer-events: auto;
}

.number-arrows {
  position: absolute;
  right: 1rem;
  flex-direction: column;
  user-select: none;
  font-size: 8px;
  line-height: 8px;
  gap: 3px;
  transform: translateY(-3px);
  transition: .3s transform ease-in-out;
}

.number-arrows .arrow:hover {
  color: white;
  background: #212529;
}

@media screen and (max-width: 992px) {
  .number-arrows {
    transform: translateY(-50%) !important;
    top: 50% !important;
  }
}

.form-group:has(>.select2[nome_campo]:disabled) .select2-selection__placeholder {
  display: none;
}

.xdsoft_datetimepicker,
.xdsoft_calendar {
  border-radius: var(--fs-10);
}

/* Widget Style */
/* Base variables */
:root {
  --widget-border-color: transparent;
  /* Non utilizziamo più bordi espliciti */
  --widget-shadow: 0 3px 15px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.05);
  /* Ombra moderna con effetto layered */
  --widget-radius: var(--fs-12);
  /* Bordi leggermente più arrotondati */
  --widget-padding: 0.75rem;
  --widget-bg: #fff;
  --widget-hover-bg: #f8f8f8;
  --widget-active-bg: #f0f0f0;
  --widget-arrow-size: 32px;
  --widget-arrow-bg: rgba(255, 255, 255, 0.8);
  --widget-arrow-hover-bg: rgba(var(--primary-rgb), 0.85);
  --widget-arrow-color: var(--primary-color);
  --widget-arrow-hover-color: #fff;
  --widget-text: #666;
  --widget-text-hover: #333;
}

/* Widget Container */
.widget-container {
  border-radius: var(--widget-radius);
  border: none;
  /* Rimuoviamo il bordo esplicito */
  background: var(--widget-bg);
  box-shadow: var(--widget-shadow);
  /* Usiamo l'ombra moderna definita nelle variabili */
  /*width: clamp(250px, 30vw, 500px);*/
  max-height: 250px;
  transition: box-shadow 0.3s ease, transform 0.2s ease;
  /* Aggiungiamo una transizione fluida */

}

.widget-container:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08), 0 2px 5px rgba(0, 0, 0, 0.04);
  /* Ombra più profonda all'hover */
}

.widget-container:has(.notifications) {
  /* width: 450px; */
}

.widget-body:has(.notifications) {
  padding: var(--widget-padding);
  overflow-y: auto;
  max-height: 200px;
  border-radius: var(--widget-radius);
}

.widget-header {
  padding: calc(var(--widget-padding) * 0.67) var(--widget-padding);
  border-bottom: none;
  /* Rimuoviamo il bordo inferiore */
  border-radius: var(--widget-radius) var(--widget-radius) 0 0;
  background: linear-gradient(to bottom, var(--widget-bg), #fafafa);
  position: relative;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
  /* Sottile ombra per creare separazione visiva */
}

.count-notifications {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%);
}

.widget-header .title {
  font-size: 1rem;
  color: var(--primary-color);
}

/* Navigation */
.widget-navigation {
  display: flex;
  gap: 6px;
  z-index: 10;
  width: 100%;
  top: 50%;
  transform: translateY(-100%);
}

.widget-nav-arrow {
  pointer-events: auto;
  width: var(--widget-arrow-size);
  height: var(--widget-arrow-size);
  border-radius: 50%;
  background: var(--widget-arrow-bg);
  color: var(--widget-arrow-color);
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.2s ease;
  opacity: 0.85;
  padding: 0;
}

.widget-nav-prev {
  margin-left: -1rem;
}

.widget-nav-next {}

.widget-nav-arrow:hover {
  background: var(--widget-arrow-hover-bg);
  color: var(--widget-arrow-hover-color);
  opacity: 1;
}

.widget-nav-arrow:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(var(--primary-rgb), 0.4);
}

.widget-nav-arrow.disabled {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}

.widget-navigation button {
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--widget-border-color);
  background: var(--widget-bg);
  border-radius: 4px;
  color: var(--widget-text);
  transition: .2s ease;
}

.widget-navigation button i {
  color: var(--primary-color);
}

.widget-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: rgba(var(--primary-rgb), 0.08);
  /* Utilizziamo il colore primario con opacità */
  color: var(--primary-color);
  transition: all 0.3s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  /* Leggera ombra per effetto 3D */
}

/* Rimosso per evitare duplicazione con il selettore .widget-action:hover globale */

.widget-navigation button:hover {
  background: var(--widget-hover-bg);
  border-color: #d0d0d0;
  color: var(--widget-text-hover);
}

.widget-navigation button:active {
  background: var(--widget-active-bg);
  transform: translateY(1px);
}

/* Widget Body */
.widget-body {
  /* padding: var(--widget-padding); */
  min-width: 225px;
  border-radius: var(--widget-radius);
  /* height: 200px; */
  overflow-y: auto;
  background-color: var(--widget-bg);
}

.widget-body:not(:has(.notifications)) {
  display: grid;
  place-items: center;
}

/* Carousel */
.widget-carousel {
  position: relative;
  overflow: hidden;
}

.widget-item {
  width: 100%;
  transition: transform .2s ease-in-out;
}

.widget-item.active {
  display: block;
}

/* Slide Animations */
@keyframes slide {
  from {
    transform: translateX(var(--slide-from));
  }

  to {
    transform: translateX(var(--slide-to));
  }
}

.widget-item.slide-left {
  --slide-from: 100%;
  --slide-to: 0;
}

.widget-item.slide-right {
  --slide-from: -100%;
  --slide-to: 0;
}

.widget-item.slide-left-out {
  --slide-from: 0;
  --slide-to: -100%;
}

.widget-item.slide-right-out {
  --slide-from: 0;
  --slide-to: 100%;
}

[class*="slide-"] {
  animation: slide .3s ease-in-out;
}

/* Labels and Amounts */
.widget-label {
  font-size: 0.75rem;
  color: var(--widget-text);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.widget-amount {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--primary-color);
}

/* Actions */
.widget-actions {
  display: flex;
  justify-content: center;
}

.widget-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: var(--widget-text);
  padding: var(--widget-padding) var(--widget-padding) 0;
  border-radius: var(--widget-radius);
  transition: .2s ease;
  cursor: pointer;
  user-select: none;
}

.widget-action:hover {
  background-color: var(--primary-color);
  color: white;
  box-shadow: 0 3px 5px rgba(var(--primary-rgb), 0.25);
  text-decoration: none;
}

.widget-action i {
  font-size: 0.75rem;
  margin-bottom: 0.5rem;
}

.widget-action span {
  font-size: 0.7rem;
  font-weight: 500;
}

/* Skeleton Loading */
@keyframes loading {
  from {
    background-position: 200% 0;
  }

  to {
    background-position: -200% 0;
  }
}

.skeleton-loader {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
  border-radius: 4px;
}

.skeleton-amount {
  height: 32px;
  width: 120px;
  margin: 8px auto;
}

.skeleton-label {
  height: 16px;
  width: 80px;
  margin: 0 auto;
}

/* Widget Segment Navigation */
.widget-segment {
  display: flex;
  flex-wrap: nowrap;
  max-width: 100%;
  margin: 0;
  padding: 0;
  transition: transform .3s ease;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.widget-segment::-webkit-scrollbar {
  display: none;
}

.widget-segment .nav-item::marker {
  content: none;
}

.widget-segment-item {
  text-wrap-mode: nowrap;
  border-right: 1px solid var(--widget-border-color);
}

.widget-segment .nav-link {
  color: var(--primary-color);
  padding: 0.25rem 0.5rem;
  border-radius: 0.5rem;
  margin-right: 0.5rem;
  font-size: 0.9rem;
  transition: all .2s ease;
  display: flex;
  align-items: center;
}

.widget-segment .nav-item:last-child .nav-link {
  margin-right: 0;
}

.widget-segment .nav-link:hover {
  background-color: rgb(45 15 156 / 10%);
  color: var(--primary-color-hover);
}

.widget-segment .nav-link.active {
  background-color: var(--primary-color);
  color: var(--widget-bg);
}

.widget-segment .nav-link i {
  margin-right: 0.3rem;
}

/* Navigation Container */
.widget-nav-container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.widget-nav-scroll {
  overflow: hidden;
  position: relative;
  flex: 1;
}

.widget-nav-btn {
  background: var(--widget-bg);
  border: 1px solid #dee2e6;
  color: #6c757d;
  padding: 0.25rem 0.5rem;
  z-index: 1;
  display: none;
}

.widget-nav-btn.show {
  display: block;
}

.widget-nav-btn:hover {
  background: #f8f9fa;
  color: #0d6efd;
}

/* 
  /* Responsive */
@media (max-width: 992px) {
  .widget-container {
    width: 100%;
  }
}

@media (max-width: 992px) {
  .widget-container {
    margin-bottom: 1rem;
    flex-direction: column;
    align-items: center;
    flex: 1;
    height: fit-content;
  }

  .widget-body {
    height: fit-content;
  }

  .row-interfacce {
    display: flex;
    flex-direction: column;
  }
}

/* Widget indicators styles */
.widget-indicators {
  gap: 0.5rem;
}

.widget-indicator {
  transition: all 0.3s ease;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: 16px;
  position: relative;
  border: 1px solid var(--primary-color);
}

.indicator-title {
  font-size: 0.7rem;
  color: #555;
  text-align: center;
  max-width: 90px;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 600;
  line-height: 1.2;
}

.widget-indicator:hover .indicator-title {
  color: var(--primary-color);
}

.widget-indicator.active {
  background: var(--primary-color);
  color: #fff;
  box-shadow: 0 4px 12px rgba(var(--primary-rgb), 0.25);
}

.widget-indicator.active .indicator-title {
  color: #fff;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

*/
/* Widget Style */

/* FirmaHTML */
.testo_with_firma .firma_email {
  padding-inline: .6rem;
  border: 1px solid #c4c4c4;
  border-top: none;
  border-radius: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  padding-top: 1rem;
}

.testo_with_firma .firma_email:focus {
  outline: none;
  border-color: #c4c4c4;
}

.testo_with_firma .firma_email:focus-visible {
  outline: none;
}

.testo_with_firma .ck.ck-editor__main>.ck-editor__editable:not(.ck-focused) {
  border-bottom: none;
  display: block !important;
}

.testo_with_firma .ck.ck-editor__editable:not(.ck-editable__nested-editable).ck-focused {
  border: 1px solid #c4c4c4;
  border-bottom: none;
  box-shadow: none;
  display: block !important;
}

#emailModal .form-control {
  border: 0;
  background-color: var(--form-elements-color);
}

/* FirmaHTML */

td:has(.img_profile_table) {
  display: flex;
  align-items: center;
  gap: 6px;
}

.img_profile_table,
.img_profile {
  max-width: 30px;
  max-height: 30px;
  border-radius: 50%;
}

td.close-button {
  grid-column: 1 / -1;
  padding: 10px 4px;
  display: flex;
  align-items: center;
  background: var(--light);
  border-radius: 4px;
  margin-bottom: 8px;
}

.no_collapsable {
  display: block !important;
}

.toast-sessioni,
.toast-tour {
  margin-top: 1rem;
  margin-right: 1rem;
}

.alert-sessione-warning {
  border-left: 4px solid #ffc107;
  background-color: #fff3cd;
  color: #856404;
  padding: 1rem;
  margin-bottom: 1.5rem;
  border-radius: 4px;
}

.alert-sessione-warning i {
  color: #ffc107;
  font-size: 1.2em;
}

.ck-editor__main .todo-list {
  padding-left: 1.5rem !important;

  input[type="checkbox"] {
    left: -35px !important;
  }
}

.ck-editor {
  --ck-border-radius: 10px;
}

.showAccordionSublist {
  display: block !important;
}

.wa-modal {
  --wa-primary: #00a884;
  --wa-message-out: #d9fdd3;
  background: #f0f2f5;
  color: #111b21 !important;
}

.wa-chat-body {
  padding: 0px;
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #efeae2;
  transition: background-color .3s ease;
  transform-origin: left top;
}

.wa-header {
  border-bottom: 1px solid #d1d7db;
}

.wa-contact {
  position: sticky;
  z-index: 2;
  top: 0;
  height: 4rem;
  background: #f0f2f5;
  color: #111b21 !important;
  padding: 10px 16px;
}

.wa-icon {
  font-size: 1.5rem;
  color: white;
}

.wa-number {
  font-size: 1rem;
  color: inherit;
}

.messages-container {
  min-height: 50vh;
  max-height: 500px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding: 16px;
  position: relative;
  transition: all .3s ease;
}

.messages-container-old {
  background-color: #efeae2;
  transition: background-color .3s ease;
  transform-origin: left top;
  overflow-y: hidden;
}

.messages-container-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(/assets/img/wa-bg.png);
  background-repeat: repeat;
  opacity: 0.4;
}

.message-bubble {
  position: relative;
  max-width: 75%;
  width: auto;
  min-width: 75px;
  background: white;
  border-radius: 0 8px 8px 8px;
  box-shadow: 0 1px 0.5px rgba(0, 0, 0, 0.13);
  padding: 8px 12px 16px;
  margin-right: auto;

  &:not(.my-message) .message-tail {
    position: absolute;
    top: 0;
    left: -8px;
    width: 8px;
    height: 13px;
    color: white;

    svg {
      display: block;
      pointer-events: none;
    }
  }

  &+&:not(.my-message) {
    margin-bottom: 2px;
  }

  &:not(& + &:not(.my-message)) {
    margin-bottom: 12px;
  }

  &:not(.my-message)+&:not(.my-message) {
    border-radius: 8px;

    .message-tail {
      display: none;
    }
  }

  &+&.my-message,
  &+.day-container {
    margin-bottom: 12px;
  }

  &:not(& + &.my-message) {
    margin-bottom: 2px;
  }

  &.my-message+&.my-message {
    .message-tail {
      display: none;
    }
  }

  &:last-child {
    margin-bottom: 12px !important;
  }
}

.my-message {
  margin-left: auto;
  margin-right: 0;
  background: var(--wa-message-out);
  border-radius: 8px 0 8px 8px;

  .message-tail {
    position: absolute;
    top: 0;
    right: -8px;
    width: 8px;
    height: 13px;
    color: var(--wa-message-out);

    svg {
      display: block;
      pointer-events: none;
    }
  }
}

.message-info {
  position: absolute;
  bottom: 4px;
  right: 8px;
  font-size: 0.7rem;
  color: #667781;
  display: flex;
  align-items: center;
  gap: 4px;
}

.message-text {
  white-space: pre-wrap;
  word-break: break-word;
  margin-bottom: 4px;
}

.wa-input-container {
  padding: .5rem 1rem;
  background: #f0f0f0;
}

.wa-message-input {
  background: #fff !important;
  border-radius: 8px !important;
  border: 1px solid #e9edef !important;
  padding: 8px !important;
  resize: none;
  font-size: 14px !important;
}

.status-icon {
  transition: all 0.3s ease;
}

.status-icon.sent {
  color: var(--wa-primary);
}

/* Media message styling */
.media-message {
  max-width: 300px;
}

.message-media {
  position: relative;
  margin-bottom: 4px;
  width: 100%;
}

.media-preview {
  max-width: 100%;
  min-width: 200px;
  border-radius: 4px;
  cursor: pointer;
  margin-bottom: 4px;
  max-height: 250px;
}

.media-icon {
  font-size: 30px;
  color: #075e54;
  background-color: rgba(0, 0, 0, 0.05);
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 5px;
  display: block;
}

/* File message styling */
.message-file {
  display: flex;
  align-items: center;
  padding: 8px;
  cursor: pointer;
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.05);
  margin-bottom: 4px;
  transition: background-color 0.2s ease;
}

.message-file:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.file-icon {
  font-size: 24px;
  margin-right: 10px;
}

/* File type colors */
.file-pdf .file-icon {
  color: #e74c3c;
}

.file-word .file-icon {
  color: #2b579a;
}

.file-excel .file-icon {
  color: #217346;
}

.file-powerpoint .file-icon {
  color: #d24726;
}

.file-archive .file-icon {
  color: #f39c12;
}

.file-text .file-icon {
  color: #7f8c8d;
}

.file-code .file-icon {
  color: #3498db;
}

.file-generic .file-icon {
  color: #95a5a6;
}

.file-info {
  overflow: hidden;
}

.file-name {
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}

.wa-footer {
  padding: 5px 1rem;
  background: #f0f2f5;
}

.day-container {
  display: flex;
  justify-content: center;
  z-index: 1;
  margin-bottom: 12px;

  .day-title {
    box-sizing: border-box;
    display: inline-block;
    flex: none;
    max-width: 100% !important;
    padding: 5px 12px 6px 12px;
    font-size: 12.5px;
    line-height: 21px;
    color: #54656f;
    text-align: center;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .4);
    background-color: rgba(255, 255, 255, .95);
    border-radius: 7.5px;
    box-shadow: 0 1px .5px rgba(11, 20, 26, .13);
  }

  &.last {
    margin-bottom: 0;
  }

  &.first.load-previous-container {
    padding-bottom: 8px;
  }
}

/* Load Previous Messages Button */
.load-previous-container {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 6px 0;
}

.btn-load-previous-messages {
  background-color: #fff;
  color: #54656f;
  border: 1px solid #e9edef;
  border-radius: 24px;
  padding: 6px 12px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 1px 0.5px rgba(11, 20, 26, .13);
  display: flex;
  align-items: center;
  gap: 5px;
}

.btn-load-previous-messages:hover {
  background-color: #f5f5f5;
}

.btn-load-previous-messages.loading {
  opacity: 0.7;
  cursor: default;
}

@media (max-width: 768px) {
  #whatsappModal .wa-modal {
    height: 100vh;
  }

  #whatsappModal .messages-container {
    height: 100%;
    max-height: 100vh;
  }
}

.wa-template-selector {
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  transition: all 0.2s ease;
  background-color: #fff;
}

.wa-template-option {
  border-radius: 8px;
  transition: background-color 0.2s ease;
  background-color: #f5f5f5;

  .text-truncate {
    white-space: normal !important;
  }
}

.wa-template-option:hover {
  background-color: #dadada;
  cursor: pointer;
}

.wa-template-option .text-truncate {
  line-height: 1.4;
}

.wa-avatar-placeholder {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #dfe5e7;
  display: flex;
  align-items: center;
  justify-content: center;
}

.form-control.is-invalid {
  background-image: none;
  border: 1px solid #dc3545 !important;
}

.table.dataTable tbody tr.active-asana td.dtfc-fixed-left:first-child::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background-color: var(--primary-color);
  z-index: 1;
}

.card-body .titolocard.collassabile h2 {
  margin: 0;
}

/* Se la select 2 non è inizializzata non permetto interazioni */
select.select2:not(.select2-hidden-accessible) {
  pointer-events: none;
  cursor: not-allowed;
}

.select2-results__option,
.select2-selection__rendered {
  color: #495057 !important;
}

.select2-results__options {
  max-height: max-content !important;
  padding: 2px !important;

  .select2-results__option[role="option"] {
    border-radius: 10px !important;
    padding-inline: 10px !important;
  }

  /* Stile specifico per le create-option */
  .select2-results__option:has(.select2-create-option-item) {
    border-radius: var(--fs-10) !important;
    border: 1px solid var(--primary-color) !important;
    margin-bottom: 6px !important;
  }

  .select2-results__option:has(.select2-create-option-item):hover {
    background-color: var(--primary-color) !important;
    color: #fff !important;
  }

  &[role="listbox"] {
    max-height: 60vh !important;
  }
}

.select2-container--bootstrap4 .select2-results__option--highlighted,
.select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected=true] {
  background-color: var(--primary-color) !important;
  color: #fff !important;
}

.select2-dropdown {
  border: 1px solid #dee2e6 !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;

  &.select2-dropdown--above {
    margin-top: -4px !important;
  }

  &.select2-dropdown--below {
    margin-top: 4px !important;
  }
}

.select2-search--dropdown {
  padding-block: 6px !important;

  .select2-search__field {
    border-radius: 6px !important;
  }
}

@media (min-width: 992px) {
  .select2-results__options {
    width: 100% !important;
    max-width: 60vw !important;
  }

  .kanban .select2-results__options {
    max-width: 40vw !important;
    min-width: 450px !important;
  }

  .select2-dropdown {
    width: max-content !important;
    max-width: 60vw !important;
  }
}

.form-group:has(>[nome_campo][rif_colonna=""], >[nome_campo][rif_foglio="Null"])>label>.unsaved {
  display: none !important;
}

/*nelle select che hanno il parametro "hide_empty_option" nascondi la opzione vuota*/
select[hide_empty_option]>option[value=""] {
  display: none !important;
}

div:where(.swal2-container) div:where(.swal2-popup) {
  --swal2-border-radius: var(--fs-10) !important;
}

div:where(.swal2-container) div:where(.swal2-html-container) {
  font-size: 1rem !important;
}

div:where(.swal2-container) h2:where(.swal2-title) {
  font-size: 1.5rem !important;
}

.swal2-actions button {
  border-radius: var(--fs-10) !important;
  font-size: 0.85rem !important;
}

.swal2-confirm {
  --swal2-confirm-button-background-color: var(--main-color) !important;

  &:hover {
    --swal2-confirm-button-background-color: var(--main-color-hover) !important;
  }
}

.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice {
  border-radius: 0.5rem !important;
  text-wrap-mode: wrap !important;
  padding: 0 5px 0 5px!important;
}

.select2-container--bootstrap4:not(.select2-container--disabled) .select2-selection--multiple .select2-selection__choice:has(.select2-selection__choice__remove) {
  padding: 0 5px 0 25px !important;
}
.select2-container--bootstrap4:not(.select2-container--disabled) .select2-selection--multiple .select2-selection__choice {
  padding: 0 5px 0 5px !important;
}

.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: -15px !important;
}

/* Nascondi la X di rimozione quando la select è disabilitata */
.select2-container--bootstrap4.select2-container--disabled .select2-selection--multiple .select2-selection__choice__remove {
  display: none !important;
}

/* Larghezza full per il campo di ricerca inline - migliora UX nella selezione */
.select2-container .select2-search--inline {
  width: 100% !important;
}

/*colora tutte le checkbox*/
#maintable input[type="checkbox"] {
  border: var(--fs-1) solid var(--primary-color);
  accent-color: var(--primary-color);
}

[gridX="1"] {
  width: 150px !important;
}

[gridX="2"] {
  width: 300px !important;
}

[gridX="3"] {
  width: 450px !important;
}

[gridX="4"] {
  width: 600px !important;
}

[gridX="5"] {
  width: 750px !important;
}

[gridY="1"] {
  height: 125px !important;
}

[gridY="2"] {
  height: 250px !important;
}

[gridY="3"] {
  height: 375px !important;
}

[gridY="4"] {
  height: 500px !important;
}

[gridY="5"] {
  height: 625px !important;
}

@media (max-width: 1200px) {
  [gridX="1"] {
    width: 115px !important;
  }

  [gridX="2"] {
    width: 230px !important;
  }

  [gridX="3"] {
    width: 345px !important;
  }

  [gridX="4"] {
    width: 460px !important;
  }

  [gridX="5"] {
    width: 575px !important;
  }

  [gridY="1"] {
    height: 115px !important;
  }

  [gridY="2"] {
    height: 230px !important;
  }

  [gridY="3"] {
    height: 345px !important;
  }

  [gridY="4"] {
    height: 460px !important;
  }

  [gridY="5"] {
    height: 575px !important;
  }
}

@media (max-width: 992px) {
  [gridX] {
    width: auto !important;
  }

  [gridY] {
    height: auto !important;
  }
}


/* WhatsApp */
/* ====== SIDEBAR (solo lista/chat list) ====== */
.whatsapp-sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .3);
  z-index: 1070
}

.whatsapp-sidebar {
  position: fixed;
  top: 0;
  right: 0;
  /* non più -400 / -100% */
  width: 300px;
  height: 100%;
  background: #fff;
  box-shadow: -2px 0 8px rgba(0, 0, 0, .2);
  z-index: 1080;
  display: flex;
  flex-direction: column;

  transform: translateX(100%);
  /* fuori schermo di default */
  transition: transform .3s ease;
  /* anima la traslazione */
}

.whatsapp-sidebar.open {
  transform: translateX(0);
  /* in vista */
}

.whatsapp-sidebar-header {
  display: none
}

.whatsapp-sidebar-body {
  flex: 1;
  overflow: auto;
  background: #F7F7F7;
  padding: 16px
}

.chat-preview-message {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 13px;
  max-width: none;
}

.list-group-item.is-unread {
  border-left: 4px solid #dc3545 !important;
  padding-left: 12px !important
}

.list-group-item.not-unread {
  border-left: 4px solid transparent !important;
  padding-left: 12px !important
}

.whatsapp-sidebar-message {
  position: fixed;
  top: 0;
  bottom: 0;
  background-color: #fff;
  display: none;
}

.whatsapp-sidebar-message .message {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 100%;
}

.event-typing,
.users-presence {
  padding: .25rem 1rem;
  background-color: #fff;
  border-bottom: 1px solid #eee;
  position: absolute;
  width: 100%;
  z-index: 1;
}

#whatsappSidebar .whatsapp-sidebar-message {
  position: static;
  top: auto;
  bottom: auto;
  background: transparent;
}

#whatsappSidebar .whatsapp-sidebar-message .message {
  height: auto;
  justify-content: flex-start;
}

#menu-actions-container,
.wa-template-btns {
  bottom: 30px;
  left: 0;
  z-index: 1000;
}

.wa-template-btns .btn {
  width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

@media (max-width: 768px) {

  .whatsapp-sidebar {
    width: 100%;
    max-width: 100%;
    left: 0;
    right: 0;
    /* fisso a 0, animiamo solo transform */
  }
}

/* ====== CHAT MODAL ====== */
/* .modal-backdrop.show {
  display: none
} */

#chatModal {
  position: fixed;
  display: none;
  transition: right .3s ease, height .3s ease;
  border-radius: 10px 10px 0 0
}

#chatModal.is-open {
  display: block;
  position: fixed;
  inset: auto 310px 0 auto;
  width: 400px;
  height: 521px;
  z-index: 1080;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23)
}

#chatModal.collapsed {
  height: 45px;
  bottom: 0;
  width: 250px;
}

#chatModal.collapsed #telefono {
  display: none
}

/* struttura interna */
#chatModal .m-0 {
  height: 100%;
  display: flex;
  flex-direction: column
}

#chatModal .bg-light {
  flex-shrink: 0
}

#chatModal .bg-light+div {
  flex-grow: 1;
  display: flex;
  flex-direction: column
}

#chatModal .wa-chat-body {
  overflow-y: auto;
  padding-bottom: 190px;
  /* oppure gestito via JS come già fai */
}

/* header/body/footer */
#chatModal .chat-header {
  cursor: pointer;
  border-radius: 10px 10px 0 0;
  border-bottom: 1px solid #eee;
  background: #fff;
  color: inherit;
  padding: .75rem 1rem
}

.chat-body {
  transition: max-height .2s ease;
  overflow: hidden
}

#chatModal.collapsed .chat-body {
  opacity: 0;
  max-height: 0;
  pointer-events: none
}

#chatModal.collapsed #chatName {
  display: block;
  max-width: 22ch;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#chatModal.collapsed .chat-dropdown-manual {
  display: none;
}

.chat-footer {
  padding: 12px 14px 0 14px;
  border-top: 1px solid #eee;
  background: #fff
}

/* area messaggi */
.chat-msg-container {
  height: 367px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding: 16px;
  position: relative;
  transition: all .3s ease
}

.bg-my-message {
  background: #EEE8FF !important;
}

.day-title {
  font-weight: 400;
  font-size: 12px;
  color: #666;
  text-align: center;
  margin: 8px 0;
}

.message-bubble {
  display: inline-flex;
  flex-direction: column;
}

.message-info {
  display: block;
  margin-top: 5px;
}

.message-bubble.my-message .message-info {
  align-self: flex-end;
  text-align: right;
}

.bubble-wrapper .retry-btn {
  font-size: 12px;
  opacity: .85;
}

.message-bubble .status-icon {
  margin-left: 4px;
}

/* Contenitore media + testo */
.message-media {
  display: grid;
  gap: .5rem;
}

.media-preview {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 260px;
}

.message-media img.media-preview {
  object-fit: contain;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 260px;
  min-width: 0;
  min-height: 0;
}

.message-media video.media-preview {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.message-media audio.media-preview {
  width: 100%;
  max-width: 100%;
}

.message-text {
  white-space: pre-wrap;
  word-wrap: break-word;
}


/* Dropdown manuale nel header */
.chat-dropdown-manual {
  position: relative;
  display: inline-block;
  padding-right: 0px;
}

.chat-dropdown-toggle-manual {
  box-shadow: 0 0 0 .5px lightgrey;
  color: var(--primary-color);
  padding: 4px 8px;
  cursor: pointer;
  font-size: 12px;
  border-radius: 4px;
  margin-right: 5px;
}

.chat-dropdown-toggle-manual:hover {
  background-color: var(--form-elements-color);
  color: var(--primary-color);
}

.chat-dropdown-toggle-manual:focus {
  box-shadow: 0 0 0 .5px lightgrey;
}

.chat-dropdown-menu-manual {
  position: absolute;
  top: 100%;
  right: 0;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
  min-width: 150px;
  z-index: 1000;
  margin-top: 2px;
  display: none;
  padding: 5px 0px;
}

.chat-dropdown-item-manual {
  display: block;
  width: 100%;
  padding: .375rem 1rem;
  border: none;
  background: none;
  text-align: left;
  color: #212529;
  cursor: pointer;
  font-size: .875rem;
  border-radius: 8px;
}

.chat-dropdown-item-manual:hover {
  background: #f8f9fa;
}

.chat-dropdown-item-manual:focus {
  background: #e9ecef;
  outline: none;
}

#card-name {
  display: flex;
  align-items: center;
  gap: .25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#card-name span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  flex: 1;
}

.chat-card .when {
  font-size: 12px;
  flex-shrink: 0;
}

#chatHeader #chatName {
  font-size: 15px;
  max-width: 30ch;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
}

#chatHeader #chatTypeIconImg {
  flex: 0 0 auto;
}

.gap-1 {
  gap: .25rem !important;
}

/* Auto-resize textarea (#msg) */

#chatModal .chat-footer {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  /*flex-shrink: 0 !important;*/
  border-top: 1px solid #eee;
  background: #fff;
  padding: 12px 16px 0 16px;
  position: absolute;
  bottom: 0;
  width: 100%;
  left: 0;
  right: 0;
  margin-top: 0;
}

#chatModal .chat-footer textarea#msg {
  width: 100%;
  min-height: 50px;
  max-height: 250px;
  height: auto;
  line-height: 1.4;
  resize: none;
  overflow-y: hidden;
  margin-top: auto;
}

#chatModal .chat-footer .input-group {
  align-items: stretch;
}

#chatModal .chat-footer textarea#msg {
  display: block;
  width: 100%;
  min-height: 50px;
  max-height: 250px;
  height: auto;
  line-height: 1.4;
  resize: none;
  overflow-y: hidden;
}

#chatModal .chat-footer .input-group>button {
  align-self: flex-end;
}

#chatTypeIconImg {
  width: 20px;
  height: 20px;
  margin-right: 2px;
  margin-bottom: 4px;
  display: none;
  color: var(--primary-color);
}

.wa-template-selector {
  width: 100%;
  max-height: 150px;
  overflow-y: auto;
  z-index: 1000;
}

.wa-message-input {
  height: 50px;
  resize: none;
}

@media (max-width: 768px) {

  #chatModal.collapsed #chatName {
    display: block;
    max-width: 50ch;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* ChatModal full screen */
  #chatModal {
    inset: auto 0 0 0 !important;
    /* bottom:0; left:0; right:0 */
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    border-radius: 0 !important;
    z-index: 1100 !important;
    /* sopra la sidebar (1080) */
  }

  /* In mobile la sidebar aperta NON deve spingere la chat a destra */
  /* (il JS non dovrà più toccare right:310px su mobile) */
  #chatModal.is-open {
    right: 0 !important;
  }

  /* Stato collassato: resta in basso, full width */
  #chatModal.collapsed {
    height: 56px !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    border-radius: 10px 10px 0 0 !important;
    z-index: 1100 !important;
    /* evita che “salga” sopra la sidebar */
  }

  /* Body messaggi: occupa tutto lo spazio disponibile in full screen */
  #chatModal .wa-chat-body {
    height: auto !important;
    max-height: none !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
  }

  .chat-msg-container {
    height: 100vh;
    padding-bottom: 190px;
  }

  .chat-footer {
    position: absolute;
    bottom: 0px;
    width: 100vw;
  }

  .chat-dropdown-toggle-manual {
    font-size: 10px;
  }

  #chatHeader #chatName {
    max-width: 20ch;

  }
}

.message-sender {
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: .25rem;
}

/* Task 2925 rimozione del click dalle checkbox e per gli allegati*/
.form-group:has(.form-check-input-bool)>label,
.form-group:has([type="file"]):has(.box-preview)>label:not(#files_label, #file-add-ticket) {
  pointer-events: none !important;
}

/* Eccezione: i btn-istruzioni devono mantenere i pointer events per i tooltip */
.form-group:has(.form-check-input-bool)>label .btn-istruzioni,
.form-group:has([type="file"]):has(.box-preview)>label .btn-istruzioni {
  pointer-events: auto !important;
}

/* Nasconde il pulsante "Modifica" del campo JSON quando l'input è disabled */
.form-group:has(.json-input-attributes input[disabled]) .open-modal-json {
  display: none;
}

.card-primary.card-outline {
  border-top: 3px solid var(--primary-color);
}

.progress-bar {
  background-color: var(--primary-color);
}

/* Stile per select2 moduli con icona richiesto */
.modulo-selection-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.modulo-selection-item .modulo-richiesto-toggle {
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 3px;
  transition: all 0.2s ease;
}

.modulo-selection-item .modulo-richiesto-toggle:hover {
  background-color: rgba(0,0,0,0.1);
}

.modulo-selection-item .modulo-richiesto-toggle i {
  font-size: 11px;
}

/* Quando la select2 è disabilitata, nascondi l'icona toggle solo se NON è richiesto */
.select2-container--disabled .modulo-selection-item .modulo-richiesto-toggle {
  pointer-events: none;
  cursor: default;
}

/* Nascondi il lucchetto aperto (non richiesto) quando disabilitato */
.select2-container--disabled .modulo-selection-item .modulo-richiesto-toggle:has(.fa-lock-open) {
  display: none;
}

/* Mostra il lucchetto chiuso (richiesto) quando disabilitato */
.select2-container--disabled .modulo-selection-item .modulo-richiesto-toggle:has(.fa-lock:not(.fa-lock-open)) {
  display: inline-flex;
}

/* Allinea la X di rimozione nei badge dei moduli */
.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice:has(.modulo-selection-item) {
  display: inline-flex;
  align-items: center;
}

.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice:has(.modulo-selection-item) .select2-selection__choice__remove {
  position: relative;
  margin-left: 0;
  margin-right: 5px;
  left: auto;
  top: auto;
}

/* ==================== INPUT GROUP SEARCH - PILL STYLE ==================== */
.input-group-search { 
    background: var(--form-elements-color); 
    border-radius: 20px; 
    border: none;
    overflow: hidden;
}
.input-group-search .input-group-text { 
    background: transparent; 
    border: none; 
    color: var(--nav-pills-color); 
    padding: 6px 4px 6px 14px;
    font-size: 13px;
}
.input-group-search .form-control { 
    border: none; 
    box-shadow: none !important; 
    padding-left: 4px; 
    background: transparent;
    font-size: 13px;
}
.input-group-search .form-control::placeholder { color: var(--nav-pills-color); }
.input-group-search .form-control:focus { outline: none; }