:root {
  --pro-ink: #102338;
  --pro-muted: #607083;
  --pro-line: #d7e0e8;
  --pro-line-strong: #bdcad6;
  --pro-canvas: #f3f6f8;
  --pro-surface: #ffffff;
  --pro-surface-soft: #f8fafb;
  --pro-primary: #006aa6;
  --pro-primary-dark: #004f7d;
  --pro-teal: #087f78;
  --pro-success: #177245;
  --pro-warning: #b35a00;
  --pro-danger: #b42318;
  --pro-radius: 8px;
  --pro-control-radius: 6px;
  --pro-shadow: 0 10px 28px rgba(16, 35, 56, 0.08);
}

* {
  box-sizing: border-box;
}

html {
  background: var(--pro-canvas);
}

body,
body.clean-vision,
body.essential-workspace {
  margin: 0;
  background: var(--pro-canvas) !important;
  background-image: none !important;
  color: var(--pro-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
}

body::before,
body::after {
  display: none !important;
}

:is(.home-shell, .studio-shell, .app-shell) {
  width: min(100%, 1240px) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 24px 20px 96px !important;
}

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

h1 {
  margin-bottom: 4px;
  color: var(--pro-ink);
  font-size: 30px !important;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0 !important;
}

h2 {
  color: var(--pro-ink);
  font-size: 19px !important;
  font-weight: 780;
  line-height: 1.3;
  letter-spacing: 0 !important;
}

h3 {
  color: var(--pro-ink);
  font-size: 16px !important;
  font-weight: 750;
  letter-spacing: 0 !important;
}

p,
small {
  color: var(--pro-muted);
}

a {
  color: var(--pro-primary-dark);
}

button,
.button-link,
.button-like,
.restore-file-label {
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--pro-line-strong) !important;
  border-radius: var(--pro-control-radius) !important;
  background: var(--pro-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--pro-ink) !important;
  font: inherit;
  font-size: 14px !important;
  font-weight: 720 !important;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

button:hover,
.button-link:hover,
.button-like:hover,
.restore-file-label:hover {
  border-color: var(--pro-primary) !important;
  background: #f1f7fa !important;
}

button.primary,
.button-link.primary,
.button-like.primary,
#runEliteScan,
#saveAssessmentProfile,
#scoreHealth,
#scoreMental,
#importPoseAssessment,
#saveAssessment {
  border-color: var(--pro-primary) !important;
  background: var(--pro-primary) !important;
  color: #fff !important;
}

button.primary:hover,
.button-link.primary:hover,
.button-like.primary:hover,
#runEliteScan:hover {
  border-color: var(--pro-primary-dark) !important;
  background: var(--pro-primary-dark) !important;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid #f5a524 !important;
  outline-offset: 2px;
}

input,
select,
textarea {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px !important;
  border: 1px solid var(--pro-line-strong) !important;
  border-radius: var(--pro-control-radius) !important;
  background: var(--pro-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--pro-ink);
  font: inherit;
  font-size: 15px !important;
}

textarea {
  min-height: 112px;
  resize: vertical;
}

label {
  color: var(--pro-muted);
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

label > :is(input, select, textarea) {
  margin-top: 6px;
}

input[type="checkbox"],
input[type="radio"] {
  width: 18px;
  min-height: 18px;
  margin: 0;
  padding: 0 !important;
  accent-color: var(--pro-primary);
}

input[type="range"] {
  min-height: 32px;
  padding: 0 !important;
  accent-color: var(--pro-primary);
}

input[type="file"] {
  min-height: 48px;
  padding: 5px !important;
  color: var(--pro-muted);
}

input[type="file"]::file-selector-button {
  min-height: 36px;
  margin-right: 10px;
  padding: 7px 12px;
  border: 0;
  border-radius: 5px;
  background: #e8f2f7;
  color: var(--pro-primary-dark);
  font: inherit;
  font-size: 13px;
  font-weight: 750;
}

/* Shared navigation */
:is(.studio-tabs, .assessment-nav, .app-main-nav) {
  position: fixed !important;
  z-index: 200;
  top: auto !important;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 8px max(8px, env(safe-area-inset-bottom)) !important;
  border: 0 !important;
  border-top: 1px solid var(--pro-line) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  background-image: none !important;
  box-shadow: 0 -8px 24px rgba(16, 35, 56, 0.08) !important;
  overflow: visible !important;
}

:is(.studio-tabs, .assessment-nav, .app-main-nav) > a:not(.nav-brand) {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 58px;
  padding: 9px 5px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--pro-muted) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-decoration: none;
  white-space: nowrap;
}

