/* MLSForums MLS Data Hub v2.3 - scoped Invision Pages styles */
.mls-ips{--navy:#07172d;--blue:#0e3e73;--red:#ed1c24;--ink:#061b3d;--muted:#53627a;--line:#dfe6ef;--card:#fff;--bg:#f4f7fb;color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif}.mls-ips *{box-sizing:border-box}.mls-ips .mls-page-head{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:0 0 18px}.mls-ips h1,.mls-ips h2,.mls-ips h3{color:var(--ink);line-height:1.1}.mls-ips .mls-page-head h1{margin:0 0 8px;font-size:clamp(28px,4vw,42px)}.mls-ips .mls-page-head p{margin:0;color:var(--muted);font-size:17px}.mls-ips .mls-links,.mls-ips .mls-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.mls-ips .mls-links a,.mls-ips .button,.mls-ips a.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#082f60;color:#fff!important;text-decoration:none!important;font-weight:800;padding:11px 14px;line-height:1.05}.mls-ips .mls-links a.secondary,.mls-ips a.secondary{background:#edf1f6;color:#071b3a!important}.mls-ips .mls-meta{color:var(--muted);font-size:16px;line-height:1.45}.mls-ips .mls-notice{background:#fff;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:12px;padding:14px 16px;margin:14px 0}.mls-ips .mls-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.mls-ips .mls-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.mls-ips .mls-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 2px 8px rgba(10,24,45,.04)}.mls-ips .stat-card strong{font-size:32px;display:block}.mls-ips .mls-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:18px}.mls-ips .mls-table th{background:#f0f3f8;text-align:left;padding:14px;font-size:18px}.mls-ips .mls-table td{padding:16px 14px;border-top:1px solid var(--line);vertical-align:middle}.mls-ips .mls-date-cell{font-weight:700;line-height:1.18;white-space:nowrap}.mls-ips .mls-date-cell span{display:block}.mls-ips .mls-date-main{font-size:18px}.mls-ips .mls-date-year{font-size:14px;color:var(--muted);font-weight:700}.mls-ips .mls-date-time{font-size:16px}.mls-ips .mls-match-cell{min-width:360px}.mls-ips .mls-matchup{display:grid;grid-template-columns:minmax(135px,1fr) auto minmax(135px,1fr);align-items:center;gap:12px;max-width:620px}.mls-ips .mls-club{display:flex;align-items:center;gap:9px;min-width:0}.mls-ips .mls-club strong{white-space:normal;line-height:1.18}.mls-ips .mls-team-logo-small{width:32px;height:32px;object-fit:contain;vertical-align:middle}.mls-ips .mls-vs-pill{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;border-radius:999px;background:#f1f4f8;border:1px solid var(--line);color:#59677b;font-weight:900;font-size:12px;text-transform:uppercase}.mls-ips .mls-action-cell{display:flex!important;gap:8px;flex-wrap:wrap}.mls-ips .mls-action-cell a.secondary{padding:9px 11px;min-width:72px}.mls-ips .mls-watch-logo-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-weight:800;white-space:nowrap}.mls-ips .mls-watch-logo-badge img{height:23px;width:auto;display:block}.mls-ips .mls-watch-cell .mls-watch-logo-badge span{font-size:0}.mls-ips .mls-watch-cell .mls-watch-logo-badge span:after{content:'Watch';font-size:16px}.mls-ips .mls-watch-badge{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:800}.mls-ips .mls-result-cell{min-width:400px}.mls-ips .mls-score-stack{min-width:0;max-width:560px}.mls-ips .mls-score-line{display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:12px;align-items:center;padding:6px 0}.mls-ips .mls-score-side{display:flex;align-items:center;gap:9px;min-width:0}.mls-ips .mls-score-side strong{white-space:normal;line-height:1.15}.mls-ips .mls-team-score{font-weight:900;font-size:21px;min-width:38px;text-align:center;background:#eef2f7;border-radius:12px;padding:4px 8px}.mls-ips .mls-status{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-weight:800;background:#fff;font-size:13px}.mls-ips .mls-score-status{text-align:right}.mls-ips .mls-team-card{text-align:center}.mls-ips .mls-team-card img{height:82px;width:82px;object-fit:contain;margin-bottom:10px}.mls-ips .player-card{display:flex;gap:14px;align-items:center}.mls-ips .player-card img{width:72px;height:72px;border-radius:50%;object-fit:cover;background:#eef2f7}.mls-ips .mini-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--line)}@media(max-width:900px){.mls-ips .mls-grid,.mls-ips .mls-grid.four{grid-template-columns:1fr}.mls-ips .mls-table,.mls-ips .mls-table thead,.mls-ips .mls-table tbody,.mls-ips .mls-table tr,.mls-ips .mls-table th,.mls-ips .mls-table td{display:block}.mls-ips .mls-table thead{display:none}.mls-ips .mls-table tr{border-top:1px solid var(--line);padding:14px}.mls-ips .mls-table td{border-top:0;padding:8px 0}.mls-ips .mls-match-cell,.mls-ips .mls-result-cell{min-width:0}.mls-ips .mls-matchup{grid-template-columns:1fr;gap:8px}.mls-ips .mls-vs-pill{justify-self:start}}

/* v2.4 polish */
.mls-match{display:flex;align-items:center;justify-content:space-between;gap:16px}.mls-team{display:flex;align-items:center;gap:10px;min-width:0}.mls-team img,.mls-card .mls-team img{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important;object-fit:contain!important}.mls-score{font-size:32px;font-weight:900;line-height:1.25;text-align:center;min-width:42px}.mls-card>img:not(.mlsf-logo):not(.mls-event-hero-img),.mls-card picture img{max-width:120px;max-height:120px;object-fit:contain}.mls-team-card img{max-width:86px!important;max-height:86px!important}.mls-watch-logo-badge{padding:4px 8px}.mls-watch-logo-badge img{max-width:116px;object-fit:contain}.mls-watch-logo-badge span{font-size:0}.mls-watch-logo-badge span:after{content:'Watch';font-size:16px}.mls-matchup{gap:12px}.mls-club strong{word-break:normal;overflow-wrap:anywhere}.mls-club-away{padding-left:0}.mls-action-cell a.secondary,.mls-fixture-actions a.secondary{font-size:16px;line-height:1.1;min-width:auto;white-space:nowrap}.mls-table td{line-height:1.25}@media(max-width:900px){.mls-match{align-items:flex-start}.mls-watch-logo-badge span:after{font-size:14px}}

/* v2.4 Invision Pages fixture-list layout */
.mls-ips .mls-fixture-list{display:grid;gap:12px;margin-top:14px}.mls-ips .mls-fixture-row{display:grid;grid-template-columns:150px minmax(280px,1.35fr) minmax(150px,.75fr) minmax(150px,.55fr) minmax(88px,.35fr);gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:0 2px 8px rgba(10,24,45,.035)}.mls-ips .mls-fixture-date{font-weight:800;line-height:1.15}.mls-ips .mls-fixture-venue{line-height:1.2}.mls-ips .mls-fixture-watch .mls-watch-logo-badge{max-width:150px;overflow:hidden}.mls-ips .mls-fixture-watch .mls-watch-logo-badge img{height:24px;max-width:96px}.mls-ips .mls-fixture-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}.mls-ips .mls-fixture-actions a.secondary{padding:9px 12px}.mls-ips .mls-matchup{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;max-width:none}.mls-ips .mls-club{gap:8px}.mls-ips .mls-team-logo-small{width:30px!important;height:30px!important;max-width:30px!important;max-height:30px!important;flex:0 0 30px}.mls-ips .mls-club strong{font-size:17px;line-height:1.15}.mls-ips .mls-vs-pill{min-width:30px;height:24px;font-size:11px}.mls-ips .mls-result-main .mls-score-stack{max-width:420px}.mls-ips .mls-result-main .mls-score-line{grid-template-columns:minmax(0,1fr) 44px;padding:3px 0}.mls-ips .mls-result-main .mls-team-score{font-size:18px;min-width:34px;padding:3px 7px}.mls-ips .mls-score-status{margin-top:3px}.mls-ips .mls-card img:not(.foot-icon){max-width:100%;height:auto}.mls-ips .mls-card .mls-season-pass-img{max-width:360px;width:100%;border-radius:10px}.mls-ips .mls-team-card img{width:72px!important;height:72px!important;max-width:72px!important;max-height:72px!important;object-fit:contain}.mls-ips .player-card img{width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important}@media(max-width:1200px){.mls-ips .mls-fixture-row{grid-template-columns:130px minmax(250px,1fr) minmax(130px,.65fr) minmax(130px,.45fr) 80px;gap:12px;padding:14px}.mls-ips .mls-club strong{font-size:16px}}@media(max-width:900px){.mls-ips .mls-fixture-row{grid-template-columns:1fr;gap:10px}.mls-ips .mls-fixture-watch .mls-watch-logo-badge{max-width:none}.mls-ips .mls-matchup{grid-template-columns:1fr;gap:7px}.mls-ips .mls-vs-pill{justify-self:start}.mls-ips .mls-fixture-actions a.secondary{width:auto}.mls-ips .mls-date-main,.mls-ips .mls-date-year,.mls-ips .mls-date-time{display:inline;font-size:15px}.mls-ips .mls-date-year:before{content:', '}.mls-ips .mls-date-time:before{content:' • '}}

