.nd24-football{--nd24-primary:#d71920;--nd24-text:#202124;--nd24-muted:#6b7280;--nd24-line:#e7e9ee;--nd24-bg:#f6f7f9;--nd24-card:#fff;font-family:"Roboto","Segoe UI",Arial,sans-serif!important;color:var(--nd24-text);font-size:14px!important;line-height:1.45!important;width:100%!important;max-width:100%!important;min-width:0!important;position:relative!important;display:block!important;float:none!important;clear:both!important;margin-left:0!important;margin-right:0!important}.nd24-football:before,.nd24-football:after{content:"";display:table;clear:both}.nd24-football *{box-sizing:border-box;font-family:inherit}.nd24-view-content{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;float:none!important;clear:both!important}.nd24-football button{font:inherit}.nd24-football.is-loading .nd24-view-content{opacity:.55;pointer-events:none}.nd24-football.is-loading:after{content:"";position:absolute;top:52px;left:50%;width:28px;height:28px;margin-left:-14px;border:3px solid #ddd;border-top-color:var(--nd24-primary);border-radius:50%;animation:nd24spin .7s linear infinite;z-index:5}@keyframes nd24spin{to{transform:rotate(360deg)}}
.nd24-date-nav,.nd24-round-nav{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;background:var(--nd24-card);border:1px solid var(--nd24-line);border-radius:10px;padding:8px;margin:0 0 12px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.nd24-nav-btn,.nd24-round-btn,.nd24-date-current{border:0;background:transparent;cursor:pointer;min-height:38px;border-radius:8px;color:var(--nd24-text);font-weight:700}.nd24-nav-btn,.nd24-round-btn{font-size:25px;background:var(--nd24-bg)}.nd24-nav-btn:hover,.nd24-round-btn:hover,.nd24-date-current:hover{background:#f1f2f4}.nd24-date-current{font-size:14px}.nd24-calendar-dot{color:var(--nd24-primary);font-size:9px;margin-right:7px}.nd24-round-nav strong{text-align:center;font-size:15px}.nd24-round-btn:disabled{opacity:.3;cursor:not-allowed}
.nd24-league{background:var(--nd24-card);border:1px solid var(--nd24-line);border-radius:10px;overflow:hidden;margin:0 0 14px}.nd24-league-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8f9fb;border-left:4px solid var(--nd24-primary);padding:11px 13px}.nd24-league-head h2{margin:0!important;padding:0!important;font-size:16px!important;line-height:1.35!important;font-weight:800!important;color:#171717!important;text-transform:none!important}.nd24-league-head span{white-space:nowrap;font-size:12px;color:var(--nd24-muted)}
.nd24-match-row{display:grid;grid-template-columns:58px minmax(120px,1fr) 76px minmax(120px,1fr);align-items:center;min-height:53px;padding:7px 12px;border-top:1px solid var(--nd24-line);gap:8px}.nd24-match-list .nd24-match-row:first-child{border-top:0}.nd24-match-row:hover{background:#fcfcfd}.nd24-match-status{text-align:center;font-size:12px;font-weight:700;color:var(--nd24-muted)}.nd24-match-status.is-live{color:var(--nd24-primary)}.nd24-team{font-weight:600;overflow-wrap:anywhere}.nd24-team-home{text-align:right}.nd24-team-away{text-align:left}.nd24-score{text-align:center;font-size:17px;font-weight:800;color:#171717;white-space:nowrap}.nd24-score small{display:block;font-size:10px;font-weight:500;color:var(--nd24-muted);margin-top:2px}
.nd24-odds-list{padding:10px}.nd24-odds-card{border:1px solid var(--nd24-line);border-radius:9px;margin-bottom:9px;overflow:hidden;background:#fff}.nd24-odds-card:last-child{margin-bottom:0}.nd24-odds-match{display:flex;gap:12px;align-items:center;padding:10px 12px;background:#fafafa;border-bottom:1px solid var(--nd24-line)}.nd24-odds-match>span{font-size:12px;color:var(--nd24-muted);min-width:42px}.nd24-odds-match strong{font-size:14px}.nd24-odds-match b{color:var(--nd24-muted);font-weight:500;font-size:11px;text-transform:uppercase}.nd24-odds-grid{display:grid;grid-template-columns:repeat(3,1fr)}.nd24-odds-grid>div{padding:10px 12px;border-right:1px solid var(--nd24-line)}.nd24-odds-grid>div:last-child{border-right:0}.nd24-odds-grid small,.nd24-odds-grid span{display:block;color:var(--nd24-muted);font-size:11px}.nd24-odds-grid strong{display:block;color:var(--nd24-primary);font-size:15px;margin:3px 0}
.nd24-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.nd24-table{width:100%;border-collapse:collapse!important;border-spacing:0!important;margin:0!important;background:#fff!important}.nd24-table th,.nd24-table td{border:0!important;border-top:1px solid var(--nd24-line)!important;padding:9px 10px!important;text-align:center!important;font-size:13px!important;vertical-align:middle!important;background:transparent!important;color:var(--nd24-text)!important}.nd24-table thead th{border-top:0!important;color:var(--nd24-muted)!important;font-size:11px!important;font-weight:700!important;background:#fff!important}.nd24-table .is-team{text-align:left!important;min-width:150px}.nd24-table tbody tr:hover{background:#fafafa}.nd24-rank{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:6px;background:#f1f2f4;font-weight:700}.nd24-table tr.is-top .nd24-rank{background:#eaf7ee;color:#15803d}
.nd24-empty,.nd24-notice{border:1px solid #f0d2d4;background:#fff7f7;color:#7f1d1d;padding:14px;border-radius:10px;margin:10px 0}.nd24-empty strong,.nd24-empty span{display:block}.nd24-empty span{margin-top:3px;color:#7b6264;font-size:12px}.nd24-notice{margin-bottom:10px}
@media(max-width:640px){.nd24-football{font-size:13px}.nd24-date-nav{grid-template-columns:38px minmax(0,1fr) 38px}.nd24-league{border-radius:8px}.nd24-league-head{padding:10px}.nd24-league-head h2{font-size:14px!important}.nd24-league-head span{font-size:10px}.nd24-match-row{grid-template-columns:42px minmax(0,1fr) 62px minmax(0,1fr);min-height:49px;padding:6px 8px;gap:5px}.nd24-team{font-size:12px;line-height:1.3}.nd24-score{font-size:15px}.nd24-match-status{font-size:10px}.nd24-odds-list{padding:7px}.nd24-odds-match{padding:9px}.nd24-odds-match strong{font-size:12px}.nd24-odds-grid{grid-template-columns:1fr}.nd24-odds-grid>div{border-right:0;border-bottom:1px solid var(--nd24-line);display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:8px;padding:8px 10px}.nd24-odds-grid>div:last-child{border-bottom:0}.nd24-odds-grid strong{font-size:13px;margin:0}.nd24-odds-grid span{text-align:right}.nd24-hide-xs{display:none!important}.nd24-table th,.nd24-table td{padding:8px 6px!important;font-size:12px!important}.nd24-table .is-team{min-width:130px}.nd24-rank{width:22px;height:22px}}

/* V2.0.2 - isolation from legacy theme floats/typography */
.nd24-football .nd24-date-nav,.nd24-football .nd24-round-nav,.nd24-football .nd24-league{width:100%!important;max-width:100%!important;float:none!important;clear:both!important;margin-left:0!important;margin-right:0!important}
.nd24-football .nd24-league-head h2,.nd24-football .nd24-league-head h2 *{font-family:inherit!important;font-size:16px!important;line-height:1.4!important;font-weight:700!important;letter-spacing:0!important}
.nd24-football .nd24-team,.nd24-football .nd24-team strong,.nd24-football .nd24-table td,.nd24-football .nd24-table th,.nd24-football .nd24-table strong{font-family:inherit!important;letter-spacing:0!important;text-transform:none!important}
.nd24-football .nd24-team{font-size:14px!important;line-height:1.35!important;font-weight:600!important}
.nd24-football .nd24-score{font-size:18px!important;line-height:1.15!important;font-weight:800!important}
.nd24-football .nd24-match-status{font-size:12px!important;line-height:1.2!important;font-weight:700!important}
.nd24-football .nd24-match-status.is-ft{color:#4b5563!important}
.nd24-football .nd24-table th{font-size:12px!important;line-height:1.3!important;font-weight:600!important}
.nd24-football .nd24-table td{font-size:14px!important;line-height:1.35!important;font-weight:400!important}
.nd24-football .nd24-table td.is-team strong{font-size:14px!important;line-height:1.35!important;font-weight:600!important}
@media(max-width:640px){.nd24-football{font-size:13px!important}.nd24-football .nd24-league-head h2,.nd24-football .nd24-league-head h2 *{font-size:14px!important}.nd24-football .nd24-team{font-size:12px!important}.nd24-football .nd24-score{font-size:16px!important}.nd24-football .nd24-table th{font-size:11px!important}.nd24-football .nd24-table td,.nd24-football .nd24-table td.is-team strong{font-size:12px!important}}


/* V2.0.3 - hard reset for theme flex/grid layouts on league pages */
.nd24-football{
  flex:0 0 100%!important;
  flex-basis:100%!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  align-self:stretch!important;
  grid-column:1 / -1!important;
  grid-row:auto!important;
  order:999!important;
  min-width:100%!important;
}
.nd24-football.nd24-layout-forced{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:100%!important;
  margin-top:8px!important;
}
.nd24-layout-break{
  flex:0 0 100%!important;
  width:100%!important;
  height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  grid-column:1 / -1!important;
}

/* V2.0.4 - highlight handicap/favourite team like legacy UI */
.nd24-football .nd24-handicap-team{color:#e71a1a!important;font-weight:800!important}


/* V2.0.5 - force legacy shortcode wrappers to full width on league pages */
.nd24-shortcode-host-reset{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  float:none!important;
  clear:both!important;
  flex:0 0 100%!important;
  flex-basis:100%!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  grid-column:1 / -1!important;
  margin-left:0!important;
  margin-right:0!important;
}
.nd24-title-host-reset{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  float:none!important;
  clear:both!important;
}
