:root {
  color-scheme: light;
  --pool: #006fd6;
  --aqua: #00a6c8;
  --navy: #071c34;
  --foam: #f7fbff;
  --saffron: #ff9933;
  --green: #138808;
  --chakra: #0757b8;
  --coral: #ff6157;
  --lane: #ffcf66;
  --surface: rgba(255, 255, 255, 0.98);
  --surface-soft: rgba(255, 255, 255, 0.72);
  --muted: #5f6f83;
  --border: rgba(7, 28, 52, 0.1);
  --ink-soft: #20364d;
  --premium-line: rgba(7, 87, 184, 0.18);
  --shadow: 0 18px 48px rgba(7, 28, 52, 0.1);
  --shadow-soft: 0 10px 28px rgba(7, 28, 52, 0.07);
  --shadow-lift: 0 24px 64px rgba(7, 28, 52, 0.13);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
}

/* Final Elite Simple Mode overrides. Keep the app powerful, but make each tab first-screen focused. */
.screen > .section-head {
  margin-bottom: 12px;
  padding: 12px 0 4px;
  border-bottom: 1px solid rgba(7, 87, 184, 0.08);
}

.screen > .card,
.screen > .grid.two,
.screen > .list,
.simple-home-card {
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(7, 28, 52, 0.08);
}

.simple-home-card,
#trainingScreen .smart-coach,
#timerScreen .timer-card,
#progressScreen > article:first-of-type,
#performanceScreen .performance-panel,
#biomechanicsScreen .biomechanics-assessment-card,
#videoScreen .video-card,
#techniqueScreen .custom-drill-editor,
#raceScreen .meet-calendar-card,
#settingsScreen .profile-manager,
#settingsScreen .form-card {
  border-top: 4px solid var(--chakra);
}

#trainingScreen .daily-drill-planner,
#trainingScreen .attendance-register,
#performanceScreen .wearable-sync-hub,
#raceScreen .race-checklist-panel,
#settingsScreen .cloud-sync-card,
#settingsScreen .coach-profile-settings,
#timerScreen .lane-timer-card,
#videoScreen .ai-fault-panel,
#videoScreen .video-marker-details {
  border-top: 4px solid var(--green);
}

#trainingScreen .attendance-table,
#trainingScreen .coach-full-profile,
#trainingScreen .coach-metrics,
#trainingScreen #workoutList,
#timerScreen .elite-timer-lab,
#progressScreen .benchmark-lab,
#performanceScreen .sports-science-command,
#performanceScreen .mental-fitness-panel,
#performanceScreen .biomechanics-panel,
#performanceScreen > article:last-of-type,
#videoScreen .elite-video-lab,
#videoScreen .video-biomechanics-panel,
#videoScreen details.simple-details:not(.video-marker-details),
#videoScreen .saved-reviews-card,
#raceScreen .federation-panel,
#raceScreen .race-pro-panel,
#settingsScreen .login-card,
#settingsScreen .elite-profile-summary,
#settingsScreen .athlete-settings,
#settingsScreen .voice-assistant-panel {
  display: none !important;
}

.simple-action-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.simple-action {
  min-height: 118px;
  align-content: start;
}

.simple-next-step {
  border-left: 4px solid var(--green);
  background: rgba(19, 136, 8, 0.08);
}

.simple-elite-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.simple-elite-kpis div {
  min-height: 76px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 255, 0.92));
}

.simple-elite-kpis span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.simple-elite-kpis strong {
  display: block;
  margin-top: 8px;
  color: var(--navy);
  font-size: 1.2rem;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}

#trainingScreen .coach-controls,
#trainingScreen .daily-drill-controls,
#performanceScreen .performance-inputs,
#performanceScreen .wearable-import-grid,
#raceScreen .meet-entry-grid,
#raceScreen .race-command-grid,
#settingsScreen .profile-create {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#performanceScreen .wearable-device-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#timerScreen .timer-card {
  text-align: center;
}

#timerScreen .timer-readout {
  font-size: clamp(3rem, 10vw, 6.6rem);
}

#progressScreen canvas {
  max-height: 260px;
}

#settingsScreen .coach-edit-grid {
  grid-template-columns: 1fr;
}

#settingsScreen .coach-edit-row {
  padding: 12px;
}

#biomechanicsScreen .mental-assessment-card {
  display: block !important;
  border-top: 4px solid var(--green);
}

#performanceScreen .nutrition-planner {
  display: block !important;
  border-top: 4px solid var(--green);
}

.goal-editor-panel {
  display: block !important;
  margin: 16px 0;
  padding: 14px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-top: 4px solid var(--green);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 255, 0.96));
}

.goal-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0;
}

.goal-editor-block {
  overflow: hidden;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: #fff;
}

.goal-editor-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 12px;
  background: rgba(19, 136, 8, 0.08);
}

.goal-editor-head strong,
.goal-editor-head span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.goal-editor-head span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
}

.goal-editor-row {
  display: grid;
  grid-template-columns: 0.7fr 0.9fr 1.2fr;
  gap: 8px;
  align-items: center;
  padding: 9px 12px;
  border-top: 1px solid rgba(7, 87, 184, 0.08);
  font-size: 0.86rem;
}

.goal-editor-row strong {
  font-variant-numeric: tabular-nums;
}

.goal-editor-row input {
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(7, 87, 184, 0.16);
  border-radius: 8px;
  font: inherit;
  font-variant-numeric: tabular-nums;
}

.goal-editor-header {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.stroke-goal-matrix-card {
  border-top: 4px solid var(--green);
}

.stroke-goal-matrix {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.stroke-goal-block {
  overflow: hidden;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
}

.stroke-goal-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 12px;
  background: rgba(7, 87, 184, 0.07);
}

.stroke-goal-head strong,
.stroke-goal-head span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stroke-goal-head span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
}

.stroke-goal-row {
  display: grid;
  grid-template-columns: 0.7fr 1fr 1fr 0.8fr;
  gap: 8px;
  align-items: center;
  padding: 9px 12px;
  border-top: 1px solid rgba(7, 87, 184, 0.08);
  font-size: 0.86rem;
}

.stroke-goal-header {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.stroke-goal-row strong,
.stroke-goal-row em {
  font-style: normal;
  font-variant-numeric: tabular-nums;
}

.stroke-goal-row em {
  color: #b42318;
  font-weight: 900;
}

.stroke-goal-row em.is-on-target {
  color: var(--green);
}

@media (max-width: 760px) {
  .goal-editor-grid,
  .stroke-goal-matrix {
    grid-template-columns: 1fr;
  }

  .goal-editor-row {
    grid-template-columns: 0.6fr 0.8fr 1fr;
    padding: 8px 10px;
  }
}

/* AI-only video analysis mode: keep this tab focused on fault detection, correction, report, and coach notes. */
#videoScreen .video-subnav,
#videoScreen .elite-video-lab,
#videoScreen .video-transport,
#videoScreen .analysis-subhead,
#videoScreen #videoCueList,
#videoScreen details.simple-details,
#videoScreen .video-marker-details,
#videoScreen .video-biomechanics-panel,
#videoScreen .before-after-video-card,
#videoScreen .saved-reviews-card {
  display: none !important;
}

#videoScreen .video-command-card,
#videoScreen .video-card,
#videoScreen .ai-fault-panel,
#videoScreen .video-report-card {
  display: block !important;
}

#videoScreen .grid.two {
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
}

#videoScreen .video-card video {
  min-height: 240px;
  border-radius: 8px;
  background: #071c34;
}

#videoScreen .ai-fault-panel {
  border-top: 4px solid var(--green);
}

#videoScreen .video-report-card {
  border-top: 4px solid var(--chakra);
}

@media (max-width: 760px) {
  #videoScreen .grid.two {
    grid-template-columns: 1fr;
  }
}

/* v139 final override: show before/after video comparison and simplify Health. */
#videoScreen .before-after-video-card {
  display: block !important;
}

#performanceScreen .sports-science-command,
#performanceScreen .biomechanics-panel,
#performanceScreen .wearable-device-grid,
#performanceScreen .wearable-note,
#performanceScreen .wearable-format,
#performanceScreen .wearable-history,
#performanceScreen .wearable-intelligence-panel,
#performanceScreen .science-grid.mental-grid,
#performanceScreen .pillar-note,
#performanceScreen .stroke-biomechanics-matrix,
#performanceScreen .biomechanics-skills,
#performanceScreen .pdf-biomechanics {
  display: none !important;
}

#performanceScreen .elite-health-command,
#performanceScreen .wearable-sync-hub,
#performanceScreen .mental-fitness-panel,
#performanceScreen .nutrition-planner {
  display: block !important;
}

/* v142: AI pose overlay and body-line scoring. */
.video-overlay-stage {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: #071c34;
  margin: 12px 0 8px;
}

.video-overlay-stage video {
  display: block;
  width: 100%;
  margin: 0 !important;
  border-radius: 8px;
}

#poseOverlayCanvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

.pose-overlay-toolbar {
  display: grid;
  grid-template-columns: auto minmax(140px, 1fr) 1.2fr;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
}

.pose-overlay-toolbar span {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 850;
}

.pose-overlay-toolbar select {
  min-height: 42px;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0 10px;
  color: var(--navy);
  font-weight: 850;
}

.pose-score-card {
  border-top: 4px solid var(--saffron);
}

.pose-score-grid,
.pose-coach-grid {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.pose-score-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.pose-coach-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pose-score-grid > div,
.pose-coach-grid > div {
  padding: 12px;
  border: 1px solid rgba(255, 153, 51, 0.2);
  border-radius: 8px;
  background: rgba(255, 250, 242, 0.94);
}

.pose-score-grid span,
.pose-coach-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.pose-score-grid strong,
.pose-coach-grid strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  line-height: 1.25;
}

.pose-coach-grid p {
  margin-top: 6px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

@media (max-width: 760px) {
  .pose-score-grid,
  .pose-coach-grid,
  .pose-overlay-toolbar {
    grid-template-columns: 1fr;
  }
}

/* v190: keep every video-player control inside the player. */
#videoScreen .advanced-video-player {
  min-height: 370px !important;
}

#videoScreen .video-phase-strip {
  bottom: 126px !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

#videoScreen .video-marker-rail {
  bottom: 112px !important;
}

#videoScreen .advanced-player-controls {
  left: 10px;
  right: 10px;
  bottom: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(104px, 1fr) !important;
  gap: 6px;
  max-width: calc(100% - 20px);
  box-sizing: border-box;
}

#videoScreen .advanced-player-controls .icon-control {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding: 0 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#videoScreen .advanced-player-controls strong {
  grid-column: 1 / -1;
  justify-self: start;
}

@media (max-width: 760px) {
  #videoScreen .advanced-video-player {
    min-height: 350px !important;
  }

  #videoScreen .video-phase-strip {
    bottom: 150px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #videoScreen .video-marker-rail {
    bottom: 136px !important;
  }

  #videoScreen .advanced-player-controls {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #videoScreen .advanced-player-controls .icon-control {
    min-height: 34px;
    font-size: 0.72rem;
  }
}

/* v187: advanced swimming analysis player. */
#videoScreen .advanced-video-player {
  min-height: 292px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 42px rgba(7, 28, 52, 0.28);
}

.video-player-hud,
.advanced-player-controls,
.video-phase-strip,
.video-marker-rail {
  position: absolute;
  z-index: 4;
}

.video-player-hud {
  top: 10px;
  left: 10px;
  right: 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  pointer-events: none;
}

.video-player-hud > div,
.advanced-player-controls,
.video-phase-strip button {
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  background: rgba(7, 28, 52, 0.76);
  color: #fff;
  backdrop-filter: blur(12px);
}

.video-player-hud > div {
  min-width: 0;
  padding: 9px 10px;
}

.video-player-hud span,
.video-phase-strip span {
  display: block;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.video-player-hud strong {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.9rem;
  line-height: 1.2;
}

.video-phase-strip {
  left: 10px;
  right: 10px;
  bottom: 70px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.video-phase-strip button {
  min-width: 0;
  min-height: 46px;
  padding: 7px 8px;
  text-align: left;
}

.video-phase-strip button.is-priority {
  border-color: rgba(255, 153, 51, 0.78);
  box-shadow: inset 0 -3px 0 var(--saffron);
}

.video-phase-strip strong {
  display: block;
  margin-top: 3px;
  color: #fff;
  font-size: 0.86rem;
  font-variant-numeric: tabular-nums;
}

.video-marker-rail {
  left: 10px;
  right: 10px;
  bottom: 58px;
  height: 12px;
}

.video-rail-track {
  position: absolute;
  top: 5px;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
}

.video-rail-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--saffron), var(--green));
}

.video-rail-marker {
  position: absolute;
  top: 0;
  width: 12px;
  height: 12px;
  transform: translateX(-50%);
  border: 2px solid white;
  border-radius: 999px;
  background: var(--saffron);
  box-shadow: 0 0 0 3px rgba(255, 153, 51, 0.22);
}

.advanced-player-controls {
  left: 10px;
  right: 10px;
  bottom: 10px;
  display: grid;
  grid-template-columns: repeat(8, minmax(54px, auto)) minmax(86px, 1fr);
  gap: 7px;
  align-items: center;
  padding: 8px;
}

.advanced-player-controls .icon-control {
  min-height: 38px;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 0.78rem;
}

.advanced-player-controls strong {
  justify-self: end;
  color: #fff;
  font-size: 0.84rem;
  font-variant-numeric: tabular-nums;
}

.video-player-timeline {
  display: grid;
  gap: 8px;
  margin: 10px 0;
}

.video-player-timeline button {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 8px 10px;
  align-items: center;
  min-height: 50px;
  padding: 10px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(248, 252, 255, 0.94);
  text-align: left;
}

