.timetable {
  border-spacing: 0;
}
.timetable td {
  border-bottom: 1px solid black;
  border-right: 1px solid black;
  padding: 0.5em;
}
.timetable tr:not(:first-child) th {
  border-right: 1px solid black;
  border-left: 1px solid black;
  position: sticky;
  left: 0;
  background: #fefefe;
}
.timetable th {
  border-bottom: 1px solid black;
}
.timetable th:first-child {
  position: sticky;
  left: 0;
  background: #fefefe;
}
.timetable tr {
  position: relative;
  height: 42px;
}
.timetable tr::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-bottom: 1px dotted rgba(0,0,0,0.5);
}

.annotation {
  background-color: rgba(255, 139, 0, 0.06);
  border: 1px solid #ff8b00;
  border-radius: 3px;
  width: fit-content;
  padding: .5em 1em;
  font-weight: 500;
}

.annotation .icon {
  color: #ff8b00;
  margin-right: .5em;
  height: 1.1em;
  vertical-align: text-bottom;
  fill: currentColor;
}
