
/* ========================================================================
   Concept 3 detail pass v51 — based on the real v50 mobile screenshot
   ======================================================================== */
body.concept3-v50.concept3-v51:not(.c3-coach-mode):not(.c3-workout-mode) .page{max-width:560px!important;padding:12px 16px 106px!important}
body.concept3-v50.concept3-v51:not(.c3-coach-mode):not(.c3-workout-mode) .toprow{max-width:560px!important}
body.concept3-v50.concept3-v51 .bottomnav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:90!important}
.c3v51-icon{width:20px;height:20px;display:block}
.c3v51-client{width:100%;display:grid;gap:0}

/* Week is deliberately always visible under the page title. */
.c3v51-week{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:0 0 14px;padding:4px 0 13px;border-bottom:1px solid var(--surface2)}
.c3v51-week button{height:52px;min-width:0;border:0;border-radius:9px;background:transparent;color:var(--muted);display:grid;place-items:center;align-content:center;gap:2px;position:relative;padding:0}
.c3v51-week span{font-size:9px;font-weight:700}.c3v51-week b{font-size:13px;color:var(--text)}.c3v51-week i{position:absolute;bottom:3px;width:3px;height:3px;border-radius:50%;background:transparent}
.c3v51-week button.done i{background:var(--muted)}.c3v51-week button.active{background:var(--green);color:var(--on-accent)}.c3v51-week button.active b{color:var(--on-accent);font-weight:900}.c3v51-week button.active i{background:var(--on-accent)}

/* Today hero */
.c3v51-today-card{border:1px solid var(--surface2);background:linear-gradient(145deg,var(--surface),var(--bg));border-radius:13px;padding:15px;position:relative;overflow:hidden}
.c3v51-today-card:before{content:"";position:absolute;inset:0 0 auto auto;width:150px;height:150px;background:radial-gradient(circle at 70% 35%,rgba(182,255,69,.10),transparent 64%);pointer-events:none}
.c3v51-today-card.active{border-color:var(--green)}.c3v51-kicker{font-size:8px;font-weight:900;letter-spacing:.11em;color:var(--blue);margin-bottom:10px}.c3v51-today-card.active .c3v51-kicker{color:var(--green)}
.c3v51-today-main{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:12px;align-items:center}.c3v51-today-main h1{font-size:25px;line-height:1;margin:0 0 5px;font-weight:850;letter-spacing:-.035em}.c3v51-today-main p{margin:0;color:var(--muted);font-size:10px}.c3v51-sportmark{width:52px;height:52px;border:1px solid var(--line);background:var(--surface);border-radius:10px;color:var(--green);display:grid;place-items:center}.c3v51-sportmark .c3v51-icon{width:25px;height:25px}
.c3v51-inline-progress{margin-top:13px;display:grid;gap:6px}.c3v51-inline-progress>span{font-size:9px;color:var(--muted)}.c3v51-inline-progress>div{height:4px;border-radius:999px;background:var(--surface2);overflow:hidden}.c3v51-inline-progress i{display:block;height:100%;background:var(--green);border-radius:999px}
.c3v51-note{margin-top:12px;padding:9px 10px;border-top:1px solid var(--surface2);border-bottom:1px solid var(--surface2);display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;color:var(--muted)}.c3v51-note .c3v51-icon{width:16px;height:16px;color:var(--green)}.c3v51-note span{font-size:9px;line-height:1.45}
.c3v51-cta{width:100%;height:49px;margin-top:13px;border:0;border-radius:8px;background:var(--green);color:var(--on-accent);display:grid;grid-template-columns:20px 1fr 14px;gap:7px;align-items:center;padding:0 14px;font-size:13px;font-weight:900}.c3v51-cta .c3v51-icon{width:16px;height:16px}.c3v51-cta b{font-size:20px}.c3v51-cta:disabled{opacity:.45;filter:grayscale(1)}