.video-player-timeline span {
  color: var(--chakra);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.video-player-timeline strong {
  overflow: hidden;
  color: var(--navy);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.video-player-timeline small {
  grid-column: 2;
  color: var(--muted);
  font-weight: 800;
}

.correction-loop-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 8px;
  align-items: stretch;
  margin-top: 10px;
}

.correction-loop-card > div {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(19, 136, 8, 0.16);
  border-radius: 8px;
  background: rgba(247, 255, 249, 0.92);
}

.correction-loop-card span {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.correction-loop-card strong {
  display: block;
  margin-top: 5px;
  overflow: hidden;
  color: var(--navy);
  line-height: 1.22;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.correction-loop-card button {
  min-height: 100%;
  padding: 0 12px;
}

@media (max-width: 760px) {
  #videoScreen .advanced-video-player {
    min-height: 250px;
  }

  .video-player-hud {
    grid-template-columns: 1fr;
  }

  .video-player-hud > div:last-child {
    display: none;
  }

  .video-phase-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    bottom: 104px;
  }

  .video-phase-strip button:nth-child(n + 3) {
    display: none;
  }

  .video-marker-rail {
    bottom: 92px;
  }

  .advanced-player-controls {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .advanced-player-controls strong {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .video-player-timeline button,
  .correction-loop-card {
    grid-template-columns: 1fr;
  }

  .video-player-timeline small {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .proof-loop-strip,
  .meet-prep-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .proof-loop-strip,
  .meet-prep-grid {
    grid-template-columns: 1fr;
  }
}

/* v172: compact sports-lab video workflow and easier coach profile access. */
.section-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.compact-command {
  min-height: 34px;
  padding: 7px 11px;
  font-size: 0.8rem;
}

#videoScreen .swim-sports-lab-card {
  display: block !important;
  border-top: 4px solid var(--chakra);
  background:
    linear-gradient(135deg, rgba(7, 87, 184, 0.1), rgba(255, 255, 255, 0.96) 48%, rgba(19, 136, 8, 0.08)),
    var(--surface);
}

.sports-lab-head,
.sports-lab-action {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.sports-lab-head h3 {
  margin: 3px 0 0;
  color: var(--navy);
}

.sports-lab-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.sports-lab-grid > div {
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.sports-lab-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.sports-lab-grid strong,
.sports-lab-action strong {
  display: block;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.9rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sports-lab-action .primary {
  flex: 0 0 auto;
  min-height: 36px;
}

@media (max-width: 760px) {
  .section-actions,
  .sports-lab-head,
  .sports-lab-action {
    align-items: stretch;
    flex-direction: column;
  }

  .sports-lab-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* v174: visible video marker graph. */
.video-marker-graph {
  margin: 10px 0;
  padding: 10px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(240, 248, 255, 0.88));
}

.marker-graph-track {
  position: relative;
  height: 42px;
  border-bottom: 4px solid rgba(7, 87, 184, 0.18);
}

.marker-graph-start,
.marker-graph-end {
  position: absolute;
  top: 0;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
}

.marker-graph-start {
  left: 0;
}

.marker-graph-end {
  right: 0;
}

.marker-dot {
  position: absolute;
  bottom: -10px;
  width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  border: 3px solid white;
  border-radius: 999px;
  background: var(--saffron);
  box-shadow: 0 6px 14px rgba(7, 31, 56, 0.18);
  transform: translateX(-50%);
}

.marker-graph-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}

.marker-graph-labels span {
  padding: 5px 7px;
  border-radius: 999px;
  background: rgba(7, 87, 184, 0.08);
  color: var(--navy);
  font-size: 0.72rem;
  font-weight: 900;
}

/* v176: AI technique heatmap graph. */
.ai-technique-heatmap {
  display: grid;
  gap: 7px;
  margin: 10px 0 12px;
}

.heatmap-row {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) 56px 54px;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.heatmap-row span,
.heatmap-row em {
  color: var(--muted);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
}

.heatmap-row strong {
  color: var(--navy);
  font-size: 0.82rem;
  font-weight: 950;
  text-align: right;
}

.heatmap-bar {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(7, 87, 184, 0.1);
}

.heatmap-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.heatmap-row.good .heatmap-bar i {
  background: var(--green);
}

.heatmap-row.watch .heatmap-bar i {
  background: var(--saffron);
}

.heatmap-row.risk .heatmap-bar i {
  background: var(--coral);
}

.video-verdict-card {
  display: block !important;
  border-top: 4px solid var(--chakra);
  background:
    linear-gradient(135deg, rgba(7, 87, 184, 0.1), rgba(255, 255, 255, 0.96) 50%, rgba(19, 136, 8, 0.08)),
    var(--surface);
}

.video-verdict-main {
  display: grid;
  gap: 4px;
  margin-bottom: 10px;
}

.video-verdict-main span,
.video-verdict-grid span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.video-verdict-main strong {
  color: var(--navy);
  font-size: 1rem;
  line-height: 1.25;
}

.video-verdict-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.video-verdict-grid > div {
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.video-verdict-grid strong {
  display: block;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.86rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.video-world-class-card {
  display: block !important;
  border: 1px solid rgba(7, 87, 184, 0.14);
  border-left: 4px solid var(--green);
  background:
    linear-gradient(135deg, rgba(255, 153, 51, 0.08), rgba(255, 255, 255, 0.96) 48%, rgba(7, 87, 184, 0.08)),
    var(--surface);
}

.world-video-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.world-video-grid > div {
  min-width: 0;
  padding: 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(7, 87, 184, 0.12);
}

.world-video-grid span,
.world-video-missing span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.world-video-grid strong {
  display: block;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.9rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-video-missing {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.world-video-missing span,
.world-video-missing strong {
  padding: 7px 9px;
  border-radius: 999px;
  background: rgba(7, 87, 184, 0.08);
  color: var(--navy);
}

.world-video-missing strong {
  font-size: 0.82rem;
  font-weight: 950;
}

.world-video-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.world-video-toolkit {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 6px;
  margin-top: 10px;
}

.world-video-toolkit button {
  min-height: 36px;
  padding: 6px;
  font-size: 0.72rem;
  white-space: nowrap;
}

.world-video-next {
  margin: 8px 0 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(19, 136, 8, 0.08);
  color: var(--navy);
  font-size: 0.86rem;
  font-weight: 850;
}

.video-snapshot-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
  padding: 9px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.video-snapshot-panel span {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.video-snapshot-panel strong {
  color: var(--navy);
  font-size: 0.95rem;
  font-weight: 950;
}

.video-snapshot-list {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.video-snapshot-list > p {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
}

.video-snapshot-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 7px;
  border-radius: 8px;
  background: rgba(7, 87, 184, 0.06);
}

.video-snapshot-row strong,
.video-snapshot-row span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.video-snapshot-row strong {
  color: var(--navy);
  font-size: 0.84rem;
}

.video-snapshot-row span {
  color: var(--muted);
  font-size: 0.76rem;
}

.snapshot-time {
  border: 0;
  border-radius: 999px;
  background: var(--chakra);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 950;
  padding: 7px 9px;
}

.video-retest-panel {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding: 9px;
  border-radius: 8px;
  border: 1px solid rgba(19, 136, 8, 0.16);
  background: rgba(19, 136, 8, 0.06);
}

.video-weakness-map {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding: 9px;
  border-radius: 8px;
  border: 1px solid rgba(255, 153, 51, 0.22);
  background: rgba(255, 153, 51, 0.08);
}

.video-split-optimizer {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding: 9px;
  border-radius: 8px;
  border: 1px solid rgba(7, 87, 184, 0.18);
  background: rgba(7, 87, 184, 0.07);
}

.video-retest-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.video-retest-head span,
.video-retest-grid span,
.video-weakness-grid span,
.video-split-grid span,
.video-split-plan span {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.video-retest-head strong {
  color: var(--navy);
  font-size: 0.95rem;
  font-weight: 950;
}

.video-retest-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.video-weakness-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.video-split-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.video-retest-grid > div,
.video-weakness-grid > div,
.video-split-grid > div {
  min-width: 0;
  padding: 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.video-retest-grid strong,
.video-weakness-grid strong,
.video-split-grid strong {
  display: block;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.78rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.video-weakness-plan {
  display: grid;
  gap: 6px;
}

.video-weakness-plan span {
  padding: 7px 9px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  color: var(--navy);
  font-size: 0.8rem;
  font-weight: 850;
}

.video-split-plan {
  display: grid;
  gap: 6px;
}

.video-split-plan > div {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 7px 9px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.video-split-plan strong,
.video-split-plan em {
  display: block;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.video-split-plan em {
  color: var(--muted);
  font-weight: 800;
}

@media (max-width: 760px) {
  .heatmap-row {
    grid-template-columns: 76px minmax(0, 1fr) 48px;
  }

  .heatmap-row em {
    display: none;
  }

  .video-verdict-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .world-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .world-video-actions {
    grid-template-columns: 1fr;
  }

  .world-video-toolkit {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .world-video-toolkit button {
    font-size: 0.68rem;
  }

  .video-snapshot-panel,
  .video-snapshot-row {
    grid-template-columns: 1fr;
  }

  .video-retest-head,
  .video-retest-grid,
  .video-weakness-grid,
  .video-split-grid,
  .video-split-plan > div {
    grid-template-columns: 1fr;
  }
}

/* v166 EOF override: simple-first UI, Advanced restores everything. */
body:not(.show-advanced) .tabbar button[data-screen="developmentScreen"],
body:not(.show-advanced) #homeScreen .olympic-pathway-today-card,
body:not(.show-advanced) #homeScreen .coach-intelligence-card,
body:not(.show-advanced) #homeScreen .reliability-center-card,
body:not(.show-advanced) #homeScreen .role-dashboard-card,
body:not(.show-advanced) #homeScreen .today-action-card,
body:not(.show-advanced) #homeScreen .home-command-hero,
body:not(.show-advanced) #homeScreen .home-overview-grid,
body:not(.show-advanced) #homeScreen .metric-grid,
body:not(.show-advanced) #homeScreen .elite-command-card,
body:not(.show-advanced) #homeScreen .quick-start-card,
body:not(.show-advanced) #homeScreen .setup-guide-card,
body:not(.show-advanced) #homeScreen .pro-standards-card,
body:not(.show-advanced) #homeScreen .athlete-record,
body:not(.show-advanced) #trainingScreen .weakness-workout-card,
body:not(.show-advanced) #trainingScreen .coach-action-plan-card,
body:not(.show-advanced) #trainingScreen .season-planner-card,
body:not(.show-advanced) #trainingScreen .practice-feedback-card,
body:not(.show-advanced) #trainingScreen .attendance-register,
body:not(.show-advanced) #progressScreen > article.card:first-of-type,
body:not(.show-advanced) #progressScreen .elite-progress-command-card,
body:not(.show-advanced) #progressScreen .technique-progress-tracker-card,
body:not(.show-advanced) #progressScreen .improvement-roadmap-card,
body:not(.show-advanced) #progressScreen .olympic-pathway-builder-card,
body:not(.show-advanced) #progressScreen .pb-roadmap-card,
body:not(.show-advanced) #progressScreen .development-timeline-card,
body:not(.show-advanced) #progressScreen .benchmark-lab,
body:not(.show-advanced) #performanceScreen .elite-health-command,
body:not(.show-advanced) #performanceScreen .health-risk-engine-card,
body:not(.show-advanced) #performanceScreen .performance-panel,
body:not(.show-advanced) #performanceScreen .mental-fitness-panel,
body:not(.show-advanced) #performanceScreen .wearable-sync-hub,
body:not(.show-advanced) #performanceScreen .sports-science-command,
body:not(.show-advanced) #performanceScreen .biomechanics-panel,
body:not(.show-advanced) #performanceScreen > article:last-of-type,
body:not(.show-advanced) #biomechanicsScreen .biomechanics-assessment-card,
body:not(.show-advanced) #biomechanicsScreen .mental-assessment-card,
body:not(.show-advanced) #videoScreen .video-assessment-sync-card,
body:not(.show-advanced) #videoScreen .technique-radar-card,
body:not(.show-advanced) #videoScreen .video-race-simulator-card,
body:not(.show-advanced) #videoScreen .video-improvement-proof-card,
body:not(.show-advanced) #videoScreen .elite-video-lab,
body:not(.show-advanced) #videoScreen .video-report-card,
body:not(.show-advanced) #videoScreen .coach-review-room-card,
body:not(.show-advanced) #videoScreen .saved-reviews-card,
body:not(.show-advanced) #videoScreen details.simple-details:not(.video-marker-details),
body:not(.show-advanced) #raceScreen .federation-panel,
body:not(.show-advanced) #raceScreen .race-report-card,
body:not(.show-advanced) #raceScreen .race-pro-panel,
body:not(.show-advanced) #settingsScreen .elite-profile-summary,
body:not(.show-advanced) #settingsScreen .login-card,
body:not(.show-advanced) #settingsScreen .cloud-sync-card,
body:not(.show-advanced) #settingsScreen .athlete-settings,
body:not(.show-advanced) #settingsScreen .coach-profile-settings,
body:not(.show-advanced) #settingsScreen .voice-assistant-panel {
  display: none !important;
}

body:not(.show-advanced) #homeScreen .elite-summary-band,
body:not(.show-advanced) #homeScreen .account-gateway-card,
body:not(.show-advanced) #homeScreen .gold-medal-coach-card,
body:not(.show-advanced) #homeScreen .simple-home-card,
body:not(.show-advanced) #trainingScreen .smart-coach,
body:not(.show-advanced) #trainingScreen .simple-coach-notes-card,
body:not(.show-advanced) #trainingScreen .daily-drill-planner,
body:not(.show-advanced) #timerScreen .timer-card,
body:not(.show-advanced) #timerScreen .split-card,
body:not(.show-advanced) #timerScreen .lane-timer-card,
body:not(.show-advanced) #progressScreen .performance-evidence-lab-card,
body:not(.show-advanced) #progressScreen .stroke-goal-matrix-card,
body:not(.show-advanced) #performanceScreen .health-action-plan-card,
body:not(.show-advanced) #performanceScreen .swimming-mechanics-science-card,
body:not(.show-advanced) #performanceScreen .nutrition-planner,
body:not(.show-advanced) #biomechanicsScreen .assessment-simple-card,
body:not(.show-advanced) #biomechanicsScreen .stroke-diagnosis-card,
body:not(.show-advanced) #videoScreen .video-command-card,
body:not(.show-advanced) #videoScreen .video-setup-card,
body:not(.show-advanced) #videoScreen .video-card,
body:not(.show-advanced) #videoScreen .ai-fault-panel,
body:not(.show-advanced) #videoScreen .technique-prescription-card,
body:not(.show-advanced) #videoScreen .video-review-studio,
body:not(.show-advanced) #videoScreen .video-gold-advanced,
body:not(.show-advanced) #videoScreen .video-compare-advanced,
body:not(.show-advanced) #techniqueScreen .custom-drill-editor,
body:not(.show-advanced) #raceScreen .meet-calendar-card,
body:not(.show-advanced) #raceScreen .race-command-card,
body:not(.show-advanced) #raceScreen .race-simulator-card,
body:not(.show-advanced) #raceScreen .race-checklist-panel,
body:not(.show-advanced) #settingsScreen .profile-manager,
body:not(.show-advanced) #settingsScreen .form-card {
  display: block !important;
}

/* v166 final override: simple view wins over every older upgrade rule. */
body:not(.show-advanced) .tabbar button[data-screen="developmentScreen"],
body:not(.show-advanced) #homeScreen .olympic-pathway-today-card,
body:not(.show-advanced) #homeScreen .coach-intelligence-card,
body:not(.show-advanced) #homeScreen .reliability-center-card,
body:not(.show-advanced) #homeScreen .role-dashboard-card,
body:not(.show-advanced) #homeScreen .today-action-card,
body:not(.show-advanced) #homeScreen .home-command-hero,
body:not(.show-advanced) #homeScreen .home-overview-grid,
body:not(.show-advanced) #homeScreen .metric-grid,
body:not(.show-advanced) #homeScreen .elite-command-card,
body:not(.show-advanced) #homeScreen .quick-start-card,
body:not(.show-advanced) #homeScreen .setup-guide-card,
body:not(.show-advanced) #homeScreen .pro-standards-card,
body:not(.show-advanced) #homeScreen .athlete-record,
body:not(.show-advanced) #trainingScreen .weakness-workout-card,
body:not(.show-advanced) #trainingScreen .coach-action-plan-card,
body:not(.show-advanced) #trainingScreen .season-planner-card,
body:not(.show-advanced) #trainingScreen .practice-feedback-card,
body:not(.show-advanced) #trainingScreen .attendance-register,
body:not(.show-advanced) #progressScreen > article.card:first-of-type,
body:not(.show-advanced) #progressScreen .elite-progress-command-card,
body:not(.show-advanced) #progressScreen .technique-progress-tracker-card,
body:not(.show-advanced) #progressScreen .improvement-roadmap-card,
body:not(.show-advanced) #progressScreen .olympic-pathway-builder-card,
body:not(.show-advanced) #progressScreen .pb-roadmap-card,
body:not(.show-advanced) #progressScreen .development-timeline-card,
body:not(.show-advanced) #progressScreen .benchmark-lab,
body:not(.show-advanced) #performanceScreen .elite-health-command,
body:not(.show-advanced) #performanceScreen .health-risk-engine-card,
body:not(.show-advanced) #performanceScreen .performance-panel,
body:not(.show-advanced) #performanceScreen .mental-fitness-panel,
body:not(.show-advanced) #performanceScreen .wearable-sync-hub,
body:not(.show-advanced) #performanceScreen .sports-science-command,
body:not(.show-advanced) #performanceScreen .biomechanics-panel,
body:not(.show-advanced) #performanceScreen > article:last-of-type,
body:not(.show-advanced) #biomechanicsScreen .biomechanics-assessment-card,
body:not(.show-advanced) #biomechanicsScreen .mental-assessment-card,
body:not(.show-advanced) #videoScreen .video-assessment-sync-card,
body:not(.show-advanced) #videoScreen .technique-radar-card,
body:not(.show-advanced) #videoScreen .video-race-simulator-card,
body:not(.show-advanced) #videoScreen .video-improvement-proof-card,
body:not(.show-advanced) #videoScreen .elite-video-lab,
body:not(.show-advanced) #videoScreen .video-report-card,
body:not(.show-advanced) #videoScreen .coach-review-room-card,
body:not(.show-advanced) #videoScreen .saved-reviews-card,
body:not(.show-advanced) #videoScreen details.simple-details:not(.video-marker-details),
body:not(.show-advanced) #raceScreen .federation-panel,
body:not(.show-advanced) #raceScreen .race-report-card,
body:not(.show-advanced) #raceScreen .race-pro-panel,
body:not(.show-advanced) #settingsScreen .elite-profile-summary,
body:not(.show-advanced) #settingsScreen .login-card,
body:not(.show-advanced) #settingsScreen .cloud-sync-card,
body:not(.show-advanced) #settingsScreen .athlete-settings,
body:not(.show-advanced) #settingsScreen .coach-profile-settings,
body:not(.show-advanced) #settingsScreen .voice-assistant-panel {
  display: none !important;
}

body:not(.show-advanced) #homeScreen .elite-summary-band,
body:not(.show-advanced) #homeScreen .account-gateway-card,
body:not(.show-advanced) #homeScreen .gold-medal-coach-card,
body:not(.show-advanced) #homeScreen .simple-home-card,
body:not(.show-advanced) #trainingScreen .smart-coach,
body:not(.show-advanced) #trainingScreen .simple-coach-notes-card,
body:not(.show-advanced) #trainingScreen .daily-drill-planner,
body:not(.show-advanced) #timerScreen .timer-card,
body:not(.show-advanced) #timerScreen .split-card,
body:not(.show-advanced) #timerScreen .lane-timer-card,
body:not(.show-advanced) #progressScreen .performance-evidence-lab-card,
body:not(.show-advanced) #progressScreen .stroke-goal-matrix-card,
body:not(.show-advanced) #performanceScreen .health-action-plan-card,
body:not(.show-advanced) #performanceScreen .swimming-mechanics-science-card,
body:not(.show-advanced) #performanceScreen .nutrition-planner,
body:not(.show-advanced) #biomechanicsScreen .assessment-simple-card,
body:not(.show-advanced) #biomechanicsScreen .stroke-diagnosis-card,
body:not(.show-advanced) #videoScreen .video-command-card,
body:not(.show-advanced) #videoScreen .video-setup-card,
body:not(.show-advanced) #videoScreen .video-card,
body:not(.show-advanced) #videoScreen .ai-fault-panel,
body:not(.show-advanced) #videoScreen .technique-prescription-card,
body:not(.show-advanced) #videoScreen .video-review-studio,
body:not(.show-advanced) #videoScreen .video-gold-advanced,
body:not(.show-advanced) #videoScreen .video-compare-advanced,
body:not(.show-advanced) #techniqueScreen .custom-drill-editor,
body:not(.show-advanced) #raceScreen .meet-calendar-card,
body:not(.show-advanced) #raceScreen .race-command-card,
body:not(.show-advanced) #raceScreen .race-simulator-card,
body:not(.show-advanced) #raceScreen .race-checklist-panel,
body:not(.show-advanced) #settingsScreen .profile-manager,
body:not(.show-advanced) #settingsScreen .form-card {
  display: block !important;
}

body.show-advanced .tabbar button[data-screen="developmentScreen"] {
  display: inline-flex !important;
}

/* v166: 95% less dense by default. Advanced mode restores the full toolset. */
body:not(.show-advanced) .tabbar button[data-screen="developmentScreen"],
body:not(.show-advanced) #homeScreen .olympic-pathway-today-card,
body:not(.show-advanced) #homeScreen .coach-intelligence-card,
body:not(.show-advanced) #homeScreen .reliability-center-card,
body:not(.show-advanced) #homeScreen .role-dashboard-card,
body:not(.show-advanced) #homeScreen .today-action-card,
body:not(.show-advanced) #homeScreen .home-command-hero,
body:not(.show-advanced) #homeScreen .home-overview-grid,
body:not(.show-advanced) #homeScreen .metric-grid,
body:not(.show-advanced) #homeScreen .elite-command-card,
body:not(.show-advanced) #homeScreen .quick-start-card,
body:not(.show-advanced) #homeScreen .setup-guide-card,
body:not(.show-advanced) #homeScreen .pro-standards-card,
body:not(.show-advanced) #homeScreen .athlete-record,
body:not(.show-advanced) #trainingScreen .weakness-workout-card,
body:not(.show-advanced) #trainingScreen .coach-action-plan-card,
body:not(.show-advanced) #trainingScreen .season-planner-card,
body:not(.show-advanced) #trainingScreen .practice-feedback-card,
body:not(.show-advanced) #trainingScreen .attendance-register,
body:not(.show-advanced) #progressScreen > article.card:first-of-type,
body:not(.show-advanced) #progressScreen .elite-progress-command-card,
body:not(.show-advanced) #progressScreen .technique-progress-tracker-card,
body:not(.show-advanced) #progressScreen .improvement-roadmap-card,
body:not(.show-advanced) #progressScreen .olympic-pathway-builder-card,
body:not(.show-advanced) #progressScreen .pb-roadmap-card,
body:not(.show-advanced) #progressScreen .development-timeline-card,
body:not(.show-advanced) #progressScreen .benchmark-lab,
body:not(.show-advanced) #performanceScreen .elite-health-command,
body:not(.show-advanced) #performanceScreen .health-risk-engine-card,
body:not(.show-advanced) #performanceScreen .performance-panel,
body:not(.show-advanced) #performanceScreen .mental-fitness-panel,
body:not(.show-advanced) #performanceScreen .wearable-sync-hub,
body:not(.show-advanced) #performanceScreen .sports-science-command,
body:not(.show-advanced) #performanceScreen .biomechanics-panel,
body:not(.show-advanced) #performanceScreen > article:last-of-type,
body:not(.show-advanced) #biomechanicsScreen .biomechanics-assessment-card,
body:not(.show-advanced) #biomechanicsScreen .mental-assessment-card,
body:not(.show-advanced) #videoScreen .video-assessment-sync-card,
body:not(.show-advanced) #videoScreen .technique-radar-card,
body:not(.show-advanced) #videoScreen .video-race-simulator-card,
body:not(.show-advanced) #videoScreen .video-improvement-proof-card,
body:not(.show-advanced) #videoScreen .elite-video-lab,
body:not(.show-advanced) #videoScreen .video-report-card,
body:not(.show-advanced) #videoScreen .coach-review-room-card,
body:not(.show-advanced) #videoScreen .saved-reviews-card,
body:not(.show-advanced) #videoScreen details.simple-details:not(.video-marker-details),
body:not(.show-advanced) #raceScreen .federation-panel,
body:not(.show-advanced) #raceScreen .race-report-card,
body:not(.show-advanced) #raceScreen .race-pro-panel,
body:not(.show-advanced) #settingsScreen .elite-profile-summary,
body:not(.show-advanced) #settingsScreen .login-card,
body:not(.show-advanced) #settingsScreen .cloud-sync-card,
body:not(.show-advanced) #settingsScreen .athlete-settings,
body:not(.show-advanced) #settingsScreen .coach-profile-settings,
body:not(.show-advanced) #settingsScreen .voice-assistant-panel {
  display: none !important;
}

body:not(.show-advanced) #homeScreen .elite-summary-band,
body:not(.show-advanced) #homeScreen .account-gateway-card,
body:not(.show-advanced) #homeScreen .gold-medal-coach-card,
body:not(.show-advanced) #homeScreen .simple-home-card,
body:not(.show-advanced) #trainingScreen .smart-coach,
body:not(.show-advanced) #trainingScreen .simple-coach-notes-card,
body:not(.show-advanced) #trainingScreen .daily-drill-planner,
body:not(.show-advanced) #timerScreen .timer-card,
body:not(.show-advanced) #timerScreen .split-card,
body:not(.show-advanced) #timerScreen .lane-timer-card,
body:not(.show-advanced) #progressScreen .performance-evidence-lab-card,
body:not(.show-advanced) #progressScreen .stroke-goal-matrix-card,
body:not(.show-advanced) #performanceScreen .health-action-plan-card,
body:not(.show-advanced) #performanceScreen .swimming-mechanics-science-card,
body:not(.show-advanced) #performanceScreen .nutrition-planner,
body:not(.show-advanced) #biomechanicsScreen .assessment-simple-card,
body:not(.show-advanced) #biomechanicsScreen .stroke-diagnosis-card,
body:not(.show-advanced) #videoScreen .video-command-card,
body:not(.show-advanced) #videoScreen .video-setup-card,
body:not(.show-advanced) #videoScreen .video-card,
body:not(.show-advanced) #videoScreen .ai-fault-panel,
body:not(.show-advanced) #videoScreen .technique-prescription-card,
body:not(.show-advanced) #videoScreen .video-review-studio,
body:not(.show-advanced) #videoScreen .video-gold-advanced,
body:not(.show-advanced) #videoScreen .video-compare-advanced,
body:not(.show-advanced) #techniqueScreen .custom-drill-editor,
body:not(.show-advanced) #raceScreen .meet-calendar-card,
body:not(.show-advanced) #raceScreen .race-command-card,
body:not(.show-advanced) #raceScreen .race-simulator-card,
body:not(.show-advanced) #raceScreen .race-checklist-panel,
body:not(.show-advanced) #settingsScreen .profile-manager,
body:not(.show-advanced) #settingsScreen .form-card {
  display: block !important;
}

body.show-advanced .tabbar button[data-screen="developmentScreen"] {
  display: inline-flex !important;
}

body.show-advanced .screen.is-active > article.card,
body.show-advanced .screen.is-active > details,
body.show-advanced .screen.is-active > .list,
body.show-advanced .screen.is-active > .metric-grid,
body.show-advanced .screen.is-active > .home-overview-grid {
  display: block !important;
}

body.show-advanced .screen.is-active > .grid,
body.show-advanced .screen.is-active > .home-overview-grid,
body.show-advanced .screen.is-active > .metric-grid {
  display: grid !important;
}

body:not(.show-advanced) .topbar-actions .status-chip:nth-of-type(2),
body:not(.show-advanced) .topbar-actions .status-chip:nth-of-type(3),
body:not(.show-advanced) .card-label,
body:not(.show-advanced) .pillar-note,
body:not(.show-advanced) .wearable-note,
body:not(.show-advanced) .wearable-format,
body:not(.show-advanced) .save-status:empty {
  display: none !important;
}

body:not(.show-advanced) p:not(.save-status):not(.empty),
body:not(.show-advanced) small,
body:not(.show-advanced) .record-meta {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

body:not(.show-advanced) .screen > .section-head {
  margin-bottom: 8px;
}

body:not(.show-advanced) .screen > .section-head h2,
body:not(.show-advanced) h3 {
  font-size: clamp(1rem, 2vw, 1.28rem);
  line-height: 1.08;
}

body:not(.show-advanced) #homeScreen,
body:not(.show-advanced) #trainingScreen,
body:not(.show-advanced) #timerScreen,
body:not(.show-advanced) #progressScreen,
body:not(.show-advanced) #performanceScreen,
body:not(.show-advanced) #biomechanicsScreen,
body:not(.show-advanced) #videoScreen,
body:not(.show-advanced) #techniqueScreen,
body:not(.show-advanced) #raceScreen,
body:not(.show-advanced) #settingsScreen {
  gap: 8px;
  max-width: 880px;
}

body:not(.show-advanced) #homeScreen > .card,
body:not(.show-advanced) #trainingScreen > .card,
body:not(.show-advanced) #timerScreen > .card,
body:not(.show-advanced) #progressScreen > .card,
body:not(.show-advanced) #performanceScreen > .card,
body:not(.show-advanced) #biomechanicsScreen > .card,
body:not(.show-advanced) #videoScreen > .card,
body:not(.show-advanced) #techniqueScreen > .card,
body:not(.show-advanced) #raceScreen > .card,
body:not(.show-advanced) #settingsScreen > .card,
body:not(.show-advanced) #trainingScreen > .list,
body:not(.show-advanced) #techniqueScreen > .list {
  margin-bottom: 8px;
  padding: 12px;
}

body:not(.show-advanced) .simple-elite-kpis,
body:not(.show-advanced) .gold-coach-grid,
body:not(.show-advanced) .evidence-lab-grid,
body:not(.show-advanced) .mechanics-science-grid,
body:not(.show-advanced) .health-action-grid,
body:not(.show-advanced) .stroke-goal-matrix,
body:not(.show-advanced) .video-report-grid,
body:not(.show-advanced) .race-command-grid {
  gap: 7px;
}

body:not(.show-advanced) .simple-elite-kpis > div,
body:not(.show-advanced) .gold-coach-grid > div,
body:not(.show-advanced) .evidence-lab-grid > div,
body:not(.show-advanced) .mechanics-science-grid > div,
body:not(.show-advanced) .health-action-grid > div,
body:not(.show-advanced) .stroke-goal-matrix > div,
body:not(.show-advanced) .video-report-grid > div,
body:not(.show-advanced) .race-command-grid > div {
  min-height: 64px;
  padding: 9px;
}

body:not(.show-advanced) button,
body:not(.show-advanced) input,
body:not(.show-advanced) select {
  min-height: 38px;
}

@media (max-width: 760px) {
  body:not(.show-advanced) .topbar {
    gap: 8px;
  }

  body:not(.show-advanced) .topbar-actions {
    gap: 6px;
  }

  body:not(.show-advanced) .command-button {
    padding-inline: 10px;
  }

  body:not(.show-advanced) .tabbar {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

/* v165: ultra-simple default mode. Keep the useful decision cards visible and push dense expert views out of the first view. */
.tabbar button[data-screen="developmentScreen"] {
  display: none !important;
}

#homeScreen .olympic-pathway-today-card,
#homeScreen .coach-intelligence-card,
#homeScreen .reliability-center-card,
#homeScreen .role-dashboard-card,
#homeScreen .today-action-card,
#homeScreen .home-command-hero,
#homeScreen .home-overview-grid,
#homeScreen .metric-grid,
#homeScreen .elite-command-card,
#homeScreen .quick-start-card,
#homeScreen .setup-guide-card,
#homeScreen .pro-standards-card,
#homeScreen .athlete-record,
#progressScreen .elite-progress-command-card,
#progressScreen .technique-progress-tracker-card,
#performanceScreen .health-risk-engine-card,
#performanceScreen .performance-panel,
#performanceScreen .mental-fitness-panel,
#videoScreen .video-assessment-sync-card,
#videoScreen .technique-radar-card,
#videoScreen .video-race-simulator-card,
#videoScreen .video-improvement-proof-card,
#videoScreen .video-report-card,
#videoScreen .coach-review-room-card,
#raceScreen .federation-panel,
#raceScreen .race-report-card,
#raceScreen .race-pro-panel {
  display: none !important;
}

#homeScreen .elite-summary-band,
#homeScreen .account-gateway-card,
#homeScreen .gold-medal-coach-card,
#homeScreen .simple-home-card,
#progressScreen > article.card:first-of-type,
#progressScreen .performance-evidence-lab-card,
#progressScreen .stroke-goal-matrix-card,
#performanceScreen .elite-health-command,
#performanceScreen .health-action-plan-card,
#performanceScreen .swimming-mechanics-science-card,
#performanceScreen .nutrition-planner,
#videoScreen .video-command-card,
#videoScreen .video-setup-card,
#videoScreen .video-card,
#videoScreen .ai-fault-panel,
#videoScreen .technique-prescription-card,
#videoScreen .video-review-studio,
#videoScreen .video-gold-advanced,
#videoScreen .video-compare-advanced,
#raceScreen .meet-calendar-card,
#raceScreen .race-command-card,
#raceScreen .race-simulator-card,
#raceScreen .race-checklist-panel {
  display: block !important;
}

#homeScreen .simple-home-card p,
#homeScreen .gold-medal-coach-card p,
#homeScreen .account-gateway-card p:not(.save-status),
#progressScreen .performance-evidence-lab-card p,
#performanceScreen .elite-health-command p,
#performanceScreen .health-action-plan-card p,
#performanceScreen .swimming-mechanics-science-card p,
#videoScreen .video-command-card p,
#videoScreen .video-setup-card p,
#videoScreen .technique-prescription-card p:not(.save-message),
#raceScreen .meet-calendar-card p,
#raceScreen .race-simulator-card p {
  margin-top: 6px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

#homeScreen .simple-action p,
#homeScreen .card-label,
#progressScreen .card-label,
#performanceScreen .card-label,
#videoScreen .card-label,
#raceScreen .card-label {
  display: none !important;
}

#homeScreen,
#trainingScreen,
#timerScreen,
#progressScreen,
#performanceScreen,
#biomechanicsScreen,
#videoScreen,
#techniqueScreen,
#raceScreen,
#settingsScreen {
  gap: 10px;
}

#homeScreen > .card,
#progressScreen > .card,
#performanceScreen > .card,
#videoScreen > .card,
#raceScreen > .card {
  padding: 14px;
}

.section-head {
  margin-bottom: 10px;
}

.section-head h2,
.section-head h3 {
  line-height: 1.08;
}

.simple-elite-kpis,
.gold-coach-grid,
.evidence-lab-grid,
.mechanics-science-grid,
.health-action-grid {
  gap: 8px;
}

.simple-elite-kpis > div,
.gold-coach-grid > div,
.evidence-lab-grid > div,
.mechanics-science-grid > div,
.health-action-grid > div {
  min-height: 72px;
  padding: 10px;
}

/* v157: app-wide lighter default mode. Keep the daily workflow visible; keep expert tools out of the first view. */
#trainingScreen .weakness-workout-card,
#trainingScreen .coach-action-plan-card,
#trainingScreen .season-planner-card,
#trainingScreen .practice-feedback-card,
#progressScreen > article.card:nth-of-type(5),
#progressScreen .improvement-roadmap-card,
#progressScreen .olympic-pathway-builder-card,
#progressScreen .pb-roadmap-card,
#progressScreen .development-timeline-card,
#progressScreen .benchmark-lab,
#raceScreen .federation-panel,
#raceScreen .race-report-card,
#raceScreen .race-simulator-card,
#raceScreen .race-pro-panel,
#settingsScreen .elite-profile-summary,
#settingsScreen .login-card,
#settingsScreen .cloud-sync-card,
#settingsScreen .athlete-settings,
#settingsScreen .coach-profile-settings,
#settingsScreen label[for="goalText"],
#settingsScreen #goalText,
#settingsScreen label[for="goalSeconds"],
#settingsScreen #goalSeconds,
#settingsScreen label[for="presentSeconds"],
#settingsScreen #presentSeconds,
#settingsScreen label[for="breaststrokeGoalText"],
#settingsScreen #breaststrokeGoalText,
#settingsScreen label[for="breaststrokeGoalSeconds"],
#settingsScreen #breaststrokeGoalSeconds,
#settingsScreen label[for="breaststrokePresentSeconds"],
#settingsScreen #breaststrokePresentSeconds,
#settingsScreen label[for="backstrokeGoalText"],
#settingsScreen #backstrokeGoalText,
#settingsScreen label[for="backstrokeGoalSeconds"],
#settingsScreen #backstrokeGoalSeconds,
#settingsScreen label[for="backstrokePresentSeconds"],
#settingsScreen #backstrokePresentSeconds,
#settingsScreen label[for="butterflyGoalText"],
#settingsScreen #butterflyGoalText,
#settingsScreen label[for="butterflyGoalSeconds"],
#settingsScreen #butterflyGoalSeconds,
#settingsScreen label[for="butterflyPresentSeconds"],
#settingsScreen #butterflyPresentSeconds {
  display: none !important;
}

#trainingScreen .smart-coach,
#trainingScreen .simple-coach-notes-card,
#trainingScreen .daily-drill-planner,
#trainingScreen .attendance-register,
#timerScreen .elite-timer-lab,
#timerScreen .timer-card,
#timerScreen .split-card,
#timerScreen .lane-timer-card,
#progressScreen > article.card:first-of-type,
#progressScreen .elite-progress-command-card,
#progressScreen .technique-progress-tracker-card,
#progressScreen .performance-evidence-lab-card,
#progressScreen .stroke-goal-matrix-card,
#performanceScreen .elite-health-command,
#performanceScreen .health-action-plan-card,
#performanceScreen .health-risk-engine-card,
#biomechanicsScreen .assessment-simple-card,
#biomechanicsScreen .stroke-diagnosis-card,
#videoScreen .video-command-card,
#videoScreen .video-setup-card,
#videoScreen .video-assessment-sync-card,
#videoScreen .video-improvement-proof-card,
#videoScreen .video-card,
#videoScreen .ai-fault-panel,
#videoScreen .video-report-card,
#videoScreen .coach-review-room-card,
#techniqueScreen .custom-drill-editor,
#raceScreen .meet-calendar-card,
#raceScreen > article.card:nth-of-type(4),
#raceScreen .race-checklist-panel,
#settingsScreen .profile-manager,
#settingsScreen .form-card {
  display: block !important;
}

#trainingScreen,
#timerScreen,
#progressScreen,
#performanceScreen,
#biomechanicsScreen,
#videoScreen,
#techniqueScreen,
#raceScreen,
#settingsScreen {
  max-width: 980px;
  margin-inline: auto;
}

#trainingScreen > .card,
#timerScreen > .card,
#progressScreen > .card,
#performanceScreen > .card,
#biomechanicsScreen > .card,
#videoScreen > .card,
#techniqueScreen > .card,
#raceScreen > .card,
#settingsScreen > .card,
#trainingScreen > .list,
#techniqueScreen > .list {
  margin-bottom: 12px;
}

#settingsScreen .form-card {
  display: grid !important;
}

#settingsScreen .profile-search-row,
#settingsScreen .photo-editor,
#settingsScreen .goal-editor-panel {
  display: grid;
}

