/* Weekly Parlays and Prime-Time Games. Supplied design system, scoped to Bet Lab. */
.betlab-page {
  --pl-bg-page: #06111a;
  --pl-bg-nav: rgba(7,20,31,.94);
  --pl-bg-section: #091722;
  --pl-bg-card: #0c1c29;
  --pl-bg-row: #10212e;
  --pl-border: rgba(116,160,186,.14);
  --pl-border-medium: rgba(116,160,186,.24);
  --pl-accent: #4be0ca;
  --pl-accent-bright: #5ef4dc;
  --pl-text: #edf5fa;
  --pl-secondary: #9cb0bf;
  --pl-muted: #6e8393;
  width: min(100%,1650px);
  margin: 0 auto;
}
.betlab-page .parlays-nav {
  position: sticky;
  top: 8px;
  z-index: 15;
  display: flex;
  align-items: center;
  min-height: 56px;
  margin: 13px 0 0;
  padding: 7px 10px;
  border: 1px solid var(--pl-border);
  border-radius: 15px;
  background: var(--pl-bg-nav);
  box-shadow: 0 8px 28px rgba(0,0,0,.18);
  backdrop-filter: blur(16px);
}
.betlab-page .parlays-nav .tab-row { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.betlab-page .parlays-nav__item,
.betlab-page .parlays-nav .tab-row button {
  min-height: 40px;
  padding: 10px 16px;
  border: 0;
  border-radius: 9px;
  color: var(--pl-secondary);
  background: transparent;
  font-size: .77rem;
  font-weight: 730;
  transition: color .2s ease, background .2s ease;
}
.betlab-page .parlays-nav .tab-row button:hover { color: var(--pl-text); background: rgba(255,255,255,.035); }
.betlab-page .parlays-nav .tab-row button.is-active { color: #05231f; background: linear-gradient(135deg,#62ebd4,#40c9b9); box-shadow: 0 6px 18px rgba(64,201,185,.2); }
.betlab-page .parlays-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-top: 14px;
  border: 1px solid var(--pl-border);
  border-radius: 19px;
  background: linear-gradient(135deg,rgba(12,30,43,.98),rgba(6,20,30,.98));
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.betlab-page .parlays-hero::before { content: ''; position: absolute; inset: 0 0 auto; height: 160px; z-index: -1; pointer-events: none; background: linear-gradient(90deg,rgba(6,18,28,.9),rgba(6,18,28,.55)), url('/img/ambient/night-stadium-v2.webp') center 44% / cover; opacity: .75; }
.betlab-page .parlays-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(circle at 92% 8%,rgba(49,207,192,.11),transparent 31%); }
.betlab-page .parlays-hero__content { padding: 24px 25px 20px; }
.betlab-page .parlays-eyebrow { margin: 0 0 7px; color: var(--pl-accent); font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.betlab-page .parlays-title { max-width: 900px; margin: 0; color: var(--pl-text); font-size: clamp(1.4rem,2vw,2.04rem); font-weight: 800; line-height: 1.12; letter-spacing: -.035em; }
.betlab-page .parlays-title .accent { color: var(--pl-accent-bright); }
.betlab-page .parlays-subtitle { max-width: 850px; margin: 8px 0 0; color: var(--pl-secondary); font-size: .8rem; line-height: 1.55; }
.betlab-page .parlays-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 16px; border-top: 1px solid var(--pl-border); background: linear-gradient(180deg,rgba(7,20,31,.88),rgba(7,20,31,.97)); }
.betlab-page .parlays-tabs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.betlab-page .parlay-tab,
.betlab-page .prime-game-tab { padding: 9px 14px; border: 1px solid var(--pl-border-medium); border-radius: 99px; color: var(--pl-secondary); background: rgba(255,255,255,.018); font-size: .73rem; font-weight: 750; transition: border-color .2s ease,background .2s ease,color .2s ease; }
.betlab-page .parlay-tab:hover,
.betlab-page .prime-game-tab:hover { color: var(--pl-text); border-color: rgba(75,224,202,.28); background: rgba(75,224,202,.045); }
.betlab-page .parlay-tab.is-active,
.betlab-page .prime-game-tab.is-active { color: #06241f; border-color: transparent; background: linear-gradient(135deg,#5ce7d2,#3ccbbb); box-shadow: 0 7px 20px rgba(57,202,184,.16); }
.betlab-page .market-status { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.betlab-page .status-pill { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid rgba(75,224,202,.29); border-radius: 99px; color: var(--pl-accent); background: rgba(15,91,86,.09); font-size: .64rem; font-weight: 750; line-height: 1.2; }
.betlab-page .status-pill.warn { color: #f3c453; border-color: rgba(243,196,83,.35); }
.betlab-page .status-dot { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: var(--pl-accent-bright); box-shadow: 0 0 9px var(--pl-accent-bright); }
.betlab-page .parlay-card { margin: 12px 16px; border: 1px solid var(--pl-border-medium); border-radius: 13px; background: linear-gradient(180deg,rgba(12,30,43,.97),rgba(9,24,35,.98)); box-shadow: 0 8px 22px rgba(0,0,0,.13); transition: border-color .2s ease,box-shadow .2s ease; }
.betlab-page .parlay-card:hover { border-color: rgba(75,224,202,.29); box-shadow: 0 12px 28px rgba(0,0,0,.19); }
.betlab-page .parlay-card__header { min-height: 47px; padding: 10px 15px; border-bottom: 1px dashed rgba(130,166,188,.16); }
.betlab-page .parlay-card__title { color: var(--pl-text); font-size: .8rem; font-weight: 780; }
.betlab-page .ticket-actions { display: inline-flex; align-items: center; gap: 10px; }
.betlab-page .ticket-number { color: var(--pl-secondary); font-size: .75rem; font-weight: 800; }
.betlab-page .parlay-card .bet-legs { display: grid; gap: 0; padding: 4px 0 0; }
.betlab-page .parlay-card .bet-leg {
  display: grid;
  grid-template-columns: 70px 42px minmax(0,1fr) minmax(145px,220px);
  align-items: center;
  gap: 14px;
  min-height: 75px;
  margin: 8px 12px;
  padding: 11px 14px;
  border: 1px solid rgba(118,157,180,.16);
  border-radius: 10px;
  background: linear-gradient(90deg,rgba(16,34,47,.97),rgba(15,32,44,.89));
}
.betlab-page .parlay-card .bet-leg:hover { border-color: rgba(107,163,189,.27); background: linear-gradient(90deg,rgba(18,39,53,.98),rgba(16,35,48,.93)); }
.betlab-page .parlay-card .bet-leg__team { display: block; width: 42px; height: 42px; max-width: 42px; max-height: 42px; object-fit: contain; }
.betlab-page .bet-type { display: inline-flex; align-items: center; justify-content: center; width: fit-content; min-width: 64px; padding: 6px 9px; border-radius: 6px; font-size: .59rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.betlab-page .bet-type--over { color: #ffd66c; border: 1px solid rgba(243,196,83,.55); background: linear-gradient(rgba(243,196,83,.12),rgba(243,196,83,.055)); }
.betlab-page .bet-type--moneyline { color: #7caaff; border: 1px solid rgba(88,152,255,.54); background: linear-gradient(rgba(88,152,255,.13),rgba(88,152,255,.055)); }
.betlab-page .bet-type--td { color: #53e6b8; border: 1px solid rgba(83,230,184,.48); background: rgba(83,230,184,.09); }
.betlab-page .bet-type--total { color: var(--pl-accent); border: 1px solid rgba(75,224,202,.43); background: rgba(75,224,202,.08); }
.betlab-page .bet-leg__main { min-width: 0; }
.betlab-page .bet-leg__title { display: block; overflow-wrap: anywhere; color: var(--pl-text); font-size: .85rem; font-weight: 760; line-height: 1.25; }
.betlab-page .bet-leg__meta { display: block; margin-top: 5px; color: var(--pl-secondary); font-size: .68rem; line-height: 1.35; }
.betlab-page .bet-leg__source { color: var(--pl-muted); }
.betlab-page .bet-probability { display: grid; grid-template-columns: minmax(0,1fr) 42px; align-items: center; gap: 12px; }
.betlab-page .probability-track { position: relative; height: 8px; overflow: hidden; border-radius: 99px; background: rgba(104,139,158,.17); }
.betlab-page .probability-fill { position: absolute; inset: 0 auto 0 0; width: var(--probability,0%); border-radius: inherit; background: linear-gradient(90deg,#50d6c3,#67efdc); box-shadow: 0 0 12px rgba(85,232,210,.14); }
.betlab-page .probability-value { color: var(--pl-accent-bright); font-size: .8rem; font-weight: 850; text-align: right; font-variant-numeric: tabular-nums; }
.betlab-page .parlay-card .parlay-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; padding: 4px 12px 12px; }
.betlab-page .metric-card { display: grid; align-content: center; gap: 4px; min-height: 64px; padding: 11px 12px; border: 1px solid rgba(116,160,186,.17); border-radius: 10px; background: var(--pl-bg-card); }
.betlab-page .metric-card--model { background: radial-gradient(circle at 90% 100%,rgba(52,143,255,.12),transparent 54%),var(--pl-bg-card); }
.betlab-page .metric-card--odds { background: radial-gradient(circle at 90% 100%,rgba(159,130,255,.12),transparent 54%),var(--pl-bg-card); }
.betlab-page .metric-card--correlation { background: radial-gradient(circle at 90% 100%,rgba(88,152,255,.08),transparent 54%),var(--pl-bg-card); }
.betlab-page .metric-card--conservative { border-color: rgba(75,224,202,.2); background: radial-gradient(circle at 90% 100%,rgba(75,224,202,.13),transparent 54%),var(--pl-bg-card); }
.betlab-page .metric-card--price { background: radial-gradient(circle at 90% 100%,rgba(243,196,83,.1),transparent 54%),var(--pl-bg-card); }
.betlab-page .metric-card--edge,.betlab-page .metric-card--ev { background: radial-gradient(circle at 90% 100%,rgba(83,230,184,.09),transparent 54%),var(--pl-bg-card); }
.betlab-page .metric-label { color: var(--pl-muted); font-size: .56rem; font-weight: 800; letter-spacing: .08em; line-height: 1.25; text-transform: uppercase; }
.betlab-page .metric-value { color: var(--pl-text); font-size: 1.05rem; font-weight: 830; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.betlab-page .metric-value.accent { color: var(--pl-accent-bright); }
.betlab-page .parlay-card .bet-note { margin: 0 12px 11px; color: var(--pl-secondary); font-size: .68rem; line-height: 1.5; }
.betlab-page .parlay-card .bet-risks { margin: 0 12px 12px; color: var(--pl-secondary); }
.betlab-page .prime-game-tabs { width: 100%; }
.betlab-page .prime-game-tab { flex: 1 1 190px; border-radius: 9px; text-align: center; }
.betlab-page .prime-hero .pt-header { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px 20px; margin: 14px 16px; padding: 16px 18px; border: 1px solid var(--pl-border-medium); border-left: 3px solid var(--pl-accent); border-radius: 12px; background: linear-gradient(130deg,rgba(15,38,52,.95),rgba(11,27,39,.95)); }
.betlab-page .prime-matchup { display: flex; align-items: center; gap: 13px; min-width: 0; }
.betlab-page .prime-matchup__team { display: flex; align-items: center; gap: 9px; min-width: 0; }
.betlab-page .prime-matchup__team img { width: 39px; height: 39px; flex: 0 0 39px; object-fit: contain; }
.betlab-page .prime-matchup__team strong { display: block; color: var(--pl-text); font-size: 1rem; line-height: 1.1; }
.betlab-page .prime-matchup__team small { display: block; color: var(--pl-muted); font-size: .63rem; }
.betlab-page .prime-matchup__at { color: var(--pl-muted); font-size: .7rem; }
.betlab-page .prime-matchup__state { display: flex; align-items: center; justify-content: end; gap: 12px; flex-wrap: wrap; }
.betlab-page .prime-matchup__state .pt-score { color: var(--pl-accent-bright); font-size: .78rem; line-height: 1.3; }
.betlab-page .prime-hero .pt-updated { grid-column: 1 / -1; color: var(--pl-muted); }
.betlab-page .prime-hero .bet-cat-head { padding: 12px 18px 1px; }
.betlab-page :focus-visible { outline: 2px solid var(--pl-accent); outline-offset: 2px; }
@media (max-width:1100px) {
  .betlab-page .parlay-card .parlay-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .betlab-page .parlay-card .bet-leg { grid-template-columns: 68px 38px minmax(0,1fr) minmax(105px,170px); gap: 10px; }
  .betlab-page .parlay-card .bet-leg__team { width: 38px; height: 38px; max-width: 38px; max-height: 38px; }
}
@media (max-width:760px) {
  .betlab-page .parlays-nav { overflow-x: auto; scrollbar-width: thin; }
  .betlab-page .parlays-nav .tab-row { flex-wrap: nowrap; width: max-content; }
  .betlab-page .parlays-nav .tab-row button { flex: 0 0 auto; padding: 9px 12px; white-space: nowrap; font-size: .72rem; }
  .betlab-page .parlays-hero { border-radius: 15px; }
  .betlab-page .parlays-hero__content { padding: 20px 16px; }
  .betlab-page .parlays-title { font-size: 1.45rem; }
  .betlab-page .parlays-toolbar { align-items: stretch; flex-direction: column; padding: 11px 12px; }
  .betlab-page .market-status { justify-content: flex-start; }
  .betlab-page .parlay-card { margin: 10px 8px; }
  .betlab-page .parlay-card .bet-leg { grid-template-columns: 68px 36px minmax(0,1fr); gap: 8px 10px; min-height: auto; padding: 10px; }
  .betlab-page .parlay-card .bet-leg__team { width: 36px; height: 36px; max-width: 36px; max-height: 36px; }
  .betlab-page .bet-probability { grid-column: 1 / -1; padding-top: 4px; }
  .betlab-page .prime-hero .pt-header { grid-template-columns: minmax(0,1fr); }
  .betlab-page .prime-matchup__state { justify-content: start; }
}
@media (max-width:450px) {
  .betlab-page .parlays-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
  .betlab-page .parlay-tab { min-width: 0; padding: 8px 5px; font-size: .62rem; line-height: 1.2; }
  .betlab-page .prime-game-tabs { grid-template-columns: 1fr; }
  .betlab-page .parlay-card__header { padding: 8px 10px; }
  .betlab-page .parlay-card__title { font-size: .73rem; }
  .betlab-page .bet-leg__title { font-size: .77rem; }
  .betlab-page .parlay-card .parlay-metrics { gap: 7px; padding: 3px 8px 10px; }
  .betlab-page .metric-card { min-height: 61px; padding: 9px; }
  .betlab-page .prime-matchup { gap: 8px; }
  .betlab-page .prime-matchup__team img { width: 32px; height: 32px; flex-basis: 32px; }
}
@media (prefers-reduced-motion:reduce) {
  .betlab-page .parlay-card,.betlab-page .bet-leg,.betlab-page .parlay-tab,.betlab-page .parlays-nav__item { transition: none; }
}
