/* Academy Workspace Premium V2 — presentation transformation on top of the
   existing Academy shell/pane markup (playerid-academy-workspace.css,
   playerid-academy-reports.css, playerid-academy-members.css,
   playerid-academy-intelligence.css, playerid-academy-dark.css and the
   inline #adminPanel.academy-workspace-shell rules in index.html).

   Nothing here changes IDs, data attributes, onclick/addEventListener hooks,
   Supabase calls or scoring. Every selector below targets the SAME class
   names those files already render — this file only redefines depth
   (raised/inset neumorphic surfaces matching Coach Premium V1), adaptive
   grids and hierarchy so the Academy Workspace reads as the same premium
   product family as the Coach Workspace, not a second visual system.

   Loaded last (after the legacy inline <style id="sprint1-myplayers-final-fix">
   block) so equal-specificity !important rules here win on source order. */

/* ===================================================================
   1. DEPTH TOKENS — additive to the existing --academy-* variable set
   =================================================================== */

#adminPanel.academy-workspace-shell {
  --academy-surface-inset: #eef3f6;
  --academy-shadow-raised: 6px 6px 15px rgba(15, 35, 53, .10), -6px -6px 15px rgba(255, 255, 255, .85);
  --academy-shadow-inset: inset 4px 4px 10px rgba(15, 35, 53, .08), inset -4px -4px 10px rgba(255, 255, 255, .75);
  --academy-shadow-soft: 4px 4px 11px rgba(15, 35, 53, .07), -4px -4px 11px rgba(255, 255, 255, .6);
  --academy-shadow-popover: 0 16px 34px rgba(9, 29, 48, .16);
}

html[data-theme="dark"] #adminPanel.academy-workspace-shell {
  --academy-shadow-raised: 6px 6px 15px rgba(0, 0, 0, .5), -6px -6px 15px rgba(255, 255, 255, .035);
  --academy-shadow-inset: inset 4px 4px 10px rgba(0, 0, 0, .5), inset -4px -4px 10px rgba(255, 255, 255, .03);
  --academy-shadow-soft: 4px 4px 11px rgba(0, 0, 0, .38), -4px -4px 11px rgba(255, 255, 255, .02);
  --academy-shadow-popover: 0 16px 34px rgba(0, 0, 0, .55);
}

/* ===================================================================
   2. SHELL — sidebar / topbar / context: same family as Coach Premium
   =================================================================== */

#adminPanel.academy-workspace-shell > .academy-shell-topbar {
  box-shadow: 0 1px 0 var(--academy-line);
}

.academy-shell-cloud i { box-shadow: 0 0 0 5px rgba(16, 169, 181, .14); }

/* Context strip recomposed as a floating inset card (matches Coach
   Premium's recessed .pid-premium-coach-context) instead of a flat
   full-bleed divider bar. */
#adminPanel.academy-workspace-shell > .academy-shell-context {
  margin: 14px clamp(24px, 3vw, 42px) 0 !important;
  padding: 14px 20px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}

#adminPanel.academy-workspace-shell > .academy-shell-page-heading {
  padding-top: 18px !important;
}

@media (max-width: 768px) {
  #adminPanel.academy-workspace-shell > .academy-shell-context {
    margin: 12px 16px 0 !important;
    border-radius: 14px !important;
  }
}

/* ===================================================================
   3. OVERVIEW — command center hierarchy
   =================================================================== */

/* KPI cards: converged onto Coach's main Dashboard KPI anatomy
   (#coachDashboardView .pid-kpi--premium) -- 20px padding, 140px min-
   height, 18px radius, a 38px inset icon well pinned top-right, 32px/
   750 value. Same component, Academy's own metric labels. */
#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-metric-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 140px !important;
  padding: 20px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
  transition: transform .17s ease, box-shadow .17s ease;
}
/* Coach's KPI reads value -> label -> note (biggest number first);
   Academy's own markup order was label -> value -> note. Same three
   facts, reordered visually (not in the DOM) to match that hierarchy. */
#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-metric-card small {
  order: 2;
  max-width: calc(100% - 46px) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-metric-card strong {
  order: 1;
  margin: 0 46px 4px 0 !important;
  font-size: 32px !important;
  font-weight: 750 !important;
  line-height: 1.1 !important;
  letter-spacing: -.05em !important;
}
#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-metric-card > span {
  order: 3;
  margin-top: 4px;
  font-size: 10px !important;
  line-height: 1.6 !important;
}
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-kpi-icon {
  top: 16px !important;
  right: 16px !important;
  width: 38px !important;
  height: 38px !important;
  border: 0;
  border-radius: 12px;
  background: var(--academy-surface-inset);
  box-shadow: var(--academy-shadow-inset), inset 0 0 0 1px rgba(16, 169, 181, .18);
}
@media (hover: hover) and (pointer: fine) {
  #adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-metric-card:hover { transform: translateY(-2px); }
}
@media (max-width: 430px) {
  #adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-metric-card { min-height: 120px !important; padding: 16px !important; }
  #adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-metric-card strong { font-size: 27px !important; margin-top: 14px !important; }
}

/* Welcome card (quick actions host) + activity cards: raised structural panels */
#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-welcome-card,
#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-activity-card {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
}

/* Hierarchy per spec: KPIs -> attention/operational review -> quick actions
   -> latest assessment activity. (Context already lives above the pane.) */
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-attention-card { order: 5 !important; }
#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-welcome-card { order: 6 !important; }
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-recent-card { order: 7 !important; }

/* Quick actions: recomposed premium action system (icon-led rows, adaptive
   grid) instead of five identical bordered boxes. The Academy Intelligence
   action is deliberately the widest — it is the one action that opens a
   full analytical workspace rather than a management list. */