@media (max-width: 760px) {
  #trainingScreen,
  #timerScreen,
  #progressScreen,
  #performanceScreen,
  #biomechanicsScreen,
  #videoScreen,
  #techniqueScreen,
  #raceScreen,
  #settingsScreen {
    max-width: 100%;
  }
}

/* v160: compact video race simulator plus higher-evidence technique radar. */
#videoScreen .video-race-simulator-card {
  display: block !important;
  border-top: 4px solid var(--green);
  background:
    linear-gradient(135deg, rgba(19, 136, 8, 0.09), rgba(255, 255, 255, 0.96) 48%, rgba(7, 87, 184, 0.08)),
    var(--surface);
}

.video-race-sim-hero,
.video-race-sim-grid {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.video-race-sim-hero {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.video-race-sim-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.video-race-sim-hero > div,
.video-race-sim-grid > div {
  padding: 14px;
  border: 1px solid rgba(19, 136, 8, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 24px rgba(7, 31, 56, 0.06);
}

.video-race-sim-hero span,
.video-race-sim-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.video-race-sim-hero strong,
.video-race-sim-grid strong {
  display: block;
  margin-top: 8px;
  color: var(--navy);
  line-height: 1.28;
}

.video-race-sim-hero p {
  margin-top: 8px;
  color: var(--muted);
  font-weight: 780;
  line-height: 1.35;
}

.video-race-sim-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

@media (max-width: 620px) {
  .video-race-sim-hero,
  .video-race-sim-grid {
    grid-template-columns: 1fr;
  }

  .video-race-sim-actions {
    flex-direction: column;
  }

  .video-race-sim-actions .primary,
  .video-race-sim-actions .secondary {
    width: 100%;
  }
}

/* v158: restore coach profile visibility while keeping the lighter app layout. */
#trainingScreen .coach-full-profile,
#settingsScreen .coach-profile-settings {
  display: block !important;
}

#settingsScreen .coach-profile-settings {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(7, 87, 184, 0.12);
}

@media (max-width: 760px) {
  .home-development-scorecard,
  .home-development-summary,
  .home-retest-strip {
    grid-template-columns: 1fr;
  }

  .home-development-score,
  .home-development-summary > div {
    min-height: auto;
  }

  .home-retest-strip .secondary {
    width: 100%;
  }
}

#videoScreen .video-assessment-sync-card {
  display: block !important;
  border-top: 4px solid var(--green);
  background:
    linear-gradient(135deg, rgba(19, 136, 8, 0.08), rgba(255, 255, 255, 0.96) 42%),
    var(--surface);
}

#videoScreen .video-improvement-proof-card {
  display: block !important;
  border-top: 4px solid var(--chakra);
  background:
    linear-gradient(135deg, rgba(7, 87, 184, 0.08), rgba(255, 255, 255, 0.96) 46%),
    var(--surface);
}

#videoScreen .technique-radar-card {
  display: block !important;
  border-top: 4px solid var(--saffron);
  background:
    linear-gradient(135deg, rgba(255, 153, 51, 0.1), rgba(255, 255, 255, 0.96) 44%, rgba(7, 87, 184, 0.08)),
    var(--surface);
}

#videoScreen .technique-prescription-card {
  display: block !important;
  border-top: 4px solid var(--blue);
  background:
    linear-gradient(135deg, rgba(7, 87, 184, 0.09), rgba(255, 255, 255, 0.97) 44%, rgba(19, 136, 8, 0.06)),
    var(--surface);
}

.technique-prescription-focus {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.technique-prescription-focus > div,
.technique-prescription-days span {
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 22px rgba(7, 31, 56, 0.05);
}

.technique-prescription-focus span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.technique-prescription-focus strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.28;
}

.technique-prescription-days {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.technique-prescription-days span {
  color: var(--navy);
  font-size: 0.9rem;
  font-weight: 900;
  line-height: 1.25;
}

.technique-prescription-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
}

.technique-prescription-footer p {
  margin: 0;
  color: var(--muted);
  font-weight: 820;
  line-height: 1.35;
}

@media (max-width: 760px) {
  .technique-prescription-focus,
  .technique-prescription-days {
    grid-template-columns: 1fr;
  }

  .technique-prescription-footer {
    align-items: stretch;
    flex-direction: column;
  }
}

.technique-radar-hero {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 12px;
  margin-top: 12px;
}

.technique-radar-hero > div,
.technique-radar-grid > div {
  padding: 14px;
  border: 1px solid rgba(255, 153, 51, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 24px rgba(7, 31, 56, 0.06);
}

.technique-radar-hero .radar-score {
  display: grid;
  align-content: center;
  min-height: 132px;
}

.technique-radar-hero span,
.technique-radar-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.technique-radar-hero strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  font-size: 1.05rem;
  line-height: 1.25;
}

.technique-radar-hero .radar-score strong {
  font-size: 2.2rem;
  line-height: 1;
}

.technique-radar-hero em {
  margin-top: 6px;
  color: var(--saffron);
  font-style: normal;
  font-weight: 950;
}

.technique-radar-hero p,
.technique-radar-grid strong {
  display: block;
  margin-top: 8px;
  color: var(--navy);
  line-height: 1.32;
}

.technique-radar-hero p {
  color: var(--muted);
  font-weight: 780;
}

.technique-radar-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.technique-radar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.video-proof-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  margin-top: 12px;
}

.video-proof-hero > div {
  min-height: 116px;
  padding: 14px;
  border: 1px solid rgba(7, 87, 184, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 24px rgba(11, 46, 74, 0.06);
}

.video-proof-hero span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.video-proof-hero strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  font-size: 1.08rem;
  line-height: 1.22;
}

.video-proof-hero p {
  margin-top: 8px;
  color: var(--muted);
  font-weight: 780;
  line-height: 1.35;
}

.video-proof-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.video-assessment-sync-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.video-assessment-sync-grid > div,
.video-assessment-correction {
  min-height: 84px;
  padding: 12px;
  border: 1px solid rgba(19, 136, 8, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 24px rgba(11, 46, 74, 0.06);
}

.video-assessment-sync-grid span,
.video-assessment-correction span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.video-assessment-sync-grid strong,
.video-assessment-correction strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  font-size: 0.96rem;
  line-height: 1.28;
}

.video-assessment-updated {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.video-assessment-updated span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(19, 136, 8, 0.1);
  color: var(--green);
  font-size: 0.78rem;
  font-weight: 900;
}

.video-assessment-updated .empty {
  margin: 0;
  color: var(--muted);
  font-weight: 750;
}

.video-assessment-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

@media (max-width: 900px) {
  .video-assessment-sync-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .video-proof-hero,
  .technique-radar-hero,
  .technique-radar-grid,
  .video-assessment-sync-grid {
    grid-template-columns: 1fr;
  }

  .video-proof-actions,
  .technique-radar-actions,
  .video-assessment-actions {
    flex-direction: column;
  }

  .video-proof-actions .primary,
  .video-proof-actions .secondary,
  .technique-radar-actions .primary,
  .technique-radar-actions .secondary,
  .video-assessment-actions .secondary {
    width: 100%;
  }
}

/* v150: bring back compact AI Setup without restoring dense cue content. */
#videoScreen .video-setup-card {
  display: block !important;
  border-top: 4px solid var(--blue);
}

#videoScreen .grid.two > article:nth-child(2) {
  display: block !important;
  order: -1;
}

#videoScreen .grid.two > article:nth-child(2) h3 {
  margin-bottom: 10px;
}

#videoScreen .analysis-setup {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

#videoScreen .analysis-setup label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

#videoScreen .analysis-setup select {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0 10px;
  color: var(--navy);
  font-weight: 850;
  background: #fff;
}

#videoScreen .analysis-subhead,
#videoScreen #videoCueList {
  display: none !important;
}

@media (max-width: 900px) {
  #videoScreen .analysis-setup {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  #videoScreen .analysis-setup {
    grid-template-columns: 1fr;
  }
}

/* v149: less-dense Video page with Advanced Review Studio. */
#videoScreen .elite-video-lab,
#videoScreen .ai-fault-panel,
#videoScreen .pose-score-card,
#videoScreen .ai-timeline-card,
#videoScreen details.simple-details,
#videoScreen .saved-reviews-card {
  display: none !important;
}

#videoScreen .video-command-card,
#videoScreen .video-card,
#videoScreen .video-report-card,
#videoScreen .coach-review-room-card,
#videoScreen .video-review-studio,
#videoScreen .video-gold-advanced,
#videoScreen .video-compare-advanced {
  display: block !important;
}

#videoScreen .video-review-studio .video-studio-card,
#videoScreen .video-gold-advanced .gold-video-twin-card,
#videoScreen .video-compare-advanced .before-after-video-card {
  display: block !important;
}

#videoScreen .grid.two {
  grid-template-columns: minmax(0, 1fr);
}

#videoScreen .grid.two > article:nth-child(2) {
  display: none !important;
}

.video-studio-card {
  border-top: 4px solid var(--blue);
}

.video-studio-grid,
.video-measure-grid,
.video-measure-output {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.video-studio-grid label,
.video-measure-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.video-studio-grid select,
.video-studio-grid input,
.video-measure-grid input,
.video-rhythm-panel input {
  width: 100%;
  min-height: 42px;
}

.video-studio-actions,
.video-rhythm-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 12px 0;
}

.video-measure-output > div {
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.video-measure-output span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.video-measure-output strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  line-height: 1.3;
}

#poseOverlayCanvas {
  touch-action: none;
}

.video-overlay-stage video,
#poseOverlayCanvas {
  transition: transform 160ms ease;
}

@media (max-width: 900px) {
  .video-studio-grid,
  .video-measure-grid,
  .video-measure-output {
    grid-template-columns: 1fr;
  }

  .video-studio-actions > button,
  .video-rhythm-panel > button {
    width: 100%;
  }
}

/* v145: useful Health, cleaner Progress, stronger Video workflow. */
.health-action-plan-card,
.elite-progress-command-card,
.data-science-engine-card,
.technique-progress-tracker-card,
.performance-evidence-lab-card,
.swimming-mechanics-science-card {
  border-top: 4px solid var(--green);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 255, 250, 0.94));
}

.health-action-grid,
.elite-progress-summary,
.data-science-grid,
.technique-progress-grid,
.evidence-lab-grid,
.mechanics-science-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.technique-progress-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.data-science-hero,
.evidence-lab-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 10px;
  margin-top: 12px;
}

.health-action-grid > div,
.elite-progress-summary > div,
.data-science-grid > div,
.data-science-hero > div,
.technique-progress-grid > div,
.evidence-lab-grid > div,
.evidence-lab-hero > div,
.mechanics-science-grid > div {
  min-height: 92px;
  padding: 12px;
  border: 1px solid rgba(19, 136, 8, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.health-action-grid span,
.elite-progress-summary span,
.data-science-grid span,
.data-science-hero span,
.data-science-limiters span,
.technique-progress-grid span,
.evidence-lab-grid span,
.evidence-lab-hero span,
.mechanics-science-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.health-action-grid strong,
.elite-progress-summary strong,
.data-science-grid strong,
.data-science-hero strong,
.data-science-limiters strong,
.technique-progress-grid strong,
.evidence-lab-grid strong,
.evidence-lab-hero strong,
.mechanics-science-grid strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  font-size: 0.96rem;
  line-height: 1.28;
}

#healthActionCoachNote,
#eliteProgressCoachNote,
#dataScienceCoachNote,
#techniqueProgressCoachNote,
#evidenceLabCoachNote,
#mechanicsScienceCoachNote {
  margin: 8px 0 0;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.45;
}

.health-action-buttons,
.elite-progress-actions,
.technique-progress-actions,
.evidence-lab-actions,
.mechanics-science-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.evidence-lab-hero p,
.data-science-hero p,
.data-science-score em,
.evidence-lab-score em {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-style: normal;
  font-weight: 820;
  line-height: 1.35;
}

.data-science-score strong,
.evidence-lab-score strong {
  font-size: 1.8rem;
  line-height: 1;
}

.data-science-limiters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.data-science-limiters > div {
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(7, 87, 184, 0.06);
}

.data-science-limiters em {
  display: block;
  overflow: hidden;
  color: var(--muted);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .technique-progress-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

#performanceScreen .wearable-sync-hub,
#performanceScreen .sports-science-command,
#performanceScreen .biomechanics-panel,
#performanceScreen > article:last-of-type {
  display: none !important;
}

#performanceScreen .elite-health-command,
#performanceScreen .health-action-plan-card,
#performanceScreen .health-risk-engine-card,
#performanceScreen .swimming-mechanics-science-card,
#performanceScreen .performance-panel,
#performanceScreen .mental-fitness-panel,
#performanceScreen .nutrition-planner {
  display: block !important;
}

#performanceScreen .mental-fitness-panel .pillar-note,
#performanceScreen .mental-fitness-panel .science-grid {
  display: none !important;
}

#progressScreen .olympic-pathway-builder-card,
#progressScreen .pb-roadmap-card,
#progressScreen .development-timeline-card,
#progressScreen .benchmark-lab {
  display: none !important;
}

#videoScreen .coach-review-room-card {
  display: block !important;
  border-top: 4px solid var(--green);
}

@media (max-width: 900px) {
  .health-action-grid,
  .elite-progress-summary,
  .data-science-grid,
  .data-science-hero,
  .data-science-limiters,
  .technique-progress-grid,
  .evidence-lab-grid,
  .evidence-lab-hero,
  .mechanics-science-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .technique-progress-grid,
  .data-science-grid,
  .data-science-hero,
  .data-science-limiters,
  .evidence-lab-grid,
  .evidence-lab-hero,
  .mechanics-science-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .health-action-grid,
  .elite-progress-summary,
  .health-action-buttons,
  .elite-progress-actions {
    grid-template-columns: 1fr;
  }

  .health-action-buttons > button,
  .elite-progress-actions > button {
    width: 100%;
  }
}

/* v146: Simple by default, Advanced when needed. */
.advanced-section {
  margin: 14px 0;
  border: 1px solid rgba(7, 87, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  overflow: hidden;
}

.advanced-section > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 14px 16px;
  color: var(--navy);
  cursor: pointer;
  list-style: none;
}

.advanced-section > summary::-webkit-details-marker {
  display: none;
}

.advanced-section > summary span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.advanced-section > summary strong {
  font-size: 0.98rem;
  line-height: 1.25;
  text-align: right;
}

.advanced-section > summary::after {
  content: "+";
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(7, 87, 184, 0.1);
  color: var(--blue);
  font-weight: 950;
}

.advanced-section[open] > summary::after {
  content: "-";
}

.advanced-section > .card {
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 0;
  box-shadow: none;
}

.assessment-simple-card {
  border-top: 4px solid var(--saffron);
}

.assessment-simple-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.assessment-simple-grid > div {
  padding: 12px;
  border: 1px solid rgba(255, 153, 51, 0.18);
  border-radius: 8px;
  background: rgba(255, 250, 242, 0.94);
}

.assessment-simple-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.assessment-simple-grid strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  line-height: 1.28;
}

#performanceScreen .health-advanced-section[open] .wearable-sync-hub,
#performanceScreen .health-advanced-section[open] .wearable-note,
#performanceScreen .health-advanced-section[open] .wearable-format,
#performanceScreen .health-advanced-section[open] .wearable-history,
#performanceScreen .health-advanced-section[open] .wearable-intelligence-panel {
  display: block !important;
}

#performanceScreen .health-advanced-section[open] .wearable-device-grid,
#performanceScreen .health-advanced-section[open] .wearable-import-grid,
#performanceScreen .health-advanced-section[open] .wearable-sim-grid,
#performanceScreen .health-advanced-section[open] .wearable-insight-summary,
#performanceScreen .health-advanced-section[open] .wearable-intelligence-actions {
  display: grid !important;
}

#biomechanicsScreen .assessment-advanced-section[open] .biomechanics-assessment-card,
#biomechanicsScreen .assessment-advanced-section[open] .mental-assessment-card {
  display: block !important;
}

@media (max-width: 760px) {
  .advanced-section > summary {
    align-items: flex-start;
  }

  .advanced-section > summary strong {
    text-align: left;
  }

  .assessment-simple-grid {
    grid-template-columns: 1fr;
  }
}

/* v147: Swimmer Digital Twin development tab. */
.digital-twin-hero {
  border-top: 4px solid var(--blue);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(239, 248, 255, 0.95));
}

.digital-twin-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 16px;
  align-items: center;
}

.digital-twin-score {
  display: grid;
  place-items: center;
  min-height: 132px;
  border: 1px solid rgba(7, 87, 184, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  text-align: center;
}

.digital-twin-score span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.digital-twin-score strong {
  color: var(--blue);
  font-size: 3rem;
  line-height: 1;
}

.digital-twin-grid,
.digital-twin-plan {
  display: grid;
  gap: 10px;
  margin: 14px 0;
}

.digital-twin-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.digital-twin-plan {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.digital-twin-grid > div,
.digital-twin-plan > div {
  min-height: 94px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.digital-twin-grid span,
.digital-twin-plan span,
.digital-twin-evidence-row span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.digital-twin-grid strong,
.digital-twin-plan strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  line-height: 1.3;
}

.digital-twin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.digital-twin-plan-card {
  border-top: 4px solid var(--green);
}

.digital-twin-evidence-card {
  border-top: 4px solid var(--saffron);
}

.digital-twin-evidence {
  display: grid;
  gap: 8px;
}

.digital-twin-evidence-row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.digital-twin-evidence-row strong {
  color: var(--navy);
  line-height: 1.3;
}

.digital-twin-evidence-row em {
  color: var(--blue);
  font-style: normal;
  font-weight: 900;
}

@media (max-width: 900px) {
  .digital-twin-main,
  .digital-twin-grid,
  .digital-twin-plan,
  .digital-twin-evidence-row {
    grid-template-columns: 1fr;
  }

  .digital-twin-score {
    min-height: 112px;
  }

  .digital-twin-actions > button {
    flex: 1 1 150px;
  }
}

/* v148: Gold Standard Video Twin. */
.gold-video-twin-card {
  border-top: 4px solid var(--saffron);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 242, 0.94));
}

.gold-video-hero,
.gold-video-grid,
.gold-video-phase-map {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.gold-video-hero {
  grid-template-columns: 0.75fr 1.25fr;
}

.gold-video-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gold-video-phase-map {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gold-video-hero > div,
.gold-video-grid > div,
.gold-video-phase-map > div {
  padding: 12px;
  border: 1px solid rgba(255, 153, 51, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.gold-video-phase-map > div.is-priority {
  border-color: rgba(255, 153, 51, 0.55);
  background: rgba(255, 246, 230, 0.98);
}

.gold-video-hero span,
.gold-video-grid span,
.gold-video-phase-map span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.gold-video-hero strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  font-size: 1.4rem;
  line-height: 1.15;
}

.gold-video-grid strong,
.gold-video-phase-map strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  line-height: 1.3;
}

.gold-video-hero p,
.gold-video-phase-map p {
  margin-top: 6px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .gold-video-hero,
  .gold-video-grid,
  .gold-video-phase-map {
    grid-template-columns: 1fr;
  }
}

/* v143: AI video scan to biomechanics assessment auto-fill. */
#autoBiomechStatus {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  margin: 0;
  color: var(--muted);
  font-weight: 850;
  line-height: 1.35;
}

/* v144: AI Coach Review Room. */
.coach-review-room-card {
  border-top: 4px solid var(--green);
}

.coach-review-verdict {
  padding: 14px;
  border: 1px solid rgba(19, 136, 8, 0.18);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(240, 255, 244, 0.96), rgba(255, 255, 255, 0.92));
}

