/* ================================ */
/* GENERAL CUSTOM CSS */
/* ================================ */
:root{
  --opp : #fcfc5a;
  --off : #74a4fc;
  --ordc : #7afc80;
  --ordf : #fcb07d;
  --opp-chiaro : #ffffec;
  --off-chiaro : #ebf2ff;
  --ordc-chiaro : #f4fff7;
  --ordf-chiaro : #fdf4ee;
}
/* Sub-tab a pillola (Generale, Campi Tecnici, ecc.) */
.nav-tabs-bottom{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	border-bottom: 0;
	margin-bottom: 1.25rem;
}
.nav-tabs-bottom .nav-item{
	margin-bottom: 0;
}
.nav-tabs-bottom .nav-link{
	border: 0;
	border-radius: 50rem;
	padding: 0.5rem 1.25rem;
	background-color: #eef1f5;
	color: #5a6674;
	font-size: 0.8125rem;
	font-weight: 500;
	transition: background-color .15s ease-in-out, color .15s ease-in-out;
}
.nav-tabs-bottom .nav-link:before{
	content: none;
}
.nav-tabs-bottom .nav-link:hover{
	background-color: #e3e7ec;
	color: #333;
}
.nav-tabs-bottom .nav-item.show .nav-link,
.nav-tabs-bottom .nav-link.active{
	background-color: #091f36;
	color: #fff;
	font-weight: 600;
}

