/* School workspace only. Existing heat cards keep the shared bracket styles. */
.school-league { max-width:1120px; margin-inline:auto; padding:32px 32px 72px; color:var(--ink); }
.school-league *, .school-league *::before, .school-league *::after { box-sizing:border-box; }
.school-league h1 { font:700 clamp(36px,4vw,46px)/1.05 var(--font-display); margin:0; }
.school-league h2 { font:700 28px/1.15 var(--font-display); margin:0; }
.school-league h3 { font:650 17px/1.3 var(--font-text); margin:0; }
.school-league p { margin:10px 0; }
.school-league .sl-muted, .school-league small { color:var(--ink-48); }
.school-league small { display:block; font-size:12px; line-height:1.5; }
.school-league .context-back { display:inline-flex; margin-bottom:22px; }
.school-league .sl-eyebrow { font-size:11px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; color:var(--attention-text); margin:0 0 9px; }
.school-league .sl-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.school-league .sl-hero > div { min-width:0; }
.school-league .sl-hero h1 { overflow-wrap:anywhere; }
.school-league .btn, .school-league .btn-pearl { min-height:44px; display:inline-flex; align-items:center; justify-content:center; text-align:center; padding:10px 18px; font-size:14px; text-decoration:none; border-radius:var(--r-pill); white-space:normal; }
.school-league .sl-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.school-league .sl-nav a { display:inline-flex; align-items:center; padding:10px 18px; min-height:44px; border:1px solid var(--hairline); border-radius:var(--r-pill); color:var(--ink); text-decoration:none; background:var(--card); font-size:14px; }
.school-league .sl-nav [aria-current="page"] { background:var(--ink); color:var(--card); border-color:var(--ink); }
.school-league .sl-panel { min-width:0; padding:24px; border:1px solid var(--edge); border-radius:20px; background:var(--card); }
.school-league .sl-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr); gap:24px; align-items:start; }
.school-league .sl-stack { display:grid; gap:22px; min-width:0; }
.school-league .sl-section-head, .school-league .sl-list-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.school-league .sl-section-head { margin-bottom:18px; flex-wrap:wrap; }
.school-league .sl-list-row { padding:16px 0; border-bottom:1px solid var(--edge); color:var(--ink); text-decoration:none; }
.school-league .sl-list-row:last-child { border-bottom:0; }
.school-league .sl-list-row > div, .school-league .sl-list-row > span { min-width:0; overflow-wrap:anywhere; }
.school-league .sl-list-row strong { font-size:14px; }
.school-league .sl-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:18px; }
.school-league .sl-section-head .sl-actions, .school-league .sl-list-row .sl-actions { margin-top:0; }
.school-league .sl-next { background:var(--ink); color:var(--card); padding:24px; border-radius:20px; display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:28px; }
.school-league .sl-next .sl-eyebrow { color:inherit; opacity:.8; }
.school-league .sl-next p { font-size:14px; }
.school-league .sl-next .btn { background:var(--card); color:var(--ink); flex-shrink:0; }
.school-league .sl-event { display:grid; grid-template-columns:60px minmax(0,1fr) auto 12px; align-items:center; gap:16px; padding:20px 0; border-top:1px solid var(--edge); color:var(--ink); text-decoration:none; }
.school-league .sl-event strong { font-size:16px; line-height:1.35; }
.school-league .sl-event > span:nth-child(2) { min-width:0; overflow-wrap:anywhere; }
.school-league .sl-date { background:var(--raised); border-radius:12px; padding:8px; text-align:center; font-size:11px; text-transform:uppercase; }
.school-league .sl-date strong { display:block; font-size:25px; }
.school-league .sl-status { display:inline-flex; padding:5px 10px; border:1px solid var(--hairline); border-radius:var(--r-pill); font-size:11px; white-space:nowrap; }
.school-league .sl-live { color:var(--attention-text); border-color:var(--attention); }
.school-league .sl-month { color:var(--ink-48); font-size:13px; margin:24px 0 12px; }
.school-league .sl-fold { border-top:1px solid var(--edge); margin-top:20px; padding-top:14px; }
.school-league summary { min-height:44px; cursor:pointer; padding:10px 0; line-height:1.5; }
.school-league summary > .sl-muted { font-size:13px; }
.school-league .sl-field { display:grid; gap:8px; min-width:0; margin:0; font-size:14px; font-weight:600; }
.school-league .sl-field small { font-weight:400; }
.school-league .sl-fixed-value { min-height:44px; padding:11px 0; font-weight:400; }
.school-league .sl-next-step { border-top:3px solid var(--attention); }
.school-league .sl-ready-waiting { border-top-color:var(--edge); }
.school-league .sl-finish { margin-top:24px; }
.school-league .sl-change-review { padding:10px 0; border-bottom:1px solid var(--edge); }
.school-league .sl-change-review:last-child { border-bottom:0; }
.school-league .sl-change-list { padding-left:22px; margin:8px 0 16px; font-size:14px; line-height:1.65; }
.school-league .input { width:100%; min-width:0; min-height:44px; border:1px solid var(--hairline); color:var(--ink); background:var(--card); border-radius:12px; padding:11px 12px; font:inherit; box-sizing:border-box; }
.school-league .sl-fields { display:grid; gap:18px; margin-top:22px; }
.school-league .sl-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.school-league .sl-gap { margin-top:22px; }
.school-league .sl-division-row { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto; align-items:end; gap:10px; padding:14px 0; border-bottom:1px solid var(--edge); }
.school-league .sl-note { padding:14px 16px; border:1px solid var(--edge); border-radius:12px; font-size:13px; color:var(--ink-48); margin-top:20px; }
.school-league .sl-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:20px; }
.school-league .sl-points .sl-field { text-align:center; font-size:12px; }
.school-league .sl-points .input { text-align:center; font-size:20px; font-weight:700; }
.school-league .sl-rule { display:flex; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid var(--edge); font-size:14px; }
.school-league .sl-panel > .btn-pearl { margin-top:16px; }
.school-league .sl-text-link { min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; color:var(--ink); font-size:13px; }
.school-league .sl-choices { margin:22px 0; padding:16px; border:1px solid var(--edge); border-radius:12px; display:grid; gap:8px; }
.school-league .sl-choices legend { padding:0 6px; font-size:14px; font-weight:650; }
.school-league .sl-choices label, .school-league .sl-check { display:flex; align-items:center; gap:12px; min-height:44px; font-size:14px; }
.school-league input[type="checkbox"] { width:18px; height:18px; flex-shrink:0; accent-color:var(--ink); }
.school-league .sl-narrow { max-width:780px; }
.school-league .sl-empty { padding:22px 0; }
.school-league .sl-empty p { color:var(--ink-48); font-size:14px; line-height:1.6; }
.school-league .sl-season-date { display:flex; align-items:end; gap:10px; margin-bottom:14px; }
.school-league .sl-season-date .sl-field { flex:1; }
.school-league .sl-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:22px 0; }
.school-league .sl-stats strong { display:block; font-size:26px; }
.school-league .sl-draw-toolbar { margin-bottom:24px; }
.school-league .sl-draw-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:start; }
.school-league .sl-heat-wrap { min-width:0; }
.school-league .sl-heat-wrap .bracket-card { margin:0; }
.school-league .sl-heat-actions { display:flex; justify-content:flex-end; padding-top:10px; }
.school-league.sl-modal { padding:0; max-width:none; }
.school-league.sl-modal .sl-field { margin-top:16px; }
.school-league .sl-slot-form { padding:16px 0; border-bottom:1px solid var(--edge); }
.school-league .sl-error:empty { display:none; }
.school-league button:disabled { cursor:wait; opacity:.6; }
.school-league :is(a,button,input,select,summary):focus-visible { outline:3px solid var(--attention); outline-offset:3px; }
@media(max-width:820px) {
  .school-league { padding:24px 22px 52px; }
  .school-league .sl-grid { grid-template-columns:minmax(0,1fr); }
  .school-league .sl-hero { align-items:flex-start; flex-direction:column; gap:16px; }
  .school-league .sl-next { align-items:flex-start; flex-direction:column; gap:16px; }
}
@media(max-width:600px) {
  .school-league { padding:22px 16px 44px; }
  .school-league .sl-panel { padding:20px; border-radius:18px; }
  .school-league .sl-form-grid, .school-league .sl-draw-grid { grid-template-columns:minmax(0,1fr); }
  .school-league .sl-division-row { grid-template-columns:minmax(0,1fr) auto; }
  .school-league .sl-division-row > .sl-field:first-child { grid-column:1/-1; }
  .school-league .sl-event { grid-template-columns:50px minmax(0,1fr) 10px; gap:12px; }
  .school-league .sl-event .sl-status { display:none; }
  .school-league .sl-event strong { font-size:14px; }
  .school-league .sl-date strong { font-size:23px; }
  .school-league .sl-list-row { align-items:flex-start; flex-wrap:wrap; }
  .school-league .sl-nav { gap:6px; }
  .school-league .sl-nav a { font-size:13px; padding:9px 13px; }
  .school-league .sl-section-head { align-items:flex-start; }
  .school-league .sl-points { gap:8px; }
  .school-league .sl-panel > .sl-actions .btn { flex:1 1 auto; }
  .school-league.sl-modal { padding:0; }
}
/* Compact entry tools retain full touch targets without stacked pills. */
.school-league .sl-entry-actions { display:flex; gap:0; flex-wrap:nowrap; }
.school-league .sl-entry-actions .btn-pearl { min-height:44px; min-width:44px; padding:0 8px; background:none; border:0; box-shadow:none; font-size:12px; text-decoration:underline; }
.school-league .sl-entry-actions .btn-pearl:first-child { padding-left:0; }
.school-league .sl-entry-actions .btn-pearl + .btn-pearl::before { content:'·'; margin-right:12px; text-decoration:none; }
.school-league .sl-readiness-row { border-bottom:1px solid var(--edge); padding:16px 0; font-size:14px; }
.school-league .sl-readiness-row p { font-size:13px; }
.school-league .sl-blocker, .school-league .sl-blocker small { color:var(--attention-text); }
.school-league .sl-ready > .btn, .school-league .sl-ready > .btn-pearl { margin-top:16px; }
.school-league .sl-lineup-summary { margin:-8px 0 22px; font-size:14px; }
.school-league textarea { resize:vertical; line-height:1.5; }
.school-league textarea:focus-visible { outline:3px solid var(--attention); outline-offset:3px; }
.school-league .sl-paste-result { overflow-wrap:anywhere; font-size:14px; }
.school-league .sl-paste-result ul { padding-left:20px; }
.school-league .sl-season-assignment { display:grid; gap:12px; margin-top:22px; }
.school-league .sl-season-assignment button { justify-self:start; }
.school-league .sl-entry { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:0 8px; padding:8px 0 10px; }
.school-league .sl-entry > div:first-child { display:contents; }
.school-league .sl-entry > div:first-child > strong { grid-column:1; grid-row:1; overflow-wrap:anywhere; }
.school-league .sl-entry > div:first-child > small { grid-column:1/-1; grid-row:2; }
.school-league .sl-entry-actions { grid-column:2; grid-row:1; }
