@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{--font-body:"DM Sans", sans-serif;--font-display:Manrope, sans-serif;--color-ink:#17231e;--color-ink-soft:#334137;--color-muted:#6d756e;--color-muted-soft:#718075;--color-canvas:#f3f4ef;--color-canvas-soft:#f5f6f1;--color-surface:#fff;--color-surface-soft:#fcfcfa;--color-panel:#eef0e9;--color-border:#dce1da;--color-border-strong:#e0e5dd;--color-accent:#d8fc55;--color-accent-ink:#132118;--color-accent-deep:#284336;--color-focus:#648e47;--color-focus-ring:#dff4ba;--color-danger:#ab3b3b;--color-danger-soft:#a65353;--color-link:#4c7f38;--color-forest:#1c3026;--color-forest-soft:#294235;--color-on-dark:#f8fbf4;--color-on-dark-muted:#d1ddd3;--color-surface-highlight:#fbfdf6;--color-surface-muted:#fbfcf9;--color-control:#f5f6f2;--color-control-text:#526052;--color-disabled:#9ba39b;--radius-sm:8px;--radius-md:10px;--radius-lg:16px;--radius-xl:18px;--radius-pill:999px;--space-1:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:28px;--space-7:42px;--space-8:48px;--shadow-dialog:0 24px 70px #0e1d1338;--shadow-focus:0 0 0 3px var(--color-focus-ring);--control-height:44px;--transition-fast:.15s ease;--page-max:1120px;--page-max-wide:1280px;--breakpoint-mobile:720px}html{font-family:var(--font-body);color:var(--color-ink);background:var(--color-canvas)}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.brand{align-items:center;line-height:0;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;width:40px;height:40px;display:block}.aside-copy{margin:auto 0}.eyebrow{letter-spacing:.14em;color:var(--color-muted);margin:0 0 10px;font-size:.69rem;font-weight:700}.eyebrow.light{color:#c7d7c8}h1,h2,p{margin-top:0}.aside-footer{font-size:.85rem;font-weight:600;color:#d5dfd5!important}label{color:#566057;margin-bottom:15px;font-size:.8rem;font-weight:600;display:block}input,select{width:100%;color:var(--color-ink);background:#fff;border:1px solid #dce0da;border-radius:10px;outline:none;margin-top:6px;padding:13px 14px}input:focus,select:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.primary-button{width:100%;color:var(--color-accent-ink);background:var(--color-accent);border:0;border-radius:10px;margin-top:9px;padding:14px 18px;font-weight:700}.primary-button:disabled{opacity:.45;cursor:not-allowed}.form-error{color:var(--color-danger);margin:0 0 12px;font-size:.85rem}.event{color:#566057;background:#fff;border:1px solid #dce1da;border-radius:999px;padding:9px 13px;font-size:.86rem;font-weight:600}.subtitle{color:#718075}.secondary-button{color:#9ba39b;background:#f5f6f2;border:1px solid #dce1da;border-radius:10px;padding:13px 16px;font-weight:700}.quiet-button,.back-button{color:var(--color-link);background:0 0;border:0;padding:0;font-weight:700}.date-field-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.empty-phase-list{text-align:center;padding:36px 30px}.remove-phase-button{color:#a65353;background:0 0;border:0;padding:4px;font-size:.82rem;font-weight:700}.custom-rhythm-input{color:#536254;border:1px dashed #b8c9ad;border-radius:11px;grid-template-columns:1fr auto;gap:4px 8px;margin:0;padding:9px 10px;font-size:.72rem;display:grid}.custom-rhythm-input input{text-align:center;grid-row:2;width:100%;min-width:0;margin:0;padding:5px 7px}.custom-rhythm-input span{align-self:end;padding-bottom:7px}.day-rest-choice{color:#617062;text-align:left;background:#fff;border:1px solid #d6dfd4;border-radius:9px;width:100%;margin:4px 0 12px;padding:11px;font-size:.82rem;font-weight:800}.day-rest-choice.selected{color:#455245;background:#eef1ec;border-color:#9fa99f}.ui-button{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);text-align:center;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);border:1px solid #0000;padding:11px 16px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.ui-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.ui-button:disabled{cursor:not-allowed;opacity:.5}.ui-button--primary{background:var(--color-accent);color:var(--color-accent-ink)}.ui-button--primary:hover:not(:disabled){background:#c9ee47}.ui-button--secondary{border-color:var(--color-border);background:var(--color-control);color:var(--color-control-text)}.ui-button--secondary:hover:not(:disabled){background:var(--color-panel);border-color:#c7d0c5}.ui-button--ghost{min-height:auto;color:var(--color-link);background:0 0;border:0;justify-content:flex-start;padding:0}.ui-button--ghost:hover:not(:disabled){color:var(--color-accent-deep)}.ui-button--accent-link{min-height:auto;color:var(--color-accent);background:0 0;border:0;justify-content:flex-start;padding:0;font-size:.84rem}.ui-button--accent-link:disabled{color:var(--color-disabled)}.ui-button--danger{color:var(--color-danger);background:#fff8f8;border-color:#edd8d8}.ui-button--full-width{width:100%}.ui-card{border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-6);background:var(--color-surface)}.ui-card--muted{background:var(--color-surface-muted)}.ui-card--highlight{background:var(--color-surface-highlight);border-color:#dce5d7}.ui-card--dark{border-color:var(--color-forest);background:var(--color-forest);color:var(--color-on-dark)}@media (width<=720px){.ui-card{padding:22px}}.app-loading{background:var(--color-canvas);place-items:center;min-height:100vh;display:grid}.app-loading .brand-logo{width:48px;height:48px}.app-nav .brand-logo{width:36px;height:36px}.app-nav{border-bottom:1px solid #e1e6df;justify-content:space-between;align-items:center;gap:12px;min-width:0;max-width:1120px;margin:0 auto;padding:18px 26px;display:flex}.app-nav>div{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto;display:flex}.app-nav a{color:#69746b;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-weight:700;text-decoration:none}.app-nav>div a.active{color:#213525;background:#eaf3db}.nav-profile{align-items:center;gap:8px;min-width:0;display:flex}.nav-profile span,.nav-profile img{object-fit:cover;background:var(--color-accent);color:#203021;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.nav-profile b{color:#344237;text-overflow:ellipsis;white-space:nowrap;max-width:10rem;font-size:.84rem;overflow:hidden}.not-found-page{max-width:520px;min-height:100dvh;padding:48px 24px calc(48px + env(safe-area-inset-bottom,0px));background:radial-gradient(circle at 12% 18%, #c4de9259, transparent 42%), linear-gradient(180deg, #f4f6f0 0%, var(--color-canvas) 55%);flex-direction:column;justify-content:center;align-items:flex-start;gap:0;margin:0 auto;display:flex}.not-found-page .brand{margin-bottom:48px}.not-found-page .brand-logo{width:48px;height:48px}.not-found-page .eyebrow{color:var(--color-forest);margin-bottom:12px}.not-found-page h1{font-family:var(--font-display);letter-spacing:-.06em;margin:0 0 14px;font-size:clamp(2.2rem,8vw,3.4rem);line-height:1.05}.not-found-page .subtitle{max-width:36rem;margin:0 0 28px;line-height:1.55}.not-found-cta{text-align:center;justify-content:center;align-items:center;width:auto;min-width:min(100%,220px);margin-top:0;text-decoration:none;display:inline-flex}@media (width<=720px){.app-nav{gap:8px;padding:12px 16px}.app-nav>.brand{min-width:0}.app-nav>div{margin-left:0}.nav-profile b{display:none}.not-found-page{padding-top:36px}.not-found-cta{width:100%}.profile-page{padding:30px 16px 56px}.profile-page h1{font-size:2.5rem}.profile-details{grid-template-columns:1fr}.profile-hero{padding:18px}.profile-signout{display:block}.profile-signout .secondary-button{width:100%;margin-top:18px}}.toast-region{z-index:1000;pointer-events:none;gap:10px;width:min(380px,100vw - 32px);display:grid;position:fixed;top:20px;right:20px}.toast{color:#2e3b31;pointer-events:auto;background:#fff;border:1px solid;border-radius:12px;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:13px 14px;animation:.18s ease-out toast-in;display:grid;box-shadow:0 14px 36px #16231929}.toast>span{color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.toast p{margin:0;font-size:.88rem;font-weight:700}.toast button{color:#6f796f;cursor:pointer;background:0 0;border:0;padding:3px;font-size:1.25rem;line-height:1}.toast-success{border-color:#cfe0c5}.toast-success>span{background:#5f8746}.toast-error{border-color:#e9caca}.toast-error>span{background:#a94f4f}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.toast-region{width:auto;top:12px;left:16px;right:16px}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.auth-shell{background:#eef0e9;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:4px;min-height:100dvh;padding:4px;display:grid;overflow-x:clip}.auth-aside{color:#f7f8f4;background-color:#14251d;background-image:linear-gradient(160deg,#11221c47,#09140fc7),url(/auth/track.png);background-position:bottom;background-repeat:no-repeat;background-size:cover;border-radius:22px;flex-direction:column;min-width:0;min-height:calc(100dvh - 8px);padding:42px;display:flex;overflow:hidden}.auth-aside h1{font-family:var(--font-display);letter-spacing:-.07em;overflow-wrap:anywhere;margin-bottom:18px;font-size:clamp(2.2rem,4vw,4.7rem);line-height:1.04}.auth-aside p:not(.eyebrow){color:#d8e0d8;max-width:300px;line-height:1.55}.auth-panel{background:#fcfcfa;border-radius:22px;place-items:center;min-width:0;padding:42px;display:grid}.auth-card{width:min(100%,430px);min-width:0}.auth-card>.brand{justify-content:center;width:100%;margin-bottom:28px;display:flex}.auth-card>.brand .brand-logo{width:56px;height:56px}.auth-intro{text-align:center;margin-bottom:32px}.auth-intro h2{font-family:var(--font-display);letter-spacing:-.055em;overflow-wrap:anywhere;margin-bottom:8px;font-size:2.1rem}.auth-intro p:last-child,.lead{color:var(--color-muted);line-height:1.55}.divider{color:#a4aaa3;align-items:center;gap:12px;margin:24px 0;font-size:.78rem;display:flex}.divider:before,.divider:after{content:"";background:#e3e6e1;flex:1;height:1px}.auth-social{gap:10px;display:grid}.google-button{color:#263128;background:#fff;border:1px solid #e1e4df;border-radius:10px;width:100%;padding:13px;font-weight:700}.google-button b{color:#4285f4;margin-right:10px}.apple-button{color:#fff;background:#111;border:1px solid #111;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:0;padding:13px;font-weight:700;display:inline-flex}.apple-button:disabled{opacity:.55}.apple-button-icon{flex-shrink:0;width:1.1rem;height:1.1rem}.switch-auth{text-align:center;color:#727970;margin-top:24px;font-size:.86rem}.switch-auth button,.quiet-button,.back-button{color:var(--color-link);background:0 0;border:0;padding:0;font-weight:700}.terms-notice{color:#6f7b71;text-align:center;margin:16px 0 0;font-size:.8rem;line-height:1.45}.terms-notice a{color:var(--color-link);font-weight:700}.auth-legal-links{flex-wrap:wrap;justify-content:center;gap:14px;margin:18px 0 0;display:flex}.auth-legal-links a{color:#8a9289;font-size:.78rem;font-weight:700;text-decoration:none}.demo-note{color:#8a6651;background:#fff3eb;border-radius:8px;margin:14px 0 0;padding:9px 11px;font-size:.77rem}@media (width<=900px){.auth-shell{flex-direction:column;gap:0;padding:0;display:flex}.auth-aside{display:none}.auth-panel{padding:28px 20px calc(32px + env(safe-area-inset-bottom,0px));border-radius:0;flex:auto;place-items:center;min-height:100dvh;display:grid}.auth-card{width:100%}.auth-card>.brand,.auth-intro{margin-bottom:24px}.auth-intro h2{font-size:clamp(1.55rem,6vw,1.95rem)}.auth-card .primary-button,.google-button,.apple-button{min-height:48px}}@media (width<=380px){.auth-panel{padding-inline:16px}.auth-intro{margin-bottom:20px}}@media (width<=720px){.macro-phase{grid-template-columns:1fr}.timeline-row{flex-wrap:wrap;align-items:stretch}.timeline-row b{width:100%}}.onboarding-shell{background:#f5f6f1;min-height:100dvh;padding:28px;overflow-x:clip}.onboarding-top{justify-content:space-between;align-items:center;gap:16px;max-width:1060px;margin:0 auto;display:flex}.onboarding-card{background:#fff;border:1px solid #e2e6df;border-radius:18px;max-width:620px;margin:72px auto;padding:48px}.onboarding-card h1{font-family:var(--font-display);letter-spacing:-.055em;margin:8px 0 10px;font-size:2.4rem;line-height:1.1}.stepper{align-items:center;gap:8px;margin-bottom:36px;display:flex}.stepper span{color:#748072;background:#e7e9e4;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.78rem;font-weight:700;display:grid}.stepper span.active{color:#18251b;background:var(--color-accent)}.stepper i{background:#dce1da;width:42px;height:1px}.field-grid{grid-template-columns:1fr 1fr;gap:0 14px;margin:30px 0 10px;display:grid}.field-grid label:first-child{grid-column:1/-1}.optional{color:#959d95;font-weight:400}.event-picker{flex-wrap:wrap;gap:9px;margin:26px 0 28px;display:flex}.event.selected{color:#26321b;background:#e1f9a1;border-color:#9dbc61}.pb-list{border-top:1px solid #e8ebe5;padding-top:22px}.pb-list label{grid-template-columns:90px 1fr;align-items:center;gap:12px;display:grid}.pb-list input{margin-top:0}.input-error{color:var(--color-danger);grid-column:2;margin-top:-8px;font-weight:500}.onboarding-actions{align-items:center;gap:24px;margin-top:24px;display:flex}.onboarding-actions .primary-button{width:auto;margin-top:0}.coach-role{color:#405044;border:1px solid #e1e6df;border-radius:10px;align-items:center;gap:9px;padding:13px;font-size:.86rem;display:flex}.role-picker{gap:10px;margin:26px 0;display:grid}.profile-fields label{grid-column:1/-1}.profile-fields label:first-child,.profile-fields label:nth-child(2){grid-column:auto}.birth-date{color:#566057;grid-column:1/-1;margin-bottom:15px;font-size:.8rem;font-weight:600}.birth-date>span{margin-bottom:7px;display:block}.birth-date em{color:#959d95;font-style:normal;font-weight:400}.birth-date>div{grid-template-columns:78px 78px minmax(0,1fr);gap:8px;display:grid}.birth-date input{text-align:center;margin:0}.role-picker label{color:#344037;cursor:pointer;border:1px solid #dce1da;border-radius:12px;grid-template-columns:22px minmax(0,1fr);column-gap:11px;margin:0;padding:16px;display:grid}.role-picker input{accent-color:#5e8d43;grid-row:span 2;width:17px;height:17px;margin:2px 0 0}.role-picker strong{font-family:var(--font-display);font-size:.96rem}.role-picker span{color:#738076;grid-column:2;margin-top:4px;font-size:.84rem;line-height:1.45}.role-picker .self-coached-role{background:#f6f9f2;border-color:#cfdcc8 #cfdcc8 #cfdcc8 #7da15f;border-left-style:solid;border-left-width:4px;margin-left:0;padding-left:26px}.prescription-builder .optional{color:#919c91;font-size:.68rem;font-weight:600}.country-select{grid-column:1/-1;margin-bottom:15px;position:relative}.country-select-label{color:#566057;margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.country-select-trigger{width:100%;color:var(--color-ink);font:inherit;text-align:left;background:#fff;border:1px solid #dce0da;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:13px 14px;display:flex}.country-select-trigger:focus-visible{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.country-select-panel{z-index:5;background:#fff;border:1px solid #dce0da;border-radius:12px;gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 16px 40px #14251d24}.country-select-search{width:100%;margin:0}.country-select-list{gap:2px;max-height:240px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.country-select-list button{width:100%;color:var(--color-ink);font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 12px;display:flex}.country-select-list button:hover,.country-select-list button.is-selected{background:#f0f5ea}.country-select-list small{color:#7a847b;font-size:.75rem;font-weight:700}.country-select-empty{color:#748075;padding:12px;font-size:.86rem}@media (width<=720px){.onboarding-shell{padding:16px 16px calc(24px + env(safe-area-inset-bottom,0px))}.onboarding-top{gap:12px}.onboarding-card{border-radius:14px;max-width:none;margin:28px 0 0;padding:24px 18px}.onboarding-card h1{font-size:1.85rem}.stepper{margin-bottom:28px}.field-grid,.profile-fields{grid-template-columns:1fr;gap:0;margin-top:22px}.field-grid label:first-child,.profile-fields label,.profile-fields label:first-child,.profile-fields label:nth-child(2){grid-column:auto}.birth-date>div{grid-template-columns:repeat(3,minmax(0,1fr))}.event-picker{gap:8px;margin:18px 0 22px}.event-picker .event{min-height:40px}.pb-list label{grid-template-columns:1fr;gap:4px;margin-bottom:14px}.pb-list input{margin-top:4px}.role-picker{margin:20px 0}.role-picker label{padding:14px}.role-picker .self-coached-role{padding-left:14px}.onboarding-actions{flex-direction:column-reverse;align-items:stretch;gap:14px;margin-top:28px}.onboarding-actions .primary-button{width:100%;min-height:48px}.onboarding-actions .back-button{align-self:center;min-height:44px}.onboarding-card>.primary-button{min-height:48px}}.profile-page{max-width:900px;margin:0 auto;padding:46px 26px 80px}.profile-page h1{font-family:var(--font-display);letter-spacing:-.055em;margin:3px 0 6px;font-size:3.1rem}.profile-hero{background:var(--color-forest);color:#fff;border-radius:16px;align-items:center;gap:20px;margin-top:28px;padding:24px;display:flex}.avatar-picker{cursor:pointer;border-radius:50%;flex:0 0 88px;width:88px;height:88px;position:relative;overflow:hidden}.avatar-picker>span,.avatar-picker>img{object-fit:cover;background:var(--color-accent);width:100%;height:100%;color:var(--color-forest);font-family:var(--font-display);place-items:center;font-size:1.8rem;font-weight:800;display:grid}.avatar-picker input{opacity:0;cursor:pointer;position:absolute;inset:0}.avatar-picker i{color:#fff;text-align:center;background:#0f1e14c7;padding:5px 0;font-size:.62rem;font-style:normal;position:absolute;bottom:0;left:0;right:0}.profile-hero h2{font-family:var(--font-display);margin:0 0 4px;font-size:1.55rem}.profile-hero p{color:#c9d7cc;margin:0}.profile-details{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.profile-details article{background:#fff;border:1px solid #e0e5dd;border-radius:16px;padding:22px}.profile-details dl{margin:0}.profile-details dl>div{border-bottom:1px solid #edf0eb;justify-content:space-between;gap:18px;padding:13px 0;display:flex}.profile-details dl>div:last-child{border-bottom:0}.profile-details dt{color:#737d74;font-size:.84rem}.profile-details dd{color:#304035;text-align:right;margin:0;font-size:.86rem;font-weight:700}.missing{color:#9aa29a;font-weight:500}.profile-athletes,.profile-coaches{background:#fff;border:1px solid #e0e5dd;border-radius:16px;margin-top:18px;padding:22px}.profile-athletes h2,.profile-coaches h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 5px;font-size:1.25rem}.profile-list-heading>div>p:last-child,.profile-coaches-heading>div>p:last-child,.profile-athletes-status,.profile-people-status{color:#737d74;margin:0;font-size:.88rem}.profile-athletes ul,.profile-coaches ul{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.profile-athletes li,.profile-coaches li{color:#304035;border-top:1px solid #edf0eb;align-items:center;gap:12px;padding:11px 0;display:flex}.profile-athletes li>span,.profile-athletes li>img,.profile-coaches li>span,.profile-coaches li>img{object-fit:cover;width:34px;height:34px;color:var(--color-forest);font-family:var(--font-display);background:#eef4e9;border-radius:50%;flex:0 0 34px;place-items:center;font-weight:800;display:grid}.profile-athletes-status,.profile-people-status{margin-top:18px}.profile-list-heading,.profile-coaches-heading,.profile-coach-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.profile-add-button{width:38px;height:38px;color:var(--color-forest);cursor:pointer;background:#f4f8f0;border:1px solid #cfdacb;border-radius:50%;flex:0 0 38px;place-items:center;font-size:1.45rem;line-height:1;display:grid}.profile-add-button:hover{background:#eaf2e4;border-color:#9db391}.self-coaching-toggle{color:#405341;cursor:pointer;border:1px solid #dce4d8;border-radius:10px;align-items:center;gap:9px;padding:10px 12px;font-size:.84rem;font-weight:700;display:flex}.self-coaching-toggle input{width:17px;height:17px;accent-color:var(--color-forest)}.profile-coaches li>div{gap:2px;display:grid}.profile-coaches li small{color:#737d74}.profile-dialog-backdrop{z-index:900;background:#121f1685;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.profile-dialog{background:#fff;border-radius:16px;width:min(460px,100%);padding:24px;box-shadow:0 22px 60px #0e1d123d}.profile-dialog header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.profile-dialog h2{font-family:var(--font-display);letter-spacing:-.04em;margin:3px 0 0}.profile-dialog header>button{color:#657067;cursor:pointer;background:0 0;border:0;padding:0 3px;font-size:1.5rem}.profile-dialog>p{color:#737d74;line-height:1.5}.profile-dialog label{color:#566057;gap:7px;margin-top:20px;font-size:.8rem;font-weight:700;display:grid}.profile-dialog input{text-transform:uppercase;border:1px solid #d8dfd5;border-radius:9px;margin:0;padding:12px;font-size:1rem}.profile-dialog footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.profile-dialog footer .primary-button,.profile-dialog footer .secondary-button{width:auto;margin:0}.profile-connection-code{color:#36503a;letter-spacing:.14em;text-align:center;background:#f0f5eb;border-radius:10px;margin-top:22px;padding:16px;font-family:monospace;font-size:1.25rem;display:block}.profile-signout{background:#fff;border:1px solid #e0e5dd;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:22px;display:flex}.profile-signout h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 5px;font-size:1.1rem}.profile-signout p:last-child{color:#737d74;margin:0;font-size:.88rem}.profile-signout .secondary-button{color:#8d4545;background:#fff8f8;border-color:#edd8d8}@media (width<=620px){.profile-coaches-heading{flex-direction:column;align-items:stretch}.profile-coach-actions{align-items:stretch}.self-coaching-toggle{flex:1;justify-content:center}}.dashboard{max-width:1120px;margin:auto;padding:42px 26px 80px}.dashboard header{justify-content:space-between;align-items:flex-start;display:flex}.dashboard h1{font-family:var(--font-display);letter-spacing:-.055em;margin:3px 0 4px;font-size:3.4rem}.dashboard .subtitle{line-height:1.5}.getting-started,.dashboard-card,.week-card{margin-top:36px}.getting-started{grid-template-columns:.8fr 1.2fr;gap:40px;display:grid}.getting-started .eyebrow{color:#bdd4c1}.getting-started h2{font-family:var(--font-display);letter-spacing:-.05em;margin-bottom:10px;font-size:2rem}.getting-started-intro>p:last-child{color:var(--color-on-dark-muted);line-height:1.55}.setup-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.setup-steps li{background:#294235;border:1px solid #3b5847;border-radius:12px;grid-template-columns:40px 1fr;gap:12px;padding:18px;display:grid}.step-number{background:var(--color-accent);color:#17271c;border-radius:50%;place-items:center;width:30px;height:30px;font-size:.82rem;font-weight:800;display:grid}.setup-steps h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 6px;font-size:1.05rem}.setup-steps p:not(.eyebrow){color:#cedbd0;margin-bottom:12px;font-size:.88rem;line-height:1.45}.dashboard-card h2,.week-card h2{font-family:var(--font-display);letter-spacing:-.04em;margin-bottom:23px}.preview-caption{color:#778178;margin:-11px 0 20px;font-size:.86rem}.empty-timeline-grid{border:1px dashed #d7ddd4;border-radius:10px;overflow:hidden}.empty-timeline-grid div{border-bottom:1px solid #e8ece5;grid-template-columns:90px 1fr;align-items:center;min-height:45px;display:grid}.empty-timeline-grid div:last-child{border-bottom:0}.empty-timeline-grid span{color:#637064;padding-left:13px;font-size:.8rem;font-weight:700}.empty-timeline-grid i{background:repeating-linear-gradient(90deg,#edf0eb,#edf0eb 22px,#f7f8f5 22px 44px);border-radius:4px;height:17px;margin-right:13px;display:block}.week-card{justify-content:space-between;align-items:center;gap:24px;display:flex}.week-card p:last-child{color:#7a8379;margin:0}.next-training{background:linear-gradient(135deg,#f4f8ef 0%,#fff 55%);justify-content:space-between;align-items:center;gap:24px;margin-top:28px;display:flex}.next-training h2{font-family:var(--font-display);letter-spacing:-.05em;margin:4px 0 0;font-size:clamp(1.6rem,3vw,2.1rem)}.next-training-date{color:var(--color-forest);text-transform:capitalize;margin:0;font-size:.92rem;font-weight:800}.next-training-time{color:#6f7b71;margin:8px 0 0;font-size:.88rem}.next-training.is-empty{background:var(--color-surface-muted);border-color:var(--color-border-strong)}.next-training.is-empty h2{font-size:1.45rem}.next-training.is-empty>div>p:last-child{color:#6f7b71;margin:8px 0 0;font-size:.9rem}.next-training-status{color:#6f7b71;margin:8px 0 0}.coach-context{justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding:19px 22px;display:flex}.coach-context h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 4px;font-size:1.15rem}.coach-context p:last-child{color:#6f7b71;margin:0;font-size:.88rem}.setup-steps .is-locked{opacity:.58}.dashboard-timeline-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.dashboard-timeline-heading h2{margin:0}.dashboard-timeline-heading>p{color:#6c796d;margin:4px 0 0;font-size:.82rem;font-weight:700}.dashboard-season-rail{height:42px;margin:24px 0 10px;position:relative}.dashboard-season-rail i{background:#cedbc5;border-radius:99px;height:4px;display:block;position:absolute;top:18px;left:0;right:0}.dashboard-season-rail span{color:#6b786b;font-size:.74rem;font-weight:700;position:absolute;top:0}.dashboard-season-rail span:first-child{left:0}.dashboard-season-rail span:last-child{right:0}.dashboard-timeline-rows{gap:8px;display:grid}.dashboard-timeline-row{grid-template-columns:132px 1fr;align-items:center;gap:14px;display:grid}.dashboard-timeline-row b{color:#405041;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.dashboard-timeline-row>div{background:repeating-linear-gradient(90deg,#edf2e8,#edf2e8 28px,#f8fbf3 28px 56px);border-radius:6px;height:24px;position:relative;overflow:hidden}.dashboard-timeline-row>div>i{background:#405f4a;border-radius:4px;display:block;position:absolute;inset:3px 0}.general-phase-track{overflow:visible!important}.dashboard-timeline-row .dashboard-phase-bar{color:#213023;text-align:center;text-overflow:ellipsis;white-space:nowrap;background:#93b86b;border-radius:4px;justify-content:center;align-items:center;min-width:8px;padding:3px 9px;font-size:.68rem;font-style:normal;font-weight:800;line-height:1;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden}.dashboard-timeline-row .phase-bar-preparation{background:#72a786}.dashboard-timeline-row .phase-bar-competition{background:#d3a347}.dashboard-timeline-row .phase-bar-transition{background:#94a59c}.dashboard-timeline-row .phase-bar-custom{background:#8d82b7}.dashboard-timeline-row.muted{opacity:.5}.dashboard-timeline-row.muted>div>i{background:#dbe2d9}.dashboard-timeline-rows .timeline-empty{color:#788579;margin:2px 0 8px 146px;font-size:.86rem}.season-setup-page{max-width:960px;margin:0 auto;padding:42px 26px 80px}.season-setup-header{max-width:680px;margin:0 auto 30px}.season-setup-header .back-button{margin-bottom:32px}.season-setup-page h1,.season-setup-page h2{font-family:var(--font-display);letter-spacing:-.055em}.season-setup-page h1{margin:5px 0 9px;font-size:clamp(2.6rem,5vw,4rem)}.season-form{gap:18px;display:grid}.season-form-section{background:#fff;border:1px solid #e0e5dd;border-radius:16px;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:44px;padding:30px;display:grid}.season-form-section h2{margin:0 0 8px;font-size:1.45rem}.season-form-section>div>p:last-child{color:#717c72;line-height:1.55}.season-form-fields{gap:6px;display:grid}.season-form-fields .athlete-specific-field{background:#fafbf8;border:1px solid #e3e8df;border-radius:10px;margin-top:8px;padding:13px}.season-form-fields textarea{resize:vertical;width:100%;min-height:84px;color:var(--color-ink);border:1px solid #dce0da;border-radius:10px;outline:none;margin-top:6px;padding:13px 14px}.season-form-fields textarea:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.philosophy-section{background:#fbfcf8}.season-form-actions{background:#fff;border:1px solid #e0e5dd;border-radius:16px;justify-content:space-between;align-items:center;gap:28px;padding:24px 30px;display:flex}.season-form-actions strong{font-family:var(--font-display)}.season-form-actions p{color:#747f75;margin:4px 0 0;font-size:.88rem}.season-form-actions .primary-button{width:auto;min-width:180px;margin:0}@media (width<=720px){.season-setup-page{padding:30px 16px 56px}.season-form-section{grid-template-columns:1fr;gap:20px;padding:22px}.season-form-actions{padding:22px;display:block}.season-form-actions .primary-button{width:100%;margin-top:18px}.date-field-grid{grid-template-columns:1fr}}.phase-setup-page{max-width:960px;margin:0 auto;padding:42px 26px 80px}.phase-suggestions,.phase-athlete-selection,.empty-phase-list,.phase-draft{background:#fff;border:1px solid #e0e5dd;border-radius:16px}.phase-athlete-selection{margin-bottom:18px;padding:24px 30px}.outline-athlete-controls{gap:28px;display:grid}.outline-source-picker{gap:4px;display:grid}.outline-source-picker .outline-athlete-chip-list{margin-top:14px}.outline-athlete-chip.is-disabled{opacity:.5;cursor:not-allowed}.phase-athlete-selection h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 6px;font-size:1.35rem}.phase-athlete-selection>div:first-child>p:last-child{color:#717c72;margin:0}.phase-target-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.phase-target-actions button{color:#587c45;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.phase-target-actions span{color:#737d74;font-size:.8rem;font-weight:700}.phase-athlete-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.phase-athlete-list label{color:#344037;cursor:pointer;border:1px solid #dfe5dc;border-radius:10px;grid-template-columns:20px 1fr;align-items:center;gap:10px;margin:0;padding:12px;display:grid}.phase-athlete-list label:has(input:checked){background:#f3f8ee;border-color:#9eb98d}.phase-athlete-list label.disabled{opacity:.55;cursor:not-allowed}.phase-athlete-list input{width:17px;height:17px;accent-color:var(--color-forest);margin:0}.phase-athlete-list span{gap:3px;display:grid}.phase-athlete-list small{color:#758076;font-size:.73rem}.season-overwrite-alert{color:#8e3434;background:#fff2f2;border:1px solid #e2aaaa;border-radius:10px;margin-top:14px;padding:14px 16px}.season-overwrite-alert>strong{font-family:var(--font-display)}.season-overwrite-alert ul{gap:5px;margin:8px 0;padding-left:20px;font-size:.82rem;display:grid}.season-overwrite-alert p{color:#9b4a4a;margin:0;font-size:.78rem}.phase-suggestions{grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:34px;padding:30px;display:grid}.phase-suggestions h2,.empty-phase-list h2,.phase-draft h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 8px;font-size:1.35rem}.phase-suggestions>div>p:last-child,.empty-phase-list p{color:#717c72;line-height:1.55}.phase-chip-list{flex-wrap:wrap;align-content:center;align-items:flex-start;gap:9px;display:flex}.phase-chip-list button{color:#31432d;background:#f6faee;border:1px solid #cbd9b9;border-radius:999px;padding:10px 13px;font-size:.84rem;font-weight:700}.phase-chip-list .custom-phase-chip{color:#52743e;background:#fff;border-style:dashed}.phase-form{gap:18px;margin-top:18px;display:grid}.phase-draft-list{gap:12px;display:grid}.phase-draft{padding:24px 26px}.phase-draft-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.phase-draft-header .eyebrow{margin:0}.phase-draft-fields{grid-template-columns:.8fr 1.2fr;gap:0 16px;display:grid}.phase-draft-fields>label:first-child,.phase-draft-fields>label:last-child{grid-column:1/-1}.phase-draft-fields textarea{resize:vertical;width:100%;min-height:84px;color:var(--color-ink);border:1px solid #dce0da;border-radius:10px;outline:none;margin-top:6px;padding:13px 14px}.phase-draft-fields textarea:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.phase-timeline{background:#f8fbf3;border:1px solid #dbe5d3;border-radius:16px;margin:0 0 18px;padding:26px 30px}.phase-timeline-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.phase-timeline-heading h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:1.35rem}.phase-timeline-heading>p{color:#6c796d;margin:4px 0 0;font-size:.82rem;font-weight:700}.season-rail{height:42px;margin:24px 0 11px;position:relative}.season-rail i{background:#dce6d4;border-radius:99px;height:4px;display:block;position:absolute;top:18px;left:0;right:0}.season-rail span{color:#6b786b;font-size:.74rem;font-weight:700;position:absolute;top:0}.season-rail-start{left:0}.season-rail-end{right:0}.timeline-empty{color:#788579;margin:0;font-size:.88rem}.phase-timeline-rows{gap:9px;display:grid}.phase-timeline-row{grid-template-columns:150px 1fr;align-items:center;gap:14px;display:grid}.phase-timeline-row>span{color:#405041;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700;overflow:hidden}.phase-track{background:repeating-linear-gradient(90deg,#edf2e8,#edf2e8 28px,#f8fbf3 28px 56px);border-radius:6px;height:24px;position:relative}.phase-bar{background:#93b86b;border-radius:4px;min-width:8px;position:absolute;top:3px;bottom:3px}.phase-bar-preparation{background:#72a786}.phase-bar-competition{background:#d3a347}.phase-bar-transition{background:#94a59c}.phase-bar-custom{background:#8d82b7}@media (width<=720px){.dashboard{padding:24px 16px calc(56px + env(safe-area-inset-bottom,0px))}.dashboard header{display:block}.dashboard h1{font-size:2.45rem}.getting-started{grid-template-columns:1fr;gap:22px;margin-top:24px;padding:20px}.getting-started h2{font-size:1.7rem}.setup-steps li{grid-template-columns:40px minmax(0,1fr);padding:16px}.dashboard-card,.week-card{margin-top:20px;padding:20px}.week-card{flex-direction:column;align-items:stretch;gap:16px;display:flex}.week-card h2{margin-bottom:10px}.week-card .secondary-button{white-space:normal;width:100%;min-height:48px}.next-training{margin-top:20px;padding:20px;display:block}.next-training .secondary-button{width:100%;min-height:48px;margin-top:16px}.coach-context{margin-top:20px;padding:18px;display:block}.coach-context .secondary-button{width:100%;min-height:48px;margin-top:14px}.empty-timeline-grid div{grid-template-columns:minmax(64px,78px) minmax(0,1fr)}.dashboard-timeline-heading{display:block}.dashboard-timeline-heading>p{margin-top:10px}.dashboard-timeline-row{grid-template-columns:1fr;gap:6px}.dashboard-timeline-row b{white-space:normal;text-overflow:unset;overflow:visible}.dashboard-timeline-rows .timeline-empty{margin-left:0}.dashboard-timeline-row .dashboard-phase-bar{padding-inline:6px;font-size:.62rem}.phase-setup-page{padding:30px 16px 56px}.phase-suggestions,.phase-draft{grid-template-columns:1fr;padding:22px}.phase-athlete-selection{padding:22px}.phase-athlete-list,.phase-draft-fields{grid-template-columns:1fr}.phase-draft-fields>label:first-child,.phase-draft-fields>label:last-child{grid-column:auto}.phase-timeline{padding:22px}.phase-timeline-heading{display:block}.phase-timeline-heading>p{margin-top:10px}.phase-timeline-row{grid-template-columns:1fr;gap:5px}}.season-outline-page{max-width:1280px;margin:0 auto;padding:42px 26px 80px}.season-outline-page h1,.season-outline-page h2{font-family:var(--font-display);letter-spacing:-.055em}.season-outline-page h1{margin:5px 0 9px;font-size:clamp(2.6rem,5vw,4rem)}.season-outline-calendar{background:#fff;border:1px solid #e0e5dd;border-radius:16px;overflow:hidden}.season-outline-header{border-bottom:1px solid #e6eae4;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;display:flex}.season-outline-header h2{text-transform:capitalize;margin:0;font-size:1.35rem}.season-outline-actions{align-items:center;gap:20px;display:flex}.calendar-view-settings{color:#526153;align-items:center;gap:9px;font-size:.78rem;font-weight:800;display:flex}.calendar-view-options{background:#f4f6f2;border:1px solid #d9dfd6;border-radius:9px;padding:3px;display:flex}.calendar-view-options button{color:#677267;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;margin:0;padding:7px 10px;font-size:.72rem}.calendar-view-options button.is-selected{color:var(--color-forest);background:#fff;box-shadow:0 1px 3px #182a1d29}.calendar-view-options button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:1px}.phase-visibility-toggle{color:#526153;cursor:pointer;align-items:center;gap:9px;font-size:.78rem;font-weight:800;display:flex}.phase-visibility-toggle input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.toggle-track{background:#cbd3c9;border-radius:999px;align-items:center;width:36px;height:21px;padding:2px;transition:background .18s;display:flex}.toggle-track>span{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .18s;box-shadow:0 1px 3px #182a1d3d}.phase-visibility-toggle input:checked+.toggle-track{background:var(--color-forest)}.phase-visibility-toggle input:checked+.toggle-track>span{transform:translate(15px)}.phase-visibility-toggle input:focus-visible+.toggle-track{outline:3px solid var(--color-focus-ring);outline-offset:2px}.cycle-navigation .save-outline-button{border-color:var(--color-forest);background:var(--color-forest);color:#fff}.cycle-navigation .save-outline-button:hover:not(:disabled){background:#294235}.cycle-navigation .save-outline-button:disabled{color:#9ba49a;background:#eef1ec;border-color:#d9ded7}.season-month-list{display:grid}.season-view .season-month+.season-month{border-top:10px solid #eef1ec}.season-month-header{background:#fff;border-bottom:1px solid #e6eae4;padding:20px 28px 16px}.season-month-header h3{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.04em;text-transform:capitalize;margin:0;font-size:1.2rem}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays{background:#fafbf9;border-bottom:1px solid #e6eae4}.month-weekdays span{color:#7a8779;text-align:center;padding:10px;font-size:.7rem;font-weight:800}.month-day,.month-empty-day{text-align:left;background:#fff;border:1px solid #e8ece6;border-top:0;border-left:0;min-height:116px;padding:9px}.month-day{color:#314434;flex-direction:column;gap:5px;display:flex}.month-day:hover:not(:disabled){background:#f7fbf2}.month-day:disabled{color:#bbc2ba;background:#f8f9f7}.month-day strong{font-size:.82rem}.month-day.rest{background:#f4f6f2}.month-day.planned{background:#fbfdf9}.month-day-rest,.month-day-competition,.month-day-type{color:#42653b;text-overflow:ellipsis;white-space:nowrap;background:#e9f1e4;border-radius:5px;width:fit-content;max-width:100%;padding:4px 6px;font-size:.66rem;font-weight:800;overflow:hidden}.month-day-rest{color:#677267;background:#edf0ec}.month-day.competition{background:#fffaf0}.month-day-competition{color:#654b0d;background:#f3d88c}.day-outline-dialog{background:#fff;border:1px solid #e1e7dc;border-radius:18px;width:min(100%,600px);padding:28px;box-shadow:0 24px 70px #0e1d1338}.day-outline-dialog>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.day-outline-dialog h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:1.4rem}.day-outline-dialog>header>button{color:#647066;background:0 0;border:0;padding:0;font-size:1.6rem}.outline-type-list,.day-special-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.day-special-choices button{margin:0}.day-competition-choice{color:#654b0d;background:#fffaf0;border:1px solid #e2cd8e;border-radius:9px;padding:11px;font-weight:800}.day-competition-choice.selected{background:#f5df9e;border-color:#c29628}.competition-fields{gap:12px;margin-top:14px;display:grid}.competition-search-results{gap:7px;display:grid}.competition-search-results>p{color:#748075;margin:0;font-size:.76rem}.competition-search-results>label{cursor:pointer;border:1px solid #dfe4dc;border-radius:9px;align-items:center;gap:9px;padding:10px;display:flex}.competition-search-results>label.selected{background:#fff8e5;border-color:#c39b32}.competition-search-results>label span{gap:2px;display:grid}.competition-search-results>label small{color:#748075}.competition-search-results>button{color:#745916;background:#fffdf6;border:1px dashed #c9ad5d;border-radius:9px;padding:9px;font-weight:800}.competition-fields>label{color:#536054;font-size:.76rem;font-weight:800}.competition-fields>label input{width:100%;color:var(--color-ink);border:1px solid #dce3da;border-radius:9px;margin-top:6px;padding:11px 12px}.competition-fields fieldset{border:1px solid #dce3da;border-radius:9px;margin:0;padding:12px}.competition-fields legend{color:#536054;padding:0 5px;font-size:.76rem;font-weight:800}.competition-fields fieldset>div{flex-wrap:wrap;gap:7px;display:flex}.competition-fields fieldset label{color:#4e5c4f;background:#f3f6f0;border-radius:999px;align-items:center;gap:5px;padding:6px 8px;font-size:.7rem;font-weight:700;display:flex}.outline-type-list button{color:#4b5d4d;text-align:left;background:#fff;border:1px solid #dce3da;border-radius:9px;gap:4px;padding:11px;display:grid}.outline-type-list button.selected{background:#f0f8e3;border-color:#8eae69}.outline-type-list span{color:#799070;font-size:.65rem;font-weight:800}.outline-type-list strong{font-size:.8rem}.day-outline-dialog footer{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.day-outline-dialog footer .primary-button{width:auto;margin:0}.save-outline-dialog{width:min(100%,560px);max-height:min(90vh,720px);overflow:auto}.save-outline-summary,.save-outline-targets,.save-outline-copy{margin-top:18px}.save-outline-copy-lead{color:#717c72;margin:4px 0 0;font-size:.88rem}.save-outline-change-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.save-outline-change-list li{background:#fafbf8;border:1px solid #e3e8df;border-radius:10px;gap:2px;padding:10px 12px;display:grid}.save-outline-change-list strong{color:#2f3b33}.save-outline-change-list span,.save-outline-change-list small{color:#6b756d;font-size:.82rem}.save-outline-change-list small{display:block}.outline-athlete-chip-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.outline-athlete-chip{color:#344037;font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe5dc;border-radius:999px;align-items:center;gap:8px;margin:0;padding:6px 12px 6px 6px;font-weight:700;display:inline-flex}.outline-athlete-chip.is-source{cursor:default;margin-top:10px}.outline-athlete-chip.is-selected{color:#2f4a28;background:#f3f8ee;border-color:#9eb98d}.outline-athlete-avatar{color:#2f4a28;background:#d7e3cf;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:800;display:grid;overflow:hidden}.outline-athlete-avatar img{object-fit:cover;width:100%;height:100%}.outline-athlete-chip i{color:var(--color-forest);font-style:normal;font-weight:800}.save-outline-dialog .season-overwrite-alert{margin-top:16px}.outline-phase-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.outline-phase-chips span{color:#42653b;background:#e9f1e4;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:800}.outline-phase-chips .preparation{color:#80631e;background:#f7edcf}.outline-phase-chips .competition{color:#9a4b48;background:#f5dfdd}.outline-phase-chips .transition{color:#4b6480;background:#e6edf4}.month-day.locked{color:#b8bfb7;background:#f6f7f5}.month-day-phase{color:#294126;white-space:nowrap;background:#b9d29f;align-items:center;width:calc(100% + 19px);min-height:20px;margin:1px -10px 2px;padding:3px 0;font-size:.62rem;font-weight:800;line-height:1;display:flex;overflow:hidden}.month-day-phase>span{text-overflow:ellipsis;padding:0 8px;overflow:hidden}.month-day-phase.starts-row{border-radius:999px 0 0 999px;width:calc(100% + 10px);margin-left:0}.month-day-phase.ends-row{border-radius:0 999px 999px 0;width:calc(100% + 9px);margin-right:0}.month-day-phase.starts-row.ends-row{border-radius:999px;width:100%;margin-right:0}.month-day-phase.phase-preparation{color:#684f12;background:#eed58b}.month-day-phase.phase-competition{color:#713836;background:#e8aaa6}.month-day-phase.phase-transition{color:#3e566c;background:#becdda}.month-day-phase.phase-custom{color:#4e466d;background:#c9c1e4}@media (width<=720px){.season-outline-page{padding:30px 16px 56px}.season-outline-header{padding:20px;display:block}.season-outline-actions{flex-direction:column;align-items:flex-start;gap:14px;margin-top:15px}.season-outline-header .cycle-navigation{margin-top:0}.calendar-view-settings{flex-direction:column;align-items:flex-start}.season-month-header{padding:18px 20px 14px}.month-day,.month-empty-day{min-height:78px;padding:6px}.month-day-phase{width:calc(100% + 13px);margin-left:-7px;margin-right:-7px;font-size:.54rem}.month-day-phase.starts-row{width:calc(100% + 7px)}.month-day-phase.ends-row{width:calc(100% + 6px)}.month-day-phase.starts-row.ends-row{width:100%}.month-day-type,.month-day-rest,.month-day-competition{font-size:.57rem}.day-outline-dialog{border-radius:16px;padding:21px}.outline-type-list{grid-template-columns:1fr}}.training-qualities-page{max-width:1180px;margin:0 auto;padding:42px 26px 80px}.training-qualities-page h1,.training-qualities-page h2,.training-qualities-page h3{font-family:var(--font-display);letter-spacing:-.045em}.training-qualities-page h1{margin:5px 0 9px;font-size:clamp(2.6rem,5vw,4rem)}.quality-toolbar{background:#fff;border:1px solid #dfe5dc;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:16px 20px;display:flex}.quality-toolbar .secondary-button{width:auto}.quality-timeline{background:#fff;border:1px solid #dfe5dc;border-radius:16px;overflow:hidden}.quality-timeline>header{border-bottom:1px solid #e6eae4;padding:24px 28px}.quality-timeline>header h2{margin:2px 0 0;font-size:1.35rem}.quality-phase-rail,.quality-track{background:repeating-linear-gradient(90deg,#f6f8f4,#f6f8f4 8.2%,#fff 8.2% 16.4%);min-height:48px;position:relative}.quality-phase-rail{background:#f1f4ee;border-radius:8px;margin:16px 28px 8px}.quality-phase-rail span{color:#294126;white-space:nowrap;background:#b9d29f;border-radius:6px;place-items:center;min-width:4px;padding:4px 8px;font-size:.68rem;font-weight:800;display:grid;position:absolute;top:8px;bottom:8px;overflow:hidden}.quality-phase-rail .phase-preparation{background:#eed58b}.quality-phase-rail .phase-competition{background:#e8aaa6}.quality-phase-rail .phase-transition{background:#becdda}.quality-phase-rail .phase-custom{background:#c9c1e4}.quality-rows{border-top:1px solid #e9ede7}.quality-row{border-bottom:1px solid #e9ede7;grid-template-columns:190px minmax(0,1fr);display:grid}.quality-row-heading{padding:18px 20px}.quality-row-heading strong{color:#304035;display:block}.quality-row-heading button{color:#588043;background:0 0;border:0;margin-top:8px;padding:0;font-size:.72rem;font-weight:800}.quality-track{border-left:1px solid #e9ede7;min-height:72px}.quality-track>button{color:#304b2c;text-align:left;cursor:pointer;background:#dceec5;border:0;border-radius:8px;align-content:center;min-width:18px;padding:7px 10px;display:grid;position:absolute;top:13px;bottom:13px;overflow:hidden}.quality-track>button strong,.quality-track>button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quality-track>button small{margin-top:2px;font-size:.62rem}.custom-quality-form,.custom-exercise-form{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:18px 20px;display:grid}.custom-quality-form input,.custom-exercise-form input{margin:0}.custom-quality-form button,.custom-exercise-form button,.add-progression button{background:var(--color-forest);color:#fff;border:0;border-radius:9px;padding:0 14px;font-weight:800}.quality-period-dialog{width:min(100%,760px);max-height:92vh;overflow:auto}.quality-period-fields{gap:12px;margin-top:16px;display:grid}.quality-period-fields label{color:#5d695e;gap:5px;font-size:.75rem;font-weight:800;display:grid}.quality-period-fields textarea{resize:vertical;border:1px solid #dce3da;border-radius:9px;min-height:70px;padding:11px}.quality-period-fields>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.progression-editor{margin-top:20px}.progression-editor h3{margin-bottom:10px}.progression-editor article{background:#fbfcfa;border:1px solid #dfe6dc;border-radius:11px;margin-top:10px;padding:14px}.progression-editor article>header{justify-content:space-between;display:flex}.progression-editor article>header button{color:#a65353;background:0 0;border:0;font-weight:800}.progression-editor article>label{grid-template-columns:80px 120px;align-items:center;margin-top:10px;font-size:.74rem;font-weight:800;display:grid}.progression-points{gap:7px;margin:10px 0;display:grid}.progression-points>div{grid-template-columns:1fr 110px 52px 30px;align-items:center;gap:7px;display:grid}.progression-points input{margin:0}.progression-points button{color:#a65353;background:#f4eaea;border:0;border-radius:7px}.progression-preview-chart{background:#f1f6ec;border-radius:9px;height:90px;margin-top:12px;padding:8px;position:relative}.progression-preview-chart svg{width:100%;height:100%;overflow:visible}.progression-preview-chart polyline{fill:none;stroke:#5f8749;stroke-width:2px;vector-effect:non-scaling-stroke}.progression-preview-chart circle{fill:#365b31;vector-effect:non-scaling-stroke}.progression-preview-chart>span{color:#60705f;font-size:.65rem;font-weight:800;position:absolute;bottom:5px;right:8px}.add-progression{grid-template-columns:minmax(0,1fr) 100px auto;gap:8px;margin-top:14px;display:grid}.add-progression select{margin:0}.custom-exercise-form{padding:9px 0 0}.quality-copy-targets{gap:8px;margin-top:16px;display:grid}.quality-copy-targets label{border:1px solid #dfe5dc;border-radius:9px;align-items:center;gap:9px;padding:10px;display:flex}.quality-copy-targets span{display:grid}.quality-copy-targets small{color:#748075}.copy-plan-toggle{gap:8px;margin-top:16px;font-weight:700;display:flex}@media (width<=720px){.training-qualities-page{padding:30px 16px 56px}.quality-toolbar{flex-direction:column;align-items:flex-start}.quality-row{grid-template-columns:1fr}.quality-track{border-top:1px solid #e9ede7;border-left:0}.quality-phase-rail{margin-left:16px;margin-right:16px}.quality-period-fields>div,.add-progression{grid-template-columns:1fr}.progression-points>div{grid-template-columns:1fr 90px 42px 30px}.custom-quality-form,.custom-exercise-form{grid-template-columns:1fr}.custom-quality-form button,.custom-exercise-form button,.add-progression button{min-height:40px}}.training-cycle-page{max-width:1280px;margin:0 auto;padding:42px 26px 80px}.training-cycle-header{max-width:760px;margin-bottom:30px}.training-cycle-header .back-button{margin-bottom:32px}.training-cycle-page h1,.training-cycle-page h2{font-family:var(--font-display);letter-spacing:-.055em}.training-cycle-page h1{margin:5px 0 9px;font-size:clamp(2.6rem,5vw,4rem)}.cycle-controls,.cycle-calendar,.cycle-overview-hero{background:#fff;border:1px solid #e0e5dd;border-radius:16px}.cycle-controls{grid-template-columns:.8fr 1.2fr;gap:34px;padding:28px 30px;display:grid}.cycle-length-preview{color:#445045;margin:14px 0 0;font-size:.9rem}.cycle-overview-hero{grid-template-columns:1fr 1fr;gap:0;margin-bottom:18px;display:grid;overflow:hidden}.cycle-overview-status,.cycle-overview-action{padding:28px 30px}.cycle-overview-status{border-right:1px solid #e6eae4}.cycle-overview-hero h2{margin:0 0 8px;font-size:1.35rem}.cycle-overview-hero p{color:#717c72;margin:0;line-height:1.55}.cycle-overview-action-row{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.cycle-overview-action-row .add-cycle-button{color:#2f4a28;background:#f3f8ee;border:1px solid #9eb98d;border-radius:8px;padding:11px 14px;font-weight:700}.cycle-overview-action-row .cycle-settings-button{color:#465546;background:#fff;border:1px solid #dce1da;border-radius:8px;min-width:38px;padding:9px 11px;font-size:1rem}.cycle-default-hint-inline{font-size:.82rem;margin-top:12px!important}.cycle-empty-browse{color:#717c72;margin:0;padding:28px}.cycle-controls h2{margin:0 0 8px;font-size:1.35rem}.cycle-controls>div>p:last-child{color:#717c72;margin:0;line-height:1.55}.rhythm-picker{grid-template-columns:repeat(4,1fr);align-self:center;gap:9px;display:grid}.rhythm-picker button{color:#536254;background:#fff;border:1px solid #dce1da;border-radius:11px;gap:2px;padding:14px 8px;display:grid}.rhythm-picker button.selected{color:#24341f;background:#eff8d9;border-color:#90b264;box-shadow:0 0 0 2px #e0f1c3}.rhythm-picker strong{font-family:var(--font-display);font-size:1.1rem}.rhythm-picker span{font-size:.72rem;font-weight:700}.cycle-calendar{margin-top:18px;overflow:hidden}.session-kind-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.session-kind-picker button{color:#59675a;background:#fff;border:1px solid #dbe2d8;border-radius:9px;padding:10px;font-weight:800}.session-kind-picker button.selected{color:#684f12;background:#fff6dc;border-color:#b99330}.competition-picker-list{gap:8px;max-height:360px;display:grid;overflow-y:auto}.competition-picker-list label{cursor:pointer;border:1px solid #dfe4dc;border-radius:10px;gap:10px;padding:12px;display:flex}.competition-picker-list label.selected{background:#fff8e5;border-color:#c39b32}.competition-picker-list span{gap:3px;display:grid}.competition-picker-list small{color:#748075;font-size:.7rem}.competition-session{background:#fffaf0;border-color:#dcc57e}.competition-session .session-heading span{color:#795b12}.linked-competition-details{color:#6e5a29;gap:3px;margin-top:8px;font-size:.72rem;display:grid}.cycle-calendar-header{border-bottom:1px solid #e6eae4;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;display:flex}.cycle-calendar-header h2{margin:0;font-size:1.28rem}.cycle-navigation{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.cycle-navigation button{color:#465546;background:#fff;border:1px solid #dce1da;border-radius:8px;padding:9px 11px;font-size:.79rem;font-weight:700}.cycle-navigation button:disabled{opacity:.45;cursor:not-allowed}.cycle-navigation .add-cycle-button{color:#2f4a28;background:#f3f8ee;border-color:#9eb98d}.cycle-navigation .delete-cycle-button{color:var(--color-danger);background:#fff6f6;border-color:#e0b4b4}.cycle-navigation .delete-cycle-button:hover:not(:disabled){background:#ffecec;border-color:#d09090}.cycle-navigation .cycle-settings-button{min-width:38px;font-size:1rem}.cycle-default-hint{color:#6b756d;border-bottom:1px solid #e6eae4;margin:0;padding:10px 28px;font-size:.82rem}.create-cycle-rhythm{margin-top:16px}.cycle-remember-option{color:#445045;text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe5dc;border-radius:10px;grid-template-columns:28px 1fr;align-items:start;gap:12px;width:100%;margin-top:16px;padding:12px 14px;display:grid}.cycle-remember-option:hover{background:#fafbf8;border-color:#c5d0bf}.cycle-remember-option.selected{color:#2f4a28;background:#f3f8ee;border-color:#9eb98d}.cycle-remember-check{color:#2f4a28;background:#fff;border:1px solid #d5ddd1;border-radius:8px;place-items:center;width:28px;height:28px;font-size:.9rem;font-weight:700;display:grid}.cycle-remember-option.selected .cycle-remember-check{background:#eff8d9;border-color:#9eb98d}.cycle-remember-option span:last-child{gap:3px;padding-top:2px;display:grid}.cycle-remember-option strong{font-size:.92rem}.cycle-remember-option small{color:#6b756d;font-size:.78rem;line-height:1.4}.cycle-settings-options{gap:8px;margin-top:16px;display:grid}.cycle-settings-options label{cursor:pointer;border:1px solid #dfe5dc;border-radius:10px;grid-template-columns:18px 1fr;gap:10px;margin:0;padding:12px;display:grid}.cycle-settings-options label.selected{background:#f3f8ee;border-color:#9eb98d}.cycle-settings-options span{gap:3px;display:grid}.cycle-settings-options small{color:#6b756d;font-size:.78rem}.cycle-day-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:stretch;display:grid}.cycle-day-card{border-right:1px solid #e6eae4;flex-direction:column;min-height:310px;padding:15px;display:flex}.cycle-day-card:last-child{border-right:0}.cycle-day-card>header{border-bottom:1px solid #edf0eb;justify-content:space-between;align-items:baseline;padding-bottom:12px;display:flex}.cycle-day-card>header p{color:#758176;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.cycle-day-card>header strong{color:#294035;font-family:var(--font-display);font-size:.92rem}.day-sessions{gap:9px;padding:11px 0;display:grid}.planned-session{background:#f8fbf5;border:1px solid #dce6d5;border-radius:9px;padding:10px}.session-heading{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.session-heading span{color:#718071;letter-spacing:.08em;font-size:.62rem;font-weight:800}.session-heading button{color:#9a5b5b;background:0 0;border:0;padding:0 2px;font-size:1rem}.planned-session input{border-radius:7px;margin:0 0 7px;padding:8px 9px;font-size:.78rem}.planned-session .exercise-input{background:#fff;border-style:dashed}.add-exercise-button,.add-session-button{color:#5b8b42;text-align:left;background:0 0;border:0;font-size:.75rem;font-weight:800}.add-session-button{border-top:1px dashed #dce2d9;width:100%;margin-top:auto;padding:10px 0 0}.rest-toggle{color:#748174;text-align:left;background:0 0;border:0;border-top:1px dashed #dce2d9;width:100%;margin-top:auto;padding:8px 0;font-size:.75rem;font-weight:800}.rest-toggle.active{color:#557f89}.rest-day-block{background:#f3fafb;border:1px solid #cbdde0;border-radius:8px;grid-template-columns:1fr auto;gap:3px 8px;padding:9px;display:grid}.rest-day-block span{color:#5c8490;letter-spacing:.08em;font-size:.62rem;font-weight:800}.rest-day-block p{color:#4c6770;margin:0;font-size:.78rem;font-weight:700}.rest-day-block button{color:#698893;background:0 0;border:0;grid-area:1/2/span 2;align-self:center;font-size:.7rem;font-weight:800}@media (width<=720px){.training-cycle-page{padding:30px 16px 56px}.cycle-controls,.cycle-overview-hero{grid-template-columns:1fr;padding:0}.cycle-overview-status,.cycle-overview-action{padding:22px}.cycle-overview-status{border-bottom:1px solid #e6eae4;border-right:0}.cycle-calendar-header{padding:22px;display:block}.cycle-navigation{margin-top:16px}.cycle-navigation button{flex:1}.cycle-day-grid{grid-template-columns:1fr}.cycle-day-card{border-bottom:1px solid #e6eae4;border-right:0;min-height:0}.cycle-day-card:last-child{border-bottom:0}}.cycle-navigation .save-cycle-button{color:#fff;background:#36593b;border-color:#36593b}.cycle-navigation .save-cycle-button:disabled{cursor:wait;opacity:.68}.cycle-save-status{color:#70806f;border-bottom:1px solid #e6eae4;margin:0;padding:10px 28px;font-size:.8rem;font-weight:700}.cycle-save-status.success{color:#456e38;background:#f4faeb}.session-details-section{margin-top:14px}.session-details-section>summary,.planned-session-details>summary{cursor:pointer;color:#557a45;font-size:.78rem;font-weight:800}.session-details-section>summary span{color:#8a9589;font-size:.68rem;font-weight:600}.session-details-section>div{grid-template-columns:130px minmax(0,1fr);gap:10px;margin-top:10px;display:grid}.session-details-section label,.planned-session-details label{color:#657365;gap:5px;font-size:.74rem;font-weight:750;display:grid}.session-details-section input,.planned-session-details input{margin:0}.planned-session-details{gap:7px;margin:0 0 8px;display:grid}.planned-session-details[open]{background:#f2f7ee;border-radius:7px;padding:8px}.cycle-boundary-message{color:#746846;background:#faf8ee;border-bottom:1px solid #e6eae4;margin:0;padding:10px 28px;font-size:.8rem;font-weight:700}.cycle-phase-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.cycle-phase-chips span{color:#42653b;background:#e9f1e4;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:800}.cycle-phase-chips span.preparation{color:#80631e;background:#f7edcf}.cycle-phase-chips span.competition{color:#9a4b48;background:#f5dfdd}.cycle-phase-chips span.transition{color:#4b6480;background:#e6edf4}@media (width<=720px){.session-details-section>div{grid-template-columns:1fr}}.dialog-backdrop{z-index:20;background:#15221a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.add-training-dialog{background:#fff;border:1px solid #e1e7dc;border-radius:18px;width:min(100%,720px);max-height:min(760px,100vh - 48px);padding:28px;overflow:auto;box-shadow:0 24px 70px #0e1d1338}.add-training-dialog>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.add-training-dialog h2{font-family:var(--font-display);letter-spacing:-.05em;text-transform:capitalize;margin:0;font-size:1.55rem}.add-training-dialog>header>button{color:#647066;background:0 0;border:0;padding:0;font-size:1.6rem;line-height:1}.dialog-stepper{align-items:center;gap:8px;margin:25px 0;display:flex}.dialog-stepper span{color:#748072;background:#e7e9e4;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.74rem;font-weight:800;display:grid}.dialog-stepper span.active{background:var(--color-accent);color:#18251b}.dialog-stepper i{background:#dce1da;width:38px;height:1px}.dialog-lead{color:#657166;margin:0 0 18px;line-height:1.5}.training-type-list{grid-template-columns:1fr 1fr;gap:9px;display:grid}.training-type-list button{color:#334137;text-align:left;background:#fff;border:1px solid #dce1da;border-radius:11px;gap:5px;min-height:110px;padding:15px;display:grid}.training-type-list button.selected{background:#f3fbdc;border-color:#8caf5f;box-shadow:0 0 0 2px #e1f4bd}.training-type-list span,.training-type-list small{color:#728075}.training-type-list span{letter-spacing:.09em;font-size:.64rem;font-weight:800}.training-type-list strong{font-family:var(--font-display);font-size:.94rem}.training-type-list small{line-height:1.35}.training-type-list .custom-training-type{border-style:dashed}.custom-training-name{margin-top:15px}.add-training-dialog footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.add-training-dialog footer .primary-button{width:auto;margin:0}.exercise-suggestion-list{gap:8px;display:grid}.exercise-suggestion-list button{color:#344138;text-align:left;background:#fff;border:1px solid #dce1da;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;padding:13px;display:flex}.exercise-suggestion-list button.selected{background:#f3fbdc;border-color:#8caf5f}.exercise-suggestion-list strong{font-family:var(--font-display);font-size:.9rem;display:block}.exercise-suggestion-list span{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.exercise-suggestion-list i{color:#637263;background:#edf2e8;border-radius:99px;padding:3px 5px;font-size:.62rem;font-style:normal;font-weight:700}.exercise-suggestion-list small{color:#5b8c43;flex:none;font-size:.68rem;font-weight:800}.progression-suggestion-list{gap:9px;margin-top:16px;display:grid}.progression-suggestion-list label{background:#f8fbf5;border:1px solid #dce5d8;border-radius:10px;grid-template-columns:20px minmax(0,1fr) 100px 42px;align-items:center;gap:9px;padding:12px;display:grid}.progression-suggestion-list span{display:grid}.progression-suggestion-list small{color:#718071}.progression-suggestion-list input[type=number]{margin:0}@media (width<=720px){.progression-suggestion-list label{grid-template-columns:20px minmax(0,1fr) 36px}.progression-suggestion-list input[type=number]{grid-column:2/4}}.custom-type-section{border-top:1px solid #e6eae4;margin-top:20px;padding-top:18px}.custom-type-section>.eyebrow{margin-bottom:9px}.custom-types-loading{color:#748075;margin:0;font-size:.84rem}.custom-type-chips{flex-wrap:wrap;gap:7px;margin-bottom:11px;display:flex}.custom-type-chips button{color:#42613b;background:#fff;border:1px solid #cbd9b9;border-radius:999px;padding:8px 11px;font-size:.8rem;font-weight:800}.custom-type-chips button.selected{background:#eff8d9;border-color:#8caf5f}.add-custom-type{grid-template-columns:1fr auto;gap:8px;display:grid}.add-custom-type input{margin:0}.add-custom-type button{background:var(--color-accent-deep);color:#fff;border:0;border-radius:9px;padding:0 13px;font-size:.8rem;font-weight:800}.add-custom-type button:disabled{opacity:.45}.block-category-tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.block-category-tabs button{color:#637064;background:#fff;border:1px solid #dce1da;border-radius:999px;padding:7px 10px;font-size:.73rem;font-weight:800}.block-category-tabs button.active{color:#31452b;background:#eff8d9;border-color:#8caf5f}.block-template-list{gap:9px;display:grid}.block-template-list article{background:#fff;border:1px solid #dce1da;border-radius:11px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px;display:flex}.block-template-list article.selected{background:#f8fcee;border-color:#8caf5f}.block-template-list .eyebrow{margin-bottom:5px}.block-template-list h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 5px;font-size:.98rem}.block-template-list p:not(.eyebrow){color:#6d786e;margin:0;font-size:.83rem}.block-template-list details{color:#547047;margin-top:10px;font-size:.77rem;font-weight:800}.block-template-list summary{cursor:pointer}.block-template-list>article>button{color:#42633b;background:#f2f8e5;border:1px solid #b9cf9b;border-radius:8px;flex:none;padding:8px 10px;font-size:.73rem;font-weight:800}.block-item-preview{color:#586a59;border-left:2px solid #dbe7cf;margin-top:6px;padding-left:9px;font-size:.76rem}.block-item-preview span,.block-item-preview small{display:block}.block-item-preview small{color:#849183;margin-top:2px;font-size:.7rem;font-weight:500}.selected-blocks{background:#f2f8e7;border-radius:10px;flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px;padding:11px;display:flex}.selected-blocks .eyebrow{width:100%;margin:0 0 1px}.selected-blocks span{color:#385333;background:#dceec5;border-radius:999px;padding:5px 8px;font-size:.74rem;font-weight:800}.single-exercise-section{border-top:1px solid #e6eae4;margin-top:18px;padding-top:16px}.single-exercise-section>summary{cursor:pointer;color:#4d7d3a;font-size:.84rem;font-weight:800}.single-exercise-section .exercise-suggestion-list{margin-top:12px}.planned-block{color:#526751;background:#fff;border:1px solid #d9e5cf;border-radius:7px;margin:7px 0;padding:7px;font-size:.72rem}.planned-block summary{cursor:pointer;color:#3f633a;font-weight:800}.planned-block div{border-left:2px solid #e1ebd7;margin-top:5px;padding-left:7px}.planned-block small{color:#7a8778;margin-top:2px;font-size:.67rem;display:block}.selected-training-content{background:#f8fbf5;border:1px solid #dce6d5;border-radius:12px;grid-template-columns:1fr auto;gap:12px;padding:16px;display:grid}.selected-training-content .eyebrow{margin-bottom:5px}.selected-training-content h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1rem}.add-block-button{color:#41633a;background:#f0f8df;border:1px solid #b9cf9b;border-radius:9px;padding:9px 11px;font-size:.78rem;font-weight:800}.selected-training-content .selected-blocks{grid-column:1/-1;margin:0}.selected-blocks span{align-items:center;gap:5px;display:inline-flex}.selected-blocks span button{color:#55764d;background:0 0;border:0;padding:0;font-size:.9rem;line-height:1}.block-picker-backdrop{z-index:30}.block-picker-dialog{background:#fff;border:1px solid #e1e7dc;border-radius:18px;width:min(100%,760px);max-height:min(760px,100vh - 48px);padding:28px;overflow:auto;box-shadow:0 24px 70px #0e1d1338}.block-picker-dialog>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.block-picker-dialog h2{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:1.55rem}.block-picker-dialog>header>button{color:#647066;background:0 0;border:0;padding:0;font-size:1.6rem;line-height:1}.block-picker-search{grid-template-columns:1fr auto;gap:8px;margin:22px 0 14px;display:grid}.block-picker-search input{margin:0}.block-picker-search button,.add-block-item{background:var(--color-accent-deep);color:#fff;border:0;border-radius:9px;padding:0 13px;font-size:.8rem;font-weight:800}.block-picker-results{gap:9px;display:grid}.block-picker-results article{border:1px solid #dce1da;border-radius:11px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px;display:flex}.block-picker-results .eyebrow{margin-bottom:5px}.block-picker-results h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 5px;font-size:.98rem}.block-picker-results p:not(.eyebrow){color:#6d786e;margin:0;font-size:.83rem}.block-picker-results details{color:#547047;margin-top:10px;font-size:.77rem;font-weight:800}.block-picker-results summary{cursor:pointer}.block-picker-results>article>button{color:#42633b;background:#f2f8e5;border:1px solid #b9cf9b;border-radius:8px;flex:none;padding:8px 10px;font-size:.73rem;font-weight:800}.block-picker-results>article>button:disabled{opacity:.6}.new-block-form{gap:8px;margin-top:22px;display:grid}.new-block-item{grid-template-columns:1fr auto;gap:7px;margin-bottom:7px;display:grid}.new-block-item input{margin:0}.new-block-item button{color:#a65353;background:0 0;border:0;font-size:1rem}.add-block-item{width:fit-content;min-height:36px;padding:0 12px}.block-picker-dialog footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.block-picker-dialog footer .primary-button{width:auto;margin:0}@media (width<=720px){.dialog-backdrop{align-items:end;padding:12px}.add-training-dialog{border-radius:16px;max-height:calc(100vh - 24px);padding:22px}.training-type-list{grid-template-columns:1fr}.exercise-suggestion-list button{display:block}.exercise-suggestion-list small{margin-top:9px;display:block}.add-custom-type{grid-template-columns:1fr}.add-custom-type button{min-height:40px}}.block-exercise-builder{border-top:1px solid #e5eae2;margin-top:12px;padding-top:15px}.block-exercise-builder>.eyebrow{margin-bottom:7px}.block-exercise-builder input{margin:0}.exercise-search-results{background:#f8fbf5;border:1px solid #dce5d8;border-radius:10px;gap:6px;margin-top:8px;padding:8px;display:grid}.exercise-search-results button{color:#466340;text-align:left;background:#fff;border:0;border-radius:7px;padding:8px 9px;font-size:.77rem;font-weight:800}.block-exercise-list{gap:10px;margin-top:16px;display:grid}.block-exercise-list article{background:#fbfdf9;border:1px solid #dce5d8;border-radius:11px;padding:14px}.block-exercise-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.block-exercise-heading strong{color:#2d4530;font-size:.88rem}.block-exercise-heading button{color:#a65353;background:0 0;border:0;padding:0;font-size:.74rem;font-weight:800}.prescription-builder{gap:8px;margin-top:12px;display:grid}.prescription-builder label{color:#647066;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:10px;font-size:.76rem;font-weight:750;display:grid}.prescription-builder label input{margin:0}.prescription-component{grid-template-columns:minmax(0,1fr) 84px 28px;gap:7px;display:grid}.prescription-component input,.prescription-component select{margin:0}.prescription-component button{color:#a65353;background:#f4eaea;border:0;border-radius:7px;font-size:1rem}.add-prescription-component{color:#4d733f;background:#f5faed;border:1px dashed #abc392;border-radius:7px;width:fit-content;padding:7px 9px;font-size:.73rem;font-weight:800}.prescription-preview{color:#41613a;background:#eef6e4;border-radius:8px;margin:12px 0 0;padding:9px 10px;font-size:.78rem;font-weight:800}@media (width<=720px){.block-picker-dialog{padding:21px}.block-picker-search{grid-template-columns:1fr}.block-picker-search button{min-height:40px}.block-picker-results article{display:grid}.block-picker-results>article>button{width:fit-content}.prescription-builder label{grid-template-columns:1fr;gap:5px}.prescription-component{grid-template-columns:minmax(0,1fr) 76px 28px}}.prescription-component{grid-template-columns:78px 14px minmax(0,1fr) 84px 28px;align-items:center}.prescription-component>span{color:#71806e;text-align:center;font-weight:800}@media (width<=720px){.prescription-component{grid-template-columns:64px 12px minmax(0,1fr) 68px 28px;gap:5px}}.prescription-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.prescription-builder .prescription-counts label{grid-template-columns:1fr;align-items:start;gap:5px}.prescription-components{gap:7px;padding-top:4px;display:grid}.prescription-components>p{color:#647066;margin:0;font-size:.76rem;font-weight:750}.prescription-component{grid-template-columns:minmax(0,1fr) 84px 28px}.prescription-component>span{display:none}@media (width<=720px){.prescription-counts{grid-template-columns:1fr 1fr}.prescription-component{grid-template-columns:minmax(0,1fr) 76px 28px}}.prescription-mode{background:#edf2e9;border-radius:9px;gap:3px;margin-top:13px;padding:3px;display:inline-flex}.prescription-mode button{color:#6b786a;background:0 0;border:0;border-radius:7px;padding:7px 9px;font-size:.72rem;font-weight:800}.prescription-mode button.active{color:#385736;background:#fff;box-shadow:0 1px 3px #1f33211f}.variable-sets-editor{gap:7px;margin-top:14px;display:grid}.variable-sets-heading,.variable-set-row{grid-template-columns:48px minmax(0,1fr) minmax(0,1fr) 84px;align-items:center;gap:8px;display:grid}.variable-sets-heading{color:#71806e;padding:0 3px;font-size:.68rem;font-weight:800}.variable-set-row strong{color:#4e7044;background:#eef5e8;border-radius:7px;place-items:center;min-height:36px;font-size:.77rem;display:grid}.variable-set-row input,.variable-set-row select{margin:0}.variable-sets-actions{align-items:center;gap:10px;margin-top:3px;display:flex}.remove-set-button{color:#a65353;background:0 0;border:0;padding:6px 4px;font-size:.72rem;font-weight:800}@media (width<=720px){.prescription-mode{grid-template-columns:1fr 1fr;width:100%;display:grid}.variable-sets-heading,.variable-set-row{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 60px;gap:5px}.variable-sets-heading{font-size:.62rem}.variable-set-row strong{min-height:34px}}.legal-shell{min-height:100dvh;padding:28px 20px calc(40px + env(safe-area-inset-bottom,0px));background:#f5f6f1}.legal-top{justify-content:space-between;align-items:center;gap:16px;max-width:760px;margin:0 auto 28px;display:flex}.legal-back{color:var(--color-link);font-size:.9rem;font-weight:700;text-decoration:none}.legal-document{background:#fff;border:1px solid #e2e6df;border-radius:18px;max-width:760px;margin:0 auto;padding:40px 36px}.legal-document h1{font-family:var(--font-display);letter-spacing:-.055em;margin:8px 0 10px;font-size:clamp(2rem,4vw,2.6rem);line-height:1.1}.legal-updated{color:#7a847b;margin:0 0 28px;font-size:.86rem}.legal-body{color:#2f3b33;font-size:.95rem;line-height:1.6}.legal-body h2{font-family:var(--font-display);letter-spacing:-.03em;margin:28px 0 10px;font-size:1.2rem}.legal-body p,.legal-body ul{margin:0 0 14px}.legal-body ul{padding-left:1.2rem}.legal-body li+li{margin-top:6px}.legal-body a{color:var(--color-link);font-weight:700}.legal-note{color:#5b675c;background:#f4f7ef;border-radius:10px;margin-top:28px;padding:14px 16px;font-size:.84rem}.legal-footer{flex-wrap:wrap;justify-content:center;gap:16px;max-width:760px;margin:24px auto 0;display:flex}.legal-footer a{color:#6f7b71;font-size:.86rem;font-weight:700;text-decoration:none}@media (width<=720px){.legal-shell{padding:16px 16px 32px}.legal-document{border-radius:14px;padding:26px 18px}.legal-document h1{font-size:1.85rem}}
