.fitness-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.fitness-tabs button { border: 1px solid var(--border); border-radius: 9px; background: white; padding: 10px 15px; color: var(--text); font: inherit; min-height: 44px; cursor: pointer; }
.fitness-tabs button.active { background: var(--pale); border-color: var(--green); font-weight: 700; }
.fit-panel > .panel, .fitness-grid { margin-bottom: 20px; }
.fitness-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.fitness-row, .plan-entry { border-top: 1px solid var(--border); padding: 16px 0; overflow-wrap: anywhere; }
.fitness-row p { margin: 6px 0; white-space: pre-wrap; }
.fitness-row .actions { margin-top: 10px; }
.fitness-row .button { font-size: 13px; }
.fitness-metrics { display: flex; flex-wrap: wrap; gap: 16px 32px; margin: 18px 0; }
.fitness-metrics strong { display: block; color: var(--green); font-size: 26px; }
.fitness-metrics span { color: var(--muted); font-size: 13px; }
.fitness-progress-track { height: 9px; overflow: hidden; border-radius: 10px; background: var(--pale); margin: 12px 0; }
.fitness-progress-bar { height: 100%; background: var(--green); }
.workout-exercise { background: #fafbf8; border: 1px solid var(--border); border-radius: 12px; padding: 16px; margin: 18px 0; }
.workout-exercise h3 { margin-bottom: 5px; }
.workout-set { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 10px; border-top: 1px solid var(--border); margin: 14px 0; padding-top: 14px; }
.workout-set label { min-width: 0; }
.workout-set input, .workout-set select { min-width: 0; }
.workout-set .set-complete { display: flex; align-items: center; gap: 8px; }
.set-complete input { width: 20px; min-height: 20px; }
.exercise-picker { align-items: end; margin: 16px 0; }
.exercise-picker label { flex: 1; min-width: min(200px, 100%); }
.actual-records-heading { margin-top: 26px; }
.calendar-day small.actual { color: var(--green); font-weight: 700; }
.trend-list { display: grid; gap: 7px; margin-bottom: 20px; }
.trend-row { display: flex; justify-content: space-between; flex-wrap: wrap; padding: 12px; border-radius: 8px; background: #f4f7f2; }
.exercise-reference { color: var(--muted); font-size: 12px; }
#workout-save-status { min-height: 24px; color: var(--green); }
#workout-save-status.error { color: #903a22; }
#fitness-drafts, #fitness-all-drafts { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
@media(max-width: 800px) { .fitness-grid { grid-template-columns: 1fr; } }
@media(max-width: 650px) { .workout-set { grid-template-columns: repeat(2,minmax(0,1fr)); } .workout-exercise { padding: 12px; } .mobile-nav a { min-width: 0; flex: 1; } #fitness .page-header { display: block; } #fitness-start-free { margin-top: 10px; } .fitness-metrics { gap: 16px; } }

/* Fitness V1.2: constrain long lists while preserving keyboard access. */
#fitness-batch-dialog,#fitness-template-preview,#fitness-copy-preview{width:min(900px,calc(100% - 2rem));max-height:90vh;overflow:auto}#fitness-batch-results,#fitness-template-entries,#fitness-copy-preview-list{max-height:48vh;overflow:auto}#fitness-batch-results label{display:grid;grid-template-columns:auto 1fr;gap:.35rem .7rem;margin:.5rem 0}#fitness-batch-results label span,#fitness-batch-results label small{grid-column:2}.workout-exercise>summary{cursor:pointer}.workout-exercise>summary h3{display:inline-block;margin:.3rem 0}#fitness-batch-selected button{margin:.2rem}

/* Compact reference stays with the exercise; it never fills or completes a set. */
.last-workout-reference { margin: 12px 0; padding: 10px 12px; border-radius: 12px; background: #edf5ee; color: #365b46; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.workout-exercise { background: rgba(255,255,255,.72); border-radius: 18px; }
.workout-exercise > summary { padding: 4px 0; }
.workout-set { background: rgba(248,251,248,.8); border: 1px solid #e1eae3; border-radius: 12px; padding: 12px; }

/* A shorter path from plan selection to workout recording. */
.plan-multi,.plan-single,.workout-options{border:1px solid #dfe9e0;border-radius:14px;padding:12px 14px;margin:14px 0;background:rgba(250,253,250,.8)}
.plan-multi>summary,.plan-single>summary,.workout-options>summary{cursor:pointer;font-weight:700;color:#365b46}
#plan-multi-results{max-height:250px;overflow:auto;margin:10px 0;border:1px solid #e1ebe1;border-radius:12px;background:#fff}
.plan-multi-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #edf2ed;font-weight:500}
.plan-multi-row input{width:18px;min-height:18px;flex:none}
#plan-multi-count{margin:10px 0;color:#446e55}
#fitness-template-existing-options[hidden]{display:none}

.set-advanced{grid-column:1/-1;border-top:1px solid #e4ece5;padding-top:8px}.set-advanced>summary{cursor:pointer;color:#547260;font-size:13px}.set-advanced-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 0}.workout-set>.set-complete{align-self:end;padding-bottom:10px}@media(max-width:650px){.set-advanced-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Training workspace: actions on the left, session and references on the right. */
#workout-form:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px 24px;align-items:start}
#workout-form>*{min-width:0;grid-column:1}
#workout-form>.form-grid{grid-column:2;grid-row:1 / span 3;grid-template-columns:1fr;background:rgba(255,255,255,.78);border:1px solid var(--border);border-radius:20px;padding:20px;gap:14px}
#workout-form>.form-grid:before{content:'本次训练';font-size:18px;font-weight:700}
#workout-form>.actions{grid-column:2;grid-row:4;display:flex;flex-direction:column;align-items:stretch;background:rgba(255,255,255,.7);padding:16px;border-radius:18px;margin:0}
#workout-form>.workout-reference-panel{grid-column:2;grid-row:5 / span 6;background:rgba(255,255,255,.74);border:1px solid var(--border);border-radius:20px;padding:20px}
#workout-form>#workout-exercises{grid-column:1;grid-row:5 / span 8}
#workout-form>#fitness-editing-label{grid-row:1;font-size:12px;margin:0}
#workout-form>#workout-save-status{grid-row:2;margin:0;font-size:13px}
#workout-form>#fitness-batch-open{grid-row:3;justify-self:start;background:var(--green);color:white;border-radius:12px}
#workout-form>label:has(#fitness-workout-jump){grid-row:4;font-size:12px}
#workout-form>.workout-options{grid-row:auto;margin:0;font-size:13px}
#fitness-workout>.panel{background:transparent;box-shadow:none;border:0;padding:0}
#fitness-workout>.panel>h2{font-size:28px;margin-bottom:14px}
#workout-exercises .workout-exercise{margin:0 0 14px;padding:18px 22px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.72);box-shadow:0 8px 30px rgba(40,70,55,.04)}
#workout-exercises .workout-exercise>summary{list-style:none;position:relative;padding-right:24px}
#workout-exercises .workout-exercise>summary:after{content:'⌄';position:absolute;right:0;top:8px;color:var(--muted)}
#workout-exercises .workout-exercise[open]>summary:after{content:'⌃'}
#workout-exercises .workout-exercise>summary h3{font-size:17px}
#workout-exercises .exercise-reference{font-size:11px;line-height:1.7;margin:4px 0 10px}
#workout-exercises .last-workout-reference{display:none}
#workout-exercises .workout-set{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 76px;gap:8px 12px;margin:6px 0;padding:8px 10px;border:0;border-radius:10px;background:rgba(237,243,240,.55);align-items:center}
#workout-exercises .workout-set label{font-size:11px;font-weight:500;color:var(--muted);margin:0}
#workout-exercises .workout-set input[type=number]{min-height:34px;padding:6px 8px;text-align:center;border-radius:8px;background:rgba(255,255,255,.65);font-size:14px}
#workout-exercises .set-number{color:var(--muted);text-align:center;font-size:13px;padding-top:16px}
#workout-exercises .set-complete{flex-direction:column;justify-content:center;padding:0;align-self:center;font-size:10px}
#workout-exercises .set-complete input{accent-color:var(--green)}
#workout-exercises .set-advanced{padding-top:4px;border:0;font-size:11px}
#workout-exercises .set-advanced>summary{font-size:11px;color:#788b80}
.exercise-options{margin:8px 0;font-size:12px;color:var(--muted)}
.exercise-options .button,.add-set-compact{min-height:30px;padding:5px 10px;font-size:12px}
.add-set-compact{margin:8px 0 14px}
#workout-exercises textarea{min-height:56px;font-size:13px;background:rgba(255,255,255,.5)}
.workout-reference-item{padding:12px 0;border-top:1px solid var(--border);font-size:12px}
.workout-reference-item p{margin:5px 0;line-height:1.7}
@media(max-width:1050px){#workout-form:not([hidden]){display:block}#workout-form>*{margin-bottom:14px}#workout-form>.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#workout-form>.actions{flex-direction:row;flex-wrap:wrap}#workout-form>.workout-reference-panel{margin-top:16px}}

#workout-form>.workout-main{grid-column:1;display:flex;flex-direction:column;gap:12px}
#workout-form>.workout-sidebar{grid-column:2;display:flex;flex-direction:column;gap:14px}
.workout-main>#fitness-editing-label,.workout-main>#workout-save-status{margin:0;font-size:12px}
.workout-main>#fitness-batch-open{align-self:flex-start;background:var(--green);color:white}
.workout-main>#workout-exercises{order:2}
.workout-main>.workout-options{order:3;margin:0;font-size:12px}
.workout-main>label:has(#fitness-workout-jump){font-size:12px}
.workout-sidebar>.form-grid,.workout-sidebar>.actions,.workout-sidebar>.workout-reference-panel{display:grid;grid-template-columns:1fr;background:rgba(255,255,255,.76);border:1px solid var(--border);border-radius:18px;padding:18px;gap:12px;margin:0}
.workout-sidebar>.form-grid:before{content:'本次训练';font-size:18px;font-weight:700}
.workout-sidebar label{font-size:12px}
.workout-sidebar input{min-height:38px;padding:8px 10px}
.workout-sidebar .button{font-size:13px;min-height:38px;padding:8px 12px}
@media(max-width:1050px){#workout-form>.workout-sidebar{margin-top:18px}}
