/* Navigation and daily workspace. Existing forms retain their stable IDs. */
:root { --bottom-nav-height: 82px; }
.workspace-tabs { display:flex; gap:6px; padding:5px; margin:0 0 24px; border-radius:12px; background:#e7eeeb; }
.workspace-tabs button { flex:1; min-height:44px; border:0; border-radius:9px; background:transparent; color:#536660; padding:10px 12px; font-size:14px; cursor:pointer; }
.workspace-tabs button[aria-selected="true"] { background:#fff; color:var(--teal-950); box-shadow:0 2px 5px #173c3b0a; font-weight:650; }
.workspace-panel { min-width:0; }
.workspace-panel > .content-section:first-child { margin-top:0; }
.workspace-panel .progress-panel,.workspace-panel .plan-panel { display:block; }
.workspace-details { border-top:1px solid var(--line); margin-top:24px; padding-top:16px; }
.workspace-details > summary { padding:12px 0; cursor:pointer; color:var(--teal-950); font-weight:650; font-size:15px; }
.workspace-context { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin:0 0 22px; }
.workspace-context p,.workspace-note { color:var(--muted); font-size:13px; line-height:1.6; }
.workspace-panel .plan-header-band { margin:0 0 20px; }
.workspace-panel .progress-hero { margin-top:16px; }
.home-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 20px; }
.home-metric { min-width:0; padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--surface); text-align:left; cursor:pointer; }
.home-metric > span { display:flex; align-items:center; gap:8px; font-size:14px; color:#536660; }
.home-metric svg { width:18px; height:18px; }
.home-metric strong { display:block; margin:12px 0 7px; font-size:24px; color:var(--ink); font-variant-numeric:tabular-nums; }
.home-metric small { display:block; font-size:12px; line-height:1.5; color:var(--muted); }
.home-metric .home-track { display:block; height:5px; border-radius:6px; margin:12px 0 9px; overflow:hidden; background:#e7eeeb; }
.home-track i { display:block; height:100%; background:var(--teal-700); border-radius:inherit; }
.home-columns { display:grid; grid-template-columns:1.15fr 1fr; gap:18px; margin:20px 0; }
.home-workout,.home-goal { padding:24px; border-radius:18px; background:var(--surface); border:1px solid var(--line); }
.home-workout { background:var(--teal-950); color:#fff; border-color:var(--teal-950); }
.home-workout .eyebrow { color:#bfd7cf; }
.home-workout h2,.home-goal h2 { font-size:22px; margin:8px 0; }
.home-workout p { color:#d2e3dd; font-size:14px; line-height:1.6; }
.home-workout .button { margin-top:16px; background:#fff; color:var(--teal-950); }
.home-goal p { margin:10px 0; color:var(--muted); font-size:14px; line-height:1.6; }
.home-goal .button { margin-top:8px; }
.home-guidance { margin:0 0 20px; padding:18px 22px; border-left:4px solid var(--teal-700); background:#e8f1ec; border-radius:0 12px 12px 0; }
.home-guidance strong { display:block; font-size:17px; }
.home-guidance p { margin:7px 0 0; color:#52685e; font-size:14px; line-height:1.5; }
.home-day-note { margin:12px 0; color:var(--muted); font-size:13px; }
.food-analytics-grid,.health-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:18px 0; }
.analytics-stat { background:#fff; border:1px solid var(--line); padding:20px; border-radius:14px; }
.analytics-stat small { display:block; color:var(--muted); font-size:13px; }
.analytics-stat strong { display:block; font-size:23px; margin:8px 0; font-variant-numeric:tabular-nums; }
.analytics-stat p { font-size:13px; color:var(--muted); margin:0; line-height:1.5; }
.food-history-row { display:grid; grid-template-columns:82px minmax(50px,1fr) 120px; gap:14px; align-items:center; padding:12px 0; border:0; border-bottom:1px solid var(--line); width:100%; background:transparent; text-align:left; cursor:pointer; font-size:14px; }
.food-history-row > i { display:block; height:12px; background:#e4ece8; border-radius:5px; overflow:hidden; }
.food-history-row > i > b { display:block; height:100%; background:var(--teal-700); border-radius:5px; }
.food-history-row > small { text-align:right; font-size:13px; }
.health-record { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; }
.health-record small { color:var(--muted); display:block; margin-top:4px; font-size:12px; }
.health-record strong { white-space:nowrap; }
.health-period { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.health-period .progress-period { margin:0; }
.health-period .progress-period button { color:#536660; }
.health-period .progress-period button.active { color:var(--teal-950); }
.home-primary-actions { margin:0 0 18px; }
.home-primary-actions .quick-action { width:100%; }
.coach-summary { margin-bottom:24px; }
.coach-summary > summary { cursor:pointer; font-size:15px; font-weight:650; padding:14px 0; }
.chat-page.active { display:block; }
.chat-page .chat-messages { height: min(55vh,640px); min-height:280px; }
.bottom-nav { position:fixed; z-index:45; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); background:#fff; border-top:1px solid var(--line); padding:7px 8px calc(7px + env(safe-area-inset-bottom)); gap:3px; }
.bottom-nav button { min-width:0; min-height:54px; border:0; border-radius:10px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; color:#60736d; background:transparent; font-size:12px; cursor:pointer; }
.bottom-nav button.active { background:#e8f1ec; color:var(--teal-950); }
.bottom-nav svg { width:21px; height:21px; }
.main-content { padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
.page { max-width:1180px; margin-inline:auto; }
.button,.quick-action,.icon-button { min-height:44px; }
.data-note { font-size:13px; line-height:1.6; }
.measurement-item span,.measurement-item strong { font-size:14px; }
.training-profile-heading p,.field > span { font-size:14px; }
.chart-label { font-size:12px; }
.chart-current-value { font-size:13px; }
.chart-svg { height:auto; display:block; width:100%; }
.workspace-health-chart .chart-container { height:auto; overflow:visible; }
.chart-readout { min-height:2.8em; }
.readiness-badge > strong { display:none; }
.progress-highlight em,.training-overview-item em { font-size:12px; }
@media(min-width:1100px) {
  :root { --sidebar-width:240px; --bottom-nav-height:0px; }
  .sidebar { width:240px; transform:none; visibility:visible; box-shadow:none; border-right:1px solid var(--line); }
  .sidebar-close,.menu-button,.bottom-nav,.navigation-backdrop { display:none; }
  .main-content { width:calc(100% - 240px); margin-left:240px; padding:0 36px 50px; }
  .topbar { max-width:1180px; margin-inline:auto; }
  .sidebar .brand small { font-size:12px; }
}
@media(max-width:800px) {
  .home-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-columns { grid-template-columns:1fr; }
  .food-analytics-grid,.health-summary-grid { grid-template-columns:1fr; }
  .home-metric { padding:16px; }
  .home-metric strong { font-size:22px; }
  .workspace-tabs { margin-bottom:18px; }
  .workspace-tabs button { padding:9px 5px; }
  .food-history-row { grid-template-columns:64px minmax(40px,1fr) 98px; gap:10px; }
}
@media print { .bottom-nav,.workspace-tabs,.workspace-context { display:none; } .main-content { margin:0; } }

.actual-exercise { padding:20px 0; border-bottom:1px solid var(--line); }
.actual-exercise > .field > input { font-weight:650; }
.workout-previous { margin:12px 0; padding:12px; background:#edf3f0; border-radius:8px; font-size:13px; line-height:1.6; }
.actual-set-row { display:grid; grid-template-columns:46px 1.2fr 1.2fr .75fr .75fr; gap:8px; align-items:end; padding:10px 0; }
.actual-set-row label > span { display:block; font-size:12px; color:var(--muted); margin-bottom:6px; }
.actual-set-row input { width:100%; min-width:0; min-height:44px; padding:8px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); }
.actual-set-row .set-completed { display:flex; align-items:center; gap:6px; align-self:end; min-height:44px; }
.set-completed input { width:21px; height:21px; min-height:21px; accent-color:var(--teal-700); }
.set-completed span { margin:0 !important; font-weight:650; }
.guided-actual-sets { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.tracked-workout { display:grid; grid-template-columns:minmax(0,1fr) 44px; }
.tracked-workout > details { min-width:0; }
.tracked-workout summary { cursor:pointer; padding:10px 0; }
.tracked-workout summary strong,.tracked-workout summary span { display:block; font-size:14px; line-height:1.6; }
.tracked-workout summary span,.workout-history-meta { color:var(--muted); font-size:13px; }
.workout-history-detail { font-size:13px; line-height:1.65; }
.history-exercise { margin:14px 0; padding:10px 12px; background:#f2f6f4; border-radius:8px; }
.history-exercise p { margin:6px 0; }
.workout-history-note { white-space:pre-wrap; }
.training-change-details { margin-top:10px; font-size:13px; line-height:1.6; }
.training-change-details summary { cursor:pointer; font-weight:600; }
.training-change-details ul { padding-left:20px; }
.guided-workout-footer #guidedFinishWorkoutButton { grid-column:1 / -1; grid-row:2; width:100%; min-width:0; min-height:40px; background:#edf3f0; color:var(--teal-950); box-shadow:none; }
@media(max-width:600px) {
  .actual-set-row { grid-template-columns:36px repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
  .actual-set-row label:nth-child(4) { grid-column:2; }
  .actual-set-row label:nth-child(5) { grid-column:3; }
  .actual-set-row .set-completed { grid-row:1/3; align-self:center; }
}
.training-import { margin: 0 0 20px; }
.import-form { display: grid; gap: 16px; padding: 16px 0; }
.import-form p, .import-form small { color: var(--muted, #74796d); line-height: 1.55; }
.import-form input[type=file] { max-width: 100%; padding: 12px 0; height: auto; }
.import-form input[type=checkbox] { width: 18px; height: 18px; accent-color: #426450; }
.import-form > .button { justify-self: start; }
.equipment-preview-item, .program-preview-day, .program-preview-exercise { min-width: 0; margin: 12px 0; padding: 16px; border: 1px solid #dce2d8; border-radius: 14px; display: grid; gap: 14px; }
.equipment-preview-item legend, .program-preview-day legend, .program-preview-exercise legend { padding: 0 8px; font-weight: 600; }
.equipment-preview-item legend label { display: flex; align-items: center; gap: 8px; }
.import-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.import-warnings { background: #fcf4de; color: #736027; border-radius: 12px; padding: 14px 14px 14px 32px; line-height: 1.6; }
.import-form .field input { min-width: 0; width: 100%; }
.exercise-library-host { width: 100%; text-align: left; }
.guided-movement-panel:has(.exercise-library-host) { display: block; }
.exercise-library-card, .exercise-library-unknown { padding: 14px 0; line-height: 1.6; }
[class^="exercise-library"] a { color: #426450; text-decoration: underline; text-underline-offset: 3px; }
[class^="exercise-library"] ol, [class^="exercise-library"] ul { padding-left: 22px; }
.exercise-library-source, .exercise-library-sources, .exercise-library-meta { font-size: 12px; color: #74796d; }
@media (max-width: 480px) {
  .profile-dialog .field > span, .import-form .field > span { white-space: normal; line-height: 1.35; }
  .profile-dialog .field:has(#personalName), .profile-dialog .field:has(#personalGoal), .profile-dialog .field:has(#personalActivity) { grid-column: 1 / -1; }
  .import-form > .button { width: 100%; }
  .program-preview-day { padding: 10px; }
  .program-preview-exercise { padding: 12px; }
  .import-field-grid { gap: 12px 8px; }
}
.register-panel { margin-top: 22px; }
.profile-dialog { width: min(720px, calc(100% - 24px)); }
.profile-dialog .modal-body { overflow-y: auto; }
.profile-target-switch { display: flex; align-items: center; gap: 10px; }
.profile-target-switch input { width: 20px; height: 20px; accent-color: #426450; }
.profile-target-range { border: 0; margin: 0 0 16px; padding: 0; }
.profile-target-range legend { margin-bottom: 8px; font-weight: 600; }
#profileSummary { color: #74796d; margin: 12px 0; }
