.sport-tabs { display:flex; gap:8px; margin:16px 0 20px; padding-bottom:3px; overflow-x:auto; scrollbar-width:none; }
.sport-tabs::-webkit-scrollbar { display:none; }
.sport-filter { min-height:40px; flex:0 0 auto; }
.sport-filter svg { width:15px; }
.sports-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:11px; }
.sports-section-head h2 { margin:0; font-size:19px; }
.sports-section-head p { margin:2px 0 0; color:var(--muted); font-size:10px; }
.sports-result-count { color:var(--cyan); font-size:10px; font-weight:800; }
.sports-list { display:grid; gap:10px; }
.sports-match { overflow:hidden; border:1px solid var(--border); border-radius:15px; background:linear-gradient(145deg,rgba(16,27,63,.98),rgba(10,22,53,.98)); transition:border-color .2s ease,transform .2s ease; }
.sports-match:hover { border-color:#40559d; transform:translateY(-2px); }
.match-head { min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 14px; border-bottom:1px solid rgba(36,55,114,.62); background:rgba(8,18,46,.4); }
.match-league { display:flex; align-items:center; gap:7px; color:#c8d1ea; font-size:10px; font-weight:800; }
.match-league svg { width:15px; color:var(--cyan); }
.match-status { display:inline-flex; align-items:center; gap:5px; color:#8f9dc0; font-size:8px; text-transform:uppercase; letter-spacing:.05em; }
.match-status i { width:6px; height:6px; border-radius:50%; background:var(--warning); box-shadow:0 0 8px rgba(255,203,102,.3); }
.match-main { display:grid; grid-template-columns:minmax(0,1fr) 105px; gap:16px; align-items:center; padding:14px; }
.match-teams { display:grid; gap:9px; }
.match-team { min-width:0; display:flex; align-items:center; gap:10px; }
.team-avatar { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; color:#cfd9f4; border:1px solid #3c4f94; border-radius:10px; background:linear-gradient(145deg,#172858,#101d43); font-size:8px; font-weight:900; }
.match-team:nth-child(2) .team-avatar { color:#aef2ed; border-color:#285f78; background:linear-gradient(145deg,#123d56,#101d43); }
.match-team strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.match-time { padding:10px; text-align:center; border:1px solid rgba(49,68,127,.75); border-radius:12px; background:rgba(8,18,46,.54); }
.match-time strong,.match-time small,.match-time span { display:block; }
.match-time strong { color:white; font:700 17px Poppins; }
.match-time small { margin-top:1px; color:var(--muted); font-size:8px; }
.match-time span { margin-top:5px; color:var(--cyan); font-size:7px; font-weight:900; letter-spacing:.12em; }
.odds-wrap { padding:0 14px 14px; }
.odds-title { display:flex; justify-content:space-between; margin-bottom:6px; color:#7180a7; font-size:8px; }
.odds { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.odd { min-width:0; min-height:43px; display:flex; align-items:center; justify-content:space-between; gap:7px; padding:0 11px; color:#aeb9d7; border:1px solid #30447f; border-radius:10px; background:#13214b; cursor:pointer; transition:.18s ease; }
.odd span { font-size:8px; text-transform:uppercase; }
.odd strong { color:var(--cyan); font-size:11px; }
.odd:hover,.odd.active { color:white; border-color:#8250f2; background:rgba(113,39,255,.25); }
.odd:disabled { cursor:not-allowed; opacity:.38; }
.sports-empty { padding:42px 18px; text-align:center; border:1px dashed #3a4f99; border-radius:15px; color:var(--muted); }

@media (max-width:1023px) {
  body[data-page="sports"] .right-panel { display:none; }
}

@media (max-width:767px) {
  body[data-page="sports"] .desktop-grid { padding:10px 11px 30px; }
  body[data-page="sports"] .sports-hero { min-height:245px; margin-bottom:8px; padding:25px 20px; }
  body[data-page="sports"] .sports-hero .hero-copy { width:72%; }
  body[data-page="sports"] .sports-hero h1 { font-size:36px; }
  body[data-page="sports"] .sports-hero p { max-width:245px; margin-bottom:14px; font-size:10px; }
  body[data-page="sports"] .sports-hero .hero-art { width:62%; right:-12%; opacity:.53; }
  body[data-page="sports"] .sports-hero .hero-controls { display:none; }
  body[data-page="sports"] .sports-hero .btn { min-height:37px; }
  .sport-tabs { gap:7px; margin:10px -1px 18px; padding:2px 1px 5px; }
  .sport-tabs .sport-filter { min-width:auto; min-height:42px; flex-direction:row; gap:6px; padding:0 12px; border-color:#2c407c; font-size:9px; }
  .sport-tabs .sport-filter svg { width:15px; }
  .sports-section-head { align-items:center; margin-bottom:9px; padding:0 2px; }
  .sports-section-head h2 { font-size:16px; }
  .sports-section-head p { font-size:8px; }
  .sports-result-count { font-size:8px; }
  .sports-list { gap:9px; }
  .sports-match { border-radius:14px; }
  .sports-match:hover { transform:none; }
  .match-head { min-height:38px; padding:0 11px; }
  .match-league { font-size:9px; }
  .match-status { font-size:7px; }
  .match-main { grid-template-columns:minmax(0,1fr) 82px; gap:10px; padding:11px; }
  .match-teams { gap:8px; }
  .team-avatar { width:31px; height:31px; border-radius:9px; font-size:7px; }
  .match-team { gap:8px; }
  .match-team strong { font-size:10px; }
  .match-time { padding:8px 5px; border-radius:10px; }
  .match-time strong { font-size:14px; }
  .match-time small { font-size:7px; }
  .odds-wrap { padding:0 11px 11px; }
  .odds { gap:6px; }
  .odd { min-height:40px; padding:0 9px; border-radius:9px; }
  .odd span { font-size:7px; }
  .odd strong { font-size:10px; }
}

@media (max-width:359px) {
  body[data-page="sports"] .sports-hero .hero-copy { width:82%; }
  body[data-page="sports"] .sports-hero h1 { font-size:32px; }
  .match-main { grid-template-columns:minmax(0,1fr) 74px; }
  .odd { padding:0 7px; }
}
