:root{
  --bg:#f5f5f2; --surface:#ffffff; --surface-2:#efefeb; --ink:#111111; --muted:#70706b;
  --line:#dfdfd8; --accent:#f9bc18; --accent-soft:#fff3c8; --good:#117a56; --danger:#b93a31;
  --radius:24px; --radius-sm:16px; --shadow:0 18px 60px rgba(18,18,18,.08);
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box} html{background:var(--bg)} body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit} button{cursor:pointer} a{color:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%, transparent);outline-offset:2px}
.app-root{min-height:100dvh}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--muted)}
.login-shell{min-height:100dvh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--surface)}
.login-visual{position:relative;overflow:hidden;background-color:#151515;background-image:linear-gradient(100deg,rgba(8,8,8,.78) 0%,rgba(8,8,8,.56) 45%,rgba(8,8,8,.34) 100%),url('https://cloud.susanbewegt.de/index.php/apps/theming/image/background?v=29');background-size:cover;background-position:center center;background-repeat:no-repeat;padding:clamp(30px,5vw,80px);display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.login-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28));pointer-events:none}
.login-visual::after{content:none}
.brand-chip{position:relative;z-index:2;display:inline-flex;align-items:center;gap:12px;font-weight:700}.brand-chip img{width:200px;max-width:55%;filter:invert(1) grayscale(1) brightness(3)}
.login-hero{position:relative;z-index:2;max-width:690px}.login-hero h1{font-size:clamp(3rem,6vw,7rem);line-height:.88;letter-spacing:-.07em;margin:0 0 24px}.login-hero p{font-size:clamp(1rem,1.5vw,1.3rem);color:rgba(255,255,255,.72);max-width:540px;line-height:1.55}
.login-panel{display:flex;align-items:center;justify-content:center;padding:40px}.login-card{width:min(470px,100%)}.login-card .logo{width:230px;max-width:70%;margin-bottom:40px}.login-card h2{font-size:2rem;letter-spacing:-.04em;margin:.2em 0}.login-card p{line-height:1.55}.field{display:grid;gap:8px;margin-top:18px}.field label{font-size:.86rem;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 15px;min-height:48px;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}
.primary,.secondary,.ghost,.danger-btn{border:0;border-radius:14px;min-height:48px;padding:0 18px;font-weight:800}.primary{background:var(--ink);color:#fff}.primary:hover{background:#2a2a2a}.secondary{background:var(--accent);color:#151515}.ghost{background:var(--surface-2);color:var(--ink)}.danger-btn{background:#fff0ee;color:var(--danger)}.wide{width:100%}.login-actions{display:grid;gap:12px;margin-top:24px}.demo-accounts{margin-top:24px;padding:16px;border-radius:16px;background:var(--surface-2);font-size:.82rem;line-height:1.65}.login-error{color:var(--danger);font-size:.85rem;min-height:1.2em;margin-top:8px}
.shell{min-height:100dvh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100dvh;background:var(--sidebar);color:var(--sidebar-ink);padding:26px 18px;display:flex;flex-direction:column;gap:24px}.sidebar-logo{background:var(--surface);border-radius:16px;padding:10px 12px}.sidebar-logo img{width:100%;display:block}.nav{display:grid;gap:8px}.nav button{border:0;background:transparent;color:var(--sidebar-muted);display:flex;align-items:center;gap:12px;text-align:left;padding:13px 14px;border-radius:14px;font-weight:750;min-height:48px}.nav button:hover,.nav button.active{background:color-mix(in srgb,var(--accent) 22%, transparent);color:var(--sidebar-ink)}.nav .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.side-user{margin-top:auto;border-top:1px solid color-mix(in srgb,var(--sidebar-ink) 12%, transparent);padding-top:16px}.side-user strong{display:block}.side-user small{color:color-mix(in srgb,var(--sidebar-ink) 58%, transparent)}
.main{min-width:0}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,54px);border-bottom:1px solid var(--line);background:var(--topbar);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.topbar h1{font-size:1rem;margin:0}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);font-weight:900;color:var(--ink)}
.content{padding:clamp(24px,4vw,54px);max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:30px}.page-head h2{font-size:clamp(2.1rem,4vw,4.3rem);line-height:.95;letter-spacing:-.06em;margin:8px 0 0}.page-head p{max-width:560px;margin:8px 0 0;line-height:1.55}.page-actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-card{position:relative;overflow:hidden;border-radius:32px;background:var(--hero-base);color:#fff;min-height:330px;padding:clamp(26px,4vw,48px);display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow)}.hero-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 83% 20%,var(--hero-1),transparent 18%),linear-gradient(110deg,rgba(0,0,0,.08),rgba(0,0,0,.82))}.hero-card::after{content:"";position:absolute;right:-80px;top:35px;width:min(50vw,620px);height:240px;background:url('assets/susan-bewegt-logo.png') center/contain no-repeat;filter:invert(1);opacity:.09}.hero-copy{position:relative;z-index:1;max-width:720px}.hero-copy h3{font-size:clamp(2.4rem,5vw,5rem);line-height:.9;letter-spacing:-.065em;margin:10px 0 18px}.hero-copy p{color:rgba(255,255,255,.72);max-width:590px;line-height:1.6}.pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 11px;background:rgba(255,255,255,.11);font-size:.78rem;font-weight:800}.pill.accent{background:var(--accent);color:#111}.pill.good{background:#e5f4ee;color:var(--good)}
.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.mt{margin-top:18px}.card{background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius);padding:22px;box-shadow:0 8px 30px rgba(18,18,18,.035)}.stat-value{font-size:2rem;letter-spacing:-.05em;font-weight:850;margin-top:8px}.stat-meta{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.83rem;color:var(--muted)}
.section-title{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:34px 0 14px}.section-title h3{margin:0;font-size:1.35rem;letter-spacing:-.025em}.training-day{padding:0;overflow:hidden}.day-head{padding:20px 22px;background:var(--surface-2);display:flex;justify-content:space-between;align-items:center}.day-head h3{margin:0}.block{padding:18px 22px;border-top:1px solid var(--line)}.block-title{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:var(--muted);margin-bottom:10px}.exercise-row{display:grid;grid-template-columns:minmax(160px,1.7fr) repeat(5,minmax(70px,.65fr));gap:12px;padding:12px 0;border-top:1px dashed var(--line);align-items:center}.exercise-row:first-of-type{border-top:0}.exercise-name strong{display:block}.exercise-name small{color:var(--muted)}.metric small{display:block;color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.08em}.result-box{display:grid;grid-template-columns:1fr 110px;gap:12px;margin-top:14px;padding:14px;border-radius:16px;background:var(--accent-soft)}.result-box input,.result-box textarea,.result-box select{border:1px solid rgba(0,0,0,.09);background:#fff;border-radius:12px;padding:12px;width:100%}.result-note{grid-column:1/-1}
.chart-card{min-height:420px}.chart-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}.chart-toolbar select{border:1px solid var(--line);padding:10px 12px;border-radius:12px;background:#fff}.chart-wrap{height:280px;margin-top:18px}.chart-wrap svg{width:100%;height:100%;overflow:visible}.chart-grid{stroke:#e5e5df;stroke-width:1}.chart-line{fill:none;stroke:#111;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.chart-area{fill:url(#areaGrad)}.chart-dot{fill:#f9bc18;stroke:#111;stroke-width:3}.chart-label{font-size:.75rem;fill:#777}.pr-badge{display:inline-grid;place-items:center;border-radius:50%;background:var(--accent);width:68px;height:68px;font-weight:900;font-size:1.05rem}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:#fff;min-width:720px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);font-size:.88rem}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);background:#fafaf8}tr:last-child td{border-bottom:0}.row-actions{display:flex;gap:8px}.mini{border:0;border-radius:10px;padding:8px 10px;font-size:.78rem;font-weight:800}.mini.edit{background:var(--surface-2)}.mini.delete{background:#fff0ee;color:var(--danger)}
.builder{display:grid;grid-template-columns:330px 1fr;gap:20px}.builder-side{position:sticky;top:102px;align-self:start}.builder-list{display:grid;gap:8px}.builder-list button{border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px;text-align:left}.builder-list button.active{border-color:#111;background:#111;color:#fff}.builder-canvas{display:grid;gap:16px}.builder-block{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.builder-block header{padding:16px 18px;background:#fafaf8;display:flex;align-items:center;justify-content:space-between}.builder-block header strong{font-size:.9rem}.builder-block .body{padding:18px}.builder-exercise{display:grid;grid-template-columns:1.5fr repeat(5,1fr) auto;gap:8px;margin-bottom:8px}.builder-exercise input{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px}.inline-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inline-form .span-2{grid-column:1/-1}.notice{padding:15px 17px;border-radius:16px;background:#fff8df;border:1px solid #f3df9d;font-size:.86rem;line-height:1.5}.security-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.security-item{padding:16px;border-radius:16px;background:#fff;border:1px solid var(--line)}.security-item strong{display:block;margin-bottom:4px}.security-item small{color:var(--muted);line-height:1.45}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:grid;place-items:center;padding:20px;z-index:100}.modal{width:min(620px,100%);max-height:88dvh;overflow:auto;background:#fff;border-radius:26px;padding:24px;box-shadow:0 40px 90px rgba(0,0,0,.25)}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0}.icon-btn{border:0;background:var(--surface-2);border-radius:50%;width:40px;height:40px;font-size:1.2rem}
.bottom-nav{display:none}
@media(max-width:1050px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.builder{grid-template-columns:1fr}.builder-side{position:static}.exercise-row{grid-template-columns:1.4fr repeat(3,1fr)}.exercise-row .metric:nth-last-child(-n+2){display:none}}
@media(max-width:800px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100dvh;padding:28px}.shell{display:block}.sidebar{display:none}.topbar{height:68px;padding:0 18px}.top-actions .ghost{display:none}.content{padding:22px 16px 92px}.page-head{align-items:flex-start;flex-direction:column}.page-head h2{font-size:2.6rem}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.hero-card{min-height:300px}.hero-copy h3{font-size:3rem}.exercise-row{grid-template-columns:1.6fr 1fr 1fr}.exercise-row .metric:nth-last-child(-n+3){display:none}.result-box{grid-template-columns:1fr}.result-note{grid-column:auto}.builder-exercise{grid-template-columns:1.5fr 1fr 1fr}.builder-exercise input:nth-child(n+4){display:none}.security-list{grid-template-columns:1fr}.bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-top:1px solid var(--line);z-index:50}.bottom-nav button{border:0;background:transparent;min-height:52px;border-radius:12px;font-size:.68rem;font-weight:800;color:var(--muted)}.bottom-nav button.active{color:#111;background:var(--accent-soft)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v2 · exercise-linked results + client onboarding interview */
.exercise-item{border-top:1px dashed var(--line)}
.exercise-item .exercise-row{border-top:0}
.exercise-head-row{border-bottom:1px dashed var(--line);border-top:0!important;padding-top:2px}
.exercise-result{margin:2px 0 18px;padding:16px;border:1px solid #edd793;background:linear-gradient(135deg,#fff8df 0%,#fff3c8 100%);border-radius:18px}
.exercise-result.wod-result{margin-top:16px}
.result-title{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:12px}
.result-title>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.result-title strong{font-size:.94rem}
.result-title small{color:var(--muted)}
.result-meta-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(120px,.6fr) minmax(260px,1.6fr) auto;gap:10px;align-items:stretch}
.result-meta-row>input,.result-meta-row>select,.result-meta-row>textarea,.unit-input{min-height:48px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:12px}
.result-meta-row>input,.result-meta-row>select,.result-meta-row>textarea{padding:11px 12px;width:100%}
.result-meta-row>textarea{resize:vertical;min-height:48px;max-height:120px}
.unit-input{display:flex;align-items:center;overflow:hidden;min-width:0}
.unit-input input{border:0!important;outline:0!important;min-width:0;width:100%;height:46px;padding:11px 12px;background:#fff}
.unit-input em{font-style:normal;font-size:.72rem;font-weight:850;color:var(--muted);padding:0 11px;white-space:nowrap;border-left:1px solid var(--line)}
.detailed-result .result-meta-row{margin-top:12px}
.set-grid{display:grid;gap:7px}
.set-grid-head,.set-row{display:grid;grid-template-columns:48px minmax(130px,1fr) minmax(100px,.7fr);gap:8px;align-items:center}
.set-grid-head{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 8px}
.set-row>span{font-weight:850;text-align:center}
.set-row input{width:100%;border:1px solid rgba(0,0,0,.09);background:#fff;border-radius:10px;padding:10px}
.set-row label{display:flex;border:1px solid rgba(0,0,0,.09);border-radius:10px;background:#fff;overflow:hidden}
.set-row label input{border:0;border-radius:0}
.set-row label em{font-style:normal;padding:10px;color:var(--muted);font-size:.75rem}
.session-feedback{background:#fffdf5}
.session-result .result-meta-row{grid-template-columns:130px 1fr auto}
.empty-chart{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);text-align:center}
.chart-filters{display:flex;gap:8px;flex-wrap:wrap}
.builder-labels{display:grid;grid-template-columns:1.5fr repeat(5,1fr) 38px;gap:8px;margin:0 0 6px;padding:0 2px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}
.builder-exercise-wrap{border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:10px;background:#fff}
.builder-exercise{margin-bottom:0}
.builder-exercise input,.builder-exercise select{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}
.builder-tracking{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.builder-tracking.single{grid-template-columns:minmax(220px,.7fr) 1fr;align-items:end}
.builder-tracking .field{margin-top:0}
.builder-tracking .field.span-2{grid-column:1/-1}
.tracking-hint{font-size:.8rem;line-height:1.45;color:var(--muted);padding:12px 14px;background:var(--surface-2);border-radius:12px}
.interview-modal{width:min(760px,100%)}
.interview-copy,.interview-question{margin-top:20px}.interview-copy p,.interview-question p{line-height:1.55}
.wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:20px 0 24px}.wizard-progress span{height:5px;background:var(--surface-2);border-radius:999px}.wizard-progress span.on{background:var(--accent)}
.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.wizard-error{color:var(--danger);font-size:.84rem;font-weight:700;min-height:1.25em;margin-top:12px}
.day-count-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:14px}
.day-count-grid button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 6px;display:grid;gap:2px;place-items:center}.day-count-grid button strong{font-size:1.35rem}.day-count-grid button span{font-size:.68rem;color:var(--muted)}
.day-count-grid button.selected,.weekday-grid button.selected{border-color:#111;background:#111;color:#fff}.day-count-grid button.selected span{color:rgba(255,255,255,.65)}
.weekday-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:12px}.weekday-grid button{border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px 4px;font-weight:850}
.template-choice{display:grid;gap:8px}.template-choice label{display:flex;gap:12px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:14px;cursor:pointer}.template-choice label:has(input:checked){border-color:#111;background:#fafaf8}.template-choice input{width:auto!important;min-height:auto!important;margin-top:3px}.template-choice span{display:grid;gap:3px}.template-choice small{color:var(--muted);font-weight:500}
.review-card{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.review-card>div{display:grid;gap:5px;padding:16px;background:var(--surface-2);border-radius:14px}.review-card small{font-size:.68rem;letter-spacing:.08em;color:var(--muted)}.review-card span{font-size:.8rem;color:var(--muted);line-height:1.4}
.template-preview{display:grid;gap:8px}.template-preview>div{display:grid;grid-template-columns:70px 110px 1fr;gap:10px;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:12px}.template-preview span{font-size:.75rem;color:var(--muted)}.template-preview small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1050px){.result-meta-row{grid-template-columns:1fr 130px}.result-meta-row textarea{grid-column:1/-1}.result-meta-row .primary{grid-column:1/-1}.session-result .result-meta-row{grid-template-columns:130px 1fr}.session-result .primary{grid-column:1/-1}.builder-labels{display:none}}
@media(max-width:800px){.exercise-item{padding-bottom:4px}.exercise-result{margin-left:-8px;margin-right:-8px}.result-title{align-items:flex-start;flex-direction:column;gap:7px}.result-meta-row,.session-result .result-meta-row{grid-template-columns:1fr}.result-meta-row textarea,.result-meta-row .primary,.session-result .primary{grid-column:auto}.set-grid-head,.set-row{grid-template-columns:38px 1fr 90px}.builder-exercise{grid-template-columns:1fr 70px 70px}.builder-exercise input:nth-child(n+4):not(:last-child){display:none}.builder-tracking,.builder-tracking.single{grid-template-columns:1fr}.builder-tracking .field.span-2{grid-column:auto}.day-count-grid{grid-template-columns:repeat(4,1fr)}.weekday-grid{grid-template-columns:repeat(4,1fr)}.review-card{grid-template-columns:1fr}.template-preview>div{grid-template-columns:58px 90px 1fr}.interview-modal{padding:20px}}

/* v3 · segment feedback + video coaching */
.coach-plan-note{margin:0 0 16px;padding:12px 14px;border-left:3px solid var(--accent);background:#fff9e8;border-radius:0 12px 12px 0;font-size:.86rem;line-height:1.5}.coach-plan-note span{display:block;font-size:.66rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.readonly-chip{display:flex;align-items:center;min-height:48px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#f7f7f5;color:#333;font-weight:750}
.segment-feedback{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.segment-feedback-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:10px}.segment-feedback-head small{color:var(--muted)}.feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.feedback-pane{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.coach-pane{background:#fffdf7}.athlete-pane{background:#fafafa}.feedback-label{display:flex;gap:10px;align-items:center;margin-bottom:10px}.feedback-label>div{display:grid;gap:2px}.feedback-label small{color:var(--muted);font-size:.7rem}.feedback-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:.75rem;font-weight:900;background:#111;color:#fff}.athlete-pane .feedback-avatar{background:var(--accent);color:#111}.feedback-pane textarea{width:100%;min-height:86px;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;margin-bottom:8px}.feedback-readonly{min-height:62px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;white-space:pre-wrap;line-height:1.48;font-size:.88rem}.feedback-readonly span,.media-feedback-grid p span,.athlete-note-preview p span{color:var(--muted)}
.media-panel{margin-top:14px;border:1px solid var(--line);border-radius:16px;background:#fbfbfa;overflow:hidden}.media-panel summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px}.media-panel summary::-webkit-details-marker{display:none}.media-panel summary>span:first-child{display:grid;gap:2px}.media-panel summary small{font-size:.72rem;color:var(--muted)}.media-count{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#111;color:#fff;font-size:.72rem;font-weight:850}.media-body{padding:0 14px 14px;display:grid;gap:12px}.media-empty{padding:14px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:.84rem;text-align:center}
.video-upload{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) auto;gap:10px;align-items:center;padding:14px;border:1px dashed #d4b95e;border-radius:14px;background:#fff9e7}.video-upload-copy{grid-column:1/-1;display:grid;gap:3px}.video-upload-copy small{color:var(--muted);line-height:1.4}.video-upload input[type=file]{width:100%;font-size:.82rem}.video-upload textarea{min-height:62px;resize:vertical;border:1px solid var(--line);border-radius:11px;padding:10px 11px;background:#fff}.upload-status{grid-column:1/-1;min-height:1.1em;font-size:.78rem;font-weight:700;color:var(--muted)}
.media-card{padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff;display:grid;gap:12px}.media-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.media-card-head>div{display:grid;gap:3px;min-width:0}.media-card-head strong{overflow-wrap:anywhere}.media-card-head small{color:var(--muted);font-size:.72rem}.media-card video{display:block;width:100%;max-height:420px;border-radius:12px;background:#111}.video-placeholder{min-height:120px;display:flex;gap:14px;align-items:center;justify-content:center;padding:20px;border-radius:12px;background:#111;color:#fff}.video-placeholder>span{font-size:2rem}.video-placeholder>div{display:grid;gap:4px}.video-placeholder small{color:rgba(255,255,255,.58);line-height:1.4}.media-feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.media-feedback-grid>div{padding:12px;border-radius:12px;background:var(--surface-2)}.media-feedback-grid small,.athlete-note-preview>small{display:block;margin-bottom:6px;font-size:.66rem;letter-spacing:.08em;font-weight:850;color:var(--muted)}.media-feedback-grid p{margin:0;white-space:pre-wrap;line-height:1.45;font-size:.86rem}.media-feedback-grid textarea{width:100%;min-height:74px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;margin-bottom:8px}
.builder-segment-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}.builder-segment-notes .field{margin:0}.builder-segment-notes textarea{min-height:84px}.athlete-note-preview{grid-column:1/-1;padding:12px 14px;border-radius:12px;background:var(--surface-2)}.athlete-note-preview p{margin:0;white-space:pre-wrap;line-height:1.45;font-size:.86rem}.readonly-session{display:grid;grid-template-columns:130px 1fr;gap:10px;align-items:stretch}
@media(max-width:900px){.feedback-grid,.media-feedback-grid,.builder-segment-notes{grid-template-columns:1fr}.athlete-note-preview{grid-column:auto}.video-upload{grid-template-columns:1fr}.video-upload-copy,.upload-status{grid-column:auto}.readonly-session{grid-template-columns:1fr}}

/* v4 · clear line blocks + interactive RPE scale */
.block-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.block-title-row .block-title{margin:0}
.block-view-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:7px 10px;color:var(--muted);font-size:.72rem;font-weight:850;white-space:nowrap}
.block-view-toggle:hover{border-color:#bbb;color:#111;background:#fafaf8}.block-view-toggle span{font-size:1rem;line-height:1}
.program-stack{display:grid;gap:7px;margin:4px 0 8px}
.program-line{display:grid;grid-template-columns:7px 1fr;gap:11px;align-items:start;padding:11px 13px;border:1px solid #e5e5df;border-radius:13px;background:#fafaf8;line-height:1.48;font-weight:680}
.program-line-mark{width:7px;height:7px;border-radius:50%;margin-top:.48em;background:var(--accent)}
.program-compact{padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:#fafaf8;line-height:1.7;font-weight:650}
.program-compact span{color:#b4b4ad;padding:0 3px}
.program-builder-field small{color:var(--muted);font-size:.76rem;line-height:1.45}.program-builder-field textarea{min-height:150px;line-height:1.55}
.coach-plan-note{white-space:pre-line}

.rpe-control{grid-column:1/-1;display:grid;gap:9px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.72)}
.rpe-control-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.rpe-control-head strong{font-size:.82rem}.rpe-control-head span{font-size:.76rem;color:var(--muted);font-weight:720}
.rpe-scale{display:grid;grid-template-columns:repeat(10,minmax(34px,1fr));gap:6px}
.rpe-number{min-width:0;height:39px;border:1px solid rgba(0,0,0,.08);border-radius:10px;font-weight:900;color:#172017;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}
.rpe-number:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,.1)}
.rpe-number.selected{transform:translateY(-2px) scale(1.06);box-shadow:0 0 0 3px #111,0 7px 18px rgba(0,0,0,.16);z-index:1}
.rpe-scale-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:.67rem;font-weight:750}
.rpe-readonly{grid-column:1/-1;display:grid;grid-template-columns:auto 54px minmax(90px,1fr);align-items:center;gap:10px;min-height:52px;padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-radius:13px;font-weight:800}
.rpe-readonly>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.rpe-readonly strong{display:grid;place-items:center;width:42px;height:36px;border-radius:10px;background:rgba(255,255,255,.72);font-size:1.1rem}.rpe-readonly small{font-size:.78rem}
.rpe-empty{background:#f2f2ef!important;color:var(--muted)!important}
.rpe-v1{background:#dff7df}.rpe-v2{background:#d1f2d1}.rpe-v3{background:#e2f1c8}.rpe-v4{background:#edf0bd}.rpe-v5{background:#fff0b7}.rpe-v6{background:#ffe09a}.rpe-v7{background:#ffc879}.rpe-v8{background:#f5a464}.rpe-v9{background:#ec735c;color:#3d1210}.rpe-v10{background:#d94742;color:#fff}
.feedback-pane .rpe-control{margin-bottom:10px;background:#fff}.feedback-pane .rpe-readonly{margin-bottom:10px}
.session-result .rpe-control{margin-bottom:2px}.readonly-session .rpe-readonly{grid-column:auto}

@media(max-width:800px){
  .block-title-row{align-items:center}.block-view-toggle{padding:7px 9px}
  .program-line{padding:10px 11px}
  .rpe-scale{grid-template-columns:repeat(5,1fr)}
  .rpe-number{height:42px}
  .rpe-control-head{align-items:flex-start;flex-direction:column;gap:3px}
  .rpe-readonly{grid-template-columns:auto 46px 1fr}
}
.readonly-session{grid-template-columns:minmax(220px,.55fr) 1fr}
@media(max-width:900px){.readonly-session{grid-template-columns:1fr}}

/* v5 · coach analytics, block editor, stronger RPE scale */
.version-badge{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 9px;border-radius:999px;background:#111;color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.08em}
.coach-switch{display:inline-grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:4px;padding:4px;margin:0 0 22px;border:1px solid var(--line);border-radius:15px;background:#f1f1ee}
.coach-switch button{border:0;border-radius:11px;background:transparent;padding:10px 14px;font-weight:850;color:var(--muted);cursor:pointer}
.coach-switch button.active{background:#fff;color:#111;box-shadow:0 1px 5px rgba(0,0,0,.08)}
.coach-athlete-select{min-width:230px;margin:0!important}.coach-athlete-select select{min-height:44px}

.builder-field-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px}.builder-field-head>div{display:grid;gap:3px}.builder-field-head label{font-size:.78rem;font-weight:850}.builder-field-head small{font-size:.72rem;color:var(--muted);line-height:1.4}
.program-builder-blocks{display:grid;gap:11px}.builder-program-lines{display:grid;gap:8px}.builder-program-line{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:8px;align-items:stretch}.builder-program-line>span{display:grid;place-items:center;border-radius:11px;background:#111;color:#fff;font-size:.74rem;font-weight:900}.builder-program-line textarea{width:100%;min-height:48px;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff;line-height:1.45}.builder-program-line .mini{height:48px;align-self:start}

.analytics-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:14px}.compact-title{align-items:flex-start;margin:0 0 16px}.compact-title h3{margin:4px 0 0}.rpe-legend-inline{font-size:.72rem;color:var(--muted);font-weight:750}
.rpe-distribution{height:220px;display:grid;grid-template-columns:repeat(10,1fr);gap:8px;align-items:end;padding-top:10px}.rpe-dist-col{height:100%;display:grid;grid-template-rows:1fr auto auto;gap:5px;text-align:center}.rpe-dist-track{height:100%;display:flex;align-items:flex-end;border-radius:10px;background:#f3f3f0;overflow:hidden}.rpe-dist-track span{display:block;width:100%;min-height:2px;border-radius:8px 8px 4px 4px}.rpe-dist-col strong{font-size:.8rem}.rpe-dist-col small{font-size:.68rem;color:var(--muted)}
.rpe-feed{display:grid;gap:8px}.rpe-feed-row{display:grid;grid-template-columns:50px 1fr;gap:11px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:13px;background:#fafaf8}.rpe-feed-score{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;font-size:1.08rem;font-weight:950}.rpe-feed-row>div{display:grid;gap:3px}.rpe-feed-row small{color:var(--muted);font-size:.72rem}
.feedback-feed{display:grid;gap:9px}.feedback-feed article{padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fafaf8}.feedback-feed article>div{display:flex;gap:8px;align-items:center}.feedback-feed p{margin:7px 0 5px;line-height:1.48;white-space:pre-wrap}.feedback-feed small{color:var(--muted);font-size:.7rem}.mini-rpe{display:inline-flex;padding:4px 7px;border-radius:8px;font-size:.66rem;font-weight:900}
.coach-check-list{display:grid;gap:10px}.coach-check-list>div{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:#fafaf8;border:1px solid var(--line)}.status-dot{width:10px;height:10px;border-radius:50%;background:#c9c9c4}.status-dot.good{background:#37a55a}.status-dot.warn{background:#e24d43}

/* Stärker ausgeprägte 1→10 Farbskala. Dieselben Klassen färben Athlete-Auswahl und Coach-Auswertung. */
.rpe-v1{background:#a7ee8d!important;color:#17351b!important}.rpe-v2{background:#b8eb78!important;color:#203817!important}.rpe-v3{background:#cce66b!important;color:#303a13!important}.rpe-v4{background:#e2df62!important;color:#3c3810!important}.rpe-v5{background:#f3d65b!important;color:#45360d!important}.rpe-v6{background:#f6c153!important;color:#4c2f0b!important}.rpe-v7{background:#f3a44d!important;color:#4b260b!important}.rpe-v8{background:#ee7f49!important;color:#49190d!important}.rpe-v9{background:#e65b49!important;color:#fff!important}.rpe-v10{background:#cf343c!important;color:#fff!important}
.rpe-scale{padding:7px;border-radius:14px;background:linear-gradient(90deg,rgba(167,238,141,.28),rgba(243,214,91,.22),rgba(207,52,60,.22))}
.rpe-number{border-color:rgba(0,0,0,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.rpe-number.selected{box-shadow:0 0 0 3px #111,0 7px 18px rgba(0,0,0,.2)!important}

@media(max-width:900px){.coach-switch{width:100%;grid-template-columns:1fr}.analytics-grid{grid-template-columns:1fr}.coach-athlete-select{min-width:0;width:100%}.builder-field-head{align-items:flex-start;flex-direction:column}.builder-field-head .block-view-toggle{align-self:flex-end}.rpe-distribution{gap:4px;height:180px}}
@media(max-width:560px){.builder-program-line{grid-template-columns:28px minmax(0,1fr) 32px}.rpe-distribution{height:155px}.rpe-dist-col small{display:none}.version-badge{display:none}}

/* v6 · cleaner mobile-first coaching UI, grouped program blocks, compact RPE dropdown, archive */
:root{
  --bg:#f7f7f5;
  --surface-2:#f2f2ef;
  --line:#e4e4df;
  --radius:20px;
  --radius-sm:14px;
  --shadow:0 10px 28px rgba(17,17,17,.045);
}
body{background:var(--bg)}
.card{box-shadow:none;border-color:#e8e8e3}
.content{max-width:1320px}
.compact-page-head{margin-bottom:22px}.compact-page-head h2{font-size:clamp(2.1rem,3.5vw,3.65rem)}
.primary,.secondary,.ghost,.danger-btn{border-radius:12px}.ghost{background:#f0f0ed}.text-button{border:0;background:transparent;color:var(--muted);font-weight:800;padding:7px 0}.text-button:hover{color:var(--ink)}

/* A session is one soft container. Every training segment is its own clearly separated card. */
.training-days-grid{gap:24px}.training-day{padding:0 0 14px;overflow:visible;background:#f3f3f0;border:1px solid #e7e7e2;border-radius:22px;box-shadow:none}
.day-head{padding:18px 20px;background:transparent;border-radius:22px 22px 0 0}.day-head h3{font-size:1.04rem;letter-spacing:-.015em}.day-head .pill{background:#fff;border:1px solid var(--line)}
.block.segment-card,.training-day>.session-feedback{margin:0 14px 12px;padding:16px 18px;border:1px solid #e5e5e0;border-radius:16px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.015)}
.block.segment-card{border-top:1px solid #e5e5e0}.training-day>.session-feedback{border-top:1px solid #e5e5e0;background:#fff}
.block-title{font-size:.68rem;letter-spacing:.14em;color:#74746e;margin:0}.block-title-row{margin-bottom:10px}
.block-view-toggle{min-height:32px;padding:5px 9px;border-radius:9px;background:#f7f7f5;font-size:.68rem}

/* Within a segment, instructions form one compact list instead of separate floating cards. */
.program-stack{display:block;margin:2px 0 4px;border:1px solid #e5e5e0;border-radius:13px;overflow:hidden;background:#fff}
.program-line{display:grid;grid-template-columns:5px 1fr;gap:10px;align-items:start;padding:9px 12px;border:0;border-bottom:1px solid #ecece8;border-radius:0;background:#fff;line-height:1.42;font-weight:680}
.program-line:last-child{border-bottom:0}.program-line-mark{width:5px;height:5px;margin-top:.52em;background:#f2b90d}
.program-compact{margin:2px 0 4px;padding:10px 12px;border-radius:13px;background:#fff;line-height:1.55}
.coach-plan-note{margin:0 0 10px;padding:10px 12px;border-left-width:2px;border-radius:0 10px 10px 0;background:#fffbec}

/* Cleaner result cards. */
.exercise-item{border-top:1px solid #ecece8}.exercise-result{margin:8px 0 14px;padding:13px;border:1px solid #ece7d3;background:#fffdf6;border-radius:14px}.exercise-result.wod-result{margin-top:12px}
.result-title{margin-bottom:9px}.result-title .pill.accent{padding:5px 8px;font-size:.66rem}.result-meta-row{grid-template-columns:minmax(120px,.75fr) 155px minmax(220px,1.5fr) auto;gap:8px}.result-meta-row>input,.result-meta-row>textarea,.unit-input{min-height:44px;border-radius:10px}.result-meta-row>textarea{min-height:44px}.unit-input input{height:42px}.readonly-chip{min-height:44px;border-radius:10px}

/* Small custom RPE dropdown. Apple-like saturated system colors from green → yellow → orange → red. */
.rpe-control.compact-rpe{grid-column:auto;display:flex;align-items:center;gap:7px;padding:0;border:0;border-radius:0;background:transparent;min-width:145px;position:relative}
.rpe-control.compact-rpe>label{font-size:.68rem;font-weight:800;color:var(--muted);white-space:nowrap}
.rpe-dropdown{position:relative;min-width:128px}.rpe-dropdown>summary{list-style:none}.rpe-dropdown>summary::-webkit-details-marker{display:none}
.rpe-selected{min-height:44px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:7px 9px;border:1px solid rgba(0,0,0,.10);border-radius:10px;cursor:pointer;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.rpe-selected span{font-size:.78rem}.rpe-selected small{grid-column:1/2;font-size:.61rem;font-weight:750;opacity:.8}.rpe-selected b{grid-column:2;grid-row:1/3;font-size:.8rem;opacity:.7}
.rpe-menu{position:absolute;z-index:80;top:calc(100% + 6px);left:0;width:190px;padding:6px;display:grid;gap:4px;border:1px solid rgba(0,0,0,.1);border-radius:13px;background:rgba(255,255,255,.97);box-shadow:0 18px 42px rgba(0,0,0,.16);backdrop-filter:blur(18px)}
.rpe-option{min-height:34px;border:0;border-radius:8px;padding:6px 9px;display:grid;grid-template-columns:26px 1fr;gap:6px;align-items:center;text-align:left;cursor:pointer}.rpe-option strong{font-size:.8rem}.rpe-option span{font-size:.7rem;font-weight:750;opacity:.88}.rpe-option:hover{filter:brightness(.96);transform:translateX(1px)}
.rpe-readonly{grid-column:auto;min-height:44px;display:grid;grid-template-columns:auto 34px minmax(72px,1fr);gap:7px;padding:6px 9px;border-radius:10px}.rpe-readonly>span{font-size:.61rem}.rpe-readonly strong{width:30px;height:30px;border-radius:8px;font-size:.9rem}.rpe-readonly small{font-size:.68rem}
.rpe-empty{background:#f1f1ef!important;color:#767671!important}
.rpe-v1{background:#30D158!important;color:#062d14!important}.rpe-v2{background:#55D36B!important;color:#0b3519!important}.rpe-v3{background:#7BD66B!important;color:#163811!important}.rpe-v4{background:#A9D866!important;color:#27380e!important}.rpe-v5{background:#D8D85A!important;color:#3d3707!important}.rpe-v6{background:#FFD60A!important;color:#3a3000!important}.rpe-v7{background:#FFB340!important;color:#4a2900!important}.rpe-v8{background:#FF9F0A!important;color:#492300!important}.rpe-v9{background:#FF6B3D!important;color:#fff!important}.rpe-v10{background:#FF3B30!important;color:#fff!important}
.rpe-scale,.rpe-number,.rpe-scale-caption,.rpe-control-head{display:none!important}

/* Warm-up is intentionally prescription-only; no feedback/video UI is rendered in JS. */
.segment-warm-up{padding-bottom:16px!important}

/* Coach workspace + immediate athlete results. */
.coach-switch{grid-template-columns:repeat(4,minmax(110px,1fr));max-width:720px;border-radius:13px}.coach-switch button{border-radius:9px;padding:9px 12px}
.latest-results-card{padding-bottom:14px}.live-indicator{font-size:.67rem;font-weight:800;color:#178746;background:#eaf8ef;border-radius:999px;padding:6px 9px}.latest-results{display:grid}.latest-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 2px;border-top:1px solid #ecece8}.latest-result-row:first-child{border-top:0}.latest-result-row>div{display:grid;gap:2px}.latest-result-row small{font-size:.7rem;color:var(--muted)}.latest-result-row>b{font-size:.9rem}.mini-rpe{border-radius:7px}

/* Athlete "today" landing page. */
.athlete-home{max-width:980px}.mobile-welcome{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.mobile-welcome h2{margin:5px 0 0;font-size:clamp(2.2rem,4vw,3.7rem);letter-spacing:-.06em}
.next-session-card{display:grid;gap:22px;padding:28px;border:1px solid #e5e5e0;border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.045)}.next-session-top{display:flex;justify-content:space-between;align-items:center}.today-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:#111;color:#fff;font-size:.72rem;font-weight:900}.subtle-pill{font-size:.72rem;font-weight:800;color:var(--muted)}.next-session-card h3{margin:5px 0 8px;font-size:clamp(1.8rem,3.5vw,3.1rem);line-height:.98;letter-spacing:-.045em}.next-session-card p{margin:0;max-width:700px;color:var(--muted);line-height:1.55}.next-cta{justify-self:start;min-width:170px}
.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.quick-stats>div{display:grid;gap:5px;padding:14px 16px;border:1px solid #e7e7e2;border-radius:15px;background:#fff}.quick-stats small{font-size:.67rem;color:var(--muted);font-weight:800}.quick-stats strong{font-size:1.05rem}.home-section-title{margin-top:28px}.week-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.week-day-card{border:1px solid #e7e7e2;border-radius:15px;background:#fff;padding:14px;text-align:left;display:grid;gap:5px}.week-day-card>span{font-size:.65rem;color:var(--muted);font-weight:900}.week-day-card>small{color:var(--muted);line-height:1.3}.week-day-card.next{border-color:#111;box-shadow:inset 0 0 0 1px #111}

/* Archive */
.archive-list{display:grid;gap:10px}.archive-week{border:1px solid #e5e5e0;border-radius:17px;background:#fff;overflow:hidden}.archive-week>summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;cursor:pointer}.archive-week>summary::-webkit-details-marker{display:none}.archive-week>summary>div{display:grid;gap:3px}.archive-week>summary strong{font-size:.95rem}.archive-week>summary small,.archive-date{font-size:.68rem;color:var(--muted)}.archive-date{font-weight:800;text-transform:uppercase;letter-spacing:.06em}.archive-chevron{font-size:1.1rem;transition:transform .18s}.archive-week[open] .archive-chevron{transform:rotate(180deg)}.archive-days{display:grid;gap:10px;padding:0 12px 12px;border-top:1px solid #ededE9;background:#f7f7f5}.archive-day{margin-top:10px;border:1px solid #e6e6e1;border-radius:14px;background:#fff;overflow:hidden}.archive-day>header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;background:#f7f7f5}.archive-day>header>div{display:grid;gap:2px}.archive-day>header small,.archive-day>header>span{font-size:.66rem;color:var(--muted)}.archive-segment{padding:11px 14px;border-top:1px solid #eeeeea;display:grid;grid-template-columns:90px 1fr;gap:12px}.archive-segment>strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.archive-lines,.archive-exercises{display:grid;gap:4px}.archive-lines span,.archive-exercises>div{font-size:.8rem}.archive-exercises>div{display:flex;justify-content:space-between;gap:12px}.archive-exercises small{color:var(--muted)}.empty-state{display:grid;gap:5px;color:var(--muted)}

/* Builder remains powerful but calmer. */
.builder-canvas{gap:12px}.builder-block{border-radius:16px;box-shadow:none}.builder-block header{padding:13px 16px;background:#f7f7f5}.builder-block .body{padding:16px}.program-builder-blocks{gap:9px}.builder-program-lines{gap:5px}.builder-program-line{grid-template-columns:28px minmax(0,1fr) 32px;gap:6px}.builder-program-line>span{border-radius:9px;background:#e9e9e5;color:#575752}.builder-program-line textarea{min-height:44px;border-radius:10px;padding:10px 11px}

@media(max-width:1050px){
  .result-meta-row{grid-template-columns:minmax(120px,1fr) 150px}.result-meta-row textarea{grid-column:1/-1}.result-meta-row .primary{grid-column:1/-1}
}
@media(max-width:800px){
  .content{padding:18px 14px 86px}.topbar{height:62px}.topbar h1{font-size:.9rem}.avatar{width:34px;height:34px}.compact-page-head{margin-bottom:16px}.compact-page-head h2,.page-head h2{font-size:2.15rem}
  .bottom-nav{grid-template-columns:repeat(4,1fr);padding-top:6px}.bottom-nav button{min-height:48px}
  .training-day{border-radius:18px}.day-head{padding:15px 14px;align-items:flex-start;gap:10px}.day-head h3{font-size:.94rem}.day-head .pill{padding:5px 8px;font-size:.67rem}.block.segment-card,.training-day>.session-feedback{margin:0 8px 9px;padding:14px;border-radius:14px}
  .program-line{padding:8px 10px;font-size:.9rem}.block-view-toggle{padding:4px 7px}.block-title-row{margin-bottom:8px}
  .exercise-row{grid-template-columns:1.5fr 62px 62px;gap:7px;padding:10px 0}.exercise-name strong{font-size:.9rem}.metric{font-size:.82rem}.exercise-result{margin-left:0;margin-right:0;padding:11px}.result-meta-row,.session-result .result-meta-row{grid-template-columns:1fr}.rpe-control.compact-rpe{justify-content:space-between;max-width:260px}.rpe-dropdown{min-width:130px}.rpe-menu{right:0;left:auto}.rpe-readonly{max-width:250px}
  .segment-feedback{margin-top:14px;padding-top:14px}.feedback-pane{padding:11px}.media-panel{border-radius:13px}
  .athlete-home{padding-top:16px}.mobile-welcome{margin-bottom:12px}.mobile-welcome h2{font-size:2rem}.next-session-card{gap:17px;padding:20px;border-radius:20px}.next-session-card h3{font-size:2rem}.next-session-card p{font-size:.9rem}.next-cta{width:100%;justify-self:stretch}.quick-stats{gap:7px}.quick-stats>div{padding:11px;border-radius:13px}.quick-stats small{font-size:.59rem}.quick-stats strong{font-size:.92rem}.week-strip{display:flex;overflow:auto;padding-bottom:4px;scroll-snap-type:x proximity}.week-day-card{min-width:190px;scroll-snap-align:start}
  .archive-day>header{align-items:flex-start}.archive-segment{grid-template-columns:1fr;gap:6px}.archive-exercises>div{align-items:flex-start}
  .coach-switch{grid-template-columns:repeat(2,1fr);width:100%;max-width:none}.latest-result-row{grid-template-columns:minmax(0,1fr) auto}.latest-result-row>.mini-rpe{grid-column:2}.latest-results-card{padding:16px}
}
@media(max-width:460px){
  .quick-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-stats>div{padding:10px 8px}.rpe-control.compact-rpe>label{display:none}.rpe-control.compact-rpe{max-width:160px}.rpe-menu{width:176px}.coach-switch{gap:3px}.coach-switch button{font-size:.74rem;padding:8px 7px}.archive-week>summary{padding:14px}.archive-day>header{flex-direction:column}
}

/* ===== V7 · PR-basierte Vorgaben, kompakter RPE, Status & Block-Feedback ===== */
.calculated-load{display:block;margin-top:3px;font-size:.72rem;font-weight:800;color:#0a7f3f;line-height:1.25}.calculated-load small{font-size:.64rem;color:var(--muted);font-weight:750}

/* RPE gets its own small fixed-width column so it never overlaps notes. */
.result-meta-row{grid-template-columns:minmax(145px,.9fr) 118px minmax(240px,1.55fr) auto;align-items:stretch;gap:9px}
.rpe-control.compact-rpe{display:block;min-width:0;width:118px;max-width:118px;align-self:stretch}
.rpe-dropdown{min-width:0;width:118px;height:100%}
.rpe-selected{width:118px;min-height:44px;height:100%;box-sizing:border-box;padding:7px 8px;overflow:hidden}
.rpe-selected span,.rpe-selected small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpe-selected span{font-size:.76rem}.rpe-selected small{font-size:.58rem}
.rpe-menu{left:auto;right:0;width:174px}.rpe-option{grid-template-columns:24px 1fr;min-height:33px}
.compact-result-row{grid-template-columns:118px minmax(240px,1fr) auto}

/* Apple-system inspired saturated effort ramp. */
.rpe-v1{background:#30D158!important;color:#062d14!important}.rpe-v2{background:#48D363!important;color:#073317!important}.rpe-v3{background:#67D66A!important;color:#103918!important}.rpe-v4{background:#93D76A!important;color:#26380f!important}.rpe-v5{background:#C7D75D!important;color:#3c3909!important}.rpe-v6{background:#FFD60A!important;color:#3a3000!important}.rpe-v7{background:#FFB340!important;color:#4a2900!important}.rpe-v8{background:#FF9F0A!important;color:#492300!important}.rpe-v9{background:#FF6847!important;color:#fff!important}.rpe-v10{background:#FF3B30!important;color:#fff!important}

.prescription-input{display:grid;gap:4px;min-height:44px;padding:7px 10px;border:1px solid rgba(0,0,0,.10);border-radius:10px;background:#fff}.prescription-input>span{font-size:.61rem;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.055em}.prescription-input input{border:0!important;background:transparent!important;padding:0!important;min-height:21px!important;font-size:.92rem;font-weight:850;outline:none}.prescription-input small{font-size:.61rem;color:var(--muted);line-height:1.25}
.readonly-prescription{display:grid;align-content:center;gap:3px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.readonly-prescription small{font-size:.62rem;color:var(--muted);font-weight:800}.readonly-prescription strong{font-size:.86rem}

/* Exactly one support area per non-warm-up block. Segment feedback lives inside it. */
.feedback-media-panel{margin-top:14px;border-color:#dfdfda;background:#fafaf8}.feedback-media-panel>summary{padding:13px 14px}.feedback-media-panel>summary strong{font-size:.9rem}.feedback-media-panel .media-body{padding:0 12px 12px}.embedded-segment-feedback{padding:12px;border:1px solid #e7e7e2;border-radius:13px;background:#fff}.embedded-segment-feedback .feedback-grid{gap:8px}.embedded-segment-feedback .feedback-pane{border-radius:12px;padding:11px}.media-section-label{margin-top:2px;font-size:.62rem;font-weight:900;letter-spacing:.08em;color:var(--muted)}

/* Completion states are simple and touch-friendly. */
.completion-control{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;border:1px solid #e6e6e1;border-radius:12px;background:#fafaf8}.completion-control>span{font-size:.69rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.completion-control>div{display:flex;gap:6px}.status-btn{border:1px solid #d9d9d4;background:#fff;border-radius:9px;padding:7px 10px;font-size:.72rem;font-weight:850;cursor:pointer}.status-btn.active.good{background:#e9f9ee;border-color:#6ed88b;color:#0b6d31}.status-btn.active.bad{background:#fff0ef;border-color:#ff8e87;color:#bd2a22}.completion-readonly{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;margin-top:12px;padding:9px 11px;border-radius:11px;border:1px solid #e3e3df;font-size:.72rem}.completion-readonly span{color:var(--muted);font-weight:800}.completion-readonly small{grid-column:1/-1;color:var(--muted)}.complete-good{background:#eefaf1;border-color:#bcebc8}.complete-good strong{color:#14783a}.complete-bad{background:#fff2f1;border-color:#ffc1bd}.complete-bad strong{color:#c7332b}.complete-open{background:#f7f7f5;color:#666}
.session-result .completion-control,.readonly-session .completion-readonly{margin-top:10px}

.coach-live-result{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 2px;padding:9px 10px;border-radius:10px;background:#f6f6f3;border:1px solid #e7e7e2}.coach-live-result.compact{grid-template-columns:1fr}.coach-live-result>div{display:grid;gap:2px}.coach-live-result small{font-size:.59rem;color:var(--muted);font-weight:900;letter-spacing:.06em}.coach-live-result span{font-size:.72rem;line-height:1.3}.wod-builder-tracking{grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr)!important}.wod-builder-tracking small{display:block;margin-top:5px;color:var(--muted);font-size:.66rem;line-height:1.35}

/* PR baseline / interview */
.pr-baseline-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 6px;padding:14px 16px;border:1px solid #e5e5e0;border-radius:15px;background:#fff}.pr-baseline-card>div{display:grid;gap:2px}.pr-baseline-card small{font-size:.6rem;font-weight:900;letter-spacing:.08em;color:var(--muted)}.pr-baseline-card strong{font-size:.92rem}.pr-baseline-card span{font-size:.72rem;color:var(--muted)}
.pr-coach-card{padding-bottom:14px}.pr-chip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pr-chip-grid>div{display:grid;gap:4px;padding:11px;border:1px solid #e7e7e2;border-radius:11px;background:#fafaf8}.pr-chip-grid small{font-size:.63rem;color:var(--muted);font-weight:800}.pr-chip-grid strong{font-size:1rem}
.pr-interview-modal{width:min(880px,calc(100vw - 28px));max-height:min(88vh,860px);overflow:auto}.pr-table{display:grid;border:1px solid #e5e5e0;border-radius:14px;overflow:hidden}.pr-row{display:grid;grid-template-columns:minmax(150px,1.5fr) repeat(3,minmax(90px,.65fr));gap:8px;align-items:center;padding:8px 10px;border-top:1px solid #ecece8}.pr-row:first-child{border-top:0}.pr-row.pr-head{background:#f6f6f3;font-size:.65rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.pr-row>strong{font-size:.79rem}.pr-row label{display:flex;align-items:center;border:1px solid #deded9;border-radius:9px;background:#fff;overflow:hidden}.pr-row input{min-width:0;width:100%;border:0;padding:8px 7px;font-size:.78rem}.pr-row em{padding-right:7px;font-size:.61rem;color:var(--muted);font-style:normal;font-weight:800}.pr-section{margin-top:10px;border:1px solid #e5e5e0;border-radius:13px;background:#fff;overflow:hidden}.pr-section>summary{cursor:pointer;padding:12px 14px;font-size:.82rem;font-weight:900;background:#f8f8f6}.pr-skill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:10px}.pr-skill-grid>div{display:grid;gap:5px}.pr-skill-grid strong{font-size:.7rem}.pr-skill-grid input{width:100%;border:1px solid #deded9;border-radius:9px;padding:9px 10px;font-size:.78rem}

@media(max-width:1050px){
  .result-meta-row{grid-template-columns:minmax(150px,1fr) 118px}.result-meta-row textarea{grid-column:1/-1}.result-meta-row .primary{grid-column:1/-1}.compact-result-row{grid-template-columns:118px 1fr}.compact-result-row textarea{grid-column:auto}.compact-result-row .primary{grid-column:1/-1}
  .pr-chip-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
  .result-meta-row,.compact-result-row,.session-result .result-meta-row{grid-template-columns:1fr}.rpe-control.compact-rpe{width:116px;max-width:116px}.rpe-dropdown,.rpe-selected{width:116px}.rpe-menu{left:0;right:auto}.completion-control{align-items:flex-start;flex-direction:column}.completion-control>div{width:100%}.status-btn{flex:1}.coach-live-result{grid-template-columns:1fr}.wod-builder-tracking{grid-template-columns:1fr!important}.pr-baseline-card{align-items:flex-start;flex-direction:column}.pr-baseline-card .ghost{width:100%}.pr-row{grid-template-columns:minmax(120px,1.3fr) repeat(3,minmax(68px,.7fr));gap:5px;padding:7px}.pr-row input{padding:7px 5px}.pr-skill-grid{grid-template-columns:1fr}.embedded-segment-feedback .feedback-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .pr-row{grid-template-columns:1fr repeat(3,58px)}.pr-row>strong{font-size:.7rem}.pr-row em{display:none}.pr-chip-grid{grid-template-columns:repeat(2,1fr)}
}


/* --- V8 compact mobile-first refinements --- */
.version-badge::after{content:'';}
.segment-card{padding:14px 14px 12px;border-radius:18px}
.exercise-item{padding-bottom:0}
.exercise-result{margin:6px 0 10px;padding:10px 11px;border-radius:12px;background:#fffef8}
.result-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:7px}
.result-title strong{font-size:1rem;line-height:1.2}
.result-title small{font-size:.69rem;color:var(--muted);max-width:160px;text-align:right}
.result-title .pill.accent{padding:4px 7px;font-size:.62rem;letter-spacing:.03em}
.result-meta-row{grid-template-columns:minmax(132px,1fr) 110px minmax(0,1fr) auto;gap:8px;align-items:start}
.result-meta-row>textarea{min-height:44px;max-height:88px;padding:10px 12px}
.result-meta-row .primary{min-height:44px;padding:0 14px;border-radius:12px}
.unit-input input,.prescription-input input,.readonly-prescription,.readonly-chip,.rpe-selected{min-height:42px}
.prescription-input,.readonly-prescription,.readonly-chip{border-radius:10px}
.prescription-input span,.readonly-prescription small,.readonly-chip{font-size:.74rem}
.prescription-input strong{font-size:1rem}
.compact-result-row{grid-template-columns:110px minmax(0,1fr) auto}
.feedback-media-panel{margin-top:10px;border-radius:14px}
.feedback-media-panel>summary{padding:11px 12px}
.feedback-media-panel .media-body{padding:0 10px 10px;gap:10px}
.embedded-segment-feedback.compact-feedback{padding:10px;border-radius:12px}
.embedded-segment-feedback.compact-feedback .feedback-grid{display:block}
.embedded-segment-feedback.compact-feedback .feedback-pane{padding:10px;border-radius:11px}
.embedded-segment-feedback.compact-feedback textarea{min-height:72px;max-height:130px}
.completion-control{margin-top:0;padding:9px 10px;border-radius:11px;background:#fff}
.completion-control>span{font-size:.66rem}
.status-btn{padding:7px 9px;font-size:.7rem}
.video-upload{padding:10px;border:1px dashed #e6e2d4;border-radius:12px;background:#fffef9}
.video-upload textarea{min-height:58px;max-height:100px}
.media-card{border-radius:12px}
@media(max-width:900px){
  .result-meta-row{grid-template-columns:minmax(130px,1fr) 106px;gap:8px}
  .result-meta-row textarea{grid-column:1/-1}
  .result-meta-row .primary{grid-column:1/-1}
  .compact-result-row{grid-template-columns:106px 1fr}
  .compact-result-row textarea{grid-column:1/-1}
}
@media(max-width:640px){
  .segment-card{padding:12px 12px 10px;border-radius:16px}
  .exercise-row{grid-template-columns:1.4fr 58px 58px;gap:6px;padding:9px 0}
  .metric{font-size:.8rem}
  .exercise-name strong{font-size:.92rem}
  .exercise-result{padding:9px 10px}
  .result-title{flex-direction:column;align-items:flex-start;gap:5px}
  .result-title small{max-width:none;text-align:left}
  .result-meta-row,.compact-result-row,.session-result .result-meta-row{grid-template-columns:1fr}
  .rpe-control.compact-rpe,.rpe-dropdown,.rpe-selected{width:100%;max-width:none}
  .rpe-menu{left:0;right:auto;width:min(220px,100%)}
  .result-meta-row .primary,.session-result .primary{width:100%}
  .completion-control{align-items:flex-start;flex-direction:column}
  .completion-control>div{width:100%}
  .status-btn{flex:1}
}


/* --- V9 minimalist mobile refinements --- */
.day-head{padding:16px 18px;align-items:flex-start;gap:14px}
.day-head h3{font-size:1.35rem;line-height:1.16}
.target-rpe-pill{display:grid;justify-items:center;align-content:center;min-width:72px;padding:8px 10px;border:1px solid #e6e4db;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f7f6f2 100%);box-shadow:0 1px 0 rgba(255,255,255,.9) inset}
.target-rpe-pill small{font-size:.62rem;color:var(--muted);font-weight:850;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.target-rpe-pill strong{font-size:1.08rem;line-height:1.1;margin-top:3px}
.exercise-name small{display:block;margin-top:3px;line-height:1.35}
.exercise-result{background:#fff;border-color:#ece9de;box-shadow:none}
.compact-entry-head{align-items:center}
.compact-entry-head .pill.accent{margin-right:6px}
.compact-entry-head small{max-width:210px}
.prescription-stack{display:grid;gap:8px}
.subtle-pr-input{display:grid;gap:5px;padding:9px 10px;border:1px solid #ece9de;border-radius:10px;background:#fbfaf7}
.subtle-pr-input span{font-size:.7rem;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.subtle-pr-input>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}
.subtle-pr-input input{min-height:40px;border:1px solid rgba(0,0,0,.09);border-radius:10px;padding:0 10px;background:#fff}
.subtle-pr-input em{font-style:normal;font-size:.78rem;color:var(--muted);font-weight:800}
.subtle-pr-input small{font-size:.68rem;color:var(--muted)}
.inline-pr-readonly{padding:8px 10px;border:1px solid #ece9de;border-radius:10px;background:#fbfaf7}
.inline-pr-readonly small{display:block;font-size:.68rem;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.inline-pr-readonly strong{display:block;margin-top:2px}
.readonly-prescription span{display:block;margin-top:3px;font-size:.68rem;color:var(--muted)}
.result-meta-row{grid-template-columns:minmax(145px,1fr) 110px minmax(0,1fr) auto;gap:8px}
.result-meta-row textarea{background:#fff}
.training-day{border-radius:24px}
.block{padding:16px 18px}
.segment-card{border-radius:16px;background:#fbfbf8}
.program-stack{background:#fff}
.block-view-toggle{border-radius:12px;background:#f7f5ef}
.coach-plan-note{border-radius:12px;background:#fffdf4}
@media(max-width:800px){
  .content{padding:18px 14px 90px}
  .page-head h2{font-size:2.2rem}
  .training-day{border-radius:20px}
  .day-head{padding:14px 14px 12px;gap:10px}
  .day-head>div{min-width:0}
  .day-head h3{font-size:1.08rem}
  .day-head .eyebrow{font-size:.7rem}
  .target-rpe-pill{min-width:66px;padding:7px 8px;border-radius:16px}
  .target-rpe-pill small{font-size:.58rem}
  .target-rpe-pill strong{font-size:1rem}
  .block{padding:14px}
  .segment-card{padding:12px}
  .block-title{margin-bottom:8px}
  .exercise-row{grid-template-columns:1fr 54px 54px;gap:6px;padding:8px 0}
  .exercise-name strong{font-size:.94rem}
  .exercise-name small{font-size:.72rem}
  .exercise-head-row{display:none}
  .metric{font-size:.8rem}
  .metric small{font-size:.58rem}
  .result-title .pill.accent{font-size:.6rem}
  .result-meta-row,.compact-result-row,.session-result .result-meta-row{grid-template-columns:1fr}
  .result-meta-row .primary,.session-result .primary{width:100%}
  .rpe-control.compact-rpe,.rpe-dropdown,.rpe-selected{width:100%;max-width:none}
  .feedback-media-panel>summary{padding:10px 11px}
  .media-count{min-width:24px;height:24px;font-size:.68rem}
}


/* --- V10 fine-tuning --- */
.target-rpe-pill{transition:all .18s ease}
.target-rpe-pill.rpe-v1,.target-rpe-pill.rpe-v2{background:#f2fbf4;border-color:#d8f0de;color:#1f7a3e}
.target-rpe-pill.rpe-v3,.target-rpe-pill.rpe-v4{background:#f7fbef;border-color:#e6efcb;color:#5d6f1a}
.target-rpe-pill.rpe-v5,.target-rpe-pill.rpe-v6{background:#fff8eb;border-color:#f3dfb1;color:#946200}
.target-rpe-pill.rpe-v7,.target-rpe-pill.rpe-v8{background:#fff2e8;border-color:#f1d2b7;color:#b45f06}
.target-rpe-pill.rpe-v9,.target-rpe-pill.rpe-v10{background:#fff0ef;border-color:#f0c8c4;color:#b3261e}
.segment-status-inline{margin-top:10px}
.completion-control.inline-compact,.completion-readonly.inline-compact{margin-top:10px;padding:7px 9px;border-radius:12px;background:transparent;border:1px solid #ece8db}
.completion-control.inline-compact{display:flex;justify-content:space-between;align-items:center;gap:10px}
.completion-control.inline-compact>span{font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:800}
.completion-control.inline-compact>div{display:flex;gap:6px;flex-wrap:wrap}
.completion-control.inline-compact .status-btn{padding:5px 9px;font-size:.68rem;border-radius:999px;background:#fff}
.completion-readonly.inline-compact{display:flex;justify-content:space-between;align-items:center}
.completion-readonly.inline-compact span{font-size:.64rem;text-transform:uppercase;letter-spacing:.05em}
.exercise-result{padding:10px 10px 11px}
.result-title{margin-bottom:6px}
.result-meta-row{gap:7px}
.subtle-rm-field{display:grid;gap:5px;padding:8px 10px;border:1px solid #ece9de;border-radius:10px;background:#fbfaf7}
.subtle-rm-field span{font-size:.66rem;font-weight:800;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.subtle-rm-field>div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.subtle-rm-field input{min-height:38px;padding:0 10px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:#fff}
.subtle-rm-field em{font-style:normal;color:var(--muted);font-size:.76rem;font-weight:700}
.subtle-hint{font-size:.68rem;color:var(--muted);line-height:1.35}
.inline-rm-readonly{padding:7px 9px;border:1px solid #ece9de;border-radius:10px;background:#fbfaf7}
.inline-rm-readonly small{display:block;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:800}
.inline-rm-strip{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:8px;padding:8px 10px;border:1px solid #ece9de;border-radius:10px;background:#fbfaf7}
.inline-rm-strip label{display:grid;gap:4px;min-width:120px;flex:1}
.inline-rm-strip label span{font-size:.66rem;text-transform:uppercase;color:var(--muted);font-weight:800}
.inline-rm-strip label>div{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}
.inline-rm-strip input{min-height:36px;padding:0 9px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:#fff}
.inline-rm-strip em{font-style:normal;color:var(--muted);font-size:.75rem;font-weight:700}
.inline-rm-strip small{font-size:.67rem;color:var(--muted);max-width:170px;line-height:1.35}
.today-actions{display:flex;gap:8px;margin:12px 0 14px}
.today-actions .ghost{border-radius:999px;padding:8px 12px}
.sync-ready-card .coach-check-list{grid-template-columns:1fr}
@media(max-width:800px){
  .today-actions{margin-top:10px}
  .completion-control.inline-compact,.completion-readonly.inline-compact{padding:8px 9px}
  .completion-control.inline-compact{align-items:flex-start;flex-direction:column}
  .completion-control.inline-compact>div{width:100%}
  .completion-control.inline-compact .status-btn{flex:1;text-align:center}
  .subtle-rm-field,.inline-rm-readonly{padding:8px 9px}
  .inline-rm-strip{display:grid;grid-template-columns:1fr;gap:6px;align-items:start}
  .inline-rm-strip small{max-width:none}
}


/* --- V11: cleaner prescription + mobile-first --- */
.exercise-mobile-meta{display:none!important}
.load-inline{font-weight:750;line-height:1.35}
.entry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.inline-rm-field{display:flex;align-items:center;gap:6px;padding:4px 7px;border:1px solid #e9e7df;border-radius:999px;background:#faf9f6;font-size:.68rem}
.inline-rm-field>span{font-size:.62rem;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.inline-rm-field input{width:58px;border:0;background:transparent;padding:0;min-height:24px;font-weight:850;text-align:right;outline:none}
.inline-rm-field em{font-style:normal;color:var(--muted);font-size:.68rem;font-weight:750}
.inline-rm-readonly{font-size:.68rem;color:var(--muted);padding:4px 8px;border-radius:999px;background:#f5f4f0}
.inline-rm-readonly strong{color:#111}
.result-meta-row.no-value-field{grid-template-columns:110px minmax(0,1fr) auto}
.segment-status-inline{margin-top:8px;padding-top:8px;border-top:1px solid #ecebe5}
.completion-control.inline-compact,.completion-readonly.inline-compact{margin:0;padding:0;border:0;background:transparent}
.completion-control.inline-compact{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.completion-control.inline-compact>span{margin-right:auto;font-size:.59rem;color:#8a8983;letter-spacing:.08em;text-transform:uppercase;font-weight:850}
.completion-control.inline-compact>div{display:flex;gap:5px}
.completion-control.inline-compact .status-btn{padding:4px 8px;border-radius:999px;font-size:.64rem;min-height:28px}
.completion-readonly.inline-compact{display:flex;justify-content:space-between;align-items:center;font-size:.65rem}
.target-rpe-pill{transition:.18s ease;background:#fff!important;color:#111!important}
.target-rpe-pill.rpe-v1,.target-rpe-pill.rpe-v2{border-color:#bfe8c9!important;box-shadow:inset 0 -3px 0 #30D158}
.target-rpe-pill.rpe-v3,.target-rpe-pill.rpe-v4{border-color:#d7e7ae!important;box-shadow:inset 0 -3px 0 #93D76A}
.target-rpe-pill.rpe-v5,.target-rpe-pill.rpe-v6{border-color:#f0df9c!important;box-shadow:inset 0 -3px 0 #FFD60A}
.target-rpe-pill.rpe-v7,.target-rpe-pill.rpe-v8{border-color:#f1cfaa!important;box-shadow:inset 0 -3px 0 #FF9F0A}
.target-rpe-pill.rpe-v9,.target-rpe-pill.rpe-v10{border-color:#efc0bc!important;box-shadow:inset 0 -3px 0 #FF3B30}
.sync-badge{padding:5px 8px;border-radius:999px;font-size:.62rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.sync-badge.online{background:#eaf8ef;color:#14783a}.sync-badge.demo{background:#f1f1ee;color:#777}
.today-actions{display:flex;gap:7px;margin:10px 0 14px}.today-actions .ghost{padding:7px 11px;border-radius:999px;font-size:.72rem}
.next-session-card{border-radius:26px;box-shadow:0 18px 45px rgba(0,0,0,.06)}
.exercise-result{border-color:#eceae3;background:#fff;padding:9px 10px;border-radius:12px}
.exercise-result .pill.accent{font-size:.59rem;padding:4px 7px}
.result-meta-row{gap:7px}.result-meta-row textarea{min-height:42px;max-height:84px}.result-meta-row .primary{min-height:42px}
.feedback-media-panel{background:#fff;border-color:#ecebe6}.feedback-media-panel>summary{padding:10px 11px}.embedded-segment-feedback.compact-feedback{background:#fbfaf7}
.video-upload{padding:9px}.video-upload-copy strong{font-size:.85rem}.video-upload-copy small{font-size:.68rem}
.sync-ready-card{border-style:dashed}
@media(max-width:800px){
  .content{padding:14px 10px 86px}.training-days-grid{gap:12px}.training-day{border-radius:20px}.day-head{padding:13px 13px 11px}
  .day-head h3{font-size:1rem;line-height:1.16}.target-rpe-pill{min-width:61px;padding:7px 7px;border-radius:15px}.target-rpe-pill small{font-size:.54rem}.target-rpe-pill strong{font-size:.95rem}
  .block{padding:12px 13px}.segment-card{border-radius:15px}.block-title{font-size:.66rem;margin-bottom:7px}
  .exercise-head-row{display:none}.exercise-row{grid-template-columns:minmax(0,1fr) 44px 44px;gap:5px;padding:7px 0}.exercise-name strong{font-size:.94rem}.exercise-name>small:not(.exercise-mobile-meta){font-size:.69rem;line-height:1.3}.exercise-mobile-meta{display:block!important;margin-top:3px;font-size:.68rem!important;color:#6e6d67!important;line-height:1.35!important}
  .metric{font-size:.78rem}.metric small{font-size:.54rem}.metric:nth-of-type(n+4){display:none}
  .exercise-result{margin:5px 0 9px;padding:8px 9px}.entry-toolbar{margin-bottom:7px}.inline-rm-field{padding:3px 6px}.inline-rm-field input{width:52px}
  .result-meta-row,.result-meta-row.no-value-field,.compact-result-row,.session-result .result-meta-row{grid-template-columns:1fr}.rpe-control.compact-rpe,.rpe-dropdown,.rpe-selected{width:100%;max-width:none}.result-meta-row .primary{width:100%}
  .completion-control.inline-compact{align-items:center;flex-direction:row}.completion-control.inline-compact>div{width:auto}.completion-control.inline-compact .status-btn{flex:0 0 auto}
  .feedback-media-panel>summary small{display:none}.feedback-media-panel .media-body{padding:0 9px 9px}.embedded-segment-feedback.compact-feedback{padding:8px}.feedback-pane{padding:8px!important}
  .next-session-card{border-radius:22px;padding:17px}.next-session-card h3{font-size:1.55rem}.next-session-card p{font-size:.86rem;line-height:1.45}.quick-stats{display:none}.pr-baseline-card{margin-top:12px}
}


/* V12 1RM wheel picker */
.inline-rm-field{display:flex;align-items:center;gap:8px;padding:2px 0}
.inline-rm-field>span{font-size:.68rem;font-weight:800;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
.rm-picker-trigger{display:flex;align-items:center;gap:8px;border:1px solid #ebe7da;background:#fbfaf7;border-radius:12px;padding:8px 10px;min-width:104px;justify-content:flex-end}
.rm-picker-trigger strong{font-size:1rem;line-height:1;font-weight:800}
.rm-picker-trigger em{font-style:normal;color:var(--muted);font-weight:700;font-size:.8rem}
.rm-picker-modal{max-width:420px}
.rm-picker-intro{color:var(--muted);font-size:.9rem;line-height:1.4;margin-bottom:12px}
.rm-picker-value{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:4px 0 14px}
.rm-picker-value strong{font-size:2rem;line-height:1;font-weight:900}
.rm-picker-value span{font-size:1rem;color:var(--muted);font-weight:700}
.rm-wheel-wrap{position:relative}
.rm-wheel{display:grid;grid-template-columns:1fr auto .9fr auto;gap:10px;align-items:stretch;position:relative}
.rm-wheel-highlight{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px;border:1px solid #ead8a2;background:rgba(242,196,0,.08);border-radius:12px;pointer-events:none;z-index:0}
.rm-wheel-column{position:relative;z-index:1;height:220px;overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;padding:88px 0;scrollbar-width:none}
.rm-wheel-column::-webkit-scrollbar{display:none}
.rm-wheel-option{display:flex;align-items:center;justify-content:center;height:44px;scroll-snap-align:center;border:none;background:transparent;font-size:1.05rem;color:#7b766a;font-weight:700;border-radius:10px;width:100%}
.rm-wheel-option.selected{color:#111;font-size:1.18rem;font-weight:900}
.rm-wheel-sep,.rm-wheel-unit{display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--muted)}
.rm-wheel-column.narrow .rm-wheel-option{font-variant-numeric:tabular-nums}
@media (max-width:800px){
  .rm-picker-modal{width:min(94vw,420px)}
  .rm-wheel{grid-template-columns:1fr auto .9fr auto;gap:8px}
  .rm-wheel-column{height:210px;padding:83px 0}
  .rm-wheel-highlight{height:42px}
  .rm-wheel-option{height:42px}
  .rm-picker-trigger{min-width:98px;padding:7px 9px}
}


/* V13 wheel picker: integer kilograms + 0.1 kg decimal steps */
.rm-wheel{grid-template-columns:minmax(90px,1fr) 18px minmax(70px,.72fr) 34px}
.rm-wheel-sep{font-size:1.35rem;color:#111}
.rm-wheel-unit{font-size:.82rem}
.rm-picker-intro{max-width:340px;margin-left:auto;margin-right:auto;text-align:center}
@media(max-width:480px){.rm-wheel{grid-template-columns:minmax(86px,1fr) 14px minmax(62px,.7fr) 30px}.rm-picker-value strong{font-size:1.8rem}}


/* V16: minimal additions only; base design intentionally remains V13 */
.coach-video-hub{margin-top:14px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.coach-video-hub summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;font-weight:800;list-style:none}
.coach-video-hub summary::-webkit-details-marker{display:none}
.coach-video-hub .media-body{padding:0 12px 12px}
[data-video-file-label]{display:block;color:var(--muted);font-size:.78rem;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.empty-chart{display:grid;place-items:center;min-height:180px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);padding:20px;text-align:center}


/* V17: coach science, week planning, robust video upload */
.week-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 18px;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 30px rgba(18,18,18,.035)}
.week-banner div{display:grid;gap:3px}.week-banner small{font-size:.68rem;letter-spacing:.1em;color:var(--muted);font-weight:850}.week-banner strong{font-size:1.12rem}.week-banner span{color:var(--muted);font-size:.82rem}
.science-insights{display:grid;gap:10px}.science-insights article{display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:start;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fafaf8}.science-insights strong{display:block}.science-insights small{display:block;margin-top:4px;color:var(--muted);line-height:1.45}.science-footnote{font-size:.77rem;color:var(--muted);line-height:1.45;margin:12px 2px 0}.science-card .live-indicator{background:#edf6ef;color:#2e6f42}
.feedback-media-panel[data-media-panel][open]>summary{background:#faf9f5}.video-upload input[type=file]{display:block;width:100%}.video-upload [data-video-file-label]{display:block;margin-top:5px;color:var(--muted);font-size:.78rem;word-break:break-word}.upload-status{min-height:1.2em;color:var(--muted);font-size:.78rem;margin-top:6px}
@media(max-width:800px){.week-banner{align-items:flex-start}.week-banner .pill{flex:0 0 auto}.science-insights article{grid-template-columns:10px 1fr}}


/* V18 video upload UX */
.video-upload{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:stretch!important;padding:14px!important}
.video-upload-copy{grid-column:auto!important}
.video-file-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}
.video-file-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 13px;border:1px solid #d9d5ca;border-radius:10px;background:#fff;font-weight:800;font-size:.82rem;cursor:pointer;white-space:nowrap}
.video-file-picker input{position:absolute!important;inset:0!important;opacity:0!important;width:100%!important;height:100%!important;cursor:pointer!important}
.video-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.82rem}
.video-clear-btn,.media-delete-btn{border:1px solid #ead8d5;background:#fff7f6;color:#a63a31;border-radius:10px;padding:8px 10px;font-size:.76rem;font-weight:800}
.video-clear-btn:disabled{opacity:.42;cursor:not-allowed}
.video-comment-field{display:grid;gap:6px}
.video-comment-field>span{font-size:.74rem;font-weight:850;color:#38352f}
.video-comment-field>span small{font-weight:650;color:var(--muted)}
.video-upload textarea[data-video-comment]{display:block!important;width:100%!important;min-height:84px!important;max-height:150px!important;resize:vertical!important;margin:0!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:12px 13px!important;line-height:1.45!important}
.video-upload-actions{display:flex;justify-content:flex-start}
.video-upload-actions .secondary{min-width:220px}
.upload-status{grid-column:auto!important;margin:0!important}
.media-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.media-delete-btn{background:#fff;color:#a63a31}
.media-delete-btn:hover,.video-clear-btn:hover:not(:disabled){background:#fff0ee}
@media(max-width:700px){
  .video-file-row{grid-template-columns:1fr auto}
  .video-file-picker{grid-column:1/2;justify-self:start}
  .video-file-name{grid-column:1/-1;grid-row:2}
  .video-clear-btn{grid-column:2;grid-row:1}
  .video-upload-actions .secondary{width:100%;min-width:0}
  .media-card-head{align-items:flex-start}
}

/* V19 appearance switcher */
.appearance-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.appearance-controls label{display:grid;gap:4px;font-size:.72rem;font-weight:800;color:var(--muted)}.appearance-controls span{padding-left:2px}.appearance-controls select{min-height:38px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:0 12px;min-width:150px}
.version-badge,.sync-badge{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:8px 12px;font-size:.76rem;font-weight:800}
.sync-badge.online{color:var(--good)}
.card,.builder-block,.training-day,.table-wrap table,.modal{background:var(--surface);color:var(--ink)}
table,th,td,.builder-block header,.day-head{background:unset;color:inherit}
th{background:color-mix(in srgb,var(--surface-2) 90%, transparent)}
.ghost{background:var(--surface-2);color:var(--ink)}.primary{background:var(--ink);color:var(--surface)}.primary:hover{filter:brightness(1.08)}.secondary{background:var(--accent);color:#151515}
.rm-picker-trigger{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%, transparent),color-mix(in srgb,var(--surface-2) 80%, transparent));border-radius:999px;padding:8px 12px 8px 10px;min-width:118px;justify-content:space-between;box-shadow:0 1px 0 rgba(255,255,255,.28) inset,0 8px 22px rgba(17,17,17,.05);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.rm-picker-trigger:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 45%, var(--line));box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 10px 24px rgba(17,17,17,.08)}
.rm-picker-trigger strong{font-size:.98rem;line-height:1;font-weight:850;min-width:32px;text-align:right}.rm-picker-trigger em{font-style:normal;color:var(--muted);font-weight:700;font-size:.78rem}.inline-rm-field{display:flex;align-items:center;gap:8px;padding:2px 0}.inline-rm-field>span{font-size:.66rem;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
@media(max-width:800px){.appearance-controls{width:100%}.appearance-controls label{flex:1;min-width:0}.appearance-controls select{width:100%;min-width:0}.top-actions{gap:8px}.top-actions .ghost{display:none}}


/* =========================================================
   V20 · Accessible adaptive theme layer
   Design tokens + WCAG-oriented contrast + system dark mode
   ========================================================= */
html[data-mode="light"]{color-scheme:light}
html[data-mode="dark"]{color-scheme:dark}
html[data-mode] body{background:var(--bg);color:var(--ink)}
::selection{background:color-mix(in srgb,var(--accent) 42%, transparent);color:var(--ink)}

/* Theme-aware foundational surfaces. Avoid fixed white/black surfaces when mode changes. */
:where(
  .card,.training-day,.block.segment-card,.training-day>.session-feedback,.program-stack,.program-line,
  .exercise-result,.feedback-media-panel,.embedded-segment-feedback,.feedback-pane,.media-panel,.video-upload,
  .next-session-card,.quick-stats>div,.week-day-card,.archive-week,.archive-day,.builder-block,.builder-exercise-wrap,
  .security-item,.pr-baseline-card,.pr-chip-grid>div,.pr-section,.week-banner,.coach-video-hub,.science-insights article,
  .readonly-prescription,.inline-pr-readonly,.subtle-pr-input,.subtle-rm-field,.inline-rm-strip,.completion-control,
  .coach-live-result,.modal,.table-wrap table,.rpe-menu
){background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}

:where(
  .day-head,.builder-block header,.archive-days,.builder-program-line>span,.feedback-media-panel[data-media-panel][open]>summary,
  .rpe-bar-track,.demo-accounts,.icon-btn,.block-view-toggle,.ghost,.readonly-chip
){background:var(--surface-2)!important;color:var(--ink)!important}

/* Inputs, textareas and selects keep readable text/background in both modes. */
:where(
  input,select,textarea,.field input,.field select,.field textarea,.result-box input,.result-box select,.result-box textarea,
  .unit-input,.unit-input input,.set-row input,.set-row label,.builder-exercise input,.builder-exercise select,
  .builder-program-line textarea,.pr-row label,.pr-row input,.pr-skill-grid input,.video-upload textarea,
  .result-meta-row>input,.result-meta-row>select,.result-meta-row>textarea,.chart-toolbar select
){background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}

input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 86%, transparent);opacity:1}
select option{background:var(--surface);color:var(--ink)}

/* Content text must remain legible on themed surfaces. */
:where(.program-line,.exercise-name strong,.metric,.archive-lines span,.archive-exercises>div,.media-card,.feedback-readonly,.readonly-prescription strong){color:var(--ink)!important}
:where(.exercise-name small,.metric small,.program-compact,.archive-date,.archive-segment>strong,.video-upload-copy small,.upload-status,.media-panel summary small){color:var(--muted)!important}

/* Coach notes get a tinted semantic surface instead of white text on white cards. */
.coach-plan-note,.notice{
  background:color-mix(in srgb,var(--accent) 11%,var(--surface))!important;
  color:var(--ink)!important;
  border-color:color-mix(in srgb,var(--accent) 34%,var(--line))!important;
}
.coach-plan-note span{color:var(--muted)!important}

/* Result and media panels use a slight elevation difference rather than fixed light colors. */
.exercise-result,.video-upload,.embedded-segment-feedback.compact-feedback{
  background:color-mix(in srgb,var(--surface) 92%,var(--accent-soft) 8%)!important;
}
.feedback-media-panel,.media-panel,.coach-video-hub{
  background:color-mix(in srgb,var(--surface) 94%,var(--surface-2) 6%)!important;
}

/* RPE target keeps semantic color while retaining accessible text contrast. */
.target-rpe-pill{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
html[data-mode="dark"] .target-rpe-pill.rpe-v1,html[data-mode="dark"] .target-rpe-pill.rpe-v2{box-shadow:inset 0 -3px 0 #30d158;background:color-mix(in srgb,#30d158 10%,var(--surface))!important}
html[data-mode="dark"] .target-rpe-pill.rpe-v3,html[data-mode="dark"] .target-rpe-pill.rpe-v4{box-shadow:inset 0 -3px 0 #93d76a;background:color-mix(in srgb,#93d76a 10%,var(--surface))!important}
html[data-mode="dark"] .target-rpe-pill.rpe-v5,html[data-mode="dark"] .target-rpe-pill.rpe-v6{box-shadow:inset 0 -3px 0 #ffd60a;background:color-mix(in srgb,#ffd60a 10%,var(--surface))!important}
html[data-mode="dark"] .target-rpe-pill.rpe-v7,html[data-mode="dark"] .target-rpe-pill.rpe-v8{box-shadow:inset 0 -3px 0 #ff9f0a;background:color-mix(in srgb,#ff9f0a 10%,var(--surface))!important}
html[data-mode="dark"] .target-rpe-pill.rpe-v9,html[data-mode="dark"] .target-rpe-pill.rpe-v10{box-shadow:inset 0 -3px 0 #ff453a;background:color-mix(in srgb,#ff453a 10%,var(--surface))!important}

/* RPE dropdown: menu and empty state inherit current mode. */
.rpe-selected.rpe-empty{background:var(--surface-2)!important;color:var(--ink)!important;border-color:var(--line)!important}
.rpe-menu{box-shadow:0 20px 55px color-mix(in srgb,#000 24%,transparent)!important}

/* Status controls use semantic tints that remain visible in dark mode. */
.status-btn{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
.status-btn.active.good,.complete-good{background:color-mix(in srgb,#30d158 13%,var(--surface))!important;color:color-mix(in srgb,#30d158 76%,var(--ink))!important;border-color:color-mix(in srgb,#30d158 48%,var(--line))!important}
.status-btn.active.bad,.complete-bad{background:color-mix(in srgb,#ff453a 13%,var(--surface))!important;color:color-mix(in srgb,#ff453a 74%,var(--ink))!important;border-color:color-mix(in srgb,#ff453a 48%,var(--line))!important}
.complete-open{background:var(--surface-2)!important;color:var(--muted)!important}

/* Buttons and chips: strong foreground/background pairs. */
.primary{background:var(--ink)!important;color:var(--bg)!important}
.secondary,.pill.accent,.avatar{background:var(--accent)!important;color:#111!important}
.danger-btn,.mini.delete,.video-clear-btn,.media-delete-btn{background:color-mix(in srgb,var(--danger) 12%,var(--surface))!important;color:var(--danger)!important;border-color:color-mix(in srgb,var(--danger) 32%,var(--line))!important}
.today-chip{background:var(--ink)!important;color:var(--bg)!important}
.media-count{background:var(--ink)!important;color:var(--bg)!important}

/* Sidebar may be light or dark depending on the selected design. */
.sidebar{background:var(--sidebar)!important;color:var(--sidebar-ink)!important}
.sidebar .nav button{color:var(--sidebar-muted)!important}
.sidebar .nav button.active,.sidebar .nav button:hover{color:var(--sidebar-ink)!important;background:color-mix(in srgb,var(--accent) 22%,transparent)!important}
.side-user small{color:var(--sidebar-muted)!important}

/* Bottom mobile navigation follows the active mode. */
.bottom-nav{background:color-mix(in srgb,var(--surface) 92%,transparent)!important;color:var(--ink)!important}
.bottom-nav button{color:var(--muted)!important}
.bottom-nav button.active{color:var(--ink)!important;background:var(--accent-soft)!important}

/* Tables and archive rows. */
table,th,td{color:var(--ink)!important;border-color:var(--line)!important}
th{background:var(--surface-2)!important;color:var(--muted)!important}
.archive-days{border-color:var(--line)!important}
.archive-segment{border-color:var(--line)!important}

/* Charts adapt to current mode. */
.chart-grid{stroke:var(--line)!important}
.chart-line{stroke:var(--ink)!important}
.chart-dot{fill:var(--accent)!important;stroke:var(--surface)!important}
.chart-label{fill:var(--muted)!important}
.rpe-bar-track{background:var(--surface-2)!important;border-color:var(--line)!important}

/* 1RM control: fine, contained, premium. */
.inline-rm-field{min-width:0;max-width:100%;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:0!important;border:0!important;background:transparent!important}
.inline-rm-field>span{flex:0 0 auto;color:var(--muted)!important;font-size:.62rem!important;letter-spacing:.06em}
.rm-picker-trigger{
  min-width:92px!important;max-width:132px!important;width:auto!important;
  min-height:36px!important;padding:6px 9px!important;border:1px solid var(--line)!important;
  background:linear-gradient(180deg,var(--surface),var(--surface-2))!important;color:var(--ink)!important;
  border-radius:999px!important;box-shadow:0 1px 0 color-mix(in srgb,#fff 18%,transparent) inset,0 4px 14px color-mix(in srgb,#000 8%,transparent)!important;
  overflow:hidden!important;
}
.rm-picker-trigger strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)!important}
.rm-picker-trigger em{color:var(--muted)!important;flex:0 0 auto}
.rm-picker-trigger:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent),0 5px 16px color-mix(in srgb,#000 9%,transparent)!important}
.rm-wheel-option{color:var(--muted)!important}
.rm-wheel-option.selected,.rm-wheel-sep{color:var(--ink)!important}
.rm-wheel-highlight{background:color-mix(in srgb,var(--accent) 10%,var(--surface))!important;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))!important}

/* Modals retain clear depth in both modes. */
.modal-backdrop{background:rgba(0,0,0,.58)!important;backdrop-filter:blur(4px)}
.modal{box-shadow:0 40px 100px rgba(0,0,0,.38)!important}

/* Accessible focus states use the selected accent, not a hard-coded yellow. */
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 48%,transparent)!important;
  outline-offset:2px!important;
}

/* Dark-mode-specific contrast cleanup for legacy components. */
html[data-mode="dark"] .sidebar-logo{background:#fff!important}
html[data-mode="dark"] .block.segment-card,
html[data-mode="dark"] .training-day>.session-feedback,
html[data-mode="dark"] .program-stack,
html[data-mode="dark"] .program-line{box-shadow:none!important}
html[data-mode="dark"] .segment-status-inline{border-color:var(--line)!important}
html[data-mode="dark"] .program-line-mark{filter:saturate(.95) brightness(1.05)}
html[data-mode="dark"] .sync-badge.demo{background:var(--surface-2)!important;color:var(--muted)!important}
html[data-mode="dark"] .sync-badge.online{background:color-mix(in srgb,var(--good) 12%,var(--surface))!important;color:var(--good)!important}
html[data-mode="dark"] .version-badge{background:var(--surface-2)!important;color:var(--muted)!important}

@media(max-width:800px){
  .appearance-controls{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .appearance-controls label{min-width:0}
  .appearance-controls select{min-width:0!important;width:100%!important}
  .rm-picker-trigger{min-width:88px!important;max-width:116px!important}
}


/* V21 contrast + onboarding layout fixes */
.empty-chart{height:auto!important;min-height:180px!important;box-sizing:border-box;width:100%;overflow:hidden;margin-top:14px}
.analytics-grid>.card,.content .card{overflow:hidden}
.coach-check-list>div{background:color-mix(in srgb,var(--surface) 92%,var(--surface-2) 8%)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.coach-check-list strong{color:var(--ink)!important}.coach-check-list small,.coach-check-list span{color:var(--muted)!important}
.science-insights article,.science-card .live-indicator,.template-choice label,.day-count-grid button,.weekday-grid button{color:var(--ink)!important}
.day-count-grid button,.weekday-grid button{background:var(--surface)!important;border:1px solid var(--line)!important}
.day-count-grid button span,.template-choice small{color:var(--muted)!important}
.day-count-grid button.selected,.weekday-grid button.selected{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--bg)!important}
.day-count-grid button.selected span{color:color-mix(in srgb,var(--bg) 75%,transparent)!important}
.template-choice label{background:var(--surface)!important;border-color:var(--line)!important}.template-choice label:has(input:checked){background:color-mix(in srgb,var(--accent) 10%,var(--surface))!important;border-color:color-mix(in srgb,var(--accent) 55%,var(--line))!important}
.template-choice input{accent-color:var(--accent)}
.wizard-compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.wizard-panel{padding:14px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 95%,var(--surface-2) 5%)}
.compact-field{margin-top:14px!important}.template-choice.compact{grid-template-columns:1fr 1fr;gap:10px}.template-choice.compact label{min-height:100%;padding:12px}.template-choice.compact strong{font-size:.92rem}.template-choice.compact small{font-size:.76rem;line-height:1.35}
.day-count-grid.compact{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-count-grid.compact button{padding:10px 4px;border-radius:16px}.day-count-grid.compact button strong{font-size:1.15rem}.day-count-grid.compact button span{font-size:.7rem}
.weekday-grid.compact{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.weekday-grid.compact button{padding:11px 4px;border-radius:14px}
.interview-modal{width:min(900px,calc(100vw - 24px))!important;max-height:min(90vh,860px)!important;padding:20px 20px 18px!important}.interview-modal .modal-head{align-items:flex-start;gap:12px}.wizard-progress{margin:14px 0 18px!important}.wizard-actions{margin-top:16px!important;padding-top:14px!important}
.modal-head .eyebrow,.interview-question strong,.field label,.template-choice strong{color:var(--ink)!important}.interview-copy p,.interview-question p,.template-choice small,.wizard-error,.muted{color:var(--muted)}
@media (max-width:980px){.wizard-compact-grid{grid-template-columns:1fr}.template-choice.compact{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.interview-modal{width:min(100vw - 12px,760px)!important;max-height:92vh!important;padding:16px!important}.template-choice.compact{grid-template-columns:1fr}.day-count-grid.compact,.weekday-grid.compact{grid-template-columns:repeat(4,1fr)}.wizard-panel{padding:12px}}
@media (max-width:460px){.day-count-grid.compact,.weekday-grid.compact{grid-template-columns:repeat(3,1fr)}.day-count-grid.compact button strong{font-size:1rem}.template-choice.compact small{font-size:.72rem}}


/* V22 · refined 1RM control, high-contrast decimal separator, semantic icon system */
.ui-icon{width:18px;height:18px;flex:0 0 auto;display:block}
.nav button{gap:11px!important}.nav .ui-icon{width:18px;height:18px;opacity:.92}.nav button.active .ui-icon{opacity:1}
.bottom-nav button{display:grid;justify-items:center;align-content:center;gap:4px}.bottom-nav .ui-icon{width:19px;height:19px}
.coach-switch button{display:inline-flex!important;align-items:center;justify-content:center;gap:7px}.coach-switch .ui-icon{width:17px;height:17px}
.summary-title-with-icon{display:flex!important;align-items:flex-start;gap:10px}.summary-title-with-icon>.ui-icon{margin-top:2px;color:var(--muted)}.summary-title-with-icon>span{display:grid;gap:2px}
.video-upload-actions .secondary,.media-delete-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.video-upload-actions .ui-icon,.media-delete-btn .ui-icon{width:17px;height:17px}

/* 1RM is one coherent control; label, value and unit stay inside the capsule. */
.inline-rm-field{display:flex!important;align-items:center!important;justify-content:flex-end!important;min-width:0!important;max-width:100%!important;padding:0!important;background:transparent!important;border:0!important}
.rm-picker-trigger{min-height:44px!important;min-width:132px!important;max-width:158px!important;width:auto!important;display:grid!important;grid-template-columns:auto minmax(30px,1fr) auto 14px!important;align-items:center!important;gap:7px!important;padding:7px 10px!important;overflow:hidden!important}
.rm-picker-label{font-size:.64rem;font-weight:900;letter-spacing:.055em;color:var(--muted);white-space:nowrap}
.rm-picker-trigger strong{font-size:.95rem!important;min-width:0!important;text-align:right!important;color:var(--ink)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rm-picker-trigger em{font-size:.72rem!important;white-space:nowrap;color:var(--muted)!important}
.rm-picker-trigger .rm-chevron{width:14px;height:14px;color:var(--muted);transition:transform .18s ease}
.rm-picker-trigger:hover .rm-chevron{transform:translateY(1px)}

/* Keep the decimal comma visible in every theme, especially dark mode. */
.rm-wheel{grid-template-columns:minmax(90px,1fr) 28px minmax(70px,.72fr) 38px!important;overflow:visible!important}
.rm-wheel-sep{position:relative!important;z-index:4!important;display:flex!important;align-items:center!important;justify-content:center!important;align-self:stretch!important;min-width:28px!important;color:var(--ink)!important;font-size:1.55rem!important;font-weight:950!important;line-height:1!important;opacity:1!important;overflow:visible!important;text-shadow:none!important}
html[data-mode="dark"] .rm-wheel-sep{color:#fff!important;text-shadow:0 0 1px rgba(255,255,255,.25)!important}
.rm-wheel-highlight{z-index:0!important}.rm-wheel-column,.rm-wheel-unit{position:relative;z-index:2}.rm-wheel-unit{color:var(--muted)!important}

/* Interaction feedback and target sizes. */
button,.rm-picker-trigger,.nav button,.bottom-nav button{touch-action:manipulation}
.primary,.secondary,.ghost,.danger-btn,.status-btn,.rm-picker-trigger{transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease}
.primary:active,.secondary:active,.ghost:active,.danger-btn:active,.status-btn:active,.rm-picker-trigger:active{transform:scale(.985)}

@media(max-width:800px){
  .rm-picker-trigger{min-width:126px!important;max-width:148px!important}
  .coach-switch button{gap:5px}.coach-switch .ui-icon{width:16px;height:16px}
}


/* V23 · richer restrained palettes + polished athlete/coach flow */
:root{--surface-elevated:var(--surface);--accent-ink:#111;--warning:#a86713;--info:#3d78a0;--focus:var(--accent);--shadow-color:rgba(0,0,0,.09)}
.card,.training-day,.builder-block,.archive-week,.pr-coach-card,.science-card,.next-session-card{box-shadow:0 12px 34px var(--shadow-color)!important}
.modal,.rpe-menu{background:var(--surface-elevated)!important}
.secondary,.pill.accent,.avatar{background:var(--accent)!important;color:var(--accent-ink)!important}
.secondary .ui-icon,.pill.accent .ui-icon{color:currentColor}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:var(--focus)!important;outline-offset:3px!important}
::selection{background:color-mix(in srgb,var(--accent) 36%,transparent);color:var(--ink)}

/* Color is used as emphasis, not as the only carrier of meaning. */
.status-dot.good{background:var(--good)!important}.status-dot.warn{background:var(--warning)!important}
.pill.good{background:color-mix(in srgb,var(--good) 15%,var(--surface))!important;color:var(--good)!important;border:1px solid color-mix(in srgb,var(--good) 35%,var(--line))}
.danger-btn,.mini.delete,.media-delete-btn{color:var(--danger)!important}

/* Athlete: one obvious next action, secondary information recedes. */
.next-session-card{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line))!important;background:linear-gradient(145deg,var(--surface) 0%,color-mix(in srgb,var(--accent-soft) 44%,var(--surface)) 100%)!important}
.next-session-card h3{max-width:780px}.next-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding-inline:20px}.next-cta .ui-icon{width:17px;height:17px}
.quick-stats{opacity:.92}.quick-stats>div{background:color-mix(in srgb,var(--surface) 94%,var(--surface-2) 6%)!important}
.pr-baseline-card{box-shadow:none!important;background:color-mix(in srgb,var(--surface) 95%,var(--surface-2) 5%)!important}
.plan-save-hint{display:inline-flex;align-items:center;gap:7px;margin-top:10px;color:var(--muted);font-size:.78rem;font-weight:700}.plan-save-hint .ui-icon{width:15px;height:15px;color:var(--good)}

/* Athlete autosave: explicit feedback without another action button. */
.autosave-indicator{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.72rem;font-weight:800;white-space:nowrap}
.autosave-indicator .ui-icon{width:14px;height:14px;color:var(--good)}
.autosave-indicator.is-saving{color:var(--info);border-color:color-mix(in srgb,var(--info) 35%,var(--line))}
.autosave-spinner{width:13px;height:13px;border-radius:50%;border:2px solid color-mix(in srgb,var(--info) 24%,transparent);border-top-color:var(--info);animation:autosave-spin .7s linear infinite}
@keyframes autosave-spin{to{transform:rotate(360deg)}}
.role-athlete [data-save-exercise],.role-athlete [data-save-block-result],.role-athlete [data-save-session]{display:none!important}

/* Make result entry compact after removing redundant explicit save buttons. */
.role-athlete .result-meta-row{grid-template-columns:minmax(108px,132px) minmax(0,1fr)!important;align-items:stretch}
.role-athlete .result-meta-row.no-value-field{grid-template-columns:minmax(108px,132px) minmax(0,1fr)!important}
.role-athlete .result-meta-row>textarea{min-height:44px!important}
.role-athlete .compact-result-row{grid-template-columns:minmax(108px,132px) minmax(0,1fr)!important}

/* Coach: current context has stronger hierarchy, actions stay secondary. */
.week-banner{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 11%,var(--surface)),var(--surface))!important;border-color:color-mix(in srgb,var(--accent) 28%,var(--line))!important}
.week-banner>div>small{color:var(--muted)!important}.week-banner>div>strong{font-size:1.05rem}
.coach-switch{background:var(--surface)!important;border-color:var(--line)!important;box-shadow:0 7px 22px var(--shadow-color)!important}
.coach-switch button.active{background:var(--accent-soft)!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,var(--line))}
.coach-switch button.active .ui-icon{color:var(--accent-ink)}

/* Visual rhythm and typography: restrained, clean, legible. */
.page-head h2{letter-spacing:-.045em}.card{border-color:var(--line)!important}.eyebrow{letter-spacing:.12em}.muted{line-height:1.5}
.exercise-result{border-color:color-mix(in srgb,var(--line) 82%,var(--accent) 18%)!important}
.entry-toolbar{gap:9px}.pill.accent{padding:6px 9px!important;font-size:.66rem!important;letter-spacing:.02em}

/* Dark mode uses base/elevated surfaces rather than pure inversion. */
html[data-mode="dark"] .modal,html[data-mode="dark"] .rpe-menu,html[data-mode="dark"] .coach-video-hub{background:var(--surface-elevated)!important}
html[data-mode="dark"] .next-session-card{background:linear-gradient(145deg,var(--surface-elevated),color-mix(in srgb,var(--accent-soft) 55%,var(--surface)))!important}
html[data-mode="dark"] .quick-stats>div{background:var(--surface-elevated)!important}

/* Minimum practical hit regions; compact visuals can still be easy to tap. */
.nav button,.bottom-nav button,.rm-picker-trigger,.status-btn,.block-view-toggle,.coach-switch button,.video-clear-btn,.media-delete-btn{min-height:44px}

@media(max-width:900px){
  .autosave-indicator{display:none}
  .role-athlete .result-meta-row,.role-athlete .result-meta-row.no-value-field,.role-athlete .compact-result-row{grid-template-columns:1fr!important}
  .next-cta{width:100%}
}
@media(prefers-reduced-motion:reduce){.autosave-spinner{animation:none;border-color:var(--info)}}


/* V24 · Golden-path polish */
.golden-home{max-width:1080px}.golden-session{padding:clamp(22px,4vw,38px);min-height:0}.golden-session-copy h3{max-width:760px}.session-meta-line{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.session-meta-line span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.76rem;font-weight:750}.autosave-hint{display:flex;align-items:center;gap:6px;margin-top:10px;color:var(--muted);font-size:.75rem}.golden-secondary-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 6px}.golden-secondary-actions button{display:inline-flex;align-items:center;gap:7px;min-height:42px}.compact-week-strip .week-day-card{min-height:94px}.week-day-card.done{opacity:.66;border-color:color-mix(in srgb,var(--good) 45%,var(--line))}.session-jump-nav{position:sticky;top:82px;z-index:18;display:flex;gap:7px;overflow:auto;padding:9px 0 12px;margin:-8px 0 18px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(16px)}.session-jump-nav button{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:8px 12px;display:grid;gap:2px;text-align:left}.session-jump-nav button span{font-weight:850}.session-jump-nav button small{color:var(--muted)}.session-jump-nav button.done{border-color:color-mix(in srgb,var(--good) 50%,var(--line));background:color-mix(in srgb,var(--good) 8%,var(--surface))}.segment-card.is-complete{border-color:color-mix(in srgb,var(--good) 38%,var(--line))!important;background:color-mix(in srgb,var(--good) 4%,var(--surface))!important}.segment-card.is-complete>.block-title-row .block-title::after{content:'  ✓';color:var(--good)}
.completion-sheet{width:min(460px,100%);text-align:center;padding:30px}.completion-sheet-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;margin:0 auto 14px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--ink)}.completion-sheet-icon .ui-icon{width:24px;height:24px}.completion-sheet h3{font-size:1.7rem;margin:8px 0}.completion-sheet p{line-height:1.55}
.athlete-first-run{width:min(680px,calc(100vw - 24px));padding:28px}.first-run-hero,.first-run-ready{text-align:center;max-width:560px;margin:auto}.first-run-hero>.ui-icon{width:32px;height:32px;color:var(--accent)}.first-run-hero h3,.first-run-ready h3{font-size:2rem;margin:10px 0}.first-run-hero p,.first-run-ready p{color:var(--muted);line-height:1.55}.first-run-points{display:grid;gap:9px;margin:22px auto 0;max-width:420px;text-align:left}.first-run-points span{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.first-pr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.first-pr-grid label,.coach-pr-quick-grid label{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.first-pr-grid label>span,.coach-pr-quick-grid label>span{font-size:.78rem;font-weight:850}.first-pr-grid label>div,.coach-pr-quick-grid label>div{display:flex;align-items:center;gap:7px}.first-pr-grid input,.coach-pr-quick-grid input{width:100%;min-width:0;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:11px;padding:10px}.first-pr-grid em,.coach-pr-quick-grid em{font-style:normal;color:var(--muted);font-size:.75rem}
.wizard-progress.four{grid-template-columns:repeat(4,1fr)}.golden-onboarding{width:min(900px,calc(100vw - 24px))}.pr-mode-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-card{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);cursor:pointer}.choice-card:has(input:checked){border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.choice-card input{margin-top:4px;accent-color:var(--accent)}.choice-card>span{display:grid;grid-template-columns:auto 1fr;gap:5px 8px}.choice-card .ui-icon{grid-row:1/3;width:20px;height:20px}.choice-card strong{align-self:center}.choice-card small{grid-column:2;color:var(--muted);line-height:1.4}.coach-pr-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.onboarding-review{grid-template-columns:repeat(4,1fr)}.invite-preview>div{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.invite-preview .ui-icon{width:22px;height:22px;color:var(--accent)}.invite-preview small{display:block;margin-top:4px;color:var(--muted);line-height:1.45}.invite-ready-modal{width:min(580px,calc(100vw - 24px));text-align:center}.invite-link-box{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:18px}.invite-link-box input{min-width:0;border:1px solid var(--line);border-radius:12px;padding:11px;background:var(--surface-2);color:var(--ink)}
.activation-shell .login-panel{background:var(--bg)}
@media(max-width:800px){.session-jump-nav{top:68px;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.golden-secondary-actions{display:grid;grid-template-columns:repeat(3,1fr)}.golden-secondary-actions button{justify-content:center;padding:0 8px}.first-pr-grid,.pr-mode-choice,.coach-pr-quick-grid,.onboarding-review{grid-template-columns:1fr 1fr}.athlete-first-run{padding:20px}.completion-sheet{padding:24px}}
@media(max-width:560px){.golden-secondary-actions{grid-template-columns:1fr}.first-pr-grid,.pr-mode-choice,.coach-pr-quick-grid,.onboarding-review{grid-template-columns:1fr}.invite-link-box{grid-template-columns:1fr}.session-meta-line{gap:6px}.session-meta-line span{font-size:.7rem}}


/* V25 · video picker + invitation handoff */
.video-file-picker{min-height:44px!important;padding:0 14px!important;gap:8px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 88%,var(--accent) 12%),var(--surface-2))!important;color:var(--ink)!important;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line))!important;box-shadow:0 1px 0 color-mix(in srgb,#fff 22%,transparent) inset!important}
.video-file-picker>span{color:var(--ink)!important;font-weight:850!important}.video-file-picker .ui-icon{width:18px!important;height:18px!important;color:var(--accent)!important;flex:0 0 auto}.video-file-picker:hover{border-color:color-mix(in srgb,var(--accent) 62%,var(--line))!important;background:color-mix(in srgb,var(--accent) 11%,var(--surface))!important}.video-file-name{color:var(--muted)!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-clear-btn{min-height:40px!important;color:var(--danger)!important;background:color-mix(in srgb,var(--danger) 7%,var(--surface))!important;border:1px solid color-mix(in srgb,var(--danger) 24%,var(--line))!important}.video-clear-btn:disabled{opacity:.45!important;color:var(--muted)!important;background:var(--surface-2)!important;border-color:var(--line)!important}html[data-mode="dark"] .video-file-picker{background:color-mix(in srgb,var(--accent) 10%,var(--surface-elevated))!important;color:var(--ink)!important}
.invite-mail-preview{margin-top:16px;text-align:left;padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.invite-mail-head{display:flex;align-items:flex-start;gap:10px}.invite-mail-head .ui-icon{width:20px;height:20px;color:var(--accent);margin-top:1px}.invite-mail-head div{display:grid;gap:3px}.invite-mail-head small,.invite-mail-preview p{color:var(--muted)}.invite-mail-preview p{font-size:.82rem;line-height:1.5;margin:10px 0 0}.invite-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.invite-mail-button{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;min-height:48px;border-radius:14px;font-weight:850}.invite-mail-button .ui-icon{width:18px;height:18px}@media(max-width:620px){.invite-action-grid{grid-template-columns:1fr}.video-file-row{grid-template-columns:1fr}.video-file-picker,.video-clear-btn{width:100%;justify-content:center}.video-file-name{white-space:normal}.video-clear-btn{grid-column:auto!important;grid-row:auto!important}}


/* V26 · functional session jump navigation */
.training-day{scroll-margin-top:154px}
.session-jump-nav button{transition:border-color .16s ease,background .16s ease,transform .16s ease}
.session-jump-nav button:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));transform:translateY(-1px)}
.session-jump-nav button.active{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:color-mix(in srgb,var(--accent) 64%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}
.session-jump-nav button.active span{color:var(--ink)}
@media(max-width:800px){.training-day{scroll-margin-top:132px}.session-jump-nav{top:68px}}


/* V27 session-day navigation fix */
.session-jump-nav button{cursor:pointer}
.session-jump-nav button:active{transform:translateY(0) scale(.985)}
.training-day:focus{outline:none}
.training-day:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 48%,transparent);outline-offset:6px}


/* =========================================================
   V28 · Compact topbar + profile/settings hub
   ========================================================= */
.topbar{min-height:64px;height:64px;padding:0 clamp(16px,3vw,38px)!important}
.top-actions{gap:8px!important;flex-wrap:nowrap!important}
.top-meta{display:flex;gap:6px;align-items:center}
.profile-trigger{width:40px;height:40px;min-width:40px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent);color:var(--accent-ink);font-weight:900;display:grid;place-items:center;padding:0;box-shadow:0 4px 14px color-mix(in srgb,#000 10%,transparent);transition:transform .16s ease,box-shadow .16s ease}
.profile-trigger:hover{transform:translateY(-1px);box-shadow:0 7px 18px color-mix(in srgb,#000 13%,transparent)}
.profile-trigger:active{transform:translateY(0)}
.profile-popover{position:fixed;z-index:220;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 70px color-mix(in srgb,#000 25%,transparent);padding:10px;animation:profilePop .14s ease-out}
@keyframes profilePop{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
.profile-popover-head{display:flex;align-items:center;gap:11px;padding:10px 10px 12px;border-bottom:1px solid var(--line)}
.profile-popover-head>div:last-child{min-width:0;display:grid;gap:2px}.profile-popover-head strong{font-size:.92rem}.profile-popover-head small{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-avatar-large,.profile-avatar-xl{display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:900;flex:0 0 auto}.profile-avatar-large{width:42px;height:42px}.profile-avatar-xl{width:58px;height:58px;font-size:1.05rem}
.profile-menu-list{display:grid;gap:3px;padding-top:6px}.profile-menu-list button{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:10px;text-align:left;border:0;border-radius:13px;padding:10px;background:transparent;color:var(--ink);min-height:52px}.profile-menu-list button:hover{background:var(--surface-2)}.profile-menu-list .ui-icon{width:19px;height:19px;color:var(--muted)}.profile-menu-list button>span{display:grid;gap:2px}.profile-menu-list strong{font-size:.82rem}.profile-menu-list small{font-size:.68rem;color:var(--muted);font-weight:600}.profile-menu-list .profile-logout{margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 13px 13px;padding-top:12px;color:var(--danger)}.profile-menu-list .profile-logout .ui-icon{color:var(--danger)}
.settings-modal{width:min(760px,calc(100vw - 24px));padding:20px!important;overflow:hidden!important}.settings-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;margin-top:16px}.settings-tabs{display:grid;align-content:start;gap:6px}.settings-tabs button{display:flex;align-items:center;gap:9px;border:0;border-radius:13px;background:transparent;color:var(--muted);padding:10px 12px;text-align:left;min-height:44px;font-weight:800}.settings-tabs button.active{background:var(--surface-2);color:var(--ink)}.settings-tabs .ui-icon{width:18px;height:18px}.settings-panel{min-width:0;padding:4px 2px;max-height:65vh;overflow:auto}.settings-profile-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,var(--surface-2) 8%)}.settings-profile-card h4{margin:0 0 3px;font-size:1.05rem}.settings-profile-card p{margin:0 0 8px;color:var(--muted);font-size:.82rem}.settings-list{display:grid;margin:14px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.settings-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--surface)}.settings-list>div+div{border-top:1px solid var(--line)}.settings-list span{color:var(--muted);font-size:.8rem}.settings-list strong{font-size:.8rem}.settings-action{margin-top:8px;display:flex!important;align-items:center;justify-content:center;gap:8px}.settings-action .ui-icon{width:18px;height:18px}.danger-outline{border:1px solid color-mix(in srgb,var(--danger) 34%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger);border-radius:14px;min-height:44px;font-weight:850}.settings-section-head h4{margin:0 0 5px;font-size:1rem}.settings-section-head p{margin:0 0 14px;color:var(--muted);font-size:.82rem;line-height:1.45}.settings-appearance .appearance-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.settings-appearance .appearance-controls label{font-size:.74rem}.settings-appearance .appearance-controls select{width:100%;min-width:0}.theme-preview{margin-top:14px}.theme-preview-card{display:grid;gap:5px;border:1px solid var(--line);border-radius:18px;padding:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface))}.theme-preview-card strong{font-size:1.05rem}.theme-preview-card small{color:var(--muted);line-height:1.4}
@media(max-width:800px){
  .topbar{height:56px!important;min-height:56px!important;padding:0 12px!important}.topbar h1{font-size:.86rem!important;max-width:55vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{margin-left:auto}.top-meta{display:none}.profile-trigger{width:36px;height:36px;min-width:36px;font-size:.78rem}.autosave-indicator{display:none!important}.content{padding-top:14px!important}.profile-popover{left:auto!important;right:10px!important;top:62px!important;width:min(320px,calc(100vw - 20px))!important}.settings-modal{width:min(100vw - 12px,760px);max-height:92vh;padding:16px!important}.settings-layout{grid-template-columns:1fr;gap:12px}.settings-tabs{grid-template-columns:1fr 1fr;gap:6px}.settings-tabs button{justify-content:center}.settings-panel{max-height:68vh}.settings-appearance .appearance-controls{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.settings-appearance .appearance-controls{grid-template-columns:1fr}.settings-tabs button span{font-size:.76rem}.profile-menu-list small{font-size:.66rem}}

/* V29 · Nextcloud login background reuse */
.login-visual>small{position:relative;z-index:2;text-shadow:0 1px 16px rgba(0,0,0,.45)}
.login-hero h1,.login-hero p,.brand-chip{ text-shadow:0 2px 22px rgba(0,0,0,.42)}
@media(max-width:1100px){.login-visual{background-position:58% center}}


/* V30 Full · full-screen Susan background */
.login-shell{min-height:100dvh;display:grid;grid-template-columns:1fr;position:relative;overflow:hidden;background:#111 url('assets/login-background.jpg') center center/cover no-repeat}
.login-shell::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.34) 0%,rgba(8,8,8,.18) 48%,rgba(8,8,8,.48) 100%);z-index:0;pointer-events:none}
.login-visual{position:absolute;inset:0;z-index:1;background:none!important;padding:clamp(30px,5vw,80px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;pointer-events:none}
.login-visual::before{content:none}
.login-panel{position:relative;z-index:3;justify-self:end;width:min(520px,calc(100vw - 40px));min-height:100dvh;padding:40px clamp(24px,4vw,54px);background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.88));backdrop-filter:blur(22px) saturate(1.05);-webkit-backdrop-filter:blur(22px) saturate(1.05);box-shadow:-24px 0 70px rgba(0,0,0,.16)}
html[data-mode="dark"] .login-panel{background:linear-gradient(180deg,rgba(18,18,18,.91),rgba(18,18,18,.86));box-shadow:-24px 0 70px rgba(0,0,0,.28)}
.login-card{width:min(450px,100%);margin:auto 0}
.login-hero{max-width:min(600px,48vw);text-shadow:0 2px 20px rgba(0,0,0,.38)}
.login-visual>small,.brand-chip{max-width:min(600px,48vw)}
@media(max-width:900px){.login-shell{background-position:48% center}.login-visual{padding:28px}.login-hero{max-width:58vw}.login-panel{width:min(460px,52vw);padding:30px 24px}}
@media(max-width:720px){.login-shell{background-position:center top}.login-shell::before{background:linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.12) 32%,rgba(0,0,0,.58) 100%)}.login-visual{position:relative;min-height:44vh;padding:24px}.login-hero{max-width:100%}.login-visual>small{display:none}.login-panel{justify-self:stretch;width:100%;min-height:auto;border-radius:26px 26px 0 0;margin-top:-22px;padding:28px 20px;background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 -18px 44px rgba(0,0,0,.16)}}


/* V31 · Coach activity inbox + theme-safe builder day list */
.builder-list button{border:1px solid var(--line)!important;background:var(--surface-2)!important;color:var(--ink)!important;border-radius:14px;padding:12px 13px;text-align:left;min-height:66px;transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.builder-list button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))!important;background:color-mix(in srgb,var(--accent) 8%,var(--surface-2))!important;transform:translateY(-1px)}
.builder-list button small{display:block;margin-top:4px;color:var(--muted)!important;line-height:1.35}
.builder-list button.active{border-color:color-mix(in srgb,var(--accent) 70%,var(--line))!important;background:color-mix(in srgb,var(--accent) 18%,var(--surface))!important;color:var(--ink)!important;box-shadow:inset 3px 0 0 var(--accent)}
.builder-list button.active small{color:color-mix(in srgb,var(--ink) 72%,var(--muted))!important}
.coach-inbox-card{overflow:hidden}.coach-activity-list{display:grid;gap:10px}.coach-activity-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}
.coach-activity-row.has-new{background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}
.activity-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 20%,var(--surface));color:var(--ink);font-weight:900;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line))}
.activity-main{min-width:0}.activity-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.activity-main p{display:flex;align-items:center;gap:7px;margin:5px 0 3px;color:var(--ink);font-size:.86rem;min-width:0}.activity-main p svg{width:16px;height:16px;flex:0 0 auto;color:var(--muted)}.activity-main small{color:var(--muted)}
.activity-new-badge,.activity-reviewed-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:.68rem;font-weight:850}.activity-new-badge{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line))}.activity-reviewed-badge{background:var(--surface);color:var(--muted);border:1px solid var(--line)}
.activity-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.activity-actions .mini{min-height:36px}.activity-mark-seen{display:inline-flex!important;align-items:center;gap:5px}.activity-mark-seen svg{width:14px;height:14px}
@media(max-width:760px){.coach-activity-row{grid-template-columns:40px minmax(0,1fr)}.activity-actions{grid-column:1/-1;justify-content:stretch}.activity-actions .mini{flex:1}.coach-inbox-card .section-title{align-items:flex-start}}


/* V32 — Coach Builder & Trainingslesbarkeit */
.block-title{display:flex;align-items:center;gap:8px;font-size:.78rem!important;font-weight:900!important;letter-spacing:.095em!important;color:var(--ink)!important;text-transform:uppercase}
.block-title::before{content:"";width:4px;height:16px;border-radius:99px;background:var(--accent);flex:0 0 auto}
.builder-block>header strong{font-size:.95rem;font-weight:900;letter-spacing:.02em;color:var(--ink)}

/* Strength: Übung zurückhaltend, Leistungsdaten zuerst lesbar */
.exercise-row{grid-template-columns:minmax(190px,1.8fr) 72px 72px minmax(120px,.9fr) minmax(100px,.75fr)!important;gap:12px!important}
.exercise-name strong{font-size:.94rem!important;font-weight:760!important;line-height:1.25;color:var(--ink)}
.exercise-name small{display:block;margin-top:3px;line-height:1.35}.exercise-tempo{font-size:.66rem!important;color:var(--muted)!important}
.metric{font-size:.9rem;line-height:1.2}.metric strong{display:block;font-size:.91rem;font-weight:820;color:var(--ink);margin-top:3px}.metric small{font-size:.6rem!important;font-weight:800;color:var(--muted)!important}

/* Eingabe ist unterstützend, nicht die visuelle Hauptsache */
.role-athlete .exercise-result{margin:5px 0 10px!important;padding:8px 9px!important;background:color-mix(in srgb,var(--surface-2) 38%,var(--surface))!important;border:1px solid color-mix(in srgb,var(--line) 88%,transparent)!important;border-radius:11px!important;box-shadow:none!important}
.role-athlete .entry-toolbar{margin-bottom:6px!important;min-height:30px}.role-athlete .pill.accent{background:transparent!important;border:0!important;padding:2px 0!important;color:var(--muted)!important;font-size:.58rem!important;letter-spacing:.08em!important}
.role-athlete .result-meta-row{gap:6px!important}.role-athlete .result-meta-row>textarea,.role-athlete .unit-input,.role-athlete .rpe-selected{min-height:38px!important;border-radius:9px!important}.role-athlete .result-meta-row>textarea{padding:8px 10px!important;min-height:38px!important;max-height:76px!important}
.role-athlete .rm-picker-trigger{min-height:38px!important;padding:5px 10px!important}

/* Coach Builder compact */
.builder-exercise-wrap{padding:9px!important;background:color-mix(in srgb,var(--surface) 96%,var(--surface-2) 4%)!important}
.builder-exercise{grid-template-columns:minmax(170px,1.7fr) 62px 62px minmax(110px,.9fr) minmax(95px,.75fr) minmax(90px,.7fr) 34px!important;gap:7px!important}
.builder-exercise input,.builder-exercise select{min-height:38px!important;padding:7px 9px!important;border-radius:9px!important}
.compact-builder-tracking{margin-top:7px!important;gap:7px!important}.compact-builder-tracking .field{margin-top:0!important}.compact-builder-tracking label{font-size:.66rem!important}.compact-builder-tracking input,.compact-builder-tracking select{min-height:38px!important;padding:7px 9px!important}
.compact-add{min-height:38px!important;padding:7px 11px!important;border-radius:10px!important;font-size:.78rem!important}
.builder-segment-notes{gap:8px!important}.builder-segment-notes textarea{min-height:64px!important;max-height:110px!important}

/* Erinnerung/Vorschläge des Coachs */
.builder-add-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.memory-suggestions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0}.memory-suggestions>span{font-size:.62rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.memory-suggestions button{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:.68rem;cursor:pointer}.memory-suggestions button:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}

/* Dynamische Coach-Speicherung */
.coach-floating-actions{position:fixed;right:22px;bottom:22px;z-index:44;display:flex;gap:8px;pointer-events:none}.floating-plan-save{pointer-events:auto;display:inline-flex;align-items:center;gap:7px;min-height:42px;border:1px solid var(--line);border-radius:999px;padding:0 13px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--ink);box-shadow:0 12px 32px var(--shadow-color);backdrop-filter:blur(18px);font-size:.74rem;font-weight:850;cursor:pointer}.floating-plan-save .ui-icon{width:15px;height:15px;color:var(--good)}.floating-plan-save.is-saving{color:var(--muted)}

/* Globaler Aufwärts-Pfeil */
.page-top-button{position:fixed;right:22px;bottom:76px;z-index:43;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--ink);box-shadow:0 10px 28px var(--shadow-color);backdrop-filter:blur(16px);display:grid;place-items:center;font-size:1.05rem;font-weight:900;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.page-top-button.show{opacity:1;transform:none;pointer-events:auto}

/* WOD ohne optionalen Coach-Vorgabewert */
.wod-builder-tracking.single{grid-template-columns:minmax(180px,320px)!important}

@media(max-width:800px){
  .exercise-head-row{display:none!important}.exercise-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;padding:9px 0!important}.exercise-name{grid-column:1/-1!important;padding-bottom:3px}.exercise-name strong{font-size:.92rem!important}.metric{display:block!important;font-size:.82rem!important}.metric small{display:block!important}.exercise-mobile-meta{display:none!important}
  .builder-exercise{grid-template-columns:1fr 64px 64px!important}.builder-exercise input:nth-child(4),.builder-exercise input:nth-child(5),.builder-exercise input:nth-child(6){display:none!important}
  .coach-floating-actions{right:12px;bottom:78px}.floating-plan-save{min-height:40px;padding:0 11px}.page-top-button{right:12px;bottom:126px;width:38px;height:38px}
  .memory-suggestions{width:100%}.memory-suggestions button{max-width:150px}
}

/* V33 Final — ausgewählte Trainingskarten-Designsprache + Session-Video-Feedback */
.exercise-card-v33{padding:12px 0 14px;border-bottom:1px solid var(--line)}
.exercise-card-v33:last-of-type{border-bottom:0}
.exercise-title-v33{padding:0 0 9px}.exercise-title-v33 strong{font-size:1.02rem;font-weight:820;line-height:1.22;color:var(--ink)}
.exercise-stats-row{display:grid;grid-template-columns:.72fr .72fr 1.25fr .82fr;gap:0;border:1px solid color-mix(in srgb,var(--line) 92%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 34%,var(--surface));overflow:hidden}
.exercise-stats-row .metric{padding:10px 12px;min-width:0;border-right:1px solid var(--line)}.exercise-stats-row .metric:last-child{border-right:0}
.exercise-stats-row .metric small{display:block;font-size:.6rem!important;font-weight:850!important;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)!important}.exercise-stats-row .metric strong{display:block;margin-top:4px;font-size:.95rem;font-weight:850;line-height:1.15;color:var(--ink);overflow-wrap:anywhere}
.exercise-coach-hint{display:flex;align-items:flex-start;gap:10px;margin-top:9px;padding:10px 12px;border-radius:13px;background:color-mix(in srgb,var(--surface-2) 62%,var(--surface));border:1px solid color-mix(in srgb,var(--line) 78%,transparent)}
.exercise-coach-hint>.ui-icon{width:18px;height:18px;margin-top:1px;color:var(--muted);flex:0 0 auto}.exercise-coach-hint span{display:block;font-size:.58rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.exercise-coach-hint p{margin:3px 0 0;font-size:.8rem;line-height:1.35;color:var(--ink)}

/* Dein Eintrag: bewusst kompakt und sekundär */
.athlete-entry-compact{margin-top:9px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:13px;background:color-mix(in srgb,var(--surface-2) 22%,var(--surface));overflow:visible}
.athlete-entry-compact>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:35px;padding:7px 10px;cursor:pointer;color:var(--ink)}.athlete-entry-compact>summary::-webkit-details-marker{display:none}.athlete-entry-compact>summary span{font-size:.78rem;font-weight:850}.athlete-entry-compact>summary b{font-size:.82rem;color:var(--muted);transition:transform .16s ease}.athlete-entry-compact[open]>summary b{transform:rotate(180deg)}
.athlete-entry-body{padding:0 9px 9px}.compact-entry-row{display:grid;grid-template-columns:minmax(92px,112px) minmax(104px,125px) minmax(150px,1fr);gap:7px;align-items:stretch}.compact-entry-row.has-result-value{grid-template-columns:minmax(100px,1fr) minmax(92px,112px) minmax(104px,125px) minmax(150px,1fr)}
.athlete-entry-compact .rpe-control,.athlete-entry-compact .rpe-dropdown,.athlete-entry-compact .rpe-selected{width:100%;height:100%;max-width:none}.athlete-entry-compact .rpe-selected{min-height:42px!important;padding:6px 9px!important;border-radius:10px!important}.athlete-entry-compact .rpe-selected span{font-size:.72rem}.athlete-entry-compact .rpe-selected small{font-size:.68rem!important;color:var(--muted)!important}
.athlete-entry-compact .inline-rm-field{height:100%;padding:0!important}.athlete-entry-compact .rm-picker-trigger{width:100%;height:100%;min-height:42px!important;border-radius:10px!important;padding:6px 9px!important;box-shadow:none!important}.athlete-entry-compact .rm-picker-label{font-size:.7rem}.athlete-entry-compact .rm-picker-trigger strong{font-size:.82rem}.athlete-entry-compact .rm-picker-trigger em{font-size:.68rem}
.compact-note-field{display:grid;gap:2px;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:5px 9px}.compact-note-field>span{font-size:.62rem;font-weight:800;color:var(--muted)}.compact-note-field textarea{border:0!important;background:transparent!important;padding:0!important;min-height:20px!important;max-height:48px!important;resize:vertical;line-height:1.25;color:var(--ink)}.compact-note-field textarea:focus{outline:0!important;box-shadow:none!important}
.athlete-entry-compact .unit-input,.athlete-entry-compact>.athlete-entry-body>.compact-entry-row>input{min-height:42px!important;border-radius:10px!important}
.role-trainer .athlete-entry-compact{background:var(--surface)}

/* Alte Block-Video-Panels sind ab V33 nicht mehr Teil des Flows. */
.feedback-media-panel,.coach-video-hub{display:none!important}

/* Video(s) ausschließlich am Session-Ende */
.session-feedback{margin-top:14px!important}.session-media-v33{margin-top:10px;padding:11px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 26%,var(--surface))}
.session-media-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.session-media-head>div{display:flex;align-items:center;gap:8px}.session-media-head .ui-icon{width:18px;height:18px;color:var(--muted)}.session-media-head strong{display:block;font-size:.82rem}.session-media-head small{display:block;margin-top:1px;font-size:.68rem;color:var(--muted)}
.session-video-upload{display:grid;gap:8px}.session-video-grid{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.2fr);gap:8px}.session-video-picker,.session-video-comment{border:1px solid var(--line);border-radius:11px;background:var(--surface);min-width:0}.session-video-picker{min-height:74px;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px;cursor:pointer;text-align:left}.session-video-picker .ui-icon{width:22px;height:22px;color:var(--muted)}.session-video-picker strong{display:block;font-size:.78rem}.session-video-picker small{display:block;margin-top:2px;font-size:.64rem;color:var(--muted)}.session-video-picker input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.session-video-comment{display:grid;padding:7px 9px}.session-video-comment>span{font-size:.62rem;font-weight:800;color:var(--muted)}.session-video-comment textarea{border:0!important;background:transparent!important;padding:4px 0 0!important;min-height:43px!important;max-height:90px!important;resize:vertical}.session-video-comment textarea:focus{outline:0!important;box-shadow:none!important}.session-video-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.session-video-actions .video-file-name{flex:1;min-width:150px;color:var(--muted);font-size:.7rem}.session-video-actions .video-clear-btn{min-height:34px}.session-video-actions .secondary{min-height:36px;padding:0 11px;font-size:.72rem}
.session-media-list{display:grid;gap:8px;margin-bottom:9px}.session-media-empty{margin-top:8px;color:var(--muted);font-size:.75rem}
.coach-session-review{margin-top:14px}.coach-session-review .session-media-v33{margin-top:10px}

@media(max-width:700px){
  .exercise-card-v33{padding:10px 0 12px}.exercise-title-v33 strong{font-size:.96rem}.exercise-stats-row{grid-template-columns:repeat(4,minmax(0,1fr));border-radius:12px}.exercise-stats-row .metric{padding:8px 6px}.exercise-stats-row .metric small{font-size:.53rem!important;letter-spacing:.055em}.exercise-stats-row .metric strong{font-size:.8rem}
  .exercise-coach-hint{padding:8px 9px;margin-top:7px}.exercise-coach-hint p{font-size:.74rem}
  .athlete-entry-compact{margin-top:7px}.athlete-entry-compact>summary{min-height:32px;padding:6px 9px}.athlete-entry-body{padding:0 7px 7px}.compact-entry-row,.compact-entry-row.has-result-value{grid-template-columns:82px 92px minmax(0,1fr);gap:5px}.compact-entry-row.has-result-value>.unit-input{grid-column:1/-1}
  .athlete-entry-compact .rpe-selected,.athlete-entry-compact .rm-picker-trigger{min-height:39px!important;padding:5px 7px!important}.compact-note-field{padding:4px 7px}.compact-note-field>span{display:none}.compact-note-field textarea{min-height:29px!important;padding-top:6px!important}
  .session-video-grid{grid-template-columns:1fr}.session-video-picker{min-height:62px}.session-video-actions .secondary{width:100%}.session-video-actions .video-file-name{width:100%;flex-basis:100%}
}


/* V34 Final — kompakter, einheitlicher Athlete-Quick-Entry */
.athlete-entry-compact{
  margin-top:7px!important;
  border:1px solid color-mix(in srgb,var(--line) 90%,transparent)!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--surface-2) 10%,var(--surface))!important;
  box-shadow:none!important;
}
.athlete-entry-compact>summary{
  min-height:28px!important;
  padding:4px 8px 3px!important;
  gap:6px!important;
}
.athlete-entry-compact>summary span{
  font-size:.7rem!important;
  font-weight:820!important;
  letter-spacing:.005em;
}
.athlete-entry-compact>summary b{
  font-size:.68rem!important;
  line-height:1;
}
.athlete-entry-body{padding:0 6px 6px!important}
.compact-entry-row,
.compact-entry-row.has-result-value{
  grid-template-columns:minmax(70px,82px) minmax(86px,100px) minmax(0,1fr)!important;
  gap:4px!important;
  align-items:center!important;
}
.compact-entry-row.has-result-value>.unit-input{
  grid-column:1/-1;
  min-height:34px!important;
  margin-bottom:1px;
}

/* Alle drei Quick-Entry-Felder haben dieselbe Höhe und visuelle Gewichtung. */
.athlete-entry-compact .rpe-control,
.athlete-entry-compact .rpe-dropdown,
.athlete-entry-compact .inline-rm-field{
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  margin:0!important;
}
.athlete-entry-compact .rpe-selected,
.athlete-entry-compact .rm-picker-trigger,
.athlete-entry-compact .compact-note-field{
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:var(--surface)!important;
  box-shadow:none!important;
}

/* RPE: weiterhin farbcodiert, aber bewusst nur dezent getönt. */
.athlete-entry-compact .rpe-selected{
  padding:4px 7px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 10px!important;
  grid-template-rows:1fr 1fr!important;
  align-items:center!important;
  column-gap:3px!important;
}
.athlete-entry-compact .rpe-selected span{
  grid-column:1;
  grid-row:1;
  font-size:.68rem!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.athlete-entry-compact .rpe-selected small{
  grid-column:1;
  grid-row:2;
  font-size:.57rem!important;
  font-weight:700!important;
  line-height:1!important;
  color:var(--muted)!important;
  opacity:.9;
}
.athlete-entry-compact .rpe-selected b{
  grid-column:2;
  grid-row:1/3;
  align-self:center;
  font-size:.62rem!important;
  color:var(--muted)!important;
}
.athlete-entry-compact .rpe-selected.rpe-empty{background:var(--surface)!important}
.athlete-entry-compact .rpe-selected.rpe-v1{background:color-mix(in srgb,#30D158 16%,var(--surface))!important;color:var(--ink)!important;border-color:color-mix(in srgb,#30D158 38%,var(--line))!important}
.athlete-entry-compact .rpe-selected.rpe-v2{background:color-mix(in srgb,#48D363 16%,var(--surface))!important;color:var(--ink)!important;border-color:color-mix(in srgb,#48D363 38%,var(--line))!important}
.athlete-entry-compact .rpe-selected.rpe-v3{background:color-mix(in srgb,#67D66A 17%,var(--surface))!important;color:var(--ink)!important;border-color:color-mix(in srgb,#67D66A 38%,var(--line))!important}
.athlete-entry-compact .rpe-selected.rpe-v4{background:color-mix(in srgb,#93D76A 18%,var(--surface))!important;color:var(--ink)!important;border-color:color-mix(in srgb,#93D76A 40%,var(--line))!important}
.athlete-entry-compact .rpe-selected.rpe-v5{background:color-mix(in srgb,#C7D75D 18%,var(--surface))!important;color:var(--ink)!important;border-color:color-mix(in srgb,#C7D75D 40%,var(--line))!important}
.athlete-entry-compact .rpe-selected.rpe-v6{background:color-mix(in srgb,#FFD60A 16%,var(--surface))!important;color:var(--ink)!important;border-color:color-mix(in srgb,#FFD60A 38%,var(--line))!important}
.athlete-entry-compact .rpe-selected.rpe-v7{background:color-mix(in srgb,#FFB340 16%,var(--surface))!important;color:var(--ink)!important;border-color:color-mix(in srgb,#FFB340 38%,var(--line))!important}
.athlete-entry-compact .rpe-selected.rpe-v8{background:color-mix(in srgb,#FF9F0A 15%,var(--surface))!important;color:var(--ink)!important;border-color:color-mix(in srgb,#FF9F0A 36%,var(--line))!important}
.athlete-entry-compact .rpe-selected.rpe-v9{background:color-mix(in srgb,#FF6847 14%,var(--surface))!important;color:var(--ink)!important;border-color:color-mix(in srgb,#FF6847 36%,var(--line))!important}
.athlete-entry-compact .rpe-selected.rpe-v10{background:color-mix(in srgb,#FF3B30 14%,var(--surface))!important;color:var(--ink)!important;border-color:color-mix(in srgb,#FF3B30 36%,var(--line))!important}

/* 1RM: ein kompaktes Feld statt einer dominanten Pill. */
.athlete-entry-compact .rm-picker-trigger{
  min-width:0!important;
  max-width:none!important;
  padding:4px 6px!important;
  display:grid!important;
  grid-template-columns:auto minmax(18px,1fr) auto 9px!important;
  gap:3px!important;
  align-items:center!important;
  justify-content:stretch!important;
}
.athlete-entry-compact .rm-picker-label{
  font-size:.61rem!important;
  font-weight:850!important;
  letter-spacing:.015em!important;
  color:var(--ink)!important;
}
.athlete-entry-compact .rm-picker-trigger strong{
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1!important;
  min-width:0!important;
  text-align:right!important;
}
.athlete-entry-compact .rm-picker-trigger em{
  font-size:.58rem!important;
  line-height:1!important;
  color:var(--muted)!important;
}
.athlete-entry-compact .rm-picker-trigger .rm-chevron{
  width:9px!important;
  height:9px!important;
  color:var(--muted)!important;
}

/* Notiz: optisch gleichwertig, im Ruhezustand nur eine kompakte Zeile. */
.athlete-entry-compact .compact-note-field{
  display:flex!important;
  align-items:center!important;
  padding:0 7px!important;
  gap:0!important;
  min-width:0!important;
}
.athlete-entry-compact .compact-note-field>span{display:none!important}
.athlete-entry-compact .compact-note-field textarea{
  width:100%!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:7px 0 4px!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  resize:none!important;
  overflow:hidden!important;
  font-size:.72rem!important;
  line-height:1.15!important;
  color:var(--ink)!important;
}
.athlete-entry-compact .compact-note-field textarea::placeholder{color:var(--muted)!important;opacity:.9}
.athlete-entry-compact .compact-note-field:focus-within{
  border-color:color-mix(in srgb,var(--accent) 58%,var(--line))!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)!important;
}

/* Dropdown bleibt gut bedienbar, obwohl der Trigger selbst kompakter ist. */
.athlete-entry-compact .rpe-menu{min-width:180px!important}

@media(max-width:700px){
  .athlete-entry-compact{margin-top:6px!important;border-radius:11px!important}
  .athlete-entry-compact>summary{min-height:25px!important;padding:3px 7px 2px!important}
  .athlete-entry-compact>summary span{font-size:.66rem!important}
  .athlete-entry-body{padding:0 5px 5px!important}
  .compact-entry-row,
  .compact-entry-row.has-result-value{
    grid-template-columns:76px 96px minmax(0,1fr)!important;
    gap:4px!important;
  }
  .athlete-entry-compact .rpe-control,
  .athlete-entry-compact .rpe-dropdown,
  .athlete-entry-compact .inline-rm-field,
  .athlete-entry-compact .rpe-selected,
  .athlete-entry-compact .rm-picker-trigger,
  .athlete-entry-compact .compact-note-field{
    height:34px!important;
    min-height:34px!important;
  }
  .athlete-entry-compact .compact-note-field textarea{height:30px!important;min-height:30px!important;max-height:30px!important;padding-top:7px!important}
}

@media(max-width:390px){
  .compact-entry-row,
  .compact-entry-row.has-result-value{
    grid-template-columns:72px 88px minmax(0,1fr)!important;
  }
  .athlete-entry-compact .rm-picker-trigger{padding-left:5px!important;padding-right:5px!important}
  .athlete-entry-compact .rm-picker-label{font-size:.58rem!important}
  .athlete-entry-compact .rm-picker-trigger strong{font-size:.68rem!important}
}


/* V36 Final — responsiver Coach-Strength-Editor */
/* Die Feldbezeichnung gehört semantisch und visuell direkt zum jeweiligen Eingabefeld. */
.builder-exercise-list{display:grid;gap:10px}
.builder-exercise-v36{
  display:grid!important;
  grid-template-columns:minmax(180px,1.8fr) minmax(58px,.48fr) minmax(58px,.48fr) minmax(120px,1fr) minmax(92px,.72fr) minmax(92px,.72fr) 36px!important;
  gap:8px!important;
  align-items:end!important;
  margin:0!important;
}
.builder-exercise-field{
  display:grid;
  grid-template-rows:auto 38px;
  gap:5px;
  min-width:0;
  margin:0;
}
.builder-exercise-field>span{
  display:block;
  padding-left:2px;
  color:var(--muted);
  font-size:.62rem;
  font-weight:850;
  line-height:1;
  letter-spacing:.075em;
  text-transform:uppercase;
  white-space:nowrap;
}
.builder-exercise-v36 .builder-exercise-field input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:38px!important;
  min-height:38px!important;
  padding:7px 9px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:var(--surface)!important;
  color:var(--ink)!important;
  box-sizing:border-box!important;
}
.builder-exercise-v36 .builder-exercise-field input::placeholder{color:var(--muted);opacity:.82}
.builder-exercise-delete{
  width:36px!important;
  height:38px!important;
  min-height:38px!important;
  align-self:end!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:9px!important;
}
/* Alte globale Kopfzeile wird in V36 nicht mehr benötigt. */
.builder-labels{display:none!important}

/* Mittlere Breiten: keine Felder verstecken, sondern sauber auf zwei Zeilen umbrechen. */
@media(max-width:1180px){
  .builder-exercise-v36{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .builder-exercise-v36 .field-exercise{grid-column:span 5}
  .builder-exercise-v36 .field-sets{grid-column:span 2}
  .builder-exercise-v36 .field-reps{grid-column:span 2}
  .builder-exercise-v36 .builder-exercise-delete{grid-column:12;grid-row:1}
  .builder-exercise-v36 .field-load{grid-column:span 4}
  .builder-exercise-v36 .field-rest{grid-column:span 4}
  .builder-exercise-v36 .field-tempo{grid-column:span 4}
}

/* Tablet/kleines Notebook: übersichtliche Zweispaltenstruktur. */
@media(max-width:860px){
  .builder-exercise-v36{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .builder-exercise-v36 .field-exercise{grid-column:1/-1}
  .builder-exercise-v36 .field-sets,
  .builder-exercise-v36 .field-reps,
  .builder-exercise-v36 .field-load,
  .builder-exercise-v36 .field-rest,
  .builder-exercise-v36 .field-tempo{grid-column:auto}
  .builder-exercise-v36 .field-load{grid-column:1/-1}
  .builder-exercise-v36 .builder-exercise-delete{grid-column:2;grid-row:auto;justify-self:end;width:42px!important}
}

/* Smartphone: alle Eingaben bleiben sichtbar und editierbar. */
@media(max-width:560px){
  .builder-exercise-wrap{padding:8px!important}
  .builder-exercise-v36{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .builder-exercise-v36 .field-exercise,
  .builder-exercise-v36 .field-load{grid-column:1/-1}
  .builder-exercise-v36 .field-sets,
  .builder-exercise-v36 .field-reps,
  .builder-exercise-v36 .field-rest,
  .builder-exercise-v36 .field-tempo{grid-column:auto}
  .builder-exercise-field>span{font-size:.58rem}
  .builder-exercise-v36 .builder-exercise-field input{height:40px!important;min-height:40px!important}
  .builder-exercise-delete{height:40px!important;min-height:40px!important;width:44px!important}
}

/* V37 – persistent theme toggle, feedback workflow, Freestyle naming */
.theme-quick-toggle{
  width:40px;height:40px;min-width:40px;border-radius:50%;padding:0;
  border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink);
  display:grid;place-items:center;box-shadow:0 3px 12px color-mix(in srgb,var(--shadow-color) 70%,transparent);
}
.theme-quick-toggle .ui-icon{width:18px;height:18px}
.theme-quick-toggle:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--surface-elevated) 88%,var(--accent-soft))}
.theme-quick-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 32%,transparent);outline-offset:2px}

.session-feedback-disclosure{
  margin:14px 14px 12px;border:1px solid var(--line);border-radius:15px;background:var(--surface);overflow:hidden;
}
.session-feedback-disclosure>summary{
  list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:10px;align-items:center;
  min-height:54px;padding:10px 14px;cursor:pointer;color:var(--ink);user-select:none;
}
.session-feedback-disclosure>summary::-webkit-details-marker{display:none}
.session-feedback-disclosure>summary>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.session-feedback-disclosure>summary strong{font-size:.9rem}
.session-feedback-disclosure>summary small{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.session-feedback-state{font-size:.66rem;font-weight:850;padding:4px 7px;border-radius:999px;border:1px solid var(--line);white-space:nowrap;background:var(--surface-2);color:var(--muted)}
.session-feedback-state.accent{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));color:var(--ink)}
.session-feedback-state.good{background:color-mix(in srgb,var(--good) 13%,var(--surface));border-color:color-mix(in srgb,var(--good) 38%,var(--line));color:var(--good)}
.session-feedback-state.warning{background:color-mix(in srgb,var(--warning) 12%,var(--surface));border-color:color-mix(in srgb,var(--warning) 36%,var(--line));color:var(--warning)}
.session-feedback-chevron{font-size:1rem;transition:transform .18s ease;color:var(--muted)}
.session-feedback-disclosure[open] .session-feedback-chevron{transform:rotate(180deg)}
.session-feedback-body{padding:0 14px 14px;border-top:1px solid var(--line)}
.session-feedback-body>.session-result{margin-top:12px}
.session-draft-hint{display:block;color:var(--muted);font-size:.7rem;margin:5px 0 8px}
.coach-session-response{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface-2) 36%,var(--surface))}
.coach-session-response textarea{width:100%;min-height:82px;margin-top:9px}
.coach-response-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}
.coach-response-actions .muted{font-size:.7rem;line-height:1.35;max-width:60%}
.coach-session-reply{margin:10px 0;padding:11px 12px;border-radius:13px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 30%,var(--surface))}
.coach-session-reply.is-new{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent-soft) 58%,var(--surface))}
.coach-session-reply p{margin:8px 0 0;line-height:1.45}
.session-athlete-summary>small{display:block;margin-top:6px;color:var(--muted);font-size:.68rem}
.coach-reply-alert{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:10px;text-align:left;padding:10px 12px;margin:0 0 12px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 56%,var(--surface));color:var(--ink)}
.coach-reply-alert .ui-icon{width:18px;height:18px;color:var(--accent)}
.coach-reply-alert span:nth-child(2){display:flex;flex-direction:column;gap:2px}
.coach-reply-alert small{font-size:.7rem;color:var(--muted)}

.freestyle-title-field{max-width:560px}
.freestyle-capability-note{display:flex;gap:8px;align-items:baseline;padding:8px 10px;margin:0 0 10px;border-radius:10px;background:color-mix(in srgb,var(--accent-soft) 32%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));font-size:.75rem}
.freestyle-capability-note strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.055em;color:var(--muted)}
.freestyle-capability-note span{color:var(--ink)}
.segment-freestyle>.block-title-row .block-title{font-weight:850}

@media(max-width:720px){
  .theme-quick-toggle{width:36px;height:36px;min-width:36px}.theme-quick-toggle .ui-icon{width:16px;height:16px}
  .session-feedback-disclosure{margin:10px 8px 9px;border-radius:13px}
  .session-feedback-disclosure>summary{min-height:50px;padding:9px 10px;grid-template-columns:minmax(0,1fr) auto 16px}
  .session-feedback-body{padding:0 10px 10px}
  .coach-response-actions{align-items:stretch;flex-direction:column}.coach-response-actions .muted{max-width:none}.coach-response-actions button{width:100%}
}
@media(max-width:420px){
  .session-feedback-state{font-size:.6rem;padding:3px 6px}
  .session-feedback-disclosure>summary small{max-width:180px}
  .freestyle-capability-note{align-items:flex-start;flex-direction:column;gap:3px}
}

/* V38 – exercise-level compliance + fractional 1RM picker */
.exercise-status-inline{margin-top:6px;padding-top:6px;border-top:1px solid var(--line,#ecebe5)}
.exercise-status-inline .completion-control.inline-compact,
.exercise-status-inline .completion-readonly.inline-compact{margin:0;padding:0;border:0;background:transparent;min-height:28px}
.exercise-status-inline .completion-control.inline-compact>span,
.exercise-status-inline .completion-readonly.inline-compact>span{font-size:.57rem;letter-spacing:.075em}
.exercise-status-inline .completion-control.inline-compact .status-btn{padding:3px 7px;min-height:26px;font-size:.62rem}
.rm-wheel-column.narrow{min-width:82px}
.rm-wheel-column.narrow .rm-wheel-option{font-size:1rem;letter-spacing:.03em}
@media(max-width:560px){
  .exercise-status-inline .completion-control.inline-compact{display:flex;flex-direction:row;align-items:center;gap:6px}
  .exercise-status-inline .completion-control.inline-compact>div{width:auto;margin-left:auto}
  .exercise-status-inline .completion-control.inline-compact .status-btn{flex:0 0 auto}
  .rm-wheel-column.narrow{min-width:74px}
}
html[data-mode="dark"] .exercise-status-inline{border-color:var(--line)!important}

/* V39: einheitliche Coach-Hinweise – alle Block-Hinweise verwenden dieselbe visuelle Sprache wie Coach Cues. */
.shared-coach-hint{white-space:pre-line}
.coach-plan-note{display:flex;align-items:flex-start;gap:10px;margin-top:9px;padding:10px 12px;border-radius:13px;background:color-mix(in srgb,var(--surface-2) 62%,var(--surface));border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-left:1px solid color-mix(in srgb,var(--line) 78%,transparent);font-size:inherit;line-height:inherit}
.coach-plan-note span{display:block;font-size:.58rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0}

/* V40 – session-aware compliance and scroll context */
.compliance-session-card{overflow:hidden}
.compliance-session-list{display:grid;gap:8px;margin-top:12px}
.compliance-session-row{display:grid;grid-template-columns:minmax(180px,1.05fr) minmax(240px,1.7fr) auto;gap:16px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.compliance-session-copy{display:grid;gap:3px;min-width:0}.compliance-session-copy strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compliance-session-copy strong span{font-weight:650;color:var(--muted)}.compliance-session-copy small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compliance-session-progress{display:grid;gap:5px;min-width:0}.compliance-session-progress>div{height:7px;border-radius:999px;background:var(--surface-2);overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.compliance-session-progress>div>span{display:block;height:100%;border-radius:inherit;background:var(--good);transition:width .2s ease}.compliance-session-progress small{color:var(--muted);font-size:.72rem}.compliance-session-row>b{font-size:1rem;min-width:44px;text-align:right}
.session-jump-nav button.active{scroll-margin-inline:18px}
@media(max-width:760px){.compliance-session-row{grid-template-columns:1fr auto;gap:8px 12px}.compliance-session-progress{grid-column:1/-1;grid-row:2}.compliance-session-row>b{grid-column:2;grid-row:1}.compliance-session-copy strong{white-space:normal}.compliance-session-copy small{white-space:normal}}

/* V42 · robust RPE visualization, centralized Athlete plan view, unread video feedback */
.rpe-dist-track{
  position:relative;
  isolation:isolate;
  background:var(--surface-2)!important;
  border:1px solid var(--line);
  overflow:hidden;
}
.rpe-dist-track .rpe-dist-fill{
  position:absolute;
  z-index:1;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  height:var(--rpe-bar-height, 0%)!important;
  min-height:0!important;
  background:var(--rpe-bar-color, #8e8e93)!important;
  border-radius:9px 9px 4px 4px;
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 28%,transparent);
  transition:height .22s ease,background-color .22s ease;
}
.rpe-dist-track::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 78%,transparent);
  z-index:2;
}

.rpe-data-basis{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.72rem;
}
.rpe-data-basis span{display:inline-flex;align-items:baseline;gap:4px}
.rpe-data-basis strong{color:var(--ink);font-size:.78rem}
.settings-plan-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,200px);
  align-items:center;
  gap:14px;
  margin-top:16px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
}
.settings-plan-layout label{display:grid;gap:4px}
.settings-plan-layout label span{font-weight:850;font-size:.82rem;color:var(--ink)}
.settings-plan-layout label small{font-size:.7rem;line-height:1.35;color:var(--muted)}
.settings-plan-layout select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);padding:0 12px;font-weight:750}
.feedback-unread-dot{
  display:inline-block;
  width:8px;
  height:8px;
  margin-left:6px;
  border-radius:999px;
  background:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent);
  vertical-align:middle;
}
.media-new-feedback-label{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 7px;
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 15%,var(--surface));
  border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));
  color:var(--ink);
  font-size:.65rem;
  font-weight:850;
}
.media-card.has-unread-coach-feedback{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)}
@media(max-width:560px){
  .rpe-data-basis{gap:6px 10px;font-size:.68rem}
  .settings-plan-layout{grid-template-columns:1fr;gap:10px}
}


/* V43 · RPE chart: SVG bars avoid percentage-height/layout inconsistencies across browsers. */
.rpe-dist-track{position:relative;display:block!important;background:var(--surface-2)!important;border:1px solid var(--line);overflow:hidden}
.rpe-bar-svg{display:block;width:100%;height:100%;overflow:hidden}
.rpe-bar-rect{shape-rendering:geometricPrecision}
.rpe-dist-col[data-has-value="1"] strong{font-weight:900}

/* =========================================================
   V44 Beta Candidate · Polish layer
   Calmer hierarchy, Susan Studio palette, coach attention flow
   ========================================================= */
:root{
  --radius:20px;
  --radius-sm:14px;
  --shadow:0 14px 42px var(--shadow-color);
}
.card{
  border-color:var(--line)!important;
  box-shadow:0 8px 28px color-mix(in srgb,var(--shadow-color) 56%,transparent)!important;
}
.page-head{margin-bottom:24px}
.page-head h2{letter-spacing:-.045em}
.section-title{margin-top:28px}
.section-title h3{font-weight:780}
.block-title{font-weight:900;letter-spacing:.13em}

/* Coaching information uses the secondary blue information color, not the brand gold. */
.shared-coach-hint,.exercise-coach-hint{
  background:color-mix(in srgb,var(--info) 7%,var(--surface))!important;
  border:1px solid color-mix(in srgb,var(--info) 24%,var(--line))!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
.shared-coach-hint .ui-icon,.exercise-coach-hint .ui-icon{color:var(--info)!important}
.shared-coach-hint span,.exercise-coach-hint span{color:color-mix(in srgb,var(--info) 76%,var(--ink))!important}

/* Reduce card-in-card visual weight inside a training day. */
.role-athlete .training-day{box-shadow:0 8px 30px color-mix(in srgb,var(--shadow-color) 50%,transparent)!important}
.role-athlete .block.segment-card{
  box-shadow:none!important;
  background:color-mix(in srgb,var(--surface) 96%,var(--surface-2))!important;
}
.role-athlete .exercise-item{background:transparent!important}
.role-athlete .athlete-entry-compact{box-shadow:none!important}

/* Athlete golden path. */
.next-session-card{
  border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line))!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface))!important;
  box-shadow:0 16px 42px color-mix(in srgb,var(--shadow-color) 66%,transparent)!important;
}
.next-session-card .next-cta{min-height:50px}
.home-session-progress{height:5px;margin-top:14px;background:var(--surface-2);border-radius:999px;overflow:hidden}
.home-session-progress>span{display:block;height:100%;border-radius:inherit;background:var(--good);transition:width .2s ease}
.week-day-card{transition:border-color .16s ease,background .16s ease,transform .16s ease}
.week-day-card:hover{transform:translateY(-1px)}
.exercise-item[id],.segment-card[id]{scroll-margin-top:154px}

/* Coach attention: action first, quiet athletes secondary. */
.coach-attention-card{padding:22px!important}
.coach-attention-list{display:grid;gap:9px}
.coach-attention-row{
  display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);
}
.coach-attention-row.tone-urgent{border-color:color-mix(in srgb,var(--danger) 34%,var(--line));background:color-mix(in srgb,var(--danger) 4%,var(--surface))}
.coach-attention-row.tone-new{border-color:color-mix(in srgb,var(--info) 34%,var(--line));background:color-mix(in srgb,var(--info) 4%,var(--surface))}
.coach-attention-row.tone-quiet{opacity:.82}
.attention-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:.64rem;font-weight:850;letter-spacing:.02em}
.attention-badge.urgent{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger)}
.attention-badge.new{background:color-mix(in srgb,var(--info) 14%,var(--surface));color:var(--info)}
.attention-badge.quiet{background:var(--surface-2);color:var(--muted)}
.attention-reasons{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0 4px}
.attention-reasons span{display:inline-flex;padding:4px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.68rem;font-weight:750}
.attention-progress{height:3px;margin-top:8px;background:var(--surface-2);border-radius:999px;overflow:hidden;max-width:280px}
.attention-progress span{display:block;height:100%;background:var(--good);border-radius:inherit}
.attention-empty{display:flex;align-items:center;gap:12px;padding:18px;border:1px dashed color-mix(in srgb,var(--good) 36%,var(--line));border-radius:16px;color:var(--good)}
.attention-empty .ui-icon{width:22px;height:22px;flex:0 0 auto}.attention-empty span{display:grid;gap:2px}.attention-empty small{color:var(--muted)}
.quiet-athletes{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.quiet-athletes>summary{cursor:pointer;color:var(--muted);font-size:.76rem;font-weight:800;padding:8px 2px;list-style:none}
.quiet-athletes>summary::-webkit-details-marker{display:none}.quiet-athletes>summary::after{content:'⌄';float:right}.quiet-athletes[open]>summary::after{content:'⌃'}
.quiet-athletes .coach-attention-list{margin-top:6px}

/* Make secondary actions quieter so the primary task is obvious. */
.golden-secondary-actions .ghost{background:transparent!important;border:1px solid var(--line)!important}
.text-button{color:var(--info)!important}
.live-indicator{border-color:color-mix(in srgb,var(--info) 24%,var(--line))!important}

/* Rendering optimizations for long, non-sticky lists. */
.archive-week,.media-card{content-visibility:auto;contain-intrinsic-size:360px}
.builder-block{contain:layout style}

@media(max-width:800px){
  .content{padding-inline:14px}
  .page-head h2{font-size:2.25rem}
  .coach-attention-card{padding:16px!important}
  .coach-attention-row{grid-template-columns:38px minmax(0,1fr);padding:12px}
  .coach-attention-row .activity-actions{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap;padding-left:50px}
  .coach-attention-row .activity-actions .mini{min-height:38px}
  .golden-secondary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .golden-secondary-actions button{justify-content:center;padding-inline:8px}
  .exercise-item[id],.segment-card[id]{scroll-margin-top:132px}
}
@media(max-width:440px){
  .golden-secondary-actions{grid-template-columns:1fr 1fr 1fr}
  .golden-secondary-actions button span{font-size:.72rem}
  .attention-reasons span:nth-child(n+3){display:none}
}

/* V47: relative text sizing, content reflow and accessible settings. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { line-height: 1.5; }
button, input, select, textarea { max-width: 100%; }
button { white-space: normal; overflow-wrap: anywhere; }
input, select, textarea { font-size: max(1rem, 16px); }
.topbar { height: auto !important; min-height: 4rem !important; gap: .5rem; padding-top: .5rem !important; padding-bottom: .5rem !important; }
.topbar h1 { white-space: normal !important; max-width: none !important; overflow-wrap: anywhere; }
.settings-modal { overflow: auto !important; max-height: 90dvh; }
.settings-panel { max-height: none; overflow: visible; }
.settings-modal h4 { font-size: 1rem; }
.settings-modal p, .settings-modal label, .settings-tabs button span, .settings-list span, .settings-list strong { font-size: .875rem; line-height: 1.5; }
.settings-modal select { font-size: 1rem; min-height: 2.75rem; }
.settings-profile-card { flex-wrap: wrap; }
.settings-profile-card p { overflow-wrap: anywhere; }
.settings-list > div { flex-wrap: wrap; }
.settings-action { padding: .75rem; }
.settings-tabs button, .icon-btn, .profile-trigger { min-height: 44px; min-width: 44px; }
.text-size-settings { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.text-size-settings h4 { margin: 0 0 .4rem; }
.text-size-settings > p { color: var(--muted); }
.text-size-settings label { display: block; font-weight: 650; margin-bottom: .5rem; }
.text-size-settings select { width: 100%; padding: .7rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--surface); color: var(--ink); }
.text-size-preview { padding: 1rem; margin: 1rem 0; background: var(--surface-2); border-radius: .75rem; }
.text-size-preview p { font-size: 1rem; margin: .5rem 0 0; }
#textSizeStatus { min-height: 1.5em; }
.project-backlog-dialog { width: min(56rem,calc(100% - 2rem)); max-height: 90dvh; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); color: var(--ink); }
.project-backlog-dialog::backdrop { background: #0009; }
.project-backlog-dialog .modal-head { gap: 1rem; align-items: flex-start; }
.project-backlog-dialog h2 { font-size: 1.25rem; }
.project-backlog-dialog h3 { margin-top: 2rem; font-size: 1.125rem; }
.project-backlog-dialog h4 { font-size: 1rem; }
.project-backlog-dialog li { margin-bottom: .5rem; }
.project-backlog-dialog .icon-btn { flex-shrink: 0; }
html[data-large-text="true"] .settings-layout { grid-template-columns: minmax(0,1fr); }
html[data-large-text="true"] .settings-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
html[data-large-text="true"] .settings-appearance .appearance-controls { grid-template-columns: minmax(0,1fr); }
html[data-large-text="true"] :is(.grid-4,.grid-3,.grid-2,.builder) { grid-template-columns: minmax(0,1fr); }
html[data-large-text="true"] .session-feedback-disclosure > summary { flex-wrap: wrap; }
html[data-large-text="true"] :is(.session-feedback-disclosure > summary small,.compliance-session-copy strong,.compliance-session-copy small) { white-space: normal; overflow: visible; }
html[data-large-text="true"] .sidebar { overflow-y: auto; }
html[data-large-text="true"] .shell { grid-template-columns: minmax(13rem,17rem) minmax(0,1fr); }
html[data-large-text="true"] .nav button { flex-wrap: wrap; }
html[data-large-text="true"] .content { overflow-wrap: anywhere; }
html[data-large-text="true"] .table-wrap { overflow-x: auto; }
html[data-large-text="true"] .bottom-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
html[data-large-text="true"] .bottom-nav button { font-size: .875rem; padding: .35rem; }
html[data-large-text="true"] .bottom-nav .ui-icon { width: 1rem; height: 1rem; }
@media(max-width: 70rem) {
  html[data-large-text="true"] .shell { display: block; }
  html[data-large-text="true"] .sidebar { position: static; height: auto; padding: .75rem; }
  html[data-large-text="true"] .sidebar-logo,html[data-large-text="true"] .side-user { display: none; }
  html[data-large-text="true"] .nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html[data-large-text="true"] .nav button { font-size: .875rem; }
  html[data-large-text="true"] .topbar { position: static; }
}
@media(max-width: 800px) {
  html[data-large-text="true"] .sidebar { display: none; }
  html[data-large-text="true"] .content { padding-bottom: calc(10rem + env(safe-area-inset-bottom)); }
  .settings-modal { padding: .75rem !important; }
  .settings-backdrop { padding: .4rem; }
  .settings-layout { grid-template-columns: minmax(0,1fr); }
  .settings-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

.profile-popover { max-height: calc(100dvh - 1.5rem); overflow-y: auto; }
html[data-large-text="true"] :is(.login-hero h1,.hero-copy h3) { line-height: 1.15; letter-spacing: -.025em; }
html[data-large-text="true"] :is(.page-head,.chart-toolbar,.coach-response-actions,.session-actions) { flex-wrap: wrap; }
html[data-large-text="true"] :is(.exercise-row,.builder-exercise,.result-box) { grid-template-columns: minmax(0,1fr); }
html[data-large-text="true"] .profile-trigger { width: 2.5rem; height: 2.5rem; }

/* V48: consistent theme surfaces and focused session navigation. */
.rpe-feed-row,.feedback-feed article,.coach-check-list>div{background:var(--surface-2);color:var(--ink);border-color:var(--line)}
.rpe-dist-track{background:var(--surface-2)}
.rpe-feed-row{grid-template-columns:3rem minmax(0,1fr);padding:.75rem;gap:.75rem}
.rpe-feed-score{width:3rem;height:3rem;font-variant-numeric:tabular-nums}
.rpe-feed-row>div{min-width:0;overflow-wrap:anywhere;line-height:1.45}
.rpe-feed-row strong{font-size:1rem;color:var(--ink)}
.rpe-feed-row small,.feedback-feed small,.rpe-legend-inline,.rpe-data-basis{font-size:.875rem;line-height:1.45}
.rpe-v9,.rpe-v10{color:#27100a!important}
.plan-identity{display:grid;gap:.25rem;min-width:0;line-height:1.45}
.plan-identity-label{display:block;font-size:.875rem;font-weight:600;color:var(--muted);letter-spacing:0;text-transform:none}
.plan-identity strong{font-size:1rem;font-weight:750;color:var(--ink);overflow-wrap:anywhere}
.golden-session{padding:clamp(1rem,2.5vw,1.5rem);gap:1rem}
.golden-session .plan-identity{padding-bottom:.875rem;border-bottom:1px solid var(--line)}
.golden-session-copy h3{font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.25;letter-spacing:-.02em;margin:0 0 .5rem}
.golden-session-copy>.eyebrow{display:none}
.golden-session .next-session-top{flex-wrap:wrap;gap:.5rem}
.golden-session .today-chip,.golden-session .subtle-pill,.session-meta-line span,.autosave-hint{font-size:.875rem;line-height:1.4}
.home-section-title{margin-top:1.5rem;align-items:center;flex-wrap:wrap;gap:.5rem}
.home-section-title h3{font-size:1.125rem}
.home-section-title button{min-height:44px;font-size:.875rem}
.session-overview-list{display:grid;gap:.5rem}
.session-overview-row{width:100%;display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto 1rem;gap:.75rem;align-items:center;padding:.875rem;text-align:left;border:1px solid var(--line);border-radius:.875rem;background:var(--surface);color:var(--ink);min-height:44px}
.session-overview-row:hover{background:var(--surface-2);border-color:var(--muted)}
.session-number{display:grid;place-items:center;width:2.5rem;min-height:2.5rem;border-radius:.75rem;background:var(--surface-2);font-size:1rem;font-weight:750}
.session-overview-copy{display:grid;gap:.2rem;min-width:0;overflow-wrap:anywhere;line-height:1.4}
.session-overview-copy strong{font-size:1rem}
.session-overview-copy>span,.session-overview-status{font-size:.875rem;color:var(--muted);line-height:1.4}
.session-overview-status{max-width:12rem;text-align:right}
.plan-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}
.plan-toolbar h2{font-size:1.5rem;line-height:1.25;margin:0}
.plan-toolbar button,.session-step-buttons button{font-size:.875rem;min-height:44px;height:auto;padding:.65rem .875rem}
.session-selector{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem .75rem;align-items:center;padding:1rem;margin:1rem 0;border:1px solid var(--line);border-radius:1rem;background:var(--surface-2)}
.session-selector label{grid-column:1/-1;color:var(--ink);font-size:.875rem;font-weight:650}
.session-selector select{min-width:0;width:100%;min-height:44px;font-size:1rem;padding:.65rem;border:1px solid var(--line);border-radius:.65rem;text-overflow:ellipsis}
.session-step-buttons{display:flex;gap:.5rem}
.session-step-buttons button{min-width:44px;font-size:1.25rem}
.session-step-buttons button:disabled{opacity:.4;cursor:default}
.single-session-view .training-day{scroll-margin-top:6rem}
.single-session-view .day-head h3{font-size:1.25rem;line-height:1.35;overflow-wrap:anywhere}
.session-finish{padding:1rem;border-top:1px solid var(--line);background:var(--surface)}
.session-finish .completion-control{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem}
.session-finish .completion-control>div{display:flex;flex-wrap:wrap;gap:.5rem}
.session-finish .status-btn{font-size:.875rem;min-height:44px;white-space:normal}
.plan-overview-list{display:grid;gap:.75rem}
.plan-overview-card{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1rem}
.plan-overview-card>summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;cursor:pointer;min-height:44px;list-style:none}
.plan-overview-card>summary::-webkit-details-marker{display:none}
.plan-overview-card>summary>span:first-child{display:grid;gap:.25rem;min-width:0;overflow-wrap:anywhere}
.plan-overview-card>summary strong{font-size:1rem;line-height:1.45}
.plan-overview-card>summary small{font-size:.875rem;color:var(--muted)}
.plan-overview-card[open]>.session-overview-list{margin-top:1rem}
.plan-context-note{font-size:.875rem;line-height:1.5;color:var(--muted)}
.plan-readonly-blocks{padding:1rem}
.training-empty h3{font-size:1.5rem;margin:1rem 0 .5rem}
.training-empty p{font-size:1rem;line-height:1.5;margin:0}
.plan-content :is(button,select,summary):focus-visible,.session-overview-row:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
html[data-large-text="true"] .analytics-grid{grid-template-columns:minmax(0,1fr)}
html[data-large-text="true"] .rpe-distribution{gap:.2rem}
html[data-large-text="true"] .session-overview-row{grid-template-columns:2.5rem minmax(0,1fr) 1rem}
html[data-large-text="true"] .session-overview-status{grid-column:2;grid-row:2;text-align:left;max-width:none}
html[data-large-text="true"] .session-overview-row>span:last-child{grid-column:3;grid-row:1}
html[data-large-text="true"] .session-selector{grid-template-columns:minmax(0,1fr)}
html[data-large-text="true"] .session-step-buttons{justify-content:flex-end}
@media(max-width:800px){
 .analytics-grid{grid-template-columns:minmax(0,1fr)}
 .session-overview-row{grid-template-columns:2rem minmax(0,1fr) 1rem;gap:.5rem .75rem}
 .session-number{width:2rem;min-height:2rem}
 .session-overview-status{grid-column:2;grid-row:2;text-align:left;max-width:none}
 .session-overview-row>span:last-child{grid-column:3;grid-row:1}
 .single-session-view .training-day{scroll-margin-top:4.5rem}
 .plan-toolbar>.plan-identity{flex:1 1 100%}
}

/* V49: direct RM editing, compact coach controls and honest upload progress. */
.weight-picker-dialog,.progress-value-dialog{margin:auto;border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:1.25rem;padding:1.25rem;width:min(28rem,calc(100vw - 1.5rem));max-height:90dvh;overflow:auto}
.weight-picker-dialog::backdrop,.progress-value-dialog::backdrop{background:#0008;backdrop-filter:blur(4px)}
.weight-picker-dialog .rm-wheel{grid-template-columns:minmax(0,1fr) 1rem minmax(0,1fr) 2rem;gap:.5rem}
.weight-picker-dialog .rm-wheel-column{height:15rem;padding:6rem 0;overscroll-behavior:contain;scroll-behavior:auto}
.weight-picker-dialog .rm-wheel-option{height:3rem;min-height:3rem;font-size:1.125rem;padding:0;flex:none}
.weight-picker-dialog .rm-wheel-highlight{height:3rem}
.weight-picker-dialog .rm-wheel-option.selected{font-size:1.25rem}
.weight-picker-dialog h3{font-size:1.25rem;line-height:1.35}
.weight-picker-dialog .rm-picker-value strong{font-size:2rem;line-height:1.3}
.weight-picker-dialog .rm-picker-intro{font-size:.875rem;line-height:1.5}
.weight-picker-dialog :is(button):focus-visible{outline:2px solid var(--ink);outline-offset:-3px}
.weight-picker-dialog .wizard-actions{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.pr-row .pr-weight-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--line);border-radius:.65rem;background:var(--surface);overflow:hidden}
.pr-weight-field input{width:100%;min-width:0;font-size:1rem;min-height:44px;border:0;padding:.5rem}
.pr-weight-field em{font-size:.75rem;padding:.3rem;font-style:normal;color:var(--muted)}
.pr-wheel-trigger{grid-column:1/-1;border:0;border-top:1px solid var(--line);min-height:44px;background:var(--surface-2);color:var(--ink);font-size:.875rem;font-weight:650}
.progress-value-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.progress-value-actions button,.progress-value-dialog button{min-height:44px}
.progress-value-dialog form{display:grid;gap:1rem}
.progress-value-dialog label{display:grid;gap:.4rem}
.progress-value-dialog select{min-height:44px;max-width:100%;font-size:1rem;border:1px solid var(--line);border-radius:.65rem;padding:.6rem}
.page-top-button{width:44px;height:44px;padding:0;border-radius:14px;background:var(--surface);box-shadow:0 4px 16px var(--shadow-color)}
.page-top-button .ui-icon{width:24px;height:24px;stroke-width:2.25}
.floating-plan-save{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;border-radius:50%;box-shadow:0 3px 12px var(--shadow-color)}
.floating-plan-save .ui-icon{width:20px;height:20px}
.coach-attention-row .activity-actions{display:flex;flex-wrap:nowrap;gap:.4rem;padding-left:0;max-width:100%;overflow-x:auto;scrollbar-width:thin}
.coach-attention-row .activity-actions .mini{flex:0 0 auto;min-height:44px;padding:.5rem .6rem;white-space:nowrap;word-break:normal;font-size:.875rem;justify-content:center}
.coach-attention-row .activity-actions .mini span{white-space:nowrap}
.coach-focus-filters{display:flex;gap:.5rem;overflow-x:auto;margin:1rem 0;padding:.2rem;scrollbar-width:thin}
.coach-focus-filters button{flex:0 0 auto;white-space:nowrap;min-height:44px;font-size:.875rem}
.coach-focus-filters button[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--ink)}
.coach-pr-overview>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;cursor:pointer;list-style:none}
.coach-pr-overview>summary::-webkit-details-marker{display:none}
.coach-pr-overview>summary>span:first-child{display:grid;gap:.3rem}
.coach-pr-overview>summary strong{font-size:1rem}
.coach-pr-overview>summary small{font-size:.875rem;color:var(--muted)}
.coach-pr-overview .table-wrap{margin-top:1rem}
.coach-pr-table{min-width:0;width:100%;table-layout:fixed}
.coach-pr-table th:first-child{width:40%}
.coach-pr-table :is(th,td){font-size:.875rem;padding:.75rem .4rem;overflow-wrap:anywhere;text-transform:none;letter-spacing:0}
.coach-pr-table caption{font-size:.875rem;padding:.6rem;color:var(--muted);text-align:left}
.session-rpe-trend>svg{width:100%;height:auto;max-height:16rem;overflow:visible}
.session-rpe-trend svg text{fill:var(--muted);font-size:14px}
.rpe-trend-grid{stroke:var(--line);fill:none}
.rpe-trend-line{stroke:var(--accent);stroke-width:3;fill:none;stroke-linejoin:round;stroke-linecap:round}
.rpe-trend-point{fill:var(--ink);stroke:var(--surface);stroke-width:2}
.session-rpe-trend summary{cursor:pointer;min-height:44px;padding:.6rem 0}
.session-rpe-trend table{min-width:0}
.upload-progress{display:flex;align-items:center;gap:.75rem;min-width:0;color:var(--ink);font-size:.875rem;line-height:1.4;margin-top:.75rem}
.upload-progress>span{min-width:0;overflow-wrap:anywhere}
.upload-ring{position:relative;width:3.5rem;height:3.5rem;flex:0 0 3.5rem;display:grid;place-items:center}
.upload-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.upload-ring circle{fill:none;stroke-width:4}
.upload-ring-track{stroke:var(--surface-2)}
.upload-ring-value{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .15s ease}
.upload-ring>span{font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}
.upload-progress.indeterminate:not(.has-error) svg{animation:upload-turn 1s linear infinite}
.upload-progress.has-error .upload-ring-value{stroke:var(--danger)}
@keyframes upload-turn{to{transform:rotate(270deg)}}
@media(max-width:600px){
 .pr-row:not(.pr-head){grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.75rem}
 .pr-row>strong{grid-column:1/-1;font-size:1rem}
 .pr-row.pr-head{display:none}
 .pr-weight-field::before{grid-column:1/-1;content:attr(data-rm-label);font-size:.875rem;padding:.35rem .5rem;background:var(--surface-2)}
 .coach-floating-actions{bottom:calc(78px + env(safe-area-inset-bottom));right:12px}
 .page-top-button{bottom:calc(132px + env(safe-area-inset-bottom));right:12px}
}
html[data-large-text="true"] .pr-row:not(.pr-head){grid-template-columns:minmax(0,1fr)}
html[data-large-text="true"] .pr-row>strong{grid-column:1/-1}
html[data-large-text="true"] .pr-row.pr-head{display:none}
html[data-large-text="true"] .pr-weight-field::before{grid-column:1/-1;content:attr(data-rm-label);font-size:.875rem;padding:.35rem .5rem}
@media(prefers-reduced-motion:reduce){.upload-progress.indeterminate svg{animation:none}.upload-ring-value{transition:none}}
@media(max-width:480px){
 .weight-picker-dialog{padding:.75rem}
 .weight-picker-dialog .rm-wheel{grid-template-columns:minmax(0,1fr) .5rem minmax(0,1fr);gap:.25rem}
 .weight-picker-dialog .rm-wheel-unit{display:none}
 .weight-picker-dialog .rm-wheel-column.narrow{min-width:0}
}
html[data-large-text="true"] .weight-picker-dialog .rm-wheel{grid-template-columns:minmax(0,1fr) .5rem minmax(0,1fr);gap:.25rem}
html[data-large-text="true"] .weight-picker-dialog .rm-wheel-unit{display:none}
html[data-large-text="true"] .weight-picker-dialog .rm-wheel-column.narrow{min-width:0}

/* V50: theme-safe status surfaces, focused inbox and explicit training finish. */
.live-indicator,.science-card .live-indicator{background:color-mix(in srgb,var(--good) 12%,var(--surface))!important;color:var(--ink)!important;border:1px solid color-mix(in srgb,var(--good) 35%,var(--line))!important;font-size:.875rem;line-height:1.4;flex-shrink:0}
.science-card .section-title{align-items:flex-start;flex-wrap:wrap;gap:.75rem}
.training-complete-button{display:flex;align-items:center;justify-content:center;gap:.65rem;width:100%;min-height:58px;padding:1rem;border:1px solid var(--good);border-radius:1rem;background:color-mix(in srgb,var(--good) 22%,var(--surface));color:var(--ink);font-size:1.0625rem;font-weight:750;line-height:1.4;cursor:pointer}
.training-complete-button .ui-icon{width:24px;height:24px;flex-shrink:0;color:var(--good)}
.training-complete-button:hover{background:color-mix(in srgb,var(--good) 32%,var(--surface))}
.training-complete-button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.session-finish>p{font-size:.875rem;line-height:1.5;text-align:center;margin:.6rem 0}
.training-incomplete-button{display:block;margin:.5rem auto 0;min-height:44px;font-size:.875rem}
.coach-focus-controls{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap;margin:1rem 0}
.coach-scope-select,.coach-focus-select{display:grid;gap:.35rem;color:var(--muted);font-size:.875rem;min-width:0}
.coach-focus-controls select{width:100%;min-width:0;max-width:100%;min-height:44px;padding:.6rem;border:1px solid var(--line);border-radius:.75rem;font-size:1rem}
.coach-scope-select{flex:0 1 14rem}
.coach-focus-select{display:none}
.coach-focus-filters{flex:1 1 24rem;flex-wrap:wrap;overflow:visible;margin:0;padding:0}
.coach-video-athlete{min-width:0;border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}
.coach-video-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.coach-video-heading h4{margin:0;font-size:1rem}
.coach-video-heading button{min-height:44px}
.coach-inbox-video{margin-top:1rem;min-width:0}
.coach-video-context{display:grid;gap:.25rem;margin:0 0 .5rem;font-size:.875rem;overflow-wrap:anywhere}
.coach-video-context span{color:var(--muted)}
.coach-inbox-video .media-card{margin:0;min-width:0}
.coach-inbox-video .media-card-head{flex-wrap:wrap}
.coach-inbox-video video{display:block;width:100%;max-height:26rem;object-fit:contain;background:var(--surface-2)}
.coach-answered-videos>summary{cursor:pointer;min-height:44px;padding:1rem 0;font-weight:650}
@media(max-width:800px){
 .coach-focus-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem}
 .coach-focus-select{display:grid}
 .coach-focus-filters{display:none}
 .coach-attention-card .compact-title{flex-wrap:wrap;gap:.75rem}
 .coach-inbox-video .media-feedback-grid{grid-template-columns:minmax(0,1fr)}
 .coach-inbox-video .media-card-head>div{min-width:0;overflow-wrap:anywhere}
}

/* V51: account forms and a fixed-scale athlete RPE chart. */
.client-account-dialog,.recovery-dialog{margin:auto;width:min(34rem,calc(100vw - 1.5rem));max-height:90dvh;overflow:auto;border:1px solid var(--line);padding:1.25rem;border-radius:1.25rem;color:var(--ink);background:var(--surface)}
.client-account-dialog::backdrop,.recovery-dialog::backdrop{background:#0008;backdrop-filter:blur(4px)}
.account-password-fields{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:.75rem;min-width:0}
.account-password-fields legend{font-weight:700}
.account-password-fields p,.account-password-fields small{font-size:.875rem;line-height:1.5;color:var(--muted)}
.athlete-rpe-bars{display:flex;gap:.75rem;overflow-x:auto;padding:.75rem 0;align-items:start}
.athlete-rpe-bar{flex:1 0 3.75rem;min-width:0;display:grid;grid-template-rows:1.5rem 10rem 3rem;gap:.4rem;text-align:center}
.athlete-rpe-bar svg{height:100%;width:100%;max-width:3rem;justify-self:center;background:repeating-linear-gradient(to top,transparent 0,transparent calc(20% - 1px),var(--line) calc(20% - 1px),var(--line) 20%)}
.athlete-rpe-bar small{font-size:.75rem;line-height:1.35;overflow:hidden;overflow-wrap:anywhere;color:var(--muted)}
.rpe-chart-caption{font-size:.875rem;line-height:1.5}
