:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#30133b;background:#f7f3f8}
*{box-sizing:border-box}body{margin:0}header{background:#30103d;color:white;padding:1rem max(1rem,calc((100vw - 960px)/2));display:flex;justify-content:space-between;gap:1rem}header a{color:white}
main{max-width:960px;margin:2.5rem auto;padding:0 1rem 4rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#774a7d;font-weight:750;font-size:.8rem}h1{font-size:clamp(2rem,5vw,3rem);margin:.25rem 0 1.5rem}h2{margin:0 0 .6rem}
.card{background:#fff;border:1px solid #e5dce8;border-radius:20px;padding:1.5rem;margin:1rem 0;box-shadow:0 9px 32px #30103d0b}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}label{display:block;font-weight:650;margin:.55rem 0}label input:not([type=checkbox]){display:block;width:100%;padding:.8rem;border:1px solid #cbbfce;border-radius:10px;font:inherit;margin-top:.4rem}fieldset{border:1px solid #dfd3e2;border-radius:12px;margin:1.25rem 0;padding:.8rem}fieldset label{display:inline-flex;align-items:center;gap:.35rem;margin:.3rem .8rem .3rem 0}button,.button{display:inline-block;background:#30103d;color:white;padding:.85rem 1.15rem;border:0;border-radius:10px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:#471550}.session{border-top:1px solid #e8e0e9;padding:1rem 0}.session:first-of-type{border-top:0}.session strong{display:block}.muted{color:#68596d}#owned a{display:inline-block;margin:.2rem .8rem .2rem 0}

.club-shell{max-width:1220px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:2rem;align-items:start}
.club-content{min-width:0}.club-sidebar{position:sticky;top:1.5rem;background:#fff;border:1px solid #e5dce8;border-radius:20px;padding:1.25rem;box-shadow:0 9px 32px #30103d0b}
.club-sidebar .eyebrow{margin:0 0 .3rem}.club-sidebar strong{display:block;font-size:1.2rem;line-height:1.25;margin-bottom:1.3rem;overflow-wrap:anywhere}
.club-sidebar nav{display:grid;gap:.3rem}.club-sidebar nav a{display:block;text-decoration:none;padding:.8rem .9rem;border-radius:10px;font-weight:650}.club-sidebar nav a:hover,.club-sidebar nav a:focus-visible{background:#f7f0f9}.club-sidebar nav .active{background:#eee3f1;color:#30103d}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.calendar-heading .eyebrow{margin:0 0 .2rem}.calendar-heading h2{text-transform:capitalize;margin:0}.calendar-actions{display:flex;gap:.35rem}.calendar-actions button{background:#f3ebf5;color:#30103d;padding:.45rem .8rem;min-width:2.6rem}.calendar-actions button:hover,.calendar-actions button:focus-visible{background:#e6d7eb}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar-weekdays{text-align:center;font-weight:700;color:#68596d;font-size:.85rem;margin-bottom:.35rem}.calendar-date{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0;min-height:76px;background:#faf7fb;color:#30103d;border:1px solid #eee5f0;padding:.65rem;border-radius:12px;text-align:left;font-size:.8rem;font-weight:500}.calendar-date strong{font-size:1rem}.calendar-date span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#694273}.calendar-date.has-training{background:#f4eafa;border-color:#ddcbe4}.calendar-date.is-today strong{border-radius:50%;background:#30103d;color:#fff;padding:.18rem .42rem;margin:-.18rem -.42rem}.calendar-date.is-selected{outline:2px solid #813b8f;outline-offset:-2px}.calendar-date:hover,.calendar-date:focus-visible{background:#e9d9ef}.calendar-spacer{min-height:76px}.calendar-help{margin:1rem 0 .4rem}#calendar-day{border-top:1px solid #e8e0e9;padding-top:.8rem}#calendar-day h3{text-transform:capitalize;margin:.2rem 0 .5rem}.calendar-session{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #efe9f0;padding:.7rem 0}.calendar-session span{color:#68596d}
@media(max-width:760px){.club-shell{display:block;margin-top:1rem}.club-sidebar{position:static;padding:.9rem;margin-bottom:1rem}.club-sidebar strong{margin-bottom:.7rem}.club-sidebar nav{display:flex;overflow-x:auto;gap:.25rem}.club-sidebar nav a{flex:0 0 auto;padding:.65rem .75rem}.club-content h1{margin-bottom:.6rem}.card{padding:1rem}.calendar-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:1rem}.calendar-actions{width:100%;justify-content:flex-end}.calendar-weekdays,.calendar-grid{gap:.2rem}.calendar-date,.calendar-spacer{min-height:55px}.calendar-date{padding:.35rem;align-items:center;text-align:center;gap:.1rem;font-size:.65rem}.calendar-date span{font-size:0}.calendar-date.has-training span{display:block;width:6px;height:6px;border-radius:50%;background:#813b8f}.calendar-session{display:block}.calendar-session span{display:block;margin-top:.2rem}}
.trainer-choices{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.trainer-choices button{background:#f3ebf5;color:#30103d}.trainer-choices button.active{background:#30103d;color:white}.trainer-choices button[hidden]{display:none}
.copy-options{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1.2rem}.copy-option{background:#f3ebf5;color:#30103d;text-align:left;padding:.65rem .85rem}.copy-option[aria-pressed=true]{background:#30103d;color:white}#copy-plan h3{font-size:1rem;margin:1.2rem 0 .4rem}#copy-preview{font-weight:650}#copy-replace-label{padding:.8rem;background:#fff3e8;border-radius:10px;margin:1rem 0}#copy-replace-label input{margin-right:.4rem}
[hidden]{display:none!important}
.edit-plan-link{display:inline-block;margin-top:.5rem;font-weight:700;text-decoration:none}.edit-plan-link:hover{text-decoration:underline}
header{align-items:center;flex-wrap:wrap}#global-context{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}#global-context nav{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}#global-context a,#global-context button{display:inline-flex;align-items:center;min-height:38px;padding:.4rem .7rem;border:1px solid #9f84a9;border-radius:999px;background:transparent;color:white;text-decoration:none;font-size:.82rem;font-weight:700;white-space:nowrap}#global-context a[aria-current=page],#global-context button[aria-pressed=true]{background:#fff;color:#30103d;border-color:#fff}#global-context .all-clubs-link{font-size:.75rem}body[data-active-role=member] .edit-plan-link,body[data-active-role=member] #nav-invite,body[data-active-role=member] #nav-trainers,body[data-active-role=member] #nav-copy,body[data-active-role=member] #invite,body[data-active-role=member] #trainers,body[data-active-role=member] #copy-plan,body[data-active-role=trainer] #nav-invite,body[data-active-role=trainer] #nav-trainers,body[data-active-role=trainer] #nav-copy,body[data-active-role=trainer] #invite,body[data-active-role=trainer] #trainers,body[data-active-role=trainer] #copy-plan{display:none!important}@media(max-width:760px){#global-context{width:100%;justify-content:flex-start}#global-context a,#global-context button{min-height:36px;font-size:.75rem;padding:.35rem .6rem}}
.calendar-heading{align-items:center}.calendar-heading>.eyebrow{margin:0}.calendar-actions{align-items:center;justify-content:space-between;min-width:min(100%,280px)}.calendar-actions h2{font-size:1.3rem;text-align:center;white-space:nowrap}.calendar-date{gap:.3rem}.calendar-date .calendar-entry{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#e9d9ef;color:#30103d;padding:.25rem .35rem;border-radius:6px;font-size:.7rem;font-weight:650}.session{display:flex;align-items:center;gap:1rem;border:1px solid #e8e0e9;border-radius:14px;padding:1rem;margin:.7rem 0;background:#fff}.session:first-of-type{border:1px solid #e8e0e9}.session-date{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 56px;background:#f1e8f4;border-radius:10px;padding:.4rem;color:#30103d}.session-date strong{font-size:1.4rem;line-height:1.1}.session-date span{text-transform:uppercase;font-size:.7rem;font-weight:750}.session-body{min-width:0;flex:1}.session-body strong{font-size:1rem}.session-body span{display:block;margin-top:.2rem;color:#68596d;font-size:.9rem}.session .edit-plan-link{margin-top:0;white-space:nowrap}
@media(max-width:760px){.calendar-heading{display:block}.calendar-heading>.eyebrow{margin-bottom:.65rem}.calendar-actions{width:100%;min-width:0}.calendar-actions h2{font-size:1.15rem}.calendar-date .calendar-entry{width:6px;height:6px;border-radius:50%;background:#813b8f;padding:0;font-size:0;margin-top:.1rem}.session{align-items:flex-start;gap:.7rem;padding:.8rem}.session-date{flex-basis:46px}.session-date strong{font-size:1.15rem}.session .edit-plan-link{margin-left:auto;white-space:normal;text-align:right;font-size:.8rem}}
.session{min-height:90px;display:grid;grid-template-columns:56px 5px minmax(0,1fr) auto auto;gap:1rem;box-shadow:0 4px 16px #30103d09;transition:border-color .15s ease,box-shadow .15s ease}.session:hover{border-color:#c9bdcd;box-shadow:0 10px 24px #30103d16}.session-accent{align-self:stretch;border-radius:99px;background:#8c5199}.session-body .session-coach{font-size:.8rem}.session-spots{padding:.5rem .65rem;border-radius:999px;background:#e5fbf3;color:#225c50;font-size:.8rem;font-weight:800;white-space:nowrap}.session .edit-plan-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin:0;padding:.6rem .8rem;border-radius:9px;background:#30103d;color:white;text-decoration:none;font-size:.85rem}.session .edit-plan-link:hover,.session .edit-plan-link:focus-visible{background:#54205f}
@media(max-width:760px){.session{grid-template-columns:46px 4px minmax(0,1fr);gap:.6rem}.session-spots{grid-column:3;width:max-content}.session .edit-plan-link{grid-column:3;width:max-content;margin:0}.session-date{align-self:start}.session-accent{grid-row:1 / span 3}.session-body{grid-column:3}}
