/* Shared default for every sport's schedule dates, times and optional periods. */
.schedule-when { display:block; text-align:left; line-height:1.4; text-shadow:none; font-variant-numeric:tabular-nums; }
.schedule-when-date { display:block; color:var(--ink,#f5f7fa); font-size:14px; font-weight:700; white-space:nowrap; }
.schedule-when .schedule-when-meta { display:block; margin-top:4px; color:var(--muted,#9aabba); font-size:11px; font-weight:400; white-space:nowrap; }
.schedule-table thead th:first-child { width:184px; padding-left:16px; text-align:left; }
.schedule-table td.schedule-when-cell { padding:10px 16px; text-align:left; }

/* Keep popup rows inside narrow phones, including long school names and scores. */
@media(max-width:800px) {
  .schedule-dialog { width:calc(100% - 24px); max-width:calc(100% - 24px); max-height:calc(100dvh - 24px); box-sizing:border-box; padding:16px 12px; overflow:hidden; }
  .schedule-dialog > div, #schedule-dialog > #schedule-dialog-content { display:block; max-height:calc(100dvh - 58px); overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-gutter:stable; }
  .schedule-dialog .dialog-close { width:44px; height:44px; z-index:1; }
  .schedule-dialog .schedule-head { min-width:0; margin-right:46px; gap:10px; }
  .schedule-dialog .schedule-head > * { min-width:0; }
  .schedule-dialog .schedule-head img { flex:none; width:48px; height:48px; }
  .schedule-dialog .schedule-head h2 { font-size:24px; overflow-wrap:anywhere; }
  .schedule-dialog .schedule-stats { margin:16px 0; }
  .schedule-dialog .schedule-list { min-width:0; max-height:none; overflow:visible; }
}
@media(max-width:620px) {
  .schedule-dialog .schedule-game { min-width:0; grid-template-columns:minmax(0,1fr) auto; padding:10px; gap:7px 10px; }
  .schedule-dialog .schedule-date { grid-column:1/-1; }
  .schedule-dialog .schedule-opponent { min-width:0; font-size:14px; overflow-wrap:anywhere; }
  .schedule-dialog .schedule-tags { grid-column:1/-1; font-size:11px; overflow-wrap:anywhere; }
}
@media(max-width:380px) {
  .schedule-dialog .schedule-head h2 { font-size:21px; }
  .schedule-dialog .schedule-head img { width:38px; height:38px; }
  .schedule-dialog .schedule-result { grid-template-columns:24px 2.5ch 10px 2.5ch; column-gap:4px; font-size:14px; }
}
