:root {
  --tenant-primary: #13314d;
  --tenant-secondary: #4b9cd3;
  --tenant-accent: #D62828;
  --coach-ink: #0D1B2A;
  --coach-muted: #627184;
  --coach-soft: #F4F4F5;
  --coach-line: #dce4eb;
  --coach-panel: #ffffff;
  --coach-shadow: 0 20px 60px rgba(18, 33, 51, 0.08);
  --coach-head: "Oswald", "Arial Narrow", system-ui, sans-serif;
  --coach-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  /* Player-intelligence components share the customer-stat design tokens. */
  --navy-900: #eef6fc;
  --navy-800: #dcebf7;
  --navy-700: #ffffff;
  --navy-600: #c2dbef;
  --ink: var(--coach-ink);
  --ink-muted: var(--coach-muted);
  --ink-faint: #738398;
  --carolina: var(--tenant-secondary);
  --cool-dark: #1f5e8a;
  --radius-sm: 8px;
  --font-head: var(--coach-head);
  --font-body: var(--coach-body);
}

*, *::before, *::after { box-sizing: border-box; }

[hidden] { display: none !important; }

html { min-height: 100%; background: var(--coach-soft); }

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--coach-body);
  color: var(--coach-ink);
  background:
    radial-gradient(circle at 92% 6%, color-mix(in srgb, var(--tenant-secondary) 16%, transparent), transparent 27rem),
    var(--coach-soft);
}

button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }

.coach-gate {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    linear-gradient(135deg, rgba(19, 49, 77, 0.97), rgba(17, 29, 43, 0.93)),
    var(--tenant-primary);
}

.coach-gate-card {
  width: min(540px, 100%);
  padding: 48px;
  color: #fff;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.06);
  box-shadow: 0 36px 90px rgba(0, 0, 0, 0.28);
}

.coach-default-mark,
.coach-brand-mark {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  overflow: hidden;
  background: transparent;
  color: #fff;
  font-family: var(--coach-head);
  font-weight: 700;
  letter-spacing: 0.05em;
}

.coach-default-mark {
  width: 76px;
  height: 76px;
  border-radius: 50%;
}

.coach-default-mark img,
.coach-brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.coach-kicker {
  margin: 22px 0 8px;
  color: rgba(255, 255, 255, 0.66);
  font-family: var(--coach-head);
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.coach-gate h1 {
  margin: 0 0 16px;
  font-family: var(--coach-head);
  font-size: clamp(2rem, 7vw, 3.2rem);
  line-height: 1;
  text-transform: uppercase;
}

.coach-gate p { color: rgba(255, 255, 255, 0.74); }

.coach-loading-bar {
  width: 180px;
  height: 3px;
  margin: 28px auto 0;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.16);
}

.coach-loading-bar span {
  display: block;
  width: 50%;
  height: 100%;
  background: var(--tenant-secondary);
  animation: coach-load 1.25s ease-in-out infinite alternate;
}

@keyframes coach-load {
  from { transform: translateX(-100%); }
  to { transform: translateX(200%); }
}

.coach-app {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
}

.coach-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 26px 18px 20px;
  color: #fff;
  background:
    linear-gradient(165deg, color-mix(in srgb, var(--tenant-primary) 92%, #000), var(--tenant-primary));
}

.coach-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 0 8px 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.coach-brand-mark {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
}

.coach-identity strong {
  display: block;
  font-family: var(--coach-head);
  font-size: 1.06rem;
  letter-spacing: 0.04em;
  line-height: 1.1;
  text-transform: uppercase;
}

.coach-identity span {
  color: rgba(255, 255, 255, 0.54);
  font-size: 0.72rem;
}

.coach-nav {
  display: grid;
  gap: 6px;
  margin-top: 24px;
}

.coach-nav button {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 14px;
  border: 0;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.64);
  text-align: left;
  background: transparent;
}

.coach-nav button span {
  color: rgba(255, 255, 255, 0.34);
  font-family: var(--coach-head);
  font-size: 0.72rem;
}

.coach-nav button:hover,
.coach-nav button.active {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
}

.coach-nav button.active::after {
  width: 6px;
  height: 6px;
  margin-left: auto;
  border-radius: 50%;
  background: var(--tenant-secondary);
  content: "";
}

.coach-powered {
  margin-top: auto;
  padding: 16px 10px 0;
  color: rgba(255, 255, 255, 0.42);
  font-size: 0.68rem;
}

.coach-powered strong { color: rgba(255, 255, 255, 0.7); }

.coach-main { min-width: 0; }

.coach-topbar {
  min-height: 84px;
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 14px clamp(22px, 4vw, 54px);
  border-bottom: 1px solid var(--coach-line);
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(16px);
}

.coach-context {
  display: flex;
  align-items: center;
  gap: 18px;
}

.coach-context label {
  display: grid;
  gap: 2px;
}

.coach-context label span {
  color: var(--coach-muted);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.coach-context select {
  min-width: 170px;
  padding: 4px 28px 4px 0;
  border: 0;
  color: var(--coach-ink);
  font-weight: 700;
  background: transparent;
}

.coach-user {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  font-size: 0.78rem;
}

.coach-user a {
  padding: 7px 10px;
  border: 1px solid var(--coach-line);
  border-radius: 8px;
  color: var(--coach-ink);
  text-decoration: none;
}

.coach-menu { display: none; }

.coach-content {
  width: min(1480px, 100%);
  margin: 0 auto;
  padding: clamp(28px, 5vw, 62px);
}

.coach-page-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}

.coach-eyebrow {
  margin: 0 0 8px;
  color: var(--tenant-secondary);
  font-family: var(--coach-head);
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.coach-page-head h1 {
  margin: 0;
  font-family: var(--coach-head);
  font-size: clamp(2.4rem, 6vw, 4.8rem);
  letter-spacing: -0.025em;
  line-height: 0.92;
  text-transform: uppercase;
}

.coach-page-head p {
  max-width: 560px;
  margin: 12px 0 0;
  color: var(--coach-muted);
}

.coach-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 16px;
  border: 1px solid var(--coach-line);
  border-radius: 9px;
  color: var(--coach-ink);
  font-weight: 700;
  text-decoration: none;
  background: #fff;
}

.coach-button.primary {
  border-color: var(--tenant-primary);
  color: #fff;
  background: var(--tenant-primary);
}