.coach-review-grid,
.coach-review-next-grid {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.coach-review-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.coach-review-next-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.coach-review-verdict span,
.coach-review-grid span,
.coach-review-next-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.coach-review-verdict strong,
.coach-review-next-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.32;
}

.coach-review-verdict p {
  margin-top: 8px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.coach-review-grid > div,
.coach-review-next-grid > div {
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.coach-review-grid ol {
  margin: 10px 0 0;
  padding-left: 20px;
  color: var(--navy);
  font-weight: 800;
  line-height: 1.45;
}

@media (max-width: 760px) {
  .coach-review-grid,
  .coach-review-next-grid {
    grid-template-columns: 1fr;
  }
}

.ai-timeline-card {
  border-top: 4px solid var(--pool);
}

.ai-timeline-summary,
.ai-timeline-detail-grid {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.ai-timeline-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ai-timeline-summary > div,
.ai-timeline-detail-grid > div {
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.ai-timeline-summary span,
.ai-timeline-detail-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ai-timeline-summary strong,
.ai-timeline-detail-grid strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  line-height: 1.3;
}

.ai-stroke-timeline {
  display: grid;
  grid-template-columns: repeat(9, minmax(80px, 1fr));
  gap: 6px;
  overflow-x: auto;
  padding: 8px 0 12px;
}

.ai-timeline-phase {
  min-height: 94px;
  padding: 10px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.94));
}

.ai-timeline-phase.is-priority {
  border-color: rgba(255, 153, 51, 0.6);
  background: linear-gradient(180deg, rgba(255, 250, 242, 1), rgba(255, 255, 255, 0.94));
}

.ai-timeline-phase span,
.ai-timeline-phase strong,
.ai-timeline-phase small {
  display: block;
}

.ai-timeline-phase span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ai-timeline-phase strong {
  margin: 8px 0 4px;
  color: var(--pool);
  font-size: 1.45rem;
  line-height: 1;
}

.ai-timeline-phase small,
.ai-timeline-detail-grid p,
.ai-timeline-detail-grid small {
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.ai-timeline-detail-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 760px) {
  .ai-timeline-summary,
  .ai-timeline-detail-grid,
  .ai-precision-grid,
  .ai-precision-matrix {
    grid-template-columns: 1fr;
  }
}

/* v139: elite video comparison plus lighter Health tab. */
#videoScreen .before-after-video-card {
  display: block !important;
}

.before-after-video-workspace {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0;
}

.compare-video-panel {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.compare-video-panel video {
  width: 100%;
  min-height: 180px;
  border-radius: 8px;
  background: #071c34;
}

.compare-video-panel strong,
.video-compare-ai-actions span {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 850;
  line-height: 1.35;
}

.video-compare-ai-actions {
  display: grid;
  grid-template-columns: minmax(220px, max-content) 1fr;
  gap: 12px;
  align-items: center;
  margin: 12px 0;
}

.direct-video-compare-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.direct-video-compare-grid > div {
  min-height: 104px;
  padding: 12px;
  border: 1px solid rgba(19, 136, 8, 0.16);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(240, 255, 244, 0.96), rgba(255, 255, 255, 0.92));
}

.direct-video-compare-grid span {
  display: block;
  color: var(--green);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.direct-video-compare-grid strong,
.direct-video-compare-grid p {
  display: block;
  margin-top: 7px;
  line-height: 1.32;
}

.direct-video-compare-grid strong {
  color: var(--navy);
}

.direct-video-compare-grid p {
  color: var(--muted);
  font-weight: 750;
}

#performanceScreen .sports-science-command,
#performanceScreen .biomechanics-panel,
#performanceScreen .wearable-device-grid,
#performanceScreen .wearable-note,
#performanceScreen .wearable-format,
#performanceScreen .wearable-history,
#performanceScreen .wearable-intelligence-panel,
#performanceScreen .science-grid.mental-grid,
#performanceScreen .pillar-note,
#performanceScreen .stroke-biomechanics-matrix,
#performanceScreen .biomechanics-skills,
#performanceScreen .pdf-biomechanics {
  display: none !important;
}

#performanceScreen .elite-health-command,
#performanceScreen .wearable-sync-hub,
#performanceScreen .mental-fitness-panel,
#performanceScreen .nutrition-planner {
  display: block !important;
}

#performanceScreen .elite-health-grid,
#performanceScreen .performance-inputs,
#performanceScreen .habit-grid,
#performanceScreen .nutrition-controls {
  gap: 8px;
}

#performanceScreen .card {
  padding: 16px;
}

#performanceScreen .grid.two {
  gap: 12px;
}

@media (max-width: 760px) {
  .before-after-video-workspace,
  .video-compare-ai-actions,
  .direct-video-compare-grid,
  .video-compare-controls,
  .video-compare-summary,
  .video-compare-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .simple-action-grid,
  .simple-elite-kpis,
  #trainingScreen .coach-controls,
  #trainingScreen .daily-drill-controls,
  #performanceScreen .performance-inputs,
  #performanceScreen .wearable-import-grid,
  #performanceScreen .wearable-device-grid,
  #raceScreen .meet-entry-grid,
  #raceScreen .race-command-grid,
  #settingsScreen .profile-create {
    grid-template-columns: 1fr;
  }

  .simple-action {
    min-height: 96px;
  }

  #timerScreen .timer-actions {
    position: sticky;
    bottom: 58px;
    z-index: 5;
    padding: 8px;
    border: 1px solid rgba(7, 87, 184, 0.12);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
  }
}

/* Final AI-only video analysis override. This must stay last so older video lab rules cannot reappear. */
#videoScreen .video-subnav,
#videoScreen .elite-video-lab,
#videoScreen .video-transport,
#videoScreen .analysis-subhead,
#videoScreen #videoCueList,
#videoScreen details.simple-details,
#videoScreen .video-marker-details,
#videoScreen .video-biomechanics-panel,
#videoScreen .before-after-video-card,
#videoScreen .saved-reviews-card {
  display: none !important;
}

#videoScreen .video-command-card,
#videoScreen .video-card,
#videoScreen .ai-fault-panel,
#videoScreen .video-report-card {
  display: block !important;
}

#videoScreen .grid.two {
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
}

#videoScreen .video-card video {
  min-height: 240px;
  border-radius: 8px;
  background: #071c34;
}

#videoScreen .ai-fault-panel {
  border-top: 4px solid var(--green);
}

#videoScreen .video-report-card {
  border-top: 4px solid var(--chakra);
}

@media (max-width: 760px) {
  #videoScreen .grid.two {
    grid-template-columns: 1fr;
  }
}

/* Final AI-only video analysis override. This must stay last so older video lab rules cannot reappear. */
#videoScreen .video-subnav,
#videoScreen .elite-video-lab,
#videoScreen .video-transport,
#videoScreen .analysis-subhead,
#videoScreen #videoCueList,
#videoScreen details.simple-details,
#videoScreen .video-marker-details,
#videoScreen .video-biomechanics-panel,
#videoScreen .before-after-video-card,
#videoScreen .saved-reviews-card {
  display: none !important;
}

#videoScreen .video-command-card,
#videoScreen .video-card,
#videoScreen .ai-fault-panel,
#videoScreen .video-report-card {
  display: block !important;
}

#videoScreen .grid.two {
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
}

#videoScreen .video-card video {
  min-height: 240px;
  border-radius: 8px;
  background: #071c34;
}

#videoScreen .ai-fault-panel {
  border-top: 4px solid var(--green);
}

#videoScreen .video-report-card {
  border-top: 4px solid var(--chakra);
}

@media (max-width: 760px) {
  #videoScreen .grid.two {
    grid-template-columns: 1fr;
  }
}

#biomechanicsScreen .mental-assessment-card {
  display: block !important;
  border-top: 4px solid var(--green);
}

/* Elite Simple Mode: coach-first, mobile-first, low-density daily workflow. */
.screen {
  scroll-margin-top: 20px;
}

.screen > .section-head {
  margin-bottom: 12px;
  padding: 12px 0 4px;
  border-bottom: 1px solid rgba(7, 87, 184, 0.08);
}

.screen > .section-head h2 {
  letter-spacing: 0;
}

.screen > .card,
.screen > .grid.two,
.screen > .list,
.simple-home-card {
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(7, 28, 52, 0.08);
}

.simple-home-card {
  border-top: 4px solid var(--chakra);
}

.simple-home-head {
  align-items: start;
}

.simple-action-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.simple-action {
  min-height: 118px;
  align-content: start;
}

.simple-action strong {
  font-size: 1rem;
}

.simple-action p {
  line-height: 1.32;
}

.simple-next-step {
  border-left: 4px solid var(--green);
  background: rgba(19, 136, 8, 0.08);
}

#trainingScreen .smart-coach,
#timerScreen .timer-card,
#progressScreen > article:first-of-type,
#performanceScreen .performance-panel,
#biomechanicsScreen .biomechanics-assessment-card,
#videoScreen .video-card,
#techniqueScreen .custom-drill-editor,
#raceScreen .meet-calendar-card,
#settingsScreen .profile-manager,
#settingsScreen .form-card {
  border-top: 4px solid var(--chakra);
}

#trainingScreen .attendance-table,
#trainingScreen .coach-full-profile,
#trainingScreen .coach-metrics,
#trainingScreen #workoutList,
#timerScreen .elite-timer-lab,
#progressScreen .benchmark-lab,
#performanceScreen .sports-science-command,
#performanceScreen .mental-fitness-panel,
#performanceScreen .biomechanics-panel,
#performanceScreen > article:last-of-type,
#videoScreen .elite-video-lab,
#videoScreen .video-biomechanics-panel,
#videoScreen details.simple-details:not(.video-marker-details),
#videoScreen .saved-reviews-card,
#raceScreen .federation-panel,
#raceScreen .race-pro-panel,
#settingsScreen .login-card,
#settingsScreen .elite-profile-summary,
#settingsScreen .athlete-settings,
#settingsScreen .voice-assistant-panel {
  display: none;
}

#trainingScreen .daily-drill-planner,
#trainingScreen .attendance-register,
#performanceScreen .wearable-sync-hub,
#raceScreen .race-checklist-panel,
#settingsScreen .cloud-sync-card,
#settingsScreen .coach-profile-settings {
  border-top: 4px solid var(--green);
}

#trainingScreen .coach-controls,
#trainingScreen .daily-drill-controls,
#performanceScreen .performance-inputs,
#performanceScreen .wearable-import-grid,
#raceScreen .meet-entry-grid,
#raceScreen .race-command-grid,
#settingsScreen .profile-create {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#performanceScreen .wearable-device-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#performanceScreen .bluetooth-sync-panel,
#performanceScreen .wearable-history {
  margin-top: 12px;
}

#performanceScreen .wearable-format,
#performanceScreen .wearable-note {
  font-size: 0.86rem;
  line-height: 1.38;
}

#settingsScreen .coach-edit-grid {
  grid-template-columns: 1fr;
}

#settingsScreen .coach-edit-row {
  padding: 12px;
}

#settingsScreen .coach-edit-row textarea {
  min-height: 82px;
}

#timerScreen .timer-card {
  text-align: center;
}

#timerScreen .timer-readout {
  font-size: clamp(3rem, 10vw, 6.6rem);
}

#timerScreen .lane-timer-card {
  border-top: 4px solid var(--green);
}

#progressScreen canvas {
  max-height: 260px;
}

#videoScreen .grid.two {
  align-items: start;
}

#videoScreen .ai-fault-panel,
#videoScreen .video-marker-details {
  border-top: 4px solid var(--green);
}

#techniqueScreen #drillList {
  display: grid;
  gap: 10px;
}

#raceScreen .race-command-card {
  min-height: auto;
}

@media (max-width: 760px) {
  .simple-action-grid,
  #trainingScreen .coach-controls,
  #trainingScreen .daily-drill-controls,
  #performanceScreen .performance-inputs,
  #performanceScreen .wearable-import-grid,
  #performanceScreen .wearable-device-grid,
  #raceScreen .meet-entry-grid,
  #raceScreen .race-command-grid,
  #settingsScreen .profile-create {
    grid-template-columns: 1fr;
  }

  .simple-action {
    min-height: 96px;
  }

  #timerScreen .timer-actions {
    position: sticky;
    bottom: 58px;
    z-index: 5;
    padding: 8px;
    border: 1px solid rgba(7, 87, 184, 0.12);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
  }

  #settingsScreen .photo-editor,
  #settingsScreen .coach-photo-editor {
    grid-template-columns: 1fr;
  }
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--navy);
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 153, 51, 0.14), transparent 28%),
    radial-gradient(circle at 82% 4%, rgba(19, 136, 8, 0.12), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f4fbff 42%, #eef8f4 100%);
  min-height: 100vh;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(7, 87, 184, 0.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(7, 87, 184, 0.035) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.8), transparent 72%);
}

body.high-contrast {
  --surface: #ffffff;
  --muted: #21374d;
  --border: rgba(7, 31, 56, 0.28);
}

button,
input,
select {
  font: inherit;
}

button {
  border: 0;
  cursor: pointer;
}

.app-shell {
  width: min(1240px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  padding: 20px 20px 108px;
}

.topbar,
.section-head,
.brand,
.timer-actions,
.segmented,
.tabbar,
.compact-row {
  display: flex;
  align-items: center;
}

.topbar {
  justify-content: space-between;
  gap: 16px;
  position: sticky;
  top: 12px;
  z-index: 20;
  margin-bottom: 18px;
  padding: 15px 16px;
  overflow: hidden;
  border: 1px solid rgba(7, 87, 184, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(18px);
  box-shadow: var(--shadow);
}

.topbar::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--saffron) 0 33.33%, white 33.33% 66.66%, var(--green) 66.66% 100%);
}

.brand {
  gap: 12px;
  min-width: 0;
}

.topbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.status-chip {
  display: grid;
  gap: 2px;
  min-width: 104px;
  min-height: 46px;
  padding: 8px 10px;
  border: 1px solid rgba(7, 87, 184, 0.15);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(245, 251, 255, 0.78));
}

.status-chip span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.status-chip strong {
  color: var(--navy);
  font-size: 0.88rem;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.command-button {
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid rgba(7, 87, 184, 0.18);
  border-radius: 8px;
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--pool));
  box-shadow: 0 10px 20px rgba(7, 87, 184, 0.18);
  font-weight: 950;
}

.command-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: start center;
  padding: max(18px, env(safe-area-inset-top)) 14px 14px;
  background: rgba(7, 28, 52, 0.34);
  backdrop-filter: blur(10px);
}

.command-overlay[hidden] {
  display: none;
}

.command-center {
  width: min(760px, 100%);
  max-height: min(760px, calc(100vh - 28px));
  overflow: auto;
  border: 1px solid rgba(7, 87, 184, 0.16);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 153, 51, 0.08), rgba(255, 255, 255, 0.98) 40%, rgba(19, 136, 8, 0.08)),
    #ffffff;
  box-shadow: var(--shadow-lift);
}

.command-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px 10px;
}

.command-search {
  display: grid;
  gap: 7px;
  padding: 0 18px 14px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.command-search input {
  min-height: 50px;
  font-size: 1rem;
  text-transform: none;
}

.command-results {
  display: grid;
  gap: 8px;
  padding: 0 18px 18px;
}

.command-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 74px;
  padding: 13px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  color: var(--navy);
  background: rgba(255, 255, 255, 0.88);
  text-align: left;
}

.command-result:hover,
.command-result:focus-visible {
  border-color: rgba(7, 87, 184, 0.34);
  background: #ffffff;
  box-shadow: var(--shadow-soft);
}

.command-result strong,
.command-result span {
  display: block;
}

.command-result span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1.3;
}

.command-result em {
  justify-self: end;
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--chakra);
  background: rgba(7, 87, 184, 0.08);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
}

.brand-icon {
  width: 58px;
  height: 58px;
  border-radius: 8px;
  border: 2px solid rgba(7, 87, 184, 0.12);
  box-shadow: 0 10px 24px rgba(7, 87, 184, 0.14);
}

h1,
h2,
h3,
p {
  margin: 0;
}

h1 {
  font-size: clamp(1.55rem, 4vw, 2.2rem);
  letter-spacing: 0;
  line-height: 1.05;
}

h2 {
  font-size: clamp(1.35rem, 3vw, 1.9rem);
  line-height: 1.1;
}

h3 {
  font-size: 1.08rem;
  line-height: 1.25;
}

p {
  color: var(--muted);
  line-height: 1.45;
}

.screen {
  display: none;
}

.screen.is-active {
  display: block;
  animation: screenIn 180ms ease-out;
}

@keyframes screenIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.section-head {
  justify-content: space-between;
  gap: 12px;
  margin: 10px 0 16px;
  padding: 2px 0;
}

.profile-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.profile-head-actions select {
  width: 100%;
  min-width: 220px;
}

.active-swimmer-control {
  display: grid;
  min-width: min(380px, 42vw);
  gap: 4px;
}

.active-swimmer-control select {
  min-height: 40px;
}

.active-swimmer-control span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
  line-height: 1.25;
}

.grid.two,
.home-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.card,
.metric {
  background: var(--surface);
  border: 1px solid rgba(7, 87, 184, 0.1);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.card {
  padding: 19px;
  position: relative;
  overflow: hidden;
}

.card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--saffron), var(--chakra), var(--green));
  opacity: 0.86;
}

.card:hover {
  border-color: rgba(7, 87, 184, 0.18);
}

.quick-start-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 14px 0;
  border-top: 4px solid var(--chakra);
}

.simple-home-card {
  margin-bottom: 16px;
  border-top: 4px solid var(--green);
  background:
    linear-gradient(135deg, rgba(255, 153, 51, 0.1), rgba(255, 255, 255, 0.96) 42%, rgba(19, 136, 8, 0.08)),
    var(--surface);
}

.account-gateway-card {
  margin-bottom: 12px;
  border-top: 4px solid var(--chakra);
}

.account-gateway-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.account-gateway-head h3 {
  margin-top: 5px;
  color: var(--navy);
  font-size: 1.3rem;
}

.account-gateway-head p {
  margin-top: 5px;
  color: var(--muted);
  font-weight: 750;
  max-width: 680px;
}

.account-gateway-form,
.account-gateway-actions {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  align-items: center;
}

.account-gateway-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.account-gateway-form[hidden],
.account-gateway-actions[hidden] {
  display: none;
}

.account-gateway-form input,
.account-gateway-form select {
  min-width: 0;
}

.elite-health-command {
  border-top: 4px solid var(--green);
  background:
    linear-gradient(135deg, rgba(19, 136, 8, 0.1), rgba(255, 255, 255, 0.96) 46%, rgba(7, 87, 184, 0.08)),
    var(--surface);
}

.elite-health-main {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.elite-health-main h3 {
  margin-top: 5px;
  color: var(--navy);
  font-size: 1.35rem;
}

.elite-health-main p {
  max-width: 720px;
  margin-top: 5px;
  color: var(--muted);
  font-weight: 750;
}

.elite-health-score {
  min-width: 118px;
  padding: 14px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: white;
  text-align: center;
}

.elite-health-score span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.elite-health-score strong {
  display: block;
  color: var(--chakra);
  font-size: 2.35rem;
  line-height: 1;
}

.elite-health-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.elite-health-card {
  display: grid;
  gap: 6px;
  min-height: 118px;
  padding: 13px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink);
  text-align: left;
}

.elite-health-card span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.elite-health-card strong {
  color: var(--navy);
  font-size: 1rem;
}

.elite-health-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.3;
}

.elite-health-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

#homeScreen .simple-home-card {
  margin-bottom: 12px;
  box-shadow: 0 12px 30px rgba(7, 28, 52, 0.08);
}

#homeScreen .simple-home-head h3 {
  font-size: 1.42rem;
}

#homeScreen .simple-home-head p {
  max-width: 620px;
}

.simple-home-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.simple-home-head h3 {
  margin-top: 5px;
  color: var(--navy);
  font-size: 1.35rem;
}

.simple-home-head p {
  margin-top: 5px;
  color: var(--muted);
  font-weight: 750;
}

.simple-action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.home-development-scorecard {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 10px;
  margin: 12px 0;
}

.home-development-score,
.home-development-summary > div {
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 24px rgba(7, 31, 56, 0.06);
}

.home-development-score {
  display: grid;
  align-content: center;
  min-height: 126px;
  padding: 14px;
  background:
    linear-gradient(135deg, rgba(255, 153, 51, 0.12), rgba(255, 255, 255, 0.92) 50%, rgba(19, 136, 8, 0.1));
}

.home-development-score span,
.home-development-summary span {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 950;
  text-transform: uppercase;
}

.home-development-score strong {
  margin-top: 4px;
  color: var(--navy);
  font-size: 2.4rem;
  line-height: 1;
}

.home-development-score em {
  margin-top: 6px;
  color: var(--green);
  font-style: normal;
  font-size: 0.82rem;
  font-weight: 900;
}

.home-development-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.home-development-summary > div {
  min-height: 126px;
  padding: 12px;
}

.home-development-summary strong {
  display: block;
  margin-top: 8px;
  color: var(--navy);
  font-size: 0.92rem;
  line-height: 1.28;
}

.home-retest-strip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin: 0 0 12px;
  padding: 10px;
  border: 1px solid rgba(19, 136, 8, 0.14);
  border-radius: 8px;
  background: rgba(19, 136, 8, 0.07);
}

.home-retest-strip strong {
  min-width: 0;
  color: var(--navy);
  font-size: 0.92rem;
  line-height: 1.28;
}

.olympic-action-passport {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: stretch;
  margin: 12px 0;
}

.passport-score,
.passport-plan > div {
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(240, 248, 255, 0.9));
  box-shadow: 0 10px 24px rgba(7, 31, 56, 0.06);
}

.passport-score {
  display: grid;
  align-content: center;
  min-height: 96px;
  padding: 12px;
}

.passport-score span,
.passport-plan span {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.passport-score strong {
  margin-top: 4px;
  color: var(--navy);
  font-size: 1.8rem;
  line-height: 1;
}

.passport-plan {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.passport-plan > div {
  min-width: 0;
  padding: 10px;
}

.passport-plan strong {
  display: -webkit-box;
  margin-top: 6px;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.86rem;
  font-weight: 950;
  line-height: 1.22;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.passport-actions {
  display: grid;
  gap: 8px;
  min-width: 86px;
}

.practice-closeout-card {
  border-color: rgba(7, 87, 184, 0.14);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(240, 248, 255, 0.92));
}

.proof-loop-card,
.smart-meet-prep-card {
  border-top: 4px solid var(--chakra);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(240, 248, 255, 0.92));
}

.practice-closeout-strip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}

.practice-closeout-strip span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.practice-closeout-strip strong {
  overflow: hidden;
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.practice-closeout-strip em {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(7, 87, 184, 0.1);
  color: var(--chakra);
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 950;
}

.practice-closeout-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.proof-loop-strip,
.meet-prep-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.proof-loop-strip > div,
.meet-prep-grid > div {
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.proof-loop-strip span,
.meet-prep-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.proof-loop-strip strong,
.meet-prep-grid strong {
  display: block;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.84rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#proofLoopCoachNote,
#meetPrepCoachNote {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 780;
}

.meet-prep-plan {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.meet-prep-plan span {
  padding: 7px 9px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--navy);
  font-size: 0.82rem;
  font-weight: 850;
}

.simple-action {
  display: grid;
  gap: 7px;
  min-height: 132px;
  padding: 14px;
  border: 1px solid rgba(7, 87, 184, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--ink);
  text-align: left;
  box-shadow: 0 10px 24px rgba(7, 31, 56, 0.08);
}

.simple-action.primary-action {
  border-color: rgba(7, 87, 184, 0.24);
  background: linear-gradient(135deg, rgba(7, 87, 184, 0.95), rgba(0, 166, 200, 0.9));
  color: white;
}

.simple-action span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(7, 87, 184, 0.1);
  color: var(--chakra);
  font-weight: 950;
}

.simple-action.primary-action span {
  background: rgba(255, 255, 255, 0.18);
  color: white;
}

.simple-action strong {
  font-size: 1rem;
}

.simple-action p {
  margin: 0;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.25;
}

.simple-action.primary-action p {
  color: rgba(255, 255, 255, 0.88);
}

.simple-next-step {
  display: grid;
  gap: 5px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(19, 136, 8, 0.16);
  border-radius: 8px;
  background: rgba(19, 136, 8, 0.08);
}

.simple-next-step span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 950;
  text-transform: uppercase;
}

