.plan-intro { display:flex; flex-direction:column; align-items:stretch; gap:24px; margin-bottom:30px; }
.training-snapshot{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);gap:20px;border:1px solid #748f42;border-radius:18px;background:linear-gradient(145deg,#172219,#111a15);padding:22px;margin-bottom:22px}.training-snapshot h2{margin:.2rem 0 .5rem}.training-snapshot p{color:var(--muted);line-height:1.5}.snapshot-event{border-left:1px solid var(--line);padding-left:20px;display:grid;align-content:center;gap:6px}.snapshot-event span,.snapshot-event small{color:var(--muted);font-size:.72rem}.snapshot-event strong{font-size:1.25rem}.snapshot-event em{color:#ffc44d;font-size:.72rem;font-style:normal}.goal-source{display:flex;gap:10px;align-items:center;margin-bottom:8px}.goal-source span{color:var(--accent);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.goal-source a{font-size:.72rem}.plan-event-context{margin:0 0 24px}.plan-event-timeline{display:flex;gap:10px;overflow-x:auto;padding:2px 0 8px}.plan-event-timeline a{flex:0 0 185px;display:grid;gap:5px;border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:14px;text-decoration:none;color:inherit}.plan-event-timeline time,.plan-event-timeline small{color:var(--muted);font-size:.68rem}.event-spacing{border:1px solid #5d4d2b;border-radius:13px;background:#211d14;padding:15px;margin-top:10px}.event-spacing ul{display:flex;flex-wrap:wrap;gap:6px 20px;margin:8px 0;padding-left:18px;color:var(--muted);font-size:.72rem}.event-spacing p{color:var(--muted);font-size:.72rem;margin:0;line-height:1.45}.historical-plan{color:#ffc44d!important}.week-label strong small{color:var(--muted);font-size:.6rem;font-weight:400}
.plan-intro h2 { font-size:clamp(2rem,5vw,3.8rem); letter-spacing:-.045em; margin:0 0 12px; }
.plan-intro p:last-child { color:var(--muted); line-height:1.55; margin:0; }
.plan-legend { display:flex; gap:14px; color:var(--muted); font-size:.72rem; white-space:nowrap; }
.plan-legend span { display:flex; align-items:center; gap:6px; }.plan-legend i { width:8px; height:8px; border-radius:50%; }
.easy-dot { background:#b8f34a; }.quality-dot { background:#b978ff; }.long-dot { background:#fc4c02; }.rest-dot { background:#4a554e; }
.weekday-head { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; margin-left:0; padding-bottom:8px; color:var(--muted); text-align:center; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.plan-calendar { display:flex; flex-direction:column; gap:10px; }
.plan-week { display:grid; grid-template-columns:1fr; gap:10px; }
.week-label { display:flex; flex-direction:row; align-items:center; gap:10px; padding:0 4px; }.week-label span { color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }.week-label strong { font-size:1rem; margin:0; }.week-label small { color:#ffc44d; font-size:.65rem; margin:0 0 0 auto; }
.week-days { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; }
.week-days>.plan-day:first-child { grid-column:auto; }
.plan-day { min-width:0; min-height:124px; border:1px solid var(--line); border-radius:13px; background:var(--panel); padding:12px; display:flex; flex-direction:column; }
.plan-day>span{display:block;color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.plan-day time { color:var(--muted); font-size:.68rem; }.plan-day strong { font-size:1.12rem; margin:auto 0 2px; }.plan-day strong small { font-size:.68rem; }.plan-day em { color:var(--muted); font-size:.65rem; font-style:normal; }
.plan-day.run-day { border-color:#51662f; background:linear-gradient(145deg,#20291c,#18201a); }.plan-day.run-day strong { color:#b8f34a; }
.plan-day.quality-run { border-color:#69458b; background:linear-gradient(145deg,#281e31,#1d1921); }.plan-day.quality-run strong { color:#c58aff; }
.plan-day.long-run { border-color:#814027; background:linear-gradient(145deg,#2d211b,#1e1a17); }.plan-day.long-run strong { color:#ff7950; }
.plan-day.rest-day { opacity:.62; }
.plan-day.event-day{border-color:#b58b28;background:linear-gradient(145deg,#282315,#1d1b14)}.plan-day.event-day strong{color:#ffd05b}.week-totals{display:flex;gap:8px;flex-wrap:wrap}.week-totals b{font-size:.72rem;font-weight:700}.week-totals b+ b:before{content:'+';margin-right:8px;color:var(--muted)}
.plan-week.current-week { margin:0 -8px; padding:8px; border:1px solid #748f42; border-radius:16px; background:rgba(184,243,74,.035); }.plan-day.today { outline:2px solid #b8f34a; outline-offset:2px; }.plan-day.past-day { filter:saturate(.55); opacity:.55; }.plan-day.today time { color:#b8f34a; font-weight:800; }
.plan-day p { color:var(--muted); font-size:.6rem; line-height:1.25; margin:6px 0 0; }.goal-form { display:flex; align-items:end; gap:8px; margin-bottom:16px; }.goal-form label { color:var(--muted); font-size:.7rem; }.goal-form select { display:block; min-width:145px; margin-top:5px; padding:10px 30px 10px 10px; border:1px solid var(--line); border-radius:8px; background:var(--panel); color:var(--text); }.goal-form button { padding:11px 14px; }
.account-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }.account-actions>span { width:100%; color:var(--muted); font-size:.72rem; text-align:right; }.account-actions>span strong { color:var(--text); }.button-secondary { background:transparent; border:1px solid var(--line); color:var(--muted); }
.structured-plan{border:1px solid #496237;border-radius:18px;background:#111a15;padding:20px;margin-bottom:22px}.structured-plan>.section-heading{margin:0 0 14px}.plan-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.plan-meta span{display:grid;gap:4px;padding:10px;background:var(--panel);border-radius:10px;color:var(--muted);font-size:.68rem}.plan-meta strong{color:var(--text);font-size:.9rem}.plan-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.plan-proposals{border:1px solid #806624;border-radius:12px;padding:14px;margin:14px 0}.plan-proposals article,.structured-workouts article{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:12px 0}.plan-proposals article:first-of-type,.structured-workouts article:first-child{border-top:0}.plan-proposals p,.structured-workouts p{margin:3px 0;color:var(--muted);font-size:.7rem}.plan-proposals form{display:flex;gap:7px;margin-left:auto}.structured-workouts time{flex:0 0 72px;color:var(--accent);font-size:.72rem}.structured-workouts article>div{display:grid;gap:3px;flex:1}.structured-workouts span,.structured-workouts small{color:var(--muted);font-size:.68rem}.structured-workouts form{margin-left:auto}@media(max-width:700px){.plan-meta{grid-template-columns:repeat(2,1fr)}.structured-workouts article{align-items:flex-start;flex-wrap:wrap}.structured-workouts form{margin-left:84px}}
@media(max-width:800px){.training-snapshot{grid-template-columns:1fr}.snapshot-event{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.plan-intro{align-items:flex-start;flex-direction:column}.goal-form{flex-wrap:wrap}.weekday-head{display:none}.plan-week{grid-template-columns:1fr}.week-label{flex-direction:row;align-items:center;gap:8px}.week-label strong{margin:0}.week-label small{margin:0 0 0 auto}.week-days{grid-template-columns:1fr}.week-days>.plan-day:first-child{grid-column:auto}.plan-day{min-height:auto;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.plan-day>span{display:block;color:var(--muted);font-size:.68rem;min-width:38px}.plan-day time{position:absolute;opacity:0}.plan-day p{flex-basis:100%}.plan-day:last-child{grid-column:auto}}
.workout-editor{margin-left:auto}.workout-editor summary{cursor:pointer;font-size:.7rem}.workout-editor form{position:absolute;z-index:3;right:8%;display:grid;gap:7px;width:min(320px,84vw);padding:14px;background:#111713;border:1px solid var(--line);border-radius:12px}.workout-editor label{display:grid;gap:4px;color:var(--muted);font-size:.68rem}.workout-editor input,.workout-editor select{width:100%;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:7px;color:var(--text)}
.plan-setup-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.plan-setup-form label{display:grid;gap:6px;color:var(--muted);font-size:.72rem}.plan-setup-form input,.plan-setup-form select{width:100%;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--text)}.plan-setup-form button{min-height:42px}.goal-editor{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:rgba(16,27,22,.6)}.goal-editor summary{cursor:pointer;font-weight:800}.goal-editor>p{color:var(--muted);font-size:.72rem}.goal-editor .goal-form{margin-top:12px}@media(max-width:850px){.plan-setup-form{grid-template-columns:1fr 1fr}}@media(max-width:560px){.plan-setup-form{grid-template-columns:1fr}}
.target-duration{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:end;gap:6px;border:0;padding:0;margin:0;min-width:250px}.target-duration legend{grid-column:1/-1;color:var(--muted);font-size:.72rem;margin-bottom:6px}.target-duration label{display:grid;gap:4px;color:var(--muted);font-size:.64rem}.target-duration span{padding-bottom:10px;color:var(--muted);font-weight:800}.target-duration input{width:100%;min-width:0}.goal-form .target-duration{align-self:end}
.plan-day-edit{display:inline-block;margin-top:8px;color:var(--accent);font-size:.66rem;font-weight:750}.session-editor{border-color:var(--accent)}.session-editor .session-skip{margin-top:12px}.session-editor .planned-workout-structure{margin-top:16px}
