
.odds-page{
  --bg:#121a27;
  --info-font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --info-font-size:24px;
  --info-team-size:24px;
  --league-font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --league-font-size:13px;
  --info-time-size:22px;
  --info-sub-size:12px;
  --quote-font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --quote-font-size:22px;
  --quote-miss-size:16px;
  --quote-payout-size:11px;
  --quote-arrow-size:11px;
  --bg-soft:#182233;
  --bg-panel:#202b3a;
  --bg-panel-2:#263244;
  --line:#39465a;
  --line-soft:#4b5a70;
  --text:#f5f7fb;
  --text-soft:#cbd5e1;
  --muted:#a8b3c4;
  --accent:#ffd84d;
  --best:#31d97c;
  --summary:#bcd4ff;
  min-height:calc(100vh - 92px);
  margin:-8px -22px -12px;
  padding:10px 22px 28px;
  background:
    radial-gradient(circle at 12% 0%, rgba(36,79,128,.18) 0, rgba(36,79,128,0) 34%),
    linear-gradient(180deg,#101826 0%, #151f2d 42%, #172130 100%);
  color:var(--text);
}

.odds-page.theme-light{
  --bg:#eef2f6;
  --bg-soft:#f8fafc;
  --bg-panel:#ffffff;
  --bg-panel-2:#f7f9fc;
  --line:#dbe2ea;
  --line-soft:#cfd7e1;
  --text:#0f172a;
  --text-soft:#334155;
  --muted:#64748b;
  --accent:#0f172a;
  --best:#16a34a;
  --summary:#1d4ed8;
  background:linear-gradient(180deg,#eef6fb 0%,#e8f2f8 100%);
}

.odds-page.prefs-pending{
  visibility:hidden;
}

.odds-page .card{
  background:var(--bg-panel);
  border-color:var(--line);
  box-shadow:none;
}

.odds-page .muted,
.odds-page .odds-modal-sub{
  color:var(--muted);
}

.odds-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:8px 10px 18px;
  position:sticky;
  top:10px;
  z-index:50;
  margin-bottom:10px;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-gutter:stable both-edges;
  background-clip:padding-box;
}

.toolbar-menu-portal{
  position:fixed;
  inset:0;
  z-index:140;
  pointer-events:none;
}

.toolbar-menu-portal.has-open-menu{
  pointer-events:none;
}

.toolbar-menu.is-floating{
  position:fixed;
  pointer-events:auto;
  z-index:150;
}

.odds-toolbar.picker-open{
  overflow:visible;
  padding-bottom:10px;
}

.odds-toolbar.picker-open::-webkit-scrollbar{
  display:none;
}

.toolbar-left,
.toolbar-right{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  flex:0 0 auto;
}

.toolbar-right{
  margin-left:8px;
}

.toolbar-meta{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}

.toolbar-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--bg-soft);
  color:var(--text-soft);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.toolbar-pager{
  flex-wrap:nowrap;
}

.toolbar-picker{
  position:relative;
}

.toolbar-picker > summary{
  list-style:none;
  cursor:pointer;
  border:1px solid var(--line);
  background:var(--bg-soft);
  color:var(--text);
  border-radius:8px;
  padding:7px 10px;
  font-size:12px;
  font-weight:700;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}

.toolbar-picker > summary::-webkit-details-marker{ display:none; }

.picker-pill{
  color:var(--accent);
  font-weight:700;
}

.toolbar-picker[open] > summary{
  border-color:var(--line-soft);
}

.toolbar-menu{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  min-width:220px;
  max-height:300px;
  overflow:auto;
  padding:8px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--bg-panel);
  box-shadow:0 14px 30px rgba(0,0,0,.22);
  z-index:120;
}


.markets-menu{ min-width:260px; }

.check-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:6px 4px;
  color:var(--text-soft);
  font-size:12px;
  font-weight:600;
}

.check-row input{
  margin:0;
}

.toolbar-toggle{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--bg-soft);
  color:var(--text);
  font-size:12px;
  font-weight:700;
}

.toolbar-inline{
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 2px;
}

.mini-label{
  font-size:12px;
  font-weight:700;
  color:var(--text-soft);
  margin:0;
}

.mini-input{
  border:1px solid var(--line);
  background:var(--bg-soft);
  color:var(--text);
  border-radius:8px;
  padding:7px 9px;
  min-height:34px;
  font-size:12px;
  font-weight:700;
}

.odds-page input.mini-input,
.odds-page select.mini-input{
  width:auto;
}

.odds-toolbar .btn{
  min-height:38px;
  height:38px;
  border-radius:12px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}

.search-input{ width:170px !important; }
.short-input{ width:44px !important; text-align:center; }
.font-inline .mini-input{ min-width:118px; }
.size-inline .mini-input,
.size-select{ min-width:66px !important; }

.theme-btn{
  min-width:74px;
}

.odds-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:6px 0 10px;
  color:var(--text-soft);
}

.status-strong{
  font-size:18px;
  color:var(--accent);
  font-weight:800;
}

.pager-inline{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}

.pager-inline a,
.pager-inline span{
  min-width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  border:1px solid var(--line);
  background:var(--bg-panel);
  color:var(--text-soft);
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  padding:0 8px;
}

.pager-inline .active{
  background:var(--bg-soft);
  color:var(--accent);
}

.pager-inline .disabled{
  opacity:.45;
  pointer-events:none;
}

.odds-empty{
  color:var(--text-soft);
}

.odds-table-wrap{
  overflow-x:scroll;
  overflow-y:visible;
  padding:0 0 8px;
  scrollbar-gutter:stable both-edges;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}

.odds-table-wrap::-webkit-scrollbar,
.odm-table-wrap::-webkit-scrollbar{
  height:12px;
  width:12px;
}

.odds-table-wrap::-webkit-scrollbar-thumb,
.odm-table-wrap::-webkit-scrollbar-thumb{
  background:var(--line-soft);
  border-radius:999px;
  border:2px solid var(--bg-panel);
}

