.ppCoachPanel,
.ppAthletePanel{
  --pp-ink:#101521;
  --pp-muted:#526070;
  --pp-line:#d8dee8;
  --pp-gold:#ebb400;
  --pp-gold-2:#d6a84f;
  --pp-panel:#ffffff;
  --pp-soft:#f5f7fb;
  --pp-deep:#111827;
  border:1px solid rgba(214,168,79,.42);
  background:
    linear-gradient(135deg,rgba(235,180,0,.14),rgba(255,255,255,.92) 28%,rgba(244,247,251,.98));
  border-radius:20px;
  padding:16px;
  margin:16px 0;
  color:var(--pp-ink);
  box-shadow:0 18px 45px rgba(16,21,33,.10);
}
.ppHidden{display:none!important;}
#tab_block.ppPhysicalOnly > :not(#ppCoachPanel){display:none!important;}
#tab_block.ppPhysicalOnly #ppCoachPanel{display:block;margin-top:0;}
.ppHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.ppEyebrow{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;color:#9a6a00;margin-bottom:4px;}
.ppTitle{font-size:18px;font-weight:950;color:var(--pp-ink);letter-spacing:0;}
.ppPanelTitle{font-size:13px;font-weight:950;color:var(--pp-ink);margin-bottom:8px;}
.ppSub{font-size:12px;color:var(--pp-muted);margin-top:3px;line-height:1.45;max-width:760px;}
.ppActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.ppFlow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;}
.ppFlow div{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(16,21,33,.08);border-radius:13px;background:rgba(255,255,255,.62);}
.ppFlow b{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--pp-gold);color:#111;font-size:12px;}
.ppFlow span{font-size:12px;font-weight:850;color:var(--pp-ink);}
.ppGrid{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(420px,1.38fr);gap:12px;margin-top:12px;}
.ppBank,.ppEditor{border:1px solid var(--pp-line);background:rgba(255,255,255,.78);border-radius:16px;padding:12px;min-width:0;}
.ppBank input,.ppEditor input,.ppEditor select,.ppCreatePreview input,.ppCreatePreview select{
  background:#fff!important;color:var(--pp-ink)!important;border:1px solid #cfd6e2!important;border-radius:12px!important;
}
.ppBankList{display:grid;gap:8px;max-height:390px;overflow:auto;margin-top:10px;padding-right:3px;}
.ppExercise{border:1px solid #dce2eb;background:#fff;border-radius:13px;padding:10px;text-align:left;color:var(--pp-ink);cursor:pointer;box-shadow:0 8px 18px rgba(16,21,33,.05);}
.ppExercise:hover{border-color:rgba(214,168,79,.85);background:#fffaf0;transform:translateY(-1px);}
.ppExercise b{display:block;font-size:13px;color:var(--pp-ink);}
.ppExercise span{display:block;font-size:11px;color:var(--pp-muted);margin-top:3px;}
.ppWorkoutRows{display:grid;gap:10px;margin-top:10px;max-height:520px;overflow:auto;padding-right:3px;}
.ppWorkoutRow{border:1px solid #dce2eb;background:#fff;border-radius:16px;padding:12px;box-shadow:0 10px 22px rgba(16,21,33,.06);}
.ppRowTop{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:10px;}
.ppRowNum{width:30px;height:30px;border-radius:999px;background:var(--pp-deep);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:950;}
.ppExerciseName{font-size:14px!important;font-weight:900!important;}
.ppRowGrid{display:grid;grid-template-columns:1.1fr 1.1fr .65fr .8fr .8fr .85fr .8fr .65fr .65fr .75fr .9fr;gap:8px;align-items:end;}
.ppRowGrid label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--pp-muted);}
.ppRowGrid .ppWide{grid-column:span 3;}
.ppTinyBtn{min-height:36px;border-radius:12px;border:1px solid #cfd6e2;background:#fff;color:var(--pp-ink);cursor:pointer;padding:0 12px;font-weight:900;box-shadow:0 7px 15px rgba(16,21,33,.06);}
.ppTinyBtn:hover{border-color:rgba(214,168,79,.78);background:#fffaf0;}
.ppTinyBtn.danger{color:#b42318;border-color:#fecaca;background:#fff7f7;}
.ppStatus{font-size:12px;color:var(--pp-muted);margin-top:9px;font-weight:750;}
.ppSessionBadge{display:block;margin-top:8px;padding:10px 12px;border-radius:13px;border:1px solid rgba(214,168,79,.36);background:#fff8e5;color:var(--pp-ink);font-size:12px;line-height:1.35;}
.ppSessionBadge b{color:#8a5a00;}
.ppCreatePreview{align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:16px;border:1px solid rgba(214,168,79,.52);background:#fff8e5;margin-top:10px;color:var(--pp-ink);}
.ppCreatePreview span{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:var(--pp-gold);color:#111;font-size:12px;font-weight:950;white-space:nowrap;}
.ppPhysicalCreateMode{border-color:rgba(214,168,79,.62)!important;background:linear-gradient(180deg,#fffaf0,#fff)!important;}
.ppPhysicalCreateMode button[type="submit"]{background:var(--pp-gold)!important;color:#111!important;border-color:var(--pp-gold)!important;}
.ppAthleteGroups{display:grid;gap:10px;margin-top:10px;}
.ppAthleteGroup{border:1px solid #dce2eb;background:#fff;border-radius:14px;padding:12px;}
.ppAthleteGroupTitle{font-size:12px;font-weight:950;color:#8a5a00;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;}
.ppAthleteItem{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;border-top:1px solid #edf0f4;padding-top:10px;margin-top:10px;}
.ppAthleteItem:first-of-type{border-top:0;padding-top:0;margin-top:0;}
.ppAthleteItem h4{margin:0;color:var(--pp-ink);font-size:14px;}
.ppAthleteMeta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;}
.ppAthleteMeta span{border:1px solid #dce2eb;background:#f7f9fc;border-radius:999px;padding:4px 8px;font-size:11px;color:var(--pp-muted);}
.ppResultForm{grid-column:1 / -1;display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:8px;margin-top:8px;}
.ppResultForm input,.ppResultForm select{width:100%;padding:8px;border-radius:10px;}
.ppResultForm label{font-size:10px;color:var(--pp-muted);text-transform:uppercase;letter-spacing:.05em;}
@media (max-width:1180px){
  .ppGrid,.ppFlow{grid-template-columns:1fr;}
  .ppRowGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ppRowGrid .ppWide{grid-column:1 / -1;}
}
@media (max-width:680px){
  .ppCoachPanel,.ppAthletePanel{padding:12px;border-radius:16px;}
  .ppRowTop{grid-template-columns:auto minmax(0,1fr);}
  .ppRowTop .ppTinyBtn{grid-column:1 / -1;}
  .ppRowGrid,.ppResultForm{grid-template-columns:1fr;}
  .ppAthleteItem{grid-template-columns:1fr;}
}
