Assign & replace programs from the client page
Putting a client on a program is smoother and safer:
- Assign from the client page. The Program tab now has an Assign / Change button — pick a program from your library without leaving the client.
- No accidental wipes. When a client is already on a program, assigning a new one asks first: "Replace [name]'s program? They're on [program] (week N) — all logged workouts are kept in history." This shows whether you assign from the client page or the Library.
- Logged workouts always survive. Replacing a program archives the old one and keeps every logged session in the client's history.
- Guardrails. Empty programs can't be assigned, and a program a client is actively running can't be deleted out from under them.