/* Shared member/demo workout popup. One exercise above the dimmed dashboard. */
.participant-shell .participant-hero{border-radius:20px;background:#173b37;padding:32px}
.today-preview{margin:24px 0 0;padding:22px 0 0;border-top:1px solid #ffffff40;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none}
.today-preview li{display:flex;gap:12px;align-items:flex-start;min-width:0}
.today-preview .preview-number{font-size:16px;color:#d8e8b8;border:1px solid #ffffff50;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}
.today-preview strong{display:block;font-size:18px;line-height:1.4;color:white}
.today-preview small{display:block;font-size:16px;color:#dce8e1;margin-top:6px;line-height:1.5}
html.workout-popup-open,html.workout-popup-open body{overflow:hidden;overscroll-behavior:none}
.workout-dialog{width:min(860px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);min-height:0;margin:auto;padding:0;border:0;border-radius:24px;background:#fff;color:#173b37;overflow:auto;overscroll-behavior:contain;box-shadow:0 28px 100px #061b1960}
.workout-dialog::backdrop{background:#0b201ec2;backdrop-filter:blur(3px)}
.workout-dialog-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;background:#fffffff5;border-bottom:1px solid #dde5df;backdrop-filter:blur(12px)}
.workout-dialog-header>span{font-size:18px;font-weight:600}
.workout-close{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border:1px solid #d7e1da;border-radius:50%;background:#f2f6f0;color:#173b37;cursor:pointer}
.workout-close:hover{background:#e4eddf}
.workout-dialog .workout-main{max-width:none;margin:0;padding:24px}
.workout-dialog .workout-watch{display:block}
.workout-dialog .movement-stage{display:block;min-width:0;border:0;border-radius:0;background:transparent;overflow:visible}
.workout-dialog .workout-video{display:block;width:100%;aspect-ratio:auto;border-radius:14px;overflow:hidden;background:#142620}
.workout-dialog .demo-player video{display:block;aspect-ratio:16/9;width:100%;height:auto;max-height:none;object-fit:contain}
.workout-dialog .demo-player:fullscreen video{max-height:calc(100dvh - 64px)}
.workout-dialog .demo-player-controls{padding:4px 12px}
.workout-dialog .movement-heading{display:block;padding:22px 0 16px;border:0}
.workout-dialog .movement-heading .eyebrow{font-size:15px;line-height:1.5;letter-spacing:.04em;margin:0 0 8px;color:#52665b}
.workout-dialog .movement-heading h1{font-size:clamp(26px,3vw,34px);font-weight:700;line-height:1.2;letter-spacing:-.03em;margin:0;color:#142e25;overflow-wrap:anywhere}
.workout-dialog .movement-instructions{margin:0 0 20px;padding:20px;background:#f1f5ee;border:0;border-radius:14px;color:#243e31}
.workout-dialog .movement-instructions h2{font-size:20px;line-height:1.4;margin:14px 0 8px}
.workout-dialog .movement-instructions>p{font-size:18px;line-height:1.7;max-width:none;margin:0;white-space:pre-line}
.watch-description-meta{display:flex;flex-wrap:wrap;gap:8px}
.watch-description-meta span{font-size:15px;line-height:1.5;color:#365b47}
.watch-description-meta span+span:before{content:'·';margin-right:8px}
.workout-dialog .movement-counts{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:20px;align-items:center;margin:0;padding:0 0 20px;background:transparent;border:0;border-radius:0}
.workout-dialog .movement-counts .prescription{display:flex;gap:28px;flex-wrap:wrap}
.workout-dialog .movement-counts .prescription p{font-size:16px;line-height:1.4;margin:0;color:#52635b}
.workout-dialog .movement-counts .prescription strong{font-size:20px;line-height:1.4;color:#173b37}
.workout-dialog .movement-counts .round-tracker{display:grid;min-width:0;gap:8px;margin:0;padding:0;border:0}
.workout-dialog .round-tracker strong{font-size:16px;line-height:1.5}
.workout-dialog .round-tracker progress{height:7px;border-radius:10px}
.workout-dialog .movement-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:0;gap:10px}
.workout-dialog .movement-controls .button{font-size:17px;line-height:1.4;min-height:52px;padding:12px;border-radius:10px;white-space:normal}
.workout-dialog .workout-plan{position:static;min-width:0;padding:0;margin:0;background:transparent;border:0;border-radius:0}
.next-exercise-preview{font-size:16px;line-height:1.6;margin:16px 0 24px;color:#52635b}
.next-exercise-preview strong{color:#173b37}
.workout-dialog .workout-finish{display:flex;gap:20px;align-items:center;border:0;padding:0;margin:0;max-width:none}
.workout-dialog .workout-finish .button{min-height:52px;width:auto;min-width:160px;font-size:17px;border-radius:10px}
.workout-dialog .workout-finish p{font-size:16px;line-height:1.6;text-align:left;margin:0;color:#52635b}
.workout-dialog :focus-visible{outline:3px solid #31574d;outline-offset:3px}
.workout-dialog .workout-video :focus-visible{outline-color:#e8f6b8;outline-offset:-3px}
@media(max-width:600px){
 .participant-shell .participant-hero{padding:24px 20px}
 .today-preview{grid-template-columns:1fr;gap:16px}
 .workout-dialog{width:100%;height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);margin:12px 0 0;border-radius:24px 24px 0 0}
 .workout-dialog-header{padding:10px 16px}
 .workout-dialog .workout-main{padding:16px 16px max(24px,env(safe-area-inset-bottom))}
 .workout-dialog .movement-heading{padding:18px 0 14px}
 .workout-dialog .movement-heading h1{font-size:27px}
 .workout-dialog .movement-counts{grid-template-columns:1fr;gap:16px}
 .workout-dialog .movement-counts .prescription{display:flex;gap:22px}
 .workout-dialog .movement-counts .round-tracker{display:flex;align-items:center;gap:16px}
 .workout-dialog .round-tracker progress{flex:1;min-width:40px}
 .workout-dialog .movement-controls{grid-template-columns:1fr 1fr}
 .workout-dialog .movement-controls .primary{grid-column:1/-1;grid-row:1}
 .workout-dialog .workout-finish{display:block}
 .workout-dialog .workout-finish .button{width:100%;margin-bottom:12px}
 .workout-dialog .demo-player-controls{padding:4px 8px;gap:6px}
}
