/* Review-only visual layer: preserves the existing PBVIP Exchange DOM, APIs and actions. */
:root { --ex-bg:#061017; --ex-panel:#0b1721; --ex-panel-2:#0e1d29; --ex-line:#203443; --ex-text:#e8f0f5; --ex-muted:#9eb0bd; --ex-yellow:#f5c84c; --ex-back:#1686dc; --ex-lay:#d55c82; }
html,body { background:var(--ex-bg)!important; color:var(--ex-text)!important; }
body.exchange-review-classic { font-family:Inter,ui-sans-serif,system-ui,sans-serif!important; background:linear-gradient(180deg,#07131b 0,#061017 100%)!important; }
.exchange-review-classic #root { min-height:100vh; width:100%; min-width:0; }
.exchange-review-classic .redesign-frame { width:100%; min-width:0; }
.exchange-review-classic .exchange-native-header-source { display:none!important; }
.exchange-shell-route .vip-bottom-navigation { display:none!important; }
.exchange-review-classic .redesign-main-column,
.exchange-review-classic .exchange-listing { min-width:0; width:100%; }
.exchange-review-classic .vip-bet-slip[hidden] { display:none!important; }
.exchange-event-clock { display:inline-block; margin-left:10px; color:#f5c84c; font-size:12px; font-variant-numeric:tabular-nums; }
.exchange-review-classic [aria-label="Primary navigation"] { background:#08131d!important; border-right:1px solid var(--ex-line)!important; }
.exchange-review-classic button { border-radius:4px!important; }
.exchange-review-classic button:not([aria-label]) { transition:background .12s ease,filter .12s ease,transform .12s ease; }
.exchange-review-classic button:hover { filter:brightness(1.08); }
.exchange-classic-strip { position:sticky; top:0; z-index:60; display:flex; align-items:center; gap:18px; height:56px; padding:0 22px; background:#070f16; color:var(--ex-text); border-bottom:1px solid var(--ex-line); box-shadow:0 5px 14px rgba(0,0,0,.25); }
.exchange-classic-strip__brand { display:flex; text-decoration:none; gap:10px; align-items:center; min-width:max-content; color:var(--ex-yellow); font-size:15px; font-weight:800; letter-spacing:.055em; }
.exchange-classic-strip__mark { display:grid; place-items:center; width:27px; height:27px; color:#071017; background:var(--ex-yellow); border-radius:3px; font-weight:900; }
.exchange-classic-strip__sports { display:flex; align-items:stretch; gap:3px; height:100%; overflow:auto; }
.exchange-classic-strip__sports a { display:grid; pointer-events:auto!important; cursor:pointer; text-decoration:none; place-items:center; padding:0 12px; color:#c7d2d9; border-bottom:2px solid transparent; font-size:13px; white-space:nowrap; }
.exchange-classic-strip__sports a:first-child { color:var(--ex-yellow); border-bottom-color:var(--ex-yellow); font-weight:700; }
.exchange-classic-strip__sports { flex:1; min-width:0; }
.exchange-classic-strip__account-link { display:flex; align-items:center; justify-content:center; gap:7px; min-width:max-content; padding:8px 12px; border:1px solid #314957; border-radius:18px; color:#e3edf2; background:#0e1b25; font-size:12px; font-weight:700; text-decoration:none; }
.exchange-classic-strip__account-link:hover { border-color:var(--ex-yellow); }
.exchange-classic-strip__wallet { border-color:var(--ex-yellow); background:var(--ex-yellow); color:#111820; }
.exchange-classic-strip__balance { font-size:12px; font-variant-numeric:tabular-nums; }
.exchange-classic-info { display:grid; margin:14px 18px; grid-template-columns:minmax(0,1fr); gap:10px; color:var(--ex-text); }
.exchange-classic-info[hidden] { display:none; }
.exchange-info-card__source { margin-top:8px; color:var(--ex-muted); font-size:10px; }
.exchange-info-card { min-width:0; max-width:100%; padding:13px 14px; background:linear-gradient(150deg,#0d1c28,#0a151e); border:1px solid #213746; border-radius:5px; }
.exchange-info-card__eyebrow { margin-bottom:7px; color:var(--ex-yellow); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.exchange-info-card__title { color:#f1f5f7; font-size:15px; font-weight:750; }
.exchange-info-card__body { margin-top:7px; color:var(--ex-muted); font-size:12px; line-height:1.45; }
.exchange-info-card__body:has(.exchange-football__score) { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 10px; }
.exchange-info-card__detail { margin-top:8px; color:#c9d8e1; font-size:11px; line-height:1.5; }
.exchange-info-card__detail p { margin:7px 0 0; padding-top:7px; border-top:1px solid var(--ex-line); }
.exchange-info-card__balls { display:flex; gap:6px; margin-top:11px; }
.exchange-info-card__balls i { display:grid; place-items:center; width:22px; height:22px; border:1px solid #456072; border-radius:50%; color:#aabac5; font-size:10px; font-style:normal; }
.exchange-info-card__empty { color:#8298a7; font-size:11px; }
.exchange-football__tabs { display:flex; max-width:100%; gap:5px; overflow-x:auto; margin-top:14px; padding-bottom:7px; border-bottom:1px solid var(--ex-line); scrollbar-width:thin; }
.exchange-football__score { display:inline-block; margin-right:10px; color:#f1f5f7; font-size:19px; font-variant-numeric:tabular-nums; }
.exchange-football__state { color:#75dda1; font-weight:700; }
.exchange-football__tabs button,.exchange-football__periods button { flex:none; padding:7px 10px; border:1px solid #294354; background:#112633; color:#bbd1dc; font-size:11px; cursor:pointer; }
.exchange-football__tabs button[aria-pressed="true"],.exchange-football__periods button[aria-pressed="true"] { background:#f5c84c; border-color:#f5c84c; color:#09131b; font-weight:800; }
.exchange-football__panel { min-width:0; min-height:92px; max-height:430px; overflow:auto; padding:12px 2px 2px; color:#d5e2e9; font-size:12px; }
.exchange-football__heading { margin:9px 0 7px; color:#f5c84c; font-size:12px; font-weight:750; }
.exchange-football__subheading { margin:10px 0 5px; color:#afc3cf; font-size:11px; }
.exchange-football__row { display:flex; justify-content:space-between; gap:12px; padding:7px 3px; border-bottom:1px solid #1d3341; }
.exchange-football__row span { color:#a9bfcc; }
.exchange-football__row strong { text-align:right; font-weight:650; }
.exchange-football__note,.exchange-football__timestamp { color:#8fa7b5; font-size:11px; }
.exchange-football__timestamp { margin:14px 0 0; }
.exchange-football__periods { display:flex; gap:5px; overflow:auto; }
.exchange-football__stat { display:grid; grid-template-columns:minmax(45px,65px) minmax(0,1fr) minmax(45px,65px); gap:5px; align-items:center; padding:7px 0; text-align:center; }
.exchange-tennis__stats { display:grid; grid-template-columns:minmax(0,1fr); }
.exchange-football__stat strong:first-child { text-align:left; }
.exchange-football__stat strong:nth-child(3) { text-align:right; }
.exchange-football__stat > span { min-width:0; overflow-wrap:anywhere; color:#adbfca; }
.exchange-football__bar { grid-column:1 / -1; height:4px; background:#bd4e74; border-radius:3px; overflow:hidden; }
.exchange-football__bar span { display:block; height:100%; background:#1987d3; }
.exchange-football__momentum { display:flex; justify-content:space-around; gap:2px; height:130px; border-top:1px solid #294354; border-bottom:1px solid #294354; background:linear-gradient(to bottom,transparent calc(50% - 1px),#557180 50%,transparent calc(50% + 1px)); }
.exchange-football__momentum button { position:relative; top:50%; flex:1; max-width:9px; min-width:2px; padding:0; border:0; border-radius:0!important; background:#d55c82; cursor:pointer; }
.exchange-football__momentum button.is-home { background:#1686dc; transform:translateY(-100%); }
.exchange-football__pitch { position:relative; height:210px; border:2px solid #668d79; border-radius:5px; background:repeating-linear-gradient(90deg,#123829 0 12.5%,#153d2d 12.5% 25%); }
.exchange-football__pitch::before { content:""; position:absolute; inset:0 50%; border-left:1px solid #799a86; }
.exchange-football__pitch button { position:absolute; z-index:1; width:13px; height:13px; padding:0; transform:translate(-50%,-50%); border:2px solid #fff; border-radius:50%!important; background:#d55c82; cursor:pointer; }
.exchange-football__pitch button.is-home { background:#1686dc; }
/* Make existing exchange price/ticket areas read as compact trading surfaces without changing their actions. */
.exchange-review-classic [class*="betslip" i], .exchange-review-classic [class*="bet-slip" i] { border-color:#2a4050!important; background:#0c1720!important; }
.exchange-review-classic [class*="market" i] { border-color:#213846; }
.exchange-review-classic [class*="back" i] { border-color:rgba(22,134,220,.48)!important; }
.exchange-review-classic [class*="lay" i] { border-color:rgba(213,92,130,.48)!important; }
.exchange-review-classic footer, .exchange-review-classic [class*="footer" i] { border-top:1px solid var(--ex-line)!important; background:#071018!important; }
@media (max-width: 900px) { .exchange-classic-strip { gap:8px; padding:0 12px; height:50px; } .exchange-classic-strip__sports a { padding:0 8px; font-size:11px; } .exchange-classic-info { margin:8px 10px; grid-template-columns:1fr; } .exchange-info-card:nth-child(n+2) { display:none; } }
/* Pass 2: compact three-column trading terminal. */
.exchange-review-classic .vip-header { display:none!important; }
.exchange-review-classic .approved-rail-brand,
.exchange-review-classic .approved-account-navigation { display:none!important; }
.exchange-review-classic .redesign-rail { width:164px!important; min-width:164px!important; padding:10px 8px!important; }
.exchange-review-classic .approved-rail-links { gap:8px!important; }
.exchange-review-classic .approved-rail-links > :first-child { margin-top:0!important; }
.exchange-review-classic .exchange-navigation { display:none!important; }
.exchange-review-classic .redesign-main-column { padding-top:0!important; }
.exchange-review-classic .exchange-listing { gap:4px!important; }
.exchange-review-classic .exchange-league { margin:0!important; border:1px solid #203443!important; border-radius:3px!important; overflow:hidden; background:#0a161f!important; }
.exchange-review-classic .exchange-league > button { min-height:32px!important; padding:6px 10px!important; border-radius:0!important; background:#0d202d!important; font-size:12px!important; }
.exchange-review-classic .exchange-fixture-card { margin:0!important; padding:7px 9px!important; border:0!important; border-top:1px solid #1e3342!important; border-radius:0!important; background:#09141d!important; }
.exchange-review-classic .exchange-fixture-card header { min-height:22px!important; margin-bottom:4px!important; }
.exchange-review-classic .exchange-listing-enrichment { padding:6px 9px; margin:4px -9px 6px; border-top:1px solid #203440; border-bottom:1px solid #203440; background:#0c1821; color:#adbdc5; font-size:12px; line-height:1.4; }
.exchange-review-classic .exchange-listing-enrichment[data-state="matched"] { color:#e8cf8e; }
.exchange-review-classic .exchange-event-link { font-size:13px!important; font-weight:750!important; }
.exchange-review-classic [class*="A6D8FF"] { min-height:36px!important; height:36px!important; border-radius:2px!important; background:#1686dc!important; color:#f7fbff!important; font-size:15px!important; line-height:1!important; }
.exchange-review-classic [class*="FAC9D1"] { min-height:36px!important; height:36px!important; border-radius:2px!important; background:#c64e75!important; color:#fff8fb!important; font-size:15px!important; line-height:1!important; }
.exchange-review-classic [class*="A6D8FF"] > :last-child,
.exchange-review-classic [class*="FAC9D1"] > :last-child { margin-top:2px!important; font-size:10px!important; font-weight:500!important; opacity:.86; }
.exchange-review-classic .exchange-fixture-card [class*="h-9"] { min-height:36px!important; }
.exchange-review-classic .exchange-classic-strip { position:sticky; top:0; }
.exchange-review-classic .redesign-rail [id="account-navigation-title"] { display:none!important; }
@media (min-width: 901px) { .exchange-review-classic .redesign-frame { grid-template-columns:164px minmax(0,1fr) 300px!important; } .exchange-review-classic .exchange-listing { padding:8px!important; } }
@media (max-width: 900px) { .exchange-review-classic .redesign-rail { width:auto!important; min-width:0!important; } .exchange-review-classic .exchange-fixture-card { padding:6px!important; } .exchange-review-classic [class*="A6D8FF"],.exchange-review-classic [class*="FAC9D1"] { min-height:34px!important; height:34px!important; font-size:13px!important; } }
/* Exchange account actions live in the product header on every screen size. */
@media (max-width: 600px) {
  .exchange-classic-strip { gap:7px; padding:0 9px; }
  .exchange-classic-strip__brand { min-width:27px; }
  .exchange-classic-strip__brand > span:last-child { display:none; }
  .exchange-classic-strip__sports { flex:1; min-width:0; justify-content:space-around; }
  .exchange-classic-strip__sports a { flex:1; min-width:0; padding:0 2px; font-size:11px; }
  .exchange-classic-strip__account-link { padding:7px 8px; gap:4px; font-size:10px; }
  .exchange-classic-strip__balance { font-size:9px; }
  .exchange-classic-info { grid-template-columns:minmax(0,1fr); }
  .exchange-football__row { min-width:0; align-items:start; }
  .exchange-football__row span,.exchange-football__row strong { min-width:0; overflow-wrap:anywhere; }
  .exchange-football__row strong { max-width:58%; }
  .exchange-football__stat { grid-template-columns:minmax(40px,55px) minmax(0,1fr) minmax(40px,55px); gap:4px; }
}

.exchange-football__tabs[hidden],.exchange-football__panel[hidden] { display:none!important; }

/* Use the document as the only vertical scroller on phones. The nested fixed-height
   app panes captured swipes that started on score cards and odds buttons. */
@media (max-width: 900px) {
  html,
  body.exchange-review-classic {
    height: auto !important;
    min-height: 100%;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.exchange-review-classic #root,
  body.exchange-review-classic .redesign-app {
    height: auto !important;
    min-height: 100dvh;
    overflow: visible !important;
  }

  body.exchange-review-classic .redesign-app {
    display: flex !important;
    flex-direction: column;
  }

  body.exchange-review-classic .redesign-frame {
    display: block !important;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.exchange-review-classic .redesign-main-column {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.exchange-review-classic .redesign-scroll {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    overscroll-behavior-y: auto;
    touch-action: pan-y;
  }

  body.exchange-review-classic .redesign-canvas {
    padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
  }

  body.exchange-review-classic .exchange-fixture-card,
  body.exchange-review-classic .exchange-info-card,
  body.exchange-review-classic .exchange-tools-panel,
  body.exchange-review-classic .exchange-fixture-card button {
    touch-action: pan-y;
  }

  body.exchange-review-classic .vip-mobile-bet-slip > div {
    max-height: min(70dvh, calc(100dvh - 110px));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }
}

/* Hide the removed listing toolbar in previously cached SPA bundles too. */
.exchange-list-toolbar { display: none !important; }
