.coachCard{background:var(--card,#fff);border:1px solid var(--edge,#dce5e1);border-radius:16px;padding:20px;margin-bottom:20px}
.coachCard h3{margin:4px 0 14px}
.coachStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:16px}
.coachStat{background:#f2f7f5;border-radius:12px;padding:12px}
.coachStat small{display:block;color:var(--mut,#536963);font-size:12px}
.coachStat strong{display:block;font-size:22px;color:var(--ink,#172f2c);margin:2px 0}
.coachStat span{font-size:12px;color:var(--mut,#536963)}
.coachList{margin:12px 0;padding:12px 14px;border-radius:12px;background:#f7f9f8}
.coachList h4{margin:0 0 6px;font-size:14px}
.coachList ul{margin:0;padding-left:18px}
.coachList li{margin:6px 0;font-size:14px}
.coachList.good{background:#edf5ef}
.coachList.warn{background:#fff7e9}
.coachSuggest{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#eef3fb;border-radius:12px;padding:12px 14px;margin:10px 0}
.coachSuggest p{margin:0;flex:1 1 240px;font-size:14px}
.coachNote{display:block!important;font-size:13px;margin:10px 0 0}
.coachBanner{background:#edf5ef;border-left:4px solid var(--gold,#087b68);border-radius:10px;padding:12px 14px;margin:12px 0}
.coachBanner p{margin:4px 0 0;font-size:14px}
/* Diagrams */
.workDiagram,.weekDiagram{background:var(--card,#fff);border:1px solid var(--edge,#dce5e1);border-radius:14px;padding:16px;margin:14px 0}
.workDiagram h4{margin:0 0 10px;font-size:15px}
.weekDiagram h3{margin:4px 0 12px}
.diagramGrid{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:18px;align-items:start}
@media (max-width:620px){.diagramGrid{grid-template-columns:1fr}}
.mapBox{margin:0}
.muscleMap{width:100%;max-width:240px;height:auto;display:block;margin:0 auto}
.muscleMap .bodyBase{fill:#e9eeec;stroke:#cdd7d3;stroke-width:1}
.muscleMap .muscle{fill:#dfe6e3;stroke:#fff;stroke-width:1}
.muscleMap .muscle.on{stroke:#b9431c;stroke-width:.6}
.muscleMap .mapLabel{font-size:10px;fill:#536963;letter-spacing:1px}
.mapBox figcaption{font-size:12px;color:var(--mut,#536963);display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.legend{border-radius:999px;padding:3px 9px;font-size:12px}
.legend.primary{background:#e0592a;color:#fff}
.legend.secondary{background:#fbdcc9;color:#7a3414}
.diagramTitle{font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut,#536963);margin:10px 0 6px}
.diagramTitle:first-child{margin-top:0}
.setFlow{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.setBlock{background:#087b68;color:#fff;border-radius:10px;padding:8px 10px;min-width:74px;text-align:center}
.setBlock strong,.setBlock span{display:block;font-size:12px}
.setBlock strong{font-size:13px}
.restGap{font-size:11px;color:var(--mut,#536963);border:1px dashed #b8c6c1;border-radius:999px;padding:3px 8px}
.tempoBar{display:flex;border-radius:10px;overflow:hidden;font-size:12px}
.tempoBar div{padding:8px;text-align:center;color:#fff}
.tempoBar div:nth-child(1){background:#087b68}.tempoBar div:nth-child(2){background:#5c8f84}.tempoBar div:nth-child(3){background:#2f5f8a}
.tempoBar strong,.tempoBar span{display:block}
.repDots{display:flex;flex-wrap:wrap;gap:5px}
.dot{width:16px;height:16px;border-radius:50%;display:inline-block}
.dot.done{background:#087b68}.dot.target{background:#3fae96}.dot.reserve{border:2px dashed #e0592a;width:12px;height:12px}
.diagramNote{font-size:13px;color:var(--mut,#536963);margin:8px 0 0}
.setBars .barRow{display:grid;grid-template-columns:110px 1fr 34px;gap:8px;align-items:center;font-size:13px;margin:5px 0}
.setBars .barRow div{background:#eef2f0;border-radius:6px;height:10px;overflow:hidden}
.setBars .barRow i{display:block;height:100%;border-radius:6px}
.setBars .barRow b{text-align:right;font-size:12px}
.dayStrip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:16px}
@media (max-width:620px){.dayStrip{grid-template-columns:repeat(4,1fr)}}
.dayCell{background:#f4f7f6;border-radius:10px;padding:8px;font-size:12px;min-height:70px}
.dayCell.gym{background:#e3f1ec}
.dayCell.today{outline:2px solid #087b68}
.dayCell strong,.dayCell span,.dayCell em{display:block}
.dayCell span{color:var(--mut,#536963);margin-top:2px}
.dayCell em{font-style:normal;font-weight:600;margin-top:4px}
.dayCell em.tag{background:#fff3df;color:#7a5216;border-radius:6px;padding:1px 5px;font-weight:500}
/* Mid-week tweaks */
.tweakList{margin-top:14px;padding:12px 14px;border-radius:12px;background:#fff7e9}
.tweakList h4{margin:0 0 6px;font-size:14px}
.tweakRow{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;padding:6px 0;border-top:1px solid #f0e2c4}
.tweakRow button{font-size:12px;padding:4px 10px}
.tweakToast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,140%);background:#172f2c;color:#fff;border-radius:14px;padding:12px 16px;max-width:min(92vw,440px);box-shadow:0 8px 30px #0003;transition:transform .3s;z-index:50}
.tweakToast.show{transform:translate(-50%,0)}
.tweakToast p{margin:4px 0 0;font-size:13px}
