.calendar-pair {
  min-width: 0; margin: 3px 0; padding: 9px; border: 1px solid #d5e3da;
  border-radius: 8px; background: #f6faf6; color: #254a3c; font-size: 12px;
}
.calendar-pair > header, .calendar-pair-member {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 6px;
}
.calendar-pair > header { justify-content: space-between; margin-bottom: 4px; }
.calendar-pair time { font-weight: 750; font-variant-numeric: tabular-nums; }
.calendar-pair b { border-radius: 4px; padding: 1px 5px; background: #dfede3; font-size: 10px; }
.calendar-pair-member { border-top: 1px solid #dce7df; margin-top: 5px; padding-top: 4px; }
.calendar-pair-member strong, .calendar-pair-course { overflow-wrap: anywhere; }
.calendar-pair-member small { margin-left: auto; color: #66533a; }
.calendar-pair-member small[data-state="已签到"] { color: #226443; }
.calendar-pair-member small[data-state="已取消"] { color: #626963; }
.calendar-pair-course { flex-basis: 100%; font-size: 10px; color: #506558; }
.calendar-pair-member button { padding: 2px 6px; border: 1px solid #aac6b3; background: white; color: #21573b; border-radius: 4px; cursor: pointer; font: inherit; }
.calendar-pair-conflict { border-color: #c67762; }
.calendar-pair-conflict em { display: block; color: #963d2b; font-style: normal; margin-top: 4px; }
