/* Franchise creation uses the same paper/night tokens as the coaching screens. */
.setup-selected-list{max-height:400px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.setup-pool>.setup-player-list{max-height:560px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.setup-player-list:focus-visible{outline:2px solid var(--control-focus);outline-offset:-3px}.roster-setup .page-heading>.setup-save-note{font-size:16px;white-space:nowrap;color:var(--muted);margin:2px 0 0;line-height:1.6}.roster-setup .page-heading>.setup-save-note::before{content:'';display:inline-block;width:5px;height:5px;background:var(--forest);margin:0 6px 1px 0}
@media(max-width:760px){.setup-selected-list{max-height:320px}.roster-setup .page-heading>.setup-save-note{white-space:normal;max-width:105px;text-align:right;font-size:16px}}
.franchise-setup-options{margin:20px 0}.franchise-setup-options>label{display:block}.setup-option-note{font-size:16px!important;line-height:1.6!important;color:var(--muted)!important;margin:9px 0 15px!important}.setup-check{display:flex!important;align-items:flex-start;gap:10px!important;font-size:20px!important;letter-spacing:0!important;line-height:1.5;margin:14px 0!important;text-transform:none}.setup-check input{margin-top:2px!important}.setup-check span{min-width:0}.setup-check small{display:block;color:var(--muted);font-size:16px;font-weight:400;margin-top:4px}.roster-setup .page-heading{align-items:flex-start}.roster-setup .page-heading h1{font-size:40px}.roster-setup .page-heading p{line-height:1.6}.roster-setup .page-heading>.secondary{white-space:nowrap;min-height:42px}.setup-budget{display:grid;grid-template-columns:210px 1fr;gap:18px 28px;padding:24px;margin-bottom:24px;border-top:3px solid var(--accent)}.setup-budget-main{display:grid;gap:5px}.setup-budget-main>span{font-size:16px;letter-spacing:1.4px;font-weight:700;color:var(--muted)}.setup-budget-main>strong{font:600 48px/1.2 var(--display);font-variant-numeric:tabular-nums}.setup-budget-main>small{font-size:16px;color:var(--muted)}.setup-budget dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;align-content:center}.setup-budget dt{font-size:16px;color:var(--muted);line-height:1.5}.setup-budget dd{margin:7px 0 0;font:600 20px/1.2 var(--display);font-variant-numeric:tabular-nums}.setup-cap-track{grid-column:1/-1;height:7px;background:var(--surface-soft);border:1px solid var(--line)}.setup-cap-track i{display:block;height:100%;background:var(--forest)}.setup-budget>p{grid-column:1/-1;font-size:16px;line-height:1.6;color:var(--muted);margin:0}.setup-layout{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(0,1.3fr);gap:22px;align-items:start}.setup-section-heading{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:20px}.setup-section-heading h2{font:600 24px/1.2 var(--display);margin:0 0 7px;letter-spacing:-.5px}.setup-section-heading p{font-size:16px;color:var(--muted);margin:0;line-height:1.5}.setup-count{font:600 32px/1.2 var(--display);white-space:nowrap;color:var(--forest)}.setup-count small{font-size:20px;color:var(--muted)}.setup-position-needs{padding:0 20px 18px;display:flex;gap:7px;flex-wrap:wrap}.setup-position-needs>span{display:inline-flex;align-items:center;gap:6px;background:var(--surface-soft);padding:6px 8px;border:1px solid var(--line);font-size:16px;color:var(--muted)}.setup-position-needs b{font-size:16px;letter-spacing:.5px}.setup-position-needs .is-full{background:var(--success-bg);color:var(--success-text)}.setup-player-list{list-style:none;margin:0;padding:0}.setup-player{display:grid;grid-template-columns:29px minmax(0,1fr) 31px minmax(70px,90px) 48px;gap:10px;align-items:center;padding:14px 18px;border-top:1px solid var(--line)}.setup-position{font:600 16px/1 var(--font);color:var(--forest);background:var(--surface-tint);display:grid;place-items:center;height:27px;min-width:27px}.setup-player-name{min-width:0}.setup-player-name>strong{display:block;font-size:20px;line-height:1.45;overflow-wrap:anywhere}.setup-player-name>small{display:block;font-size:16px;line-height:1.4;color:var(--muted);margin-top:3px}.setup-player-rating{text-align:center;font-variant-numeric:tabular-nums}.setup-player-rating strong{font:600 20px/1.2 var(--display);display:block}.setup-player-rating small{font-size:16px;letter-spacing:.5px;color:var(--muted);display:block;margin-top:3px}.setup-player-cost{text-align:right;min-width:0;font-variant-numeric:tabular-nums}.setup-player-cost>strong{font:600 20px/1.4 var(--display);display:block}.setup-player-cost>small{font-size:16px;line-height:1.4;display:block;color:var(--muted);margin-top:3px}.setup-player-cost>.setup-adjusted{color:var(--warning-text)}.setup-player .setup-pick{font-size:16px;padding:8px 5px;min-height:38px;border-radius:2px;width:100%;overflow-wrap:anywhere;line-height:1.25}.setup-player .setup-pick:disabled{font-size:16px}.setup-selected-list .setup-player{grid-template-columns:25px minmax(0,1fr) 28px 70px 49px;gap:7px;padding-left:16px;padding-right:16px}.setup-selected-list .setup-player-name>strong{font-size:16px}.setup-roster-actions{padding:18px 20px;display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line)}.setup-roster-actions>.primary,.setup-roster-actions>.secondary{flex:1;min-height:43px;white-space:nowrap}.setup-roster-actions>p{margin:3px 0 0;flex-basis:100%;font-size:16px;line-height:1.6;color:var(--muted)}.setup-empty{padding:30px 20px;text-align:center;border-top:1px solid var(--line)}.setup-empty>strong{font:600 20px var(--display)}.setup-empty p{margin:8px 0 0;font-size:16px;line-height:1.6;color:var(--muted)}.setup-league-note{border-top:1px solid var(--line);background:var(--surface-soft)}.setup-league-note>summary,.setup-salary-details>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 20px;font-size:16px;font-weight:600}.setup-league-note>summary::after,.setup-salary-details>summary::after{content:'+';font:24px/1 var(--display);color:var(--forest)}.setup-league-note[open]>summary::after,.setup-salary-details[open]>summary::after{content:'−'}.setup-league-note>div{padding:0 20px 14px}.setup-league-note p,.setup-salary-details p{font-size:16px;line-height:1.7;color:var(--muted);margin:0 0 9px}.setup-filters{display:grid;grid-template-columns:minmax(100px,1fr) 140px 140px;gap:10px;padding:0 20px}.setup-filters>div{min-width:0}.setup-filters label{display:block;font-size:16px;letter-spacing:.7px;color:var(--muted);font-weight:700;margin:0 0 7px}.setup-filters input,.setup-filters select,.setup-filters .sa-select{width:100%}.setup-filters input{font-size:20px!important}.setup-filters .search-control{margin:0}.setup-results-note{font-size:16px;line-height:1.6;color:var(--muted);margin:13px 20px 17px}.setup-pool-footnote{font-size:16px;line-height:1.7;color:var(--muted);margin:0;padding:16px 20px;border-top:1px solid var(--line);background:var(--surface-soft)}.setup-salary-details{margin-top:24px;border:1px solid var(--line);background:var(--card)}.setup-salary-details>summary{font-size:20px}.setup-salary-details>summary small{font-size:16px;color:var(--muted);margin-left:10px;font-weight:400}.setup-salary-details>div{padding:0 20px 12px}.setup-adjustment-list{list-style:none;padding:0;margin:15px 0}.setup-adjustment-list li{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid var(--line)}.setup-adjustment-list strong{display:block;font-size:20px;line-height:1.5}.setup-adjustment-list small{display:block;font-size:16px;line-height:1.5;color:var(--muted);margin-top:2px}.setup-adjustment-list li>div:last-child{text-align:right}.setup-adjustment-list a{display:inline-block;font-size:16px;margin-top:5px}.setup-sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.setup-layout:has(>.setup-roster:only-child){grid-template-columns:minmax(0,700px)}
@media(max-width:1250px){.setup-layout{grid-template-columns:1fr}.setup-selected-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.setup-selected-list .setup-player:nth-child(even){border-left:1px solid var(--line)}.setup-player{grid-template-columns:30px minmax(0,1fr) 45px 120px 72px}.setup-filters{grid-template-columns:minmax(120px,1fr) 140px 160px}}
@media(max-width:760px){.setup-budget{padding:18px;grid-template-columns:1fr;gap:18px}.setup-budget dl{gap:14px}.setup-budget dt{font-size:16px}.setup-budget dd{font-size:20px}.setup-budget-main>strong{font-size:40px}.roster-setup .page-heading{gap:10px}.roster-setup .page-heading h1{font-size:32px}.roster-setup .page-heading>.secondary{font-size:16px;padding:9px 11px}.setup-layout{gap:18px}.setup-selected-list{display:block}.setup-selected-list .setup-player:nth-child(even){border-left:0}.setup-section-heading{padding:18px}.setup-position-needs{padding:0 18px 18px}.setup-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0 16px;gap:13px}.setup-search-field{grid-column:1/-1}.setup-filters input{font-size:20px!important}.setup-player,.setup-selected-list .setup-player{grid-template-columns:26px minmax(0,1fr) 28px 71px 48px;gap:7px;padding:12px}.setup-player-name>strong,.setup-selected-list .setup-player-name>strong{font-size:16px}.setup-player-cost>small{font-size:16px}.setup-player-cost>strong{font-size:20px}.setup-player-rating strong{font-size:20px}.setup-results-note{margin:12px 16px 15px}.setup-roster-actions{padding:16px}.setup-salary-details>summary,.setup-league-note>summary{padding:16px}.setup-salary-details>div,.setup-league-note>div{padding-left:16px;padding-right:16px}.setup-adjustment-list strong{font-size:16px}}
@media(max-width:380px){.setup-player,.setup-selected-list .setup-player{grid-template-columns:23px minmax(0,1fr) 25px 62px 42px;gap:5px;padding:12px 9px}.setup-player .setup-pick{font-size:16px}.setup-player .setup-pick:disabled{font-size:16px}.setup-player-name>small{font-size:16px}.setup-budget dl{gap:10px}.setup-budget dd{font-size:20px}}

.setup-selected-list .setup-player .setup-pick{font-size:20px;line-height:1}.setup-player .setup-pick:disabled{font-size:16px;white-space:nowrap}

.setup-cap-choice{padding:14px 16px;border:1px solid var(--line);background:var(--soft);border-radius:2px}.setup-cap-choice input{flex:0 0 auto}.setup-cap-choice:has(input:checked){border-color:var(--forest)}

.setup-budget.is-unlimited .setup-budget-main>strong{font-size:36px;overflow-wrap:anywhere}