/* bg-green */
.bg-green { background-color: #009688; }

.bg_azure { background-color: rgba(203,227,237,1);  }

/* Default Shadow */
.default_shadow
{
	-webkit-box-shadow: 0px 8px 13px -7px rgba(20,20,20,1);
	-moz-box-shadow: 0px 8px 13px -7px rgba(20,20,20,1);
	box-shadow: 0px 8px 13px -7px rgba(20,20,20,1);
}

/* Light Shadow */
.light_shadow
{
	-webkit-box-shadow: 1px 3px 6px 0px rgba(196,196,196,1);
	-moz-box-shadow: 1px 3px 6px 0px rgba(196,196,196,1);
	box-shadow: 1px 3px 6px 0px rgba(196,196,196,1);
}

/* Gradient Cream */
.bg_gra_cream
{
	background: #f9fcf7; /* Old browsers */
	background: -moz-linear-gradient(top, #f9fcf7 0%, #f5f9f0 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #f9fcf7 0%,#f5f9f0 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #f9fcf7 0%,#f5f9f0 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9fcf7', endColorstr='#f5f9f0',GradientType=0 ); /* IE6-9 */
}

/* Gradient Blue Radious */
.bg_gra_blue_radious
{
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#feffff+0,ddf1f9+35,cbe3ed+100;Blue+3D+%2318 */
background: rgb(254,255,255); /* Old browsers */
background: -moz-radial-gradient(center, ellipse cover, rgba(254,255,255,1) 0%, rgba(221,241,249,1) 35%, rgba(203,227,237,1) 100%); /* FF3.6-15 */
background: -webkit-radial-gradient(center, ellipse cover, rgba(254,255,255,1) 0%,rgba(221,241,249,1) 35%,rgba(203,227,237,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: radial-gradient(ellipse at center, rgba(254,255,255,1) 0%,rgba(221,241,249,1) 35%,rgba(203,227,237,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#feffff', endColorstr='#cbe3ed',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

/* Gradient Little grey */
.bg_gra_little_grey
{
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f2f2f2+0,ffffff+100&1+0,0+100 */
	background: -moz-linear-gradient(-45deg, rgba(242,242,242,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg, rgba(242,242,242,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg, rgba(242,242,242,1) 0%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f2f2', endColorstr='#00ffffff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

/* Gradient Horrizontal green to white */
.bg_gra_hor_green
{
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f7ffed+0,cdeb8b+100 */
	background: rgb(247,255,237); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(247,255,237,1) 0%, rgba(205,235,139,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(247,255,237,1) 0%,rgba(205,235,139,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(247,255,237,1) 0%,rgba(205,235,139,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7ffed', endColorstr='#cdeb8b',GradientType=1 ); /* IE6-9 */
}

/* Animazione Blinking */
@keyframes blink {  
  0% { color: white; }
  100% { color: yellow; }
}
@-webkit-keyframes blink {
  0% { color: blink; }
  100% { color: yellow; }
}
.blink {
  -webkit-animation: blink 3s linear infinite;
  -moz-animation: blink 3s linear infinite;
  animation: blink 3s linear infinite;
}

/* Animazione highlight */
@keyframes highlight {  
 	0% { background-color: yellow; }
 	100% { background-color: white; }
}
@-webkit-keyframes highlight {
 	0% { background-color: yellow; }
 	100% { background-color: white; }
}
.highlight {
  -webkit-animation: highlight 1s linear;
  -moz-animation: highlight 1s linear;
  animation: highlight 1s linear;
}

/* Animation delay */

.delay-2d {   -webkit-animation-delay: 0.2s; -moz-animation-delay:0.2s; animation-delay: 0.2s; }
.delay-4d {   -webkit-animation-delay: 0.4s; -moz-animation-delay:0.4s; animation-delay: 0.4s; }
.delay-6d {   -webkit-animation-delay: 0.6s; -moz-animation-delay:0.6s; animation-delay: 0.6s; }
.delay-8d {   -webkit-animation-delay: 0.8s; -moz-animation-delay:0.8s; animation-delay: 0.8s; }
.delay-1s {   -webkit-animation-delay: 1s; -moz-animation-delay:1s; animation-delay: 1s; }
.delay-2s {   -webkit-animation-delay: 2s; -moz-animation-delay:2s; animation-delay: 2s; }

/* Altri elementi */

hr
{
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid #d8dfed;
}

hr.dashed { border-style: dashed; }

/* Elemento Blocco che ruota il testo al suo interno di 90 gradi */
.box-text-90-deg
{
	writing-mode: vertical-rl;
    /* margin: auto; */
}

/* Altri stili */

.font-50-p { font-size: 50%; }
.font-80-p { font-size: 80%; }
.font-85-p { font-size: 85%; }
.font-90-p { font-size: 90%; }
.font-95-p { font-size: 95%; }
.font-100-p { font-size: 100%; }

/* ==== Personalizzazioni tema ==== */
.bgDark { background: #282a3c; }

/* Mostra sempre i componenti sidebar */
.sidebar-component { display: block; }

/* Button extra small */

.btn.btn-xs
{
	padding  : .1875rem .625rem;
	font-size  : .6875rem;
	line-height  : 1.6615;
	border-radius: .125rem;
}

.form-control-sm { font-size: .8125rem; }

.card,
.navbar.navbar-dark,
.sidebar.sidebar-dark
{
    -webkit-box-shadow: 0px 1px 15px 1px rgba(69,65,78,0.08);
    box-shadow: 0px 1px 15px 1px rgba(69,65,78,0.08);
}

.navbar.navbar-dark, .sidebar.sidebar-dark { background: #282a3c; }

/*.custom-control-label::before { background-color: #dedede; }*/

/* Checkbox/Radio colorate */

.custom-checkbox.primary .custom-control-input:checked~.custom-control-label::before,
.custom-radio.primary .custom-control-input:checked~.custom-control-label::before
{ background-color: #2196f3; }

.custom-checkbox.success .custom-control-input:checked~.custom-control-label::before,
.custom-radio.success .custom-control-input:checked~.custom-control-label::before
{ background-color: #4caf50; }

.custom-checkbox.danger .custom-control-input:checked~.custom-control-label::before,
.custom-radio.danger .custom-control-input:checked~.custom-control-label::before
{ background-color: #f44336; }

.custom-checkbox.warning .custom-control-input:checked~.custom-control-label::before,
.custom-radio.warning .custom-control-input:checked~.custom-control-label::before
{ background-color: #ff5722; }

.custom-checkbox.info .custom-control-input:checked~.custom-control-label::before,
.custom-radio.info .custom-control-input:checked~.custom-control-label::before
{ background-color: #00bcd4; }

.custom-checkbox.green .custom-control-input:checked~.custom-control-label::before,
.custom-radio.green .custom-control-input:checked~.custom-control-label::before
{ background-color: #009688; }

.custom-radio.primary .custom-control-input:checked~.custom-control-label::before,
.custom-radio.primary .custom-control-input:checked~.custom-control-label::before
{ background-color: #2196f3; }

/* Ajax loading non invasivo (TOP DX) */

#myLoading
{
    position: fixed;
    text-align: center;
    top: 0;
    right: 0;
    z-index: 9999999999999999;
    background: rgba(255,255,255,0.8);
    padding: 2rem;
	padding-left: 10%;
    border-radius: 0 0 0 1rem;

	left: auto;
    margin-top: auto;

    background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 78%, rgba(255,255,255,0.9) 100%);
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 78%,rgba(255,255,255,0.9) 100%);
    background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 78%,rgba(255,255,255,0.9) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#e6ffffff',GradientType=1 );
}

#myLoading .pace_activity,
#myLoading .pace_activity:before,
#myLoading .pace_activity:after { border-top-color: #282a3c; }

/* Ajax loading a coprire (riempie totalmente il contenutore indicato) */

.myLoadingBox
{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  z-index: 9999;
}

.myLoadingBox.onBody{ position: fixed; }

.myLoadingBox .cente { top: 40%; }

/* TABELLE: personalizzazione testata campi ordinamento dati */

.tableHeadOrdCol .asc,
.tableHeadOrdCol .desc { color: #495057; }
.tableHeadOrdCol .desc { display: none; }
.tableHeadOrdCol.active_asc .desc { display: inline;}
.tableHeadOrdCol.active_asc .asc { display: none; }
.tableHeadOrdCol.active_desc .desc { display: none; }
.tableHeadOrdCol.active_desc .asc { display: inline; color: #7AC297; }

/* overlay white */

.card-img-actions-overlay.overlay-white { background-color: rgba(255,255,255,.75); }

/* Componente Jalendar */

.jalendar { width: 100%; margin: 0px auto; /* max-width: 50%; */ }

.jalendar .jalendar-container .jalendar-pages .days .day.have-event span:before { width: 6px; height: 6px; }

.jalendar .jalendar-container .jalendar-pages .add-event .events .events-list .event-single a { color: #333; }

.jalendar .jalendar-container .jalendar-pages .days .day.have-event.holiday span:before {
  background-color: #03a9f4;
}
.jalendar .jalendar-container .jalendar-pages .days .day.have-event.task span:before {
  background-color: #009688;
}
.jalendar .jalendar-container .jalendar-pages .days .day.have-event.event span:before {
  background-color: #e25757;
}

.jalendar .jalendar-container .jalendar-pages .add-event .events .events-list .event-single a.holiday:before {
  background-color: #03a9f4;
}
.jalendar .jalendar-container .jalendar-pages .add-event .events .events-list .event-single a.task:before {
  background-color: #009688;
}
.jalendar .jalendar-container .jalendar-pages .add-event .events .events-list .event-single a.event:before {
  background-color: #e25757;
}

/* CLassi che permettono di mostrare o meno un elemento a seconda della dim schermo (in aggiunta al pacchetto base "d-<size>-none") */

@media (max-width:575.98px) { .hide-on-sm { display: none!important; } }
@media (max-width:767.98px) { .hide-on-md { display: none!important; } }
@media (max-width:991.98px) { .hide-on-lg { display: none!important; } }
@media (max-width:1199.98px) { .hide-on-xlg { display: none!important; } }
@media print { .hide-on-print { display: none!important; } }

/*-------------------------------------------------------------------------------------------------------------*/
/* Classi per tutte le liste */
/*BORDER LEFT SIXLAB COLORS */
.border-left-green{
  border-left-color: #7AC297;
}

.border-left-acquamarine{
  border-left-color: #4db3a2;
}

.border-left-indaco{
  border-left-color: #349aa3;
}

.border-left-lightblue{
  border-left-color: #1b82a4;
}

.border-left-blue{
  border-left-color: #1770a3;
}

.border-left-darkerblue{
  border-left-color: #1461a8;
}

.border-left-blackblue{
  border-left-color: #091f36;
}

.table_items .badge-striped-left:before {
  border-left: 3px solid;
  border-left-color: inherit;
}

/* custom classes divise per colore */
/*--green--*/
.badge-green{
  color: #fff;
  background-color: #7AC297;
}
.bg-six-green{
  background-color: #7AC297;
}
.text-six-green{
  color: #7AC297;
}


/*--acquamarine--*/
.text-six-acquamarine{
  color: #7AC297;
}
.bg-six-acquamarine{
	background-color: #4db3a2;
}
.bg-gradient-acquamarine{
	background: linear-gradient(90deg, rgba(77,179,162,1) 0%, rgba(69,161,146,1) 100%);
}
.badge-acquamarine{
	background-color: #7AC297;
	color: #fff;
}  
.badge-acquamarine-light{
	background-color: #71c2b5;
	color: #fff;
	margin-bottom: 0.2rem;
	white-space: unset;
}
.btn-six-acquamarine{
	color: #fff;
    background-color: #71c2b5;
    border-color: #71c2b5;
}
/*--lightblue--*/
.border-six-lightblue{
  border-color: #1b82a4;
}
.bg-six-lightblue{
  background-color: #1b82a4;
}
.btn-six-lightblue{
	color: #fff;
    background-color: #1b82a4;
    border-color: #1b82a4;
}
.text-six-lightblue{
  color: #1b82a4;
}
.border-left-lightblue{
  border-left: 8px solid #1b82a4;
}
.badge-lightblue{
  background-color: #1b82a4;
  color: #fff;
}  
.nav-tabs-solid-lightblue{
  background-color: #f4f8fb;
}                      
.nav-tabs-solid-lightblue .nav-link.active{
  color: #fff;
  background-color: #1b82a4;
}                
.nav-tabs-solid-lightblue .nav-item{
  flex-grow: 0 !important;
  border-top: 1px solid #ddd !important;
  border-right: 1px solid #ddd !important;
  border-left: 1px solid #ddd !important;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  font-size: 14px;
}
.nav-tabs-solid-lightblue .nav-link{
  padding: 0.75rem 1.85rem;
  background-color: white;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}


/*--indaco--*/
.table_items .custom-checkbox .custom-control-input:checked~.custom-control-label::before {
  background-color: #349aa3 !important;
  border-color: #349aa3 !important;
}
.border-six-indaco{
  border-color: #349aa3;
}
.badge-flat.border-six-indaco{
	border-color: #349aa3;
	color:#349aa3;
}
.bg-six-indaco{
  background-color: #349aa3;
}
.bg-gradient-indaco{
	background: linear-gradient(90deg, rgba(52,154,163,1) 0%, rgba(47,139,147,1) 100%);
}
.text-six-indaco{
  color: #349aa3 !important;
}
.badge-indaco{
	background-color: #349aa3;
	color: #fff;
}
.badge-indaco-light{
	background-color: #5daeb5;
	color: #fff;
	padding: 0.45rem 0.70rem;
	margin-bottom: 0.2rem;
	white-space: unset;
}


/*--blue--*/
.border-six-blue{
  border-color: #1770a3;
}
.badge-blue{
  background-color: #1770a3;
  color: #fff;
}
.bg-six-blue{
  background-color: #1770a3;
}
.text-six-blue{
  color: #1770a3;
}


/*--darkerblue--*/
.border-six-darkerblue{
  border-color: #1461a8;
}
.bg-six-darkerblue{
  background-color: #1461a8;
}
.bg-gradient-darkerblue{
	background: linear-gradient(90deg, rgba(20,97,168,1) 0%, rgba(18,87,151,1) 100%);
}
.text-six-darkerblue{
  color: #1461a8;
}
.text-six-darkerblue-300{
  color: #1461a8 !important;
}
.badge-darkerblue{
	background-color: #1461a8;
	color: #fff;
}

/*--blackblue--*/
.text-six-blackblue{
  color: #091f36;
}
.badge-blackblue{
	background-color: #091f36;
	color: #fff;
}
.bg-six-blackblue{
	background-color: #091f36;
}
.btn-six-blackblue{
	color: #fff;
    background-color: #091f36;
    border-color: #091f36;
}
.btn-six-blackblue:hover {
    color: #fff !important;
	background-color: #0f3257;
    border-color: #0f3257;
}
.text-six-link{
  color: #125197;
}

.badge-yellow-dark{
	color: white;
	background-color: #e3cb63;
}
.badge-six-yellow{
    color: #fff;
    background-color: #f9d556;
}

.badge-green-dark{
	color: white;
	background-color: #95c398;
}

/* BTN CRUD */
.btnDeleteRecord:hover, .btnDeleteTask:hover ,.btnEditRecord:hover ,.btnInfoRecord:hover, .ajaxWidgetDelete:hover{
  box-shadow: 0 0 0 62.5rem rgb(0 0 0 / 0%) inset !important;
}

.btnDeleteRecord i , .btnDeleteTask i , .ajaxWidgetDelete i {
  color:#f1645c;
}

.btnDeleteRecord:hover i,  .btnDeleteTask:hover i, .ajaxWidgetDelete:hover i{
  color: rgb(238, 158, 158) !important;
}

.btnEditRecord:hover i{
  color:rgb(170, 196, 224) !important;
}

.btnInfoRecord:hover i{
  color:rgb(128, 130, 133) !important;
}


.border-left-thick-danger{
  border-left: 7px solid #f44336;
}

.border-left-thick-warning{
  border-left: 7px solid #ff9800;
}

.border-left-thick-primary{
  border-left: 7px solid #2196f3;
}

.border-left-thick-low{
  border-left: 7px solid #4caf50;
}



.border-left-mini-danger{
  border-left: 3px solid #f44336 !important;
}

.border-left-mini-warning{
  border-left: 3px solid #ff9800 !important;
}

.border-left-mini-primary{
  border-left: 3px solid #2196f3 !important;
}

.border-left-mini-low{
  border-left: 3px solid #4caf50 !important;
}

.text-white:not([class*=bg-]):hover{
  color: #1770a3 !important;
  background-color: #efefef;
}

.navbar-dark .navbar-nav-underline .navbar-nav-link.active:before {
  background-color: #349aa3;
}

.navbar-nav-underline .navbar-nav-link:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: transparent;
  height: 3px;
}

/* navbar*/
#navbar-menu .border-top {
  border-top: 0px solid #5c5d69 !important;
}

@media (max-width:992px) {
	.page-header.page-header-light .page-header-content >.d-flex.ajaxDynEdit{
		justify-content: space-evenly;
	}
  #navbar-menu .navbar-nav:first-child>.nav-item:first-child {
    margin-top: 0 !important;
  }
  
  #navbar-menu .navbar-nav-link {
    margin: 0 !important;
    display: block !important;
    padding: .6rem .75rem .6rem 0 !important;
  }
  
  #navbar-menu .navbar-nav:last-child>.nav-item:not(.show):last-child {
    margin-bottom: 0 !important;
  }
  
  #navbar-menu .navbar-nav-link.dropdown-toggle:not(.caret-0):after {
    position: relative !important;
    top: 0 !important;
    right: 0 !important;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  
  #navbar-menu .border-top {
    border-top: 1px solid #5c5d69 !important;
  }

.sidebar-xs .sidebar-main {
    width: 16.875rem;
}

.sidebar-xs .sidebar-main .nav-sidebar>.nav-item>.nav-link {
    justify-content: flex-start;
    padding: 0.75rem 1.25rem;
}
#navbar-menu .dropdown-user span{
    display: none;
  }
}


@media (max-width:1200px) {
	.navbar-expand-xl .navbar-nav-link {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-align: center;
		align-items: center;
		margin: 0;   
		padding: 1rem 1.25rem;
	}
	.navbar-expand-xl .navbar-nav:last-child>.nav-item:not(.show):last-child {
		margin-bottom: 0 !important;
	}
	.dropdown-user .navbar-nav-link, .dropdown-user .navbar-nav-link>span {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}

	.navbar-expand-xl .navbar-nav .dropdown-menu {
		position: absolute;
	}

	.dropdown-menu-right {
		right: 5px;
		left: auto;
	}
}

.list-group{
  border: 0px solid rgba(0,0,0,.125) !important;
}

form .custom-control ul{
  padding: 0 1rem;
}

a.cke_button {
    padding: 0.4rem 0.45rem !important;
}

.cke_toolbar_break{
  display: inline !important;
}

.cke_combo_button {
    margin: 0 .15rem .625rem 0;
}

.cke_combo_button {
    margin: 0 0.15rem 0.25rem 0 !important;
	padding: 0.4rem 0.45rem !important;
}

.cke_combo_text{
	font-size: 0.75rem !important;
}

.cke_bottom {
    padding: 0.4rem 1.25rem !important;
}

.cke_path{
	height: 20px !important;
	line-height: 1 !important;
}

.cke_toolgroup {
    margin: 0 0.15rem .15rem 0 !important;
}

.cke_top {
    padding: 0.6rem 0.5rem 0.2rem 0.5rem !important;
}

#task-new{
  height: 275px;
  overflow: auto;
}

.headersa{
  text-align: end;
}

.row span.text-show{
  padding: 0.55rem 0.75rem;
  background-color: rgba(0,0,0,.05);
}

.row span.text-show::after{
  content:'_';
  color: rgba(0,0,0,.05);
}

.navbar-brand img {
  height: 32px;
}

.table-responsive{
  overflow-y: inherit;
}

.card {
  border: 0px solid rgba(0,0,0,.125) !important;
}

.pl-2_5{
	padding-left: 0.9rem!important;
}
.pr-2_5{
	padding-right: 0.9rem!important;
}
.mt-2_5{
  margin-top: 0.9rem!important;
}
.mb-2_5{
  margin-bottom: 0.9rem!important;
}

.navbar-dark .navbar-nav-link:focus, .navbar-dark .navbar-nav-link:hover {
  color: #fff;
  background-color: rgba(255,255,255,.1) !important;
}

.modal-footer{
  border-top: 1px solid rgba(0,0,0,.125) !important;
  padding-top:1rem !important;
}

.modal-body{
  overflow-y: auto !important;
  max-height: calc(100vh - 200px);
}

.modal{
  overflow-y: hidden !important;
}
.active_asc a,.active_desc a{
	color: #0977a9 !important;
	font-weight: 600;
}

.mi-0_5x {
  font-size: 17px;
}

.mi-1x {
  font-size: 19px;
}
.mi-1_5x {
	font-size: 24px;
}

.btn-icon {
  width: calc(2rem) !important;
  height: calc(2rem) !important;
}

.dropdown:not(.not-icon) .dropdown-toggle::after {
  font-family: material-icons!important;
  border: 0; /*?*/
  vertical-align: middle;
  font-size: 13px;
  margin-top: 3px;
  margin-left: 0.25rem;
  line-height: 1;
  position: relative;
  content: "\ea9b";
}

[data-action]:after {
	font-family: material-icons!important;
	font-size: 18px;
}
[data-action=collapse]:after {
	content: "\ea9b";
}

button.btn-outline.bg-six-indaco[aria-expanded="true"]{
	color: white !important;
}

.modal-header.bg-primary{
	border-color: #2196f3;
}

.modal-content{
	border: 0px solid #fff !important;
}

.fab-menu-inner {
    list-style: none;
    margin: 0;
    padding: 0;

	display: block;
    position: absolute;
    top: 0.125rem;
    left: 0;
    right: 0;
    text-align: center;
    padding-top: 1.25rem;
    margin-top: -1.25rem;
}
.fab-menu-top[data-fab-toggle=hover]:hover .fab-menu-inner>div {
    top: 4.25rem;
}
.fab-menu[data-fab-state=open] .fab-menu-inner>div, .fab-menu[data-fab-toggle=hover]:hover .fab-menu-inner>div {
    visibility: visible;
    opacity: 1;
}
.fab-menu .fab-menu-inner>div {
    transition-delay: 50ms;
}
.fab-menu .fab-menu-inner>div {
    visibility: hidden;
    opacity: 0;
    transition: all ease-in-out .3s;
}
.fab-menu-inner>div {
    display: block;
    position: absolute;
	right: 0px;
    bottom: 0px;
    text-align: center;
}
.opacity-15{
	opacity: .15;
}

.card-widget-secondblock {
	margin-left: 20%;
}

@media only screen and (max-width: 1500px) {
	.card-widget-secondblock {
		margin-left: 15%;
	}
}

@media only screen and (max-width: 1400px) {
	.card-widget-secondblock {
		margin-left: 7%;
	}
}

.p-2_5{
	padding: 0.9rem;
}

.list-feed-item:before {
    left: -5px !important;
}

@media (min-width: 1400px){
	.col-xxl-2_5 {
		-ms-flex: 0 0 20%;
		flex: 0 0 20%;
		max-width: 20%;
	}
}

@media (min-width: 768px){
	#form_text .select2-search--dropdown{
		width: 75%;
	}	
  .search-home .select2-search--dropdown {
		width: 75% !important;
	}	
	.modal-dialog {
		max-width: 750px !important;
	}
}

@media (max-width: 768px){
	.page-header.page-header-light .page-header-content >.d-flex.ajaxDynEdit{
		margin-bottom: 15px;	
	}
	.breadcrumb a,.breadcrumb span{
		font-size: 11px;
	}
	.daterangepicker {
		width: fit-content;
	}

	#solid-rounded-justified-tab2 > div{
		flex-direction: column;
	}

	#solid-rounded-justified-tab2 .change-view{
		margin-top: 15px;
		flex-wrap: wrap;
	}

	.tot-table{
		margin-top: 1.25rem;
	}

	.d-flex.justify-content-between.align-items-center.mt-2{
		flex-direction: column !important;
	}

	.d-flex.justify-content-between.align-items-center.mt-2 .tot-table{
		text-align: left !important;
		padding-left: 0 !important;
	}

	#modal_conffincati label.col-form-label{
		text-align: left !important;
	}

	.comwrk_form label{
		text-align: left !important;
	}

	.table-responsive > table.table-xs td:first-child,.table-responsive > table.table-xs th:first-child{
		padding: 0.35rem 0.5rem 0.35rem 1.25rem;
	}

	.table-responsive > table.table-xs td:not(:first-child),.table-responsive > table.table-xs th:not(:first-child){
		padding: 0.35rem 0.5rem;
	}

	.page-header-content.header-elements-sm-inline{    
		padding-top: 0 !important;
	}

	.page-header-content.header-elements-sm-inline > .page-title{
		padding-top: 10px !important;
	}

	.content > div > .flex-fill > .card{
		margin-left: -1.25rem !important;margin-right: -1.25rem !important;
	}
}


@media (max-width: 576px){
	.page-content {
		padding-bottom: 3rem;
	}

	.content-wrapper .content {
		padding: 1.25rem 1.25rem 2rem 1.25rem !important;
	}

	.nav-tabs-solid-lightblue .nav-link {
		padding: 0.75rem 1.1rem !important;
	}

	.graph-op{
		flex-direction: column;
	}

	.donut-opp{
		left: 250px !important;
	}

	.donut-off{
		left: 200px !important;
	}

	.breadcrumb .breadcrumb-item:first-child{
		padding: 0.825rem 0 0.625rem 0rem !important;
	} 

	.breadcrumb .breadcrumb-item:first-child i{
		margin-right: 0.25rem!important;
	} 

	.breadcrumb-item{
		padding: 0.825rem 0 0.625rem 0.35rem !important;
	}

	.breadcrumb-item+.breadcrumb-item::before {
		padding-right: 0.35rem !important;
	}
}

@media (min-width: 992px){
	.modal-lg, .modal-xl {
		max-width: 1000px !important;
	}
}

@media (min-width: 1200px){
	.modal-lg, .modal-xl {
		max-width: 1150px !important;
	}
}
.breadcrumb-line {
    background-color: #fff;
	border-color: var(--border-subtle);
}

.postit{
	padding: 1rem;
	overflow-y: auto;
	border-bottom: 1px solid #3e3d3d1f;
	padding: 1rem;
}

.postit .d-flex.flex-column{
	max-height: 200px;
}

.operation-postit{
  width: min-content;
  text-align: end;
}

.descr-note{
    word-break: break-all;
}

.card-header{
	border-bottom: 1px solid var(--border-subtle, rgb(0 0 0 / 5%));
}

/* Paginazione note */
.paginazione-note .page-item .page-link , .paginazione-note .page-button .page-link, .paginazione-note .page-dot .page-link{
    display: inline-block;
    padding: .35rem;
    min-width: 2.25rem;
    margin-left: .175rem;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    color: #333;
    background-color: #ffffff !important;
    outline: 0;
    border: 1px solid transparent;
    border-radius: .1875rem;
    transition: all ease-in-out .15s;
}
.paginazione-note #pages{
	display: flex;
}
.paginazione-note .page-item:first-child .page-link{
    margin-left: 0rem;
}
.paginazione-note .pagination-sm .page-link{
    padding: 0.3125rem 0.75rem;
    font-size: .75rem;
}
.paginazione-note .page-button .page-link {
    padding: 0.3125rem 0.55rem;
    font-size: .75rem;
}
.paginazione-note .page-item.active .page-link{
    background-color: #7ac297 !important;
    border-color: #7ac297 !important;
	color: white;
}

#form_text .select2-search--dropdown, #form_text .input-group-append {
    padding: 0;
}

.menu-notify{
	right: 50px !important;
	overflow: hidden;
	padding: 0 !important;
}

.menu-notify .media{
	border-bottom: 1px solid var(--border-subtle);
    padding: 15px 17px;
	margin-top: 0px !important;
	border-radius: 0 !important;
}

.menu-notify .notif-unread {
	background-color: rgba(79,181,162,0.07);
}

.menu-notify > .dropdown-content-header{
	background-color: var(--navy-900);
    color: white;
    padding-top: 1rem;
    align-items: center;
    padding-bottom: 1rem;
}

.menu-notify .dropdown-content-body{
	padding: 0;
}

.menu-notify .media > div:first-child > i{
    color: var(--teal-500);
}

.menu-notify > .dropdown-content-header #markAllRead {
    color: var(--teal-500);
    font-weight: 600;
}

.menu-notify .media .media-title span{
    color: var(--text-faint);
}

.menu-notify .media-list{
	width: 400px;
    font-size: 13px;
}

.fic{
    color: #b9b9b9 !important;
	background-color: #eee;
}

.fic.orderToFic{
    color: #333 !important;
	background-color: #fff;
}

.fic.orderToFic:hover{
	background-color: #eee;
}

.bg-grey-light{
	background-color: #c3c3c3;
}

.tot_rep.badge{
	position: absolute !important;
    top: -10px !important;
}

.bg-opacity-10 {
    background-color: #6ab6bd!important;
}

#solid-rounded-justified-tab2 .list-feed-item:after {
    left: -3px;
    width: 3px;
    border-left: 1px solid #45748a;
    border-right: 2px solid #45748a;
}

.icon-history{
	padding: 0.4375rem 0.875rem;
	border: 1px solid #cad1dc;
	border-radius: 0.375rem;
	background-color: white;
    z-index: 22;
}

.timeline-history{
	min-height: 71%;
    width: 2px;
    position: absolute;
    background-color: #e9e9e9;
    left: 32px;
    z-index: 1;
}

.cont-comments{
	min-height: 71%;
	overflow-y: auto !important;
    max-height: calc(78vh - 195px);
}

.cont-comments .cont-single:before{
    font-family: 'material-icons' !important;
	font-size: 17px;
    padding: 0.275rem 0.65rem;
    border: 1px solid #cad1dc;
    border-radius: 0.375rem;
    background-color: white;
    z-index: 22;
    position: absolute;
    left: -21px;
}

.cont-comments .cont-single.first:before{
    top: .3rem;
}

.cont-comments .cont-single:not(.first):before{
    top: 1.7rem;
}

.cont-comments .cont-single.mat-mi-person:before{
    content: "\eb2d";
	color: #1b82a4;
	border: 1px solid #1b82a4;
}

.cont-comments .cont-single.mat-mi-mode-edit:before{
    content: "\e9b8";
	color: #1461a8;
	border: 1px solid #1461a8;
}

.cont-comments .cont-single.mat-mi-add:before{
    content: "\e90c";
	color: #091f36;
	border: 1px solid #091f36;
}

.cont-comments .cont-single.mat-mi-check:before{
    content: "\e994";
	color: #349aa3;
	border: 1px solid #349aa3;
}

.cont-comments .cont-single.mat-mi-mode-comment:before{
    content: "\eaef";
	color: #7AC297;
	border: 1px solid #7AC297;
}

.cont-comments .cont-single{
	border-left: 2px solid #ddd;
	position: relative;
}

.cont-comments .cont-single:not(.first) > div{
	padding-top: 1.5rem !important;
}

.block-fast-edit{
	border-right: 1px solid #ddd;
}

.cont-comments .cont-single:last-child:after{
	content: '';
	background-color: white;
    z-index: 22;
    position: absolute;
    width: 2px;
    top: 65px;
    height: 50%;
    left: -2px;
}

.cont-comments .cont-single.notify:before{
	background-color: #fff196 !important;
}

.mi-timeline{
	padding: 0.375rem 0.375rem;
	z-index: 2;
	margin-top: 3px;
}
.text-yellow .pulse{
    display: grid;
    place-items: center;
}
.text-yellow .pulse:before,
.text-yellow .pulse:after{
    content: "";
    position: absolute;
    height: 25px;
    width: 25px;
    background-color: #fdd756;
    border-radius: 50%;
    z-index: 0;
    opacity: 0.7;
}
.text-yellow .pulse:before{
    animation: pulse 2s ease-out infinite;
}
.text-yellow .pulse:after{
    animation: pulse 2s 1s ease-out infinite;
}
@keyframes pulse{
    100%{
        transform: scale(2.5);
        opacity: 0;
    }
}

.task_form_fast .row span.text-show {
	overflow: auto;
    max-height: 170px;
}

.bg-success-opacity-25 {
    background-color: rgba(37, 179, 115, 0.25)!important;
}

.bg-warning-opacity-25 {
    background-color: rgba(245, 134, 70, 0.25)!important;
}

.bg-primary-opacity-25 {
    background-color: rgba(33, 150, 243, 0.25)!important;
}
/* I pannelli filtro delle liste stanno in fondo al file, sotto .list-filter:
   scorre l'elenco delle voci, non piu' il pannello intero. */

.progress {
    background-color: #e9e9e9 !important;
    box-shadow: inset 0 0.0625rem 0.0625rem rgb(0 0 0 / 15%) !important;
}

.bg-six-yellow{
	background-color: #e39423;
}
.text-six-yellow{
	color: #e39423;
}

.cke_button__source_label,.cke_button__about {
    display: none !important;
}

[id^="accordion-control-right-"] {
    max-height: 400px;
    overflow: auto;
}

.cke_contents{
	overflow: hidden !important;
}

.allegati-div .nome-allegato{
  word-break:break-all;
}

/* Mittente delle mail importate, riga sotto l'oggetto nel widget "File collegati" */
.allegati-div .mittente-allegato{
  word-break:break-word;
}

.allegati-div .mittente-allegato i{
  vertical-align:-2px;
  opacity:.7;
}

.entityfile{
  margin: 0 !important;
}

.entityfile .allegati-div{
  padding: 0 !important;
}

.entityfile .allegati-div .card-header{
  border-top: 1px solid rgba(0, 0, 0, .125) !important;
}

.entityfile .allegati-div:first-child .card-header {
  border-top: 0px !important;
}

.crud-doc a.btn:hover{
  box-shadow: 0 0 0 62.5rem rgb(0 0 0 / 0%) inset !important;
}

.module-entity .input-group-append{
  width: 0%;
}

.module-entity .multiselect-clear-filter{
  background-color: #ffffff;
  border: 0px solid !important;
  right: 34px;
  top: 2px;
  font-size: 10px;
}

.module-entity  .icon-cross2{
  color: grey;
  font-size: 12px;
}

.menu-notify .submenu-notify {
  display: none;
}

.menu-notify .submenu-notify.show {
  display: block;
}

.submenu-notify {
  position: absolute;
  top: 35%;
  width: 110px;
  right: 50px;
  z-index: 1060;
  min-width: 200px !important;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

.search-home .form-control1 {
  background-color: white !important;
}

.search-home .input-group-append{
  background-color: white !important;
}

#form_search input,#form_search .input-group-append{
  background-color: #282a3c !important;
}

#form_search .input-group-append i,#form_search input{
  color: white !important;
}

#form_search .input-group-append{
  border: 0px solid transparent;
  border-bottom: 1px solid #ddd;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

#form_search input:focus-visible {
  outline-offset: 0px;
}
#form_search input:focus-visible {
  outline: -webkit-focus-ring-color auto 0px;
}
#form_search input:focus,
#form_search input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

#form_search a.input-group-append {
  border-bottom: 1px solid transparent;
}
#form_search a.input-group-append .input-group-text{
  background-color: #282a3c !important;
  border: 0px solid transparent !important;
}

.form-control2 {
  display: block !important;
  width: 100%;
  height: calc(1.5385em + 1rem + 2px);
  padding: .5rem 0.3rem !important;
  font-size: .8125rem;
  font-weight: 400;
  line-height: 1.5385;
  color: #333;
  background-color: #f4f8fb !important;
  border: 1px solid #ddd !important;
  border-radius: 0 !important;
  box-shadow: 0 0 0 0 transparent;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  background-clip: border-box;
  border-width: 1px 0 !important;
  border-top-color: transparent !important;
}

.dalnegro{
  background-color:#e30613 !important;
}

.dalnegro #form_search input, .dalnegro #form_search .input-group-append {
  background-color: #e30613 !important;
}
.dalnegro #form_search input::placeholder {
  color: white;
}

@media (min-width: 1500px) {
  .d-xxxl-block {
    display: block !important;
  }
}

/* Il wrapper di questa checkbox non ha la classe .custom-control (e ha pl-0), quindi il
   box disegnato dal tema a left:-2rem cadeva FUORI dalla label: il click sul quadratino
   finiva sul div e non toggolava l'input (funzionava solo cliccando il testo).
   Riportiamo il box dentro il padding-left della label. */
.custom-control-label-custom::before, .custom-control-label-custom::after {
  width: 1rem;
  height: 1rem;
  left: 0;
  top: 0.2rem;
}
.custom-control-label-custom{
  padding-left: 1.5rem;
}

.custom-control-input-custom:checked~.custom-control-label::before {
  border-color: #607d8b;
  background-color: #607d8b !important;
}

.fs-13{
  font-size: 13px !important;
}

.fs-14{
  font-size: 14px !important;
}

.visite-lista-moduli{
  padding: 1rem;
  border-top: 1px solid #3e3d3d1f;
}
.lista-reports-module .card-body .row .col-lg-12:first-child .visite-lista-moduli{
  border-top: 0px solid #3e3d3d1f !important;
}

.lista-reports-module .card-body .row .col-lg-12:last-child .visite-lista-moduli{
  border-radius: 0 0 var(--radius-lg) var(--radius-lg) !important;
}

.opp-menu::before, .off-menu::before, .ord-menu::before, .ordf-menu::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: middle;
}
.opp-menu::before{ background: var(--opp); }
.off-menu::before{ background: var(--off); }
.ord-menu::before{ background: var(--ordc); }
.ordf-menu::before{ background: var(--ordf); }