.odds-table-wrap::-webkit-scrollbar-track,
.odm-table-wrap::-webkit-scrollbar-track{
  background:var(--bg-soft);
  border-radius:999px;
}

.odds-table{
  width:100%;
  min-width:1640px;
  border-collapse:separate;
  border-spacing:0;
  background:var(--bg-panel);
  font-family:var(--info-font-family);
  font-size:14px;
}

.odds-table thead th{
  position:sticky;
  z-index:5;
  background:var(--bg-panel-2);
  color:var(--text);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.03em;
  border-bottom:1px solid var(--line);
  padding:6px 8px;
  text-align:center;
}

.odds-table thead .group-row th{
  top:0;
  z-index:7;
  background:var(--bg-panel);
  color:var(--text-soft);
  padding-top:5px;
  padding-bottom:5px;
}

.odds-table thead .subhead-row th{
  top:31px;
  z-index:6;
  padding-top:4px;
  padding-bottom:4px;
}

.market-group-col{
  font-size:10px !important;
  letter-spacing:.08em !important;
}

.market-sep{
  border-left:2px solid var(--line-soft) !important;
}

.odds-table thead .group-row .market-sep{
  box-shadow: inset 2px 0 0 var(--line-soft);
}

.odds-table tbody td{
  border-bottom:1px solid var(--line);
  padding:4px 4px;
  background:var(--bg-panel);
  vertical-align:middle;
}

.odds-table tbody tr.event-row:hover td{
  background:var(--bg-soft);
}

.time-col{
  width:46px;
  min-width:46px;
  text-align:center;
}

.time-main{
  font-family:var(--info-font-family);
  font-size:var(--info-time-size);
  line-height:1;
  font-weight:800;
  color:var(--accent);
}

.time-sub{
  margin-top:4px;
  font-family:var(--info-font-family);
  font-size:var(--info-sub-size);
  color:var(--text-soft);
  font-weight:700;
  text-transform:capitalize;
}

.event-col{
  min-width:330px;
  max-width:330px;
}

.event-open{
  width:100%;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  padding:0;
  cursor:pointer;
}

.league-line{
  font-family:var(--league-font-family);
  font-size:var(--league-font-size);
  color:var(--text-soft);
  margin-bottom:1px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.teams-line{
  font-family:var(--info-font-family);
  font-size:var(--info-team-size);
  line-height:0.96;
  font-weight:800;
  letter-spacing:-.01em;
}

.agio-line{
  margin-top:6px;
  font-family:var(--info-font-family);
  font-size:var(--info-sub-size);
  color:var(--muted);
  font-weight:700;
}

.event-payout-row td{
  padding-top:8px !important;
  padding-bottom:2px !important;
  border-bottom:0 !important;
}

.event-odds-row td{
  padding-top:0 !important;
  padding-bottom:8px !important;
}

.market-payout-col{
  text-align:left;
  color:var(--muted);
  font-family:var(--quote-font-family);
  font-size:var(--quote-payout-size);
  font-weight:700;
  white-space:nowrap;
}

.market-payout-slot{
  padding-left:10px !important;
}

.market-payout-blank{
  color:transparent;
}

.market-payout{
  display:inline-block;
  min-height:14px;
  white-space:nowrap;
}

.market-payout-empty{
  opacity:.35;
}

.odd-col,
.more-col{
  text-align:center;
  width:66px;
  min-width:66px;
}

.odd-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-width:40px;
  padding:6px 3px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--bg-soft);
  color:var(--accent);
  font-family:var(--quote-font-family);
  font-size:var(--quote-font-size);
  font-weight:800;
  line-height:1;
}
.quote-open{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  cursor:pointer;
}

.quote-open:focus-visible .odd-chip{
  outline:2px solid rgba(37,99,235,.35);
  outline-offset:1px;
}


.best-arrow{
  font-size:var(--quote-arrow-size);
  line-height:1;
  transform:translateY(calc(var(--quote-arrow-size) * -0.25));
}

.best-arrow.up{
  color:#5ecbff;
  text-shadow:0 0 8px rgba(0,240,255,.45), 0 0 16px rgba(92,39,255,.22);
}

.best-arrow.down{
  color:#e11d48;
}

.odd-miss{
  color:var(--muted);
  font-family:var(--quote-font-family);
  font-size:var(--quote-miss-size);
  font-weight:700;
}

.more-btn{
  width:40px;
  height:40px;
  border-radius:6px;
  border:1px solid var(--line);
  background:var(--bg-soft);
  color:var(--text);
  font-size:20px;
  font-weight:800;
  cursor:pointer;
}

.odds-modal.hidden{ display:none; }

.odds-modal{
  position:fixed;
  inset:0;
  z-index:2200;
}

.odds-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.58);
}

.odds-modal-card{
  position:relative;
  width:min(1180px, calc(100vw - 20px));
  max-height:calc(100vh - 18px);
  overflow:hidden;
  margin:8px auto;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg-panel);
  box-shadow:0 24px 50px rgba(0,0,0,.4);
}

.odds-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  background:var(--bg-panel-2);
}

.odds-modal-title{
  font-size:22px;
  font-weight:800;
  color:var(--text);
}

.odds-modal-body{
  padding:8px 14px 22px;
  max-height:calc(100vh - 88px);
  overflow:auto;
}


.odm-event-time{
  margin:0 0 10px;
  font-family:var(--info-font-family);
  font-size:13px;
  font-weight:700;
  color:var(--text-soft);
}

.odm-wrap{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  align-items:start;
}

.odm-section{
  min-width:0;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:var(--bg-soft);
}

.odm-section.span-2{
  grid-column:span 2;
}

.odm-section.span-3{
  grid-column:1 / -1;
}

.odm-title{
  padding:9px 12px;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--text);
  background:var(--bg-panel-2);
  border-bottom:1px solid var(--line);
}

.odm-table-wrap{
  overflow-x:hidden;
  overflow-y:hidden;
  max-width:100%;
}

