.sheet{border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--surface);width:100%;max-width:none;max-height:88vh;color:var(--ink);box-shadow:var(--shadow-lg);animation:sheet-up var(--dur-slow) var(--ease);border:0;margin:0;padding:0;position:fixed;inset:auto 0 0}.sheet::backdrop{background:var(--scrim)}html:has(.sheet[open]){overflow:hidden}@keyframes sheet-up{0%{opacity:0;transform:translateY(32px)}}.sheet-body{gap:var(--sp-10);overscroll-behavior:contain;max-height:88vh;padding:var(--sp-8) var(--sp-14) calc(var(--sp-16) + env(safe-area-inset-bottom));display:grid;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:var(--sp-8);padding:var(--sp-4) 0;display:flex}.sheet-title{gap:var(--sp-2);min-width:0;display:grid}.sheet-title strong{font-family:var(--font-display);font-size:var(--text-xl)}.sheet-lede{font-size:var(--text-md);color:var(--muted)}.sheet-close{border-radius:var(--radius-control);width:32px;height:32px;color:var(--muted);cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast);background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.sheet-close:hover{background:var(--surface-2);color:var(--ink)}.sheet-close:focus-visible{box-shadow:0 0 0 2px var(--focus);outline:none}.action-list{gap:var(--sp-8);margin:0;padding:0;list-style:none;display:grid}.action-item{align-items:center;gap:var(--sp-12);width:100%;min-height:48px;padding:var(--sp-10) var(--sp-12);text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:border-color var(--dur-fast), background var(--dur-fast);display:flex}.action-item:hover{border-color:var(--line-strong);background:var(--surface-2)}.action-item:focus-visible{box-shadow:0 0 0 2px var(--focus);outline:none}.action-icon{border-radius:var(--radius-control);background:var(--surface-2);width:34px;height:34px;color:var(--ink);flex-shrink:0;place-items:center;display:grid}.action-text{gap:var(--sp-2);min-width:0;display:grid}.sheet.is-actions .action-list{gap:var(--sp-6)}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.quick-find-open{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-2);width:100%;height:36px;color:var(--muted);font:inherit;font-size:var(--text-base);cursor:pointer;text-align:left;align-items:center;gap:8px;padding:0 10px;transition:border-color .12s,color .12s,background .12s;display:flex}.quick-find-open:hover{color:var(--ink);border-color:var(--line-strong);background:var(--surface)}.quick-find-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.quick-find-open kbd{font:inherit;font-size:var(--text-xs);border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--surface);color:var(--subtle);padding:0 6px;line-height:18px}.quick-find-icon{border-radius:var(--radius-control);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;transition:background .12s,color .12s;display:inline-grid}.quick-find-icon:hover{background:var(--surface-2);color:var(--ink)}.quick-find-input{display:block;position:relative}.quick-find-input svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.quick-find-input .input{padding-left:38px}.quick-find-list{flex-direction:column;gap:2px;max-height:50vh;display:flex;overflow-y:auto}.quick-find-group{font-size:var(--text-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px 4px;font-weight:600}.quick-find-option{border-radius:var(--radius-control);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:9px 10px;display:flex}.quick-find-option.is-active,.quick-find-option:hover,.quick-find-option:focus-visible{background:var(--surface-2)}.quick-find-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.quick-find-title{font-weight:600}.quick-find-scope{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);white-space:nowrap;padding:1px 8px}.quick-find-ai{border-top:1px solid var(--line);padding-top:14px}.quick-find-answer p{margin:0}.quick-find-help-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.quick-find-help-list .quick-find-option{width:100%;color:inherit;text-decoration:none}.quick-find-group{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.quick-find-star{color:var(--subtle);border-radius:var(--radius-xs);place-items:center;display:inline-grid}.quick-find-star:hover{color:var(--ink)}.quick-find-star.is-on{color:var(--accent-ink)}.quick-find-group .btn{text-transform:none;letter-spacing:0}.profile-menu{position:relative}.profile-menu-button{border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);min-height:38px;color:var(--ink);box-shadow:var(--shadow-xs);align-items:center;gap:10px;padding:3px 12px 3px 3px;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.profile-menu-button:hover{border-color:var(--accent-ink);background:var(--surface-2)}.profile-menu-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.profile-menu-button[aria-expanded=true]{border-color:var(--accent-ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)}.profile-menu-button[aria-expanded=true] .profile-menu-caret{transform:rotate(180deg)}.profile-menu-text{text-align:left;line-height:1.15;display:grid}.profile-menu-name{font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;max-width:12ch;font-weight:700;overflow:hidden}.profile-menu-hint{font-size:var(--text-sm);color:var(--muted);font-weight:600}.profile-menu-caret{color:var(--muted);transition:transform .15s var(--ease)}.profile-menu-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(340px,100vw - 32px);max-height:calc(100vh - 90px);box-shadow:var(--shadow-lg);z-index:var(--z-overlay);gap:2px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.pm-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:6px;padding:6px 8px 12px;display:flex}.pm-head-text{min-width:0;display:grid}.pm-head-text strong{font-size:var(--text-lg)}.pm-profile{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding-bottom:8px;display:flex}.pm-profile .pm-item{flex:1;min-width:0}.pm-photo{flex-shrink:0;justify-items:end;gap:2px;display:grid}.pm-photo-note{margin:0;padding:0 10px 6px}.pm-label{font-size:var(--text-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:10px 10px 4px;font-weight:650}.pm-item{border-radius:var(--radius-control);text-align:left;width:100%;font-size:var(--text-lg);color:var(--ink);background:0 0;border:0;align-items:center;gap:12px;padding:9px 10px;text-decoration:none;display:flex}a.pm-item:hover,button.pm-item:hover{background:var(--surface-2)}.pm-item:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.pm-item>svg:first-child{color:var(--muted);flex-shrink:0}.pm-item-text{flex:1;min-width:0;display:grid}.pm-item.is-static{cursor:default}.pm-chevron{color:var(--muted);transition:transform .15s var(--ease);flex-shrink:0}.pm-chevron.is-open{transform:rotate(90deg)}.pm-light{display:inline-flex}.pm-workspace{gap:8px;padding:4px 6px 8px 36px;display:grid}.pm-workspace .club-list{gap:2px;display:grid}.pm-workspace .club-list a{border-radius:var(--radius-sm);font-size:var(--text-base);align-items:center;gap:10px;padding:7px 8px;text-decoration:none;display:flex}.pm-workspace .club-list a:hover{background:var(--surface-2)}.pm-workspace .club-list a.is-current{background:var(--accent-soft);font-weight:600}.pm-workspace .menu-label{font-size:var(--text-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;font-weight:600}.pm-workspace .role-chips{margin:0}.pm-rule{border:0;border-top:1px solid var(--line);margin:6px 0}.club-list{gap:2px;display:grid}.scroll-target{scroll-margin-top:90px}.ws-coach{--ws:var(--ws-coach);--ws-soft:var(--ws-coach-soft)}.ws-clubAdmin{--ws:var(--ws-clubAdmin);--ws-soft:var(--ws-clubAdmin-soft)}.ws-mvcAdmin{--ws:var(--ws-mvcAdmin);--ws-soft:var(--ws-mvcAdmin-soft)}:root[data-workspace=coach] .staff-shell{--ws:var(--ws-coach);--ws-soft:var(--ws-coach-soft);--ws-glow:var(--ws-coach-glow)}:root[data-workspace=clubAdmin] .staff-shell{--ws:var(--ws-clubAdmin);--ws-soft:var(--ws-clubAdmin-soft);--ws-glow:var(--ws-clubAdmin-glow)}:root[data-workspace=mvcAdmin] .staff-shell{--ws:var(--ws-mvcAdmin);--ws-soft:var(--ws-mvcAdmin-soft);--ws-glow:var(--ws-mvcAdmin-glow)}:root[data-workspace]:not([data-role-colours=label]) .staff-shell main{--accent:var(--ws);--accent-soft:var(--ws-soft);--accent-ink:var(--ws);--on-accent:var(--on-ink);--on-ink-accent:var(--ws-glow)}:root[data-theme=dark][data-workspace]:not([data-role-colours=label]) .staff-shell main{--accent-ink:var(--ws-glow)}.staff-count{border-radius:var(--radius-pill);background:var(--ink-bg);min-width:19px;height:19px;color:var(--on-ink);font-size:var(--text-xs);place-items:center;padding:0 5px;font-weight:700;line-height:1;display:inline-grid}.app-shell{min-height:100vh}@media (width>=761px){.app-shell{grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}}.staff-column,.staff-body{min-width:0}.ws-athlete{--ws:var(--bike)}.app-side{z-index:var(--z-header);background:var(--surface);border-right:1px solid var(--line);scrollbar-width:thin;width:248px;height:100vh;transition:width .22s var(--ease);flex-direction:column;gap:8px;padding:12px 10px;display:flex;position:sticky;top:0;overflow-y:auto}.app-side.is-folded{align-items:center;width:64px;padding-inline:8px}.app-side>nav{width:100%;margin-top:4px}.app-side-top{justify-content:space-between;align-items:center;gap:6px;width:100%;min-height:56px;padding:0 0 0 8px;display:flex}.app-side-top .brand.brand-lt3 .brand-word{height:46px}.app-side-top .club-brand-logo{max-width:150px;max-height:36px}.app-side.is-folded .app-side-top{flex-direction:column;gap:8px;padding:0}.app-side.is-folded .brand.brand-lt3>span,.app-side.is-folded .powered-by{display:none}.app-side.is-folded .brand.brand-lt3 .brand-mark{display:block}.app-side.is-folded .club-brand-logo{max-width:40px}.brand-beta{display:inline-flex;position:relative}.brand-beta-stamp{border-radius:var(--radius-xs);background:var(--accent);color:var(--on-accent);font-size:var(--text-xs);letter-spacing:.06em;pointer-events:none;padding:1px 6px;font-weight:700;line-height:1.4;position:absolute;top:12px;left:calc(100% - 4px);transform:rotate(-6deg)}.app-side.is-folded .brand-beta-stamp{padding:0 4px;top:-6px;left:auto;right:-6px}.app-icon-btn{border-radius:var(--radius-control);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;transition:background .12s,color .12s;display:inline-grid}.app-icon-btn:hover{background:var(--surface-2);color:var(--ink)}.app-icon-btn[aria-pressed=true]{color:var(--ink)}.app-switch-wrap{width:100%}.app-switch{border-radius:var(--radius);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:6px 8px;transition:background .12s,border-color .12s;display:flex}.app-switch:hover,.app-switch[aria-expanded=true]{background:var(--surface-2);border-color:var(--line)}.app-switch.is-static{cursor:default}.app-switch.is-static:hover{background:0 0;border-color:#0000}.app-switch-mark{flex:none;text-decoration:none;display:inline-grid;position:relative}.app-switch-lt3{border-radius:var(--radius-control);background:var(--ink-bg);width:32px;height:32px;color:var(--on-ink-accent);place-items:center;display:grid}.app-dot{background:var(--ws,var(--muted));border-radius:50%;flex:none;width:9px;height:9px}.app-switch-mark .app-dot{border:2px solid var(--surface);width:12px;height:12px;position:absolute;bottom:-3px;right:-3px}.app-switch-text{flex:1;min-width:0;line-height:1.25;display:grid}.app-switch-text strong,.app-switch-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-switch-text strong{font-size:var(--text-base);font-weight:700}.app-switch-text span{font-size:var(--text-sm);color:var(--muted);font-weight:600}.app-switch-caret{color:var(--muted)}.app-side.is-folded .app-switch{justify-content:center;padding:4px}.app-side.is-folded .app-switch-text,.app-side.is-folded .app-switch-caret{display:none}.app-pop,.app-fly{width:min(260px, var(--layer-max-w,100vw));background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:app-pop .18s var(--ease);gap:2px;padding:6px;display:grid}.app-fly{width:min(240px, var(--layer-max-w,100vw));padding:10px 8px;animation-name:app-slide}.app-fly-title{font-family:var(--font-display);font-size:var(--text-lg);padding:2px 10px 8px}@keyframes app-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes app-slide{0%{opacity:0;transform:translate(-6px)}}.app-pop-label,.app-pop .club-list .menu-label,.app-sheet .club-list .menu-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);padding:8px 10px 4px;font-weight:700;display:block}.app-roles{gap:1px;display:grid}.app-role{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;display:flex}.app-role:hover{background:var(--surface-2)}.app-role-label{flex:1;min-width:0}.app-role-check{color:var(--accent-ink)}.app-roles+.club-list{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.app-pop .club-list a,.app-sheet .club-list a{border-radius:var(--radius-control);color:var(--ink);font-size:var(--text-base);align-items:center;gap:10px;padding:7px 10px;text-decoration:none;display:flex}.app-pop .club-list a:hover,.app-sheet .club-list a:hover{background:var(--surface-2)}.app-pop .club-list a.is-current,.app-sheet .club-list a.is-current{background:var(--accent-soft);font-weight:600}.app-side .quick-find-open{margin:0}.app-side-actions{gap:6px;width:100%;display:grid}.app-log{justify-content:center;width:100%}.app-side-actions .athlete-updates{gap:4px;display:grid}.app-side.is-folded .app-side-actions{justify-items:center}.app-side.is-folded .app-log{width:40px;padding:0}.app-side.is-folded .app-log-text,.app-side.is-folded .athlete-update-text{display:none}.app-side.is-folded .athlete-update{justify-content:center;width:40px;padding:0}.app-nav,.app-pages{gap:1px;margin:0;padding:0;list-style:none;display:grid}.app-sec{border-radius:var(--radius-control);width:100%;color:var(--ink-2);font:inherit;font-size:var(--text-base);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:8px 10px;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.app-sec svg{color:var(--muted)}.app-sec:hover{background:var(--surface-2);color:var(--ink)}.app-sec.is-on{background:var(--accent-soft);color:var(--ink)}.app-sec.is-open{color:var(--ink)}.app-sec.is-on svg,.app-sec.is-open svg{color:var(--accent-ink)}.app-sec-label,.app-page-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-pages{margin:1px 0 6px 30px}.app-page{border-radius:var(--radius-control);color:var(--muted);font-size:var(--text-md);align-items:center;gap:8px;padding:6px 10px;text-decoration:none;transition:background .12s,color .12s;display:flex}.app-page:hover{background:var(--surface-2);color:var(--ink)}.app-page.is-on{background:var(--accent-soft);color:var(--ink);font-weight:650}.app-sec:focus-visible,.app-page:focus-visible,.app-switch:focus-visible,.app-role:focus-visible,.app-tab:focus-visible,.app-tab-fab:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.app-side.is-folded .app-sec{justify-content:center;width:44px;height:40px;margin-inline:auto;padding:0}.app-side.is-folded .app-sec-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-side.is-folded .app-sec .staff-count{min-width:16px;height:16px;font-size:var(--text-xs);padding:0 4px;position:absolute;top:2px;right:1px}.app-side-foot{border-top:1px solid var(--line);width:100%;margin-top:auto;padding-top:8px}.app-side-foot .profile-menu-button{border-radius:var(--radius);width:100%;min-height:0;box-shadow:none;background:0 0;border:0;justify-content:flex-start;padding:6px}.app-side-foot .profile-menu-button:hover,.app-side-foot .profile-menu-button[aria-expanded=true]{background:var(--surface-2);box-shadow:none}.app-side-foot .profile-menu-text{flex:1;min-width:0;display:grid}.app-side-foot .profile-menu-name{max-width:none;font-size:var(--text-base)}.app-side-foot .profile-menu-panel{position:fixed;inset:auto auto 12px 260px}.app-side.is-folded .app-side-foot .profile-menu-text{display:none}.app-side.is-folded .app-side-foot .profile-menu-button{justify-content:center}.app-side.is-folded .app-side-foot .profile-menu-panel{left:76px}.profile-menu-hint{align-items:center;gap:5px;display:inline-flex}.profile-menu-hint.sync-ok:before,.profile-menu-hint.sync-error:before,.profile-menu-hint.sync-off:before{content:"";background:var(--line-strong);border-radius:50%;flex:none;width:7px;height:7px}.profile-menu-hint.sync-ok:before{background:var(--light-green-dot)}.profile-menu-hint.sync-error{color:var(--danger)}.profile-menu-hint.sync-error:before{background:var(--light-red-dot)}.app-phone-bar{z-index:var(--z-header);background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.app-phone-row{align-items:center;gap:4px;height:54px;padding:0 10px 0 12px;display:flex}.app-phone-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-display);font-size:var(--text-xl);flex:1;margin-left:8px;font-weight:700;overflow:hidden}.app-phone-row .profile-menu-button{min-height:0;box-shadow:none;background:0 0;border:0;padding:2px}.app-phone-row .profile-menu-text,.app-phone-row .athlete-update-text{display:none}.app-phone-brand{align-items:center;padding:0 2px 0 4px;display:inline-flex}.app-phone-brand .brand-word{width:auto;height:24px;display:block}.app-phone-row .athlete-update{padding:0 9px}.app-phone-pages{border-bottom:0;padding:0 12px}.app-phone-pages a{align-items:center;gap:6px;display:inline-flex}.app-bottom{z-index:var(--z-header);padding:4px 4px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}.app-tab{min-width:0;color:var(--muted);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;flex:1;justify-items:center;gap:2px;padding:4px 2px;font-weight:650;text-decoration:none;display:grid}.app-tab-icon{border-radius:var(--radius-pill);place-items:center;width:52px;height:30px;transition:background .18s;display:grid;position:relative}.app-tab.is-on{color:var(--ink)}.app-tab.is-on .app-tab-icon{background:var(--accent-soft);color:var(--accent-ink)}.app-tab .staff-count{min-width:17px;height:17px;font-size:var(--text-xs);padding:0 4px;position:absolute;top:-2px;left:calc(50% + 6px)}.app-tab-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.app-tab-action{flex:1;justify-items:center;min-width:0;display:grid}.app-tab-fab{max-width:100%;color:var(--ink-2);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;justify-items:center;gap:2px;padding:0 2px 4px;font-weight:650;display:grid}.app-tab-fab-icon{border:4px solid var(--paper);background:var(--accent);width:54px;height:54px;color:var(--on-accent);box-shadow:var(--shadow);border-radius:50%;place-items:center;margin-top:-26px;transition:transform .12s;display:grid}.app-tab .person-avatar{box-shadow:0 0 0 2px var(--surface)}.app-tab.is-on .app-tab-icon:has(.person-avatar){background:var(--accent-soft)}.app-sheet-me{gap:2px;padding:0 4px 8px;display:grid}.app-tab-fab:active .app-tab-fab-icon{transform:scale(.96)}.app-roles.is-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.app-roles.is-grid .app-pop-label{grid-column:1/-1;padding:0 0 2px}.app-roles.is-grid .app-role{border:1px solid var(--line);padding:9px 10px}.app-roles.is-grid .app-role[aria-pressed=true]{border-color:var(--ws);background:color-mix(in srgb, var(--ws) 8%, var(--surface))}.app-sheet nav{border-top:1px solid var(--line);padding-top:6px}.app-sheet .app-sec{font-size:var(--text-lg);padding:10px}.app-sheet .app-page{font-size:var(--text-base);padding:8px 10px}@media (prefers-reduced-motion:reduce){.app-side,.app-pop,.app-fly{transition:none;animation:none}}
