BODY {
    margin-top: 0px;
    margin-bottom: 0px;
    /*background-color: #e8e8e8 */
}

/*TABLE {
   font-family: verdana, arial;
   font-size: 12px;
}*/

A {
   text-decoration: none;
}

.cage {
    border-right: #666666 1px solid;
    border-top: #cccccc 1px solid;
    border-left: #666666 1px solid;
    background-color: gainsboro;
    width: 100%;
}
.doppiobordo {
    border-bottom: #999999 3px double;
}
.bordi-l {
    border-top: #cccccc 1px solid;
    border-left: #666666 1px solid;
    background-color: #f1f1f1
}
.bordi-r {
    border-right: #666666 1px solid;
    border-top: #cccccc 1px solid;
    background-color: #f1f1f1
}
.titoli {
    /* font-size: 20px; */
    font-weight: bold;
    color: #FFFFFF;
    text-decoration: none;
    background-color:	#FF0000; 
}
.sottotitoli {
    /* font-size: 11px; */
    color: #333333;
    text-decoration: none
}
.context {
    /* font-size: 11px; */
    font-weight: normal;
    color: #333399;
    text-decoration: none;
    background-color: #B5CCFF;
}
.footer1 {
    /* font-size: 11px; */    
    color: #333399;
    background-color: #B5CCFF;
}
.footer2 {
    /* font-size: 11px; */
    color: #ffffff;
    background-color: #000088;
}
.footer_link {
    /* font-size: 11px; */
    color: #ffffff;
    background-color: #000088;
}



.form_title {
    padding-top: 6px;
    /* font-weight: bolder; /*grassetto al titolo */
}

.errori {
   color: red;
   font-weight: bold;
   vertical-align: bottom;
}


.table_display {
}
.table_header  {
}
.odd {
   vertical-align: top;
}
.even {
   vertical-align: top;
}

.occu-menu {
    font-weight: normal;
    text-decoration: none;
    border-bottom: #A0BDEB 1px solid;
    border-right: #A0BDEB 1px solid;
}

a.occu-menu {
    font-weight: normal;
    text-decoration: none;
/*    color: #000088; */
    border: none;
}

.occu-menu-table {
    background-color: #FFFF;
    font-weight: normal;
    font-size: medium;
    text-decoration: none;
    border: #A0BDEB 1px solid;
/*    border-right: 0px;
    border-bottom: 0px;*/
    border-radius: 4px; 
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}

.dati-occu-table {
    background-color: #FFFF;
    font-weight: normal;
    font-size: medium;
    text-decoration: none;
    border: #A0BDEB 3px solid; /* Aumentato spessore di 1px */
    border-radius: 4px; 
}

.dati-occu-td {
    font-weight: normal;
    text-decoration: none;
}

.occu-menu-th {
    font-weight: normal;
    text-decoration: none;
    border-right: #A0BDEB 1px solid;
    border-bottom: #A0BDEB 1px solid;
    background: #336699;
    color: #fff;
    text-align:center;
}

/*.occu-menu-th:hover {
    background: #edf1f5;
}*/

.occu-menu-td {
    font-weight: normal;
    text-decoration: none;
    border: #A0BDEB 1px solid;
/*    border-bottom: #A0BDEB 2px solid; */
}

.occu-menu-td:hover {
    background: #edf1f5;
    text-decoration: none;
}

a.occu-menu-link {
    display: inline-block;
    width: 100%;
    height: 100%;
    font-weight: bold;
}

a.occu-menu-link:hover {
    background: #edf1f5;
    text-decoration: none;
}


.boll-menu {
    font-weight: normal;
    text-decoration: none;
    border: #000088 1px solid;
}

a.boll-menu {
    font-weight: normal;
    text-decoration: none;
    color: #000088;
    border: none;
}

table_form_iniz {
    border-spacing: 2px;
}

.table_form_iniz td {
    padding: 4px;
}

/* Romitti 14/06/2022 Aggiunto per avere le scroolbar
   overflow auto crea in automatico le scroolbar in orizzontale e verticale solo se servono.
   heigth serve per forza altrimenti non viene creata la scroolbar.
 */
.scrollit {
    overflow:auto;
    height: 750px;
}

