/* v48 — fixture rail stability, integrated emoji flags, reliable overlays and mobile final result */

/* League flag lives only inside the native option text. */
#leagueSelect{
  background-image:none!important;
  padding-left:12px!important;
  background-position:initial!important;
  background-size:auto!important;
}
.leagueFlagBadgeV46{display:none!important}

/* Right fixture rail: fixed compact rows, no text/button collisions. */
@media (min-width:1181px){
  .compactOddsPanel{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .compactOddsPanel>.body{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    display:block!important;
  }
  .compactOddsPanel #fixtures{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:none!important;
    grid-auto-rows:38px!important;
    align-content:start!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
    gap:3px!important;
    margin-top:5px!important;
    padding:0!important;
  }
  .compactOddsPanel #fixtures>.compactFixture{
    display:grid!important;
    grid-template-rows:17px 17px!important;
    align-content:center!important;
    width:100%!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:1px 4px!important;
    border-radius:8px!important;
    overflow:hidden!important;
  }
  .compactFixtureMain{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    align-items:center!important;
    gap:3px!important;
    width:100%!important;
    height:17px!important;
    min-height:17px!important;
    overflow:hidden!important;
  }
  .compactFixtureTeams{
    display:block!important;
    min-width:0!important;
    height:17px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    font-size:8.5px!important;
    line-height:17px!important;
  }
  .compactFixtureTeams .matchLine{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    width:100%!important;
    gap:3px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  .compactFixtureTeams .clubChip{
    display:flex!important;
    align-items:center!important;
    gap:2px!important;
    flex:1 1 0!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .compactFixtureTeams .clubText{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:8.4px!important;
    line-height:15px!important;
  }
  .compactFixtureTeams .versus{flex:0 0 auto!important;font-size:7px!important;line-height:15px!important}
  .compactFixtureTeams .teamLogo,
  .compactFixtureTeams .clubChip .teamLogo,
  #fixtures .compactFixture .teamLogo{
    width:14px!important;
    height:14px!important;
    min-width:14px!important;
    max-width:14px!important;
    flex:0 0 14px!important;
    margin:0!important;
  }
  .compactDetailBtn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:48px!important;
    height:16px!important;
    min-height:16px!important;
    max-height:16px!important;
    padding:0 2px!important;
    border-radius:5px!important;
    font-size:6.8px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  .compactOdds3{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:2px!important;
    width:100%!important;
    height:17px!important;
    min-height:17px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .compactOdds3 .odd{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:2px!important;
    height:17px!important;
    min-height:17px!important;
    max-height:17px!important;
    padding:0 3px!important;
    border-radius:5px!important;
    overflow:hidden!important;
    line-height:1!important;
  }
  .compactOdds3 .odd b,
  .compactOdds3 .odd span{
    display:block!important;
    margin:0!important;
    font-size:7px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
}

/* All fixture logos keep the exact same box on smaller screens too. */
#fixtures .teamLogo{
  object-fit:contain!important;
  aspect-ratio:1/1!important;
}

/* Running week cannot be started a second time. */
#simulateBtn.v48RunningLock{
  opacity:.48!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
}

/* Locked preseason viewer must remain visible and scrollable when explicitly opened. */
#preseasonOverlay.preseasonReadOnlyV48.show{display:flex!important;visibility:visible!important;pointer-events:auto!important}
#preseasonOverlay.preseasonReadOnlyV48 .preseasonMarkets{display:none!important}
#preseasonOverlay.preseasonReadOnlyV48 .preseasonBody{grid-template-columns:minmax(0,1fr)!important}
#preseasonOverlay.preseasonReadOnlyV48 .preseasonSlip{width:100%!important;max-width:none!important}
#preseasonOverlay.preseasonReadOnlyV48 #preLockBtn,
#preseasonOverlay.preseasonReadOnlyV48 .preseasonRemove{display:none!important}
#preseasonOverlay.preseasonReadOnlyV48 .preseasonDialog{overflow:auto!important}
#preseasonOverlay.preseasonReadOnlyV48 .preseasonSlipList{max-height:none!important;overflow:visible!important}

