.calendar {
  border-collapse: collapse;
  font-family: sans-serif;
  font-size: 14px;
  table-layout: fixed;
  /* forza tutte le colonne uguali */
  width: 100%;
}

/* Colonne */
.col-month {
  width: 120px;
  /* prima colonna più larga */
}

.col-day {
  width: 30px;
  /* celle giornaliere */
}

.day.selected {
   box-shadow: 0 0 0 2px #0d6efd inset;
    
}

/* Intestazioni */
.calendar th {
  border: 1px solid #ccc;
  height: 30px;
  text-align: center;

  vertical-align: middle;
  background: #f3f3f3;
}

/* Celle */
.calendar td {
  border: 1px solid #bbb;
  width: 30px;
  height: 30px;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  padding: 0;
}

.counter {
  padding: 5px;
}

.counter-border {
    border-right: 1px solid #ddd;
}

.counter-label {
  font-size: .8rem;
  padding-left: 20px;
}

.vertical-text {
  writing-mode: vertical-rl;  /* verticale da destra verso sinistra */
  text-orientation: upright;  /* mantiene lettere dritte */
  /* transform: rotate(180deg);  opzionale se vuoi verticale da sinistra verso destra */
  font-weight: bold;
  text-align: center;


}


/* Prima colonna mese */
.month-name {
  font-weight: bold;
  text-transform: uppercase;
  text-align: left !important;
  padding-left: .5rem !important;
  background: #f3f3f3;
  width: 200px;
  /* ridondante ma sicuro */
}

/* Celle vuote */
.empty {
  background-color: #f9f9f9;
}

.day-name {
  font-size: .5rem;
  padding-right: 3px;
  padding-top: 2px;
  opacity: .3;
}

/* Weekend e festivi */
.weekend {
  background-color: #f0f0f0;
}

.holiday {
  background-color: #ffcfcbc4;
}

.company-logo {
  height: 35px;
  opacity: .3;
}

 

.vh-90 {
  height: 90vh !important;
}