/* rom inizio breadcrumbs per navigation bar*/

/* versione di Luca

.breadcrumbs {
    border: 2px solid #a0bdeb;
    border-radius: 0.3rem;
    display: inline-flex; 
    overflow: hidden;
    text-decoration: none;
    align: center;
}

.breadcrumbs__item {
  background: #fff;
  color: #333;
  outline: none;
  padding: 0em 0.1em 0em 0.65em;
  position: relative;
  text-decoration: none !important;
  transition: background 0.2s linear;
}


.breadcrumbs__item:after,
.breadcrumbs__item:before {


  background: white;
  bottom: 0;
  clip-path: polygon(50% 50%, -50% -50%, 0 100%); 

  color: #a0bdeb;
  content: "";
  left: 100%;
  position: absolute;
  top: 0;
  transition: background 0.2s linear;
  width: 1em;
  z-index: 1;

}

.breadcrumbs__item:focus:after,
.breadcrumbs__item:focus,
.breadcrumbs__item.is-active:focus {
  background: #323f4a;
  color: #fff;
}

*/

.breadcrumbs__item {
  padding: 3px 20px !important;
  background-color: #a0bdeb ;
  color: white ;
  display: inline-block !important;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 10px 50%) !important;
}

a.breadcrumbs__item {
    color: white !important;
}
a.breadcrumbs__item:hover {
    color: #23527c !important;
}

.breadcrumbs__item:hover:after,.breadcrumbs__item:hover {
  background-color: #edf1f5; !important;
  text-decoration: none !important;
}

.breadcrumbs__item:focus:after,
.breadcrumbs__item:focus,
.breadcrumbs__item.is-active:focus {
    color: white !important;
}

.breadcrumbs__item:before {
  background: #cbd2d9 !important;
  margin-left: 1px !important;
}

.breadcrumbs__item:last-child {
  border-right: none !important;
}

.breadcrumbs__item.is-active {
    background: #edf1f5 !important;
}

/* rom fine */


a:hover {
    color: #235c96 ;
/*  background: #CCCCCC; */
}

/* BUTTON ---- */


a.button, input[type="submit" i] {
  font: 14px/1.22 arial,helvetica,clean,sans-serif;
  background-color: #337ab7;
  text-align: center;
  padding: 6px 12px;
/*  padding: 1.5px;
  padding-left: 10px;
  padding-right: 10px; */
  color: white;
  text-decoration: none;
  white-space: nowrap;
  border: solid 1px #204d74 ;
  cursor: pointer;
  border-radius: 3px;
}

a.button:link, input[type="submit" i]:link {
  text-decoration: none;
  border-color: #286090;
}

a.button:hover, input[type="submit" i]:hover {
  text-decoration: none;
  background-color: #286090;

}


a.button:active, input[type="submit" i]:active {
  text-decoration: none;
}

/* inizio simone per migliorie  spulsanti di tipo link button */

.toolbar .button {
    background-color: ButtonFace;
    border: 1px solid ButtonFace;
}


/* inizio simone per migliorie pulsanti di tipo link button
-internal-light-dark(rgb(239, 239, 239), rgb(59, 59, 59));
-internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133));

a.button {
    appearance: auto;
    user-select: none;
    white-space: pre;
    align-items: flex-start;
    text-align: center;
    cursor: default;
    box-sizing: border-box;
    background-color: #E1E1E1;

    color: -internal-light-dark(black, white);
    padding: 1px 6px;
    border-width: 2px;
    border-style: outset;
    border-color: #858585;
    border-image: initial;
}

 fine simone */


/* END BUTTON ---- */

/* INIZIO */

.input-group {
  position: relative;
}

#text {
  padding: 10px;

  border: 1px solid black;
  outline: none;
}

#label-text {
  padding: 0 5px;

  position: absolute;
  top: 10px;
  left: 5px;

  background-color: #fff;
  color: #999;

  transition: .2s;
}

#text:focus {
  border-color: blue;
}

#text:focus + #label-text {
  color: blue;
}

#text:focus + #label-text, #text.not-empty + #label-text {
  top: -10px;
  left: 5px;
}

/* FINE */

/* INIZIO 2 */

