.staff-page,.staff-page *,.profile-access,.profile-access *{box-sizing:border-box}
.staff-page{margin:0;background:#f3f3f3;color:#171717;font:16px/1.5 system-ui,sans-serif;min-height:100vh}
.staff-page header{background:#151515;color:#d7d7d7;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem max(5vw,1rem);font-size:.9rem}
.staff-page header a{color:#fff;font-weight:700;font-size:1.05rem;text-decoration:none}
.staff-page main{width:min(100% - 2rem,38rem);margin:clamp(1rem,5vw,3rem) auto}
.portal-panel{background:white;border:1px solid #d5d5d5;border-radius:16px;padding:clamp(1.2rem,4vw,2rem)}
.portal-panel h1{font-size:1.7rem;line-height:1.2;margin:0 0 .75rem}.portal-panel p,.profile-access p{color:#494949}
.portal-panel label,.profile-access label{display:block;font-weight:600;margin:.9rem 0 .35rem}
.portal-panel input,.profile-access input{width:100%;min-width:0;padding:.7rem;border-radius:7px;border:1px solid #aaa;font:inherit}
.portal-panel button,.profile-access button{font:600 .95rem/1.3 system-ui,sans-serif;cursor:pointer;border-radius:8px;border:1px solid #222;background:#202020;color:#fff;padding:.72rem 1rem;min-height:44px}
.portal-panel .outline,.profile-access .outline{background:#fff;border-color:#aaa;color:#222}
.portal-panel button:disabled,.profile-access button:disabled{opacity:.6;cursor:wait}
#signInButton{width:100%;margin-top:1.2rem}.portal-link{display:block;text-align:center;margin-top:.9rem;color:#222}
.portal-bar,.athlete,.access-member{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.portal-bar{padding-bottom:1.2rem;border-bottom:1px solid #ddd;margin-bottom:1.3rem}.portal-bar small,.athlete small,.access-member small{display:block;color:#555}
.athlete{color:#151515;border-bottom:1px solid #ddd;padding:.85rem .25rem;text-decoration:none}.athlete:hover,.athlete:focus-visible{background:#f5f5f5}
#refreshAthletes{margin-top:1rem}#portalNotice{margin:1rem .4rem}
.profile-access{border-top:1px solid #ccc;margin-top:2rem;padding-top:1.5rem}
.profile-access h2{font-size:1.35rem;margin:0}.profile-access h3{font-size:1.05rem;margin:1.35rem 0 .4rem}
.profile-access .access-form{display:flex;align-items:end;gap:.65rem;flex-wrap:wrap}.access-form label{flex:1 1 16rem;margin:0}.access-form input{display:block;margin-top:.25rem}
.access-member{border-bottom:1px solid #ddd;padding:.75rem 0}.access-member span{min-width:0;overflow-wrap:anywhere}.access-member button{flex-shrink:0}
.profile-access a{color:#222}.profile-access [role=status]{margin:.75rem 0}.profile-access [role=status]:empty{display:none}
@media(max-width:420px){.access-form button{width:100%}.access-member{gap:.5rem}}
.staff-page [hidden]{display:none!important}

.back-to-athletes{display:inline-block;margin:0 0 12px;color:#242424;font-weight:650;text-underline-offset:3px}.back-to-athletes[hidden]{display:none}