#adminPanel.academy-workspace-shell #developerPaneOverview .overview-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 10px !important;
}
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action {
  position: relative;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 12px;
  min-height: 84px;
  padding: 14px 40px 14px 14px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
  color: var(--academy-ink) !important;
  transition: transform .17s ease, box-shadow .17s ease;
}
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action-wide {
  grid-column: span 2;
}
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action-icon {
  grid-row: 1 / 3;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 11px;
  background: var(--academy-surface-inset);
  box-shadow: var(--academy-shadow-inset), inset 0 0 0 1px rgba(16, 169, 181, .16);
  color: var(--academy-teal);
}
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action strong { grid-column: 2; align-self: end; font-size: 13px; }
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action small { grid-column: 2; align-self: start; margin-top: 3px; }
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action-arrow {
  position: absolute;
  top: 14px;
  right: 14px;
  color: var(--academy-teal);
  font-size: 14px;
  transition: transform .17s ease;
}
@media (hover: hover) and (pointer: fine) {
  #adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action:hover { transform: translateY(-2px); box-shadow: var(--academy-shadow-raised) !important; }
  #adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action:hover .academy-quick-action-arrow { transform: translateX(2px); }
}
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action:hover,
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action:focus-visible {
  border-color: transparent !important;
  background: var(--academy-surface) !important;
}

/* Latest assessment activity: inset rows inside the raised card, with a
   scannable identity -> context -> score -> date -> action layout. */
#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-list-row {
  border: 0 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
  transition: transform .15s ease;
}
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-activity-row .academy-activity-meta { gap: 12px; }
.academy-activity-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 26px;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--academy-teal-soft);
  color: #08727b;
  font-size: 12px;
  font-weight: 800;
}
.academy-activity-score.is-outstanding,
.academy-activity-score.is-strong { background: rgba(23, 178, 130, .16); color: #146b4d; }
.academy-activity-score.is-good { background: var(--academy-teal-soft); color: var(--academy-teal); }
.academy-activity-score.is-developing { background: rgba(212, 150, 25, .16); color: #7a5610; }
.academy-activity-score.is-attention,
.academy-activity-score.is-priority { background: rgba(200, 80, 70, .14); color: #96362c; }
html[data-theme="dark"] #adminPanel.academy-workspace-shell .academy-activity-score.is-outstanding,
html[data-theme="dark"] #adminPanel.academy-workspace-shell .academy-activity-score.is-strong { background: rgba(34, 199, 187, .16); color: #7fe0cf; }
html[data-theme="dark"] #adminPanel.academy-workspace-shell .academy-activity-score.is-developing { background: rgba(230, 170, 60, .16); color: #e8c77a; }
html[data-theme="dark"] #adminPanel.academy-workspace-shell .academy-activity-score.is-attention,
html[data-theme="dark"] #adminPanel.academy-workspace-shell .academy-activity-score.is-priority { background: rgba(220, 90, 80, .18); color: #f0a89e; }
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-activity-row .academy-activity-meta em {
  font-weight: 800;
}

/* Pending / operational review card: keep the amber attention pill, add depth */
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-attention-card .dashboard-count {
  box-shadow: var(--academy-shadow-soft);
}

@media (max-width: 768px) {
  #adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action-wide { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  #adminPanel.academy-workspace-shell #developerPaneOverview .overview-actions { grid-template-columns: 1fr !important; }
  #adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action-wide { grid-column: 1; }
}

/* ===================================================================
   4. PLAYERS — identity-first depth pass
   =================================================================== */

#adminPanel.academy-workspace-shell .academy-player-category {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-soft) !important;
}
#adminPanel.academy-workspace-shell .academy-player-category[aria-pressed="true"] {
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-inset), inset 0 0 0 1.5px var(--academy-teal) !important;
}
#adminPanel.academy-workspace-shell .academy-cloud-player-toolbar {
  border: 0 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}
#adminPanel.academy-workspace-shell .academy-cloud-player-toolbar input,
#adminPanel.academy-workspace-shell .academy-cloud-player-toolbar select {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-soft) !important;
}
#adminPanel.academy-workspace-shell .academy-player-row {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
  transition: transform .16s ease, box-shadow .16s ease;
}
#adminPanel.academy-workspace-shell .academy-player-row.inactive {
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}
#adminPanel.academy-workspace-shell .academy-player-refresh,
#adminPanel.academy-workspace-shell .academy-player-primary:not(.academy-player-assign-team),
#adminPanel.academy-workspace-shell .academy-assignment-cancel {
  border: 0 !important;
  box-shadow: var(--academy-shadow-soft) !important;
}
#adminPanel.academy-workspace-shell .academy-player-menu summary {
  border: 0 !important;
  box-shadow: var(--academy-shadow-soft) !important;
}
#adminPanel.academy-workspace-shell .academy-player-menu > div {
  border: 0 !important;
  box-shadow: var(--academy-shadow-popover) !important;
}
#adminPanel.academy-workspace-shell .academy-player-attention {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
}
#adminPanel.academy-workspace-shell .academy-player-attention .pending-row {
  border: 0 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}
@media (hover: hover) and (pointer: fine) {
  #adminPanel.academy-workspace-shell .academy-player-row:hover { transform: translateY(-2px); }
}

/* ===================================================================
   5. TEAMS — the previous failure point: adaptive composition
   =================================================================== */

/* The single biggest visual fix: a fixed 2-column grid made one team card
   sit next to a large empty second column, and the pane's implicit
   align-content:stretch inflated everything below it into empty space.
   auto-fill (not auto-fit) keeps a card its natural width and lets unused
   track space stay as trailing gutter instead of stretching the card,
   so 1 team, 2 teams and many teams all look intentional. */
#adminPanel.academy-workspace-shell #developerPaneTeams {
  align-content: start !important;
}
.team-management-shell { align-content: start; }
#adminPanel.academy-workspace-shell .team-directory-grid {
  grid-template-columns: repeat(auto-fill, minmax(300px, 360px)) !important;
  align-content: start;
}

#adminPanel.academy-workspace-shell .academy-team-summary article {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
}
#adminPanel.academy-workspace-shell .academy-team-summary i {
  background: var(--academy-surface-inset);
  box-shadow: var(--academy-shadow-inset);
}
#adminPanel.academy-workspace-shell .academy-team-category {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-soft) !important;
}
#adminPanel.academy-workspace-shell .academy-team-category[aria-pressed="true"] {
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-inset), inset 0 0 0 1.5px var(--academy-teal) !important;
}
#adminPanel.academy-workspace-shell .team-directory-card {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
  transition: transform .16s ease;
}
#adminPanel.academy-workspace-shell .academy-team-card-metrics span {
  border: 0 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}
