.coach-link-panel{margin:18px 0;padding:20px;border:1px solid #b9e936;border-radius:18px;background:#08110d;color:#fff;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;box-shadow:0 10px 26px rgba(5,16,11,.12)}.coach-link-panel .kicker{color:#c9ff3d!important;opacity:1!important}.coach-link-copy h2{margin:.2rem 0 .35rem;color:#fff!important}.coach-link-copy p{margin:0;max-width:680px;color:#d8e0dc!important;opacity:1!important;line-height:1.45}.coach-link-panel>[data-open-athlete-request]{background:#c9ff3d!important;color:#08110d!important;border:0!important;font-weight:900!important}.coach-link-pending{grid-column:1/-1;display:grid;gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.16)}.coach-link-pending>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.07)}.coach-link-pending small,.coach-request-card small{color:#d8e0dc;opacity:.86}.coach-link-panel dialog{width:min(92vw,480px);border:1px solid rgba(255,255,255,.14);border-radius:18px;background:#0b1713;color:#fff;padding:0}.coach-link-panel dialog::backdrop{background:rgba(0,0,0,.62)}.coach-link-panel dialog form{padding:22px;display:grid;gap:14px}.coach-link-panel dialog label{display:grid;gap:7px;font-weight:700}.coach-link-panel dialog input{width:100%;min-height:48px;font-size:16px}.athlete-approval-panel{display:block}.current-coach{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.08);margin-top:10px}.current-coach span{color:#d8e0dc}.coach-request-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;margin-top:12px;border-radius:14px;background:rgba(255,255,255,.08)}.coach-request-card>div:first-child{display:grid;gap:4px}.coach-request-actions{display:flex;gap:8px;flex-wrap:wrap}.coach-link-empty{margin:.6rem 0 0;color:#d8e0dc;opacity:1}@media(max-width:640px){.coach-link-panel{grid-template-columns:1fr;padding:20px;margin:18px 0}.coach-link-panel>[data-open-athlete-request]{width:100%;min-height:54px;font-size:1rem}.coach-link-pending{grid-column:1}.coach-link-pending>div,.coach-request-card,.current-coach{align-items:flex-start;flex-direction:column}.coach-request-actions{width:100%}.coach-request-actions button{flex:1}}

/* Coach invitation mirrors the athlete roster card. */
.coach-link-panel>[data-open-coach-invite]{background:#c9ff3d!important;color:#08110d!important;border:0!important;font-weight:900!important}
.coach-invite-panel [data-coach-invite-dialog] .dialog-close{justify-self:end;cursor:pointer}
.coach-invite-panel [data-coach-invite-dialog] [data-invite-result]{margin:0;color:#fff}
@media(max-width:640px){.coach-link-panel>[data-open-coach-invite]{width:100%;min-height:54px;font-size:1rem}}

/* Prominent, mobile-first athlete coach approval that stays visible above profile content. */
.athlete-approval-panel{display:block;max-width:100%;background:#0b120f;border:1px solid #c8ff3d;border-radius:18px;padding:22px;color:#fff;box-sizing:border-box}
.athlete-approval-panel .coach-link-copy h2{font-size:clamp(1.35rem,4vw,2rem);line-height:1.2;font-weight:850;margin:8px 0 12px}
.athlete-approval-panel .coach-request-card{display:grid;grid-template-columns:minmax(0,1fr);background:#18211c;border:1px solid #3e5145;border-radius:14px;padding:18px;gap:18px}
.athlete-approval-panel .coach-request-card strong{font-size:1.25rem;color:#fff}
.athlete-approval-panel .coach-request-card small{font-size:.95rem;line-height:1.4}
.athlete-approval-panel .coach-request-actions{display:flex;gap:12px;width:100%}
.athlete-approval-panel .coach-request-actions button{flex:1;min-height:48px;font-weight:800;cursor:pointer;border-radius:10px}
.athlete-approval-panel .coach-request-actions .primary{background:#c8ff3d;color:#09100b;border:0}
.athlete-approval-panel .coach-request-actions .secondary{background:transparent;color:#fff;border:1px solid #cedbd1}
@media(max-width:390px){.athlete-approval-panel{padding:16px}.athlete-approval-panel .coach-request-actions{gap:8px}}