/* v2.5 clean URL detail pages + image polish */
.mls-ips .mls-detail-head{display:flex;gap:18px;align-items:center}
.mls-ips .mls-detail-logo img{width:96px!important;height:96px!important;max-width:96px!important;max-height:96px!important;object-fit:contain}
.mls-ips .player-detail-card{display:flex;gap:20px;align-items:flex-start}
.mls-ips .player-detail-card>img{width:150px!important;height:150px!important;max-width:150px!important;max-height:150px!important;object-fit:cover;border-radius:16px;background:#eef2f7}
.mls-ips .match-detail-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;text-align:center}
.mls-ips .match-detail-scoreboard .match-team{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0}
.mls-ips .match-detail-scoreboard .match-team img{width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important;object-fit:contain}
.mls-ips .match-detail-scoreboard .match-team h2{font-size:clamp(20px,2vw,30px);margin:0;line-height:1.1}
.mls-ips .match-detail-scoreboard .match-score{font-size:34px;font-weight:900;background:#eef2f7;border:1px solid var(--line);border-radius:16px;padding:10px 18px;min-width:112px}
.mls-ips .match-detail-scoreboard .match-score span{display:block;font-size:13px;color:var(--muted);margin-top:4px;text-transform:uppercase}
.mls-ips .mls-card.player-card>img,.mls-ips .mls-card .mls-score-side img,.mls-ips .mls-card .mls-club img{object-fit:contain!important}
@media(max-width:700px){.mls-ips .mls-detail-head,.mls-ips .player-detail-card{flex-direction:column}.mls-ips .match-detail-scoreboard{grid-template-columns:1fr}.mls-ips .match-detail-scoreboard .match-score{justify-self:center}}


/* v2.6 Invision Pages polish */
.mls-ips .mls-pages-nav a.active{background:#082f60;color:#fff!important}
.mls-ips .mls-pages-nav a.secondary{background:#edf1f6;color:#071b3a!important}
.mls-ips .mls-fixture-row{grid-template-columns:150px minmax(360px,1.45fr) minmax(160px,.7fr) minmax(150px,.5fr) minmax(84px,.28fr);gap:18px}
.mls-ips .mls-fixture-date{white-space:normal;min-width:0}
.mls-ips .mls-fixture-date br{display:block}
.mls-ips .mls-fixture-date .mls-date-main,
.mls-ips .mls-fixture-date .mls-date-year,
.mls-ips .mls-fixture-date .mls-date-time{display:inline!important;white-space:normal}
.mls-ips .mls-fixture-date .mls-date-time{display:block!important;margin-top:2px}
.mls-ips .mls-fixture-date .mls-date-year:before{content:', '}
.mls-ips .mls-fixture-date .mls-date-time:before{content:''}
.mls-ips .mls-matchup{grid-template-columns:minmax(145px,1fr) 34px minmax(145px,1fr);column-gap:12px;row-gap:6px}
.mls-ips .mls-club strong{overflow-wrap:normal;word-break:normal;hyphens:none}
.mls-ips .mls-fixture-actions a.secondary{font-size:15px;padding:9px 12px;border-radius:10px}
.mls-ips .mls-fixture-watch .mls-watch-logo-badge{max-width:132px;padding:4px 8px}
.mls-ips .mls-fixture-watch .mls-watch-logo-badge img{max-width:88px;height:22px}
.mls-ips .mls-standings-table td,.mls-ips .mls-standings-table th{text-align:center}
.mls-ips .mls-standings-table td:nth-child(2),.mls-ips .mls-standings-table th:nth-child(2){text-align:left}
.mls-ips .mls-standings-table .mls-team-logo-small{width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;margin-right:7px;vertical-align:middle}
.mls-ips .player-card h3{margin:0 0 4px;font-size:18px}.mls-ips .player-card .mls-meta{margin:0 0 10px;line-height:1.35}
@media(max-width:1250px){.mls-ips .mls-fixture-row{grid-template-columns:135px minmax(320px,1.4fr) minmax(130px,.6fr) minmax(120px,.45fr) 78px;gap:12px}.mls-ips .mls-matchup{grid-template-columns:minmax(120px,1fr) 32px minmax(120px,1fr)}}
@media(max-width:900px){.mls-ips .mls-fixture-row{grid-template-columns:1fr}.mls-ips .mls-matchup{grid-template-columns:1fr}.mls-ips .mls-vs-pill{justify-self:start}.mls-ips .mls-fixture-date .mls-date-main,.mls-ips .mls-fixture-date .mls-date-year,.mls-ips .mls-fixture-date .mls-date-time{display:inline!important}.mls-ips .mls-fixture-date .mls-date-year:before{content:', '}.mls-ips .mls-fixture-date .mls-date-time:before{content:' • '}}

/* v2.7 IPS polish: cleaner dates, footer metadata, native page spacing */
.mls-ips .mls-cache-footer{margin:18px 0 0;color:var(--muted);font-size:13px;border-top:1px solid var(--line);padding-top:10px}
.mls-ips .mls-cache-footer a{color:#082f60!important;font-weight:800;text-decoration:none}
.mls-ips .mls-seo-data{display:none!important}
.mls-ips .mls-fixture-row{grid-template-columns:130px minmax(390px,1.65fr) minmax(145px,.65fr) minmax(132px,.42fr) minmax(70px,.22fr);gap:18px;padding:14px 16px;min-height:72px}
.mls-ips .mls-fixture-date{font-size:16px;line-height:1.12}
.mls-ips .mls-fixture-date .mls-date-main{font-size:16px;font-weight:900;display:block!important;white-space:nowrap}
.mls-ips .mls-fixture-date .mls-date-year{display:none!important}
.mls-ips .mls-fixture-date .mls-date-time{font-size:15px;font-weight:800;display:block!important;margin-top:3px;white-space:nowrap}
.mls-ips .mls-fixture-date .mls-date-year:before,.mls-ips .mls-fixture-date .mls-date-time:before{content:''!important}
.mls-ips .mls-matchup{grid-template-columns:minmax(145px,1fr) 32px minmax(145px,1fr);gap:12px;align-items:center}
.mls-ips .mls-club{min-width:0}.mls-ips .mls-club strong{font-size:16px;line-height:1.14;overflow-wrap:normal;word-break:normal}
.mls-ips .mls-team-logo-small{width:28px!important;height:28px!important;max-width:28px!important;max-height:28px!important}
.mls-ips .mls-fixture-venue{font-size:15px;color:var(--ink)}
.mls-ips .mls-fixture-watch .mls-watch-logo-badge{max-width:118px;padding:4px 7px;gap:6px}
.mls-ips .mls-fixture-watch .mls-watch-logo-badge img{max-width:76px;height:20px}
.mls-ips .mls-watch-cell .mls-watch-logo-badge span:after,.mls-ips .mls-watch-logo-badge span:after{font-size:14px}
.mls-ips .mls-fixture-actions a.secondary{font-size:14px;padding:8px 10px;border-radius:9px;min-width:0}
.mls-ips .mls-pages-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:thin}
.mls-ips .mls-pages-nav a{white-space:nowrap;flex:0 0 auto}
.mls-ips .mls-page-head{padding:16px 18px}.mls-ips .mls-page-head h1{font-size:clamp(30px,3.2vw,46px)}
.mls-ips .mls-watch-feature .mls-season-pass-img{max-width:360px!important;width:100%;border-radius:10px;margin-bottom:10px}
.mls-ips .mls-grid .mls-card h2:first-child,.mls-ips .mls-grid .mls-card h3:first-child{margin-top:0}
@media(max-width:1350px){.mls-ips .mls-fixture-row{grid-template-columns:125px minmax(330px,1.45fr) minmax(130px,.55fr) minmax(120px,.38fr) 68px;gap:14px}.mls-ips .mls-matchup{grid-template-columns:minmax(120px,1fr) 30px minmax(120px,1fr)}}
@media(max-width:900px){.mls-ips .mls-fixture-row{grid-template-columns:1fr;gap:10px}.mls-ips .mls-fixture-date .mls-date-main,.mls-ips .mls-fixture-date .mls-date-time{display:inline!important}.mls-ips .mls-fixture-date .mls-date-time:before{content:' • '!important}.mls-ips .mls-matchup{grid-template-columns:1fr}.mls-ips .mls-vs-pill{justify-self:start}.mls-ips .mls-fixture-watch .mls-watch-logo-badge{max-width:none}.mls-ips .mls-fixture-actions{justify-content:flex-start}}

/* v2.8 player search + dynamic SEO helper polish */
.mls-ips .mls-searchbar{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:14px 0 16px;box-shadow:0 2px 8px rgba(10,24,45,.035)}
.mls-ips .mls-searchbar label{display:block;font-weight:900;margin-bottom:8px;color:var(--ink)}
.mls-ips .mls-search-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mls-ips .mls-search-row input[type="search"]{flex:1 1 320px;min-width:220px;border:1px solid var(--line);border-radius:10px;padding:12px 13px;font:inherit;color:var(--ink);background:#fff}
.mls-ips .mls-search-row button{border:0;border-radius:10px;background:#082f60;color:#fff;font-weight:900;padding:12px 16px;cursor:pointer}
.mls-ips .mls-search-row a.secondary{margin:0;padding:12px 14px}
.mls-ips .mls-player-grid .player-card{min-height:132px}
.mls-ips .player-card h3{font-size:17px;line-height:1.18}
.mls-ips .player-card .mls-meta strong{color:var(--ink)}
@media(max-width:700px){.mls-ips .mls-search-row{display:grid;grid-template-columns:1fr}.mls-ips .mls-search-row input[type="search"],.mls-ips .mls-search-row button,.mls-ips .mls-search-row a.secondary{width:100%}}
