body.app-page:not(.chat-page) .site-footer,
body.dashboard-hub-page .site-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box !important;
  clear: both !important;
  position: relative !important;
  z-index: 1 !important;
}

body.profile-app-page .site-footer {
  margin-top: 26px !important;
  margin-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
}

html[data-theme="light"] body.app-page:not(.chat-page) .site-footer,
html[data-theme="light"] body.dashboard-hub-page .site-footer {
  background: #f8fafc !important;
  border-top: 1px solid rgba(15, 23, 42, .08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

html[data-theme="light"] body.app-page:not(.chat-page) .site-footer-inner,
html[data-theme="light"] body.dashboard-hub-page .site-footer-inner {
  background: transparent !important;
}

body.chat-page .chat-main {
  padding-bottom: calc(92px + var(--chat-keyboard-inset, 0px)) !important;
}

body.chat-page .chat-form {
  z-index: 240 !important;
  bottom: calc(12px + env(safe-area-inset-bottom, 0px) + var(--chat-keyboard-inset, 0px)) !important;
  pointer-events: auto !important;
}

body.chat-page .chat-form input,
body.chat-page .chat-form button {
  pointer-events: auto !important;
  touch-action: manipulation !important;
}

body.chat-page .chat-form button[disabled] {
  opacity: .62 !important;
}

body.chat-page .chat-shell {
  min-height: 0 !important;
  overflow: hidden !important;
}

body.chat-page .chat-window {
  height: 100% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-anchor: none !important;
  scroll-behavior: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
}

body.chat-page .chat-window > * {
  overflow-anchor: none !important;
}

body.matches-app-page .site-footer,
body.direct-app-page .site-footer,
body.app-page.matches-app-page:not(.chat-page) .site-footer,
body.app-page.direct-app-page:not(.chat-page) .site-footer {
  background: #070a12 !important;
  border-top: 1px solid rgba(255, 255, 255, .08) !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, .68) !important;
}

body.matches-app-page .site-footer-inner,
body.direct-app-page .site-footer-inner,
body.app-page.matches-app-page:not(.chat-page) .site-footer-inner,
body.app-page.direct-app-page:not(.chat-page) .site-footer-inner {
  background: transparent !important;
}

body.matches-app-page .site-footer a,
body.direct-app-page .site-footer a,
body.matches-app-page .site-footer-col strong,
body.direct-app-page .site-footer-col strong {
  color: #ffffff !important;
}

@media (max-width: 899px) {
  .bottom-nav,
  body.app-page .bottom-nav,
  body.app-screen-page .bottom-nav,
  body.matches-app-page .bottom-nav,
  body.direct-app-page .bottom-nav,
  body.recommendations-app-page .bottom-nav,
  body.dashboard-hub-page .bottom-nav,
  html[data-theme="light"] .bottom-nav,
  html[data-theme="light"] body.app-page .bottom-nav,
  html[data-theme="light"] body.app-screen-page .bottom-nav,
  html[data-theme="light"] body.matches-app-page .bottom-nav,
  html[data-theme="light"] body.direct-app-page .bottom-nav,
  html[data-theme="light"] body.recommendations-app-page .bottom-nav,
  html[data-theme="light"] body.dashboard-hub-page .bottom-nav {
    position: fixed !important;
    z-index: 120 !important;
    right: auto !important;
    bottom: 0 !important;
    left: 50% !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    width: min(100%, 760px) !important;
    min-height: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
    padding: 7px 10px calc(7px + env(safe-area-inset-bottom, 0px)) !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-bottom: 0 !important;
    border-radius: 22px 22px 0 0 !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 -14px 34px rgba(15, 23, 42, .12) !important;
    backdrop-filter: blur(18px) !important;
    transform: translateX(-50%) !important;
  }

  .bottom-nav a,
  body.app-page .bottom-nav a,
  body.app-screen-page .bottom-nav a,
  body.matches-app-page .bottom-nav a,
  body.direct-app-page .bottom-nav a,
  body.recommendations-app-page .bottom-nav a,
  body.dashboard-hub-page .bottom-nav a,
  html[data-theme="light"] .bottom-nav a {
    display: grid !important;
    min-height: 54px !important;
    place-items: center !important;
    align-content: center !important;
    gap: 4px !important;
    padding: 4px 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #7d8792 !important;
    font-size: .66rem !important;
    font-weight: 760 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-shadow: none !important;
  }

  .bottom-nav-icon,
  body.app-page .bottom-nav-icon,
  body.app-screen-page .bottom-nav-icon,
  body.matches-app-page .bottom-nav-icon,
  body.direct-app-page .bottom-nav-icon,
  body.recommendations-app-page .bottom-nav-icon,
  body.dashboard-hub-page .bottom-nav-icon,
  html[data-theme="light"] .bottom-nav-icon {
    display: grid !important;
    width: 27px !important;
    height: 27px !important;
    place-items: center !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: currentColor !important;
    filter: none !important;
    transform: none !important;
  }

  .bottom-nav-icon svg,
  body.app-page .bottom-nav-icon svg,
  body.app-screen-page .bottom-nav-icon svg,
  body.matches-app-page .bottom-nav-icon svg,
  body.direct-app-page .bottom-nav-icon svg,
  body.recommendations-app-page .bottom-nav-icon svg,
  body.dashboard-hub-page .bottom-nav-icon svg,
  html[data-theme="light"] .bottom-nav-icon svg {
    width: 23px !important;
    height: 23px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.95 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    filter: none !important;
  }

  .bottom-nav a.active,
  .bottom-nav a.active .bottom-nav-icon,
  body.app-page .bottom-nav a.active,
  body.app-page .bottom-nav a.active .bottom-nav-icon,
  body.app-screen-page .bottom-nav a.active,
  body.app-screen-page .bottom-nav a.active .bottom-nav-icon,
  body.matches-app-page .bottom-nav a.active,
  body.matches-app-page .bottom-nav a.active .bottom-nav-icon,
  body.direct-app-page .bottom-nav a.active,
  body.direct-app-page .bottom-nav a.active .bottom-nav-icon,
  body.recommendations-app-page .bottom-nav a.active,
  body.recommendations-app-page .bottom-nav a.active .bottom-nav-icon,
  body.dashboard-hub-page .bottom-nav a.active,
  body.dashboard-hub-page .bottom-nav a.active .bottom-nav-icon,
  html[data-theme="light"] .bottom-nav a.active,
  html[data-theme="light"] .bottom-nav a.active .bottom-nav-icon {
    background: transparent !important;
    box-shadow: none !important;
    color: #111827 !important;
  }

  .bottom-nav a::before,
  .bottom-nav a::after {
    display: none !important;
    content: none !important;
  }

  body.chat-page .chat-main {
    padding-bottom: calc(166px + var(--chat-keyboard-inset, 0px)) !important;
  }

  body.chat-page .chat-form {
    bottom: calc(82px + env(safe-area-inset-bottom, 0px) + var(--chat-keyboard-inset, 0px)) !important;
  }

  body.chat-page .chat-pro-lockbar {
    bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

body.matches-app-page .app-match-row.is-live .app-match-status,
body.matches-app-page .app-match-row.is-live .app-match-score,
body.matches-app-page .app-match-row.is-live .app-match-score strong {
  color: #ff244d !important;
}

body.matches-app-page .app-match-row.is-live .app-match-status {
  font-weight: 820 !important;
}

body.matches-app-page [data-match-row].is-filter-hidden,
body.matches-app-page [data-competition-group].is-filter-hidden,
body.matches-app-page [data-match-filter-empty].is-filter-hidden {
  display: none !important;
}

body.matches-app-page .app-filter-row button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
}

body.matches-app-page .matches-live-badge {
  display: inline-grid !important;
  min-width: 18px !important;
  height: 18px !important;
  place-items: center !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  background: #ff244d !important;
  color: #ffffff !important;
  font-size: .66rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
  box-shadow: 0 0 0 2px rgba(255, 36, 77, .16) !important;
}

body.matches-app-page .app-match-star,
body.direct-app-page .app-match-star,
body.favorites-app-page .app-match-star {
  cursor: pointer !important;
  user-select: none !important;
}

body.matches-app-page .app-match-star.is-favorite,
body.direct-app-page .app-match-star.is-favorite,
body.favorites-app-page .app-match-star.is-favorite {
  color: #ffc52e !important;
  text-shadow: 0 8px 18px rgba(255, 197, 46, .25) !important;
}

body.favorites-app-page {
  background: #eef0f2 !important;
  color: #172033 !important;
}

body.favorites-app-page .app-header {
  background: #101418 !important;
  border-bottom: 0 !important;
}

body.favorites-app-page .global-pro-banner {
  display: none !important;
}

body.favorites-app-page .favorites-app {
  width: min(100%, 760px) !important;
  min-height: calc(100vh - 78px) !important;
  margin: 0 auto !important;
  padding: 24px 18px 120px !important;
  background: #eef0f2 !important;
}

body.favorites-app-page .favorites-topbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 0 0 26px !important;
}

body.favorites-app-page .favorites-topbar h1 {
  margin: 0 0 6px !important;
  color: #172033 !important;
  font-size: 1.45rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body.favorites-app-page .favorites-topbar p {
  margin: 0 !important;
  color: #55657a !important;
  font-size: 1rem !important;
  font-weight: 560 !important;
}

body.favorites-app-page .favorites-actions {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

body.favorites-app-page .favorites-actions form {
  margin: 0 !important;
}

body.favorites-app-page .favorites-odds-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #55657a !important;
  font-size: .98rem !important;
  font-weight: 720 !important;
  text-decoration: none !important;
}

body.favorites-app-page .favorites-odds-toggle i {
  position: relative !important;
  display: inline-flex !important;
  width: 54px !important;
  height: 30px !important;
  border-radius: 999px !important;
  background: #dfe6ef !important;
}

body.favorites-app-page .favorites-odds-toggle i::before {
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .16) !important;
  content: "" !important;
  transition: transform .18s ease !important;
}

body.favorites-app-page .favorites-odds-toggle.active i {
  background: #baff23 !important;
}

body.favorites-app-page .favorites-odds-toggle.active i::before {
  transform: translateX(24px) !important;
}

body.favorites-app-page .favorites-icon-action {
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #56657a !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

body.favorites-app-page .favorites-icon-action svg {
  width: 27px !important;
  height: 27px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.15 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.favorites-app-page .favorites-live-block,
body.favorites-app-page .favorites-bucket {
  margin: 0 0 28px !important;
}

body.favorites-app-page .favorites-live-block header,
body.favorites-app-page .favorites-bucket > h2 {
  margin: 0 0 12px !important;
}

body.favorites-app-page .favorites-live-block h2,
body.favorites-app-page .favorites-bucket > h2 {
  margin: 0 0 2px !important;
  color: #172033 !important;
  font-size: 1.12rem !important;
  font-weight: 820 !important;
  line-height: 1.1 !important;
}

body.favorites-app-page .favorites-live-block p {
  margin: 0 !important;
  color: #55657a !important;
  font-size: .92rem !important;
  font-weight: 620 !important;
}

body.favorites-app-page .favorites-competition {
  margin: 0 0 16px !important;
  border: 0 !important;
}

body.favorites-app-page .favorites-competition summary {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 56px !important;
  margin: 0 0 10px !important;
  list-style: none !important;
  cursor: pointer !important;
}

body.favorites-app-page .favorites-competition summary::-webkit-details-marker {
  display: none !important;
}

body.favorites-app-page .favorites-competition-icon {
  display: grid !important;
  width: 44px !important;
  height: 44px !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #111827 !important;
  color: #ffc52e !important;
  box-shadow: inset 0 0 0 3px #1cc5c6, inset 0 0 0 5px #5647ff !important;
}

body.favorites-app-page .favorites-competition-icon svg {
  width: 22px !important;
  height: 22px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.favorites-app-page .favorites-competition summary strong {
  display: block !important;
  color: #172033 !important;
  font-size: 1.08rem !important;
  font-weight: 820 !important;
  line-height: 1.05 !important;
}

body.favorites-app-page .favorites-competition summary small {
  display: block !important;
  margin-top: 3px !important;
  color: #55657a !important;
  font-size: .84rem !important;
  font-weight: 560 !important;
}

body.favorites-app-page .favorites-competition summary em {
  color: #6b7280 !important;
  font-size: 1.55rem !important;
  font-style: normal !important;
  transform: translateY(-1px) !important;
}

body.favorites-app-page .favorites-match-list {
  display: grid !important;
  gap: 8px !important;
}

body.favorites-app-page .app-match-row,
body.favorites-app-page .app-match-row.has-odds {
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) 34px 34px !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 86px !important;
  padding: 10px 16px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  color: #172033 !important;
  box-shadow: none !important;
}

body.favorites-app-page .app-match-row.is-live {
  border-left: 6px solid #ff244d !important;
  padding-left: 10px !important;
}

body.favorites-app-page .app-match-status {
  display: grid !important;
  min-height: 54px !important;
  place-items: center !important;
  border-right: 1px solid #dfe3ea !important;
  color: #55657a !important;
  font-size: .9rem !important;
  font-weight: 760 !important;
}

body.favorites-app-page .app-match-row.is-live .app-match-status {
  color: #ff244d !important;
}

body.favorites-app-page .app-match-teams {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.favorites-app-page .app-match-team {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 9px !important;
}

body.favorites-app-page .app-team-flag {
  width: 28px !important;
  height: 20px !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, .12) !important;
}

body.favorites-app-page .app-team-flag img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.favorites-app-page .app-team-flag em {
  color: #172033 !important;
  font-size: .64rem !important;
}

body.favorites-app-page .app-match-team strong {
  overflow: hidden !important;
  color: #172033 !important;
  font-size: 1rem !important;
  font-weight: 720 !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.favorites-app-page .app-match-score {
  display: grid !important;
  justify-items: center !important;
  gap: 8px !important;
  min-width: 28px !important;
  color: #172033 !important;
}

body.favorites-app-page .app-match-score strong {
  color: #172033 !important;
  font-size: 1.16rem !important;
  font-weight: 830 !important;
  line-height: 1 !important;
}

body.favorites-app-page .app-match-row.is-live .app-match-score strong {
  color: #ff244d !important;
}

body.favorites-app-page .app-match-star {
  width: 34px !important;
  height: 34px !important;
  color: #ffc52e !important;
  font-size: 2rem !important;
  line-height: 1 !important;
}

body.favorites-app-page .app-match-odds {
  display: none !important;
}

body.favorites-app-page .favorites-app.show-odds .app-match-row.has-odds {
  grid-template-columns: 72px minmax(0, 1fr) minmax(116px, 150px) 30px 32px !important;
}

body.favorites-app-page .favorites-app.show-odds .app-match-odds {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

body.favorites-app-page .favorites-app.show-odds .app-match-odds em {
  display: grid !important;
  gap: 3px !important;
  justify-items: center !important;
  color: #55657a !important;
  font-style: normal !important;
  font-size: .72rem !important;
  font-weight: 680 !important;
}

body.favorites-app-page .favorites-app.show-odds .app-match-odds strong {
  display: grid !important;
  min-width: 42px !important;
  min-height: 28px !important;
  place-items: center !important;
  border-radius: 7px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .82rem !important;
  font-weight: 820 !important;
}

body.favorites-app-page .favorites-empty {
  display: grid !important;
  justify-items: start !important;
  gap: 10px !important;
  padding: 22px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #172033 !important;
}

body.favorites-app-page .favorites-empty strong {
  font-size: 1.1rem !important;
  font-weight: 820 !important;
}

body.favorites-app-page .favorites-empty p {
  margin: 0 !important;
  color: #667085 !important;
  line-height: 1.45 !important;
}

body.favorites-app-page .favorites-empty a {
  color: #2563eb !important;
  font-weight: 760 !important;
  text-decoration: none !important;
}

@media (max-width: 520px) {
  body.favorites-app-page .favorites-app {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  body.favorites-app-page .favorites-actions {
    gap: 10px !important;
  }

  body.favorites-app-page .favorites-odds-toggle span {
    font-size: .9rem !important;
  }

  body.favorites-app-page .app-match-row,
  body.favorites-app-page .app-match-row.has-odds {
    grid-template-columns: 72px minmax(0, 1fr) 28px 32px !important;
    gap: 10px !important;
    min-height: 78px !important;
    padding: 9px 12px !important;
  }

  body.favorites-app-page .app-match-row.is-live {
    padding-left: 8px !important;
  }

  body.favorites-app-page .app-match-status {
    min-height: 50px !important;
    font-size: .8rem !important;
  }

  body.favorites-app-page .app-match-team strong {
    font-size: .96rem !important;
  }

  body.favorites-app-page .app-match-score strong {
    font-size: 1.06rem !important;
  }

  body.favorites-app-page .app-match-star {
    font-size: 1.78rem !important;
  }

  body.favorites-app-page .favorites-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 62px minmax(0, 1fr) minmax(92px, 112px) 26px 30px !important;
    gap: 7px !important;
  }

  body.favorites-app-page .favorites-app.show-odds .app-match-odds {
    gap: 4px !important;
  }

  body.favorites-app-page .favorites-app.show-odds .app-match-odds strong {
    min-width: 30px !important;
    min-height: 24px !important;
    font-size: .72rem !important;
  }
}

/* 2026-07-01: Match odds must not reshape the match list. */
body.matches-app-page .matches-app.show-odds .app-competition > div {
  gap: 10px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  grid-template-columns: 52px minmax(0, 1fr) 88px 24px 28px !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 64px !important;
  padding: 9px 10px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  border-radius: 12px !important;
  background: #f9fafb !important;
  box-shadow: none !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-status {
  min-height: 42px !important;
  padding-right: 8px !important;
  border-right: 1px solid #dfe3ea !important;
  font-size: .72rem !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-teams {
  gap: 6px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team {
  gap: 7px !important;
  min-height: 19px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-team-flag {
  width: 21px !important;
  height: 21px !important;
  flex: 0 0 21px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team strong {
  font-size: .84rem !important;
  font-weight: 540 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team.is-winner strong {
  font-weight: 820 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 3px !important;
  width: 88px !important;
  min-width: 0 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  display: grid !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  justify-items: center !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  display: none !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em strong {
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 22px !important;
  place-items: center !important;
  padding: 0 2px !important;
  border-radius: 7px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .66rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd strong {
  background: #baff23 !important;
  color: #071105 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score {
  gap: 6px !important;
  min-width: 24px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score strong {
  font-size: .96rem !important;
  font-weight: 820 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-star {
  width: 28px !important;
  height: 28px !important;
  font-size: 1.55rem !important;
}

/* 2026-07-01: Favoris lighter section framing. */
body.favorites-app-page .favorites-topbar h1 {
  font-size: 1.28rem !important;
  font-weight: 720 !important;
}

body.favorites-app-page .favorites-topbar p {
  font-size: .9rem !important;
  font-weight: 500 !important;
}

body.favorites-app-page .favorites-live-block {
  padding: 16px 14px !important;
  border: 1px solid rgba(15, 23, 42, .05) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .055) !important;
}

body.favorites-app-page .favorites-competition {
  padding: 14px !important;
  border: 1px solid rgba(15, 23, 42, .05) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .055) !important;
}

body.favorites-app-page .favorites-live-block h2,
body.favorites-app-page .favorites-bucket > h2 {
  font-size: 1rem !important;
  font-weight: 720 !important;
}

body.favorites-app-page .favorites-live-block p {
  font-size: .82rem !important;
  font-weight: 500 !important;
}

body.favorites-app-page .favorites-competition summary {
  min-height: 48px !important;
  margin-bottom: 10px !important;
}

body.favorites-app-page .favorites-competition summary strong {
  font-size: .98rem !important;
  font-weight: 720 !important;
}

body.favorites-app-page .favorites-competition summary small {
  font-size: .76rem !important;
  font-weight: 500 !important;
}

@media (max-width: 520px) {
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 50px minmax(0, 1fr) 82px 22px 26px !important;
    gap: 5px !important;
    min-height: 64px !important;
    padding: 8px 9px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    width: 82px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em strong {
    min-height: 21px !important;
    font-size: .62rem !important;
  }

  body.favorites-app-page .favorites-live-block,
  body.favorites-app-page .favorites-competition {
    padding: 12px !important;
    border-radius: 20px !important;
  }
}

body.favorites-app-page .app-match-row,
body.favorites-app-page .app-match-row.has-odds {
  grid-template-columns: 72px minmax(0, 1fr) 28px 32px !important;
  gap: 9px !important;
  min-height: 68px !important;
  padding: 8px 12px !important;
  border-radius: 11px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds,
body.favorites-app-page .favorites-app.show-odds .app-match-row.has-odds {
  grid-template-columns: 64px minmax(0, 1fr) minmax(108px, 136px) 26px 30px !important;
  gap: 8px !important;
  min-height: 70px !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.favorites-app-page .app-match-status,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-status {
  min-height: 46px !important;
  padding-right: 8px !important;
  border-right: 1px solid #dfe3ea !important;
  color: #55657a !important;
  font-size: .78rem !important;
  font-weight: 720 !important;
}

body.favorites-app-page .app-match-teams,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-teams {
  gap: 6px !important;
}

body.favorites-app-page .app-match-team,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team {
  gap: 7px !important;
  min-height: 19px !important;
}

body.favorites-app-page .app-team-flag,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-team-flag {
  width: 24px !important;
  height: 17px !important;
  flex: 0 0 24px !important;
}

body.favorites-app-page .app-match-team strong,
body.matches-app-page .app-match-team strong,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team strong {
  color: #172033 !important;
  font-size: .9rem !important;
  font-weight: 540 !important;
  line-height: 1.08 !important;
}

body.favorites-app-page .app-match-team.is-winner strong,
body.matches-app-page .app-match-team.is-winner strong,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team.is-winner strong {
  font-weight: 820 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds,
body.favorites-app-page .favorites-app.show-odds .app-match-odds {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  justify-content: stretch !important;
  gap: 5px !important;
  min-width: 0 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em,
body.favorites-app-page .favorites-app.show-odds .app-match-odds em {
  display: grid !important;
  grid-template-rows: auto auto !important;
  gap: 3px !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #55657a !important;
  font-style: normal !important;
  font-size: .68rem !important;
  font-weight: 680 !important;
  justify-items: center !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small,
body.favorites-app-page .favorites-app.show-odds .app-match-odds em small {
  color: #64748b !important;
  font-size: .68rem !important;
  font-weight: 620 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em strong,
body.favorites-app-page .favorites-app.show-odds .app-match-odds em strong {
  display: grid !important;
  min-width: 31px !important;
  min-height: 24px !important;
  place-items: center !important;
  border-radius: 7px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .72rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd strong,
body.favorites-app-page .favorites-app.show-odds .app-match-odds em.is-winning-odd strong {
  background: #baff23 !important;
  color: #071105 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score,
body.favorites-app-page .favorites-app.show-odds .app-match-row.has-odds .app-match-score,
body.favorites-app-page .app-match-score {
  gap: 6px !important;
  min-width: 24px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score strong,
body.favorites-app-page .app-match-score strong {
  font-size: .96rem !important;
  font-weight: 820 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-star,
body.favorites-app-page .app-match-star {
  width: 30px !important;
  height: 30px !important;
  font-size: 1.66rem !important;
}

@media (max-width: 520px) {
  body.favorites-app-page .app-match-row,
  body.favorites-app-page .app-match-row.has-odds {
    grid-template-columns: 58px minmax(0, 1fr) 24px 28px !important;
    min-height: 64px !important;
    padding: 7px 10px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds,
  body.favorites-app-page .favorites-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 52px minmax(0, 1fr) minmax(94px, 108px) 24px 28px !important;
    gap: 6px !important;
    min-height: 66px !important;
    padding: 7px 9px !important;
  }

  body.favorites-app-page .app-match-status,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-status {
    min-height: 42px !important;
    font-size: .72rem !important;
  }

  body.favorites-app-page .app-match-team strong,
  body.matches-app-page .app-match-team strong,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team strong {
    font-size: .84rem !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em strong,
  body.favorites-app-page .favorites-app.show-odds .app-match-odds em strong {
    min-width: 28px !important;
    min-height: 22px !important;
    font-size: .68rem !important;
  }
}

/* Final override: Matchs odds appear without changing the card shape. */
body.matches-app-page .matches-app.show-odds .app-competition > div {
  gap: 10px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  grid-template-columns: 52px minmax(0, 1fr) 88px 24px 28px !important;
  gap: 6px !important;
  min-height: 64px !important;
  padding: 9px 10px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  border-radius: 12px !important;
  background: #f9fafb !important;
  box-shadow: none !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-status {
  min-height: 42px !important;
  padding-right: 8px !important;
  border-right: 1px solid #dfe3ea !important;
  font-size: .72rem !important;
  font-weight: 720 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-teams {
  gap: 6px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team {
  gap: 7px !important;
  min-height: 19px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-team-flag {
  width: 21px !important;
  height: 21px !important;
  flex: 0 0 21px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team strong {
  font-size: .84rem !important;
  font-weight: 540 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team.is-winner strong {
  font-weight: 820 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 3px !important;
  width: 88px !important;
  min-width: 0 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  display: grid !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  justify-items: center !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  display: none !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em strong {
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 22px !important;
  place-items: center !important;
  padding: 0 2px !important;
  border-radius: 7px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .66rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd strong {
  background: #baff23 !important;
  color: #071105 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score {
  gap: 6px !important;
  min-width: 24px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score strong {
  font-size: .96rem !important;
  font-weight: 820 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-star {
  width: 28px !important;
  height: 28px !important;
  font-size: 1.55rem !important;
}

@media (max-width: 520px) {
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 50px minmax(0, 1fr) 82px 22px 26px !important;
    gap: 5px !important;
    min-height: 64px !important;
    padding: 8px 9px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    width: 82px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em strong {
    min-height: 21px !important;
    font-size: .62rem !important;
  }
}

/* 2026-07-01: Avis du jour, four-item mobile nav, live minutes and stable odds. */
@media (max-width: 899px) {
  body.app-page .bottom-nav,
  body.app-screen-page .bottom-nav,
  body.matches-app-page .bottom-nav,
  body.favorites-app-page .bottom-nav,
  body.recommendations-app-page .bottom-nav,
  body.chat-page .bottom-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body.app-page .bottom-nav a,
  body.app-screen-page .bottom-nav a,
  body.matches-app-page .bottom-nav a,
  body.favorites-app-page .bottom-nav a,
  body.recommendations-app-page .bottom-nav a,
  body.chat-page .bottom-nav a {
    font-size: .62rem !important;
    line-height: 1.05 !important;
  }
}

body.matches-app-page .app-match-row.is-live .app-match-status,
body.favorites-app-page .app-match-row.is-live .app-match-status {
  color: #ff244d !important;
}

body.matches-app-page .app-match-live-time,
body.favorites-app-page .app-match-live-time {
  display: inline-flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 2px !important;
  color: #ff244d !important;
  font-size: inherit !important;
  font-weight: 820 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.matches-app-page .app-match-live-time.has-extra b,
body.favorites-app-page .app-match-live-time.has-extra b {
  color: #172033 !important;
  font: inherit !important;
}

body.matches-app-page .app-match-live-time.has-extra em,
body.favorites-app-page .app-match-live-time.has-extra em {
  color: #ff244d !important;
  font-style: normal !important;
  font-weight: 860 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds,
body.favorites-app-page .favorites-app.show-odds .app-match-row.has-odds {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) 112px 24px 30px !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 66px !important;
  padding: 8px 10px !important;
  overflow: hidden !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-status,
body.favorites-app-page .favorites-app.show-odds .app-match-row.has-odds .app-match-status {
  min-width: 0 !important;
  min-height: 42px !important;
  padding-right: 8px !important;
  border-right: 1px solid #dfe3ea !important;
  font-size: .72rem !important;
  font-weight: 720 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-teams,
body.favorites-app-page .favorites-app.show-odds .app-match-row.has-odds .app-match-teams {
  min-width: 0 !important;
  overflow: hidden !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team,
body.favorites-app-page .favorites-app.show-odds .app-match-row.has-odds .app-match-team {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team strong,
body.favorites-app-page .favorites-app.show-odds .app-match-row.has-odds .app-match-team strong {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #172033 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds,
body.favorites-app-page .favorites-app.show-odds .app-match-odds {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  min-width: 0 !important;
  gap: 4px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em,
body.favorites-app-page .favorites-app.show-odds .app-match-odds em {
  display: grid !important;
  grid-template-rows: auto auto !important;
  min-width: 0 !important;
  gap: 3px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  justify-items: center !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small,
body.favorites-app-page .favorites-app.show-odds .app-match-odds em small {
  display: block !important;
  color: #64748b !important;
  font-size: .62rem !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em strong,
body.favorites-app-page .favorites-app.show-odds .app-match-odds em strong {
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 22px !important;
  place-items: center !important;
  padding: 0 2px !important;
  border-radius: 7px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .65rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd strong,
body.favorites-app-page .favorites-app.show-odds .app-match-odds em.is-winning-odd strong {
  background: #baff23 !important;
  color: #071105 !important;
}

@media (max-width: 430px) {
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds,
  body.favorites-app-page .favorites-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 50px minmax(0, 1fr) 104px 22px 26px !important;
    gap: 5px !important;
    padding: 7px 8px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds,
  body.favorites-app-page .favorites-app.show-odds .app-match-odds {
    gap: 3px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em strong,
  body.favorites-app-page .favorites-app.show-odds .app-match-odds em strong {
    min-height: 21px !important;
    font-size: .61rem !important;
  }
}

body.recommendations-app-page {
  background: #eef1f4 !important;
}

body.recommendations-app-page .app-header {
  background: #111519 !important;
}

body.recommendations-app-page .recommendations-day-app {
  width: min(100%, 760px) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 16px 16px calc(108px + env(safe-area-inset-bottom, 0px)) !important;
  background: #eef1f4 !important;
  color: #172033 !important;
}

.recommendations-tools {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 80px 124px !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
  padding: 10px !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .94) !important;
}

.recommendations-search,
.recommendations-tool-button {
  position: relative !important;
  display: flex !important;
  min-width: 0 !important;
  min-height: 50px !important;
  align-items: center !important;
  gap: 10px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #f3f4f6 !important;
  color: #96a0ad !important;
  font-size: .98rem !important;
  font-weight: 620 !important;
}

.recommendations-search {
  padding: 0 14px !important;
}

.recommendations-search svg,
.recommendations-tool-button svg {
  width: 22px !important;
  height: 22px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
}

.recommendations-search span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.recommendations-tool-button {
  justify-content: center !important;
  padding: 0 12px !important;
}

.recommendations-tool-button i,
.recommendations-search i {
  position: absolute !important;
  top: -9px !important;
  right: -4px !important;
  color: rgba(15, 23, 42, .32) !important;
  font-size: .9rem !important;
  font-style: normal !important;
}

.recommendations-pro-card {
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  gap: 18px !important;
  margin-bottom: 16px !important;
  padding: 22px 20px !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 96% 12%, rgba(86, 123, 255, .24), transparent 36%),
    linear-gradient(135deg, #10175a 0%, #102fb8 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 34px rgba(17, 34, 120, .24) !important;
}

.recommendations-pro-card::after {
  position: absolute !important;
  inset: -22% -12% auto auto !important;
  width: 58% !important;
  height: 140% !important;
  content: "" !important;
  background: linear-gradient(135deg, transparent 16%, rgba(255, 255, 255, .14) 17% 37%, transparent 38% 48%, rgba(255, 255, 255, .10) 49% 69%, transparent 70%) !important;
  opacity: .75 !important;
  transform: skewX(-18deg) !important;
}

.recommendations-pro-card > * {
  position: relative !important;
  z-index: 1 !important;
}

.recommendations-pro-card h1 {
  max-width: 560px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(1.55rem, 6vw, 2rem) !important;
  font-weight: 780 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

.recommendations-pro-card p {
  max-width: 620px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .92) !important;
  font-size: .96rem !important;
  font-weight: 470 !important;
  line-height: 1.58 !important;
}

.recommendations-pro-card a,
.recommendations-pro-card span {
  display: grid !important;
  min-height: 48px !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: .96rem !important;
  font-weight: 720 !important;
  text-decoration: none !important;
}

.recommendations-pro-card.is-unlocked {
  background:
    radial-gradient(circle at 92% 12%, rgba(186, 255, 35, .18), transparent 34%),
    linear-gradient(135deg, #101820, #172235) !important;
}

.recommendations-day-list {
  display: grid !important;
  gap: 10px !important;
}

.recommendations-day-list + .recommendations-day-list {
  margin-top: 10px !important;
}

.recommendations-day-card {
  display: grid !important;
  gap: 10px !important;
  min-height: 86px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(15, 23, 42, .04) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .04) !important;
}

.recommendations-day-match {
  display: flex !important;
  min-width: 0 !important;
  align-items: center !important;
  gap: 9px !important;
  color: #536176 !important;
}

.recommendations-day-match > span {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 3px !important;
}

.recommendations-day-match img,
.recommendations-day-match em {
  display: grid !important;
  width: 24px !important;
  height: 17px !important;
  place-items: center !important;
  border-radius: 2px !important;
  object-fit: cover !important;
  background: #eef2f6 !important;
  color: #536176 !important;
  font-size: .54rem !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

.recommendations-day-match strong {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #536176 !important;
  font-size: .82rem !important;
  font-weight: 660 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.recommendations-day-content {
  display: grid !important;
  gap: 8px !important;
}

.recommendations-day-content h2 {
  margin: 0 !important;
  color: #172033 !important;
  font-size: .98rem !important;
  font-weight: 760 !important;
  line-height: 1.18 !important;
}

.recommendations-day-metrics {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.recommendations-day-metrics span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: #eef2f6 !important;
  color: #64748b !important;
  font-size: .72rem !important;
  font-weight: 680 !important;
}

.recommendations-day-metrics strong {
  color: #172033 !important;
  font-weight: 840 !important;
}

.recommendations-day-actions {
  display: flex !important;
  gap: 8px !important;
}

.recommendations-day-actions form {
  margin: 0 !important;
}

.recommendations-day-actions button,
.recommendations-day-actions a {
  display: grid !important;
  min-height: 30px !important;
  place-items: center !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #172033 !important;
  color: #ffffff !important;
  font-size: .72rem !important;
  font-weight: 760 !important;
  text-decoration: none !important;
}

.recommendations-day-actions a {
  background: #baff23 !important;
  color: #071105 !important;
}

.recommendations-day-card.is-locked {
  gap: 8px !important;
}

.recommendations-day-locked-row {
  display: grid !important;
  grid-template-columns: 50px minmax(0, 1fr) 24px !important;
  align-items: center !important;
  gap: 10px !important;
}

.recommendations-day-locked-row span {
  display: grid !important;
  min-height: 42px !important;
  place-items: center !important;
  border-radius: 8px !important;
  background: #f0f1f3 !important;
  color: rgba(15, 23, 42, .26) !important;
  font-size: 1rem !important;
}

.recommendations-day-locked-row p {
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: rgba(15, 23, 42, .28) !important;
  filter: blur(4px) !important;
  font-size: .9rem !important;
  font-weight: 680 !important;
  white-space: nowrap !important;
}

.recommendations-day-locked-row i {
  color: rgba(15, 23, 42, .28) !important;
  font-style: normal !important;
}

@media (max-width: 430px) {
  body.recommendations-app-page .recommendations-day-app {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  .recommendations-tools {
    grid-template-columns: minmax(0, 1fr) 64px 96px !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  .recommendations-search,
  .recommendations-tool-button {
    min-height: 46px !important;
    font-size: .86rem !important;
  }

  .recommendations-pro-card {
    padding: 20px 18px !important;
  }

  .recommendations-pro-card h1 {
    font-size: 1.58rem !important;
  }

  .recommendations-pro-card p {
    font-size: .9rem !important;
  }
}

/* 2026-07-01: final compact Avis du jour, readable footers and non-layout odds on Matchs. */
body.matches-app-page .site-footer,
body.recommendations-app-page .site-footer,
body.app-page.matches-app-page:not(.chat-page) .site-footer,
body.app-page.recommendations-app-page:not(.chat-page) .site-footer {
  background: #ffffff !important;
  border-top: 1px solid rgba(15, 23, 42, .08) !important;
  box-shadow: 0 -10px 30px rgba(15, 23, 42, .045) !important;
  color: #667085 !important;
}

body.matches-app-page .site-footer-inner,
body.recommendations-app-page .site-footer-inner,
body.app-page.matches-app-page:not(.chat-page) .site-footer-inner,
body.app-page.recommendations-app-page:not(.chat-page) .site-footer-inner {
  background: transparent !important;
}

body.matches-app-page .site-footer-col strong,
body.recommendations-app-page .site-footer-col strong,
body.matches-app-page .site-footer-bottom,
body.recommendations-app-page .site-footer-bottom {
  color: #111827 !important;
}

body.matches-app-page .site-footer a,
body.recommendations-app-page .site-footer a {
  color: #344054 !important;
}

body.matches-app-page .site-footer a:hover,
body.recommendations-app-page .site-footer a:hover,
body.matches-app-page .site-footer a:focus-visible,
body.recommendations-app-page .site-footer a:focus-visible {
  color: #6fa500 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) 28px 30px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 64px !important;
  padding: 8px 10px !important;
  overflow: hidden !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-status {
  min-height: initial !important;
  padding-right: 8px !important;
  border-right: 1px solid #dfe3ea !important;
  color: #55657a !important;
  font-size: .72rem !important;
  font-weight: 720 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-teams {
  min-width: 0 !important;
  gap: 6px !important;
  padding-right: 96px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team {
  min-width: 0 !important;
  gap: 7px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-team-flag {
  width: 24px !important;
  height: 17px !important;
  flex: 0 0 24px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team strong {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #172033 !important;
  font-size: .9rem !important;
  font-weight: 540 !important;
  line-height: 1.08 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team.is-winner strong {
  font-weight: 820 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score {
  display: grid !important;
  grid-column: 3 !important;
  gap: 6px !important;
  min-width: 24px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score strong {
  color: #172033 !important;
  font-size: .96rem !important;
  font-weight: 820 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-star {
  grid-column: 4 !important;
  width: 30px !important;
  height: 30px !important;
  color: #ffc52e !important;
  font-size: 1.66rem !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds {
  position: absolute !important;
  top: 50% !important;
  right: 58px !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 88px !important;
  min-width: 0 !important;
  gap: 3px !important;
  pointer-events: none !important;
  transform: translateY(-50%) !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  display: grid !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-style: normal !important;
  justify-items: center !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  display: none !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em strong {
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 22px !important;
  place-items: center !important;
  padding: 0 2px !important;
  border-radius: 7px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .64rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd strong {
  background: #baff23 !important;
  color: #071105 !important;
}

@media (max-width: 430px) {
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 50px minmax(0, 1fr) 24px 28px !important;
    gap: 7px !important;
    min-height: 64px !important;
    padding: 8px 9px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-teams {
    padding-right: 84px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    right: 52px !important;
    width: 80px !important;
    gap: 2px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em strong {
    min-height: 20px !important;
    font-size: .58rem !important;
  }
}

.recommendations-tools {
  grid-template-columns: minmax(0, 1fr) 54px 84px !important;
  gap: 7px !important;
  margin-bottom: 10px !important;
  padding: 7px !important;
  border-radius: 13px !important;
}

.recommendations-search,
.recommendations-tool-button {
  min-height: 38px !important;
  gap: 7px !important;
  border-radius: 10px !important;
  font-size: .82rem !important;
}

.recommendations-search {
  padding: 0 10px !important;
}

.recommendations-search svg,
.recommendations-tool-button svg {
  width: 18px !important;
  height: 18px !important;
}

.recommendations-tool-button i,
.recommendations-search i {
  top: -7px !important;
  right: -3px !important;
  font-size: .72rem !important;
}

.recommendations-pro-card {
  gap: 10px !important;
  margin-bottom: 12px !important;
  padding: 15px 14px !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 24px rgba(17, 34, 120, .18) !important;
}

.recommendations-pro-card h1 {
  font-size: clamp(1.18rem, 5vw, 1.48rem) !important;
  font-weight: 760 !important;
  line-height: 1.08 !important;
}

.recommendations-pro-card p {
  max-width: 560px !important;
  font-size: .78rem !important;
  line-height: 1.44 !important;
}

.recommendations-pro-card a,
.recommendations-pro-card span {
  min-height: 38px !important;
  border-radius: 10px !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
}

.recommendations-day-list {
  gap: 8px !important;
}

.recommendations-day-card {
  gap: 7px !important;
  min-height: 68px !important;
  padding: 9px 10px !important;
  border-radius: 12px !important;
}

.recommendations-day-match {
  gap: 7px !important;
}

.recommendations-day-match img,
.recommendations-day-match em {
  width: 21px !important;
  height: 15px !important;
  font-size: .48rem !important;
}

.recommendations-day-match strong {
  font-size: .72rem !important;
  font-weight: 620 !important;
}

.recommendations-day-content {
  gap: 6px !important;
}

.recommendations-day-content h2 {
  font-size: .84rem !important;
  font-weight: 720 !important;
  line-height: 1.18 !important;
}

.recommendations-day-metrics {
  gap: 6px !important;
}

.recommendations-day-metrics span {
  min-height: 24px !important;
  padding: 0 8px !important;
  font-size: .64rem !important;
}

.recommendations-day-actions {
  justify-content: flex-end !important;
}

.recommendations-day-actions a {
  min-height: 26px !important;
  padding: 0 10px !important;
  font-size: .66rem !important;
}

.recommendations-day-locked-row {
  grid-template-columns: 42px minmax(0, 1fr) 20px !important;
  gap: 8px !important;
}

.recommendations-day-locked-row span {
  min-height: 34px !important;
  font-size: .84rem !important;
}

.recommendations-day-locked-row p {
  font-size: .78rem !important;
}

@media (max-width: 430px) {
  .recommendations-tools {
    grid-template-columns: minmax(0, 1fr) 48px 76px !important;
    gap: 6px !important;
    padding: 6px !important;
  }

  .recommendations-search,
  .recommendations-tool-button {
    min-height: 36px !important;
    font-size: .78rem !important;
  }

  .recommendations-pro-card {
    padding: 14px 13px !important;
  }

  .recommendations-pro-card h1 {
    font-size: 1.22rem !important;
  }

  .recommendations-pro-card p {
    font-size: .76rem !important;
  }
}

/* 2026-07-01: Chat TopStats aligned with the current white app pages. */
body.chat-page {
  background: #eef1f4 !important;
  color: #172033 !important;
}

body.chat-page::before {
  display: none !important;
  content: none !important;
}

body.chat-page .app-header {
  background: #111519 !important;
  border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
  box-shadow: none !important;
}

body.chat-page .app-header-brand strong {
  color: #ffffff !important;
}

body.chat-page .neo-menu-line {
  stroke: #ffffff !important;
}

body.chat-page .chat-main {
  background: #eef1f4 !important;
  color: #172033 !important;
}

body.chat-page .chat-intro {
  color: #172033 !important;
}

body.chat-page .chat-intro h1 {
  color: #172033 !important;
  font-weight: 760 !important;
}

body.chat-page .chat-intro p:not(.eyebrow) {
  color: #667085 !important;
}

body.chat-page .chat-neo-avatar {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08) !important;
}

body.chat-page .chat-plan-notice {
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: #ffffff !important;
  color: #172033 !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .06) !important;
}

body.chat-page .chat-plan-notice.is-pro {
  border-color: rgba(127, 178, 0, .2) !important;
  background: rgba(186, 255, 35, .18) !important;
  color: #315300 !important;
}

body.chat-page .chat-shell {
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .07) !important;
}

body.chat-page .chat-window {
  background: transparent !important;
  color: #172033 !important;
}

body.chat-page .message {
  border-radius: 14px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.chat-page .message-bot {
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: #f8fafc !important;
  color: #172033 !important;
}

body.chat-page .message-user {
  border: 0 !important;
  background: #baff23 !important;
  color: #071105 !important;
  font-weight: 620 !important;
}

body.chat-page .chat-preview-note,
body.chat-page .chat-empty-message {
  border-color: rgba(15, 23, 42, .08) !important;
  background: #f8fafc !important;
  color: #172033 !important;
}

body.chat-page .chat-form {
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 -12px 28px rgba(15, 23, 42, .10) !important;
}

body.chat-page .chat-form input {
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: #f3f5f7 !important;
  color: #172033 !important;
  box-shadow: none !important;
}

body.chat-page .chat-form input::placeholder {
  color: #98a2b3 !important;
}

body.chat-page .chat-form button {
  background: #baff23 !important;
  color: #071105 !important;
  box-shadow: none !important;
}

body.chat-page .chat-pro-lockbar {
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: rgba(255, 255, 255, .98) !important;
  color: #172033 !important;
  box-shadow: 0 -12px 28px rgba(15, 23, 42, .10) !important;
}

body.chat-page .chat-pro-lockbar h2 {
  color: #172033 !important;
}

body.chat-page .chat-pro-lockbar p {
  color: #667085 !important;
}

body.chat-page .bottom-nav {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  background: rgba(255, 255, 255, .98) !important;
  border-color: rgba(15, 23, 42, .08) !important;
  box-shadow: 0 -14px 34px rgba(15, 23, 42, .12) !important;
}

body.chat-page .bottom-nav a {
  color: #7d8792 !important;
}

body.chat-page .bottom-nav a.active {
  color: #111827 !important;
}

/* 2026-07-01: Matchs uses the same compact card language as Favoris. */
body.matches-app-page .matches-app {
  width: min(100%, 760px) !important;
  margin: 0 auto !important;
  padding: 18px 14px 116px !important;
  background: #eef0f2 !important;
  color: #172033 !important;
}

body.matches-app-page .matches-date-control {
  grid-template-columns: 54px minmax(0, 1fr) 54px !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}

body.matches-app-page .matches-date-control > a,
body.matches-app-page .matches-date-control > span {
  width: 54px !important;
  height: 56px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 2rem !important;
  font-weight: 680 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .055) !important;
}

body.matches-app-page .matches-date-control > button {
  height: 56px !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  color: #111827 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .055) !important;
}

body.matches-app-page .matches-date-control strong {
  color: #172033 !important;
  font-size: 1.08rem !important;
  font-weight: 660 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-date-control svg {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 2 !important;
}

body.matches-app-page .matches-date-control em {
  color: #a1a9b5 !important;
  font-size: .82rem !important;
}

body.matches-app-page .app-filter-row {
  min-height: 46px !important;
  margin-bottom: 12px !important;
  padding: 5px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .055) !important;
}

body.matches-app-page .app-filter-row button,
body.matches-app-page .app-filter-row a {
  min-height: 36px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #667085 !important;
  font-size: .86rem !important;
  font-weight: 640 !important;
  line-height: 1 !important;
}

body.matches-app-page .app-filter-row button.active,
body.matches-app-page .app-filter-row a.active {
  background: #baff23 !important;
  color: #071105 !important;
  font-weight: 700 !important;
}

body.matches-app-page .matches-live-badge {
  min-width: 20px !important;
  height: 20px !important;
  margin-left: 5px !important;
  border-radius: 999px !important;
  background: #ff244d !important;
  color: #ffffff !important;
  font-size: .72rem !important;
  font-weight: 760 !important;
  line-height: 20px !important;
}

body.matches-app-page .matches-search-row {
  grid-template-columns: minmax(0, 1fr) auto 58px !important;
  gap: 9px !important;
  margin-bottom: 12px !important;
}

body.matches-app-page .matches-search-row label {
  min-height: 48px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .055) !important;
}

body.matches-app-page .matches-search-row svg {
  width: 18px !important;
  height: 18px !important;
  color: #98a2b3 !important;
}

body.matches-app-page .matches-search-row input {
  color: #172033 !important;
  font-size: .94rem !important;
  font-weight: 560 !important;
}

body.matches-app-page .matches-search-row input::placeholder {
  color: #a1a9b5 !important;
}

body.matches-app-page .matches-search-row > span {
  color: #55657a !important;
  font-size: .88rem !important;
  font-weight: 680 !important;
}

body.matches-app-page .matches-search-row button {
  width: 58px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #dfe6ef !important;
  box-shadow: none !important;
}

body.matches-app-page .matches-search-row button i {
  top: 3px !important;
  left: 3px !important;
  width: 28px !important;
  height: 28px !important;
  background: #ffffff !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .16) !important;
}

body.matches-app-page .matches-search-row button.active {
  background: #baff23 !important;
}

body.matches-app-page .matches-search-row button.active i {
  left: 27px !important;
  background: #071105 !important;
}

body.matches-app-page .matches-advice-link {
  min-height: 52px !important;
  margin-bottom: 14px !important;
  padding: 0 16px !important;
  border-radius: 13px !important;
  box-shadow: none !important;
}

body.matches-app-page .matches-data-chip {
  display: none !important;
}

body.matches-app-page .app-competition-stack {
  display: grid !important;
  gap: 14px !important;
}

body.matches-app-page .app-competition {
  margin: 0 !important;
  padding: 14px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .055) !important;
}

body.matches-app-page .app-competition summary {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 48px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  list-style: none !important;
}

body.matches-app-page .app-competition summary::-webkit-details-marker {
  display: none !important;
}

body.matches-app-page .app-competition summary::before {
  display: grid !important;
  width: 46px !important;
  height: 46px !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #111827 !important;
  color: #ffc52e !important;
  box-shadow: inset 0 0 0 3px #1cc5c6, inset 0 0 0 5px #5647ff !important;
  content: "🏆" !important;
  font-size: 1.25rem !important;
}

body.matches-app-page .app-competition summary::after {
  color: #6b7280 !important;
  content: "⌄" !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
}

body.matches-app-page .app-competition[open] summary::after {
  transform: rotate(180deg) !important;
}

body.matches-app-page .app-competition summary span {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #172033 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.matches-app-page .app-competition summary small {
  display: block !important;
  margin-top: 3px !important;
  color: #55657a !important;
  font-size: .78rem !important;
  font-weight: 540 !important;
}

body.matches-app-page .app-competition > div {
  display: grid !important;
  gap: 8px !important;
  padding: 0 !important;
  background: transparent !important;
}

body.matches-app-page .app-match-row,
body.matches-app-page .app-match-row.has-odds {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) 34px 34px !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 86px !important;
  padding: 10px 16px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  color: #172033 !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .04) !important;
}

body.matches-app-page .app-match-row.is-live {
  border-left: 6px solid #ff244d !important;
  padding-left: 10px !important;
}

body.matches-app-page .app-match-status {
  display: grid !important;
  min-height: 54px !important;
  place-items: center !important;
  padding-right: 0 !important;
  border-right: 1px solid #dfe3ea !important;
  color: #55657a !important;
  font-size: .9rem !important;
  font-weight: 720 !important;
  line-height: 1 !important;
  text-align: center !important;
}

body.matches-app-page .app-match-row.is-live .app-match-status {
  color: #ff244d !important;
}

body.matches-app-page .app-match-teams {
  display: grid !important;
  min-width: 0 !important;
  gap: 8px !important;
}

body.matches-app-page .app-match-team {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
}

body.matches-app-page .app-team-flag {
  width: 28px !important;
  height: 20px !important;
  flex: 0 0 28px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, .12) !important;
}

body.matches-app-page .app-team-flag img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.matches-app-page .app-team-flag em {
  color: #172033 !important;
  font-size: .64rem !important;
}

body.matches-app-page .app-match-team strong {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #172033 !important;
  font-size: 1rem !important;
  font-weight: 540 !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.matches-app-page .app-match-team.is-winner strong {
  color: #172033 !important;
  font-weight: 720 !important;
}

body.matches-app-page .app-match-score {
  display: grid !important;
  justify-items: center !important;
  gap: 8px !important;
  min-width: 28px !important;
  color: #172033 !important;
}

body.matches-app-page .app-match-score strong {
  color: #172033 !important;
  font-size: 1.16rem !important;
  font-weight: 830 !important;
  line-height: 1 !important;
}

body.matches-app-page .app-match-row.is-live .app-match-score strong {
  color: #ff244d !important;
}

body.matches-app-page .app-match-score.is-empty {
  visibility: hidden !important;
}

body.matches-app-page .app-match-star {
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  place-items: center !important;
  color: #7b8794 !important;
  font-size: 2rem !important;
  line-height: 1 !important;
}

body.matches-app-page .app-match-star.is-favorite {
  color: #ffc52e !important;
}

body.matches-app-page .app-match-odds {
  display: none !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  grid-template-columns: 72px minmax(0, 1fr) minmax(116px, 150px) 30px 32px !important;
  gap: 9px !important;
  min-height: 86px !important;
  padding: 10px 14px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds {
  position: static !important;
  z-index: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: auto !important;
  min-width: 0 !important;
  gap: 6px !important;
  pointer-events: auto !important;
  transform: none !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  display: grid !important;
  grid-template-rows: auto auto !important;
  min-width: 0 !important;
  gap: 3px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #55657a !important;
  font-style: normal !important;
  font-size: .72rem !important;
  font-weight: 680 !important;
  justify-items: center !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  display: block !important;
  color: #64748b !important;
  font-size: .68rem !important;
  font-weight: 620 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em strong {
  display: grid !important;
  width: 100% !important;
  min-width: 42px !important;
  min-height: 28px !important;
  place-items: center !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .82rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd strong {
  background: #baff23 !important;
  color: #071105 !important;
}

@media (max-width: 520px) {
  body.matches-app-page .matches-app {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  body.matches-app-page .matches-date-control {
    grid-template-columns: 48px minmax(0, 1fr) 48px !important;
    gap: 9px !important;
  }

  body.matches-app-page .matches-date-control > a,
  body.matches-app-page .matches-date-control > span,
  body.matches-app-page .matches-date-control > button {
    height: 52px !important;
    border-radius: 12px !important;
  }

  body.matches-app-page .matches-date-control > a,
  body.matches-app-page .matches-date-control > span {
    width: 48px !important;
    font-size: 1.8rem !important;
  }

  body.matches-app-page .matches-date-control strong {
    font-size: 1rem !important;
    font-weight: 640 !important;
  }

  body.matches-app-page .app-filter-row {
    min-height: 44px !important;
    padding: 5px !important;
  }

  body.matches-app-page .app-filter-row button,
  body.matches-app-page .app-filter-row a {
    min-height: 34px !important;
    font-size: .82rem !important;
  }

  body.matches-app-page .matches-search-row {
    grid-template-columns: minmax(0, 1fr) auto 56px !important;
    gap: 8px !important;
  }

  body.matches-app-page .matches-search-row label {
    min-height: 46px !important;
    padding: 0 13px !important;
  }

  body.matches-app-page .matches-search-row input {
    font-size: .9rem !important;
  }

  body.matches-app-page .matches-search-row > span {
    font-size: .84rem !important;
  }

  body.matches-app-page .matches-search-row button {
    width: 56px !important;
    height: 32px !important;
  }

  body.matches-app-page .matches-search-row button i {
    width: 26px !important;
    height: 26px !important;
  }

  body.matches-app-page .matches-search-row button.active i {
    left: 27px !important;
  }

  body.matches-app-page .app-competition {
    padding: 12px !important;
    border-radius: 17px !important;
  }

  body.matches-app-page .app-competition summary {
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  body.matches-app-page .app-competition summary::before {
    width: 42px !important;
    height: 42px !important;
    font-size: 1.12rem !important;
  }

  body.matches-app-page .app-competition summary span {
    font-size: .96rem !important;
    font-weight: 680 !important;
  }

  body.matches-app-page .app-competition summary small {
    font-size: .74rem !important;
  }

  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds {
    grid-template-columns: 72px minmax(0, 1fr) 28px 32px !important;
    gap: 10px !important;
    min-height: 78px !important;
    padding: 9px 12px !important;
  }

  body.matches-app-page .app-match-row.is-live {
    padding-left: 8px !important;
  }

  body.matches-app-page .app-match-status {
    min-height: 50px !important;
    font-size: .8rem !important;
    font-weight: 700 !important;
  }

  body.matches-app-page .app-match-team strong {
    font-size: .96rem !important;
  }

  body.matches-app-page .app-match-score strong {
    font-size: 1.06rem !important;
  }

  body.matches-app-page .app-match-star {
    width: 32px !important;
    height: 32px !important;
    font-size: 1.78rem !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 62px minmax(0, 1fr) minmax(92px, 112px) 26px 30px !important;
    gap: 7px !important;
    min-height: 78px !important;
    padding: 9px 10px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    gap: 4px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em strong {
    min-width: 30px !important;
    min-height: 24px !important;
    font-size: .72rem !important;
  }
}

@media (max-width: 390px) {
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 56px minmax(0, 1fr) minmax(86px, 98px) 24px 28px !important;
    gap: 6px !important;
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    gap: 3px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em small {
    font-size: .6rem !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em strong {
    min-width: 27px !important;
    min-height: 22px !important;
    font-size: .66rem !important;
  }
}

/* 2026-07-01: restore Matchs odds toggle and mirror Favoris match-card sizing. */
body.matches-app-page .matches-date-control > a,
body.matches-app-page .matches-date-control > span {
  font-size: 1.72rem !important;
  font-weight: 420 !important;
}

body.matches-app-page .matches-date-control strong {
  font-size: 1rem !important;
  font-weight: 520 !important;
}

body.matches-app-page .app-filter-row button,
body.matches-app-page .app-filter-row a {
  font-size: .84rem !important;
  font-weight: 520 !important;
}

body.matches-app-page .app-filter-row button.active,
body.matches-app-page .app-filter-row a.active {
  font-weight: 600 !important;
}

body.matches-app-page .matches-search-row button {
  display: none !important;
}

body.matches-app-page .matches-search-row .matches-odds-toggle {
  position: relative !important;
  display: inline-flex !important;
  width: 58px !important;
  height: 34px !important;
  flex: 0 0 58px !important;
  align-items: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #dfe6ef !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

body.matches-app-page .matches-search-row .matches-odds-toggle i {
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .16) !important;
  transition: left .18s ease, background .18s ease !important;
}

body.matches-app-page .matches-search-row .matches-odds-toggle.active {
  background: #baff23 !important;
}

body.matches-app-page .matches-search-row .matches-odds-toggle.active i {
  left: 27px !important;
  background: #071105 !important;
}

body.matches-app-page .app-match-row,
body.matches-app-page .app-match-row.has-odds {
  grid-template-columns: 86px minmax(0, 1fr) 34px 34px !important;
  gap: 12px !important;
  min-height: 86px !important;
  padding: 10px 16px !important;
  box-shadow: none !important;
}

body.matches-app-page .app-match-row.is-live {
  padding-left: 10px !important;
}

body.matches-app-page .app-match-status {
  min-height: 54px !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
}

body.matches-app-page .app-match-team strong {
  font-size: 1rem !important;
  font-weight: 540 !important;
}

body.matches-app-page .app-match-team.is-winner strong {
  font-weight: 720 !important;
}

body.matches-app-page .app-match-score strong {
  font-size: 1.16rem !important;
}

body.matches-app-page .app-match-star {
  width: 34px !important;
  height: 34px !important;
  font-size: 2rem !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  grid-template-columns: 72px minmax(0, 1fr) minmax(116px, 150px) 30px 32px !important;
  gap: 12px !important;
  min-height: 86px !important;
  padding: 10px 16px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  display: grid !important;
  gap: 3px !important;
  justify-items: center !important;
  color: #55657a !important;
  font-style: normal !important;
  font-size: .72rem !important;
  font-weight: 680 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  display: block !important;
  color: #55657a !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds strong {
  display: grid !important;
  min-width: 42px !important;
  min-height: 28px !important;
  place-items: center !important;
  border-radius: 7px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .82rem !important;
  font-weight: 820 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd strong {
  background: #baff23 !important;
  color: #071105 !important;
}

@media (max-width: 520px) {
  body.matches-app-page .matches-date-control > a,
  body.matches-app-page .matches-date-control > span {
    font-size: 1.55rem !important;
    font-weight: 420 !important;
  }

  body.matches-app-page .matches-date-control strong {
    font-size: .96rem !important;
    font-weight: 520 !important;
  }

  body.matches-app-page .app-filter-row button,
  body.matches-app-page .app-filter-row a {
    font-size: .8rem !important;
    font-weight: 520 !important;
  }

  body.matches-app-page .matches-search-row .matches-odds-toggle {
    width: 56px !important;
    height: 32px !important;
    flex-basis: 56px !important;
  }

  body.matches-app-page .matches-search-row .matches-odds-toggle i {
    width: 26px !important;
    height: 26px !important;
  }

  body.matches-app-page .matches-search-row .matches-odds-toggle.active i {
    left: 27px !important;
  }

  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds {
    grid-template-columns: 72px minmax(0, 1fr) 28px 32px !important;
    gap: 10px !important;
    min-height: 78px !important;
    padding: 9px 12px !important;
  }

  body.matches-app-page .app-match-row.is-live {
    padding-left: 8px !important;
  }

  body.matches-app-page .app-match-status {
    min-height: 50px !important;
    font-size: .8rem !important;
    font-weight: 680 !important;
  }

  body.matches-app-page .app-match-team strong {
    font-size: .96rem !important;
  }

  body.matches-app-page .app-match-score strong {
    font-size: 1.06rem !important;
  }

  body.matches-app-page .app-match-star {
    width: 32px !important;
    height: 32px !important;
    font-size: 1.78rem !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 62px minmax(0, 1fr) minmax(92px, 112px) 26px 30px !important;
    gap: 7px !important;
    min-height: 78px !important;
    padding: 9px 12px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    gap: 4px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    min-width: 30px !important;
    min-height: 24px !important;
    font-size: .72rem !important;
  }
}

@media (max-width: 390px) {
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 58px minmax(0, 1fr) minmax(86px, 100px) 24px 28px !important;
    gap: 6px !important;
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    min-width: 27px !important;
    min-height: 22px !important;
    font-size: .66rem !important;
  }
}

/* 2026-07-01: ZoneStat 1:1 visual scale for Matchs controls and rows. */
body.matches-app-page .matches-app {
  padding-top: 14px !important;
}

body.matches-app-page .matches-date-control {
  grid-template-columns: 44px minmax(0, 204px) 44px !important;
  justify-content: space-between !important;
  gap: 0 !important;
  margin-bottom: 11px !important;
}

body.matches-app-page .matches-date-control > a,
body.matches-app-page .matches-date-control > span {
  width: 44px !important;
  height: 43px !important;
  border-radius: 11px !important;
  font-size: 1.48rem !important;
  font-weight: 360 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-date-control > button {
  width: 100% !important;
  height: 43px !important;
  min-height: 43px !important;
  gap: 8px !important;
  border-radius: 11px !important;
}

body.matches-app-page .matches-date-control strong {
  font-size: .96rem !important;
  font-weight: 560 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-date-control svg {
  width: 17px !important;
  height: 17px !important;
  stroke-width: 2.05 !important;
}

body.matches-app-page .matches-date-control em {
  font-size: .72rem !important;
  font-weight: 460 !important;
}

body.matches-app-page .app-filter-row {
  min-height: 42px !important;
  margin-bottom: 10px !important;
  padding: 4px !important;
  border-radius: 10px !important;
}

body.matches-app-page .app-filter-row button,
body.matches-app-page .app-filter-row a {
  min-height: 34px !important;
  border-radius: 8px !important;
  font-size: .84rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

body.matches-app-page .app-filter-row button.active,
body.matches-app-page .app-filter-row a.active {
  font-weight: 560 !important;
}

body.matches-app-page .matches-live-badge {
  min-width: 22px !important;
  height: 22px !important;
  margin-left: 7px !important;
  font-size: .82rem !important;
  font-weight: 650 !important;
  line-height: 22px !important;
}

body.matches-app-page .matches-search-row {
  grid-template-columns: minmax(0, 1fr) auto 45px !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}

body.matches-app-page .matches-search-row label {
  min-height: 43px !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
}

body.matches-app-page .matches-search-row svg {
  width: 18px !important;
  height: 18px !important;
  stroke-width: 2 !important;
}

body.matches-app-page .matches-search-row input {
  font-size: .96rem !important;
  font-weight: 430 !important;
}

body.matches-app-page .matches-search-row > span {
  font-size: .86rem !important;
  font-weight: 560 !important;
}

body.matches-app-page .matches-search-row .matches-odds-toggle {
  width: 45px !important;
  height: 27px !important;
  flex-basis: 45px !important;
}

body.matches-app-page .matches-search-row .matches-odds-toggle i {
  top: 3px !important;
  left: 3px !important;
  width: 21px !important;
  height: 21px !important;
}

body.matches-app-page .matches-search-row .matches-odds-toggle.active i {
  left: 21px !important;
}

body.matches-app-page .matches-advice-link {
  min-height: 42px !important;
  margin-bottom: 13px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
}

body.matches-app-page .matches-advice-link strong {
  font-size: .9rem !important;
  font-weight: 620 !important;
}

body.matches-app-page .app-competition {
  padding: 12px !important;
  border-radius: 16px !important;
}

body.matches-app-page .app-competition summary {
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  gap: 9px !important;
  min-height: 38px !important;
  margin-bottom: 8px !important;
}

body.matches-app-page .app-competition summary::before {
  width: 34px !important;
  height: 34px !important;
  font-size: .94rem !important;
}

body.matches-app-page .app-competition summary span {
  font-size: .92rem !important;
  font-weight: 660 !important;
}

body.matches-app-page .app-competition summary small {
  margin-top: 2px !important;
  font-size: .72rem !important;
  font-weight: 460 !important;
}

body.matches-app-page .app-competition summary::after {
  font-size: 1.05rem !important;
  font-weight: 400 !important;
}

body.matches-app-page .app-competition > div {
  gap: 5px !important;
}

body.matches-app-page .app-match-row,
body.matches-app-page .app-match-row.has-odds,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  min-height: 56px !important;
  padding: 6px 9px !important;
  border-radius: 8px !important;
  gap: 7px !important;
}

body.matches-app-page .app-match-row,
body.matches-app-page .app-match-row.has-odds {
  grid-template-columns: 54px minmax(0, 1fr) 22px 28px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  grid-template-columns: 54px minmax(0, 1fr) minmax(105px, 128px) 22px 28px !important;
}

body.matches-app-page .app-match-row.is-live {
  border-left-width: 4px !important;
  padding-left: 6px !important;
}

body.matches-app-page .app-match-status,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-status {
  min-height: 39px !important;
  padding-right: 7px !important;
  font-size: .72rem !important;
  font-weight: 620 !important;
}

body.matches-app-page .app-match-live-time,
body.matches-app-page .app-match-live-time.has-extra b,
body.matches-app-page .app-match-live-time.has-extra em {
  font-size: .72rem !important;
  font-weight: 650 !important;
}

body.matches-app-page .app-match-teams {
  gap: 4px !important;
}

body.matches-app-page .app-match-team {
  grid-template-columns: 22px minmax(0, 1fr) !important;
  gap: 7px !important;
  min-height: 18px !important;
}

body.matches-app-page .app-team-flag {
  width: 22px !important;
  height: 15px !important;
  flex-basis: 22px !important;
}

body.matches-app-page .app-match-team strong {
  font-size: .82rem !important;
  font-weight: 520 !important;
  line-height: 1.05 !important;
}

body.matches-app-page .app-match-team.is-winner strong {
  font-weight: 660 !important;
}

body.matches-app-page .app-match-score {
  gap: 4px !important;
  min-width: 20px !important;
}

body.matches-app-page .app-match-score strong {
  font-size: .94rem !important;
  font-weight: 760 !important;
}

body.matches-app-page .app-match-star {
  width: 28px !important;
  height: 28px !important;
  font-size: 1.58rem !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds {
  gap: 5px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  gap: 3px !important;
  font-size: .68rem !important;
  font-weight: 500 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  font-size: .68rem !important;
  font-weight: 500 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds strong {
  min-width: 30px !important;
  min-height: 22px !important;
  border-radius: 5px !important;
  font-size: .72rem !important;
  font-weight: 720 !important;
}

@media (max-width: 520px) {
  body.matches-app-page .matches-app {
    padding: 13px 7px 112px !important;
  }

  body.matches-app-page .matches-date-control {
    grid-template-columns: 44px minmax(0, 204px) 44px !important;
    margin-bottom: 11px !important;
  }

  body.matches-app-page .matches-date-control > a,
  body.matches-app-page .matches-date-control > span,
  body.matches-app-page .matches-date-control > button {
    height: 43px !important;
  }

  body.matches-app-page .matches-date-control > a,
  body.matches-app-page .matches-date-control > span {
    width: 44px !important;
    font-size: 1.48rem !important;
    font-weight: 360 !important;
  }

  body.matches-app-page .matches-date-control strong {
    font-size: .96rem !important;
    font-weight: 560 !important;
  }

  body.matches-app-page .app-filter-row {
    min-height: 42px !important;
    padding: 4px !important;
  }

  body.matches-app-page .app-filter-row button,
  body.matches-app-page .app-filter-row a {
    min-height: 34px !important;
    font-size: .84rem !important;
    font-weight: 500 !important;
  }

  body.matches-app-page .matches-search-row {
    grid-template-columns: minmax(0, 1fr) auto 45px !important;
    gap: 10px !important;
  }

  body.matches-app-page .matches-search-row label {
    min-height: 43px !important;
  }

  body.matches-app-page .matches-search-row .matches-odds-toggle {
    width: 45px !important;
    height: 27px !important;
    flex-basis: 45px !important;
  }

  body.matches-app-page .matches-search-row .matches-odds-toggle i {
    width: 21px !important;
    height: 21px !important;
  }

  body.matches-app-page .matches-search-row .matches-odds-toggle.active i {
    left: 21px !important;
  }

  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    min-height: 56px !important;
    padding: 6px 9px !important;
    gap: 7px !important;
  }

  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds {
    grid-template-columns: 54px minmax(0, 1fr) 22px 28px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 54px minmax(0, 1fr) minmax(105px, 128px) 22px 28px !important;
  }
}

@media (max-width: 390px) {
  body.matches-app-page .matches-date-control {
    grid-template-columns: 40px minmax(0, 184px) 40px !important;
  }

  body.matches-app-page .matches-date-control > a,
  body.matches-app-page .matches-date-control > span,
  body.matches-app-page .matches-date-control > button {
    height: 40px !important;
  }

  body.matches-app-page .matches-date-control > a,
  body.matches-app-page .matches-date-control > span {
    width: 40px !important;
  }

  body.matches-app-page .matches-date-control strong {
    font-size: .9rem !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 49px minmax(0, 1fr) minmax(94px, 108px) 20px 25px !important;
    gap: 5px !important;
    padding-right: 7px !important;
    padding-left: 7px !important;
  }

  body.matches-app-page .app-match-status,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-status {
    font-size: .68rem !important;
  }

  body.matches-app-page .app-match-team {
    grid-template-columns: 20px minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  body.matches-app-page .app-team-flag {
    width: 20px !important;
    height: 14px !important;
  }

  body.matches-app-page .app-match-team strong {
    font-size: .78rem !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    gap: 3px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    min-width: 26px !important;
    min-height: 20px !important;
    font-size: .65rem !important;
  }
}

/* 2026-07-01: extra fine ZoneStat odds rows on Matchs. */
body.matches-app-page .app-competition {
  padding: 11px 12px 12px !important;
}

body.matches-app-page .app-competition > div {
  gap: 6px !important;
}

body.matches-app-page .app-match-row,
body.matches-app-page .app-match-row.has-odds,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  min-height: 52px !important;
  padding: 5px 8px !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .035) !important;
}

body.matches-app-page .app-match-row,
body.matches-app-page .app-match-row.has-odds {
  grid-template-columns: 42px minmax(0, 1fr) 20px 25px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  grid-template-columns: 42px minmax(0, 1fr) 92px 20px 25px !important;
  gap: 6px !important;
}

body.matches-app-page .app-match-row.is-live {
  border-left-width: 4px !important;
  padding-left: 5px !important;
}

body.matches-app-page .app-match-status,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-status {
  min-height: 36px !important;
  padding-right: 6px !important;
  font-size: .66rem !important;
  font-weight: 620 !important;
}

body.matches-app-page .app-match-live-time,
body.matches-app-page .app-match-live-time.has-extra b,
body.matches-app-page .app-match-live-time.has-extra em {
  font-size: .66rem !important;
  font-weight: 680 !important;
}

body.matches-app-page .app-match-teams {
  gap: 3px !important;
}

body.matches-app-page .app-match-team {
  grid-template-columns: 20px minmax(0, 1fr) !important;
  gap: 6px !important;
  min-height: 16px !important;
}

body.matches-app-page .app-team-flag {
  width: 20px !important;
  height: 14px !important;
  flex-basis: 20px !important;
}

body.matches-app-page .app-match-team strong {
  font-size: .76rem !important;
  font-weight: 520 !important;
  line-height: 1.05 !important;
}

body.matches-app-page .app-match-team.is-winner strong {
  font-weight: 660 !important;
}

body.matches-app-page .app-match-score {
  gap: 3px !important;
  min-width: 18px !important;
}

body.matches-app-page .app-match-score strong {
  font-size: .86rem !important;
  font-weight: 760 !important;
}

body.matches-app-page .app-match-star {
  width: 25px !important;
  height: 25px !important;
  font-size: 1.36rem !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds {
  gap: 3px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  gap: 2px !important;
  font-size: .58rem !important;
  font-weight: 500 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  font-size: .58rem !important;
  font-weight: 500 !important;
  line-height: .95 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds strong {
  min-width: 27px !important;
  min-height: 18px !important;
  padding: 0 2px !important;
  border-radius: 5px !important;
  font-size: .62rem !important;
  font-weight: 720 !important;
}

@media (max-width: 520px) {
  body.matches-app-page .app-competition {
    padding: 10px 10px 11px !important;
  }

  body.matches-app-page .app-competition > div {
    gap: 6px !important;
  }

  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    min-height: 52px !important;
    padding: 5px 8px !important;
  }

  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds {
    grid-template-columns: 42px minmax(0, 1fr) 20px 25px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 42px minmax(0, 1fr) 92px 20px 25px !important;
    gap: 6px !important;
  }
}

@media (max-width: 390px) {
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 38px minmax(0, 1fr) 84px 18px 23px !important;
    gap: 5px !important;
    padding-right: 7px !important;
    padding-left: 7px !important;
  }

  body.matches-app-page .app-match-status,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-status {
    font-size: .62rem !important;
  }

  body.matches-app-page .app-match-team strong {
    font-size: .72rem !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    min-width: 24px !important;
    min-height: 18px !important;
    font-size: .58rem !important;
  }
}

/* 2026-07-01: odds overlay must not move Matchs rows; flags stay centered. */
body.matches-app-page .app-match-row,
body.matches-app-page .app-match-row.has-odds,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  position: relative !important;
  grid-template-columns: 42px minmax(0, 1fr) 20px 25px !important;
  min-height: 52px !important;
  padding: 5px 8px !important;
  gap: 6px !important;
  overflow: hidden !important;
}

body.matches-app-page .app-match-teams,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-teams {
  min-width: 0 !important;
  padding-right: 98px !important;
}

body.matches-app-page .app-match-team {
  align-items: center !important;
}

body.matches-app-page .app-team-flag {
  display: grid !important;
  width: 20px !important;
  height: 15px !important;
  flex: 0 0 20px !important;
  place-items: center !important;
  align-self: center !important;
  overflow: visible !important;
  border-radius: 1px !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1 !important;
  transform: translateY(0) !important;
}

body.matches-app-page .app-team-flag img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 1px !important;
  transform: translateY(0) !important;
}

body.matches-app-page .app-match-odds {
  display: none !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds {
  position: absolute !important;
  top: 50% !important;
  right: 59px !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 27px) !important;
  width: 87px !important;
  min-width: 0 !important;
  gap: 3px !important;
  pointer-events: none !important;
  transform: translateY(-50%) !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  display: grid !important;
  grid-template-rows: 10px 18px !important;
  min-width: 0 !important;
  gap: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #55657a !important;
  font-style: normal !important;
  justify-items: center !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  display: block !important;
  height: 10px !important;
  color: #667085 !important;
  font-size: .56rem !important;
  font-weight: 500 !important;
  line-height: 10px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds strong {
  display: grid !important;
  width: 27px !important;
  min-width: 27px !important;
  height: 18px !important;
  min-height: 18px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .6rem !important;
  font-weight: 720 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd strong {
  background: #baff23 !important;
  color: #071105 !important;
}

body.matches-app-page .app-match-score,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score {
  grid-column: 3 !important;
}

body.matches-app-page .app-match-star,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-star {
  grid-column: 4 !important;
}

@media (max-width: 520px) {
  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 42px minmax(0, 1fr) 20px 25px !important;
    min-height: 52px !important;
    padding: 5px 8px !important;
    gap: 6px !important;
  }

  body.matches-app-page .app-match-teams,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-teams {
    padding-right: 98px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    right: 59px !important;
    grid-template-columns: repeat(3, 27px) !important;
    width: 87px !important;
    gap: 3px !important;
  }
}

@media (max-width: 390px) {
  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 38px minmax(0, 1fr) 18px 23px !important;
    gap: 5px !important;
    padding-right: 7px !important;
    padding-left: 7px !important;
  }

  body.matches-app-page .app-match-teams,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-teams {
    padding-right: 86px !important;
  }

  body.matches-app-page .app-team-flag {
    width: 18px !important;
    height: 13px !important;
    flex-basis: 18px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    right: 51px !important;
    grid-template-columns: repeat(3, 24px) !important;
    width: 78px !important;
    gap: 3px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    width: 24px !important;
    min-width: 24px !important;
    font-size: .56rem !important;
  }
}

/* 2026-07-01: fixed odds slot. Cotes ON/OFF never changes row geometry. */
body.matches-app-page .app-match-row,
body.matches-app-page .app-match-row.has-odds,
body.matches-app-page .matches-app.show-odds .app-match-row,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 82px 20px 25px !important;
  align-items: center !important;
  gap: 5px !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  padding: 5px 8px !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}

body.matches-app-page .app-match-status,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-status {
  grid-column: 1 !important;
  width: 42px !important;
  min-width: 42px !important;
  min-height: 36px !important;
  padding-right: 6px !important;
  border-right: 1px solid #dfe3ea !important;
  font-size: .66rem !important;
  font-weight: 620 !important;
}

body.matches-app-page .app-match-teams,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-teams {
  grid-column: 2 !important;
  min-width: 0 !important;
  padding-right: 0 !important;
  overflow: hidden !important;
}

body.matches-app-page .app-match-team {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  min-height: 16px !important;
}

body.matches-app-page .app-team-flag,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-team-flag {
  display: grid !important;
  width: 20px !important;
  height: 14px !important;
  flex: 0 0 20px !important;
  place-items: center !important;
  align-self: center !important;
  overflow: visible !important;
  border-radius: 1px !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

body.matches-app-page .app-team-flag img,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-team-flag img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 1px !important;
  transform: none !important;
}

body.matches-app-page .app-match-team strong,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team strong {
  min-width: 0 !important;
  overflow: hidden !important;
  font-size: .74rem !important;
  font-weight: 520 !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.matches-app-page .app-match-team.is-winner strong,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team.is-winner strong {
  font-weight: 660 !important;
}

body.matches-app-page .app-match-odds,
body.matches-app-page .matches-app.show-odds .app-match-odds {
  position: static !important;
  grid-column: 3 !important;
  z-index: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, 25px) !important;
  width: 79px !important;
  min-width: 79px !important;
  height: 29px !important;
  min-height: 29px !important;
  align-self: center !important;
  justify-content: center !important;
  gap: 2px !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds:not(.is-empty) {
  visibility: visible !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  display: grid !important;
  grid-template-rows: 10px 18px !important;
  min-width: 0 !important;
  gap: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #55657a !important;
  font-style: normal !important;
  justify-items: center !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  display: block !important;
  height: 10px !important;
  color: #667085 !important;
  font-size: .53rem !important;
  font-weight: 500 !important;
  line-height: 10px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds strong {
  display: grid !important;
  width: 25px !important;
  min-width: 25px !important;
  height: 18px !important;
  min-height: 18px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .57rem !important;
  font-weight: 720 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd strong {
  background: #baff23 !important;
  color: #071105 !important;
}

body.matches-app-page .app-match-score,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score {
  grid-column: 4 !important;
  min-width: 20px !important;
  gap: 3px !important;
}

body.matches-app-page .app-match-score strong,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score strong {
  font-size: .84rem !important;
  font-weight: 760 !important;
}

body.matches-app-page .app-match-star,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-star {
  grid-column: 5 !important;
  width: 25px !important;
  height: 25px !important;
  font-size: 1.34rem !important;
}

@media (max-width: 390px) {
  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds,
  body.matches-app-page .matches-app.show-odds .app-match-row,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 36px minmax(0, 1fr) 71px 17px 22px !important;
    gap: 4px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    padding: 5px 7px !important;
  }

  body.matches-app-page .app-match-status,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-status {
    width: 36px !important;
    min-width: 36px !important;
    padding-right: 5px !important;
    font-size: .6rem !important;
  }

  body.matches-app-page .app-match-team {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    gap: 4px !important;
  }

  body.matches-app-page .app-team-flag,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-team-flag {
    width: 18px !important;
    height: 13px !important;
    flex-basis: 18px !important;
  }

  body.matches-app-page .app-match-team strong,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-team strong {
    font-size: .68rem !important;
  }

  body.matches-app-page .app-match-odds,
  body.matches-app-page .matches-app.show-odds .app-match-odds {
    grid-template-columns: repeat(3, 22px) !important;
    width: 70px !important;
    min-width: 70px !important;
    gap: 2px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    width: 22px !important;
    min-width: 22px !important;
    font-size: .51rem !important;
  }

  body.matches-app-page .app-match-score,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score {
    min-width: 17px !important;
  }

  body.matches-app-page .app-match-score strong,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score strong {
    font-size: .78rem !important;
  }

  body.matches-app-page .app-match-star,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-star {
    width: 22px !important;
    height: 22px !important;
    font-size: 1.18rem !important;
  }
}

@media (max-width: 360px) {
  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds,
  body.matches-app-page .matches-app.show-odds .app-match-row,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 34px minmax(0, 1fr) 65px 16px 20px !important;
    gap: 3px !important;
  }

  body.matches-app-page .app-match-odds,
  body.matches-app-page .matches-app.show-odds .app-match-odds {
    grid-template-columns: repeat(3, 20px) !important;
    width: 64px !important;
    min-width: 64px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    width: 20px !important;
    min-width: 20px !important;
    font-size: .47rem !important;
  }
}

/* 2026-07-01: Matchs uses the Favoris odds display system only. */
body.matches-app-page .app-match-row,
body.matches-app-page .app-match-row.has-odds,
body.matches-app-page .matches-app.show-odds .app-match-row,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  padding: 5px 8px !important;
  overflow: hidden !important;
}

body.matches-app-page .app-match-row,
body.matches-app-page .app-match-row.has-odds {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 20px 25px !important;
  align-items: center !important;
  gap: 6px !important;
}

body.matches-app-page .app-match-odds {
  display: none !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  grid-template-columns: 42px minmax(0, 1fr) 82px 20px 25px !important;
  gap: 5px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds {
  position: static !important;
  grid-column: 3 !important;
  z-index: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: center !important;
  gap: 3px !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: none !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #55657a !important;
  font-style: normal !important;
  font-size: .56rem !important;
  font-weight: 560 !important;
  justify-items: center !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  display: block !important;
  height: 9px !important;
  color: #667085 !important;
  font-size: .54rem !important;
  font-weight: 520 !important;
  line-height: 9px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds strong {
  display: grid !important;
  width: 25px !important;
  min-width: 25px !important;
  height: 18px !important;
  min-height: 18px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .57rem !important;
  font-weight: 720 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd strong {
  background: #baff23 !important;
  color: #071105 !important;
}

body.matches-app-page .app-match-score {
  grid-column: 3 !important;
}

body.matches-app-page .app-match-star {
  grid-column: 4 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score {
  grid-column: 4 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-star {
  grid-column: 5 !important;
}

body.matches-app-page .app-team-flag,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-team-flag {
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
}

body.matches-app-page .app-team-flag img,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-team-flag img {
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 390px) {
  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds,
  body.matches-app-page .matches-app.show-odds .app-match-row,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    padding: 5px 7px !important;
  }

  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds {
    grid-template-columns: 38px minmax(0, 1fr) 18px 23px !important;
    gap: 5px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 38px minmax(0, 1fr) 70px 18px 23px !important;
    gap: 4px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    gap: 2px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    width: 22px !important;
    min-width: 22px !important;
    height: 17px !important;
    min-height: 17px !important;
    font-size: .5rem !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em small {
    font-size: .5rem !important;
  }
}

@media (max-width: 360px) {
  body.matches-app-page .app-match-row,
  body.matches-app-page .app-match-row.has-odds {
    grid-template-columns: 36px minmax(0, 1fr) 16px 20px !important;
    gap: 4px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 36px minmax(0, 1fr) 64px 16px 20px !important;
    gap: 3px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    width: 20px !important;
    min-width: 20px !important;
    font-size: .46rem !important;
  }
}

/* 2026-07-01: Matchs odds appear without changing the classic row geometry. */
body.matches-app-page .matches-app.show-odds .app-match-row,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  position: relative !important;
  grid-template-columns: 42px minmax(0, 1fr) 20px 25px !important;
  gap: 6px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-teams {
  grid-column: 2 !important;
  padding-right: 0 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score {
  grid-column: 3 !important;
  position: relative !important;
  z-index: 4 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-star {
  grid-column: 4 !important;
  position: relative !important;
  z-index: 4 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds {
  position: absolute !important;
  top: 50% !important;
  right: 59px !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 24px) !important;
  width: 78px !important;
  min-width: 78px !important;
  height: 25px !important;
  min-height: 25px !important;
  align-self: auto !important;
  gap: 3px !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translateY(-50%) !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  display: grid !important;
  grid-template-rows: 8px 16px !important;
  gap: 1px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #55657a !important;
  font-style: normal !important;
  justify-items: center !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  display: block !important;
  height: 8px !important;
  color: #667085 !important;
  font-size: .48rem !important;
  font-weight: 500 !important;
  line-height: 8px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds strong {
  display: grid !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 16px !important;
  min-height: 16px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .5rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd strong {
  background: #baff23 !important;
  color: #071105 !important;
}

body.matches-app-page .matches-app .app-match-row.is-live .app-match-score strong,
body.matches-app-page .matches-app.show-odds .app-match-row.is-live .app-match-score strong {
  color: #ff244d !important;
}

@media (max-width: 390px) {
  body.matches-app-page .matches-app.show-odds .app-match-row,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 38px minmax(0, 1fr) 18px 23px !important;
    gap: 5px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    right: 53px !important;
    grid-template-columns: repeat(3, 22px) !important;
    width: 72px !important;
    min-width: 72px !important;
    gap: 3px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    width: 22px !important;
    min-width: 22px !important;
    font-size: .47rem !important;
  }
}

@media (max-width: 360px) {
  body.matches-app-page .matches-app.show-odds .app-match-row,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 36px minmax(0, 1fr) 16px 20px !important;
    gap: 4px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    right: 48px !important;
    grid-template-columns: repeat(3, 20px) !important;
    width: 66px !important;
    min-width: 66px !important;
    gap: 3px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    width: 20px !important;
    min-width: 20px !important;
    font-size: .43rem !important;
  }
}

/* 2026-07-01: final Matchs odds lock. Only odds are drawn; row layout and live score stay untouched. */
body.matches-app-page .matches-app.show-odds .app-match-row,
body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
  grid-template-columns: 42px minmax(0, 1fr) 20px 25px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-score {
  grid-column: 3 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.has-odds .app-match-star {
  grid-column: 4 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds,
body.matches-app-page .matches-app.show-odds .app-match-odds *,
body.matches-app-page .matches-app.show-odds .app-match-odds *::before,
body.matches-app-page .matches-app.show-odds .app-match-odds *::after {
  box-shadow: none !important;
  background-image: none !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds {
  position: absolute !important;
  top: 50% !important;
  right: 82px !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 22px) !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 24px !important;
  min-height: 24px !important;
  gap: 3px !important;
  overflow: visible !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translateY(-50%) !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  display: grid !important;
  grid-template-rows: 8px 15px !important;
  gap: 1px !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #55657a !important;
  font-style: normal !important;
  justify-items: center !important;
  overflow: visible !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  display: block !important;
  width: 22px !important;
  height: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #667085 !important;
  font-size: .44rem !important;
  font-weight: 500 !important;
  line-height: 8px !important;
  text-align: center !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds strong {
  display: grid !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 15px !important;
  min-height: 15px !important;
  padding: 0 !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  font-size: .45rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd,
body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd small {
  background: transparent !important;
  color: #667085 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd strong {
  background: #baff23 !important;
  color: #071105 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-row.is-live .app-match-score,
body.matches-app-page .matches-app.show-odds .app-match-row.is-live .app-match-score strong {
  color: #ff244d !important;
}

@media (max-width: 390px) {
  body.matches-app-page .matches-app.show-odds .app-match-row,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 38px minmax(0, 1fr) 18px 23px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    right: 74px !important;
    grid-template-columns: repeat(3, 20px) !important;
    width: 66px !important;
    min-width: 66px !important;
    max-width: 66px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em,
  body.matches-app-page .matches-app.show-odds .app-match-odds em small,
  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    font-size: .41rem !important;
  }
}

@media (max-width: 360px) {
  body.matches-app-page .matches-app.show-odds .app-match-row,
  body.matches-app-page .matches-app.show-odds .app-match-row.has-odds {
    grid-template-columns: 36px minmax(0, 1fr) 16px 20px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds {
    right: 66px !important;
    grid-template-columns: repeat(3, 18px) !important;
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em,
  body.matches-app-page .matches-app.show-odds .app-match-odds em small,
  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    font-size: .38rem !important;
  }
}

/* 2026-07-01: spread Matchs odds left only; do not alter the card layout. */
body.matches-app-page .matches-app.show-odds .app-match-odds {
  right: 82px !important;
  grid-template-columns: repeat(3, 26px) !important;
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  gap: 5px !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em {
  width: 26px !important;
  min-width: 26px !important;
  max-width: 26px !important;
  background: transparent !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em small {
  width: 26px !important;
  min-width: 26px !important;
  max-width: 26px !important;
  background: transparent !important;
  font-size: .42rem !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds strong {
  width: 26px !important;
  min-width: 26px !important;
  max-width: 26px !important;
  font-size: .43rem !important;
  letter-spacing: 0 !important;
}

body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd,
body.matches-app-page .matches-app.show-odds .app-match-odds em.is-winning-odd small {
  background: transparent !important;
}

@media (max-width: 390px) {
  body.matches-app-page .matches-app.show-odds .app-match-odds {
    right: 74px !important;
    grid-template-columns: repeat(3, 24px) !important;
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    gap: 4px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em,
  body.matches-app-page .matches-app.show-odds .app-match-odds em small,
  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    font-size: .4rem !important;
  }
}

@media (max-width: 360px) {
  body.matches-app-page .matches-app.show-odds .app-match-odds {
    right: 66px !important;
    grid-template-columns: repeat(3, 22px) !important;
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
    gap: 4px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds em,
  body.matches-app-page .matches-app.show-odds .app-match-odds em small,
  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
  }

  body.matches-app-page .matches-app.show-odds .app-match-odds strong {
    font-size: .36rem !important;
  }
}

/* 2026-07-01: clean stable Matchs cards renderer. */
body.matches-app-page .matches-app.matches-favorites-render {
  --match-status-w: 42px;
  --match-score-w: 20px;
  --match-star-w: 24px;
  --match-odds-w: 92px;
  --match-row-gap: 6px;
  --match-row-pad-y: 6px;
  --match-row-pad-x: 8px;
  --match-row-min-h: 54px;
  --match-team-font: .74rem;
  --match-status-font: .64rem;
  --match-score-font: .82rem;
  --match-odd-font: .56rem;
  --match-odd-label-font: .5rem;
  --match-odd-label-h: 8px;
  --match-odd-box-h: 18px;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  overflow-x: hidden !important;
}

body.matches-app-page .matches-app.matches-favorites-render .matches-competition-bucket {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 18px !important;
}

body.matches-app-page .matches-app.matches-favorites-render .favorites-competition {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 12px !important;
  border: 0 !important;
}

body.matches-app-page .matches-app.matches-favorites-render .favorites-competition summary {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 18px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  margin: 0 0 8px !important;
  list-style: none !important;
  cursor: pointer !important;
}

body.matches-app-page .matches-app.matches-favorites-render .favorites-competition summary::-webkit-details-marker {
  display: none !important;
}

body.matches-app-page .matches-app.matches-favorites-render .favorites-competition-icon {
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #111827 !important;
  color: #ffc52e !important;
  box-shadow: inset 0 0 0 2px #1cc5c6, inset 0 0 0 4px #5647ff !important;
}

body.matches-app-page .matches-app.matches-favorites-render .favorites-competition-icon svg {
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.matches-app-page .matches-app.matches-favorites-render .favorites-competition summary strong {
  display: block !important;
  overflow: hidden !important;
  color: #172033 !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.matches-app-page .matches-app.matches-favorites-render .favorites-competition summary small {
  display: block !important;
  margin-top: 2px !important;
  overflow: hidden !important;
  color: #55657a !important;
  font-size: .68rem !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.matches-app-page .matches-app.matches-favorites-render .favorites-competition summary em {
  color: #6b7280 !important;
  font-size: 1.18rem !important;
  font-style: normal !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.matches-favorites-render .favorites-match-list {
  display: grid !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 6px !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-row,
body.matches-app-page .matches-app.matches-favorites-render .app-match-row.has-odds,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds {
  position: relative !important;
  display: grid !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: var(--match-status-w) minmax(0, 1fr) var(--match-score-w) var(--match-star-w) !important;
  align-items: center !important;
  gap: var(--match-row-gap) !important;
  min-height: var(--match-row-min-h) !important;
  height: auto !important;
  max-height: none !important;
  padding: var(--match-row-pad-y) var(--match-row-pad-x) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #172033 !important;
  text-decoration: none !important;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .035) !important;
}

body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds {
  grid-template-columns: var(--match-status-w) minmax(0, 1fr) minmax(0, var(--match-odds-w)) var(--match-score-w) var(--match-star-w) !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-row.is-live {
  border-left: 4px solid #ff244d !important;
  padding-left: 5px !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-status,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-status {
  display: grid !important;
  grid-column: 1 !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 36px !important;
  place-items: center !important;
  padding-right: 5px !important;
  border-right: 1px solid #dfe3ea !important;
  color: #55657a !important;
  text-decoration: none !important;
  font-size: var(--match-status-font) !important;
  font-weight: 620 !important;
  line-height: 1 !important;
  text-align: center !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-row.is-live .app-match-status,
body.matches-app-page .matches-app.matches-favorites-render .app-match-live-time,
body.matches-app-page .matches-app.matches-favorites-render .app-match-live-time.has-extra b,
body.matches-app-page .matches-app.matches-favorites-render .app-match-live-time.has-extra em {
  color: #ff244d !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-live-time.has-extra {
  display: grid !important;
  gap: 1px !important;
  justify-items: center !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-teams,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-teams {
  display: grid !important;
  grid-column: 2 !important;
  gap: 4px !important;
  min-width: 0 !important;
  padding-right: 0 !important;
  overflow: hidden !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-team,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-team {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-team-flag,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-team-flag {
  display: block !important;
  width: 20px !important;
  height: 14px !important;
  flex: 0 0 20px !important;
  align-self: center !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .10) !important;
  transform: none !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-team-flag img,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-team-flag img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
  transform: none !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-team strong,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-team strong {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #172033 !important;
  text-decoration: none !important;
  font-size: var(--match-team-font) !important;
  font-weight: 500 !important;
  line-height: 1.06 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-team.is-winner strong,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-team.is-winner strong {
  font-weight: 650 !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-score,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-score {
  display: grid !important;
  grid-column: 3 !important;
  justify-items: center !important;
  align-self: center !important;
  gap: 4px !important;
  min-width: var(--match-score-w) !important;
  color: #172033 !important;
  position: static !important;
  z-index: auto !important;
}

body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-score {
  grid-column: 4 !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-score strong,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-score strong {
  color: #172033 !important;
  text-decoration: none !important;
  font-size: var(--match-score-font) !important;
  font-weight: 760 !important;
  line-height: 1 !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-row.is-live .app-match-score strong,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.is-live .app-match-score strong {
  color: #ff244d !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-star,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-star {
  display: grid !important;
  grid-column: 4 !important;
  width: var(--match-star-w) !important;
  height: var(--match-star-w) !important;
  place-items: center !important;
  color: #7b8794 !important;
  text-decoration: none !important;
  font-size: 1.3rem !important;
  line-height: 1 !important;
  position: static !important;
  z-index: auto !important;
}

body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-star {
  grid-column: 5 !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-star.is-favorite,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-star.is-favorite {
  color: #ffc52e !important;
}

body.matches-app-page .matches-app.matches-favorites-render .app-match-odds {
  display: none !important;
}

body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-odds {
  position: static !important;
  grid-column: 3 !important;
  z-index: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: center !important;
  gap: 4px !important;
  overflow: visible !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: none !important;
}

body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-odds em {
  display: grid !important;
  grid-template-rows: var(--match-odd-label-h) var(--match-odd-box-h) !important;
  align-items: start !important;
  align-content: start !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  gap: 2px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #55657a !important;
  font-style: normal !important;
  font-size: var(--match-odd-label-font) !important;
  font-weight: 520 !important;
  justify-items: center !important;
  line-height: 1 !important;
  transform: none !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
}

body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-odds em.is-winning-odd,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-odds em.is-winning-odd small {
  align-items: start !important;
  align-content: start !important;
  background: transparent !important;
  color: #667085 !important;
  transform: none !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
}

body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-odds em small {
  display: block !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--match-odd-label-h) !important;
  min-height: var(--match-odd-label-h) !important;
  max-height: var(--match-odd-label-h) !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  color: #667085 !important;
  text-decoration: none !important;
  font-size: var(--match-odd-label-font) !important;
  font-weight: 520 !important;
  line-height: var(--match-odd-label-h) !important;
  transform: none !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
}

body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-odds strong {
  display: grid !important;
  grid-row: 2 !important;
  align-self: start !important;
  justify-self: center !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 27px !important;
  max-width: none !important;
  height: var(--match-odd-box-h) !important;
  min-height: var(--match-odd-box-h) !important;
  max-height: var(--match-odd-box-h) !important;
  place-items: center !important;
  padding: 0 3px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  text-decoration: none !important;
  font-size: var(--match-odd-font) !important;
  font-weight: 720 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: none !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  vertical-align: baseline !important;
}

body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-odds strong.is-winning-odd-value,
body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-odds em.is-winning-odd strong {
  grid-row: 2 !important;
  align-self: start !important;
  justify-self: center !important;
  height: var(--match-odd-box-h) !important;
  min-height: var(--match-odd-box-h) !important;
  max-height: var(--match-odd-box-h) !important;
  padding: 0 3px !important;
  margin: 0 !important;
  background: #baff23 !important;
  color: #071105 !important;
  transform: none !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  vertical-align: baseline !important;
}

@media (max-width: 390px) {
  body.matches-app-page .matches-app.matches-favorites-render {
    --match-status-w: 38px;
    --match-score-w: 18px;
    --match-star-w: 22px;
    --match-odds-w: 80px;
    --match-row-gap: 5px;
    --match-row-pad-y: 5px;
    --match-row-pad-x: 7px;
    --match-row-min-h: 50px;
    --match-team-font: .68rem;
    --match-status-font: .58rem;
    --match-score-font: .76rem;
    --match-odd-font: .5rem;
    --match-odd-label-font: .46rem;
    --match-odd-label-h: 7px;
    --match-odd-box-h: 17px;
  }

  body.matches-app-page .matches-app.matches-favorites-render .favorites-competition summary {
    grid-template-columns: 30px minmax(0, 1fr) 16px !important;
    min-height: 38px !important;
    gap: 7px !important;
  }

  body.matches-app-page .matches-app.matches-favorites-render .favorites-competition-icon {
    width: 30px !important;
    height: 30px !important;
  }

  body.matches-app-page .matches-app.matches-favorites-render .favorites-competition-icon svg {
    width: 15px !important;
    height: 15px !important;
  }

  body.matches-app-page .matches-app.matches-favorites-render .favorites-competition summary strong {
    font-size: .84rem !important;
  }

  body.matches-app-page .matches-app.matches-favorites-render .favorites-competition summary small {
    font-size: .62rem !important;
  }

  body.matches-app-page .matches-app.matches-favorites-render .app-match-team,
  body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-team {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    gap: 4px !important;
  }

  body.matches-app-page .matches-app.matches-favorites-render .app-team-flag,
  body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-team-flag {
    width: 18px !important;
    height: 13px !important;
    flex-basis: 18px !important;
  }

  body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-odds {
    gap: 3px !important;
  }

  body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-odds strong {
    min-width: 24px !important;
    height: var(--match-odd-box-h) !important;
    min-height: var(--match-odd-box-h) !important;
    max-height: var(--match-odd-box-h) !important;
  }
}

@media (max-width: 350px) {
  body.matches-app-page .matches-app.matches-favorites-render {
    --match-status-w: 34px;
    --match-score-w: 16px;
    --match-star-w: 20px;
    --match-odds-w: 70px;
    --match-row-gap: 4px;
    --match-team-font: .63rem;
    --match-status-font: .54rem;
    --match-score-font: .7rem;
    --match-odd-font: .45rem;
    --match-odd-label-font: .42rem;
    --match-odd-label-h: 7px;
    --match-odd-box-h: 16px;
  }

  body.matches-app-page .matches-app.matches-favorites-render.show-odds .app-match-odds strong {
    min-width: 21px !important;
    height: var(--match-odd-box-h) !important;
    min-height: var(--match-odd-box-h) !important;
    max-height: var(--match-odd-box-h) !important;
  }
}

body .app-match-odds strong.is-winning-odd-value {
  background: #baff23 !important;
  color: #071105 !important;
}

/* 2026-07-02: Favoris uses the same compact Matchs card renderer. */
body.favorites-app-page .favorites-app.matches-favorites-render {
  --match-status-w: 42px;
  --match-score-w: 20px;
  --match-star-w: 24px;
  --match-odds-w: 92px;
  --match-row-gap: 6px;
  --match-row-pad-y: 6px;
  --match-row-pad-x: 8px;
  --match-row-min-h: 54px;
  --match-team-font: .74rem;
  --match-status-font: .64rem;
  --match-score-font: .82rem;
  --match-odd-font: .56rem;
  --match-odd-label-font: .5rem;
  --match-odd-label-h: 8px;
  --match-odd-box-h: 18px;
  box-sizing: border-box !important;
  width: min(100%, 760px) !important;
  max-width: 100% !important;
  min-height: calc(100vh - 78px) !important;
  margin: 0 auto !important;
  padding: 18px 16px 120px !important;
  overflow-x: hidden !important;
  background: #eef0f2 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-topbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-topbar h1 {
  margin: 0 0 3px !important;
  color: #172033 !important;
  font-size: .98rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-topbar p {
  margin: 0 !important;
  color: #55657a !important;
  font-size: .68rem !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-actions {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-actions form {
  display: grid !important;
  margin: 0 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-odds-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #55657a !important;
  text-decoration: none !important;
  font-size: .8rem !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-odds-toggle i {
  position: relative !important;
  display: inline-flex !important;
  width: 46px !important;
  height: 28px !important;
  flex: 0 0 46px !important;
  border-radius: 999px !important;
  background: #dfe6ef !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-odds-toggle i::before {
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .16) !important;
  content: "" !important;
  transition: transform .18s ease !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-odds-toggle.active i {
  background: #baff23 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-odds-toggle.active i::before {
  transform: translateX(18px) !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-icon-action {
  display: grid !important;
  width: 28px !important;
  height: 28px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #56657a !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-icon-action svg {
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.05 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-live-block,
body.favorites-app-page .favorites-app.matches-favorites-render .favorites-bucket {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 18px !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-live-block header,
body.favorites-app-page .favorites-app.matches-favorites-render .favorites-bucket > h2 {
  margin: 0 0 8px !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-live-block h2,
body.favorites-app-page .favorites-app.matches-favorites-render .favorites-bucket > h2 {
  margin: 0 0 2px !important;
  color: #172033 !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-live-block p {
  margin: 0 !important;
  color: #55657a !important;
  font-size: .68rem !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 12px !important;
  border: 0 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition summary {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 18px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  margin: 0 0 8px !important;
  list-style: none !important;
  cursor: pointer !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition summary::-webkit-details-marker {
  display: none !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition-icon {
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #111827 !important;
  color: #ffc52e !important;
  box-shadow: inset 0 0 0 2px #1cc5c6, inset 0 0 0 4px #5647ff !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition-icon svg {
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition summary strong {
  display: block !important;
  overflow: hidden !important;
  color: #172033 !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition summary small {
  display: block !important;
  margin-top: 2px !important;
  overflow: hidden !important;
  color: #55657a !important;
  font-size: .68rem !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition summary em {
  color: #6b7280 !important;
  font-size: 1.18rem !important;
  font-style: normal !important;
  line-height: 1 !important;
  transform: none !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-match-list {
  display: grid !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 6px !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-row,
body.favorites-app-page .favorites-app.matches-favorites-render .app-match-row.has-odds,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds {
  position: relative !important;
  display: grid !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: var(--match-status-w) minmax(0, 1fr) var(--match-score-w) var(--match-star-w) !important;
  align-items: center !important;
  gap: var(--match-row-gap) !important;
  min-height: var(--match-row-min-h) !important;
  height: auto !important;
  max-height: none !important;
  padding: var(--match-row-pad-y) var(--match-row-pad-x) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #172033 !important;
  text-decoration: none !important;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .035) !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds {
  grid-template-columns: var(--match-status-w) minmax(0, 1fr) minmax(0, var(--match-odds-w)) var(--match-score-w) var(--match-star-w) !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-row.is-live {
  border-left: 4px solid #ff244d !important;
  padding-left: 5px !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-status,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-status {
  display: grid !important;
  grid-column: 1 !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 36px !important;
  place-items: center !important;
  padding-right: 5px !important;
  border-right: 1px solid #dfe3ea !important;
  color: #55657a !important;
  text-decoration: none !important;
  font-size: var(--match-status-font) !important;
  font-weight: 620 !important;
  line-height: 1 !important;
  text-align: center !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-row.is-live .app-match-status,
body.favorites-app-page .favorites-app.matches-favorites-render .app-match-live-time,
body.favorites-app-page .favorites-app.matches-favorites-render .app-match-live-time.has-extra b,
body.favorites-app-page .favorites-app.matches-favorites-render .app-match-live-time.has-extra em {
  color: #ff244d !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-live-time.has-extra {
  display: grid !important;
  gap: 1px !important;
  justify-items: center !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-teams,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-teams {
  display: grid !important;
  grid-column: 2 !important;
  gap: 4px !important;
  min-width: 0 !important;
  padding-right: 0 !important;
  overflow: hidden !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-team,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-team {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-team-flag,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-team-flag {
  display: block !important;
  width: 20px !important;
  height: 14px !important;
  flex: 0 0 20px !important;
  align-self: center !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .10) !important;
  transform: none !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-team-flag img,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-team-flag img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
  transform: none !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-team strong,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-team strong {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #172033 !important;
  text-decoration: none !important;
  font-size: var(--match-team-font) !important;
  font-weight: 500 !important;
  line-height: 1.06 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-team.is-winner strong,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-team.is-winner strong {
  font-weight: 650 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-score,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-score {
  display: grid !important;
  grid-column: 3 !important;
  justify-items: center !important;
  align-self: center !important;
  gap: 4px !important;
  min-width: var(--match-score-w) !important;
  color: #172033 !important;
  position: static !important;
  z-index: auto !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-score {
  grid-column: 4 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-score strong,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-score strong {
  color: #172033 !important;
  text-decoration: none !important;
  font-size: var(--match-score-font) !important;
  font-weight: 760 !important;
  line-height: 1 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-row.is-live .app-match-score strong,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.is-live .app-match-score strong {
  color: #ff244d !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-star,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-star {
  display: grid !important;
  grid-column: 4 !important;
  width: var(--match-star-w) !important;
  height: var(--match-star-w) !important;
  place-items: center !important;
  color: #7b8794 !important;
  text-decoration: none !important;
  font-size: 1.3rem !important;
  line-height: 1 !important;
  position: static !important;
  z-index: auto !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-star {
  grid-column: 5 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-star.is-favorite,
body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-star.is-favorite {
  color: #ffc52e !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .app-match-odds {
  display: none !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-odds {
  position: static !important;
  grid-column: 3 !important;
  z-index: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: center !important;
  gap: 4px !important;
  overflow: visible !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: none !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-odds em {
  display: grid !important;
  grid-template-rows: var(--match-odd-label-h) var(--match-odd-box-h) !important;
  align-items: start !important;
  align-content: start !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  gap: 2px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #55657a !important;
  font-style: normal !important;
  font-size: var(--match-odd-label-font) !important;
  font-weight: 520 !important;
  justify-items: center !important;
  line-height: 1 !important;
  transform: none !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-odds em small {
  display: block !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--match-odd-label-h) !important;
  min-height: var(--match-odd-label-h) !important;
  max-height: var(--match-odd-label-h) !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  color: #667085 !important;
  text-decoration: none !important;
  font-size: var(--match-odd-label-font) !important;
  font-weight: 520 !important;
  line-height: var(--match-odd-label-h) !important;
  transform: none !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-odds strong {
  display: grid !important;
  grid-row: 2 !important;
  align-self: start !important;
  justify-self: center !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 27px !important;
  max-width: none !important;
  height: var(--match-odd-box-h) !important;
  min-height: var(--match-odd-box-h) !important;
  max-height: var(--match-odd-box-h) !important;
  place-items: center !important;
  padding: 0 3px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #edf1f5 !important;
  color: #172033 !important;
  text-decoration: none !important;
  font-size: var(--match-odd-font) !important;
  font-weight: 720 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: none !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  vertical-align: baseline !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-odds strong.is-winning-odd-value {
  grid-row: 2 !important;
  align-self: start !important;
  justify-self: center !important;
  height: var(--match-odd-box-h) !important;
  min-height: var(--match-odd-box-h) !important;
  max-height: var(--match-odd-box-h) !important;
  padding: 0 3px !important;
  margin: 0 !important;
  background: #baff23 !important;
  color: #071105 !important;
  transform: none !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  vertical-align: baseline !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-empty {
  display: grid !important;
  gap: 8px !important;
  padding: 14px !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #172033 !important;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .035) !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-empty strong {
  font-size: .92rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-empty p {
  margin: 0 !important;
  color: #667085 !important;
  font-size: .74rem !important;
  line-height: 1.35 !important;
}

body.favorites-app-page .favorites-app.matches-favorites-render .favorites-empty a {
  color: #2563eb !important;
  font-size: .74rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

@media (max-width: 390px) {
  body.favorites-app-page .favorites-app.matches-favorites-render {
    --match-status-w: 38px;
    --match-score-w: 18px;
    --match-star-w: 22px;
    --match-odds-w: 80px;
    --match-row-gap: 5px;
    --match-row-pad-y: 5px;
    --match-row-pad-x: 7px;
    --match-row-min-h: 50px;
    --match-team-font: .68rem;
    --match-status-font: .58rem;
    --match-score-font: .76rem;
    --match-odd-font: .5rem;
    --match-odd-label-font: .46rem;
    --match-odd-label-h: 7px;
    --match-odd-box-h: 17px;
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render .favorites-topbar {
    gap: 8px !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render .favorites-actions {
    gap: 7px !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render .favorites-odds-toggle {
    gap: 6px !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render .favorites-odds-toggle span {
    font-size: .76rem !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition summary {
    grid-template-columns: 30px minmax(0, 1fr) 16px !important;
    min-height: 38px !important;
    gap: 7px !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition-icon {
    width: 30px !important;
    height: 30px !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition-icon svg {
    width: 15px !important;
    height: 15px !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition summary strong {
    font-size: .84rem !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render .favorites-competition summary small {
    font-size: .62rem !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render .app-match-team,
  body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-match-team {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    gap: 4px !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render .app-team-flag,
  body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-row.has-odds .app-team-flag {
    width: 18px !important;
    height: 13px !important;
    flex-basis: 18px !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-odds {
    gap: 3px !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-odds strong {
    min-width: 24px !important;
    height: var(--match-odd-box-h) !important;
    min-height: var(--match-odd-box-h) !important;
    max-height: var(--match-odd-box-h) !important;
  }
}

@media (max-width: 350px) {
  body.favorites-app-page .favorites-app.matches-favorites-render {
    --match-status-w: 34px;
    --match-score-w: 16px;
    --match-star-w: 20px;
    --match-odds-w: 70px;
    --match-row-gap: 4px;
    --match-team-font: .63rem;
    --match-status-font: .54rem;
    --match-score-font: .7rem;
    --match-odd-font: .45rem;
    --match-odd-label-font: .42rem;
    --match-odd-label-h: 7px;
    --match-odd-box-h: 16px;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render .favorites-odds-toggle span {
    display: none !important;
  }

  body.favorites-app-page .favorites-app.matches-favorites-render.show-odds .app-match-odds strong {
    min-width: 21px !important;
    height: var(--match-odd-box-h) !important;
    min-height: var(--match-odd-box-h) !important;
    max-height: var(--match-odd-box-h) !important;
  }
}

/* 2026-07-02: readable footer and mobile nav on Favoris. */
body.favorites-app-page .site-footer,
body.app-page.favorites-app-page:not(.chat-page) .site-footer,
html[data-theme="light"] body.favorites-app-page .site-footer,
html[data-theme="light"] body.app-page.favorites-app-page:not(.chat-page) .site-footer {
  border-top: 1px solid rgba(15, 23, 42, .08) !important;
  background: #ffffff !important;
  color: #667085 !important;
  box-shadow: 0 -12px 30px rgba(15, 23, 42, .06) !important;
}

body.favorites-app-page .site-footer-inner,
body.app-page.favorites-app-page:not(.chat-page) .site-footer-inner,
html[data-theme="light"] body.favorites-app-page .site-footer-inner,
html[data-theme="light"] body.app-page.favorites-app-page:not(.chat-page) .site-footer-inner {
  background: transparent !important;
  color: inherit !important;
}

body.favorites-app-page .site-footer-col strong,
body.favorites-app-page .site-footer-bottom,
html[data-theme="light"] body.favorites-app-page .site-footer-col strong,
html[data-theme="light"] body.favorites-app-page .site-footer-bottom {
  color: #172033 !important;
}

body.favorites-app-page .site-footer a,
html[data-theme="light"] body.favorites-app-page .site-footer a {
  color: #536275 !important;
}

body.favorites-app-page .site-footer a:hover,
body.favorites-app-page .site-footer a:focus-visible,
html[data-theme="light"] body.favorites-app-page .site-footer a:hover,
html[data-theme="light"] body.favorites-app-page .site-footer a:focus-visible {
  color: #172033 !important;
}

@media (max-width: 899px) {
  body.favorites-app-page .bottom-nav,
  body.app-page.favorites-app-page .bottom-nav,
  html[data-theme="light"] body.favorites-app-page .bottom-nav,
  html[data-theme="light"] body.app-page.favorites-app-page .bottom-nav {
    position: fixed !important;
    right: auto !important;
    bottom: 0 !important;
    left: 50% !important;
    z-index: 120 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: min(100%, 760px) !important;
    min-height: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
    padding: 7px 10px calc(7px + env(safe-area-inset-bottom, 0px)) !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-bottom: 0 !important;
    border-radius: 22px 22px 0 0 !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 -14px 34px rgba(15, 23, 42, .12) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    transform: translateX(-50%) !important;
  }

  body.favorites-app-page .bottom-nav a,
  body.app-page.favorites-app-page .bottom-nav a,
  html[data-theme="light"] body.favorites-app-page .bottom-nav a,
  html[data-theme="light"] body.app-page.favorites-app-page .bottom-nav a {
    display: grid !important;
    min-width: 0 !important;
    min-height: 50px !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 4px !important;
    padding: 4px 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #7d8792 !important;
    box-shadow: none !important;
    font-size: .68rem !important;
    font-weight: 760 !important;
    line-height: 1.05 !important;
    text-decoration: none !important;
  }

  body.favorites-app-page .bottom-nav a.active,
  body.favorites-app-page .bottom-nav a.active .bottom-nav-icon,
  html[data-theme="light"] body.favorites-app-page .bottom-nav a.active,
  html[data-theme="light"] body.favorites-app-page .bottom-nav a.active .bottom-nav-icon {
    color: #111827 !important;
  }

  body.favorites-app-page .bottom-nav-icon,
  html[data-theme="light"] body.favorites-app-page .bottom-nav-icon {
    display: grid !important;
    width: 25px !important;
    height: 25px !important;
    place-items: center !important;
    border: 0 !important;
    background: transparent !important;
    color: currentColor !important;
    box-shadow: none !important;
  }

  body.favorites-app-page .bottom-nav-icon svg,
  html[data-theme="light"] body.favorites-app-page .bottom-nav-icon svg {
    width: 24px !important;
    height: 24px !important;
    stroke: currentColor !important;
  }

  body.favorites-app-page .bottom-nav a::before,
  body.favorites-app-page .bottom-nav a::after,
  html[data-theme="light"] body.favorites-app-page .bottom-nav a::before,
  html[data-theme="light"] body.favorites-app-page .bottom-nav a::after {
    content: none !important;
    display: none !important;
  }
}

/* 2026-07-02: configurable landscape promo banner on Matchs. */
body.matches-app-page .matches-promo-list {
  display: grid !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 16px 0 8px !important;
}

body.matches-app-page .matches-promo-slot {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.matches-app-page .matches-promo-slot a {
  display: block !important;
  width: 100% !important;
  line-height: 0 !important;
  overflow: hidden !important;
  border-radius: 13px !important;
  background: #0f141b !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .12) !important;
}

body.matches-app-page .matches-promo-slot img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}

@media (max-width: 899px) {
  body.matches-app-page .matches-promo-list {
    margin: 14px 0 calc(84px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* 2026-07-02: keep the Matchs header menu icon unframed like the other app pages. */
body.matches-app-page .app-header-menu,
html[data-theme="light"] body.matches-app-page .app-header-menu {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body.matches-app-page .app-header-menu::before,
body.matches-app-page .app-header-menu::after,
html[data-theme="light"] body.matches-app-page .app-header-menu::before,
html[data-theme="light"] body.matches-app-page .app-header-menu::after {
  content: none !important;
  display: none !important;
}

/* 2026-07-02: admin controls for the Matchs promo banner. */
.admin-promo-settings {
  display: grid !important;
  gap: 14px !important;
  padding: 16px !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .04) !important;
}

.admin-promo-settings > div:first-child {
  display: grid !important;
  gap: 5px !important;
}

.admin-promo-settings > div:first-child strong {
  color: var(--text) !important;
  font-size: 1rem !important;
}

.admin-promo-settings > div:first-child p {
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
}

.admin-toggle-row {
  display: flex !important;
  grid-auto-flow: column !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--text) !important;
  font-weight: 650 !important;
}

.admin-toggle-row input {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  accent-color: #b7ff18 !important;
}

.admin-promo-grid,
.admin-promo-upload {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.admin-promo-upload {
  align-items: start !important;
}

.admin-promo-preview {
  grid-column: 1 / -1 !important;
  overflow: hidden !important;
  margin: 0 !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
  border-radius: 14px !important;
  background: rgba(0, 0, 0, .18) !important;
}

.admin-promo-preview img {
  display: block !important;
  width: 100% !important;
  max-height: 260px !important;
  object-fit: cover !important;
  aspect-ratio: 16 / 9 !important;
}

.admin-promo-preview figcaption {
  padding: 9px 11px !important;
  color: var(--muted) !important;
  font-size: .78rem !important;
}

.admin-promo-preview.is-empty {
  min-height: 78px !important;
  display: grid !important;
  place-items: center !important;
}

@media (max-width: 760px) {
  .admin-promo-grid,
  .admin-promo-upload {
    grid-template-columns: 1fr !important;
  }
}

/* 2026-07-02: ZoneStat-like auth pages, using TopStats green. */
body.auth-page {
  min-height: 100dvh !important;
  background: #e9eaec !important;
  color: #172033 !important;
}

body.auth-page .app-header {
  background: #10151c !important;
}

body.auth-page .global-pro-banner,
body.auth-page .site-footer {
  display: none !important;
}

body.auth-page .auth-zs-shell {
  min-height: calc(100dvh - 84px) !important;
  align-items: start !important;
  justify-items: center !important;
  padding: 18px 16px 80px !important;
  background: #e9eaec !important;
}

body.auth-page .auth-zs-card {
  width: min(100%, 760px) !important;
  margin: 0 auto !important;
  padding: clamp(34px, 7vw, 58px) clamp(28px, 7vw, 52px) clamp(30px, 6vw, 46px) !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  color: #172033 !important;
  text-align: center !important;
}

body.auth-page .auth-zs-card h1 {
  margin: 0 0 28px !important;
  color: #172033 !important;
  font-size: clamp(1.62rem, 7vw, 2.18rem) !important;
  font-weight: 760 !important;
  line-height: 1.08 !important;
  letter-spacing: .01em !important;
}

body.auth-page .auth-zs-card > p {
  max-width: 620px !important;
  margin: 0 auto clamp(34px, 7vw, 48px) !important;
  color: #667085 !important;
  font-size: clamp(.98rem, 4vw, 1.22rem) !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

body.auth-page .auth-zs-form {
  display: grid !important;
  gap: 16px !important;
  width: 100% !important;
}

body.auth-page .auth-zs-form > input {
  width: 100% !important;
  min-height: 54px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #eef0f2 !important;
  color: #172033 !important;
  padding: 0 18px !important;
  box-shadow: none !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
}

body.auth-page .auth-zs-form > input::placeholder {
  color: #667085 !important;
  opacity: 1 !important;
}

body.auth-page .auth-zs-form > input:focus {
  box-shadow: 0 0 0 3px rgba(183, 255, 24, .28) !important;
}

body.auth-page .auth-zs-check {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 2px 0 8px !important;
  color: #667085 !important;
  text-align: left !important;
  font-size: .98rem !important;
  font-weight: 520 !important;
  line-height: 1.3 !important;
}

body.auth-page .auth-zs-check input {
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  accent-color: #b7ff18 !important;
}

body.auth-page .auth-zs-submit,
body.auth-page .auth-zs-cta {
  display: inline-flex !important;
  width: 100% !important;
  min-height: 56px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  font-size: 1rem !important;
  font-weight: 720 !important;
  line-height: 1 !important;
}

body.auth-page .auth-zs-submit {
  margin-top: 8px !important;
  background: #eef0f2 !important;
  color: #172033 !important;
}

body.auth-page .auth-zs-cta {
  margin-top: 28px !important;
  background: #b7ff18 !important;
  color: #071105 !important;
  box-shadow: 0 12px 22px rgba(139, 225, 19, .22) !important;
}

body.auth-page .auth-zs-main-action {
  margin-top: 12px !important;
}

body.auth-page .auth-zs-forgot,
body.auth-page .auth-zs-login {
  display: inline-flex !important;
  margin-top: 28px !important;
  color: #172033 !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.auth-page .auth-zs-social {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 14px 0 0 !important;
}

body.auth-page .auth-divider {
  margin: 22px 0 0 !important;
  color: #9aa4b2 !important;
}

body.auth-page .auth-divider::before,
body.auth-page .auth-divider::after {
  background: #eef0f2 !important;
}

body.auth-page .social-login {
  min-height: 46px !important;
  border: 1px solid #e2e6eb !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #172033 !important;
  box-shadow: none !important;
}

body.auth-page .social-login span {
  background: #eef0f2 !important;
  color: #172033 !important;
}

body.auth-page .social-login:hover,
body.auth-page .social-login:focus-visible {
  border-color: rgba(183, 255, 24, .7) !important;
  background: #faffef !important;
}

@media (max-width: 520px) {
  body.auth-page .auth-zs-shell {
    padding: 16px 18px 72px !important;
  }

  body.auth-page .auth-zs-card {
    padding: 32px 25px 30px !important;
  }

  body.auth-page .auth-zs-social {
    grid-template-columns: 1fr !important;
  }
}

/* 2026-07-02: compact auth controls to match the Matchs page scale. */
body.auth-page .auth-zs-shell {
  min-height: calc(100dvh - 78px) !important;
  padding: 16px 16px 58px !important;
}

body.auth-page .auth-zs-card {
  width: min(100%, 620px) !important;
  padding: 24px 22px 26px !important;
  border-radius: 14px !important;
}

body.auth-page .auth-zs-card h1 {
  margin: 0 0 16px !important;
  font-size: clamp(1.24rem, 5.2vw, 1.58rem) !important;
  font-weight: 720 !important;
  line-height: 1.08 !important;
}

body.auth-page .auth-zs-card > p {
  max-width: 460px !important;
  margin: 0 auto 24px !important;
  font-size: .86rem !important;
  font-weight: 500 !important;
  line-height: 1.32 !important;
}

body.auth-page .auth-zs-form {
  gap: 10px !important;
}

body.auth-page .auth-zs-form > input {
  min-height: 44px !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
}

body.auth-page .auth-zs-check {
  gap: 8px !important;
  margin: 0 0 4px !important;
  font-size: .78rem !important;
  font-weight: 520 !important;
  line-height: 1.25 !important;
}

body.auth-page .auth-zs-check input {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
}

body.auth-page .auth-zs-submit,
body.auth-page .auth-zs-cta {
  min-height: 46px !important;
  padding: 0 14px !important;
  font-size: .86rem !important;
  font-weight: 720 !important;
}

body.auth-page .auth-zs-submit {
  margin-top: 4px !important;
}

body.auth-page .auth-zs-cta {
  margin-top: 16px !important;
  box-shadow: 0 8px 16px rgba(139, 225, 19, .18) !important;
}

body.auth-page .auth-zs-main-action {
  margin-top: 4px !important;
}

body.auth-page .auth-divider {
  margin: 14px 0 0 !important;
  font-size: .68rem !important;
}

body.auth-page .auth-zs-social {
  gap: 8px !important;
  margin: 10px 0 0 !important;
}

body.auth-page .social-login {
  min-height: 40px !important;
  gap: 7px !important;
  font-size: .74rem !important;
  font-weight: 650 !important;
}

body.auth-page .social-login span {
  width: 20px !important;
  height: 20px !important;
  font-size: .78rem !important;
}

body.auth-page .social-login strong {
  line-height: 1.05 !important;
}

body.auth-page .auth-zs-forgot,
body.auth-page .auth-zs-login {
  margin-top: 18px !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
}

/* 2026-07-02: forgot password page aligned with compact auth screens. */
body.auth-page .auth-zs-forgot-card {
  min-height: 0 !important;
}

body.auth-page .auth-zs-forgot-form {
  text-align: left !important;
}

body.auth-page .auth-zs-field-label {
  display: block !important;
  margin: 0 0 -2px !important;
  color: #667085 !important;
  font-size: .78rem !important;
  font-weight: 560 !important;
  line-height: 1.2 !important;
}

body.auth-page .auth-zs-forgot-form .auth-zs-main-action {
  margin-top: 14px !important;
  background: #b7ff18 !important;
  color: #071105 !important;
}

body.auth-page .auth-zs-help-note {
  display: grid !important;
  gap: 6px !important;
  margin: 30px auto 0 !important;
  color: #667085 !important;
  text-align: center !important;
}

body.auth-page .auth-zs-help-note p {
  margin: 0 !important;
  color: inherit !important;
  font-size: .78rem !important;
  font-weight: 470 !important;
  line-height: 1.32 !important;
}

body.auth-page .auth-zs-forgot-card .auth-zs-login {
  margin-top: 18px !important;
}

@media (max-width: 520px) {
  body.auth-page .auth-zs-shell {
    padding: 14px 18px 52px !important;
  }

  body.auth-page .auth-zs-card {
    padding: 23px 20px 24px !important;
  }

  body.auth-page .auth-zs-help-note {
    margin-top: 26px !important;
  }
}

/* 2026-07-02: footer lisible sur Mon profil et Mon compte, sans toucher aux menus */
body.profile-app-page .site-footer,
body.app-page.profile-app-page:not(.chat-page) .site-footer,
html[data-theme="light"] body.profile-app-page .site-footer,
html[data-theme="light"] body.app-page.profile-app-page:not(.chat-page) .site-footer {
  margin-top: 22px !important;
  margin-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
  border-top: 1px solid rgba(15, 23, 42, .08) !important;
  background: #ffffff !important;
  color: #667085 !important;
  box-shadow: 0 -12px 30px rgba(15, 23, 42, .055) !important;
}

body.profile-app-page .site-footer-inner,
body.app-page.profile-app-page:not(.chat-page) .site-footer-inner,
html[data-theme="light"] body.profile-app-page .site-footer-inner,
html[data-theme="light"] body.app-page.profile-app-page:not(.chat-page) .site-footer-inner {
  background: transparent !important;
  color: inherit !important;
}

body.profile-app-page .site-footer-col strong,
body.profile-app-page .site-footer-bottom,
html[data-theme="light"] body.profile-app-page .site-footer-col strong,
html[data-theme="light"] body.profile-app-page .site-footer-bottom {
  color: #172033 !important;
}

body.profile-app-page .site-footer a,
html[data-theme="light"] body.profile-app-page .site-footer a {
  color: #536275 !important;
}

body.profile-app-page .site-footer a:hover,
body.profile-app-page .site-footer a:focus-visible,
html[data-theme="light"] body.profile-app-page .site-footer a:hover,
html[data-theme="light"] body.profile-app-page .site-footer a:focus-visible {
  color: #172033 !important;
}

/* 2026-07-02: footer lisible sur Historique TopStats et Affiliation, sans toucher aux menus */
body.neo-history-app-page .site-footer,
body.affiliate-dashboard-page .site-footer,
body.app-page.neo-history-app-page:not(.chat-page) .site-footer,
body.app-page.affiliate-dashboard-page:not(.chat-page) .site-footer,
html[data-theme="light"] body.neo-history-app-page .site-footer,
html[data-theme="light"] body.affiliate-dashboard-page .site-footer {
  margin-top: 22px !important;
  margin-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
  border-top: 1px solid rgba(15, 23, 42, .08) !important;
  background: #ffffff !important;
  color: #667085 !important;
  box-shadow: 0 -12px 30px rgba(15, 23, 42, .055) !important;
}

body.neo-history-app-page .site-footer-inner,
body.affiliate-dashboard-page .site-footer-inner,
html[data-theme="light"] body.neo-history-app-page .site-footer-inner,
html[data-theme="light"] body.affiliate-dashboard-page .site-footer-inner {
  background: transparent !important;
  color: inherit !important;
}

body.neo-history-app-page .site-footer-col strong,
body.affiliate-dashboard-page .site-footer-col strong,
body.neo-history-app-page .site-footer-bottom,
body.affiliate-dashboard-page .site-footer-bottom,
html[data-theme="light"] body.neo-history-app-page .site-footer-col strong,
html[data-theme="light"] body.affiliate-dashboard-page .site-footer-col strong,
html[data-theme="light"] body.neo-history-app-page .site-footer-bottom,
html[data-theme="light"] body.affiliate-dashboard-page .site-footer-bottom {
  color: #172033 !important;
}

body.neo-history-app-page .site-footer a,
body.affiliate-dashboard-page .site-footer a,
html[data-theme="light"] body.neo-history-app-page .site-footer a,
html[data-theme="light"] body.affiliate-dashboard-page .site-footer a {
  color: #536275 !important;
}

body.neo-history-app-page .site-footer a:hover,
body.neo-history-app-page .site-footer a:focus-visible,
body.affiliate-dashboard-page .site-footer a:hover,
body.affiliate-dashboard-page .site-footer a:focus-visible,
html[data-theme="light"] body.neo-history-app-page .site-footer a:hover,
html[data-theme="light"] body.neo-history-app-page .site-footer a:focus-visible,
html[data-theme="light"] body.affiliate-dashboard-page .site-footer a:hover,
html[data-theme="light"] body.affiliate-dashboard-page .site-footer a:focus-visible {
  color: #172033 !important;
}

/* 2026-07-02: compact global footer gap and light TopStats PRO pricing page */
body.app-page:not(.chat-page) .app-main:not(.analysis-layout) {
  padding-bottom: 16px !important;
}

body.app-page:not(.chat-page) .site-footer {
  margin-top: 14px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.app-page:not(.chat-page) .site-footer-inner {
  padding-top: 18px !important;
  padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px)) !important;
}

body.pro-app-page {
  background: #eef2f5 !important;
  color: #111827 !important;
}

body.pro-app-page::before {
  opacity: 1 !important;
  background: linear-gradient(180deg, #ffffff 0%, #eef2f5 100%) !important;
}

body.pro-app-page .global-pro-banner {
  display: none !important;
}

body.pro-app-page .pro-zs-page {
  width: min(100% - 28px, 760px) !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding-top: 14px !important;
  color: #111827 !important;
}

body.pro-app-page .pro-zs-hero {
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  gap: 6px !important;
  margin: 0 0 12px !important;
  padding: 18px 12px 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-align: center !important;
  box-shadow: none !important;
}

body.pro-app-page .pro-zs-hero .eyebrow {
  margin: 0 !important;
  color: #baff23 !important;
  font-size: .7rem !important;
  font-weight: 680 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.pro-app-page .pro-zs-hero h1 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: clamp(1.42rem, 6.1vw, 2.05rem) !important;
  font-weight: 640 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

body.pro-app-page .pro-zs-hero p:not(.eyebrow) {
  margin: 0 !important;
  color: #667085 !important;
  font-size: .9rem !important;
  font-weight: 470 !important;
  line-height: 1.28 !important;
}

body.pro-app-page .pro-zs-promo-code,
body.pro-app-page .pro-zs-active,
body.pro-app-page .pro-zs-cancel,
body.pro-app-page .pro-zs-pack-card {
  border: 1px solid rgba(15, 23, 42, .075) !important;
  background: #ffffff !important;
  color: #111827 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
}

body.pro-app-page .pro-zs-promo-code {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(260px, 1fr) !important;
  gap: 9px !important;
  align-items: end !important;
  margin: 0 0 10px !important;
  padding: 11px !important;
  border-radius: 15px !important;
}

body.pro-app-page .pro-zs-promo-code span,
body.pro-app-page .pro-zs-active span,
body.pro-app-page .pro-zs-cancel span,
body.pro-app-page .promo-price-note span {
  color: #6c9d00 !important;
  font-size: .58rem !important;
  font-weight: 620 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

body.pro-app-page .pro-zs-promo-code h2,
body.pro-app-page .pro-zs-active h2,
body.pro-app-page .pro-zs-cancel h2 {
  margin: 4px 0 5px !important;
  color: #111827 !important;
  font-size: .9rem !important;
  font-weight: 580 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
}

body.pro-app-page .pro-zs-promo-code p,
body.pro-app-page .pro-zs-active p,
body.pro-app-page .pro-zs-cancel p,
body.pro-app-page .disclaimer {
  margin: 0 !important;
  color: #667085 !important;
  font-size: .7rem !important;
  font-weight: 420 !important;
  line-height: 1.34 !important;
}

body.pro-app-page .promo-code-form {
  display: grid !important;
  gap: 5px !important;
}

body.pro-app-page .promo-code-form label {
  color: #667085 !important;
  font-size: .65rem !important;
  font-weight: 520 !important;
}

body.pro-app-page .promo-code-form > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
}

body.pro-app-page .promo-code-form input {
  min-height: 34px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  border-radius: 10px !important;
  background: #f3f5f7 !important;
  color: #111827 !important;
  font-size: .74rem !important;
  font-weight: 520 !important;
}

body.pro-app-page .pro-zs-pack-list {
  display: grid !important;
  gap: 12px !important;
  margin: 0 !important;
}

body.pro-app-page .pro-zs-pack-card {
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  gap: 14px !important;
  padding: 20px !important;
  border-radius: 22px !important;
}

body.pro-app-page .pro-zs-pack-card.is-featured {
  border-color: rgba(170, 255, 18, .90) !important;
  box-shadow: 0 12px 30px rgba(100, 116, 139, .10), inset 0 0 0 1px rgba(170, 255, 18, .32) !important;
}

body.pro-app-page .pro-zs-pack-card.is-season {
  border-color: rgba(124, 196, 0, .32) !important;
  background:
    radial-gradient(circle at 92% 0%, rgba(255, 255, 255, .42), transparent 30%),
    linear-gradient(145deg, #baff23 0%, #9df012 58%, #7dcc00 100%) !important;
  color: #071105 !important;
  box-shadow: 0 12px 30px rgba(124, 196, 0, .18) !important;
}

body.pro-app-page .pro-zs-ribbon {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  min-height: 34px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-bottom-left-radius: 14px !important;
  background: #aaff12 !important;
  color: #071105 !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

body.pro-app-page .pro-zs-ribbon.is-soft {
  top: 18px !important;
  right: 18px !important;
  min-height: 28px !important;
  border-radius: 999px !important;
  background: rgba(7, 17, 5, .84) !important;
  color: #ffffff !important;
}

body.pro-app-page .pro-zs-pack-copy h2 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: 1.25rem !important;
  font-weight: 660 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

body.pro-app-page .pro-zs-pack-card.is-season .pro-zs-pack-copy h2 {
  color: #071105 !important;
}

body.pro-app-page .pro-zs-pack-copy p {
  margin: 10px 0 0 !important;
  color: #667085 !important;
  font-size: .84rem !important;
  font-weight: 450 !important;
  line-height: 1.36 !important;
}

body.pro-app-page .pro-zs-pack-card.is-season .pro-zs-pack-copy p,
body.pro-app-page .pro-zs-pack-card.is-season .pro-zs-price span,
body.pro-app-page .pro-zs-pack-card.is-season .pro-zs-unlock-label,
body.pro-app-page .pro-zs-pack-card.is-season .pro-zs-benefits li.is-muted {
  color: rgba(7, 17, 5, .70) !important;
}

body.pro-app-page .pro-zs-price {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px 10px !important;
  align-items: baseline !important;
}

body.pro-app-page .pro-zs-price strong {
  color: #111827 !important;
  font-size: clamp(2.1rem, 9vw, 2.75rem) !important;
  font-weight: 760 !important;
  line-height: .95 !important;
  letter-spacing: 0 !important;
}

body.pro-app-page .pro-zs-pack-card.is-season .pro-zs-price strong {
  color: #071105 !important;
}

body.pro-app-page .pro-zs-price del {
  color: #667085 !important;
  font-size: 1rem !important;
  font-weight: 520 !important;
  text-decoration-color: #111827 !important;
}

body.pro-app-page .pro-zs-price span {
  color: #667085 !important;
  font-size: .9rem !important;
  font-weight: 520 !important;
}

body.pro-app-page .pro-zs-pack-card .btn,
body.pro-app-page .pro-zs-active .btn,
body.pro-app-page .pro-zs-cancel .btn,
body.pro-app-page .promo-code-form .btn {
  min-height: 44px !important;
  border-radius: 13px !important;
  font-size: .86rem !important;
  font-weight: 650 !important;
}

body.pro-app-page .pro-zs-pack-card .btn-primary,
body.pro-app-page .pro-zs-active .btn-primary {
  background: #aaff12 !important;
  color: #071105 !important;
  box-shadow: none !important;
}

body.pro-app-page .pro-zs-pack-card.is-season .btn-primary {
  background: #ffffff !important;
  color: #071105 !important;
  box-shadow: 0 10px 20px rgba(7, 17, 5, .12) !important;
}

body.pro-app-page .btn-soft,
body.pro-app-page .btn-ghost {
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: #f3f5f7 !important;
  color: #111827 !important;
  box-shadow: none !important;
}

body.pro-app-page .pro-zs-unlock-label {
  margin-top: 2px !important;
  color: #667085 !important;
  font-size: .8rem !important;
  font-weight: 560 !important;
}

body.pro-app-page .pro-zs-unlock-label mark {
  padding: 2px 6px !important;
  border-radius: 7px !important;
  background: rgba(170, 255, 18, .28) !important;
  color: #395c00 !important;
}

body.pro-app-page .pro-zs-pack-card.is-season .pro-zs-unlock-label mark {
  background: #ffffff !important;
  color: #071105 !important;
}

body.pro-app-page .pro-zs-benefits {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.pro-app-page .pro-zs-benefits li {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 9px !important;
  align-items: start !important;
  color: #111827 !important;
  font-size: .84rem !important;
  font-weight: 500 !important;
  line-height: 1.28 !important;
}

body.pro-app-page .pro-zs-pack-card.is-season .pro-zs-benefits li {
  color: #071105 !important;
}

body.pro-app-page .pro-zs-pack-card.is-season .pro-zs-benefits li::before {
  border-color: #ffffff !important;
  background: #ffffff !important;
  color: #071105 !important;
}

body.pro-app-page .pro-zs-benefits li::before {
  display: inline-flex !important;
  width: 17px !important;
  height: 17px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid #aaff12 !important;
  border-radius: 999px !important;
  color: #6c9d00 !important;
  font-size: .66rem !important;
  font-weight: 780 !important;
  content: "✓" !important;
}

body.pro-app-page .pro-zs-pack-card.is-season .pro-zs-benefits li::before {
  border-color: #ffffff !important;
  background: #ffffff !important;
  color: #071105 !important;
}

body.pro-app-page .pro-zs-benefits li.is-muted {
  padding-top: 10px !important;
  border-top: 1px solid rgba(15, 23, 42, .08) !important;
  color: #98a2b3 !important;
}

body.pro-app-page .pro-zs-pack-card.is-season .pro-zs-benefits li.is-muted {
  border-top-color: rgba(7, 17, 5, .16) !important;
}

body.pro-app-page .pro-zs-cancel,
body.pro-app-page .pro-zs-active {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 0 12px !important;
  padding: 14px !important;
  border-radius: 18px !important;
}

body.pro-app-page .disclaimer {
  margin: 12px 0 0 !important;
  text-align: center !important;
}

body.pro-app-page .site-footer,
html[data-theme="light"] body.pro-app-page .site-footer {
  border-top: 1px solid rgba(15, 23, 42, .08) !important;
  background: #ffffff !important;
  color: #667085 !important;
  box-shadow: 0 -10px 24px rgba(15, 23, 42, .045) !important;
}

body.pro-app-page .site-footer-inner,
html[data-theme="light"] body.pro-app-page .site-footer-inner {
  background: transparent !important;
  color: #667085 !important;
}

body.pro-app-page footer.site-footer *,
html[data-theme="light"] body.pro-app-page footer.site-footer * {
  text-shadow: none !important;
}

body.pro-app-page .site-footer-col strong,
body.pro-app-page .site-footer-bottom,
body.pro-app-page .site-footer-bottom span,
html[data-theme="light"] body.pro-app-page .site-footer-col strong,
html[data-theme="light"] body.pro-app-page .site-footer-bottom,
html[data-theme="light"] body.pro-app-page .site-footer-bottom span {
  color: #172033 !important;
}

body.pro-app-page .site-footer a,
body.pro-app-page .site-footer small,
html[data-theme="light"] body.pro-app-page .site-footer a {
  color: #536275 !important;
}

body.pro-app-page .site-footer small,
html[data-theme="light"] body.pro-app-page .site-footer small {
  color: #667085 !important;
}

body.pro-app-page .site-footer a:hover,
body.pro-app-page .site-footer a:focus-visible,
html[data-theme="light"] body.pro-app-page .site-footer a:hover,
html[data-theme="light"] body.pro-app-page .site-footer a:focus-visible {
  color: #172033 !important;
}

body.pro-app-page footer.site-footer .site-footer-col a,
body.pro-app-page footer.site-footer .site-footer-bottom small,
html[data-theme="light"] body.pro-app-page footer.site-footer .site-footer-col a,
html[data-theme="light"] body.pro-app-page footer.site-footer .site-footer-bottom small {
  color: #536275 !important;
}

body.pro-app-page footer.site-footer .site-footer-col strong,
body.pro-app-page footer.site-footer .site-footer-bottom span,
html[data-theme="light"] body.pro-app-page footer.site-footer .site-footer-col strong,
html[data-theme="light"] body.pro-app-page footer.site-footer .site-footer-bottom span {
  color: #172033 !important;
}

@media (max-width: 899px) {
  body.pro-app-page .bottom-nav,
  html[data-theme="light"] body.pro-app-page .bottom-nav {
    border-color: rgba(15, 23, 42, .08) !important;
    background: rgba(255, 255, 255, .98) !important;
    color: #7d8792 !important;
    box-shadow: 0 -14px 34px rgba(15, 23, 42, .12) !important;
  }

  body.pro-app-page .bottom-nav a,
  html[data-theme="light"] body.pro-app-page .bottom-nav a {
    color: #7d8792 !important;
  }

  body.pro-app-page .bottom-nav a.active,
  html[data-theme="light"] body.pro-app-page .bottom-nav a.active {
    color: #111827 !important;
  }
}

@media (max-width: 760px) {
  body.app-page:not(.chat-page) .app-main:not(.analysis-layout) {
    padding-bottom: 10px !important;
  }

  body.app-page:not(.chat-page) .site-footer {
    margin-top: 10px !important;
  }

  body.pro-app-page .pro-zs-page {
    width: min(100% - 24px, 560px) !important;
    padding-top: 12px !important;
  }

  body.pro-app-page .pro-zs-hero {
    padding: 16px 10px 12px !important;
    border-radius: 0 !important;
  }

  body.pro-app-page .pro-zs-promo-code,
  body.pro-app-page .pro-zs-active,
  body.pro-app-page .pro-zs-cancel {
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.pro-app-page .promo-code-form > div {
    grid-template-columns: 1fr !important;
  }

  body.pro-app-page .pro-zs-pack-card {
    padding: 18px !important;
    border-radius: 20px !important;
  }
}

/* 2026-07-02: Avis du jour, outils actifs et teinte PRO TopStats. */
body.recommendations-app-page .recommendations-tools {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

body.recommendations-app-page .recommendations-search {
  cursor: text !important;
}

body.recommendations-app-page .recommendations-search input {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #172033 !important;
  font: inherit !important;
  font-weight: 560 !important;
  letter-spacing: 0 !important;
  appearance: none !important;
}

body.recommendations-app-page .recommendations-search input::placeholder {
  color: #96a0ad !important;
  opacity: 1 !important;
}

body.recommendations-app-page .recommendations-tool-button {
  min-width: 84px !important;
  cursor: pointer !important;
}

body.recommendations-app-page .recommendations-tool-button:active {
  transform: translateY(1px) !important;
}

body.recommendations-app-page .recommendations-pro-card {
  background:
    radial-gradient(circle at 94% 10%, rgba(255, 255, 255, .32), transparent 34%),
    radial-gradient(circle at 10% 0%, rgba(186, 255, 35, .28), transparent 36%),
    linear-gradient(135deg, #08110d 0%, #18320d 48%, #7dcc00 100%) !important;
  box-shadow: 0 16px 32px rgba(124, 196, 0, .18) !important;
}

body.recommendations-app-page .recommendations-pro-card::after {
  background: linear-gradient(135deg, transparent 16%, rgba(186, 255, 35, .16) 17% 37%, transparent 38% 48%, rgba(255, 255, 255, .13) 49% 69%, transparent 70%) !important;
}

body.recommendations-app-page .recommendations-pro-card.is-unlocked {
  background:
    radial-gradient(circle at 92% 12%, rgba(186, 255, 35, .26), transparent 34%),
    linear-gradient(135deg, #101820, #18320d) !important;
}

body.recommendations-app-page .recommendations-day-card.is-filter-hidden,
body.recommendations-app-page .recommendations-day-list.is-filter-hidden {
  display: none !important;
}

body.recommendations-app-page .recommendations-day-metrics {
  align-items: center !important;
}

body.recommendations-app-page .recommendations-day-analysis {
  display: inline-flex !important;
  min-height: 24px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: #baff23 !important;
  color: #071105 !important;
  font-size: .64rem !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.recommendations-app-page .recommendations-day-actions {
  display: contents !important;
}

body.recommendations-app-page .recommendations-filter-empty {
  margin-top: 10px !important;
}

@media (max-width: 430px) {
  body.recommendations-app-page .recommendations-tools {
    grid-template-columns: minmax(0, 1fr) 76px !important;
  }

  body.recommendations-app-page .recommendations-tool-button {
    min-width: 76px !important;
  }

  body.recommendations-app-page .recommendations-day-analysis {
    min-height: 23px !important;
    padding: 0 9px !important;
    font-size: .62rem !important;
  }
}

/* 2026-07-02: desktop-only wide TopStats PRO presentation. */
@media (min-width: 1100px) {
  body.pro-app-page {
    min-height: 100vh !important;
    overflow-x: hidden !important;
    background:
      radial-gradient(circle at 24% 12%, rgba(167, 255, 19, .12), transparent 34%),
      radial-gradient(circle at 78% 18%, rgba(135, 72, 19, .35), transparent 38%),
      linear-gradient(180deg, #101419 0%, #070809 58%, #020303 100%) !important;
    color: #ffffff !important;
  }

  body.pro-app-page::before {
    opacity: 1 !important;
    background:
      radial-gradient(circle at 20% 18%, rgba(167, 255, 19, .10), transparent 28%),
      radial-gradient(circle at 70% 8%, rgba(95, 42, 16, .42), transparent 34%),
      linear-gradient(180deg, rgba(17, 24, 39, .26), rgba(0, 0, 0, .72)) !important;
  }

  body.pro-app-page .app-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 80 !important;
    background: #0d1116 !important;
    box-shadow: none !important;
  }

  body.pro-app-page .pro-zs-page {
    width: min(100% - 120px, 1680px) !important;
    max-width: 1680px !important;
    margin: 0 auto !important;
    padding: 72px 0 64px !important;
    color: #ffffff !important;
  }

  body.pro-app-page .pro-zs-hero {
    max-width: 760px !important;
    margin: 0 auto 46px !important;
    padding: 0 !important;
    text-align: center !important;
    background: transparent !important;
  }

  body.pro-app-page .pro-zs-hero h1 {
    color: #ffffff !important;
    font-size: clamp(1.9rem, 2.75vw, 2.85rem) !important;
    font-weight: 640 !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
  }

  body.pro-app-page .pro-zs-hero p:not(.eyebrow) {
    margin-top: 10px !important;
    color: rgba(255, 255, 255, .66) !important;
    font-size: clamp(.92rem, 1.05vw, 1.1rem) !important;
    font-weight: 430 !important;
    line-height: 1.2 !important;
  }

  body.pro-app-page .pro-zs-promo-code {
    width: min(620px, 100%) !important;
    grid-template-columns: minmax(0, .75fr) minmax(220px, 1fr) !important;
    gap: 10px !important;
    margin: 0 auto 26px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    border-color: rgba(255, 255, 255, .10) !important;
    background: rgba(255, 255, 255, .08) !important;
    box-shadow: none !important;
    color: #ffffff !important;
  }

  body.pro-app-page .pro-zs-promo-code h2,
  body.pro-app-page .pro-zs-promo-code p,
  body.pro-app-page .promo-code-form label {
    color: rgba(255, 255, 255, .84) !important;
  }

  body.pro-app-page .pro-zs-promo-code h2 {
    font-size: .86rem !important;
    font-weight: 560 !important;
  }

  body.pro-app-page .pro-zs-promo-code p,
  body.pro-app-page .promo-code-form label {
    font-size: .66rem !important;
    font-weight: 390 !important;
  }

  body.pro-app-page .pro-zs-promo-code span {
    font-size: .54rem !important;
    font-weight: 610 !important;
  }

  body.pro-app-page .promo-code-form input,
  body.pro-app-page .promo-code-form .btn {
    min-height: 32px !important;
    border-radius: 9px !important;
    font-size: .68rem !important;
    font-weight: 560 !important;
  }

  body.pro-app-page .pro-zs-pack-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  body.pro-app-page .pro-zs-pack-card {
    min-height: 520px !important;
    align-content: start !important;
    gap: 14px !important;
    padding: 22px !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .22) !important;
  }

  body.pro-app-page .pro-zs-pack-card[data-pack-key="pro_weekly"] {
    order: 1 !important;
  }

  body.pro-app-page .pro-zs-pack-card[data-pack-key="pro_monthly"] {
    order: 2 !important;
  }

  body.pro-app-page .pro-zs-pack-card[data-pack-key="pro_6months"] {
    order: 3 !important;
  }

  body.pro-app-page .pro-zs-pack-card.is-featured {
    border-width: 2px !important;
    border-color: #a7ff13 !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .22), inset 0 0 0 1px rgba(167, 255, 19, .34) !important;
  }

  body.pro-app-page .pro-zs-pack-card.is-season {
    border-color: rgba(167, 255, 19, .34) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(255, 255, 255, .38), transparent 30%),
      linear-gradient(155deg, #befc28 0%, #92e600 54%, #35b40c 100%) !important;
    color: #071105 !important;
  }

  body.pro-app-page .pro-zs-pack-copy h2 {
    font-size: 1.32rem !important;
    font-weight: 620 !important;
  }

  body.pro-app-page .pro-zs-pack-copy p {
    min-height: 38px !important;
    font-size: .82rem !important;
    font-weight: 420 !important;
  }

  body.pro-app-page .pro-zs-price strong {
    font-size: clamp(1.95rem, 2.2vw, 2.45rem) !important;
    font-weight: 700 !important;
  }

  body.pro-app-page .pro-zs-pack-card .btn,
  body.pro-app-page .pro-zs-active .btn,
  body.pro-app-page .pro-zs-cancel .btn,
  body.pro-app-page .promo-code-form .btn {
    min-height: 44px !important;
    border-radius: 10px !important;
    font-size: .84rem !important;
    font-weight: 620 !important;
  }

  body.pro-app-page .pro-zs-benefits {
    gap: 10px !important;
  }

  body.pro-app-page .pro-zs-benefits li {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    gap: 9px !important;
    font-size: .82rem !important;
    font-weight: 460 !important;
  }

  body.pro-app-page .pro-zs-benefits li::before {
    width: 16px !important;
    height: 16px !important;
    font-size: .6rem !important;
  }

  body.pro-app-page .disclaimer {
    color: rgba(255, 255, 255, .54) !important;
  }

  body.pro-app-page .site-footer,
  html[data-theme="light"] body.pro-app-page .site-footer {
    border-top: 1px solid rgba(255, 255, 255, .10) !important;
    background: #0d1116 !important;
    color: rgba(255, 255, 255, .72) !important;
    box-shadow: none !important;
  }

  body.pro-app-page .site-footer-inner,
  html[data-theme="light"] body.pro-app-page .site-footer-inner {
    background: transparent !important;
    color: rgba(255, 255, 255, .72) !important;
  }

  body.pro-app-page footer.site-footer .site-footer-col strong,
  body.pro-app-page footer.site-footer .site-footer-bottom span,
  html[data-theme="light"] body.pro-app-page footer.site-footer .site-footer-col strong,
  html[data-theme="light"] body.pro-app-page footer.site-footer .site-footer-bottom span {
    color: #ffffff !important;
  }

  body.pro-app-page footer.site-footer .site-footer-col a,
  body.pro-app-page footer.site-footer .site-footer-bottom small,
  body.pro-app-page footer.site-footer small,
  html[data-theme="light"] body.pro-app-page footer.site-footer .site-footer-col a,
  html[data-theme="light"] body.pro-app-page footer.site-footer .site-footer-bottom small,
  html[data-theme="light"] body.pro-app-page footer.site-footer small {
    color: rgba(255, 255, 255, .70) !important;
  }

  body.pro-app-page footer.site-footer .site-footer-col a:hover,
  body.pro-app-page footer.site-footer .site-footer-col a:focus-visible,
  html[data-theme="light"] body.pro-app-page footer.site-footer .site-footer-col a:hover,
  html[data-theme="light"] body.pro-app-page footer.site-footer .site-footer-col a:focus-visible {
    color: #a7ff13 !important;
  }
}

/* 2026-07-05: TopStats PRO pack CTA visibility. */
@keyframes topstats-pack-cta-pulse {
  0%, 100% {
    transform: translateY(0) scale(1);
    filter: drop-shadow(0 10px 18px rgba(126, 214, 0, .18));
  }
  50% {
    transform: translateY(-1px) scale(1.025);
    filter: drop-shadow(0 16px 26px rgba(126, 214, 0, .34));
  }
}

body.pro-app-page .pro-zs-pack-card form {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

body.pro-app-page .pro-zs-pack-card form .btn,
body.pro-app-page .pro-zs-pack-card form button.btn-primary {
  width: 75% !important;
  max-width: 360px !important;
  min-width: 0 !important;
  margin-inline: auto !important;
  text-align: center !important;
  animation: topstats-pack-cta-pulse 1.9s ease-in-out infinite !important;
  will-change: transform, filter !important;
}

body.pro-app-page .pro-zs-pack-card form .btn:hover,
body.pro-app-page .pro-zs-pack-card form .btn:focus-visible,
body.pro-app-page .pro-zs-pack-card form button.btn-primary:hover,
body.pro-app-page .pro-zs-pack-card form button.btn-primary:focus-visible {
  animation-play-state: paused !important;
  transform: translateY(-1px) scale(1.025) !important;
}

@media (prefers-reduced-motion: reduce) {
  body.pro-app-page .pro-zs-pack-card form .btn,
  body.pro-app-page .pro-zs-pack-card form button.btn-primary {
    animation: none !important;
  }
}

/* 2026-07-05: subtle screenshot watermark on match sheets. */
.analysis-zonestat-detail .analysis-v2-score {
  position: relative !important;
  isolation: isolate;
}

.analysis-zonestat-detail .analysis-v2-score .analysis-v2-watermark {
  display: block !important;
  margin: 0 0 4px !important;
  color: rgba(255, 255, 255, .16) !important;
  font-size: clamp(.52rem, 1.6vw, .74rem) !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  pointer-events: none !important;
  user-select: none !important;
  text-shadow: 0 1px 10px rgba(255, 255, 255, .08);
  mix-blend-mode: screen;
}

.analysis-zonestat-detail .analysis-v2-score strong,
.analysis-zonestat-detail .analysis-v2-score span:not(.analysis-v2-watermark) {
  position: relative;
  z-index: 1;
}

@media (min-width: 1100px) {
  .analysis-zonestat-detail .analysis-v2-score .analysis-v2-watermark {
    margin-bottom: 5px !important;
    font-size: .68rem !important;
    letter-spacing: .16em !important;
  }
}

@media (max-width: 480px) {
  .analysis-zonestat-detail .analysis-v2-score .analysis-v2-watermark {
    margin-bottom: 3px !important;
    font-size: .54rem !important;
    letter-spacing: .12em !important;
  }
}