.header-elements .badge-pill.badge-flat{
  border-radius: .5rem !important;
  padding: 0 !important;
}

.card-header{
  padding: 0.65rem 1.25rem !important;
}

.card-header > div > span{
  font-size : 14px !important;
}

/* ============================================================================
   ZAPIX 2026 REDESIGN — bitwiser brand re-theme
   Loaded last (see _php_client/lib/view/back_of/utils/init.php), so these
   rules cascade over every vendor/theme/page stylesheet without editing them.
   ============================================================================ */

:root{
  --navy-900: #091f36;
  --navy-800: #16293e;
  --navy-700: #22364a;
  --navy-600: #2e4054;
  --navy-500: #46586c;
  --navy-300: #8d9aa9;
  --navy-100: #dde3e9;
  --navy-050: #eef1f4;

  --green-400: #89e8a7;
  --teal-500: #4fb5a2;
  --blue-600: #2787a6;
  --blue-800: #0b3a5e;

  --gradient-brand: linear-gradient(180deg, var(--green-400) 0%, var(--teal-500) 52%, var(--blue-600) 100%);
  --gradient-brand-h: linear-gradient(90deg, var(--green-400) 0%, var(--teal-500) 52%, var(--blue-600) 100%);
  --gradient-navy: linear-gradient(160deg, var(--navy-600) 0%, var(--navy-900) 100%);

  --surface-subtle: var(--navy-050);
  --text-heading: var(--navy-900);
  --text-body: var(--navy-700);
  --text-muted: var(--navy-500);
  --text-faint: var(--navy-300);
  --text-on-dark: #ffffff;
  --text-on-dark-muted: rgba(255,255,255,0.72);

  --accent: var(--teal-500);
  --accent-strong: var(--blue-600);
  --accent-soft: rgba(79,181,162,0.14);
  --link: var(--blue-600);

  --success: #3ba876;
  --success-soft: rgba(59,168,118,0.14);
  --warning: #d9a13b;
  --warning-soft: rgba(217,161,59,0.16);
  --danger: #c25454;
  --danger-soft: rgba(194,84,84,0.14);

  --border-subtle: rgba(9,31,54,0.10);
  --border-strong: rgba(9,31,54,0.22);
  --border-on-dark: rgba(255,255,255,0.14);

  --font-display: 'Jura', 'Titillium Web', sans-serif;
  --font-body: 'Titillium Web', 'Poppins', sans-serif;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  --shadow-card: 0 2px 8px rgba(9,31,54,0.06), 0 12px 32px rgba(9,31,54,0.08);
  --shadow-raised: 0 4px 16px rgba(9,31,54,0.12), 0 20px 48px rgba(9,31,54,0.14);
}

