

html {
	overflow-x: hidden;
	width: 100%;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  color: #0b72e0;
  overflow-x: hidden;
}

.bg-primary {
  background-color: #0063cc;
}

.bg-primary-light {
  background-color: #e5f0fa;
}

.btn-primary {
  background-color: #0063cc;
}

.class_Navbar {
	padding-top: 8px;
}

.navbar a {
  color: #0b72e0 !important;
}
.navbar .logo img {
  max-height: 51px;
}

.pagination .dt-paging-button.active button.page-link {
  background-color: #0063cc;
}

.class_FormControl {
	display: inline-block;
	xbackground-color: #eee;
	box-sizing: border-box;
	overflow: hidden;
	xborder: 1px solid black;
	xheight: 1rem;
	padding: 0.1rem 0.3rem;
}

.class_Component {
	position: relative; /* per l'overlay */
}

.class_Component .class_Lov {
	position: fixed; /* per l'overlay */
	min-height: 10rem;
}

.class_Component .class_LoginPanel {
	position: absolute; /* per l'overlay */
  background-color: #FFFFFF30;
  backdrop-filter: blur(4px); /* 👈 Blur effect */
}

.class_FormInputText {
	width: 16rem;
}

.class_FormInputText label {
	padding-left: 0.7rem;
	padding-bottom: 0.2rem;
}

.class_FormControl input {
	xwidth: 13rem;
	xborder: 1px solid black;
	xborder-right-width: 1px;
	xborder: 1px solid black;
	xbackground-color: #ffc;
}

.class_Tab {
	padding: 0.3rem;
	margin-bottom: 1rem;
	background-color: #eee;
	border-radius: 4px;
}

.class_Tab .tabheader {
	font-size: 1.2rem;
	font-weight: bold;
	xcolor: #888;
	padding: 0.5rem;
}



.class_Tab .content {
	xborder-top: 1px solid blue;
	padding-top: 0.5rem;
	padding: 0.2rem;
	color: #666;
}

.class_Form {
	margin: 1em;
	padding: 0.5rem;
	xborder: 2px solid black;
	border-radius: 4px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}


/* modifica etichette */

label > span.edit {
	display: none
}

body.edit-label label > span.edit {
	display: inline
}
.class_RecordList table tr {
	height: 4rem;
	
}

tbody tr {
  cursor: pointer;
}

.class_RecordList {
	padding: 0.5rem;
	max-width: 100%;
}
.class_RecordList table th
{
	xborder: 1px solid #ccc;
	padding: 0.4rem;
	
}

.class_RecordList table th:nth-child(n+2) {
	min-width: 6rem;
}

.class_RecordList table td
{
	xborder: 1px solid #ccc;
	padding: 0.4rem;
	
	xmax-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    xwhite-space: nowrap; /* evita l'andata a capo */
}

.class_RecordList table td > div {
	max-height: 6rem;
}

.class_RecordList .tablescroll {
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	overflow-x: scroll;
	max-width: 100%;
}


.class_RecordList table thead {
	background: rgb(219 234 254);
	
}

/*
.class_RecordList button {
	margin-top: 1rem;
	margin-bottom: 0.5rem;
}
 */

 .class_RecordList button.search {
  width: 3em;
 }


.class_RecordList table td > div:empty::after {
  content: "──";
  xcolor: #888; /* Colore opzionale per il carattere */
  display: inline-block;
  opacity: 0.3
}

tbody tr:nth-child(even) {
    background-color: #f2f2f2; /* grigio chiaro */
  }

  tbody tr:hover {
    background-color: #e0e0e0; /* effetto hover */
  }
  
  
.alta-bassa-freq-filters select,
.alta-bassa-freq-filters input,
.alta-bassa-freq-filters span {
	width: 10em;
}

.alta-bassa-freq-filters span {
	display: inline-block;
  text-align: right;
}

  
 .overlay-caricamento .msg {
 margin-top: 0.3rem;
 	text-align: center;
 	color: rgb(11, 114, 224);
 	background-color: #FFFFFF80;
 	width: calc(80% - 2px);
 	margin: auto;
 	border-radius: 4px;
 }
  
 .overlay-caricamento .timer {
 	margin-top: 0.3rem;
 	text-align: center;
 	color: rgb(11, 114, 224);
 	background-color: #FFFFFF80;
 	width: calc(80% - 2px);
 	margin: auto;
 	border-radius: 4px;
 }
  
   .overlay-caricamento {
      position: absolute;
      background-color: #FFFFFF30;
      backdrop-filter: blur(4px); /* 👈 Blur effect */
      /* animation: blur-pulsante 1s infinite linear; */
      /* display: flex;
      justify-content: center;
      /*align-items: center;*/
      
      color: white;
      font-weight: bold;
      z-index: 99;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    
 @keyframes blur-pulsante {
  0%, 100% {
    backdrop-filter: blur(2px);
  }
  50% {
    backdrop-filter: blur(6px);
  }
}

    .spinner {
      position: absolute;
      top: 10%;
      left: calc(50% - 20px);
      width: 40px;
      height: 40px;
      border: 5px solid #fff;
      border-top: 5px solid #3498db;
      border-radius: 50%;
      animation: spin 1s linear infinite;
    }

    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }
    
    
    
     .progress-container {
      xwidth: 80%;
      height: 8px;
      xbackground-color: #fff;
      border-radius: 4px;
      overflow: hidden;
      margin: auto;
      xmargin-top: 0.5rem;
      border: 1px solid #0575e6;
    }

    .progress-bar {
      height: 100%;
      xbackground: linear-gradient(to right, rgb(255, 255, 255), rgb(255, 0, 0));
      background-color: white;
      width: 0%; /* Imposta il valore finale desiderato */
      border-radius: 4px;
      /* transition: width 15s cubic-bezier(.09,1.15,.82,.94) */ /* Animazione asintotica */
    }
    
    .progress-bar.timeexeceed {
    	animation: lampeggia-rosso 1s infinite;
    }
    
    .progress-bar.timewarn {
    	animation: lampeggia-giallo 1s infinite;
    }
    
@keyframes lampeggia-rosso {
  0%, 100% {
    background-color: red;
  }
  50% {
    background-color: white;
  }
}

@keyframes lampeggia-giallo {
  0%, 100% {
    background-color: #ffa348;
  }
  50% {
    background-color: white;
  }
}
    
    .class_LockMonitor {
    	position: fixed;
    	width: 100%;
    	top: 0px;
    }
    
    
    
    input[type="number"] {
  text-align: right;
}

/* GIALLO: campo richiesto ma ancora vuoto (placeholder visibile) */
input:invalid:placeholder-shown {
  border: 2px solid gold;
  background-color: #fff9cc;
}

input:required {
  border: 2px solid gold;
}

/* ROSSO: campo con un valore ma non valido */
input:invalid:not(:placeholder-shown) {
  border: 2px solid red;
  background-color: #ffe6e6;
}

/* VERDE: campo valido
input:valid {
  border: 2px solid green;
  background-color: #e6ffe6;
}
 */
 

 
.conclusioni {
	display: block;
	width: 100%;

}

.display-none {
	display: none;
}

.class_Lov .modal-dialog {
  max-width: 80vw;
  max-height: 90vh;
  overflow: scroll;
}



.class_FormRapportoDiProvaSelettiva textarea[name="conclusioni"] {
  width: 80em;
  min-height: 5em;
}

.alta-bassa-freq-filters > * {
  margin: 2px;
}