/* calendar */
.table > :not(caption) > * > * {
  padding: 0.1rem 0.15rem !important;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}

table.calendar {
  border-left: 1px solid #999;
  padding: 0.1rem 0.15rem !important;
}

td.calendar-day {
  min-height: 30px;
  font-size: 11px;
  position: relative;
  padding: 0.1rem 0.15rem !important;
}

* html div.calendar-day {
  height: 30px;
  padding: 0.1rem 0.15rem !important;
}

td.calendar-day:hover {
  background: #eceff5;
}

td.calendar-day-np {
  background: #eee;
  min-height: 30px;
  padding: 0.1rem 0.15rem !important;
}

* html div.calendar-day-np {
  height: 30px;
  padding: 0.1rem 0.15rem !important;
}

td.calendar-day-head {
  background: #ccc;
  font-weight: bold;
  text-align: center;
  width: 30px;
  padding: 0.1rem 0.15rem !important;
  border-bottom: 1px solid #999;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
}

div.day-number {
  width: 20px;
  height: 30px;
  background: #999;
  padding: 1px 3px;
  color: #fff;
  font-weight: bold;
  float: right;
  margin: 0 0 0 0;
  /*width: 20px;*/
  text-align: center;
}

/* shared */
td.calendar-day, td.calendar-day-np {
  width: 30px;
  height: 30px;
  padding: 0.1rem 0.15rem !important;
  border-bottom: 1px solid #999;
  border-right: 1px solid #999;
}