.g-input {
  position: relative;
  margin-bottom: 10px;
  box-sizing: border-box;
  display: inline-block;
}
.g-input label {
  background: white; /*white */
  padding: 3px;
  font-size: 18px;
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: bottom left;
  /*color: #ddd; */
  font-family: arial;
  position: absolute;
  top: 7px;
  left: 7px;
  z-index: 1;
  cursor: text;
}

.g-input input, .g-input textarea {
  border: 1px solid #ddd;
  display: block;
  padding: 10px;
  border-radius: 3px;
  width: 100%;
  box-sizing: border-box;
}

.g-input.fill {
  display: block;
  width: 100%;
}

.g-input input:focus, .g-input textarea:focus {
  outline: 0;
  border: 2px solid #1873e8;
  /*border-color: #1873e8; */
 /* box-shadow: inset 0 10px 10px rgba(0,0,0,.175); */
}

.g-input input:focus+label, .g-input input:not(:placeholder-shown)+label,
.g-input textarea:focus+label, .g-input textarea:not(:placeholder-shown)+label{
  transform: translateX(-3px) translateY(-20px); /*translateX(-3px) translateY(-15px) */
  font-size: 15px;
  color: #1a73e8;
}

/* FINE 2 */

/* ROM 10/07/2023 Inizio modifiche per rivisitazione grafica delle liste. */
table.ad-table-display {
    border-collapse: collapse;
    border: 3px solid #A0BDEB;
    /*border: 1px solid #ececec; /* #000000 #A0BDEB*/
}

table.list-tiny {
    font-size: x-small;
    border-collapse: collapse;
}

.ad-table-display tr.list-header {
    background-color: #ffffff;
    color: inherit;
}

th.ad-table-display, th.ad-table-display-narrow, .ad-table-display th {
    padding: 8px 16px;
    border-bottom: 3px solid #A0BDEB;
    background: white;/*#ff7906 */
    position: sticky;
    top: 0px;
    border-bottom: none !important;
    box-shadow: inset 0 -3px 0 #A0BDEB ; /* #000000 */
    vertical-align: top;
    background-clip: padding-box;
    text-align:center;
    font-size: 14px;
    overflow: scroll;
}

.ad-table-display tr.even, .list-tiny tr.even {
    background-color: #ffffff;
    color: inherit;
}

.ad-table-display tr.odd, .list-tiny tr.odd {
    background-color: #f0eff0; /* #ffffff #f0eff0 #edf1f5*/
    color: inherit;
}

td.ad-table-display, td.ad-table-display-narrow, .ad-table-display td {
    padding: 8px 16px;
    /*border-bottom: 1px solid #A0BDEB;  */
    /*border-bottom: 1px solid #f48420; */
}

td.ad-table-display-narrow, th.ad-table-display-narrow {
    padding-left: 4px;
    padding-right: 4px;
}

tr.table-header {
    /* background-color:#ff7906; */
    border-radius: 6px;
    
} 

.link-button {
    font-family: verdana, arial;
    font-size: 12px;
    text-decoration: none;
    /*background-color: #EEEEEE; */
    background-color: #eef8ff !important;
    color: #333333 !important;
    padding: 2px 6px 2px 6px;
    border-top: 1px solid #CCCCCC;
    border-right: 1px solid #333333;
    border-bottom: 1px solid #333333;
    border-left: 1px solid #CCCCCC;
}

.link-button:hover {
    background-color: #cce0ff !important;
}

.link-button:visited {
    color: black !important;
}


/* Aggiunta nuova classe Link button per selezione elementi */
/* Rinominato vecchio css con -old*/
.link-button-2 {
    font-family: Verdana, Arial, sans-serif;
    font-size: 13px;
    text-decoration: none !important;
    background-color: #337ab7;
    color: white !important;
    padding: 6px 10px;
    border: 2px solid #204d74;
    border-radius: 6px;
    white-space: nowrap;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s;
}

