/* ── Roster Phase ───────────────────────────────────────────────────────── */
.roster-scoreboard { display:flex; align-items:center; justify-content:space-between; padding:12px; background:var(--bg2); border-bottom:1px solid var(--border); }
.roster-team { padding:8px 12px; font-weight:600; font-size:.9rem; }
.roster-vs { color:var(--muted); font-size:.8rem; }
.roster-footer { position:sticky; bottom:0; background:var(--bg2); border-top:1px solid var(--border); padding:12px; display:flex; justify-content:space-between; align-items:center; }
.roster-summary { font-size:.82rem; color:var(--muted); }
.btn-lg { padding:12px 24px; font-size:1rem; }

/* Suggest Grid */
.suggest-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:8px; margin-bottom:12px; }
.suggest-card { background:var(--bg2); border:1px solid var(--border); border-radius:8px; padding:10px; cursor:pointer; position:relative; transition:all .15s; }
.suggest-card:hover { border-color:var(--accent); }
.suggest-card.added { border-color:var(--green); background:rgba(46,204,113,.1); }
.suggest-card.suspended { border-color:var(--red); opacity:.8; }
.suggest-num { font-size:.72rem; color:var(--muted); }
.suggest-name { font-size:.85rem; font-weight:600; }
.suggest-team { font-size:.72rem; color:var(--muted); margin-top:2px; }
.susp-badge { font-size:.7rem; color:var(--red); margin-top:4px; }
.added-check { position:absolute; top:6px; right:8px; color:var(--green); font-weight:700; }

/* Manual add */
.manual-add-form { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.manual-player-row { display:flex; align-items:center; justify-content:space-between; padding:6px 10px; background:var(--bg2); border-radius:6px; margin-bottom:4px; font-size:.85rem; }
.section-label { font-size:.75rem; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin:14px 0 8px; }
.muted-sm { font-size:.78rem; color:var(--muted); font-weight:400; text-transform:none; }

/* Court zones */
.player-section-label { font-size:.75rem; color:var(--muted); font-weight:700; text-transform:uppercase; padding:10px 0 6px; display:flex; align-items:center; gap:8px; }
.warn-text { color:var(--orange); }
.drop-hint { grid-column:1/-1; padding:20px; text-align:center; color:var(--muted); font-size:.8rem; border:2px dashed var(--border); border-radius:8px; }
.drop-active { background:rgba(79,142,247,.1) !important; }
.dragging { opacity:.5; transform:scale(.95); }

/* Court warning banner */
.court-warning { background:rgba(243,156,18,.15); border-bottom:1px solid rgba(243,156,18,.4); color:var(--orange); padding:8px 12px; font-size:.82rem; font-weight:600; text-align:center; }

/* Count badge */
.count-badge { display:inline-block; background:var(--bg3); border-radius:10px; padding:1px 7px; font-size:.72rem; margin-left:4px; }

/* ── Substitution Panel ──────────────────────────────────────────────────── */
.sub-panel { padding:10px; }
.sub-panel h4 { font-size:.88rem; color:var(--muted); margin-bottom:12px; font-weight:600; }
.sub-form { display:grid; grid-template-columns:1fr auto 1fr; gap:10px; align-items:end; margin-bottom:12px; }
.sub-arrow { font-size:1.4rem; text-align:center; color:var(--muted); padding-bottom:8px; }
.sub-team-label { font-size:.8rem; font-weight:600; color:var(--muted); margin-bottom:8px; }
.sub-quick-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.sub-quick-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.sub-quick-col { display:flex; flex-direction:column; gap:4px; }
.sub-quick-header { font-size:.72rem; color:var(--muted); font-weight:700; text-transform:uppercase; margin-bottom:4px; }
.sub-quick-player { padding:8px 10px; border-radius:6px; cursor:pointer; font-size:.82rem; transition:all .15s; border:1px solid var(--border); }
.sub-quick-player.on  { background:rgba(46,204,113,.1); border-color:var(--green); color:var(--green); }
.sub-quick-player.off { background:var(--bg2); }
.sub-quick-player.selected-out { background:rgba(231,76,60,.2); border-color:var(--red); }
.sub-quick-player.selected-in  { background:rgba(79,142,247,.2); border-color:var(--accent); }
.sub-quick-player:hover { border-color:var(--accent); }

/* ── Action btn wide ────────────────────────────────────────────────────── */
.action-btn.wide { grid-column:1/-1; }
.oncourt-dot { color:var(--green); font-size:.75rem; margin-left:6px; }