.simple-next-step strong {
  color: var(--navy);
}

.quick-actions {
  display: grid;
  grid-template-columns: repeat(5, minmax(82px, 1fr));
  gap: 8px;
}

.quick-actions button {
  min-height: 44px;
}

.elite-summary-band {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: 14px;
  overflow: hidden;
  border: 1px solid rgba(7, 87, 184, 0.14);
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(255, 153, 51, 0.7), rgba(7, 87, 184, 0.62), rgba(19, 136, 8, 0.7));
  box-shadow: var(--shadow-soft);
}

.elite-summary-band div {
  min-height: 82px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.92);
}

.elite-summary-band span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.elite-summary-band strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.reliability-center-card {
  margin-bottom: 14px;
  border-top: 4px solid var(--green);
  background:
    linear-gradient(135deg, rgba(19, 136, 8, 0.1), rgba(255, 255, 255, 0.98) 45%, rgba(7, 87, 184, 0.08)),
    var(--surface);
}

.reliability-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.reliability-grid div {
  min-height: 110px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--shadow-soft);
}

.reliability-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.reliability-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.2;
}

.reliability-grid p {
  margin-top: 7px;
  font-size: 0.83rem;
  font-weight: 750;
  line-height: 1.3;
}

.reliability-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.role-dashboard-card {
  margin-bottom: 16px;
  border-top: 4px solid var(--chakra);
  background:
    linear-gradient(135deg, rgba(255, 153, 51, 0.1), rgba(255, 255, 255, 0.98) 42%, rgba(19, 136, 8, 0.08)),
    var(--surface);
}

.role-dashboard-card .section-head p {
  margin-top: 6px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.role-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.role-dashboard-grid div {
  min-height: 118px;
  padding: 13px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: var(--shadow-soft);
}

.role-dashboard-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 950;
  text-transform: uppercase;
}

.role-dashboard-grid strong {
  display: block;
  margin-top: 8px;
  color: var(--navy);
  font-size: 1.22rem;
  line-height: 1.12;
}

.role-dashboard-grid p {
  margin-top: 8px;
  color: var(--ink-soft);
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.3;
}

.role-dashboard-panel {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.role-dashboard-list {
  display: grid;
  gap: 8px;
}

.role-dashboard-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid rgba(7, 87, 184, 0.1);
  border-radius: 8px;
  background: #ffffff;
}

.role-dashboard-row strong,
.role-dashboard-row span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.role-dashboard-row span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

#homeScreen .elite-summary-band,
#homeScreen .reliability-center-card,
#homeScreen .role-dashboard-card,
#homeScreen .olympic-pathway-today-card,
#homeScreen .coach-intelligence-card,
#homeScreen .home-command-hero,
#homeScreen .home-overview-grid,
#homeScreen .metric-grid,
#homeScreen .elite-command-card,
#homeScreen .quick-start-card,
#homeScreen .setup-guide-card,
#homeScreen .pro-standards-card,
#homeScreen .athlete-record,
#homeScreen .role-dashboard-card,
#homeScreen .setup-guide-card,
#homeScreen .today-action-card {
  display: none;
}

#homeScreen .today-action-list,
#homeScreen .reminder-panel,
#homeScreen .daily-role-grid,
#homeScreen .club-calendar-panel,
#homeScreen .scheduled-reminder-panel {
  display: none;
}

#homeScreen .today-action-card {
  margin-top: 0;
}

#homeScreen .today-action-card .section-head {
  margin-bottom: 10px;
}

#homeScreen .guided-workflow-panel {
  margin-bottom: 0;
}

/* Simple-first app mode: keep core workflows visible and move dense expert panels out of the way. */
#clubScreen .club-role-card,
#clubScreen .admin-users-card,
#clubScreen .structured-api-card,
#clubScreen .club-report-card,
#clubScreen > article.card:nth-of-type(7),
#clubScreen > article.card:nth-of-type(8),
#trainingScreen .coach-full-profile,
#trainingScreen .coach-metrics,
#trainingScreen #workoutList,
#progressScreen .benchmark-lab,
#performanceScreen .sports-science-command,
#performanceScreen .mental-fitness-panel,
#performanceScreen .biomechanics-panel,
#videoScreen .elite-video-lab,
#videoScreen .video-biomechanics-panel,
#videoScreen details.simple-details:not(.video-marker-details),
#raceScreen .federation-panel,
#raceScreen > article.card:nth-of-type(3),
#raceScreen .race-pro-panel,
#settingsScreen .elite-profile-summary,
#settingsScreen .athlete-settings,
#settingsScreen label[for="goalText"],
#settingsScreen #goalText,
#settingsScreen label[for="goalSeconds"],
#settingsScreen #goalSeconds,
#settingsScreen label[for="presentSeconds"],
#settingsScreen #presentSeconds,
#settingsScreen label[for="breaststrokeGoalText"],
#settingsScreen #breaststrokeGoalText,
#settingsScreen label[for="breaststrokeGoalSeconds"],
#settingsScreen #breaststrokeGoalSeconds,
#settingsScreen label[for="breaststrokePresentSeconds"],
#settingsScreen #breaststrokePresentSeconds,
#settingsScreen label[for="backstrokeGoalText"],
#settingsScreen #backstrokeGoalText,
#settingsScreen label[for="backstrokeGoalSeconds"],
#settingsScreen #backstrokeGoalSeconds,
#settingsScreen label[for="backstrokePresentSeconds"],
#settingsScreen #backstrokePresentSeconds,
#settingsScreen label[for="butterflyGoalText"],
#settingsScreen #butterflyGoalText,
#settingsScreen label[for="butterflyGoalSeconds"],
#settingsScreen #butterflyGoalSeconds,
#settingsScreen label[for="butterflyPresentSeconds"],
#settingsScreen #butterflyPresentSeconds {
  display: none;
}

#clubScreen,
#trainingScreen,
#timerScreen,
#progressScreen,
#performanceScreen,
#biomechanicsScreen,
#videoScreen,
#techniqueScreen,
#raceScreen,
#settingsScreen {
  max-width: 980px;
  margin-inline: auto;
}

#clubScreen > .card,
#trainingScreen > .card,
#timerScreen > .card,
#progressScreen > .card,
#performanceScreen > .card,
#videoScreen > .card,
#techniqueScreen > .card,
#raceScreen > .card,
#settingsScreen > .card,
#trainingScreen > .list {
  margin-bottom: 12px;
}

#clubScreen .section-head h2,
#trainingScreen .section-head h2,
#timerScreen .section-head h2,
#progressScreen .section-head h2,
#performanceScreen .section-head h2,
#videoScreen .section-head h2,
#techniqueScreen .section-head h2,
#raceScreen .section-head h2,
#settingsScreen .section-head h2 {
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
}

#performanceScreen .grid.two {
  grid-template-columns: minmax(0, 1fr);
}

.biomechanics-tab-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.biomechanics-tab-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.biomechanics-subhead {
  margin-top: 14px;
}

#settingsScreen .form-card {
  display: grid;
  gap: 10px;
}

.role-dashboard-row em {
  min-width: 68px;
  padding: 6px 9px;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--aqua));
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 950;
  text-align: center;
  text-transform: uppercase;
}

.role-dashboard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.today-action-card {
  margin-bottom: 16px;
  border-top: 4px solid var(--saffron);
  background:
    linear-gradient(135deg, rgba(255, 153, 51, 0.12), rgba(255, 255, 255, 0.98) 44%, rgba(7, 87, 184, 0.08)),
    var(--surface);
}

.today-action-card .section-head p {
  margin-top: 6px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.guided-workflow-panel {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
}

.guided-workflow-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 180px);
  gap: 12px;
  align-items: center;
}

.guided-workflow-head span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.guided-workflow-head strong {
  display: block;
  margin-top: 4px;
  color: var(--navy);
}

.guided-workflow-head progress {
  width: 100%;
  height: 12px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: rgba(7, 87, 184, 0.1);
}

.guided-workflow-head progress::-webkit-progress-bar {
  background: rgba(7, 87, 184, 0.1);
}

.guided-workflow-head progress::-webkit-progress-value {
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green), var(--aqua));
}

.guided-workflow-head progress::-moz-progress-bar {
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green), var(--aqua));
}

.guided-workflow-list {
  display: grid;
  gap: 8px;
}

.workflow-step {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 10px;
  border: 1px solid rgba(7, 87, 184, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--navy);
  text-align: left;
}

.workflow-step.is-current {
  border-color: rgba(255, 153, 51, 0.46);
  background: linear-gradient(135deg, rgba(255, 153, 51, 0.14), #ffffff);
}

.workflow-step.is-done {
  border-color: rgba(19, 136, 8, 0.25);
  background: rgba(19, 136, 8, 0.07);
}

.workflow-step > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(7, 87, 184, 0.1);
  color: var(--chakra);
  font-weight: 950;
}

.workflow-step.is-done > span {
  color: white;
  background: var(--green);
}

.workflow-step strong,
.workflow-step p {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workflow-step p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 780;
}

.workflow-step em {
  justify-self: end;
  padding: 6px 9px;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--aqua));
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
}

.today-action-list {
  display: grid;
  gap: 8px;
}

.today-action-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 66px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  color: var(--navy);
  background: rgba(255, 255, 255, 0.9);
  text-align: left;
  box-shadow: var(--shadow-soft);
}

.today-action-row.is-priority {
  border-color: rgba(255, 153, 51, 0.42);
  background: linear-gradient(135deg, rgba(255, 153, 51, 0.14), #ffffff);
}

.today-action-row strong,
.today-action-row span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.today-action-row span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 780;
}

.today-action-row em {
  min-width: 82px;
  padding: 7px 10px;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--aqua));
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 950;
  text-align: center;
  text-transform: uppercase;
}

.reminder-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 12px;
  padding: 13px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.reminder-panel span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.reminder-panel strong {
  display: block;
  margin-top: 5px;
  color: var(--navy);
}

.reminder-panel p {
  margin-top: 5px;
  color: var(--ink-soft);
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1.3;
}

.reminder-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.daily-role-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.daily-card,
.club-calendar-panel,
.scheduled-reminder-panel {
  padding: 13px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow-soft);
}

#swimmerDailyCard,
#parentInboxList,
.club-calendar-list,
.scheduled-reminder-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.club-calendar-panel,
.scheduled-reminder-panel {
  margin-top: 12px;
}

.calendar-event-editor {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.calendar-event-editor label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.calendar-event-editor button {
  align-self: end;
  min-height: 44px;
}

.setup-guide-card {
  margin: 14px 0;
  border-top: 4px solid var(--saffron);
  background:
    linear-gradient(135deg, rgba(255, 153, 51, 0.12), rgba(255, 255, 255, 0.97) 48%, rgba(7, 87, 184, 0.08)),
    var(--surface);
}

.setup-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.setup-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 5px 10px;
  align-items: start;
  min-height: 126px;
  padding: 13px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  color: var(--navy);
  background: rgba(255, 255, 255, 0.86);
  text-align: left;
  box-shadow: var(--shadow-soft);
}

.setup-step span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--aqua));
  font-weight: 950;
}

.setup-step strong {
  align-self: center;
  line-height: 1.2;
}

.setup-step p {
  grid-column: 1 / -1;
  font-size: 0.86rem;
  font-weight: 750;
}

.setup-step:hover,
.setup-step:focus-visible {
  border-color: rgba(7, 87, 184, 0.35);
  background: #ffffff;
  transform: translateY(-1px);
}

.setup-step.is-current {
  border-color: rgba(7, 87, 184, 0.38);
  background: linear-gradient(180deg, #ffffff, rgba(240, 248, 255, 0.92));
  box-shadow: 0 14px 30px rgba(7, 87, 184, 0.12);
}

.setup-step.is-done span {
  background: var(--green);
}

.setup-step.is-done strong::after {
  content: " Complete";
  color: var(--green);
  font-size: 0.76rem;
  font-weight: 950;
}

.pro-standards-card {
  margin: 14px 0;
  border-top: 4px solid var(--green);
  background:
    linear-gradient(135deg, rgba(255, 153, 51, 0.08), rgba(255, 255, 255, 0.97) 42%, rgba(19, 136, 8, 0.08)),
    var(--surface);
}

.pro-standards-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.pro-standards-grid div {
  min-height: 126px;
  padding: 13px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow-soft);
}

.pro-standards-grid span,
.pro-next-action span {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 950;
  text-transform: uppercase;
}

.pro-standards-grid strong {
  display: block;
  margin-top: 8px;
  color: var(--navy);
  font-size: 1.02rem;
  line-height: 1.18;
}

.pro-standards-grid p {
  margin-top: 8px;
  font-size: 0.84rem;
  font-weight: 750;
  line-height: 1.3;
}

.pro-next-action {
  display: grid;
  gap: 5px;
  margin-top: 12px;
  padding: 13px 14px;
  border: 1px solid rgba(7, 87, 184, 0.14);
  border-left: 4px solid var(--chakra);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.pro-next-action strong {
  color: var(--navy);
  line-height: 1.3;
}

.club-role-card {
  margin-bottom: 14px;
  border-top: 4px solid var(--chakra);
  background:
    linear-gradient(135deg, rgba(7, 87, 184, 0.1), rgba(255, 255, 255, 0.97) 45%, rgba(0, 166, 200, 0.08)),
    var(--surface);
}

.role-management-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.role-management-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.role-management-grid button {
  align-self: end;
  min-height: 44px;
}

.role-help-text {
  margin-top: 11px;
  font-size: 0.9rem;
  font-weight: 750;
}

.role-account-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.role-account-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(110px, 0.45fr) minmax(160px, 0.7fr) minmax(150px, 0.7fr);
  gap: 10px;
  align-items: center;
  min-height: 68px;
  padding: 11px 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
}

.role-account-row strong,
.role-account-row span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.role-account-row span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.role-badge {
  justify-self: start;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--aqua));
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-users-card,
.structured-api-card,
.communication-card,
.meet-calendar-card,
.race-report-card {
  margin-bottom: 14px;
  border-top: 4px solid var(--chakra);
  background:
    linear-gradient(135deg, rgba(7, 87, 184, 0.09), rgba(255, 255, 255, 0.98) 45%, rgba(19, 136, 8, 0.07)),
    var(--surface);
}

.admin-user-tools,
.structured-api-actions,
.coach-note-grid,
.meet-entry-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.admin-user-tools label,
.coach-note-grid label,
.meet-entry-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-user-tools button {
  align-self: end;
  min-height: 44px;
}

.structured-api-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.structured-api-grid div {
  min-height: 108px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.structured-api-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.structured-api-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
}

.structured-api-grid p {
  margin-top: 7px;
  font-size: 0.84rem;
  font-weight: 750;
}

.structured-api-actions {
  margin-top: 12px;
}

.structured-audit-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.admin-user-table,
.coach-note-list,
.meet-entry-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.admin-user-row,
.meet-entry-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(160px, 0.8fr) minmax(120px, 0.5fr) minmax(120px, 0.45fr);
  gap: 10px;
  align-items: center;
  min-height: 70px;
  padding: 11px 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.admin-user-row strong,
.admin-user-row span,
.meet-entry-row strong,
.meet-entry-row span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-user-row span,
.meet-entry-row span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.admin-user-row label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 950;
  text-transform: uppercase;
}

.coach-note-row {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.4fr) minmax(110px, 0.36fr) minmax(110px, 0.36fr);
  gap: 10px;
  align-items: center;
  min-height: 78px;
  padding: 11px 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.coach-note-row strong,
.coach-note-row span {
  display: block;
}

.coach-note-row span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.coach-note-row p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.9rem;
  font-weight: 750;
  line-height: 1.35;
}

.coach-note-action {
  margin-top: 6px;
  color: var(--chakra);
  font-size: 0.82rem;
  font-weight: 900;
}

.coach-note-row em,
.meet-entry-row em {
  justify-self: start;
  padding: 6px 9px;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--aqua));
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
}

.communication-actions,
.meet-entry-actions,
.race-report-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.race-report-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.race-report-grid div {
  min-height: 90px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.race-report-grid span,
.race-report-grid strong {
  display: block;
}

.race-report-grid span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.race-report-grid strong {
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.home-command-hero {
  margin-bottom: 16px;
  border-top: 4px solid var(--chakra);
  background:
    linear-gradient(135deg, rgba(7, 87, 184, 0.15), rgba(255, 255, 255, 0.98) 44%, rgba(0, 166, 200, 0.12)),
    var(--surface);
}

.home-hero-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 0.22fr);
  gap: 16px;
  align-items: center;
}

.home-hero-main h3 {
  font-size: clamp(1.35rem, 3vw, 2rem);
}

.home-hero-main p {
  max-width: 760px;
  margin-top: 8px;
  font-weight: 750;
}

.home-hero-score {
  display: grid;
  place-items: center;
  min-height: 132px;
  padding: 16px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(242, 249, 255, 0.86));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68), var(--shadow-soft);
  text-align: center;
}

.home-hero-score span,
.home-kpi-strip span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.home-hero-score strong {
  color: var(--chakra);
  font-size: 3.5rem;
  line-height: 0.95;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}

