/* [8.5] APPOINTMENTS · the member's side (.apm-*), on the Events calendar (.ibev-*, p1/events.css) + the PT pieces (.ptx-*, pt-ui.css) */
.apm-key{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#4F5863;padding:2px 2px 0}
.apm-key span{display:flex;align-items:center;gap:5px}
.apm-key i{width:7px;height:7px;border-radius:50%}
.apm-kind{font-family:var(--font-cond);font-weight:800;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--kd);background:var(--kt);border-radius:3px;padding:2px 6px}
.apm-st{font-family:var(--font-mono);font-size:11px;font-weight:700;color:#4F5863;margin-left:auto}
.apm-st.on{color:var(--electric)}
.apm-today{display:flex;flex-direction:column;gap:10px;margin:0 0 12px}
.apm-pt{display:flex;flex-direction:column;gap:9px;border-top:4px solid #2A2F36;margin:0}
.apm-eb{display:flex;align-items:center;gap:7px;font-family:var(--font-cond);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#4F5863}
.apm-eb i{width:7px;height:7px;border-radius:50%;background:#2A2F36}
.apm-tt{font-family:var(--font-cond);font-weight:900;font-size:34px;line-height:.95;letter-spacing:.02em;text-transform:uppercase;color:var(--iron,#0A0A0A);text-wrap:balance}
.apm-sub{font-size:12px;color:#4F5863;margin-top:-4px}
.apm-lines{background:#F4F6F8;border-radius:8px;padding:11px 12px}
.apm-prev,.apm-mine{display:flex;align-items:baseline;gap:9px;border-radius:8px;padding:10px 12px;font-family:var(--font-cond);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.apm-prev{background:#F4F6F8;border:1px dashed #C3CCD6;color:#4F5863}
.apm-mine{background:#E4F4EC;color:#137A4A}
.apm-prev b,.apm-mine b{font-family:var(--font-mono);font-size:18px;letter-spacing:0;color:var(--iron,#0A0A0A);text-transform:none}
.apm-prev em,.apm-mine em{font-style:normal;margin-left:auto;font-size:10px}
.apm-cta{min-height:50px;width:100%;border:0;border-radius:8px;background:var(--electric,#075DC6);color:#fff;font-family:var(--font-cond);font-weight:900;font-size:17px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.apm-cta:disabled{opacity:.45;cursor:default}
.apm-ghost{min-height:50px;border:1px solid #C3CCD6;border-radius:8px;background:#fff;padding:0 16px;font:inherit;font-weight:700;font-size:13px;color:#3A424C;cursor:pointer}
.apm-log{display:flex;flex-direction:column;gap:8px}
.apm-as{font-size:12px;color:#4F5863}.apm-as b{color:var(--iron,#0A0A0A)}
.apm-in{width:100%;box-sizing:border-box;border:1px solid #C3CCD6;border-radius:8px;padding:14px;font-family:var(--font-mono);font-size:22px;text-align:center}
.apm-in:focus{outline:2px solid var(--electric,#075DC6)}
.apm-r{display:flex;gap:8px}.apm-r .apm-cta{flex:1}
.apm-fine{font-size:12px;color:#4F5863;line-height:1.45}
.apm-wait{border:1.5px dashed #C3CCD6;border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:4px;text-align:center}
.apm-wait b{font-family:var(--font-cond);font-weight:900;font-size:17px;letter-spacing:.03em;text-transform:uppercase}
.apm-wait span{font-size:12.5px;color:#4F5863;line-height:1.45}
.apm-row .ln{font-weight:600;color:#2A2F36}

/* [8.12d · v8.31] a PT session opens on the workout */
.apm-wod{display:flex;flex-direction:column;gap:12px}
.apm-whd{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.apm-whd .w{font-family:var(--font-cond);font-weight:800;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--iron,#0A0A0A)}
.apm-whd .apm-st{margin-left:auto}
.apm-pt.wod{gap:11px;padding:18px 16px 16px;border-top-width:6px}
.apm-pt.wod .apm-tt{font-size:42px}
.apm-pt.wod .apm-lines{font-size:15px;padding:14px}
.apm-facts{padding:4px 16px 12px}
/* [8.12e] the PT board = the WOD board */
.apm-wb .apm-wvp{margin:12px 0 2px}
.apm-wb .apm-log{margin-top:14px}
.apm-wb .apm-fine{font-size:12px;color:#4F5863;text-wrap:pretty}
.apm-wb .sp-cta2{margin-top:14px}
.apm-wod .wb-rail{margin:0}
.apm-facts .apm-whd{padding-top:12px}
.apm-notes{padding:14px}
.apm-wb .wb-cta:disabled{opacity:.45;cursor:default}
/* [8.12g] the PT screen sits on the WOD's wall (.m-body.wbs) */
.m-body.wbs.apm-wod .ibev-back{align-self:flex-start}
.m-body.wbs.apm-wod .apm-facts{margin:0}

/* [8.18 · v8.51] PT class notes = the WOD's Class notes pager (IBClassPlanClient, .cl-page .cpf) inside the Appointments screen:
   no wall styles here, the pager draws its own page padding; the back key sits where the WOD's does */
.m-body.apm-cnotes{padding:0}
.m-body.apm-cnotes .cl-page{padding-top:12px}