#adminPanel.academy-workspace-shell .academy-team-view {
  box-shadow: var(--academy-shadow-soft) !important;
}
#adminPanel.academy-workspace-shell .academy-team-staff,
#adminPanel.academy-workspace-shell .academy-team-menu summary {
  border: 0 !important;
  box-shadow: var(--academy-shadow-soft) !important;
}
#adminPanel.academy-workspace-shell .academy-team-menu > div {
  border: 0 !important;
  box-shadow: var(--academy-shadow-popover) !important;
}
@media (hover: hover) and (pointer: fine) {
  #adminPanel.academy-workspace-shell .team-directory-card:hover { transform: translateY(-2px); }
}

/* Team detail: raised shell with an inset tab tray (same pattern as Coach's
   filter tabs) instead of a flat bottom-border tab strip. */
#adminPanel.academy-workspace-shell .academy-team-detail {
  border: 0 !important;
  box-shadow: var(--academy-shadow-raised) !important;
}
#adminPanel.academy-workspace-shell .academy-team-detail-tabs {
  background: var(--academy-surface-inset) !important;
  border-bottom: 0 !important;
  padding: 6px 10px !important;
  margin: 0 4px;
  border-radius: 12px;
}
#adminPanel.academy-workspace-shell .academy-team-detail-tabs button.is-active {
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
  color: var(--academy-navy) !important;
}
#adminPanel.academy-workspace-shell .academy-team-overview-grid article {
  border: 0 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}
#adminPanel.academy-workspace-shell .team-staff-row,
#adminPanel.academy-workspace-shell #academyTeamForm,
#adminPanel.academy-workspace-shell .team-staff-assignment-form {
  border: 0 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}

@media (max-width: 768px) {
  #adminPanel.academy-workspace-shell .team-directory-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ===================================================================
   6. MEMBERS / COACHES — people & access hierarchy
   =================================================================== */

#adminPanel.academy-workspace-shell .academy-members-summary article {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
}
#adminPanel.academy-workspace-shell .academy-member-row {
  border: 0 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}
#adminPanel.academy-workspace-shell .academy-member-badge.role {
  box-shadow: var(--academy-shadow-soft);
}

/* ===================================================================
   7. REPORTS — row-as-surface convergence (Coach My Reports parity)
   Previous pass made the OUTER .academy-report-directory/-progress
   wrappers raised (a card) while the individual .academy-report-card
   rows sat inset inside them -- literally the "card inside card"
   architecture called out against Coach My Reports, where the row
   (.pid-coach-report-row) is the only raised surface and its list
   container (.pid-premium-report-list) carries no card of its own.
   Inverted below: directory/progress lose all card chrome and become
   transparent sections on the canvas; the rows become the dominant
   raised surfaces, exactly like Coach's rows sitting directly on
   #coachReportsPage.
   =================================================================== */

#adminPanel.academy-workspace-shell .academy-report-summary article {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
}
#adminPanel.academy-workspace-shell .academy-report-filters {
  border: 0 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}
#adminPanel.academy-workspace-shell .academy-report-filters input,
#adminPanel.academy-workspace-shell .academy-report-filters select,
#adminPanel.academy-workspace-shell .academy-report-progress select {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-soft) !important;
}

/* Directory/Progress: no longer a card of their own -- transparent
   sections spaced only by the pane's own gap and the pane's existing
   24px canvas padding (index.html ".admin-pane{padding:24px}"), same
   as every other section on this page. playerid-academy-dark.css sets
   a dark-mode background on these same two selectors at TRIPLE #adminPanel
   specificity (a specificity-inflation hack it uses throughout); matched
   here so this transparency wins in dark mode too, not just light. */
#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-report-directory,
#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-report-progress {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#adminPanel.academy-workspace-shell .academy-report-directory-head {
  margin-bottom: 14px;
}

/* Report rows: the dominant raised surface (was inset). */
#adminPanel.academy-workspace-shell .academy-report-card {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
  transition: transform .15s ease, box-shadow .15s ease;
}
@media (hover: hover) and (pointer: fine) {
  #adminPanel.academy-workspace-shell .academy-report-card:hover { transform: translateY(-2px); }
}
@media (prefers-reduced-motion: reduce) {
  #adminPanel.academy-workspace-shell .academy-report-card:hover { transform: none; }
}
#adminPanel.academy-workspace-shell .academy-report-state {
  border: 0 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}

/* Actions: compact tactile pills matching Coach's View/Preview/PDF V2
   weight, not a large filled CTA on every row. Scoped to this one row
   (Academy still renders these via the shared legacy .pid-btn family,
   unlike Coach's own .pid-report-action classes) so no other .pid-btn
   usage elsewhere in the app is touched. */
#adminPanel.academy-workspace-shell .academy-report-actions .pid-btn {
  min-height: 34px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--academy-surface) !important;
  background-image: none !important;
  color: var(--academy-ink) !important;
  box-shadow: var(--academy-shadow-raised) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  white-space: nowrap;
}
#adminPanel.academy-workspace-shell .academy-report-actions .pid-btn-outline {
  color: var(--academy-muted) !important;
}
@media (hover: hover) and (pointer: fine) {
  #adminPanel.academy-workspace-shell .academy-report-actions .pid-btn:hover { transform: translateY(-1px); }
}
@media (prefers-reduced-motion: reduce) {
  #adminPanel.academy-workspace-shell .academy-report-actions .pid-btn:hover { transform: none; }
}

/* Column architecture: desktop-only convergence onto Coach's Player /
   Tournament / Date / Score / Status / Actions scanning rhythm. Below
   this breakpoint playerid-academy-reports.css already switches to its
   own stacked/2-col layout -- exactly as Coach itself abandons its
   6-column grid below 1050px for a different area-based stack -- so
   this only touches the width band where both products use a strict
   row grid. The state-block's status pill and date are promoted to
   their own grid cells via display:contents (the same technique
   already used for .academy-activity-row in section 10 below) without
   changing the DOM/JS that renders them together. */