/* Reliable, light final-season result screen. */
.v48FinalOverlay{position:fixed;inset:0;z-index:2147482500;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(12,29,45,.62);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.v48FinalOverlay.show{display:flex}
.v48FinalDialog{width:min(1160px,100%);max-height:94dvh;display:flex;flex-direction:column;overflow:hidden;border:1px solid #bfd2e2;border-radius:22px;background:#f6f9fc;color:#15314a;box-shadow:0 28px 90px rgba(10,32,54,.34)}
.v48FinalHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 19px;border-bottom:1px solid #d4e1eb;background:linear-gradient(180deg,#fff,#eef5fa)}
.v48FinalHead h2{margin:0 0 5px;font-size:22px;color:#102f4b}.v48FinalHead p{margin:0;color:#607b91;font-size:12px;line-height:1.45}
.v48FinalClose{flex:0 0 42px;width:42px;height:42px;padding:0;border-radius:13px;background:#173654!important;color:#fff!important}
.v48FinalScroll{flex:1 1 auto;min-height:0;overflow:auto;padding:16px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.v48Progress{padding:28px;border:1px solid #c9dcea;border-radius:17px;background:#fff;text-align:center}.v48ProgressBar{height:11px;margin-top:14px;overflow:hidden;border-radius:999px;background:#dfeaf2}.v48ProgressBar i{display:block;width:0;height:100%;background:linear-gradient(90deg,#2376d8,#21b86b);transition:width .15s ease}
.v48FinalStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.v48FinalStat{padding:12px;border:1px solid #cbdce9;border-radius:14px;background:#fff}.v48FinalStat span{display:block;color:#6b8397;font-size:10px;font-weight:800}.v48FinalStat b{display:block;margin-top:4px;color:#123b60;font-size:20px}
.v48FinalGrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px}.v48FinalPanel{min-width:0;padding:13px;border:1px solid #cadbe8;border-radius:16px;background:#fff}.v48FinalPanel h3{margin:0 0 10px;color:#173d5f;font-size:15px}
.v48FinalTableWrap{overflow:auto;border:1px solid #d2e0ea;border-radius:12px}.v48FinalTable{width:100%;border-collapse:collapse;min-width:620px;font-size:11px}.v48FinalTable th,.v48FinalTable td{padding:7px 6px;border-bottom:1px solid #e1eaf1;text-align:center}.v48FinalTable th{position:sticky;top:0;z-index:1;background:#edf4f9;color:#4c667b}.v48FinalTable td:nth-child(2),.v48FinalTable th:nth-child(2){text-align:left}.v48FinalTable tr.zone-ucl{background:#dcecff}.v48FinalTable tr.zone-uel{background:#fff0d6}.v48FinalTable tr.zone-uecl{background:#dcf5e6}.v48FinalTable tr.zone-playout{background:#fff6c8}.v48FinalTable tr.zone-relegation{background:#ffe1e4}
.v48Legend{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.v48Legend span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#edf4f9;color:#476177;font-size:9px;font-weight:800}.v48Legend i{width:10px;height:10px;border-radius:3px}.v48Legend .ucl{background:#91bff4}.v48Legend .uel{background:#f1b85e}.v48Legend .uecl{background:#7ed39c}.v48Legend .playout{background:#e4cf65}.v48Legend .rel{background:#ef8390}
.v48CouponList{display:grid;gap:8px}.v48Coupon{padding:10px;border:1px solid #d1dfe9;border-radius:12px;background:#f7fafc}.v48Coupon.won{border-color:#8bd2aa;background:#e9f8ef}.v48Coupon.lost{border-color:#e9a8af;background:#fff0f2}.v48CouponTop{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px}.v48CouponTop strong{font-size:10px}.v48Coupon small{display:block;color:#587185;line-height:1.45}
.v48FinalActions{display:flex;justify-content:flex-end;gap:9px;padding:12px 16px;border-top:1px solid #d2e0ea;background:#eef5fa}.v48FinalActions button{min-height:42px}

@media(max-width:760px){
  .v48FinalOverlay{align-items:stretch;padding:0}
  .v48FinalDialog{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}
  .v48FinalHead{padding:14px 12px}.v48FinalHead h2{font-size:18px}.v48FinalHead p{font-size:10px}
  .v48FinalScroll{padding:10px 9px 96px}
  .v48FinalStats{grid-template-columns:1fr 1fr;gap:7px}.v48FinalStat{padding:9px}.v48FinalStat b{font-size:16px}
  .v48FinalGrid{grid-template-columns:1fr;gap:10px}.v48FinalPanel{padding:9px;border-radius:13px}
  .v48FinalTable{min-width:565px;font-size:10px}.v48FinalTable th,.v48FinalTable td{padding:6px 5px}
  .v48FinalActions{position:fixed;left:0;right:0;bottom:0;z-index:3;padding:9px max(10px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:rgba(238,245,250,.98);box-shadow:0 -8px 22px rgba(18,53,82,.14)}
  .v48FinalActions button{width:100%;font-size:12px}
  #preseasonOverlay.preseasonReadOnlyV48 .preseasonDialog{height:100dvh!important;max-height:100dvh!important}
}
