:root{color:#17324d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#eef6f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}:root{--navy-950:#102a43;--navy-800:#173f5f;--ink:#17324d;--muted:#62778a;--teal:#008c95;--swim:#16a6ad;--ride:#f2aa2e;--run:#e45f59;--paper:#f4f8f8;--surface:#fff;--surface-soft:#edf4f3;--line:#d8e4e3;--focus:#087f8c;--shadow:0 1px 2px #102a430d, 0 10px 30px #102a430d;--radius:.85rem}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:var(--paper);margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{border:1px solid var(--navy-950);color:#fff;background:var(--navy-950);cursor:pointer;border-radius:.65rem;min-height:2.75rem;padding:.7rem 1rem;font-weight:750;transition:transform .12s,background .12s,border-color .12s}button:hover:not(:disabled){background:var(--navy-800)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid var(--theme-focus-ring,#087f8c3d);outline-offset:2px}.quiet{color:var(--theme-on-dark,#d9e5ec);text-align:left;background:0 0;border-color:#0000}.button-secondary{border-color:var(--theme-line,#b9cdcf);color:var(--ink);background:var(--surface)}.button-secondary:hover:not(:disabled){border-color:var(--teal);color:var(--teal);background:var(--theme-soft,#f7fbfb)}a.button-secondary{border:1px solid var(--theme-line,#b9cdcf);min-height:2.75rem;color:var(--ink);background:var(--surface);font:inherit;text-align:center;border-radius:.65rem;justify-content:center;align-items:center;padding:.7rem 1rem;font-weight:750;line-height:1.35;text-decoration:none;transition:transform .12s,background .12s,border-color .12s;display:inline-flex}a.button-secondary:hover{border-color:var(--teal);color:var(--teal);background:var(--theme-soft,#f7fbfb)}a.button-secondary:active{transform:translateY(1px)}.link-danger{color:#9c3732;background:0 0;border-color:#0000;min-height:auto;padding:.25rem .35rem;font-size:.75rem}.eyebrow{color:var(--theme-muted,#52717d);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .35rem;font-size:.68rem;font-weight:850}h1{letter-spacing:-.04em;margin:0 0 .65rem;font-size:clamp(2rem,4vw,3rem);line-height:1.04}h2{letter-spacing:-.015em;margin:0 0 .75rem;font-size:1.15rem;line-height:1.25}h3{font-size:.95rem}.lead{max-width:46rem;color:var(--muted);margin-top:.5rem;font-size:1rem}.brand-mark{justify-content:center;gap:.35rem;display:flex}.brand-mark span{background:var(--theme-brand-1,var(--swim));border-radius:1rem;width:2.2rem;height:.35rem}.brand-mark span:nth-child(2){background:var(--theme-brand-2,var(--ride))}.brand-mark span:nth-child(3){background:var(--theme-brand-3,var(--run))}.environment-badge{z-index:20;color:#654400;box-shadow:var(--shadow);letter-spacing:.08em;text-transform:uppercase;background:#fff2c7;border:1px solid #d89615;border-radius:999px;padding:.4rem .75rem;font-size:.68rem;font-weight:850;position:fixed;top:.75rem;left:50%;transform:translate(-50%)}.auth-shell{background:radial-gradient(circle at 10% 15%, var(--theme-tint,#d6eeee), transparent 30rem), var(--paper);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:1.4rem;width:min(100%,32rem);padding:clamp(2rem,6vw,3.5rem);box-shadow:0 2rem 5rem #17324d17}.auth-card--login{grid-template-columns:minmax(0,1.15fr) minmax(19rem,.85fr);width:min(100%,68rem);padding:0;display:grid;overflow:hidden}.auth-card--register{text-align:left;width:min(100%,52rem)}.auth-card--register form{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-card--register form>fieldset,.auth-card--register form>section,.auth-card--register form>button,.auth-card--register form>p{grid-column:1/-1}.auth-card--register .auth-links{justify-content:flex-start}.auth-visual{background:linear-gradient(145deg, var(--surface) 50%, #fff8e7);place-items:center;min-height:38rem;padding:2rem;display:grid}.auth-visual img{object-fit:contain;width:100%;max-height:35rem;display:block}.auth-content{padding:clamp(2rem,5vw,3.5rem)}.auth-theme{justify-content:flex-end;gap:.5rem;margin:-.75rem -.75rem 1rem;display:flex}.language-picker{width:9.5rem;display:block}.language-picker .context-select-trigger{min-height:2.35rem;padding:.25rem .45rem}.language-picker .context-select-symbol{letter-spacing:.04em;border-radius:.45rem;width:1.65rem;height:1.65rem;font-size:.62rem}.language-picker .context-select-current b{font-size:.74rem}.language-picker .context-select-list{min-width:12rem}.auth-card form{text-align:left;gap:1rem;margin-top:1.5rem;display:grid}.required-mark{color:var(--run)}.field-label{align-items:baseline;gap:.2rem;display:inline-flex}.auth-card input.input-error{background:#fff6f5;border-color:#bf3028}.field-error{color:#a82620;font-size:.72rem;font-weight:700}.auth-card fieldset.fieldset-error{background:#fff6f5;border-color:#bf3028}.registration-children{border:1px solid var(--theme-line,var(--line));background:var(--theme-soft,#f7fbfb);border-radius:.8rem;gap:.75rem;padding:1rem;display:grid}.registration-children-heading,.registration-child>div{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.registration-children-heading small{max-width:21rem;color:var(--muted);margin-top:.25rem;line-height:1.45;display:block}.registration-children-heading .button-secondary{white-space:nowrap;min-height:2.25rem;padding:.4rem .65rem}.registration-child{background:var(--surface);border-radius:.6rem;grid-template-columns:1fr 1fr;gap:.65rem;padding:.8rem;display:grid}.registration-child>div{grid-column:1/-1;align-items:center}.registration-child p{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.registration-child>div button{border:1px solid var(--line);background:var(--surface);width:1.75rem;min-height:1.75rem;color:var(--muted);border-radius:50%;padding:0;font-size:1.25rem;line-height:1}.registration-child>div button:hover{color:#bf3028;background:#fff6f5;border-color:#bf3028}.password-input{margin-top:.35rem;display:grid}.password-input input{grid-area:1/1;padding-right:3rem}.password-toggle{width:2.25rem;height:2.25rem;color:var(--teal);background:0 0;border:0;border-radius:.45rem;grid-area:1/1;place-self:center end;place-items:center;margin-right:.35rem;padding:0;display:grid}.password-toggle:hover{color:var(--ink);background:var(--theme-soft,#eef6f5)}.password-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:1px}.password-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.auth-links{justify-content:center;gap:1rem;margin-top:1.25rem;font-size:.85rem;display:flex}.startup-error p{color:var(--muted);line-height:1.65}.startup-error code{color:var(--ink);background:var(--surface-soft);border-radius:.3rem;padding:.12rem .3rem;font-size:.8em}label{color:var(--theme-muted,#405c70);gap:.4rem;font-size:.82rem;font-weight:750;display:grid}input,select,textarea{border:1px solid var(--theme-line,#bfd1d1);width:100%;min-height:2.75rem;color:var(--ink);background:var(--surface);border-radius:.6rem;padding:.65rem .75rem}input:hover,select:hover,textarea:hover{border-color:var(--theme-border,#91b3b5)}input:focus,select:focus,textarea:focus{border-color:var(--focus);outline:3px solid var(--theme-focus-ring,#087f8c29)}.date-time-input{grid-template-columns:minmax(0,1.2fr) minmax(5.5rem,.8fr);gap:.55rem;margin-top:.35rem;display:grid}.date-time-input label{letter-spacing:.05em;text-transform:uppercase;gap:.22rem;font-size:.68rem}.date-time-input input{font-variant-numeric:tabular-nums;letter-spacing:.02em;min-width:0}.date-time-date{display:grid;position:relative}.date-time-date input:first-child{grid-area:1/1;padding-right:2.45rem}.date-time-date button{z-index:1;width:2rem;min-height:2rem;color:var(--teal);background:0 0;border:0;border-radius:.4rem;grid-area:1/1;place-self:center end;margin-right:.25rem;padding:0;font-size:1rem}.date-time-date button:hover{background:var(--theme-soft,#eef6f5)}.date-time-native-picker{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:absolute!important}input:disabled{color:var(--theme-muted,#718392);background:var(--theme-soft,#eef3f3)}fieldset{border:1px solid var(--line);border-radius:.65rem;gap:1rem;display:flex}fieldset label,.consent-check,.toggle{align-items:center;gap:.5rem;display:flex}fieldset input,.consent-check input,.toggle input{width:auto;min-height:auto;accent-color:var(--teal)}.portal{grid-template-columns:15.5rem minmax(0,1fr);min-height:100vh;display:grid}.portal-sidebar{color:#fff;background:var(--navy-950);flex-direction:column;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.logo{letter-spacing:-.04em;margin:.35rem .65rem 2rem;padding-bottom:.7rem;font-size:1.55rem;font-weight:900;text-decoration:none;position:relative}.logo:after{background:linear-gradient(90deg, var(--swim) 0 33%, var(--ride) 33% 66%, var(--run) 66%);content:"";border-radius:2px;height:3px;position:absolute;bottom:0;left:0;right:0}.portal-sidebar nav{gap:.25rem;display:grid}.portal-sidebar nav a{color:var(--theme-on-dark,#c9d8e2);border-radius:.55rem;padding:.72rem .8rem;font-size:.9rem;font-weight:650;text-decoration:none;position:relative}.portal-sidebar nav a:hover{color:#fff;background:#ffffff12}.portal-sidebar nav a.router-link-exact-active{color:#fff;background:#ffffff1f}.portal-sidebar nav a.router-link-exact-active:before{background:var(--theme-brand-1,var(--swim));content:"";border-radius:2px;width:3px;position:absolute;top:.65rem;bottom:.65rem;left:0}.portal-sidebar button{margin-top:auto}.content{min-width:0;padding:0 clamp(1.25rem,4vw,4rem) 4rem}.content>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:4.5rem;margin-bottom:clamp(2rem,5vw,3.5rem);display:flex}.content>header>div:first-child{display:grid}.content>header small{color:var(--muted);letter-spacing:.1em;font-size:.65rem;font-weight:800}.content>header strong{font-size:.88rem}.content>header .pill{text-overflow:ellipsis;white-space:nowrap;max-width:45%;overflow:hidden}.portal-header-actions{justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.content>section{width:100%}.profile-completion{border:2px solid var(--ride);border-radius:var(--radius);color:#4c3400;background:#fff5d9;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.15rem;margin:-1.25rem 0 2rem;padding:1.35rem;display:grid;box-shadow:0 .8rem 2rem #764d001f}.profile-completion-mark{color:#4c3400;background:var(--ride);border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;font-size:1.35rem;font-weight:900;display:grid}.profile-completion .eyebrow{color:#765000}.profile-completion h2,.profile-completion p,.profile-completion ul{margin:0}.profile-completion h2{font-size:1.1rem}.profile-completion p{margin-top:.2rem;font-size:.84rem}.profile-completion ul{flex-wrap:wrap;gap:.35rem;margin-top:.65rem;padding:0;list-style:none;display:flex}.profile-completion li{border:1px solid #76500040;border-radius:999px;padding:.12rem .45rem;font-size:.7rem;font-weight:750}.profile-completion-action{color:#fff;white-space:nowrap;background:#765000;border-radius:.65rem;justify-content:center;align-items:center;min-height:2.75rem;padding:.65rem .85rem;font-size:.8rem;font-weight:800;text-decoration:none;display:inline-flex}.profile-completion-action:hover{background:#4c3400}.profile-image-consent-editor{border:1px solid var(--theme-line,var(--line));background:var(--theme-soft,var(--surface-soft));border-radius:.7rem;gap:.55rem;padding:.85rem;display:grid}.profile-image-consent-editor legend{font-weight:850}.profile-image-consent-editor p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.5}.profile-image-consent-editor label{align-items:flex-start;gap:.55rem;font-size:.8rem;display:flex}.profile-image-consent-editor input{width:1rem;min-height:auto;accent-color:var(--teal);margin-top:.2rem}.image-consent-options{border:0;gap:.45rem;min-width:0;margin:0;padding:0;display:grid}.image-consent-options label{align-items:flex-start;gap:.5rem;font-size:.8rem;display:flex}.image-consent-options input{width:1rem;min-height:auto;accent-color:var(--teal);margin-top:.2rem}.image-consent-rgpd{font-size:.78rem!important}.athlete-profile-page>.profile-load-error{width:auto;box-shadow:none;text-align:left;margin:0 0 1rem;animation:none;position:static}.profile-load-error strong{margin-bottom:.35rem;display:block}.profile-load-error p{overflow-wrap:anywhere;margin:0 0 .8rem}.profile-load-error .button-secondary{width:max-content;display:inline-flex}@media (width<=600px){.profile-completion{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.8rem;margin:-.75rem 0 1.25rem;padding:1rem}.profile-completion-mark{width:2.35rem;height:2.35rem}.profile-completion-action{box-sizing:border-box;grid-column:1/-1;width:100%}.profile-completion ul{gap:.3rem}.profile-completion li{line-height:1.35}}.notification-center{position:relative}.notification-center>summary{border:1px solid var(--theme-line,#bfd1d1);width:2.65rem;height:2.65rem;color:var(--navy-800);background:var(--surface);cursor:pointer;border-radius:999px;place-items:center;list-style:none;display:grid;position:relative}.notification-center>summary::-webkit-details-marker{display:none}.notification-center>summary>svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.notification-center>summary>b{border:2px solid var(--paper);color:#fff;background:var(--run);border-radius:999px;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .25rem;font-size:.6rem;font-weight:900;display:grid;position:absolute;top:-.35rem;right:-.35rem}.notification-center[open]>summary{border-color:var(--teal);color:var(--teal);outline:3px solid #087f8c1f}.notification-popover{z-index:30;border:1px solid var(--line);background:var(--surface);border-radius:.9rem;width:min(26rem,100vw - 2rem);max-height:min(38rem,100vh - 7rem);position:absolute;top:calc(100% + .65rem);right:0;overflow:auto;box-shadow:0 1.5rem 4rem #102a4333}.notification-popover>header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;justify-content:space-between;align-items:start;gap:1rem;padding:1rem;display:flex;position:sticky;top:0}.notification-popover>header h2{margin:0}.notification-popover>header button{min-height:2rem;padding:.35rem .5rem;font-size:.65rem}.notification-list article{border-bottom:1px solid var(--theme-line,#e8eeee);background:var(--surface);position:relative}.notification-list article.is-unread{background:var(--theme-soft,#f0f8f7)}.notification-list article:last-child{border-bottom:0}.notification-open{width:100%;min-height:auto;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:5px minmax(0,1fr);gap:.75rem;padding:.85rem 2.4rem .85rem 1rem;display:grid}.notification-open:hover:not(:disabled){color:var(--ink);background:#087f8c0d}.notification-open>span{background:var(--theme-line,#b9c8ca);border-radius:999px;width:5px;height:2.5rem}.notification-list article.is-unread .notification-open>span{background:var(--swim)}.notification-open>div{gap:.15rem;min-width:0;display:grid}.notification-open small{color:#28536c;text-transform:uppercase;font-size:.65rem;font-weight:850}.notification-open p,.notification-open time{color:var(--muted);margin:0;font-size:.7rem}.notification-open time{margin-top:.15rem}.notification-dismiss{width:1.8rem;min-height:1.8rem;color:var(--muted);background:0 0;border-color:#0000;padding:0;font-size:1rem;position:absolute;top:.55rem;right:.55rem}.notification-dismiss:hover:not(:disabled){color:#842923;background:#fde9e7}.notification-empty,.notification-error{color:var(--muted);margin:0;padding:1.2rem 1rem;font-size:.78rem}.notification-error{color:#842923;background:#fde9e7}.notification-preferences-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin:2.5rem 0 1rem;display:flex}.notification-preferences-heading h2{margin-bottom:.25rem}.notification-preferences-heading p{color:var(--muted);margin:0}.channel-legend{color:var(--muted);gap:.8rem;padding-bottom:.2rem;font-size:.72rem;font-weight:750;display:flex}.channel-legend span{align-items:center;gap:.3rem;display:flex}.channel-dot{background:var(--swim);border-radius:50%;width:.55rem;height:.55rem}.channel-dot--push{background:var(--ride)}.notification-preferences{padding:0;overflow:hidden}.preference-table-heading,.preference-row{grid-template-columns:minmax(0,1fr) 5rem 5rem;align-items:center;display:grid}.preference-table-heading{color:var(--muted);background:var(--surface-soft);letter-spacing:.08em;text-transform:uppercase;padding:.75rem 1.2rem;font-size:.68rem;font-weight:850}.preference-table-heading span:not(:first-child){text-align:center}.preference-row{border-top:1px solid var(--line);min-height:4.6rem;padding:.7rem 1.2rem}.preference-row>div{gap:.08rem;display:grid}.preference-row small{color:var(--muted)}.preference-row em{color:#176044;background:#e2f5ec;border-radius:999px;width:max-content;margin-top:.25rem;padding:.1rem .4rem;font-size:.62rem;font-style:normal;font-weight:800}.preference-row>label{place-items:center;display:grid}.preference-row input{width:1.15rem;height:1.15rem;min-height:auto;accent-color:var(--teal)}.preference-note{color:#654400;background:#fff8e7;border-top:1px solid #f1d99c;margin:0;padding:.7rem 1.2rem;font-size:.75rem}.push-device{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin:0 1.2rem;padding:1.2rem 0;display:flex}.push-device p{color:var(--muted);margin:.15rem 0 0;font-size:.78rem}.push-device .ios-install{color:#654400;max-width:42rem;margin-top:.45rem}.notification-preferences>button{width:max-content;margin:0 1.2rem 1.2rem auto}.notification-onboarding{max-width:38rem}.registration-delivery-notice{color:#6b4c0b;background:#fff8e7;border:1px solid #e5c57a;border-left:4px solid #c78a16;border-radius:.7rem;margin:.9rem 0;padding:.85rem 1rem;line-height:1.45}.registration-delivery-notice strong{margin-bottom:.2rem;display:block}.registration-delivery-notice p{color:inherit;margin:0;font-size:.82rem}.notification-onboarding form{gap:.85rem;display:grid}.notification-choice{border:1px solid var(--theme-line,var(--line));background:var(--theme-soft,var(--surface-soft));cursor:pointer;border-radius:.7rem;align-items:start;gap:.8rem;padding:.9rem;display:flex}.notification-choice input{width:1rem;min-height:auto;accent-color:var(--teal);margin-top:.22rem}.notification-choice span{gap:.18rem;display:grid}.notification-choice small,.push-onboarding p{color:var(--muted);font-size:.8rem;line-height:1.45}.push-onboarding{border-left:3px solid var(--theme-accent,var(--teal));background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem;display:flex}.push-onboarding p{margin:.22rem 0 0}.push-guidance{border-top:1px solid var(--line);margin:0 1.2rem;padding:.85rem 0}.push-guidance summary{cursor:pointer;font-weight:800}.push-guidance div{gap:.35rem;margin-top:.75rem;display:grid}.push-guidance h3,.push-guidance p{margin:0}.push-guidance h3{font-size:.83rem}.push-guidance p{color:var(--muted);font-size:.8rem;line-height:1.5}.settings-transmission{gap:1rem;margin-top:1.5rem;display:grid}.settings-transmission article{gap:1.2rem;display:grid}.settings-transmission article>header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;display:grid}.settings-transmission article h2,.settings-transmission article p{margin:0}.settings-transmission article p{color:var(--muted);font-size:.8rem}.transmission-mark{color:#fff;background:var(--swim);border-radius:.6rem;place-items:center;width:2.3rem;height:2.3rem;font-size:.7rem;font-weight:900;display:grid}.transmission-mark--ride{color:#523600;background:var(--ride)}.transmission-mark--run{background:var(--run)}.settings-transmission article>label,.settings-payment-grid{margin-left:3.2rem}.settings-transmission label small{color:var(--muted);font-weight:500}.settings-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.settings-save{justify-content:space-between;align-items:center;gap:1rem;padding:.4rem 0;display:flex}.settings-save p{max-width:44rem;color:var(--muted);margin:0;font-size:.75rem}.pill,.status-label{width:max-content;color:var(--theme-accent,#17666b);background:var(--theme-tint,#ddf2f1);border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.72rem;font-weight:750;display:inline-flex}.status-label{color:var(--theme-muted,#536879);background:#edf1f2}.status-label--active{color:#176044;background:#e2f5ec}.role-list{flex-wrap:wrap;gap:.3rem;display:flex}.role-badge{border:1px solid var(--theme-line,#cbd9dc);min-height:1.6rem;color:var(--theme-muted,#40596c);background:var(--theme-soft,#f3f7f7);white-space:nowrap;border-radius:.4rem;align-items:center;padding:.18rem .5rem;font-size:.7rem;font-weight:800;line-height:1.2;display:inline-flex}.role-badge--manager{color:#244c73;background:#e8f0f8;border-color:#b8c9dc}.role-badge--professor{border-color:var(--theme-border,#a9d7d7);color:var(--theme-accent,#17666b);background:var(--theme-tint,#e1f3f2)}.role-badge--athlete{color:#795812;background:#fff5d9;border-color:#ead39e}.role-badge--parent{color:#714364;background:#f8eaf4;border-color:#dfc4d8}.role-empty{color:var(--muted);font-size:.78rem;font-style:italic}.cards{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.8rem;margin-top:2rem;display:grid}.metric,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.metric{min-height:8rem;padding:1.15rem 1.2rem 1.15rem 1.45rem;text-decoration:none;position:relative;overflow:hidden}.metric:before{background:var(--theme-brand-1,var(--swim));content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.metric:nth-child(3n+2):before{background:var(--theme-brand-2,var(--ride))}.metric:nth-child(3n):before{background:var(--theme-brand-3,var(--run))}.metric:hover{border-color:var(--theme-border,#aac6c7);transform:translateY(-1px)}.metric b,.metric span{display:block}.metric span,.metric p,.metric small{color:var(--muted);margin-top:.4rem}.metric .metric-bubble{color:#176044;background:#d8f2e6;border:2px solid #fff;border-radius:999px;place-items:center;min-width:2rem;min-height:2rem;margin:0;padding:.2rem .5rem;font-size:.76rem;font-weight:900;display:grid;position:absolute;top:.75rem;right:.75rem;box-shadow:0 .3rem 1rem #102a431f}.metric .metric-bubble--alert{color:#842923;background:#f9d9d6}.portal-sidebar nav a,.mobile-navigation nav a{position:relative}.nav-badge{color:#842923;background:#f9d9d6;border-radius:999px;place-items:center;min-width:1.35rem;min-height:1.35rem;margin-left:auto;padding:.1rem .3rem;font-size:.65rem;line-height:1;display:inline-grid}.is-sidebar-collapsed .portal-sidebar .nav-badge{margin:0;position:absolute;top:.2rem;right:.2rem}.panel{padding:1.2rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:58rem;display:grid}.wide{grid-column:1/-1}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin:0 0 1.5rem;display:flex}.section-heading-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.button-danger{color:#9f2638;background:#fff2f3;border-color:#d9a6aa}.button-danger:hover{background:#fde1e4}.section-heading h1{margin-bottom:0}.filters{grid-template-columns:minmax(15rem,2fr) minmax(10rem,1fr);align-items:end;gap:.75rem;margin:1.5rem 0 .75rem;display:grid}.filters input[type=text],.filters input:not([type]){min-width:0}.list-summary{color:var(--muted);font-variant-numeric:tabular-nums;margin:0 0 .55rem;font-size:.78rem;font-weight:700}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.alert{border:1px solid #0000;border-radius:.65rem;padding:.8rem 1rem}.alert--error{color:#842923;background:#fde9e7;border-color:#f3c8c4}.alert--warning{color:#6d5000;background:#fff8dc;border-color:#e1bd65}.alert--success{color:#176044;background:#e2f5ec;border-color:#bde5d2}.alert--success,.alert--error{z-index:120;top:max(1rem, env(safe-area-inset-top));text-align:center;width:min(28rem,100vw - 2rem);margin:0;animation:.18s ease-out toast-enter,.32s ease-in 6s forwards toast-leave;position:fixed;left:50%;box-shadow:0 .8rem 2rem #102a432e}@keyframes toast-enter{0%{opacity:0;transform:translate(-50%,-.6rem)}to{opacity:1;transform:translate(-50%)}}@keyframes toast-leave{to{opacity:0;pointer-events:none;transform:translate(-50%,-.4rem)}}@media (width<=600px){.alert--success,.alert--error{top:max(.75rem, env(safe-area-inset-top));width:calc(100vw - 1.5rem)}}.table-wrap{padding:0;overflow:auto}table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%;font-size:.88rem}th{z-index:1;border-bottom:1px solid var(--line);color:var(--theme-muted,#5b7182);background:var(--theme-soft,#f7faf9);letter-spacing:.075em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:.72rem 1rem;font-size:.67rem;font-weight:850;position:sticky;top:0}td{border-bottom:1px solid var(--theme-line,#e6eeee);vertical-align:middle;padding:.85rem 1rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--theme-soft,#f8fbfb)}td b,td small{display:block}td small{color:var(--muted);margin-top:.15rem}td:last-child a{color:var(--teal);text-underline-offset:.2em;font-weight:800;text-decoration-thickness:1px}.table-title{border-bottom:1px solid var(--line);margin:0;padding:1.15rem 1rem}.group-create-shell{margin-bottom:.8rem}.group-create-shell[open] summary{margin-bottom:1rem}.group-create{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:1rem;display:grid}.dashboard-pending-counts{flex-wrap:wrap;gap:.45rem;display:flex}.dashboard-pending-guardians{color:#6b5318;background:#fff0c9;border-radius:.45rem;padding:.35rem .55rem;font-size:.78rem}.dashboard-pending-professors{color:#28536c;background:#e9f3f8;border-radius:.45rem;padding:.35rem .55rem;font-size:.78rem}.group-create p,.family-create p,.group-card header p{color:var(--muted);margin:.25rem 0 0}.group-create button{width:max-content}.group-toolbar{justify-content:space-between;align-items:end;gap:1rem;margin:1rem 0 .7rem;display:flex}.group-toolbar>label{width:min(100%,28rem)}.group-totals,.group-counts{flex-wrap:wrap;gap:.45rem;display:flex}.group-totals span,.group-counts span{color:var(--muted);background:var(--surface-soft);border-radius:999px;padding:.3rem .55rem;font-size:.73rem}.group-totals b{color:var(--ink)}.group-list,.family-list{gap:.8rem;display:grid}.group-card{position:relative;overflow:hidden}.group-card:before{background:linear-gradient(var(--swim) 0 33%,var(--ride) 33% 66%,var(--run) 66%);content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.group-card>header{justify-content:space-between;align-items:start;gap:1rem;padding-left:.3rem;display:flex}.group-card>header h2{margin-top:.55rem}.group-summary-trigger{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.group-summary-trigger:focus-visible{outline:3px solid var(--focus);outline-offset:5px;border-radius:.35rem}.group-summary-trigger>small{margin-top:.25rem;display:block}.group-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.group-expand{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);cursor:pointer;border-radius:.55rem;padding:.55rem .75rem;font-weight:750}.group-expand:hover{border-color:var(--theme-accent)}.group-counts{margin-top:.7rem}.membership-columns{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.2rem;padding-top:1rem;display:grid}.membership-panel{border:1px solid var(--line);background:var(--theme-soft,#fbfdfd);border-radius:.7rem;min-width:0;padding:.9rem}.membership-heading{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.membership-heading h3{margin:0}.membership-heading span{min-width:1.7rem;color:var(--theme-accent,#17666b);background:var(--theme-tint,#ddf2f1);text-align:center;border-radius:999px;padding:.18rem .45rem;font-size:.72rem;font-weight:800}.membership-panel--athletes .membership-heading span{color:#795812;background:#fff2cc}.membership-columns ul{gap:.3rem;min-height:1.5rem;margin:0 0 .8rem;padding:0;list-style:none;display:grid}.membership-columns li{background:var(--surface-soft);border-radius:.5rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .65rem;display:flex}.choice-person{border:1px solid #0000;border-radius:.55rem;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:.35rem .45rem}.choice-person:hover{border-color:var(--theme-line,#bfd1d1);background:var(--surface-soft)}.membership-columns .member-empty{color:var(--muted);background:0 0;font-size:.8rem;font-style:italic}.membership-add-action{border-style:dashed;width:100%}.group-member-dialog{background:var(--surface);border-radius:1rem;width:min(100%,36rem);max-height:calc(100vh - 2rem);padding:1.25rem;overflow:auto;box-shadow:0 2rem 6rem #081c2c4d}.group-member-dialog>header{justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.group-member-dialog>header h2{margin:0}.dialog-close{border:1px solid var(--theme-line,#cad8da);width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem;color:var(--theme-muted,#52697a);background:var(--surface);border-radius:50%;align-self:start;place-items:center;padding:0;font-size:1rem;font-weight:600;line-height:1;display:inline-grid}.dialog-close:hover:not(:disabled){border-color:var(--theme-border,#91b3b5);color:var(--ink);background:var(--surface-soft)}.group-member-dialog .list-summary{margin-top:.8rem}.candidate-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.candidate-list li{border:1px solid var(--line);background:var(--theme-soft,#f8fbfb);border-radius:.6rem;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem;display:flex}.candidate-list span{min-width:0;display:grid}.candidate-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.candidate-list button{flex:none;min-height:2.35rem;padding:.45rem .7rem}.candidate-empty{color:var(--muted);text-align:center;margin:0;padding:1.4rem .5rem}.family-toolbar{justify-content:space-between;align-items:end;gap:1rem;margin:0 0 .8rem;display:flex}.family-toolbar>label{width:min(100%,28rem)}.family-card{gap:.9rem;display:grid}.family-card>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.family-card>header h2{margin:0 0 .2rem}.family-card>header>div>span{color:var(--muted);font-size:.78rem}.family-children{border-top:1px solid var(--line);display:grid}.family-children>article{border-bottom:1px solid var(--theme-line,#e6eeee);grid-template-columns:minmax(12rem,1fr) auto auto;align-items:center;gap:1rem;padding:.75rem 0;display:grid}.family-children>article:last-child{border-bottom:0;padding-bottom:0}.family-child-main{align-items:center;gap:.7rem;min-width:0;display:flex}.family-child-main>span:last-child{min-width:0;display:grid}.family-child-main small{color:var(--muted);font-size:.75rem}.family-connection{color:var(--teal);flex:none;font-size:1.2rem;font-weight:800}.family-child-state,.family-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.consent-ok,.consent-missing{font-size:.72rem;font-weight:750}.consent-ok{color:#176044}.consent-missing{color:#9c5a20}.family-empty{justify-content:space-between;align-items:center;gap:1rem;padding-top:.8rem;display:flex}.family-empty p{color:var(--muted);margin:0;font-size:.82rem}.family-dialog{background:var(--surface);border-radius:1rem;width:min(100%,62rem);max-height:calc(100vh - 2rem);padding:1.25rem;overflow:auto;box-shadow:0 2rem 6rem #081c2c4d}.family-dialog>header{justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.family-dialog>header h2{margin:0}.family-picker{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.8rem;display:grid}.family-picker>section{border:1px solid var(--line);background:var(--theme-soft,#fbfdfd);border-radius:.7rem;align-self:stretch;min-width:0;padding:.8rem}.family-picker-heading{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.family-picker-heading h3{margin:0}.family-picker-heading span{color:#176044;font-size:.7rem;font-weight:800}.family-link-arrow{color:var(--teal);font-size:1.5rem;font-weight:800}.family-candidate-list{gap:.35rem;max-height:17rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid;overflow:auto}.family-candidate-list button{width:100%;min-height:auto;color:var(--ink);background:var(--surface-soft);text-align:left;border-color:#0000;justify-content:space-between;align-items:center;gap:.7rem;padding:.6rem;display:flex}.family-candidate-list button:hover:not(:disabled){border-color:var(--theme-border,#9bc8ca);color:var(--ink);background:var(--theme-tint,#e8f5f4)}.family-candidate-list li.is-selected button{border-color:var(--theme-border,#79b8bb);background:var(--theme-tint,#ddf2f1)}.family-candidate-list button span{min-width:0;display:grid}.family-candidate-list button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.family-candidate-list button strong{color:var(--teal);flex:none;font-size:.72rem}.family-dialog-footer{border-top:1px solid var(--line);grid-template-columns:1fr 1.35fr auto;align-items:end;gap:.8rem;margin-top:1rem;padding-top:1rem;display:grid}.finance-metrics{grid-template-columns:repeat(4,1fr);gap:.7rem;margin:1rem 0;display:grid}.finance-metrics article{border:1px solid var(--line);background:var(--surface);border-radius:.7rem;gap:.2rem;padding:.9rem 1rem .9rem 1.2rem;display:grid;position:relative;overflow:hidden}.finance-metrics article:before{background:var(--theme-muted,#8da3b3);content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.finance-metrics .metric-received:before{background:#36a276}.finance-metrics .metric-attention:before{background:var(--run)}.finance-metrics span{color:var(--muted);font-size:.72rem;font-weight:700}.finance-metrics b{font-variant-numeric:tabular-nums;font-size:1.25rem}.finance-metrics small{color:var(--muted);font-size:.68rem}.finance-person-summary{grid-template-columns:minmax(0,18rem);gap:.65rem;margin:1rem 0;display:grid}.finance-person-summary article{border:1px solid var(--line);background:var(--surface);border-radius:.7rem;gap:.2rem;padding:.9rem 1rem .9rem 1.2rem;display:grid;position:relative;overflow:hidden}.finance-person-summary article:before{background:var(--theme-accent,#008c95);content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.finance-person-summary article.metric-attention:before{background:var(--run)}.finance-person-summary span,.finance-person-summary small{color:var(--muted);font-size:.72rem;font-weight:700}.finance-person-summary b{font-variant-numeric:tabular-nums;font-size:1.25rem}.finance-paid-note{color:var(--theme-accent,#008c95);margin:0;font-size:.82rem;font-weight:750}.finance-settings{margin:1rem 0}.finance-settings[open] summary{margin-bottom:1rem}.finance-generate{border:1px solid var(--theme-border,#b9dddd);background:var(--theme-soft,#eff9f8);border-radius:.7rem;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem;display:flex}.finance-generate h2,.finance-generate p{margin:0}.finance-generate p{color:var(--muted);font-size:.8rem}.finance-plan-grid,.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;margin-top:1rem;display:grid}.finance-plan-grid>*{border:1px solid var(--line);border-radius:.7rem;min-width:0;padding:.9rem}.plan-create{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.plan-create h2,.plan-create button{grid-column:1/-1}.plan-editor{gap:.6rem;display:grid}.plan-editor>article{background:var(--surface-soft);border-radius:.6rem;gap:.55rem;padding:.7rem;display:grid}.plan-editor-heading,.plan-editor>article>div{grid-template-columns:1fr auto;align-items:center;gap:.55rem;display:grid}.plan-editor-heading .toggle{white-space:nowrap}.plan-editor>article>button{width:max-content}.finance-toolbar{grid-template-columns:minmax(15rem,2fr) minmax(10rem,1fr);align-items:end;gap:.75rem;margin:1.3rem 0 .6rem;display:grid}.due-status{width:max-content;color:var(--theme-muted,#536879);background:#edf1f2;border-radius:999px;padding:.27rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.due-status--paid{color:#176044;background:#e2f5ec}.due-status--overdue{color:#8b302b;background:#fde9e7}.due-status--waived{color:#6b5318;background:#fff3ce}.due-status--cancelled{color:var(--theme-muted,#65717a);background:#eceff0;text-decoration:line-through}.due-manage{min-height:2.25rem;padding:.4rem .7rem}.due-dialog{background:var(--surface);border-radius:1rem;width:min(100%,36rem);padding:1.25rem;box-shadow:0 2rem 6rem #081c2c4d}.due-dialog>header{justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.due-dialog>header h2{margin:0}.due-dialog>header p:last-child{color:var(--muted);margin:.25rem 0 0}.due-dialog-form{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.due-dialog>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.plain-list{gap:.4rem;padding:0;list-style:none;display:grid}.plain-list li{background:var(--surface-soft);border-radius:.5rem;justify-content:space-between;gap:1rem;padding:.5rem;display:flex}.admin-detail-label{margin-top:1.25rem}.admin-detail-grid .panel{gap:.8rem;display:grid}.roles-panel>p{color:var(--muted);margin:-.35rem 0 0;font-size:.82rem}.role-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.2rem 0 .35rem;display:grid}.role-options .consent-check{border:1px solid var(--line);background:var(--theme-soft,#f8fbfb);border-radius:.55rem;min-height:2.5rem;padding:.55rem .65rem}.role-options .consent-check:has(input:checked){border-color:var(--theme-border,#9bc8ca);color:var(--theme-accent,#17666b);background:var(--theme-tint,#e8f5f4)}.form-grid h2{margin-top:0}details summary{cursor:pointer;font-weight:750}.training-form{border-top:4px solid var(--swim);gap:1.4rem;margin-bottom:1rem;display:grid}.training-form-heading p,.calendar-subscription p{color:var(--muted);margin:0}.training-form select[multiple]{min-height:7rem}.training-form label small{color:var(--muted);font-weight:500}.training-form .is-invalid{color:#9d302a}.training-form label.is-invalid :is(input,textarea,select),.training-form fieldset.is-invalid{background:#fff7f6;border-color:#d45a51}.training-form .context-select.is-invalid .context-select-trigger{border-color:#d45a51}.training-block-editor.is-invalid{background:#fff7f6;border-color:#d45a51}.training-form-errors{color:#842923;background:#fff3f2;border:1px solid #d45a51;border-radius:.7rem;padding:.8rem 1rem;font-size:.86rem}.training-form-errors b{display:block}.training-form-errors ul{margin:.35rem 0 0;padding-left:1.2rem}.training-form-errors li+li{margin-top:.2rem}.intensity-picker{border:1px solid var(--line);background:var(--theme-soft,#f8fbfb);border-radius:.8rem;margin:0;padding:1rem}.intensity-picker legend{padding:0 .4rem;font-weight:850}.intensity-picker>p{color:var(--muted);margin:0 0 .7rem;font-size:.82rem}.intensity-picker>div{grid-template-columns:repeat(5,1fr);gap:.45rem;display:grid}.intensity-picker label{border:1px solid var(--theme-line,#cbd8dc);background:var(--surface);cursor:pointer;border-radius:.65rem;justify-items:center;gap:.15rem;min-height:4.2rem;padding:.55rem .35rem;display:grid;position:relative}.intensity-picker label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.intensity-picker label.is-selected{border-color:var(--teal);color:var(--theme-accent,#14595d);background:var(--theme-tint,#e6f5f4)}.intensity-picker input{opacity:0;pointer-events:none;position:absolute}.intensity-picker b{font-size:1.25rem}.intensity-picker span{text-align:center;font-size:.68rem}.training-blocks{border-top:1px solid var(--line);gap:.6rem;padding-top:1rem;display:grid}.training-blocks .section-heading{align-items:center;margin-bottom:0}.training-form .date-time-field.is-invalid input{background:#fff7f6;border-color:#d45a51}.training-form-errors:focus{outline-offset:2px;outline:2px solid #d45a51}.training-block-editor{border:1px solid var(--line);background:var(--theme-soft,#f8fbfb);border-radius:.7rem;grid-template-columns:2rem repeat(4,minmax(8rem,1fr)) auto;grid-template-areas:"number discipline start end location remove""number name name name name remove""number notes notes notes notes remove";align-items:end;gap:.7rem;padding:.85rem;display:grid}.training-block-editor>b{grid-area:number}.training-block-editor>.block-discipline{grid-area:discipline}.training-block-editor>.block-name{grid-area:name}.training-block-editor>.block-start{grid-area:start}.training-block-editor>.block-end{grid-area:end}.training-block-editor>.block-location{grid-area:location}.training-block-editor>.block-notes{grid-area:notes}.training-block-editor>.block-remove{grid-area:remove}.training-block-editor>label,.training-block-editor>.context-select{min-width:0}.training-block-editor>b{color:#fff;background:var(--teal);border-radius:50%;align-self:center;place-items:center;width:1.7rem;height:1.7rem;font-size:.75rem;display:grid}.repeat-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(8rem,1fr));gap:.75rem;padding-top:1rem;display:grid}.repeat-grid fieldset{flex-wrap:wrap;grid-column:1/-1}.calendar-toolbar{grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin:1.2rem 0 .8rem;display:grid}.view-switch,.month-nav,.calendar-filters,.calendar-actions{align-items:center;gap:.45rem;display:flex}.view-switch button,.month-nav button{min-height:2.35rem;padding:.45rem .7rem}.view-switch .is-active{border-color:var(--navy-950);color:#fff;background:var(--navy-950)}.month-nav{text-transform:capitalize;justify-content:center}.month-nav b{text-align:center;min-width:10rem}.calendar-filters select{min-width:10rem}.calendar-filters{flex-wrap:wrap}.calendar-filters>.context-select{flex:0 0 18rem;width:18rem}.family-agenda-summary{border:1px solid var(--theme-line,#bfd1d1);border-left:4px solid var(--teal);background:linear-gradient(115deg,var(--theme-soft,#eef6f5),var(--surface));border-radius:.8rem;gap:.8rem;margin:0 0 1.2rem;padding:1rem;display:grid}.family-agenda-summary>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.family-agenda-summary h2,.family-agenda-summary p{margin:.15rem 0}.family-agenda-summary>header>p{max-width:30rem;color:var(--muted);font-size:.85rem}.family-agenda-children{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.55rem;display:grid}.family-agenda-children article{border:1px solid var(--line);background:var(--surface);border-radius:.6rem;gap:.45rem;min-width:0;padding:.65rem .7rem;display:grid}.family-agenda-children article.is-selected{border-color:var(--teal);box-shadow:0 0 0 2px var(--theme-focus-ring,#087f8c29)}.family-agenda-groups{overflow-wrap:anywhere;color:var(--teal);font-size:.74rem;font-weight:800}.family-agenda-groups.is-empty{color:var(--muted);font-weight:650}.training-row-family{margin-top:.16rem;font-weight:800;color:var(--teal)!important}.training-agenda{gap:.45rem;display:grid}.training-row{border-color:var(--line);width:100%;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);text-align:left;grid-template-columns:8.5rem 4px 1fr auto;align-items:center;gap:1rem;padding:.9rem 1rem;display:grid}.training-row:hover:not(:disabled){border-color:var(--theme-border,#a9c7c8);background:var(--theme-soft,#fafdfd)}.training-row.is-cancelled{color:#842923;background:#fff3f2;border-color:#e8aaa6}.training-row.is-cancelled:hover:not(:disabled){color:#842923;background:#fde9e7;border-color:#d98983}.training-row.is-cancelled .discipline-rail,.training-row.is-cancelled .competition-rail{background:var(--run)}.training-row.is-cancelled .training-row-main small,.training-row.is-cancelled time span{color:#9b514c}.training-row time,.training-row-main{display:grid}.training-row time span,.training-row small{color:var(--muted);font-size:.78rem}.discipline-rail{background:linear-gradient(var(--swim) 0 33%,var(--ride) 33% 66%,var(--run) 66%);border-radius:1rem;height:100%;min-height:2.7rem}.month-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekday{border-right:1px solid var(--line);color:var(--muted);background:var(--theme-soft,#f7faf9);text-align:center;text-transform:uppercase;padding:.45rem;font-size:.68rem;font-weight:850}.month-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:7.4rem;padding:.4rem}.month-day>span{margin-bottom:.3rem;font-size:.75rem;font-weight:800;display:block}.month-day>button,.month-day>.month-competition{border:1px solid var(--theme-border,#b9dddd);width:100%;min-height:auto;color:var(--theme-accent,#17666b);background:var(--theme-tint,#e6f5f4);text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:.35rem;margin-bottom:.2rem;padding:.3rem .35rem;font-size:.65rem;text-decoration:none;display:block;overflow:hidden}.month-day>.month-competition{color:#28536c;background:#e9f3f8;border-color:#b8cee1}.month-day>button.is-cancelled,.month-day>.month-competition.is-cancelled{color:#842923;background:#fcebea;border-color:#edc5c2;text-decoration:line-through}.month-day.is-outside{color:#91a0ab;background:var(--theme-soft,#f7f9f9)}.month-day small{color:var(--muted);font-size:.65rem}.calendar-subscription{align-items:center;gap:.8rem;margin-top:1rem;display:flex}.calendar-subscription>div{margin-right:auto}.calendar-subscription input{max-width:28rem}.calendar-help{margin-top:.6rem}.calendar-help[open] summary{margin-bottom:1rem}.calendar-help-intro{grid-template-columns:1.25fr 1fr;align-items:start;gap:1rem;margin-bottom:1rem;display:grid}.calendar-help-intro p{margin:0}.calendar-private-note{color:#624716;background:#fff9ed;border-left:3px solid #d39a45;padding:.7rem .8rem;font-size:.8rem}.calendar-guide-grid{border:1px solid var(--line);border-radius:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.calendar-guide-grid section{padding:1rem}.calendar-guide-grid section+section{border-left:1px solid var(--line)}.calendar-guide-grid h3{margin:0 0 .65rem}.calendar-guide-grid ol{color:var(--muted);margin:0 0 .7rem;padding-left:1.2rem;font-size:.82rem}.calendar-guide-grid li+li{margin-top:.35rem}.calendar-guide-grid a{font-size:.78rem;font-weight:750}.calendar-help>.quiet-note{margin:.8rem 0 0}.button-link{border:1px solid var(--navy-950);color:#fff;background:var(--navy-950);border-radius:.65rem;justify-content:center;align-items:center;min-height:2.75rem;padding:.65rem .9rem;font-size:.85rem;font-weight:750;text-decoration:none;display:inline-flex}.quiet-danger{color:#9c3732;background:0 0;border-color:#0000}.location-admin{margin-top:.8rem}.location-admin[open] summary{margin-bottom:1rem}.location-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:1rem;display:grid}.location-form label:nth-of-type(3),.location-form label:nth-of-type(4){grid-column:1/-1}.location-form button{justify-self:end}.group-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.location-admin .plain-list span{display:grid}.location-admin-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.85rem 0!important;display:grid!important}.location-admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.location-admin-actions .button-secondary{min-height:2.25rem;padding:.4rem .65rem;font-size:.78rem}.location-map-preview{border:1px solid var(--line);background:var(--surface-soft);border-radius:.7rem;grid-column:1/-1;overflow:hidden}.location-map-preview iframe{border:0;width:100%;height:17rem;display:block}.dialog-backdrop{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#081c2c8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.training-detail{background:var(--surface);border-radius:1rem;width:min(100%,52rem);max-height:calc(100vh - 2rem);padding:1.25rem;overflow:auto;box-shadow:0 2rem 6rem #081c2c4d}.training-detail>header{justify-content:space-between;gap:1rem;display:flex}.training-detail>header p{color:var(--muted);margin:.25rem 0}.training-detail>header>button{flex:none;align-self:start}.training-intensity-comparison{border:1px solid var(--theme-line,#cbdde2);background:linear-gradient(135deg,var(--theme-soft,#f4fafb),var(--surface));border-radius:1rem;gap:1rem;margin-top:1.2rem;padding:1rem;display:grid}.training-intensity-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.training-intensity-heading h3{margin:.15rem 0 0}.training-intensity-heading>span{color:var(--muted);font-size:.78rem}.intensity-metrics{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.intensity-metrics article{background:var(--surface);border-radius:.7rem;grid-template-columns:1fr auto;align-items:end;padding:.8rem;display:grid;box-shadow:0 4px 14px #081c2c12}.intensity-metrics small,.intensity-metrics span{color:var(--muted)}.intensity-metrics b{color:var(--navy-950);grid-area:1/2/3;font-size:2rem}.intensity-distribution{background:var(--surface);border-radius:.7rem;grid-template-columns:repeat(5,1fr);align-items:end;gap:.55rem;height:7rem;padding:.6rem .7rem .35rem;display:grid}.intensity-distribution>div{grid-template-rows:1fr auto auto;place-items:end center;gap:.1rem;height:100%;display:grid}.intensity-distribution span{background:linear-gradient(var(--swim),var(--teal));border-radius:.3rem .3rem 0 0;width:100%;max-width:2rem;min-height:.4rem}.intensity-distribution small{color:var(--muted)}.intensity-distribution b{font-size:.7rem}.athlete-intensity-form{border-top:1px solid var(--line);gap:.7rem;padding-top:1rem;display:grid}.block-timeline{gap:0;margin:1.25rem 0;padding:0;list-style:none;display:grid}.block-timeline li{grid-template-columns:1rem 1fr;gap:.7rem;min-height:4rem;display:grid}.block-timeline li>span{background:var(--teal);width:.7rem;height:.7rem;box-shadow:0 0 0 2px var(--teal);border:2px solid #fff;border-radius:50%;margin-top:.35rem;position:relative}.block-timeline li>span:after{background:var(--line);content:"";width:2px;position:absolute;top:.75rem;bottom:-3.2rem;left:.2rem}.block-timeline li:last-child>span:after{display:none}.block-timeline small{color:var(--muted);display:block}.block-timeline p{margin:.25rem 0}.attendance-section{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1rem}.quiet-note{color:var(--muted);margin:-.4rem 0 .7rem;font-size:.8rem}.attendance-summary{flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem;display:flex}.attendance-summary span{background:var(--surface-soft);border-radius:999px;padding:.3rem .55rem;font-size:.73rem;font-weight:750}.attendance-list{gap:.4rem;display:grid}.attendance-list>div{background:var(--theme-soft,#f8fbfb);border-radius:.6rem;grid-template-columns:minmax(10rem,1fr) 2fr;align-items:center;gap:.8rem;padding:.6rem;display:grid}.attendance-list>div>span{display:grid}.attendance-list small{color:var(--muted)}.response-controls{grid-template-columns:1fr repeat(3,auto);gap:.35rem;display:grid}.response-controls button{min-height:2.35rem;padding:.45rem .6rem}.response-controls:has(.block-response-choices){grid-template-columns:1fr;gap:.55rem}.response-controls:has(.block-response-choices)>p{color:var(--muted);margin:0;font-size:.8rem}.block-response-choices{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.45rem;display:grid}.block-response-choices>button{grid-column:1/-1;justify-self:start}.block-response-choices label{border:1px solid var(--theme-line,var(--line));background:var(--surface);cursor:pointer;border-radius:.55rem;align-items:center;gap:.55rem;min-height:2.8rem;padding:.55rem .65rem;font-size:.8rem;font-weight:750;display:flex}.block-response-choices label:has(input:checked){border-color:var(--teal);background:var(--theme-tint,var(--surface-soft))}.block-response-choices input{width:1rem;min-height:auto;accent-color:var(--teal);margin:0}.training-drop-ins{border-top:1px solid var(--line);gap:.8rem;margin-top:1rem;padding-top:1rem;display:grid}.training-drop-ins header h3,.training-drop-ins header p{margin:0}.training-drop-ins header p:last-child{color:var(--muted);margin-top:.35rem;font-size:.86rem}.training-drop-in-form{border:1px solid var(--theme-line,var(--line));background:var(--theme-soft,var(--surface-soft));border-radius:.7rem;grid-template-columns:minmax(10rem,1fr) minmax(10rem,1fr) minmax(10rem,1.25fr) auto;align-items:end;gap:.65rem;padding:.8rem;display:grid}.training-drop-in-form label{gap:.35rem;font-size:.78rem;font-weight:800;display:grid}.training-drop-in-form .context-select-label{font-size:.78rem}.training-drop-in-list{gap:.45rem;display:grid}.training-drop-in-list article{border-left:3px solid var(--theme-accent,var(--teal));background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .75rem;display:flex}.training-drop-in-list article.is-cancelled{border-left-color:var(--muted);opacity:.7}.training-drop-in-list article>div{gap:.15rem;display:grid}.training-drop-in-list small,.training-drop-in-list p,.training-drop-in-list span{color:var(--muted);font-size:.78rem}.training-drop-in-list p{margin:0}.image-consent{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.image-consent h2,.image-consent p{margin:0}.image-consent p{color:var(--muted);margin-top:.35rem;font-size:.88rem;line-height:1.55}.image-consent>label{border:1px solid var(--theme-line,var(--line));background:var(--theme-soft,var(--surface-soft));cursor:pointer;border-radius:.65rem;grid-column:1/-1;align-items:start;gap:.65rem;padding:.8rem;font-weight:750;display:flex}.image-consent input{width:1rem;min-height:auto;accent-color:var(--teal);margin-top:.2rem}.image-consent-status{gap:.15rem;display:grid}.image-consent-status strong{color:var(--theme-accent,var(--teal));font-size:.82rem}.image-consent-status small{color:var(--muted);font-size:.75rem}.cancel-training{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:end;gap:.5rem;margin-top:1rem;padding-top:1rem;display:grid}.cancel-training h3{grid-column:1/-1;margin:0}.competition-form{border-top:4px solid var(--ride);gap:1.2rem;margin:1rem 0;display:grid}.competition-form-section{border-top:1px solid var(--line);padding-top:1rem}.competition-form-section h2{margin-top:0}.competition-form-intro{border-bottom:1px solid var(--line);color:var(--muted);margin:0;padding-bottom:1rem;font-size:.85rem;line-height:1.6}.competition-form-section--first{border-top:0;padding-top:0}.competition-section-hint{color:var(--muted);margin:-.25rem 0 1rem;font-size:.8rem;line-height:1.5}.competition-price-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.competition-price{border:1px solid var(--line);background:var(--surface-soft);border-radius:.6rem;grid-template-columns:1fr 7rem;align-items:center;gap:.65rem;min-height:3.3rem;padding:.65rem;display:grid}.competition-price>span{align-items:center;gap:.45rem;display:flex}.competition-price input[type=number]{min-width:0}.competition-price-input{min-width:0;position:relative;display:grid!important}.competition-price-input input{font-variant-numeric:tabular-nums;grid-area:1/1;padding-right:2.1rem}.competition-price-input b{color:var(--muted);pointer-events:none;grid-area:1/1;place-self:center end;margin-right:.75rem;font-size:.85rem}.competition-form-actions{justify-content:flex-end;gap:.55rem;display:flex}.competition-toolbar{justify-content:space-between;align-items:end;gap:1rem;margin-top:1.2rem;display:flex}.competition-toolbar>label{width:min(100%,32rem)}.competition-list{gap:.75rem;display:grid}.competition-card{border:1px solid var(--line);border-left:4px solid var(--ride);background:var(--surface);box-shadow:var(--shadow);border-radius:.8rem;overflow:hidden}.competition-card--draft{border-left-color:#91a0ab}.competition-card--cancelled{border-left-color:var(--run)}.competition-card-open{width:100%;min-height:auto;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:10rem 1fr auto;align-items:center;gap:1rem;padding:1rem;display:grid}.competition-card-open:hover:not(:disabled){color:var(--ink);background:var(--theme-soft,#f8fbfb)}.competition-card-open time,.competition-card-open>div,.competition-response-row>span{display:grid}.competition-card-open time span,.competition-card-open p,.competition-response-row small{color:var(--muted);font-size:.76rem}.competition-card-open h2,.competition-card-open p{margin:0}.competition-response-row{border-top:1px solid var(--line);background:var(--theme-soft,#fbfdfd);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1rem;display:flex}.competition-response-row>div{gap:.4rem;display:flex}.competition-response-row button{min-height:2.2rem;padding:.4rem .65rem}.competition-detail{background:var(--theme-soft,#f7faf9);border-radius:1rem;width:min(100%,66rem);max-height:calc(100vh - 2rem);padding:0;overflow:auto;box-shadow:0 2rem 6rem #081c2c4d}.competition-detail>header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;justify-content:space-between;gap:1rem;padding:1.2rem 1.35rem;display:flex;position:sticky;top:0}.competition-detail>header h2{margin:.25rem 0;font-size:1.65rem}.competition-detail>header p{color:var(--muted);margin:0}.competition-detail>.alert{margin:1rem 1.35rem 0}.competition-detail-kicker{color:var(--muted);align-items:center;gap:.6rem;font-size:.76rem;font-weight:700;display:flex}.competition-detail-overview{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:1rem;margin:1rem 1.35rem;display:grid}.competition-detail-overview>section,.competition-detail-overview>dl,.competition-groups-summary,.competition-board,.competition-admin{border:1px solid var(--line);background:var(--surface);border-radius:.75rem;margin:0;padding:1rem}.competition-detail-overview h3,.competition-groups-summary h3,.competition-board h3,.competition-logistics h3{margin:.15rem 0 .65rem}.competition-description{white-space:pre-line;max-width:65ch;margin:0 0 .8rem}.competition-detail-overview dl{gap:0;display:grid}.competition-detail-overview dl>div{border-bottom:1px solid var(--line);padding:.55rem 0}.competition-detail-overview dl>div:first-child{padding-top:0}.competition-detail-overview dl>div:last-child{border:0;padding-bottom:0}.competition-detail-overview dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:800}.competition-detail-overview dd{gap:.15rem;margin:.15rem 0 0;font-weight:700;display:grid}.competition-detail-overview dd small{color:var(--muted);font-weight:500}.competition-groups-summary{justify-content:space-between;align-items:center;gap:1rem;margin:0 1.35rem 1rem;display:flex}.competition-groups-summary>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.competition-groups-summary span{color:#28536c;background:#e9f3f8;border-radius:.5rem;gap:.1rem;padding:.5rem .65rem;font-size:.72rem;display:grid}.competition-logistics{border:1px solid #b8cee1;border-left:4px solid var(--ride);background:var(--theme-soft,#f0f8fc);border-radius:.75rem;grid-template-columns:minmax(10rem,.45fr) minmax(0,1fr);gap:1rem;margin:0 1.35rem 1rem;padding:1rem;display:grid}.competition-logistics>div:last-child{gap:.25rem;display:grid}.competition-logistics p{margin:.35rem 0}.competition-locked{color:var(--muted);background:var(--surface);border:1px dashed #aebdc6;border-radius:.6rem;margin:0 1.35rem 1rem;padding:.8rem}.competition-board{margin:0 1.35rem 1rem}.competition-board>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.competition-board>header p{color:var(--muted);margin:0;font-size:.8rem}.competition-board>header>span{color:var(--muted);font-size:.75rem;font-weight:750}.competition-board-journey{border:1px solid var(--line);border-radius:.65rem;grid-template-columns:repeat(4,1fr);gap:0;margin:1rem 0;display:grid;overflow:hidden}.competition-board-journey button{border:0;border-right:1px solid var(--line);min-height:auto;color:var(--ink);background:var(--surface-soft);text-align:left;border-radius:0;gap:.1rem;padding:.65rem;display:grid}.competition-board-journey button:last-child{border-right:0}.competition-board-journey button:hover:not(:disabled),.competition-board-journey button.is-active{color:#174d68;background:#e9f3f8}.competition-board-journey b{font-size:1.15rem}.competition-board-journey span{color:var(--muted);font-size:.68rem}.competition-board-toolbar{grid-template-columns:minmax(15rem,1.5fr) minmax(12rem,.7fr);gap:.7rem;margin-bottom:.7rem;display:grid}.competition-board-list{gap:.45rem;display:grid}.competition-board-list>article{border:1px solid var(--line);background:var(--theme-soft,#fbfdfd);border-radius:.65rem;grid-template-columns:minmax(12rem,.8fr) minmax(0,1.2fr);align-items:center;gap:.8rem;padding:.7rem;display:grid}.competition-athlete{gap:.25rem;min-width:0;display:grid}.competition-athlete small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.competition-athlete-state{width:max-content;color:var(--theme-muted,#5d6d78);background:#edf1f2;border-radius:999px;padding:.2rem .45rem;font-size:.68rem;font-weight:800}.competition-athlete-state--going{color:#28536c;background:#e9f3f8}.competition-athlete-state--confirmed{color:#176044;background:#e2f5ec}.competition-athlete-state--not_going,.competition-athlete-state--cancelled{color:#842923;background:#fcebea}.competition-athlete-action{grid-template-columns:minmax(10rem,1fr) auto;align-items:end;gap:.55rem;display:grid}.competition-athlete-action button{min-height:2.55rem}.competition-registration-management{justify-content:flex-end;min-width:0;display:flex}.competition-registration-management:has(.competition-cancel-form){justify-content:stretch;width:100%}.competition-danger-link{color:#8b3d38;background:0 0;border-color:#0000;min-height:2.2rem;padding:.35rem .5rem;font-size:.72rem}.competition-cancel-form{background:snow;border:1px solid #edc5c2;border-radius:.55rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem .8rem;width:100%;padding:.65rem;display:grid}.competition-cancel-form>label:first-child{grid-column:1/-1}.competition-cancel-form>div{justify-content:flex-end;gap:.4rem;display:flex}.competition-cancel-form button{min-height:2.2rem;padding:.4rem .65rem;font-size:.72rem}.competition-cancel-charge{align-items:flex-start;gap:.45rem;font-size:.72rem;display:flex}.competition-cancel-charge input{width:1rem;height:1rem;min-height:0;accent-color:var(--teal);flex:0 0 1rem;margin:.15rem 0 0;padding:0}.competition-cancel-charge>span{gap:.1rem;display:grid}.competition-cancel-charge small{color:var(--muted);font-weight:500}.competition-athlete-readonly{color:var(--muted);margin:0;font-size:.78rem}.competition-admin{margin:0 1.35rem 1.35rem}.competition-admin[open] summary{margin-bottom:.8rem}.competition-admin>div{justify-content:space-between;align-items:start;gap:1rem;display:flex}.competition-danger-zone{text-align:right;margin-left:auto}.competition-danger-zone>summary{color:#8b3d38;font-size:.76rem;font-weight:750}.competition-danger-zone[open]{text-align:left;background:snow;border:1px solid #edc5c2;border-radius:.55rem;width:min(100%,32rem);padding:.7rem}.competition-danger-zone[open]>summary{margin-bottom:.65rem}.competition-danger-zone form{gap:.6rem;display:grid}.competition-danger-zone form>p{color:var(--muted);margin:0;font-size:.74rem}.competition-danger-zone form>div{justify-content:flex-end;display:flex}.competition-danger-zone button{min-height:2.3rem;padding:.4rem .7rem;font-size:.72rem}.competition-agenda-row{text-decoration:none}.competition-rail{background:var(--ride);border-radius:1rem;height:100%;min-height:2.7rem}.dashboard{gap:1.15rem;display:grid}.dashboard-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:2rem;padding-bottom:1.1rem;display:flex}.dashboard-heading h1{margin-bottom:.35rem}.dashboard-heading .lead{margin-bottom:0}.dashboard-heading>time{border-left:3px solid var(--swim);text-transform:capitalize;grid-template-columns:auto 1fr;align-items:center;gap:.65rem;min-width:9rem;padding-left:1rem;display:grid}.dashboard-heading>time b{letter-spacing:-.08em;font-size:2.5rem;line-height:1}.dashboard-heading>time span{color:var(--muted);font-size:.72rem;font-weight:750}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(19rem,.65fr);align-items:start;gap:1rem;display:grid}.dashboard-manager-priority{grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr);align-items:start;gap:1rem;display:grid}.dashboard-today,.dashboard-activity{padding:0;overflow:hidden}.dashboard-today>header,.dashboard-activity>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:1rem;padding:1rem 1.1rem;display:flex}.dashboard-today>header h2,.dashboard-activity>header h2{margin:0}.dashboard-today>header a{color:var(--teal);font-size:.76rem;font-weight:800;text-decoration:none}.dashboard-today>article{border-bottom:1px solid var(--theme-line,#e8eeee);grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.8rem 1.1rem;display:grid}.dashboard-today>article:last-of-type{border-bottom:0}.dashboard-today>article>div{gap:.2rem;min-width:0;display:grid}.dashboard-today>article b{overflow-wrap:anywhere}.dashboard-today>article small{color:var(--muted);font-size:.75rem}.dashboard-today-response{color:#176044;background:#e2f5ec;border-radius:999px;width:max-content;padding:.16rem .45rem;font-size:.68rem;font-weight:800}.dashboard-today-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex!important}.dashboard-today-actions button{white-space:nowrap}.dashboard-today-error{color:#842923;text-align:left;background:#fde9e7;border-bottom:1px solid #f3c8c4;margin:0;padding:.7rem 1.1rem;font-size:.85rem}.dashboard-today>article>time{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:900}.dashboard-today>article>div{min-width:0;display:grid}.dashboard-today>article small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.dashboard-today>article>span{color:#176044;background:#e2f5ec;border-radius:999px;padding:.25rem .5rem;font-size:.68rem;font-weight:800}.dashboard-today>article.is-cancelled{color:#842923;background:#fff3f2}.dashboard-today>article.is-cancelled>span{color:#842923;background:#f9d9d6}.dashboard-activity>a{border-bottom:1px solid var(--theme-line,#e8eeee);grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:4.6rem;padding:.75rem 1rem;text-decoration:none;display:grid}.dashboard-activity>a:hover{background:var(--theme-soft,#f8fbfb)}.dashboard-news,.dashboard-pending{gap:1rem;display:grid}.dashboard-pending>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.dashboard-pending>header h2,.dashboard-pending>p{margin:0}.dashboard-pending>header>span{min-width:2rem;min-height:2rem;color:var(--theme-accent,#17666b);background:var(--theme-tint,#ddf2f1);border-radius:999px;place-items:center;font-size:.8rem;font-weight:850;display:grid}.dashboard-pending>p{color:var(--muted);font-size:.82rem}.dashboard-pending-athletes{color:#176044;background:#e2f5ec;border-radius:.4rem;width:max-content;padding:.28rem .55rem;font-size:.74rem}.dashboard-pending ul{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.dashboard-pending li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;display:flex}.dashboard-pending li>div{flex-wrap:wrap;gap:.5rem;display:flex}.dashboard-pending button,.dashboard-pending .button-secondary{min-height:2.25rem;padding:.45rem .65rem;font-size:.75rem}.status-editor{display:block}.status-editor select{min-height:2.25rem;padding:.35rem 1.7rem .35rem .6rem;font-size:.75rem}.dashboard-news>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.dashboard-news>header h2{margin:0}.dashboard-news>header>span{color:var(--muted);font-size:.75rem}.dashboard-news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.dashboard-news-card{border:1px solid var(--line);background:var(--surface);border-radius:.7rem;grid-template-columns:6rem minmax(0,1fr);gap:.8rem;display:grid;overflow:hidden}.dashboard-news-card:not(:has(img)){grid-template-columns:minmax(0,1fr)}.dashboard-news-card img{object-fit:cover;background:var(--theme-soft);width:100%;height:100%;min-height:8rem}.dashboard-news-card>div{align-content:start;gap:.3rem;padding:.8rem .8rem .8rem 0;display:grid}.dashboard-news-card:not(:has(img))>div{padding-left:.8rem}.dashboard-news-card time{color:var(--muted);font-size:.68rem}.dashboard-news-card h3{margin:0;font-size:.95rem}.dashboard-news-card p{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:.8rem;display:-webkit-box;overflow:hidden}.dashboard-news-card a{color:var(--teal);font-size:.75rem;font-weight:800;text-decoration:none}.dashboard-news-card[role=button],.news-admin-card[role=button]{cursor:pointer}.dashboard-news-card[role=button]:focus-visible,.news-admin-card[role=button]:focus-visible{outline:3px solid var(--theme-accent,#17666b);outline-offset:3px}.dashboard-news-open{color:var(--teal);margin-top:.35rem;font-size:.75rem;font-weight:800;display:inline-block}.news-detail{gap:1rem;display:grid}.news-detail time{color:var(--muted);font-size:.78rem}.news-detail img{object-fit:cover;border-radius:.75rem;width:100%;max-height:24rem}.news-detail p{white-space:pre-wrap;margin:0;line-height:1.65}.news-detail a{width:max-content}.dashboard-activity>a>span{background:var(--swim);border-radius:1rem;width:4px;height:2.5rem}.dashboard-activity>a.tone-ride>span{background:var(--ride)}.dashboard-activity>a.tone-run>span{background:var(--run)}.dashboard-activity>a>div{display:grid}.dashboard-activity>a small{color:var(--muted);font-size:.7rem}.dashboard-activity>a i{color:var(--muted);font-style:normal}.dashboard-empty{color:var(--muted);margin:0;padding:1.25rem 1.1rem;font-size:.82rem}.dashboard-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.dashboard-shortcuts .metric{min-height:0}.dashboard-stats{margin-top:0}.record-type-settings{margin-top:1rem}.record-type-settings>.form-grid{border-bottom:1px solid var(--line);margin:1rem 0 1.25rem;padding-bottom:1.25rem}.record-type-list{gap:.65rem;display:grid}.record-type-list article{border:1px solid var(--line);border-radius:.75rem;grid-template-columns:minmax(12rem,1fr) minmax(11rem,.7fr) auto auto;align-items:end;gap:.75rem;padding:.85rem;display:grid}.record-type-list article>div{align-self:center;display:grid}.record-type-list small{color:var(--muted)}.record-type-list .toggle{align-self:center}@media (width<=760px){.record-type-list article{grid-template-columns:1fr}.record-type-list article button{width:100%}}.competition-family-response{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--theme-soft,#f4f9f9);grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr);gap:1.2rem;padding:1.2rem;display:grid}.competition-family-response>div:last-child{gap:.65rem;display:grid}.competition-family-response article{border:1px solid var(--line);background:var(--surface);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;display:flex}.competition-family-response article>span{display:grid}.competition-family-response article small{color:var(--muted)}.competition-family-response article>div{gap:.5rem;display:flex}.competition-family-response .is-selected{border-color:var(--theme-accent,#17656b);color:#fff;background:var(--theme-accent,#17656b)}@media (width<=700px){.competition-family-response{grid-template-columns:1fr}.competition-family-response article{flex-direction:column;align-items:stretch}.competition-family-response article>div{grid-template-columns:1fr 1fr;display:grid}.competition-family-response button{white-space:normal}}.person-create{border-top:4px solid var(--swim);gap:1rem;margin-bottom:1.25rem;display:grid}.person-create>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.person-create>header h2{margin:0}.person-create>header>span{color:#28536c;background:#e9f3f8;border-radius:999px;padding:.3rem .55rem;font-size:.7rem;font-weight:800}.person-create-guardian,.person-create-access{border:1px solid var(--line);background:var(--surface-soft);border-radius:.7rem;grid-template-columns:minmax(14rem,1fr) repeat(2,minmax(10rem,.7fr));align-items:end;gap:.8rem;padding:1rem;display:grid}.person-create-guardian h3,.person-create-guardian p,.person-create-access p{margin:0}.person-create-guardian p,.person-create-access p{color:var(--muted);font-size:.75rem}.person-create-access{background:var(--surface);grid-template-columns:1fr;align-items:start}.person-create-access .form-grid{width:100%}.person-create-actions{justify-content:flex-end;gap:.55rem;display:flex}.person-create-help{color:var(--muted);margin:0}.member-image-consent{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:1rem;padding-top:.8rem;display:flex}.member-image-consent strong{margin-right:.25rem}.member-image-consent small{color:var(--muted);font-size:.75rem}.bulk-assignment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.bulk-assignment-form>p,.bulk-assignment-form>footer{grid-column:1/-1}.bulk-assignment-form fieldset{border:1px solid var(--line);border-radius:.7rem;align-content:start;gap:.45rem;max-height:25rem;margin:0;padding:.8rem;display:grid;overflow:auto}.bulk-assignment-form legend{padding:0 .3rem;font-weight:800}.bulk-assignment-option{background:var(--surface-soft);cursor:pointer;border-radius:.45rem;align-items:center;gap:.6rem;padding:.5rem;display:flex}.bulk-assignment-option:hover{background:var(--theme-tint)}.bulk-assignment-option input{flex:none;width:auto}.bulk-assignment-option>span:last-child{min-width:0;display:grid}.bulk-assignment-option small{color:var(--muted);font-size:.72rem}.bulk-assignment-form footer{border-top:1px solid var(--line);justify-content:flex-end;gap:.55rem;padding-top:.8rem;display:flex}.rollover-review{gap:.85rem;display:grid}.rollover-review>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.rollover-review h2,.rollover-review p{margin:.2rem 0}.rollover-preview-list{gap:.45rem;max-height:24rem;padding-right:.2rem;display:grid;overflow:auto}.rollover-preview-list article{border:1px solid var(--line);background:var(--surface-soft);border-radius:.65rem;grid-template-columns:minmax(10rem,1.1fr) minmax(9rem,1fr) minmax(9rem,1fr);align-items:center;gap:.75rem;padding:.75rem;display:grid}.rollover-preview-list article>div{gap:.15rem;min-width:0;display:grid}.rollover-preview-list small{color:var(--muted);font-size:.72rem}.rollover-preview-list span,.rollover-preview-list strong{overflow-wrap:anywhere}.rollover-preview-list article>p{color:var(--danger);grid-column:1/-1;margin:0;font-size:.82rem;font-weight:700}.rollover-preview-list article.has-warning{border-color:color-mix(in srgb,var(--danger) 38%,var(--line));background:color-mix(in srgb,var(--danger) 6%,var(--surface-soft))}.rollover-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:.55rem;padding-top:.8rem;display:flex}.payment-tabs{margin:1.2rem 0 .4rem}.payment-origin{color:#28536c;background:#e9f3f8;border-radius:.35rem;width:max-content;padding:.25rem .5rem;font-size:.7rem;font-weight:800;display:inline-flex}.payment-month-picker{justify-items:end;gap:.25rem;display:grid}.payment-month-picker>span{color:var(--muted);font-size:.7rem;font-weight:750}.payment-month-picker>div{align-items:center;gap:.35rem;display:flex}.payment-month-picker button{min-width:2.5rem;min-height:2.5rem;padding:.4rem .6rem}.payment-month-picker label{min-width:12rem;position:relative}.payment-month-picker label input{opacity:0;cursor:pointer;position:absolute;inset:0}.payment-month-picker label b{border:1px solid var(--theme-line,#bfd1d1);background:var(--surface);text-transform:capitalize;border-radius:.6rem;place-items:center;min-height:2.5rem;padding:.45rem .8rem;font-size:.82rem;display:grid}.payment-month-picker label:focus-within b,.payment-month-picker label:hover b{border-color:var(--focus);outline:3px solid var(--theme-focus-ring,#087f8c29)}.payment-month-picker .payment-current-month{min-height:auto;color:var(--teal);background:0 0;border:0;padding:.15rem;font-size:.7rem}.performance-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.4rem;display:flex}.performance-heading .lead{max-width:48rem}.performance-stopwatch{border:1px solid var(--line);border-top:4px solid var(--accent);background:var(--surface);min-width:12rem;box-shadow:var(--shadow);border-radius:1rem;padding:1.15rem 1.3rem}.performance-stopwatch span{background:var(--ink);border-radius:1rem;width:2rem;height:.35rem;margin:-1.55rem auto .8rem;display:block}.performance-stopwatch b,.performance-timeline b,.team-ranking article>strong,.team-ranking time,.competition-result-numbers b{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.performance-stopwatch b{font-size:1.65rem}.performance-stopwatch small{color:var(--muted)}.performance-tabs{gap:.5rem;margin-bottom:1rem;display:flex;overflow-x:auto}.performance-tabs button{white-space:nowrap}.performance-tabs .is-active{border-color:var(--ink);background:var(--ink);color:#fff}.performance-tabs .performance-back-ranking{min-height:auto;color:var(--teal);background:0 0;border-color:#0000;padding:.4rem .55rem}.performance-layout{grid-template-columns:minmax(24rem,1.22fr) minmax(18rem,.78fr);align-items:start;gap:1.2rem;display:grid}.performance-layout>.performance-history{order:1}.performance-layout>.performance-entry{box-shadow:none;border-style:dashed;order:2}.performance-entry,.performance-entry form{gap:.85rem;display:grid}.performance-entry h2,.performance-section-title h2,.ranking-toolbar h2{margin-top:0}.performance-entry-pair{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.share-record{border:1px solid var(--line);background:var(--surface);border-radius:.7rem;flex-direction:row;align-items:start;gap:.7rem;padding:.85rem;display:flex}.share-record input{width:auto;margin-top:.2rem}.share-record small{color:var(--muted);margin-top:.15rem;display:block}.performance-form-actions{justify-content:flex-end;gap:.55rem;display:flex}.performance-history{min-width:0}.performance-section-title,.ranking-toolbar{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.8rem;display:flex}.performance-section-title label,.ranking-toolbar label{min-width:14rem}.ranking-actions{align-items:end;gap:.65rem;display:flex}.performance-timeline{gap:.7rem;padding-left:1.6rem;display:grid;position:relative}.performance-timeline:before{background:var(--line);content:"";width:2px;position:absolute;top:.4rem;bottom:.4rem;left:.5rem}.performance-timeline article{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:.85rem;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;padding:1rem;display:grid;position:relative}.performance-timeline article.is-hidden{opacity:.62}.performance-timeline-dot{background:var(--accent);width:.8rem;height:.8rem;box-shadow:0 0 0 1px var(--accent);border:3px solid #fff;border-radius:50%;position:absolute;top:1.25rem;left:-1.55rem}.performance-timeline b{margin:.15rem 0;font-size:1.45rem}.performance-timeline p{margin:.2rem 0}.performance-timeline em{color:var(--muted);font-size:.78rem;font-style:normal}.performance-record-actions{align-items:start;gap:.4rem;display:flex}.performance-record-actions details{position:relative}.performance-record-actions details>label{min-width:12rem;margin:.5rem 0}.performance-catalog{margin-top:1rem}.performance-catalog>form{grid-template-columns:1.4fr 1fr 1fr 1.5fr auto;align-items:end;gap:.7rem;margin:1rem 0;display:grid}.performance-catalog .plain-list li{justify-content:space-between;align-items:center;gap:1rem;display:flex}.performance-catalog .plain-list small{color:var(--muted);display:block}.team-ranking,.competition-result-list{gap:.65rem;display:grid}.team-ranking article{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:.8rem;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.15rem 1.35rem;display:grid}.team-ranking article>strong{color:var(--muted);text-align:center;font-size:1.35rem}.team-ranking time{font-size:1.35rem;font-weight:800}.team-ranking small{color:var(--muted);display:block}.team-ranking .rank-1{background:linear-gradient(90deg,#fff9e8,var(--surface) 35%);border:2px solid #d59d18;border-left-width:7px}.team-ranking .rank-2{border-left:5px solid #8d9aa0}.team-ranking .rank-3{border-left:5px solid #a86f3d}.competition-result-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.competition-result-numbers{text-align:right;gap:1.2rem;display:flex}.competition-result-link{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--surface);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 2rem;padding:1rem 1.2rem;display:flex}.competition-result-link p{margin:.25rem 0 0}.store-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.2rem;display:flex}.store-cart-ticket{border:1px dashed var(--navy-800);border-left:5px solid var(--ride);min-width:15rem;color:var(--ink);background:var(--surface);text-align:left;box-shadow:var(--shadow);gap:.15rem;padding:1rem 1.2rem;display:grid}.store-cart-ticket:hover:not(:disabled){border-color:var(--teal);color:var(--ink);background:var(--surface)}.store-cart-ticket small{color:var(--muted);letter-spacing:.08em;font-size:.62rem}.store-cart-ticket strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.25rem}.store-tabs{gap:.5rem;margin-bottom:1rem;display:flex}.store-tabs .is-active{border-color:var(--ink);color:#fff;background:var(--ink)}.store-toolbar{gap:.8rem;margin-bottom:1rem;display:flex}.store-toolbar>.context-select{flex:18rem;min-width:16rem}.store-toolbar label{min-width:14rem}.store-layout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:1.2rem;display:grid}.store-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.store-product{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:1rem;overflow:hidden}.store-product-visual{background:var(--theme-soft,#e8f1f1);place-items:center;height:14rem;display:grid;position:relative;overflow:hidden}.store-product-visual img{object-fit:cover;width:100%;height:100%}.store-product-visual>small{color:#fff;background:var(--navy-950);text-transform:uppercase;border-radius:999px;padding:.3rem .55rem;font-size:.6rem;font-weight:850;position:absolute;top:.8rem;left:.8rem}.store-product-fallback{color:#fff;background:linear-gradient(145deg,var(--swim),var(--navy-800));text-align:center;border-radius:4rem 4rem 1rem 1rem;align-content:center;width:9rem;height:11rem;padding:1rem;display:grid;transform:rotate(-3deg)}.store-product-fallback span{font-size:1.5rem;font-weight:900}.store-product-fallback b{color:var(--theme-on-dark,#d8f0f0);text-transform:uppercase;font-size:.65rem}.store-product-copy{gap:.7rem;padding:1rem;display:grid}.store-product-copy h2,.store-product-copy p{margin:0}.store-product-copy p{color:var(--muted);font-size:.82rem}.store-product-copy>div{grid-template-columns:6rem 1fr;align-items:end;gap:.6rem;display:grid}.store-cart{border-top:5px solid var(--ride);position:sticky;top:1rem}.store-cart ul,.store-order ul,.store-catalog-admin ul{margin:0;padding:0;list-style:none}.store-cart li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 4rem auto;align-items:center;gap:.5rem;padding:.7rem 0;display:grid}.store-cart li small{color:var(--muted);display:block}.store-cart li input{min-height:2.2rem;padding:.35rem}.store-cart-empty{color:var(--muted);padding:1rem 0}.store-cart footer{gap:.55rem;padding-top:1rem;display:grid}.store-cart footer>b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.55rem}.store-cart footer small{color:var(--muted)}.store-order-list,.store-admin-orders{gap:.8rem;display:grid}.store-order>header,.store-admin-orders article>header,.store-catalog-admin article>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.store-order>header>b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.35rem}.store-order li,.store-catalog-admin li{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.55rem 0;display:flex}.store-order details{margin-top:.8rem}.store-admin{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.store-admin form{gap:.7rem;display:grid}.store-admin form>div{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.store-catalog-admin{margin-top:1rem}.store-catalog-admin>article{border-top:1px solid var(--line);padding:1rem 0}.store-catalog-admin small{color:var(--muted);display:block}.store-admin-orders{margin-top:1.5rem}.store-admin-orders header>div:last-child{gap:.5rem;display:flex}@media (width<=1000px){.training-block-editor{grid-template-columns:2rem repeat(2,minmax(11rem,1fr));grid-template-areas:"number discipline start""number name name""number end location""number notes notes""number remove remove"}.location-form{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.dashboard-grid{grid-template-columns:1fr}.dashboard-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.group-create{grid-template-columns:1fr 1fr}.group-create .wide{grid-column:1/-1}.finance-metrics{grid-template-columns:repeat(2,1fr)}.calendar-toolbar,.calendar-guide-grid{grid-template-columns:1fr}.calendar-guide-grid section+section{border-top:1px solid var(--line);border-left:0}.month-nav{grid-row:1}.competition-detail-overview,.competition-board-list>article,.dashboard-news-grid{grid-template-columns:1fr}.view-switch,.calendar-filters{justify-content:center}.family-agenda-summary>header{flex-direction:column;align-items:start}}@media (width<=800px){.auth-card--login{grid-template-columns:1fr}.auth-visual{min-height:auto;padding:1.25rem 2rem 0}.auth-visual img{max-height:18rem}.registration-child{grid-template-columns:1fr}.auth-card--register{padding:1.5rem}.auth-card--register form{grid-template-columns:1fr;gap:.85rem}.auth-card--register form>fieldset,.auth-card--register form>section,.auth-card--register form>button,.auth-card--register form>p{grid-column:auto}.auth-card--register .auth-links{justify-content:center}.membership-columns{grid-template-columns:1fr}}@media (width<=720px){.bulk-assignment-form{grid-template-columns:1fr}.rollover-review>header,.rollover-preview-list article{grid-template-columns:1fr;display:grid}.rollover-actions{justify-content:stretch}.rollover-actions button{flex:1}.intensity-picker>div{grid-template-columns:repeat(5,minmax(3.2rem,1fr));overflow-x:auto}.intensity-picker label{min-width:3.2rem}.intensity-picker span{font-size:.6rem}.intensity-metrics{grid-template-columns:1fr}.training-intensity-heading{flex-direction:column;align-items:start}.store-heading,.store-toolbar{flex-direction:column;align-items:stretch}.store-toolbar>.context-select{width:100%;min-width:0}.store-cart-ticket{width:100%}.store-layout{grid-template-columns:1fr}.store-cart{grid-row:1;position:static}.store-admin{grid-template-columns:1fr}.performance-heading,.performance-section-title,.ranking-toolbar,.ranking-actions,.competition-result-link{flex-direction:column;align-items:stretch}.training-block-editor{grid-template-columns:2rem minmax(0,1fr);grid-template-areas:"number discipline""number name""number start""number end""number location""number notes""number remove"}.performance-stopwatch{width:max-content}.performance-layout{grid-template-columns:1fr}.performance-catalog>form{grid-template-columns:1fr 1fr}.performance-catalog>form button{grid-column:1/-1}.portal{grid-template-columns:1fr}.portal-sidebar{z-index:10;height:auto;padding:.7rem .8rem;position:sticky;top:0}.logo{width:max-content;margin:0 0 .55rem;padding:0 .2rem .35rem;font-size:1.15rem}.portal-sidebar nav{scrollbar-width:none;gap:.2rem;display:flex;overflow-x:auto}.portal-sidebar nav::-webkit-scrollbar{display:none}.portal-sidebar nav a{flex:none;padding:.55rem .65rem;font-size:.8rem}.portal-sidebar nav a.router-link-exact-active:before{width:auto;height:2px;inset:auto .65rem 0}.portal-sidebar button{min-height:auto;margin:0;padding:.3rem .45rem;font-size:.7rem;position:absolute;top:.45rem;right:.55rem}.content{padding:0 1rem 3rem}.content>header{min-height:3.75rem;margin-bottom:1.75rem}.content>header small{display:none}.section-heading{align-items:start}.form-grid,.group-create,.finance-plan-grid,.admin-detail-grid,.plan-create,.dashboard-manager-priority{grid-template-columns:1fr}.dashboard-today>article{grid-template-columns:3.25rem minmax(0,1fr)}.dashboard-today-actions{grid-column:1/-1;justify-content:stretch}.dashboard-today-actions button{flex:1}.wide,.group-create .wide,.plan-create h2,.plan-create button{grid-column:auto}.filters,.finance-toolbar{grid-template-columns:1fr}.group-toolbar{flex-direction:column;align-items:stretch}.group-toolbar>label{width:100%}.family-toolbar{flex-direction:column;align-items:stretch}.family-toolbar>label{width:100%}.person-create-guardian{grid-template-columns:1fr;align-items:stretch}.notification-preferences-heading,.push-device,.settings-save{flex-direction:column;align-items:stretch}.settings-transmission article>header{grid-template-columns:auto minmax(0,1fr)}.settings-transmission article>header .toggle{grid-column:2}.settings-transmission article>label,.settings-payment-grid{margin-left:0}.settings-payment-grid{grid-template-columns:1fr}}@media (width<=600px){.store-products{grid-template-columns:1fr}.store-product-visual{height:12rem}.store-order>header,.store-admin-orders article>header,.store-catalog-admin article>header{flex-direction:column;align-items:stretch}.store-admin-orders header>div:last-child{display:grid}h1{font-size:2rem}.performance-entry-pair,.performance-catalog>form,.performance-timeline article,.team-ranking article{grid-template-columns:1fr}.performance-record-actions,.competition-result-list article{flex-direction:column;align-items:stretch}.team-ranking article>strong{text-align:left}.competition-result-numbers{text-align:left;justify-content:flex-start}.competition-result-link{margin-left:.8rem;margin-right:.8rem}.dashboard-heading{gap:1rem;display:grid}.dashboard-heading>time{width:max-content}.dashboard-shortcuts{grid-template-columns:1fr}.dashboard-today>article{grid-template-columns:3.5rem minmax(0,1fr)}.dashboard-today>article>span{grid-column:2;width:max-content}.person-create-actions{display:grid}.panel{padding:1rem}.table-wrap{box-shadow:none;background:0 0;border:0;padding:0;overflow:visible}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{width:100%;display:block}.table-wrap thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.table-wrap tbody{gap:.65rem;display:grid}.table-wrap tr{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:.75rem;padding:.35rem .9rem}.table-wrap td{border-bottom:1px solid var(--theme-line,#e8eeee);grid-template-columns:minmax(5.5rem,.7fr) minmax(0,1.3fr);align-items:center;gap:.7rem;padding:.55rem 0;display:grid}.table-wrap td:before{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;content:attr(data-label);font-size:.65rem;font-weight:850}.table-wrap td:last-child{border-bottom:0}.table-wrap td[colspan]{text-align:center;padding:1rem 0;display:block}.table-wrap td[colspan]:before{display:none}.table-title{border:0;margin:0 0 .65rem;padding:0}.finance-metrics{grid-template-columns:1fr 1fr}.finance-metrics b{font-size:1.05rem}.finance-heading>label{width:100%}.finance-heading{gap:1rem}.payment-month-picker{justify-items:stretch;width:100%}.payment-month-picker>div{grid-template-columns:auto 1fr auto;display:grid}.payment-month-picker label{min-width:0}.payment-current-month{justify-self:end}.finance-generate{flex-direction:column;align-items:stretch}.due-dialog-form{grid-template-columns:1fr}.family-children>article{grid-template-columns:1fr;gap:.55rem}.family-card>header,.family-empty{flex-direction:column;align-items:stretch}.family-picker{grid-template-columns:1fr}.family-link-arrow{justify-self:center;width:max-content;transform:rotate(90deg)}.family-dialog-footer{grid-template-columns:1fr}.section-heading{display:grid}.role-options,.training-block-editor,.repeat-grid,.location-form,.location-admin-item{grid-template-columns:1fr}.location-admin-actions{justify-content:stretch}.candidate-list li{flex-direction:column;align-items:stretch}.candidate-list button{width:100%}.training-block-editor>b{grid-row:auto}.repeat-grid fieldset{grid-column:auto}.training-row{grid-template-columns:6.5rem 3px 1fr;gap:.65rem}.training-row>.status-label{grid-column:3}.month-grid{box-shadow:none;border:0;display:block}.month-weekday,.month-day.is-outside{display:none}.month-day{border:1px solid var(--line);border-radius:.65rem;grid-template-columns:2.5rem 1fr;gap:.35rem;min-height:auto;margin-bottom:.45rem;padding:.65rem;display:grid}:is(.month-day:has(>button),.month-day:has(>.month-competition)){display:grid}.month-day:not(:has(>button)):not(:has(>.month-competition)){display:none}.calendar-subscription,.calendar-actions{flex-direction:column;align-items:stretch}.attendance-list>div,.response-controls,.cancel-training{grid-template-columns:1fr}.cancel-training h3{grid-column:auto}.competition-price-grid,.competition-card-open{grid-template-columns:1fr}.competition-response-row,.competition-toolbar,.competition-admin{flex-direction:column;align-items:stretch}.competition-form-actions{display:grid}.competition-detail{border-radius:0;max-height:100vh}.competition-detail>header{padding:.9rem 1rem}.competition-detail-overview,.competition-groups-summary,.competition-logistics,.competition-board,.competition-admin,.competition-locked{margin-left:.8rem;margin-right:.8rem}.competition-detail-overview{display:grid}.competition-groups-summary,.competition-logistics,.competition-admin>div{grid-template-columns:1fr;align-items:stretch;display:grid}.competition-groups-summary>div:last-child{justify-content:flex-start}.competition-board-journey{grid-template-columns:1fr 1fr}.competition-board-journey button:nth-child(2){border-right:0}.competition-board-journey button:nth-child(-n+2){border-bottom:1px solid var(--line)}.competition-board-toolbar,.competition-board-list>article,.competition-athlete-action{grid-template-columns:1fr}.competition-registration-management{justify-content:flex-start}.competition-cancel-form{grid-template-columns:1fr}.competition-cancel-form>label:first-child{grid-column:auto}.competition-cancel-form>div{justify-content:flex-start}.competition-danger-zone{text-align:left;width:100%;margin-left:0}.preference-table-heading,.preference-row{grid-template-columns:minmax(0,1fr) 3.5rem 3.5rem;padding-left:.7rem;padding-right:.7rem}.push-device{margin-left:.7rem;margin-right:.7rem}.notification-preferences>button{width:calc(100% - 1.4rem);margin-left:.7rem;margin-right:.7rem}}.training-execution{gap:1rem;margin-top:1rem;display:grid}.training-distance-propagation{border:1px solid var(--theme-line,#cbdde2);background:var(--theme-soft,#f5fafb);border-radius:12px;gap:.7rem;padding:1rem;display:grid}.training-distance-propagation h4{margin:0}.training-distance-propagation p{color:var(--muted);margin:.25rem 0 0}.training-distance-propagation-fields{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.training-distance-propagation button{justify-self:start}.training-execution-list{gap:.6rem;display:grid}.training-execution-list article{border:1px solid var(--line);border-radius:12px;padding:.8rem}.training-execution-list article>div{grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:.7rem;display:grid}.training-present{align-items:center;gap:.6rem;display:flex!important}.training-present input{width:auto!important}@media (width<=620px){.training-distance-propagation-fields,.training-execution-list article>div{grid-template-columns:1fr}}.points{gap:1.5rem;display:grid}.points-hero{color:#fff;background:linear-gradient(112deg,var(--theme-strong,#173757) 0 54%,var(--theme-accent,#17656b) 54% 72%,#ba2637 72%);border-radius:24px;justify-content:space-between;align-items:center;min-height:190px;padding:2rem 2.25rem;display:flex;position:relative;overflow:hidden}.points-hero:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 50%,#ffffff14 50% 51%,#0000 51%);position:absolute;inset:0}.points-hero>div{z-index:1;position:relative}.points-hero h1{letter-spacing:-.055em;max-width:660px;margin:.35rem 0;font-size:clamp(2rem,4vw,3.5rem);line-height:.95}.points-hero p{max-width:590px;color:var(--theme-on-dark,#dbe8ef);margin:0}.points-ticket{background:var(--surface);min-width:180px;color:var(--theme-strong,#173757);text-align:center;border:1px solid #ffffff80;border-radius:16px;padding:1.2rem;display:grid;transform:rotate(1.5deg);box-shadow:0 14px 30px #0b223338}.points-ticket b{font-size:2.35rem;line-height:1}.points-ticket span{color:var(--theme-accent,#17656b);font-weight:750}.points-controls{gap:1rem;display:flex}.points-controls label{min-width:220px}.points-metrics{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.points-metrics article{border:1px solid var(--theme-line,#dce4e7);background:var(--surface);border-left:5px solid;border-radius:16px;gap:.7rem;min-height:112px;padding:1.25rem;display:grid}.points-metrics small{letter-spacing:.06em;font-weight:800}.points-metrics b{font-size:1.5rem}.points-metrics .is-swim{border-left-color:#3f719f}.points-metrics .is-cycle{border-left-color:#ba2637}.points-metrics .is-run{border-left-color:#e87526}.points-metrics .is-attendance{border-left-color:#287c49}.points-ranking{border:1px solid var(--theme-line,#dce4e7);background:var(--surface);border-radius:20px;padding:1.5rem}.points-ranking-head{justify-content:space-between;align-items:end;gap:1rem;display:flex}.points-ranking-head>div:last-child{align-items:center;gap:.75rem;display:flex}.points-category{border:1px solid var(--theme-line,#dce4e7);background:var(--theme-soft,#f5f7f7);border-radius:12px;padding:.25rem;display:flex}.points-category button{color:var(--theme-muted,#52636b);background:0 0;border:0;padding:.55rem .75rem}.points-category button.is-active{background:var(--theme-strong,#173757);color:#fff}.points-podium{grid-template-columns:repeat(3,1fr);align-items:end;gap:1.2rem;margin:2.5rem 0 1.5rem;display:grid}.points-podium article{border:2px solid var(--theme-line,#c7d6df);text-align:center;border-radius:20px;justify-items:center;min-height:210px;padding:1.25rem;display:grid}.points-podium .place-1{background:linear-gradient(#fffdf2,var(--surface));border-color:#e5a900;grid-area:1/2;min-height:250px}.points-podium .place-2{grid-area:1/1}.points-podium .place-3{border-color:#d28b55;grid-area:1/3}.points-podium i{background:var(--theme-strong,#173757);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;font-size:1.5rem;font-style:normal;display:grid}.points-podium h3{margin:.7rem 0 .25rem}.points-podium b{color:#a6182d;background:#fce8e9;border-radius:999px;padding:.45rem .8rem}.points-table{gap:.5rem;display:grid}.points-table article{background:var(--theme-soft,#f5f7f7);border-radius:12px;grid-template-columns:48px 1fr auto;align-items:center;padding:.8rem 1rem;display:grid}.points-rewards{background:var(--theme-soft,#edf3f3);border-radius:20px;gap:1rem;padding:1.5rem;display:grid}.reward-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.reward-grid article{background:var(--surface);border-radius:16px;padding:1.2rem}.reward-grid article>span{color:#ba2637;font-weight:900}.reward-grid p{min-height:3em;color:var(--theme-muted,#617078)}.reward-grid button{width:100%}@media (width<=900px){.points-metrics{grid-template-columns:repeat(2,1fr)}.points-ranking-head,.points-ranking-head>div:last-child{flex-direction:column;align-items:stretch}.reward-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.points-hero{flex-direction:column;align-items:stretch;gap:1.5rem;padding:1.4rem}.points-ticket{min-width:0;transform:none}.points-controls{flex-direction:column}.points-controls label{min-width:0}.points-metrics{grid-template-columns:1fr 1fr}.points-podium{grid-template-columns:1fr}.points-podium .place-1,.points-podium .place-2,.points-podium .place-3{grid-area:auto/1;min-height:0}.points-podium .place-1{grid-row:1}.points-podium .place-2{grid-row:2}.points-podium .place-3{grid-row:3}.reward-grid{grid-template-columns:1fr}.points-category{overflow:auto}.points-category button{white-space:nowrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.points-athlete-select{flex:24rem;min-width:20rem}.points-controls>.context-select:last-child{flex:0 15rem}@media (width<=620px){.points-athlete-select{flex:none;width:100%;min-width:0}.points-controls>.context-select:last-child{flex:none;width:100%}}.dashboard-welcome{align-items:center;gap:.7rem;margin:.3rem 0;display:flex}.dashboard-welcome>.athlete-identity strong{letter-spacing:-.045em;font-size:clamp(1.8rem,4vw,3rem);line-height:1}.dashboard-today .athlete-identity{margin-top:.25rem}.dashboard-activity .athlete-identity{margin-bottom:.3rem}.points-podium .athlete-avatar{width:64px;height:64px}.points-controls>.athlete-identity{border:1px solid var(--theme-line,#dce4e7);background:var(--surface);border-radius:14px;align-self:end;padding:.35rem .7rem .35rem .35rem}.competition-athlete .athlete-identity{min-width:0}.athlete-avatar{background:var(--theme-strong,#173757);border:2px solid #ffffffd9;border-radius:25%;flex:none;display:inline-grid;overflow:hidden;box-shadow:0 2px 8px #0e2a3e26}.athlete-avatar svg{width:100%;height:100%;display:block}.athlete-avatar--sm{width:36px;height:36px}.athlete-avatar--md{width:56px;height:56px}.athlete-avatar--lg{width:104px;height:104px}.athlete-identity{align-items:center;gap:.65rem;min-width:0;display:inline-flex}.athlete-identity>span:last-child{min-width:0;display:grid}.athlete-identity strong,.athlete-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.athlete-identity small{color:var(--muted)}.profile-page-heading{justify-content:space-between;align-items:end;margin-bottom:1rem;display:flex}.athlete-card{isolation:isolate;background:var(--theme-strong,#123755);color:#fff;border-radius:26px;grid-template-columns:auto 1fr auto;align-items:end;gap:1.4rem;min-height:250px;padding:4.5rem 2rem 2rem;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #102f4633}.athlete-card:after{content:"";z-index:-1;border:1px solid #ffffff26;border-radius:50%;height:120%;position:absolute;inset:auto -4% -55% 28%;transform:rotate(-12deg)}.discipline-stripe{grid-template-columns:repeat(3,1fr);height:18px;display:grid;position:absolute;top:0;left:42%;right:-4%;transform:skew(-28deg)}.discipline-stripe i:first-child{background:#2e93ad}.discipline-stripe i:nth-child(2){background:#f4c34f}.discipline-stripe i:nth-child(3){background:#d94d62}.athlete-card-brand{letter-spacing:-.04em;font-size:1.35rem;font-weight:950;position:absolute;top:1.5rem;left:2rem}.athlete-card-brand span{color:var(--theme-on-dark,#9fbdca);letter-spacing:.12em;margin-left:.4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem}.athlete-card-name small{color:var(--theme-on-dark,#83cbd5);letter-spacing:.16em;font-weight:900}.athlete-card-name h2{letter-spacing:-.05em;margin:.15rem 0;font-size:clamp(1.8rem,4vw,3.4rem);line-height:.95}.athlete-card-name p{color:var(--theme-on-dark,#c9dce4);margin:.65rem 0 0}.athlete-card dl{gap:.8rem;margin:0;display:grid}.athlete-card dl div{background:#ffffff12;border:1px solid #fff3;border-radius:10px;min-width:160px;padding:.7rem .9rem}.athlete-card dt{color:var(--theme-on-dark,#9fbdca);text-transform:uppercase;font-size:.7rem}.athlete-card dd{letter-spacing:.04em;margin:.2rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}.profile-read-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.profile-facts{grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0 0;display:grid}.profile-facts div:last-child{grid-column:1/-1}.profile-facts dt{color:var(--muted);text-transform:uppercase;font-size:.75rem}.profile-facts dd{margin:.2rem 0 0;font-weight:700}.profile-editor{gap:1.25rem;margin-top:1rem;display:grid}.avatar-picker{border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;gap:.65rem;padding:1rem;display:flex}.avatar-picker legend{padding:0 .4rem;font-weight:800}.avatar-picker button{background:0 0;border:2px solid #0000;border-radius:18px;padding:3px}.avatar-picker button.selected{background:var(--theme-tint,#dff2f3);border-color:#2e93ad}.compliance-editor{border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem;display:grid}.compliance-editor legend{padding:0 .4rem;font-weight:800}.profile-editor-actions{justify-content:flex-end;gap:.75rem;display:flex}.compliance-cards{grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem;display:grid}.compliance-cards article{border:1px solid var(--line);border-radius:14px;gap:.35rem;padding:1rem;display:grid}.compliance-cards strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem}.date-state{border-radius:999px;justify-self:start;padding:.25rem .5rem;font-size:.7rem;font-weight:900}.date-state--valid{color:#186341;background:#dff3e9}.date-state--warning{color:#765400;background:#fff0c9}.date-state--expired{color:#9f1f35;background:#fde1e4}.date-state--missing{color:var(--theme-muted,#58656a);background:#edf0f1}@media (width<=720px){.athlete-card{grid-template-columns:auto 1fr;padding:4rem 1.2rem 1.3rem}.athlete-card dl{grid-column:1/-1;grid-template-columns:1fr 1fr}.athlete-card dl div{min-width:0}.profile-read-grid,.compliance-editor{grid-template-columns:1fr}.athlete-avatar--lg{width:82px;height:82px}}@media (width<=420px){.athlete-card{grid-template-columns:1fr}.athlete-card-name{grid-column:1}.athlete-card dl,.profile-facts,.compliance-cards{grid-template-columns:1fr}.profile-facts div:last-child{grid-column:auto}}#app,.content,.content>section,.panel,form,fieldset,label,.section-heading>div,.content>header>div,.portal-header-actions,.store-layout>*,.points-ranking-head>*,.points-table article>*,.profile-read-grid>*,.athlete-card>*,.record-type-list article>*,.family-list article>*,.group-card header>*,.training-row-main{min-width:0}input,select,textarea{min-width:0;max-width:100%}input[type=checkbox],input[type=radio]{width:1.1rem;height:1.1rem;min-height:1.1rem;accent-color:var(--teal);flex:none;padding:0}textarea{resize:vertical}fieldset{flex-wrap:wrap;margin-inline:0}p,h1,h2,h3,dd,td,li,.alert,.status-label,.pill,.training-row-main,.notification-open{overflow-wrap:anywhere}.pill,.status-label{white-space:normal;max-width:100%}.athlete-identity{max-width:100%}.athlete-identity strong,.athlete-identity small{white-space:normal;overflow-wrap:anywhere}.section-heading,.profile-page-heading{flex-wrap:wrap;gap:1rem}.content>header{gap:.75rem}.content>header .pill{max-width:100%}.portal-header-actions{flex-shrink:0}.portal-header-actions .pill{max-width:16rem!important}.portal-sidebar{height:100dvh;overflow-y:auto}.portal-sidebar>button{margin-top:1rem}.sidebar-brand{justify-content:space-between;align-items:center;gap:.5rem;margin:0 .3rem 1.25rem;display:flex}.sidebar-brand .logo{flex:1;margin:0;padding-bottom:.65rem}.sidebar-monogram{display:none}.sidebar-toggle{width:2rem;min-width:2rem;min-height:2rem;color:var(--theme-on-dark,#d9e5ec);background:#ffffff14;border:1px solid #fff3;border-radius:999px;flex:0 0 2rem;padding:0;font-size:1.25rem;line-height:1;position:static}.sidebar-toggle:hover:not(:disabled){color:#fff;background:#ffffff29}.nav-icon{flex:0 0 1.3rem;width:1.3rem;height:1.3rem;display:block}.portal-sidebar nav a,.sidebar-signout,.mobile-navigation nav a{align-items:center;gap:.7rem;display:flex}.portal-sidebar nav a{min-height:2.75rem}.sidebar-label{min-width:0}.is-sidebar-collapsed{grid-template-columns:4.5rem minmax(0,1fr)}.is-sidebar-collapsed .portal-sidebar{align-items:center;padding-inline:.7rem}.is-sidebar-collapsed .sidebar-brand{flex-direction:column;gap:.65rem;width:100%;margin-inline:0}.is-sidebar-collapsed .sidebar-brand .logo{text-align:center;flex:none;width:100%}.is-sidebar-collapsed .sidebar-wordmark,.is-sidebar-collapsed .sidebar-label{display:none}.is-sidebar-collapsed .sidebar-monogram{font-size:1.35rem;display:inline}.is-sidebar-collapsed .portal-sidebar nav{width:100%}.is-sidebar-collapsed .portal-sidebar nav a{justify-content:center;width:100%;padding:.7rem 0}.is-sidebar-collapsed .portal-sidebar nav a.router-link-exact-active:before{width:3px;top:.35rem;bottom:.35rem;left:0}.is-sidebar-collapsed .sidebar-signout{justify-content:center;width:100%;padding-inline:0}.mobile-bar{display:none}.record-summary{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-block:.75rem;display:flex}.record-summary p{margin:.25rem 0}.record-type-list article{grid-template-columns:minmax(0,1fr) auto}.performance-layout,.finance-plan-grid{grid-template-columns:minmax(0,1fr)}.performance-history{grid-column:auto}.performance-tabs,.payment-tabs,.store-tabs,.view-switch,.calendar-filters,.calendar-actions,.response-controls,.points-category{flex-wrap:wrap}.choice-list{gap:.65rem;max-height:16rem;display:grid;overflow:auto}.choice-list label{align-items:center;display:flex}.table-wrap td{overflow-wrap:anywhere}.points-table article{grid-template-columns:2.5rem minmax(0,1fr) auto;gap:.6rem}.store-layout{grid-template-columns:minmax(0,1fr) minmax(15rem,20rem)}.store-cart{height:auto;color:var(--ink);background:var(--surface)}.store-cart li>*,.store-catalog-admin li>*,.store-order li>*{min-width:0}.performance-stopwatch{max-width:100%}.performance-stopwatch b{overflow-wrap:anywhere}.notification-popover{max-height:min(38rem,100dvh - 7rem)}.app-modal{overscroll-behavior:contain;border:1px solid var(--line);width:min(40rem,100% - 2rem);max-width:calc(100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink);background:var(--surface);border-radius:1rem;margin:auto;padding:0;overflow:auto;box-shadow:0 1.5rem 5rem #081c2c40}.app-modal::backdrop{background:#081c2c8c}.app-modal--wide{width:min(68rem,100% - 2rem)}.app-modal-shell{min-width:0}.app-modal-heading{z-index:3;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:start;gap:1rem;padding:1rem 1.25rem;display:flex;position:sticky;top:0}.app-modal-heading h2{margin:.45rem 0 0}.app-modal-heading h2:focus{outline:none}.app-modal-body{min-width:0;padding:1.25rem}.app-modal-body .alert--success,.app-modal-body .alert--error{width:auto;box-shadow:none;margin:0 0 1rem;animation:none;position:static}.app-modal-body form{gap:1rem;display:grid}.app-modal-body .panel{box-shadow:none}.app-modal-body .form-grid{max-width:none}.app-modal-body :is(.training-detail,.competition-detail,.group-member-dialog,.family-dialog,.due-dialog){width:100%;max-width:none;max-height:none;box-shadow:none;border:0;border-radius:0;margin:0;padding:0;overflow:visible}.app-modal-body :is(.training-detail,.competition-detail,.group-member-dialog,.family-dialog,.due-dialog)>header{position:static}.app-modal-body .performance-entry{order:initial}.modal-cancel{border-top:1px solid var(--line);justify-content:flex-end;margin-top:1rem;padding-top:1rem;display:flex}.dialog-close{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem}.app-modal--drawer{border-radius:0;width:min(24rem,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto}.mobile-navigation nav{gap:.3rem;display:grid}.mobile-navigation nav a{border-radius:.6rem;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:block}.mobile-navigation nav a.router-link-exact-active{color:#fff;background:var(--navy-950);border-left:4px solid var(--swim)}.mobile-navigation>button{width:100%;margin-top:1.5rem}@media (width<=1100px){.store-layout{grid-template-columns:minmax(0,1fr)}.store-cart{grid-row:auto;position:static}.points-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.points-ranking-head,.points-ranking-head>div:last-child{flex-direction:column;align-items:stretch}.calendar-toolbar{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.portal{display:block}.portal-sidebar,.sidebar-toggle{display:none}.mobile-bar{z-index:15;padding:.65rem 1rem;padding-top:max(.65rem, env(safe-area-inset-top));background:var(--navy-950);color:#fff;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.mobile-bar .logo{margin:0;padding:0 .2rem .3rem;font-size:1.4rem}.content{padding:0 1rem 2rem}.content>header{margin-bottom:1.5rem}.portal-header-actions .pill{display:none}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:1rem}.auth-links{flex-wrap:wrap}.notification-popover{width:auto;max-height:calc(100dvh - 9rem);position:fixed;top:8rem;left:1rem;right:1rem}.environment-badge{top:max(.4rem, env(safe-area-inset-top));z-index:50;pointer-events:none;max-width:calc(100% - 2rem);bottom:auto}}@media (width<=600px){.content{padding-inline:.75rem}.section-heading,.profile-page-heading,.record-summary,.group-card>header,.family-card>header{flex-direction:column;align-items:stretch}.section-heading>button,.profile-page-heading>button{width:100%}.payment-month-picker,.payment-month-picker>div,.payment-month-picker label{min-width:0;max-width:100%}.calendar-filters{grid-template-columns:minmax(0,1fr);display:grid}.calendar-filters>.context-select{width:100%;min-width:0}.month-nav{gap:.5rem;min-width:0}.month-nav b{text-align:center;min-width:0}.training-row{grid-template-columns:5.2rem 3px minmax(0,1fr)}.points-ranking,.points-rewards{padding:1rem}.points-metrics{gap:.6rem}.points-metrics article{min-width:0;padding:.75rem}.points-category{overflow:visible}.points-category button{white-space:normal;flex:auto}.points-table article{grid-template-columns:1.5rem minmax(0,1fr);padding:.75rem}.points-table article>b{grid-column:2}.store-toolbar label,.store-cart-ticket{min-width:0}.store-products,.record-type-list article,.store-product-copy>div{grid-template-columns:minmax(0,1fr)}.store-catalog-admin li,.store-order li{flex-wrap:wrap}.store-cart li{grid-template-columns:minmax(0,1fr) 3.5rem auto}.store-tabs>button,.payment-tabs>button{flex:auto}.intensity-picker>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem;overflow:visible}.intensity-picker label{min-width:0;padding-inline:.1rem}.intensity-picker span{overflow-wrap:anywhere}.app-modal{border-radius:.85rem .85rem 0 0;width:100%;max-width:100%;max-height:100dvh;margin:auto 0 0}.app-modal-heading{padding:max(.8rem, env(safe-area-inset-top)) .8rem .8rem}.app-modal-body{padding:.8rem .8rem max(1rem, env(safe-area-inset-bottom))}.app-modal--drawer{border-radius:0;margin:0 0 0 auto}.app-modal-body .panel{padding:.65rem}.app-modal-body :is(.form-grid,.training-block-editor,.performance-entry-pair,.location-form,.group-create,.due-dialog-form){grid-template-columns:minmax(0,1fr)}.image-consent{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.85rem}.image-consent>*,.image-consent-options{grid-column:auto;width:100%}.image-consent-options{gap:.55rem}.image-consent-options label{border:1px solid var(--theme-line,var(--line));background:var(--surface);border-radius:.6rem;align-items:center;min-height:2.75rem;padding:.65rem .7rem;line-height:1.35}.image-consent-options input{margin-top:0}.image-consent-options label:has(input:checked){border-color:var(--theme-accent,var(--teal));background:var(--theme-tint,#e8f5f4)}.image-consent-status{background:var(--theme-soft,var(--surface-soft));border-radius:.6rem;padding:.65rem .7rem}.image-consent>button{min-height:2.9rem}.profile-editor{gap:1rem;margin-top:0}.profile-image-consent-editor{min-inline-size:0;padding:.75rem}.profile-image-consent-editor p{overflow-wrap:anywhere}.profile-image-consent-editor label{border:1px solid var(--theme-line,var(--line));background:var(--surface);border-radius:.6rem;align-items:center;min-height:2.75rem;padding:.65rem .7rem;line-height:1.35}.profile-image-consent-editor label:has(input:checked){border-color:var(--theme-accent,var(--teal));background:var(--theme-tint,#e8f5f4)}.profile-image-consent-editor input{margin-top:0}.profile-editor-actions,.profile-editor-actions button{width:100%}.table-wrap td[colspan]{padding-left:1rem}.table-wrap td[colspan]:before{display:none}.auth-shell{padding:.75rem}.auth-card,.auth-content{padding:1.5rem}.auth-card--login{padding:0}.auth-visual{padding:1rem 1rem 0}}.performance-stopwatch{flex-shrink:0;width:auto;min-width:0}.performance-stopwatch b{letter-spacing:0;font-size:clamp(1rem,3vw,1.5rem)}.app-modal-body .performance-entry{background:var(--surface);border:0;padding:0}.app-modal-body .performance-entry>h2,.app-modal-body .competition-detail>header h2,.app-modal-body .training-detail>header h2{display:none}.app-modal{max-height:calc(var(--modal-viewport-height,100dvh) - 2rem)}@media (width<=720px){.app-modal-body .training-block-editor{grid-template-columns:minmax(0,1fr);grid-template-areas:"number""discipline""name""start""end""location""notes""remove";align-items:stretch}.app-modal-body .training-block-editor>b{justify-self:start}}@media (width<=600px){.app-modal{max-height:var(--modal-viewport-height,100dvh)}}.app-modal--drawer{height:var(--modal-viewport-height,100dvh);max-height:var(--modal-viewport-height,100dvh)}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:1rem}.month-day .month-show-all{color:var(--teal);background:var(--surface-soft);white-space:normal}.link-danger,.notification-dismiss{min-width:2.75rem;min-height:2.75rem}.notification-dismiss{top:.25rem;right:.25rem}.notification-open{padding-right:3.25rem}.competition-detail-kicker>.status-label{flex-shrink:0}.app-modal-body .training-form-heading h2,.app-modal-body .person-create>header h2{display:none}td[data-label=Federação],td[data-label=Valor]{white-space:nowrap;overflow-wrap:normal}.row-actions{flex-wrap:wrap;gap:.4rem .8rem;display:flex}.row-actions a{white-space:nowrap}.performance-hub{--accent:var(--teal)}.performance-hub .performance-heading>button{flex-shrink:0}.performance-navigation{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:1.8rem;display:grid}.performance-navigation a{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);border-radius:.75rem;justify-content:space-between;align-items:center;gap:.8rem;padding:1rem;text-decoration:none;display:flex}.performance-navigation a:hover{border-color:var(--teal)}.performance-navigation a.is-current{border-color:var(--teal);box-shadow:inset 0 -3px var(--teal);background:var(--surface-soft)}.performance-navigation a>span:first-child{gap:.25rem;display:grid}.performance-navigation b{font-size:.9rem}.performance-navigation small{color:var(--muted);font-size:.75rem}.performance-nav-arrow{color:var(--teal);font-size:1.2rem}.performance-section{gap:1rem;display:grid}.performance-section-heading h2{margin:0 0 .35rem}.performance-section-heading p{color:var(--muted);margin:0;font-size:.85rem}.performance-filter-bar{border:1px solid var(--line);background:var(--surface);border-radius:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:1rem;padding:1rem;display:grid}.performance-filter-bar>.athlete-identity{grid-column:1/-1}.context-select{min-width:0;position:relative}.context-select-label{color:var(--theme-muted,#405c70);margin-bottom:.4rem;font-size:.82rem;font-weight:750;display:block}.context-select-trigger{border-color:var(--theme-line,#bfd1d1);width:100%;min-height:2.75rem;color:var(--ink);background:var(--surface);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.35rem .65rem;display:grid}.context-select-trigger:hover:not(:disabled),.context-select.is-open .context-select-trigger{border-color:var(--teal);background:var(--theme-soft,#f7fbfb)}.context-select-trigger:focus-visible{outline:3px solid var(--theme-focus-ring,#087f8c29)}.context-select-current{gap:.1rem;min-width:0;display:grid}.context-select-current b,.context-select-current small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.context-select-current b{font-size:.84rem}.context-select-current small{color:var(--muted);font-size:.68rem;font-weight:500}.context-select-chevron{width:1.25rem;height:1.25rem;color:var(--teal);transform-origin:50%;align-self:center;place-items:center;font-size:1.1rem;line-height:1;transition:transform .18s;display:grid;transform:rotate(0)}.context-select.is-open .context-select-chevron{transform:rotate(180deg)}.context-select-symbol{border:1px solid var(--theme-line,#bfd1d1);width:2rem;height:2rem;color:var(--teal);background:var(--surface-soft);border-radius:.55rem;flex:none;place-items:center;font-size:1.05rem;font-weight:900;display:grid}.context-select-image{border:1px solid var(--theme-line,#bfd1d1);object-fit:cover;background:var(--surface-soft);border-radius:.55rem;flex:none;width:2rem;height:2rem}.context-select-native-value{opacity:0;pointer-events:none;position:absolute;width:1px!important;min-height:1px!important;padding:0!important}.context-select-symbol.is-swimming{color:#127ea5;background:#e3f3fa}.context-select-symbol.is-cycling{color:#835b00;background:#fff1cc}.context-select-symbol.is-running{color:#a33b35;background:#fde4e2}.context-select-list{z-index:12;border:1px solid var(--line);background:var(--surface);border-radius:.8rem;gap:.25rem;max-height:min(23rem,55dvh);padding:.45rem;display:grid;position:absolute;top:calc(100% + .4rem);left:0;right:0;overflow:auto;box-shadow:0 1.25rem 2.5rem #102a4329}.context-select-list>input{min-height:2.5rem;margin:.15rem .15rem .45rem}.context-select-list>button{min-height:2.75rem;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:.55rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.35rem .45rem;display:grid}.context-select-list>button:hover,.context-select-list>button:focus-visible{border-color:var(--theme-line,#bfd1d1);background:var(--theme-soft,#f7fbfb);outline:0}.context-select-list>button.is-selected{border-color:var(--teal);background:var(--theme-tint,#ddf2f1)}.context-select-list>button>span:nth-child(2){gap:.1rem;min-width:0;display:grid}.context-select-list b,.context-select-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.context-select-list b{font-size:.8rem}.context-select-list small{color:var(--muted);font-size:.68rem;font-weight:500}.context-select-check{color:var(--teal);font-size:.95rem;font-weight:900}.context-select-list>p{color:var(--muted);margin:.6rem;font-size:.8rem}.context-select--athlete .athlete-avatar{border-color:var(--surface)}@media (width<=42rem){.context-select-trigger{min-height:2.75rem}.context-select-list{top:auto;right:.75rem;bottom:max(.75rem, env(safe-area-inset-bottom));max-height:min(60dvh,28rem);position:fixed;left:.75rem}}.performance-ranking-context{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;font-size:.8rem;display:flex}.performance-ranking-context p{margin:0}.performance-ranking-context strong{color:var(--ink);margin-left:.5rem;font-family:ui-monospace,monospace;font-size:1rem}.performance-hub .performance-timeline h3{margin:.25rem 0}.performance-result-actions{flex-wrap:wrap;gap:.5rem;display:flex}.performance-empty h3{margin:0 0 .4rem}.performance-empty p{color:var(--muted);margin:0 0 .5rem}.performance-hub :is(p,h3,b,small,time){overflow-wrap:anywhere}.performance-hub .athlete-identity strong,.performance-hub .athlete-identity small{white-space:normal;overflow-wrap:anywhere}.lotri-loading--fullscreen{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c171f94;align-content:center;place-items:center;gap:.8rem;min-height:100dvh;padding:2rem;display:grid;position:fixed;inset:0}.lotri-loading--fullscreen:before{z-index:-1;content:"";border:1px solid #ffffff47;border-radius:50%;width:min(76vw,31rem);height:min(76vw,31rem);position:absolute}.lotri-loading-motion{filter:drop-shadow(0 1.2rem 1.5rem #0000004d);width:clamp(13rem,29vw,19rem);height:clamp(11rem,25vw,16rem)}.lotri-athlete{color:#fff;width:100%;height:100%;position:relative}.lotri-athlete i{display:block;position:absolute}.lotri-athlete-head{z-index:3;aspect-ratio:1;background:var(--theme-accent,#d8b350);border:4px solid;border-radius:50%;width:17%;top:12%;left:52%}.lotri-athlete-body{z-index:2;background:var(--ink,#17222c);border:4px solid;border-radius:48% 48% 35% 35%;width:19%;height:35%;top:28%;left:48%;transform:rotate(14deg)}.lotri-athlete-arm,.lotri-athlete-leg{z-index:1;transform-origin:50% 10%;background:currentColor;border-radius:99px;width:7%;height:38%}.lotri-athlete-arm--back{animation:.8s ease-in-out infinite lotri-limb-back;top:31%;left:49%}.lotri-athlete-arm--front{animation:.8s ease-in-out infinite lotri-limb-front;top:30%;left:62%}.lotri-athlete-leg{transform-origin:50% 5%;height:39%;top:57%}.lotri-athlete-leg--back{animation:.8s ease-in-out infinite lotri-limb-front;left:50%}.lotri-athlete-leg--front{animation:.8s ease-in-out infinite lotri-limb-back;left:62%}.lotri-athlete-bike{z-index:0;border:5px solid var(--ride,#d39e00);border-radius:50%;width:53%;height:28%;bottom:5%;left:26%}.lotri-athlete-wave{z-index:4;border-bottom:5px solid var(--swim,#19a7c7);height:12%;box-shadow:0 .8rem 0 -2px var(--swim,#19a7c7);border-radius:50%;animation:1s linear infinite lotri-water;bottom:20%;left:8%;right:8%}.lotri-loading-course{gap:.45rem;width:min(84vw,30rem);height:.7rem;display:flex;overflow:hidden}.lotri-loading-course i{background:#ffffff80;border-radius:99px;flex:1;height:.18rem;animation:1.1s linear infinite lotri-course}.lotri-loading-copy{color:#fff;text-align:center;justify-items:center;gap:.25rem;display:grid}.lotri-loading-copy b{font-size:clamp(1rem,2.5vw,1.25rem)}.lotri-loading-copy span{color:#fffc;font-size:.86rem}.lotri-loading-steps{display:none}.lotri-loading.is-swimming .lotri-athlete{transform:rotate(-16deg)}.lotri-loading.is-swimming .lotri-athlete-arm--back,.lotri-loading.is-swimming .lotri-athlete-leg--front,.lotri-loading.is-swimming .lotri-athlete-arm--front,.lotri-loading.is-swimming .lotri-athlete-leg--back{animation-duration:1.05s}.lotri-loading.is-cycling .lotri-athlete{transform:translateY(.35rem)rotate(9deg)}.lotri-loading.is-cycling .lotri-athlete-arm{height:26%;animation:.58s ease-in-out infinite lotri-handlebar;transform:rotate(56deg)}.lotri-loading.is-cycling .lotri-athlete-leg{animation-duration:.58s}.lotri-loading.is-running .lotri-athlete{animation:.38s ease-in-out infinite alternate lotri-run}.lotri-loading--inline{border:1px solid var(--line);min-height:2.75rem;color:var(--muted);background:var(--surface);border-radius:.65rem;align-items:center;padding:.65rem .85rem;font-size:.86rem;font-weight:700;display:inline-flex}.lotri-loading-inline-text:after{vertical-align:bottom;content:"…";width:1.25em;animation:1.15s steps(4,end) infinite lotri-ellipsis;display:inline-block;overflow:hidden}@keyframes lotri-limb-front{0%,to{transform:rotate(-48deg)}50%{transform:rotate(55deg)}}@keyframes lotri-limb-back{0%,to{transform:rotate(50deg)}50%{transform:rotate(-50deg)}}@keyframes lotri-handlebar{50%{transform:rotate(48deg)translateY(.1rem)}}@keyframes lotri-run{0%{transform:translate(-.2rem)translateY(.12rem)}to{transform:translate(.22rem)translateY(-.18rem)}}@keyframes lotri-course{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes lotri-water{to{transform:translate(1.3rem)}}@keyframes lotri-ellipsis{0%{width:0}to{width:1.25em}}@media (prefers-reduced-motion:reduce){.lotri-loading *{animation:none!important}}@media (width<=480px){.lotri-loading--fullscreen{padding:1.25rem}.lotri-loading-motion{width:min(73vw,16rem)}.lotri-loading-course{width:min(88vw,21rem)}}.lotri-loading-lottie{filter:drop-shadow(0 1rem 1.3rem #0000003d);width:clamp(12rem,28vw,18rem);height:clamp(9rem,21vw,14rem)}.lotri-loading-lottie svg{width:100%;height:100%}@media (prefers-reduced-motion:reduce){.lotri-loading-lottie{display:none}}.ride-share{border:1px solid var(--line);background:linear-gradient(125deg,var(--surface-soft),var(--surface));border-radius:.85rem;gap:.9rem;margin-top:1.25rem;padding:1rem;display:grid}.global-ride-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.global-ride-form>header,.global-ride-form>.context-select,.global-ride-form>footer,.global-ride-form__notes{grid-column:1/-1}.global-ride-form>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.global-ride-form h2{margin:.15rem 0 0}.global-ride-form label{color:var(--muted);gap:.35rem;font-size:.8rem;font-weight:750;display:grid}.global-ride-form footer{justify-content:flex-end;padding-top:.25rem;display:flex}.maintenance-page,.maintenance-list{gap:1rem;display:grid}.bicycle-list{gap:.8rem;display:grid}.bicycle-list>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.bicycle-list>header h2,.bicycle-list>header p{margin:.2rem 0 0}.bicycle-list>header p{color:var(--muted);font-size:.85rem}.bicycle-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.bicycle-card{border:1px solid var(--line);background:var(--surface);border-radius:.7rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;display:flex}.bicycle-card h3,.bicycle-card p{margin:.15rem 0}.bicycle-card p,.bicycle-card small{color:var(--muted);font-size:.8rem}.maintenance-heading-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.maintenance-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.maintenance-flow article{border:1px solid var(--line);background:var(--surface-soft);border-radius:.7rem;align-items:center;gap:.65rem;padding:.75rem;display:flex}.maintenance-flow span{color:#fff;background:var(--ride);border-radius:50%;flex:none;place-items:center;width:1.7rem;height:1.7rem;font-size:.76rem;font-weight:900;display:grid}.maintenance-flow div{gap:.1rem;display:grid}.maintenance-flow small{color:var(--muted);font-size:.72rem}.maintenance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.maintenance-form{gap:.7rem;display:grid}.maintenance-modal-form{padding-top:.15rem}.maintenance-modal-note{color:var(--muted);margin:0;font-size:.85rem;line-height:1.45}.maintenance-form h2,.maintenance-list h2{margin:0;font-size:1.05rem}.maintenance-form label{color:var(--muted);gap:.3rem;font-size:.8rem;font-weight:750;display:grid}.maintenance-list>header{justify-content:space-between;align-items:end;gap:1rem;display:flex}.maintenance-list>header .eyebrow{margin:0 0 .2rem}.maintenance-card{border:1px solid var(--line);border-left:4px solid var(--ride);background:var(--surface);border-radius:.75rem;justify-content:space-between;gap:1rem;padding:1rem;display:flex}.maintenance-card--accepted{border-left-color:var(--teal)}.maintenance-card--declined,.maintenance-card--owner_service{border-left-color:var(--muted)}.maintenance-card--completed{border-left-color:#258553}.maintenance-card h3,.maintenance-card p{margin:.3rem 0}.maintenance-card p{color:var(--muted);font-size:.85rem}.maintenance-card>div:first-child{min-width:0}.maintenance-card>div:first-child>small{color:var(--muted);font-size:.75rem}.maintenance-card aside{text-align:right;align-content:start;justify-items:end;gap:.5rem;display:grid}.maintenance-card aside>div{flex-wrap:wrap;justify-content:end;gap:.4rem;display:flex}.maintenance-card aside strong{color:var(--ink);white-space:nowrap;font-size:1.05rem}.maintenance-card aside small{color:var(--muted)}.maintenance-status{color:#775000;background:#fff0d5;border-radius:99px;padding:.2rem .5rem;font-size:.7rem;font-weight:800;display:inline-flex}.maintenance-card--accepted .maintenance-status,.maintenance-card--completed .maintenance-status{color:#176044;background:#e2f5ec}.maintenance-card--declined .maintenance-status,.maintenance-card--owner_service .maintenance-status{color:var(--muted);background:var(--surface-soft)}.lotri-feedback-widget{z-index:110;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));position:fixed}.lotri-feedback-launcher{filter:drop-shadow(0 .7rem .8rem #081c2c3d);justify-items:center;width:6.5rem;transition:transform .18s,filter .18s;display:grid;position:relative}.lotri-feedback-launcher:hover{filter:drop-shadow(0 1rem 1rem #081c2c4d);transform:translateY(-.25rem)scale(1.03)}.lotri-feedback-main{width:100%;min-height:0;color:var(--ink);background:0 0;border:0;justify-items:center;padding:0;display:grid}.lotri-feedback-main:focus-visible,.lotri-feedback-hide:focus-visible,.lotri-feedback-restore:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.lotri-feedback-main img{object-fit:contain;object-position:center bottom;width:5.7rem;height:5.7rem}.lotri-feedback-main span{background:var(--surface);white-space:nowrap;border-radius:99px;margin-top:-.55rem;padding:.28rem .5rem;font-size:.65rem;font-weight:850;box-shadow:0 .2rem .7rem #081c2c29}.lotri-feedback-hide{border:1px solid var(--line);width:1.45rem;min-height:1.45rem;color:var(--muted);background:var(--surface);border-radius:50%;place-items:center;padding:0;font-size:1rem;line-height:1;display:grid;position:absolute;top:.15rem;right:.1rem}.lotri-feedback-restore{border:1px solid var(--theme-line);width:2.75rem;min-height:2.75rem;color:var(--teal);background:var(--surface);border-radius:50%;place-items:center;padding:0;font-size:1.2rem;display:grid;box-shadow:0 .4rem 1rem #081c2c2e}.feedback-form{gap:.9rem;display:grid}.feedback-form>p{color:var(--muted);margin:0}.feedback-form label{gap:.35rem;font-size:.82rem;font-weight:750;display:grid}.feedback-sent{text-align:center;justify-items:center;gap:.65rem;display:grid}.feedback-sent img{object-fit:contain;width:9rem;height:9rem}.feedback-sent h3,.feedback-sent p{margin:0}.feedback-sent p{color:var(--muted)}.feedback-page,.feedback-list{gap:1rem;display:grid}.feedback-filter{flex-wrap:wrap;gap:.5rem;display:flex}.feedback-filter button.is-active{background:var(--teal);color:#fff}.feedback-card{border:1px solid var(--line);border-left:4px solid var(--ride);background:var(--surface);border-radius:.75rem;justify-content:space-between;gap:1rem;padding:1rem;display:flex}.feedback-card--read{border-left-color:var(--teal)}.feedback-card--closed{border-left-color:#258553}.feedback-card span{background:var(--theme-soft);color:var(--muted);border-radius:99px;padding:.2rem .5rem;font-size:.7rem;font-weight:800;display:inline-flex}.feedback-card h2,.feedback-card p{margin:.35rem 0}.feedback-card p{white-space:pre-wrap;max-width:55rem}.feedback-card small{color:var(--muted)}.feedback-card aside{align-content:start;justify-items:end;gap:.5rem;display:grid}.feedback-card aside>b{font-size:.75rem}.feedback-card aside button{white-space:nowrap}.feedback-card-content{flex:1;min-width:0}.feedback-reply{border-left:3px solid var(--teal);background:var(--theme-soft);border-radius:.4rem;margin-top:1rem;padding:.8rem}.feedback-reply strong{font-size:.78rem}.feedback-reply-form{gap:.5rem;max-width:42rem;margin-top:1rem;display:grid}.feedback-reply-form label{gap:.35rem;font-size:.78rem;font-weight:750;display:grid}.feedback-reply-form button{width:max-content}.ride-share-heading,.ride-coordination-card{justify-content:space-between;align-items:start;gap:1rem;display:flex}.ride-share-heading h3,.ride-share-heading p,.ride-request-list h4{margin:.15rem 0}.ride-share-heading>div>p:last-child{color:var(--muted);font-size:.84rem}.ride-coverage{color:#1b6c3e;white-space:nowrap;background:#e5f5ea;border-radius:99px;align-items:center;min-height:1.8rem;padding:.2rem .55rem;font-size:.74rem;font-weight:800;display:inline-flex}.ride-share--warning .ride-coverage,.ride-coordination-card--warning .ride-coverage{color:#8a5700;background:#fff0d5}.ride-share--urgent .ride-coverage,.ride-coordination-card--urgent .ride-coverage{color:#9a322d;background:#fde4e2}.ride-share--neutral .ride-coverage,.ride-coordination-card--neutral .ride-coverage{background:var(--surface-soft);color:var(--muted)}.ride-direction{background:var(--theme-soft,#eef6f5);border-radius:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.25rem;display:grid}.ride-direction button{color:var(--muted);background:0 0;border:0;border-radius:.45rem;font-weight:750}.ride-direction button.is-active{color:var(--ink);background:var(--surface);box-shadow:0 1px 3px #102a4326}.ride-actions,.ride-form>div:last-child,.ride-card aside,.ride-request-list article>div:last-child{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ride-emergency{color:#8a302a;background:#fff1ef;border-color:#eab4ae}.ride-form{border:1px solid var(--line);background:var(--surface);border-radius:.7rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:.85rem;display:grid}.ride-form label{gap:.3rem;font-size:.8rem;font-weight:750;display:grid}.ride-form>div:last-child{grid-column:1/-1}.ride-checkbox{grid-template-columns:auto 1fr;align-items:center}.ride-checkbox input{width:auto}.ride-list,.ride-request-list{gap:.55rem;display:grid}.ride-card,.ride-request-list article{border:1px solid var(--line);background:var(--surface);border-radius:.65rem;justify-content:space-between;gap:1rem;padding:.75rem;display:flex}.ride-card>div,.ride-request-list article>div:first-child{gap:.15rem;min-width:0;display:grid}.ride-card small,.ride-request-list small{color:var(--muted)}.ride-card p{color:var(--muted);margin:.15rem 0 0;font-size:.8rem}.ride-card aside{text-align:right;place-content:start end}.ride-card aside strong{color:var(--teal);font-size:.8rem}.ride-empty{border:1px dashed var(--line);color:var(--muted);border-radius:.6rem;margin:0;padding:.8rem;font-size:.85rem}.ride-request-list{border-top:1px solid var(--line);padding-top:.4rem}.ride-request-list h4{font-size:.85rem}.ride-request-list article{align-items:center;padding:.55rem .7rem}.ride-request-list article>div:last-child{justify-content:end}.ride-request-list .status-label{white-space:nowrap}.rides-page,.rides-coordination{gap:1rem;display:grid}.ride-coordination-card{border:1px solid var(--line);border-left:4px solid var(--teal);background:var(--surface);border-radius:.75rem;padding:1rem}.ride-coordination-card--urgent{border-left-color:#b4433b}.ride-coordination-card--warning{border-left-color:#c78613}.ride-coordination-card h2,.ride-coordination-card p{margin:.2rem 0}.ride-coordination-card p{color:var(--muted);font-size:.85rem}.ride-coordination-card>div:last-child{justify-items:end;gap:.55rem;display:grid}.ride-card .ride-passengers{color:var(--ink)}.ride-passengers b{color:var(--teal)}@media (width<=42rem){.ride-share-heading,.ride-card,.ride-request-list article,.ride-coordination-card{display:grid}.ride-form{grid-template-columns:1fr}.ride-form>div:last-child{grid-column:auto}.ride-card aside,.ride-request-list article>div:last-child,.ride-coordination-card>div:last-child{text-align:left;justify-content:start;justify-items:start}.ride-actions>*{flex:100%}.global-ride-form{grid-template-columns:1fr}.global-ride-form>header{flex-wrap:wrap;align-items:start}.global-ride-form>header button{width:100%}.global-ride-form>footer{justify-content:stretch}.global-ride-form>footer button{width:100%}.maintenance-flow,.maintenance-grid,.bicycle-list-grid{grid-template-columns:1fr}.maintenance-heading-actions{width:100%}.maintenance-heading-actions>*{flex:auto}.maintenance-card{display:grid}.maintenance-card aside{text-align:left;justify-items:start}.maintenance-card aside>div{justify-content:start}.maintenance-list>header,.bicycle-list>header{flex-wrap:wrap;align-items:start}.lotri-feedback-widget{right:.65rem;bottom:max(.65rem,env(safe-area-inset-bottom))}.lotri-feedback-launcher{width:4.9rem}.lotri-feedback-main img{width:4.35rem;height:4.35rem}.lotri-feedback-main span{font-size:.56rem}.feedback-card{display:grid}.feedback-card aside{justify-items:start}}.dropdown-image-settings{gap:1.25rem;display:grid}.dropdown-image-settings>form{gap:1rem;display:grid}.dropdown-image-group{border:1px solid var(--line);background:var(--surface-soft);border-radius:.8rem;gap:.55rem;padding:1rem;display:grid}.dropdown-image-group h3{margin:0;font-size:.9rem}.dropdown-image-field{grid-template-columns:minmax(9rem,1fr) minmax(12rem,2fr);align-items:center;gap:.75rem;display:grid}.dropdown-image-field>span{align-items:center;gap:.55rem;min-width:0;display:flex}.dropdown-image-field>span>img,.dropdown-image-field>span>i{border:1px solid var(--theme-line,#bfd1d1);object-fit:cover;background:var(--surface);width:2rem;height:2rem;color:var(--teal);border-radius:.5rem;flex:none;place-items:center;font-style:normal;display:grid}.dropdown-image-field b{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.dropdown-image-choice{gap:.35rem;display:grid}.dropdown-preset-list{flex-wrap:wrap;gap:.35rem;display:flex}.dropdown-preset-list button{border:1px solid var(--theme-line,#bfd1d1);background:var(--surface);border-radius:.5rem;width:2.1rem;height:2.1rem;padding:.12rem}.dropdown-preset-list button:hover,.dropdown-preset-list button:focus-visible,.dropdown-preset-list button.is-selected{border-color:var(--teal);box-shadow:0 0 0 2px var(--theme-focus-ring,#087f8c29)}.dropdown-preset-list img{object-fit:cover;border-radius:.35rem;width:100%;height:100%;display:block}.dropdown-preset-list .dropdown-preset-clear{color:var(--muted);font-size:1.1rem;font-weight:800}@media (width<=38rem){.dropdown-image-field{grid-template-columns:1fr}.dropdown-image-field input{min-height:2.75rem}}@media (width<=700px){.performance-navigation{grid-template-columns:minmax(0,1fr);gap:.5rem}.performance-navigation a{padding:.75rem 1rem}.performance-navigation a.is-current{box-shadow:inset 3px 0 var(--teal)}.performance-filter-bar{grid-template-columns:minmax(0,1fr)}.performance-hub .performance-heading{gap:.8rem}}@media (width<=42rem){.context-select-list{max-height:min(60dvh,28rem);position:absolute;inset:calc(100% + .4rem) 0 auto}}[data-theme=original]{--navy-950:#102a43;--navy-800:#173f5f;--ink:#17324d;--muted:#62778a;--teal:#008c95;--paper:#f4f8f8;--surface:#fff;--surface-soft:#edf4f3;--line:#d8e4e3;--focus:#087f8c}[data-theme=gold]{--navy-950:#171717;--navy-800:#35312a;--ink:#24211b;--muted:#706655;--teal:#80600f;--paper:#f5f3ed;--surface:#fff;--surface-soft:#f2eee3;--line:#ded7c8;--focus:#926d12;--theme-soft:#f8f6f0;--theme-tint:#f1e7c9;--theme-line:#d8cfbb;--theme-border:#a88b43;--theme-muted:#6d6352;--theme-accent:#80600f;--theme-strong:#24211b;--theme-on-dark:#eee6d4;--theme-focus-ring:#b48b32;--shadow:0 1px 2px #24211b0d, 0 10px 30px #24211b0d}[data-theme=gold] button:hover:not(:disabled){border-color:var(--theme-border);color:var(--ink);background:var(--theme-tint)}[data-theme=gold] .quiet:hover:not(:disabled){color:var(--ink);background:var(--theme-tint)}[data-theme=atlantic]{--navy-950:#102e58;--navy-800:#204a7c;--ink:#16314f;--muted:#536e87;--teal:#235fad;--paper:#eef4fc;--surface:#fff;--surface-soft:#e7effa;--line:#cfddeb;--focus:#2868b8;--theme-soft:#f3f7fd;--theme-tint:#dfebfb;--theme-line:#c6d6eb;--theme-border:#7496c1;--theme-muted:#506b86;--theme-accent:#235fad;--theme-strong:#163a65;--theme-on-dark:#dcecff;--theme-focus-ring:#6794cf;--shadow:0 1px 2px #102e580d, 0 10px 30px #102e580d}[data-theme=forest]{--navy-950:#183d30;--navy-800:#2c5744;--ink:#233c2e;--muted:#657160;--teal:#356548;--paper:#f3f2e9;--surface:#fff;--surface-soft:#ecefe3;--line:#d6ddcd;--focus:#3e6e46;--theme-soft:#f6f7ef;--theme-tint:#e4ecd9;--theme-line:#ccd6bf;--theme-border:#839d70;--theme-muted:#5f705b;--theme-accent:#356548;--theme-strong:#254635;--theme-on-dark:#e0ead9;--theme-focus-ring:#819d64;--shadow:0 1px 2px #183d300d, 0 10px 30px #183d300d}[data-theme=lotus]{--navy-950:#4a263a;--navy-800:#6e3653;--ink:#432536;--muted:#7a6170;--teal:#a3446c;--paper:#fcf4f7;--surface:#fff;--surface-soft:#f8e9ef;--line:#ecd3de;--focus:#a13d68;--theme-soft:#fdf7f9;--theme-tint:#f5dce7;--theme-line:#e6c7d5;--theme-border:#bd7291;--theme-muted:#79596a;--theme-accent:#913a60;--theme-strong:#4a263a;--theme-on-dark:#f8e1eb;--theme-focus-ring:#c27093;--shadow:0 1px 2px #4a263a0d, 0 10px 30px #4a263a12}[data-theme=lavender]{--navy-950:#332651;--navy-800:#51406f;--ink:#352a4c;--muted:#716783;--teal:#7855ad;--paper:#f7f3fc;--surface:#fff;--surface-soft:#eee8f8;--line:#ddd3ed;--focus:#7954ad;--theme-soft:#faf8fd;--theme-tint:#e9e0f6;--theme-line:#d7cae9;--theme-border:#9e87c3;--theme-muted:#6d607f;--theme-accent:#68459b;--theme-strong:#332651;--theme-on-dark:#e9e0f7;--theme-focus-ring:#a58acb;--shadow:0 1px 2px #3326510d, 0 10px 30px #33265112}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme]:not([data-theme=original]){--theme-brand-1:var(--theme-border);--theme-brand-2:var(--navy-950);--theme-brand-3:var(--teal)}:root:not([data-theme=original])[data-theme] .logo:after,:root:not([data-theme=original])[data-theme] .points-hero{background:linear-gradient(110deg, var(--navy-950) 0 54%, var(--teal) 54% 75%, var(--theme-border) 75%)}:root:not([data-theme=original])[data-theme] .logo:after{background:linear-gradient(90deg, var(--theme-border) 0 33%, var(--surface) 33% 66%, var(--teal) 66%)}.theme-trigger{white-space:nowrap;justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.theme-trigger-mark{border:1px solid var(--teal);background:linear-gradient(90deg, var(--navy-950) 50%, var(--surface) 50%);border-radius:50%;flex:none;width:.9rem;height:.9rem}.auth-theme{justify-content:flex-end;margin-bottom:1.25rem;display:flex}.theme-intro{color:var(--muted);margin:0 0 1.25rem}.theme-options{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:0;padding:0;display:grid}.theme-legend{margin-bottom:.7rem;font-size:.8rem;font-weight:750}.theme-options .theme-option{border:2px solid var(--line);min-width:0;color:var(--ink);cursor:pointer;background:var(--surface);border-radius:.8rem;align-content:start;gap:.8rem;padding:.85rem;display:grid;position:relative}.theme-option.is-selected{border-color:var(--teal)}.theme-option:focus-within{outline:3px solid var(--focus);outline-offset:3px}.theme-option input{z-index:1;margin:0;position:absolute;top:1.2rem;right:1.2rem}.theme-preview{border:1px solid var(--line);background:var(--paper);border-radius:.4rem;grid-template-columns:25% 1fr;height:100px;display:grid;overflow:hidden}.theme-preview-sidebar{background:var(--navy-950);align-content:start;gap:8px;padding:15px 8px;display:grid}.theme-preview-sidebar i{background:var(--surface);opacity:.6;height:3px}.theme-preview-sidebar i:first-child{background:var(--teal);opacity:1;height:5px}.theme-preview-main{gap:9px;padding:14px 10px;display:grid}.theme-preview-main>i{background:var(--ink);width:50%;height:5px}.theme-preview-main>span{grid-template-columns:1fr 1fr;gap:6px;display:grid}.theme-preview-main>span i{border-left:3px solid var(--teal);background:var(--surface);height:22px}.theme-preview-main>b{border-top:1px solid var(--line);background:var(--surface-soft);height:15px}.theme-option-copy{overflow-wrap:anywhere;gap:.3rem;display:grid}.theme-option-copy strong{font-size:.95rem}.theme-option-copy small{color:var(--muted);font-weight:450;line-height:1.45}.theme-selected{color:var(--teal);font-size:.75rem}.theme-footer{justify-content:flex-end;margin-top:1.2rem;display:flex}@media (width<=420px){.theme-options{grid-template-columns:minmax(0,1fr)}}.dashboard-week[data-v-06cdb24e]{gap:1rem;min-width:0;display:grid}.week-heading[data-v-06cdb24e],.week-controls[data-v-06cdb24e]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.week-heading h2[data-v-06cdb24e]{margin:0}.week-agenda-link[data-v-06cdb24e]{color:var(--teal);font-size:.8rem;font-weight:800;text-decoration:none}.week-controls[data-v-06cdb24e]{justify-content:flex-start}.week-filters[data-v-06cdb24e],.week-metrics[data-v-06cdb24e]{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;display:grid}.week-metrics[data-v-06cdb24e]{margin:0}.week-metrics div[data-v-06cdb24e]{border-top:2px solid var(--theme-accent,#1d8378);padding-top:.6rem}.week-metrics dt[data-v-06cdb24e]{font-size:.8rem}.week-metrics dd[data-v-06cdb24e]{margin:0;font-size:1.6rem;font-weight:750}.week-days[data-v-06cdb24e]{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;display:grid}.week-day[data-v-06cdb24e]{border-top:1px solid var(--theme-line,#c8d9dc);min-width:0}.week-day summary[data-v-06cdb24e]{cursor:pointer;padding:.7rem 0;font-size:.8rem;font-weight:650}.week-day summary small[data-v-06cdb24e]{color:var(--theme-muted,#526c7b)}.week-day-content[data-v-06cdb24e]{gap:.5rem;display:grid}.week-card[data-v-06cdb24e]{background:var(--theme-soft,#eef6f5);border-left:3px solid var(--theme-muted,#526c7b);color:var(--ink,#17324d);border-radius:5px;gap:.4rem;padding:.7rem;font-size:.8rem;text-decoration:none;display:grid}.week-card time[data-v-06cdb24e]{font-variant-numeric:tabular-nums}.week-card small[data-v-06cdb24e]{line-height:1.5}.week-totals[data-v-06cdb24e]{gap:.1rem;display:grid}.week-totals small[data-v-06cdb24e]{white-space:normal}.week-card--swimming[data-v-06cdb24e]{border-color:var(--swim)}.week-card--cycling[data-v-06cdb24e],.week-card--competition[data-v-06cdb24e]{border-color:var(--ride)}.week-card--running[data-v-06cdb24e]{border-color:var(--run)}.dashboard-week[data-v-06cdb24e] :is(b,small,span,p,a,label){overflow-wrap:anywhere;min-width:0}.dashboard-week select[data-v-06cdb24e]{width:100%;min-width:0;max-width:100%}.week-placeholder[data-v-06cdb24e]{background:var(--theme-soft,#eef6f5);min-height:130px;padding:.5rem;overflow:hidden}@media (width>=601px){.week-day:not([open])>.week-day-content[data-v-06cdb24e]{display:grid}}@media (width>=601px) and (width<=1200px){.week-days[data-v-06cdb24e]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=600px){.week-days[data-v-06cdb24e]{grid-template-columns:minmax(0,1fr)}.week-day summary[data-v-06cdb24e]{min-height:44px}}.dashboard-stats[data-v-09108d9c]{gap:.7rem;padding:.9rem 1rem;display:grid}.dashboard-stats-heading[data-v-09108d9c]{justify-content:space-between;align-items:start;gap:1rem;display:flex}.dashboard-stats-heading h2[data-v-09108d9c]{margin:0;font-size:1.1rem}.dashboard-stats-heading>span[data-v-09108d9c]{color:var(--muted);font-size:.7rem}.dashboard-stat-grid[data-v-09108d9c]{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.dashboard-stat-grid article[data-v-09108d9c]{border:1px solid var(--line);background:var(--theme-soft,#f8fbfb);border-radius:.55rem;gap:.15rem;padding:.55rem .65rem;display:grid}.dashboard-stat-grid small[data-v-09108d9c]{color:var(--muted);font-size:.66rem;line-height:1.2}.dashboard-stat-grid strong[data-v-09108d9c]{font-size:1.2rem}@media (width<=700px){.dashboard-stat-grid[data-v-09108d9c]{grid-template-columns:repeat(2,minmax(0,1fr))}}.training-management[data-v-10b2dfe2]{gap:1.25rem;display:grid}.training-management-metrics[data-v-10b2dfe2]{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.training-management-metrics article[data-v-10b2dfe2]{border:1px solid var(--theme-line);background:var(--surface);border-radius:16px;gap:.3rem;padding:1.15rem 1.25rem;display:grid}.training-management-metrics span[data-v-10b2dfe2],.training-management-metrics small[data-v-10b2dfe2]{color:var(--muted);font-size:.78rem}.training-management-metrics b[data-v-10b2dfe2]{letter-spacing:-.04em;font-size:2rem}.training-management-toolbar[data-v-10b2dfe2]{grid-template-columns:minmax(0,1fr) 14rem auto;align-items:end;gap:1rem;display:grid}.training-management a.button-secondary[data-v-10b2dfe2]{border:1px solid var(--theme-line);min-height:2.75rem;color:var(--ink);background:var(--surface);font:inherit;white-space:nowrap;border-radius:.65rem;justify-content:center;align-items:center;padding:.7rem 1rem;font-weight:750;text-decoration:none;display:inline-flex}.training-management a.button-secondary[data-v-10b2dfe2]:hover{border-color:var(--teal);color:var(--teal);background:var(--theme-soft)}.training-management-list[data-v-10b2dfe2]{gap:.75rem;display:grid}.training-management-card[data-v-10b2dfe2]{grid-template-columns:9rem minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.training-management-date[data-v-10b2dfe2]{color:var(--muted);text-transform:capitalize;gap:.25rem;font-size:.8rem;display:grid}.training-management-date strong[data-v-10b2dfe2]{color:var(--ink);font-size:.95rem}.training-management-main[data-v-10b2dfe2]{justify-content:space-between;align-items:center;gap:1rem;display:flex}.training-management-main h2[data-v-10b2dfe2]{margin:.35rem 0 .15rem;font-size:1.1rem}.training-management-main p[data-v-10b2dfe2]{color:var(--muted);margin:0}.training-management-response[data-v-10b2dfe2]{justify-items:end;display:grid}.training-management-response b[data-v-10b2dfe2]{font-size:1.4rem}.training-management-response span[data-v-10b2dfe2]{color:var(--muted);font-size:.75rem}.training-management-empty[data-v-10b2dfe2]{text-align:center;padding:2rem}@media (width<=760px){.training-management-metrics[data-v-10b2dfe2],.training-management-toolbar[data-v-10b2dfe2]{grid-template-columns:1fr}.training-management-card[data-v-10b2dfe2]{grid-template-columns:1fr;align-items:start}.training-management-main[data-v-10b2dfe2]{align-items:start}.training-management-response[data-v-10b2dfe2]{justify-items:start}.training-management-card>.button-secondary[data-v-10b2dfe2]{justify-self:start}}.news-management[data-v-eef360aa],.news-editor[data-v-eef360aa]{gap:1.2rem;display:grid}.news-editor-heading[data-v-eef360aa],.news-editor-actions[data-v-eef360aa]{justify-content:space-between;align-items:center;gap:1rem;display:flex}.news-editor-heading h2[data-v-eef360aa]{margin:0}.news-audience[data-v-eef360aa]{border:1px solid var(--line);border-radius:.8rem;gap:.8rem;margin:0;padding:1rem;display:grid}.news-audience legend[data-v-eef360aa]{padding:0 .4rem;font-weight:800}.news-all-check[data-v-eef360aa]{align-items:center;gap:.5rem;display:flex}.news-all-check input[data-v-eef360aa]{width:auto}.news-audience-pickers[data-v-eef360aa]{grid-template-columns:repeat(3,1fr);gap:.8rem;display:grid}.news-chips[data-v-eef360aa]{flex-wrap:wrap;gap:.45rem;display:flex}.news-chips button[data-v-eef360aa]{border-color:var(--theme-line);min-height:auto;color:var(--ink);background:var(--theme-soft);padding:.35rem .6rem;font-size:.75rem}.news-admin-list[data-v-eef360aa]{gap:.7rem;display:grid}.news-admin-list>h2[data-v-eef360aa]{margin:0}.news-admin-card[data-v-eef360aa]{justify-content:space-between;align-items:start;gap:1rem;display:flex}.news-admin-card h3[data-v-eef360aa]{margin:.4rem 0}.news-admin-card p[data-v-eef360aa]{color:var(--muted);white-space:pre-wrap;margin:0}.news-admin-card aside[data-v-eef360aa]{justify-items:end;gap:.5rem;display:grid}.news-admin-card time[data-v-eef360aa]{color:var(--muted);white-space:nowrap;font-size:.75rem}.news-edit-form[data-v-eef360aa]{gap:.85rem;display:grid}.news-edit-form>p[data-v-eef360aa]{color:var(--muted);margin:0;font-size:.85rem}.news-edit-form label[data-v-eef360aa]{gap:.35rem;font-size:.82rem;font-weight:750;display:grid}@media (width<=760px){.news-audience-pickers[data-v-eef360aa]{grid-template-columns:1fr}.news-editor-heading[data-v-eef360aa],.news-editor-actions[data-v-eef360aa],.news-admin-card[data-v-eef360aa]{flex-direction:column;align-items:stretch}.news-admin-card aside[data-v-eef360aa]{justify-items:start}.news-admin-card time[data-v-eef360aa]{white-space:normal}}.club-info[data-v-19665276]{--club-ink:#17324d;--club-sky:#b9e9f2;--club-water:#087e9b;--club-road:#e7bc32;--club-track:#d95b4b;--club-paper:#f8fbfb;background:var(--club-paper);min-height:100vh;color:var(--club-ink);font-family:var(--font-sans,system-ui,sans-serif)}.club-contact-copy>p[data-v-19665276]:last-child{color:#d5e6ea;line-height:1.65}.club-contact input[data-v-19665276],.club-contact select[data-v-19665276],.club-contact textarea[data-v-19665276]{box-sizing:border-box;width:100%;color:var(--club-ink);font:inherit;background:#fff;border:1px solid #b6cbd1;border-radius:.35rem;padding:.7rem}.club-success p[data-v-19665276]{color:#d5e6ea;margin:0;line-height:1.6}@media (width<=760px){.club-hero[data-v-19665276],.club-contact[data-v-19665276],.club-welcome[data-v-19665276]{grid-template-columns:1fr;padding-top:3.5rem;padding-bottom:3.5rem}.club-route[data-v-19665276]{min-height:18rem}.club-disciplines[data-v-19665276]{grid-template-columns:1fr}.club-disciplines>header[data-v-19665276],.club-discipline[data-v-19665276]{padding:1.5rem}.club-welcome aside[data-v-19665276]{grid-column:auto}.club-contact form[data-v-19665276]{grid-template-columns:1fr}.club-contact button[data-v-19665276]{width:100%}}@media (prefers-reduced-motion:reduce){.club-info[data-v-19665276] *{scroll-behavior:auto!important}}.club-info[data-v-19665276]{--club-ink:var(--ink);--club-sky:var(--theme-tint,var(--surface-soft));--club-water:var(--teal);--club-road:var(--theme-border,var(--ride));--club-track:var(--theme-accent,var(--run));--club-paper:var(--paper);--club-on-dark:var(--theme-on-dark,#fff);background:var(--club-paper);min-height:100vh;color:var(--club-ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif}.club-info-nav[data-v-19665276]{justify-content:space-between;align-items:center;max-width:1180px;margin:auto;padding:1.35rem 1.5rem;display:flex}.club-info-actions[data-v-19665276]{align-items:center;gap:.55rem;display:flex}.club-info-actions[data-v-19665276] .theme-trigger{min-height:2.35rem;padding:.35rem .65rem}.club-info-logo[data-v-19665276]{color:var(--club-ink);letter-spacing:-.08em;font-size:1.55rem;font-weight:900;text-decoration:none}.club-info-logo span[data-v-19665276]{color:var(--club-water)}.club-info-login[data-v-19665276]{color:var(--club-ink);font-weight:750;text-decoration:none}.club-info-login span[data-v-19665276]{color:var(--club-track);font-size:1.25em}.club-hero[data-v-19665276]{grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr);align-items:center;gap:3rem;max-width:1180px;margin:auto;padding:5rem 1.5rem 6rem;display:grid}.club-kicker[data-v-19665276]{color:var(--club-water);letter-spacing:.16em;margin:0 0 .75rem;font-size:.72rem;font-weight:900}.club-hero h1[data-v-19665276],.club-welcome h2[data-v-19665276],.club-contact h2[data-v-19665276]{letter-spacing:-.07em;max-width:12ch;margin:0;font-size:clamp(3.1rem,7vw,6.4rem);line-height:.9}.club-hero-copy>p[data-v-19665276]:not(.club-kicker){max-width:35rem;margin:1.75rem 0 2rem;font-size:1.16rem;line-height:1.65}.club-info button[data-v-19665276]{background:var(--club-ink);color:var(--club-on-dark);cursor:pointer;font:inherit;border:0;border-radius:999px;padding:.9rem 1.25rem;font-weight:800}.club-info button[data-v-19665276]:hover{background:var(--club-water)}.club-info button[data-v-19665276]:focus-visible,.club-info a[data-v-19665276]:focus-visible,.club-info input[data-v-19665276]:focus-visible,.club-info select[data-v-19665276]:focus-visible,.club-info textarea[data-v-19665276]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.club-route[data-v-19665276]{background:var(--club-ink);border-radius:1.2rem;min-height:23rem;position:relative;overflow:hidden}.club-route-wave[data-v-19665276]{border:1.6rem solid var(--club-sky);opacity:.95;border-radius:50%;position:absolute;inset:10% -15% 20% 5%;transform:rotate(-15deg)}.club-route-wheel[data-v-19665276]{border:1.4rem solid var(--club-road);width:9rem;height:9rem;box-shadow:-12rem -8rem 0 -3.7rem var(--club-road);border-radius:50%;position:absolute;bottom:12%;right:13%}.club-route-stride[data-v-19665276]{border-top:1.1rem solid var(--club-track);border-radius:60%;width:8rem;height:3.2rem;position:absolute;top:13%;right:22%;transform:rotate(-33deg)}.club-route-word[data-v-19665276]{color:var(--club-on-dark);letter-spacing:-.08em;font-size:clamp(1.6rem,4vw,3.8rem);font-weight:950;position:absolute}.club-route-word--swim[data-v-19665276]{top:12%;left:8%}.club-route-word--ride[data-v-19665276]{color:var(--club-road);top:45%;right:8%}.club-route-word--run[data-v-19665276]{color:var(--club-track);bottom:9%;left:10%}.club-disciplines[data-v-19665276]{background:var(--club-ink);grid-template-columns:1.3fr repeat(3,1fr);gap:1px;padding:1px;display:grid}.club-disciplines>header[data-v-19665276],.club-discipline[data-v-19665276]{background:var(--surface);padding:2rem}.club-disciplines h2[data-v-19665276]{letter-spacing:-.08em;margin:0;font-size:3rem}.club-discipline[data-v-19665276]{gap:2rem;display:grid}.club-discipline>span[data-v-19665276]{font-size:.75rem;font-weight:900}.club-discipline h3[data-v-19665276]{margin:0 0 .4rem;font-size:1.35rem}.club-discipline p[data-v-19665276]{color:var(--muted);margin:0;line-height:1.55}.club-discipline--swim>span[data-v-19665276]{color:var(--club-water)}.club-discipline--ride>span[data-v-19665276]{color:var(--club-road)}.club-discipline--run>span[data-v-19665276]{color:var(--club-track)}.club-welcome[data-v-19665276]{grid-template-columns:1fr 1fr;gap:2rem;max-width:1180px;margin:auto;padding:6.5rem 1.5rem;display:grid}.club-welcome h2[data-v-19665276]{font-size:clamp(2.4rem,4vw,4.2rem)}.club-welcome>p[data-v-19665276]{max-width:34rem;margin:0;font-size:1.2rem;line-height:1.7}.club-welcome aside[data-v-19665276]{border-left:5px solid var(--club-road);background:var(--surface);grid-column:2;padding:1.3rem}.club-welcome aside p[data-v-19665276]{margin:.5rem 0 0;line-height:1.6}.club-contact[data-v-19665276]{background:var(--club-ink);color:var(--club-on-dark);grid-template-columns:.85fr 1.15fr;gap:3rem;padding:5rem max(1.5rem,50vw - 560px);display:grid}.club-contact .club-kicker[data-v-19665276]{color:var(--club-sky)}.club-contact h2[data-v-19665276]{font-size:clamp(2.4rem,4vw,4rem)}.club-contact-copy>p[data-v-19665276]:last-child{color:var(--club-on-dark);opacity:.84;line-height:1.65}.club-contact form[data-v-19665276]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.club-contact label[data-v-19665276]{gap:.4rem;font-size:.8rem;font-weight:800;display:grid}.club-contact input[data-v-19665276],.club-contact select[data-v-19665276],.club-contact textarea[data-v-19665276]{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);width:100%;color:var(--club-ink);font:inherit;border-radius:.35rem;padding:.7rem}.club-contact-message[data-v-19665276],.club-consent[data-v-19665276],.club-form-error[data-v-19665276],.club-contact button[data-v-19665276]{grid-column:1/-1}.club-consent[data-v-19665276]{grid-template-columns:auto 1fr;align-items:start;font-weight:500!important}.club-consent input[data-v-19665276]{width:1rem;margin-top:.15rem}.club-contact small[data-v-19665276],.club-form-error[data-v-19665276]{color:var(--club-road)}.club-contact button[data-v-19665276]{background:var(--club-road);color:var(--club-ink);justify-self:start}.club-contact button[data-v-19665276]:hover{background:var(--club-sky)}.club-contact button[data-v-19665276]:disabled{opacity:.65;cursor:wait}.club-success[data-v-19665276]{border:1px solid color-mix(in srgb,var(--club-on-dark) 35%,transparent);border-radius:.8rem;align-self:center;padding:2rem}.club-success span[data-v-19665276]{background:var(--club-road);width:2.4rem;height:2.4rem;color:var(--club-ink);border-radius:50%;place-items:center;font-weight:900;display:grid}.club-success h3[data-v-19665276]{margin:1rem 0 .4rem;font-size:1.5rem}.club-success p[data-v-19665276]{color:var(--club-on-dark);opacity:.84;margin:0;line-height:1.6}@media (width<=760px){.club-info-nav[data-v-19665276]{align-items:flex-start}.club-info-actions[data-v-19665276]{flex-wrap:wrap;justify-content:flex-end}.club-info-actions[data-v-19665276] .theme-trigger{font-size:0}.club-info-actions[data-v-19665276] .theme-trigger-mark{margin:0}.club-hero[data-v-19665276],.club-contact[data-v-19665276],.club-welcome[data-v-19665276]{grid-template-columns:1fr;padding-top:3.5rem;padding-bottom:3.5rem}.club-route[data-v-19665276]{min-height:18rem}.club-disciplines[data-v-19665276]{grid-template-columns:1fr}.club-disciplines>header[data-v-19665276],.club-discipline[data-v-19665276]{padding:1.5rem}.club-welcome aside[data-v-19665276]{grid-column:auto}.club-contact form[data-v-19665276]{grid-template-columns:1fr}.club-contact button[data-v-19665276]{width:100%}}@media (prefers-reduced-motion:reduce){.club-info[data-v-19665276] *{scroll-behavior:auto!important}}.interest-page[data-v-ebc8dece]{gap:1rem;display:grid}.section-heading[data-v-ebc8dece]{justify-content:space-between;align-items:start;gap:1rem;display:flex}.section-heading h1[data-v-ebc8dece]{margin:.1rem 0}.section-heading .lead[data-v-ebc8dece]{margin-bottom:0}.interest-filters[data-v-ebc8dece]{flex-wrap:wrap;gap:.5rem;display:flex}.interest-filters .is-active[data-v-ebc8dece]{background:var(--theme-accent,#1d8378);border:1px solid var(--theme-accent,#1d8378);color:#fff;font:inherit;border-radius:.45rem;padding:.62rem .9rem;font-weight:750}.interest-list[data-v-ebc8dece]{gap:.75rem;display:grid}.interest-card[data-v-ebc8dece]{border-left:5px solid var(--theme-muted,#526c7b);gap:1rem;display:grid}.interest-card--new[data-v-ebc8dece]{border-left-color:#d19112}.interest-card--contacted[data-v-ebc8dece]{border-left-color:#1d8378}.interest-card--closed[data-v-ebc8dece]{border-left-color:#73818a}.interest-card header[data-v-ebc8dece]{justify-content:space-between;align-items:start;gap:1rem;display:flex}.interest-card h2[data-v-ebc8dece]{margin:.25rem 0;font-size:1.15rem}.interest-card header p[data-v-ebc8dece]{color:var(--theme-muted,#526c7b);margin:0;font-size:.8rem}.interest-status[data-v-ebc8dece],.interest-topic[data-v-ebc8dece]{background:var(--theme-soft,#eef6f5);color:var(--theme-ink,#17324d);border-radius:99px;padding:.28rem .55rem;font-size:.72rem;font-weight:800;display:inline-block}.interest-topic[data-v-ebc8dece]{white-space:nowrap;background:#fff4cf}.interest-card dl[data-v-ebc8dece]{grid-template-columns:minmax(11rem,.45fr) 1fr;gap:1rem;margin:0;display:grid}.interest-card dl div[data-v-ebc8dece]{gap:.3rem;display:grid}.interest-card dt[data-v-ebc8dece]{color:var(--theme-muted,#526c7b);text-transform:uppercase;font-size:.73rem;font-weight:800}.interest-card dd[data-v-ebc8dece]{gap:.25rem;margin:0;line-height:1.5;display:grid}.interest-card a[data-v-ebc8dece]{color:var(--theme-accent,#1d8378);overflow-wrap:anywhere}.interest-card footer[data-v-ebc8dece]{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=620px){.section-heading[data-v-ebc8dece]{display:grid}.interest-card dl[data-v-ebc8dece]{grid-template-columns:1fr}.interest-card header[data-v-ebc8dece]{display:grid}.interest-topic[data-v-ebc8dece]{justify-self:start}}.drop-ins-page[data-v-d13da40b],.drop-ins-history[data-v-d13da40b]{gap:1rem;display:grid}.drop-ins-filters[data-v-d13da40b]{flex-wrap:wrap;gap:.5rem;display:flex}.drop-ins-filters .is-active[data-v-d13da40b]{border:1px solid var(--theme-accent,var(--teal));background:var(--theme-accent,var(--teal));color:#fff;font:inherit;border-radius:.5rem;padding:.7rem 1rem;font-weight:800}.drop-ins-history article[data-v-d13da40b]{border-left:5px solid var(--theme-accent,var(--teal));gap:.75rem;display:grid}.drop-ins-history article.is-cancelled[data-v-d13da40b]{border-left-color:var(--muted);opacity:.72}.drop-ins-history header[data-v-d13da40b]{justify-content:space-between;gap:1rem;display:flex}.drop-ins-history header span[data-v-d13da40b]{background:var(--theme-soft,var(--surface-soft));color:var(--muted);border-radius:99px;padding:.22rem .5rem;font-size:.7rem;font-weight:800;display:inline-block}.drop-ins-history h2[data-v-d13da40b]{margin:.35rem 0}.drop-ins-history header p[data-v-d13da40b],.drop-ins-history>article>p[data-v-d13da40b]{color:var(--muted);margin:0;font-size:.82rem}.drop-in-session[data-v-d13da40b]{text-align:right;align-content:start;gap:.2rem;display:grid}.drop-in-session small[data-v-d13da40b]{color:var(--muted)}@media (width<=600px){.drop-ins-history header[data-v-d13da40b]{display:grid}.drop-in-session[data-v-d13da40b]{text-align:left}}