@media (min-width: 1051px) {
  #adminPanel.academy-workspace-shell .academy-report-card {
    grid-template-columns: minmax(140px,1.1fr) minmax(170px,1.2fr) 92px 68px 100px minmax(150px,auto);
    padding: 16px 20px !important;
    border-radius: 16px !important;
  }
  #adminPanel.academy-workspace-shell .academy-report-identity { grid-column: 1; grid-row: 1; }
  #adminPanel.academy-workspace-shell .academy-report-primary { grid-column: 2; grid-row: 1; }
  #adminPanel.academy-workspace-shell .academy-report-score { grid-column: 4; grid-row: 1; }
  #adminPanel.academy-workspace-shell .academy-report-state-block { display: contents; }
  #adminPanel.academy-workspace-shell .academy-report-state-block > small {
    grid-column: 3; grid-row: 1; font-size: 11px; white-space: nowrap;
  }
  #adminPanel.academy-workspace-shell .academy-report-status { grid-column: 5; grid-row: 1; justify-self: start; }
  #adminPanel.academy-workspace-shell .academy-report-actions { grid-column: 6; grid-row: 1; }
}

/* ===================================================================
   7B. PROGRESS ANALYSIS — layered surfaces instead of one white card
   Same data/handlers (renderProgressAnalysis() in index.html); only
   the presentation of its existing .progress-hero / .progress-chip /
   .analysis-copy / .trend-list / .trend-row output is recomposed into
   distinct surfaces: control -> metrics -> summary -> history rows.
   These classes render nowhere else inside the Academy Reports pane,
   so scoping to ".academy-report-progress" cannot affect any other
   reuse of the same class names elsewhere in the app (e.g. the PDF
   report preview, which lives outside #adminPanel entirely). */
#adminPanel.academy-workspace-shell .academy-report-progress > label {
  display: block;
  max-width: 420px;
  margin-bottom: 16px !important;
}
#adminPanel.academy-workspace-shell .academy-report-progress select {
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}
#adminPanel.academy-workspace-shell .academy-report-progress .progress-hero {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
#adminPanel.academy-workspace-shell .academy-report-progress .progress-chip {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-height: 88px;
  padding: 16px 18px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
}
#adminPanel.academy-workspace-shell .academy-report-progress .progress-chip b {
  order: 1;
  font-size: 24px;
  font-weight: 750;
  letter-spacing: -.03em;
  color: var(--academy-ink);
}
#adminPanel.academy-workspace-shell .academy-report-progress .progress-chip small {
  order: 2;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--academy-muted);
}
#adminPanel.academy-workspace-shell .academy-report-progress .analysis-copy {
  margin-top: 14px;
  padding: 18px 20px !important;
  border-radius: 16px !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-soft) !important;
  color: var(--academy-muted);
  font-size: 12.5px;
  line-height: 1.6;
}
#adminPanel.academy-workspace-shell .academy-report-progress .analysis-copy strong {
  display: block;
  margin-bottom: 6px;
  color: var(--academy-ink);
  font-size: 13px;
}
#adminPanel.academy-workspace-shell .academy-report-progress .trend-list {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}
#adminPanel.academy-workspace-shell .academy-report-progress .trend-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}
#adminPanel.academy-workspace-shell .academy-report-progress .trend-row > span:first-child {
  min-width: 0;
  flex: 1 1 auto;
}
#adminPanel.academy-workspace-shell .academy-report-progress .trend-row strong {
  color: var(--academy-ink);
  font-size: 12.5px;
}
#adminPanel.academy-workspace-shell .academy-report-progress .trend-row small {
  color: var(--academy-muted);
  font-size: 10.5px;
}
#adminPanel.academy-workspace-shell .academy-report-progress .trend-row > b {
  font-size: 18px;
  font-weight: 750;
  color: var(--academy-ink);
}
#adminPanel.academy-workspace-shell .academy-report-progress .trend-row .trend-up { color: #176b5b; font-weight: 700; }
#adminPanel.academy-workspace-shell .academy-report-progress .trend-row .trend-down { color: #96362c; font-weight: 700; }
html[data-theme="dark"] #adminPanel.academy-workspace-shell .academy-report-progress .trend-row .trend-up { color: var(--academy-status-positive-text); }
html[data-theme="dark"] #adminPanel.academy-workspace-shell .academy-report-progress .trend-row .trend-down { color: var(--academy-status-danger-text); }
#adminPanel.academy-workspace-shell .academy-report-progress .progress-empty {
  margin-top: 14px !important;
  padding: 22px !important;
  border-radius: 14px !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
  color: var(--academy-muted);
  text-align: center;
  font-size: 12.5px;
}
@media (max-width: 700px) {
  #adminPanel.academy-workspace-shell .academy-report-progress .progress-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #adminPanel.academy-workspace-shell .academy-report-progress .trend-row {
    flex-wrap: wrap;
  }
}

/* ===================================================================
   8. ACADEMY INTELLIGENCE — light-touch consistency pass
   =================================================================== */

#adminPanel.academy-workspace-shell .academy-intelligence-summary article {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
}
#adminPanel.academy-workspace-shell .academy-intelligence-filters {
  border: 0 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}
#adminPanel.academy-workspace-shell .academy-intelligence-panel {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
}
#adminPanel.academy-workspace-shell .academy-development-row {
  border: 0 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}
#adminPanel.academy-workspace-shell .academy-priority-card {
  border: 0 !important;
  border-left: 3px solid #d39b31 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}
#adminPanel.academy-workspace-shell .academy-priority-card.is-progress {
  border-left-color: var(--academy-teal) !important;
}
#adminPanel.academy-workspace-shell #academyIntelligenceDetail .pid-development-detail-identity,
#adminPanel.academy-workspace-shell #academyIntelligenceDetail .pid-development-section,
#adminPanel.academy-workspace-shell #academyIntelligenceDetail .academy-current-development {
  border: 0 !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
}
#adminPanel.academy-workspace-shell #academyIntelligenceDetail .pid-development-detail-summary article {
  border: 0 !important;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset) !important;
}

/* ===================================================================
   9. SHELL PREMIUM PASS — Topbar / Theme Switch
   Sidebar / nav / brand / return-button / drawer-head presentation now
   lives entirely in playerid-academy-sidebar.css (single-owner
   consolidation, see that file). This section only carries shell-level
   layout that sidebar.css does not own (sidebar column width) plus the
   topbar/account/theme-toggle rules below.
   =================================================================== */

/* --- Sidebar width: Coach's --pid-app-sidebar-width is 224px; Academy's
   own grid track was 252px. Converged to the same figure at the desktop
   band Coach itself targets. The existing 900-1199px tablet override
   (202px, already narrower) is left alone rather than narrowed further -
   this only touches the >=1200px desktop default. */
@media (min-width: 1200px) {
  #adminPanel.academy-workspace-shell { grid-template-columns: 224px minmax(0, 1fr); }
}

