.ca-nfl {
  --ca-navy: #12253f;
  --ca-blue: #1d5e9f;
  --ca-green: #147a52;
  --ca-red: #b23838;
  --ca-ink: #17212b;
  --ca-line: #dce3ea;
  --ca-soft: #f5f7fa;
  color: var(--ca-ink);
  font-family: Inter, Arial, sans-serif;
  max-width: 1400px;
  margin: 0 auto;
}
.ca-nfl * { box-sizing: border-box; }
.ca-nfl__header { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; border-top: 5px solid var(--ca-navy); padding: 24px 0 18px; }
.ca-nfl__eyebrow { color: var(--ca-blue); font-size: 12px; font-weight: 800; letter-spacing: .14em; margin: 0 0 5px; }
.ca-nfl h2 { color: var(--ca-navy); font-size: clamp(27px, 4vw, 42px); line-height: 1.05; margin: 0; }
.ca-nfl__subhead { color: #657281; margin: 8px 0 0; }
.ca-nfl__filters { display: flex; gap: 10px; }
.ca-nfl__filters label { color: #52606d; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ca-nfl__filters select { background: #fff; border: 1px solid #bac5d0; border-radius: 5px; color: var(--ca-ink); display: block; font: 700 14px/1 Arial, sans-serif; margin-top: 5px; min-width: 92px; padding: 10px 30px 10px 10px; }
.ca-nfl__legend { background: var(--ca-soft); border: 1px solid var(--ca-line); border-radius: 6px; display: flex; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 18px; padding: 11px 14px; color: #596776; font-size: 12px; }
.ca-nfl__legend b { color: var(--ca-navy); }
.ca-nfl__status { background: var(--ca-soft); border: 1px solid var(--ca-line); border-radius: 7px; padding: 28px; text-align: center; }
.ca-nfl-table-wrap { overflow-x: auto; width: 100%; }
.ca-nfl-table { border-collapse: separate; border-spacing: 0; font-size: 13px; min-width: 1120px; width: 100%; }
.ca-nfl-table th { background: var(--ca-navy); color: white; font-size: 10px; letter-spacing: .045em; padding: 11px 8px; text-align: center; text-transform: uppercase; white-space: nowrap; }
.ca-nfl-table th:first-child { border-radius: 6px 0 0 0; text-align: left; }
.ca-nfl-table th:last-child { border-radius: 0 6px 0 0; }
.ca-nfl-sort { align-items: center; appearance: none; background: transparent; border: 0; color: #fff !important; cursor: pointer; display: inline-flex; font: inherit; font-weight: 800 !important; gap: 5px; justify-content: center; letter-spacing: inherit; margin: -11px -8px; min-height: 36px; padding: 11px 8px; text-transform: inherit; white-space: nowrap; width: calc(100% + 16px); }
.ca-nfl-th-team .ca-nfl-sort { justify-content: flex-start; }
.ca-nfl-sort span { color: #fff !important; font-size: 9px; opacity: .82; }
.ca-nfl-sort:hover, .ca-nfl-sort:focus { background: rgba(255, 255, 255, .10); outline: 2px solid rgba(255, 255, 255, .8); outline-offset: -2px; }
.ca-nfl-sort.is-active span { color: #fff; }
.ca-nfl-table td { border-bottom: 1px solid var(--ca-line); padding: 10px 8px; text-align: center; white-space: nowrap; }
.ca-nfl-table td:first-child, .ca-nfl-table td:nth-child(7) { text-align: left; }
.ca-nfl-game-row { background: white; cursor: pointer; transition: background .15s ease, box-shadow .15s ease; }
.ca-nfl-game-row:nth-child(even) { background: #f8fafc; }
.ca-nfl-game-row:hover, .ca-nfl-game-row:focus { background: #edf4fb; outline: none; }
.ca-nfl-game-row[aria-expanded="true"] { background: #e7f0fa; box-shadow: inset 4px 0 var(--ca-blue); }
.ca-nfl-team { align-items: center; display: inline-flex; gap: 8px; }
.ca-nfl-team img { height: 28px; object-fit: contain; width: 28px; }
.ca-nfl-score { color: var(--ca-navy); font-size: 15px; }
.ca-nfl-score span { color: #8b97a4; margin: 0 5px; }
.ca-nfl-view { color: var(--ca-blue); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.ca-nfl .is-positive { color: var(--ca-green); font-weight: 800; }
.ca-nfl .is-negative { color: var(--ca-red); font-weight: 800; }
.ca-nfl__detail { margin-top: 22px; }
.ca-nfl-detail-card { background: #fff; border: 1px solid var(--ca-line); border-radius: 9px; box-shadow: 0 12px 35px rgba(18, 37, 63, .09); padding: 24px; position: relative; }
.ca-nfl-close { background: #edf1f5; border: 0; border-radius: 50%; color: var(--ca-navy); cursor: pointer; font-size: 24px; height: 36px; line-height: 1; position: absolute; right: 16px; top: 16px; width: 36px; }
.ca-nfl-detail-card__label { color: #728090; font-size: 11px; font-weight: 800; letter-spacing: .1em; margin: 0 0 14px; text-align: center; }
.ca-nfl-scoreboard { align-items: center; display: grid; grid-template-columns: 1fr auto 1fr; margin: 0 auto 20px; max-width: 680px; }
.ca-nfl-scoreboard > div { align-items: center; display: flex; gap: 14px; justify-content: flex-end; }
.ca-nfl-scoreboard > div:last-child { justify-content: flex-start; }
.ca-nfl-scoreboard strong { color: var(--ca-navy); font-size: 38px; }
.ca-nfl-scoreboard > span { background: var(--ca-navy); border-radius: 3px; color: white; font-size: 9px; font-weight: 800; letter-spacing: .08em; margin: 0 22px; padding: 4px 7px; }
.ca-nfl-table--detail { margin: 0 auto; min-width: 540px; max-width: 760px; }
.ca-nfl-table--detail th:first-child, .ca-nfl-table--detail td:first-child { text-align: left; }
.ca-nfl-method { color: #6d7885; font-size: 11px; margin: 16px auto 0; max-width: 760px; }
.ca-nfl .screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
@media (max-width: 760px) {
  .ca-nfl__header { align-items: flex-start; flex-direction: column; }
  .ca-nfl__filters { width: 100%; }
  .ca-nfl__filters label { flex: 1; }
  .ca-nfl__filters select { width: 100%; }
  .ca-nfl-detail-card { padding: 20px 12px; }
  .ca-nfl-scoreboard strong { font-size: 28px; }
  .ca-nfl-scoreboard > span { margin: 0 8px; }
  .ca-nfl-scoreboard .ca-nfl-team b { display: none; }
}