.home-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.home-kpi-strip div {
  min-height: 76px;
  padding: 12px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.home-kpi-strip strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  font-size: 1.12rem;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

.world-scorecard {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.world-scorecard div {
  min-height: 104px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.world-scorecard span {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.world-scorecard strong {
  display: block;
  margin-top: 7px;
  color: var(--chakra);
  font-size: 1.22rem;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

.world-scorecard p {
  margin-top: 7px;
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.3;
}

.daily-performance-brief {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(7, 87, 184, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--shadow-soft);
}

.brief-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.brief-head h3 {
  margin-top: 3px;
  font-size: 1.12rem;
}

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

.brief-grid div {
  min-height: 92px;
  padding: 12px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(236, 250, 255, 0.64));
}

.brief-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.brief-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.32;
}

.elite-operating-system {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(19, 136, 8, 0.14);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 153, 51, 0.1), rgba(255, 255, 255, 0.92) 42%, rgba(19, 136, 8, 0.1));
}

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

.operating-grid div {
  min-height: 84px;
  padding: 12px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.operating-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.operating-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.28;
}

.operating-action {
  margin-top: 12px;
  padding: 11px 12px;
  border-left: 4px solid var(--chakra);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  font-weight: 850;
}

.elite-command-card {
  margin: 16px 0 14px;
  border-top: 4px solid var(--aqua);
  background:
    linear-gradient(135deg, rgba(0, 166, 200, 0.1), rgba(255, 255, 255, 0.96) 42%, rgba(19, 136, 8, 0.08)),
    var(--surface);
}

.elite-command-grid {
  display: grid;
  grid-template-columns: minmax(180px, 0.42fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.elite-score-panel {
  display: grid;
  align-content: center;
  min-height: 190px;
  padding: 18px;
  border: 1px solid rgba(7, 87, 184, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: var(--shadow-soft);
}

.elite-score-panel span,
.elite-command-list span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.elite-score-panel strong {
  margin: 6px 0;
  color: var(--chakra);
  font-size: clamp(3.2rem, 9vw, 5.2rem);
  font-weight: 950;
  line-height: 0.95;
  font-variant-numeric: tabular-nums;
}

.elite-score-panel p {
  font-size: 0.94rem;
  font-weight: 800;
}

.elite-command-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.elite-command-list div {
  min-height: 90px;
  padding: 14px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.elite-command-list strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.3;
}

.elite-action-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.elite-action-strip button {
  min-height: 46px;
}

.simple-details {
  margin-top: 12px;
}

.simple-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  color: var(--navy);
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.simple-details > summary::-webkit-details-marker {
  display: none;
}

.simple-details > summary::after {
  content: "+";
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border-radius: 999px;
  color: var(--chakra);
  background: rgba(11, 61, 145, 0.08);
}

.simple-details[open] > summary {
  margin-bottom: 12px;
}

.simple-details[open] > summary::after {
  content: "-";
}

.simple-highlight {
  border-top: 4px solid var(--green);
}

.today-card,
.goal-card {
  min-height: 176px;
}

.today-card {
  border-top: 4px solid var(--saffron);
}

.federation-panel {
  margin-bottom: 14px;
  border-top: 4px solid var(--chakra);
}

.federation-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.federation-links a {
  display: grid;
  place-items: center;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--chakra);
  background: white;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.federation-links a:hover,
.federation-links a:focus-visible {
  background: rgba(11, 61, 145, 0.06);
  border-color: rgba(11, 61, 145, 0.35);
}

.today-coach {
  display: grid;
  gap: 5px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.today-coach label {
  color: var(--green);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.today-coach select {
  max-width: none;
}

.today-coach p {
  font-size: 0.86rem;
}

.olympic-card {
  position: relative;
  overflow: hidden;
  border-top: 4px solid var(--green);
  background:
    linear-gradient(135deg, rgba(11, 61, 145, 0.08), transparent 42%),
    var(--surface);
}

.olympic-card::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 18px;
  width: 42px;
  height: 42px;
  border: 3px solid rgba(11, 61, 145, 0.22);
  border-radius: 999px;
  box-shadow: inset 0 0 0 8px rgba(255, 255, 255, 0.8);
}

.current-goal {
  display: grid;
  gap: 3px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.current-goal span {
  color: var(--green);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.current-goal strong {
  font-size: 1.05rem;
}

.goal-item {
  display: grid;
  gap: 2px;
  padding-top: 9px;
}

.goal-item + .goal-item {
  margin-top: 7px;
  border-top: 1px dashed var(--border);
}

.goal-timing-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.present-time {
  flex: 0 0 auto;
  text-align: right;
}

.present-time span {
  display: block;
  color: var(--chakra);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.present-time strong {
  color: var(--navy);
  font-variant-numeric: tabular-nums;
}

.card-label {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  color: var(--chakra);
  background: rgba(7, 87, 184, 0.07);
  font-size: 0.78rem;
  font-weight: 800;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.badge,
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  border-radius: 999px;
  padding: 6px 10px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  background: rgba(7, 87, 184, 0.08);
  color: var(--navy);
  font-size: 0.82rem;
  font-weight: 800;
  white-space: nowrap;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.metric {
  padding: 16px;
  min-height: 92px;
  border-bottom: 3px solid rgba(0, 166, 200, 0.24);
  box-shadow: var(--shadow-soft);
}

.metric span {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
}

.metric strong {
  display: block;
  margin-top: 8px;
  font-size: 1.45rem;
  font-variant-numeric: tabular-nums;
}

.athlete-record {
  margin-top: 14px;
  border-top: 4px solid var(--green);
}

.profile-photo-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.profile-photo-frame {
  display: grid;
  place-items: center;
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  overflow: hidden;
  border: 2px solid rgba(11, 61, 145, 0.18);
  border-radius: 50%;
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--green));
  font-weight: 900;
}

.profile-photo-frame.large {
  flex-basis: 88px;
  width: 88px;
  height: 88px;
}

.profile-photo-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-photo-frame img[hidden],
.profile-photo-frame span[hidden] {
  display: none;
}

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

.photo-editor {
  margin-top: 16px;
  padding: 14px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.photo-editor-controls,
.coach-photo-editor > div:last-child {
  min-width: 0;
}

.photo-editor input[type="file"],
.coach-photo-editor input[type="file"] {
  width: 100%;
  padding: 6px;
  font-size: 0.82rem;
}

.photo-editor input[type="file"]::file-selector-button,
.coach-photo-editor input[type="file"]::file-selector-button {
  min-height: 34px;
  margin-right: 8px;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--chakra);
  background: white;
  font-weight: 900;
}

.photo-editor .secondary,
.coach-photo-editor .secondary {
  margin-top: 8px;
}

.coach-photo-editor {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}

.record-head-actions,
.coach-profile-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.profile-search-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid rgba(11, 61, 145, 0.28);
  border-radius: 8px;
  color: var(--chakra);
  background: white;
  font-size: 0.82rem;
  font-weight: 900;
  text-decoration: none;
}

.profile-search-link:hover,
.profile-search-link:focus-visible {
  border-color: var(--chakra);
  background: rgba(11, 61, 145, 0.06);
}

.record-meta {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.medal-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.medal-stat {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: white;
}

.medal-stat span,
.record-label,
.event-result-row > div:not(:first-child) span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.medal-stat strong {
  display: block;
  margin-top: 4px;
  font-size: 1.4rem;
}

.medal-stat.gold { border-left: 4px solid #d4a017; }
.medal-stat.silver { border-left: 4px solid #8b98a5; }
.medal-stat.bronze { border-left: 4px solid #b26b32; }

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

.record-list {
  display: grid;
  gap: 7px;
}

.record-item,
.record-empty {
  margin: 0;
}

.record-item {
  padding-left: 14px;
  position: relative;
  font-weight: 700;
}

.record-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--saffron);
}

.record-empty {
  color: var(--muted);
  font-size: 0.88rem;
}

.event-results-section {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.event-results {
  display: grid;
  gap: 8px;
}

.biomechanics-profile-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.biomechanics-summary-card,
.profile-biomechanics-editor {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: white;
}

.biomechanics-summary-card span,
.biomechanics-editor-grid label {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.biomechanics-summary-card strong {
  display: block;
  margin-top: 5px;
  color: var(--green);
}

.profile-biomechanics-editor {
  margin-top: 16px;
  background: rgba(19, 136, 8, 0.04);
}

.mental-assessment-editor {
  background: rgba(11, 61, 145, 0.04);
}

.mental-assessment-inputs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.mental-assessment-inputs label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.mental-assessment-inputs input,
.mental-assessment-inputs select,
#profileMentalNextAction {
  width: 100%;
  max-width: none;
  text-transform: none;
}

.biomechanics-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.biomechanics-editor-grid label {
  display: grid;
  gap: 6px;
}

.biomechanics-editor-grid textarea,
.biomechanics-editor-grid input {
  width: 100%;
  max-width: none;
  text-transform: none;
}

.biomechanics-checklist-panel {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.biomechanics-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.biomechanics-checklist-group {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(19, 136, 8, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.biomechanics-checklist-group h5 {
  margin: 0;
  color: var(--green);
  font-size: 0.9rem;
}

.biomechanics-checklist-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 34px;
  cursor: pointer;
  list-style: none;
}

.biomechanics-checklist-group summary::-webkit-details-marker {
  display: none;
}

.group-score {
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--chakra);
  background: rgba(11, 61, 145, 0.08);
  font-size: 0.75rem;
  font-weight: 900;
}

.biomechanics-check-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  color: var(--navy);
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.25;
  text-transform: none;
}

.biomechanics-check-item input {
  width: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: var(--green);
}

.mental-checklist-group {
  border-color: rgba(11, 61, 145, 0.16);
}

.mental-checklist-group h5 {
  color: var(--chakra);
}

.mental-check-item input {
  accent-color: var(--chakra);
}

.event-result-row {
  display: grid;
  grid-template-columns: minmax(180px, 2fr) minmax(90px, 0.8fr) minmax(70px, 0.6fr) minmax(120px, 1fr);
  gap: 12px;
  align-items: center;
  padding: 11px 0;
  border-top: 1px solid var(--border);
}

.event-result-row > div:first-child,
.event-editor-row > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.event-result-row > div:first-child span,
.event-editor-row span {
  color: var(--muted);
  font-size: 0.82rem;
  overflow-wrap: anywhere;
}

.event-result-row strong {
  overflow-wrap: anywhere;
}

.athlete-settings {
  margin: 18px 0 20px;
  padding: 16px 0 20px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.achievement-fields {
  margin-top: 12px;
}

.medal-inputs,
.event-entry-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.medal-inputs label,
.event-entry-grid label {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
}

.medal-inputs input,
.event-entry-grid input {
  margin-top: 5px;
}

.event-entry {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.research-review {
  margin-top: 18px;
  padding: 16px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.research-safety {
  max-width: 780px;
  margin-top: 6px;
  font-size: 0.9rem;
}

.research-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.research-actions .profile-search-link {
  display: grid;
  place-items: center;
  min-height: 42px;
  text-align: center;
}

.research-grid {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(240px, 1.2fr);
  gap: 10px;
  margin-top: 12px;
}

.research-grid label {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
}

.research-grid input,
.research-grid select {
  width: 100%;
  max-width: none;
  margin-top: 5px;
}

.event-entry h4 {
  margin: 0;
}

.event-editor-list {
  display: grid;
  gap: 8px;
}

.event-editor-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid var(--border);
}

.list {
  display: grid;
  gap: 12px;
}

.custom-drill-editor {
  margin-bottom: 14px;
  border-top: 4px solid var(--green);
}

.custom-drill-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.custom-drill-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.custom-drill-grid input {
  width: 100%;
  max-width: none;
  text-transform: none;
}

.custom-drill-actions,
.custom-drill-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.custom-drill-actions button,
.custom-drill-row-actions button {
  min-height: 42px;
}

.benchmark-lab {
  margin-top: 14px;
  border-top: 4px solid var(--chakra);
}

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

.benchmark-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.benchmark-grid input,
.benchmark-grid select,
#benchmarkNotes {
  width: 100%;
  max-width: none;
  text-transform: none;
}

.benchmark-metrics {
  margin-bottom: 12px;
}

.benchmark-history {
  margin-top: 12px;
}

.wearable-sync-hub {
  margin-top: 14px;
  border-top: 4px solid var(--saffron);
}

.wearable-device-grid,
.wearable-import-grid {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.wearable-device-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wearable-import-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wearable-device-grid div {
  min-height: 72px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 153, 51, 0.08);
}

.wearable-device-grid span,
.wearable-device-grid strong {
  display: block;
}

.wearable-device-grid span,
.wearable-import-grid label {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.wearable-device-grid strong {
  margin-top: 6px;
  color: var(--navy);
  line-height: 1.25;
}

.wearable-note,
.wearable-format {
  margin-top: 10px;
  font-size: 0.9rem;
}

.wearable-import-grid label {
  display: grid;
  gap: 6px;
}

.wearable-import-grid select,
.wearable-import-grid input {
  width: 100%;
  max-width: none;
  text-transform: none;
}

.wearable-history {
  margin-top: 12px;
}

.bluetooth-sync-panel {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(0, 102, 204, 0.16);
  border-radius: 8px;
  background: rgba(0, 102, 204, 0.06);
}

.bluetooth-sync-panel .section-head {
  margin-bottom: 4px;
}

.bluetooth-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.bluetooth-session-grid {
  margin-bottom: 12px;
}

.health-data-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.health-data-panel div {
  min-height: 76px;
  padding: 12px;
  border: 1px solid rgba(19, 47, 93, 0.12);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(255, 153, 51, 0.1), rgba(255, 255, 255, 0.92) 48%, rgba(19, 136, 8, 0.1));
}

.health-data-panel span,
.health-data-panel strong {
  display: block;
}

.health-data-panel span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.health-data-panel strong {
  margin-top: 8px;
  color: var(--navy);
  font-size: 1.05rem;
  line-height: 1.2;
}

.wearable-intelligence-panel {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(19, 136, 8, 0.18);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(255, 153, 51, 0.08), rgba(255, 255, 255, 0.96) 45%, rgba(19, 136, 8, 0.09));
}

.wearable-sim-grid,
.wearable-insight-summary,
.wearable-intelligence-actions {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.wearable-sim-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.wearable-sim-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.wearable-sim-grid select,
.wearable-sim-grid input {
  width: 100%;
  max-width: none;
  text-transform: none;
}

.wearable-insight-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wearable-insight-summary div {
  min-height: 92px;
  padding: 12px;
  border: 1px solid rgba(19, 47, 93, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.wearable-insight-summary span,
.wearable-insight-summary strong {
  display: block;
}

.wearable-insight-summary span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.wearable-insight-summary strong {
  margin-top: 8px;
  color: var(--navy);
  line-height: 1.25;
}

.wearable-intelligence-actions {
  grid-template-columns: 1.2fr 1fr 1fr;
}

.smart-coach {
  margin-bottom: 14px;
  border-top: 4px solid var(--chakra);
}

.daily-drill-planner {
  margin-bottom: 14px;
  border-top: 4px solid var(--saffron);
}

.daily-drill-controls {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.daily-drill-controls label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
}

.daily-drill-controls label[hidden] {
  display: none;
}

.daily-drill-controls input,
.daily-drill-controls select {
  width: 100%;
  max-width: none;
}

.daily-assignment-list {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.daily-assignment-row {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid var(--border);
}

.daily-assignment-row.is-done {
  opacity: 0.66;
}

.daily-assignment-row.is-done .assignment-details > strong {
  text-decoration: line-through;
}

.assignment-date,
.assignment-details,
.assignment-actions {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.assignment-date {
  justify-items: start;
}

.assignment-date strong {
  font-size: 1rem;
}

.assignment-date span,
.assignment-details > span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.assignment-details p,
.assignment-details small {
  margin: 0;
  overflow-wrap: anywhere;
}

.assignment-details p:first-of-type {
  color: var(--green);
  font-weight: 800;
}

.assignment-actions {
  grid-template-columns: repeat(2, auto);
}

.assignment-actions button {
  min-height: 38px;
  padding: 7px 10px;
}

.attendance-register {
  margin-bottom: 14px;
  border-top: 4px solid var(--green);
}

.attendance-controls {
  display: grid;
  grid-template-columns: minmax(160px, 0.7fr) minmax(190px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 12px;
}

.attendance-controls label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
}

.attendance-controls input,
.attendance-controls select {
  width: 100%;
  max-width: none;
}

.attendance-table {
  margin-top: 10px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.attendance-header,
.attendance-row {
  display: grid;
  grid-template-columns: minmax(150px, 1.3fr) 90px minmax(130px, 0.8fr) minmax(170px, 1.2fr);
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
}

.attendance-header {
  color: white;
  background: var(--navy);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.attendance-row {
  background: white;
}

.attendance-row + .attendance-row {
  border-top: 1px solid var(--border);
}

.attendance-row select,
.attendance-row input {
  width: 100%;
  min-width: 0;
}

.attendance-role {
  justify-self: start;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
}

.attendance-role.swimmer {
  color: var(--chakra);
  background: rgba(11, 61, 145, 0.09);
}

.attendance-role.coach {
  color: var(--green);
  background: rgba(19, 136, 8, 0.1);
}

.coach-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.coach-message {
  margin-top: 12px;
  padding: 10px 12px;
  border-left: 4px solid var(--saffron);
  background: rgba(255, 153, 51, 0.08);
  color: var(--navy);
  font-weight: 700;
}

.coach-controls label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.coach-controls select {
  max-width: none;
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 700;
  text-transform: none;
}

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

.coach-metrics div {
  min-height: 72px;
  padding: 11px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(11, 61, 145, 0.04);
}

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

.coach-metrics span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.coach-metrics strong {
  margin-top: 6px;
  font-size: 1.05rem;
}

.smart-sets {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.smart-set-row {
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 10px;
  align-items: center;
  min-height: 50px;
  padding: 9px 0;
  border-top: 1px solid var(--border);
}

.smart-set-row span {
  color: var(--green);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.smart-set-row small {
  color: var(--muted);
  white-space: nowrap;
}

.weakness-workout-card {
  margin-bottom: 14px;
  border-top: 4px solid var(--green);
}

.weakness-evidence-grid,
.weakness-workout-actions,
.weakness-coach-message {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.weakness-evidence-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.weakness-workout-actions {
  grid-template-columns: 1.2fr 1fr 1fr;
}

.weakness-coach-message {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.weakness-evidence-grid div,
.weakness-coach-message div {
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.weakness-evidence-grid span,
.weakness-evidence-grid strong,
.weakness-coach-message span,
.weakness-coach-message strong {
  display: block;
}

.weakness-evidence-grid span,
.weakness-coach-message span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.weakness-evidence-grid strong,
.weakness-coach-message strong {
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.weakness-workout-grid {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.weakness-workout-row {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr) 72px;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 10px 0;
  border-top: 1px solid var(--border);
}

.weakness-workout-row span {
  color: var(--green);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.weakness-workout-row small {
  color: var(--muted);
  font-weight: 900;
  text-align: right;
}

.workout-row,
.drill-row,
.check-row {
  display: grid;
  gap: 10px;
}

.race-command-grid,
.race-execution-grid,
.race-split-grid {
  display: grid;
  gap: 10px;
}

.race-command-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.race-command-card,
.race-split-grid div {
  min-height: 112px;
  padding: 14px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow-soft);
}

.race-command-card span,
.race-split-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.race-command-card strong,
.race-split-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  font-size: 1rem;
  line-height: 1.24;
}

.race-command-card p {
  margin-top: 7px;
  font-size: 0.9rem;
}

.race-pro-panel,
.race-checklist-panel {
  margin-top: 14px;
}

.race-execution-grid {
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) minmax(180px, 0.8fr);
  align-items: start;
}

.race-execution-grid h4 {
  margin: 0 0 10px;
  color: var(--chakra);
  font-size: 0.9rem;
}

.race-steps {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 20px;
  color: var(--navy);
  font-weight: 750;
  line-height: 1.35;
}

.race-split-grid {
  grid-template-columns: 1fr;
}

.race-split-grid div {
  min-height: 70px;
  padding: 12px;
}

.race-routine {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.race-routine span {
  display: grid;
  place-items: center;
  min-height: 44px;
  border-radius: 8px;
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--aqua));
  font-weight: 900;
}

.workout-row {
  grid-template-columns: 48px 1fr auto;
  align-items: center;
}

.day-dot {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: white;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--chakra), var(--aqua));
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(7, 87, 184, 0.18);
}

.day-dot.done {
  background: var(--green);
}

.check-button,
.icon-button {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  background: rgba(7, 87, 184, 0.08);
  color: var(--pool);
  font-weight: 900;
}

.check-button:hover,
.icon-button:hover,
.check-button:focus-visible,
.icon-button:focus-visible {
  background: rgba(7, 87, 184, 0.13);
}

.icon-button {
  font-size: 1.2rem;
}

.segmented {
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  background: rgba(255, 255, 255, 0.78);
  border-radius: 8px;
}

.segmented button {
  min-width: 64px;
  min-height: 36px;
  border-radius: 6px;
  background: transparent;
  color: var(--pool);
  font-weight: 800;
}

.segmented button.is-selected {
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--aqua));
  box-shadow: 0 8px 18px rgba(7, 87, 184, 0.16);
}

.timer-card {
  text-align: center;
}

.elite-timer-lab {
  margin-bottom: 14px;
  border-top: 4px solid var(--chakra);
  background:
    linear-gradient(135deg, rgba(7, 87, 184, 0.12), rgba(255, 255, 255, 0.96) 42%, rgba(0, 166, 200, 0.1)),
    var(--surface);
}

.elite-timer-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}

.elite-timer-score,
.elite-timer-metrics div {
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
}

.elite-timer-score {
  display: grid;
  align-content: center;
  justify-items: center;
  min-height: 172px;
  padding: 16px;
  box-shadow: var(--shadow-soft);
  text-align: center;
  overflow: hidden;
}

.elite-timer-score span,
.elite-timer-metrics span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.elite-timer-score strong {
  margin-top: 6px;
  color: var(--chakra);
  max-width: 100%;
  font-size: clamp(2.4rem, 7vw, 4.2rem);
  font-weight: 950;
  line-height: 0.95;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.elite-timer-score p {
  margin-top: 8px;
  font-weight: 850;
  line-height: 1.3;
}

.elite-timer-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.elite-timer-metrics div {
  min-height: 82px;
  padding: 12px;
}

.elite-timer-metrics strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
}

.timer-readout {
  margin: 10px 0;
  font-variant-numeric: tabular-nums;
  font-size: clamp(3rem, 14vw, 6.8rem);
  font-weight: 900;
  line-height: 1;
}

.timer-actions {
  gap: 10px;
  margin: 12px 0;
}

.primary,
.secondary {
  min-height: 48px;
  border-radius: 8px;
  padding: 0 18px;
  font-weight: 900;
  transition: transform 140ms ease, box-shadow 140ms ease, background 140ms ease, border-color 140ms ease;
}

.primary {
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--pool) 54%, var(--aqua));
  box-shadow: 0 12px 24px rgba(7, 87, 184, 0.22);
}

.secondary {
  color: var(--chakra);
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(7, 87, 184, 0.16);
}

.primary:hover,
.secondary:hover,
.primary:focus-visible,
.secondary:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(7, 28, 52, 0.12);
}

.danger-button {
  min-height: 48px;
  padding: 0 18px;
  border-radius: 8px;
  color: white;
  background: #b42318;
  font-weight: 900;
}

.timer-actions button {
  flex: 1;
}

.split-card {
  margin: 12px 0;
}

.split-row strong,
.split-row small {
  font-variant-numeric: tabular-nums;
}

.lane-timer-card {
  margin: 12px 0;
  border-top: 4px solid var(--aqua);
}

.lane-name-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.lane-name-grid label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.lane-name-grid input {
  width: 100%;
  min-height: 40px;
  padding: 8px;
  font-size: 0.86rem;
  text-transform: none;
}

.lane-timer-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.lane-button {
  display: grid;
  gap: 5px;
  min-height: 68px;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--navy);
  text-align: left;
}

.lane-button span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.lane-button em {
  display: block;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .lane-name-grid,
  .lane-timer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lane-button {
    min-height: 78px;
  }
}

.lane-button strong {
  font-size: 0.98rem;
  font-variant-numeric: tabular-nums;
}

.lane-button.is-captured {
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--aqua));
}

.lane-button.is-captured span {
  color: rgba(255, 255, 255, 0.82);
}

.lane-button.is-captured em {
  color: white;
}

.lane-results {
  margin-top: 12px;
}

.lane-result-row strong,
.lane-result-row small {
  font-variant-numeric: tabular-nums;
}

.full {
  width: 100%;
  margin-top: 12px;
}

.field-label {
  display: block;
  margin: 12px 0 6px;
  color: var(--navy);
  font-weight: 800;
}

input,
select,
textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(7, 87, 184, 0.14);
  border-radius: 8px;
  padding: 0 12px;
  color: var(--navy);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

input:focus,
select:focus,
textarea:focus {
  outline: 3px solid rgba(7, 87, 184, 0.13);
  border-color: rgba(7, 87, 184, 0.5);
}

textarea {
  padding: 12px;
  resize: vertical;
}

select {
  max-width: 220px;
}

.compact-head {
  margin: 0 0 12px;
}

.video-card video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 12px 0 8px;
  border-radius: 8px;
  background: #071f38;
}

.video-transport {
  display: grid;
  grid-template-columns: auto 110px auto 1fr;
  gap: 8px;
  align-items: center;
}

.video-transport button {
  min-height: 42px;
  padding: 0 12px;
}

.video-transport select {
  max-width: none;
}

.video-transport strong {
  justify-self: end;
  font-variant-numeric: tabular-nums;
}

.elite-video-lab {
  margin-bottom: 14px;
  border-top: 4px solid var(--chakra);
  background:
    linear-gradient(135deg, rgba(7, 87, 184, 0.11), rgba(255, 255, 255, 0.96) 42%, rgba(19, 136, 8, 0.08)),
    var(--surface);
}

.elite-video-scoreboard {
  display: grid;
  grid-template-columns: minmax(190px, 0.32fr) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}

.elite-video-score,
.elite-video-matrix div,
.elite-video-workflow div {
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
}

.elite-video-score {
  display: grid;
  align-content: center;
  min-height: 160px;
  padding: 16px;
  box-shadow: var(--shadow-soft);
}

.elite-video-score span,
.elite-video-matrix span,
.elite-video-workflow span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.elite-video-score strong {
  margin-top: 6px;
  color: var(--chakra);
  font-size: clamp(3rem, 8vw, 4.6rem);
  font-weight: 950;
  line-height: 0.95;
  font-variant-numeric: tabular-nums;
}

.elite-video-score p {
  margin-top: 8px;
  font-weight: 800;
  line-height: 1.3;
}

.elite-video-matrix {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.elite-video-matrix div {
  min-height: 76px;
  padding: 12px;
}

.elite-video-matrix strong,
.elite-video-workflow strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.elite-video-workflow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.elite-video-workflow div {
  min-height: 108px;
  padding: 12px;
}

.elite-video-workflow span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  color: white;
  background: var(--chakra);
}

.elite-video-workflow p {
  margin-top: 6px;
  color: var(--ink);
  font-size: 0.84rem;
  font-weight: 750;
  line-height: 1.3;
}

.analysis-setup,
.metric-inputs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.analysis-setup label,
.metric-inputs label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.analysis-setup select {
  max-width: none;
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 700;
  text-transform: none;
}

.analysis-subhead {
  margin-top: 18px;
}

.analysis-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.analysis-metrics div {
  min-height: 76px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(11, 61, 145, 0.04);
}

.analysis-metrics span,
.analysis-metrics strong {
  display: block;
}

.analysis-metrics span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.analysis-metrics strong {
  margin-top: 7px;
  font-size: 1.08rem;
  font-variant-numeric: tabular-nums;
}

.phase-score-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.phase-score {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: white;
}

.phase-score label {
  font-weight: 900;
}

.phase-score output {
  min-width: 34px;
  color: var(--green);
  font-weight: 900;
  text-align: right;
}

.phase-score input {
  grid-column: 1 / -1;
  min-height: 24px;
  padding: 0;
  accent-color: var(--chakra);
}

.video-biomechanics-panel {
  border-top: 4px solid var(--chakra);
}

.video-biomechanics-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.video-biomechanics-summary div {
  min-height: 74px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(11, 61, 145, 0.04);
}

.video-biomechanics-summary span,
.video-biomechanics-summary strong {
  display: block;
}

.video-biomechanics-summary span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.video-biomechanics-summary strong {
  margin-top: 6px;
  color: var(--navy);
  line-height: 1.25;
}

.video-biomechanics-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.video-biomechanics-group {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: white;
}

.video-biomechanics-group h4 {
  margin: 0;
  color: var(--chakra);
  font-size: 0.92rem;
}

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

.cue-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: white;
  color: var(--navy);
  font-weight: 800;
}

.cue-chip input {
  width: 18px;
  min-height: 18px;
  accent-color: var(--pool);
}

.video-stroke-lab-card {
  border-top: 4px solid var(--chakra);
  background:
    linear-gradient(135deg, rgba(255, 153, 51, 0.12), rgba(255, 255, 255, 0.98) 38%, rgba(19, 136, 8, 0.1)),
    var(--surface);
}

.stroke-lab-focus,
.stroke-lab-grid {
  display: grid;
  gap: 10px;
}

.stroke-lab-focus {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.stroke-lab-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 10px;
}

.stroke-lab-focus > div,
.stroke-lab-grid > div,
.stroke-lab-phase-list > div {
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.stroke-lab-focus span,
.stroke-lab-grid span,
.stroke-lab-phase-list span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.stroke-lab-focus strong,
.stroke-lab-grid strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  line-height: 1.22;
}

.stroke-lab-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.stroke-lab-actions button {
  min-height: 42px;
  padding: 0 10px;
}

.stroke-lab-phase-list {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}

.stroke-lab-phase-list > div {
  display: grid;
  grid-template-columns: 92px 62px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.stroke-lab-phase-list > div.is-priority {
  border-color: rgba(255, 153, 51, 0.42);
  box-shadow: inset 4px 0 0 var(--saffron);
}

.stroke-lab-phase-list strong {
  color: var(--chakra);
  font-variant-numeric: tabular-nums;
}

.stroke-lab-phase-list p {
  margin: 0;
  color: var(--ink);
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.3;
}

@media (max-width: 760px) {
  .stroke-lab-focus,
  .stroke-lab-grid,
  .stroke-lab-actions,
  .stroke-lab-phase-list > div {
    grid-template-columns: 1fr;
  }
}

.ai-fault-panel {
  border-top: 4px solid var(--green);
  scroll-margin-top: 16px;
}

.video-subnav {
  width: min(420px, 100%);
  margin-bottom: 14px;
}

.ai-fault-signals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ai-scan-card {
  min-height: 78px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(247, 251, 255, 0.98), rgba(255, 255, 255, 0.92));
}

.ai-scan-card span {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ai-scan-card strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  font-size: 0.92rem;
  line-height: 1.32;
}

.ai-precision-panel {
  margin: 14px 0;
  padding: 14px;
  border: 1px solid rgba(7, 87, 184, 0.14);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(247, 251, 255, 0.98), rgba(255, 255, 255, 0.94));
}

.ai-precision-grid,
.ai-precision-matrix {
  display: grid;
  gap: 10px;
}

.ai-precision-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 10px 0;
}

.ai-precision-grid > div,
.ai-precision-matrix > div {
  padding: 10px;
  border: 1px solid rgba(7, 87, 184, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.ai-precision-grid span,
.ai-precision-matrix span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ai-precision-grid strong,
.ai-precision-matrix strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  line-height: 1.25;
}

.ai-precision-matrix {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ai-precision-matrix > div.is-ready {
  border-color: rgba(19, 136, 8, 0.24);
  background: rgba(240, 255, 244, 0.92);
}

.ai-precision-matrix > div.is-ready strong {
  color: var(--green);
}

.ai-precision-note {
  margin-top: 10px;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 750;
  line-height: 1.45;
}

.ai-fault-output {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.ai-correction-row {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(19, 136, 8, 0.04);
}

.ai-priority {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  color: white;
  background: var(--chakra);
  font-weight: 900;
}

.ai-correction-row h4 {
  margin: 0 0 6px;
  font-size: 1rem;
}

.ai-correction-row p + p {
  margin-top: 5px;
}

.ai-correction-row strong {
  color: var(--navy);
}

.marker-tools {
  display: grid;
  grid-template-columns: 180px 1fr auto;
  gap: 10px;
  align-items: center;
}

.marker-tools select {
  max-width: none;
}

.review-row {
  align-items: flex-start;
}

.review-row span {
  color: var(--muted);
  font-size: 0.86rem;
}

.compact-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.compact-row {
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 12px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.compact-row strong {
  font-variant-numeric: tabular-nums;
}

canvas {
  width: 100%;
  max-height: 220px;
}

.empty {
  margin-top: 10px;
  text-align: center;
}

.progress-track {
  height: 16px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(13, 107, 209, 0.13);
  margin: 14px 0 8px;
}

.progress-track div {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, var(--saffron), white, var(--green));
}

.performance-panel {
  margin-bottom: 14px;
}

.performance-inputs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.performance-inputs label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.performance-inputs input[type="range"] {
  min-height: 28px;
  padding: 0;
  accent-color: var(--chakra);
}

.performance-score {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.performance-score strong {
  color: var(--chakra);
  font-size: 1.8rem;
  font-variant-numeric: tabular-nums;
}

.performance-score span {
  color: var(--muted);
  font-weight: 800;
}

.science-decision {
  margin-top: 12px;
  padding: 10px 12px;
  border-left: 4px solid var(--chakra);
  color: var(--navy);
  background: rgba(11, 61, 145, 0.06);
  font-weight: 800;
}

.load-dashboard {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.load-dashboard div,
.science-grid > div {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: white;
}

.load-dashboard span,
.science-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.load-dashboard strong,
.science-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--chakra);
  font-size: 1.05rem;
  font-weight: 900;
}

.sports-science-command {
  margin-bottom: 14px;
  border-top: 4px solid var(--chakra);
}

.mental-fitness-panel {
  margin-bottom: 14px;
  border-top: 4px solid var(--saffron);
}

.biomechanics-panel {
  margin-bottom: 14px;
  border-top: 4px solid var(--green);
}

.pillar-note {
  margin: 8px 0 0;
  color: var(--navy);
  font-weight: 800;
}

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

.science-grid p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 0.86rem;
}

.mental-habit-grid {
  margin-top: 14px;
}

.biomechanics-habit-grid {
  margin-top: 14px;
}

.stroke-biomechanics-matrix {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.stroke-biomechanics-matrix section,
.biomechanics-skills div {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: white;
}

.stroke-biomechanics-matrix span,
.biomechanics-skills span {
  display: block;
  color: var(--green);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.stroke-biomechanics-matrix p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 700;
}

.biomechanics-skills {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.biomechanics-skills strong {
  display: block;
  margin-top: 5px;
  color: var(--navy);
  font-size: 0.88rem;
}

.pdf-biomechanics {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.pdf-biomechanics-grid,
.shoulder-screen-grid {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.pdf-biomechanics-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stroke-clinical-grid,
.shoulder-screen-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pdf-biomechanics-grid section,
.shoulder-screen-grid div {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: white;
}

.pdf-biomechanics-grid span,
.shoulder-screen-grid span {
  display: block;
  color: var(--chakra);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.pdf-biomechanics-grid p,
.shoulder-screen-grid strong {
  display: block;
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 0.84rem;
}

.mental-decision {
  border-left-color: var(--saffron);
  background: rgba(255, 153, 51, 0.08);
}

.biomechanics-decision {
  border-left-color: var(--green);
  background: rgba(19, 136, 8, 0.08);
}

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

.habit-grid label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: white;
  font-weight: 800;
}

.habit-grid input {
  width: 18px;
  min-height: 18px;
  accent-color: var(--green);
}

.nutrition-planner {
  margin-bottom: 14px;
  border-top: 4px solid var(--green);
}

.nutrition-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}

.nutrition-controls label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.nutrition-controls select {
  max-width: none;
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 700;
  text-transform: none;
}

.nutrition-safety {
  margin-top: 10px;
  font-size: 0.84rem;
}

.nutrition-plan-output {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.meal-plan-row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 12px;
  align-items: start;
  padding: 11px 0;
  border-top: 1px solid var(--border);
}

.meal-plan-row span {
  color: var(--green);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.meal-plan-note {
  padding: 10px 12px;
  border-left: 4px solid var(--saffron);
  background: rgba(255, 153, 51, 0.08);
  color: var(--navy);
  font-weight: 700;
}

.form-card {
  max-width: 760px;
}

.elite-profile-summary {
  max-width: 960px;
  margin-bottom: 14px;
  border-top: 4px solid var(--chakra);
  background:
    linear-gradient(135deg, rgba(7, 87, 184, 0.1), rgba(255, 255, 255, 0.96) 42%, rgba(19, 136, 8, 0.08)),
    var(--surface);
}

.elite-profile-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(140px, 0.24fr);
  gap: 14px;
  align-items: center;
}

.elite-profile-main h3 {
  font-size: clamp(1.25rem, 3vw, 1.9rem);
}

.elite-profile-main p {
  margin-top: 6px;
  color: var(--muted);
  font-weight: 800;
}

.elite-profile-score {
  display: grid;
  place-items: center;
  min-height: 118px;
  padding: 14px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  text-align: center;
  box-shadow: var(--shadow-soft);
}

.elite-profile-score span,
.elite-profile-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.elite-profile-score strong {
  color: var(--chakra);
  font-size: 3.2rem;
  line-height: 0.95;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}

.elite-profile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.elite-profile-grid div {
  min-height: 76px;
  padding: 12px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.elite-profile-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.profile-manager {
  max-width: 760px;
  margin-bottom: 14px;
  border-top: 4px solid var(--saffron);
}

.voice-assistant-panel {
  max-width: 760px;
  margin-top: 14px;
  border-top: 4px solid var(--chakra);
}

.assistant-modes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.assistant-modes span {
  padding: 7px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--navy);
  background: white;
  font-size: 0.78rem;
  font-weight: 900;
}

.voice-control-grid {
  display: grid;
  grid-template-columns: minmax(140px, 0.7fr) minmax(220px, 1.3fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 14px;
}

.voice-control-grid > label:not(.voice-toggle) {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
}

.voice-control-grid select {
  width: 100%;
  max-width: none;
}

.voice-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-weight: 800;
}

.voice-toggle input {
  width: 18px;
  min-height: 18px;
  accent-color: var(--green);
}

.voice-actions,
.siri-quick-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.voice-actions button {
  flex: 1 1 190px;
}

.siri-quick-actions {
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.siri-quick-actions .record-label {
  width: 100%;
  margin-bottom: 0;
}

.voice-transcript {
  min-height: 44px;
  margin: 14px 0 0;
  padding: 11px 12px;
  border-left: 4px solid var(--saffron);
  color: var(--navy);
  background: rgba(255, 153, 51, 0.08);
  font-weight: 800;
}

.profile-create {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 90px minmax(150px, 0.8fr) 130px auto;
  gap: 10px;
  align-items: center;
}

.profile-create input[type="date"] {
  min-width: 0;
}

.profile-create select {
  max-width: none;
}

.profile-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
}

.profile-row button {
  min-height: 38px;
  padding: 0 12px;
}

.profile-row .active-profile {
  color: var(--green);
  font-weight: 900;
}

.coach-profile-settings {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.coach-full-profile {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--border);
  border-left: 4px solid var(--green);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.coach-profile-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.coach-search-modes {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.coach-profile-head h3,
.coach-profile-head p,
.coach-profile-grid p,
.profile-point {
  margin: 0;
}

.coach-profile-head h3 {
  margin-top: 3px;
}

.coach-profile-head p {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}

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

.coach-achievement-summary {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 10px;
  margin-top: 14px;
}

.coach-achievement-summary div {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
}

.coach-achievement-summary span {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.coach-achievement-summary strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 0.95rem;
  line-height: 1.3;
}

.coach-profile-label {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.profile-points,
.coach-drill-list {
  display: grid;
  gap: 7px;
}

.profile-point::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--saffron);
}

.coach-drill-section {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.coach-quick-achievement {
  display: grid;
  gap: 10px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.coach-drill-item {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: white;
}

.coach-drill-item span {
  color: var(--chakra);
  font-size: 0.78rem;
  font-weight: 900;
}

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

.coach-edit-row {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(11, 61, 145, 0.03);
}

.coach-edit-row .field-label:first-child {
  margin-top: 0;
}

.save-status {
  min-height: 22px;
  margin-top: 10px;
  color: var(--pool);
  font-weight: 800;
}

.save-status.error {
  color: var(--coral);
}

.compact-save-status {
  margin-top: 4px;
}

.swimmer-save-button {
  margin-top: 12px;
}

.cloud-sync-card {
  border-top: 4px solid var(--chakra);
}

.login-card {
  border-top: 4px solid var(--saffron);
}

.cloud-sync-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(3, auto);
  gap: 10px;
  align-items: end;
}

.login-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr)) repeat(3, auto);
  gap: 10px;
  align-items: end;
}

.account-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.account-status-grid div {
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.account-status-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.account-status-grid strong {
  display: block;
  margin-top: 3px;
  color: var(--navy);
  font-size: 0.9rem;
}

.account-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.club-kpi-grid,
.club-settings-grid,
.club-filter-grid,
.club-bulk-grid,
.club-report-grid,
.club-fee-tools,
.club-workout-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.club-kpi-grid div {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.club-kpi-grid span,
.club-settings-grid label,
.club-filter-grid label,
.club-bulk-grid label,
.club-fee-tools label,
.club-workout-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.club-kpi-grid strong {
  display: block;
  margin-top: 4px;
  color: var(--navy);
  font-size: 1.35rem;
}

.club-settings-grid,
.club-filter-grid,
.club-batch-editor,
.club-bulk-grid,
.club-fee-tools,
.club-workout-grid {
  margin-top: 12px;
  align-items: end;
}

.club-report-grid {
  margin-top: 8px;
}

.club-advanced-report-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.club-report-grid div,
.club-advanced-report-grid > div,
.parent-view-card {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
}

.club-report-grid span,
.club-advanced-report-grid > div > span,
.parent-view-card span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 850;
}

.club-report-grid strong {
  display: block;
  margin-top: 4px;
  color: var(--navy);
  font-size: 1.1rem;
}

.club-report-list {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.club-report-list div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(11, 61, 145, 0.1);
}

.club-report-list div:last-child {
  border-bottom: 0;
}

.parent-view-card,
.club-payment-list {
  display: grid;
  gap: 6px;
  margin-top: 12px;
}

.club-batch-editor {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
  gap: 10px;
}

.club-batch-list,
.club-roster-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.club-list-row,
.club-roster-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(150px, 200px) minmax(150px, 200px) minmax(120px, 160px);
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.club-list-row {
  grid-template-columns: minmax(180px, 1fr) minmax(160px, 220px);
}

.club-payment-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.club-list-row span,
.club-roster-row span,
.club-payment-row span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 750;
}

.race-event-editor {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.race-event-editor label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.race-event-editor button {
  grid-column: 1 / -1;
}

.danger-button {
  border-color: rgba(220, 38, 38, 0.35);
  color: var(--coral);
}

.login-grid label,
.cloud-sync-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.tabbar {
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  width: min(980px, calc(100% - 24px));
  gap: 4px;
  padding: 6px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(18px);
  box-shadow: 0 16px 40px rgba(7, 31, 56, 0.16);
  overflow-x: auto;
  scrollbar-width: none;
  z-index: 40;
}

.tabbar::-webkit-scrollbar {
  display: none;
}

.tabbar button {
  min-width: 86px;
  min-height: 42px;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  font-weight: 900;
  transition: background 140ms ease, color 140ms ease;
}

.tabbar button.is-active {
  color: white;
  background: linear-gradient(135deg, var(--chakra), var(--aqua));
  box-shadow: 0 8px 18px rgba(7, 87, 184, 0.18);
}

.tabbar button:not(.is-active):hover,
.tabbar button:not(.is-active):focus-visible {
  color: var(--chakra);
  background: rgba(7, 87, 184, 0.08);
}

@media (max-width: 760px) {
  .app-shell {
    padding: 12px 10px calc(128px + env(safe-area-inset-bottom));
  }

  .topbar {
    top: 8px;
    padding: 10px 12px;
    align-items: center;
    flex-direction: row;
    gap: 10px;
    overflow: visible;
  }

  .brand-icon {
    width: 42px;
    height: 42px;
  }

  .brand {
    flex: 1;
  }

  .brand p {
    display: none;
  }

  .topbar-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
    flex-wrap: nowrap;
  }

  .status-chip {
    display: none;
  }

  .status-chip:first-child {
    display: grid;
    min-width: 96px;
    max-width: 112px;
    min-height: 38px;
    padding: 6px 8px;
  }

  .status-chip strong {
    font-size: 0.74rem;
  }

  .command-button {
    position: fixed;
    right: 14px;
    bottom: calc(72px + env(safe-area-inset-bottom));
    z-index: 60;
    min-height: 42px;
    padding: 0 13px;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(7, 87, 184, 0.26);
  }

  .command-center {
    max-height: calc(100vh - 24px);
  }

  .command-result {
    grid-template-columns: 1fr;
  }

  .command-result em {
    justify-self: start;
  }

  h1 {
    font-size: 1.32rem;
  }

  .card {
    padding: 15px;
  }

  .tabbar {
    justify-content: flex-start;
    width: calc(100% - 20px);
    bottom: max(8px, env(safe-area-inset-bottom));
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .tabbar button {
    min-width: 78px;
    min-height: 40px;
    padding: 7px 8px;
    font-size: 0.8rem;
    line-height: 1.1;
    overflow-wrap: anywhere;
    scroll-snap-align: start;
  }

  .tabbar button[data-screen="techniqueScreen"] {
    display: none;
  }

  .grid.two,
  .home-overview-grid,
  .biomechanics-tab-grid,
  .metric-grid {
    grid-template-columns: 1fr;
  }

  .home-hero-main,
  .home-kpi-strip,
  .elite-summary-band,
  .world-scorecard,
  .reliability-grid,
  .role-dashboard-grid,
  .setup-steps,
  .pro-standards-grid,
  .brief-grid,
  .operating-grid {
    grid-template-columns: 1fr;
  }

  .home-hero-score {
    min-height: 96px;
    padding: 12px;
    align-items: center;
  }

  .home-hero-score strong {
    font-size: 2.7rem;
  }

  .elite-summary-band {
    grid-template-columns: 1fr;
  }

  .elite-summary-band div {
    min-height: 68px;
    padding: 12px;
  }

  .reliability-grid {
    grid-template-columns: 1fr;
  }

  .reliability-grid div {
    min-height: 86px;
  }

  .reliability-actions {
    flex-direction: column;
  }

  .role-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .role-dashboard-grid div {
    min-height: 104px;
    padding: 11px;
  }

  .role-dashboard-row {
    grid-template-columns: 1fr;
  }

  .role-dashboard-row em {
    justify-self: start;
  }

  .role-dashboard-actions {
    flex-direction: column;
  }

  .today-action-row,
  .guided-workflow-head,
  .reminder-panel,
  .daily-role-grid,
  .calendar-event-editor {
    grid-template-columns: 1fr;
  }

  .today-action-row em {
    justify-self: start;
  }

  .workflow-step {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .workflow-step em {
    grid-column: 2;
    justify-self: start;
  }

  .reminder-actions {
    justify-content: stretch;
    flex-direction: column;
  }

  .home-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
  }

  .world-scorecard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .pro-standards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .setup-steps {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .setup-step {
    min-height: 96px;
  }

  .pro-standards-grid div {
    min-height: 116px;
    padding: 11px;
  }

  .brief-head {
    display: grid;
  }

  .brief-grid {
    grid-template-columns: 1fr;
  }

  .home-kpi-strip div {
    min-height: 66px;
    padding: 10px;
  }

  .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .metric {
    min-height: 84px;
    padding: 13px;
  }

  .metric strong {
    font-size: 1.22rem;
  }

  .quick-start-card,
  .simple-home-head,
  .simple-action-grid,
  .quick-actions,
  .elite-command-grid,
  .elite-command-list,
  .elite-action-strip {
    grid-template-columns: 1fr;
  }

  .quick-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .simple-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .simple-action {
    min-height: 116px;
    padding: 12px;
  }

  .simple-home-head {
    gap: 8px;
  }

  .elite-action-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .elite-score-panel {
    min-height: 128px;
    padding: 14px;
  }

  .elite-score-panel strong {
    font-size: 3rem;
  }

  .elite-command-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .elite-command-list div {
    min-height: 74px;
    padding: 11px;
  }

  .athlete-profile-grid,
  .biomechanics-profile-summary,
  .biomechanics-editor-grid,
  .biomechanics-checklist,
  .mental-assessment-inputs,
  .research-actions,
  .event-result-row,
  .event-entry-grid,
  .research-grid {
    grid-template-columns: 1fr;
  }

  .record-head-actions,
  .coach-profile-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .coach-search-modes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .photo-editor,
  .coach-photo-editor {
    grid-template-columns: 1fr;
  }

  .event-result-row {
    gap: 7px;
  }

  .event-result-row > div:not(:first-child) {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    align-items: baseline;
  }

  .medal-inputs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .workout-row {
    grid-template-columns: 44px 1fr;
  }

  .workout-row .check-button {
    grid-column: 2;
    width: 100%;
  }

  .section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .profile-head-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .active-swimmer-control {
    width: 100%;
    min-width: 0;
  }

  .active-swimmer-control span {
    font-size: 0.82rem;
    white-space: normal;
  }

  .elite-profile-main,
  .elite-profile-grid {
    grid-template-columns: 1fr;
  }

  .profile-head-actions select,
  .profile-create {
    width: 100%;
  }

  .segmented,
  select {
    width: 100%;
  }

  .segmented button {
    flex: 1;
  }

  .cue-grid,
  .ai-fault-signals,
  .marker-tools,
  .role-management-grid,
  .role-account-row,
  .admin-user-tools,
  .admin-user-row,
  .structured-api-grid,
  .structured-api-actions,
  .coach-note-grid,
  .coach-note-row,
  .communication-hub-actions,
  .communication-summary-grid,
  .meet-entry-grid,
  .meet-entry-row,
  .race-report-grid,
  .elite-timer-grid,
  .elite-timer-metrics,
  .lane-name-grid,
  .lane-timer-grid,
  .login-grid,
  .account-status-grid,
  .cloud-sync-grid,
  .club-kpi-grid,
  .club-settings-grid,
  .club-filter-grid,
  .club-bulk-grid,
  .club-report-grid,
  .club-advanced-report-grid,
  .club-fee-tools,
  .club-workout-grid,
  .club-batch-editor,
  .club-list-row,
  .club-roster-row,
  .race-event-editor,
  .race-command-grid,
  .race-simulator-inputs,
  .race-simulator-summary,
  .race-simulator-plan,
  .race-simulator-actions,
  .race-execution-grid,
  .coach-controls,
  .coach-metrics,
  .weakness-evidence-grid,
  .weakness-workout-actions,
  .weakness-coach-message,
  .weakness-workout-row,
  .coach-edit-grid,
  .custom-drill-grid,
  .benchmark-grid,
  .wearable-device-grid,
  .wearable-import-grid,
  .wearable-sim-grid,
  .wearable-insight-summary,
  .wearable-intelligence-actions,
  .bluetooth-actions,
  .health-data-panel,
  .analysis-setup,
  .metric-inputs,
  .analysis-metrics,
  .phase-score-grid,
  .video-biomechanics-summary,
  .video-biomechanics-grid,
  .elite-video-scoreboard,
  .elite-video-matrix,
  .elite-video-workflow {
    grid-template-columns: 1fr;
  }

  .daily-drill-controls {
    grid-template-columns: 1fr;
  }

  .attendance-controls {
    grid-template-columns: 1fr;
  }

  .attendance-header {
    display: none;
  }

  .attendance-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
  }

  .attendance-row select,
  .attendance-row input {
    grid-column: 1 / -1;
  }

  .daily-assignment-row {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .assignment-actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .coach-profile-grid {
    grid-template-columns: 1fr;
  }

  .coach-achievement-summary {
    grid-template-columns: 1fr;
  }

  .habit-grid {
    grid-template-columns: 1fr;
  }

  .load-dashboard,
  .science-grid,
  .stroke-biomechanics-matrix,
  .biomechanics-skills,
  .pdf-biomechanics-grid,
  .stroke-clinical-grid,
  .shoulder-screen-grid {
    grid-template-columns: 1fr;
  }

  .federation-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .meal-plan-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .profile-create,
  .profile-row {
    grid-template-columns: 1fr;
  }

  .voice-control-grid {
    grid-template-columns: 1fr;
  }

  .voice-actions,
  .siri-quick-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .video-transport {
    grid-template-columns: 1fr 1fr;
  }

  .video-transport strong {
    justify-self: start;
  }

  .smart-set-row {
    grid-template-columns: 1fr auto;
  }

  .smart-set-row span {
    grid-column: 1 / -1;
  }
}

/* Final Elite Simple Mode overrides. Keep the app powerful, but make each tab first-screen focused. */
.screen > .section-head {
  margin-bottom: 12px;
  padding: 12px 0 4px;
  border-bottom: 1px solid rgba(7, 87, 184, 0.08);
}

.screen > .card,
.screen > .grid.two,
.screen > .list,
.simple-home-card {
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(7, 28, 52, 0.08);
}

.simple-home-card,
#trainingScreen .smart-coach,
#timerScreen .timer-card,
#progressScreen > article:first-of-type,
#performanceScreen .performance-panel,
#biomechanicsScreen .biomechanics-assessment-card,
#videoScreen .video-card,
#techniqueScreen .custom-drill-editor,
#raceScreen .meet-calendar-card,
#settingsScreen .profile-manager,
#settingsScreen .form-card {
  border-top: 4px solid var(--chakra);
}

#trainingScreen .daily-drill-planner,
#trainingScreen .attendance-register,
#performanceScreen .wearable-sync-hub,
#raceScreen .race-checklist-panel,
#settingsScreen .cloud-sync-card,
#settingsScreen .coach-profile-settings,
#timerScreen .lane-timer-card,
#videoScreen .ai-fault-panel,
#videoScreen .video-marker-details {
  border-top: 4px solid var(--green);
}

#trainingScreen .attendance-table,
#trainingScreen .coach-full-profile,
#trainingScreen .coach-metrics,
#trainingScreen #workoutList,
#timerScreen .elite-timer-lab,
#progressScreen .benchmark-lab,
#performanceScreen .sports-science-command,
#performanceScreen .mental-fitness-panel,
#performanceScreen .biomechanics-panel,
#performanceScreen > article:last-of-type,
#videoScreen .elite-video-lab,
#videoScreen .video-biomechanics-panel,
#videoScreen details.simple-details:not(.video-marker-details),
#videoScreen .saved-reviews-card,
#raceScreen .federation-panel,
#raceScreen .race-pro-panel,
#settingsScreen .login-card,
#settingsScreen .elite-profile-summary,
#settingsScreen .athlete-settings,
#settingsScreen .voice-assistant-panel {
  display: none !important;
}

.simple-action-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.simple-action {
  min-height: 118px;
  align-content: start;
}

.simple-next-step {
  border-left: 4px solid var(--green);
  background: rgba(19, 136, 8, 0.08);
}

.daily-plan-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.daily-plan-strip div,
.simple-coach-note-row {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.daily-plan-strip span,
.simple-coach-note-row span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.daily-plan-strip strong,
.simple-coach-note-row strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 0.92rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.simple-coach-notes-card {
  border-top: 4px solid var(--green);
}

.simple-note-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.simple-coach-note-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.simple-coach-note-row p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 0.86rem;
}

#trainingScreen .coach-controls,
#trainingScreen .daily-drill-controls,
#performanceScreen .performance-inputs,
#performanceScreen .wearable-import-grid,
#raceScreen .meet-entry-grid,
#raceScreen .race-command-grid,
#settingsScreen .profile-create {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#performanceScreen .wearable-device-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#timerScreen .timer-card {
  text-align: center;
}

#timerScreen .timer-readout {
  font-size: clamp(3rem, 10vw, 6.6rem);
}

#progressScreen canvas {
  max-height: 260px;
}

#settingsScreen .coach-edit-grid {
  grid-template-columns: 1fr;
}

#settingsScreen .coach-edit-row {
  padding: 12px;
}

#settingsScreen .login-card {
  display: block !important;
  border-top: 4px solid var(--green);
}

#settingsScreen .login-card .login-grid {
  display: none;
}

