.loader {
    position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 120px;
  height: 120px;
  margin: -76px 0 0 -76px;
  border: 16px solid #f3f3f3;
  border-radius: 50%;
  border-top: 16px solid #3498db;
  bac
    -webkit-animation: spin 2s linear infinite; /* Safari */
    animation: spin 2s linear infinite;
}
  /* Safari */
  @-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
  },

  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }

.outer {
    overflow-y: auto;
    height: 150px;
  }

  .outer {
    width: 100%;
    -layout: fixed;
  }

  .outer th {
    text-align: left;
    top: 0;
    position: sticky;
    background-color: white;
  }


  .outerFatture {
    overflow-y: auto;
    height: 700px;
  }

  .outerFatture {
    width: 120%;
    -layout: fixed;
  }

  .outerFatture th {
    text-align: left;
    top: 0;
    position: sticky;
    background-color: white;
  }

  .outerCorsi {
    overflow-y: auto;
    height: 300px;
  }

  .outerCorsi {
    width: 100%;
    -layout: fixed;
  }

  .outerCorsi th {
    text-align: left;
    top: 0;
    position: sticky;
    background-color: white;
  }

.outerConfermaCorsi {
    overflow-y: auto;
    height: 800px;
    width: 100%;
    -layout: fixed;
  }
  .outerConfermaCorsi th {
    text-align: left;
    top: 0;
    position: sticky;
    background-color: white;
  }
  #page-wrapper {
    background-color: #fff;
    max-width: 1920px;
    margin: 0 auto;
}
.outerBonificiAnticipati{
  overflow-y: auto;
    height: 700px;
    width: 100%;
    -layout: fixed;
}
.outerBonificiAnticipati th {
    text-align: left;
    top: 0;
    position: sticky;
    background-color: white;
  }
td{
    vertical-align: middle !important;
}
.tabellaDocente td {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}
/* Stile compatto per le tabelle */
.myTable,
.compact-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.85em;
  line-height: 1.2em;
  table-layout: fixed;
}

.myTable th,
.myTable td,
.compact-table th,
.compact-table td {
  border: 1px solid #ccc;
  /*padding: 2px 4px;*/
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

/* Stile per gli input */
.myInput {
  height: 1.5em;
  font-size: 0.85em;
  /*padding: 1px 2px;*/
  width: 100%;
}

/* Nasconde le frecce negli input numerici per Chrome */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Nasconde le frecce negli input numerici per Firefox */
input[type=number] {
  -moz-appearance: textfield;
}
/* Wrapper per la tabella per attivare lo scroll orizzontale su dispositivi piccoli */
.table-responsive {
  width: 100%;
  overflow-x: auto;
}
.myTable {
  min-width: 600px; /* O un altro valore, secondo le tue necessità */
}
.myTable th,
.myTable td {
  text-align: center;
  vertical-align: middle;
  white-space: nowrap; /* evita che il testo vada a capo */
}

.myTable input {
  /* Stile per i campi input dentro la tabella */
  width: 100%;
  font-size: 0.85em;
  height: 1.5em;
}

/* Per schermi molto piccoli */
@media (max-width: 576px) {
  .myTable th, .myTable td {
    font-size: 0.75em;
    padding: 2px 3px;
  }
  .myTable input {
    width: 90%;
  }
}
.compact-table-report {
  font-size: 12px; /* Font più piccolo */
  border-collapse: collapse;
}

.compact-table-report th, .compact-table-report td {
  padding: 1px; /* Padding massimo 1px */
  border: 1px solid black; /* Bordo delle celle */
  text-align: center; /* Allineamento centrale */
}