/* --- Topbar: converged onto Coach's .pid-premium-coach-topbar anatomy
   (min-height 104px desktop, padding 14px 32px, a 3-line eyebrow/title/
   subtitle intro on the left) instead of Academy's own compact 2-line,
   76px-tall bar. Desktop-only (>=769px): the mobile topbar is a
   completely different fixed 72px bar (.academy-shell-topbar-title is
   `display:none` there, .academy-shell-mobile-brand shown instead), so
   none of this may apply unguarded or it fights that mobile layout. */
@media (min-width: 769px) {
  #adminPanel.academy-workspace-shell > .academy-shell-topbar {
    gap: 18px;
    min-height: 104px;
    padding-block: 14px !important;
  }
  #adminPanel.academy-workspace-shell .academy-shell-topbar-title { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
  #adminPanel.academy-workspace-shell .academy-shell-topbar-title strong { margin-top: 4px; font-size: 18px; font-weight: 750; letter-spacing: -.02em; }
  #adminPanel.academy-workspace-shell .academy-shell-topbar-subtitle {
    display: block;
    margin-top: 4px;
    max-width: 56ch;
    color: var(--academy-muted);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: normal;
    text-transform: none;
  }
}
/* Mobile: subtitle line was never part of the compact bar's anatomy. */
@media (max-width: 768px) {
  #adminPanel.academy-workspace-shell .academy-shell-topbar-subtitle { display: none; }
}
#adminPanel.academy-workspace-shell .academy-shell-account {
  padding: 7px 16px 7px 14px;
  border-radius: 14px;
  background: var(--academy-surface-inset);
  box-shadow: var(--academy-shadow-inset);
}
#adminPanel.academy-workspace-shell .academy-shell-account-divider { background: var(--academy-line); opacity: .85; }
#adminPanel.academy-workspace-shell .academy-shell-theme-toggle {
  width: 54px !important;
  height: 44px !important;
  min-width: 54px !important;
  min-height: 44px !important;
  border-radius: 999px;
}

/* A legacy global rule (".admin-pane,.assessment-shell,.summary-box,...
   {background:#fff!important;border:1px solid #d8d8d4!important;
   box-shadow:0 18px 55px rgba(0,0,0,.07)!important}", unscoped, dates
   from an early design pass) wraps EVERY Academy admin-pane -- Dashboard,
   Teams, Reports, everything -- in its own outer white card. Dark mode
   already neutralises the background half of this (academy-dark.css),
   but the border+shadow survive in both themes, so every pane sits
   inside one more "white widget" than its own already-premium interior
   needs. This is a real contributor to both the Dashboard "stack of
   widgets" feedback and the Teams "small card floating in a large white
   canvas" feedback -- removing it lets each premium surface breathe
   directly on the academy canvas, matching how Coach Premium's
   dashboard has no such outer wrapper. */
#adminPanel.academy-workspace-shell > .admin-pane {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ===================================================================
   10. DASHBOARD — KPI grouping, compact empty state, action hierarchy,
   full-width latest-assessments (composition fixes)
   =================================================================== */

/* KPI row: a shared eyebrow gives the four metric cards one structural
   context ("one set", not four unrelated floating boxes) without
   fabricating any additional card/copy. */
#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-overview-grid::before {
  content: "ACADEMY SNAPSHOT";
  grid-column: 1 / -1;
  order: 0;
  padding: 0 2px;
  color: var(--academy-teal);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}

/* Attention: compact, intentional empty state instead of an oversized
   dashed placeholder box. */
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-attention-card:has(> .dashboard-list > .dashboard-empty) {
  padding: 16px 18px !important;
}
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-attention-card .dashboard-empty {
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-height: 0;
  padding: 10px 12px !important;
  border: 0 !important;
  border-radius: 12px;
  background: var(--academy-surface-inset) !important;
  box-shadow: var(--academy-shadow-inset);
  font-size: 12px;
}
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-attention-card .dashboard-empty::before {
  content: "";
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: rgba(23, 178, 130, .16);
}

/* Quick Actions: separate academy management (Players / Teams /
   Members) from development & review (Reports / Academy Intelligence)
   with a teal accent rail, instead of five identical bordered boxes. */
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action:nth-child(n+4) {
  box-shadow: var(--academy-shadow-raised), inset 0 -3px 0 var(--academy-teal) !important;
}

/* Latest Assessments: was constrained to a half-width column while the
   other half of the row sat empty. Full width, with the row content
   recomposed into scannable columns once there is room for them. */
#adminPanel.academy-workspace-shell #developerPaneOverview .academy-recent-card {
  grid-column: 1 / -1 !important;
}
@media (min-width: 1051px) {
  #adminPanel.academy-workspace-shell #developerPaneOverview .academy-recent-card .academy-activity-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 110px 60px 64px;
    column-gap: 20px;
  }
  #adminPanel.academy-workspace-shell #developerPaneOverview .academy-recent-card .academy-activity-row > div:first-child { min-width: 0; }
  #adminPanel.academy-workspace-shell #developerPaneOverview .academy-recent-card .academy-activity-meta { display: contents; }
  #adminPanel.academy-workspace-shell #developerPaneOverview .academy-recent-card .academy-activity-meta small { grid-column: 2; justify-self: start; white-space: nowrap; }
  #adminPanel.academy-workspace-shell #developerPaneOverview .academy-recent-card .academy-activity-meta b { grid-column: 3; justify-self: center; }
  #adminPanel.academy-workspace-shell #developerPaneOverview .academy-recent-card .academy-activity-meta em { grid-column: 4; justify-self: end; }
}

/* ===================================================================
   11. TEAMS — single-team composition (adaptive width, no fake stretch)
   =================================================================== */

/* A single team is recomposed as a primary workspace panel using the
   full content width -- Coach's own anatomy for a single deliberate
   surface (e.g. #coachDevelopmentPage .pid-development-detail-identity
   at padding 18px 22px / radius 18px, feeding a wider metrics grid)
   rather than a narrower "directory card" adrift in unused width. */