#settingsScreen .login-card .section-head p {
  margin-top: 5px;
  color: var(--muted);
  font-weight: 750;
}

#clubScreen,
#homeScreen .club-calendar-panel,
#homeScreen [data-screen="clubScreen"],
#settingsScreen option[value="admin"],
#homeScreen option[value="admin"] {
  display: none !important;
}

#videoScreen .elite-video-lab,
#videoScreen .video-biomechanics-panel {
  display: block !important;
}

#videoScreen .elite-video-lab {
  background:
    linear-gradient(135deg, rgba(7, 87, 184, 0.08), rgba(255, 255, 255, 0.98)),
    var(--surface);
}

#videoScreen .video-biomechanics-panel,
#videoScreen .video-report-card {
  box-shadow: 0 16px 42px rgba(7, 28, 52, 0.1);
}

#videoScreen details.simple-details {
  display: block !important;
}

.video-command-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border-top: 4px solid var(--chakra);
  background: linear-gradient(135deg, rgba(7, 87, 184, 0.08), rgba(255, 255, 255, 0.98));
}

.video-command-card h3 {
  margin: 2px 0 0;
}

.video-command-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(112px, 1fr));
  gap: 10px;
}

#videoScreen .elite-video-workflow,
#videoScreen .analysis-subhead,
#videoScreen #videoCueList,
#videoScreen .saved-reviews-card {
  display: none !important;
}

