/* NFL-specific states layered onto the existing CFB components. */
#panel-nfl[hidden] { display: none !important; }
/* The shared badge belongs to another sport; NFL has its own dated snapshot. */
body.models-dashboard:has(#nfl-model-tab[aria-selected="true"]) .nav-status { visibility: hidden; }
#panel-nfl .nfl-readiness { display: inline-block; color: var(--cfb-positive); font: 600 11px/1.5 var(--font); }
#panel-nfl .nfl-readiness[data-readiness="PRELIMINARY"], #panel-nfl .nfl-pending { color: var(--cfb-warning); }
#panel-nfl .nfl-pending { padding: 18px; font-size: 13px; }
#panel-nfl .nfl-forecast-detail { max-width: 32ch; margin-top: 7px; white-space: normal; font: 11px/1.6 var(--font); color: var(--text3); }
#panel-nfl .nfl-forecast-detail summary { cursor: pointer; min-height: 28px; padding: 4px 0; color: var(--text2); }
#panel-nfl .nfl-forecast-detail p { margin: 6px 0; }
#panel-nfl .nfl-card-title { margin: 0; padding: 10px 18px; font: 700 14px/1.5 var(--font); }
#panel-nfl .nfl-card-model { grid-template-columns: 1fr 1fr; }
#panel-nfl .nfl-game-card > .nfl-readiness, #panel-nfl .nfl-game-card > .nfl-forecast-detail { margin: 10px 18px; }
#panel-nfl #nfl-data-refresh-bar[hidden] { display: none; }
#panel-nfl .nfl-table-wrap { max-width: 100%; }
#panel-nfl .nfl-ratings-title { margin: 0 0 16px; font-size: 28px; font-weight: 700; }
#panel-nfl .nfl-ratings-updated { margin: 16px 0; font-size: 12px; color: var(--text3); }
/* Three short columns should not stretch to the width of the matchup table. */
#panel-nfl .cfb-ratings-table-wrap { width: 320px; max-width: 100%; }
#panel-nfl .nfl-ratings-components, #panel-nfl .nfl-ratings-detail-wrap { width: 440px; }
#panel-nfl .nfl-ratings-definition, #panel-nfl .nfl-ratings-breakdown { max-width: 65ch; font-size: 12px; line-height: 1.6; color: var(--text2); }
#panel-nfl .nfl-ratings-breakdown summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; }
#panel-nfl .nfl-ratings-breakdown summary::before { content: '+'; margin-right: 8px; }
#panel-nfl .nfl-ratings-breakdown[open] summary::before { content: '−'; }
#panel-nfl .nfl-rating-subhead { display: block; font-size: 9px; font-weight: 400; }
#panel-nfl .nfl-rating-sort { background: none; border: 0; padding: 0; min-height: 44px; color: inherit; font: inherit; letter-spacing: inherit; cursor: pointer; white-space: nowrap; }
#panel-nfl .nfl-rating-sort:hover, #panel-nfl th[aria-sort]:not([aria-sort="none"]) .nfl-rating-sort { color: var(--text); }
#panel-nfl .nfl-rating-sort:focus-visible { outline: 2px solid var(--blue, #368cff); outline-offset: 3px; border-radius: 2px; }
#panel-nfl .nfl-rating-sort-arrow { margin-left: 3px; font-size: 9px; }
body.models-dashboard #panel-nfl .nfl-ratings-components :is(th,td):first-child { width: 44px; }
body.models-dashboard #panel-nfl .nfl-ratings-components :is(th,td):nth-child(2) { width: 54px; }
body.models-dashboard #panel-nfl .nfl-ratings-components :is(th,td):last-child { width: auto; }
body.models-dashboard #panel-nfl .nfl-ratings-detail-wrap :is(th,td):first-child { width: 54px; }
body.models-dashboard #panel-nfl .nfl-ratings-detail-wrap :is(th,td):last-child { width: auto; }
#panel-nfl .nfl-table-wrap td:last-child { min-width: 165px; }
#panel-nfl .model-live-refresh-status[data-state="error"] { color: var(--cfb-warning); }
#plays .nfl-launch-board { padding: 20px; }
#plays .nfl-play-policy { color: var(--muted); font-size: 12px; line-height: 1.6; margin: 10px 0 20px; }
#plays .nfl-play-state { font-weight: 650; margin: 14px 0 0; }
#plays .nfl-play-pending { padding: 18px 22px; font-size: 13px; line-height: 1.6; }
#plays .nfl-play-pending p, #plays .nfl-play-pending span { color: var(--muted); }
#plays .nfl-play-history { padding: 14px 22px; font-size: 12px; color: var(--muted); }
#plays .nfl-play-history summary { cursor: pointer; min-height: 32px; }
#plays .nfl-launch-board .cfb-board-empty { min-height: 190px; }
#plays .nfl-launch-board .cfb-board-empty a { color: var(--blue); margin-top: 18px; display: inline-block; }
#plays .nfl-launch-board .nfl-disabled-markets { color: var(--muted); font-size: 12px; margin: 12px 0; }
#plays .nfl-launch-board .cfb-filter-group { display: flex; flex-wrap: wrap; gap: 6px; }
#plays .nfl-launch-board .cfb-filter-btn { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 767px) {
  body.models-dashboard #panel-nfl .nfl-ratings-components :is(th,td) { padding-left: 4px; padding-right: 4px; }
  body.models-dashboard #panel-nfl .nfl-ratings-components :is(th,td):first-child { width: 34px; }
  body.models-dashboard #panel-nfl .nfl-ratings-components :is(th,td):nth-child(2) { width: 42px; }
  #panel-nfl .nfl-forecast-detail summary { min-height: 44px; display: flex; align-items: center; }
  #panel-nfl .cfb-controls { gap: 12px; }
  #plays .nfl-launch-board { padding: 16px; }
}