/* ---- Type ---- */

body, .form-control, .form-control2, .select2-search__field, input, textarea, select, button {
  font-family: var(--font-body) !important;
}

h1, h2, h3, h4, h5, h6,
.page-title h4, .title-page h4,
.navbar-brand, .card-title {
  font-family: var(--font-display) !important;
  color: var(--text-heading) !important;
  letter-spacing: 0.01em;
}

.card-title a.text-body {
  color: var(--text-heading) !important;
}

a { color: var(--link); }
a:hover { color: var(--accent-strong); }

/* ---- Dark surfaces (navbar / sidebar / dark popovers) ---- */

.navbar.navbar-dark, .sidebar.sidebar-dark, .bgDark,
.menu-notify > .dropdown-content-header,
#form_search input, #form_search .input-group-append,
#form_search a.input-group-append .input-group-text {
  background-color: var(--navy-900);
}

.navbar.navbar-dark, .sidebar.sidebar-dark { box-shadow: none; }

#myLoading .pace_activity, #myLoading .pace_activity:before, #myLoading .pace_activity:after {
  border-top-color: var(--navy-900);
}

#navbar-menu .border-top { border-top-color: var(--border-on-dark) !important; }

.navbar-dark .navbar-nav-link:focus, .navbar-dark .navbar-nav-link:hover {
  background-color: rgba(255,255,255,.10) !important;
}

