.weekly-lineup-page{--wld-green:#16734a;--wld-green-soft:#e4f6ec;--wld-yellow:#8a5a00;--wld-yellow-soft:#fff3d7}
.weekly-lineup-filters{display:grid;gap:18px;margin-bottom:14px;padding:0;overflow:hidden}
.weekly-lineup-filters>div:first-child{padding:18px 22px 0}
.weekly-lineup-filter-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px;padding:0 22px 22px}
.weekly-lineup-filter-grid label{display:grid;gap:6px;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.weekly-lineup-filter-grid select{width:100%;min-height:45px;border:1px solid #bdc9d7;border-radius:10px;background:#fff;color:var(--ink);padding:0 36px 0 11px;font-weight:750;text-transform:none}
.weekly-lineup-filter-grid select:disabled{background:#edf0f3;color:#87919e}
#weeklyLineupMessage{margin-bottom:14px}
.weekly-lineup-comparison:empty,.weekly-matches-dashboard:empty{display:none}
.weekly-lineup-shell,.weekly-matches-shell{margin-bottom:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);overflow:hidden}
.weekly-matchup-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}
.weekly-matchup-heading .kicker{margin-bottom:5px}.weekly-matchup-heading h2{margin:0}.weekly-matchup-heading p{margin:4px 0 0;color:var(--muted);font-size:.72rem}
.weekly-approved-badge{border-radius:999px;background:var(--wld-green-soft);color:var(--wld-green);padding:7px 10px;font-size:.63rem;font-weight:900;text-transform:uppercase}
.weekly-team-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:16px}
.weekly-team{min-width:0;border:1px solid var(--line);overflow:hidden}.weekly-team.home{border-top:4px solid var(--blue);border-radius:13px 0 0 13px}.weekly-team.away{border-top:4px solid var(--orange);border-left:0;border-radius:0 13px 13px 0}
.weekly-team-heading{padding:13px 15px;background:#f7f9fb}.weekly-team-heading small{display:block;margin-bottom:3px;color:var(--muted);font-size:.58rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.weekly-team-heading h3{margin:0;font-size:1.05rem}
.weekly-line-head,.weekly-line-row{display:grid;grid-template-columns:38px minmax(0,1fr) 42px;gap:8px;align-items:center;padding:9px 13px}.weekly-line-head{background:var(--navy);color:#fff;font-size:.58rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.weekly-line-head span:last-child{text-align:right}
.weekly-line-row{min-height:44px;border-bottom:1px solid var(--line);font-size:.69rem}.weekly-line-row:last-child{border-bottom:0}.weekly-line-label{color:var(--blue);font-weight:950}.weekly-player-pair{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-rank{color:var(--blue);font-size:.58rem;font-weight:950}.weekly-player-separator{margin:0 4px;color:var(--muted);font-weight:900}.weekly-sor{text-align:right;color:var(--navy);font-size:.68rem}
.weekly-matches-heading{padding:17px 21px;border-bottom:1px solid var(--line)}.weekly-matches-heading .kicker{margin-bottom:4px}.weekly-matches-heading h2{margin:0;font-size:1.35rem}.weekly-matches-heading p{margin:4px 0 0;color:var(--muted);font-size:.72rem}
.weekly-status-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:11px 14px;background:#f7f9fb}.weekly-status-filter{min-width:0;border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px 9px;color:var(--ink);font-size:.65rem;font-weight:850;text-align:left}.weekly-status-filter b{margin-right:5px;font-size:.9rem}.weekly-status-filter.active{border-color:var(--blue);box-shadow:0 0 0 2px rgba(23,88,165,.11)}
.weekly-match-head,.weekly-match-row{display:grid;grid-template-columns:42px minmax(230px,1fr) minmax(175px,.65fr) 110px minmax(155px,.55fr);gap:10px;align-items:center;padding:9px 15px}.weekly-match-head{background:var(--navy);color:#fff;font-size:.57rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.weekly-match-row{min-height:58px;border-bottom:1px solid var(--line);font-size:.69rem}.weekly-match-row:last-child{border-bottom:0}.weekly-match-row>strong:first-child{color:var(--blue)}
.weekly-match-players,.weekly-match-schedule,.weekly-match-result{min-width:0;display:grid;gap:2px}.weekly-match-players span,.weekly-match-schedule b,.weekly-match-schedule small,.weekly-match-result b,.weekly-match-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-match-players em{color:var(--blue);font-style:normal;font-weight:900}.weekly-match-schedule small,.weekly-match-result small{color:var(--muted);font-size:.6rem}.weekly-match-status{justify-self:start;border-radius:999px;padding:5px 8px;font-size:.56rem;text-transform:uppercase}.weekly-match-status.scheduled{background:#e8f1fc;color:var(--blue)}.weekly-match-status.tbs{background:var(--wld-yellow-soft);color:var(--wld-yellow)}.weekly-match-status.completed{background:var(--wld-green-soft);color:var(--wld-green)}.weekly-match-outcome{color:var(--blue)!important;font-weight:900}
.weekly-dashboard-empty{padding:34px 20px;text-align:center;color:var(--muted)}
@media(max-width:850px){.weekly-lineup-filter-grid{grid-template-columns:1fr}.weekly-team-grid{padding:10px}.weekly-match-head,.weekly-match-row{grid-template-columns:34px minmax(185px,1fr) minmax(145px,.7fr) 94px minmax(130px,.55fr);padding-inline:9px}.weekly-status-filters{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.weekly-matchup-heading{align-items:flex-start;flex-direction:column}.weekly-team-grid{grid-template-columns:1fr;gap:10px}.weekly-team.home,.weekly-team.away{border:1px solid var(--line);border-radius:11px}.weekly-team.home{border-top:4px solid var(--blue)}.weekly-team.away{border-top:4px solid var(--orange)}.weekly-status-filters{grid-template-columns:1fr 1fr}.weekly-match-head{display:none}.weekly-match-table{display:grid;gap:8px;padding:9px}.weekly-match-row{grid-template-columns:34px 1fr auto;gap:6px 8px;padding:10px;border:1px solid var(--line);border-radius:9px}.weekly-match-players,.weekly-match-schedule{grid-column:2}.weekly-match-status{grid-column:3;grid-row:1}.weekly-match-result{grid-column:2/4}}