.coach-button.secondary {
  border-color: var(--tenant-secondary);
  color: var(--tenant-primary);
  background: color-mix(in srgb, var(--tenant-secondary) 13%, #fff);
}

.coach-button.danger {
  border-color: #e5b5ba;
  color: #8d2730;
  background: #fff7f8;
}

.coach-button:disabled { cursor: wait; opacity: 0.55; }

.coach-hero {
  position: relative;
  min-height: 280px;
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  overflow: hidden;
  border-radius: 24px;
  color: #fff;
  background:
    linear-gradient(118deg, var(--tenant-primary), color-mix(in srgb, var(--tenant-primary) 72%, #000));
  box-shadow: var(--coach-shadow);
}

.coach-hero::after {
  position: absolute;
  right: -90px;
  bottom: -170px;
  width: 390px;
  height: 390px;
  border: 64px solid color-mix(in srgb, var(--tenant-secondary) 22%, transparent);
  border-radius: 50%;
  content: "";
}

.coach-hero-main {
  position: relative;
  z-index: 1;
  padding: clamp(28px, 5vw, 58px);
}

.coach-hero .coach-eyebrow { color: var(--tenant-secondary); }

.coach-hero h2 {
  max-width: 720px;
  margin: 0 0 12px;
  font-family: var(--coach-head);
  font-size: clamp(2.1rem, 5vw, 4rem);
  line-height: 0.95;
  text-transform: uppercase;
}

.coach-hero p { color: rgba(255, 255, 255, 0.68); }

.coach-hero-meta {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 14px;
  padding: 34px;
  border-left: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.05);
}

.coach-hero-meta div {
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.coach-hero-meta span {
  display: block;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.66rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.coach-hero-meta strong { font-size: 0.92rem; }

.coach-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.coach-panel {
  grid-column: span 6;
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--coach-line);
  border-radius: 18px;
  background: var(--coach-panel);
  box-shadow: 0 10px 34px rgba(18, 33, 51, 0.04);
}

.coach-panel.wide { grid-column: span 8; }
.coach-panel.narrow { grid-column: span 4; }
.coach-panel.full { grid-column: 1 / -1; }

.coach-decision-workspace {
  padding: 0;
  overflow: hidden;
}

.coach-decision-head {
  padding: 24px 26px 20px;
  margin: 0;
  border-bottom: 1px solid var(--coach-line);
  background:
    linear-gradient(
      120deg,
      color-mix(in srgb, var(--tenant-secondary) 10%, #fff),
      #fff 62%
    );
}

.coach-decision-head > div {
  max-width: 720px;
}

.coach-decision-head label {
  display: grid;
  gap: 5px;
  width: min(300px, 100%);
  color: var(--coach-muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.coach-decision-head select {
  width: 100%;
  min-height: 42px;
  padding: 8px 38px 8px 12px;
  border: 1px solid var(--coach-line);
  border-radius: 10px;
  background: #fff;
  color: var(--coach-ink);
  font-weight: 700;
  text-transform: none;
}

.coach-decision-body {
  padding: 22px 26px 26px;
  background: #f7f9fb;
}

.coach-decision-body > .profile-section {
  margin: 0;
}

.coach-decision-body > .profile-section + .profile-section {
  margin-top: 16px;
}

.coach-decision-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 16px;
}

.coach-decision-summary > span {
  display: grid;
  gap: 2px;
  min-height: 76px;
  padding: 12px 14px;
  border: 1px solid var(--coach-line);
  border-radius: 12px;
  background: #fff;
}

.coach-decision-summary small {
  color: var(--coach-muted);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.coach-decision-summary strong {
  align-self: end;
  color: var(--tenant-primary);
  font-family: var(--coach-head);
  font-size: 1.25rem;
}

.coach-decision-loading,
.coach-decision-empty {
  display: grid;
  place-items: center;
  min-height: 180px;
  text-align: center;
}

.coach-decision-loading {
  color: var(--coach-muted);
}

.coach-decision-loading span {
  width: 34px;
  height: 34px;
  border: 3px solid var(--coach-line);
  border-top-color: var(--tenant-secondary);
  border-radius: 50%;
  animation: coach-spin 0.8s linear infinite;
}

.coach-decision-empty p {
  max-width: 560px;
  margin: 4px 0 14px;
  color: var(--coach-muted);
}

@keyframes coach-spin {
  to { transform: rotate(360deg); }
}

.coach-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.coach-panel h2,
.coach-panel h3 {
  margin: 0;
  font-family: var(--coach-head);
  text-transform: uppercase;
}

.coach-panel-head span,
.coach-panel-copy {
  color: var(--coach-muted);
  font-size: 0.78rem;
}

.coach-metric {
  display: grid;
  gap: 3px;
  padding: 14px 0;
  border-bottom: 1px solid var(--coach-line);
}

.coach-metric:last-child { border-bottom: 0; }

.coach-metric-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.coach-metric strong { font-size: 0.88rem; }

.coach-metric b {
  color: var(--tenant-primary);
  font-family: var(--coach-head);
  font-size: 1.3rem;
}

.coach-metric small { color: var(--coach-muted); }

.coach-row-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}

.coach-row-actions .coach-button {
  min-height: 34px;
  padding: 6px 11px;
  font-size: 0.72rem;
}

.coach-stat-stack {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.coach-stat {
  padding: 18px;
  border-radius: 14px;
  background: var(--coach-soft);
}

.coach-stat strong {
  display: block;
  color: var(--tenant-primary);
  font-family: var(--coach-head);
  font-size: 2rem;
}

.coach-stat span {
  color: var(--coach-muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.coach-status {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.coach-status.planned {
  color: #815b05;
  background: #fff3ce;
}

.coach-status.confirmed,
.coach-status.completed {
  color: #12613a;
  background: #dff7e9;
}

.coach-status.changed {
  color: #235f83;
  background: #e0f0fa;
}

.coach-status.cancelled {
  color: #7c2830;
  background: #fbe4e7;
}

.coach-schedule-list { display: grid; gap: 12px; }

.coach-schedule-item {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 17px;
  border: 1px solid var(--coach-line);
  border-radius: 14px;
  background: #fff;
}

.coach-schedule-date {
  display: grid;
  place-items: center;
  min-height: 64px;
  border-radius: 10px;
  color: #fff;
  font-family: var(--coach-head);
  line-height: 1;
  text-transform: uppercase;
  background: var(--tenant-primary);
}

.coach-schedule-date strong { font-size: 1.5rem; }
.coach-schedule-date span { margin-top: 4px; font-size: 0.68rem; }

.coach-schedule-copy strong { display: block; }
.coach-schedule-copy span { color: var(--coach-muted); font-size: 0.78rem; }
.coach-schedule-actions { display: flex; gap: 8px; }

.coach-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
  padding: 22px;
  border-radius: 16px;
  background: var(--coach-soft);
}

.coach-form label {
  display: grid;
  gap: 6px;
  color: var(--coach-muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.coach-form label.full { grid-column: 1 / -1; }

.coach-form input,
.coach-form select,
.coach-form textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--coach-line);
  border-radius: 9px;
  color: var(--coach-ink);
  background: #fff;
}

.coach-form textarea { min-height: 92px; resize: vertical; }
.coach-form-actions { grid-column: 1 / -1; display: flex; gap: 10px; }

.coach-form.compact {
  margin: 16px 0 20px;
  padding: 18px;
}

.coach-page-actions,
.coach-stage-actions,
.coach-event-detail-actions,
.coach-event-footer-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.coach-tournament-workspace {
  display: grid;
  grid-template-columns: minmax(250px, 0.7fr) minmax(0, 1.8fr);
  gap: 22px;
}

.coach-event-list {
  min-width: 0;
  padding-right: 20px;
  border-right: 1px solid var(--coach-line);
}

.coach-subhead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.coach-subhead h2,
.coach-subhead h3 {
  margin: 0;
  font-family: var(--coach-head);
  text-transform: uppercase;
}

.coach-subhead span {
  color: var(--coach-muted);
  font-size: 0.75rem;
}

.coach-event-row {
  width: 100%;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--coach-ink);
  text-align: left;
  background: transparent;
}

.coach-event-row:hover,
.coach-event-row.active {
  border-color: color-mix(in srgb, var(--tenant-secondary) 42%, var(--coach-line));
  background: color-mix(in srgb, var(--tenant-secondary) 8%, #fff);
}

.coach-event-row-date {
  display: grid;
  place-items: center;
  min-height: 42px;
  border-radius: 9px;
  color: #fff;
  font-family: var(--coach-head);
  font-size: 0.76rem;
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
  background: var(--tenant-primary);
}

.coach-event-row strong,
.coach-event-row small {
  display: block;
}

.coach-event-row strong {
  overflow: hidden;
  font-size: 0.8rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.coach-event-row small {
  margin-top: 4px;
  color: var(--coach-muted);
  font-size: 0.68rem;
}

.coach-event-detail {
  min-width: 0;
}

.coach-event-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--coach-line);
}

.coach-event-detail-head h2 {
  margin: 3px 0 8px;
  font-size: clamp(1.6rem, 3vw, 2.35rem);
}

.coach-event-detail-head p:last-child {
  margin: 0;
  color: var(--coach-muted);
  font-size: 0.78rem;
}

.coach-event-callout {
  display: grid;
  grid-template-columns: minmax(190px, 0.8fr) minmax(0, 1.4fr);
  gap: 22px;
  margin: 20px 0 24px;
  padding: 16px 18px;
  border-left: 4px solid var(--tenant-secondary);
  border-radius: 0 12px 12px 0;
  background: color-mix(in srgb, var(--tenant-secondary) 7%, #fff);
}

.coach-event-callout span,
.coach-event-callout strong {
  display: block;
}

.coach-event-callout span {
  color: var(--coach-muted);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.coach-event-callout strong {
  margin-top: 4px;
  font-size: 0.82rem;
}

.coach-event-callout p {
  margin: 0;
  color: var(--coach-muted);
  font-size: 0.75rem;
}

.coach-game-slots {
  display: grid;
  gap: 9px;
}

.coach-game-slot {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 76px;
  padding: 12px 14px;
  border: 1px solid var(--coach-line);
  border-radius: 12px;
  background: #fff;
}

.coach-game-slot.placeholder {
  border-style: dashed;
  background: color-mix(in srgb, var(--coach-soft) 68%, #fff);
}

.coach-game-number {
  color: var(--tenant-secondary);
  font-family: var(--coach-head);
  font-size: 1.15rem;
}

.coach-game-slot strong,
.coach-game-slot span,
.coach-game-slot small {
  display: block;
}

.coach-game-slot strong {
  font-family: var(--coach-head);
  font-size: 0.86rem;
  text-transform: uppercase;
}

.coach-game-slot div > span,
.coach-game-slot small {
  color: var(--coach-muted);
  font-size: 0.71rem;
}

.coach-game-slot-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.coach-source-tag {
  display: inline-flex !important;
  padding: 4px 7px;
  border-radius: 999px;
  color: #426173 !important;
  font-size: 0.59rem !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: #edf3f6;
}

.coach-icon-button {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid var(--coach-line);
  border-radius: 50%;
  color: var(--coach-muted);
  font-size: 1.2rem;
  background: #fff;
}

.coach-event-footer-actions {
  justify-content: flex-end;
  margin-top: 18px;
}

.coach-intake {
  margin-bottom: 18px;
  padding: 24px;
  border: 1px solid color-mix(in srgb, var(--tenant-secondary) 46%, var(--coach-line));
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--coach-shadow);
}

.coach-intake-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
  gap: 22px;
}

.coach-dropzone {
  min-height: 280px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  overflow: hidden;
  padding: 20px;
  border: 2px dashed color-mix(in srgb, var(--tenant-secondary) 50%, var(--coach-line));
  border-radius: 14px;
  color: var(--coach-ink);
  text-align: center;
  background: var(--coach-soft);
  cursor: pointer;
}

.coach-dropzone small,
.coach-intake-steps small {
  color: var(--coach-muted);
}

.coach-dropzone img {
  max-width: 100%;
  max-height: 360px;
  margin-top: 10px;
  border-radius: 9px;
  object-fit: contain;
}

.coach-upload-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  color: #fff;
  font-size: 1.4rem;
  background: var(--tenant-primary);
}

.coach-intake-steps {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--tenant-primary) 5%, #fff);
}

.coach-intake-steps ol {
  display: grid;
  gap: 12px;
  margin: 0;
  padding-left: 22px;
  color: var(--coach-muted);
  font-size: 0.78rem;
}

.coach-studio {
  display: grid;
  grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.7fr);
  gap: 18px;
}

.coach-template-list,
.coach-studio-stage {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--coach-line);
  border-radius: 18px;
  background: #fff;
}

.coach-template-card {
  width: 100%;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: start;
  gap: 11px;
  margin-bottom: 8px;
  padding: 14px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--coach-ink);
  text-align: left;
  background: transparent;
}

.coach-template-card:hover,
.coach-template-card.active {
  border-color: var(--tenant-secondary);
  background: color-mix(in srgb, var(--tenant-secondary) 8%, #fff);
}

.coach-template-card > span {
  color: var(--tenant-secondary);
  font-family: var(--coach-head);
  font-size: 1rem;
}

.coach-template-card strong,
.coach-template-card small {
  display: block;
}

.coach-template-card strong {
  font-family: var(--coach-head);
  font-size: 0.9rem;
  text-transform: uppercase;
}

.coach-template-card small {
  margin-top: 5px;
  color: var(--coach-muted);
  font-size: 0.69rem;
  line-height: 1.45;
}

.coach-preview-frame {
  min-height: 660px;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 38px);
  border-radius: 14px;
  background:
    linear-gradient(45deg, #e8edf1 25%, transparent 25%),
    linear-gradient(-45deg, #e8edf1 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #e8edf1 75%),
    linear-gradient(-45deg, transparent 75%, #e8edf1 75%),
    #f4f6f8;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0;
  background-size: 20px 20px;
}

.coach-social-preview {
  width: min(100%, 520px);
  aspect-ratio: 4 / 5;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 92% 2%, color-mix(in srgb, var(--tenant-secondary) 32%, transparent), transparent 30%),
    var(--tenant-primary);
  box-shadow: 0 24px 60px rgba(17, 29, 43, 0.28);
}

.coach-social-top,
.coach-social-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 22px;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.coach-social-top {
  border-top: 5px solid var(--tenant-secondary);
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.coach-social-brand {
  display: flex;
  align-items: center;
  gap: 8px;
}

.coach-social-brand img {
  width: 29px;
  height: 29px;
  border-radius: 50%;
  object-fit: contain;
  background: #fff;
}

.coach-social-body {
  display: grid;
  align-content: center;
  padding: 34px;
}

.coach-social-body p,
.coach-social-body span {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.coach-social-body h2 {
  margin: 10px 0 18px;
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 0.95;
}

.coach-social-body > strong {
  margin: 14px 0 5px;
  font-family: var(--coach-head);
  font-size: 0.93rem;
  text-transform: uppercase;
}

.coach-social-rule {
  width: 78px;
  height: 5px;
  background: var(--tenant-secondary);
}

.coach-social-games {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: rgba(255, 255, 255, 0.12);
}

.coach-social-games > div {
  padding: 14px 18px;
  background: rgba(0, 0, 0, 0.12);
}

.coach-social-games > div.wide { grid-column: 1 / -1; }
.coach-social-games span,
.coach-social-games small,
.coach-social-games strong { display: block; }
.coach-social-games span,
.coach-social-games small {
  color: rgba(255, 255, 255, 0.61);
  font-size: 0.55rem;
  text-transform: uppercase;
}
.coach-social-games strong {
  margin: 4px 0;
  font-family: var(--coach-head);
  font-size: 0.78rem;
  text-transform: uppercase;
}

.coach-social-footer {
  color: var(--tenant-secondary);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.coach-social-footer strong { color: #fff; }

.coach-poster-editor {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid var(--coach-line);
  border-radius: 12px;
  background: #fff;
}

.coach-poster-editor > div,
.coach-poster-editor label {
  display: grid;
  gap: 7px;
}

.coach-poster-editor > div { align-content: start; }

.coach-poster-editor label {
  color: var(--coach-muted);
  font-size: 0.61rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.coach-poster-editor input {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 9px 11px;
  border: 1px solid var(--coach-line);
  border-radius: 8px;
  color: var(--coach-ink);
  font: 500 0.78rem var(--coach-body);
  text-transform: none;
  background: #fff;
}

.coach-poster-editor input[type="file"] {
  padding: 7px;
  font-size: 0.68rem;
}

.coach-poster-assets {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  padding-top: 2px;
}

.coach-poster-assets label { grid-column: 1 / 2; }

.coach-poster-assets > span {
  grid-column: 1 / 2;
  color: var(--coach-muted);
  font-size: 0.64rem;
  line-height: 1.45;
}

.coach-poster-assets .coach-button {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  align-self: end;
}

.coach-social-preview.poster {
  width: min(100%, 620px);
  min-height: 0;
  aspect-ratio: 4 / 5;
  display: block;
  padding: clamp(10px, 2vw, 17px);
  background:
    radial-gradient(circle at 50% 16%,
      color-mix(in srgb, var(--tenant-secondary) 24%, transparent),
      transparent 32%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--tenant-primary) 92%, #122b4a),
      #07182d);
}

.coach-poster-frame {
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto auto;
  gap: clamp(7px, 1.5vw, 12px);
  padding: clamp(12px, 2vw, 20px);
  border: 1px solid
    color-mix(in srgb, var(--tenant-secondary) 42%, transparent);
  border-radius: 7px;
}

.coach-poster-heading {
  text-align: center;
  text-transform: uppercase;
}

.coach-poster-heading p {
  margin: 0 0 5px;
  overflow: hidden;
  color: color-mix(in srgb, var(--tenant-secondary) 82%, #fff);
  font-size: clamp(0.39rem, 1.15vw, 0.66rem);
  font-weight: 800;
  letter-spacing: 0.17em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.coach-poster-heading h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.65rem, 6vw, 3.7rem);
  font-style: italic;
  line-height: 0.95;
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.coach-poster-heading h2 span {
  color: color-mix(in srgb, var(--tenant-secondary) 80%, #fff);
}

.coach-poster-heading > strong {
  display: block;
  margin-top: 7px;
  font-family: var(--coach-head);
  font-size: clamp(0.62rem, 1.8vw, 1rem);
  letter-spacing: 0.08em;
}

.coach-poster-roster {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(90px, 30%) minmax(0, 1fr);
  gap: clamp(7px, 1.6vw, 14px);
  align-items: center;
}

.coach-poster-roster-list {
  min-width: 0;
  display: grid;
  gap: clamp(2px, 0.55vw, 5px);
  align-content: center;
}

.coach-poster-roster-list span {
  display: grid;
  grid-template-columns: 23px minmax(0, 1fr);
  gap: 5px;
  overflow: hidden;
  font-size: clamp(0.43rem, 1.25vw, 0.72rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.coach-poster-roster-list b {
  color: color-mix(in srgb, var(--tenant-secondary) 78%, #fff);
  text-align: right;
}

.coach-poster-mark {
  min-width: 0;
  display: grid;
  gap: 5px;
  place-items: center;
}

.coach-poster-mark img {
  width: 100%;
  max-height: clamp(58px, 12vw, 96px);
  object-fit: contain;
  filter: drop-shadow(0 10px 16px rgba(0, 0, 0, 0.26));
}

.coach-poster-mark img:only-child {
  max-height: clamp(88px, 21vw, 170px);
}

.coach-poster-photos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(4px, 1vw, 9px);
}

.coach-poster-photos img,
.coach-poster-photos > span {
  width: 100%;
  aspect-ratio: 1 / 1.02;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 6px;
}

.coach-poster-photos img { object-fit: cover; }

.coach-poster-photos > span {
  display: grid;
  place-items: center;
  padding: 5px;
  color: rgba(255, 255, 255, 0.46);
  font-size: clamp(0.31rem, 0.85vw, 0.5rem);
  font-weight: 800;
  text-align: center;
  background: rgba(255, 255, 255, 0.06);
}

.coach-poster-schedule {
  padding: clamp(8px, 1.8vw, 14px);
  border: 1px solid
    color-mix(in srgb, var(--tenant-secondary) 32%, transparent);
  border-radius: 8px;
  background: rgba(3, 15, 31, 0.52);
}

.coach-poster-schedule > header {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding-bottom: 6px;
  font-size: clamp(0.39rem, 1.05vw, 0.63rem);
  text-transform: uppercase;
}

.coach-poster-schedule > header strong {
  color: #fff;
  font-style: italic;
}

.coach-poster-schedule > header span {
  color: color-mix(in srgb, var(--tenant-secondary) 80%, #fff);
}

.poster .coach-social-games {
  grid-template-columns: 1fr;
  gap: 0;
  background: transparent;
}

.poster .coach-social-games > div {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(54px, 0.8fr) minmax(42px, 0.55fr)
    minmax(0, 2.2fr) minmax(0, 0.8fr);
  gap: 7px;
  align-items: center;
  padding: clamp(3px, 0.7vw, 6px) 5px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  background: transparent;
}

.poster .coach-social-games > div.wide {
  grid-template-columns: 0.8fr 2fr 1fr;
}

.poster .coach-social-games span,
.poster .coach-social-games small,
.poster .coach-social-games strong,
.poster .coach-social-games em {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  font-size: clamp(0.36rem, 1.05vw, 0.62rem);
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.poster .coach-social-games span,
.poster .coach-social-games em {
  color: color-mix(in srgb, var(--tenant-secondary) 82%, #fff);
  font-weight: 800;
}

.poster .coach-social-games strong {
  color: #fff;
  font-family: var(--coach-body);
  text-transform: none;
}

.poster .coach-social-games em { text-align: right; }

.poster .coach-social-footer {
  padding: 0 2px;
  color: rgba(255, 255, 255, 0.58);
  font-size: clamp(0.32rem, 0.85vw, 0.5rem);
  border: 0;
}

.poster .coach-social-footer strong {
  color: color-mix(in srgb, var(--tenant-secondary) 82%, #fff);
}

.coach-report-sheet {
  width: min(100%, 720px);
  min-height: 610px;
  padding: 28px;
  color: var(--coach-ink);
  background: #fffdf7;
  box-shadow: 0 24px 60px rgba(17, 29, 43, 0.22);
}

.coach-report-sheet header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 18px;
  border-bottom: 5px solid var(--tenant-primary);
}

.coach-report-sheet header h2 {
  font-size: 1.7rem;
}

.coach-report-hero {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 18px 0;
}

.coach-report-hero div,
.coach-scout-preview-grid section {
  padding: 14px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--tenant-secondary) 9%, #fff);
}

.coach-report-hero span,
.coach-report-hero strong {
  display: block;
}

.coach-report-hero span,
.coach-scout-preview-grid span {
  color: var(--coach-muted);
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
}

.coach-report-table {
  border: 1px solid var(--coach-line);
}

.coach-report-table > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 80px 120px;
  gap: 10px;
  padding: 11px 13px;
  border-bottom: 1px solid var(--coach-line);
  font-size: 0.73rem;
}

.coach-report-table > div:last-child { border-bottom: 0; }
.coach-report-table .head {
  color: #fff;
  font-size: 0.61rem;
  font-weight: 700;
  text-transform: uppercase;
  background: var(--tenant-primary);
}
.coach-report-table b { color: var(--tenant-primary); }
.coach-report-sheet footer {
  margin-top: 22px;
  color: var(--coach-muted);
  font-size: 0.66rem;
}

.coach-scout-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 22px;
}
.coach-scout-preview-grid section.wide { grid-column: 1 / -1; }
.coach-scout-preview-grid strong {
  display: block;
  margin: 8px 0;
  font-family: var(--coach-head);
  text-transform: uppercase;
}
.coach-scout-preview-grid p {
  color: var(--coach-muted);
  font-size: 0.73rem;
  line-height: 1.55;
}

.coach-studio-principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 18px;
}

.coach-studio-principles > div {
  padding: 18px;
  border: 1px solid var(--coach-line);
  border-radius: 14px;
  background: #fff;
}

.coach-studio-principles span {
  color: var(--tenant-secondary);
  font-family: var(--coach-head);
}

.coach-studio-principles strong {
  display: block;
  margin: 7px 0;
  font-family: var(--coach-head);
  text-transform: uppercase;
}

.coach-studio-principles p {
  margin: 0;
  color: var(--coach-muted);
  font-size: 0.72rem;
  line-height: 1.5;
}

.coach-activity-list {
  display: grid;
  gap: 10px;
}

.coach-activity-card {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  padding: 15px;
  border: 1px solid var(--coach-line);
  border-radius: 12px;
}

.coach-activity-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  color: #fff;
  font-family: var(--coach-head);
  background: var(--tenant-primary);
}

.coach-activity-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.coach-activity-card p {
  margin: 5px 0;
  color: var(--coach-muted);
  font-size: 0.74rem;
}

.coach-activity-card small {
  color: var(--coach-muted);
  font-size: 0.64rem;
}

.coach-status.preview {
  color: #5d4d0c;
  background: #fbefb9;
}

.coach-status.queued,
.coach-status.running {
  color: #235f83;
  background: #e0f0fa;
}

.coach-status.needs_review {
  color: #1e40af;
  background: #dbeafe;
}

.coach-status.failed {
  color: #991b1b;
  background: #fee2e2;
}

.coach-agent-draft {
  border: 1px solid var(--coach-line);
  border-radius: 12px;
  margin-top: 14px;
  overflow: hidden;
}

.coach-agent-draft summary {
  background: #f5f8fa;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 700;
  padding: 10px 12px;
}

.coach-agent-draft-body {
  padding: 14px;
}

.coach-agent-draft-body h3 {
  font-family: "Oswald", sans-serif;
  font-size: 1.25rem;
  margin: 3px 0 8px;
}

.coach-agent-section,
.coach-agent-social {
  border-left: 3px solid var(--tenant-secondary);
  margin-top: 12px;
  padding-left: 12px;
}

.coach-agent-section p,
.coach-agent-social p {
  margin: 4px 0;
}

.coach-agent-social {
  border-left-color: var(--tenant-accent);
}

.coach-agent-social > span {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.coach-agent-model {
  border-top: 1px solid var(--coach-line);
  display: block;
  margin-top: 14px;
  padding-top: 10px;
}

.coach-quick-workflows {
  display: grid;
  gap: 9px;
}

.coach-quick-workflows button {
  padding: 13px;
  border: 1px solid var(--coach-line);
  border-radius: 11px;
  color: var(--coach-ink);
  text-align: left;
  background: #fff;
}

.coach-quick-workflows button:hover {
  border-color: var(--tenant-secondary);
}

.coach-quick-workflows strong,
.coach-quick-workflows span {
  display: block;
}

.coach-quick-workflows strong {
  font-size: 0.78rem;
}

.coach-quick-workflows span {
  margin-top: 4px;
  color: var(--coach-muted);
  font-size: 0.65rem;
}

.coach-agent-boundary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  overflow: hidden;
  border-radius: 12px;
  background: var(--coach-line);
}

.coach-agent-boundary > div {
  padding: 20px;
  background: #fff;
}

.coach-agent-boundary span,
.coach-agent-boundary strong {
  display: block;
}

.coach-agent-boundary span {
  color: var(--tenant-secondary);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.coach-agent-boundary strong {
  margin-top: 7px;
  font-family: var(--coach-head);
  text-transform: uppercase;
}

.coach-empty {
  padding: 38px 18px;
  border: 1px dashed var(--coach-line);
  border-radius: 14px;
  color: var(--coach-muted);
  text-align: center;
}

.coach-philosophy {
  padding: 22px;
  border-left: 4px solid var(--tenant-secondary);
  border-radius: 0 14px 14px 0;
  background: color-mix(in srgb, var(--tenant-secondary) 8%, #fff);
}

.coach-philosophy strong {
  display: block;
  margin-bottom: 6px;
  font-family: var(--coach-head);
  font-size: 1.15rem;
  text-transform: uppercase;
}

.coach-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 80;
  max-width: 360px;
  padding: 13px 16px;
  border-radius: 10px;
  color: #fff;
  background: var(--coach-ink);
  box-shadow: var(--coach-shadow);
}

.coach-toast.error { background: #9d2732; }

@media (max-width: 1050px) {
  .coach-app { grid-template-columns: 210px minmax(0, 1fr); }
  .coach-panel.wide,
  .coach-panel.narrow { grid-column: span 6; }
  .coach-hero { grid-template-columns: 1fr; }
  .coach-hero-meta {
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    border-left: 0;
  }
  .coach-tournament-workspace,
  .coach-studio {
    grid-template-columns: 1fr;
  }
  .coach-event-list {
    padding-right: 0;
    padding-bottom: 18px;
    border-right: 0;
    border-bottom: 1px solid var(--coach-line);
  }
  .coach-event-list .coach-event-row {
    max-width: 620px;
  }
}

@media (max-width: 760px) {
  .coach-decision-head {
    align-items: stretch;
    padding: 20px;
  }
  .coach-decision-head label { width: 100%; }
  .coach-decision-body { padding: 16px; }
  .coach-decision-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .coach-poster-editor { grid-template-columns: 1fr; }
  .coach-poster-assets {
    grid-column: auto;
    grid-template-columns: 1fr;
  }
  .coach-poster-assets label,
  .coach-poster-assets > span,
  .coach-poster-assets .coach-button {
    grid-column: auto;
    grid-row: auto;
  }
  .coach-poster-assets .coach-button { justify-self: start; }
  .coach-preview-frame {
    min-height: 0;
    padding: 10px;
  }
  .coach-app { display: block; }
  .coach-sidebar {
    position: fixed;
    z-index: 70;
    width: min(310px, 88vw);
    transform: translateX(-105%);
    transition: transform 0.2s ease;
    box-shadow: 30px 0 70px rgba(0, 0, 0, 0.25);
  }
  .coach-app.nav-open .coach-sidebar { transform: translateX(0); }
  .coach-menu {
    display: inline-flex;
    padding: 8px 10px;
    border: 1px solid var(--coach-line);
    border-radius: 8px;
    background: #fff;
  }
  .coach-topbar {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 18px;
  }
  .coach-context {
    order: 3;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .coach-context select { width: 100%; min-width: 0; }
  .coach-user span { display: none; }
  .coach-content { padding: 28px 18px 48px; }
  .coach-page-head { align-items: flex-start; flex-direction: column; }
  .coach-hero-main,
  .coach-hero-meta { padding: 26px; }
  .coach-hero-meta { grid-template-columns: 1fr; }
  .coach-panel,
  .coach-panel.wide,
  .coach-panel.narrow { grid-column: 1 / -1; }
  .coach-schedule-item {
    grid-template-columns: 68px minmax(0, 1fr);
  }
  .coach-schedule-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
  .coach-form { grid-template-columns: 1fr; }
  .coach-form label.full,
  .coach-form-actions { grid-column: auto; }
  .coach-intake-grid,
  .coach-event-callout,
  .coach-studio-principles,
  .coach-agent-boundary {
    grid-template-columns: 1fr;
  }
  .coach-event-detail-head,
  .coach-subhead {
    align-items: flex-start;
    flex-direction: column;
  }
  .coach-page-actions,
  .coach-stage-actions {
    width: 100%;
  }
  .coach-page-actions .coach-button,
  .coach-stage-actions .coach-button {
    flex: 1;
  }
  .coach-game-slot {
    grid-template-columns: 38px minmax(0, 1fr);
  }
  .coach-game-slot-actions,
  .coach-game-slot > .coach-source-tag {
    grid-column: 2;
    justify-self: start;
  }
  .coach-preview-frame {
    min-height: 480px;
    padding: 12px;
  }
  .coach-report-sheet { min-height: 0; padding: 18px; }
  .coach-report-table > div {
    grid-template-columns: minmax(0, 1fr) 62px 82px;
  }
  .coach-scout-preview-grid { grid-template-columns: 1fr; }
  .coach-scout-preview-grid section.wide { grid-column: auto; }
  .coach-social-body { padding: 24px; }
}

.coach-player-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: center;
}

.coach-player-link {
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  display: grid;
  gap: .2rem;
  cursor: pointer;
}

.coach-player-link small { color: var(--coach-muted); }
.coach-player-row .coach-row-actions { grid-column: 1 / -1; }

.coach-lineup-workspace { overflow: visible; }

.coach-lineup-builder {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.coach-lineup-builder form { min-width: 0; }

.coach-lineup-editbar { display: flex; }

/* ===== in-season game board + game view ===== */
.coach-results-loading{height:60px;display:flex;align-items:center;justify-content:center}
.coach-results-loading span{width:26px;height:26px;border:3px solid #dce4eb;border-top-color:#13314d;border-radius:50%;animation:coachspin .8s linear infinite}
@keyframes coachspin{to{transform:rotate(360deg)}}
.coach-pulse-strip{display:flex;gap:12px;flex-wrap:wrap;margin:4px 0 14px}
.coach-pulse-stat{background:#eef3f7;border-radius:10px;padding:9px 15px;min-width:108px}
.coach-pulse-stat strong{display:block;font-size:1.4rem;color:#13314d;font-weight:700;line-height:1}
.coach-pulse-stat span{font-size:.72rem;color:#627184;text-transform:uppercase;letter-spacing:.04em}
.coach-gamelist{display:flex;flex-direction:column;max-height:460px;overflow-y:auto}
.coach-gamerow{display:grid;grid-template-columns:54px 1fr auto 18px;gap:12px;align-items:center;padding:10px 8px;border:0;border-bottom:1px solid #eef2f6;background:none;cursor:pointer;text-align:left;font:inherit;border-radius:8px;width:100%}
.coach-gamerow:hover{background:#f6fbfe}
.coach-gamedate{font-weight:700;color:#13314d;font-size:.95rem;text-align:center}
.coach-gameopp{font-weight:600;color:#0D1B2A}
.coach-gamebadge{font-weight:700;font-size:.78rem;padding:2px 9px;border-radius:6px;justify-self:end}
.coach-gamebadge.w{background:#d8f0e2;color:#0f6d3b}.coach-gamebadge.l{background:#f6dfdf;color:#8a2a2a}.coach-gamebadge.t{background:#e6ecf1;color:#4a5b6d}
.coach-gamego{color:#4b9cd3;text-align:center}
.coach-gamehead{margin-bottom:16px}
.coach-gametitle{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.coach-gameres{font-size:1.6rem;font-weight:800;color:#13314d}
.coach-gameres.w{color:#1f9d57}.coach-gameres.l{color:#D62828}
.coach-gamematch{font-size:1.15rem;font-weight:600;color:#0D1B2A}
.coach-gamemeta{color:#627184;font-size:.85rem;margin-left:auto}
.coach-linescore{margin-top:12px;overflow-x:auto}
.coach-linescore table{border-collapse:collapse;font-size:.85rem}
.coach-linescore th,.coach-linescore td{padding:3px 9px;text-align:center;border-bottom:1px solid #eef2f6;color:#3c5168}
.coach-linescore th{color:#8090a0;font-weight:600;font-size:.72rem}
.coach-lstm{text-align:left;font-weight:600;color:#0D1B2A}
.coach-lsrhe{font-weight:700;color:#13314d}
.coach-gtabs{display:flex;gap:2px;border-bottom:1px solid #dce4eb;margin-bottom:18px}
.coach-gtabs button{background:none;border:0;font-size:1rem;font-weight:600;color:#8090a0;padding:11px 16px 13px;cursor:pointer;border-bottom:3px solid transparent}
.coach-gtabs button.on{color:#13314d;border-bottom-color:#4b9cd3}
.coach-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:820px){.coach-grid-2{grid-template-columns:1fr}}
.coach-subpanel{background:#fff;border:1px solid #dce4eb;border-radius:12px;padding:16px 18px;margin-bottom:16px}
.coach-subpanel h3{font-size:1rem;color:#13314d;margin:0 0 12px}
.coach-gameread{background:#13314d;color:#dbe6f2;border-radius:12px;padding:14px 18px;margin-bottom:16px}
.coach-gameread .coach-eyebrow{color:#d9b866}
.coach-gameread p{margin:6px 0 0;font-size:.95rem;line-height:1.55}.coach-gameread b{color:#fff}
.coach-agentnote{color:#9fb4cf;font-style:italic;font-size:.85rem}
.coach-sit{display:flex;flex-direction:column;gap:9px}
.coach-sitrow{display:grid;grid-template-columns:110px 1fr 44px;gap:10px;align-items:center}
.coach-sitlbl{font-size:.82rem;color:#3c5168}.coach-sitlbl small{display:block;color:#8090a0;font-size:.72rem}
.coach-sitbar{height:9px;background:#eef2f6;border-radius:6px;overflow:hidden}.coach-sitbar span{display:block;height:100%;border-radius:6px}
.coach-sitnum{font-weight:700;color:#13314d;text-align:right;font-size:.9rem}
.coach-lev{display:flex;flex-direction:column;gap:7px}
.coach-levrow{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;font-size:.85rem;background:#f6fbfe;border-radius:8px;padding:7px 9px}
.coach-levscore{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.85rem}
.coach-levscore.high{background:#D62828}.coach-levscore.medium{background:#ef6c2e}.coach-levscore.low{background:#2f7cb3}
.coach-fielders{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:7px}
.coach-fd{background:#eef3f7;border-radius:8px;padding:8px 11px;font-size:.82rem;color:#0D1B2A;font-weight:600}
.coach-fdpos{color:#4b9cd3;font-weight:700}.coach-fd small{display:block;color:#627184;font-weight:400}
.coach-brnote{color:#627184;font-size:.82rem;margin:10px 0 0}
.coach-boxwrap{overflow-x:auto}
.coach-box{width:100%;border-collapse:collapse;font-size:.82rem}
.coach-box th{color:#8090a0;text-align:right;padding:6px;border-bottom:2px solid #dce4eb;font-size:.72rem;text-transform:uppercase}
.coach-box th:first-child,.coach-box td:first-child{text-align:left}
.coach-box td{padding:6px;border-bottom:1px solid #eef2f6;text-align:right;font-variant-numeric:tabular-nums}
.coach-boxtot td{border-top:2px solid #dce4eb;font-weight:700;color:#13314d;background:#f6fbfe}
.coach-lineup-editor[hidden] { display: none; }
.coach-lineup-suggestion-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.coach-lineup-context {
  display: grid;
  grid-template-columns: 1fr 1fr 150px;
  gap: 10px;
  margin-bottom: 18px;
}

.coach-lineup-context label,
.coach-lineup-notes {
  display: grid;
  gap: 6px;
}

.coach-lineup-context label > span,
.coach-lineup-notes > span {
  color: var(--coach-muted);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.coach-lineup-context input,
.coach-lineup-row select,
.coach-lineup-extra-row select,
.coach-lineup-notes textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--coach-line);
  border-radius: 8px;
  color: var(--coach-ink);
  background: #fff;
}

.coach-lineup-context input,
.coach-lineup-row select,
.coach-lineup-extra-row select {
  min-height: 42px;
  padding: 8px 10px;
}

.coach-lineup-notes textarea {
  resize: vertical;
  padding: 10px 12px;
}

.coach-lineup-column-head,
.coach-lineup-row {
  display: grid;
  grid-template-columns:
    34px minmax(150px, 1fr) 88px minmax(150px, .75fr) 92px;
  gap: 8px;
  align-items: center;
}

.coach-lineup-column-head {
  padding: 0 10px 7px;
  color: var(--coach-muted);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.coach-lineup {
  display: grid;
  gap: 7px;
}

.coach-lineup-row {
  padding: 8px 9px;
  border: 1px solid var(--coach-line);
  border-radius: 11px;
  background: color-mix(in srgb, var(--coach-soft) 42%, #fff);
}

.coach-lineup-row > strong {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #fff;
  background: var(--tenant-primary);
  font-family: var(--coach-head);
  font-size: .96rem;
}

.coach-lineup-row label > span { display: none; }

.coach-lineup-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}

.coach-lineup-stats > span {
  display: grid;
  justify-items: center;
  gap: 1px;
  min-width: 0;
  padding: 4px;
  border-radius: 6px;
  background: #fff;
}

.coach-lineup-stats small {
  color: var(--coach-muted);
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .05em;
}

.coach-lineup-stats b {
  color: var(--tenant-primary);
  font-size: .7rem;
}

.coach-form-trend {
  grid-column: 1 / -1;
  color: var(--coach-muted);
  font-size: .5rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .05em;
  text-align: center;
  text-transform: uppercase;
}

.coach-form-trend.hot { color: #19704a; }
.coach-form-trend.cold { color: #a23b45; }
.coach-form-trend.steady { color: #536a83; }

.coach-lineup-no-stats {
  color: var(--coach-muted);
  font-size: .67rem;
  text-align: center;
}

.coach-lineup-actions {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
}

.coach-lineup-actions button,
.coach-lineup-extra-row button {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  padding: 0;
  border: 1px solid var(--coach-line);
  border-radius: 6px;
  color: var(--tenant-primary);
  background: #fff;
}

.coach-lineup-actions button:last-child:not(:nth-child(2)),
.coach-lineup-extra-row button {
  color: #9b2f39;
}

.coach-lineup-actions button:disabled {
  cursor: default;
  opacity: .3;
}

.coach-lineup-builder-actions,
.coach-lineup-extras,
.coach-lineup-notes {
  margin-top: 16px;
}

.coach-lineup-builder-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.coach-lineup-extras {
  display: grid;
  gap: 7px;
  padding: 14px;
  border: 1px dashed var(--coach-line);
  border-radius: 11px;
}

.coach-lineup-extras > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.coach-lineup-extras b { font-size: .78rem; }
.coach-lineup-extras span,
.coach-lineup-extras p {
  margin: 0;
  color: var(--coach-muted);
  font-size: .68rem;
}

.coach-lineup-extra-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  gap: 7px;
  align-items: center;
}

.coach-lineup-suggestion {
  display: grid;
  grid-template-columns: minmax(210px, .8fr) minmax(320px, 1.2fr) auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 20px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--tenant-secondary) 32%, var(--coach-line));
  border-radius: 14px;
  background:
    linear-gradient(
      120deg,
      color-mix(in srgb, var(--tenant-secondary) 11%, #fff),
      #fff
    );
}

.coach-lineup-suggestion h3 { font-size: 1.05rem; }

.coach-lineup-suggestion p {
  margin: 6px 0 0;
  color: var(--coach-muted);
  font-size: .72rem;
  line-height: 1.5;
}

.coach-lineup-suggestion-list {
  display: grid;
  gap: 4px;
}

.coach-lineup-suggestion-list > div {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 64px;
  gap: 7px;
  align-items: center;
  padding: 5px 7px;
  border-radius: 7px;
  background: rgba(255, 255, 255, .78);
}

.coach-lineup-suggestion-list > div > strong {
  color: var(--tenant-primary);
  font-family: var(--coach-head);
  text-align: center;
}

.coach-lineup-suggestion-list span {
  display: grid;
  min-width: 0;
}

.coach-lineup-suggestion-list b { font-size: .7rem; }

.coach-lineup-suggestion-list small {
  overflow: hidden;
  color: var(--coach-muted);
  font-size: .55rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.coach-lineup-card-shell {
  display: grid;
  place-items: center;
  width: 100%;
  min-width: 0;
  padding: 10px;
  overflow: hidden;
  border-radius: 16px;
  background: #dfe6eb;
}

.coach-lineup-card {
  width: min(940px, 100%);
  min-width: 0;
  overflow: hidden;
  border-radius: 12px;
  color: #fff;
  background: var(--tenant-primary);
  box-shadow: 0 18px 48px rgba(12, 29, 45, .22);
}

.coach-lineup-card > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  min-height: 104px;
  padding: 24px 26px 20px;
  border-bottom: 5px solid var(--tenant-secondary);
  background:
    radial-gradient(
      circle at 88% -45%,
      color-mix(in srgb, var(--tenant-secondary) 46%, transparent),
      transparent 53%
    ),
    var(--tenant-primary);
}

.coach-lineup-card > header span,
.coach-card-game span {
  color: rgba(255, 255, 255, .68);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.coach-lineup-card h3 {
  margin: 3px 0 0;
  color: #fff;
  font-size: 1.65rem;
  line-height: .95;
}

.coach-card-game {
  display: grid;
  gap: 4px;
  text-align: right;
}

.coach-card-game strong {
  font-family: var(--coach-head);
  font-size: 1rem;
  text-transform: uppercase;
}

.coach-lineup-card-body {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  min-height: 0;
  color: #172738;
  background: #f6f1e8;
}

.coach-lineup-card-body > section,
.coach-lineup-card-body > aside {
  min-width: 0;
  padding: 18px 20px 22px;
}

.coach-lineup-card-body > aside {
  border-left: 1px solid rgba(19, 49, 77, .15);
  background: color-mix(in srgb, var(--tenant-secondary) 8%, #f6f1e8);
}

.coach-card-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 9px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--tenant-primary);
}

.coach-card-section-title span {
  color: var(--tenant-primary);
  font-family: var(--coach-head);
  font-size: .82rem;
  text-transform: uppercase;
}

.coach-card-section-title small {
  color: #687482;
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.coach-card-lineup-row {
  display: grid;
  grid-template-columns: 24px minmax(82px, 1fr) 30px 92px;
  gap: 6px;
  align-items: center;
  min-height: 41px;
  border-bottom: 1px solid rgba(19, 49, 77, .1);
}

.coach-card-lineup-row > strong {
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  color: #fff;
  background: var(--tenant-primary);
  font-family: var(--coach-head);
  font-size: .7rem;
}

.coach-card-player {
  display: grid;
  min-width: 0;
}

.coach-card-player b {
  overflow: hidden;
  color: #172738;
  font-size: .68rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.coach-card-player small {
  color: #75808b;
  font-size: .51rem;
}

.coach-card-position {
  color: var(--tenant-primary);
  font-family: var(--coach-head);
  font-size: .67rem;
  text-align: center;
}

.coach-lineup-stats.compact { gap: 2px; }

.coach-lineup-stats.compact > span {
  padding: 2px 1px;
  background: rgba(255, 255, 255, .62);
}

.coach-lineup-stats.compact small { font-size: .39rem; }
.coach-lineup-stats.compact b { font-size: .54rem; }
.coach-lineup-stats.compact .coach-form-trend { font-size: .36rem; }
.coach-card-lineup-row .coach-lineup-no-stats { font-size: .5rem; }

.coach-card-form-grid {
  display: grid;
  gap: 7px;
  margin-bottom: 16px;
}

.coach-card-form {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  padding: 8px;
  border: 1px solid rgba(19, 49, 77, .12);
  border-radius: 7px;
  background: rgba(255, 255, 255, .64);
}

.coach-card-form span {
  padding: 3px 5px;
  border-radius: 4px;
  color: #fff;
  font-size: .5rem;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
  background: #657486;
}

.coach-card-form.hot span { background: #267552; }
.coach-card-form.cold span { background: #9e3b46; }

.coach-card-form b {
  overflow: hidden;
  color: #435261;
  font-size: .55rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.coach-card-defense {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  padding: 10px 0;
  border-top: 1px solid rgba(19, 49, 77, .16);
}

.coach-card-defense > b {
  grid-column: 1 / -1;
  color: var(--tenant-primary);
  font-family: var(--coach-head);
  font-size: .68rem;
  text-transform: uppercase;
}

.coach-card-defense > span {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 4px;
  color: #4e5b68;
  font-size: .52rem;
}

.coach-card-defense > span b {
  color: var(--tenant-primary);
  font-family: var(--coach-head);
  font-size: .58rem;
}

.coach-card-extras,
.coach-card-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding-top: 9px;
  border-top: 1px solid rgba(19, 49, 77, .16);
}

.coach-card-extras b,
.coach-card-notes b {
  flex: 0 0 100%;
  color: var(--tenant-primary);
  font-family: var(--coach-head);
  font-size: .68rem;
  text-transform: uppercase;
}

.coach-card-extras span {
  padding: 3px 6px;
  border-radius: 4px;
  color: #4e5b68;
  font-size: .52rem;
  background: rgba(255,255,255,.72);
}

.coach-card-notes { margin-top: 9px; }

.coach-card-notes p {
  margin: 0;
  color: #4e5b68;
  font-size: .54rem;
  line-height: 1.45;
}

@media (max-width: 1100px) {
  .coach-lineup-suggestion {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .coach-lineup-suggestion .coach-button { justify-self: start; }
}

@media (max-width: 760px) {
  .coach-lineup-context { grid-template-columns: 1fr; }
  .coach-lineup-column-head { display: none; }
  .coach-lineup-row {
    grid-template-columns: 32px minmax(0, 1fr) 82px;
    align-items: end;
  }
  .coach-lineup-row label > span {
    display: block;
    margin-bottom: 4px;
    color: var(--coach-muted);
    font-size: .58rem;
    font-weight: 800;
    text-transform: uppercase;
  }
  .coach-lineup-row .coach-lineup-stats,
  .coach-lineup-row .coach-lineup-no-stats {
    grid-column: 2 / 4;
  }
  .coach-lineup-actions { grid-column: 2 / 4; justify-content: start; }
  .coach-lineup-builder { display: block; }
  .coach-lineup-card-shell { margin-top: 24px; }
  .coach-lineup-card > header {
    align-items: start;
    flex-direction: column;
  }
  .coach-card-game { text-align: left; }
  .coach-lineup-card-body { grid-template-columns: 1fr; }
  .coach-lineup-card-body > aside {
    border-top: 1px solid rgba(19, 49, 77, .15);
    border-left: 0;
  }
}

@media print {
  @page { size: landscape; margin: .25in; }
  body * { visibility: hidden !important; }
  #coach-lineup-card,
  #coach-lineup-card * { visibility: visible !important; }
  #coach-lineup-card {
    position: absolute;
    inset: 0;
    width: 100%;
    padding: 0;
    overflow: visible;
    background: #fff;
  }
  .coach-lineup-card {
    width: 100%;
    min-width: 0;
    border-radius: 0;
    box-shadow: none;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .coach-lineup-card-body { min-height: 6.5in; }
}

/* ===== team stats grids + games filter ===== */
.coach-statpanel .coach-panel-head { flex-wrap: wrap; gap: 12px; }
.coach-statfilter { display: flex; gap: 6px; flex-wrap: wrap; }
.coach-statfilter button {
  font-family: var(--coach-head); text-transform: uppercase;
  letter-spacing: .04em; font-size: .74rem; padding: 6px 12px;
  border: 1px solid var(--coach-line); border-radius: 999px;
  background: var(--coach-panel); color: var(--coach-muted); cursor: pointer;
}
.coach-statfilter button:hover { border-color: #c9922f; color: var(--coach-ink); }
.coach-statfilter button.on {
  background: var(--coach-ink); color: #fff; border-color: var(--coach-ink);
}
.coach-statnote {
  margin: 0 0 12px; font-size: .8rem; color: var(--coach-muted);
}
.coach-statwrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.coach-stats {
  width: 100%; border-collapse: collapse; font-size: .85rem;
  font-variant-numeric: tabular-nums;
}
.coach-stats th {
  font-family: var(--coach-head); text-transform: uppercase;
  letter-spacing: .03em; font-size: .72rem; font-weight: 600;
  color: var(--coach-muted); text-align: right; padding: 8px 9px;
  border-bottom: 2px solid var(--coach-line); cursor: pointer;
  white-space: nowrap; position: sticky; top: 0; background: var(--coach-panel);
}
.coach-stats th:hover { color: var(--coach-ink); }
.coach-stats th.on { color: #c9922f; }
.coach-stats th.coach-stname, .coach-stats td.coach-stname {
  text-align: left; position: sticky; left: 0; background: var(--coach-panel);
  z-index: 1;
}
.coach-stats td {
  text-align: right; padding: 8px 9px; border-bottom: 1px solid var(--coach-soft);
  white-space: nowrap;
}
.coach-stats td.coach-stname { font-weight: 600; color: var(--coach-ink); }
.coach-strow { cursor: pointer; }
.coach-strow:hover td { background: #f7fafc; }
.coach-strow:hover td.coach-stname { background: #f7fafc; }
.coach-sttot td {
  font-weight: 700; color: var(--coach-ink); background: #f2f6f9;
  border-top: 1px solid var(--coach-line); border-bottom: 1px solid var(--coach-line);
}
.coach-sttot td.coach-stname { background: #f2f6f9; text-transform: uppercase;
  letter-spacing: .04em; font-size: .78rem; }
.coach-sttop td { border-bottom: 2px solid var(--coach-line); }

/* ===== pitching availability board ===== */
.coach-pitchgrid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 10px;
}
.coach-pitchcard {
  text-align: left; border: 1px solid var(--coach-line); border-radius: 12px;
  padding: 12px 14px; background: var(--coach-panel); cursor: pointer;
  display: flex; flex-direction: column; gap: 6px; font: inherit;
}
.coach-pitchcard:hover { border-color: #c9922f; box-shadow: var(--coach-shadow); }
.coach-pitchtop {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
}
.coach-pitchtop b { font-family: var(--coach-head); font-size: 1rem; color: var(--coach-ink); }
.coach-pill {
  font-family: var(--coach-head); text-transform: uppercase; letter-spacing: .04em;
  font-size: .68rem; font-style: normal; font-weight: 700; color: #fff;
  padding: 3px 9px; border-radius: 999px; white-space: nowrap;
}
.coach-pill.low { background: #2f7d46; }
.coach-pill.medium { background: #c9922f; }
.coach-pill.high { background: #D62828; }
.coach-pitchmeta { font-size: .78rem; color: var(--coach-muted); font-variant-numeric: tabular-nums; }

/* availability board — non-pitchers + divider */
.coach-pitchdiv {
  font-family: var(--coach-head); text-transform: uppercase; letter-spacing: .05em;
  font-size: .72rem; color: var(--coach-muted); margin: 16px 0 8px;
  padding-top: 12px; border-top: 1px solid var(--coach-line);
}
.coach-pitchcard.muted { background: #f4f6f8; border-color: #e6ecf1; opacity: .72; }
.coach-pitchcard.muted:hover { opacity: 1; border-color: var(--coach-line); box-shadow: none; }
.coach-pitchcard.muted .coach-pitchtop b { color: var(--coach-muted); font-weight: 600; }
.coach-pill.none { background: #cdd6de; color: #6b7885; }

/* ===== game view: leverage situation, top performers, play-by-play ===== */
.coach-levrow { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; }
.coach-levbody { flex: 1; }
.coach-levsit {
  font-family: var(--coach-head); text-transform: uppercase; letter-spacing: .04em;
  font-size: .72rem; color: #c9922f; margin-bottom: 2px;
}
.coach-levtext { font-size: .86rem; color: var(--coach-ink); line-height: 1.35; }

.coach-perf { margin-bottom: 4px; }
.coach-perfgrid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px;
}
.coach-perfcard {
  border: 1px solid var(--coach-line); border-left: 3px solid #c9922f;
  border-radius: 10px; padding: 10px 14px; background: #fbfcfd;
  display: flex; flex-direction: column; gap: 3px;
}
.coach-perfrole {
  font-family: var(--coach-head); text-transform: uppercase; letter-spacing: .05em;
  font-size: .66rem; color: var(--coach-muted);
}
.coach-perfcard b { font-family: var(--coach-head); font-size: 1.02rem; color: var(--coach-ink); }
.coach-perfline { font-size: .82rem; color: var(--coach-ink); font-variant-numeric: tabular-nums; }

.coach-pbp { display: flex; flex-direction: column; }
.coach-pbphead {
  font-family: var(--coach-head); text-transform: uppercase; letter-spacing: .05em;
  font-size: .74rem; color: var(--coach-muted); background: var(--coach-soft);
  padding: 6px 12px; border-radius: 6px; margin: 14px 0 6px;
}
.coach-pbphead:first-child { margin-top: 0; }
.coach-pbprow {
  display: flex; gap: 12px; align-items: baseline; padding: 8px 12px;
  border-bottom: 1px solid var(--coach-soft);
}
.coach-pbprow.scoring { background: #f2faf5; border-left: 3px solid #2f7d46; }
.coach-pbprow.key { background: #fdf7ec; border-left: 3px solid #c9922f; }
.coach-pbprow.key.scoring { border-left: 3px solid #2f7d46; }
.coach-pbpouts {
  flex: 0 0 42px; font-size: .72rem; color: var(--coach-muted);
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.coach-pbpmain { flex: 1; font-size: .88rem; color: var(--coach-ink); line-height: 1.4; }
.coach-pbpmain b { color: var(--coach-ink); }
.coach-pbpbadges { display: inline-flex; gap: 6px; margin-left: 8px; vertical-align: middle; }
.coach-pbpbadges .coach-pill { font-size: .62rem; padding: 2px 7px; }

/* box-score written notes (MiLB-style, season totals in parens) */
.coach-boxnotehint { margin: 0 0 8px; font-size: .76rem; color: var(--coach-muted); font-style: italic; }
.coach-boxnote { font-size: .86rem; color: var(--coach-ink); line-height: 1.5; margin-bottom: 4px; }
.coach-boxnote b {
  font-family: var(--coach-head); text-transform: uppercase; letter-spacing: .03em;
  font-size: .74rem; color: var(--coach-muted); margin-right: 6px;
}