.navbar-dark .navbar-nav-underline .navbar-nav-link.active:before {
  background: var(--gradient-brand-h) !important;
  height: 3px;
  border-radius: 2px;
  left: 10px; right: 10px;
}
.navbar-nav-underline .navbar-nav-link:before { left: 10px; right: 10px; }


/* ---- Search box (topbar) ---- */

.search-home .select2-search__field, .form-control2 {
  background-color: rgba(255,255,255,0.10) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: var(--radius-pill) 0 0 var(--radius-pill) !important;
  color: #fff !important;
}
.search-home .select2-search__field::placeholder { color: rgba(255,255,255,0.6) !important; }
#form_search .input-group-append {
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-left: 0 !important;
  border-radius: 0 var(--radius-pill) var(--radius-pill) 0 !important;
}
#form_search .input-group-append i, #form_search input { color: #fff !important; }

/* ---- Cards ---- */

.card {
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-card);
}

/* ---- Buttons ---- */

.btn:not(.btn-icon):not(.btn-float) {
  border-radius: var(--radius-pill) !important;
  font-weight: 600;
}
.btn-icon { border-radius: var(--radius-sm) !important; }

.btn-six-lightblue, a.btn.bg-six-lightblue, button.btn.bg-six-lightblue {
  background: var(--accent-strong) !important;
  border: none !important;
  color: #fff !important;
}
.btn-six-lightblue:hover, a.btn.bg-six-lightblue:hover, button.btn.bg-six-lightblue:hover {
  background: var(--blue-800) !important;
  color: #fff !important;
}

/* ---- Brand color utility classes (re-mapped to the new palette) ---- */

.bg-six-green { background-color: var(--success) !important; }
.text-six-green, .text-six-acquamarine { color: var(--success) !important; }

.bg-six-acquamarine, .btn-six-acquamarine { background-color: var(--teal-500) !important; border-color: var(--teal-500) !important; }
.bg-gradient-acquamarine { background: var(--teal-500) !important; }

.bg-six-lightblue { background-color: var(--accent-strong) !important; }
.border-six-lightblue { border-color: var(--accent-strong) !important; }
.text-six-lightblue { color: var(--accent-strong) !important; }

.bg-six-indaco { background-color: var(--teal-500) !important; border-color: var(--teal-500) !important; }
.border-six-indaco { border-color: var(--teal-500) !important; }
.text-six-indaco { color: var(--teal-500) !important; }
.bg-gradient-indaco { background: var(--accent-strong) !important; }

.bg-six-blue { background-color: var(--accent-strong) !important; border-color: var(--accent-strong) !important; }
.border-six-blue { border-color: var(--accent-strong) !important; }
.text-six-blue { color: var(--accent-strong) !important; }

.bg-six-darkerblue { background-color: var(--navy-700) !important; border-color: var(--navy-700) !important; }
.border-six-darkerblue { border-color: var(--navy-700) !important; }
.text-six-darkerblue, .text-six-darkerblue-300 { color: var(--navy-700) !important; }
.bg-gradient-darkerblue { background: var(--navy-700) !important; }

.bg-six-blackblue, .btn-six-blackblue { background-color: var(--navy-900) !important; border-color: var(--navy-900) !important; }
.btn-six-blackblue:hover { background-color: var(--navy-700) !important; border-color: var(--navy-700) !important; }
.text-six-blackblue, .text-six-link { color: var(--navy-900) !important; }

/* ---- Static status/category badges (pill chips, soft background) ----
   NOTE: offer/opportunity/order status badges use inline styles driven by
   SysDropdown-configured hex values (per-tenant, DB-config), not these
   classes, so they are unaffected by this re-theme. These rules cover the
   literal badge-* classes used for tasks, account "Tipo Account", widgets. */

.badge:not(.badge-mark) { border-radius: var(--radius-pill) !important; font-weight: 700; letter-spacing: 0.02em; }

.badge-green, .badge-green-dark, .badge-acquamarine, .badge-acquamarine-light {
  background-color: var(--success-soft) !important; color: var(--success) !important;
}
.badge-lightblue, .badge-blue, .badge-indaco, .badge-indaco-light {
  background-color: var(--accent-soft) !important; color: var(--accent-strong) !important;
}
.badge-darkerblue { background-color: rgba(9,31,54,0.10) !important; color: var(--navy-700) !important; }
.badge-blackblue { background-color: var(--navy-900) !important; color: #fff !important; }
.badge-yellow-dark, .badge-six-yellow { background-color: var(--warning-soft) !important; color: #9a6f1f !important; }

/* Standard bootstrap semantic badges (Sì/No flags, generic statuses — used app-wide) */
.badge-success { background-color: var(--success-soft) !important; color: var(--success) !important; }
.badge-danger { background-color: var(--danger-soft) !important; color: var(--danger) !important; }
.badge-warning { background-color: var(--warning-soft) !important; color: #9a6f1f !important; }
.badge-info { background-color: var(--accent-soft) !important; color: var(--accent-strong) !important; }
.badge-primary { background-color: var(--accent-soft) !important; color: var(--accent-strong) !important; }
.badge-secondary { background-color: var(--navy-050) !important; color: var(--text-muted) !important; }

/* ---- Widget card su fondo pieno (KPI dashboard: Opportunità / Offerte / Ordini,
   Fatturato, Ordinato, Trasporti) ----
   Queste card dipingono un fondo saturo navy/teal/verde/ambra, quindi due regole
   qui sopra ci si annullano dentro: il colore globale degli h1..h6 (titoli e
   importi navy scuro su card navy scura) e i badge a tinta tenue (chip pallido
   con testo dello stesso tono del fondo). Dentro una card colorata il testo
   diventa bianco e il chip bianco translucido. */

.card.has-bg-image, .card[class*="bg-gradient-"] {
  color: var(--text-on-dark) !important;
}
.card.has-bg-image h1, .card.has-bg-image h2, .card.has-bg-image h3,
.card.has-bg-image h4, .card.has-bg-image h5, .card.has-bg-image h6,
.card[class*="bg-gradient-"] h1, .card[class*="bg-gradient-"] h2, .card[class*="bg-gradient-"] h3,
.card[class*="bg-gradient-"] h4, .card[class*="bg-gradient-"] h5, .card[class*="bg-gradient-"] h6 {
  color: var(--text-on-dark) !important;
}
.card.has-bg-image .badge, .card[class*="bg-gradient-"] .badge {
  background-color: rgba(255,255,255,0.20) !important;
  color: var(--text-on-dark) !important;
}

/* L'unica variante chiara è l'ambra (widget Fatturato e Trasporti): il bianco ci
   sta sopra a 2.3:1, quindi lì il testo resta navy anche dove il markup dichiara
   .text-white, e il chip diventa bianco pieno. */
.card.bg-warning, .card.bg-warning h1, .card.bg-warning h2, .card.bg-warning h3,
.card.bg-warning h4, .card.bg-warning h5, .card.bg-warning h6 {
  color: var(--navy-900) !important;
}
.card.bg-warning .badge {
  background-color: rgba(255,255,255,0.75) !important;
  color: var(--navy-900) !important;
}

/* ---- "Entità collegate" accordion widgets (Aperte/Chiuse groups: accounts/pricelists
   entity_related.php and similar) — sub-header row tint + divider, and the outer
   card/list borders they use. ---- */

.bg-primary-100 { background-color: var(--accent-soft) !important; }
.bg-secondary-100 { background-color: var(--surface-subtle) !important; }
.border-dark-100 { border-color: var(--border-subtle) !important; }

/* ---- Page header / breadcrumb bar ---- */

.page-header.page-header-light { background-color: unset !important; border-bottom: none !important; }
/* Neutralizes the per-module pastel tint (e.g. opportunities' --opp-chiaro) that ~49
   custom_pages/*/show.css|index.css files set on .breadcrumb-line with !important,
   so every module gets the same clean white breadcrumb bar. */
.breadcrumb-line { background-color: #fff !important; color: inherit !important; border-bottom: 1px solid var(--border-subtle) !important; border-color: var(--border-subtle) !important; }
.breadcrumb-item, .breadcrumb-item a { color: var(--text-muted) !important; font-size: 13.5px; }
.breadcrumb-item.active { color: var(--text-faint) !important; }
.breadcrumb-elements-item.reportBug { color: var(--danger) !important; }
.page-title h4 { font-size: 22px; font-weight: 700; }

/* ---- Tables ---- */

.table_items thead th, .table thead th {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--text-muted);
}
.table_items tbody td, .table tbody td {
  border-top: 1px solid var(--border-subtle) !important;
}
.table_items tbody tr:hover {
  background-color: var(--surface-subtle);
}

/* ---- Row action icons (info/edit/delete in table rows) ---- */

.btnInfoRecord, .btnEditRecord, .btnDeleteRecord, .btnDeleteTask, .ajaxWidgetDelete {
  border-radius: var(--radius-sm) !important;
  transition: background-color 140ms var(--ease-brand, ease);
}
.btnInfoRecord:hover:not(.btn-info), .btnEditRecord:hover:not(.btn-info) { background-color: var(--accent-soft) !important; }
.btnDeleteRecord:hover:not(.btn-danger), .btnDeleteTask:hover:not(.btn-danger), .ajaxWidgetDelete:hover:not(.btn-danger) { background-color: var(--danger-soft) !important; }
.text-six-blackblue.btnInfoRecord { color: var(--accent-strong) !important; }

/* ---- Page-level search box (list screens' header search, e.g. "Cerca e premi invio") ---- */
/* Alcune liste (ordini fornitori, crmtasks, orsplink...) usano un <div id="form_text">
   invece di un <form>: il selettore copre entrambi i wrapper. */
form .input-group.justify-content-center,
#form_text .input-group.justify-content-center{
  border: 1px solid var(--border-subtle) !important;
  box-shadow: var(--shadow-card);
  background-color: #fff !important;
  border-radius: var(--radius-pill) !important;
  justify-content: space-between !important;
}
.search-mat .form-control1, #form_text .form-control1 {
  background-color: #fff !important;
  border-radius: var(--radius-pill) 0 0 var(--radius-pill) !important;
  padding: 15px 20px !important;
  border: 0px solid;
}
#form_text .input-group-append .input-group-text {
  background-color: #fff !important;
  border-left: 0 !important;
  border-radius: 0 var(--radius-pill) var(--radius-pill) 0 !important;
  color: var(--text-faint);
  border: 0px solid;
}