:is(.studio-tabs, .assessment-nav, .app-main-nav) > a:not(.nav-brand)::before {
  position: absolute;
  top: 0;
  right: 18%;
  left: 18%;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: transparent;
  content: "";
}

:is(.studio-tabs, .assessment-nav, .app-main-nav) > a.is-active:not(.nav-brand) {
  color: var(--pro-primary-dark) !important;
}

:is(.studio-tabs, .assessment-nav, .app-main-nav) > a.is-active:not(.nav-brand)::before {
  background: var(--pro-primary);
}

.nav-brand {
  display: none !important;
}

/* Shared page headers */
.studio-header,
.app-header,
.home-hero {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin: 0 0 22px !important;
  padding: 0 0 20px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pro-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.studio-header > div:first-child,
.app-header .brand > div,
.home-hero > div:first-child {
  min-width: 0;
}

.studio-header > div:first-child > a,
.home-hero > div:first-child > span,
.app-header .brand::before {
  display: block;
  margin-bottom: 6px;
  color: var(--pro-primary) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-decoration: none;
  text-transform: uppercase;
}

.studio-header p,
.app-header p,
.home-hero p {
  margin: 4px 0 0 !important;
  color: var(--pro-muted) !important;
  font-size: 15px !important;
}

.header-actions,
.home-actions,
.decision-actions,
.assessment-actions,
.report-actions,
.session-tools,
.control-grid.compact {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px !important;
}

.assessment-header .brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.assessment-header .brand > img {
  width: 44px !important;
  height: 44px !important;
  border-radius: 8px !important;
}

.assessment-header .brand::before {
  display: none;
}

/* Workspace tabs */
.pro-section-tabs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(112px, 1fr);
  gap: 4px;
  margin: 0 0 20px;
  padding: 4px;
  border: 1px solid var(--pro-line);
  border-radius: var(--pro-radius);
  background: #e9eef2;
  overflow-x: auto;
  scrollbar-width: none;
}

.pro-section-tabs::-webkit-scrollbar {
  display: none;
}

.pro-section-tabs button {
  min-height: 40px;
  padding: 8px 12px;
  border: 0 !important;
  border-radius: 5px !important;
  background: transparent !important;
  color: var(--pro-muted) !important;
  white-space: nowrap;
}

.pro-section-tabs button.is-active,
.pro-section-tabs button[aria-selected="true"] {
  background: var(--pro-surface) !important;
  box-shadow: 0 1px 3px rgba(16, 35, 56, 0.1) !important;
  color: var(--pro-primary-dark) !important;
}

.pro-ui-ready [data-pro-panel-group][hidden] {
  display: none !important;
}

/* Home */
.home-shell {
  display: grid !important;
  gap: 18px !important;
}

.home-hero {
  margin-bottom: 0 !important;
}

.home-hero h1 {
  margin: 0;
}

.home-actions {
  justify-content: flex-end;
}

.home-athlete-switch {
  min-width: 190px;
}

