/* Schedule swap (Standings tab). Colors come from tokens only. */
#swap { padding-bottom: 8px; }
.sw-grid { width: auto; min-width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; }
.sw-grid th, .sw-grid td { border-bottom: 0; }
.sw-grid thead th { padding: 8px 4px; text-align: center; text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: 600; color: var(--ink-2); }
.sw-grid thead th.sw-axis { padding: 10px 4px 2px 8px; text-align: left; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.sw-grid .sw-colh { min-width: 54px; max-width: 78px; overflow: hidden; text-overflow: ellipsis; }
.sw-grid .sw-corner, .sw-grid .sw-rowh {
  position: sticky; left: 0; z-index: 2; background: var(--surface); text-align: left;
  border-right: 1px solid var(--grid);
}
.sw-grid .sw-corner { padding: 10px 12px; font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); vertical-align: bottom; }
.sw-grid .sw-rowh { padding: 0 12px; height: 42px; min-width: 92px; font-size: 13px; font-weight: 650; color: var(--ink); text-transform: none; letter-spacing: 0; white-space: nowrap; }
.sw-grid td { padding: 1px; }
.sw-grid tbody tr:hover td { background: transparent; }
.sw-grid tbody tr:hover .sw-rowh { color: var(--accent); }
.sw-cell {
  display: block; width: 100%; min-width: 52px; height: 40px; padding: 0 4px; border: 0; border-radius: 6px;
  font: inherit; font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; color: var(--ink);
  background: var(--surface-2); cursor: pointer; white-space: nowrap;
}
.sw-cell:hover { box-shadow: inset 0 0 0 1px var(--axis); }
.sw-cell.self { font-weight: 800; box-shadow: inset 0 0 0 2px var(--ink); }
.sw-cell.sel { box-shadow: inset 0 0 0 2px var(--accent); }
.sw-cell:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }

.sw-detail { margin-top: 12px; padding: 14px 18px 12px; scroll-margin-bottom: 16px; }
.sw-dh { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.sw-dh b { font-weight: 700; }
.sw-dr { font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; }
.sw-dl { margin-top: 8px; font-size: 14px; }
.sw-dl > div { display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; padding: 6px 0; border-top: 1px solid var(--grid); font-variant-numeric: tabular-nums; }
.sw-dl > div > span:nth-child(2) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-2); }
.sw-df { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-top: 6px; font-size: 13px; color: var(--ink-2); }

.sw-calls { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 8px; }
.sw-calls:empty { display: none; }
.sw-calls li { padding: 11px 16px; border-left: 3px solid var(--accent); background: var(--surface-2); border-radius: 0 8px 8px 0; font-size: 14px; line-height: 1.5; color: var(--ink-2); }
.sw-calls li b { color: var(--ink); font-weight: 650; }
#swap .note { max-width: 75ch; }

@media (max-width: 760px) {
  .sw-grid .sw-rowh { min-width: 72px; padding: 0 8px; font-size: 12px; }
  .sw-grid .sw-corner { padding: 10px 8px; }
  .sw-cell { min-width: 46px; font-size: 12px; }
  .sw-grid .sw-colh { min-width: 48px; font-size: 11px; }
  .sw-detail { padding: 12px 14px 10px; }
  .sw-calls li { padding: 10px 12px; }
}
