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