.home-focus {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: var(--pro-radius) !important;
  background: var(--pro-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
  overflow: hidden;
}

.home-focus article {
  display: grid !important;
  align-content: start;
  gap: 5px !important;
  min-width: 0;
  min-height: 116px;
  padding: 18px !important;
  border: 0 !important;
  border-right: 1px solid var(--pro-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.home-focus article:last-child {
  border-right: 0 !important;
}

.home-focus article > span,
.decision-main > span,
.assessment-head > span,
.race-ready-score > span,
.home-report span,
.tool-card > span,
.data-safety-status span {
  color: var(--pro-muted) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}

.home-focus strong {
  color: var(--pro-ink) !important;
  font-size: 17px !important;
  line-height: 1.3;
}

.home-focus small {
  font-size: 13px !important;
  line-height: 1.4;
}

.decision-card {
  display: grid !important;
  grid-template-columns: minmax(240px, 1.1fr) minmax(320px, 1fr);
  gap: 20px !important;
  margin: 0 !important;
  padding: 22px !important;
  border: 1px solid var(--pro-line) !important;
  border-left: 4px solid var(--pro-primary) !important;
  border-radius: var(--pro-radius) !important;
  background: var(--pro-surface) !important;
  background-image: none !important;
  box-shadow: var(--pro-shadow) !important;
}

.decision-main {
  display: grid;
  align-content: start;
  gap: 6px;
}

.decision-main strong {
  font-size: 22px !important;
  line-height: 1.25;
}

.decision-main p {
  margin: 0 !important;
}

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

.decision-grid > div,
.race-ready-grid > div,
.coach-assist-grid > div,
.coach-assist-main > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px 12px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: 6px !important;
  background: var(--pro-surface-soft) !important;
}

.decision-grid span,
.race-ready-grid span,
.coach-assist-grid span,
.coach-assist-main span {
  color: var(--pro-muted) !important;
  font-size: 11px !important;
  font-weight: 780 !important;
  text-transform: uppercase;
}

.decision-grid strong,
.race-ready-grid strong,
.coach-assist-grid strong,
.coach-assist-main strong {
  font-size: 13px !important;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.decision-card .decision-actions {
  grid-column: 1 / -1;
  padding-top: 2px;
}

.home-shell:not(.show-home-insights) :is(.home-coach-assist, .race-ready-card, .home-path, .home-report) {
  display: none !important;
}

.home-coach-assist,
.race-ready-card,
.home-report {
  margin: 0 !important;
  padding: 20px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: var(--pro-radius) !important;
  background: var(--pro-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

.race-ready-card {
  display: grid !important;
  grid-template-columns: minmax(180px, 0.55fr) minmax(0, 1.45fr);
  gap: 18px !important;
}

.race-ready-score strong {
  display: block;
  margin: 6px 0;
  color: var(--pro-primary-dark) !important;
  font-size: 36px !important;
  line-height: 1;
}

.race-ready-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px !important;
}

.race-ready-card .decision-actions {
  grid-column: 1 / -1;
}

.home-path {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.home-path a {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 3px 10px !important;
  min-width: 0;
  padding: 16px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: var(--pro-radius) !important;
  background: var(--pro-surface) !important;
  box-shadow: none !important;
  text-decoration: none;
}

.home-path a > span {
  grid-row: 1 / 3;
  align-self: start;
  color: var(--pro-primary) !important;
  font-size: 12px !important;
  font-weight: 800;
}

.home-path a > strong {
  font-size: 14px !important;
}

.home-path a > small {
  font-size: 12px !important;
}

/* Video analysis */
.studio-shell {
  display: grid !important;
  gap: 18px !important;
}

.studio-header {
  margin-bottom: 0 !important;
}

.studio-grid,
.studio-grid.lower-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 18px !important;
  margin: 0 !important;
}

.panel,
.player-panel,
#comparison,
#reportNotes {
  min-width: 0;
  margin: 0 !important;
  padding: 22px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: var(--pro-radius) !important;
  background: var(--pro-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

.section-title,
.assessment-section-head,
.assessment-head,
.coach-answer-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.section-title {
  justify-content: flex-start !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
}

.section-title > span,
.assessment-section-head > div > span {
  display: inline-flex !important;
  flex: 0 0 28px;
  align-items: center;
  justify-content: center;
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #e6f1f6 !important;
  color: var(--pro-primary-dark) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.section-title > div,
.assessment-section-head > div {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.section-title h2,
.assessment-section-head h2 {
  margin: 0 !important;
}

.section-title p,
.compact-title p,
.mini-title p {
  display: none !important;
}

.upload-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
  margin: 0 0 18px !important;
}

.upload-row label {
  display: grid !important;
  gap: 4px !important;
  min-width: 0;
}

.guided-capture {
  display: grid !important;
  gap: 12px !important;
  margin: 0 0 20px !important;
  padding: 16px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--pro-line) !important;
  border-bottom: 1px solid var(--pro-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

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

.capture-checks {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px !important;
}

.capture-checks > div {
  padding: 10px 12px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: 6px !important;
  background: var(--pro-surface-soft) !important;
}

.capture-checks span {
  color: var(--pro-muted) !important;
  font-size: 11px !important;
  font-weight: 780 !important;
  text-transform: uppercase;
}

.capture-checks strong {
  font-size: 13px !important;
  line-height: 1.35;
}

.video-stage,
.compare-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 0 !important;
  border: 1px solid #20364a !important;
  border-radius: 6px !important;
  background: #08131d !important;
  box-shadow: none !important;
  overflow: hidden;
}

.video-stage video,
.compare-stage video {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.coach-answer-panel,
.pose-trust-card,
.auto-assessment,
.clean-coach-report,
.accuracy-gate,
.performance-intel,
.ai-visible-results,
.world-analysis-engine,
.olympic-film-room,
.live-coach-panel,
.race-predictor,
.evidence-review,
.coach-decision-center,
.coach-assist-plan,
.biomech-engine,
.elite-verdict,
.ai-compare-lab,
.ai-report-center,
.ai-brain-panel,
.swimmer-memory-panel {
  margin: 18px 0 0 !important;
  padding: 16px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--pro-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.coach-answer-grid,
.pose-trust-grid,
.assessment-grid,
.clean-report-grid,
.accuracy-grid,
.report-summary-grid,
.compare-metrics,
.retest-score-grid,
.proof-score-grid,
.ai-brain-grid,
.swimmer-memory-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px !important;
}

:is(.coach-answer-grid, .pose-trust-grid, .assessment-grid, .clean-report-grid, .accuracy-grid, .report-summary-grid, .compare-metrics, .retest-score-grid, .proof-score-grid, .ai-brain-grid, .swimmer-memory-grid) > div {
  min-width: 0;
  padding: 10px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: 6px !important;
  background: var(--pro-surface-soft) !important;
}

:is(.coach-answer-grid, .pose-trust-grid, .assessment-grid, .clean-report-grid, .accuracy-grid, .report-summary-grid, .compare-metrics, .retest-score-grid, .proof-score-grid, .ai-brain-grid, .swimmer-memory-grid) span {
  color: var(--pro-muted) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
}

:is(.coach-answer-grid, .pose-trust-grid, .assessment-grid, .clean-report-grid, .accuracy-grid, .report-summary-grid, .compare-metrics, .retest-score-grid, .proof-score-grid, .ai-brain-grid, .swimmer-memory-grid) strong {
  display: block;
  margin-top: 3px;
  font-size: 13px !important;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.player-summary-strip {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) minmax(170px, 1.4fr) auto;
  gap: 6px !important;
  margin: 14px 0 0 !important;
  padding: 10px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: 6px !important;
  background: var(--pro-surface-soft) !important;
  box-shadow: none !important;
}

.player-summary-strip > div,
.player-summary-strip label {
  min-width: 0;
  padding: 4px !important;
  border: 0 !important;
  background: transparent !important;
}

.player-summary-strip span {
  color: var(--pro-muted) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
}

.player-summary-strip strong {
  display: block;
  font-size: 12px !important;
  overflow-wrap: anywhere;
}

.player-summary-strip select {
  min-height: 36px;
  margin-top: 3px;
  padding: 6px 8px !important;
  font-size: 12px !important;
}

.actual-evidence-panel {
  margin: 18px 0 0 !important;
  padding: 16px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--pro-line) !important;
  background: transparent !important;
}

.actual-evidence-head span {
  display: block;
  color: var(--pro-muted);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.actual-evidence-head strong {
  display: block;
  margin-top: 4px;
  color: var(--pro-ink);
  font-size: 13px;
  line-height: 1.4;
}

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

.actual-evidence-card {
  min-width: 0;
  border: 1px solid var(--pro-line);
  border-radius: 6px;
  overflow: hidden;
  background: var(--pro-surface-soft);
}

.actual-evidence-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #08131d;
}

.actual-evidence-card div {
  display: grid;
  gap: 3px;
  padding: 8px;
}

.actual-evidence-card span {
  color: var(--pro-muted);
  font-size: 10px;
  font-weight: 800;
}

.actual-evidence-card strong {
  color: var(--pro-ink);
  font-size: 12px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

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

body.essential-workspace:not(.show-advanced-workspace) :is(
  .analysis-panel,
  .pose-trust-card,
  .auto-assessment,
  .clean-coach-report,
  .accuracy-gate,
  .visual-tools,
  .performance-intel,
  .ai-visible-results,
  .world-analysis-engine,
  .olympic-film-room,
  .live-coach-panel,
  .race-predictor,
  .evidence-review,
  .coach-decision-center,
  .coach-assist-plan,
  .biomech-engine,
  .elite-verdict,
  .proof-score-engine,
  .race-3d-auto-compare,
  .improvement-lab,
  .ai-brain-panel,
  .swimmer-memory-panel,
  .correction-drill-match,
  .retest-proof-card,
  .coach-session-summary,
  .action-plan-lab
) {
  display: none !important;
}

body.show-advanced-workspace .analysis-panel {
  display: block !important;
}

body.show-advanced-workspace .studio-grid[data-pro-panel="analysis"] {
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.65fr) !important;
}

body.show-advanced-workspace #toggleAdvancedWorkspace {
  border-color: var(--pro-primary) !important;
  background: #e7f2f7 !important;
  color: var(--pro-primary-dark) !important;
}

.session-tools {
  margin-top: 14px !important;
  padding: 12px 0 0 !important;
  border-top: 1px solid var(--pro-line) !important;
  background: transparent !important;
}

.session-tools #sessionStatus {
  margin-left: auto;
  color: var(--pro-muted);
  font-size: 12px;
}

.compare-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
}

.compare-stage > span {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px 7px;
  border-radius: 4px;
  background: rgba(8, 19, 29, 0.84);
  color: #fff;
  font-size: 11px;
  font-weight: 750;
}

#comparison > h2,
#reportNotes > h2 {
  margin-bottom: 16px !important;
}

.report-actions {
  margin-top: 14px !important;
}

/* Assessments */
.passport-shell {
  display: grid !important;
  gap: 18px !important;
}

.assessment-header {
  margin-bottom: 0 !important;
}

.passport-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 20px !important;
  align-items: center;
  margin: 0 !important;
  padding: 18px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pro-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.passport-id {
  display: flex !important;
  align-items: center;
  gap: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.passport-id > img {
  width: 54px !important;
  height: 54px !important;
  border-radius: 8px !important;
  object-fit: cover;
}

.passport-id span,
.passport-score span {
  color: var(--pro-muted) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
}

.passport-id strong {
  display: block;
  margin: 2px 0;
  font-size: 20px !important;
}

.passport-id p {
  margin: 0 !important;
  font-size: 13px !important;
}

.passport-score {
  display: grid !important;
  gap: 3px !important;
  justify-items: end;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.passport-score strong {
  color: var(--pro-primary-dark) !important;
  font-size: 34px !important;
  line-height: 1;
}

.assessment-workspace {
  display: grid !important;
  gap: 16px !important;
  margin: 0 !important;
}

.assessment-workspace > .card,
.assessment-advanced {
  margin: 0 !important;
  padding: 22px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: var(--pro-radius) !important;
  background: var(--pro-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

.assessment-section-head {
  margin-bottom: 18px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--pro-line) !important;
}

.assessment-section-head > div {
  min-width: 0;
}

.assessment-section-head > strong {
  color: var(--pro-muted) !important;
  font-size: 12px !important;
}

.athlete-switcher,
.form-grid,
.assessment-form-grid,
.mental-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px !important;
}

.athlete-switcher {
  grid-template-columns: minmax(220px, 1fr) auto auto auto;
  align-items: end;
  margin-bottom: 18px !important;
  padding: 14px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: 6px !important;
  background: var(--pro-surface-soft) !important;
}

.danger-action {
  border-color: #d7a4a4 !important;
  color: #9f2f2f !important;
  background: #fff !important;
}

.danger-action:hover {
  border-color: #b64040 !important;
  background: #fff5f5 !important;
}

#assessmentSwimmerAge {
  display: block;
  margin-top: 5px;
  color: var(--pro-muted);
  font-size: 11px;
  font-weight: 650;
}

.profile-subsection {
  margin: 18px 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--pro-line);
}

.profile-subsection > summary {
  margin-bottom: 14px;
  color: var(--pro-ink);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.profile-subsection:not([open]) > summary {
  margin-bottom: 0;
}

.form-span-all {
  grid-column: 1 / -1;
}

.coach-profile-preview {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--pro-line);
}

.coach-profile-preview img {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 6px;
  object-fit: cover;
}

.coach-profile-preview span {
  display: block;
  color: var(--pro-muted);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.coach-profile-preview strong {
  display: block;
  margin-top: 3px;
  color: var(--pro-ink);
  font-size: 13px;
}

.athlete-switcher > span {
  align-self: center;
  color: var(--pro-muted);
  font-size: 12px;
}

.assessment-metric-grid,
.integrated-score-grid,
.snapshot-grid.passport-snapshot {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px !important;
}

:is(.assessment-metric-grid, .integrated-score-grid, .snapshot-grid.passport-snapshot) > div,
.evidence-decision > div,
.assessment-result-line {
  min-width: 0;
  padding: 12px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: 6px !important;
  background: var(--pro-surface-soft) !important;
}

:is(.assessment-metric-grid, .integrated-score-grid, .snapshot-grid.passport-snapshot) span,
.evidence-decision span {
  color: var(--pro-muted) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
}

:is(.assessment-metric-grid, .integrated-score-grid, .snapshot-grid.passport-snapshot) strong,
.evidence-decision strong {
  display: block;
  margin-top: 3px;
  font-size: 13px !important;
  overflow-wrap: anywhere;
}

.evidence-decision {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px !important;
  margin-top: 10px !important;
}

.assessment-result-line {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 14px 0 !important;
}

.mental-grid label {
  display: grid !important;
  grid-template-columns: minmax(100px, 0.7fr) minmax(120px, 1fr) 32px;
  align-items: center;
  gap: 10px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: 6px !important;
  background: var(--pro-surface-soft) !important;
}

.mental-grid input {
  margin: 0 !important;
}

.mental-grid output {
  color: var(--pro-primary-dark);
  font-weight: 800;
  text-align: right;
}

.biomechanics-assessment-list {
  display: grid !important;
  gap: 8px !important;
  margin: 14px 0 !important;
}

.assessment-advanced > summary {
  color: var(--pro-ink);
  font-size: 15px;
  font-weight: 760;
}

.assessment-advanced[open] > summary {
  margin-bottom: 16px;
}

.assessment-advanced .passport-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
}

.assessment-advanced .passport-grid > .card {
  padding: 16px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: 6px !important;
  background: var(--pro-surface-soft) !important;
  box-shadow: none !important;
}

/* Tools */
.advanced-hero {
  margin: 0 !important;
  padding: 18px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pro-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.useful-tools {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.useful-tools > .section-title > span {
  display: none !important;
}

.toolkit-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
}

.tool-card {
  min-width: 0;
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: var(--pro-radius) !important;
  background: var(--pro-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

.tool-card h2 {
  margin-bottom: 14px !important;
}

.tool-fields,
.check-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
  margin-bottom: 12px !important;
}

.check-grid label {
  display: flex !important;
  align-items: center;
  gap: 8px !important;
  padding: 10px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: 6px !important;
  background: var(--pro-surface-soft) !important;
}

.tool-card > strong:last-child,
.data-safety-status {
  display: block;
  margin-top: 12px;
  padding: 10px 12px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: 6px !important;
  background: var(--pro-surface-soft) !important;
  color: var(--pro-ink);
  font-size: 13px !important;
}

.daily-builder-grid,
.weekly-builder-grid,
.data-safety-grid {
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr) !important;
}

.daily-plan-output {
  display: grid !important;
  gap: 8px !important;
}

.daily-plan-output > div {
  padding: 10px 12px !important;
  border: 1px solid var(--pro-line) !important;
  border-radius: 6px !important;
  background: var(--pro-surface-soft) !important;
}

/* Shared athlete context keeps every workspace on the same swimmer record. */
.athlete-context {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(190px, 0.85fr) minmax(280px, 1.35fr);
  gap: 0;
  align-items: stretch;
  margin: 0 0 18px;
  overflow: hidden;
  border: 1px solid var(--pro-line);
  border-radius: 8px;
  background: var(--pro-surface);
}

.athlete-context > div {
  min-width: 0;
  padding: 13px 16px;
}

.athlete-context > div + div {
  border-left: 1px solid var(--pro-line);
}

.athlete-context-label {
  display: block;
  margin-bottom: 3px;
  color: var(--pro-muted);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.3;
  text-transform: uppercase;
}

.athlete-context strong,
.athlete-context select {
  color: var(--pro-ink);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
}

.athlete-context small {
  display: block;
  margin-top: 3px;
  overflow-wrap: anywhere;
  color: var(--pro-muted);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.4;
}

.athlete-context-select {
  width: 100%;
  height: 34px;
  margin: 0;
  padding: 4px 30px 4px 9px !important;
  border: 1px solid var(--pro-line-strong) !important;
  border-radius: 6px !important;
  background-color: #fff !important;
}

.athlete-context-evidence > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.athlete-context-evidence progress {
  display: block;
  width: 100%;
  height: 6px;
  margin: 7px 0 5px;
  overflow: hidden;
  border: 0;
  border-radius: 3px;
  background: #e5ebf0;
  accent-color: var(--pro-accent);
}

.athlete-context-evidence progress::-webkit-progress-bar {
  background: #e5ebf0;
}

.athlete-context-evidence progress::-webkit-progress-value {
  background: var(--pro-accent);
}

.athlete-context-next {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-left: 3px solid var(--pro-accent) !important;
}

.athlete-context-action {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid var(--pro-line-strong);
  border-radius: 6px;
  color: var(--pro-accent-strong);
  background: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.athlete-context-action:hover {
  border-color: var(--pro-accent);
  background: var(--pro-accent-soft);
}

.has-athlete-context .passport-hero {
  display: none !important;
}

/* Status surfaces */
.app-status-banner {
  border-radius: 6px !important;
  box-shadow: none !important;
}

@media (min-width: 960px) {
  body {
    padding-left: 208px !important;
  }

  :is(.home-shell, .studio-shell, .app-shell) {
    padding: 34px 32px 56px !important;
  }

  :is(.studio-tabs, .assessment-nav, .app-main-nav) {
    top: 0 !important;
    right: auto;
    bottom: 0;
    left: 0;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    width: 208px !important;
    height: auto !important;
    padding: 22px 14px !important;
    border-top: 0 !important;
    border-right: 1px solid var(--pro-line) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    justify-content: flex-start !important;
  }

  .nav-brand {
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 56px;
    margin: 0 0 22px;
    padding: 8px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--pro-ink) !important;
    font-size: 14px !important;
    font-weight: 800;
    text-decoration: none;
  }

  .nav-brand img {
    width: 36px;
    height: 36px;
    border-radius: 7px;
  }

  :is(.studio-tabs, .assessment-nav, .app-main-nav) > a:not(.nav-brand) {
    justify-content: flex-start;
    min-height: 44px;
    margin-bottom: 4px;
    padding: 10px 12px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
  }

  :is(.studio-tabs, .assessment-nav, .app-main-nav) > a.is-active:not(.nav-brand) {
    background: #eaf3f7 !important;
  }

  :is(.studio-tabs, .assessment-nav, .app-main-nav) > a:not(.nav-brand)::before {
    top: 10px;
    right: auto;
    bottom: 10px;
    left: 0;
    width: 3px;
    height: auto;
    border-radius: 0 3px 3px 0;
  }
}

@media (max-width: 760px) {
  :is(.home-shell, .studio-shell, .app-shell) {
    padding: 18px 14px 92px !important;
  }

  h1 {
    font-size: 26px !important;
  }

  .studio-header,
  .app-header,
  .home-hero {
    display: grid !important;
    align-items: start !important;
    gap: 14px !important;
    padding-bottom: 16px !important;
  }

  .header-actions,
  .home-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .header-actions > :only-child,
  .assessment-header > .button-like {
    width: 100%;
  }

  .header-actions #runEliteScan,
  .home-actions .primary {
    grid-column: 1 / -1;
  }

  .athlete-context {
    grid-template-columns: minmax(0, 1fr) 112px;
    margin-bottom: 16px;
  }

  .athlete-context > div {
    padding: 12px;
  }

  .athlete-context-next {
    grid-column: 1 / -1;
    border-top: 1px solid var(--pro-line);
    border-left: 3px solid var(--pro-accent) !important;
  }

  .home-athlete-switch {
    grid-column: 1 / -1;
    min-width: 0;
  }

  .home-focus {
    grid-template-columns: 1fr;
  }

  .home-focus article {
    min-height: 0;
    padding: 14px 16px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--pro-line) !important;
  }

  .home-focus article:last-child {
    border-bottom: 0 !important;
  }

  .decision-card {
    grid-template-columns: 1fr;
    padding: 18px !important;
  }

  .decision-card .decision-actions {
    grid-column: auto;
  }

  .decision-main strong {
    font-size: 20px !important;
  }

  .home-path {
    grid-template-columns: 1fr !important;
  }

  .race-ready-card {
    grid-template-columns: 1fr;
  }

  .race-ready-card .decision-actions {
    grid-column: auto;
  }

  .pro-section-tabs {
    grid-auto-flow: row;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-columns: auto;
    overflow: visible;
  }

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

  .tools-view-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .panel,
  .player-panel,
  #comparison,
  #reportNotes,
  .assessment-workspace > .card,
  .assessment-advanced,
  .tool-card {
    padding: 16px !important;
  }

  .upload-row,
  .capture-checks,
  .compare-grid,
  .evidence-decision,
  .athlete-switcher,
  .form-grid,
  .assessment-form-grid,
  .mental-grid,
  .tool-fields,
  .daily-builder-grid,
  .weekly-builder-grid,
  .data-safety-grid {
    grid-template-columns: 1fr !important;
  }

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

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

  .player-summary-strip .evidence-focus-control,
  .player-summary-strip #toggleEvidenceView {
    grid-column: span 3;
  }

  .coach-answer-grid,
  .pose-trust-grid,
  .assessment-grid,
  .clean-report-grid,
  .accuracy-grid,
  .report-summary-grid,
  .compare-metrics,
  .retest-score-grid,
  .proof-score-grid,
  .ai-brain-grid,
  .swimmer-memory-grid,
  .assessment-metric-grid,
  .integrated-score-grid,
  .snapshot-grid.passport-snapshot {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .session-tools #sessionStatus {
    flex-basis: 100%;
    margin-left: 0;
  }

  body.show-advanced-workspace .studio-grid[data-pro-panel="analysis"] {
    grid-template-columns: 1fr !important;
  }

  .passport-hero {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px !important;
  }

  .passport-score {
    min-width: 82px;
  }

  .athlete-switcher {
    align-items: stretch;
  }

  .assessment-advanced .passport-grid,
  .toolkit-grid {
    grid-template-columns: 1fr !important;
  }

  .mental-grid label {
    grid-template-columns: 98px minmax(90px, 1fr) 28px !important;
  }
}

@media (max-width: 390px) {
  :is(.home-shell, .studio-shell, .app-shell) {
    padding-right: 11px !important;
    padding-left: 11px !important;
  }

  .pro-section-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .tools-view-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .coach-answer-grid,
  .assessment-grid,
  .report-summary-grid,
  .assessment-metric-grid,
  .integrated-score-grid {
    grid-template-columns: 1fr !important;
  }

  .decision-grid,
  .race-ready-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  body {
    padding-left: 0 !important;
    background: #fff !important;
  }

  :is(.home-shell, .studio-shell, .app-shell) {
    max-width: none !important;
    padding: 0 !important;
  }

  .pro-section-tabs,
  .header-actions,
  .home-actions {
    display: none !important;
  }
}