#adminPanel.academy-workspace-shell .team-directory-grid:has(> .team-directory-card:only-child) {
  grid-template-columns: minmax(0, 1fr) !important;
}
#adminPanel.academy-workspace-shell .team-directory-card:only-child {
  display: grid;
  gap: 20px;
  padding: 26px 28px !important;
  border-radius: 20px !important;
}
#adminPanel.academy-workspace-shell .team-directory-card:only-child .academy-team-card-head h4 {
  font-size: 22px;
  font-weight: 750;
  letter-spacing: -.02em;
}
#adminPanel.academy-workspace-shell .team-directory-card:only-child .academy-team-card-head small {
  font-size: 12px;
}
#adminPanel.academy-workspace-shell .team-directory-card:only-child .academy-team-card-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}
#adminPanel.academy-workspace-shell .team-directory-card:only-child .academy-team-card-metrics span {
  padding: 16px;
  border-radius: 14px;
}
#adminPanel.academy-workspace-shell .team-directory-card:only-child .academy-team-card-metrics strong {
  font-size: 24px;
}
#adminPanel.academy-workspace-shell .team-directory-card:only-child .academy-team-card-actions {
  padding-top: 4px;
  border-top: 1px solid var(--academy-line);
}
@media (max-width: 700px) {
  #adminPanel.academy-workspace-shell .team-directory-card:only-child { padding: 20px !important; }
  #adminPanel.academy-workspace-shell .team-directory-card:only-child .academy-team-card-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* The outer .admin-pane white card (removed in section 9 above) used to
   mask a pre-existing dark-mode gap: academy-dark.css corrects these
   menu triggers' TEXT colour for dark mode but not their background, so
   they rendered as a plain white button-on-white-card (invisible) in
   the old composition. With that outer white card gone the gap becomes
   a visible white square on a dark card - fixed here with the same
   theme-aware tokens already used throughout this file. */
#adminPanel.academy-workspace-shell .academy-team-menu summary,
#adminPanel.academy-workspace-shell .academy-team-detail-close,
#adminPanel.academy-workspace-shell .academy-player-menu summary,
#adminPanel.academy-workspace-shell .academy-player-refresh {
  background: var(--academy-surface) !important;
  border-color: var(--academy-line) !important;
}

/* ===================================================================
   12. COACH PREMIUM CONVERGENCE — the shared KPI/row/badge/button
   anatomy used everywhere Academy has its own "summary strip" and
   "data row" pattern: Teams, Members, Reports, Academy Intelligence.
   Numbers below are Coach's actual secondary-KPI anatomy
   (#coachReportsPage .pid-premium-report-summary .pid-kpi--premium /
   #coachDevelopmentPage .pid-premium-development-kpi): 16-18px padding,
   92-96px min-height, 16px radius, value-first vertical order.
   =================================================================== */

#adminPanel.academy-workspace-shell .academy-team-summary,
#adminPanel.academy-workspace-shell .academy-members-summary,
#adminPanel.academy-workspace-shell .academy-report-summary,
#adminPanel.academy-workspace-shell .academy-intelligence-summary {
  gap: 14px !important;
}

/* Members/Reports/Intelligence: plain "small, strong, span" siblings,
   same shape as Coach's icon-less secondary KPI -- stack the whole
   card as a flex column and reorder value before label. */
#adminPanel.academy-workspace-shell .academy-members-summary article,
#adminPanel.academy-workspace-shell .academy-report-summary article,
#adminPanel.academy-workspace-shell .academy-intelligence-summary article {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-height: 92px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
}
#adminPanel.academy-workspace-shell .academy-members-summary strong,
#adminPanel.academy-workspace-shell .academy-report-summary strong,
#adminPanel.academy-workspace-shell .academy-intelligence-summary strong {
  order: 1 !important;
  margin: 0 !important;
  font-size: 26px !important;
  font-weight: 750 !important;
  letter-spacing: -.03em !important;
  line-height: 1.1 !important;
}
#adminPanel.academy-workspace-shell .academy-members-summary small,
#adminPanel.academy-workspace-shell .academy-report-summary small,
#adminPanel.academy-workspace-shell .academy-intelligence-summary small {
  order: 2 !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}
#adminPanel.academy-workspace-shell .academy-members-summary span,
#adminPanel.academy-workspace-shell .academy-report-summary span,
#adminPanel.academy-workspace-shell .academy-intelligence-summary span {
  order: 3 !important;
  font-size: 10px !important;
}

/* Teams: DOM shape differs (rendered as "<i>icon</i><span><small>
   label</small><strong>value</strong></span>" - team-workspace.cloud.js
   renderTeamSummary()), so the icon-left row is kept and only the
   inner label/value wrapper is reordered to value-first, matching the
   same hierarchy as the other three without fighting its own layout. */
#adminPanel.academy-workspace-shell .academy-team-summary article {
  min-height: 92px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
}
#adminPanel.academy-workspace-shell .academy-team-summary article > span {
  display: flex !important;
  flex-direction: column;
  gap: 2px;
}
#adminPanel.academy-workspace-shell .academy-team-summary strong {
  order: 1 !important;
  margin: 0 !important;
  font-size: 26px !important;
  font-weight: 750 !important;
  letter-spacing: -.03em !important;
  line-height: 1.1 !important;
}
#adminPanel.academy-workspace-shell .academy-team-summary small {
  order: 2 !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

@media (max-width: 700px) {
  #adminPanel.academy-workspace-shell .academy-team-summary article,
  #adminPanel.academy-workspace-shell .academy-members-summary article,
  #adminPanel.academy-workspace-shell .academy-report-summary article,
  #adminPanel.academy-workspace-shell .academy-intelligence-summary article {
    min-height: 0 !important;
    padding: 14px !important;
  }
  #adminPanel.academy-workspace-shell .academy-team-summary strong,
  #adminPanel.academy-workspace-shell .academy-members-summary strong,
  #adminPanel.academy-workspace-shell .academy-report-summary strong,
  #adminPanel.academy-workspace-shell .academy-intelligence-summary strong {
    font-size: 22px !important;
  }
}

/* Members sub-sections (Academy Administrators / Coaches / Pending
   Access) were flat divider-separated blocks; Coach's equivalent inner-
   page sections (#coachDevelopmentPage .pid-development-section) are
   each their own raised panel. Converged to the same per-section
   surface instead of a running list of dividers. */
#adminPanel.academy-workspace-shell .academy-members-shell {
  gap: 16px !important;
}
#adminPanel.academy-workspace-shell .academy-members-card {
  padding: 22px !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 18px !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-raised) !important;
}