/* Widget dashboard "Cerca tra tutte le entità del sistema": la pillola sta dentro
   una card bianca, non nella topbar scura, quindi niente ombra (la card ha già la
   sua, e una pillola in rilievo dentro una card in rilievo fa doppio spessore) ed
   è più bassa della search dei list screen. Il glifo icomoon che select2 aggiunge
   in ::after resterebbe sopra il testo, quindi via. */
#form_text.search-entities .input-group { box-shadow: none !important; }
#form_text.search-entities .select2-search--dropdown {
  flex: 1 1 auto;
  width: auto;
  padding: 0;
}
#form_text.search-entities .select2-search--dropdown:after { display: none; }
#form_text.search-entities .form-control1 {
  width: 100%;
  padding: 10px 18px !important;
}
#form_text.search-entities .input-group-append .input-group-text { padding-right: 16px; }
#form_text.search-entities .input-group:focus-within {
  border-color: var(--accent-strong) !important;
  box-shadow: 0 0 0 3px var(--accent-soft) !important;
}

/* Pricelist "Articoli" tab search box (self-contained pill, not the shared
   .search-mat/#form_text pattern used by list-screen header searches). */
.search-box-pill {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-pill) !important;
  box-shadow: var(--shadow-card);
  overflow: hidden;
}
.search-box-pill .form-control1 {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  flex: 1 1 auto;
  width: 1% !important;
}
.search-box-pill .input-group-append {
  display: flex;
  align-items: center;
  padding-right: 16px;
  flex: 0 0 auto;
}
.search-box-pill:focus-within {
  border-color: var(--accent-strong);
  box-shadow: 0 0 0 3px var(--accent-soft);
}
.search-box-pill .input-group-text {
  background: transparent !important;
  border: 0 !important;
  color: var(--text-faint);
}

/* ---- Pagination ---- */

.pagination .page-link {
  border-radius: var(--radius-sm) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-body);
  margin: 0 3px;
  font-weight: 600;
}
.pagination .page-item.active .page-link {
  background-color: var(--accent-strong) !important;
  border-color: var(--accent-strong) !important;
  color: #fff !important;
}
.pagination .page-item.disabled .page-link {
  border-color: transparent !important;
  color: var(--text-faint);
}

/* ---- Filter dropdown icon buttons (bg-six-indaco btn-icon in table headers) ---- */

.table_items thead .btn-icon.rounded-round {
  width: 1.75rem !important;
  height: 1.75rem !important;
}

/* Unselected filter (no active filter applied) is plain btn-outline — drop its border,
   the funnel icon alone is enough; the filled/active state (no .btn-outline) is unaffected. */
.table_items thead .btn-icon.rounded-round.btn-outline {
  border-color: transparent !important;
}

/* ---- Detail-page header stat strip (offers/opportunities/accounts/orders-suppliers show.php) ----
   Targets the exact "header_right" container built by these show.php files:
   <div class="d-flex ajaxDynEdit ..." url_to_call="..." item_id="...">, direct child of
   .page-header-content. Scoped with the child combinator so generic .ajaxDynEdit inline-edit
   fields used elsewhere in the app (accounts, items, etc.) are left untouched. */

.page-header-content > .d-flex.ajaxDynEdit {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: 2px 6px;
}
.page-header-content > .d-flex.ajaxDynEdit > div {
  padding: 10px 18px !important;
  border-right-color: var(--border-subtle) !important;
}
.page-header-content > .d-flex.ajaxDynEdit > div > span.text-muted {
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-faint) !important;
}
.page-header-content > .d-flex.ajaxDynEdit > div > span:not(.text-muted) {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-heading);
}

/* ---- Detail-page tabs (Dettagli / Movimentazione / Revisioni, etc. — used app-wide) ---- */

.nav-tabs-solid-lightblue { background-color: transparent; }
.d-flex.justify-content-between:has(> .nav-tabs-solid-lightblue) {
  margin-bottom: 10px !important;
  border-bottom: 1px solid var(--border-subtle) !important;
}
.nav-tabs-solid-lightblue .nav-item { border: none !important; }
.nav-tabs-solid-lightblue .nav-link {
  background-color: transparent !important;
  border-radius: 0 !important;
  color: var(--text-muted) !important;
  font-weight: 600;
  position: relative;
}
.nav-tabs-solid-lightblue .nav-link.active {
  background-color: transparent !important;
  color: var(--text-heading) !important;
  font-weight: 700;
}
.nav-tabs-solid-lightblue .nav-link.active:after {
  content: '';
  position: absolute;
  left: 10px; right: 10px; bottom: -1px;
  height: 3px;
  border-radius: 2px;
  background: var(--accent-strong);
}

/* ---- "Aperto/Archiviati" status switcher (nav-tabs.list-status — orders-suppliers/index.php,
   pdfgenerator/index.php). Was plain boxed bootstrap tabs, which don't connect cleanly to the
   redesigned rounded/bordered .card sitting right below it (no shared border-radius, so the
   two elements looked misaligned). Restyled as a segmented control, same look as il toggle
   Lista/Calendario di visite (.vis-view-toggle). ---- */

.nav-tabs.list-status {
  /* block-level flex + width:max-content: come inline-flex il box veniva allineato
     alla baseline della riga e finiva sotto la .card successiva */
  display: flex;
  width: max-content;
  max-width: 100%;
  flex-wrap: nowrap;
  margin-bottom: 12px !important;
  gap: 3px;
  background: var(--surface-subtle);
  /* !important: i CSS di pagina azzerano il border-bottom di .nav-tabs con
     "border-bottom: 0px !important" e vincerebbero sullo shorthand */
  border: 1px solid var(--border-subtle) !important;
  border-radius: 10px;
  padding: 3px;
}
.nav-tabs.list-status .nav-item { margin-bottom: 0 !important; }
.nav-tabs.list-status .nav-link {
  border: 0 !important;
  /* bootstrap: .nav-tabs .nav-link{margin-bottom:-1px} — sporgeva sotto il contenitore
     coprendone il border-bottom */
  margin-bottom: 0 !important;
  border-radius: 8px !important;
  background-color: transparent !important;
  color: var(--text-muted) !important;
  font-weight: 600;
  font-size: 13.5px;
  padding: 7px 15px !important;
}
.nav-tabs.list-status .nav-link:hover:not(.active) { color: var(--navy-900) !important; }
.nav-tabs.list-status .nav-link.active {
  background-color: #fff !important;
  color: var(--accent-strong) !important;
  box-shadow: var(--shadow-card);
}

/* ---- Bootstrap semantic buttons re-mapped to the brand palette ---- */

