/* ===== v21: strength program, wrist toggle, profile limits (light, bold, same palette) ===== */
.prog21{background:linear-gradient(135deg,#ffffff,#f5f3ff 55%,#fdf2f8)!important;border:2px solid #a78bfa!important;box-shadow:0 12px 30px -16px #7c3aed80}
.prog21 h3{margin:0;color:#4c1d95}
.prog21 .p21top{gap:8px;flex-wrap:wrap}
.prog21 .p21tag{background:linear-gradient(135deg,#6d28d9,#be185d);color:#fff}
.prog21 .p21sub,.prog21 .p21wk{color:#1e293b;margin:8px 0}
.prog21 .p21wk b{color:#4c1d95}
.p21days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.p21d{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:6px 4px;border-radius:14px;border:2px solid #c4b5fd;background:#fff;color:#4c1d95;font:inherit;cursor:pointer;min-width:0}
.p21d b{font-size:14px;font-weight:800;white-space:nowrap}
.p21d span{font-size:12px;font-weight:700;color:#475569}
.p21d.on{background:linear-gradient(135deg,#6d28d9,#be185d);border-color:transparent;color:#fff}
.p21d.on b,.p21d.on span{color:#fff}
.p21ver{display:flex;flex-direction:column;gap:2px;margin:10px 0;padding:10px 12px;border-radius:14px;font-size:14px;line-height:1.4}
.p21ver.p21-standard{background:#dcfce7;border:1.5px solid #86efac;color:#14532d}
.p21ver.p21-lighter{background:#fef9c3;border:1.5px solid #fde047;color:#713f12}
.p21ver.p21-easy{background:#e0f2fe;border:1.5px solid #7dd3fc;color:#0c4a6e}
.p21hold{margin:8px 0;padding:10px 12px;border-radius:12px;background:#ffedd5;border:1px solid #fdba74;color:#7c2d12;font-size:14px;font-weight:600}
.p21hold b{color:#7c2d12}
.p21cap{margin:8px 0;padding:10px 12px;border-radius:12px;background:#f5f3ff;border:1.5px solid #c4b5fd;color:#4c1d95;font-size:14px}
.p21cap b{color:#4c1d95}
.p21wr{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;margin:8px 0;padding:8px 12px;border-radius:14px;border:2px solid #cbd5e1;background:#fff;color:#0f172a;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.p21wr>span{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;border:2px solid #94a3b8;background:#fff;color:#fff;font-weight:900}
.p21wr.on{border-color:#7c3aed;background:#f5f3ff}
.p21wr.on>span{background:linear-gradient(135deg,#6d28d9,#be185d);border-color:transparent}
.p21wn{margin:0 0 8px;padding:10px 12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;font-size:14px;line-height:1.45}
.p21wn b{color:#7c2d12}
.p21list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.p21ex{padding:12px;border-radius:16px;background:#fff;border:1.5px solid #e2e8f0;min-width:0}
.p21wu{background:linear-gradient(135deg,#ecfeff,#f0fdfa);border-color:#5eead4}
.p21h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.p21n{font-size:16px;font-weight:800;color:#0f172a}
.p21pat{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#6d28d9}
.p21wu .p21pat{color:#115e59}
.p21ex p{margin:6px 0 0;font-size:14px;line-height:1.4;color:#1e293b}
.p21ex .p21rx{font-weight:800;color:#9d174d}
.p21ex .p21cue{padding:6px 10px;border-radius:10px;background:#eef2ff;color:#312e81;font-weight:700}
.p21ex .p21wt{color:#7c2d12;font-weight:700}
.p21ex .p21nx b{color:#4c1d95}
.p21ex .p21sw{color:#475569;font-size:13px}
.p21btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.p21btns .btn{min-height:44px;padding:8px 6px;font-size:14px;font-weight:800;color:#4c1d95;min-width:0;white-space:normal}
.p21db{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;color:#1e293b}
.p21c{min-height:44px;min-width:64px;padding:6px 12px;border-radius:999px;border:2px solid #c4b5fd;background:#fff;color:#4c1d95;font:inherit;font-weight:800;cursor:pointer}
.p21c.on{background:#4c1d95;border-color:#4c1d95;color:#fff}
.prog21 .p21foot{margin:10px 0 0;color:#334155;font-weight:600}
.p21lock{background:linear-gradient(135deg,#ffffff,#f1f5f9)!important;border:2px dashed #a78bfa!important;box-shadow:none}
.p21lock p{color:#1e293b}
.p21lock .p21tag{background:#e2e8f0;color:#334155}
.lim21 .lim21r{gap:10px;flex-wrap:wrap}
.lim21 b{color:#0f172a}
.lim21 p{color:#334155;margin:6px 0 0}
.lim21 .btn{min-height:44px;padding:8px 14px;font-weight:800;color:#4c1d95}
