/* Refinement release: retain graphite/cyan, reduce workout friction. */
main { margin-bottom:0; padding-bottom:calc(var(--dock-reserve,100px) + 32px); }
.page-heading { margin-bottom:20px; }
.page-heading h1 { font-size:clamp(24px,2.6vw,34px); }
.page-heading p:not(.eyebrow) { font-size:14px; max-width:65ch; }
.status-copy { display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
#sync-detail { font-size:10px; color:var(--muted); font-weight:400; }
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor:not-allowed; opacity:.55; }
.inline-details>summary { cursor:pointer; min-height:40px; padding-block:10px; }
.inline-details>summary:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
.saved-strip small { display:block; color:var(--muted); margin-top:4px; }
.rest-layout { display:grid; grid-template-areas:'timer' 'effort' 'next'; gap:16px; }
.rest-layout .rest-panel { grid-area:timer; }
.rest-layout .effort-panel { grid-area:effort; margin:0; }
.rest-layout .next-panel { grid-area:next; margin:0; }
.rest-layout.rest-finished { grid-template-areas:'timer' 'next' 'effort'; }
.rest-finished .rest-panel { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; gap:12px; }
.rest-finished .rest-heading { margin:0; text-align:left; gap:10px; }
.rest-finished .rest-heading>span:last-child { display:none; }
.rest-finished .rest-clock { display:none; }
.rest-finished .rest-actions { margin:0; }
.rest-finished .rest-actions button { min-height:40px; padding:7px 12px; }
.rest-finished .next-panel { border-color:var(--cyan); background:var(--cyan-soft); }
.next-panel strong { display:block; font-size:18px; line-height:1.35; }
.next-panel .primary { flex-shrink:0; min-height:48px; }
.effort-buttons.full-scale { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.effort-buttons.full-scale button { min-width:0; min-height:47px; font-size:22px; }
.effort-entry { align-items:end; }
.effort-entry input { min-height:44px; }
.timer-details { margin-top:10px; }
.duration-entry { padding:20px; }
.duration-entry input { font-size:42px; line-height:1.2; text-align:center; width:100%; min-height:78px; font-variant-numeric:tabular-nums; }
.duration-entry label { display:block; font-weight:600; }
.duration-entry small { display:block; color:var(--muted); font-size:12px; padding-top:9px; }
.bodyweight-entry { grid-template-columns:minmax(0,1fr); }
.today-sets th, .today-sets td { font-size:12px; white-space:normal; }
.today-sets td:nth-child(2) { color:var(--muted); }
.set-track .set-chip { min-width:100px; flex:0 0 auto; padding:8px 10px; font-size:12px; }
.set-track { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:8px; }
.workout-inline-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.workout-inline-actions button { min-height:44px; }
.live-effort-entry { display:flex; flex-direction:row; align-items:center; gap:16px; margin:16px 0; font-weight:600; }
.live-effort-entry input { width:90px; min-height:44px; }
.train-heading .heading-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
@media(max-width:760px) { .train-heading { align-items:flex-start; } .train-heading .heading-actions { max-width:210px; } }
.set-index { font-size:10px; }
.today-outline { margin:12px 0 0; padding-left:24px; }
.today-outline li { padding:10px 4px; border-bottom:1px solid var(--line); }
.today-outline small { display:block; margin-top:4px; color:var(--muted); }
.today-outline p { margin-top:4px; font-size:12px; }
.save-facts, .timing-facts { display:grid; grid-template-columns:minmax(150px,1fr) minmax(0,1.5fr); gap:10px 20px; margin:14px 0 20px; }
.save-facts dt,.timing-facts dt { color:var(--muted); font-size:13px; }
.save-facts dd,.timing-facts dd { margin:0; font-size:13px; }
.source-provenance code { display:block; overflow-wrap:anywhere; white-space:normal; }
.focused-set-list .session-editor-set { padding:16px 0; }
.settings-actions { flex-wrap:wrap; }
.settings-section ol { padding-left:24px; }
.mobile-exercise-actions { display:none; }
.start-layout .today-workout-panel { padding:clamp(24px,4vw,42px); }
.today-workout-name { color:var(--ink); font-size:19px!important; font-weight:650; }
.start-layout .today-workout-panel .log-button { margin-top:18px; min-height:58px; }
.start-workout-choice label { margin-top:12px; }
.start-workout-choice select { width:100%; }
.start-workout-choice .form-note { margin-top:7px; }
.start-layout aside .panel p { margin-top:8px; }
#main-content .start-layout aside .panel { padding:20px; }
.today-workout-panel > .inline-details > summary { min-height:44px; }
.start-layout .today-outline { max-height:340px; overflow:auto; }
#editor-dialog.settings-dialog { width:min(1080px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; }
#editor-dialog.settings-dialog .dialog-head { padding:14px 22px; }
#editor-dialog.settings-dialog .dialog-body { padding:12px 22px 18px; }
.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 28px; align-items:start; }
.settings-grid .settings-section { padding:10px 0; border-top:1px solid var(--line); min-width:0; }
.settings-grid .settings-section:first-child,.settings-grid .settings-section:nth-child(2) { border-top:0; }
.settings-grid .settings-section h3 { font-size:16px; margin-bottom:8px; }
#editor-dialog.settings-dialog .settings-section :is(p,label,select,button,summary,li,dt,dd) { font-size:14px; line-height:1.4; }
.settings-grid .settings-section p { margin:5px 0; }
.settings-grid .save-facts { grid-template-columns:minmax(120px,.75fr) minmax(0,1.25fr); gap:4px 12px; margin:6px 0 8px; }
.settings-grid .settings-actions { gap:8px; }
.settings-grid button { min-height:44px; padding:8px 12px; }
.settings-grid #settings-form { display:grid; gap:12px; }
.settings-grid #settings-form > label:first-child { display:grid; gap:6px; }
.settings-grid #settings-form select { width:100%; }
.settings-grid #settings-form > button { justify-self:start; }
.settings-grid .inline-details { margin:6px 0; }
.settings-grid .inline-details>summary { min-height:36px; padding-block:8px; }
.settings-grid .settings-approvals { grid-column:1/-1; }
.settings-approval-item { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; align-items:center; padding:8px 0; border-top:1px solid var(--line); }
.settings-approval-item:first-child { border-top:0; }
.settings-approval-item p { margin:0!important; }
.settings-approval-item details { grid-column:1/-1; font-size:14px; }
.settings-approval-item details summary { cursor:pointer; padding-block:8px; }
.settings-approval-item .settings-approval-full { margin-top:6px; white-space:pre-wrap; overflow-wrap:anywhere; }
.settings-approval-item .settings-approval-meta { color:var(--muted); overflow-wrap:anywhere; }
.coaching-today { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; align-items:center; }
.coaching-today > :is(h3,p,details,.coaching-choices,.coaching-reply-fields) { grid-column:1/-1; }
.coaching-today h3 { margin-bottom:0; }
.coaching-today .coaching-status { font-size:14px; color:var(--muted); }
.coaching-today .coaching-summary { font-size:16px; color:var(--ink); line-height:1.45; }
.coaching-today .coaching-question { color:var(--ink); }
.coaching-today details { margin:0; }
.coaching-today details>summary { cursor:pointer; min-height:44px; padding-block:10px; }
.coaching-reply-fields { display:grid; gap:10px; margin-top:12px; }
.coaching-reply-fields textarea { width:100%; min-height:80px; }
.coaching-today button { min-height:44px; }
.coaching-choices { display:flex; flex-wrap:wrap; gap:8px; }
.coaching-today [hidden] { display:none; }
.train-start-main { min-width:0; }
#start-form .check { display:flex; align-items:flex-start; min-height:44px; }
#start-form input[type=checkbox] { width:18px; min-width:18px; height:18px; margin-top:2px; }
#main-content .start-layout .inline-details { font-size:14px; }
#main-content .coaching-today > details { font-size:14px; }