.btn-primary:not(.btn-icon) { background-color: var(--accent-strong) !important; border-color: var(--accent-strong) !important; }
.btn-primary:not(.btn-icon):hover { background-color: var(--blue-800) !important; border-color: var(--blue-800) !important; }
.btn-info { background-color: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; }
.btn-info:hover { filter: brightness(0.92); color: #fff !important; }
.btn-danger, .bg-danger.btn { background-color: var(--danger) !important; border-color: var(--danger) !important; }
.btn-danger:hover, .bg-danger.btn:hover { filter: brightness(0.92); }

/* ---- Secondary detail-page actions the mockup shows as outline, not filled
   ("Crea PDF" — .confFincati is this exact, unique button; "Operazioni ▾" —
   .btn-primary.dropdown-toggle is the reusable "operations menu" pattern) ---- */

.btn.confFincati {
  background-color: #fff !important;
  border: 1.5px solid var(--border-strong) !important;
  color: var(--text-heading) !important;
}
.btn.confFincati:hover { background-color: var(--surface-subtle) !important; }
.btn-primary.dropdown-toggle {
  background-color: transparent !important;
  border: 1.5px solid var(--accent-strong) !important;
  color: var(--accent-strong) !important;
}
.btn-primary.dropdown-toggle:hover { background-color: var(--accent-soft) !important; }

/* ---- "Operazioni ▾" dropdown menu (the panel opened by .btn-primary.dropdown-toggle
   above — offers/orders detail pages) ---- */

.btn-group-sm .dropdown-menu {
  border: 0 !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-raised) !important;
  padding: 6px !important;
  margin-top: 8px !important;
}
.btn-group-sm .dropdown-item {
  border-radius: var(--radius-sm) !important;
  color: var(--text-body) !important;
  display: flex;
  align-items: center;
}
.btn-group-sm .dropdown-item i {
  color: var(--accent-strong);
}
.btn-group-sm .dropdown-item:not(.fic):hover {
  background-color: var(--accent-soft) !important;
  color: var(--accent-strong) !important;
}

/* ---- Opportunity pipeline stepper (custom_pages/opportunities/show.css defines the
   structure/logic; these rules load after it and win on equal specificity, restyling
   it without touching the PHP that computes progress width / active state / the
   inline red "Chiusa Persa" override, which stays untouched). ---- */

:root { --line-border-fill: var(--accent-strong); --line-border-empty: var(--navy-050); }
.circle {
  border-radius: 50%;
  border-color: var(--border-strong);
  box-shadow: var(--shadow-card);
}
.circle.active {
  background-color: var(--accent-strong);
  border-color: var(--accent-strong);
}
.progress-container span {
  color: var(--text-muted);
  font-size: 12.5px;
}

/* ---- Modal headers (task modal, contact/note/competitor modals, etc. — used app-wide) ---- */

.modal-header.bg-primary { background-color: var(--accent-strong) !important; color: #fff !important; }
.modal-header.bg-primary .modal-title, .modal-header.bg-primary .close { color: #fff !important; }

/* ---- Widget card headers (Lista Tasks, File collegati, Reports, Note, Opportunità/Ordine
   collegato — used app-wide on offers/opportunities/accounts/orders-suppliers detail pages).
   The PHP markup no longer carries a bg-six-*/bg-warning class on these .card-header divs
   (removed directly from the ~18 view files that had it — that's what was actually winning
   the background-color fight, not a CSS specificity issue). It now carries a dedicated
   card-icon-* marker class instead, so the header falls back to the theme's plain white
   .card-header default and only the icon gets a tinted "chip" background. */

.card-header.card-icon-navy, .card-header.card-icon-warning, .card-header.card-icon-accent,
.card-header.card-icon-teal, .card-header.card-icon-success, .card-header.card-icon-green {
  border-bottom: 2px solid var(--navy-100) !important;
}
.card-header.card-icon-navy > div:first-child > span,
.card-header.card-icon-warning > div:first-child > span,
.card-header.card-icon-accent > div:first-child > span,
.card-header.card-icon-teal > div:first-child > span,
.card-header.card-icon-success > div:first-child > span,
.card-header.card-icon-green > div:first-child > span {
  color: var(--text-heading);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
}
.card-header.card-icon-navy i, .card-header.card-icon-warning i, .card-header.card-icon-accent i,
.card-header.card-icon-teal i, .card-header.card-icon-success i, .card-header.card-icon-green i {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border-radius: var(--radius-md);
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background-clip: padding-box;
  font-size: 16px !important;
  margin-right: 10px !important;
}
.card-header.card-icon-navy i { background: rgba(137,232,167,0.18); color: var(--green-400); }
.card-header.card-icon-warning i { background: var(--warning-soft); color: #9a6f1f; }
.card-header.card-icon-accent i { background: var(--accent-soft); color: var(--accent-strong); }
.card-header.card-icon-teal i { background: rgba(52,154,163,0.14); color: #349aa3; }
.card-header.card-icon-success i { background: var(--success-soft); color: var(--success); }
.card-header.card-icon-green i { background: rgba(137,232,167,0.28); color: var(--teal-500); }

.card-header.card-icon-navy .list-icons-item, .card-header.card-icon-warning .list-icons-item,
.card-header.card-icon-accent .list-icons-item, .card-header.card-icon-teal .list-icons-item,
.card-header.card-icon-success .list-icons-item, .card-header.card-icon-green .list-icons-item {
  color: var(--text-faint);
}
.card-header.card-icon-navy .badge-flat.border-white, .card-header.card-icon-warning .badge-flat.border-white,
.card-header.card-icon-accent .badge-flat.border-white, .card-header.card-icon-teal .badge-flat.border-white,
.card-header.card-icon-success .badge-flat.border-white, .card-header.card-icon-green .badge-flat.border-white {
  border: 0 !important;
  color: var(--accent-strong) !important;
  background: transparent !important;
}

/* ---- "Chiavi di vendita" / "Motivazioni vincita perdita" widgets (opportunities/show.php
   .card.widget.key / .card.widget.mot) — the widgets the mockup shows as dark navy cards
   instead of the light card-icon-* pattern above. Scoped strictly to .card.widget.key and
   .card.widget.mot so no other widget is affected. ---- */

.card.widget.key,
.card.widget.mot {
  background: var(--gradient-navy) !important;
  border: 0 !important;
  overflow: hidden;
}
.card.widget.key .card-header,
.card.widget.mot .card-header {
  background: transparent !important;
  border-bottom: 1px solid var(--border-on-dark) !important;
}
.card.widget.key .card-header > div:first-child > span,
.card.widget.mot .card-header > div:first-child > span {
  color: var(--text-on-dark);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
}
.card.widget.key .card-header i.mi-vpn-key,
.card.widget.mot .card-header i.mi-attachment {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border-radius: var(--radius-md);
  background: rgba(137,232,167,0.18);
  color: var(--green-400);
  font-size: 16px !important;
  margin-right: 10px !important;
}
.card.widget.key .card-header strong,
.card.widget.mot .card-header strong {
  background: var(--gradient-brand-h);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 700;
}
.card.widget.key .card-header .badge-flat.border-white:hover,
.card.widget.mot .card-header .badge-flat.border-white:hover {
  background: rgba(137,232,167,0.3) !important;
}
.card.widget.key .card-header .list-icons-item,
.card.widget.mot .card-header .list-icons-item {
  color: var(--text-on-dark-muted);
}
.card.widget.key .card-body,
.card.widget.mot .card-body {
  background: transparent;
}
.card.widget.key .media-list-container li.text-center,
.card.widget.mot .media-list-container li.text-center {
  color: var(--text-on-dark-muted);
  font-size: 13.5px;
  padding: 1.25rem 0;
}
.card.widget.key .media-list-container li.media,
.card.widget.mot .media-list-container li.media {
  color: var(--text-on-dark);
}
.card.widget.key .media-list-container li.media .description,
.card.widget.mot .media-list-container li.media .description {
  color: var(--text-on-dark);
}
.card.widget.key .media-list-container li.media .icon-move,
.card.widget.key .media-list-container li.media .mi-delete,
.card.widget.mot .media-list-container li.media .icon-move,
.card.widget.mot .media-list-container li.media .mi-delete {
  color: var(--text-on-dark-muted);
}

/* ---- Line-item row number avatar (offer/order rows — the numbered circle before each line) ---- */

.letter-icon.bg-teal-400 {
  background-color: var(--accent-strong) !important;
  border-color: var(--accent-strong) !important;
  color: #fff !important;
}

/* ---- Standard bootstrap text/bg semantic utilities re-mapped to brand hues (margins,
   alerts, banners — used everywhere, e.g. offer/opportunity margin %, "revisione non
   attiva" banner) ---- */

.text-success { color: var(--success) !important; }
.text-danger { color: var(--danger) !important; }
.text-warning { color: var(--warning) !important; }
.text-info { color: var(--accent) !important; }
.bg-success { background-color: var(--success) !important; }
.bg-warning { background-color: var(--warning) !important; }

/* ---- Detail-page field rows (Titolo/Cliente/Contatto/Business Unit/etc. — the
   "<span class='text-muted'>Label</span><span class='text-show'>Value</span>" pattern
   repeated across offers/opportunities/accounts/orders-suppliers show.php). These were
   plain inline <span>s with no display:block, so label+value ran together on one line
   instead of stacking into the mockup's labeled field-box look. Scoped to spans that are
   direct children of a bootstrap column inside a .row, so unrelated .text-muted/.text-show
   uses elsewhere (tables, inline annotations) are untouched. */

.row > [class*="col-"] > span.text-muted {
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-muted) !important;
  margin-bottom: 6px;
}
.row > [class*="col-"] > span.text-show {
  display: block;
  background-color: var(--surface-subtle) !important;
  border: 0px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 9px 12px !important;
  font-size: 13px;
  color: var(--text-heading);
  min-height: 20px;
}

.card-header:not([class*=bg-]) {
  border-bottom-width: thin !important;
}

/* ---- Offer/order sub-rows: keep the "IVA: € xxx" line from wrapping in the narrow price column ---- */
.table-offer-rows-sub td.text-right, .table-order-rows-sub td.text-right {
  white-space: nowrap;
}

/* ============================================================================
   Modals — unify body chrome app-wide (rounded shell, refined inputs/tags).
   Headers keep whatever colored bg class they already carry (bg-primary,
   bg-six-*, ...) — only the shell/body/footer/inputs are restyled here. ---- */

.modal-content {
  border: 0 !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
  box-shadow: var(--shadow-raised);
}

.modal-header {
  padding: 1.25rem 1.5rem !important;
  border-bottom: 0 !important;
}
.modal-header .modal-title {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.01em;
}
.modal-header .close {
  opacity: 0.85;
  text-shadow: none;
  font-weight: 400;
}
.modal-header .close:hover { opacity: 1; }

/* ---- Header del modale "Dettaglio Task" (crmtasks/crmnotes history_ajax): il titolo sta in
   un <h5> annidato dentro .modal-title, quindi non ereditava peso/dimensione del titolo
   modale (l'h5 del tema imponeva il suo font-weight) e portava dietro il margin-bottom.
   La checkbox "Segna come non letto" era inoltre illeggibile sul fondo accent. ---- */
.modal-header .modal-title.d-flex { align-items: flex-start; }
.modal-header .modal-title > i { line-height: 1.6; }
.modal-header .modal-title h5 {
  margin-bottom: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: 0.01em;
}
/* Testo bianco: gli h1-h6 del tema impongono il loro color, quindi l'h5 dentro
   .modal-title non ereditava il bianco dell'header. */
.modal-header.bg-primary .modal-title h5 { color: #fff !important; }
.modal-header.bg-primary .custom-checkbox { margin-top: 0.375rem !important; }
.modal-header.bg-primary .custom-control-label-custom {
  color: #fff;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0;
  cursor: pointer;
}
.modal-header.bg-primary .custom-control-label-custom::before {
  background-color: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.65);
}
.modal-header.bg-primary .custom-control-input-custom:checked ~ .custom-control-label-custom::before {
  background-color: rgba(255,255,255,0.35) !important;
  border-color: #fff;
}

.modal-body .form-group label {
  font-weight: 600;
  font-size: 12.5px;
  color: var(--text-heading);
  margin-bottom: 0.4rem;
}

.form-control,
select.form-control,
textarea.form-control,
.select2-selection,
.tokenfield.form-control, .cke_chrome {
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: none !important;
}
.cke_top{
  border-radius: 10px 10px 0 0 !important;
}
.cke_bottom{
  border-radius: 0 0 10px 10px !important;
}
.form-control:focus,
.select2-container--focus .select2-selection {
  border-color: var(--accent-strong) !important;
  box-shadow: 0 0 0 3px var(--accent-soft) !important;
}

.input-group-prepend .input-group-text {
  background-color: var(--surface-subtle);
  border: 1px solid var(--border-subtle);
  border-right: 0;
  border-radius: var(--radius-md) 0 0 var(--radius-md);
  color: var(--text-muted);
}
.input-group .form-control {
  border-radius: 0 var(--radius-md) var(--radius-md) 0 !important;
  border-left: 0 !important;
}

/* La regola sopra assume un prepend (icona a sinistra). Nei gruppi con append
   (es. datepicker + Reset) il campo e' il primo figlio: rimetto il bordo a
   sinistra e giro gli angoli, e togliere la pillola al bottone (vedi
   ".btn:not(.btn-icon)") lo risalda al campo invece di lasciarlo staccato.
   Le search box a pillola usano .form-control1/.form-control2, quindi restano
   fuori da questi selettori. */
.input-group > .form-control:first-child {
  border-radius: var(--radius-md) 0 0 var(--radius-md) !important;
  border-left: 1px solid var(--border-subtle) !important;
  border-right: 0 !important;
}
.input-group-append .btn {
  border-radius: 0 var(--radius-md) var(--radius-md) 0 !important;
}

.modal-body .tokenfield .token:not([class*="bg-"]) {
  background-color: var(--accent-soft);
  color: var(--accent-strong);
  border-radius: var(--radius-pill);
}
.modal-body .tokenfield .token:not([class*="bg-"]):hover,
.modal-body .tokenfield .token:not([class*="bg-"]):focus {
  background-color: var(--accent-strong);
  color: #fff;
}

.modal-footer {
  border-top: 1px solid var(--border-subtle) !important;
  padding: 1rem 1.5rem !important;
}

.row span.text-show::after {
    content: '_';
    color: rgba(0, 0, 0, .05);
}

.breadcrumb-line.header-elements-md-inline {
  display: flex;
  justify-content: space-between;
}

.btn-group .btn {
  padding: .3rem !important;
}

.navbar-nav-link, .nav-item.dropdown .dropdown-menu .dropdown-item {
  letter-spacing: .5px;
}

/* Navbar section dropdowns (Anagrafiche/Commerciale/Acquisti/...): rounded card look,
   no leading bullet marker on each item. */
.navbar-nav .dropdown-menu {
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-raised) !important;
  padding: 8px !important;
}
.navbar-nav .dropdown-menu .dropdown-item {
  border-radius: 8px;
}

/* ---- List screens header polish (Nuovo/a CTA, back button, table/kanban toggle) ---- */

.btn-gradient-brand {
  background: var(--gradient-brand-h) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: var(--shadow-card);
}
.btn-gradient-brand:hover {
  filter: brightness(0.96) saturate(1.05);
  box-shadow: var(--shadow-raised);
  color: #fff !important;
}

.page-title h4 > a:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  border-radius: var(--radius-md);
  vertical-align: middle;
}
.page-title h4 > a:first-child i { margin: 0 !important; color: var(--navy-700); }

.title-page .nav.nav-pills {
  display: inline-flex;
  gap: 4px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 9px;
  padding: 3px;
}
.title-page .nav.nav-pills .nav-link {
  width: 30px;
  height: 28px;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px !important;
  color: var(--text-faint);
}
.title-page .nav.nav-pills .nav-link.active {
  background: var(--accent-soft) !important;
  color: var(--accent-strong) !important;
}

/* ---- "Torna alla lista" back-to-list button ---- */

.btn-back-list {
  background: #fff !important;
  border: 1.5px solid var(--border-strong) !important;
  color: var(--navy-900) !important;
  box-shadow: none !important;
}
.btn-back-list:hover {
  background: var(--surface-subtle) !important;
  color: var(--navy-900) !important;
}

.card .table-responsive{
  border-radius: 10px !important;
}

.custom-control .custom-control-label {
    font-size: 13px;
    color: var(--text-muted);
}

.card > .card-body > .card{
  border: 0px !important;
  box-shadow: none !important;
}
.card-group-control.card-group-control-right .card {
  border: 0px !important;
}
.card-group-control.card-group-control-right .card-header {
  border-radius: var(--radius-lg)  var(--radius-lg) 0 0 !important;
}
.card > .card-body > .card > .card-header{
  border-radius: 0 0 var(--radius-lg) var(--radius-lg) !important;
  border-bottom: 0px solid !important;
}

.btn-group-sm>.btn, .btn-sm {
  padding: .325rem .9rem !important;
}

.tot_notifiche{
  top: 4px !important;
  right: 8px !important;
  font-size: 11px;
}

#form_search .input-group.justify-content-center {
  box-shadow:none !important;
  background-color:unset !important;
}