.odm-table{
  width:100%;
  min-width:0;
  table-layout:fixed;
  border-collapse:collapse;
}

.odm-table th,
.odm-table td{
  border-bottom:1px solid var(--line);
  padding:7px 6px;
  text-align:center;
  font-size:12px;
}

.odm-table thead th{
  background:var(--bg-panel);
  color:var(--text-soft);
  font-weight:800;
}

.odm-table .book-col{
  text-align:left;
  width:104px;
  max-width:104px;
  min-width:0;
  font-weight:800;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.odm-table .pay-col{
  width:62px;
  min-width:0;
  text-align:right;
  white-space:nowrap;
}

.odm-chip{
  min-width:0;
  width:100%;
  max-width:100%;
  padding:6px 4px;
  font-size:clamp(10px, calc(var(--quote-font-size) - 4px), 18px);
}

.odm-chip.top1{ color:#00ff7a; }
.odm-chip.top2{ color:#6dffad; }
.odm-chip.top3{ color:#baffd4; }
.odm-chip.summary-chip{
  color:var(--text);
}

.odm-table .empty{
  color:var(--muted);
}


.summary-row.avg-row,
.odm-table tr.avg-row{
  display:none !important;
}

.summary-row td{
  font-weight:800;
}

.avg-row td{
  background:rgba(255,213,77,.16);
  color:var(--text);
  font-weight:900;
}

.avg-row .book-col,
.avg-row .pay-col{
  background:rgba(255,213,77,.22);
}

.hi-row td{
  background:rgba(49,217,124,.16);
  color:var(--text);
  font-weight:900;
}

.hi-row .book-col,
.hi-row .pay-col{
  background:rgba(49,217,124,.24);
}

@media (max-width: 1100px){
  .teams-line{ font-size:20px; }
  .odd-chip{ font-size:19px; min-width:48px; }
  .event-col{ min-width:300px; max-width:300px; }
}

@media (max-width: 820px){
  .odds-toolbar{
    top:0;
    padding:8px 8px 16px;
  }

  .toolbar-left,
  .toolbar-right{
    width:100%;
  }

  .search-input{ width:160px !important; }
}


@media (max-width: 1450px){
  .odm-wrap{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .odm-section.span-3{ grid-column:1 / -1; }
}

@media (max-width: 980px){
  .odm-wrap{ grid-template-columns:1fr; }
  .odm-section.span-2,
  .odm-section.span-3{ grid-column:auto; }
}


.event-row td{
  padding-top:6px !important;
  padding-bottom:6px !important;
}

.group-payout-col{
  width:46px;
  min-width:46px;
  text-align:center;
  color:var(--muted);
  font-family:var(--quote-font-family);
  font-size:var(--quote-payout-size);
  font-weight:700;
  white-space:nowrap;
}

.odds-table thead .group-payout-col{
  font-size:10px;
  color:var(--text-soft);
}

.market-payout{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:34px;
  white-space:nowrap;
}

.odds-modal-body{
  padding:12px 14px 16px;
  max-height:calc(100vh - 115px);
  overflow-y:auto;
  overflow-x:hidden;
}

.odm-wrap{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  align-items:start;
  overflow-x:hidden;
}

.odm-table-wrap{
  overflow:hidden !important;
  max-width:100%;
}

.odm-table th,
.odm-table td{
  border-bottom:1px solid var(--line);
  padding:6px 4px;
  text-align:center;
  font-size:11px;
}

.odm-table .book-col{
  text-align:left;
  width:88px;
  max-width:88px;
  min-width:0;
  font-weight:800;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.odm-table .pay-col{
  width:54px;
  min-width:0;
  text-align:right;
  white-space:nowrap;
}

.odm-chip{
  min-width:0;
  width:100%;
  max-width:100%;
  padding:5px 3px;
  font-size:var(--quote-font-size);
}

.odm-chip.top1{
  background:rgba(49,217,124,.14);
  border-color:rgba(49,217,124,.42);
  color:var(--accent);
}

.odm-chip.top2,
.odm-chip.top3{
  color:var(--accent);
}

.odm-chip.summary-chip{
  color:var(--accent);
  background:var(--bg-soft);
  border-color:var(--line);
}

.odm-wrap-single{
  grid-template-columns:minmax(0,1fr);
}

.odm-wrap-single .odm-section,
.odm-wrap-single .odm-section.span-2,
.odm-wrap-single .odm-section.span-3{
  grid-column:auto;
}


.odds-modal-card.market-mode{
  width:min(860px, calc(100vw - 44px));
  margin-top:6px;
}

.odds-modal-card.market-mode .odds-modal-body{
  padding:10px 12px 14px;
}

.market-hot{
  background:rgba(49,217,124,.10) !important;
}

.hot-chip{
  background:rgba(49,217,124,.14);
  border-color:rgba(49,217,124,.42);
}

.hot-payout{
  color:var(--best);
  font-weight:800;
}

.odm-table tr.payout-positive td{
  background:rgba(49,217,124,.10);
}

.odm-table tr.payout-positive .book-col,
.odm-table tr.payout-positive .pay-col{
  background:rgba(49,217,124,.16);
}

.odm-table tr.payout-positive .odm-chip:not(.summary-chip){
  background:rgba(49,217,124,.14);
  border-color:rgba(49,217,124,.42);
}


.odds-modal-card.event-mode .odm-chip.top1{
  background:linear-gradient(135deg, rgba(92,39,255,.20), rgba(0,240,255,.22));
  border-color:rgba(93,170,255,.82);
  color:#0b2b57;
  box-shadow:0 0 0 1px rgba(255,255,255,.62) inset, 0 0 12px rgba(0,240,255,.28), 0 0 24px rgba(92,39,255,.22), 0 0 34px rgba(0,240,255,.14);
}

.odds-modal-card.event-mode .odm-chip.top2,
.odds-modal-card.event-mode .odm-chip.top3{
  background:linear-gradient(135deg, rgba(111,76,255,.08), rgba(0,224,255,.08));
  border-color:rgba(88,166,255,.30);
  color:#204781;
}

.odds-modal-card.event-mode .odm-chip.summary-chip{
  background:linear-gradient(135deg, rgba(241,246,255,.98), rgba(230,247,255,.98));
  border-color:rgba(93,170,255,.42);
}

.odds-modal-card.event-mode .hi-row td{
  background:linear-gradient(180deg, rgba(92,39,255,.12), rgba(0,240,255,.12));
  color:var(--text);
  font-weight:900;
}

.odds-modal-card.event-mode .hi-row .book-col,
.odds-modal-card.event-mode .hi-row .pay-col{
  background:linear-gradient(180deg, rgba(92,39,255,.18), rgba(0,240,255,.18));
}

.odds-toolbar > *{
  position:relative;
  z-index:1;
}

.odds-toolbar::-webkit-scrollbar{
  height:10px;
}
.odds-toolbar::-webkit-scrollbar-thumb{
  background:var(--line-soft);
  border-radius:999px;
  border:2px solid var(--bg-panel);
}
.odds-toolbar::-webkit-scrollbar-track{
  background:var(--bg-soft);
  border-radius:999px;
  margin-top:4px;
}

.odds-modal-card.market-mode{
  width:fit-content;
  max-width:min(760px, calc(100vw - 44px));
}
.odds-modal-card.market-mode .odm-table{
  width:auto;
  table-layout:auto;
  margin:0 auto;
}
.odds-modal-card.market-mode .odm-val-col{
  width:78px;
  min-width:78px;
  max-width:78px;
}
.odds-modal-card.market-mode .odm-chip{
  width:78px;
  max-width:78px;
  min-width:78px;
  padding:4px 2px;
}
.odds-modal-card.market-mode .odm-table .book-col{
  width:86px;
  max-width:86px;
}
.odds-modal-card.market-mode .odm-table .pay-col{
  width:56px;
}
.odd-col,
.more-col{
  width:56px;
  min-width:56px;
}
.odds-table tbody td{
  padding:4px 2px;
}
.odd-chip{
  min-width:36px;
  padding:5px 2px;
}
.group-payout-col{
  width:40px;
  min-width:40px;
}
.market-payout{
  min-width:36px;
}
@media (max-width: 980px){
  .odds-toolbar{
    flex-wrap:wrap;
    overflow-x:visible;
  }
  .toolbar-left,
  .toolbar-right,
  .toolbar-meta{
    width:100%;
    flex-wrap:wrap;
    margin-left:0;
  }
  .toolbar-meta{
    justify-content:flex-start;
  }
}

.odm-wrap::after{
  content:"";
  display:block;
  height:10px;
  grid-column:1 / -1;
}


.provider-col{
  padding-left:8px !important;
  padding-right:8px !important;
}

.provider-badge{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-width:0;
  gap:0;
}

.provider-logo{
  display:block;
  width:104px;
  max-width:100%;
  height:26px;
  object-fit:contain;
  object-position:left center;
}

.provider-fallback{
  display:none;
  align-items:center;
  min-height:26px;
  font-size:11px;
  font-weight:800;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.odm-table .book-col{
  width:122px;
  max-width:122px;
}

.odds-modal-card.market-mode .odm-table .book-col{
  width:110px;
  max-width:110px;
}

.odds-modal-card.market-mode .provider-logo{
  width:96px;
  height:24px;
}


.provider-line{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  white-space:nowrap;
}

.provider-line .provider-badge{
  width:auto !important;
  max-width:calc(100% - 26px);
  flex:0 1 auto;
}

.provider-side{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  font-size:11px;
  line-height:1;
  font-weight:800;
  border-radius:999px;
  flex:0 0 auto;
}

.provider-side-back{
  color:#5f6f85;
  background:rgba(95,111,133,.10);
}

.provider-side-bank{
  color:#c62828;
  font-weight:900;
  background:rgba(198,40,40,.10);
}

.odds-modal-card.market-mode .provider-col .provider-line{
  flex-wrap:nowrap;
}

.odds-modal-card.market-mode .odm-table .pay-col{
  white-space:nowrap;
}

#oddsOptions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;}
.odds-page .toolbar-inline.search-inline .mini-input,.odds-page .toolbar-inline .mini-input,.odds-page .toolbar-picker > summary,.odds-page .toolbar-toggle{min-height:38px;height:38px;border-radius:12px;}
.odds-page .search-input{ width:180px !important; }
.odds-page .short-input{ width:48px !important; text-align:center; }
.odds-page .font-inline .mini-input{ min-width:108px; }


/* ODD24 v0107 - Odds: CTA rimosse, pager basso, darkmode e loader safe */
.odds-page.prefs-pending{
  visibility:visible !important;
}

.odds-page .odds-public-intro{
  border:1px solid var(--line);
}

.odds-page.theme-light .odds-public-intro{
  background:linear-gradient(135deg,#fff 0%,#f6fbff 100%);
}

.odds-page:not(.theme-light) .odds-public-intro,
.odds-page.theme-dark .odds-public-intro{
  background:linear-gradient(135deg, rgba(9,18,33,.96) 0%, rgba(17,29,47,.94) 100%) !important;
  border-color:rgba(212,175,55,.18) !important;
}

.odds-page:not(.theme-light) .odds-public-intro h1,
.odds-page.theme-dark .odds-public-intro h1{
  color:#f6f8fc !important;
}

.odds-page:not(.theme-light) .odds-public-intro p,
.odds-page.theme-dark .odds-public-intro p{
  color:#cbd5e1 !important;
}

.odds-page:not(.theme-light) .odds-kicker,
.odds-page.theme-dark .odds-kicker{
  background:rgba(212,175,55,.10) !important;
  color:#ffd66f !important;
  border:1px solid rgba(212,175,55,.20);
}

.odds-page:not(.theme-light) .odds-options-modal,
.odds-page.theme-dark .odds-options-modal{
  background:rgba(2,8,18,.42) !important;
}

.odds-page:not(.theme-light) .odds-options-card,
.odds-page.theme-dark .odds-options-card{
  background:#07111f !important;
  border-color:rgba(212,175,55,.20) !important;
  color:#f3f6fb !important;
}

.odds-page:not(.theme-light) .odds-options-field .mini-label,
.odds-page.theme-dark .odds-options-field .mini-label{
  color:#cbd5e1 !important;
}

.odds-page:not(.theme-light) .odds-options-field .mini-input,
.odds-page.theme-dark .odds-options-field .mini-input{
  background:#0d1726 !important;
  color:#f3f6fb !important;
  border-color:rgba(255,255,255,.12) !important;
}

.odds-page:not(.theme-light) .toolbar-menu,
.odds-page.theme-dark .toolbar-menu{
  background:#07111f !important;
  color:#f3f6fb !important;
}

.odds-page:not(.theme-light) .toolbar-picker > summary,
.odds-page.theme-dark .toolbar-picker > summary,
.odds-page:not(.theme-light) .toolbar-toggle,
.odds-page.theme-dark .toolbar-toggle,
.odds-page:not(.theme-light) .mini-input,
.odds-page.theme-dark .mini-input{
  background:#0d1726 !important;
  color:#f3f6fb !important;
  border-color:rgba(255,255,255,.13) !important;
}

.odds-bottom-pager{
  margin:14px 0 20px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  background:var(--bg-panel);
  border-color:var(--line);
}

.odds-bottom-pager-info{
  color:var(--text-soft);
  font-size:13px;
  font-weight:750;
}

.odds-bottom-pager .pager-inline{
  margin-left:auto;
}

.odds-bottom-pager .pager-inline a,
.odds-bottom-pager .pager-inline span{
  min-width:34px;
  height:34px;
}

@media(max-width:760px){
  .odds-bottom-pager{
    align-items:stretch;
  }
  .odds-bottom-pager .pager-inline{
    width:100%;
    margin-left:0;
    justify-content:center;
  }
}


/* ODD24 v0110 - Surebet/Valuebet modal wider: selections on same row */
.odds-modal-card.market-mode{
  width:min(1480px, calc(100vw - 34px)) !important;
}

.odds-modal-card.market-mode .odds-modal-body{
  padding:14px 16px 18px !important;
  max-height:calc(100vh - 96px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* In market modal each "Selezione" block can sit side-by-side */
.odds-modal-card.market-mode .odm-wrap,
.odds-modal-card.market-mode .odm-wrap-single{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(260px, 1fr)) !important;
  gap:12px !important;
  align-items:start !important;
}

.odds-modal-card.market-mode .odm-section,
.odds-modal-card.market-mode .odm-section.span-2,
.odds-modal-card.market-mode .odm-section.span-3{
  grid-column:auto !important;
  min-width:0 !important;
}

.odds-modal-card.market-mode .odm-table-wrap{
  overflow:hidden !important;
}

.odds-modal-card.market-mode .odm-table{
  table-layout:fixed !important;
}

.odds-modal-card.market-mode .odm-table .book-col{
  width:116px !important;
  max-width:116px !important;
}

.odds-modal-card.market-mode .odm-table .pay-col{
  width:74px !important;
}

.odds-modal-card.market-mode .odm-chip{
  font-size:18px !important;
  min-height:34px;
}

@media(max-width:1320px){
  .odds-modal-card.market-mode .odm-wrap,
  .odds-modal-card.market-mode .odm-wrap-single{
    grid-template-columns:repeat(3, minmax(250px, 1fr)) !important;
  }
}

@media(max-width:980px){
  .odds-modal-card.market-mode .odm-wrap,
  .odds-modal-card.market-mode .odm-wrap-single{
    grid-template-columns:repeat(2, minmax(240px, 1fr)) !important;
  }
}

@media(max-width:680px){
  .odds-modal-card.market-mode{
    width:calc(100vw - 18px) !important;
  }

  .odds-modal-card.market-mode .odm-wrap,
  .odds-modal-card.market-mode .odm-wrap-single{
    grid-template-columns:1fr !important;
  }
}


/* ODD24 v2106 - Odds dark soft background: elimina lo sfondo chiaro dietro la dark mode */
body.odds-dark-shell{
  background:#111927 !important;
}

body.odds-dark-shell main.container,
body:has(#oddsPage.theme-dark) main.container{
  background:
    radial-gradient(circle at 50% -10%, rgba(78,139,184,.11) 0, rgba(78,139,184,0) 38%),
    linear-gradient(180deg,#101826 0%,#151f2d 52%,#172130 100%) !important;
}

.odds-page.theme-dark,
.odds-page:not(.theme-light){
  background:
    radial-gradient(circle at 16% 0%, rgba(56,112,166,.16) 0, rgba(56,112,166,0) 34%),
    linear-gradient(180deg,#101826 0%,#151f2d 46%,#172130 100%) !important;
}

.odds-page.theme-dark .card,
.odds-page:not(.theme-light) .card{
  background:rgba(32,43,58,.96) !important;
  border-color:rgba(148,163,184,.24) !important;
}

.odds-page.theme-dark .odds-toolbar,
.odds-page:not(.theme-light) .odds-toolbar{
  background:rgba(35,45,61,.94) !important;
  border-color:rgba(148,163,184,.20) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.16);
}

.odds-page.theme-dark .odds-table,
.odds-page:not(.theme-light) .odds-table{
  background:#202b3a !important;
}

.odds-page.theme-dark .odds-table tbody td,
.odds-page:not(.theme-light) .odds-table tbody td{
  background:#202b3a !important;
  border-bottom-color:rgba(148,163,184,.18) !important;
}

.odds-page.theme-dark .odds-table thead th,
.odds-page:not(.theme-light) .odds-table thead th{
  background:#263244 !important;
  border-bottom-color:rgba(148,163,184,.20) !important;
}

.odds-page.theme-dark .odds-table thead .group-row th,
.odds-page:not(.theme-light) .odds-table thead .group-row th{
  background:#202b3a !important;
}

.odds-page.theme-dark .odds-table tbody tr.event-row:hover td,
.odds-page:not(.theme-light) .odds-table tbody tr.event-row:hover td{
  background:#253247 !important;
}

.odds-page.theme-dark .odds-table-wrap,
.odds-page:not(.theme-light) .odds-table-wrap{
  background:#202b3a !important;
  border-radius:18px;
}

.odds-page.theme-dark .toolbar-count,
.odds-page:not(.theme-light) .toolbar-count,
.odds-page.theme-dark .pager-inline a,
.odds-page.theme-dark .pager-inline span,
.odds-page:not(.theme-light) .pager-inline a,
.odds-page:not(.theme-light) .pager-inline span{
  background:#172234 !important;
  border-color:rgba(148,163,184,.22) !important;
}

.odds-page.theme-dark .pager-inline .active,
.odds-page:not(.theme-light) .pager-inline .active{
  background:#25445a !important;
  color:#ffd84d !important;
  border-color:rgba(255,216,77,.28) !important;
}

.odds-page.theme-dark .odd-chip,
.odds-page:not(.theme-light) .odd-chip{
  background:#172234 !important;
  border-color:rgba(148,163,184,.24) !important;
}

.odds-page.theme-dark .odds-bottom-pager,
.odds-page:not(.theme-light) .odds-bottom-pager{
  background:rgba(32,43,58,.96) !important;
}


/* ODD24 v2024 - Odds toolbar and modal refinement */
.odds-page .toolbar-left{
  gap:10px;
}

.odds-page .toolbar-right{
  gap:10px;
}

.odds-page .toolbar-inline.search-inline .mini-input{
  width:200px !important;
}

.odds-page .toolbar-picker.odds-filter-two-line > summary,
.odds-page .toolbar-inline.toolbar-inline-box,
.odds-page .toolbar-toggle{
  min-height:52px;
  height:52px;
  border-radius:14px;
}

.odds-page .toolbar-inline.toolbar-inline-box .mini-input,
.odds-page .toolbar-picker.odds-filter-two-line > summary .picker-value{
  line-height:1.05;
}

.odds-page .toolbar-inline.toolbar-inline-box .mini-input{
  min-height:18px;
  height:18px;
}

.odds-page .toolbar-toggle span{
  white-space:nowrap;
}

.odds-page.theme-dark .toolbar-right .btn,
.odds-page:not(.theme-light) .toolbar-right .btn{
  border-color:rgba(255,255,255,.13);
}

.odds-page.theme-dark .odds-reset-btn,
.odds-page:not(.theme-light) .odds-reset-btn{
  background:#0d1726 !important;
}

.odds-page.theme-dark .theme-btn,
.odds-page:not(.theme-light) .theme-btn{
  background:#0d1726 !important;
}

.odds-modal-card.event-mode{
  width:min(1380px, calc(100vw - 20px)) !important;
}

.odds-modal-card.event-mode .odm-wrap{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.odds-modal-card.event-mode .odm-table-wrap{
  overflow-x:auto;
  overflow-y:hidden;
}

.odds-modal-card.event-mode .odm-table{
  width:max-content;
  min-width:100%;
  table-layout:auto;
}

.odds-modal-card.event-mode .odm-table .book-col{
  width:120px;
  max-width:none;
}

.odds-modal-card.event-mode .odm-table th,
.odds-modal-card.event-mode .odm-table td{
  min-width:74px;
}

.odds-modal-card.event-mode .odm-table .pay-col{
  min-width:78px;
}

.odds-modal-card.market-mode{
  width:min(1560px, calc(100vw - 20px)) !important;
}

.odds-modal-card.market-mode .odm-wrap,
.odds-modal-card.market-mode .odm-wrap-single{
  grid-template-columns:repeat(3, minmax(320px, 1fr)) !important;
}

.odds-modal-card.market-mode .odm-table-wrap{
  overflow-x:auto !important;
  overflow-y:hidden !important;
}

.odds-modal-card.market-mode .odm-table{
  width:max-content !important;
  min-width:100% !important;
  table-layout:auto !important;
}

.odds-modal-card.market-mode .odm-table th,
.odds-modal-card.market-mode .odm-table td{
  min-width:74px;
}

.odds-modal-card.market-mode .odm-table .book-col{
  width:128px !important;
  max-width:none !important;
}

.odds-modal-card.market-mode .odm-table .pay-col{
  width:82px !important;
  min-width:82px !important;
}

@media(max-width:1200px){
  .odds-modal-card.market-mode .odm-wrap,
  .odds-modal-card.market-mode .odm-wrap-single{
    grid-template-columns:repeat(2, minmax(300px, 1fr)) !important;
  }
}

@media(max-width:900px){
  .odds-page .toolbar-inline.search-inline .mini-input{
    width:170px !important;
  }
  .odds-modal-card.event-mode .odm-wrap{
    grid-template-columns:1fr;
  }
}


/* ODD24 2080 - mobile-only core module polish */
@media (max-width:760px){
  .odds-page{margin:-4px -10px -12px;padding:8px 10px 18px;min-height:auto;}
  .odds-page .card{border-radius:18px;}
  .odds-toolbar{padding:6px 2px 14px;gap:10px;flex-wrap:wrap;overflow:visible;}
  .toolbar-left,.toolbar-right,.toolbar-meta{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end;margin-left:0;}
  .toolbar-left > *, .toolbar-right > *, .toolbar-meta > *{min-width:0;}
  .toolbar-count,.toolbar-picker > summary,.toolbar-select,.toolbar-toggle{width:100%;min-height:46px;justify-content:center;}
  .odds-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;position:relative;}
  .odds-table-wrap::before{content:"Scorri lateralmente per vedere tutti i mercati →";display:block;padding:8px 10px 0;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.01em;}
  .odds-table{min-width:860px;}
  .odds-page .table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;}
  .odds-page .table thead,.odds-page .table tbody{width:max-content;min-width:100%;}
}


/* ODD24 2083 - Odds mobile dedicated cards + modal readability */
.odds-mobile-results{display:none;}
@media (max-width:760px){
  #oddsPage.odds-page{padding:10px 10px 18px;background:linear-gradient(180deg,#0b1424 0%,#101b2d 100%);}
  #oddsPage .odds-public-intro{padding:18px 16px;border-radius:20px;background:linear-gradient(180deg,#172338,#111b2c);border:1px solid rgba(255,255,255,.09);}
  #oddsPage .odds-public-intro h1{font-size:24px!important;line-height:1.08;margin:8px 0;color:#f8fafc;}
  #oddsPage .odds-public-intro p{font-size:14px;line-height:1.45;color:#cbd5e1;}
  #oddsPage .odds-toolbar{display:grid;grid-template-columns:1fr;gap:12px;padding:14px;border-radius:20px;background:#182338;border:1px solid rgba(148,163,184,.25);}
  #oddsPage .toolbar-left,#oddsPage .toolbar-right,#oddsPage .toolbar-meta{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;margin-left:0!important;}
  #oddsPage .toolbar-left .search-input{grid-column:1 / -1;width:100%!important;min-height:48px;}
  #oddsPage .toolbar-left .toolbar-inline-box,#oddsPage .toolbar-left .toolbar-picker,#oddsPage .toolbar-left .toolbar-toggle{min-width:0;width:100%;}
  #oddsPage .toolbar-picker > summary,#oddsPage .toolbar-inline-box,#oddsPage .toolbar-toggle,#oddsPage .mini-input{min-height:48px;border-radius:14px;}
  #oddsPage .toolbar-meta{grid-template-columns:1fr!important;}
  #oddsPage .toolbar-meta .toolbar-count{justify-content:center;min-height:46px;}
  #oddsPage .toolbar-pager{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
  #oddsPage .toolbar-pager a,#oddsPage .toolbar-pager span{min-width:42px;min-height:42px;border-radius:14px;}
  #oddsPage .odds-table-wrap{display:none!important;}
  #oddsPage .odds-mobile-results{display:grid;gap:14px;margin-top:14px;}
  #oddsPage .odds-mobile-event-card{border:1px solid rgba(148,163,184,.22);border-radius:22px;background:linear-gradient(180deg,#172338 0%,#101a2a 100%);box-shadow:0 18px 44px rgba(0,0,0,.24);padding:14px;color:#f8fafc;}
  #oddsPage .odds-mobile-event-head{display:grid;grid-template-columns:66px minmax(0,1fr);gap:12px;align-items:start;}
  #oddsPage .odds-mobile-event-time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px;border-radius:16px;background:#0a1322;border:1px solid rgba(255,216,77,.25);color:#ffd84d;}
  #oddsPage .odds-mobile-event-time strong{font-size:18px;line-height:1;}
  #oddsPage .odds-mobile-event-time span{font-size:11px;margin-top:5px;color:#9fb1cc;font-weight:800;}
  #oddsPage .odds-mobile-event-main{min-width:0;}
  #oddsPage .odds-mobile-league{display:block;color:#9fb1cc;font-weight:800;font-size:12px;line-height:1.2;margin:0 0 4px;}
  #oddsPage .odds-mobile-event-main h2{margin:0;font-size:18px;line-height:1.14;letter-spacing:-.03em;color:#fff;}
  #oddsPage .odds-mobile-event-main h2 span{color:#ffd84d;}
  #oddsPage .odds-mobile-edge{display:inline-flex;margin-top:10px;padding:7px 10px;border-radius:999px;background:rgba(49,217,124,.12);border:1px solid rgba(49,217,124,.32);color:#a7f3d0;font-size:12px;font-weight:900;}
  #oddsPage .odds-mobile-edge strong{color:#4ade80;margin-left:4px;}
  #oddsPage .odds-mobile-markets{display:grid;gap:10px;margin-top:12px;}
  #oddsPage .odds-mobile-market{border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(5,12,24,.42);padding:10px;}
  #oddsPage .odds-mobile-market-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#ffd84d;font-weight:950;margin-bottom:8px;}
  #oddsPage .odds-mobile-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  #oddsPage .odds-mobile-pick{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 8px;border-radius:14px;border:1px solid rgba(96,165,250,.26);background:#0b1526;color:#f8fafc;text-align:left;cursor:pointer;}
  #oddsPage .odds-mobile-pick-label{font-size:11px;font-weight:950;color:#93c5fd;}
  #oddsPage .odds-mobile-pick strong{font-size:18px;line-height:1;color:#ffd84d;}
  #oddsPage .odds-mobile-pick small{width:100%;font-size:10px;color:#9fb1cc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800;}
  #oddsPage .odds-mobile-detail-btn{width:100%;min-height:46px;margin-top:12px;border:1px solid rgba(255,216,77,.38);border-radius:16px;background:linear-gradient(180deg,#ffd84d,#eab308);color:#08111f;font-weight:950;font-size:14px;}
  #oddsPage .odds-bottom-pager{display:grid;gap:10px;text-align:center;border-radius:20px;background:#172338;border-color:rgba(148,163,184,.22);}
  #oddsPage .odds-bottom-pager .pager-inline{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
  .odds-event-modal-root .odds-modal-card{width:calc(100vw - 18px)!important;max-width:calc(100vw - 18px)!important;margin:9px auto!important;max-height:calc(100vh - 18px)!important;background:#f8fafc!important;color:#0f172a!important;border-radius:18px!important;}
  .odds-event-modal-root .odds-modal-head{background:#f8fafc!important;border-bottom:1px solid #dbe4ef!important;padding:14px!important;}
  .odds-event-modal-root .odds-modal-title{color:#0f172a!important;font-size:18px!important;line-height:1.1!important;text-shadow:none!important;}
  .odds-event-modal-root .odds-modal-sub{color:#53657f!important;font-weight:800!important;}
  .odds-event-modal-root .odds-modal-body{background:#f8fafc!important;color:#0f172a!important;padding:12px!important;}
  .odds-event-modal-root .odm-wrap{grid-template-columns:1fr!important;gap:12px!important;}
  .odds-event-modal-root .odm-section{border-radius:16px!important;overflow:hidden!important;border:1px solid #d6e1ee!important;background:#ffffff!important;box-shadow:0 12px 28px rgba(15,23,42,.10)!important;}
  .odds-event-modal-root .odm-title{background:#233247!important;color:#ffffff!important;padding:10px 12px!important;font-size:14px!important;font-weight:950!important;}
  .odds-event-modal-root .odm-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  .odds-event-modal-root .odm-table{min-width:380px!important;}
  .odds-event-modal-root .odm-table th{background:#172338!important;color:#dbeafe!important;}
  .odds-event-modal-root .odm-table td{background:#101a2a!important;color:#f8fafc!important;}
  .odds-event-modal-root .odm-table .hi-row td{background:#203658!important;color:#f8fafc!important;}
  .odds-event-modal-root .odm-chip{color:#ffd84d!important;background:#0d1728!important;border-color:#334155!important;}
  .odds-event-modal-root .provider-logo{max-width:108px!important;}
}
@media (max-width:430px){
  #oddsPage .odds-mobile-picks{grid-template-columns:repeat(2,minmax(0,1fr));}
}


/* ODD24 2084 - reuse odds mobile card layout for Media */
@media (max-width:760px){
  #mediaPage .odds-table-wrap{display:none!important;}
  #mediaPage .odds-mobile-results{display:grid;gap:14px;margin-top:14px;}
  #mediaPage .odds-mobile-event-card{border:1px solid rgba(148,163,184,.22);border-radius:22px;background:linear-gradient(180deg,#172338 0%,#101a2a 100%);box-shadow:0 18px 44px rgba(0,0,0,.24);padding:14px;color:#f8fafc;}
  #mediaPage .odds-mobile-event-head{display:grid;grid-template-columns:66px minmax(0,1fr);gap:12px;align-items:start;}
  #mediaPage .odds-mobile-event-time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px;border-radius:16px;background:#0a1322;border:1px solid rgba(255,216,77,.25);color:#ffd84d;}
  #mediaPage .odds-mobile-event-time strong{font-size:18px;line-height:1;}
  #mediaPage .odds-mobile-event-time span{font-size:11px;margin-top:5px;color:#9fb1cc;font-weight:800;}
  #mediaPage .odds-mobile-event-main{min-width:0;}
  #mediaPage .odds-mobile-league{display:block;color:#9fb1cc;font-weight:800;font-size:12px;line-height:1.2;margin:0 0 4px;}
  #mediaPage .odds-mobile-event-main h2{margin:0;font-size:18px;line-height:1.14;letter-spacing:-.03em;color:#fff;}
  #mediaPage .odds-mobile-event-main h2 span{color:#ffd84d;}
  #mediaPage .odds-mobile-markets{display:grid;gap:10px;margin-top:12px;}
  #mediaPage .odds-mobile-market{border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(5,12,24,.42);padding:10px;}
  #mediaPage .odds-mobile-market-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#ffd84d;font-weight:950;margin-bottom:8px;}
  #mediaPage .odds-mobile-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  #mediaPage .odds-mobile-pick{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 8px;border-radius:14px;border:1px solid rgba(96,165,250,.26);background:#0b1526;color:#f8fafc;text-align:left;cursor:pointer;}
  #mediaPage .odds-mobile-pick-label{font-size:11px;font-weight:950;color:#93c5fd;}
  #mediaPage .odds-mobile-pick strong{font-size:18px;line-height:1;color:#ffd84d;}
  #mediaPage .odds-mobile-pick small{width:100%;font-size:10px;color:#9fb1cc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800;}
  #mediaPage .odds-mobile-detail-btn{width:100%;min-height:46px;margin-top:12px;border:1px solid rgba(255,216,77,.38);border-radius:16px;background:linear-gradient(180deg,#ffd84d,#eab308);color:#08111f;font-weight:950;font-size:14px;}
}
@media (max-width:420px){
  #mediaPage .odds-mobile-picks{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* ODD24 2084 - mobile Odds top spacing cleanup */
@media (max-width:760px){
  #oddsPage{padding-top:4px!important;}
  #oddsPage .odds-public-intro{margin-top:0!important;}
}


/* ODD24 2085 - Odds mobile loader: distinct from desktop HUD */
.odds-mobile-page-loader{display:none;}
@media (max-width:760px){
  .odds-mobile-page-loader{
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:5200;
    background:radial-gradient(circle at 50% 28%, rgba(14,42,82,.94), rgba(2,6,23,.96) 64%);
    opacity:1;
    visibility:visible;
    transition:opacity .22s ease, visibility .22s ease;
  }
  .odds-mobile-page-loader.is-hidden{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
  .odds-mobile-page-loader-card{
    width:190px;
    min-height:214px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    border:1px solid rgba(212,175,55,.34);
    border-radius:28px;
    background:linear-gradient(180deg,rgba(5,12,24,.76),rgba(10,22,41,.68));
    box-shadow:0 30px 80px rgba(0,0,0,.50), 0 0 40px rgba(212,175,55,.10);
  }
  .odds-mobile-page-loader-card img{
    width:150px;
    height:150px;
    display:block;
  }
  .odds-mobile-page-loader-card span{
    color:#f8fafc;
    font-size:12px;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
}

/* ODD24 2085 - mobile global loader uses a different visual asset */
@media (max-width:760px){
  #globalPageLoader.open{
    background:radial-gradient(circle at 50% 32%, rgba(14,42,82,.84), rgba(2,6,23,.90) 68%) !important;
    backdrop-filter:blur(2px) !important;
    -webkit-backdrop-filter:blur(2px) !important;
  }
  #globalPageLoader .ogl-box{
    width:190px !important;
    height:190px !important;
    min-width:0 !important;
    min-height:0 !important;
  }
  #globalPageLoader .ogl-hud{
    content:url('/img/ui/odd24-mobile-loader-radar.svg');
  }
}
