:root{--bg:#101114;--panel:#1a1c21;--soft:#24262b;--line:#34363b;--text:#f4f2ef;--muted:#a5a6ac;--red:#d93443;--red-light:#ff6572;--green:#75d69b;--radius:14px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 84% -10%,#34151c,transparent 32rem),var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.notice{padding:8px 16px;background:#31171d;color:#ffc4ca;text-align:center;font-size:12px}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 34px)}.sidebar{border-right:1px solid var(--line);padding:28px 16px;background:#111216}.brand{padding:0 9px 28px;font-size:16px;font-weight:900;letter-spacing:.04em}.brand small{display:block;margin-top:3px;color:var(--muted);font-size:10px;letter-spacing:.12em}.nav{display:grid;gap:5px}.nav button{display:flex;align-items:center;gap:10px;border:0;border-radius:10px;padding:11px;background:transparent;color:var(--muted);font-weight:700;text-align:left}.nav button span{color:var(--red-light)}.nav button.active{background:#37191f;color:#fff}.content{width:min(100%,900px);padding:32px clamp(24px,4vw,60px) 54px}.page{display:none}.page.active{display:block}.layout-switcher{display:flex;align-items:center;gap:14px;margin:0 0 34px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#15161a}.layout-switcher>span,.ey{color:var(--red-light);font-size:11px;font-weight:850;letter-spacing:.11em}.layout-switcher [role=group]{display:flex;gap:5px}.layout-switcher button{border:1px solid var(--line);border-radius:7px;padding:5px 8px;background:#202126;color:var(--muted);font-weight:800}.layout-switcher button.active{border-color:var(--red-light);color:#fff;background:#4a2028}.layout-switcher small{font-size:10px}.layout-switcher p{margin:0 0 0 auto;color:var(--muted);font-size:12px}.page-head{margin-bottom:22px}.page-head h1,.today-title{margin:5px 0 8px;font-size:clamp(32px,6vw,48px);line-height:1.05;letter-spacing:-.055em}.muted,.fineprint{margin:0;color:var(--muted)}.hero{padding:8px 0 27px;border-bottom:1px solid var(--line)}.date{margin:0;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em}.training-number{display:flex;align-items:center;gap:16px;margin:15px 0}.training-number strong{color:var(--red-light);font-size:clamp(78px,22vw,108px);line-height:.9;letter-spacing:-.09em}.training-number div{display:grid;gap:4px}.training-number b{font-size:19px}.training-number span{color:var(--muted);font-size:14px}.primary,.secondary,.text-button{border:0;border-radius:10px;padding:13px 16px;font-weight:800}.primary{background:var(--red);color:#fff}.secondary{background:#292b31;color:#fff}.text-button{padding:8px 0;background:none;color:var(--red-light);text-align:left}.training-cta{width:100%;margin-top:19px}.checkin{padding:22px 0;border-bottom:1px solid var(--line)}.checkin h2,.coach-card h2,.limits h2{margin:0 0 8px;font-size:20px;letter-spacing:-.03em}.checkin p,.coach-card p,.limits p{margin:0;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.checkin .secondary{min-width:118px}.check-result{min-height:22px;margin-top:12px!important;font-size:14px}.goal-line{display:flex;justify-content:space-between;gap:10px;padding-top:18px;color:var(--muted);font-size:13px}.goal-line b{color:var(--text)}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(42px,1fr));gap:6px;margin:12px 0 20px}.week-strip button{min-height:63px;border:1px solid var(--line);border-radius:10px;background:#1a1c21;color:var(--muted)}.week-strip b,.week-strip small{display:block}.week-strip b{font-size:18px;color:var(--text)}.week-strip button.today{border-color:var(--red-light);background:#3b1a20}.week-strip button.active{outline:2px solid var(--red-light);outline-offset:1px}.selected-card,.coach-card,.limits{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#202126,#16171b)}.selected-card h2{margin:6px 0;font-size:28px;letter-spacing:-.04em}.selected-card p{margin:0;color:var(--muted)}.session-meta{margin-top:11px;color:var(--text)!important}.week-list{margin-top:20px}.week-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;width:100%;padding:15px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);text-align:left}.week-row .day-label{color:var(--muted);font-size:12px;font-weight:800}.week-row b{display:block}.week-row small{color:var(--muted)}.week-row.today b{color:var(--red-light)}.roadmap{margin-top:24px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#17181c}.roadmap summary{cursor:pointer;font-weight:800}.roadmap-weeks{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.roadmap-weeks button{padding:9px;border:1px solid var(--line);border-radius:8px;background:#222329;color:var(--muted);text-align:left}.roadmap-weeks button.active{border-color:var(--red-light);color:#fff}.fineprint{margin-top:20px;font-size:12px}.coach-card{max-width:600px}.coach-card [hidden]{display:none}.suggestion{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.compare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.compare div{padding:10px;border-radius:8px;background:#282a30;color:var(--muted);font-size:13px}.compare .after{background:#26352b;color:#d7f3e1}.limits{max-width:600px;margin-top:14px;background:#18191d}.progress-list{max-width:650px;margin-bottom:20px}.progress-item{padding:14px 0;border-bottom:1px solid var(--line)}.progress-item b,.progress-item small{display:block}.progress-item small{color:var(--muted)}.modal-bg{display:none;position:fixed;z-index:10;inset:0;padding:16px;background:#060608dc;place-items:center}.modal-bg.open{display:grid}.modal{width:min(600px,100%);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:16px;background:#191a1f}.modal header{position:sticky;top:0;display:flex;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);background:#191a1f}.modal h2{margin:3px 0 0;font-size:25px;letter-spacing:-.04em}.modal #modalBody{padding:20px}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:9px;background:#292b31;color:#fff;font-size:25px}.blocks{padding:12px 0;border-bottom:1px solid var(--line)}.blocks b{display:block}.blocks span{color:var(--muted);font-size:14px}.field{display:grid;gap:6px;margin:14px 0}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #464950;border-radius:8px;background:#101114;color:#fff}.feedback{margin-top:18px;padding:14px;border-radius:10px;background:#1d2a21}.feedback label{font-size:13px;font-weight:700}.warning{color:#ffc1c8}.toast{position:fixed;right:18px;bottom:18px;z-index:12;max-width:350px;padding:11px 14px;border:1px solid #4a7958;border-radius:9px;background:#1b3724;color:#e5f8eb;opacity:0;transform:translateY(80px);transition:.2s}.toast.show{opacity:1;transform:none}:focus-visible{outline:3px solid #ff96a1;outline-offset:3px}body.modal-open{overflow:hidden}
@media(max-width:680px){.shell{display:block}.sidebar{position:fixed;z-index:6;bottom:0;left:0;width:100%;height:74px;padding:6px 8px;border-top:1px solid var(--line);border-right:0;background:#15161aeF}.brand{display:none}.nav{height:100%;grid-template-columns:repeat(4,1fr);gap:2px}.nav button{justify-content:center;gap:2px;padding:5px 2px;font-size:12px;flex-direction:column}.content{padding:22px 24px 104px;margin:auto}.layout-switcher{display:grid;grid-template-columns:auto 1fr;gap:7px;margin-bottom:25px}.layout-switcher p{grid-column:1/-1;margin:0}.page-head h1,.today-title{font-size:34px}.week-strip{margin-left:-4px;margin-right:-4px}.week-strip button{min-width:0;padding:4px}.week-strip small{font-size:10px}.goal-line{display:block}.goal-line b{display:block;margin-top:3px}.modal-bg{padding:8px}.modal header,.modal #modalBody{padding-left:16px;padding-right:16px}.toast{right:12px;bottom:86px;left:12px;max-width:none}}
.nav button img{width:19px;height:19px;filter:invert(67%) sepia(18%) saturate(282%) hue-rotate(178deg)}.nav button.active img{filter:invert(74%) sepia(49%) saturate(3436%) hue-rotate(317deg)}
/* Die Testansicht folgt den klaren, flachen Mobile-Referenzen statt dem alten Karten-Dashboard. */
body{background:#0f1013}.nav button img{display:none}.nav button{padding-left:12px}.selected-card,.coach-card,.limits{background:#1a1b20}.compact-training{padding:20px 0;border-bottom:1px solid var(--line)}.compact-training h2{margin:5px 0;font-size:27px;letter-spacing:-.04em}.compact-training p{margin:0;color:var(--text);font-size:18px}.compact-training small{display:block;margin-top:9px;color:var(--muted)}.compact-training .training-cta{margin-top:18px}.layout-switcher{padding:7px 9px;margin-bottom:20px;background:#15161a}
@media(max-width:680px){.layout-switcher{display:flex;align-items:center;min-height:42px;margin-bottom:16px;padding:5px 7px}.layout-switcher>span{font-size:9px}.layout-switcher [role=group]{gap:3px}.layout-switcher button{padding:4px 6px;font-size:11px}.layout-switcher button small{display:inline;font-size:9px}.layout-switcher p{display:none}.nav button{padding:5px 2px}.compact-training{padding:18px 0}.compact-training h2{font-size:25px}.compact-training p{font-size:17px}.toast{bottom:90px}}
.toast{pointer-events:none}
/* CSS-Grid darf das native hidden-Attribut nicht überstimmen. */
[hidden]{display:none!important}
/* Schluss-Politur nach der mobilen Sichtprüfung: kurze Schalter, ruhige Typografie, flacher Coach-Abschnitt. */
.page-head h1,.today-title,.compact-training h2,.selected-card h2,.modal h2{letter-spacing:-.02em}#todayView>.coach-card{padding:0 0 20px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
@media(max-width:680px){.layout-switcher{min-height:44px}.layout-switcher>span{display:none}.layout-switcher [role=group]{width:100%}.layout-switcher button{flex:1;min-height:44px;font-size:12px}.layout-switcher button small{font-size:10px}}
.week-row{min-height:64px;padding:12px 0}.week-row small{line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
