#calendar .cal-attendance-list {
  padding: 0;
  list-style: none;
}
#calendar [data-attendance-form] fieldset {
  min-inline-size: 0;
  padding: 0;
  margin: 0;
  border: 0;
}
#calendar .cal-attendance-row {
  display: grid;
  grid-template-columns: minmax(9rem, 1fr) minmax(9rem, 12rem) minmax(7rem, 9rem);
  align-items: end;
  gap: .45rem .75rem;
  padding: .6rem 0;
  border-bottom: 1px solid #d6e2f4;
}
#calendar .cal-attendance-row > strong {
  align-self: center;
  overflow-wrap: anywhere;
}
#calendar .cal-attendance-row label {
  margin: 0;
}
#calendar .cal-attendance-row select,
#calendar .cal-attendance-row input {
  display: block;
  width: 100%;
  margin-top: .15rem;
}
#calendar .cal-attendance-row .cal-attendance-note {
  grid-column: 1 / -1;
  padding: 0;
  border: 0;
}
#calendar .cal-attendance-note summary {
  width: fit-content;
  padding: .25rem .15rem;
  cursor: pointer;
}
#calendar .cal-attendance-note label {
  margin: .4rem 0;
}
@media (max-width: 38rem) {
  #calendar .cal-attendance-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  #calendar .cal-attendance-row > strong {
    grid-column: 1 / -1;
  }
}
#calendar .cal-attendance-row [hidden] {
  display: none;
}

#calendar .cal-attendance-row .cal-attendance-selection {
  display: flex;
  align-items: center;
  gap: .4rem;
  overflow-wrap: anywhere;
}
#calendar .cal-attendance-selection input[type="checkbox"] { width: auto; }
@media (max-width: 38rem) {
  #calendar .cal-attendance-selection { grid-column: 1 / -1; }
}