/* One performance strip, not 3 generic dashboard cards. */
.c3v51-progress{margin-top:22px}.c3v51-progress>header,.c3v51-exercises>header{display:flex;justify-content:space-between;align-items:end;margin-bottom:9px}.c3v51-progress h2,.c3v51-exercises h2{font-size:16px;margin:0;font-weight:800}.c3v51-progress header span,.c3v51-exercises header span{font-size:9px;color:var(--muted)}
.c3v51-performance-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--surface2);border-bottom:1px solid var(--surface2)}
.c3v51-performance-strip>div{padding:13px 10px;text-align:center}.c3v51-performance-strip>div+div{border-left:1px solid var(--surface2)}.c3v51-performance-strip strong{display:block;font-size:14px;color:var(--text)}.c3v51-performance-strip span{display:block;margin-top:2px;font-size:8px;color:var(--muted)}

/* Exercise list: readable title, separate trainer note. */
.c3v51-exercises{margin-top:22px}.c3v51-ex-list{border-top:1px solid var(--surface2)}.c3v51-ex-row{min-height:66px;display:grid;grid-template-columns:54px minmax(0,1fr) 24px;gap:11px;align-items:center;padding:9px 0;border-bottom:1px solid var(--surface2)}.c3v51-thumb{width:52px;height:48px;border-radius:7px;border:1px solid var(--line);background:linear-gradient(145deg,var(--surface),var(--surface));display:grid;place-items:center;position:relative;overflow:hidden;color:var(--muted)}.c3v51-thumb:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--muted)}.c3v51-thumb.video{color:var(--green)}.c3v51-thumb.video:after{background:var(--green)}.c3v51-thumb>span .c3v51-icon{width:20px;height:20px}.c3v51-thumb>b{position:absolute;right:5px;top:4px;font-size:6px;color:var(--muted);letter-spacing:.04em}.c3v51-thumb>i{position:absolute;right:4px;bottom:4px;width:16px;height:16px;border-radius:50%;background:var(--green);color:var(--on-accent);display:grid;place-items:center}.c3v51-thumb>i .c3v51-icon{width:9px;height:9px}
.c3v51-ex-copy{min-width:0}.c3v51-ex-copy strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.28;font-weight:760;color:var(--text)}.c3v51-ex-copy em{display:block;margin-top:3px;color:var(--text);font-style:normal;font-size:8px;line-height:1.3}.c3v51-ex-copy small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.c3v51-ex-row>a,.c3v51-chevron{color:var(--muted);text-decoration:none;display:grid;place-items:center}.c3v51-ex-row>a .c3v51-icon{width:16px;height:16px}.c3v51-empty-row{padding:24px 0;color:var(--muted);font-size:10px}
.c3v51-empty{padding:45px 0}.c3v51-empty>span{font-size:8px;letter-spacing:.12em;color:var(--green)}.c3v51-empty h1{font-size:27px;margin:7px 0}.c3v51-empty p{font-size:10px;color:var(--muted);max-width:360px;line-height:1.5}

