    /* ── PARENT / CLIENT VIEW ── */
    .parent-view{position:fixed;inset:0;z-index:9990;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}
    .pv-wrap{max-width:820px;margin:0 auto;padding:2.5rem 1.5rem 4rem}
    .pv-head{display:flex;align-items:center;gap:1.1rem;margin-bottom:1.75rem;flex-wrap:wrap}
    .pv-brand img{height:52px;width:auto;max-width:150px;object-fit:contain}
    .pv-brand__name{font-family:var(--fb);font-weight:700;font-size:.9rem;color:var(--t2)}
    .pv-athlete{font-family:var(--fd);font-weight:700;font-size:2.2rem;letter-spacing:.02em;color:var(--text);line-height:1}
    .pv-sub{font-family:var(--fb);font-size:.82rem;color:var(--t2);margin-top:.35rem}
    .pv-foot{text-align:center;font-family:var(--fb);font-size:.7rem;color:var(--t3);margin-top:2.5rem}
    .pv-logpr{background:var(--s1);border:1px solid var(--b1);border-radius:var(--rl);box-shadow:var(--sh);padding:1.35rem 1.5rem;margin-bottom:1.75rem}
    .pv-logpr__title{font-family:var(--fd);font-weight:700;font-size:1.05rem;letter-spacing:.02em;color:var(--text)}
    .pv-logpr__sub{font-family:var(--fb);font-size:.76rem;color:var(--t3);margin-top:.3rem;line-height:1.5}
    .pv-logpr__row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:.85rem;align-items:end;margin-top:1rem}
    .pv-logpr__row .btn{white-space:nowrap}
    @media (max-width:640px){ .pv-logpr__row{grid-template-columns:1fr 1fr} }
    .pv-filters{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:1.25rem}
    .pv-gloss{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem}
    .pv-gloss__item{background:var(--s1);border:1px solid var(--b1);border-radius:var(--r);padding:.9rem 1rem}
    .pv-gloss__head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}
    .pv-gloss__name{font-family:var(--fd);font-weight:700;font-size:1rem;letter-spacing:.02em;color:var(--text)}
    .pv-gloss__unit{font-family:var(--fb);font-size:.58rem;font-weight:700;letter-spacing:0;color:var(--t4)}
    .pv-gloss__def{font-family:var(--fb);font-size:.82rem;color:var(--t2);line-height:1.5}
    .pv-empty{text-align:center;padding:3rem 1.5rem;color:var(--t3);font-family:var(--fb)}
    /* hero stat: Overall Change (parents) or AJ Overall + Overall Change (athletes) — the
       number(s) meant to catch the eye first, so they get their own oversized, badge-style
       treatment up top. AJ Overall is colored by rankColor() (red/amber/green, matching the
       Rankings tab); Overall Change is colored by the sign of the change itself. Both use an
       inline style set in JS — deliberately NOT the gym's customizable UI accent, so these
       scores read the same everywhere they appear. */
    .pv-hero{background:var(--s1);border:1px solid var(--b1);border-radius:var(--rl);box-shadow:var(--sh);padding:1.5rem 1.75rem;margin-bottom:1.75rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
    .pv-hero__n{font-family:var(--fd);font-weight:800;font-size:5.5rem;line-height:1;flex-shrink:0;width:9.5rem;height:9.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}
    .pv-hero__n--none{font-size:1.6rem;color:var(--t3)}
    .pv-hero__body{min-width:200px;flex:1}
    .pv-hero__label{font-family:var(--fb);font-size:.72rem;font-weight:700;letter-spacing:0;color:var(--t3)}
    .pv-hero__note{font-family:var(--fb);font-size:.82rem;color:var(--t2);line-height:1.5;margin-top:.4rem}
    /* athlete view shows AJ Overall + Overall Change side by side, each its own full pv-hero card */
    .pv-hero-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.75rem}
    .pv-hero-row .pv-hero{margin-bottom:0}
    .pv-hero-row .pv-hero__n{width:7.5rem;height:7.5rem;font-size:4.2rem}
    @media (max-width:760px){
      .pv-hero-row{grid-template-columns:1fr}
    }
    @media (max-width:520px){
      .pv-hero{flex-direction:column;text-align:center;padding:1.75rem 1.25rem}
      .pv-hero__n{font-size:4.5rem;width:8rem;height:8rem;margin:0 auto}
      .pv-hero-row .pv-hero__n{width:7rem;height:7rem;font-size:3.8rem}
    }