#str_entities_search_global{
  padding: .5rem 0 .5rem 2rem !important;
}

#str_entities_search_global, .input-group-append .input-group-text.cerca-icon {
  background-color: #ffffff1a !important;
}

#form_search .d-xxl-none{
  border-radius: var(--radius-pill) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
}
#form_search .d-xxl-none > span{
  border-radius: var(--radius-pill) !important;
}

.paginazione-note{
  border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg) !important;background-color:#f4f8fb;
}

.badge {
  padding: .325rem .575rem !important;
}

/* ---- Pannelli filtro delle liste ( .list-filter ) --------------------------
   Il pannello che si apre dall'imbuto in testata colonna ha un solo aspetto in
   tutta l'applicazione: campo di ricerca a tutta larghezza in cima, elenco
   delle voci che scorre da solo, comandi PULISCI / FILTRA in basso a destra.
   Il nome del filtro non si ripete dentro al pannello: lo dice gia' la colonna
   da cui si apre.
   Le liste piu' vecchie portano ancora larghezze, altezze e padding scritti
   negli inline style della vista: qui vengono neutralizzati con !important,
   cosi' il pannello e' identico ovunque senza riscrivere il markup di ognuna. */

/* La cella che ospita un pannello filtro fa da contenitore di offset: senza,
   Popper misura il riferimento rispetto al th e piazza il pannello rispetto alla
   card, e il pannello finisce a inizio tabella. La classe la mette general.js al
   clic sull'imbuto, non cambia nulla di come si vede la testata. */
th.has-list-filter { position: relative; }

.dropdown-menu.list-filter {
  min-width: 265px;
  max-width: 420px;
  width: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 8px !important;
  border: 0 !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-raised) !important;
}

/* I due pulsanti sono figli diretti del form nelle liste storiche: si allineano
   a destra da qui, senza toccare il markup ( e senza rompere il .parent() su
   cui si appoggia il click di «Pulisci» ). */
.list-filter form { text-align: right; margin-bottom: 0; }
.list-filter form > div,
.list-filter form > input,
.list-filter form > ul { text-align: left; }

/* Scorre solo l'elenco, non il pannello: il campo di ricerca resta in vista. */
.list-filter .allow-focus {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  margin-bottom: 0 !important;
  padding-left: 0 !important;
}

.list-filter .form-group {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}
.list-filter input[type="text"].form-control {
  width: 100% !important;
  min-width: 0 !important;
  margin-bottom: 8px !important;
}

.list-filter ul {
  list-style: none;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
  margin: 0 0 8px 0 !important;
  max-width: none !important;
  max-height: 240px;
  overflow-y: auto;
}
.list-filter ul > li { padding: 2px 0 !important; }

.list-filter label {
  display: block;
  width: auto !important;
  margin-bottom: 0;
  font-weight: normal;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--text-body);
  white-space: normal !important;
  word-break: break-word;
  cursor: pointer;
}
/* La casella della checkbox e' disegnata dallo ::before della label, che il
   tema mette a -2rem contando sul padding di default della ul: azzerata quella,
   va riportata dentro al pannello. */
.list-filter .custom-control-label { padding-left: 1.75rem; }
.list-filter .custom-control-label::before,
.list-filter .custom-control-label::after { left: 0 !important; }

.list-filter .dropdown-divider { margin: 4px 0 8px 0; }

/* PULISCI / FILTRA: stessa coppia di pulsanti in ogni filtro, anche nelle
   toolbar a chip di KPI vendite e proiezioni rinnovi. */
.list-filter .btn,
.kpi-dropdown-actions .btn,
.rnw-dropdown-actions .btn {
  padding: .325rem .9rem !important;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