/* Data rows: converged onto Coach's raised report-row anatomy
   (#coachReportsPage .pid-coach-report-row: padding 16px 20px, radius
   16px). Member rows already carry a raised surface from an earlier
   section; this tightens its geometry only. (.academy-report-card's
   own padding/radius now lives in section 7's min-width:1051px block
   above, so it can stay at playerid-academy-reports.css's own smaller
   mobile/tablet padding below that breakpoint instead of being forced
   to the desktop figure at every width.) */
#adminPanel.academy-workspace-shell .academy-member-row {
  padding: 16px 20px !important;
  border-radius: 16px !important;
}

/* Badges: converged onto Coach's pill anatomy (.pid-badge--premium /
   .coach-report-badge-v2) -- fully rounded, inset by default, teal-
   tinted for a positive/active state. Colour logic (which state maps
   to which tint) is untouched; only shape/weight/tracking changes. */
#adminPanel.academy-workspace-shell .academy-member-badge,
#adminPanel.academy-workspace-shell .academy-report-status,
#adminPanel.academy-workspace-shell .academy-team-status {
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
}

/* Buttons: superseded by the compact tactile treatment in section 7
   above (Coach View/Preview/PDF V2 parity) -- kept out of this section
   so there is only one place defining .academy-report-actions .pid-btn. */

/* Final Academy composition. Coach Premium tokens are inherited only by the
   five content areas; the Reports cascade and shared role styles stay intact.
   Repeated ID bridges the legacy dark stylesheet's specificity. */
