/* Share the same right inset for form controls throughout Campus. */
:root {
  --field-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23565656' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

:is(.workspace,.modal-dialog,.af-public) select:not([multiple]):is(:not([size]),[size="1"]) {
  appearance: none;
  padding-inline-end: 34px;
  background-image: var(--field-caret);
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
}

.co-page .co-training-toolbar .co-session-selector select,
.zeus-chat-controls > select:not([multiple]):not([size]) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

:is(.workspace,.modal-dialog,.af-public) input:is([type="date"],[type="time"],[type="datetime-local"],[type="month"],[type="week"]) {
  min-width: 0;
  padding-inline-end: 12px;
}

@supports selector(input::-webkit-calendar-picker-indicator) {
  :is(.workspace,.modal-dialog,.af-public) input:is([type="date"],[type="time"],[type="datetime-local"],[type="month"],[type="week"]) {
    position: relative;
    appearance: none;
    padding-inline-end: 34px;
    background-image: var(--field-caret);
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
  }

  :is(.workspace,.modal-dialog,.af-public) input:is([type="date"],[type="time"],[type="datetime-local"],[type="month"],[type="week"])::-webkit-calendar-picker-indicator {
    position: absolute;
    inset-inline-end: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 26px;
    padding: 0;
    margin: 0;
    opacity: 0;
    cursor: pointer;
  }
}

.appointment-conditional[hidden],
.appointment-athlete-list > [hidden] {
  display: none;
}

.appointment-athlete-picker summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  list-style: none;
  cursor: pointer;
  overflow-wrap: anywhere;
}

.appointment-athlete-picker summary::-webkit-details-marker {
  display: none;
}

.appointment-athlete-picker summary svg {
  flex-shrink: 0;
  color: #565656;
}

.appointment-athlete-picker[open] summary svg {
  transform: rotate(180deg);
}

.appointment-athlete-menu {
  margin-top: 6px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
}

.appointment-athlete-list {
  max-height: min(210px, 28dvh);
  margin: 6px 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.appointment-athlete-menu button {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 40px;
  padding: 7px 10px;
  border: 0;
  border-radius: 5px;
  background: #fff;
  color: #111;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.appointment-athlete-menu button:is(:hover,[aria-pressed="true"]) {
  background: #f3f3f3;
}

.appointment-athlete-menu > button[data-appointment-manual] {
  border-top: 1px solid var(--line);
  color: var(--red-dark);
}

.appointment-athlete-list > p {
  margin: 6px 10px;
  color: #565656;
}

/* Booking identity links share the compact calendar typography. */
.agenda-row .agenda-item .calendar-context-link{display:inline;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:left;text-transform:none;letter-spacing:inherit;box-shadow:none;overflow-wrap:anywhere}
.agenda-row .agenda-item button.calendar-context-link{cursor:pointer}
.agenda-row .agenda-item button.calendar-context-link:hover{text-decoration:underline;text-underline-offset:3px;background:transparent;color:inherit}
.agenda-row .agenda-item button.calendar-context-link:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.agenda-row .agenda-item .calendar-booking-unit{display:block;max-width:100%;overflow-wrap:anywhere}
.agenda-row .agenda-item :is(.calendar-booking-club,.calendar-booking-summary){display:block;margin-top:3px;font-size:var(--text-label);line-height:1.4;color:var(--muted,#565656)}
.agenda-row .agenda-item .calendar-booking-position{margin:0}