/* Workout */
body.concept3-v50.concept3-v51.c3-workout-mode{background:var(--bg)!important}.c3v51-workout{min-height:100vh;background:var(--bg);color:var(--text);padding-bottom:76px}.c3v51-workout-head{height:58px;display:grid;grid-template-columns:44px minmax(0,1fr) 48px;gap:7px;align-items:center;padding:0 max(12px,calc((100vw - 610px)/2));border-bottom:1px solid var(--surface2)}.c3v51-workout-head button{height:38px;border:0;background:transparent;color:var(--text)}.c3v51-workout-head>div{text-align:center}.c3v51-workout-head strong{display:block;font-size:11px}.c3v51-workout-head span{display:block;margin-top:2px;font-size:8px;color:var(--muted)}.c3v51-workout-progress{height:3px;background:var(--surface)}.c3v51-workout-progress i{display:block;height:100%;background:var(--green)}
.c3v51-workout>main{width:min(610px,100%);margin:0 auto;padding:18px 16px 95px}.c3v51-exercise-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.c3v51-exercise-head>div>span{font-size:8px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.c3v51-exercise-head h1{font-size:29px;line-height:1.05;margin:5px 0 4px;font-weight:850;letter-spacing:-.035em}.c3v51-exercise-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.35}.c3v51-exercise-head>a{height:34px;display:flex;gap:6px;align-items:center;padding:0 9px;border:1px solid var(--line);border-radius:7px;color:var(--text);text-decoration:none;font-size:9px}.c3v51-exercise-head>a .c3v51-icon{width:14px;height:14px}
.c3v51-video-panel{height:150px;margin-top:14px;border:1px solid var(--surface2);border-radius:10px;background:radial-gradient(circle at 65% 25%,var(--surface2),var(--surface) 62%);display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;color:var(--text)}.c3v51-video-panel>div{width:48px;height:48px;border-radius:50%;background:var(--green);color:var(--on-accent);display:grid;place-items:center}.c3v51-video-panel>div .c3v51-icon{width:22px;height:22px}.c3v51-video-panel span b{display:block;font-size:11px}.c3v51-video-panel span small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.c3v51-instruction{margin-top:14px;padding:10px 0;border-top:1px solid var(--surface2);border-bottom:1px solid var(--surface2);display:grid;grid-template-columns:18px 1fr;gap:8px;color:var(--muted)}.c3v51-instruction .c3v51-icon{width:16px;height:16px;color:var(--green)}.c3v51-instruction p{margin:0;font-size:9px;line-height:1.45}
.c3v51-set-table{margin-top:19px}.c3v51-set-table>header{display:grid;grid-template-columns:42px 1fr 1fr 42px;gap:7px;padding:0 8px 7px;color:var(--muted);font-size:8px;text-align:center}.c3v51-set{display:grid;grid-template-columns:42px 1fr 1fr 42px;gap:7px;align-items:center;min-height:64px;padding:7px 8px;border-top:1px solid var(--surface2);position:relative}.c3v51-set:last-child{border-bottom:1px solid var(--surface2)}.c3v51-set.current{background:var(--greenSoft);box-shadow:inset 2px 0 var(--green)}.c3v51-set.done{opacity:.78}.c3v51-set .num{font-size:12px;text-align:center;font-weight:700}.c3v51-set label{display:block}.c3v51-set label small{display:none}.c3v51-set input{width:100%;height:38px!important;border:1px solid var(--surface2)!important;border-radius:6px!important;background:var(--surface)!important;color:var(--text)!important;text-align:center;font-size:13px!important;padding:0 5px!important}.c3v51-set.current input{border-color:var(--line)!important}.c3v51-check{width:34px;height:34px;border-radius:50%!important;border:1px solid var(--line)!important;background:transparent!important;color:var(--on-accent)!important;display:grid!important;place-items:center!important}.c3v51-set.done .c3v51-check{background:var(--green)!important;border-color:var(--green)!important}.c3v51-check .c3v51-icon{width:16px;height:16px}.c3v51-set>em{grid-column:2/4;margin-top:-4px;color:var(--muted);font-size:7px;font-style:normal}
.c3v51-rest{margin-top:18px;min-height:85px;padding:12px 13px;border:1px solid var(--surface2);border-radius:10px;background:var(--surface);display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center}.c3v51-rest-ring{--rest:0;width:52px;height:52px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--rest)*1%),var(--surface2) 0);display:grid;place-items:center;position:relative;color:var(--green)}.c3v51-rest-ring:after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--surface)}.c3v51-rest-ring .c3v51-icon{position:relative;z-index:1;width:17px;height:17px}.c3v51-rest>div:nth-child(2)>span{display:block;font-size:8px;color:var(--muted)}.c3v51-rest strong{display:block;font-size:25px;line-height:1;margin-top:3px}.c3v51-rest small{display:block;margin-top:3px;font-size:7px;color:var(--muted)}.c3v51-rest>button{height:34px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;font-size:8px}.c3v51-rest.quiet{opacity:.78}.c3v51-rest-buttons{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:5px;margin-top:6px}.c3v51-rest-buttons button{height:30px;border:1px solid var(--surface2);background:transparent;color:var(--muted);border-radius:5px;font-size:8px}.c3v51-next{margin-top:16px;padding:10px 0;border-top:1px solid var(--surface2);border-bottom:1px solid var(--surface2);display:flex;justify-content:space-between;gap:10px}.c3v51-next span{font-size:8px;color:var(--muted)}.c3v51-next strong{font-size:9px}.c3v51-workout-note{margin-top:13px;border-bottom:1px solid var(--surface2)}.c3v51-workout-note summary{padding:8px 0;color:var(--muted);font-size:9px}.c3v51-workout-note textarea{width:100%;min-height:78px;margin-bottom:10px;border:1px solid var(--surface2)!important;background:var(--surface)!important;color:var(--text)!important;border-radius:6px!important;padding:9px!important}
.c3v51-workout>footer{position:fixed;left:0;right:0;bottom:0;height:70px;padding:9px max(10px,calc((100vw - 610px)/2));display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:7px;background:rgba(8,11,9,.97);border-top:1px solid var(--surface2);z-index:100}.c3v51-workout>footer button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:7px}.c3v51-workout>footer button.lime{border:0;background:var(--green);color:var(--on-accent);font-size:12px;font-weight:900}.c3v51-workout>footer button.lime .c3v51-icon{display:inline;width:16px;height:16px;margin-right:5px;vertical-align:-3px}
.c3v51-finish{width:min(560px,100%);margin:0 auto;padding:32px 16px 90px}.c3v51-finish>button:first-child{border:0;background:transparent;color:var(--muted);padding:0;display:flex;align-items:center;gap:4px}.c3v51-finish>span{display:block;margin-top:30px;font-size:8px;letter-spacing:.1em;color:var(--green)}.c3v51-finish h1{font-size:34px;margin:5px 0}.c3v51-finish>p{font-size:10px;color:var(--muted)}.c3v51-finish-stats{display:grid;grid-template-columns:1fr 1fr;margin:22px 0;border-top:1px solid var(--surface2);border-bottom:1px solid var(--surface2)}.c3v51-finish-stats>div{padding:13px}.c3v51-finish-stats>div+div{border-left:1px solid var(--surface2)}.c3v51-finish-stats small{display:block;color:var(--muted)}.c3v51-finish-stats strong{display:block;margin-top:2px;font-size:20px}.c3v51-finish label>span{display:block;margin:15px 0 7px;font-size:9px;color:var(--muted)}.c3v51-rpe{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}.c3v51-rpe button{height:34px;border:1px solid var(--surface2);background:var(--surface);color:var(--muted);border-radius:5px}.c3v51-rpe button.active{background:var(--green);color:var(--on-accent);border-color:var(--green)}.c3v51-finish textarea{width:100%;min-height:95px;border:1px solid var(--surface2)!important;background:var(--surface)!important;color:var(--text)!important;border-radius:6px!important;padding:9px!important}.c3v51-finish-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:6px;margin-top:14px}.c3v51-finish-actions button{height:45px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:7px}.c3v51-finish-actions button.lime{background:var(--green);color:var(--on-accent);border-color:var(--green);font-weight:900}

@media(max-width:520px){
  body.concept3-v50.concept3-v51:not(.c3-coach-mode):not(.c3-workout-mode) .page{padding-left:12px!important;padding-right:12px!important}.c3v51-week{margin-left:-2px;margin-right:-2px}.c3v51-week button{height:48px}.c3v51-today-card{padding:13px}.c3v51-today-main{grid-template-columns:minmax(0,1fr) 48px}.c3v51-sportmark{width:46px;height:46px}.c3v51-today-main h1{font-size:23px}.c3v51-performance-strip>div{padding:11px 5px}.c3v51-performance-strip strong{font-size:12px}.c3v51-ex-row{grid-template-columns:48px minmax(0,1fr) 20px;gap:9px}.c3v51-thumb{width:46px;height:44px}.c3v51-ex-copy strong{font-size:10px}.c3v51-exercise-head h1{font-size:27px}.c3v51-set{grid-template-columns:34px 1fr 1fr 36px;padding-left:4px;padding-right:4px}.c3v51-set-table>header{grid-template-columns:34px 1fr 1fr 36px;padding-left:4px;padding-right:4px}.c3v51-set input{font-size:12px!important}.c3v51-rpe{grid-template-columns:repeat(5,1fr)}
}
