
:root{
  --bg:#07111f;
  --sidebar:#0d1930;
  --text:#eef6ff;
  --muted:#64748b;
  --ink:#0f172a;
  --ink2:#334155;
  --line:rgba(15,23,42,.12);
  --line-dark:rgba(255,255,255,.12);
  --active:#2563eb;
  --paper:#ffffff;
  --paper2:#f8fafc;
  --shadow:0 18px 50px rgba(15,23,42,.16);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(145deg,#07111f 0%,#0b1730 42%,#f3f6fb 42%,#eef3f8 100%);color:var(--text)}
a{color:#0f5bd7;text-decoration:none} a:hover{text-decoration:underline}
.topbar{padding:28px clamp(18px,4vw,54px);display:block;border-bottom:1px solid var(--line-dark);position:sticky;top:0;background:linear-gradient(180deg,rgba(8,17,31,.98),rgba(8,17,31,.90));backdrop-filter:blur(14px);z-index:5}
.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#a7d8ff;font-weight:850;font-size:.75rem;margin:0 0 8px}.topbar h1{font-size:clamp(2rem,5vw,4.2rem);line-height:.94;margin:0;letter-spacing:-.055em;color:#fff}.lede{max-width:900px;color:#d7e5f7;font-size:1rem;line-height:1.5}.kpis{display:flex;gap:10px;flex-wrap:wrap}.kpis span{border:1px solid rgba(255,255,255,.2);background:#fff;color:#0f172a;border-radius:999px;padding:8px 13px;font-weight:850;font-size:.86rem}
.layout{display:grid;grid-template-columns:minmax(310px,430px) 1fr;gap:24px;padding:24px clamp(16px,3vw,42px) 60px}.sidebar{align-self:start;position:sticky;top:156px;max-height:calc(100vh - 176px);overflow:auto;padding-right:6px}.sidebar::-webkit-scrollbar{width:10px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:99px}
.searchbox{background:#fff;border:1px solid var(--line);border-radius:24px;padding:16px;box-shadow:var(--shadow);color:var(--ink)}.searchbox label{display:block;color:var(--ink2);font-weight:800;font-size:.86rem;margin-bottom:9px}.searchrow{display:flex;gap:8px}.searchrow input{flex:1;background:#f8fafc;border:1px solid #dbe3ef;border-radius:14px;color:var(--ink);padding:12px 13px;outline:none}.searchrow input:focus{border-color:var(--active);box-shadow:0 0 0 3px color-mix(in srgb,var(--active) 16%,transparent)}.searchrow button,.chip,.action{border:0;background:var(--active);color:white;border-radius:14px;padding:10px 12px;font-weight:850;cursor:pointer}.searchrow button{background:#0f172a;color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.chip{background:color-mix(in srgb,var(--chip) 14%,#ffffff);border:1px solid color-mix(in srgb,var(--chip) 40%,#dbe3ef);color:#0f172a;font-size:.82rem;box-shadow:0 7px 18px rgba(15,23,42,.08)}.chip:hover{background:color-mix(in srgb,var(--chip) 22%,#ffffff);text-decoration:none}.chip.active{background:var(--chip);border-color:var(--chip);color:white;box-shadow:0 10px 24px color-mix(in srgb,var(--chip) 35%,transparent)}
.sidebar-title{display:flex;align-items:center;justify-content:space-between;margin:16px 2px 10px}.sidebar-title h2{margin:0;font-size:1.05rem;color:#fff}.sidebar-title span{color:#cbd5e1;font-size:.85rem}.country-grid{display:grid;gap:10px}.country-card{width:100%;text-align:left;color:#0f172a;background:#fff;border:1px solid rgba(15,23,42,.10);border-left:6px solid var(--accent);border-radius:22px;padding:14px;display:grid;grid-template-columns:44px 1fr;gap:10px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.16);transition:.15s}.country-card:hover,.country-card.selected{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 55%,#ffffff);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,#ffffff),#ffffff)}.flag{font-size:2rem;line-height:1}.flag-img{width:34px;height:24px;object-fit:cover;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.20);vertical-align:middle}.country-main strong{display:block;font-size:1.02rem}.country-main span,.mini,.next{color:#475569;font-size:.82rem}.mini,.next{grid-column:2}.player-results{margin:10px 0}.result-title{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#bfdbfe;font-weight:850;margin:10px 2px}.player-hit,.club-hit{width:100%;border:1px solid rgba(15,23,42,.12);background:#fff;color:#0f172a;border-radius:16px;padding:10px;margin-bottom:8px;text-align:left;display:grid;grid-template-columns:30px 1fr;gap:8px;cursor:pointer}.player-hit b,.club-hit b{display:block}.player-hit small,.club-hit small{color:#64748b}.detail{min-width:0;color:var(--ink)}
.hero{border:1px solid var(--line);background:#fff;border-top:8px solid var(--active);border-radius:30px;padding:24px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.hero h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1;margin:0;color:var(--ink)}.bigflag{filter:drop-shadow(0 10px 22px rgba(0,0,0,.18))}.hero p{color:var(--ink2);line-height:1.5}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.action{display:inline-flex;align-items:center;white-space:nowrap;background:var(--active);box-shadow:0 10px 24px rgba(15,23,42,.18);color:#fff}.action.secondary{background:#fff;color:#0f172a;border:1px solid #dbe3ef}.action.secondary:hover{background:#f8fafc}.copied{background:#16a34a!important;color:#fff!important}
.stats{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin:18px 0}.stat{border:1px solid var(--line);background:#fff;border-radius:20px;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.08)}.stat span{display:block;color:#64748b;font-size:.8rem}.stat strong{font-size:1.8rem;color:#0f172a}.panel{border:1px solid var(--line);background:#fff;border-radius:26px;padding:18px;margin:18px 0;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px}.panel-head h3{margin:0;font-size:1.22rem;color:#0f172a}.panel-head span{color:#64748b;font-size:.86rem}.panel select{background:#fff;color:#0f172a;border:1px solid #dbe3ef;border-radius:12px;padding:8px 10px}.fixture-panel{background:linear-gradient(180deg,#fff,#f8fafc)}.schedule{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.match-card{border:1px solid #e2e8f0;border-radius:22px;padding:14px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.08)}.match-top{display:flex;justify-content:space-between;color:#64748b;font-size:.82rem}.match-main{font-size:1.05rem;font-weight:900;margin:14px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#0f172a}.match-main em{font-style:normal;color:#64748b;font-size:.8rem}.match-meta{color:#334155;font-size:.9rem;line-height:1.45}.match-meta a{display:inline-flex;margin-top:8px;font-weight:850;background:#0f172a;color:#fff;border-radius:999px;padding:7px 10px;text-decoration:none}.match-meta a:hover{background:var(--active)}
.group-view{display:grid;gap:16px}.group-teams{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.group-team{border:1px solid #e2e8f0;border-radius:18px;padding:12px;background:#f8fafc;cursor:pointer}.group-team:hover{background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.08)}.group-team strong{display:block}.group-team small{color:#64748b}.group-fixtures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.group-fixture{border:1px solid #e2e8f0;border-radius:16px;padding:12px;background:#f8fafc}.group-fixture b{display:block;color:#0f172a}.group-fixture small{color:#64748b}.tablewrap{overflow:auto;border-radius:18px;border:1px solid #e2e8f0;background:#fff}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:11px 12px;border-bottom:1px solid #e2e8f0;vertical-align:top;color:#0f172a}th{text-align:left;color:#1d4ed8;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;background:#f8fafc;position:sticky;top:0}td small{display:block;color:#64748b}.pos{display:inline-flex;align-items:center;justify-content:center;min-width:38px;border-radius:999px;padding:5px 8px;font-weight:900;font-size:.8rem}.pos.GK{background:#fef3c7;color:#92400e}.pos.DF{background:#dbeafe;color:#1e40af}.pos.MF{background:#dcfce7;color:#166534}.pos.FW{background:#fee2e2;color:#991b1b}.fixtures-overview{display:grid;gap:14px}.day-block{border:1px solid #e2e8f0;border-radius:20px;padding:12px;background:#f8fafc}.day-block h4{margin:0 0 10px;color:#0f172a}.fixture-row{width:100%;border:0;background:#fff;color:#0f172a;border-radius:14px;padding:10px 12px;margin:7px 0;text-align:left;display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;cursor:pointer;box-shadow:0 5px 14px rgba(15,23,42,.05)}.fixture-row b span{color:#64748b}.fixture-row small{color:#64748b}.pill{display:inline-flex;background:#e0f2fe;color:#075985;border-radius:999px;padding:5px 8px;font-weight:850;font-size:.78rem}.empty{color:#94a3b8;background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.22);border-radius:16px;padding:14px}.detail .empty{color:#64748b;background:#f8fafc;border-color:#dbe3ef}
@media (max-width:1100px){.layout{grid-template-columns:1fr}.sidebar{position:relative;top:auto;max-height:none}.schedule{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.hero{flex-direction:column}.hero-actions{justify-content:flex-start}.group-teams,.group-fixtures{grid-template-columns:1fr 1fr}.fixture-row{grid-template-columns:1fr}}
@media (max-width:650px){.topbar{position:relative}.layout{padding:16px}.stats{grid-template-columns:1fr}.group-teams,.group-fixtures{grid-template-columns:1fr}.hero{border-radius:24px;padding:18px}.topbar h1{font-size:2.5rem}.schedule{grid-template-columns:1fr}.match-main{font-size:.95rem}.kpis span{font-size:.8rem}}

/* Readability/design pass */
.topbar{padding:32px clamp(18px,4vw,58px) 26px;}
.topbar h1{font-size:clamp(2.7rem,7vw,6rem);line-height:.88;margin:0;letter-spacing:-.07em;color:#fff;max-width:980px;}
.subtitle{margin:12px 0 0;font-size:clamp(1.25rem,2.3vw,2rem);font-weight:900;color:#dbeafe;letter-spacing:-.03em;}
.lede{max-width:820px;color:#d7e5f7;font-size:1.02rem;line-height:1.5;margin:10px 0 16px;}
.panel{padding:20px;border-radius:28px;}
.panel-head{border-bottom:1px solid #e2e8f0;padding-bottom:13px;margin-bottom:16px;}
.panel-head h3{font-size:1.36rem;letter-spacing:-.025em;}
.group-panel{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);}
.group-view{gap:20px;}
.group-section{background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:14px;}
.section-label{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:#334155;font-weight:950;letter-spacing:.06em;text-transform:uppercase;font-size:.74rem;}
.section-label:before,.section-label:after{content:"";height:1px;background:#e2e8f0;flex:1;}
.section-label:before{max-width:32px;}
.group-teams{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.group-team{background:#ffffff;border:1px solid #dbe3ef;border-left:5px solid var(--active);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:8px;min-height:104px;}
.group-team-main strong{display:block;font-size:1rem;color:#0f172a;line-height:1.25;}
.group-team-main span{display:block;margin-top:4px;color:#64748b;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.group-team small{line-height:1.35;color:#475569;}
.group-fixtures{display:grid;grid-template-columns:1fr;gap:0;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;background:#fff;}
.group-fixture{display:grid;grid-template-columns:190px 1fr 230px;gap:18px;align-items:center;border:0;border-bottom:1px solid #e2e8f0;border-radius:0;padding:14px 16px;background:#fff;}
.group-fixture:last-child{border-bottom:0;}
.gf-date span{display:block;color:#64748b;font-size:.84rem;font-weight:750;}
.gf-date b{display:block;color:#0f172a;font-size:.95rem;margin-top:3px;}
.gf-match{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:center;gap:10px;color:#0f172a;}
.gf-match strong{font-size:1rem;line-height:1.25;}
.gf-match strong:last-child{text-align:right;}
.gf-match em{font-style:normal;color:#64748b;text-align:center;font-weight:900;text-transform:uppercase;font-size:.72rem;}
.gf-venue{color:#334155;font-size:.9rem;text-align:right;line-height:1.35;}
.fixtures-overview{gap:16px;}
.day-block{background:#fff;border:1px solid #dbe3ef;border-radius:22px;padding:0;overflow:hidden;box-shadow:0 8px 22px rgba(15,23,42,.05);}
.day-head{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:13px 16px;}
.day-head h4{margin:0;color:#0f172a;font-size:1rem;letter-spacing:-.01em;}
.day-head span{color:#64748b;font-size:.82rem;font-weight:850;}
.fixture-list{display:grid;gap:0;}
.fixture-row{border-radius:0;margin:0;box-shadow:none;border-bottom:1px solid #e2e8f0;display:grid;grid-template-columns:92px 1fr 230px;padding:13px 16px;background:#fff;}
.fixture-row:last-child{border-bottom:0;}
.fixture-row:hover{background:#f8fafc;}
.fixture-time{font-weight:950;color:#0f172a;}
.fixture-match{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);gap:10px;align-items:center;}
.fixture-match b{font-size:.98rem;line-height:1.25;}
.fixture-match b:last-child{text-align:right;}
.fixture-match em{font-style:normal;color:#64748b;text-align:center;font-weight:900;font-size:.72rem;text-transform:uppercase;}
.fixture-meta{display:flex;gap:10px;align-items:center;justify-content:flex-end;min-width:0;}
.fixture-meta small{color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pill{flex:none;background:color-mix(in srgb,var(--active) 13%,#ffffff);color:#0f172a;border:1px solid color-mix(in srgb,var(--active) 28%,#e2e8f0);}
.roster-panel{margin-top:20px;}
.tablewrap{box-shadow:inset 0 1px 0 rgba(255,255,255,.65);}
th{color:#0f172a;background:#eef4fb;}
@media (max-width:1100px){.group-teams{grid-template-columns:1fr 1fr}.group-fixture,.fixture-row{grid-template-columns:1fr;gap:8px}.gf-match,.fixture-match{grid-template-columns:1fr 32px 1fr}.gf-venue,.fixture-meta{text-align:left;justify-content:flex-start}.fixture-meta small{white-space:normal}.sidebar{top:auto}}
@media (max-width:650px){.topbar h1{font-size:3rem}.subtitle{font-size:1.3rem}.group-teams{grid-template-columns:1fr}.gf-match,.fixture-match{grid-template-columns:1fr;text-align:left}.gf-match strong:last-child,.fixture-match b:last-child{text-align:left}.gf-match em,.fixture-match em{text-align:left}.fixture-row{padding:12px}.day-head{align-items:flex-start;gap:4px;flex-direction:column}.group-section{padding:12px}}

/* Final polish pass: compact header, cleaner filters, stronger active state, fixed fixture links */
.topbar{padding:14px clamp(18px,4vw,44px) 13px;}
.topbar h1{font-size:clamp(1.8rem,3.6vw,3.25rem);line-height:.94;letter-spacing:-.055em;}
.subtitle{font-size:clamp(1rem,1.45vw,1.35rem);margin:5px 0 0;color:#dbeafe;}
.lede{font-size:.86rem;margin:6px 0 10px;max-width:760px;color:#bfcee4;}
.kpis span{padding:5px 9px;font-size:.75rem;}
.layout{padding-top:18px;}
.sidebar{top:118px;max-height:calc(100vh - 136px);}
.chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 16px;}
.chip{width:100%;text-align:center;min-height:40px;padding:8px 6px;border-radius:13px;font-size:.78rem;line-height:1.1;display:flex;align-items:center;justify-content:center;}
.chip.active{background:var(--chip);border-color:var(--chip);color:var(--chipText,#fff);box-shadow:0 10px 24px color-mix(in srgb,var(--chip) 30%,transparent);outline:2px solid rgba(255,255,255,.46);outline-offset:1px;}
.country-card.selected{border-color:var(--accent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,#ffffff),#ffffff);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent),0 14px 30px rgba(0,0,0,.20);position:relative;}
.country-card.selected:after{content:"Selected";position:absolute;right:12px;top:12px;background:var(--accent);color:#fff;border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase;}
.hero{border-radius:24px;padding:18px 20px;scroll-margin-top:116px;}
.hero h2{font-size:clamp(1.65rem,3vw,3rem);}
.hero p{margin:8px 0 0;}
.stats{margin:14px 0;}
.panel{margin:16px 0;padding:18px;}
.panel-head h3{text-transform:none;}
.match-card{background:#f3f6fb;border-color:#d6deea;box-shadow:0 8px 22px rgba(15,23,42,.09);}
.match-card:hover{background:#eef3f8;}
.match-meta a{font-size:.82rem;padding:6px 10px;margin-left:4px;}
.group-panel,.fixture-panel{background:#fff;}
.group-section{background:#f8fafc;border-color:#dbe3ef;box-shadow:inset 0 1px 0 #fff;}
.group-fixtures,.fixture-list{background:#fff;}
.group-fixture{background:#fff;}
.group-fixture:nth-child(even),.fixture-row:nth-child(even){background:#f8fafc;}
.team-link{appearance:none;border:0;background:transparent;padding:0;margin:0;color:#0f172a;font:inherit;font-weight:900;text-align:left;cursor:pointer;border-radius:8px;line-height:1.25;}
.team-link:hover{color:var(--active);text-decoration:underline;}
.team-link.right{text-align:right;}
.gf-match strong,.fixture-match b{display:none;}
.fixture-row{cursor:default;}
.fixture-row:hover{background:#eef3f8;}
.tablewrap table th:nth-child(3),.tablewrap table td:nth-child(3){min-width:130px;}
.tablewrap table th:nth-child(4),.tablewrap table td:nth-child(4){min-width:240px;}
@media (max-width:1100px){.sidebar{top:auto;max-height:none}.hero{scroll-margin-top:20px}.chips{grid-template-columns:repeat(6,minmax(0,1fr));}.team-link.right{text-align:left;}}
@media (max-width:650px){.topbar{padding:14px 16px}.topbar h1{font-size:2.15rem}.subtitle{font-size:1.05rem}.lede{display:none}.kpis{margin-top:8px}.chips{grid-template-columns:repeat(3,minmax(0,1fr));}.country-card.selected:after{position:static;grid-column:2;justify-self:start;margin-top:4px}.hero{padding:16px}.panel{padding:14px}.match-meta a{display:inline-flex;margin-left:0}.team-link.right{text-align:left;}}

/* Final polish pass */
.topbar{position:relative;top:auto;padding:16px clamp(18px,4vw,44px) 14px;}
.brandlink{display:inline-block;color:#fff;text-decoration:none;}
.brandlink:hover{text-decoration:none;opacity:.92;}
.topbar h1{font-size:clamp(1.75rem,3.25vw,3rem);}
.subtitle{font-size:clamp(.95rem,1.25vw,1.2rem);}
.lede{margin:.45rem 0 .7rem;font-size:.94rem;}
.layout{padding-top:28px;}
.sidebar{top:24px;max-height:calc(100vh - 48px);}
.hero{scroll-margin-top:28px;margin-top:18px;}
.chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 16px;align-items:stretch;}
.chip{min-height:38px;display:flex;align-items:center;justify-content:center;text-align:center;}
.chip[data-group="All"]{grid-column:1 / -1;min-height:34px;padding:7px 12px;background:#f8fafc!important;color:#0f172a!important;border-color:#cbd5e1!important;}
.chip[data-group="All"].active{background:#0f172a!important;color:#fff!important;border-color:#0f172a!important;}
.country-card.selected{outline:3px solid color-mix(in srgb,var(--accent) 35%,#ffffff);box-shadow:0 0 0 1px var(--accent),0 16px 34px rgba(0,0,0,.20);}
.country-card.selected:after{content:"Selected";grid-column:2;justify-self:start;background:var(--accent);color:#fff;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase;}
body.home .fixture-panel,body.home .roster-panel,body.home .group-panel,body.home .stats{display:none;}
body.home .hero{margin-top:0;}
body.home #teamHero .hero-actions .action.secondary:first-child{display:none;}
.match-card{background:#f1f5f9;border-color:#d8e0ea;box-shadow:0 12px 28px rgba(15,23,42,.09), inset 0 1px 0 rgba(255,255,255,.7);}
.match-card .match-meta{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:9px 10px;margin-top:10px;}
@media (max-width:1100px){.sidebar{top:auto;max-height:none}.hero{margin-top:0}.chips{grid-template-columns:repeat(6,minmax(0,1fr));}.chip[data-group="All"]{grid-column:1 / -1;}}
@media (max-width:650px){.topbar{padding:13px 16px}.topbar h1{font-size:2rem}.subtitle{font-size:1rem}.chips{grid-template-columns:repeat(3,minmax(0,1fr));}.layout{padding-top:16px}.hero{margin-top:0}.country-card.selected:after{grid-column:2}}


/* Fixture alignment cleanup */
.fixtures-panel-head{justify-content:flex-start;}
.fixtures-panel-head h3{margin-bottom:0;}
.fixtures-overview .day-block{border-color:#d7e0ec;}
.fixtures-overview .day-head{padding:12px 18px;background:#eef4fb;}
.fixtures-overview .fixture-row{
  display:grid;
  grid-template-columns:86px minmax(260px,1.4fr) minmax(190px,.8fr) 92px;
  gap:16px;
  align-items:center;
  padding:14px 18px;
}
.fixture-venue{display:flex;flex-direction:column;gap:3px;min-width:0;text-align:left;color:#0f172a;}
.fixture-venue b{font-size:.9rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fixture-venue small{color:#64748b;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fixture-group{display:flex;justify-content:flex-end;align-items:center;}
.fixture-group .pill{min-width:76px;justify-content:center;}
.fixture-match{min-width:0;}
.fixture-match .team-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fixture-time{white-space:nowrap;}
@media (max-width:1100px){
  .fixtures-overview .fixture-row{grid-template-columns:78px minmax(0,1fr);gap:10px 14px;}
  .fixture-venue{grid-column:2;text-align:left;}
  .fixture-group{grid-column:2;justify-content:flex-start;}
  .fixture-group .pill{min-width:auto;}
}
@media (max-width:650px){
  .fixtures-overview .fixture-row{grid-template-columns:1fr;gap:8px;}
  .fixture-venue,.fixture-group{grid-column:auto;}
  .fixture-match .team-link{white-space:normal;}
  .fixture-venue b,.fixture-venue small{white-space:normal;}
}

/* Final visual pass: filled group controls + hidden sidebar scrollbar */
.chips{
  gap:9px;
}
.chip{
  border:0!important;
  outline:0!important;
  color:var(--chipText,#fff)!important;
  background:linear-gradient(180deg, color-mix(in srgb,var(--chip) 96%,#ffffff), var(--chip))!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--chip) 22%,transparent), inset 0 1px 0 rgba(255,255,255,.22)!important;
  font-weight:950;
}
.chip:hover{
  transform:translateY(-1px);
  filter:saturate(1.05) brightness(1.03);
  text-decoration:none;
}
.chip.active{
  border:0!important;
  outline:0!important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--chip) 34%,transparent), inset 0 0 0 2px rgba(255,255,255,.34)!important;
}
.chip[data-group="All"]{
  background:linear-gradient(180deg,#eaf2ff,#dbeafe)!important;
  color:#0f172a!important;
  border:0!important;
  box-shadow:0 8px 18px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.82)!important;
}
.chip[data-group="All"].active{
  background:linear-gradient(180deg,#1d4ed8,#0f2f7a)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 12px 28px rgba(29,78,216,.30), inset 0 0 0 2px rgba(255,255,255,.22)!important;
}
.sidebar{
  padding-right:0;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.sidebar::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
.country-grid{
  padding-right:2px;
}
.searchbox{
  margin-right:1px;
}
.country-card{
  margin-right:0;
}
@media (min-width:1101px){
  .sidebar{max-height:calc(100vh - 42px);}
}


/* Scroll behavior fix: selected team should always open at the team header */
#teamHero{scroll-margin-top:14px;}
.country-card:focus{outline:0;}


/* Final search contrast polish */
.searchrow input{
  background:#ffffff!important;
  color:#111827!important;
  border-color:#cbd5e1!important;
  font-weight:650;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.05);
}
.searchrow input::placeholder{
  color:#64748b!important;
  opacity:1;
  font-weight:650;
}
.searchrow input:focus{
  background:#ffffff!important;
  border-color:#94a3b8!important;
  box-shadow:0 0 0 3px rgba(148,163,184,.22), inset 0 1px 2px rgba(15,23,42,.05)!important;
}

/* Final link cleanup: keep group/fixture links clickable without underlines */
.group-panel a,
.group-panel a:hover,
.fixtures-overview a,
.fixtures-overview a:hover,
.group-section a,
.group-section a:hover,
.group-fixtures a,
.group-fixtures a:hover,
.fixture-list a,
.fixture-list a:hover,
.team-link,
.team-link:hover {
  text-decoration: none !important;
}

.group-panel .team-link:hover,
.fixtures-overview .team-link:hover,
.group-fixtures .team-link:hover,
.fixture-list .team-link:hover {
  color: var(--active);
}

/* Final selected-card cleanup: keep the active highlight inside the card shape */
.country-card.selected,
.country-card.selected:hover{
  transform:none!important;
  outline:0!important;
  overflow:hidden;
  border-color:color-mix(in srgb,var(--accent) 42%,#ffffff)!important;
  border-left-color:var(--accent)!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,#ffffff),#ffffff 62%)!important;
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 26%,#ffffff),0 12px 26px rgba(0,0,0,.16)!important;
}
.country-card.selected:after{
  position:static!important;
  right:auto!important;
  top:auto!important;
  grid-column:2!important;
  justify-self:start!important;
  align-self:start!important;
  margin-top:2px!important;
  background:color-mix(in srgb,var(--accent) 88%,#0f172a)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22)!important;
}


/* Sticky sidebar search + group filters */
.sidebar-controls{
  position:sticky;
  top:0;
  z-index:8;
  padding-bottom:12px;
  margin-bottom:4px;
  background:linear-gradient(180deg, var(--sidebar) 0%, var(--sidebar) 86%, rgba(13,25,48,0) 100%);
}
.sidebar-controls .searchbox{
  margin-bottom:12px;
}
.sidebar-controls .chips{
  margin-top:0;
}
.sidebar-title{
  margin-top:8px;
}
@media (max-width:1100px){
  .sidebar-controls{
    position:relative;
    top:auto;
    background:transparent;
  }
}


/* Country list behavior update: keep alphabetical order, but scroll selected team into view */
.country-card.selected{
  scroll-margin-top:150px;
}


/* Team page group visibility polish */
.group-action{
  background:var(--active)!important;
  color:#fff!important;
  border:0!important;
  font-weight:950;
  letter-spacing:.03em;
  cursor:default;
  box-shadow:0 10px 24px color-mix(in srgb,var(--active) 28%,transparent), inset 0 1px 0 rgba(255,255,255,.24)!important;
}
.hero-sub-group{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  background:color-mix(in srgb,var(--active) 16%,#ffffff);
  color:color-mix(in srgb,var(--active) 72%,#0f172a);
  font-weight:950;
  border:1px solid color-mix(in srgb,var(--active) 28%,#ffffff);
}
body.home #heroGroupBadge{display:none!important;}
@media (max-width:650px){
  .group-action{order:-1;}
}

/* Hide duplicate standings action on the home view; the primary action becomes Standings there. */
body.home .standings-static{display:none;}

/* Final fixture row layout: group left, venue right */
.fixtures-overview .fixture-row{
  grid-template-columns:78px 96px minmax(260px,1fr) minmax(220px,.78fr);
  gap:14px;
}
.fixtures-overview .fixture-group{
  justify-content:flex-start;
  min-width:0;
}
.fixtures-overview .fixture-group .pill{
  width:88px;
  min-width:88px;
  justify-content:center;
  padding:7px 10px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.fixtures-overview .fixture-match{
  min-width:0;
  align-items:center;
}
.fixtures-overview .fixture-match .team-link{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 8px;
  border-radius:10px;
  background:rgba(15,23,42,.035);
}
.fixtures-overview .fixture-match .team-link:hover{
  background:rgba(15,23,42,.075);
}
.fixtures-overview .fixture-venue{
  justify-self:stretch;
  align-self:stretch;
  justify-content:center;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:8px 10px;
}
.fixtures-overview .fixture-venue b,
.fixtures-overview .fixture-venue small{
  text-align:right;
}
@media (max-width:1100px){
  .fixtures-overview .fixture-row{grid-template-columns:78px 92px minmax(0,1fr);}
  .fixtures-overview .fixture-match{grid-column:3;}
  .fixtures-overview .fixture-venue{grid-column:3;text-align:left;justify-self:stretch;}
  .fixtures-overview .fixture-venue b,
  .fixtures-overview .fixture-venue small{text-align:left;}
}
@media (max-width:650px){
  .fixtures-overview .fixture-row{grid-template-columns:1fr;}
  .fixtures-overview .fixture-match,
  .fixtures-overview .fixture-venue{grid-column:auto;}
  .fixtures-overview .fixture-group .pill{width:auto;min-width:0;}
}


/* Final country-card micro polish: make group and next labels easier to scan */
.card-group-label,
.next-label{
  font-weight:900;
  color:#172033;
}
.country-card.selected .card-group-label,
.country-card.selected .next-label{
  color:#0f172a;
}
.country-main span{
  line-height:1.35;
}
.next{
  line-height:1.35;
}

/* Subtle flair pass: texture, depth, and polished accents without changing layout */
body{
  background:
    radial-gradient(circle at 14% 8%, rgba(59,130,246,.22) 0, rgba(59,130,246,0) 30%),
    radial-gradient(circle at 86% 16%, rgba(20,184,166,.14) 0, rgba(20,184,166,0) 26%),
    linear-gradient(145deg,#07111f 0%,#0b1730 38%,#f3f6fb 38%,#eef3f8 100%);
}
.topbar{
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 24%, rgba(96,165,250,.25), transparent 34%),
    radial-gradient(circle at 82% 12%, rgba(34,197,94,.12), transparent 28%),
    linear-gradient(135deg, rgba(6,13,27,.98), rgba(10,28,56,.96));
  border-bottom:1px solid rgba(255,255,255,.14);
  box-shadow:0 14px 38px rgba(2,6,23,.18);
}
.topbar:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background-image:
    linear-gradient(45deg, rgba(255,255,255,.08) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(255,255,255,.06) 25%, transparent 25%);
  background-size:22px 22px;
  mask-image:linear-gradient(90deg, transparent 0%, #000 18%, #000 78%, transparent 100%);
}
.topbar:after{
  content:"";
  position:absolute;
  left:clamp(18px,4vw,44px);
  right:clamp(18px,4vw,44px);
  bottom:0;
  height:3px;
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg,#38bdf8,#60a5fa,#a78bfa,#34d399);
  opacity:.9;
}
.brandlink{position:relative;z-index:1;}
.topbar h1{
  text-shadow:0 10px 30px rgba(0,0,0,.26);
}
.subtitle{
  color:#eaf3ff;
  text-shadow:0 4px 16px rgba(0,0,0,.16);
}
.lede{position:relative;z-index:1;}
.searchbox{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid rgba(148,163,184,.38);
  box-shadow:0 18px 50px rgba(15,23,42,.20), inset 0 1px 0 rgba(255,255,255,.9);
}
.sidebar-title h2{
  letter-spacing:-.02em;
  text-shadow:0 8px 18px rgba(0,0,0,.22);
}
.country-card{
  background:
    linear-gradient(90deg, color-mix(in srgb,var(--accent) 8%,#ffffff), #ffffff 48%),
    #ffffff;
  box-shadow:0 9px 25px rgba(2,6,23,.15), inset 0 1px 0 rgba(255,255,255,.8);
}
.country-card:hover{
  box-shadow:0 14px 34px rgba(2,6,23,.19), inset 0 1px 0 rgba(255,255,255,.85);
}
.country-card.selected{
  background:
    linear-gradient(135deg, color-mix(in srgb,var(--accent) 24%,#ffffff), #ffffff 62%),
    #ffffff;
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 44%,#ffffff),0 16px 34px rgba(2,6,23,.20)!important;
}
.hero{
  background:
    radial-gradient(circle at 90% 12%, color-mix(in srgb,var(--active) 11%, transparent), transparent 36%),
    linear-gradient(180deg,#ffffff,#fbfdff);
  box-shadow:0 20px 54px rgba(15,23,42,.16), inset 0 1px 0 rgba(255,255,255,.95);
}
.hero h2{
  display:inline-block;
  padding:2px 0 5px;
  background:linear-gradient(90deg,#0f172a,color-mix(in srgb,var(--active) 70%,#0f172a));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.group-badge,.hero .pill{
  box-shadow:0 8px 18px color-mix(in srgb,var(--active) 18%,transparent), inset 0 1px 0 rgba(255,255,255,.35);
}
.panel{
  background:
    linear-gradient(180deg,#ffffff,#fbfdff);
  border-color:rgba(148,163,184,.32);
  box-shadow:0 18px 44px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.9);
}
.panel-head h3{
  position:relative;
  padding-left:13px;
}
.panel-head h3:before{
  content:"";
  position:absolute;
  left:0;
  top:.2em;
  bottom:.18em;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--active),color-mix(in srgb,var(--active) 35%,#ffffff));
}
.match-card{
  background:
    linear-gradient(180deg,#f8fbff,#eef4fb);
  border-color:#d5deea;
}
.group-section,.day-block{
  background:
    linear-gradient(180deg,#f9fbff,#f3f6fb);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
}
.fixture-row{
  background:linear-gradient(180deg,#ffffff,#fbfdff);
  box-shadow:0 6px 18px rgba(15,23,42,.055), inset 0 1px 0 rgba(255,255,255,.82);
}
.fixture-row:nth-child(even){
  background:linear-gradient(180deg,#f8fafc,#f3f6fb);
}
.fixture-venue{
  background:linear-gradient(180deg,#f8fafc,#eef3f8);
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:8px 10px;
}
.stat{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:0 10px 24px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.92);
}
.tablewrap{
  box-shadow:0 10px 28px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.92);
}
th{
  background:linear-gradient(180deg,#eef4fb,#e6eef8);
}

/* Fix hero flag after subtle title gradient flair */
.hero h2 .bigflag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:10px;
  vertical-align:-0.08em;
  background:none!important;
  color:initial!important;
  -webkit-text-fill-color:initial!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  filter:drop-shadow(0 8px 16px rgba(15,23,42,.18));
}
.hero h2 .bigflag .flag-img{
  width:54px;
  height:38px;
  border-radius:7px;
  object-fit:cover;
  box-shadow:0 8px 18px rgba(15,23,42,.20);
}
@media (max-width:650px){
  .hero h2 .bigflag{margin-right:7px;}
  .hero h2 .bigflag .flag-img{width:42px;height:30px;}
}

/* Sticky sidebar readability fix: keep search/filter panel stable over long-page gradient */
.sidebar-controls{
  background:linear-gradient(180deg,#0d1930 0%,#0d1930 88%,rgba(13,25,48,.96) 100%)!important;
  border-radius:0 0 24px 24px;
  padding:0 0 14px 0;
  box-shadow:0 16px 24px rgba(2,6,23,.18);
}
.sidebar-controls:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-18px;
  height:18px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(13,25,48,.82),rgba(13,25,48,0));
}
@media (max-width:1100px){
  .sidebar-controls{
    background:transparent!important;
    box-shadow:none;
    border-radius:0;
    padding-bottom:12px;
  }
  .sidebar-controls:after{display:none;}
}


/* Floating Home / Standings actions only; keep the main header card clean. */
.floating-actions{
  position:fixed;
  top:18px;
  right:clamp(16px,3vw,42px);
  z-index:30;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px;
  border-radius:999px;
  background:rgba(15,23,42,.74);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 42px rgba(2,6,23,.24), inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(14px);
}
.floating-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#0f172a;
  font-size:.84rem;
  font-weight:950;
  letter-spacing:.01em;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(2,6,23,.18), inset 0 1px 0 rgba(255,255,255,.85);
}
.floating-action:hover{
  background:#ffffff;
  color:#0f172a;
  transform:translateY(-1px);
  text-decoration:none!important;
}
.layout{padding-top:28px;}
.sidebar{top:24px;max-height:calc(100vh - 48px);}
.hero{margin-top:4px;}
@media (max-width:1100px){
  .floating-actions{position:sticky;top:12px;margin:12px 16px 0 auto;width:max-content;right:auto;}
  .layout{padding-top:16px;}
}
@media (max-width:650px){
  .floating-actions{margin:10px 12px 0 auto;padding:6px;gap:6px;}
  .floating-action{min-height:34px;padding:0 12px;font-size:.8rem;}
}

/* Keep the home page clean; team-level actions remain visible on selected team pages. */
body.home #teamHero .hero-actions{display:none!important;}


/* Final header restore: title card stays; only floating actions appear in the top-right. */
.topbar{display:block!important;position:relative!important;top:auto!important;}
.topbar .brandblock{position:relative;z-index:1;}
.topbar .lede{max-width:820px;margin-top:14px;}
.topbar .subtitle,.topbar .kpis,.topbar .hero-actions,.topbar .actions{display:none!important;}

/* Final sidebar background lock: keep the left pane readable over the page gradient */
.sidebar{
  background:linear-gradient(180deg,#0d1930 0%,#0b1730 100%)!important;
  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;
  padding:12px 10px 18px!important;
  box-shadow:0 18px 44px rgba(2,6,23,.24), inset 0 1px 0 rgba(255,255,255,.08);
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:none;
}
.sidebar::-webkit-scrollbar{display:none!important;}
.sidebar-controls{
  top:0!important;
  background:#0d1930!important;
  border-radius:22px;
  padding:0 0 13px 0!important;
  box-shadow:0 12px 22px rgba(2,6,23,.18)!important;
}
.sidebar-controls:after{
  bottom:-20px;
  height:20px;
  background:linear-gradient(180deg,#0d1930 0%,rgba(13,25,48,0) 100%)!important;
}
.sidebar-title{padding:0 2px;}
.country-grid,.player-results{padding:0 1px 2px;}
@media (max-width:1100px){
  .sidebar{
    background:transparent!important;
    border:0;
    border-radius:0;
    padding:0!important;
    box-shadow:none;
  }
  .sidebar-controls{
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0;
  }
}


/* Final cleanup: keep the header title/subtitle, remove the extra group dashboard above All Group Stage Fixtures. */
.header-subtitle{
  position:relative;
  z-index:1;
  margin:8px 0 0;
  font-size:clamp(1rem,1.35vw,1.32rem);
  line-height:1.1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#dbeafe;
  text-shadow:0 8px 20px rgba(0,0,0,.20);
}
.group-panel{display:none!important;}
@media (max-width:650px){.header-subtitle{font-size:.95rem;margin-top:6px;}}

/* Final sidebar overlay fix: prevent country cards from showing behind sticky search/filter panel */
.sidebar{
  position:sticky;
  background:#0d1930!important;
}
.sidebar-controls{
  position:sticky!important;
  top:0!important;
  z-index:200!important;
  isolation:isolate;
  background:#0d1930!important;
  border-radius:22px 22px 20px 20px!important;
  padding:0 0 16px 0!important;
  margin-bottom:18px!important;
  box-shadow:0 18px 24px rgba(2,6,23,.34)!important;
}
.sidebar-controls:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-10px;
  right:-10px;
  top:-12px;
  bottom:-18px;
  background:#0d1930;
  border-radius:28px 28px 24px 24px;
  box-shadow:0 18px 28px rgba(2,6,23,.32);
  pointer-events:none;
}
.sidebar-controls:after{
  content:"";
  position:absolute;
  left:-10px;
  right:-10px;
  bottom:-20px;
  height:22px;
  pointer-events:none;
  background:#0d1930!important;
  border-radius:0 0 24px 24px;
  box-shadow:0 18px 28px rgba(2,6,23,.26);
}
.sidebar-controls .searchbox,
.sidebar-controls .chips{
  position:relative;
  z-index:1;
}
.country-grid,
.player-results{
  position:relative;
  z-index:1;
}
@media (max-width:1100px){
  .sidebar-controls{
    position:relative!important;
    top:auto!important;
    margin-bottom:12px!important;
    background:transparent!important;
    box-shadow:none!important;
    padding-bottom:12px!important;
  }
  .sidebar-controls:before,
  .sidebar-controls:after{display:none!important;}
}

/* Final home cleanup: remove the redundant home hero/secondary header above All Group Stage Fixtures. */
body.home #teamHero,
body.home #statCards,
body.home .fixture-panel,
body.home .roster-panel,
body.home .group-panel {
  display: none !important;
}
body.home .detail {
  padding-top: 0;
}
body.home .detail > .panel:has(#fixturesOverview) {
  margin-top: 0;
}

/* Mobile optimization pass: prevent sidebar/detail overlap and make Clear tappable */
@media (max-width: 760px){
  html, body{
    overflow-x:hidden;
  }
  body{
    background:#eef3f8;
  }
  .floating-actions{
    position:fixed!important;
    top:10px!important;
    right:10px!important;
    margin:0!important;
    z-index:500!important;
  }
  .topbar{
    margin-top:52px;
    padding:18px 16px 20px!important;
    border-radius:0 0 24px 24px;
  }
  .topbar h1{
    font-size:2.15rem!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
  }
  .header-subtitle{
    font-size:.82rem!important;
    letter-spacing:.06em!important;
  }
  .topbar .lede{
    display:block!important;
    font-size:.9rem!important;
    margin-top:10px!important;
  }
  .layout{
    display:flex!important;
    flex-direction:column!important;
    gap:16px!important;
    padding:14px 12px 34px!important;
  }
  body:not(.home) .detail{
    order:-1;
  }
  body:not(.home) .sidebar{
    order:2;
  }
  .sidebar{
    position:relative!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
    background:#0d1930!important;
    border-radius:22px!important;
    padding:10px!important;
  }
  .sidebar-controls{
    position:relative!important;
    top:auto!important;
    z-index:20!important;
    background:#0d1930!important;
    border-radius:20px!important;
    padding:0 0 12px!important;
    margin-bottom:10px!important;
    box-shadow:none!important;
  }
  .sidebar-controls:before,
  .sidebar-controls:after{
    display:none!important;
  }
  .searchbox{
    padding:14px!important;
    border-radius:20px!important;
  }
  .searchbox label{
    font-size:.78rem!important;
    line-height:1.25;
  }
  .searchrow{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:center!important;
  }
  .searchrow input{
    min-width:0!important;
    height:48px!important;
    font-size:.95rem!important;
  }
  .searchrow button{
    position:relative!important;
    z-index:50!important;
    pointer-events:auto!important;
    min-width:74px!important;
    height:48px!important;
    padding:0 14px!important;
    touch-action:manipulation!important;
  }
  .chips{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .chip{
    min-height:42px!important;
    padding:9px 7px!important;
    font-size:.82rem!important;
  }
  .chip[data-group="All"]{
    grid-column:1 / -1!important;
  }
  .country-grid{
    gap:10px!important;
  }
  .country-card{
    border-radius:18px!important;
    padding:12px!important;
    grid-template-columns:38px 1fr!important;
  }
  .hero{
    scroll-margin-top:72px!important;
    border-radius:22px!important;
    padding:16px!important;
    margin-top:0!important;
  }
  .hero h2{
    font-size:2.05rem!important;
    line-height:1.05!important;
  }
  .hero-actions{
    width:100%;
    gap:8px!important;
  }
  .hero-actions .action{
    flex:1 1 auto;
    justify-content:center;
    min-height:40px;
    font-size:.82rem;
    padding:9px 10px;
  }
  .stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .stat{
    padding:12px!important;
  }
  .stat strong{
    font-size:1.45rem!important;
  }
  .panel{
    border-radius:22px!important;
    padding:14px!important;
    margin:14px 0!important;
  }
  .panel-head{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  .schedule{
    grid-template-columns:1fr!important;
  }
  .match-card{
    border-radius:18px!important;
  }
  .match-main{
    flex-direction:column;
    align-items:flex-start!important;
    gap:5px!important;
  }
  .match-main em{
    align-self:flex-start;
  }
  .tablewrap{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  table{
    min-width:760px!important;
  }
  .fixtures-overview .fixture-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .fixtures-overview .fixture-match,
  .fixtures-overview .fixture-venue{
    grid-column:auto!important;
  }
}

/* Restore selected group fixtures as a separate section above the full All Group Stage Fixtures list. */
.group-panel{
  display:block!important;
}
body.home .group-panel{
  display:none!important;
}


/* Header text acts as home/reset link */
.brandblock#homeLink{cursor:pointer;}
.brandblock#homeLink:focus-visible{outline:3px solid rgba(255,255,255,.75);outline-offset:8px;border-radius:18px;}


/* Final fixture polish: distinct group colors in All Group Stage Fixtures */
.fixtures-overview .group-pill{
  background:var(--group-color)!important;
  color:var(--group-text)!important;
  border:0!important;
  box-shadow:0 8px 18px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.22);
  letter-spacing:.02em;
}
.fixtures-overview .fixture-group .group-pill[data-group="C"]{
  text-shadow:none;
}
@media (max-width:650px){
  .fixtures-overview .fixture-group{
    align-self:flex-start;
  }
  .fixtures-overview .group-pill{
    min-height:32px;
    padding:6px 10px;
  }
}

/* Final schedule interaction polish: team names in selected-country schedule are clickable */
.schedule .match-main .team-link{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 8px;
  border-radius:10px;
  background:rgba(15,23,42,.035);
  max-width:44%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.schedule .match-main .team-link:hover{
  background:rgba(15,23,42,.075);
  color:var(--active);
}
@media (max-width:650px){
  .schedule .match-main .team-link{
    max-width:100%;
    white-space:normal;
  }
}


/* Mobile-only bottom action bar. This is isolated from the desktop layout. */
.mobile-actions {
  display: none;
}

@media (max-width: 760px) {
  .mobile-actions {
    display: flex;
    position: fixed;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    z-index: 9999;
    gap: 8px;
    padding: 7px;
    border-radius: 999px;
    background: rgba(7, 17, 31, .92);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 18px 45px rgba(2,6,23,.38);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .mobile-actions button {
    border: 0;
    min-width: 92px;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 999px;
    font-weight: 900;
    letter-spacing: .01em;
    cursor: pointer;
    touch-action: manipulation;
  }

  #mobileBackBtn {
    background: rgba(255,255,255,.13);
    color: #eaf2ff;
  }

  #mobileRefreshBtn {
    background: #eaf2ff;
    color: #0f172a;
  }

  body {
    padding-bottom: 78px;
  }

  #teamHero,
  .hero,
  .sidebar,
  .topbar {
    scroll-margin-top: 12px;
  }
}

@media (min-width: 761px) {
  .mobile-actions {
    display: none !important;
  }
}


/* Home-icon-only mobile action bar, minimal safe variant */
@media (max-width: 760px) {
  .mobile-actions {
    gap: 0 !important;
  }

  #mobileBackBtn {
    min-width: 52px !important;
    width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 2rem !important;
    line-height: 1 !important;
  }
}


/* Soccer-ball home button: minimal safe styling */
@media (max-width: 760px) {
  #mobileBackBtn {
    font-size: 1.7rem !important;
    line-height: 1 !important;
  }
}


/* Static header standings button */
.brandblock {
  position: relative;
}

.header-standings-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 14px;
  background: #ffffff;
  color: #0f172a;
  border: 1px solid rgba(219,227,239,.95);
  box-shadow: 0 10px 24px rgba(15,23,42,.16);
  font-weight: 850;
  font-size: .9rem;
  text-decoration: none;
  white-space: nowrap;
}

.header-standings-btn:hover {
  background: #f8fafc;
  color: #0f172a;
  text-decoration: none;
  transform: translateY(-1px);
}

@media (min-width: 760px) {
  .header-standings-btn {
    position: absolute;
    right: clamp(18px, 3vw, 36px);
    top: clamp(18px, 2.4vw, 30px);
    margin-top: 0;
  }
}

@media (max-width: 650px) {
  .header-standings-btn {
    min-height: 38px;
    padding: 9px 12px;
    border-radius: 13px;
    font-size: .84rem;
  }
}


/* Make the header Standings button match the team-page action button size */
.header-standings-btn {
  min-height: auto !important;
  height: auto !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  font-size: .9rem !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.18) !important;
}

@media (max-width: 650px) {
  .header-standings-btn {
    padding: 9px 11px !important;
    font-size: .84rem !important;
  }
}


/* Final: make header Standings button exactly match team-page action buttons */
.header-standings-btn.action.secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #dbe3ef !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
  min-height: unset !important;
  height: auto !important;
  line-height: normal !important;
  font-size: inherit !important;
  font-weight: 850 !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.18) !important;
  margin-top: 0 !important;
}

.header-standings-btn.action.secondary:hover {
  background: #f8fafc !important;
  color: #0f172a !important;
  text-decoration: none !important;
}

@media (max-width: 650px) {
  .header-standings-btn.action.secondary {
    padding: 10px 12px !important;
    font-size: inherit !important;
  }
}


/* Header Standings button: external Flashscore link, not part of header reset */
.header-standings-btn {
  cursor: pointer;
  position: relative;
  z-index: 3;
  pointer-events: auto;
}


/* Final header Standings button placement fix */
.topbar .brandblock {
  position: relative !important;
}

.topbar .header-standings-btn,
.topbar .header-standings-btn.action.secondary {
  position: absolute !important;
  top: 24px !important;
  right: 28px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: auto !important;
  min-height: auto !important;
  height: auto !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #dbe3ef !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.18) !important;
  font-weight: 850 !important;
  font-size: inherit !important;
  line-height: normal !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  z-index: 20 !important;
}

.topbar .header-standings-btn:hover,
.topbar .header-standings-btn.action.secondary:hover {
  background: #f8fafc !important;
  color: #0f172a !important;
  text-decoration: none !important;
  transform: translateY(-1px);
}

@media (max-width: 760px) {
  .topbar .header-standings-btn,
  .topbar .header-standings-btn.action.secondary {
    top: 14px !important;
    right: 14px !important;
    padding: 9px 11px !important;
    font-size: .84rem !important;
  }
}

@media (max-width: 480px) {
  .topbar .header-standings-btn,
  .topbar .header-standings-btn.action.secondary {
    position: static !important;
    margin-top: 10px !important;
    width: max-content !important;
  }
}


/* Keep the main header visible on every view, including selected team pages */
.topbar,
body:not(.home) .topbar,
body.home .topbar {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.topbar .brandblock,
body:not(.home) .topbar .brandblock,
body.home .topbar .brandblock {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.topbar .header-standings-btn,
body:not(.home) .topbar .header-standings-btn,
body.home .topbar .header-standings-btn {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* Header title/subtitle reset link */
.header-home-text {
  display: inline-block;
  cursor: pointer;
  border-radius: 12px;
}

.header-home-text:hover h1,
.header-home-text:hover .header-subtitle {
  opacity: .92;
}

.header-home-text:focus-visible {
  outline: 3px solid rgba(96,165,250,.75);
  outline-offset: 5px;
}

.topbar .header-standings-btn {
  pointer-events: auto;
}


/* Keep header/standings visible at top when selecting teams */
.topbar {
  scroll-margin-top: 0;
}

#teamHero,
.hero {
  scroll-margin-top: 0 !important;
}


/* Keep the header and header Standings button visible on every selected team page */
.topbar,
body:not(.home) .topbar,
body.home .topbar {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.topbar .brandblock,
body:not(.home) .topbar .brandblock,
body.home .topbar .brandblock {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.topbar .header-standings-btn,
body:not(.home) .topbar .header-standings-btn,
body.home .topbar .header-standings-btn {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* Static odds display */
.odds-line {
  margin-top: 10px;
  display: grid;
  gap: 6px;
  padding: 10px 11px;
  border-radius: 14px;
  background: linear-gradient(180deg,#ffffff,#f8fafc);
  border: 1px solid #dbe3ef;
  color: #0f172a;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
  font-size: .82rem;
}

.odds-line div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.odds-line b {
  color: #1d4ed8;
  font-weight: 950;
}

.odds-line span {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  background: #eef4fb;
  font-weight: 800;
}

.odds-line small {
  color: #64748b;
  font-weight: 750;
}

.odds-tbd {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  padding: 7px 10px;
  background: #f8fafc;
  color: #64748b;
  border-style: dashed;
}

.odds-tbd span {
  background: transparent;
  padding: 0;
}

.fixture-odds {
  grid-column: 1 / -1;
  display: block;
}

.fixture-odds .odds-line {
  margin-top: 2px;
  font-size: .78rem;
  background: #ffffff;
}

.group-fixture .odds-line {
  margin-top: 10px;
}

@media (max-width: 760px) {
  .odds-line {
    font-size: .78rem;
  }

  .odds-line div {
    gap: 6px;
  }

  .odds-line span {
    padding: 4px 7px;
  }
}


/* Odds layout cleanup: cleaner, aligned odds boxes across all views */
.odds-line {
  display: none !important;
}

.odds-box {
  margin-top: 12px;
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(203,213,225,.95);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 10px 24px rgba(15,23,42,.07);
  overflow: hidden;
  color: #0f172a;
}

.odds-box-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px 7px;
  border-bottom: 1px solid rgba(226,232,240,.95);
  background: linear-gradient(90deg, rgba(239,246,255,.98), rgba(255,255,255,.95));
}

.odds-label {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #0f172a;
  color: #eaf2ff;
  font-size: .72rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.odds-box-head small {
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
}

.odds-grid {
  display: grid;
  grid-template-columns: 1.35fr .85fr;
  gap: 0;
}

.odds-market {
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 1px;
  background: rgba(226,232,240,.95);
}

.odds-market + .odds-market {
  grid-template-columns: auto repeat(2, minmax(0, 1fr));
  border-left: 1px solid rgba(226,232,240,.95);
}

.odds-market b,
.odds-market span {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 7px 8px;
  background: rgba(255,255,255,.96);
  font-size: .78rem;
  line-height: 1.15;
  text-align: center;
}

.odds-market b {
  color: #1d4ed8;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
  white-space: nowrap;
}

.odds-market span {
  color: #334155;
  font-weight: 800;
  min-width: 0;
}

.odds-market span strong {
  color: #16a34a;
  font-weight: 950;
  white-space: nowrap;
}

.odds-tbd {
  width: max-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-style: dashed;
  background: #f8fafc;
}

.odds-tbd strong {
  color: #64748b;
  font-size: .82rem;
}

/* Team page schedule cards */
.schedule .match-card .odds-box {
  margin-top: 12px;
}

.schedule .match-card .odds-grid {
  grid-template-columns: 1fr;
}

.schedule .match-card .odds-market + .odds-market {
  border-left: 0;
  border-top: 1px solid rgba(226,232,240,.95);
}

/* Group fixtures panel */
.group-fixture .odds-box {
  margin-top: 11px;
}

.group-fixture .odds-grid {
  grid-template-columns: 1fr;
}

.group-fixture .odds-market + .odds-market {
  border-left: 0;
  border-top: 1px solid rgba(226,232,240,.95);
}

/* All Group Stage Fixtures odds row */
.fixture-row {
  align-items: center;
}

.fixture-odds {
  grid-column: 1 / -1;
  display: block;
  width: 100%;
  margin-top: 8px;
  padding-left: clamp(0px, 8vw, 112px);
}

.fixture-odds .odds-box {
  margin-top: 0;
}

.fixture-odds .odds-box.compact {
  max-width: 980px;
}

.fixture-odds .odds-box-head {
  padding: 7px 10px 6px;
}

.fixture-odds .odds-grid {
  grid-template-columns: 1.2fr .8fr;
}

.fixture-odds .odds-market b,
.fixture-odds .odds-market span {
  min-height: 34px;
  font-size: .74rem;
  padding: 6px 7px;
}

@media (max-width: 980px) {
  .odds-grid,
  .fixture-odds .odds-grid {
    grid-template-columns: 1fr;
  }

  .odds-market + .odds-market,
  .fixture-odds .odds-market + .odds-market {
    border-left: 0;
    border-top: 1px solid rgba(226,232,240,.95);
  }

  .fixture-odds {
    padding-left: 0;
  }
}

@media (max-width: 650px) {
  .odds-box {
    border-radius: 14px;
  }

  .odds-box-head {
    padding: 8px 9px 6px;
  }

  .odds-label {
    font-size: .68rem;
    padding: 4px 8px;
  }

  .odds-market {
    grid-template-columns: 1fr;
  }

  .odds-market + .odds-market {
    grid-template-columns: 1fr;
  }

  .odds-market b,
  .odds-market span {
    justify-content: space-between;
    text-align: left;
    min-height: 34px;
    font-size: .76rem;
    padding: 7px 10px;
  }

  .odds-market b {
    justify-content: center;
    background: #eff6ff;
  }

  .fixture-odds {
    margin-top: 10px;
    padding-left: 0;
  }

  .fixture-odds .odds-market b,
  .fixture-odds .odds-market span {
    min-height: 34px;
    font-size: .74rem;
  }
}


/* Compact odds: remove source/update row and tighten spacing */
.odds-box-head {
  display: none !important;
}

.odds-box {
  margin-top: 9px !important;
}

.odds-grid {
  border-radius: 16px;
  overflow: hidden;
}

.fixture-odds {
  margin-top: 6px !important;
}

.schedule .match-card .odds-box,
.group-fixture .odds-box {
  margin-top: 9px !important;
}

.odds-market b,
.odds-market span {
  min-height: 36px !important;
}

@media (max-width: 650px) {
  .odds-box {
    margin-top: 8px !important;
  }

  .fixture-odds {
    margin-top: 8px !important;
  }
}


/* Final cleanup: Group X Fixtures odds layout */
.group-fixtures {
  display: grid;
  gap: 12px;
}

.group-fixture {
  display: grid !important;
  grid-template-columns: minmax(110px, .7fr) minmax(280px, 1.6fr) minmax(180px, .9fr);
  align-items: center;
  gap: 14px;
  padding: 16px 18px !important;
  overflow: visible !important;
}

.group-fixture .gf-date,
.group-fixture .gf-match,
.group-fixture .gf-venue {
  min-width: 0;
}

.group-fixture .gf-date {
  display: grid;
  gap: 4px;
}

.group-fixture .gf-match {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: nowrap;
}

.group-fixture .gf-match .team-link {
  min-width: 0;
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.group-fixture .gf-venue {
  text-align: right;
}

.group-fixture > .odds-box {
  grid-column: 1 / -1;
  margin-top: 6px !important;
  width: 100%;
  max-width: none;
  justify-self: stretch;
}

.group-fixture > .odds-box .odds-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr);
  width: 100%;
}

.group-fixture > .odds-box .odds-market {
  min-width: 0;
}

.group-fixture > .odds-box .odds-market b,
.group-fixture > .odds-box .odds-market span {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.group-fixture > .odds-box .odds-market span strong {
  flex: 0 0 auto;
}

/* All fixtures cleanup so odds remain aligned beneath match row */
.fixtures-overview .fixture-row {
  display: grid;
  grid-template-columns: 92px 92px minmax(280px, 1.4fr) minmax(180px, .9fr);
  gap: 14px;
  align-items: center;
}

.fixtures-overview .fixture-odds {
  grid-column: 3 / -1;
  padding-left: 0 !important;
  margin-top: 6px !important;
}

/* Mobile odds readability */
@media (max-width: 900px) {
  .group-fixture {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px !important;
  }

  .group-fixture .gf-match {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
  }

  .group-fixture .gf-match .team-link {
    max-width: 100%;
    white-space: normal;
  }

  .group-fixture .gf-venue {
    text-align: left;
  }

  .group-fixture > .odds-box .odds-grid {
    grid-template-columns: 1fr;
  }

  .fixtures-overview .fixture-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 14px !important;
  }

  .fixtures-overview .fixture-odds {
    grid-column: 1 / -1;
    margin-top: 6px !important;
  }
}

@media (max-width: 650px) {
  .group-fixture > .odds-box,
  .fixture-odds .odds-box,
  .schedule .match-card .odds-box {
    border-radius: 14px;
  }

  .group-fixture > .odds-box .odds-market,
  .fixture-odds .odds-market,
  .schedule .match-card .odds-market {
    grid-template-columns: 1fr !important;
  }

  .group-fixture > .odds-box .odds-market b,
  .group-fixture > .odds-box .odds-market span,
  .fixture-odds .odds-market b,
  .fixture-odds .odds-market span,
  .schedule .match-card .odds-market b,
  .schedule .match-card .odds-market span {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    justify-content: space-between;
    text-align: left;
    min-height: 34px !important;
  }

  .group-fixture > .odds-box .odds-market b,
  .fixture-odds .odds-market b,
  .schedule .match-card .odds-market b {
    justify-content: center;
  }

  .group-fixture .gf-date span,
  .group-fixture .gf-date b {
    display: block;
  }
}


/* Odds readability pass: calmer, table-like ML and O/U styling */
.odds-box {
  margin-top: 10px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1px solid #d6e0eb !important;
  box-shadow: 0 6px 16px rgba(15,23,42,.055) !important;
  overflow: hidden !important;
}

.odds-grid {
  display: grid !important;
  grid-template-columns: 1.3fr .85fr !important;
  gap: 0 !important;
  padding: 0 !important;
  background: #dbe3ee !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

.odds-market {
  display: grid !important;
  gap: 1px !important;
  background: #dbe3ee !important;
  border: 0 !important;
}

.odds-market:first-child {
  grid-template-columns: 56px repeat(3, minmax(0, 1fr)) !important;
}

.odds-market:nth-child(2) {
  grid-template-columns: 76px repeat(2, minmax(0, 1fr)) !important;
}

.odds-market + .odds-market {
  border-left: 1px solid #dbe3ee !important;
  border-top: 0 !important;
}

.odds-market b,
.odds-market span {
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 7px 8px !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* ML: slate header, soft slate cells */
.odds-market:first-child b {
  background: #1f2a44 !important;
  color: #ffffff !important;
  font-size: .73rem !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
}

.odds-market:first-child span {
  background: #f3f6fa !important;
  color: #172033 !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
}

.odds-market:first-child span strong {
  color: #172033 !important;
  font-weight: 950 !important;
}

/* O/U: warm neutral header, soft warm cells */
.odds-market:nth-child(2) b {
  background: #6b4e16 !important;
  color: #ffffff !important;
  font-size: .73rem !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
}

.odds-market:nth-child(2) span {
  background: #fff8eb !important;
  color: #3b2a08 !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
}

.odds-market:nth-child(2) span strong {
  color: #3b2a08 !important;
  font-weight: 950 !important;
}

/* Make compact rows readable in all fixtures */
.fixture-odds .odds-box {
  max-width: 1000px !important;
}

.fixture-odds .odds-market b,
.fixture-odds .odds-market span {
  min-height: 34px !important;
  font-size: .74rem !important;
  padding: 6px 7px !important;
}

/* Team schedule and group fixture odds should breathe a bit */
.schedule .match-card .odds-box,
.group-fixture > .odds-box {
  margin-top: 12px !important;
}

/* TBD styling */
.odds-tbd {
  padding: 9px 11px !important;
  background: #ffffff !important;
  border: 1px dashed #cbd5e1 !important;
  color: #64748b !important;
}

.odds-tbd .odds-label {
  background: #475569 !important;
  color: #ffffff !important;
}

.odds-tbd strong {
  color: #64748b !important;
}

/* Mobile: stack into two readable mini tables */
@media (max-width: 900px) {
  .odds-grid,
  .group-fixture > .odds-box .odds-grid,
  .fixture-odds .odds-grid,
  .schedule .match-card .odds-grid {
    grid-template-columns: 1fr !important;
    gap: 1px !important;
  }

  .odds-market + .odds-market {
    border-left: 0 !important;
    border-top: 1px solid #dbe3ee !important;
  }
}

@media (max-width: 650px) {
  .odds-box {
    border-radius: 13px !important;
  }

  .odds-market:first-child,
  .odds-market:nth-child(2),
  .group-fixture > .odds-box .odds-market,
  .fixture-odds .odds-market,
  .schedule .match-card .odds-market {
    grid-template-columns: 1fr !important;
  }

  .odds-market b,
  .odds-market span,
  .group-fixture > .odds-box .odds-market b,
  .group-fixture > .odds-box .odds-market span,
  .fixture-odds .odds-market b,
  .fixture-odds .odds-market span,
  .schedule .match-card .odds-market b,
  .schedule .match-card .odds-market span {
    min-height: 34px !important;
    justify-content: space-between !important;
    text-align: left !important;
    padding: 7px 10px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .odds-market b,
  .group-fixture > .odds-box .odds-market b,
  .fixture-odds .odds-market b,
  .schedule .match-card .odds-market b {
    justify-content: center !important;
    text-align: center !important;
  }
}


/* Final fix: team-page Schedule odds should stack cleanly inside each card */
.schedule .match-card .odds-box {
  margin-top: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.schedule .match-card .odds-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  width: 100% !important;
  gap: 1px !important;
  background: #dbe3ee !important;
}

.schedule .match-card .odds-market {
  width: 100% !important;
  min-width: 0 !important;
}

.schedule .match-card .odds-market + .odds-market {
  border-left: 0 !important;
  border-top: 1px solid #dbe3ee !important;
}

.schedule .match-card .odds-market:first-child {
  grid-template-columns: 56px repeat(3, minmax(0, 1fr)) !important;
}

.schedule .match-card .odds-market:nth-child(2) {
  grid-template-columns: 76px repeat(2, minmax(0, 1fr)) !important;
}

.schedule .match-card .odds-market b,
.schedule .match-card .odds-market span {
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 7px 8px !important;
  font-size: .74rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.schedule .match-card .odds-market span strong {
  flex: 0 0 auto !important;
}

/* Keep the selected-team schedule cards from creating awkward horizontal clipping */
.schedule .match-card {
  overflow: hidden !important;
}

/* Mobile: make each odds item a readable row */
@media (max-width: 650px) {
  .schedule .match-card .odds-market:first-child,
  .schedule .match-card .odds-market:nth-child(2) {
    grid-template-columns: 1fr !important;
  }

  .schedule .match-card .odds-market b,
  .schedule .match-card .odds-market span {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    justify-content: space-between !important;
    text-align: left !important;
    font-size: .76rem !important;
  }

  .schedule .match-card .odds-market b {
    justify-content: center !important;
    text-align: center !important;
  }
}


/* Odds readability: increase text size without changing layout */
.odds-market b {
  font-size: .86rem !important;
  letter-spacing: .035em !important;
}

.odds-market span {
  font-size: .88rem !important;
  font-weight: 850 !important;
}

.odds-market span strong {
  font-size: .92rem !important;
  font-weight: 950 !important;
}

.fixture-odds .odds-market b,
.fixture-odds .odds-market span {
  font-size: .84rem !important;
}

.fixture-odds .odds-market span strong {
  font-size: .88rem !important;
}

.schedule .match-card .odds-market b,
.group-fixture > .odds-box .odds-market b {
  font-size: .84rem !important;
}

.schedule .match-card .odds-market span,
.group-fixture > .odds-box .odds-market span {
  font-size: .86rem !important;
}

.schedule .match-card .odds-market span strong,
.group-fixture > .odds-box .odds-market span strong {
  font-size: .9rem !important;
}

.odds-tbd strong {
  font-size: .9rem !important;
}

@media (max-width: 650px) {
  .odds-market b,
  .odds-market span,
  .fixture-odds .odds-market b,
  .fixture-odds .odds-market span,
  .schedule .match-card .odds-market b,
  .schedule .match-card .odds-market span,
  .group-fixture > .odds-box .odds-market b,
  .group-fixture > .odds-box .odds-market span {
    font-size: .9rem !important;
  }

  .odds-market span strong,
  .fixture-odds .odds-market span strong,
  .schedule .match-card .odds-market span strong,
  .group-fixture > .odds-box .odds-market span strong {
    font-size: .95rem !important;
  }
}


/* Final small fixes: keep special flags aligned and Bosnia odds label short */
#fixturesOverview .team-link {
  line-height: 1.15;
}

#fixturesOverview .team-link img,
#fixturesOverview .team-link svg,
#fixturesOverview .team-link .flag-img {
  width: 1.15em !important;
  height: 1.15em !important;
  max-width: 1.15em !important;
  max-height: 1.15em !important;
  object-fit: cover !important;
  vertical-align: -0.14em !important;
  border-radius: 2px !important;
}

/* Some flags are rendered as emoji/text; normalize their box in the all-fixtures team buttons */
#fixturesOverview .team-link {
  font-size: inherit;
}

#fixturesOverview .team-link[data-country="England"]::first-letter,
#fixturesOverview .team-link[data-country="Scotland"]::first-letter {
  font-size: .9em;
}

/* Give the ML cells just a little more breathing room after shortening Bosnia */
.fixture-odds .odds-market:first-child {
  grid-template-columns: 56px repeat(3, minmax(0, 1fr)) !important;
}


/* Fix England/Scotland flag rendering consistency */
.inline-flag-img,
.inline-flag-emoji {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.08em !important;
  height: 1.08em !important;
  min-width: 1.08em !important;
  max-width: 1.08em !important;
  font-size: 1em !important;
  line-height: 1 !important;
  vertical-align: -0.12em !important;
  margin-right: .24em !important;
}

.inline-flag-img {
  object-fit: contain !important;
  border-radius: 2px !important;
}

.inline-flag-emoji {
  overflow: hidden !important;
}

#fixturesOverview .team-link,
.group-fixture .team-link,
.schedule .team-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
}

#fixturesOverview .team-link .inline-flag-img,
#fixturesOverview .team-link .inline-flag-emoji {
  width: 1.05em !important;
  height: 1.05em !important;
  min-width: 1.05em !important;
  max-width: 1.05em !important;
}


/* Country card: replace roster-count line with World Cup winner odds */
.country-card .odds-to-win {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  margin-top: 7px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .07);
  color: #17345c;
  font-weight: 850;
  letter-spacing: .005em;
}

.country-card .odds-to-win b {
  color: #0f172a;
  font-weight: 950;
}

.country-card.selected .odds-to-win {
  background: rgba(37, 99, 235, .12);
}

@media (max-width: 760px) {
  .country-card .odds-to-win {
    font-size: .88rem;
    padding: 5px 8px;
  }
}


/* FIFA ranking next to team page title */
.team-rank {
  display: inline-flex;
  align-items: center;
  margin-left: .28em;
  color: #64748b;
  font-size: .62em;
  font-weight: 950;
  letter-spacing: .01em;
  vertical-align: middle;
}

@media (max-width: 650px) {
  .team-rank {
    font-size: .58em;
    margin-left: .22em;
  }
}


/* FIFA rank in left-side country cards */
.card-rank-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .08);
  color: #0f172a;
  font-weight: 950;
}

.country-card.selected .card-rank-label {
  background: rgba(37, 99, 235, .14);
}


/* Country card ranking inline beside team name */
.card-title-rank {
  color: #64748b;
  font-size: .9em;
  font-weight: 950;
  white-space: nowrap;
}

.country-card.selected .card-title-rank {
  color: #475569;
}

/* Hide old rank pill if any older markup still appears */
.card-rank-label {
  display: none !important;
}


/* Compact FIFA rank labels in Group X Fixtures and All Group Stage Fixtures */
.mini-rank {
  display: inline;
  color: #64748b;
  font-size: .84em;
  font-weight: 800;
  white-space: nowrap;
}

#fixturesOverview .team-link,
.group-fixture .team-link {
  line-height: 1.2;
}

#fixturesOverview .mini-rank,
.group-fixture .mini-rank {
  font-size: .78em;
  letter-spacing: 0;
}

@media (max-width: 700px) {
  #fixturesOverview .mini-rank,
  .group-fixture .mini-rank {
    font-size: .8em;
  }
}


/* Small spacing fix so fixture names read like Canada (#30) */
.mini-rank {
  margin-left: 0.28em !important;
}

#fixturesOverview .mini-rank,
.group-fixture .mini-rank {
  margin-left: 0.3em !important;
}


/* Alias fixes keep rankings/odds populated for FIFA alternate country labels */


/* Mobile-only odds readability fix */
@media (max-width: 760px) {
  .fixture-odds .odds-box,
  .group-fixture > .odds-box,
  .schedule .match-card .odds-box {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  .fixture-odds .odds-grid,
  .group-fixture > .odds-box .odds-grid,
  .schedule .match-card .odds-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1px !important;
    width: 100% !important;
  }

  .fixture-odds .odds-market,
  .group-fixture > .odds-box .odds-market,
  .schedule .match-card .odds-market,
  .fixture-odds .odds-market:first-child,
  .fixture-odds .odds-market:nth-child(2),
  .group-fixture > .odds-box .odds-market:first-child,
  .group-fixture > .odds-box .odds-market:nth-child(2),
  .schedule .match-card .odds-market:first-child,
  .schedule .match-card .odds-market:nth-child(2) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .fixture-odds .odds-market + .odds-market,
  .group-fixture > .odds-box .odds-market + .odds-market,
  .schedule .match-card .odds-market + .odds-market {
    border-left: 0 !important;
    border-top: 1px solid #dbe3ee !important;
  }

  .fixture-odds .odds-market b,
  .fixture-odds .odds-market span,
  .group-fixture > .odds-box .odds-market b,
  .group-fixture > .odds-box .odds-market span,
  .schedule .match-card .odds-market b,
  .schedule .match-card .odds-market span {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 42px !important;
    padding: 9px 12px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: .98rem !important;
    line-height: 1.2 !important;
  }

  .fixture-odds .odds-market b,
  .group-fixture > .odds-box .odds-market b,
  .schedule .match-card .odds-market b {
    justify-content: center !important;
    text-align: center !important;
    font-size: 1rem !important;
  }

  .fixture-odds .odds-market span,
  .group-fixture > .odds-box .odds-market span,
  .schedule .match-card .odds-market span {
    justify-content: space-between !important;
    text-align: left !important;
    gap: 12px !important;
  }

  .fixture-odds .odds-market span strong,
  .group-fixture > .odds-box .odds-market span strong,
  .schedule .match-card .odds-market span strong {
    flex: 0 0 auto !important;
    font-size: 1.04rem !important;
  }

  .fixture-odds {
    grid-column: 1 / -1 !important;
    padding-left: 0 !important;
    margin-top: 12px !important;
  }
}