@media(max-width:760px) { .settings-grid { grid-template-columns:1fr; } .settings-grid .settings-section:nth-child(2) { border-top:1px solid var(--line); } .settings-grid .settings-approvals { grid-column:auto; } .settings-approval-item { grid-template-columns:1fr 1fr; } .settings-approval-item p { grid-column:1/-1; } .coaching-today { grid-template-columns:1fr; } }
@media(max-width:380px) { .today-workout-panel .form-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:1000px) {
  .train-grid { grid-template-columns:170px minmax(0,1fr); }
  .train-aside { display:none; }
  .mobile-exercise-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
  .mobile-exercise-actions button { min-height:44px; }
}
@media(max-width:760px) {
  main { padding-bottom:calc(var(--dock-reserve,100px) + 95px + env(safe-area-inset-bottom)); }
  #sync-detail { display:none; }
  .train-grid { display:block; }
  .train-main h2 { font-size:25px; }
  .exercise-meta { font-size:12px; }
  .rest-panel { padding:18px; }
  .rest-clock { font-size:64px; padding:14px 0; }
  .next-panel { flex-direction:column; align-items:stretch; gap:12px; padding:15px; }
  .next-panel .primary { width:100%; }
  .effort-panel { padding:16px; }
  .effort-panel h3 { font-size:18px; }
  .effort-buttons.full-scale button { min-height:46px; font-size:21px; }
  .effort-entry { grid-template-columns:minmax(0,1fr) auto; }
  .effort-entry button { min-height:44px; }
  .form-grid { min-width:0; }
  .save-facts,.timing-facts { grid-template-columns:1fr; gap:4px; }
  .save-facts dd,.timing-facts dd { margin-bottom:10px; }
  .duration-entry input { font-size:40px; }
  .dialog-body pre { font-size:11px; }
}