.link-button-2:hover {
    background-color: #286090;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

.link-button-2:visited {
    color: white !important;
}

.link-button-2-old {
    font-family: verdana, arial;
    font-size: 12px;
    text-decoration: none !important;
    /*background-color: #EEEEEE; 
    background-color: #eef8ff; */
    background-color: #fffacd;
    /*color: #333333;
    color: blue !important; */
    color: #000000 !important;
    padding: 2px 6px 2px 6px;
    border-top: 1px solid #8f8f9d;
    border-right: 1px solid #8f8f9d;
    border-bottom: 1px solid #8f8f9d;
    border-left: 1px solid #8f8f9d;
    border-radius: 5px;
}

.link-button-2-old:hover {
    /* background-color: #cce0ff; */
    background-color: #f48420;
}

.link-button-2-old:visited {
    /* color: black !important;
    color: blue !important; */
    color: #000000 !important;
}


/* ROM 10/07/2023 Fine modifiche per rivisitazione grafica delle liste. */

/* ==================== BOXED USER MESSAGE - VERSIONE 2025 ==================== */
.boxed-user-message {
    max-width: 720px;
    margin: 40px auto;
    background: linear-gradient(to bottom, #E2EFF2 0%, #f4f9fa 100%);
    color: white;
    padding: 32px 40px;
    border-radius: 18px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.25);
    text-align: center;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    overflow: hidden;
    position: relative;
}

.boxed-user-message::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    animation: shine 3s infinite;
}


.boxed-user-message .body {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 10px;
}

/* Ogni pallino della progress bar */
.boxed-user-message {
    max-width: 50%;
    margin: 40px auto;
    background: linear-gradient(to bottom, #E2EFF2 0%, #f4f9fa 100%);
    color: white;
    padding: 32px 40px;
    border-radius: 0 18px 18px 0;           /* radius solo a destra */
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
    text-align: center;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    overflow: hidden;
    position: relative;

    /* IL BORDO CHE HAI CHIESTO */
    border-left: 8px solid #10b981;         /* verde smeraldo acceso - cambia se vuoi altro tono */
    border-right: 0px solid rgba(255,255,255,0.4);
    border-top: 0px solid rgba(255,255,255,0.3);
    border-bottom: 0px solid rgba(255,255,255,0.3);
}
/* Quando JavaScript lo colora (mantiene la tua logica esistente) */
.boxed-user-message .body span[style*="blue"],
.boxed-user-message .body span[style*="rgb(0, 0, 255)"] {
    background: #ffffff !important;
    box-shadow: 0 0 20px rgba(255,255,255,0.8), inset 0 2px 4px rgba(0,0,0,0.1);
    transform: scale(1.1);
}

/* Animazione del "brillo" che scorre sul box */
@keyframes shine {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

/* === SPINNER VERDE LUMINOSO + GLOW (sostituisce i 5 rettangolini) === */
.boxed-user-message .body {
    position: relative;
    height: 80px;                    /* spazio per lo spinner */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Nasconde i 5 span vecchi (li lasciamo nell’HTML così il JS continua a girare tranquillo) */
.boxed-user-message .body span[id^="progress"] {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Spinner moderno e bellissimo */
.boxed-user-message .body::before {
    content: '';
    width: 56px;
    height: 56px;
    border: 5px solid rgba(52, 211, 153, 0.25);
    border-top-color: #34d399;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    box-shadow: 
        0 0 30px rgba(52, 211, 153, 0.4),
        inset 0 0 20px rgba(52, 211, 153, 0.15);
}

/* Animazione rotazione */
@keyframes spin {
    to { transform: rotate(360deg); }
}

#alert-message {
    /* max-width: 90%; */
    margin: 20px auto;
    background: linear-gradient(to right, #d1fae5, #ecfdf5);   /* verde chiarissimo con sfumatura */
    color: #990000; /* #065f46 verde scuro leggibile */
    padding: 14px 20px;
    font-size: 150%;
    /* font-weight: 500; */
    /* line-height: 1.5; */
    border-left: 6px solid #10b981;                           /* stessa barra sinistra spessa della progress */
    border-radius: 0 12px 12px 0;                             /* senza radius a sinistra */
    box-shadow: 
        0 4px 15px rgba(16, 185, 129, 0.15),
        0 0 20px rgba(16, 185, 129, 0.08);                   /* glow verde tenue */
    text-align: center;
    animation: fadeIn 0.6s ease-out;
}

/* Piccola animazione di entrata */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: translateY(0); }
}
