/* Connected adapters for the approved styles.css + experience.css components. */
.initial-load{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:32px;background:#f5f8f8;min-height:100dvh}
.initial-load img{display:block;width:240px;max-width:75%;height:auto;object-fit:contain}
.initial-spinner{display:block;width:32px;height:32px;flex:0 0 32px;border:3px solid #dcebec;border-top-color:#0dbec4;border-radius:50%;animation:initial-spin .85s linear infinite}
@keyframes initial-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.initial-spinner{animation:none;border-right-color:#0dbec4}}
.app-header{height:86px;min-height:0;padding-block:0}
.brand img{width:152px;height:36px}
.brand span{max-width:240px}
.header-actions{gap:8px}
#identity{color:var(--muted);font-size:11px}
.workspace{padding-bottom:0}
.health-tabs a{display:inline-flex;align-items:center;gap:8px}
.health-tabs .icon{width:16px;height:16px}
.approved-guidance>.section-head p,.guidance-summary p,.guidance-publish p{font-size:13px;color:var(--muted);margin-top:7px}
.approved-guidance [data-module-status]:empty,.module-status:empty,.live-workouts>[role=status]:empty{display:none}
.guidance-publish{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.guidance-summary>div{flex:1;min-width:0}
.approved-home [data-module-status]:empty{display:none}
.guidance-card footer .text-button{display:inline-flex;align-items:center;gap:7px}
.local-tabs a{display:flex;align-items:center;min-height:48px;padding:12px 18px;white-space:nowrap;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}
.local-tabs a.active{border-color:var(--accent);color:var(--accent);background:#eef5f2}
.approved-subnav{display:flex;gap:20px;margin-bottom:24px;font-size:13px}
.approved-subnav a{padding:8px 0;color:var(--muted)}
.approved-subnav [aria-current]{color:var(--accent);font-weight:650}
body.coach .module-nav[aria-label="Navegação do coach"]{margin-top:0;margin-bottom:28px;font-size:12px;gap:8px}
body.coach .module-nav[aria-label="Navegação do coach"] a{padding:8px 0;margin-right:12px}
body.coach .coach-heading h1{max-width:610px;overflow-wrap:anywhere}
body.coach .read-back{margin-bottom:14px}
.approved-water-progress{display:block;width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;margin:14px 0 18px;appearance:none;background:#e0e8e5}
.approved-water-progress::-webkit-progress-bar{background:#e0e8e5}
.approved-water-progress::-webkit-progress-value{background:var(--accent)}
.approved-water-progress::-moz-progress-bar{background:var(--accent)}
.approved-water-progress .water-fill{display:block;height:100%;background:var(--accent);border-radius:inherit;transition:width .65s cubic-bezier(.2,.7,.2,1)}
.water-feedback{min-height:22px;margin:12px 0 0;font-size:13px;color:var(--accent);overflow-wrap:anywhere}
.hydration-section .water-number{font-variant-numeric:tabular-nums;transform-origin:left center}
.hydration-page .hydration-section{max-width:600px;padding:20px 0;border-bottom:1px solid var(--line)}
.hydration-page .module-actions{margin-block:20px}
.hydration-page .module-form{max-width:600px;grid-template-columns:minmax(0,1fr) auto;align-items:end}
.hydration-page .module-row{justify-content:space-between}
.hydration-page h2{margin-top:28px}
.hydration-page .section-head h2{margin:0}
#refresh.is-refreshing .icon{animation:quiet-refresh 1s linear infinite}
@keyframes quiet-refresh{to{transform:rotate(360deg)}}
@media(max-width:420px){.hydration-page .module-form{grid-template-columns:minmax(0,1fr)}.hydration-page .water-row{gap:12px}}
@media(prefers-reduced-motion:reduce){.approved-water-progress .water-fill{transition:none}#refresh.is-refreshing .icon{animation:none}}
.live-tabs.workout-tabs{gap:8px;padding:4px 0 8px;border-radius:0;scroll-snap-type:x proximity;scrollbar-width:thin}
.live-tabs.workout-tabs button{flex:0 0 136px;width:136px;min-width:0;max-width:136px;height:76px;padding:12px 14px;border:1px solid var(--line);border-bottom:3px solid transparent;background:#fff;border-radius:6px;font-size:13px;white-space:normal;overflow:hidden;scroll-snap-align:center;text-align:left}
.live-tabs.workout-tabs button strong,.live-tabs.workout-tabs button small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}
.live-tabs.workout-tabs button strong{font-size:14px;font-weight:700}
.live-tabs.workout-tabs button small{font-size:12px;margin-top:5px;color:var(--muted)}
.live-tabs.workout-tabs button[aria-pressed=true] small{color:inherit}
.live-tabs.workout-tabs button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#eef5f2}
.live-exercise.exercise{padding:0;border-color:var(--line)}
.live-exercise .exercise-heading{list-style:none;font-weight:400}
.live-exercise summary::-webkit-details-marker,.module-meal summary::-webkit-details-marker{display:none}
.live-exercise[open] .exercise-heading>.icon{transform:rotate(180deg)}
.live-exercise .sets{padding-top:0}
.approved-training .live-set{grid-template-columns:36px minmax(0,1fr) 110px 42px;gap:12px}
.approved-training .live-sets{display:block}
.approved-training .set-row{min-height:54px}
.approved-training .set-labels{min-height:24px}
.approved-training .set-load-control{display:flex;align-items:center;gap:4px;min-width:0}
.approved-training .set-load-control input{flex:1;min-width:0}
.approved-training .exercise-note,.approved-training .exercise-method{margin:0 0 14px 42px;font-size:12px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}
.approved-training .exercise-method{font-size:11px}
.approved-training .training-dock>div{min-width:0}
.approved-training .training-dock strong{font-size:18px;line-height:1.3;overflow-wrap:anywhere}
.approved-training .training-dock [data-live-rest]:empty{display:none}
.live-set small{display:block;font-size:10px;margin-top:3px}
.live-labels span{white-space:nowrap;font-size:10px}
.page-heading>.secondary{flex-shrink:0;overflow-wrap:normal}
.live-set input{border-color:var(--line);background:white;color:var(--ink)}
.live-set button[data-work=set]{border-radius:50%;width:30px;height:30px;padding:5px;border-color:#b7c9c3;color:transparent}
.live-set button[data-work=set][aria-pressed=true]{color:white;background:var(--accent);border-color:var(--accent)}
.live-set button[data-work=save]{width:28px;height:34px;padding:5px;border:0;background:transparent;color:var(--accent)}
.live-set:not(.has-load-change) button[data-work=save]{display:none}
.approved-training .training-dock{margin-bottom:0;border:0;padding:15px 18px}
.training-dock strong{font-size:18px}
.training-dock [data-live-rest]{font-size:11px;color:#c1d1ca}
.live-history{border-top:1px solid var(--line);padding-top:26px;margin-top:32px}
.live-history>h2{font-size:18px;margin-bottom:14px}
.live-history article{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px 0}
.live-history article>strong{flex:1;min-width:130px;font-size:14px}
.live-history article>p{font-size:12px;color:var(--muted)}
.live-history article .inline-actions{margin-top:0}
.live-history .secondary{min-height:36px;padding:8px 10px;font-size:12px}
.module-page>header.page-heading{align-items:flex-end;margin-bottom:26px}
.module-page>header.page-heading h1{font-size:30px;margin:0}
.approved-diet .nutrition-summary{border-top:0;padding-top:0;margin-bottom:28px;gap:16px}
.approved-diet .nutrition-summary strong{font-size:20px;margin-top:8px}
.module-meal.meal{padding:0;border:1px solid var(--line)}
.module-meal.meal>summary{padding:18px 20px}
.module-meal.meal>summary h2{font-size:16px}
.module-meal.meal>summary small{font-size:11px}
.module-meal .food-row{border-bottom:0;border-color:#eef1f0;padding:14px 0;flex-wrap:nowrap}
.module-meal .food-copy{min-width:0}
.module-meal .food-copy strong{font-size:13px}
.module-meal .food-copy small{font-size:11px}
.module-meal .food-row .module-actions{flex:0 0 auto;gap:0}
.module-meal .food-row .icon-button{width:30px;height:34px;flex-basis:30px}
.module-meal .food-row label{margin-top:10px;font-size:11px}
.module-meal .food-row select{font-size:13px;max-width:100%}
.module-meal .meal-footer{margin-top:0;padding-top:14px;gap:8px}
.module-dialog{color:var(--ink);border-color:var(--line);max-height:calc(100dvh - 32px)}
.module-dialog>header{padding:22px 24px 18px;border-color:var(--line)}
.module-dialog-body{padding:24px}
.module-dialog .presentation-picker{border:0;margin:0;padding:0}
.module-dialog .presentation-picker legend{font-size:13px;margin-bottom:12px}
.module-dialog .presentation-option{display:block}
.module-dialog .presentation-option input{width:auto}
.message-list{padding:24px 0;min-height:260px;border-block:1px solid var(--line)}
.message-item{font-size:13px;padding:14px 16px;background:#edf2ef;border-radius:8px}
.message-item small{font-size:10px;color:var(--muted)}
.message-own{background:#e0f1e8}
.module-page:has(form[data-form=message]){max-width:820px;margin-inline:auto}
.module-page form[data-form=message]{display:flex;align-items:flex-end;gap:12px;margin-top:20px}
.module-page form[data-form=message]>label{flex:1;min-width:0}
.module-page form[data-form=message] textarea{min-height:48px;max-height:180px;resize:vertical}
.conversation-header{display:flex;align-items:center;gap:12px;padding:18px 0}
.conversation-header strong,.conversation-header small{display:block}.conversation-header small{margin-top:5px}
.module-page form.message-composer{flex-wrap:nowrap;align-items:stretch}.module-page form.message-composer>label{flex-basis:auto}
.module-page form.message-composer>.primary{width:48px;padding:10px}
.approved-diet .nutrition-summary .calories strong{font-size:30px}
.approved-diet .nutrition-summary .mini-macros strong{font-size:14px}
@media(max-width:760px){
 .app-header{height:72px;padding:0 20px}.brand img{width:132px;height:30px}
 .header-actions{gap:5px}#refresh{display:none}.header-actions .avatar{width:32px;height:32px}
 .review-bar{padding:8px 16px}.review-bar span{width:auto;font-size:10px}
 .workspace{padding-bottom:0!important}#main{padding:25px 20px 110px}
 #navigation{grid-template-columns:repeat(5,minmax(0,1fr));z-index:10}
 .local-tabs a{padding:12px 5px;flex:1;justify-content:center;font-size:12px}
 .health-tabs a{gap:5px;font-size:12px}.health-tabs .icon{width:14px;height:14px}
 .guidance-publish{align-items:flex-start;flex-direction:column}
 .live-tabs.workout-tabs button{padding:10px 12px;font-size:12px;flex-basis:112px;width:112px;max-width:112px;height:72px}
 .approved-training .live-set{grid-template-columns:34px minmax(0,1fr) 100px 34px;gap:12px}
 .approved-training .exercise-note,.approved-training .exercise-method{margin-left:0}
 .live-set button[data-work=save]{width:24px}.live-set input{font-size:16px}
 .approved-training .training-dock{flex-wrap:nowrap;align-items:center;bottom:83px;padding:13px 14px;gap:10px}
 .approved-training .training-dock strong{font-size:16px}
 .training-dock strong{font-size:16px}.training-dock>.primary{flex-shrink:0}
 .live-history article .inline-actions{width:100%}
 .module-page>header.page-heading h1{font-size:26px}
 .approved-diet .nutrition-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .module-meal.meal>summary{padding:16px}.module-meal .food-copy strong{font-size:12px}
 .module-meal .meal-footer .module-actions{gap:4px}.module-meal .meal-footer .secondary{font-size:12px;padding:10px}
 .module-dialog{width:100%;max-width:100%;max-height:calc(100dvh - 18px);margin:auto 0 0;border-radius:8px 8px 0 0;border-bottom:0}
 .module-dialog>header{padding:20px}.module-dialog-body{padding:20px 20px max(24px,env(safe-area-inset-bottom))}
 .module-page form[data-form=message].message-composer{flex-wrap:nowrap;padding:12px 0;align-items:stretch}
 .module-page form[data-form=message].message-composer>label{flex-basis:auto}
 .module-page form[data-form=message].message-composer>.primary{flex:0 0 44px}
}
@media(prefers-reduced-motion:reduce){.approved-guidance *{animation:none!important;transition:none!important}}
/* Navigation responds before authenticated data arrives; placeholders contain no private data. */
.route-loading{min-height:320px}
.route-placeholder{display:grid;gap:24px;max-width:960px}
.route-placeholder-line,.route-placeholder-block{background:#e4eaea;border-radius:4px;animation:route-pulse 1.4s ease-in-out infinite alternate}
.route-placeholder-line{height:18px;width:58%}
.route-placeholder-block{height:144px;width:100%}
@keyframes route-pulse{to{opacity:.45}}
@media(prefers-reduced-motion:reduce){.route-placeholder-line,.route-placeholder-block{animation:none}}

/* Keep the workout header actions together without squeezing its heading. */
.live-workouts>.page-heading>.inline-actions{flex-shrink:0;flex-wrap:nowrap}
.live-workouts>.page-heading>.inline-actions>.secondary{white-space:nowrap}
@media(max-width:760px){
 .live-workouts>.page-heading{flex-direction:column;align-items:stretch;gap:16px}
 .live-workouts>.page-heading>.inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
 .live-workouts>.page-heading>.inline-actions>.secondary{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;padding:10px 8px;font-size:13px}
 .live-workouts>.page-heading>.inline-actions .icon{width:18px;height:18px}
}
/* Approved More and its connected destinations. */
.approved-more .more-group{max-width:850px;margin-top:32px}
.approved-more .more-group>h2{font-size:13px;color:var(--muted);font-weight:600;margin:0 0 4px}
.approved-more .more-links>a{color:var(--ink);text-decoration:none}
.approved-secondary{min-width:0}
.approved-secondary>.page-heading{margin-bottom:28px}
.approved-secondary .page-heading .text-button,.comparison-page .page-heading .text-button{margin-bottom:14px}
.approved-secondary .page-heading .eyebrow{display:block}
.routine-page,.account-page{max-width:850px;margin-inline:auto}
.approved-secondary .details-list strong{overflow-wrap:anywhere;min-width:0;text-align:right}
.routine-page .module-form{max-width:760px;gap:24px}
.routine-page fieldset{border:0;border-top:1px solid var(--line);padding:22px 0 0}
.routine-page legend{font-weight:600;font-size:15px;padding:0 12px 0 0}
.routine-page .module-check{padding:8px 0;align-items:center}
.routine-page .module-check input{accent-color:var(--accent)}
.routine-page .module-form>.primary,.account-page .module-form>.primary{justify-self:start}
.account-page>h2{font-size:20px;margin:32px 0 16px}
.account-page section h2{font-size:20px;margin-bottom:8px}
.account-page section p{font-size:13px;color:var(--muted);margin-top:8px}
.account-page .module-form{max-width:560px}
.account-page .module-form p{font-size:12px;color:var(--muted)}
.messages-page .conversation header>div{min-width:0;overflow-wrap:anywhere}
.messages-page .conversation-older{margin:8px 24px}
.messages-page [hidden]{display:none!important}
.messages-page .message-composer{margin:0;max-width:none}
.messages-page .conversation-log{overflow-x:hidden}
.messages-page .chat-message{flex-shrink:0}
.comparison-page .compare-photo{display:block}
.comparison-page .compare-photo img{display:block}
.comparison-page .inline-actions{flex-wrap:wrap}
.exam-page .health-item>div{min-width:0;overflow-wrap:anywhere}
.exam-page .health-item h3{margin:12px 0 6px}
.exam-page .health-item small{color:var(--muted)}
.exam-page .health-item .inline-actions{flex-wrap:wrap}
.exam-page .health-item p{white-space:pre-wrap}
@media(max-width:600px){
  .approved-more .more-group{margin-top:24px}
  .approved-more .more-links>a{padding:18px 0}
  .routine-page .details-list>div{gap:16px}
  .routine-page .module-form>.primary,.account-page .module-form>.primary{width:100%;justify-self:stretch}
  .messages-page .conversation-older{margin-inline:16px}
  .exam-page .health-item{display:block}
  .exam-page .health-item .inline-actions{margin-top:16px}
}
/* Approved evolution overview: period, frequency, recovery and dated photos. */
.evolution-page{min-width:0}
.evolution-page .page-heading>.secondary{flex-shrink:0}
.evolution-page .period-toolbar .compact-field{min-width:170px}
.evolution-page .photo-tile{display:block}
.evolution-page .evolution-dates{display:flex;align-items:end;gap:12px;margin-bottom:24px;flex-wrap:wrap}
.evolution-page .evolution-dates .field{min-width:0;flex:1}
.evolution-measures{padding-top:24px;border-top:1px solid var(--line)}
.evolution-measures>.compact-field{max-width:240px}
.evolution-measure-summary{display:flex;align-items:center;gap:32px;padding:22px 0;flex-wrap:wrap}
.evolution-measure-summary strong,.evolution-measure-summary small{display:block}
.evolution-measure-summary strong{font-size:22px;margin-top:6px}
.evolution-measure-summary>span,.evolution-measure-summary p{font-size:13px;color:var(--muted)}
.evolution-page details>summary{padding:16px 0;cursor:pointer;font-weight:600}
.evolution-page .measurement-entry{padding:14px 0;border-bottom:1px solid var(--line)}
.evolution-page .measurement-entry p{font-size:13px;color:var(--muted);margin-top:8px}
.evolution-page .day-records>div{font-size:12px}
@media(max-width:600px){
  .evolution-page .page-heading{align-items:start;flex-wrap:wrap}
  .evolution-page .period-toolbar{gap:16px;flex-wrap:wrap}
  .evolution-page .period-toolbar h2{font-size:18px}
  .evolution-page .period-toolbar .compact-field{width:100%}
  .evolution-page .evolution-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .evolution-page .evolution-dates>.secondary{grid-column:1/-1}
  .evolution-page .photo-section>.section-head{flex-wrap:wrap}
  .evolution-page .photo-section .inline-actions{width:100%;display:flex;flex-wrap:wrap}
  .evolution-page .photo-section .inline-actions>*{flex:1;padding:10px 8px;font-size:12px}
  .evolution-page .measure-bar{grid-template-columns:82px minmax(0,1fr) 65px;gap:8px;font-size:12px}
  .evolution-page .day-records>div{font-size:10px;gap:8px;grid-template-columns:80px 1fr 1.2fr 45px}
}
.reminder-form{max-width:620px;display:grid;gap:20px;margin-top:20px}
.reminder-group{border-top:1px solid var(--line);padding-top:18px;min-width:0}
.reminder-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;cursor:pointer}
.reminder-toggle strong,.reminder-toggle small{display:block}.reminder-toggle small{margin-top:4px}
.reminder-toggle input[type=checkbox]{appearance:auto;width:22px;height:22px;flex:0 0 22px;accent-color:var(--accent)}
.reminder-group [data-category]{margin-top:14px}.reminder-group [hidden]{display:none}
.reminder-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.reminder-time{display:flex;align-items:center;gap:4px;min-width:0}
.reminder-time input{width:100%;min-width:0;min-height:44px;font-size:16px;border:1px solid var(--line);border-radius:6px;padding:9px;background:#fff}
.reminder-form>[type=submit]{justify-self:start}.reminder-form [role=status]{font-size:13px;color:var(--accent)}

/* Photo preview stays inside the app, with its close control always visible. */
.module-dialog.photo-viewer-dialog{width:min(880px,calc(100% - 24px));max-width:880px;margin:auto;max-height:calc(100dvh - 24px);border-radius:8px;overflow:hidden}
.photo-viewer-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.photo-viewer-dialog>header h2{font-size:18px;min-width:0;overflow-wrap:anywhere}
.photo-viewer-dialog>header button{flex:0 0 44px;width:44px;height:44px}
.photo-viewer-dialog .module-dialog-body{padding:12px;background:#15272d}
.photo-viewer{margin:0;display:grid;place-items:center;color:#fff}
.photo-viewer img{display:block;width:100%;height:min(68dvh,760px);object-fit:contain}
.photo-viewer figcaption{font-size:14px;text-align:center}
.photo-viewer figcaption:empty{display:none}
/* Workout follows the meal list: concise summary, individually framed exercises. */
.training-refresh .page-heading{flex-direction:row;align-items:center;margin-bottom:18px}
.training-refresh .page-heading>div{flex:1;min-width:0}
.training-refresh .page-heading h1{font-size:30px}
.training-refresh .training-history-button{flex-shrink:0;white-space:nowrap;min-height:44px}
.training-actions{display:flex;gap:8px;margin-bottom:22px}
.training-actions .secondary{min-height:44px;white-space:nowrap}
.training-refresh [role=status]:empty{display:none}
.training-refresh .workout-tabs{margin:0 0 22px}
.training-summary{padding:0 0 22px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.training-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.training-title>div{min-width:0;max-width:650px}
.training-title h2{font-size:22px;line-height:1.35;overflow-wrap:anywhere}
.training-title .pill{flex-shrink:0;margin-top:2px}
.training-session-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}
.training-clock{display:flex;align-items:center;gap:10px;flex-shrink:0}
.training-clock>.icon{width:24px;height:24px;color:var(--accent)}
.training-clock small{display:block;font-size:11px;margin-bottom:4px;color:var(--muted)}
.training-clock time{display:block;font-size:26px;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums}
.training-session-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.training-session-actions>button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.training-rest{font-size:12px;margin:12px 0 0;color:var(--accent)}
.training-rest:empty{display:none}
.training-refresh .training-primary{min-width:0}
.training-refresh .live-exercise.exercise{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:14px;overflow:hidden}
.training-refresh .exercise-heading{display:flex;gap:12px;align-items:center;padding:18px;min-height:86px}
.training-refresh .exercise-heading>div{flex:1;min-width:0}
.training-refresh .exercise-heading strong{font-size:15px;line-height:1.4;display:block;overflow-wrap:anywhere}
.training-refresh .exercise-heading small{font-size:12px;margin-top:5px}
.training-refresh .exercise-heading>.icon{width:16px;height:16px;color:var(--muted)}
.training-refresh .exercise-index{width:32px;height:32px;font-size:12px;border:0;background:#eef4f1;color:var(--accent);flex:0 0 32px;border-radius:6px;display:grid;place-items:center}
.training-refresh .exercise-count{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.training-refresh .exercise-content{padding:0 18px 18px}
.training-refresh .live-sets{padding:0;border-top:1px solid #edf1ef}
.training-refresh .live-set{grid-template-columns:32px minmax(0,1fr) 116px 44px;gap:10px}
.training-refresh .set-row{min-height:64px;border-top:1px solid #f0f3f2}
.training-refresh .set-row>span:first-child{font-size:12px;color:var(--muted)}
.training-refresh .set-labels{min-height:34px;border:0}
.training-refresh .set-labels span{font-size:10px}
.training-refresh .set-row>span:nth-child(2)>strong{font-size:14px;font-weight:600}
.training-refresh .set-row small{font-size:10px;line-height:1.5}
.training-refresh .set-row .set-strategy{display:block;white-space:normal;overflow-wrap:anywhere;font-size:11px;margin-top:4px;color:var(--muted)}
.training-refresh .set-row .set-technique{color:var(--accent);font-weight:650}
.training-refresh .exercise-heading .exercise-check{flex:0 0 44px;width:44px;height:44px;padding:10px;margin:0;border-radius:50%}
.training-refresh .exercise-check[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.training-refresh .exercise-check[aria-pressed=mixed]{background:#e7f4ef;border-color:var(--accent);color:var(--accent)}
.training-refresh .exercise-check[aria-pressed=mixed] svg{visibility:hidden}
.training-refresh .exercise-check[aria-pressed=mixed]::after{content:'';position:absolute;width:16px;height:2px;background:currentColor}
.training-refresh .exercise-check{position:relative;display:flex;align-items:center;justify-content:center}
.training-refresh .exercise-check svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.training-refresh .exercise-check[aria-pressed=false] svg{visibility:hidden}
.training-refresh .set-load-control{position:relative}
.training-refresh .set-load-control input{height:44px;padding:10px;border-radius:6px;text-align:center;background:#f8faf9}
.training-refresh .set-row.done.has-load-change .set-load-control input{padding-right:38px}
.training-refresh .set-row:not(.done) button[data-work=save]{display:none}
.training-refresh .set-load-control button[data-work=save]{position:absolute;right:0;width:38px;height:44px;padding:9px}
.training-refresh .live-set button[data-work=set]{width:44px;height:44px;padding:10px;border-radius:50%}
.training-refresh .set-row.done>span:first-child{color:var(--accent)}
.training-refresh .exercise-guidance{border-top:1px solid #edf1ef;margin-top:10px;padding-top:12px}
.training-refresh .exercise-guidance>summary{font-size:12px;font-weight:500;color:var(--muted);min-height:32px}
.training-refresh .exercise-note{margin:8px 0 0;font-size:12px}
.training-refresh .exercise-method{margin:12px 0 0;font-size:11px}
.training-refresh .rest-bar{margin:10px 0 0;padding:0;border:0;font-size:11px;background:none;color:var(--muted)}
.training-refresh .training-overview{align-self:start;background:transparent;border:0;border-left:1px solid var(--line);border-radius:0;padding:0 0 0 24px}
.training-refresh .training-overview img{height:150px;object-fit:cover;border-radius:6px;margin-bottom:18px}
.workout-history-dialog{width:620px;max-width:calc(100% - 32px)}
.workout-history-dialog .module-dialog-body{padding-top:8px}
.workout-history-item{padding:20px 0;border-bottom:1px solid var(--line)}
.workout-history-item:last-child{border-bottom:0}
.history-date{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:12px}
.history-date>.icon{width:16px;height:16px}.history-date .pill{margin-left:auto}
.workout-history-item h3{font-size:16px}.workout-history-item>p{font-size:12px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}
.workout-history-item dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.workout-history-item dt{font-size:10px;color:var(--muted)}.workout-history-item dd{font-size:14px;font-weight:600;margin:5px 0 0}
.history-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.history-actions .icon-button{width:44px;height:44px;color:var(--accent)}
.history-loading{padding:24px 0;font-size:13px;color:var(--muted)}
@media(max-width:760px){
 .training-refresh .page-heading{flex-wrap:nowrap;gap:10px}.training-refresh .page-heading h1{font-size:26px}
 .training-refresh .page-heading .eyebrow{display:none}.training-refresh .page-heading p{font-size:11px}
 .training-refresh .training-history-button{padding:10px;font-size:12px}
 .training-actions>.secondary{flex:1;font-size:12px;padding:10px 8px}
 .training-title{display:block}.training-title h2{font-size:19px}.training-title .pill{margin-top:12px}
 .training-summary{margin-bottom:14px;padding-bottom:18px}
 .training-session-controls{flex-wrap:wrap;gap:14px;margin-top:18px}
 .training-session-actions{flex:1}.training-session-actions>button{flex:1;padding:12px;font-size:13px}
 .training-clock time{font-size:23px}.training-clock>.icon{width:20px;height:20px}
 .training-refresh .exercise-heading{padding:16px 12px;gap:8px;min-height:82px}
 .training-refresh .exercise-heading strong{font-size:14px}.training-refresh .exercise-heading small{font-size:11px}
 .training-refresh .exercise-content{padding:0 12px 14px}
 .training-refresh .exercise-index{width:28px;height:28px;flex-basis:28px}
 .training-refresh .live-set{grid-template-columns:26px minmax(0,1fr) 86px 44px;gap:8px}
 .training-refresh .set-labels span{font-size:9px}.training-refresh .set-row small{font-size:10px}
 .workout-history-dialog{width:100%;max-width:100%;margin:auto 0 0;border-radius:8px 8px 0 0}
 .workout-history-dialog>header{padding:20px}.workout-history-dialog .module-dialog-body{padding:0 20px max(20px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){.training-refresh .live-set{grid-template-columns:22px minmax(0,1fr) 72px 44px;gap:6px}.training-refresh .exercise-count{display:none}}
/* Evolution: focused pages, shared navigation and progressively disclosed records. */
.evolution-workspace{min-width:0;max-width:1120px;margin-inline:auto}
.evolution-workspace .page-heading{align-items:center;gap:16px;margin-bottom:24px}
.evolution-workspace .page-heading h1,.evolution-workspace .page-heading h2{font-size:28px;line-height:1.2;margin:6px 0 0}
.evolution-workspace .page-heading>.secondary{flex-shrink:0}
.evolution-workspace [data-module-status]:empty{display:none}
.evolution-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);margin-bottom:24px}
.evolution-nav a{min-width:0;text-align:center;padding:15px 8px;border-bottom:3px solid transparent;color:var(--muted);font-size:14px;font-weight:600}
.evolution-nav a[aria-current]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft,#eaf5f2)}
.evolution-workspace .period-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;padding:0}
.evolution-workspace .period-toolbar p{font-size:13px;color:var(--muted);margin:6px 0 0}
.evolution-workspace .compact-field{margin:0;min-width:0;max-width:240px}
.evolution-workspace .field select,.evolution-workspace .field input{min-height:44px;max-width:100%;min-width:0}
.evolution-weight{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 24px}
.evolution-weight>div{display:grid;gap:6px}
.evolution-weight strong{font-size:32px;font-weight:650;line-height:1.2}
.evolution-weight small{font-size:12px;color:var(--muted);font-weight:400}
.evolution-workspace .period-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:28px}
.evolution-workspace .period-stats>div{padding:16px;display:grid;gap:8px;min-width:0;border-right:1px solid var(--line);background:none;box-shadow:none;border-radius:0}
.evolution-workspace .period-stats>div:last-child{border-right:0}
.evolution-workspace .period-stats svg{width:20px;height:20px;color:var(--accent)}
.evolution-workspace .period-stats strong{font-size:26px;line-height:1.2;overflow-wrap:anywhere}
.evolution-workspace .period-stats span{font-size:12px;line-height:1.5;color:var(--muted)}
.evolution-workspace .progress-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;margin:0 0 24px}
.evolution-workspace .progress-columns>section{padding:0;min-width:0;background:none;border:0;box-shadow:none}
.evolution-workspace .section-head{gap:12px;align-items:center;margin-bottom:16px}
.evolution-workspace .section-head h2{font-size:18px;margin:0}
.evolution-workspace .section-head small{font-size:12px;color:var(--muted)}
.evolution-workspace .period-chart{display:flex;gap:10px;align-items:end;height:156px;overflow-x:auto;border-bottom:1px solid var(--line);padding-bottom:10px}
.evolution-workspace .period-chart>div{display:flex;flex:1;min-width:36px;align-items:center;flex-direction:column;gap:7px}
.evolution-workspace .period-chart span{width:100%;max-width:42px;min-height:3px;background:var(--accent);border-radius:3px 3px 0 0}
.evolution-workspace .period-chart strong,.evolution-workspace .period-chart small{font-size:12px}
.evolution-workspace .recovery-values{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
.evolution-workspace .recovery-values strong{display:block;font-size:24px}
.evolution-workspace .recovery-values small{display:block;color:var(--muted);font-size:12px;margin-top:6px}
.evolution-workspace .metric-note{font-size:12px;line-height:1.6;color:var(--muted)}
.evolution-photo-link{display:flex;gap:14px;align-items:center;border-block:1px solid var(--line);padding:20px 0;margin:16px 0;color:var(--text)}
.evolution-photo-link>svg{width:24px;height:24px;color:var(--accent);flex-shrink:0}
.evolution-photo-link>span{flex:1;display:grid;gap:5px}
.evolution-photo-link small{color:var(--muted);font-size:12px}
.evolution-disclosure{border-bottom:1px solid var(--line);margin:0}
.evolution-disclosure>summary{display:flex;gap:12px;align-items:center;min-height:66px;padding:18px 0;cursor:pointer;list-style:none;font-weight:600}
.evolution-disclosure>summary::-webkit-details-marker{display:none}
.evolution-disclosure>summary span{flex:1;min-width:0}
.evolution-disclosure>summary small{font-weight:400;font-size:12px;color:var(--muted)}
.evolution-disclosure>summary svg{width:18px;height:18px}
.evolution-disclosure>summary:after{content:'+';font-size:22px;color:var(--accent);width:20px;text-align:center}
.evolution-disclosure[open]>summary:after{content:'−'}
.evolution-detail-body{padding:0 0 24px;min-width:0}
.evolution-health-link{margin-top:24px}
.evolution-record-actions{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap}
.evolution-workspace .evolution-measures{margin:0;border:0;padding:0 0 24px}
.evolution-workspace .evolution-measure-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-block:1px solid var(--line);padding:24px 0;margin:20px 0}
.evolution-measure-summary>div{display:grid;gap:8px;min-width:0}
.evolution-workspace .evolution-measure-summary strong{font-size:26px;line-height:1.2;overflow-wrap:anywhere}
.evolution-workspace .evolution-measure-summary small{font-size:12px;color:var(--muted);font-weight:400}
.evolution-trend{display:flex;align-items:end;gap:16px;overflow-x:auto;padding:16px 0;border-bottom:1px solid var(--line)}
.evolution-trend>div{flex:1;min-width:44px;display:flex;align-items:center;flex-direction:column;gap:8px}
.evolution-trend span{width:100%;max-width:36px;background:var(--accent);border-radius:3px 3px 0 0}
.evolution-trend strong,.evolution-trend small{font-size:12px;white-space:nowrap}
.evolution-measure-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 32px}
.evolution-measure-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.evolution-measure-list dt{color:var(--muted)}
.evolution-measure-list dd{margin:0;white-space:nowrap;font-weight:600}
.evolution-photo-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:24px}
.evolution-date-filter{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;padding-bottom:24px}
.evolution-date-filter .field{margin:0;min-width:0}
.evolution-date-filter small{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}
.evolution-date-filter strong{font-size:13px;font-weight:500}
.evolution-segments{display:flex;padding:3px;gap:3px;background:#e9eeed;border-radius:6px}
.evolution-segments button{min-height:38px;border:0;background:transparent;border-radius:4px;padding:8px 14px;color:var(--muted);font-size:13px;font-weight:600}
.evolution-segments button[aria-pressed=true]{background:white;color:var(--text);box-shadow:0 1px 3px #162c3320}
.evolution-angles{display:flex;gap:18px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:20px}
.evolution-angles button{flex-shrink:0;min-height:44px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 0;background:none;color:var(--muted);font-size:13px}
.evolution-angles button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);font-weight:650}
.evolution-workspace .comparison-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.evolution-workspace .comparison-toolbar .field{min-width:0;margin:0}
.evolution-workspace .comparison-row{margin:0 0 24px}
.evolution-workspace .comparison-row>h2{font-size:18px;margin-bottom:16px}
.evolution-workspace .compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.evolution-workspace .compare-grid figure{margin:0;min-width:0}
.evolution-workspace .compare-photo,.evolution-workspace .missing-comparison{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;background:#e8edec;border-radius:6px;overflow:hidden;min-height:0}
.evolution-workspace .compare-photo img{width:100%;height:100%;object-fit:contain;max-height:560px}
.evolution-workspace .compare-grid figcaption{font-size:12px;color:var(--muted);padding:12px 0}
.evolution-workspace .missing-comparison{flex-direction:column;gap:12px;text-align:center;font-size:12px;color:var(--muted);padding:12px}
.evolution-workspace .missing-comparison svg{width:24px;height:24px}
.evolution-gallery .photo-section{margin-top:0}
.evolution-gallery .photo-section>.section-head{display:none}
.evolution-gallery .photo-date-group{padding-bottom:28px}
.evolution-gallery .photo-date-group h3{font-size:15px}
.evolution-gallery .angle-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.evolution-gallery .photo-tile,.evolution-gallery .angle-missing{aspect-ratio:3/4;position:relative;background:#e8edec;border-radius:6px;overflow:hidden;min-width:0}
.evolution-gallery .photo-tile img{width:100%;height:100%;object-fit:contain}
.evolution-gallery .photo-tile span{position:absolute;bottom:0;left:0;right:0;padding:9px;background:#fffE;font-size:12px}
.evolution-gallery .angle-missing{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;font-size:12px;color:var(--muted);text-align:center}
.evolution-gallery .angle-missing svg{width:24px;height:24px}
.evolution-empty{text-align:center;padding:40px 16px;color:var(--muted)}
.evolution-empty>svg{width:32px;height:32px;color:var(--accent)}
.evolution-empty h2{font-size:18px;color:var(--text)}
.evolution-single-photo{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:24px;align-items:center}
.evolution-single-photo h2{font-size:20px}
.evolution-report-single{max-width:240px;margin-bottom:24px}.evolution-report-single>strong{display:block;margin-bottom:12px}
.evolution-workspace .day-records>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 0;font-size:12px;border-bottom:1px solid var(--line)}
.evolution-workspace .evolution-dates{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin:0 0 24px}
.evolution-workspace .evolution-dates .field{min-width:0;margin:0}
@media(max-width:640px){
 .evolution-workspace .page-heading h1,.evolution-workspace .page-heading h2{font-size:24px}
 .evolution-workspace .page-heading{flex-wrap:wrap}
 .evolution-workspace .primary,.evolution-workspace .secondary{font-size:13px;padding:11px 12px;min-height:44px;gap:6px}
 .evolution-nav{margin-bottom:20px}.evolution-nav a{font-size:13px;padding:13px 4px}
 .evolution-workspace .period-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .evolution-workspace .period-stats>div{padding:16px 12px;border-bottom:1px solid var(--line)}
 .evolution-workspace .period-stats>div:nth-child(even){border-right:0}
 .evolution-workspace .progress-columns{grid-template-columns:minmax(0,1fr);gap:24px}
 .evolution-workspace .progress-columns>section+section{border-top:1px solid var(--line);padding-top:20px}
 .evolution-workspace .period-toolbar{gap:12px;align-items:center}
 .evolution-workspace .period-toolbar .compact-field{width:165px;flex-shrink:0}
 .evolution-workspace .period-toolbar p{font-size:11px}
 .evolution-workspace .evolution-measure-summary{gap:12px}.evolution-workspace .evolution-measure-summary strong{font-size:22px}
 .evolution-measure-list{grid-template-columns:minmax(0,1fr)}
 .evolution-photo-toolbar{flex-wrap:wrap}.evolution-segments button{padding:8px 10px}
 .evolution-workspace .compare-grid{gap:10px}.evolution-workspace .compare-grid figcaption{font-size:11px}
 .evolution-gallery .angle-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))}
 .evolution-single-photo{grid-template-columns:minmax(0,1fr)}.evolution-single-photo .compare-photo{max-width:320px}
 .evolution-disclosure>summary{font-size:14px}.evolution-disclosure>summary small{font-size:11px;max-width:110px;text-align:right}
 .evolution-workspace .day-records>div{grid-template-columns:repeat(2,minmax(0,1fr))}
 .evolution-workspace .evolution-dates{grid-template-columns:repeat(2,minmax(0,1fr))}
 .evolution-workspace .evolution-dates>button{grid-column:1/-1;justify-self:end}
}