#videoScreen .elite-video-lab {
  padding-bottom: 14px;
}

#videoScreen .elite-video-scoreboard {
  grid-template-columns: 170px minmax(0, 1fr);
}

#videoScreen .elite-video-score {
  min-height: 118px;
}

#videoScreen .elite-video-score strong {
  font-size: clamp(2.5rem, 7vw, 3.8rem);
}

#videoScreen .elite-video-matrix div {
  min-height: 64px;
}

#videoScreen .video-biomechanics-panel .section-head {
  display: none;
}

#videoScreen .ai-fault-output {
  max-height: 420px;
  overflow: auto;
}

.assessment-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.coach-intelligence-card,
.gold-medal-coach-card,
.race-simulator-card,
.olympic-pathway-today-card,
.olympic-pathway-builder-card,
.health-risk-engine-card {
  border-top: 4px solid var(--green);
}

.olympic-pathway-today-grid,
.olympic-pathway-summary,
.pathway-pillar-grid,
.pathway-year-grid,
.pathway-guidance-grid {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.olympic-pathway-today-grid,
.pathway-guidance-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.olympic-pathway-summary,
.pathway-pillar-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pathway-year-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.olympic-pathway-today-grid > div,
.olympic-pathway-summary > div,
.pathway-pillar-card,
.pathway-year-card,
.pathway-guidance-grid > div {
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.olympic-pathway-today-grid span,
.olympic-pathway-summary span,
.pathway-pillar-card span,
.pathway-year-card span,
.pathway-guidance-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.olympic-pathway-today-grid strong,
.olympic-pathway-summary strong,
.pathway-pillar-card strong,
.pathway-year-card strong,
.pathway-guidance-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.pathway-pillar-card p {
  margin-top: 6px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.pathway-actions {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}

.gold-coach-hero,
.gold-coach-grid,
.race-simulator-summary,
.race-simulator-plan {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.gold-coach-hero {
  grid-template-columns: 1.15fr 1fr;
}

.gold-coach-grid,
.race-simulator-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.race-simulator-plan {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.race-simulator-inputs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.race-simulator-inputs label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.race-simulator-inputs input,
.race-simulator-inputs select {
  width: 100%;
  max-width: none;
}

.gold-coach-hero > div,
.gold-coach-grid > div,
.gold-coach-message,
.race-simulator-summary > div,
.race-simulator-plan > div,
.race-simulator-coach {
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.gold-coach-hero span,
.gold-coach-grid span,
.gold-coach-message span,
.race-simulator-summary span,
.race-simulator-plan span,
.race-simulator-coach span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.gold-coach-hero strong,
.gold-coach-grid strong,
.gold-coach-message strong,
.race-simulator-summary strong,
.race-simulator-plan strong,
.race-simulator-coach strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.gold-coach-hero p {
  margin-top: 6px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.4;
}

.gold-coach-actions {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}

.race-simulator-actions {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.coach-intel-hero,
.coach-intel-grid,
.health-risk-grid,
.video-scorecard-grid {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.coach-intel-hero {
  grid-template-columns: 1.2fr 1fr;
}

.coach-intel-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.health-risk-grid,
.video-scorecard-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.video-scorecard-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.coach-intel-hero > div,
.coach-intel-grid > div,
.health-risk-grid > div,
.video-scorecard-grid > div {
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.coach-intel-hero span,
.coach-intel-grid span,
.health-risk-grid span,
.video-scorecard-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.coach-intel-hero strong,
.coach-intel-grid strong,
.health-risk-grid strong,
.video-scorecard-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.coach-intel-hero p,
.health-risk-engine-card > p {
  margin-top: 6px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.4;
}

.coach-intel-actions {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}

.stroke-diagnosis-card {
  border-top: 4px solid var(--chakra);
}

.diagnosis-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.diagnosis-summary-grid div {
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.diagnosis-summary-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.diagnosis-summary-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.diagnosis-actions {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}

.diagnosis-list {
  display: grid;
  gap: 9px;
}

.diagnosis-row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 120px;
  gap: 10px;
  align-items: start;
  padding: 12px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
}

.diagnosis-row > span {
  display: inline-flex;
  justify-content: center;
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(255, 153, 51, 0.18);
  color: #7a3d00;
  font-size: 0.74rem;
  font-weight: 950;
}

.diagnosis-row p,
.diagnosis-row small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.diagnosis-row em {
  color: var(--green);
  font-style: normal;
  font-weight: 950;
  text-align: right;
}

.development-timeline-card {
  border-top: 4px solid var(--green);
}

.development-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.development-summary-grid div {
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.development-summary-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.development-summary-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.development-actions {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}

.development-timeline-list {
  display: grid;
  gap: 9px;
}

.development-timeline-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 11px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.9);
}

.development-timeline-row > span {
  display: inline-flex;
  justify-content: center;
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(7, 87, 184, 0.1);
  color: var(--chakra);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.development-timeline-row strong,
.development-timeline-row p {
  display: block;
}

.development-timeline-row p {
  margin-top: 3px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.development-timeline-row em {
  color: var(--green);
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.development-timeline-row small {
  color: var(--muted);
  font-weight: 800;
  white-space: nowrap;
}

.pb-roadmap-card {
  border-top: 4px solid var(--chakra);
}

.improvement-roadmap-card {
  border-top: 4px solid var(--green);
}

.improvement-roadmap-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.improvement-roadmap-summary div {
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.improvement-roadmap-summary span,
.roadmap-week-card span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.improvement-roadmap-summary strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.roadmap-week-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.roadmap-week-card {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
}

.roadmap-week-card strong {
  color: var(--navy);
  line-height: 1.25;
}

.roadmap-week-card p {
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.roadmap-week-card em {
  color: var(--green);
  font-style: normal;
  font-weight: 900;
  line-height: 1.3;
}

.roadmap-actions {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}

.pb-roadmap-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.pb-roadmap-summary div {
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.pb-roadmap-summary span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.pb-roadmap-summary strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.pb-roadmap-actions {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}

.pb-roadmap-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.pb-roadmap-row {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 12px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.pb-roadmap-row strong,
.pb-roadmap-row span,
.pb-roadmap-row em,
.pb-roadmap-row p {
  display: block;
}

.pb-roadmap-row span,
.pb-roadmap-row p {
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.pb-roadmap-row em {
  color: var(--green);
  font-size: 1.18rem;
  font-style: normal;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}

.coach-action-plan-card {
  border-top: 4px solid var(--chakra);
}

.coach-action-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.coach-action-summary-grid div {
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.coach-action-summary-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.coach-action-summary-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.coach-action-plan-actions {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}

.coach-action-week {
  display: grid;
  gap: 9px;
}

.coach-action-day {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 100px;
  gap: 10px;
  align-items: center;
  padding: 11px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.coach-action-day > span {
  display: inline-flex;
  justify-content: center;
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(255, 153, 51, 0.18);
  color: #7a3d00;
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.coach-action-day p {
  margin-top: 4px;
  color: var(--ink);
  font-weight: 750;
}

.coach-action-day small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-weight: 750;
}

.coach-action-day em {
  color: var(--green);
  font-style: normal;
  font-weight: 900;
  text-align: right;
}

.season-planner-card {
  border-top: 4px solid var(--green);
}

.season-summary-grid,
.season-plan-actions,
.season-week-grid {
  display: grid;
  gap: 10px;
}

.season-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 12px 0;
}

.season-summary-grid div,
.season-week-card {
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.season-summary-grid span,
.season-week-card span {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.season-summary-grid strong,
.season-week-card strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.season-plan-actions {
  grid-template-columns: 1.2fr 1fr 1fr;
  margin-bottom: 12px;
}

.season-week-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.season-week-card {
  min-height: 188px;
}

.season-week-card.is-current {
  border-color: rgba(19, 136, 8, 0.36);
  box-shadow: 0 12px 24px rgba(19, 136, 8, 0.12);
}

.season-week-card p {
  margin-top: 9px;
  color: var(--ink);
  font-weight: 760;
  line-height: 1.35;
}

.season-week-card small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-weight: 760;
  line-height: 1.35;
}

.season-week-card em {
  display: block;
  margin-top: 10px;
  color: var(--green);
  font-style: normal;
  font-weight: 900;
}

.practice-feedback-card {
  border-top: 4px solid var(--green);
}

.communication-hub-actions,
.communication-summary-grid {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.communication-hub-actions {
  grid-template-columns: 1.2fr 1fr;
}

.communication-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.communication-summary-grid div {
  min-height: 82px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.communication-summary-grid span,
.communication-summary-grid strong {
  display: block;
}

.communication-summary-grid span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.communication-summary-grid strong {
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.swimmer-reply {
  color: var(--green);
}

.practice-feedback-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.practice-feedback-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.practice-feedback-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}

.practice-feedback-list {
  display: grid;
  gap: 9px;
  margin-top: 12px;
}

.practice-feedback-row {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr) 72px;
  gap: 10px;
  align-items: center;
  padding: 11px;
  border: 1px solid rgba(7, 28, 52, 0.08);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.92);
}

.practice-feedback-row > span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
}

.practice-feedback-row p {
  margin-top: 3px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.practice-feedback-row em {
  color: var(--green);
  font-style: normal;
  font-weight: 950;
  text-align: right;
}

#biomechanicsScreen .mental-assessment-card {
  border-top: 4px solid var(--green);
}

#biomechanicsScreen .biomechanics-assessment-card,
#biomechanicsScreen .mental-assessment-card {
  display: block !important;
}

#performanceScreen .wearable-device-grid {
  display: none;
}

#performanceScreen .wearable-note,
#performanceScreen .wearable-format,
#performanceScreen .pillar-note {
  font-size: 0.82rem;
}

.video-report-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.video-report-card {
  border-top: 4px solid var(--green);
}

.before-after-video-card {
  border-top: 4px solid var(--chakra);
}

.video-compare-controls {
  display: grid;
  grid-template-columns: 1fr 1fr auto auto;
  gap: 10px;
  align-items: end;
  margin: 12px 0;
}

.video-compare-controls label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.video-compare-summary,
.video-compare-grid {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.video-compare-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.video-compare-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.video-compare-summary > div,
.video-compare-grid > div {
  min-height: 92px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(247, 251, 255, 0.94);
}

.video-compare-summary span,
.video-compare-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.video-compare-summary strong,
.video-compare-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--navy);
  line-height: 1.25;
}

.video-compare-grid p {
  margin-top: 5px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.video-report-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.video-report-grid > div {
  min-height: 92px;
  padding: 12px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.video-report-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.video-report-grid strong {
  display: block;
  margin-top: 6px;
  color: var(--ink);
  font-size: 0.94rem;
  line-height: 1.25;
}

.video-report-prescription {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 10px;
  margin: 12px 0;
}

.video-report-prescription > div {
  min-height: 106px;
  padding: 14px;
  border: 1px solid rgba(19, 136, 8, 0.18);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(240, 255, 244, 0.96), rgba(255, 255, 255, 0.9));
}

.video-report-prescription span {
  display: block;
  color: var(--green);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.video-report-prescription strong {
  display: block;
  margin-top: 7px;
  color: var(--ink);
  line-height: 1.35;
}

.video-report-section {
  padding-top: 10px;
  border-top: 1px solid rgba(7, 87, 184, 0.1);
}

.video-report-section h4 {
  margin: 0 0 8px;
}

.video-report-section p,
.review-report-line {
  color: var(--muted);
  font-weight: 750;
  line-height: 1.45;
}

.video-report-list {
  display: grid;
  gap: 8px;
}

.video-report-correction {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 10px;
  align-items: start;
  padding: 10px;
  border: 1px solid rgba(255, 153, 51, 0.22);
  border-radius: 8px;
  background: rgba(255, 250, 242, 0.9);
}

.video-report-correction > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--saffron);
  color: #1f2937;
  font-weight: 900;
}

.video-report-correction strong,
.video-report-correction p,
.video-report-correction small {
  display: block;
}

.video-report-correction p {
  margin: 4px 0;
  color: var(--ink);
}

.video-report-correction small {
  color: var(--muted);
  font-weight: 750;
}

@media (max-width: 760px) {
  .simple-action-grid,
  .account-gateway-form,
  .account-gateway-actions,
  .elite-health-grid,
  .elite-health-actions,
  .video-report-actions,
  .video-report-grid,
  .video-scorecard-grid,
  .video-compare-controls,
  .video-compare-summary,
  .video-compare-grid,
  .video-report-prescription,
  .video-command-card,
  .video-command-actions,
  .coach-intel-hero,
  .coach-intel-grid,
  .coach-intel-actions,
  .gold-coach-hero,
  .gold-coach-grid,
  .gold-coach-actions,
  .olympic-pathway-today-grid,
  .olympic-pathway-summary,
  .pathway-pillar-grid,
  .pathway-year-grid,
  .pathway-guidance-grid,
  .pathway-actions,
  .race-simulator-summary,
  .race-simulator-plan,
  .race-simulator-actions,
  .health-risk-grid,
  .assessment-actions,
  .diagnosis-summary-grid,
  .diagnosis-actions,
  .diagnosis-row,
  .development-summary-grid,
  .development-actions,
  .development-timeline-row,
  .improvement-roadmap-summary,
  .roadmap-week-grid,
  .roadmap-actions,
  .pb-roadmap-summary,
  .pb-roadmap-actions,
  .pb-roadmap-grid,
  .coach-action-summary-grid,
  .coach-action-plan-actions,
  .coach-action-day,
  .season-summary-grid,
  .season-plan-actions,
  .season-week-grid,
  .practice-feedback-grid,
  .practice-feedback-actions,
  .practice-feedback-row,
  .daily-plan-strip,
  .simple-note-grid,
  #trainingScreen .coach-controls,
  #trainingScreen .daily-drill-controls,
  #performanceScreen .performance-inputs,
  #performanceScreen .wearable-import-grid,
  #performanceScreen .wearable-device-grid,
  #performanceScreen .wearable-sim-grid,
  #performanceScreen .wearable-insight-summary,
  #performanceScreen .wearable-intelligence-actions,
  #raceScreen .meet-entry-grid,
  #raceScreen .race-command-grid,
  #settingsScreen .profile-create {
    grid-template-columns: 1fr;
  }

  .simple-action {
    min-height: 96px;
  }

  .account-gateway-head {
    display: grid;
  }

  .elite-health-main {
    display: grid;
  }

  .elite-health-score {
    width: 100%;
  }

  .daily-plan-strip strong,
  .simple-coach-note-row strong {
    white-space: normal;
  }

  #timerScreen .timer-actions {
    position: sticky;
    bottom: 58px;
    z-index: 5;
    padding: 8px;
    border: 1px solid rgba(7, 87, 184, 0.12);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
  }
}
/* Final live AI-only video analysis override. Keep this at EOF. */
#videoScreen .video-subnav,
#videoScreen .elite-video-lab,
#videoScreen .video-transport,
#videoScreen .analysis-subhead,
#videoScreen #videoCueList,
#videoScreen details.simple-details,
#videoScreen .video-marker-details,
#videoScreen .video-biomechanics-panel,
#videoScreen .before-after-video-card,
#videoScreen .saved-reviews-card {
  display: none !important;
}

#videoScreen .video-command-card,
#videoScreen .video-card,
#videoScreen .ai-fault-panel,
#videoScreen .video-report-card {
  display: block !important;
}

#videoScreen .grid.two {
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
}

#videoScreen .video-card video {
  min-height: 240px;
  border-radius: 8px;
  background: #071c34;
}

#videoScreen .ai-fault-panel {
  border-top: 4px solid var(--green);
}

#videoScreen .video-report-card {
  border-top: 4px solid var(--chakra);
}

@media (max-width: 760px) {
  #videoScreen .grid.two {
    grid-template-columns: 1fr;
  }
}
/* v139 final override: show before/after video comparison and simplify Health. */
#videoScreen .before-after-video-card {
  display: block !important;
}

#performanceScreen .sports-science-command,
#performanceScreen .biomechanics-panel,
#performanceScreen .wearable-device-grid,
#performanceScreen .wearable-note,
#performanceScreen .wearable-format,
#performanceScreen .wearable-history,
#performanceScreen .wearable-intelligence-panel,
#performanceScreen .science-grid.mental-grid,
#performanceScreen .pillar-note,
#performanceScreen .stroke-biomechanics-matrix,
#performanceScreen .biomechanics-skills,
#performanceScreen .pdf-biomechanics {
  display: none !important;
}

#performanceScreen .elite-health-command,
#performanceScreen .wearable-sync-hub,
#performanceScreen .mental-fitness-panel,
#performanceScreen .nutrition-planner {
  display: block !important;
}
/* v142 final: AI pose overlay and body-line scoring. */
.video-overlay-stage {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: #071c34;
  margin: 12px 0 8px;
}

.video-overlay-stage video {
  display: block;
  width: 100%;
  margin: 0 !important;
  border-radius: 8px;
}

#poseOverlayCanvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

.pose-overlay-toolbar {
  display: grid;
  grid-template-columns: auto minmax(140px, 1fr) 1.2fr;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
}

.pose-overlay-toolbar span {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 850;
}

.pose-overlay-toolbar select {
  min-height: 42px;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0 10px;
  color: var(--navy);
  font-weight: 850;
}

.pose-score-card {
  border-top: 4px solid var(--saffron);
}

.pose-score-grid,
.pose-coach-grid {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.pose-score-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.pose-coach-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pose-score-grid > div,
.pose-coach-grid > div {
  padding: 12px;
  border: 1px solid rgba(255, 153, 51, 0.2);
  border-radius: 8px;
  background: rgba(255, 250, 242, 0.94);
}

.pose-score-grid span,
.pose-coach-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.pose-score-grid strong,
.pose-coach-grid strong {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  line-height: 1.25;
}

.pose-coach-grid p {
  margin-top: 6px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

@media (max-width: 760px) {
  .pose-score-grid,
  .pose-coach-grid,
  .pose-overlay-toolbar {
    grid-template-columns: 1fr;
  }
}

/* v191: full-screen analysis mode and tap-to-mark-safe controls. */
#videoScreen .advanced-video-player {
  min-height: 390px !important;
  cursor: crosshair;
}

#videoScreen .advanced-player-controls {
  left: 10px !important;
  right: 10px !important;
  bottom: 10px !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  max-width: calc(100% - 20px) !important;
  box-sizing: border-box !important;
}

#videoScreen .advanced-player-controls .icon-control {
  min-width: 0 !important;
  width: 100% !important;
  padding: 0 6px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#videoScreen .advanced-player-controls strong {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
}

#videoScreen .video-phase-strip {
  bottom: 132px !important;
}

#videoScreen .video-marker-rail {
  bottom: 118px !important;
}

.advanced-video-player:fullscreen {
  width: 100vw;
  height: 100vh;
  min-height: 100vh !important;
  border-radius: 0;
  background: #020b16;
}

.advanced-video-player:fullscreen video {
  width: 100vw;
  height: 100vh;
  object-fit: contain;
}

.advanced-video-player:fullscreen .video-player-hud {
  top: 18px;
  left: 18px;
  right: 18px;
}

.advanced-video-player:fullscreen .video-phase-strip {
  left: 18px;
  right: 18px;
  bottom: 118px !important;
}

.advanced-video-player:fullscreen .video-marker-rail {
  left: 18px;
  right: 18px;
  bottom: 102px !important;
}

.advanced-video-player:fullscreen .advanced-player-controls {
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
}

.advanced-video-player:fullscreen .advanced-player-controls strong {
  grid-column: auto !important;
  justify-self: end !important;
}

@media (max-width: 760px) {
  #videoScreen .advanced-video-player {
    min-height: 380px !important;
  }

  #videoScreen .advanced-player-controls {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #videoScreen .video-phase-strip {
    bottom: 154px !important;
  }

  #videoScreen .video-marker-rail {
    bottom: 140px !important;
  }

  .advanced-video-player:fullscreen .advanced-player-controls {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .advanced-video-player:fullscreen .advanced-player-controls strong {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }
}

/* v192: body-part fault map for fast swimmer correction. */
.video-body-fault-map {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  margin: 8px 0 12px;
}

.body-fault-chip {
  display: grid;
  gap: 4px;
  min-width: 0;
  min-height: 74px;
  padding: 9px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(248, 252, 255, 0.96);
  text-align: left;
}

.body-fault-chip span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.body-fault-chip strong {
  color: var(--navy);
  font-size: 0.94rem;
}

.body-fault-chip small {
  overflow: hidden;
  color: var(--muted);
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.body-fault-chip.good {
  border-color: rgba(19, 136, 8, 0.22);
  box-shadow: inset 0 -3px 0 var(--green);
}

.body-fault-chip.watch {
  border-color: rgba(255, 153, 51, 0.34);
  box-shadow: inset 0 -3px 0 var(--saffron);
}

.body-fault-chip.fix {
  border-color: rgba(220, 38, 38, 0.26);
  box-shadow: inset 0 -3px 0 #dc2626;
}

@media (max-width: 900px) {
  .video-body-fault-map {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .video-body-fault-map {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* v193: auto video report pack and coach action plan. */
.video-report-pack {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr) auto;
  gap: 8px;
  align-items: stretch;
  margin: 8px 0 12px;
}

.video-report-pack > div {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(7, 87, 184, 0.12);
  border-radius: 8px;
  background: rgba(248, 252, 255, 0.96);
}

.video-report-pack span {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 950;
  text-transform: uppercase;
}

.video-report-pack strong {
  display: block;
  margin-top: 5px;
  overflow: hidden;
  color: var(--navy);
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.video-report-pack button {
  min-height: 100%;
  padding: 0 14px;
}

@media (max-width: 760px) {
  .video-report-pack {
    grid-template-columns: 1fr;
  }

  .video-report-pack button {
    min-height: 42px;
  }
}
