/* Agenda is one queue. The rows retain their columns at every viewport width. */
.calendar-queue { min-width: 0; }
.queue-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.queue-heading h3 { margin: 0; color: var(--color-primary); font: 650 17px var(--font-heading); }
.queue-heading > span { color: var(--color-muted); font-size: 12px; white-space: nowrap; }
.queue-table-scroll { position: relative; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; padding: 2px; }
.queue-table-scroll:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; border-radius: 8px; }
.calendar-queue-table.sport-table { width: 100%; min-width: 1000px; table-layout: fixed; border-collapse: separate; border-spacing: 0 7px; font-size: 13px; }
.queue-col-turn { width: 88px; }
.queue-col-match { width: 44%; }
.queue-col-citation { width: 135px; }
.queue-col-estimate { width: 155px; }
.queue-col-state { width: 150px; }
.calendar-queue-table.sport-table th { padding: 7px 16px; border: 0; background: transparent; color: var(--color-muted); font-size: 11px; font-weight: 500; letter-spacing: 0; }
.calendar-queue-table.sport-table td {
  padding: 12px 16px; border-block: 1px solid var(--color-border); background: var(--color-surface);
  vertical-align: middle; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere;
}
.calendar-queue-table.sport-table td:first-child { border-inline-start: 1px solid var(--color-border); border-start-start-radius: 9px; border-end-start-radius: 9px; }
.calendar-queue-table.sport-table td:last-child { border-inline-end: 1px solid var(--color-border); border-start-end-radius: 9px; border-end-end-radius: 9px; }
.calendar-queue-table.sport-table tbody tr:last-child td { border-bottom: 1px solid var(--color-border); }
.calendar-queue-row { cursor: pointer; scroll-margin-block: 100px; }
.calendar-queue-row:hover td { background: var(--collection-hover); }
.calendar-queue-row:focus { outline: 2px solid var(--color-primary); outline-offset: -2px; border-radius: 9px; }
.calendar-queue-row.calendar-match-emphasis { box-shadow: none; }
.calendar-queue-row.calendar-match-emphasis td { border-block-color: var(--overlap-edge); }
.calendar-queue-row.calendar-match-emphasis td:first-child { border-inline-start-color: var(--overlap-edge); }
.calendar-queue-row.calendar-match-emphasis td:last-child { border-inline-end-color: var(--overlap-edge); }
.queue-turn > span { font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.queue-match-open { display: block; border-radius: 3px; text-decoration: none; }
.queue-match-teams { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 12px; }
.queue-match-teams .matchup-side { font-weight: 600; font-size: 13px; line-height: 1.45; text-align: left; }
.queue-match-teams .matchup-player + .matchup-player { margin-top: 1px; }
.queue-match-teams .matchup-versus { padding: 0; background: transparent; color: var(--color-muted); font-size: 10px; }
.calendar-queue-table.sport-table .queue-category { margin-top: 7px; font-size: 11px; color: var(--color-muted); line-height: 1.4; }
.queue-citation time { font-variant-numeric: tabular-nums; white-space: nowrap; }
.calendar-queue-table.sport-table .queue-citation small { margin: 0 0 2px; font-size: 11px; color: var(--color-muted); }
.queue-muted { color: var(--color-muted); }
.queue-available { color: #286246; }
.queue-called { color: #543673; font-weight: 600; }
.queue-notice { display: flex; align-items: center; gap: 5px; margin-top: 5px; padding: 3px 0; background: transparent; border: 0; color: #77501c; font-size: 11px; }
.queue-notice > span:first-child { display: inline-grid; place-items: center; width: 14px; height: 14px; border: 1px solid currentColor; border-radius: 50%; font-size: 10px; line-height: 1; }
@media (max-width: 768px) {
  .queue-heading { margin-top: 4px; }
  .queue-heading h3 { font-size: 16px; }
  .queue-notice { min-height: 32px; }
}

@media screen {
  :root[data-court-theme^='dark-'] .queue-available { color: var(--color-success-text); }
  :root[data-court-theme^='dark-'] .queue-called { color: var(--color-called-text); }
  :root[data-court-theme^='dark-'] .queue-notice { color: var(--color-warning-text); }
}
