:root{color:#dae2fd;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--background:#0b1326;--surface-lowest:#060e20;--surface-low:#131b2e;--surface:#171f33;--surface-high:#222a3d;--surface-highest:#2d3449;--surface-bright:#31394d;--text:#dae2fd;--text-muted:#e4beb1;--outline:#ab897d;--outline-variant:#5b4137;--primary:#ffb59a;--primary-strong:#ff5c00;--on-primary:#370e00;--secondary:#e6feff;--secondary-strong:#00f4fe;--tertiary:#a0c9ff;--error:#ffb4ab;--inner-stroke:#ffffff0f;--shadow:0 24px 80px #00000057;--control-gap:12px;--card-gap:16px;--layout-gap:24px;background:#0b1326;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(120deg,#00f4fe14 0,#0000 34%),linear-gradient(#0b1326 0,#060e20 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,a,summary{font:inherit;transition:color .16s ease-out,background-color .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out,opacity .16s ease-out,transform .16s ease-out}button,summary{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--secondary-strong);outline-offset:3px}img,svg{max-width:100%}.site-root{min-height:100vh}.site-shell{width:min(1280px,100% - 96px);margin:0 auto}.site-header{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b1326d1;border-bottom:1px solid #ffffff0d;position:fixed;top:0;left:0;right:0}.header-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:32px;min-height:80px;display:grid}.brand{align-items:center;min-width:0;display:inline-flex}.trainingx-logo{align-items:center;min-width:0;line-height:0;display:inline-flex}.trainingx-logo-image{object-fit:contain;filter:drop-shadow(0 0 12px #00f4fe24);flex:none;width:clamp(160px,13.5vw,220px);height:auto;display:block}.trainingx-mark-image{object-fit:contain;filter:drop-shadow(0 0 16px #00f4fe1f);height:auto;display:block}.mark-line{stroke-width:5px}.mark-line-blue{stroke:var(--tertiary)}.mark-line-teal{stroke:var(--secondary-strong)}.mark-line-orange{stroke:var(--primary-strong)}.mark-line-orange-thin{stroke:var(--primary);stroke-width:3px}.mark-dots{stroke:var(--text);stroke-width:5px;opacity:.72}.mark-node{fill:var(--background);stroke-width:5px}.mark-node-blue{stroke:var(--tertiary)}.mark-node-teal{stroke:var(--secondary-strong)}.mark-node-orange{stroke:var(--primary)}.site-nav,.header-actions,.site-footer nav{align-items:center;display:flex}.site-nav{color:var(--text-muted);justify-content:center;gap:28px;font-size:.95rem}.site-nav a{border-bottom:2px solid #0000;padding-bottom:4px}.site-nav a:hover,.site-footer a:hover{color:var(--primary)}.header-actions{justify-content:flex-end;gap:12px}.language-switch{min-height:42px;color:var(--text-muted);background:#131b2eb8;border:1px solid #ab897d73;border-radius:8px;align-items:center;gap:4px;padding:4px;display:inline-flex}.language-switch button{min-width:38px;min-height:32px;color:var(--text-muted);background:0 0;border:0;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}.language-switch button.active{background:var(--primary);color:var(--on-primary)}.login-action,.primary-action,.secondary-action{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 16px;font-weight:700;display:inline-flex}.login-action{color:var(--secondary);background:#131b2e9e;border:1px solid #ab897d8c}.primary-action{background:var(--primary-strong);color:var(--on-primary);border:1px solid #ffb59a47;box-shadow:0 0 24px #ff5c0029}.secondary-action{color:var(--secondary);background:#222a3d8a;border:1px solid #ab897d99}.audience-switch-action{min-width:112px}.login-action:hover,.secondary-action:hover{border-color:#00f4fe7a;box-shadow:inset 0 0 22px #00f4fe14}.primary-action:hover{background:var(--primary)}.login-action:active,.primary-action:active,.secondary-action:active,.mobile-audience-action:active,.mobile-login-action:active{transform:translateY(1px)scale(.99)}.primary-action:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.45;transform:none}.mobile-login-action,.mobile-audience-action,.menu-toggle,.mobile-menu{display:none}main{padding-top:80px}.hero-section{text-align:center;justify-content:center;align-items:center;min-height:520px;padding:clamp(56px,8vw,104px) 0 clamp(48px,7vw,84px);display:flex;position:relative;overflow:hidden}.hero-glow{z-index:-1;pointer-events:none;background:linear-gradient(100deg,#ff5c001f,#0000 30%),linear-gradient(250deg,#00f4fe1c,#0000 42%);position:absolute;inset:0}.hero-brand-mark{z-index:-1;opacity:.105;pointer-events:none;width:clamp(180px,25vw,340px);position:absolute;top:42px;right:max(-18px,4vw);transform:rotate(-4deg)}.hero-copy{justify-items:center;gap:24px;min-width:0;max-width:820px;display:grid}.signal-chip,.mock-label,.plan-badge,.step-number,.proof-item,.console-top,.chart-head,.protocol-card span,.system-row,.plan-card>p,.footer-inner p{letter-spacing:0;text-transform:uppercase;font-family:JetBrains Mono,monospace}.signal-chip{color:var(--text-muted);background:#171f33db;border:1px solid #ab897d61;border-radius:999px;justify-self:start;align-items:center;gap:9px;padding:8px 12px;font-size:.72rem;font-weight:600;display:inline-flex}.signal-chip span{background:var(--secondary-strong);border-radius:999px;width:8px;height:8px;box-shadow:0 0 12px #00f4fecc}h1,h2,h3,p{margin-top:0}h1,.section-intro h2,.locked-card h2,.privacy-card h2{letter-spacing:0;font-family:Sora,Inter,sans-serif}h1{color:var(--text);text-wrap:balance;margin-bottom:0;font-size:clamp(3rem,5.4vw,5.1rem);font-weight:800;line-height:1.04}h1 span{color:var(--primary)}.hero-copy p{max-width:720px;color:var(--text-muted);margin-bottom:0;font-size:1.08rem;line-height:1.62}.hero-actions{justify-content:center;gap:var(--control-gap);flex-wrap:wrap;margin-top:8px;display:flex}.hero-actions .primary-action,.hero-actions .secondary-action{min-height:56px;padding:0 22px}.coach-landing-placeholder{text-align:center;place-items:center;min-height:calc(100vh - 80px);padding:clamp(70px,9vw,132px) 0;display:grid;position:relative;overflow:hidden}.coach-landing-glow{z-index:-2;pointer-events:none;background:linear-gradient(120deg,#00f4fe1f,#0000 38%),linear-gradient(280deg,#ff5c001f,#0000 42%);position:absolute;inset:0}.coach-landing-background-mark{z-index:-1;opacity:.08;pointer-events:none;width:clamp(240px,35vw,520px);position:absolute;bottom:7vh;right:max(-84px,2vw);transform:rotate(-6deg)}.coach-placeholder-card{width:min(720px,100%);box-shadow:var(--shadow);background:linear-gradient(#ffb59a14,#0000 42%),#131b2edb;border:1px solid #ab897d5c;border-radius:18px;justify-items:center;gap:18px;padding:clamp(34px,6vw,64px);display:grid}.coach-placeholder-logo .trainingx-logo-image{width:clamp(220px,28vw,390px)}.coach-placeholder-card h1{max-width:640px;margin:4px 0 0;font-size:clamp(2.25rem,5vw,4.4rem)}.coach-placeholder-card p{max-width:560px;color:var(--text-muted);margin:0;font-size:1.05rem;line-height:1.62}.hero-console{border:1px solid var(--inner-stroke);background:linear-gradient(180deg, #ffb59a12, transparent 28%), var(--surface);box-shadow:var(--shadow);border-radius:16px;gap:16px;padding:20px;display:grid;position:relative;overflow:hidden}.console-top,.chart-head,.protocol-card{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:.72rem;font-weight:600;display:flex}.console-top b,.chart-head b{color:var(--secondary);font-weight:600}.metric-row{gap:var(--control-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric-row div,.chart-card,.protocol-card,.workflow-card,.split-panel,.plan-card,.faq-list details,.privacy-card{border:1px solid var(--inner-stroke);background:#131b2ed1;border-radius:16px;box-shadow:inset 0 1px #ffffff0a}.metric-row div{gap:8px;padding:16px;display:grid}.metric-row span{color:var(--text-muted);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.68rem}.metric-row strong{color:var(--text);font-family:Sora,Inter,sans-serif;font-size:clamp(1.65rem,3vw,2.8rem);line-height:1}.chart-card{gap:18px;padding:18px;display:grid}.chart-grid{background:linear-gradient(#ffffff0b 1px,#0000 1px) 0 0/100% 40px,linear-gradient(90deg,#ffffff0b 1px,#0000 1px) 0 0/56px 100%,#0b1326;border-radius:12px;min-height:210px;position:relative;overflow:hidden}.target-zone{background:linear-gradient(90deg,#ffb59a14,#ff5c0029,#ffb59a0d);position:absolute;inset:58px 0 42px}.chart-grid svg{width:calc(100% - 28px);height:calc(100% - 36px);position:absolute;inset:18px 14px;overflow:visible}.chart-line{fill:none;stroke-width:5px;stroke-linecap:round}.chart-line-primary{stroke:var(--secondary-strong);filter:drop-shadow(0 0 8px #00f4fe70)}.chart-line-secondary{stroke:#ffb59aa3}.protocol-card{padding:16px}.protocol-card div{gap:4px;display:grid}.protocol-card strong{color:var(--text);font-family:Sora,Inter,sans-serif;font-size:1.08rem}.proof-strip{background:#060e20e6;border-top:1px solid #5b413766;border-bottom:1px solid #5b413766;padding:24px 0}.proof-inner{flex-wrap:wrap;justify-content:center;gap:clamp(18px,4vw,64px);display:flex}.proof-item{color:#e4beb1c7;align-items:center;gap:8px;font-size:.72rem;font-weight:600;display:inline-flex}.proof-item svg{color:var(--secondary-strong)}.content-band,.preview-section,.story-section,.privacy-faq-section{padding:clamp(64px,9vw,112px) 0}.section-intro{gap:12px;max-width:780px;display:grid}.section-intro>p{color:var(--primary);text-transform:uppercase;margin:0;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}.section-intro h2{color:var(--text);margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.18}.section-intro span{color:var(--text-muted);font-size:1.02rem;line-height:1.62}.workflow-grid{display:none}.workflow-card{gap:14px;min-height:286px;padding:24px;display:grid}.workflow-card svg,.split-panel svg,.privacy-card svg{color:var(--secondary-strong)}.step-number{color:var(--primary);font-size:.78rem;font-weight:600}.workflow-card h3,.split-panel h3,.plan-card h3{color:var(--text);margin:0;font-family:Sora,Inter,sans-serif;font-size:1.2rem;font-weight:600}.workflow-card p,.split-panel p,.plan-card li,.story-copy .section-intro span,.privacy-card p,.faq-list p{color:var(--text-muted);line-height:1.58}.split-panels{gap:var(--layout-gap);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:36px;display:grid}.split-panel{gap:20px;padding:30px;display:grid;position:relative;overflow:hidden}.panel-accent{height:3px;position:absolute;top:0;left:0;right:0}.split-panel.teal .panel-accent{background:linear-gradient(90deg, var(--secondary-strong), transparent)}.split-panel.orange .panel-accent{background:linear-gradient(90deg, var(--primary), transparent)}.panel-title{align-items:center;gap:14px;display:flex}.split-panel.orange svg{color:var(--primary)}.system-row{color:var(--text-muted);background:#060e20b8;border:1px solid #5b413759;border-radius:8px;justify-content:space-between;gap:16px;padding:14px;font-size:.72rem;font-weight:600;display:flex}.system-row b{color:var(--secondary);font-weight:600}.preview-shell{background:var(--surface-high);min-height:520px;box-shadow:var(--shadow);border:1px solid #5b41377a;border-radius:16px;position:relative;overflow:hidden}.dashboard-blur{opacity:.46;filter:blur(10px);grid-template-columns:minmax(160px,.32fr) 1fr minmax(180px,.36fr);gap:18px;padding:28px;display:grid;position:absolute;inset:0}.dashboard-sidebar,.dashboard-main,.dashboard-panel{background:var(--surface-lowest);border-radius:14px}.dashboard-main{grid-template-rows:.8fr 1fr .72fr;gap:16px;padding:18px;display:grid}.dashboard-main span{background:linear-gradient(90deg,#00f4fe29,#ffb59a24);border-radius:12px}.locked-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#0b1326db;border:1px solid #ab897d9e;border-radius:16px;justify-items:center;width:min(420px,100% - 40px);padding:30px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.locked-logo-mark{width:72px;height:auto;margin-bottom:6px}.locked-card svg{color:var(--primary)}.locked-card .locked-logo-mark{color:var(--text)}.mock-label{color:var(--error);background:#ffb4ab24;border:1px solid #ffb4ab66;border-radius:6px;justify-content:center;align-items:center;padding:4px 8px;font-size:.68rem;font-weight:600;display:inline-flex}.locked-card h2{color:var(--text);margin:18px 0 0;font-size:clamp(1.6rem,3vw,2rem)}.locked-card p{color:var(--text-muted);line-height:1.6}.pricing-section{background:#131b2ed1;border-top:1px solid #5b41374d;border-bottom:1px solid #5b41374d;padding:clamp(64px,9vw,112px) 0}.plans-grid{gap:var(--layout-gap);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;display:grid}.plan-card{flex-direction:column;gap:16px;min-height:460px;padding:28px;display:flex;position:relative;overflow:hidden}.plan-card:before{content:"";background:linear-gradient(90deg,#ffb59a6b,#0000);height:4px;position:absolute;top:0;left:0;right:0}.plan-card.featured{background:linear-gradient(180deg, #ffb59a14, transparent 34%), var(--surface);border-color:#ffb59a8c}.plan-badge{background:var(--primary);color:var(--on-primary);border-radius:999px;padding:6px 10px;font-size:.62rem;font-weight:600;position:absolute;top:0;right:28px;transform:translateY(-50%)}.plan-card>p{color:var(--primary);margin:8px 0 0;font-size:.72rem;font-weight:600}.plan-card strong{color:var(--text);font-family:Sora,Inter,sans-serif;font-size:clamp(2.8rem,5vw,4rem);line-height:1}.plan-card ul{flex:1;gap:12px;margin:4px 0 10px;padding:0;list-style:none;display:grid}.plan-card li{grid-template-columns:auto 1fr;align-items:center;gap:9px;display:grid}.plan-card li svg{color:var(--primary)}.plan-card a{color:var(--secondary);align-self:start;align-items:center;gap:6px;font-weight:700;display:inline-flex}.story-section{grid-template-columns:minmax(420px,1fr) minmax(360px,.86fr);align-items:center;gap:clamp(32px,5vw,64px);display:grid}.story-visual{border:1px solid var(--inner-stroke);background:var(--surface-high);aspect-ratio:1.34;border-radius:16px;margin:0;position:relative;overflow:hidden}.story-visual img{object-fit:cover;filter:saturate(.78)contrast(1.08);opacity:.82;width:100%;height:100%;display:block}.story-fade{background:linear-gradient(0deg, var(--background), transparent 46%);pointer-events:none;position:absolute;inset:0}.story-copy{gap:24px;display:grid}.story-checks{flex-wrap:wrap;gap:10px;display:flex}.story-checks span{color:var(--secondary);background:#131b2ec7;border:1px solid #5b413785;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:inline-flex}.privacy-faq-section{background:#131b2e85;border-top:1px solid #5b413747}.privacy-faq-grid{gap:var(--layout-gap);grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);display:grid}.faq-list{gap:12px;display:grid}.faq-list .section-intro{margin-bottom:16px}.faq-list details{padding:20px 22px}.faq-list summary{color:var(--text);font-weight:800}.faq-list p{margin:12px 0 0}.privacy-card{align-content:center;gap:16px;padding:30px;display:grid}.privacy-card h2{color:var(--text);margin:0;font-size:1.8rem}.privacy-card p{margin:0}.privacy-card div{gap:10px;display:grid}.privacy-card span{color:var(--text-muted);text-transform:uppercase;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:.74rem;display:inline-flex}.privacy-card span svg{color:var(--secondary-strong)}.site-footer{background:var(--surface-lowest);border-top:1px solid #5b41376b}.footer-inner{grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:40px 0;display:grid}.footer-inner p{color:#e4beb1b3;max-width:560px;margin:10px 0 0;font-size:.72rem}.site-footer nav{color:var(--text-muted);gap:16px}.auth-page{background:linear-gradient(120deg,#00f4fe1a,#0000 34%),linear-gradient(#0b1326 0,#060e20 100%);grid-template-columns:minmax(0,1fr);justify-items:center;min-height:100vh;padding:32px 20px;display:grid;position:relative;overflow:hidden}.auth-background-mark{opacity:.07;pointer-events:none;width:min(440px,80vw);position:absolute;top:7vh;right:-80px;transform:rotate(-6deg)}.auth-card{z-index:1;border:1px solid var(--inner-stroke);width:min(440px,100vw - 40px);min-width:0;max-width:100%;box-shadow:var(--shadow);background:linear-gradient(#ffb59a12,#0000 34%),#131b2ee6;border-radius:16px;place-self:center;gap:18px;margin-inline:auto;padding:clamp(28px,5vw,42px);display:grid;position:relative}.auth-card.compact{max-width:460px}.auth-card.sign-in-panel{box-shadow:none;background:0 0;border:0;border-radius:0}.auth-chip{color:var(--secondary);text-transform:uppercase;background:#060e2094;border:1px solid #ab897d6b;border-radius:999px;justify-self:start;align-items:center;gap:8px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;display:inline-flex}.auth-card h1,.protected-app-main h1,.protected-placeholder h2{color:var(--text);letter-spacing:0;margin:0;font-family:Sora,Inter,sans-serif}.auth-card h1{font-size:clamp(2rem,7vw,3.2rem);line-height:1.08}.auth-card p,.protected-placeholder p{color:var(--text-muted);margin:0;line-height:1.62}.google-signin-block{--google-button-edge-gutter:2px;width:min(calc(200px + var(--google-button-edge-gutter)), 100%);gap:12px;min-width:0;margin-top:4px;display:grid}.google-button{width:100%;min-width:0;max-width:100%;min-height:44px;padding-inline-end:var(--google-button-edge-gutter);overflow:hidden}.google-button>div,.google-button iframe{max-width:100%!important}.google-button.ready{min-height:0}.auth-warning,.auth-error,.auth-notes span,.auth-link{align-items:flex-start;gap:10px;display:flex}.auth-warning{color:var(--error);background:#ffb4ab1a;border:1px solid #ffb4ab5c;border-radius:12px;padding:14px}.auth-warning div{gap:5px;display:grid}.auth-warning strong{color:var(--text)}.auth-warning span,.auth-error{color:var(--error);font-size:.92rem;line-height:1.45}.auth-notes{border-top:1px solid #ffffff0f;gap:10px;padding-top:16px;display:grid}.auth-notes span{color:var(--text-muted);font-size:.92rem;line-height:1.45}.auth-notes svg,.auth-chip svg{color:var(--secondary-strong);flex:none}.auth-link{color:var(--secondary);justify-self:start;align-items:center;font-weight:700}.protected-app-shell{z-index:1;align-self:stretch;gap:40px;width:min(1120px,100%);margin:0 auto;display:grid;position:relative}.protected-app-header{justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.protected-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.role-switcher{background:#060e2094;border:1px solid #ab897d61;border-radius:999px;align-items:center;gap:4px;min-height:44px;padding:4px;display:inline-flex}.role-switcher button{min-height:34px;color:var(--text-muted);background:0 0;border:0;border-radius:999px;padding:0 13px;font-weight:800}.role-switcher button.active{color:var(--secondary);background:#00f4fe24;box-shadow:inset 0 0 0 1px #00f4fe3d}.role-switcher button:disabled{cursor:progress;opacity:.6}.signout-action{width:auto}.signout-error{color:#ffb4a8;text-align:right;max-width:320px;font-size:.78rem;font-weight:750;line-height:1.35}.protected-app-main{border:1px solid var(--inner-stroke);box-shadow:var(--shadow);background:#131b2ed6;border-radius:16px;gap:22px;padding:clamp(28px,5vw,48px);display:grid;position:relative;overflow:hidden}.protected-app-mark{opacity:.055;pointer-events:none;width:240px;position:absolute;bottom:-24px;right:-34px}.protected-app-main h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.08}.protected-empty-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.protected-empty-panel div,.protected-placeholder{border:1px solid var(--inner-stroke);background:#060e209e;border-radius:16px;padding:20px}.protected-empty-panel div{gap:7px;display:grid}.protected-empty-panel p{color:var(--primary);text-transform:uppercase;margin:0;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}.protected-empty-panel strong{color:var(--text);font-family:Sora,Inter,sans-serif;font-size:1.2rem}.protected-empty-panel span{color:var(--text-muted);line-height:1.45}.protected-placeholder{gap:10px;display:grid}.protected-placeholder h2{font-size:clamp(1.4rem,4vw,2rem)}.role-onboarding-main,.athlete-placeholder-main,.coach-pending-main,.app-status-card{overflow:hidden}.role-onboarding-copy{align-content:start;gap:14px;min-width:0;display:grid}.role-onboarding-copy h1,.app-status-card h1{max-width:900px;color:var(--text);letter-spacing:0;margin:0;font-family:Sora,Inter,sans-serif;font-size:clamp(2rem,5vw,4rem);line-height:1.06}.role-onboarding-copy p,.app-status-card p,.role-choice-card p,.athlete-placeholder-grid p,.coach-pending-card p{color:var(--text-muted);margin:0;line-height:1.6}.role-choice-grid,.athlete-placeholder-grid{gap:var(--card-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.role-choice-card,.athlete-placeholder-grid article,.coach-pending-card{border:1px solid var(--inner-stroke);background:linear-gradient(#00f4fe0e,#0000 36%),#060e2094;border-radius:16px;gap:14px;padding:20px;display:grid}.role-choice-card h2,.athlete-placeholder-grid h2,.coach-pending-card strong{color:var(--text);letter-spacing:0;margin:0;font-family:Sora,Inter,sans-serif;font-size:1.18rem}.role-choice-icon,.athlete-placeholder-grid svg,.coach-pending-card svg{width:44px;height:44px;color:var(--secondary-strong);background:#00f4fe1a;border:1px solid #00f4fe3d;border-radius:12px;place-items:center;display:grid}.role-choice-action{width:100%;margin-top:auto}.role-inline-error{color:var(--error);background:#ffb4ab1a;border:1px solid #ffb4ab5c;border-radius:12px;align-items:center;gap:10px;margin:0;padding:12px 14px;display:flex}.app-status-card{align-content:center;justify-items:start;min-height:360px}.app-status-action{width:auto}.athlete-placeholder-grid article p{gap:4px;display:grid}.athlete-placeholder-grid article strong{color:var(--text)}.coach-pending-card{grid-template-columns:auto minmax(0,1fr);align-items:start;max-width:760px}.coach-pending-card small{color:#e4beb1c7;margin-top:10px;font-weight:700;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.app-auth-page{align-items:start;min-height:100vh;padding:28px clamp(16px,3vw,32px) 56px;overflow:visible}.app-auth-page .auth-background-mark{opacity:.045;position:fixed}.app-auth-page .protected-app-shell{gap:24px;width:min(1680px,100%)}.coach-app-main{gap:24px;padding:clamp(18px,2.8vw,32px);overflow:visible}.workspace-hero{grid-template-columns:minmax(0,1fr) minmax(240px,340px);align-items:stretch;gap:24px;display:grid}.workspace-hero-copy{align-content:start;gap:14px;min-width:0;display:grid}.workspace-hero-copy h1{max-width:760px;color:var(--text);letter-spacing:0;margin:0;font-family:Sora,Inter,sans-serif;font-size:clamp(2rem,4.2vw,4rem);line-height:1.04}.workspace-hero-copy p{max-width:780px;color:var(--text-muted);margin:0;font-size:clamp(1rem,1.6vw,1.14rem);line-height:1.62}.workspace-session-panel,.workspace-metric-card,.workspace-panel,.workspace-toast{border:1px solid var(--inner-stroke);background:linear-gradient(#ffb59a0e,#0000 42%),#060e207a;box-shadow:inset 0 1px #ffffff09}.workspace-session-panel{border-radius:16px;align-content:center;justify-items:start;gap:4px;min-width:0;padding:18px;display:grid}.workspace-session-panel span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}.workspace-session-panel strong{color:var(--text);font-family:Sora,Inter,sans-serif}.workspace-session-panel small{overflow-wrap:anywhere;max-width:100%;color:var(--text-muted);line-height:1.48}.workspace-metric-card span,.meta-item span,.athlete-day-preview span,.step-kind{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}.workspace-metric-card strong,.meta-item strong{color:var(--text);font-family:Sora,Inter,sans-serif}.workspace-metric-card p{color:var(--text-muted);margin:0;line-height:1.48}.workspace-chip{width:max-content;color:var(--primary);letter-spacing:.08em;text-transform:uppercase;border:1px solid #ffb59a6b;border-radius:999px;padding:7px 10px;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600;display:inline-flex}.workspace-view-switch{background:#060e2061;border:1px solid #ffffff0e;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:6px;display:grid}.coach-view-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.coach-collaboration-view{gap:18px;min-width:0;display:grid}.workspace-view-tab{min-width:0;color:var(--text-muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:13px 14px;display:grid;position:relative}.workspace-tab-unread{background:var(--workspace-orange,#ff6a1a);color:#fff;border-radius:999px;place-items:center;min-width:21px;height:21px;font-family:JetBrains Mono,monospace;font-size:.62rem;font-style:normal;font-weight:800;line-height:1;display:inline-grid;position:absolute;top:7px;right:7px}.workspace-view-tab svg{color:var(--secondary-strong)}.workspace-view-tab span{gap:3px;min-width:0;display:grid}.workspace-view-tab strong{overflow-wrap:anywhere;color:var(--text);font-family:Sora,Inter,sans-serif;font-size:1rem}.workspace-view-tab small{color:var(--text-muted);line-height:1.35}.workspace-view-tab.active{background:linear-gradient(90deg,#00f4fe1b,#0000 68%),#131b2ebd;border-color:#00f4fe52;box-shadow:inset 0 0 22px #00f4fe0b}.workspace-summary-grid{grid-template-columns:1.1fr 1.1fr 1.4fr 1fr;gap:16px;display:grid}.workspace-metric-card{border-radius:14px;gap:8px;min-width:0;padding:18px;display:grid}.workspace-metric-card strong{overflow-wrap:anywhere;font-size:1.1rem}.athlete-select-card{align-content:start}.athlete-select-heading{color:var(--secondary-strong);align-items:center;gap:8px;display:flex}.athlete-select-card label{display:block}.athlete-select-card select,.plan-context-field select,.plan-context-field input,.builder-field input,.builder-field textarea,.builder-field select,.builder-step-fieldset input,.builder-step-fieldset select{width:100%;min-width:0;color:var(--text);font:inherit;background:#060e209e;border:1px solid #ab897d57;border-radius:10px;outline:0;padding:11px 12px}.athlete-select-card select:focus,.plan-context-field select:focus,.plan-context-field input:focus,.builder-field input:focus,.builder-field textarea:focus,.builder-field select:focus,.builder-step-fieldset input:focus,.builder-step-fieldset select:focus{border-color:#00f4fe9e;box-shadow:0 0 0 3px #00f4fe14}.athlete-creator-panel{gap:16px;display:grid}.athlete-creator-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:end;gap:14px;display:grid}.athlete-form-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.athlete-creator-form .builder-save-message{grid-column:1/-1}.account-link-row{border-top:1px solid #ffffff0e;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding-top:16px;display:grid}.account-link-copy{min-width:0;min-height:42px;color:var(--secondary);grid-column:1/-1;align-items:center;gap:10px;display:flex}.account-link-copy span{gap:3px;min-width:0;display:grid}.account-link-copy strong{color:var(--text);font-family:Sora,Inter,sans-serif}.account-link-copy small{color:var(--text-muted);overflow-wrap:anywhere}.plan-block-controls{border-top:1px solid #ffffff0e;gap:14px;padding-top:16px;display:grid}.plan-block-controls>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.plan-block-controls>header>div{gap:4px;display:grid}.plan-block-controls>header span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600}.plan-block-controls>header strong{color:var(--text);font-family:Sora,Inter,sans-serif}.plan-visibility-control{border-top:1px solid #ffffff0e;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 20px;padding-top:16px;display:grid}.plan-visibility-copy{gap:6px;min-width:0;display:grid}.plan-visibility-copy>strong{color:var(--text);font-family:Sora,Inter,sans-serif;font-size:.95rem}.plan-visibility-copy>small{color:var(--text-muted);line-height:1.45}.plan-visibility-status{width:fit-content;color:var(--primary);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:700;display:inline-flex}.plan-visibility-status.visible{color:var(--secondary)}.plan-visibility-ai-note{align-items:center;gap:7px;display:inline-flex;color:var(--workspace-orange-soft,var(--primary))!important}.plan-visibility-control>.builder-save-message{grid-column:1/-1}.plan-start-form{background:#00f4fe09;border:1px solid #00f4fe29;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));align-items:end;gap:12px;width:100%;min-width:0;padding:12px;display:grid}.plan-start-date-field{min-width:0}.plan-start-date-control{width:100%;min-height:48px;color:var(--text);font:inherit;background:#060e209e;border:1px solid #ab897d57;border-radius:10px;justify-content:space-between;align-items:center;padding:11px 12px;display:flex;position:relative;overflow:hidden}.plan-start-date-control:focus-within{border-color:#00f4fe9e;box-shadow:0 0 0 3px #00f4fe14}.plan-start-date-control>input{z-index:1;cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.plan-start-date-control>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plan-start-date-control>svg{color:var(--secondary);flex:none}.plan-start-form .builder-save-message{grid-column:1/-1}.plan-start-form>.compact-action{grid-column:1/-1;width:100%}.plan-duration-field{border:0;gap:7px;min-width:0;margin:0;padding:0;display:grid}.plan-duration-field legend{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600}.plan-duration-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.plan-duration-options button{border:1px solid var(--border);background:var(--surface-lowest);min-height:44px;color:var(--text-muted);font:inherit;cursor:pointer;border-radius:8px;font-weight:700}.plan-duration-options button:hover,.plan-duration-options button.active{color:var(--text);background:#00f4fe1a;border-color:#00f4fe85}.plan-duration-options button.active{box-shadow:inset 0 -2px 0 var(--secondary)}.plan-context-field>small{color:var(--text-muted);line-height:1.4}.athlete-select-card small{color:var(--secondary);font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}.workspace-toast{color:var(--secondary);border-color:#00f4fe3d;border-radius:14px;align-items:center;gap:10px;padding:14px 16px;display:flex}.coach-workspace-grid{grid-template-columns:minmax(280px,.88fr) minmax(0,1.32fr);grid-template-areas:"library detail""plan plan";align-items:start;gap:16px;min-width:0;display:grid}.coach-workspace-grid-library{grid-template-areas:"library detail"}.workspace-panel{border-radius:16px;min-width:0;padding:18px}.plan-context-panel{grid-area:library;gap:16px;display:grid}.athlete-data-panel{grid-area:detail;gap:16px;display:grid}.athlete-profile-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.athlete-profile-summary-grid article{background:#0712256b;border:1px solid #bccff01f;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:12px;display:grid}.athlete-profile-summary-grid article>svg{color:var(--secondary)}.athlete-profile-summary-grid article>span{gap:4px;min-width:0;display:grid}.athlete-profile-summary-grid small{color:var(--primary);letter-spacing:.06em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.64rem;font-weight:700}.athlete-profile-summary-grid strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.athlete-profile-open-action{width:100%}.athlete-profile-drawer-backdrop{z-index:1200;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#020814bd;justify-content:flex-end;display:flex;position:fixed;inset:0}.athlete-profile-drawer{background:linear-gradient(145deg,#12d8e509,#0000 28%),#071329;border-left:1px solid #12d8e538;grid-template-rows:auto auto minmax(0,1fr);width:min(720px,100vw - 34px);min-width:0;height:100dvh;animation:.24s cubic-bezier(.2,.72,.2,1) both athlete-profile-drawer-enter;display:grid;box-shadow:-28px 0 70px #0000005c}.athlete-profile-drawer-header{padding:max(24px, env(safe-area-inset-top)) 24px 20px;border-bottom:1px solid #bccff021;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.athlete-profile-drawer-header>div{gap:5px;min-width:0;display:grid}.athlete-profile-drawer-header span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.69rem;font-weight:700}.athlete-profile-drawer-header h2{color:var(--text);margin:0;font-size:clamp(1.7rem,3vw,2.45rem)}.athlete-profile-drawer-header p{color:var(--text-muted);margin:0;line-height:1.5}.athlete-profile-drawer-header>button{width:42px;height:42px;color:var(--secondary);background:#12d8e50e;border:1px solid #bccff02e;border-radius:7px;flex:0 0 42px;place-items:center;display:inline-grid}.athlete-profile-drawer-tabs{border-bottom:1px solid #bccff021;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px 16px;display:grid}.athlete-profile-drawer-tabs button{min-height:42px;color:var(--text-muted);font:inherit;background:0 0;border:1px solid #0000;border-radius:7px;font-size:.82rem;font-weight:800}.athlete-profile-drawer-tabs button.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--secondary);background:#12d8e513;border-color:#12d8e547}.athlete-profile-drawer-body{min-width:0;padding:22px 24px max(34px, env(safe-area-inset-bottom));align-content:start;gap:18px;display:grid;overflow:auto}@keyframes athlete-profile-drawer-enter{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.library-panel{grid-area:library;gap:16px;display:grid;position:sticky;top:20px}.workout-detail-panel{grid-area:detail;gap:16px;display:grid}.coach-workspace-grid-library .workout-detail-panel{align-self:start;max-height:calc(100vh - 40px);position:sticky;top:20px;overflow:auto}.workout-preview-panel{background:linear-gradient(180deg, #00f4fe0e, transparent 32%), var(--card);border-color:#00f4fe38}.workout-detail-title{background:linear-gradient(90deg,#00f4fe14,#0000 72%),#060e2075;border:1px solid #00f4fe24;border-radius:14px;gap:7px;padding:14px;display:grid}.workout-detail-title span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700}.workout-detail-title strong{color:var(--text);overflow-wrap:anywhere;font-family:Sora,Inter,sans-serif;font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.18}.plan-panel{grid-area:plan;gap:16px;display:grid;overflow:hidden}.athlete-panel{grid-area:athlete;gap:16px;display:grid}.panel-header{align-items:flex-start;gap:12px;min-width:0;display:flex}.panel-header-single-line{align-items:center}.panel-header-with-action{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel-header-with-action .panel-header{flex:auto}.panel-header-with-action .compact-action{flex:none}.panel-header-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.edit-workout-action span{display:inline}.panel-header-icon{width:34px;height:34px;color:var(--secondary-strong);background:#00f4fe14;border:1px solid #00f4fe3d;border-radius:10px;flex:none;place-items:center;display:inline-grid}.panel-header h2{color:var(--text);margin:0;font-family:Sora,Inter,sans-serif;font-size:1.12rem;line-height:1.2}.plan-athlete-name{color:var(--workspace-orange,#ff6a1a)}.panel-header p{color:var(--text-muted);margin:6px 0 0;font-size:.92rem;line-height:1.5}.plan-context-fields{gap:12px;display:grid}.plan-context-field{gap:7px;min-width:0;display:grid}.plan-context-field>span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600}.plan-context-field small{color:var(--text-muted);line-height:1.4}.library-search{min-width:0;color:var(--secondary);background:#060e2094;border:1px solid #ab897d57;border-radius:12px;align-items:center;gap:10px;padding:0 12px;display:flex}.library-search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;padding:13px 0}.library-search input::placeholder{color:#e4beb19e}.library-command-row{grid-template-columns:minmax(0,1fr);align-items:center;gap:10px;display:grid}.library-command-row span{color:var(--text-muted);letter-spacing:.08em;text-align:right;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600}.workout-builder-form{background:linear-gradient(#ff5c0014,#0000 35%),#060e208f;border:1px solid #ffb59a38;border-radius:14px;gap:12px;padding:14px;display:grid}.workout-builder-form header{gap:6px;display:grid}.workout-builder-form header strong{color:var(--text);font-family:Sora,Inter,sans-serif;font-size:1rem}.workout-builder-form header p{color:var(--text-muted);margin:0;font-size:.84rem;line-height:1.45}.builder-save-message{color:var(--secondary);background:#00f4fe14;border:1px solid #00f4fe33;border-radius:12px;padding:10px 12px;font-size:.86rem;font-weight:700;line-height:1.35}.builder-save-message.error{color:var(--error);background:#93000a33;border-color:#ffb5ab4d}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#020617bd;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirmation-dialog{background:linear-gradient(180deg, #ff5c0014, transparent 38%), var(--card);border:1px solid #ffb4ab42;border-radius:18px;gap:16px;width:min(520px,100%);padding:22px;display:grid;box-shadow:0 24px 70px #00000075}.confirmation-dialog-icon{width:48px;height:48px;color:var(--error);background:#ffb4ab14;border:1px solid #ffb4ab47;border-radius:14px;place-items:center;display:inline-grid}.confirmation-dialog-copy{gap:8px;display:grid}.confirmation-dialog-copy span{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:700}.confirmation-dialog-copy h2{color:var(--text);margin:0;font-family:Sora,Inter,sans-serif;font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.16}.confirmation-dialog-copy p{color:var(--text-muted);margin:0;line-height:1.55}.confirmation-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.assignment-backdrop{animation:.22s both assignment-backdrop-enter}.assignment-dialog{background:linear-gradient(145deg,#12d8e50f,#0000 34%),#0a1529;border:1px solid #12d8e547;border-radius:12px;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100%);max-height:min(86dvh,820px);animation:.32s cubic-bezier(.2,.72,.2,1) both assignment-dialog-enter;display:grid;overflow:hidden;box-shadow:0 30px 90px #00000085}.assignment-dialog-header{border-bottom:1px solid #7499c133;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px 18px;display:flex}.assignment-dialog-header>div{gap:7px;min-width:0;display:grid}.assignment-dialog-header span,.assignment-section-label,.assignment-weekday-section>span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700}.assignment-dialog-header h2{color:var(--text);margin:0;font-family:Sora,Inter,sans-serif;font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.15}.assignment-dialog-header p{color:var(--text-muted);margin:0;line-height:1.45}.assignment-dialog-close{width:40px;height:40px;color:var(--text);background:#060e20b8;border:1px solid #7499c147;border-radius:7px;flex:none;place-items:center;display:inline-grid}.assignment-dialog-body{align-content:start;gap:14px;padding:18px 22px;display:grid;overflow-y:auto}.day-workout-editor-dialog{width:min(980px,100%);max-height:min(92dvh,980px)}.day-detail-dialog{width:min(760px,100%);max-height:min(86dvh,760px)}.day-detail-dialog-body{gap:16px}.day-detail-dialog-body .selected-day-add-option{justify-self:start}.day-relationship-editor{background:#ff6a1a0b;border:1px solid #ff6a1a3d;border-radius:7px;gap:12px;padding:14px;display:grid}.day-relationship-editor>div:first-child{gap:6px;display:grid}.day-relationship-editor p{color:var(--text-muted);margin:0;font-size:.86rem;line-height:1.45}.day-workout-editor-body{gap:18px}.day-workout-source-card{border-left:2px solid var(--secondary);background:#12d8e50e;gap:8px;padding:12px 14px;display:grid}.day-workout-source-card p{color:var(--text-muted);margin:0;font-size:.84rem;line-height:1.45}.day-workout-editor-body>.workout-builder-form{border-color:#ffb59a4d}.assignment-filter-row{align-items:center;min-width:0}.assignment-workout-list{gap:8px;max-height:260px;padding-right:4px;display:grid;overflow-y:auto}.assignment-workout-option{width:100%;min-width:0;color:var(--text);text-align:left;background:#060e209e;border:1px solid #7499c133;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.assignment-workout-option:hover,.assignment-workout-option.selected{background:#12d8e514;border-color:#12d8e58c}.assignment-workout-option>span:nth-child(2){gap:4px;min-width:0;display:grid}.assignment-workout-option strong,.assignment-workout-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assignment-workout-option strong{color:var(--text);font-family:Sora,Inter,sans-serif}.assignment-workout-option small{color:var(--text-muted)}.assignment-workout-option>svg{opacity:0;color:var(--secondary)}.assignment-workout-option.selected>svg{opacity:1}.assignment-workout-icon{width:36px;height:36px;color:var(--secondary);background:#12d8e514;border:1px solid #12d8e53d;border-radius:7px;place-items:center;display:inline-grid}.assignment-scope-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.assignment-scope-switch>button{min-width:0;color:var(--text-muted);text-align:left;background:#060e209e;border:1px solid #7499c13d;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.assignment-scope-switch>button.active{color:var(--primary);box-shadow:inset 3px 0 0 var(--workspace-orange,#ff6a1a);background:#ff6a1a17;border-color:#ff6a1a9e}.assignment-scope-switch span{gap:3px;min-width:0;display:grid}.assignment-scope-switch strong{color:var(--text);font-size:.9rem}.assignment-scope-switch small{color:var(--text-muted);line-height:1.3}.assignment-weekday-section{gap:9px;display:grid}.assignment-weekday-picker{flex-wrap:wrap;gap:7px;display:flex}.assignment-summary{border-left:2px solid var(--secondary);color:var(--secondary);background:#12d8e50e;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:11px 12px;display:grid}.assignment-summary p{color:var(--text-muted);margin:0;line-height:1.4}.assignment-empty-state .compact-action{justify-self:start;margin-top:4px}.assignment-dialog-actions{border-top:1px solid #7499c133;justify-content:flex-end;gap:10px;padding:16px 22px 20px;display:flex}@keyframes assignment-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes assignment-dialog-enter{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translate(0,0)scale(1)}}.danger-confirm-action{background:var(--error);color:var(--on-error)}.builder-field{gap:6px;display:grid}.builder-field>span,.builder-step-fieldset legend{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600}.builder-field textarea{resize:vertical}.builder-two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.builder-step-stack{gap:10px;display:grid}.builder-step-fieldset{background:#131b2e75;border:1px solid #ffffff0e;border-radius:12px;gap:8px;min-width:0;padding:12px;display:grid}.builder-step-fieldset legend{padding:0 4px}.builder-section-repeat{background:#12d8e509;border-left:2px solid #12d8e585;grid-template-columns:minmax(120px,180px) minmax(0,1fr);align-items:end;gap:12px;min-width:0;padding:10px 12px;display:grid}.builder-section-repeat p{color:var(--text-muted);align-self:center;margin:0;font-size:.82rem;line-height:1.45}.builder-section-stack{gap:10px;display:grid}.builder-block-card{background:#060e205c;border:1px solid #00f4fe1f;border-radius:12px;gap:10px;min-width:0;padding:12px;display:grid}.builder-block-header{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.builder-block-header>span{color:var(--secondary);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:700}.builder-remove-block{width:32px;height:32px;color:var(--primary);cursor:pointer;background:#ffb59a0f;border:1px solid #ffb59a47;border-radius:10px;place-items:center;display:inline-grid}.builder-remove-block:hover{background:#ffb59a1f;border-color:#ffb59a75}.builder-add-block{justify-self:start}.filter-chip-row,.tag-row,.export-row{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{color:var(--text-muted);background:#131b2e94;border:1px solid #ab897d57;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.filter-chip.active{color:var(--secondary);background:#00f4fe1a;border-color:#00f4fe73}.workout-list{gap:10px;display:grid}.workout-row{width:100%;min-width:0;color:var(--text);text-align:left;background:#131b2e85;border:1px solid #ffffff0e;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.workout-row.active{background:linear-gradient(90deg,#ff5c0024,#0000 54%),#222a3dbd;border-color:#ffb59a80}.workout-row-icon{width:36px;height:36px;color:var(--secondary-strong);background:#00f4fe14;border-radius:10px;place-items:center;display:grid}.workout-row-main{gap:4px;min-width:0;display:grid}.workout-row strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-family:Sora,Inter,sans-serif;font-size:.92rem;overflow:hidden}.workout-row small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;line-height:1.35;overflow:hidden}.intensity-dot{background:var(--secondary-strong);border-radius:999px;width:10px;height:10px}.intensity-dot.moderate{background:var(--primary)}.intensity-dot.high{background:var(--primary-strong)}.detail-meta-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.meta-item{background:#060e206b;border:1px solid #ffffff0e;border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:6px 8px;min-width:0;padding:12px;display:grid}.meta-item svg{color:var(--secondary-strong)}.meta-item strong{overflow-wrap:anywhere;grid-column:1/-1;font-size:1rem}.export-row{align-items:center}.export-row span,.export-row strong,.tag-row span{color:var(--text-muted);background:#060e2075;border:1px solid #ab897d52;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.export-row strong{color:var(--secondary);letter-spacing:.06em;font-family:JetBrains Mono,monospace}.step-list{gap:10px;display:grid}.step-list h2{color:var(--text);margin:0;font-family:Sora,Inter,sans-serif;font-size:1rem}.step-repeat-group,.step-repeat-group-steps{gap:10px;min-width:0;display:grid}.step-repeat-group.repeated{border-left:2px solid #12d8e5a3;padding-left:12px}.step-repeat-group-header{color:var(--secondary);align-items:flex-start;gap:10px;display:flex}.step-repeat-group-header svg{flex:none;margin-top:2px}.step-repeat-group-header strong{color:var(--text);font-family:Sora,Inter,sans-serif;display:block}.step-repeat-group-header p{color:var(--text-muted);margin:3px 0 0;font-size:.82rem;line-height:1.45}.step-row{background:#060e2070;border:1px solid #ffffff0e;border-radius:14px;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:12px;display:grid}.step-kind{color:var(--secondary)}.step-content{gap:6px;min-width:0;display:grid}.step-title-row{color:var(--text);justify-content:space-between;gap:12px;display:flex}.step-title-row strong{font-family:Sora,Inter,sans-serif}.step-title-row span{color:var(--primary);flex:none;font-weight:800}.step-content p,.step-content small,.comment-grid p,.athlete-day-preview p,.workspace-empty-state p{color:var(--text-muted);margin:0;line-height:1.45}.step-content small{font-size:.82rem;display:block}.step-content .calculated-target,.step-content .step-repeat-count{color:var(--secondary);font-weight:800}.comment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.comment-grid.single-comment{grid-template-columns:1fr}.comment-grid div,.workspace-empty-state,.athlete-day-preview{background:#060e206b;border:1px solid #ffffff0e;border-radius:14px;padding:14px}.comment-grid span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;display:block}.planner-toolbar{border-block:1px solid #7499c12e;justify-content:space-between;align-items:center;gap:16px;padding-block:12px;display:flex}.planner-toolbar>div:first-child{gap:4px;min-width:0;display:grid}.planner-toolbar>div:first-child span,.planner-week-navigation span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700}.planner-toolbar>div:first-child strong{overflow-wrap:anywhere;color:var(--text);font-family:Sora,Inter,sans-serif}.planner-week-navigation{align-items:center;gap:9px;display:flex}.planner-week-navigation button{width:38px;height:38px;color:var(--secondary);background:#060e209e;border:1px solid #7499c14d;border-radius:7px;place-items:center;display:inline-grid}.planner-week-navigation button:disabled{cursor:default;opacity:.32}.selected-day-action{background:#00f4fe0e;border:1px solid #00f4fe2e;border-radius:14px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;padding:14px;display:grid}.selected-day-action>div{min-width:0}.selected-day-action span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;display:block}.selected-day-action strong{color:var(--text);margin-top:5px;font-family:Sora,Inter,sans-serif;display:block}.selected-day-buttons{flex-wrap:wrap;justify-content:flex-start;gap:10px;display:flex}.selected-day-buttons .compact-action{flex:190px;max-width:280px}.repeat-day-picker{gap:8px;min-width:0;display:grid}.repeat-day-picker div{flex-wrap:wrap;gap:6px;display:flex}.weekday-toggle{width:34px;height:34px;color:var(--text-muted);background:#060e2094;border:1px solid #ab897d57;border-radius:999px;place-items:center;font-weight:800;display:inline-grid}.weekday-toggle.active{color:var(--secondary);background:#00f4fe1f;border-color:#00f4fe85;box-shadow:inset 0 0 16px #00f4fe14}.selected-day-detail{background:#060e2061;border:1px solid #ffb59a2e;border-radius:14px;gap:12px;padding:14px;display:grid}.selected-day-detail header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.selected-day-detail header span,.selected-day-workout-card span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}.selected-day-detail header strong{color:var(--text);font-family:Sora,Inter,sans-serif}.selected-day-hint{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.45}.selected-day-workout-list{gap:10px;display:grid}.selected-day-workout-list>p{color:var(--text-muted);margin:0}.selected-day-workout-card{background:#131b2e80;border:1px solid #ffffff0e;border-radius:12px;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;padding:12px;display:grid}.selected-day-workout-card div:first-child{gap:5px;min-width:0;display:grid}.selected-day-workout-card strong{color:var(--text);overflow-wrap:anywhere;font-family:Sora,Inter,sans-serif}.selected-day-workout-card small{color:var(--text-muted);line-height:1.35}.selected-day-workout-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.selected-day-workout-actions .compact-action{flex:160px;max-width:220px}.danger-action{color:var(--error);border-color:#ffb4ab66}.selected-day-add-option{justify-self:start}.compact-action{width:auto;min-height:40px;padding:0 13px;font-size:.82rem}.planner-board{scrollbar-color:#ffb59a70 #131b2e6b;scrollbar-width:thin;scroll-snap-type:x mandatory;grid-template-columns:repeat(4,minmax(210px,1fr));gap:12px;min-width:0;max-width:100%;padding-bottom:4px;display:grid;overflow-x:auto}.planner-scroll-shell{min-width:0;position:relative}.planner-swipe-cue{display:none}.planner-board::-webkit-scrollbar{height:8px}.planner-board::-webkit-scrollbar-track{background:#131b2e6b;border-radius:999px}.planner-board::-webkit-scrollbar-thumb{background:#ffb59a70;border-radius:999px}.week-column{scroll-snap-align:start;background:#060e205c;border:1px solid #ffffff0e;border-radius:14px;align-content:start;gap:10px;min-width:0;padding:12px;transition:border-color .22s,background-color .22s;display:grid}.week-column.active-week{border-color:#ffb59a38}.week-column.recovery-week{background:linear-gradient(#00f4fe0e,#0000 45%),#060e205c;border-color:#00f4fe33}.week-column header{gap:4px;display:grid}.week-column header span,.week-column header small{color:var(--text-muted);font-size:.74rem}.week-column header strong{color:var(--text);font-family:Sora,Inter,sans-serif;font-size:.98rem}.week-days{gap:8px;display:grid}.day-tile{width:100%;min-height:112px;color:var(--text);text-align:left;background:#131b2e8a;border:1px solid #ffffff0e;border-radius:12px;display:grid;position:relative;overflow:hidden}.day-tile.selected{border-color:#ffb59a9e;box-shadow:inset 0 0 24px #ff5c001a}.day-tile-select{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;align-content:start;gap:7px;padding:10px;display:grid}.day-manage-hint{color:var(--secondary);letter-spacing:.06em;text-transform:uppercase;justify-self:start;align-items:center;gap:6px;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:700;display:inline-flex}.day-tile-add{width:31px;height:31px;color:var(--primary);background:#ff5c001f;border:1px solid #ffb59a75;border-radius:7px;place-items:center;display:inline-grid;position:absolute;top:7px;right:7px;box-shadow:0 8px 20px #0000002e}.day-tile-add:hover{background:var(--primary-container);color:var(--on-primary-container);border-color:#ffb59ab8}.day-head{justify-content:space-between;align-items:center;gap:8px;padding-right:38px;display:flex}.day-head strong{color:var(--secondary);font-family:Sora,Inter,sans-serif}.day-head small{color:var(--text-muted)}.day-theme{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.day-workout-list{min-height:32px;color:var(--text-muted);overflow-wrap:anywhere;gap:5px;font-size:.78rem;line-height:1.3;display:grid}.day-workout-line{display:block}.day-relationship-badge{color:var(--workspace-orange-soft,#ffad84);letter-spacing:.06em;text-transform:uppercase;background:#ff6a1a14;border:1px solid #ff6a1a6b;border-radius:999px;justify-self:start;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:700;line-height:1}.day-relationship-badge.all{color:var(--secondary);background:#12d8e512;border-color:#12d8e557}.athlete-profile-list,.athlete-day-preview{gap:10px;display:grid}.athlete-day-preview strong{color:var(--text);font-family:Sora,Inter,sans-serif;font-size:1.2rem}.athlete-day-workout{border-top:1px solid #ffffff0f;gap:4px;padding-top:10px;display:grid}.athlete-day-workout p{color:var(--text);font-weight:800}.workspace-empty-state{gap:8px;display:grid}.workspace-empty-state strong{color:var(--text);font-family:Sora,Inter,sans-serif}@media (width<=1080px){.hero-section,.story-section,.privacy-faq-grid,.footer-inner{grid-template-columns:1fr}.hero-section{min-height:auto}.workflow-grid,.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-visual{max-width:720px}.workspace-hero,.workspace-summary-grid{grid-template-columns:1fr}.coach-workspace-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"library detail""plan plan"}.coach-workspace-grid-library{grid-template-areas:"library detail"}.library-panel{position:relative;top:auto}.coach-workspace-grid-library .workout-detail-panel{max-height:calc(100vh - 40px);position:sticky;top:20px;overflow:auto}.planner-board{scrollbar-width:thin;grid-template-columns:repeat(4,minmax(230px,1fr));padding-bottom:4px;overflow-x:auto}}@media (width<=920px){.site-shell{width:min(100% - 40px,1280px)}.header-inner{grid-template-columns:minmax(0,1fr) auto auto;gap:10px}.site-nav,.header-actions{display:none}.mobile-audience-action{min-width:0;max-width:92px;min-height:40px;color:var(--secondary);white-space:nowrap;background:#131b2eb8;border:1px solid #ab897d73;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 12px;font-size:.74rem;font-weight:800;display:inline-flex;overflow:hidden}.mobile-audience-action span{text-overflow:ellipsis;overflow:hidden}.mobile-login-action{background:var(--primary);min-width:0;max-width:116px;min-height:40px;color:var(--on-primary);white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.76rem;font-weight:800;display:inline-flex;box-shadow:0 0 18px #ffb59a3d}.mobile-login-action span{text-overflow:ellipsis;overflow:hidden}.coach-workspace-grid{grid-template-columns:1fr;grid-template-areas:"library""detail""plan"}.coach-workspace-grid-library{grid-template-areas:"library""detail"}.coach-workspace-grid-library .workout-detail-panel{max-height:none;position:relative;top:auto;overflow:visible}.athlete-creator-form,.account-link-row,.plan-start-form{grid-template-columns:1fr}.plan-start-date-field{min-width:0}.athlete-form-actions{justify-content:stretch}.athlete-form-actions .compact-action,.account-link-row .compact-action,.plan-start-form .compact-action{width:100%}.plan-block-controls>header{flex-direction:column;align-items:stretch}.plan-visibility-control{grid-template-columns:1fr}.plan-visibility-control>button{width:100%}.plan-context-panel>.panel-header-with-action{grid-template-columns:1fr}.plan-context-panel>.panel-header-with-action .compact-action{width:100%}.selected-day-action{grid-template-columns:1fr}.selected-day-buttons{justify-content:stretch}.selected-day-buttons .compact-action{flex:210px;max-width:none}.selected-day-workout-card{grid-template-columns:1fr}.selected-day-workout-actions{justify-content:stretch}.selected-day-workout-actions .compact-action{flex:160px;max-width:none}}@media (width<=720px){.site-shell{width:calc(100% - 40px)}.header-inner{min-height:76px}main{padding-top:76px}.brand{max-width:178px}.trainingx-logo-image{width:158px}.hero-brand-mark{opacity:.075;width:240px;top:18px;right:-82px}.hero-section{text-align:left;justify-content:flex-start;min-height:auto;padding:34px 0 48px}.hero-copy{justify-items:start;gap:18px}h1{max-width:100%;font-size:2.25rem;line-height:1.1}.hero-copy p,.section-intro span{max-width:100%;font-size:.96rem}.hero-actions{grid-template-columns:1fr;justify-content:stretch;width:100%;display:grid}.primary-action,.secondary-action,.login-action{white-space:normal;width:100%;min-width:0}.hero-console{padding:16px}.metric-row{grid-template-columns:1fr}.chart-grid{min-height:180px}.proof-inner{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.proof-inner::-webkit-scrollbar{display:none}.plans-grid::-webkit-scrollbar{display:none}.proof-item{flex:none}.proof-strip,.pricing-section{contain:paint;overflow-x:hidden}.pricing-section .site-shell{overflow-x:clip}.content-band,.preview-section,.story-section,.privacy-faq-section,.pricing-section{padding:58px 0}.section-intro h2{font-size:clamp(1.7rem,8vw,2.24rem)}.workflow-grid{gap:var(--card-gap);border-left:1px solid #5b413773;grid-template-columns:1fr;margin-top:28px;padding-left:18px;display:grid}.workflow-card{min-height:auto;padding:20px;position:relative}.workflow-card:before{border:2px solid var(--primary);background:var(--surface-highest);content:"";border-radius:999px;width:16px;height:16px;position:absolute;top:26px;left:-27px}.split-panels{display:none}.system-row{display:grid}.preview-shell{min-height:auto;box-shadow:none;background:0 0;border:0;border-radius:0;justify-items:center;display:grid;overflow:visible}.dashboard-blur{display:none}.locked-card{width:min(100%,460px);padding:24px;position:relative;top:auto;left:auto;transform:none}.coach-landing-placeholder{text-align:left;min-height:calc(100vh - 76px);padding:34px 0 58px}.coach-placeholder-card{text-align:left;border-radius:16px;justify-items:start;padding:28px 22px}.coach-placeholder-logo .trainingx-logo-image{width:208px}.coach-placeholder-card h1{font-size:2.15rem;line-height:1.12}.coach-placeholder-card p{font-size:.96rem}.plans-grid{gap:var(--card-gap);scroll-snap-type:x mandatory;scrollbar-width:none;max-width:100%;margin-right:0;padding-right:0;display:flex;overflow-x:auto}.plan-card{scroll-snap-align:start;flex:0 0 min(86vw,360px);min-height:500px}.story-section{gap:28px}.story-visual{aspect-ratio:1/1.1}.story-checks{display:grid}.privacy-faq-grid{gap:18px}.footer-inner{text-align:center;justify-items:center}.site-footer nav{flex-wrap:wrap;justify-content:center}.auth-page{justify-items:center;padding:24px 20px}.auth-card{margin-top:32px;place-self:start center;width:min(440px,100vw - 40px);margin-inline:auto}.protected-app-shell{gap:24px}.protected-app-header{flex-wrap:wrap;align-items:flex-start}.protected-app-header .brand{max-width:178px}.protected-header-actions{justify-content:flex-end;gap:8px}.role-switcher{min-height:40px}.role-switcher button{min-height:31px;padding:0 10px;font-size:.76rem}.signout-action{white-space:nowrap;width:auto;min-height:40px;padding:0 12px;font-size:.78rem}.protected-empty-panel,.role-choice-grid,.athlete-placeholder-grid{grid-template-columns:1fr}.role-choice-card,.athlete-placeholder-grid article,.coach-pending-card{border-radius:14px;padding:16px}.coach-pending-card{grid-template-columns:1fr}.role-onboarding-copy h1,.app-status-card h1{font-size:clamp(1.85rem,10vw,2.75rem)}.app-auth-page{padding:18px 12px 42px}.coach-app-main{border-radius:14px;gap:18px;padding:14px}.workspace-hero{gap:16px}.workspace-hero-copy h1{font-size:clamp(1.9rem,10vw,2.7rem)}.workspace-session-panel,.workspace-metric-card,.workspace-panel{border-radius:14px;padding:14px}.panel-header-with-action{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:10px;display:grid}.panel-header-with-action .panel-header{min-width:0}.panel-header-actions{gap:6px}.panel-header-actions .compact-action{justify-content:center;width:42px;min-width:42px;height:42px;min-height:42px;padding:0}.panel-header-actions .compact-action span{display:none}.confirmation-dialog{padding:18px}.confirmation-dialog-actions{grid-template-columns:1fr;display:grid}.modal-backdrop.assignment-backdrop{align-items:end;padding:0}.assignment-dialog{border-bottom:0;border-left:0;border-right:0;border-radius:14px 14px 0 0;width:100%;max-height:92dvh;animation-name:assignment-sheet-enter}.assignment-dialog-header{padding:18px 18px 15px}.assignment-dialog-body{gap:12px;padding:15px 18px}.day-detail-dialog-body .selected-day-add-option{width:100%}.assignment-workout-list{height:min(220px,26dvh);min-height:168px;max-height:230px}.assignment-workout-option{grid-template-columns:auto minmax(0,1fr) auto}.assignment-scope-switch{grid-template-columns:1fr}.assignment-dialog-actions{padding:14px 18px max(16px, env(safe-area-inset-bottom));grid-template-columns:.72fr 1.28fr;display:grid}.assignment-dialog-actions .compact-action{width:100%}.workspace-view-switch{grid-template-columns:1fr}.workspace-view-tab{padding:12px}.detail-meta-grid,.comment-grid,.builder-two-col{grid-template-columns:1fr}.workout-builder-form{gap:14px;padding:12px}.builder-step-stack{gap:14px}.builder-step-fieldset{background:0 0;border:0;gap:10px;padding:0}.builder-step-fieldset legend{padding:0}.builder-section-repeat{grid-template-columns:1fr;align-items:stretch}.builder-section-stack{gap:10px}.builder-block-card{background:#060e209e;border-radius:14px;gap:12px;padding:14px}.builder-field{min-width:0}.builder-field input,.builder-field textarea,.builder-field select,.builder-step-fieldset input,.builder-step-fieldset select{min-height:50px;padding:12px 13px;font-size:1rem}.builder-add-block{justify-self:stretch}.library-command-row{grid-template-columns:1fr}.library-command-row span{text-align:left}.step-row{grid-template-columns:1fr}.step-title-row{display:grid}.planner-board{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;scroll-padding-inline:0;display:flex;overflow-x:auto}.planner-swipe-cue{z-index:2;pointer-events:none;gap:6px;display:flex;position:absolute;top:10px;right:10px}.planner-swipe-cue span{width:28px;height:28px;color:var(--secondary);background:#060e20d1;border:1px solid #00f4fe3d;border-radius:999px;place-items:center;display:grid;box-shadow:0 10px 26px #00000038}.planner-board::-webkit-scrollbar{display:none}.week-column{scroll-snap-align:start;flex:0 0 100%;max-width:100%}.day-tile{min-height:106px}.planner-toolbar{align-items:flex-start}}.app-auth-page .athlete-races-section{border-top:1px solid var(--workspace-line);gap:14px;padding:20px 0 4px;display:grid}.app-auth-page .athlete-races-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.app-auth-page .athlete-races-header>div{gap:5px;min-width:0;display:grid}.app-auth-page .athlete-races-header>div>span{color:var(--workspace-orange-soft);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700}.app-auth-page .athlete-races-header>div>strong{max-width:680px;color:var(--workspace-muted);font-size:.88rem;font-weight:500;line-height:1.55}.app-auth-page .athlete-races-empty{border:1px dashed var(--workspace-line-strong);background:#05102361;border-radius:8px;gap:5px;padding:15px;display:grid}.app-auth-page .athlete-races-empty strong{color:var(--workspace-text)}.app-auth-page .athlete-races-empty p{color:var(--workspace-muted);margin:0;font-size:.82rem;line-height:1.5}.app-auth-page .athlete-race-list{gap:8px;display:grid}.app-auth-page .athlete-race-item{border:1px solid var(--workspace-line);background:#0510238c;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:11px 12px;display:grid}.app-auth-page .athlete-race-copy{gap:3px;min-width:0;display:grid}.app-auth-page .athlete-race-copy strong{color:var(--workspace-text);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.app-auth-page .athlete-race-copy time{color:var(--workspace-muted);font-family:JetBrains Mono,monospace;font-size:.72rem}.app-auth-page .race-priority-badge{border:1px solid;border-radius:999px;flex:0 0 31px;place-items:center;width:31px;height:31px;font-family:JetBrains Mono,monospace;font-size:.74rem;font-weight:900;line-height:1;display:inline-grid}.app-auth-page .priority-a{color:#f4cf73;background:linear-gradient(145deg,#f4cf7338,#784c0821);border-color:#d9a441}.app-auth-page .priority-b{color:#dce5eb;background:linear-gradient(145deg,#dce5eb33,#50607021);border-color:#b0becb}.app-auth-page .priority-c{color:#e4a56e;background:linear-gradient(145deg,#e4a56e33,#66340c24);border-color:#b87333}.app-auth-page .athlete-race-actions{align-items:center;gap:6px;display:flex}.app-auth-page .athlete-race-actions button{border:1px solid var(--workspace-line-strong);width:40px;height:40px;color:var(--workspace-text);background:0 0;border-radius:7px;place-items:center;display:inline-grid}.app-auth-page .athlete-race-actions button:hover{border-color:var(--workspace-cyan);background:var(--workspace-surface-strong)}.app-auth-page .athlete-race-actions button.danger-action{color:#ff9270}.app-auth-page .athlete-race-actions button:disabled{cursor:wait;opacity:.5}.app-auth-page .race-editor{background:#061124b3;border:1px solid #12d8e53d;border-radius:8px;gap:14px;padding:16px;display:grid}.app-auth-page .race-editor .primary-action{justify-self:start}.app-auth-page .race-priority-field{border:0;gap:9px;min-width:0;margin:0;padding:0;display:grid}.app-auth-page .race-priority-field legend,.app-auth-page .race-form-grid .builder-field>span{color:var(--workspace-orange-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700}.app-auth-page .race-priority-field>small{color:var(--workspace-muted);font-size:.75rem;line-height:1.45}.app-auth-page .race-priority-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.app-auth-page .race-priority-options label{border:1px solid var(--workspace-line-strong);min-height:42px;color:var(--workspace-muted);cursor:pointer;background:#05102380;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:.76rem;display:flex}.app-auth-page .race-priority-options label.active{color:inherit;box-shadow:inset 0 0 0 1px}.app-auth-page .race-priority-options label.priority-a.active{color:#f4cf73;background:linear-gradient(145deg,#f4cf7333,#784c081f);border-color:#d9a441}.app-auth-page .race-priority-options label.priority-b.active{color:#dce5eb;background:linear-gradient(145deg,#dce5eb2e,#5060701f);border-color:#b0becb}.app-auth-page .race-priority-options label.priority-c.active{color:#e4a56e;background:linear-gradient(145deg,#e4a56e2e,#66340c1f);border-color:#b87333}.app-auth-page .race-priority-options input{accent-color:currentColor;flex:none;width:16px;height:16px}.app-auth-page .race-form-grid{grid-template-columns:minmax(0,1.5fr) minmax(170px,.8fr);gap:12px;display:grid}.app-auth-page .race-focus-strip{z-index:6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#040d1df5;border:1px solid #d9a44157;border-radius:9px;align-items:center;gap:14px;min-width:0;padding:10px 12px;display:flex;position:sticky;top:10px;box-shadow:0 10px 28px #00000038}.app-auth-page .plan-panel{overflow:visible}.app-auth-page .race-focus-heading{color:var(--workspace-orange-soft);letter-spacing:.07em;text-transform:uppercase;flex:none;align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-size:.69rem;display:inline-flex}.app-auth-page .race-focus-list{align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.app-auth-page .race-focus-chip{border-right:1px solid var(--workspace-line);align-items:center;gap:8px;min-width:0;padding-right:10px;display:flex}.app-auth-page .race-focus-chip>span:last-child{gap:2px;min-width:0;display:grid}.app-auth-page .race-focus-chip strong{max-width:210px;color:var(--workspace-text);text-overflow:ellipsis;white-space:nowrap;font-size:.79rem;overflow:hidden}.app-auth-page .race-focus-chip time,.app-auth-page .race-focus-more{color:var(--workspace-muted);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.67rem}.app-auth-page .race-focus-more-mobile{display:none}.app-auth-page .day-race-markers{gap:4px;display:grid}.app-auth-page .day-race-marker{text-overflow:ellipsis;white-space:nowrap;border:1px solid;border-radius:6px;align-items:center;gap:6px;min-width:0;padding:5px 7px;font-size:.7rem;font-weight:700;line-height:1.25;display:flex;overflow:hidden}.app-auth-page .day-race-marker strong{font-family:JetBrains Mono,monospace;font-weight:900}@media (width<=720px){.app-auth-page .athlete-races-header{flex-direction:column}.app-auth-page .athlete-races-header .compact-action,.app-auth-page .race-editor .primary-action{width:100%}.app-auth-page .race-priority-options,.app-auth-page .race-form-grid{grid-template-columns:1fr}.app-auth-page .athlete-race-item{grid-template-columns:auto minmax(0,1fr) auto;padding-inline:10px}.app-auth-page .athlete-race-actions button{width:44px;height:44px}.app-auth-page .race-focus-strip{flex-direction:column;align-items:flex-start;gap:7px}.app-auth-page .race-focus-list{width:100%}.app-auth-page .race-focus-chip:nth-child(n+2){display:none}.app-auth-page .race-focus-chip{border-right:0;flex:auto;padding-right:0}.app-auth-page .race-focus-chip strong{max-width:min(58vw,260px)}.app-auth-page .race-focus-more-desktop{display:none}.app-auth-page .race-focus-more-mobile{display:inline}}@media (width<=420px){.app-auth-page .athlete-race-item{grid-template-columns:auto minmax(0,1fr)}.app-auth-page .athlete-race-actions{grid-column:1/-1;justify-content:flex-end}}@keyframes assignment-sheet-enter{0%{opacity:0;transform:translateY(44px)}to{opacity:1;transform:translate(0,0)}}@media (width<=420px){.day-workout-modify-action{width:44px;padding:0;flex:0 0 44px!important;max-width:44px!important}.day-workout-modify-action span{display:none}.trainingx-logo-image{width:150px}.app-auth-page{padding-inline:8px}.coach-app-main{padding:10px}.workspace-panel{padding:12px}.workout-builder-form{padding:10px}.builder-block-card{padding:12px}.planner-toolbar{grid-template-columns:1fr;display:grid}.planner-week-navigation{justify-content:space-between;width:100%}.assignment-dialog-header,.assignment-dialog-body{padding-inline:14px}.assignment-dialog-actions{grid-template-columns:1fr;padding-inline:14px}.mobile-audience-action{max-width:82px;min-height:38px;padding:0 10px;font-size:.7rem}.mobile-login-action{max-width:98px;min-height:38px;padding:0 10px;font-size:.72rem}h1{font-size:2rem}}@media (width<=360px){.trainingx-logo-image{width:136px}.mobile-audience-action{max-width:76px;font-size:.66rem}.mobile-login-action{max-width:86px;font-size:.66rem}h1{font-size:1.82rem}}@media (width<=340px){.header-inner{gap:6px}.trainingx-logo-image{width:112px}.mobile-audience-action{max-width:70px;padding:0 8px;font-size:.62rem}.mobile-login-action{max-width:74px;padding:0 8px;font-size:.62rem}}.route-loading{background:#060e20;min-height:100dvh}.app-auth-page{--workspace-bg:#061124;--workspace-surface:#0b1830;--workspace-surface-strong:#101d36;--workspace-surface-deep:#07142a;--workspace-line:#bccff026;--workspace-line-strong:#bccff042;--workspace-text:#eef3ff;--workspace-muted:#aab7cf;--workspace-orange:#ff6a1a;--workspace-orange-soft:#ffad8f;--workspace-cyan:#12d8e5;background:var(--workspace-bg);min-height:100dvh;color:var(--workspace-text);padding:0 0 64px}.app-auth-page .auth-background-mark{opacity:.035;width:min(38vw,560px);animation:9s ease-in-out infinite workspace-mark-float;top:150px;bottom:auto;right:-90px}.app-auth-page .protected-app-shell{gap:0;width:100%;max-width:none}.protected-app-header{z-index:50;border-bottom:1px solid var(--workspace-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#061124f0;width:100%;min-height:76px;position:sticky;top:0}.protected-app-header-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1440px,100% - 80px);min-height:76px;margin-inline:auto;display:flex}.protected-app-brand{width:164px;position:relative;overflow:hidden}.protected-app-brand:after{background:linear-gradient(112deg, transparent 18%, #fffffff2 39%, var(--workspace-cyan) 48%, var(--workspace-orange) 58%, transparent 78%);content:"";filter:drop-shadow(0 0 5px #12d8e573)drop-shadow(0 0 7px #ff6a1a4d);pointer-events:none;background-position:180% 0;background-size:240% 100%;animation:4.6s ease-in-out infinite workspace-brand-signal;position:absolute;inset:0;-webkit-mask:url(/brand/trainingx-logo-transparent.png) 50%/contain no-repeat;mask:url(/brand/trainingx-logo-transparent.png) 50%/contain no-repeat}.protected-app-brand .trainingx-logo-image{width:164px}.app-auth-page .protected-header-actions{gap:12px}.app-auth-page .role-switcher{border-color:var(--workspace-line);background:var(--workspace-surface);border-radius:7px;min-height:42px;padding:4px}.app-auth-page .role-switcher button{min-height:32px;color:var(--workspace-muted);border-radius:5px}.app-auth-page .role-switcher button.active{background:var(--workspace-surface-strong);color:var(--workspace-text);box-shadow:inset 0 -2px 0 var(--workspace-cyan)}.app-auth-page .signout-action{background:var(--workspace-orange);color:#301000;border-color:#ff6a1a85;border-radius:7px;min-height:42px}.app-auth-page .signout-action:hover{color:#301000;background:#ff7a32;border-color:#ff7a32b8}.app-auth-page .protected-app-main{width:min(1440px,100% - 80px);margin:0 auto}.app-auth-page .coach-app-main{box-shadow:none;background:0 0;border:0;border-radius:0;gap:22px;padding:42px 0 0;overflow:visible}.app-auth-page .workspace-hero{border-bottom:1px solid var(--workspace-line);grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:end;gap:32px;padding:0 0 28px;position:relative}.app-auth-page .workspace-hero:after{background:var(--workspace-orange);content:"";transform-origin:0;width:72px;height:2px;animation:.92s cubic-bezier(.2,.72,.2,1) .22s both workspace-accent-enter;position:absolute;bottom:-1px;left:0}.app-auth-page .workspace-hero-copy h1{max-width:none;color:var(--workspace-text);font-size:clamp(2.15rem,3.5vw,3.35rem);line-height:1.02}.app-auth-page .workspace-session-panel{border:0;border-left:1px solid var(--workspace-line-strong);min-height:88px;box-shadow:none;background:0 0;border-radius:0;gap:5px;padding:10px 0 10px 24px}.app-auth-page .workspace-session-panel span{color:var(--workspace-orange-soft)}.app-auth-page .workspace-session-panel strong{color:var(--workspace-text)}.app-auth-page .workspace-session-panel small{color:var(--workspace-muted)}.app-auth-page .workspace-view-switch{border-color:var(--workspace-line);background:var(--workspace-surface);border-radius:8px;gap:4px;padding:4px;position:relative}.app-auth-page .workspace-view-tab{min-height:54px;color:var(--workspace-muted);border-radius:5px;padding:11px 14px;position:relative}.app-auth-page .workspace-view-tab svg{color:var(--workspace-cyan)}.app-auth-page .workspace-view-tab strong{color:var(--workspace-text)}.app-auth-page .workspace-view-tab.active{border-color:var(--workspace-line-strong);background:var(--workspace-surface-strong);box-shadow:none}.app-auth-page .workspace-view-tab.active:after{background:var(--workspace-orange);content:"";transform-origin:0;height:2px;animation:.46s cubic-bezier(.2,.72,.2,1) both workspace-tab-signal;position:absolute;bottom:-1px;left:14px;right:14px}.app-auth-page .workspace-panel,.app-auth-page .workspace-metric-card,.app-auth-page .workspace-toast{border-color:var(--workspace-line);background:var(--workspace-surface);box-shadow:none;border-radius:8px}.app-auth-page .workspace-reveal-target{opacity:0;transition:opacity .68s var(--workspace-reveal-delay,0s) ease, transform .68s var(--workspace-reveal-delay,0s) cubic-bezier(.2, .72, .2, 1);will-change:opacity, transform;transform:translateY(14px)}.app-auth-page .workspace-reveal-target.workspace-hero{transform:translate(-18px)}.app-auth-page .workspace-reveal-target.workspace-view-switch,.app-auth-page .workspace-reveal-target.workspace-toast{transform:translateY(10px)}.app-auth-page .workspace-reveal-target.is-visible{opacity:1;transform:translate(0,0)}.app-auth-page .panel-header-icon{color:var(--workspace-cyan);background:#12d8e514;border-color:#12d8e547;border-radius:7px}.app-auth-page .panel-header h2,.app-auth-page .workspace-metric-card strong,.app-auth-page .meta-item strong,.app-auth-page .workout-row strong,.app-auth-page .step-list h2,.app-auth-page .step-title-row,.app-auth-page .selected-day-action strong,.app-auth-page .selected-day-detail header strong,.app-auth-page .selected-day-workout-card strong,.app-auth-page .workspace-empty-state strong{color:var(--workspace-text)}.app-auth-page .panel-header p,.app-auth-page .workspace-metric-card p,.app-auth-page .plan-context-field>small,.app-auth-page .workout-row small,.app-auth-page .step-content p,.app-auth-page .step-content small,.app-auth-page .comment-grid p,.app-auth-page .athlete-day-preview p,.app-auth-page .workspace-empty-state p,.app-auth-page .selected-day-hint,.app-auth-page .selected-day-workout-card small{color:var(--workspace-muted)}.app-auth-page .workspace-metric-card span,.app-auth-page .meta-item span,.app-auth-page .athlete-day-preview span,.app-auth-page .step-kind,.app-auth-page .plan-context-field>span,.app-auth-page .builder-field>span,.app-auth-page .builder-step-fieldset legend,.app-auth-page .selected-day-action span,.app-auth-page .selected-day-detail header span,.app-auth-page .selected-day-workout-card span,.app-auth-page .comment-grid span{color:var(--workspace-orange-soft)}.app-auth-page .athlete-select-card select,.app-auth-page .plan-context-field select,.app-auth-page .plan-context-field input,.app-auth-page .builder-field input,.app-auth-page .builder-field textarea,.app-auth-page .builder-field select,.app-auth-page .builder-step-fieldset input,.app-auth-page .builder-step-fieldset select,.app-auth-page .library-search{border-color:var(--workspace-line-strong);background:var(--workspace-surface-deep);color:var(--workspace-text);border-radius:7px}.app-auth-page .athlete-select-card select:focus,.app-auth-page .plan-context-field select:focus,.app-auth-page .plan-context-field input:focus,.app-auth-page .builder-field input:focus,.app-auth-page .builder-field textarea:focus,.app-auth-page .builder-field select:focus,.app-auth-page .builder-step-fieldset input:focus,.app-auth-page .builder-step-fieldset select:focus,.app-auth-page .library-search:focus-within{border-color:#12d8e5b8;box-shadow:0 0 0 3px #12d8e517}.app-auth-page .library-search input:focus-visible{outline:none}.app-auth-page .primary-action{background:var(--workspace-orange);color:#301000;box-shadow:none;border-color:#ff6a1a85;border-radius:7px}.app-auth-page .primary-action:hover{background:#ff7a32}.app-auth-page .secondary-action{border-color:var(--workspace-line-strong);color:var(--workspace-text);background:0 0;border-radius:7px}.app-auth-page .secondary-action:hover{background:var(--workspace-surface-strong);box-shadow:none;border-color:#12d8e58c}.app-auth-page .secondary-action.signout-action{background:var(--workspace-orange);color:#301000;border-color:#ff6a1a85}.app-auth-page .secondary-action.signout-action:hover{color:#301000;background:#ff7a32;border-color:#ff7a32b8}.app-auth-page .plan-start-form,.app-auth-page .workout-builder-form,.app-auth-page .builder-step-fieldset,.app-auth-page .builder-block-card,.app-auth-page .workout-row,.app-auth-page .meta-item,.app-auth-page .step-row,.app-auth-page .comment-grid div,.app-auth-page .workspace-empty-state,.app-auth-page .athlete-day-preview,.app-auth-page .selected-day-action,.app-auth-page .selected-day-detail,.app-auth-page .selected-day-workout-card,.app-auth-page .week-column,.app-auth-page .day-tile{border-color:var(--workspace-line);background:var(--workspace-surface-deep);box-shadow:none;border-radius:7px}.app-auth-page .workout-builder-form{border-color:#ff6a1a47}.app-auth-page .workout-row.active,.app-auth-page .day-tile.selected{background:var(--workspace-surface-strong);box-shadow:inset 3px 0 0 var(--workspace-orange);border-color:#ff6a1ab8}.app-auth-page .planner-toolbar{border-color:var(--workspace-line)}.app-auth-page .planner-toolbar>div:first-child span,.app-auth-page .planner-week-navigation span,.app-auth-page .assignment-dialog-header span,.app-auth-page .assignment-section-label,.app-auth-page .assignment-weekday-section>span{color:var(--workspace-orange-soft)}.app-auth-page .planner-toolbar>div:first-child strong,.app-auth-page .assignment-dialog-header h2,.app-auth-page .assignment-workout-option strong,.app-auth-page .assignment-scope-switch strong{color:var(--workspace-text)}.app-auth-page .planner-week-navigation button,.app-auth-page .assignment-dialog-close,.app-auth-page .assignment-workout-option,.app-auth-page .assignment-scope-switch>button,.app-auth-page .plan-duration-options button{border-color:var(--workspace-line-strong);background:var(--workspace-surface-deep);border-radius:7px}.app-auth-page .planner-week-navigation button,.app-auth-page .day-tile-add,.app-auth-page .assignment-workout-icon{color:var(--workspace-cyan)}.app-auth-page .day-tile-add{color:var(--workspace-orange-soft);background:#ff6a1a1a;border-color:#ff6a1a80;border-radius:6px}.app-auth-page .day-tile-add:hover{background:var(--workspace-orange);color:#301000}.app-auth-page .assignment-dialog{background:linear-gradient(145deg, #12d8e50e, transparent 34%), var(--workspace-surface);border-color:#12d8e547}.app-auth-page .assignment-dialog-header,.app-auth-page .assignment-dialog-actions{border-color:var(--workspace-line)}.app-auth-page .assignment-workout-option:hover,.app-auth-page .assignment-workout-option.selected{background:#12d8e514;border-color:#12d8e58f}.app-auth-page .assignment-scope-switch>button.active{background:#ff6a1a14;border-color:#ff6a1a9e}.app-auth-page .plan-duration-options button.active{color:var(--workspace-text);box-shadow:inset 0 -2px 0 var(--workspace-orange);background:#ff6a1a14;border-color:#ff6a1a9e}.app-auth-page .filter-chip,.app-auth-page .weekday-toggle,.app-auth-page .export-row span,.app-auth-page .export-row strong,.app-auth-page .tag-row span{border-color:var(--workspace-line-strong);background:var(--workspace-surface-deep);color:var(--workspace-muted)}.app-auth-page .filter-chip.active,.app-auth-page .weekday-toggle.active{color:var(--workspace-text);box-shadow:none;background:#12d8e517;border-color:#12d8e58a}.app-auth-page .workspace-toast{color:var(--workspace-text);border-color:#12d8e566;animation:.46s cubic-bezier(.2,.72,.2,1) both workspace-toast-enter}.app-auth-page .workspace-toast svg{color:var(--workspace-cyan)}.app-auth-page .planner-board{scrollbar-color:#ff6a1a8f var(--workspace-surface-deep)}.app-auth-page .planner-board::-webkit-scrollbar-track{background:var(--workspace-surface-deep)}.app-auth-page .planner-board::-webkit-scrollbar-thumb{background:#ff6a1a8f}.app-auth-page .week-column.recovery-week{background:var(--workspace-surface-deep);border-color:#12d8e552}.app-auth-page :focus-visible{outline-offset:3px;outline:3px solid #12d8e5d9}@keyframes workspace-brand-signal{0%,58%,to{opacity:0;background-position:180% 0}66%{opacity:1}88%{opacity:.8;background-position:-90% 0}96%{opacity:0;background-position:-90% 0}}@keyframes workspace-mark-float{0%,to{transform:translateY(4px)rotate(-.7deg)}50%{transform:translateY(-9px)rotate(.7deg)}}@keyframes workspace-accent-enter{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes workspace-tab-signal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes workspace-toast-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translate(0,0)}}@media (width<=900px){.protected-app-header-inner,.app-auth-page .protected-app-main{width:min(100% - 36px,760px)}.app-auth-page .coach-app-main{padding-top:32px}.app-auth-page .workspace-hero{grid-template-columns:1fr;align-items:start;gap:18px}.app-auth-page .workspace-session-panel{border-left:0;border-top:1px solid var(--workspace-line);min-height:0;padding:16px 0 0}}@media (width<=620px){.protected-app-header,.protected-app-header-inner{min-height:68px}.protected-app-header-inner,.app-auth-page .protected-app-main{width:calc(100% - 32px)}.protected-app-brand,.protected-app-brand .trainingx-logo-image{width:132px}.app-auth-page .protected-header-actions{gap:7px}.app-auth-page .role-switcher button{padding-inline:9px;font-size:.74rem}.app-auth-page .signout-action{width:42px;min-width:42px;padding:0;font-size:0}.app-auth-page .signout-action svg{width:18px;height:18px}.app-auth-page .coach-app-main{gap:16px;padding:26px 0 0}.app-auth-page .workspace-hero{gap:14px;padding-bottom:20px}.app-auth-page .workspace-hero-copy h1{font-size:clamp(2rem,10vw,2.65rem)}.app-auth-page .workspace-view-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.app-auth-page .coach-view-switch .workspace-view-tab:last-child:nth-child(odd){grid-column:1/-1}.app-auth-page .workspace-view-tab{grid-template-columns:auto minmax(0,1fr);gap:8px;min-height:52px;padding:10px}.app-auth-page .workspace-view-tab strong{font-size:.86rem}.app-auth-page .workspace-panel,.app-auth-page .workspace-metric-card{border-radius:8px;padding:14px}}@media (width<=390px){.protected-app-header-inner,.app-auth-page .protected-app-main{width:calc(100% - 24px)}.protected-app-brand,.protected-app-brand .trainingx-logo-image{width:116px}.app-auth-page .role-switcher button{padding-inline:7px;font-size:.68rem}.app-auth-page .workspace-view-tab svg{display:none}.app-auth-page .workspace-view-tab{text-align:center;grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.app-auth-page .auth-background-mark,.protected-app-brand:after,.app-auth-page .workspace-hero:after,.app-auth-page .workspace-view-tab.active:after,.app-auth-page .workspace-toast,.assignment-backdrop,.assignment-dialog{animation:none}.app-auth-page .workspace-reveal-target{opacity:1;transition:none;transform:none}}.app-auth-page .athlete-threshold-fieldset{border:0;border-top:1px solid var(--workspace-line);grid-column:1/-1;min-width:0;margin:4px 0 0;padding:18px 0 0}.app-auth-page .athlete-threshold-fieldset legend,.app-auth-page .athlete-threshold-header>div>span{color:var(--workspace-orange-soft);text-transform:uppercase;padding:0;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:700}.app-auth-page .athlete-threshold-fieldset>p{color:var(--workspace-muted);margin:6px 0 14px;font-size:.88rem}.app-auth-page .athlete-threshold-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.app-auth-page .threshold-input-shell{display:block;position:relative}.app-auth-page .threshold-input-shell input{width:100%;padding-right:58px}.app-auth-page .threshold-input-shell>small{color:var(--workspace-muted);pointer-events:none;font-family:JetBrains Mono,monospace;font-size:.7rem;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.app-auth-page .threshold-field-help{color:var(--workspace-cyan);margin-top:5px;font-size:.75rem;display:block}.app-auth-page .athlete-threshold-section{border-top:1px solid var(--workspace-line);border-bottom:1px solid var(--workspace-line);gap:16px;padding:20px 0;display:grid}.app-auth-page .athlete-threshold-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.app-auth-page .athlete-threshold-header>div{gap:5px;display:grid}.app-auth-page .athlete-threshold-header>div>strong{max-width:680px;color:var(--workspace-muted);font-size:.88rem;font-weight:500;line-height:1.55}.app-auth-page .athlete-threshold-current{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.app-auth-page .athlete-threshold-current>div{border:1px solid var(--workspace-line);background:#0510238c;border-radius:7px;align-content:start;gap:6px;min-height:92px;padding:14px;display:grid}.app-auth-page .athlete-threshold-current span,.app-auth-page .athlete-threshold-current small{color:var(--workspace-muted);font-size:.76rem}.app-auth-page .athlete-threshold-current strong{color:var(--workspace-text);font-family:Sora,sans-serif;font-size:1.1rem}.app-auth-page .athlete-threshold-editor{background:#061124b3;border:1px solid #12d8e53d;border-radius:8px;gap:14px;padding:16px;display:grid}.app-auth-page .athlete-threshold-editor .primary-action{justify-self:start}.app-auth-page .athlete-threshold-history{border-top:1px solid var(--workspace-line);padding-top:13px}.app-auth-page .athlete-threshold-history summary{width:fit-content;color:var(--workspace-text);cursor:pointer;align-items:center;gap:8px;font-weight:700;list-style:none;display:flex}.app-auth-page .athlete-threshold-history summary::-webkit-details-marker{display:none}.app-auth-page .athlete-threshold-history summary svg{color:var(--workspace-cyan)}.app-auth-page .athlete-threshold-history summary span{border:1px solid var(--workspace-line);min-width:22px;height:22px;color:var(--workspace-muted);border-radius:999px;place-items:center;font-family:JetBrains Mono,monospace;font-size:.68rem;display:grid}.app-auth-page .athlete-threshold-history-list{border-top:1px solid var(--workspace-line);gap:0;margin-top:12px;display:grid}.app-auth-page .athlete-threshold-history-list article{border-bottom:1px solid var(--workspace-line);grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:18px;padding:13px 0;display:grid}.app-auth-page .athlete-threshold-history-list article>div{gap:3px;display:grid}.app-auth-page .athlete-threshold-history-list time,.app-auth-page .athlete-threshold-history-list p,.app-auth-page .athlete-threshold-history>p{color:var(--workspace-muted);margin:0;font-size:.8rem;line-height:1.5}@media (width<=720px){.app-auth-page .athlete-threshold-form-grid,.app-auth-page .athlete-threshold-current{grid-template-columns:1fr}.app-auth-page .athlete-threshold-header{flex-direction:column;align-items:flex-start}.app-auth-page .athlete-threshold-header .compact-action,.app-auth-page .athlete-threshold-editor .primary-action{width:100%}.app-auth-page .athlete-threshold-history-list article{grid-template-columns:1fr;gap:6px}.coach-view-switch .workspace-view-tab{gap:7px;padding:10px 8px}.coach-view-switch .workspace-view-tab strong{font-size:.76rem}.athlete-profile-summary-grid{grid-template-columns:1fr}.athlete-profile-drawer{border-left:0;width:100%}.athlete-profile-drawer-header{padding-left:16px;padding-right:16px}.athlete-profile-drawer-tabs{grid-template-columns:repeat(3,minmax(110px,1fr));overflow-x:auto}.athlete-profile-drawer-body{padding-left:16px;padding-right:16px}}@media (prefers-reduced-motion:reduce){.athlete-profile-drawer{animation:none}}