#adminPanel.academy-workspace-shell :is(#developerPaneOverview, #academyCloudPlayersView, #academyTeamDirectory, .academy-members-shell, #academyIntelligenceWorkspace) {
  --academy-surface: var(--pid-theme-surface-raised);
  --academy-surface-inset: var(--pid-theme-surface-inset);
  --academy-shadow-raised: var(--pid-theme-shadow-raised);
  --academy-shadow-inset: var(--pid-theme-shadow-inset);
  --academy-shadow-soft: var(--pid-theme-shadow-soft);
  --academy-ink: var(--pid-theme-text-primary);
  --academy-navy: var(--pid-theme-text-primary);
  --academy-muted: var(--pid-theme-text-secondary);
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-overview-grid { gap: 24px 16px !important; align-items: start; }
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-welcome-card {
  padding: 20px !important;
  border: 1px solid var(--pid-theme-border-soft) !important;
  border-radius: 18px !important;
  background: var(--academy-surface) !important;
  box-shadow: var(--academy-shadow-soft) !important;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .overview-actions {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 0 !important;
  padding: 8px; border-radius: 18px; background: var(--academy-surface-inset); box-shadow: var(--academy-shadow-inset);
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action {
  min-height: 82px; padding: 14px 30px 14px 12px !important; border-radius: 12px !important;
  background: transparent !important; box-shadow: none !important; transform: none;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action-wide { grid-column: span 2; }
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action:hover,
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action:focus-visible {
  background: var(--academy-surface) !important; box-shadow: var(--academy-shadow-soft) !important;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .academy-recent-card {
  padding: 22px 24px !important; border-radius: 18px !important;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .academy-recent-card .dashboard-list { gap: 0; }
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .academy-recent-card .dashboard-list-row {
  padding: 16px 0 !important; border-radius: 0 !important; border-top: 1px solid var(--pid-theme-border-soft) !important;
  background: transparent !important; box-shadow: none !important;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .academy-attention-card {
  padding: 20px 24px !important; border-radius: 18px !important;
  background: var(--academy-surface-inset) !important; box-shadow: var(--academy-shadow-inset) !important;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .academy-attention-card .dashboard-empty {
  padding: 4px 0 !important; background: transparent !important; box-shadow: none !important;
}

/* Player identity and football context share one compact desktop row. */
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #academyCloudPlayerDirectory { gap: 10px; }
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-player-row {
  min-height: 88px; padding: 14px 18px !important; gap: 14px; border-radius: 16px !important;
  background: var(--pid-theme-surface-raised) !important; box-shadow: var(--pid-theme-shadow-soft) !important;
}
#adminPanel.academy-workspace-shell .academy-player-row .player-manage-photo { width: 48px !important; height: 48px !important; border-radius: 12px !important; }
#adminPanel.academy-workspace-shell .academy-player-identity h4 { font-size: 14px; white-space: normal; overflow-wrap: anywhere; }
#adminPanel.academy-workspace-shell .academy-player-code { font-size: 10px; }
#adminPanel.academy-workspace-shell .academy-player-coach:empty { display: none; }
@media(min-width:1200px) {
  #adminPanel.academy-workspace-shell .academy-player-row { grid-template-columns: 48px minmax(0,1fr) auto auto; }
  #adminPanel.academy-workspace-shell .academy-player-row-body { display: grid; grid-template-columns: minmax(150px,1.1fr) minmax(130px,1fr); gap: 4px 20px; align-items: center; }
  #adminPanel.academy-workspace-shell .academy-player-identity { grid-column: 1; grid-row: 1 / 4; }
  #adminPanel.academy-workspace-shell :is(.academy-player-football,.academy-player-team,.academy-player-coach) { grid-column: 2; margin-top: 0; }
}

/* A team is an overview when alone, and an adaptive directory otherwise. */
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .team-directory-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)) !important; gap: 20px; }
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .team-directory-card {
  background: var(--pid-theme-surface-raised) !important; box-shadow: var(--pid-theme-shadow-raised) !important;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .team-directory-card:only-child { gap: 24px; padding: 28px !important; }
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-team-card-metrics {
  background: var(--pid-theme-surface-inset); box-shadow: var(--pid-theme-shadow-inset); border-radius: 16px; padding: 8px;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-team-card-metrics span {
  background: transparent !important; box-shadow: none !important; padding: 16px !important; min-width: 0;
}
#adminPanel.academy-workspace-shell .academy-team-staff-names { display: block; margin-top: 8px; font-size: 12px; font-weight: 600; line-height: 1.5; color: var(--pid-theme-text-primary); overflow-wrap: anywhere; }
#adminPanel.academy-workspace-shell .academy-team-card-actions { gap: 10px; flex-wrap: wrap; }

/* Member sections sit on the canvas; the people are the raised surfaces. */
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-members-shell { gap: 26px !important; }
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-members-card {
  padding: 0 !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-member-row {
  padding: 16px 20px !important; background: var(--pid-theme-surface-raised) !important; box-shadow: var(--pid-theme-shadow-soft) !important;
}
#adminPanel.academy-workspace-shell .academy-member-list { gap: 10px; }
#adminPanel.academy-workspace-shell .academy-members-toolbar { align-items: center; }
#adminPanel.academy-workspace-shell .academy-member-filters {
  padding: 8px; border-radius: 14px; background: var(--pid-theme-surface-inset); box-shadow: var(--pid-theme-shadow-inset);
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-member-side .btn.danger {
  background: transparent !important; color: var(--pid-theme-text-secondary) !important; border-color: var(--pid-theme-border-soft) !important;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-member-side .btn.danger:hover { color: var(--pid-theme-text-primary) !important; background: var(--pid-theme-surface-inset) !important; }

/* Development Review's primary/supporting hierarchy, using its theme tokens. */
#adminPanel.academy-workspace-shell .academy-intelligence-shell { gap: 24px; }
#adminPanel.academy-workspace-shell .academy-intelligence-grid { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 24px; margin-bottom: 24px; align-items: start; }
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-intelligence-panel {
  padding: 24px; border: 0 !important; border-radius: 18px;
  background: var(--pid-theme-surface-raised) !important; box-shadow: var(--pid-theme-shadow-raised) !important;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-intelligence-patterns {
  background: var(--pid-theme-surface-inset) !important; box-shadow: var(--pid-theme-shadow-inset) !important;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-intelligence-directory {
  padding: 0; background: transparent !important; box-shadow: none !important;
}
#adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-development-row {
  padding: 16px 20px; border: 0 !important; border-radius: 16px;
  background: var(--pid-theme-surface-raised) !important; box-shadow: var(--pid-theme-shadow-soft) !important;
}
#adminPanel.academy-workspace-shell .academy-development-list { gap: 10px; }
#adminPanel.academy-workspace-shell .academy-positive-head { margin-top: 24px; padding-top: 20px; }
#adminPanel.academy-workspace-shell :is(.academy-intelligence-filters,.academy-cloud-player-toolbar) { border-radius: 16px; padding: 16px; }
#adminPanel.academy-workspace-shell :is(.academy-member-row,.academy-player-row,.team-directory-card,.academy-development-row) :is(button,summary):focus-visible { outline: 3px solid var(--pid-theme-teal); outline-offset: 3px; }

@media(max-width:1100px) {
  #adminPanel.academy-workspace-shell .academy-intelligence-grid { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:768px) {
  #adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-welcome-card { padding: 16px !important; border-radius: 16px !important; }
  #adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .dashboard-overview-grid { gap: 16px 12px !important; }
  #adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .overview-actions { grid-template-columns: minmax(0,1fr) !important; }
  #adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview .academy-quick-action { grid-column: 1 !important; min-height: 72px; }
  #adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell #developerPaneOverview :is(.academy-recent-card,.academy-attention-card) { padding: 18px !important; }
  #adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-player-row { padding: 12px !important; gap: 10px; }
  #adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-member-row { padding: 14px !important; }
  #adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .team-directory-card:only-child { padding: 18px !important; gap: 18px; }
  #adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .team-directory-card:only-child .academy-team-card-metrics { grid-template-columns: minmax(0,1fr); gap: 0; }
  #adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-team-card-metrics span { padding: 12px !important; }
  #adminPanel.academy-workspace-shell .academy-team-card-actions :is(button,summary) { min-height: 44px; }
  #adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-intelligence-panel { padding: 18px; }
  #adminPanel#adminPanel#adminPanel#adminPanel.academy-workspace-shell .academy-intelligence-directory { padding: 0; }
  #adminPanel.academy-workspace-shell .academy-intelligence-shell { gap: 18px; }
  #adminPanel.academy-workspace-shell .academy-member-filters { width: 100%; min-width: 0; box-sizing: border-box; }
}
@media(prefers-reduced-motion:reduce) {
  #adminPanel.academy-workspace-shell :is(.academy-player-row,.team-directory-card,.academy-quick-action) { transition: none !important; transform: none !important; }
}

/* Dashboard header only: follow the existing active navigation state so the
   shared heading on other Academy pages retains its current presentation. */
#adminPanel.academy-workspace-shell:has([data-academy-nav="overview"][aria-current="page"]) > .academy-shell-page-heading {
  box-sizing: border-box;
  width: calc(100% - clamp(48px, 6vw, 84px));
  max-width: 1440px;
  min-width: 0;
  margin: 14px auto 14px;
  padding: 0 0 14px !important;
  border: 0;
  border-bottom: 1px solid var(--pid-theme-border-soft);
}
#adminPanel.academy-workspace-shell:has([data-academy-nav="overview"][aria-current="page"]) > .academy-shell-page-heading small {
  font-size: 10px !important;
  line-height: 1.4 !important;
  letter-spacing: .12em;
}
#adminPanel.academy-workspace-shell:has([data-academy-nav="overview"][aria-current="page"]) > .academy-shell-page-heading h1 {
  margin: 4px 0 !important;
  font-size: 30px !important;
  font-weight: 750;
  line-height: 1.15 !important;
  letter-spacing: -.035em;
}
#adminPanel.academy-workspace-shell:has([data-academy-nav="overview"][aria-current="page"]) > .academy-shell-page-heading p {
  margin: 0;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
@media (max-width: 768px) {
  #adminPanel.academy-workspace-shell:has([data-academy-nav="overview"][aria-current="page"]) > .academy-shell-page-heading {
    width: calc(100% - 32px);
    margin-block: 12px;
    padding-bottom: 12px !important;
  }
  #adminPanel.academy-workspace-shell:has([data-academy-nav="overview"][aria-current="page"]) > .academy-shell-page-heading h1 { font-size: 26px !important; }
}
@media (max-width: 430px) {
  #adminPanel.academy-workspace-shell:has([data-academy-nav="overview"][aria-current="page"]) > .academy-shell-page-heading { width: calc(100% - 30px); }
}
@media (max-width: 375px) {
  #adminPanel.academy-workspace-shell:has([data-academy-nav="overview"][aria-current="page"]) > .academy-shell-page-heading { width: calc(100% - 26px); }
}
