/* Fitness workspace styles are isolated from the shared planner shell. */
.fitness-page-heading { align-items: start; }
.fitness-tabs { position: relative; z-index: 10; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin-bottom: 16px; padding: 4px; overflow: visible; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.fitness-tabs::-webkit-scrollbar { display: none; }
.fitness-tabs button { min-width: 0; min-height: 40px; padding: 9px 12px; border: 0; border-radius: 6px; color: var(--muted); background: transparent; font-size: .8rem; font-weight: 850; white-space: nowrap; }
.fitness-tabs button:hover, .fitness-tabs button.active { color: var(--ink); background: var(--focus-hover); }
.fitness-menu-item { position: relative; min-width: 0; }
.fitness-menu-item:hover, .fitness-menu-item:focus-within { z-index: 30; }
.fitness-menu-item > .fitness-menu-trigger { width: 100%; }
.fitness-submenu { position: absolute; top: calc(100% - 1px); left: 0; z-index: 20; display: grid; min-width: 180px; padding: 5px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(-4px); transition: opacity 180ms ease, transform 180ms ease; }
.fitness-submenu button { flex: none; width: 100%; min-height: 34px; padding: 8px 10px; text-align: left; }
.fitness-menu-item:hover .fitness-submenu, .fitness-menu-item:focus-within .fitness-submenu, .fitness-menu-item.open .fitness-submenu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.fitness-submenu button.active { color: var(--ink); background: var(--focus-hover); }
.fitness-tab-panel { min-width: 0; }
.fitness-tab-panel > * { min-width: 0; }
#fitnessProgramActiveView { display: grid; gap: 16px; align-content: start; }
#fitnessProgramManageView { display: grid; gap: 16px; align-content: start; }
#fitnessWorkoutTab { display: grid; gap: 16px; align-content: start; }
.fitness-dashboard-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; }
.fitness-program-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 16px; margin-bottom: 0; }
.fitness-program-pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 14px; color: var(--muted); font-size: .76rem; }
.fitness-program-pagination .text-button:disabled { opacity: .45; cursor: not-allowed; }
.fitness-program-summary { display: grid; gap: 5px; min-height: 78px; margin-bottom: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-soft); }
.fitness-program-summary strong { font-size: 1.1rem; }
.fitness-program-summary span, .fitness-program-summary small { color: var(--muted); line-height: 1.4; }
.fitness-program-switcher, .fitness-day-switcher { display: flex; align-items: end; gap: 10px; margin-bottom: 14px; }
.fitness-program-switcher label, .fitness-day-switcher label { display: grid; flex: 1; gap: 6px; color: var(--muted); font-size: .76rem; font-weight: 750; }
.fitness-form-stack { display: grid; gap: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.fitness-form-stack label { display: grid; gap: 6px; color: var(--muted); font-size: .76rem; font-weight: 750; }
.fitness-form-stack .button { justify-self: start; }
.fitness-exercise-form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.fitness-current-day-adder { margin-top: 0; padding-top: 0; border-top: 0; }
.fitness-exercise-picker-button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 40px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); background: var(--surface-muted); text-align: left; font: inherit; cursor: pointer; }
.fitness-exercise-picker-button:hover, .fitness-exercise-picker-button:focus-visible { border-color: var(--accent); color: var(--ink); outline: none; }
.fitness-exercise-picker-dialog { width: min(1120px, calc(100% - 24px)); max-height: min(90vh, 900px); overflow: hidden; padding: 0; border: 0; border-radius: 8px; color: var(--ink); background: var(--dialog-surface); box-shadow: 0 24px 80px rgba(0, 0, 0, .24); }
.fitness-exercise-picker-dialog[open] { display: flex; }
.fitness-exercise-picker-dialog::backdrop { background: var(--dialog-backdrop); }
.fitness-exercise-picker-content { display: flex; box-sizing: border-box; width: 100%; min-height: 0; height: min(88vh, 860px); max-height: min(88vh, 860px); flex: 1 1 auto; flex-direction: column; overflow: hidden; padding: 24px; }
.fitness-exercise-picker-toolbar { display: flex; align-items: end; gap: 10px; margin-bottom: 16px; }
.fitness-exercise-picker-toolbar label, .fitness-custom-exercise-grid label { display: grid; flex: 1; gap: 6px; color: var(--muted); font-size: .76rem; font-weight: 750; }
.fitness-exercise-picker-toolbar .button { flex: 0 0 auto; }
.fitness-exercise-picker-layout { display: grid; min-height: 0; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); flex: 1 1 auto; gap: 18px; align-items: stretch; }
.fitness-exercise-picker-muscle-panel { display: grid; align-self: start; gap: 10px; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-muted); }
.fitness-exercise-picker-muscle-heading { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.fitness-exercise-picker-muscle-heading strong { font-size: .86rem; }
.fitness-exercise-picker-muscle-heading .text-button { flex: 0 0 auto; padding: 0; }
.fitness-exercise-picker-muscle-map { display: grid; min-height: 390px; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: color-mix(in srgb, var(--surface) 82%, var(--paper)); }
.fitness-exercise-picker-muscle-map .fitness-body-svg { width: auto; height: min(370px, 52vh); max-height: 370px; }
.fitness-exercise-picker-muscle-map .fitness-body-label { font-size: 3.2px; }
.fitness-exercise-picker-list { display: grid; min-width: 0; min-height: 0; gap: 16px; overflow-x: hidden; overflow-y: auto; padding-right: 6px; scrollbar-gutter: stable; }
.fitness-exercise-picker-group { display: grid; gap: 7px; }
.fitness-exercise-picker-group h3 { margin: 0; color: var(--muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.fitness-exercise-picker-items { display: grid; gap: 6px; }
.fitness-exercise-picker-item { display: flex; align-items: stretch; gap: 8px; padding: 0; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
.fitness-exercise-choice { display: grid; flex: 1; gap: 4px; min-width: 0; padding: 11px 12px; border: 0; color: var(--ink); background: transparent; text-align: left; font: inherit; cursor: pointer; }
.fitness-exercise-choice:hover, .fitness-exercise-choice:focus-visible { background: var(--focus-hover); outline: none; }
.fitness-exercise-choice strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fitness-exercise-choice span { color: var(--muted); font-size: .72rem; }
.fitness-exercise-picker-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 8px 10px 8px 0; }
.fitness-custom-exercise-form { display: grid; gap: 14px; margin-bottom: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-muted); }
.fitness-custom-exercise-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 10px; }
.fitness-custom-exercise-grid .wide { grid-column: 1 / -1; }
.fitness-custom-exercise-grid select[multiple] { min-height: 116px; }
.fitness-exercise-form label { display: grid; flex: 1 1 180px; gap: 6px; color: var(--muted); font-size: .76rem; font-weight: 750; }
.fitness-exercise-form .button { flex: 0 0 auto; }
.fitness-current-day-panel { margin-top: 0; }
.fitness-current-day-panel .section-heading { align-items: center; }
.fitness-current-day-actions { display: flex; justify-content: flex-end; margin-top: 14px; }
.fitness-program-exercise-list { display: grid; gap: 10px; }
.fitness-program-exercise-card { display: grid; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-soft); }
.fitness-program-exercise-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.fitness-program-exercise-heading > div { display: grid; gap: 4px; min-width: 0; }
.fitness-program-exercise-heading strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fitness-program-exercise-heading span { color: var(--muted); font-size: .74rem; }
.fitness-program-exercise-fields { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.fitness-program-exercise-fields label { display: grid; min-width: 0; gap: 5px; color: var(--muted); font-size: .72rem; font-weight: 750; }
.fitness-program-exercise-fields .wide { grid-column: 1 / -1; }
.fitness-grid td strong { font-size: .8rem; }
.fitness-program-list-panel { margin-bottom: 0; }
.fitness-program-list { display: grid; gap: 8px; }
.fitness-program-list-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-soft); }
.fitness-program-list-item.active { border-color: var(--accent); background: var(--focus-hover); }
.fitness-program-list-main { display: grid; gap: 4px; min-width: 0; }
.fitness-program-list-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.fitness-program-list-item strong { font-size: .88rem; }
.fitness-program-list-item span, .fitness-program-list-item small { color: var(--muted); line-height: 1.35; }
.fitness-program-list-item small { font-size: .72rem; }
.fitness-program-list-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 9px; flex: 0 0 auto; }
.fitness-program-list-actions .danger { color: var(--danger, #b34a4a); }
.fitness-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.fitness-form-grid label { min-width: 0; }
.fitness-exercise-adder { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.fitness-exercise-adder > .eyebrow { margin-bottom: 10px; }
.fitness-analysis-range { display: grid; min-width: 150px; gap: 5px; color: var(--muted); font-size: .72rem; font-weight: 750; }
.fitness-analysis-range select { min-height: 38px; padding-block: 8px; }
.fitness-analysis-controls { display: flex; align-items: end; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.fitness-analysis-data-menu { flex: 0 0 auto; }
#fitnessAnalysisTab, #fitnessBodyTab { display: grid; align-content: start; gap: 16px; min-width: 0; }
#fitnessAnalysisTab .panel, #fitnessBodyTab .panel { min-width: 0; }
#fitnessAnalysisTab .fitness-dashboard-grid, #fitnessBodyTab .fitness-dashboard-grid { align-items: stretch; }
#fitnessAnalysisTab > .fitness-dashboard-grid, #fitnessBodyTab > .fitness-dashboard-grid,
#fitnessAnalysisTab > .panel, #fitnessBodyTab > .panel { margin-bottom: 0; }
#fitnessBodyForm { align-items: start; }
#fitnessBodyTab > .fitness-dashboard-grid { grid-template-columns: 1fr; }
#fitnessBodyTab .form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
#fitnessBodyTab .form-grid label { min-width: 0; }
#fitnessBodyTab .form-grid .wide { grid-column: 1 / -1; }
#fitnessBodyTab .fitness-grid-wrap { margin-top: 0; }
.fitness-focus-panel { background: var(--surface-soft); }
.fitness-quick-controls, .fitness-inline-tools, .fitness-inline-form, .fitness-log-form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.fitness-quick-controls { margin-bottom: 16px; }
.fitness-quick-controls label, .fitness-inline-tools > label, .fitness-inline-form label, .fitness-log-form label { display: grid; flex: 1 1 130px; gap: 6px; color: var(--muted); font-size: .76rem; font-weight: 750; }
.fitness-inline-tools { align-items: end; margin-bottom: 12px; }
.fitness-inline-form { flex: 1 1 460px; }
.fitness-inline-form .button { flex: 0 0 auto; }
.fitness-exercise-form { margin-bottom: 18px; }
.fitness-quick-list { display: grid; gap: 9px; margin-bottom: 16px; }
.fitness-quick-card { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
.fitness-quick-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.fitness-quick-heading div, .fitness-summary, .fitness-stat { display: grid; gap: 4px; }
.fitness-quick-heading strong { font-size: .88rem; }
.fitness-quick-heading span, .fitness-quick-heading small { color: var(--muted); font-size: .74rem; }
.fitness-quick-fields { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.fitness-quick-fields label { display: grid; gap: 5px; color: var(--muted); font-size: .7rem; font-weight: 750; }
.fitness-quick-fields input { min-width: 0; padding: 8px; font-size: .78rem; }
.fitness-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.fitness-stat { min-height: 80px; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-muted); }
.fitness-stat strong { font-size: 1.15rem; }
.fitness-stat span { color: var(--muted); font-size: .74rem; line-height: 1.3; }
.fitness-grid-wrap { width: 100%; overflow-x: auto; margin-top: 18px; border: 1px solid var(--line); border-radius: 6px; }
.fitness-grid { width: max(100%, 1080px); border-collapse: collapse; font-size: .76rem; }
.fitness-log-grid { width: max(100%, 1380px); }
.fitness-body-grid { width: max(100%, 1560px); }
.fitness-grid th, .fitness-grid td { min-width: 84px; padding: 7px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.fitness-grid th { color: var(--muted); background: var(--surface-muted); font-size: .68rem; text-transform: uppercase; white-space: nowrap; }
.fitness-grid td:first-child, .fitness-grid th:first-child { min-width: 150px; }
.fitness-grid input { min-width: 74px; padding: 7px 8px; border-radius: 4px; font-size: .76rem; }
.fitness-grid-note { margin-top: 12px; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.fitness-analysis-note { display: grid; align-content: center; min-height: 100%; color: var(--muted); font-size: .84rem; line-height: 1.5; }
.fitness-analysis-note p { margin: 0 0 10px; }
.fitness-analysis-note p:last-child { margin-bottom: 0; }
.fitness-muscle-map-card { overflow: visible; }
.fitness-muscle-map-layout { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(360px, 1.1fr); gap: 20px; align-items: start; }
.fitness-muscle-map-visual { display: grid; gap: 12px; min-width: 0; overflow: visible; padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: color-mix(in srgb, var(--surface-muted) 86%, var(--paper)); }
.fitness-muscle-map-toolbar { display: flex; gap: 6px; }
.fitness-muscle-map-toolbar button { min-height: 34px; padding-inline: 13px; }
.fitness-muscle-map-toolbar button.active { color: var(--ink); border-color: var(--accent); background: var(--focus-hover); }
.fitness-muscle-map { display: grid; width: 100%; min-height: 660px; place-items: center; overflow: visible; padding: 6px 0 0; }
.fitness-body-svg { display: block; width: auto; height: min(640px, 72vh); max-width: 100%; max-height: 640px; aspect-ratio: 35 / 93; overflow: visible; }
.fitness-muscle-map-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 16px; color: var(--muted); font-size: .66rem; }
.fitness-muscle-map-legend span { display: inline-flex; align-items: center; gap: 5px; }
.fitness-muscle-legend-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--accent); }
.fitness-muscle-legend-dot.empty { opacity: .18; }
.fitness-muscle-legend-dot.filled { opacity: .82; }
.fitness-body-head { fill: var(--surface-soft); stroke: var(--line); stroke-width: 2.4; }
.fitness-body-base { fill: color-mix(in srgb, var(--surface-soft) 82%, var(--accent) 18%); stroke: color-mix(in srgb, var(--line) 78%, var(--accent) 22%); stroke-width: 2.4; opacity: .78; }
.fitness-body-base path:not(.fitness-body-separator) { stroke-linejoin: round; }
.fitness-body-hair { fill: var(--ink) !important; stroke: none !important; opacity: .9; }
.fitness-body-separator { fill: none; stroke: var(--surface-muted); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.fitness-body-background { fill: var(--body-neutral); stroke: var(--body-neutral-stroke); stroke-width: .12; opacity: 1; pointer-events: none; }
.fitness-body-background path { vector-effect: non-scaling-stroke; }
.fitness-body-outline { fill: none; stroke: var(--line); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fitness-muscle-target { cursor: pointer; }
.fitness-muscle-shape { fill: var(--accent); stroke: var(--surface-soft); stroke-width: .12; stroke-linejoin: round; vector-effect: non-scaling-stroke; pointer-events: none; opacity: .18; outline: none; transition: opacity 180ms ease, filter 180ms ease; }
.fitness-muscle-shape.has-data { opacity: var(--muscle-opacity, .52); }
.fitness-muscle-hit-area { fill: transparent; stroke: transparent; stroke-width: 0; vector-effect: non-scaling-stroke; pointer-events: all; cursor: pointer; outline: none; }
.fitness-muscle-target:hover .fitness-muscle-shape, .fitness-muscle-target:focus-within .fitness-muscle-shape, .fitness-muscle-shape.is-hovered { filter: brightness(1.12); opacity: .95; }
.fitness-muscle-shape.is-selected { stroke: var(--ink); stroke-width: .25; opacity: 1; }
.fitness-body-label { fill: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-anchor: middle; text-transform: uppercase; }
.fitness-muscle-map-detail { display: grid; gap: 14px; min-width: 0; }
.fitness-muscle-list-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.fitness-muscle-list-heading p { margin: 0; }
.fitness-muscle-list-heading .muted { display: block; margin-top: 4px; font-size: .72rem; }
.fitness-muscle-select-label { display: grid; gap: 6px; color: var(--muted); font-size: .72rem; font-weight: 750; }
.fitness-muscle-select-label select { width: 100%; }
.fitness-muscle-detail { display: grid; gap: 12px; min-height: 204px; padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }
.fitness-muscle-detail-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.fitness-muscle-detail-heading h3 { margin: 0; font-size: 1.05rem; }
.fitness-muscle-detail-heading p { margin: 4px 0 0; color: var(--muted); font-size: .72rem; }
.fitness-muscle-analysis-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.fitness-muscle-analysis-actions .icon-button { display: grid; min-width: 0; min-height: 64px; place-items: center; gap: 3px; padding: 8px 4px; }
.fitness-muscle-analysis-actions .icon-button > span { font-size: 1.1rem; line-height: 1; }
.fitness-muscle-analysis-actions .icon-button small { overflow: hidden; max-width: 100%; color: var(--muted); font-size: .62rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.fitness-muscle-detail-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.fitness-muscle-detail-stat { display: grid; gap: 3px; padding: 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-muted); }
.fitness-muscle-detail-stat strong { font-size: .9rem; }
.fitness-muscle-detail-stat span { color: var(--muted); font-size: .66rem; }
.fitness-muscle-exercises { display: grid; gap: 6px; }
.fitness-muscle-exercise { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 6px; border-bottom: 1px solid var(--line); font-size: .74rem; }
.fitness-muscle-exercise:last-child { padding-bottom: 0; border-bottom: 0; }
.fitness-muscle-exercise span { color: var(--muted); text-align: right; white-space: nowrap; }
.fitness-muscle-empty { color: var(--muted); font-size: .76rem; line-height: 1.45; }
.fitness-analysis-grid { width: max(100%, 980px); }
.fitness-body-analysis-grid { width: max(100%, 1080px); }
.fitness-log-form { display: grid; gap: 12px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.fitness-workout-commandbar { display: grid; grid-template-columns: 170px minmax(220px, 1fr) auto; align-items: end; gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }
.fitness-workout-commandbar label { display: grid; gap: 5px; color: var(--muted); font-size: .72rem; font-weight: 800; }
.fitness-workout-exercise-list { display: grid; gap: 8px; }
.fitness-workout-exercise-card { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); }
.fitness-workout-exercise-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; min-width: 0; }
.fitness-workout-exercise-heading > div { display: grid; gap: 4px; min-width: 0; }
.fitness-workout-exercise-heading strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fitness-workout-exercise-heading small { color: var(--muted); font-size: .72rem; }
.fitness-workout-target { display: inline-flex; align-items: center; min-height: 28px; padding: 0 9px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: var(--surface-muted); font-size: .7rem; font-weight: 850; white-space: nowrap; }
.fitness-workout-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.fitness-workout-exercise-guide { justify-self: start; font-size: .7rem; }
.fitness-workout-done { min-width: 78px; }
.fitness-workout-fields { display: grid; grid-template-columns: 90px 90px 110px minmax(220px, 1fr); gap: 8px; align-items: end; }
.fitness-workout-exercise-card label { display: grid; min-width: 0; gap: 5px; color: var(--muted); font-size: .7rem; font-weight: 800; }
.fitness-workout-history-heading { margin-top: 0; }

@media (max-width: 820px) {
  .fitness-page-heading { align-items: flex-start; flex-direction: column; }
  .fitness-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-inline: 0; overflow: visible; }
  .fitness-tabs button { min-width: 0; }
  .fitness-dashboard-grid { grid-template-columns: 1fr; }
  .fitness-program-layout { grid-template-columns: 1fr; }
  #fitnessBodyTab .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fitness-quick-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fitness-analysis-range { width: 100%; }
  .fitness-analysis-controls { width: 100%; justify-content: stretch; }
  .fitness-analysis-data-menu { flex: 1 1 auto; }
  .fitness-muscle-map-layout { grid-template-columns: 1fr; }
  .fitness-exercise-picker-content { height: min(90vh, 780px); max-height: min(90vh, 780px); }
  .fitness-exercise-picker-layout { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); gap: 12px; }
  .fitness-exercise-picker-muscle-panel { align-self: stretch; }
  .fitness-exercise-picker-muscle-map { min-height: 300px; }
  .fitness-muscle-map { width: 100%; min-height: 520px; }
  .fitness-body-svg { height: min(520px, 72vh); max-width: 100%; }
  .fitness-workout-commandbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .fitness-workout-commandbar .button { grid-column: 1 / -1; width: 100%; }
  .fitness-workout-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fitness-workout-fields .wide { grid-column: 1 / -1; }
}

@media (max-width: 480px) {
  .fitness-quick-heading { flex-direction: column; }
  .fitness-quick-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fitness-program-switcher, .fitness-day-switcher, .fitness-exercise-form { align-items: stretch; flex-direction: column; }
  .fitness-program-switcher .button, .fitness-day-switcher .button, .fitness-exercise-form .button { width: 100%; }
  .fitness-program-list-item { align-items: stretch; flex-direction: column; }
  .fitness-program-list-actions { justify-content: flex-start; }
  .fitness-form-grid { grid-template-columns: 1fr; }
  #fitnessBodyTab .form-grid { grid-template-columns: 1fr; }
  .fitness-inline-tools, .fitness-inline-form { align-items: stretch; flex-direction: column; }
  .fitness-inline-form .button, .fitness-log-form .button { width: 100%; }
  .fitness-analysis-controls { align-items: stretch; flex-direction: column; }
  .fitness-analysis-data-menu, .fitness-analysis-data-menu .data-menu-toggle { width: 100%; }
  .fitness-muscle-map-toolbar { width: 100%; }
  .fitness-muscle-map-toolbar button { flex: 1; }
  .fitness-exercise-picker-dialog { width: 100%; max-width: none; max-height: 100dvh; border-radius: 0; }
  .fitness-exercise-picker-content { height: 100dvh; max-height: 100dvh; padding: 16px; }
  .fitness-exercise-picker-toolbar { align-items: stretch; flex-direction: column; }
  .fitness-exercise-picker-toolbar .button { width: 100%; }
  .fitness-exercise-picker-muscle-map { min-height: 220px; }
  .fitness-exercise-picker-muscle-map .fitness-body-svg { height: min(220px, 38vh); }
  .fitness-exercise-picker-list { gap: 10px; padding-right: 4px; }
  .fitness-exercise-picker-item { gap: 4px; }
  .fitness-exercise-picker-actions { justify-content: flex-start; padding: 0 10px 9px; }
  .fitness-exercise-picker-actions .text-button { min-height: 32px; }
  .fitness-muscle-map { width: 100%; min-height: 430px; }
  .fitness-body-svg { height: min(430px, 68vh); max-width: 100%; }
  .fitness-muscle-detail-stats { grid-template-columns: 1fr; }
  .fitness-exercise-picker-toolbar { align-items: stretch; flex-direction: column; }
  .fitness-exercise-picker-toolbar .button { width: 100%; }
  .fitness-custom-exercise-grid { grid-template-columns: 1fr; }
  .fitness-custom-exercise-grid .wide { grid-column: auto; }
  .fitness-workout-exercise-heading, .fitness-workout-exercise-card .wide { grid-column: 1 / -1; }
  .fitness-workout-exercise-heading { grid-template-columns: 1fr; }
  .fitness-workout-row-actions { justify-content: stretch; }
  .fitness-workout-row-actions .button { flex: 1; }
  .fitness-program-exercise-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fitness-program-exercise-fields .wide { grid-column: 1 / -1; }
  .fitness-current-day-actions .button { width: 100%; }
}

@media (max-width: 700px) {
  .fitness-page-heading {
    margin-bottom: 10px;
  }

  .fitness-tabs {
    position: relative;
    top: auto;
    z-index: 1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 0 14px;
    padding: 4px;
    overflow: visible;
    border-width: 1px;
    border-radius: 8px;
    background: var(--surface);
    backdrop-filter: none;
  }

  .fitness-tabs button {
    min-width: 0;
    min-height: 40px;
    border-radius: 6px;
    background: transparent;
  }

  .fitness-tabs button.active,
  .fitness-tabs button[aria-selected="true"] {
    color: #fff;
    background: var(--navy);
  }

  .fitness-submenu {
    position: absolute;
    top: calc(100% + 6px);
    right: auto;
    left: 0;
    border-radius: 16px;
  }

  .fitness-log-form {
    display: grid;
    gap: 12px;
  }

  .fitness-workout-commandbar,
  .fitness-workout-fields {
    grid-template-columns: 1fr;
  }

  .fitness-workout-exercise-list {
    gap: 12px;
  }

  .fitness-workout-exercise-card {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    background: var(--surface-elevated);
  }

  .fitness-workout-exercise-heading {
    grid-template-columns: 1fr;
  }

  .fitness-workout-row-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .fitness-workout-row-actions .text-button,
  .fitness-workout-row-actions .button {
    width: 100%;
    min-height: 42px;
    justify-content: center;
    text-align: center;
  }

  .fitness-workout-exercise-card label {
    gap: 6px;
  }

  .fitness-workout-history-panel,
  .fitness-program-list-panel,
  .fitness-current-day-panel {
    margin-top: 12px;
  }

  .fitness-grid-wrap {
    border-radius: 14px;
  }

  .fitness-muscle-map-card {
    padding-inline: 0;
  }

  .fitness-muscle-map-visual,
  .fitness-muscle-detail {
    border-radius: 16px;
  }

  .fitness-muscle-map {
    min-height: 460px;
  }

  .fitness-body-svg {
    height: min(460px, 66vh);
  }

  .fitness-exercise-picker-dialog {
    border-radius: 18px 18px 0 0;
  }

  .fitness-exercise-picker-content {
    height: 100dvh;
    max-height: 100dvh;
  }
}
