@font-face{font-family:MetaPlus;font-style:normal;font-weight:500 800;font-display:swap;src:url(/fonts/metaplus.woff2)format("woff2")}@font-face{font-family:Fira Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/fira-sans.woff2)format("woff2")}:root{--black:#050505;--charcoal:#242629;--muted:#666a70;--border:#d9dbde;--surface:#f6f6f4;--yellow:#f2e900;--warning:#7a5d00;--white:#fff;--content:1480px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--white);color:var(--black);flex-direction:column;min-width:320px;min-height:100dvh;margin:0;font-family:Fira Sans,Arial,sans-serif;display:flex}.site-content{flex-direction:column;flex:1 0 auto;min-width:0;display:flex}.site-content>main,.site-content>.app-shell{flex:1 0 auto;min-width:0}.app-shell{flex-direction:column;display:flex}.app-shell>.dashboard{flex:1 0 auto;width:100%}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:focus-visible,a:focus-visible,summary:focus-visible,.chart-scroll:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.site-footer{background:var(--black);color:var(--white);border-top:1px solid #303030;flex:none}.site-footer-inner{max-width:var(--content);justify-content:space-between;align-items:center;gap:32px;min-height:96px;margin:0 auto;padding:20px 40px;display:flex}.site-footer-identity{flex-direction:column;flex:none;gap:3px;display:flex}.site-footer-identity strong{letter-spacing:.02em;text-transform:uppercase;font-family:MetaPlus,Impact,Arial Narrow,sans-serif;font-size:17px}.site-footer-meta{color:#a8a8a8;align-items:center;gap:8px;font-size:11px;display:flex}input:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.site-footer-version{color:#8f8f8f;border-left:1px solid #555;padding-left:8px}.social-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.social-links a{color:#d4d4d4;align-items:center;gap:8px;min-height:44px;padding:8px 11px;font-size:12px;font-weight:600;transition:background-color .16s,color .16s;display:flex}.social-links a:hover{color:var(--yellow);background:#171717}.social-links svg{flex:none}.site-header{background:var(--black);color:var(--white);z-index:20;height:72px;position:sticky;top:0}.header-inner{height:100%;max-width:var(--content);grid-template-columns:220px 1fr auto;align-items:stretch;margin:0 auto;padding:0 40px;display:grid}.brand{align-items:center;width:126px;display:flex}.brand img{width:126px;height:auto}.primary-nav{align-items:stretch;gap:10px;display:flex}.primary-nav a{border-bottom:3px solid #0000;align-items:center;padding:0 22px;font-size:14px;font-weight:600;transition:color .16s,border-color .16s;display:flex}.primary-nav a:hover,.primary-nav a.is-active{border-bottom-color:var(--yellow);color:var(--yellow)}.athlete-menu{align-self:center;position:relative}.athlete-menu summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;list-style:none;display:flex}.athlete-menu summary::-webkit-details-marker{display:none}.avatar{border:1px solid #717171;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;margin-left:4px;display:flex}.athlete-menu-panel{background:var(--black);border-top:2px solid var(--yellow);flex-direction:column;width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 82px);padding:12px;display:flex;position:absolute;top:54px;right:0;box-shadow:0 16px 28px #00000040}.athlete-menu-panel>p{color:#a8a8a8;letter-spacing:.08em;text-transform:uppercase;margin:4px 8px 8px;font-size:11px}.athlete-menu-search{border:1px solid #454545;flex:none;align-items:center;margin:0 0 8px;padding:0 9px;display:flex}.athlete-menu-search:focus-within{border-color:var(--yellow)}.athlete-menu-search>svg{color:#a8a8a8;flex:none}.athlete-menu-search input{color:var(--white);font:inherit;background:0 0;border:0;outline:none;width:100%;min-width:0;min-height:40px;padding:0 9px;font-size:12px}.athlete-menu-search input::placeholder{color:#8d8d8d}.athlete-menu-search input::-webkit-search-cancel-button{display:none}.athlete-menu-search-clear{color:#a8a8a8;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:6px;display:flex}.athlete-menu-search-clear:hover,.athlete-menu-search-clear:focus-visible{color:var(--yellow)}.athlete-menu-options{overscroll-behavior:contain;scrollbar-color:#595959 transparent;scrollbar-width:thin;min-height:0;max-height:min(44vh,360px);overflow-y:auto}.athlete-menu-empty{color:#a8a8a8;margin:0;padding:18px 12px;font-size:12px}.athlete-menu-actions{border-top:1px solid #353535;flex:none;margin-top:8px;padding-top:8px}.athlete-menu-panel a{border-left:3px solid #0000;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.athlete-menu-panel a:hover,.athlete-menu-panel a[aria-current=page]{border-left-color:var(--yellow);background:#171717}.athlete-menu-panel small{color:#a8a8a8;font-size:11px;font-weight:400}.athlete-menu-panel form button{color:var(--white);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;width:100%;padding:10px 12px}.athlete-menu-panel form button:hover{color:var(--yellow);background:#171717}.mobile-menu{color:var(--white);background:0 0;border:0;justify-content:center;align-items:center;padding:8px;display:none}.dashboard{max-width:var(--content);margin:0 auto;padding:34px 40px 22px}.dashboard-intro{justify-content:space-between;align-items:end;margin-bottom:30px;display:flex}.dashboard-intro h1,.state-screen h1{letter-spacing:.005em;text-transform:uppercase;margin:0 0 12px;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:clamp(48px,4.5vw,76px);font-weight:400;font-stretch:75%;line-height:.92}.dashboard-intro p{color:#4e5155;margin:0 0 4px;font-size:15px}.dashboard-intro>div>span{color:var(--muted);font-size:12px}.sport-selector{border:1px solid #bfc1c4;grid-template-columns:repeat(2,180px);margin-bottom:4px;display:grid}.sport-selector button{background:var(--white);color:var(--charcoal);cursor:pointer;border:0;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:8px 18px;font-size:14px;font-weight:500;transition:background-color .16s,color .16s;display:flex}.sport-selector button+button{border-left:1px solid #bfc1c4}.sport-selector button:hover{background:var(--surface)}.sport-selector button.is-selected{background:var(--black);color:var(--yellow)}.stale-banner{color:#54504a;border:1px solid #d6d0b7;align-items:center;gap:12px;max-width:390px;margin:-10px 0 24px auto;padding:10px 14px;font-size:12px;display:flex}.stale-banner>span,.stale-banner-copy{flex-direction:column;gap:2px;display:flex}.stale-banner strong{color:var(--warning);font-weight:600}.defined-dashboard>.stale-banner{background:#fffdf4;max-width:none;margin:0 0 24px}.stale-banner-copy{flex:1}.stale-banner-copy time{font-weight:600}.stale-banner-action{color:var(--charcoal);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:6px 4px;font-weight:700;text-decoration:underline}.stale-banner-action:focus-visible{outline:2px solid var(--charcoal);outline-offset:3px}.section-title,.chart-module h2,.zones-module h2,.distribution-module h2,.trend-module h2{letter-spacing:.015em;text-transform:uppercase;align-items:center;gap:7px;margin:0;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:17px;font-weight:700;line-height:1.15;display:flex}.metric-section{margin-bottom:16px}.metric-section .section-title{margin-bottom:12px}.metric-rail{border-bottom:1px solid var(--border);border-top:1px solid var(--border);grid-template-columns:repeat(6,1fr);display:grid}.metric{min-width:0;padding:14px 18px 13px;transition:background-color .16s}.metric:first-child{padding-left:2px}.metric:hover{background:var(--surface)}.metric+.metric{border-left:1px solid var(--border)}.metric-label{align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.metric p{white-space:nowrap;align-items:baseline;gap:7px;margin:7px 0 0;display:flex}.metric strong{letter-spacing:-.035em;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:clamp(38px,3.25vw,54px);font-weight:700;line-height:.95}.metric.is-missing strong{color:var(--muted);letter-spacing:-.02em;font-family:Fira Sans,Arial,sans-serif;font-size:clamp(24px,2.2vw,34px);font-weight:600}.metric p span{color:var(--muted);font-size:12px}.primary-modules{grid-template-columns:minmax(0,2.15fr) minmax(330px,1fr);margin-top:18px;display:grid}.primary-modules.without-curve{display:block}.primary-modules.without-curve .zones-stack{border-left:0;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;padding-left:0;display:grid}.chart-module{min-width:0;padding-right:26px}.performance-charts{gap:38px;min-width:0;display:grid}.module-heading{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.legend{color:#44474b;align-items:center;gap:22px;font-size:11px;display:flex}.legend span{align-items:center;gap:7px;display:flex}.legend i{width:28px;height:3px;display:block}.line-current{background:var(--black)}.line-reference{background:var(--yellow)}.line-total{background:var(--black)}.area-aerobic,.area-anaerobic{width:20px!important;height:10px!important}.area-aerobic{background:#5fab65}.area-anaerobic{background:var(--yellow)}.chart-scroll{min-width:0;overflow-x:auto}.line-chart{cursor:crosshair;touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;min-width:0;height:300px;display:block}.trend-chart{width:100%;min-width:570px;height:auto;display:block}.grid-line{stroke:#d5d7da;stroke-dasharray:3 3;stroke-width:1px}.grid-line.vertical{opacity:.72}.axis-line{stroke:#585b60;stroke-width:1px}.axis-label,.axis-title{fill:#595c61;font-family:Fira Sans,Arial,sans-serif;font-size:11px}.axis-title{font-size:12px}.curve-current,.curve-reference{fill:none;stroke-linecap:round;stroke-linejoin:round}.curve-current{stroke:var(--black);stroke-width:3px}.curve-reference{stroke:var(--yellow);stroke-width:2.5px}.contribution-aerobic-area{fill:#68b66e;fill-opacity:.68;stroke:none}.contribution-anaerobic-area{fill:var(--yellow);fill-opacity:.72;stroke:none}.contribution-total-line{fill:none;stroke:var(--black);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px}.chart-hit-area{fill:#0000;pointer-events:all}.chart-inspector,.chart-tooltip{pointer-events:none}.chart-inspector-line{stroke:#777b80;stroke-dasharray:3 3;stroke-width:1px}.chart-inspector-dot{stroke:var(--white);stroke-width:2px}.chart-inspector-dot.current,.chart-tooltip-key.current{fill:var(--black)}.chart-inspector-dot.reference,.chart-tooltip-key.reference{fill:var(--yellow);stroke:#9d9700;stroke-width:1px}.chart-inspector-dot.total,.chart-tooltip-key.total{fill:var(--black)}.chart-tooltip-key.anaerobic{fill:var(--yellow);stroke:#9d9700;stroke-width:1px}.chart-tooltip-key.aerobic{fill:#5fab65;stroke:#377d3c;stroke-width:1px}.chart-tooltip-panel{fill:var(--white);filter:drop-shadow(0 3px 5px #00000029);stroke:#c9cbce;stroke-width:1px}.chart-tooltip-label,.chart-tooltip-title,.chart-tooltip-value{fill:var(--black);font-family:Fira Sans,Arial,sans-serif;font-size:10px}.chart-tooltip-title,.chart-tooltip-value{font-weight:700}.chart-tooltip-title{font-size:12px}.zones-stack{border-left:1px solid var(--border);flex-direction:column;gap:26px;padding-left:24px;display:flex}.zones-module h2{margin-bottom:10px}.zones-list{flex-direction:column;gap:5px;display:flex}.zone-row{border:1px solid #e2e3e5;grid-template-columns:62px minmax(130px,1fr) auto;align-items:stretch;min-height:43px;display:grid}.zone-row.is-power{grid-template-columns:minmax(150px,1fr) auto}.zone-code{justify-content:center;align-items:center;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:17px;display:flex}.zone-code.is-power-level{justify-content:flex-start;padding:8px 12px;font-family:Fira Sans,Arial,sans-serif;font-size:12px;font-weight:700}.zone-name,.zone-range{align-items:center;padding:8px 12px;font-size:12px;display:flex}.zone-name{color:var(--muted)}.zone-range{white-space:nowrap;justify-content:flex-end;font-weight:700}.zone-tone-1{color:#050505;background:#fff333}.zone-tone-2{color:#050505;background:#f2e900}.zone-tone-3{color:#050505;background:#e7d700}.zone-tone-4{color:#050505;background:#d0ad00}.zone-tone-5{color:#fff;background:#855900}.zone-tone-6{color:#fff;background:#6a4900}.zone-tone-7{color:#fff;background:#151515}.secondary-modules{border-top:1px solid var(--border);grid-template-columns:minmax(330px,.8fr) minmax(0,1.5fr);gap:0;margin-top:22px;padding-top:20px;display:grid}.secondary-modules>*{min-width:0;padding:0 24px}.secondary-modules>:first-child{padding-left:0}.secondary-modules>*+*{border-left:1px solid var(--border)}.distribution-module h2,.trend-module h2{margin-bottom:16px}.trend-module h2 span{color:var(--muted);font-family:Fira Sans,Arial,sans-serif;font-size:11px;font-weight:500}.distribution-list{flex-direction:column;gap:7px;display:flex}.distribution-row{align-items:center;gap:10px;font-size:11px;display:grid}.distribution-row.is-duration{grid-template-columns:minmax(140px,1fr) auto}.distribution-row.is-percentage{grid-template-columns:minmax(32px,auto) 44px minmax(80px,1fr)}.distribution-row>span{color:#404348;font-variant-numeric:tabular-nums}.distribution-duration,.distribution-percentage{text-align:right;white-space:nowrap}.distribution-track{background:#eeeeec;height:11px}.distribution-track i{min-width:3px;height:100%;display:block}.distribution-track i.is-empty{min-width:0}.trend-chart{min-width:500px;margin-top:-8px}.trend-dot{fill:var(--black);stroke:var(--white);stroke-width:2px}.dashboard-footer,.dashboard-meta{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;margin-top:24px;padding-top:14px;font-size:10px;display:flex}.dashboard-footer p,.dashboard-meta p{margin:0}.loading-screen,.state-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:0;padding:32px;display:flex}.loading-screen p,.state-screen p{color:var(--muted);max-width:500px;line-height:1.55}.loading-mark{background:var(--yellow);clip-path:polygon(50% 0,100% 100%,0 100%);width:26px;height:22px;animation:.9s ease-in-out infinite alternate pulse;display:block}.state-screen .state-code{color:var(--black);text-transform:uppercase;margin-bottom:16px;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:18px;font-weight:700}.account-state{background:var(--black);color:var(--white)}.account-state .state-code,.account-state h1{color:var(--white)}.account-state p{color:#b8b8b8}.primary-button{background:var(--yellow);color:var(--black);cursor:pointer;border:0;margin-top:14px;padding:13px 22px;font-size:14px;font-weight:700}.login-page{background:var(--black);grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);min-height:0;display:grid}.login-copy{color:var(--white);background:linear-gradient(90deg,#000000e0 0%,#00000061 74%,#0000 100%),url(/brand/juanp-home.png) 50%/cover no-repeat;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:48px clamp(40px,7vw,110px) 70px;display:flex}.login-copy>img{width:150px;height:auto}.login-copy h1{letter-spacing:.005em;text-transform:uppercase;max-width:740px;margin:auto 0 22px;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:clamp(58px,7vw,110px);font-weight:400;line-height:.88}.login-copy p{max-width:610px;margin:0;font-size:17px;line-height:1.55}.login-panel{background:var(--white);align-items:center;padding:clamp(34px,6vw,90px);display:flex}.login-panel>div{width:100%;max-width:420px;margin:0 auto}.login-panel h2{letter-spacing:-.035em;text-transform:uppercase;margin:0 0 16px;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:clamp(38px,4vw,58px);line-height:.95}.login-panel>div>p{color:var(--muted);margin:0 0 30px;font-size:14px;line-height:1.55}.login-action :is(a,button){background:var(--black);color:var(--white);cursor:pointer;border:0;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 20px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.login-action :is(a,button):hover:not(:disabled){color:var(--yellow)}.login-action button:disabled{cursor:not-allowed;opacity:.55}.login-action svg{width:21px;height:21px}.login-note,.login-error{margin:10px 0 0;font-size:11px;line-height:1.45}.login-note{color:var(--muted)}.login-error{color:#b42318}.login-panel a{border-bottom:1px solid var(--black);margin-top:28px;padding-bottom:3px;font-size:12px;display:inline-block}.admin-page{max-width:var(--content);width:100%;margin:0 auto;padding:48px 40px}.admin-nav{border-bottom:1px solid var(--border);align-items:center;gap:28px;margin-bottom:38px;display:flex}.admin-nav a{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;border-bottom:3px solid #0000;padding:14px 0 11px;font-size:12px;font-weight:800}.admin-nav a:hover,.admin-nav a[aria-current=page]{border-bottom-color:var(--yellow);color:var(--black)}.admin-heading{border-bottom:4px solid var(--black);justify-content:space-between;align-items:flex-end;padding-bottom:24px;display:flex}.admin-heading span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.admin-heading h1{text-transform:uppercase;margin:10px 0 14px;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:clamp(52px,7vw,90px);font-weight:400;line-height:.9}.admin-heading p{color:var(--muted);margin:0}.admin-heading>div{min-width:0}.admin-heading button,.admin-table button{background:var(--black);color:var(--white);cursor:pointer;border:0;padding:12px 16px;font-weight:700}.admin-heading-actions{align-items:stretch;gap:8px;display:flex}.admin-heading button.secondary{border:1px solid var(--black);color:var(--black);background:0 0}.coach-admin-heading{align-items:center}.coach-count{flex-direction:column;align-items:flex-end;min-width:90px;display:flex}.coach-count strong{font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:64px;font-weight:400;line-height:.85}.coach-count span{margin-top:10px}.coach-create-panel{background:var(--surface);grid-template-columns:minmax(240px,.8fr) minmax(520px,1.4fr);align-items:end;gap:36px;margin-top:34px;padding:28px;display:grid}.coach-create-panel>div>span,.coach-create-form label>span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700;display:block}.coach-create-panel h2{text-transform:uppercase;margin:5px 0 8px;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:34px;font-weight:400}.coach-create-panel p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.coach-create-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.coach-create-form label{gap:7px;min-width:0;display:grid}.coach-create-form input{background:var(--white);border:1px solid var(--border);color:var(--black);font:inherit;border-radius:0;width:100%;min-width:0;min-height:44px;padding:10px 12px}.coach-create-form input:focus{border-color:var(--black);box-shadow:0 0 0 1px var(--black);outline:0}.coach-create-form button{background:var(--yellow);color:var(--black);cursor:pointer;white-space:nowrap;border:0;min-height:44px;padding:10px 18px;font-weight:800}.coach-table{min-width:760px}.admin-list-stack{gap:18px;display:grid}.coach-list-search{justify-self:end;margin-top:18px}.coach-row-actions{align-items:stretch;gap:8px;display:flex}.coach-status-confirmation{position:relative}.coach-status-confirmation>summary{cursor:pointer;white-space:nowrap;border:1px solid #b9b9b9;padding:10px 12px;font-size:12px;font-weight:700;list-style:none}.coach-status-confirmation>summary::-webkit-details-marker{display:none}.destructive-confirmation{background:var(--white);border:1px solid var(--black);z-index:30;gap:12px;min-width:320px;padding:16px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.destructive-confirmation p,.confirmation-consequence{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.destructive-confirmation label,.confirmation-check{align-items:flex-start;gap:8px!important;display:flex!important}.destructive-confirmation label span,.confirmation-check span{line-height:1.4;color:var(--black)!important;text-transform:none!important;margin:0!important;font-size:11px!important}.destructive-confirmation input,.confirmation-check input{flex:none;margin-top:2px}.role-choice-page{background:var(--black);color:var(--white);justify-content:center;align-items:center;min-height:0;padding:40px;display:flex}.role-choice-panel{width:100%;max-width:760px}.role-choice-panel>img{width:150px;height:auto;margin-bottom:64px}.role-choice-panel h1{text-transform:uppercase;margin:0 0 18px;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:clamp(48px,8vw,92px);font-weight:400;line-height:.92}.role-choice-panel p{color:#b8b8b8;margin:0;font-size:17px;line-height:1.55}.role-choice-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:48px;display:grid}.role-choice-actions button{color:var(--white);cursor:pointer;text-align:left;background:0 0;border:1px solid #505050;flex-direction:column;width:100%;min-height:150px;padding:28px;transition:background .16s,border-color .16s,color .16s;display:flex}.role-choice-actions button:hover,.role-choice-actions button:focus-visible{background:var(--yellow);border-color:var(--yellow);color:var(--black);outline:none}.role-choice-actions strong{font-size:18px}.role-choice-actions span{margin-top:14px;font-size:13px;line-height:1.5}.admin-table-wrap{width:100%;max-width:100%;overflow-x:auto}.admin-table-scroll{overscroll-behavior:contain;max-height:clamp(360px,58vh,680px);overflow:auto}.admin-table{border-collapse:collapse;width:100%;min-width:900px;margin-top:28px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:16px 12px}.admin-table th{color:var(--muted);text-transform:uppercase;font-size:11px}.admin-table-scroll .admin-table th{background:var(--white);box-shadow:0 1px 0 var(--border);z-index:1;position:sticky;top:0}.admin-table td strong,.admin-table td span{display:block}.admin-table td span{color:var(--muted);margin-top:4px;font-size:11px}.status-pill{text-transform:uppercase;padding:6px 9px;font-weight:700;color:var(--black)!important;margin:0!important;display:inline-block!important}.status-active{background:var(--yellow)}.status-preparing{background:#e9e9e7}.status-suspended{background:#1d1d1d;color:var(--white)!important}.admin-table button.enable{background:var(--yellow);color:var(--black)}.admin-table button.suspend{color:var(--black);background:0 0;border:1px solid #b9b9b9}.admin-empty{background:var(--surface);margin-top:28px;padding:42px}.admin-empty h2{text-transform:uppercase;margin:0 0 10px;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:32px}.admin-empty p{color:var(--muted);margin:0}.admin-warning{border-left:4px solid var(--yellow)}.admin-athlete-section{margin-top:42px}.admin-section-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;padding-bottom:14px;display:flex}.admin-section-heading span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.admin-section-heading h2{text-transform:uppercase;margin:4px 0 0;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:38px}.admin-section-heading>strong{font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:48px;line-height:1}.admin-active-tools{align-items:center;gap:20px;display:flex}.admin-athlete-search{border:1px solid var(--border);align-items:center;min-width:min(360px,42vw);padding:0 12px;display:flex}.admin-athlete-search:focus-within{border-color:var(--black);box-shadow:0 0 0 1px var(--black)}.admin-athlete-search>svg{color:var(--muted);flex:none}.admin-athlete-search input{color:var(--black);font:inherit;background:0 0;border:0;outline:none;width:100%;min-width:0;min-height:44px;padding:0 10px;font-size:13px}.admin-athlete-search input::placeholder{color:var(--muted)}.admin-athlete-search input::-webkit-search-cancel-button{display:none}.admin-search-clear{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:6px;display:flex}.admin-search-clear:hover,.admin-search-clear:focus-visible{color:var(--black)}.admin-active-count{flex-direction:column;align-items:flex-end;min-width:64px;display:flex}.admin-active-count>span{color:var(--muted);margin-bottom:2px;font-size:10px}.admin-active-count>strong{font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:48px;line-height:.82}.admin-search-empty,.admin-athlete-section .admin-table{margin-top:0}.admin-row-actions{align-items:stretch;gap:8px;display:flex}.admin-view-link{background:var(--black);color:var(--white);white-space:nowrap;align-items:center;padding:10px 14px;font-size:13px;font-weight:700;display:inline-flex}.admin-view-link:hover{color:var(--yellow)}.admin-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:34px;display:grid}.admin-overview-grid a{background:var(--surface);color:var(--black);flex-direction:column;min-height:150px;padding:24px;display:flex}.admin-overview-grid a:hover,.admin-overview-grid a:focus-visible{background:var(--yellow);outline:none}.admin-overview-grid strong{font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:58px;font-weight:400;line-height:.9}.admin-overview-grid span{text-transform:uppercase;margin-top:auto;font-size:12px;font-weight:700}.unassigned-list{border-top:1px solid var(--border)}.unassigned-list a{border-bottom:1px solid var(--border);color:var(--black);justify-content:space-between;align-items:center;padding:15px 12px;display:flex}.unassigned-list a:hover,.unassigned-list a:focus-visible{background:var(--surface);outline:2px solid var(--yellow);outline-offset:-2px}.unassigned-list span,.unassigned-list strong{display:block}.unassigned-list span{color:var(--muted);font-size:12px}.unassigned-list strong{color:var(--black);margin-bottom:3px;font-size:15px}.unassigned-list b{text-transform:uppercase;font-size:12px}.portfolio-admin-heading{align-items:center}.portfolio-summary{gap:20px;display:flex}.portfolio-summary>span{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.portfolio-summary strong{color:var(--black);font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:38px;font-weight:400;line-height:.9}.portfolio-filters{flex-wrap:wrap;gap:6px;margin:18px 0;display:flex}.portfolio-filters button{border:1px solid var(--border);color:var(--black);cursor:pointer;background:0 0;padding:9px 12px;font-family:inherit;font-size:12px;font-weight:700}.portfolio-filters button[aria-pressed=true]{background:var(--black);border-color:var(--black);color:var(--white)}.portfolio-filter-row{justify-content:space-between;align-items:center;display:flex}.portfolio-filter-row>a{border-bottom:1px solid var(--black);color:var(--black);font-size:12px;font-weight:700}.portfolio-table{min-width:1120px}.portfolio-current{align-items:center;gap:8px;display:flex}.coach-pill{background:var(--surface);border:1px solid var(--border);white-space:nowrap;padding:9px 11px;font-weight:700;color:var(--black)!important;margin:0!important;font-size:12px!important;display:inline-flex!important}.portfolio-menu{min-width:150px}.portfolio-menu summary{background:var(--yellow);color:var(--black);cursor:pointer;text-align:center;white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:800;list-style:none}.portfolio-menu summary::-webkit-details-marker{display:none}.portfolio-menu summary:focus-visible{outline:2px solid var(--black);outline-offset:2px}.portfolio-form,.portfolio-options-panel{background:var(--white);border:1px solid var(--black);gap:10px;margin-top:8px;padding:14px;display:grid}.portfolio-form label{gap:5px;display:grid}.portfolio-form label>span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.portfolio-form input,.portfolio-form select{background:var(--white);border:1px solid var(--border);color:var(--black);border-radius:0;width:100%;min-height:40px;padding:8px;font:600 12px/1.2 Fira Sans,Arial,sans-serif}.portfolio-form button{background:var(--black);color:var(--white);min-height:40px}.portfolio-form button:disabled{cursor:not-allowed;opacity:.45}.portfolio-options-menu{min-width:90px}.portfolio-options-menu summary{background:var(--black);color:var(--white)}.portfolio-options-panel{min-width:320px}.portfolio-options-panel>.admin-view-link{justify-content:center}.portfolio-content-link{background:var(--black);color:var(--white);text-align:center;margin-top:8px;padding:11px 12px;font-size:12px;font-weight:800;display:block}.portfolio-control-list{border-top:1px solid var(--border)}.portfolio-control-list form{border-bottom:1px solid var(--border);padding:6px 0}.portfolio-options-panel button.portfolio-state-button{--state-color:#17643b;--state-background:#edf8f0;--state-border:#88bd9c;background:var(--state-background);border:1px solid var(--state-border);color:var(--state-color);cursor:pointer;font:inherit;text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:68px;padding:12px;transition:background-color .16s,border-color .16s,box-shadow .16s;display:flex}.portfolio-options-panel button.portfolio-state-button[data-state=paused]{--state-color:#865008;--state-background:#fff5df;--state-border:#caa04f}.portfolio-options-panel button.portfolio-state-button[data-state=locked]{--state-color:#626262;--state-background:#f1f1ef;--state-border:#c9c9c5}.portfolio-options-panel button.portfolio-state-button:hover:not(:disabled){border-color:var(--state-color);box-shadow:inset 0 0 0 1px var(--state-color)}.portfolio-options-panel button.portfolio-state-button:focus-visible{outline:3px solid var(--black);outline-offset:3px}.portfolio-options-panel button.portfolio-state-button:disabled{cursor:not-allowed}.portfolio-options-panel button.portfolio-state-button[aria-busy=true]{cursor:wait}.portfolio-state-button .portfolio-state-copy{min-width:0}.portfolio-options-panel .portfolio-state-button span{color:inherit;text-transform:none;margin:0;font-size:11px;display:block}.portfolio-options-panel .portfolio-state-button .portfolio-state-label{color:var(--black);font-size:12px;font-weight:700;line-height:1.35}.portfolio-options-panel .portfolio-state-button .portfolio-state-hint{margin-top:4px;font-size:11px;line-height:1.35}.portfolio-options-panel .portfolio-state-button .portfolio-state-value{white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;font-size:12px;font-weight:800;display:inline-flex}.portfolio-state-spinner{animation:.9s linear infinite portfolio-state-spin}@keyframes portfolio-state-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.portfolio-options-panel button.portfolio-state-button{transition:none}.portfolio-state-spinner{animation:none}}.portfolio-move-form{border:0;margin:0;padding:0}.portfolio-remove-form button{width:100%}.portfolio-remove-form{gap:10px;display:grid}.portfolio-unavailable{color:var(--muted);font-size:11px}.portfolio-invitation{border-bottom:1px solid var(--border);border-top:1px solid var(--border);gap:6px;padding:12px 0;display:grid}.portfolio-invitation>span{color:var(--muted);text-transform:uppercase;margin:0;font-size:10px;font-weight:700}.portfolio-invitation>strong{font-size:13px}.athlete-name-prompt{color:#111;background:#fff;border:1px solid #d8d8d8;border-radius:12px;width:min(440px,100vw - 32px);max-height:calc(100dvh - 32px);padding:28px;overflow:auto}.athlete-name-prompt::backdrop{background:#0000008c}.athlete-name-prompt h1{margin:12px 0;font-size:28px;line-height:1.15}.athlete-name-prompt p{font-size:15px;line-height:1.5}.athlete-name-prompt label{gap:8px;margin:20px 0 16px;display:grid}.athlete-name-prompt input{border:1px solid #888;width:100%;padding:12px;font-size:16px}.athlete-name-prompt button{color:#111;cursor:pointer;background:#f3ef00;border:0;width:100%;padding:12px}.athlete-name-prompt button:disabled{opacity:.65;cursor:wait}.athlete-name-prompt .name-signout{background:0 0;text-decoration:underline}.athlete-name-prompt [role=alert]{color:#a51d24}.athlete-name-prompt [role=status]:empty{display:none}.portfolio-invitation button:disabled{cursor:wait;opacity:.65}.portfolio-invitation form p:empty{display:none}.portfolio-invitation form p{margin:10px 0 0;font-size:14px;line-height:1.4}.portfolio-invitation form [role=alert]{color:#a51d24}.portfolio-invitation button{background:var(--yellow);color:var(--black);width:100%;margin-top:4px}.coach-page{max-width:var(--content);width:100%;margin:0 auto;padding:58px 40px 72px}.coach-heading{border-bottom:4px solid var(--black);justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:26px;display:flex}.coach-heading h1,.coach-list-heading h2{text-transform:uppercase;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-weight:400}.coach-heading h1{margin:0 0 16px;font-size:clamp(48px,6vw,82px);line-height:.92}.coach-heading>div>span{color:var(--muted);text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.coach-heading p{color:var(--muted);max-width:690px;margin:0;line-height:1.55}.coach-heading>a{background:var(--yellow);color:var(--black);text-transform:uppercase;flex:none;padding:14px 19px;font-size:13px;font-weight:800}.coach-heading>a:hover,.coach-heading>a:focus-visible{background:var(--black);color:var(--yellow)}.coach-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:28px;display:grid}.coach-summary>div{background:var(--surface);flex-direction:column;min-height:126px;padding:20px 22px;display:flex}.coach-summary strong{font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:52px;font-weight:400;line-height:.9}.coach-summary span{text-transform:uppercase;margin-top:auto;font-size:11px;font-weight:800}.coach-athlete-section{margin-top:48px}.coach-list-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:28px;padding-bottom:14px;display:flex}.coach-list-heading>div>span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.coach-list-heading h2{margin:5px 0 0;font-size:40px;line-height:1}.coach-athlete-search{border:1px solid var(--border);align-items:center;min-width:min(380px,42vw);padding:0 10px;display:flex}.coach-athlete-search:focus-within{border-color:var(--black);box-shadow:0 0 0 1px var(--black)}.coach-athlete-search>svg{color:var(--muted);flex:none}.coach-athlete-search input{border:0;outline:0;width:100%;min-width:0;min-height:44px;padding:0 9px}.coach-athlete-search button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;padding:6px;display:flex}.coach-athlete-list{border-top:1px solid var(--border)}.coach-filters{margin-bottom:18px}.coach-athlete-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,1.2fr) minmax(130px,.55fr) minmax(190px,.8fr) auto;align-items:center;gap:24px;min-height:82px;padding:14px 12px;display:grid}.coach-athlete-row>div{gap:4px;display:grid}.coach-athlete-row>div>span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.coach-athlete-row>div>strong{font-size:13px}.coach-athlete-identity>strong{font-size:15px!important}.coach-athlete-identity>span{text-transform:none!important}.coach-athlete-row>a,.coach-dashboard-disabled{text-align:center;text-transform:uppercase;padding:11px 14px;font-size:12px;font-weight:800}.coach-athlete-row>a{background:var(--black);color:var(--white)}.coach-athlete-row>a:hover{color:var(--yellow)}.coach-dashboard-disabled{background:var(--surface);color:var(--muted)}.coach-options-menu{position:relative}.coach-options-panel{z-index:20;position:absolute;top:100%;right:0}.coach-options-panel .portfolio-control{color:var(--black);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:11px 0;display:flex}.coach-options-panel .portfolio-control:disabled{cursor:not-allowed;opacity:.48}.coach-options-panel .portfolio-control span{font-size:12px}.coach-options-panel .portfolio-control strong{color:var(--muted);text-transform:uppercase;font-size:10px}.coach-admin-lock{border-left:3px solid var(--yellow);background:#fff7d1;margin:0;padding:9px 10px;font-size:11px;font-weight:700}.coach-content-link{text-decoration:none}.module-settings-page{width:100%;max-width:1180px;margin:0 auto;padding:54px clamp(24px,5vw,72px) 84px}.module-settings-heading{border-bottom:4px solid var(--black);justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:28px;display:flex}.module-settings-heading span,.module-settings-group h3{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.module-settings-heading h1{text-transform:uppercase;margin:8px 0 12px;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:clamp(42px,6vw,72px);font-weight:400;line-height:.95}.module-settings-heading p{color:var(--muted);margin:0}.module-settings-heading>a{background:var(--black);color:var(--white);text-transform:uppercase;padding:12px 18px;font-size:12px;font-weight:800}.module-settings-sports{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:42px;display:grid}.module-settings-sport>h2{text-transform:uppercase;margin:0 0 22px;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:34px;font-weight:400}.module-settings-group+.module-settings-group{margin-top:28px}.module-settings-group h3{border-bottom:1px solid var(--black);margin:0;padding-bottom:9px}.module-settings-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:62px;padding:10px 0;display:grid}.module-settings-row>span{font-size:13px;font-weight:700;line-height:1.35}.module-visibility-toggle{border:1px solid var(--black);cursor:pointer;text-transform:uppercase;min-width:82px;padding:10px 12px;font-size:11px;font-weight:800}.module-visibility-toggle.is-visible{background:var(--yellow);color:var(--black)}.module-visibility-toggle.is-hidden{background:var(--black);color:var(--white)}.coach-empty{margin-top:0}.onboarding-page{background:var(--black);color:var(--white);justify-content:center;align-items:center;min-height:0;padding:52px 28px;display:flex}.onboarding-panel{width:100%;max-width:760px}.onboarding-panel>div>span{color:var(--yellow);text-transform:uppercase;font-size:11px;font-weight:800}.onboarding-panel h1{text-transform:uppercase;margin:14px 0 22px;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:clamp(48px,8vw,88px);font-weight:400;line-height:.94}.onboarding-panel p,.onboarding-panel li{color:#c2c2c2;font-size:15px;line-height:1.6}.onboarding-consent ul{border-top:1px solid #3a3a3a;border-bottom:1px solid #3a3a3a;gap:8px;margin:34px 0;padding:24px 0;list-style:none;display:grid}.onboarding-consent li:before{color:var(--yellow);content:"—";margin-right:10px}.onboarding-consent form,.onboarding-consent label{gap:16px;display:grid}.onboarding-consent label{grid-template-columns:auto 1fr;align-items:start}.onboarding-consent input{accent-color:var(--yellow);width:20px;height:20px}.onboarding-consent button{background:var(--yellow);color:var(--black);cursor:pointer;border:0;justify-self:start;padding:15px 20px;font-size:14px;font-weight:800}@media (max-width:760px){.admin-page{padding:34px 20px 56px}.admin-nav{gap:18px;overflow-x:auto}.admin-heading h1{overflow-wrap:anywhere;font-size:clamp(36px,9vw,52px)}.admin-section-heading h2,.coach-create-panel h2{overflow-wrap:anywhere}.admin-heading,.admin-section-heading{flex-direction:column;align-items:stretch;gap:18px}.admin-heading-actions,.admin-active-tools,.portfolio-filter-row{flex-direction:column;align-items:stretch}.admin-athlete-search,.coach-list-search{justify-self:stretch;width:100%;min-width:0}.admin-active-count{align-items:flex-start}.admin-table-scroll{max-height:none;overflow:visible}.responsive-admin-table,.responsive-admin-table tbody,.responsive-admin-table tr,.responsive-admin-table td{width:100%;min-width:0;display:block}.responsive-admin-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.responsive-admin-table tbody{gap:14px;display:grid}.responsive-admin-table tr{border:1px solid var(--border);padding:8px 14px}.responsive-admin-table td{border-bottom:1px solid var(--border);grid-template-columns:minmax(92px,.38fr) minmax(0,1fr);align-items:start;gap:4px 12px;padding:13px 0;display:grid}.responsive-admin-table td>:not(dialog){overflow-wrap:anywhere;grid-column:2;min-width:0}.responsive-admin-table .coach-pill,.responsive-admin-table .coach-status-confirmation>summary,.responsive-admin-table .admin-view-link{white-space:normal}.responsive-admin-table td:last-child{border-bottom:0}.responsive-admin-table td:before{color:var(--muted);content:attr(data-label);letter-spacing:.03em;text-transform:uppercase;grid-area:1/1;font-size:10px;font-weight:800}.portfolio-current,.coach-row-actions{flex-direction:column;align-items:stretch}.portfolio-menu,.portfolio-options-menu,.portfolio-options-panel,.destructive-confirmation{width:100%;min-width:0}.destructive-confirmation{margin-top:8px;position:static}}@media (max-width:820px){.admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-admin-heading{align-items:flex-start}.portfolio-summary{width:100%}.portfolio-summary>span{flex:1;align-items:flex-start}.coach-heading,.coach-list-heading{flex-direction:column;align-items:stretch}.coach-heading>a{text-align:center}.coach-athlete-search{width:100%;min-width:0}.coach-athlete-row{grid-template-columns:1fr 1fr;gap:14px}.coach-athlete-identity{grid-column:1/-1}.module-settings-sports{grid-template-columns:1fr}}@media (max-width:520px){.admin-overview-grid{grid-template-columns:1fr}.admin-overview-grid a{min-height:110px}.portfolio-summary{flex-wrap:wrap}.portfolio-summary>span{min-width:90px}.coach-page{padding:38px 20px 56px}.coach-summary{grid-template-columns:1fr}.coach-summary>div{min-height:94px}.coach-athlete-row{grid-template-columns:1fr}.coach-athlete-identity{grid-column:auto}.module-settings-page{padding:38px 20px 56px}.module-settings-heading{flex-direction:column;align-items:stretch}.module-settings-heading>a{text-align:center}}@keyframes pulse{0%{opacity:.35;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}.distribution-module h2{min-height:42px}.distribution-chart-layout{grid-template-rows:auto 1fr;gap:16px;display:grid}.distribution-donut{aspect-ratio:1;width:100%;max-width:220px;margin:0 auto;position:relative}.distribution-donut svg{width:100%;height:100%;display:block;overflow:visible}.distribution-donut-track,.distribution-donut-segment{fill:none;transform-origin:90px 90px;transform:rotate(-90deg)}.distribution-donut-track{stroke:#ebe9e2;stroke-width:28px}.distribution-donut-segment{cursor:pointer;stroke:var(--distribution-color);stroke-width:28px;transition:filter .15s,opacity .15s,stroke-width .15s}.distribution-donut.has-active .distribution-donut-segment:not(.is-active){opacity:.28}.distribution-donut-segment:hover,.distribution-donut-segment:focus-visible,.distribution-donut-segment.is-active{filter:drop-shadow(0 2px 2px #0003);stroke-width:35px;outline:none}.distribution-donut-value{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:90px;display:flex;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.distribution-donut-value strong{font-variant-numeric:tabular-nums;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:29px;line-height:1}.distribution-donut-value span{color:var(--muted);overflow-wrap:anywhere;text-transform:uppercase;margin-top:5px;font-size:9px;font-weight:700;line-height:1.2}.distribution-legend{gap:3px;margin:0;padding:0;list-style:none;display:grid}.distribution-legend button{color:var(--black);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:28px;padding:4px 5px;display:grid}.distribution-legend button:hover,.distribution-legend button:focus-visible,.distribution-legend li.is-active button{background:#f4f3ee;outline:none}.distribution-legend button:focus-visible{box-shadow:inset 0 0 0 2px var(--black)}.distribution-legend i{background:var(--distribution-color);width:10px;height:10px;display:block}.distribution-legend span{overflow-wrap:anywhere;font-size:10px;font-weight:650;line-height:1.15}.distribution-legend strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.distribution-tone-1{--distribution-color:#f0d329}.distribution-tone-2{--distribution-color:#a7c93f}.distribution-tone-3{--distribution-color:#5eaf58}.distribution-tone-4{--distribution-color:#2f967b}.distribution-tone-5{--distribution-color:#267f9a}.distribution-tone-6{--distribution-color:#426da7}.distribution-tone-7{--distribution-color:#7159a5}.distribution-tone-8{--distribution-color:#a94f88}.distribution-tone-9{--distribution-color:#cf5f55}.distribution-tone-10{--distribution-color:#df8842}@media (max-width:1080px){.header-inner,.dashboard{padding-left:28px;padding-right:28px}.header-inner{grid-template-columns:170px 1fr auto}.primary-nav a{padding-left:14px;padding-right:14px}.primary-modules{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)}.metric{padding-left:11px;padding-right:11px}.metric strong{font-size:40px}}@media (max-width:820px){.site-footer-inner{flex-direction:column;align-items:flex-start;gap:14px;padding:22px 20px 24px}.social-links{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.role-choice-actions{grid-template-columns:1fr}.role-choice-panel>img{margin-bottom:42px}.site-header{height:68px}.header-inner{grid-template-columns:1fr auto auto;padding:0 20px}.primary-nav,.athlete-name,.athlete-menu summary>svg{display:none}.athlete-menu{grid-area:1/3;margin-left:14px}.athlete-menu summary{min-height:42px}.athlete-menu-panel{top:51px;right:-2px}.mobile-menu{grid-area:1/2;display:flex}.dashboard{padding:28px 20px 20px}.dashboard-intro{flex-direction:column;align-items:stretch;margin-bottom:22px}.dashboard-intro h1{margin-bottom:10px;font-size:clamp(45px,12vw,62px)}.sport-selector{grid-template-columns:1fr 1fr;width:100%;margin-top:24px}.sport-selector button{min-height:54px}.stale-banner{max-width:none;margin:0 0 24px}.metric-section .section-title{margin-bottom:10px}.metric-rail{grid-template-columns:repeat(2,1fr)}.metric{min-height:116px;padding:14px 10px}.metric:first-child{padding-left:10px}.metric:nth-child(odd){border-left:0}.metric:nth-child(2n){border-left:1px solid var(--border)}.metric:nth-child(n+3){border-top:1px solid var(--border)}.metric strong{font-size:48px}.primary-modules,.secondary-modules{display:block}.chart-module{padding-right:0}.module-heading{flex-direction:column;align-items:flex-start;gap:10px}.legend{align-self:flex-end;gap:14px}.trend-chart{min-width:630px}.zones-stack,.primary-modules.without-curve .zones-stack{border-left:0;border-top:1px solid var(--border);gap:28px;margin-top:18px;padding-top:22px;padding-left:0;display:flex}.secondary-modules{padding-top:0}.secondary-modules>*{border-top:1px solid var(--border);padding:22px 0 0;border-left:0!important}.secondary-modules>*+*{margin-top:24px}.distribution-row{grid-template-columns:30px 62px 44px minmax(90px,1fr)}.dashboard-footer,.dashboard-meta{flex-direction:column;align-items:flex-start;gap:8px}.login-page{display:block}.login-copy{min-height:46vh;padding:28px 24px 38px}.login-copy h1{margin-top:80px;font-size:clamp(48px,14vw,74px)}.login-copy p{font-size:14px}.login-panel{min-height:0;padding:48px 24px}.admin-page{padding:32px 20px}.admin-nav{gap:18px;margin-bottom:28px;overflow-x:auto}.admin-heading{flex-direction:column;align-items:flex-start;gap:24px}.coach-admin-heading{flex-direction:row}.coach-create-panel{grid-template-columns:minmax(0,1fr);align-items:stretch}.coach-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-create-form button{grid-column:1/-1}.admin-active-heading{flex-direction:column;align-items:stretch;gap:16px}.admin-active-tools{gap:12px}.admin-athlete-search{width:100%;min-width:0}}@media (max-width:520px){.coach-admin-heading{flex-direction:column}.coach-count{align-items:flex-start}.coach-create-form{grid-template-columns:1fr}.coach-create-form button{grid-column:auto}.social-links{grid-template-columns:repeat(2,minmax(0,1fr))}.brand,.brand img{width:118px}.dashboard-intro h1{letter-spacing:.005em;font-size:46px}.dashboard-intro p{font-size:14px}.section-title,.chart-module h2,.zones-module h2,.distribution-module h2,.trend-module h2{font-size:16px}.metric{min-height:105px}.metric strong{font-size:43px}.metric-label{font-size:12px}.metric p span{font-size:11px}.legend{justify-content:space-between;align-self:stretch;font-size:10px}.chart-scroll{margin-left:-20px;margin-right:-20px;padding:0 20px}.trend-chart{min-width:590px}.duration-tick.is-compact-hidden .axis-label{display:none}.zone-row{grid-template-columns:54px minmax(100px,1fr) auto;min-height:42px}.zone-name,.zone-range{padding:7px 8px;font-size:10px}.distribution-row{grid-template-columns:25px 58px 44px minmax(60px,1fr);gap:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.loading-mark{animation:none}}.defined-dashboard{width:100%;max-width:1380px;margin:0 auto;padding:30px 40px 64px}.defined-dashboard-sport-selector{width:max-content;margin:0 0 24px auto}.defined-dashboard-sport-panel{gap:20px;display:grid}.defined-dashboard-sport-panel[hidden]{display:none}.defined-dashboard-sport-panel>.bike-contribution-card,.defined-dashboard-sport-panel>.bike-power-duration-card,.defined-dashboard-sport-panel>.power-history-card{margin-top:0}.bike-contribution-card{color:#343941;background:#fff;border:1px solid #c9cbce;border-radius:5px;min-width:0;padding:15px 12px 8px}.bike-contribution-card h2{margin:0;font-family:Fira Sans,Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.25}.dashboard-chart-heading{align-items:flex-start;gap:7px;margin-bottom:10px;display:flex;position:relative}.chart-info{flex:none;display:inline-flex}.chart-info-button{color:#42474e;cursor:pointer;background:#fff;border:1px solid #747980;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-family:Arial,sans-serif;font-size:13px;font-style:normal;font-weight:700;line-height:1;display:inline-flex}.chart-info-button:hover,.chart-info-button[aria-expanded=true]{background:#f0f3f6;border-color:#24282d}.chart-info-button:focus-visible{outline-offset:2px;outline:2px solid #1c69d4}.chart-info-panel{color:#343941;z-index:10;background:#fff;border:1px solid #c7cbd0;border-radius:6px;width:min(440px,100vw - 48px);max-height:min(560px,100vh - 160px);padding:16px 18px;font-family:Fira Sans,Arial,sans-serif;line-height:1.45;position:absolute;top:calc(100% + 2px);left:0;overflow-y:auto;box-shadow:0 12px 30px #141a202e}.chart-info-panel[hidden]{display:none}.chart-info-panel h3,.chart-info-panel h4{color:#24282d;margin:0}.chart-info-panel h3{font-size:16px}.chart-info-panel h4{margin-top:14px;font-size:13px}.chart-info-panel p{margin:8px 0 0;font-size:12px}.chart-info-panel ul{margin:10px 0 0;padding-left:18px}.chart-info-panel li{margin-top:5px;font-size:12px}.chart-info-panel strong.is-total{color:#d51d1b}.chart-info-panel strong.is-anaerobic{color:#477fd4}.chart-info-panel strong.is-aerobic{color:#37863c}.chart-info-panel strong.is-percentage{color:#656a70}.chart-info-panel strong.is-ftp{color:#d86418}.chart-info-panel strong.is-modeled{color:#d51d1b}.chart-info-panel strong.is-mmp{color:#9d7510}.chart-info-panel strong.is-pmax{color:#656a70}.bike-contribution-readouts{grid-template-columns:minmax(104px,.72fr) repeat(5,minmax(124px,1fr));align-items:end;gap:16px;margin-bottom:2px;display:grid}.bike-contribution-period,.bike-contribution-readout{min-width:0;font-family:Fira Sans,Arial,sans-serif;font-size:12px}.bike-contribution-period{color:#30343a;align-self:center;padding-bottom:7px}.bike-contribution-readout{border-bottom:2px solid #777;justify-content:space-between;align-items:baseline;gap:6px;padding:0 2px 6px;display:flex}.bike-contribution-readout span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bike-contribution-readout strong{white-space:nowrap;font-size:12px;font-weight:400}.bike-contribution-readout.is-total{border-color:#f11f1d}.bike-contribution-readout.is-anaerobic{border-color:#78a7ff}.bike-contribution-readout.is-aerobic{border-color:#59ad5e}.bike-contribution-readout.is-anaerobic-percentage{border-color:#74777b}.bike-contribution-readout.is-aerobic-percentage{border-color:#a3a5a7}.bike-contribution-stage{outline:none;min-width:0}.bike-contribution-stage:focus-visible{box-shadow:0 0 0 2px #1c69d4}.bike-contribution-svg{cursor:crosshair;touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;height:420px;display:block}.bike-contribution-grid{stroke:#dadcdf;stroke-dasharray:3 3;stroke-width:1px}.bike-contribution-axis,.bike-contribution-tick{stroke:#595d62;stroke-width:1px}.bike-contribution-axis-label,.bike-contribution-axis-title,.bike-contribution-ftp-line text,.bike-contribution-inspector text{fill:#565b62;font-family:Fira Sans,Arial,sans-serif;font-size:11px}.bike-contribution-axis-title{font-size:12px}.bike-contribution-time-label{font-size:10px}.bike-contribution-aerobic-area,.bike-contribution-anaerobic-area{stroke:none}.bike-contribution-anaerobic-area{fill:#8db7f1;fill-opacity:.35}.bike-contribution-aerobic-area{fill:#79c876;fill-opacity:.3}.bike-contribution-total-line,.bike-contribution-aerobic-line,.bike-contribution-anaerobic-line,.bike-contribution-aerobic-percentage,.bike-contribution-anaerobic-percentage{fill:none;stroke-linecap:round;stroke-linejoin:round}.bike-contribution-total-line{stroke:#f11f1d;stroke-width:2.4px}.bike-contribution-anaerobic-line{stroke:#75a4ff;stroke-width:2px}.bike-contribution-aerobic-line{stroke:#58ad5d;stroke-width:2px}.bike-contribution-anaerobic-percentage,.bike-contribution-aerobic-percentage{stroke:#85898d;stroke-width:1.25px}.bike-contribution-anaerobic-percentage{stroke-dasharray:8 5}.bike-contribution-aerobic-percentage{stroke-dasharray:3 4}.bike-contribution-ftp-line line{stroke:#ff8128;stroke-dasharray:10 6;stroke-width:1.8px}.bike-contribution-ftp-line text{fill:#f27624;font-size:12px}.bike-contribution-hit-area{fill:#0000;pointer-events:all}.bike-contribution-inspector{pointer-events:none}.bike-contribution-inspector>line{stroke:#71767b;stroke-dasharray:3 3;stroke-width:1px}.bike-contribution-inspector circle{stroke:#fff;stroke-width:1.5px}.bike-contribution-inspector circle.is-total{fill:#f11f1d}.bike-contribution-inspector circle.is-anaerobic{fill:#75a4ff}.bike-contribution-inspector circle.is-aerobic{fill:#58ad5d}.bike-contribution-inspector rect{fill:#555a60}.bike-contribution-inspector text{fill:#fff;font-size:11px}@media (max-width:900px){.bike-contribution-readouts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}.bike-contribution-period{grid-column:1/-1;padding-bottom:0}}@media (max-width:560px){.defined-dashboard{padding:20px 12px 48px}.defined-dashboard-sport-selector{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.bike-contribution-card{padding:13px 8px 6px}.bike-contribution-card h2{margin-left:0;font-size:16px}.dashboard-chart-heading{gap:6px;margin-left:2px}.chart-info-panel{width:calc(100vw - 44px);max-height:calc(100vh - 140px);padding:14px}.bike-contribution-readouts{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 2px}.bike-contribution-readout{flex-direction:column;align-items:flex-start;gap:2px}.bike-contribution-readout span{white-space:normal;font-size:10px}.bike-contribution-readout strong{font-size:11px}.bike-contribution-svg{height:420px}}.bike-power-duration-card{color:#343941;background:#fff;border:1px solid #c9cbce;border-radius:5px;min-width:0;margin-top:20px;padding:15px 12px 8px}.bike-power-duration-card h2{margin:0;font-family:Fira Sans,Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.25}.bike-power-duration-readouts{grid-template-columns:minmax(104px,.72fr) repeat(2,minmax(180px,1fr));align-items:end;gap:16px;max-width:760px;margin-bottom:2px;display:grid}.bike-power-duration-period,.bike-power-duration-readout{min-width:0;font-family:Fira Sans,Arial,sans-serif;font-size:12px}.bike-power-duration-period{color:#30343a;align-self:center;padding-bottom:7px}.bike-power-duration-readout{border-bottom:2px solid #777;justify-content:space-between;align-items:baseline;gap:8px;padding:0 2px 6px;display:flex}.bike-power-duration-readout span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bike-power-duration-readout strong{white-space:nowrap;font-size:12px;font-weight:400}.bike-power-duration-readout.is-modeled{border-color:#f11f1d}.bike-power-duration-readout.is-mmp{border-color:#deb62e}.bike-power-duration-stage{outline:none;min-width:0}.bike-power-duration-stage:focus-visible{box-shadow:0 0 0 2px #1c69d4}.bike-power-duration-svg{cursor:crosshair;touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;height:420px;display:block}.bike-power-grid{stroke:#dadcdf;stroke-dasharray:3 3;stroke-width:1px}.bike-power-axis,.bike-power-tick{stroke:#595d62;stroke-width:1px}.bike-power-axis-label,.bike-power-axis-title,.bike-power-reference text,.bike-power-inspector text{fill:#565b62;font-family:Fira Sans,Arial,sans-serif;font-size:11px}.bike-power-axis-title{font-size:12px}.bike-power-time-label{font-size:10px}.bike-power-mmp-area{fill:#f1df91;fill-opacity:.42;stroke:none}.bike-power-modeled-line,.bike-power-mmp-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.bike-power-modeled-line{stroke:#f11f1d;stroke-width:2.4px}.bike-power-mmp-line{stroke:#ddb328;stroke-dasharray:8 5;stroke-width:1.8px}.bike-power-reference line{stroke-width:1.6px}.bike-power-reference.is-pmax line{stroke:#7f8388;stroke-dasharray:9 6}.bike-power-reference.is-pmax text{fill:#73787d}.bike-power-reference.is-ftp line{stroke:#ff8128;stroke-dasharray:10 6;stroke-width:1.8px}.bike-power-reference.is-ftp text{fill:#f27624;font-size:12px}.bike-power-hit-area{fill:#0000;pointer-events:all}.bike-power-inspector{pointer-events:none}.bike-power-inspector>line{stroke:#71767b;stroke-dasharray:3 3;stroke-width:1px}.bike-power-inspector circle{stroke:#fff;stroke-width:1.5px}.bike-power-inspector circle.is-modeled{fill:#f11f1d}.bike-power-inspector circle.is-mmp{fill:#ddb328}.bike-power-inspector rect{fill:#555a60}.bike-power-inspector text{fill:#fff;font-size:11px}@media (max-width:700px){.bike-power-duration-readouts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;max-width:none}.bike-power-duration-period{grid-column:1/-1;padding-bottom:0}}@media (max-width:560px){.bike-power-duration-card{padding:13px 8px 6px}.bike-power-duration-card h2{margin-left:0;font-size:16px}.bike-power-duration-readouts{padding:0 2px}.bike-power-duration-readout{flex-direction:column;align-items:flex-start;gap:2px}.bike-power-duration-readout span{white-space:normal;font-size:10px}.bike-power-duration-readout strong{font-size:11px}.bike-power-duration-svg{height:420px}}.dashboard-section{border-top:1px solid var(--black);min-height:62vh;margin-top:54px;padding-top:22px;scroll-margin-top:88px}.performance-section{margin-top:12px}.dashboard-section-heading{justify-content:space-between;align-items:baseline;margin-bottom:24px;display:flex}.dashboard-section-heading h2,.season-profile h2,.capture-history h2{letter-spacing:.005em;text-transform:uppercase;margin:0;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:clamp(28px,3vw,44px);font-weight:400;line-height:1}.dashboard-section-heading span,.capture-history-heading span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:700}.performance-section .chart-module{padding-right:0}.workouts-section{min-height:0;margin-top:12px}.workouts-section .dashboard-section-heading h2{align-items:center;gap:10px;display:flex}.workout-list{gap:10px;display:grid}.workout-card{background:var(--surface);border:1px solid var(--border);grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 18px;display:grid}.workout-card time{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.workout-card>div{gap:4px;min-width:0;display:grid}.workout-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workout-card>div span{color:var(--muted);font-size:12px}.workout-card ul{gap:14px;margin:0;padding:0;list-style:none;display:flex}.workout-card li{white-space:nowrap;font-size:12px;font-weight:700}.current-mftp{background:var(--black);color:var(--white);grid-template-columns:1fr auto auto;align-items:center;min-height:88px;margin-bottom:24px;padding:16px 22px;display:grid}.current-mftp>span{text-transform:uppercase;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:24px}.current-mftp p,.season-marker p{align-items:baseline;gap:7px;margin:0;display:flex}.current-mftp strong{color:var(--yellow);font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:52px;line-height:1}.current-mftp small,.season-marker small{color:var(--muted);font-size:11px}.current-mftp em{color:#a8a8a8;font-size:11px;font-style:normal}.zones-layout{grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:34px;display:grid}.zones-layout .zones-stack{border-left:0;padding-left:0}.zones-distributions{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.zones-distributions .distribution-module{border:1px solid var(--border);min-height:354px;padding:18px}.season-profile h2,.capture-history h2{margin-bottom:16px;font-size:21px}.season-profile-grid{border-bottom:1px solid var(--border);border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.season-marker{min-width:0;padding:15px 14px}.season-marker+.season-marker{border-left:1px solid var(--border)}.season-marker:nth-child(4n+1){border-left:0}.season-marker:nth-child(n+5){border-top:1px solid var(--border)}.season-marker>span{color:var(--muted);min-height:30px;font-size:11px;display:block}.season-marker strong{font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:31px;line-height:1}.capture-history-heading{justify-content:space-between;align-items:baseline;display:flex}.capture-history .trend-module{margin:18px 0 26px}.capture-table-scroll{overflow-x:auto}.capture-table{border-collapse:collapse;white-space:nowrap;min-width:100%;font-size:12px}.capture-table th,.capture-table td{border-bottom:1px solid var(--border);text-align:right;padding:10px 14px}.capture-table thead th{background:var(--black);color:var(--white);font-weight:600}.capture-table th:first-child{text-align:left;z-index:2;min-width:250px;position:sticky;left:0}.capture-table tbody th{background:var(--white)}.capture-table tbody th small{color:var(--muted);margin-top:2px;font-weight:400;display:block}.capture-table tbody tr:hover th,.capture-table tbody tr:hover td{background:var(--surface)}.history-pending,.section-empty{border:1px solid var(--border);color:var(--muted);margin:18px 0;padding:18px;font-size:13px}.evolution-trends{border-top:1px solid var(--border);margin-top:30px;padding-top:20px}@media (max-width:820px){.site-header{height:112px}.header-inner{grid-template-rows:68px 44px;position:relative}.primary-nav{grid-area:2/1/auto/-1;min-width:0;height:44px;display:flex}.primary-nav a{flex:1;justify-content:center;padding:0 8px}.dashboard-section{min-height:50vh;scroll-margin-top:128px}.dashboard-section-heading{flex-direction:column;align-items:flex-start;gap:8px}.current-mftp{grid-template-columns:1fr auto}.current-mftp em{grid-column:1/-1;margin-top:4px}.zones-layout{display:block}.zones-layout .zones-stack{border-top:0;margin-top:0;padding-top:0}.zones-distributions{border-top:1px solid var(--border);grid-template-columns:1fr;margin-top:28px;padding-top:24px}.zones-distributions .distribution-module{min-height:0}.season-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.season-marker:nth-child(4n+1){border-left:1px solid var(--border)}.season-marker:nth-child(odd){border-left:0}.season-marker:nth-child(n+3){border-top:1px solid var(--border)}.capture-table th:first-child{min-width:190px}}@media (max-width:520px){.dashboard-section-heading h2{font-size:32px}.workout-card{grid-template-columns:1fr;align-items:start;gap:8px}.workout-card ul{flex-wrap:wrap}.current-mftp{padding:14px}.current-mftp>span{font-size:20px}.current-mftp strong{font-size:44px}.season-marker{padding:12px 9px}.season-marker strong{font-size:27px}}@media (orientation:landscape) and (max-height:600px) and (pointer:coarse){.site-header{position:relative;top:auto}.dashboard-section,.defined-dashboard-section{scroll-margin-top:16px}}.evolution-section{min-height:0}.capture-history{border-top:0;margin-top:0;padding-top:0}.history-toolbar{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:22px;display:flex}.history-toolbar h2{margin:4px 0 7px;font-size:clamp(32px,4vw,56px)}.history-toolbar p{color:var(--muted);margin:0;font-size:13px}.history-eyebrow{letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:800}.history-range{border:1px solid var(--black);flex:none;display:flex}.history-range button{background:var(--white);color:var(--black);cursor:pointer;font:inherit;text-transform:uppercase;border:0;min-height:39px;padding:0 14px;font-size:10px;font-weight:800}.history-range button+button{border-left:1px solid var(--black)}.history-range button:hover,.history-range button:focus-visible,.history-range button.is-selected{background:var(--yellow);outline:none}.capture-table-scroll{border:1px solid var(--black);overscroll-behavior:contain;max-height:72vh;overflow:auto}.capture-table{border-collapse:separate;border-spacing:0;table-layout:fixed;white-space:nowrap;width:100%;min-width:max-content;font-size:12px}.capture-table th,.capture-table td{text-align:center;border-bottom:1px solid #c8c8c3;border-right:1px solid #c8c8c3;height:42px;padding:0}.capture-table thead th{background:var(--black);color:var(--white);z-index:5;min-width:142px;height:61px;position:sticky;top:0}.capture-table thead th>span,.capture-table thead th>time,.capture-table thead th>small{display:block}.capture-table thead th>span{color:var(--yellow);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.capture-table thead th>time{margin-top:5px;font-size:11px;font-weight:600}.capture-table thead th>small{color:#c8c8c3;text-overflow:ellipsis;white-space:nowrap;max-width:142px;margin-top:3px;font-size:9px;overflow:hidden}.capture-table th:first-child{text-align:left;z-index:4;width:282px;min-width:282px;position:sticky;left:0}.capture-table thead th:first-child{z-index:7;padding:0 16px}.capture-table tbody>tr:not(.capture-group-row)>th{background:var(--white);padding:7px 14px;font-size:11px}.capture-table tbody>tr:not(.capture-group-row)>th small{color:var(--muted);margin-top:2px;font-size:9px;font-weight:500;display:block}.capture-group-row th{background:var(--black);color:var(--white);text-align:left;z-index:3;height:40px;position:sticky;left:0}.capture-group-row button{color:var(--black);cursor:pointer;font:inherit;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:10px;width:100%;height:100%;padding:0 14px;font-size:11px;font-weight:800;display:flex}.capture-group-row button>span{color:var(--yellow);font-size:18px;line-height:1}.capture-group-row button small{color:#9d9d99;margin-left:auto;font-size:9px}.capture-table tbody .capture-group-row:hover button,.capture-table tbody .capture-group-row:hover button>span,.capture-table tbody .capture-group-row:hover button small{color:var(--black)}.capture-table td{background:var(--surface);min-width:142px;position:relative}.capture-table td>button{color:var(--black);cursor:help;font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:100%;min-height:41px;padding:6px 10px;font-weight:800;display:flex}.capture-table td.is-empty{color:#858580;background:#f1f1ee}.capture-table td.is-empty>button{color:#858580;cursor:default;font-weight:500}.capture-table td>button:focus-visible{box-shadow:inset 0 0 0 3px var(--black);outline:none}.history-cell-detail{background:var(--black);color:var(--white);text-align:left;white-space:normal;z-index:30;min-width:210px;padding:13px 14px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.capture-table td>button:hover .history-cell-detail,.capture-table td>button:focus-visible .history-cell-detail{gap:3px;display:grid}.history-cell-detail strong{color:var(--yellow);font-size:12px}.history-cell-detail small,.history-cell-detail time,.history-cell-detail em{color:#b8b8b3;font-size:10px;font-style:normal}.history-cell-detail b{margin-top:5px;font-size:19px}.history-legend{text-transform:uppercase;align-items:center;gap:14px;margin:13px 0 0;font-size:10px;display:flex}.history-legend span{align-items:center;gap:5px;display:flex}.history-legend i{width:12px;height:12px;display:inline-block}.history-legend .heat-low{background:#f4ef2f}.history-legend .heat-high{background:#49b35e}.history-legend small{color:var(--muted);text-transform:none;margin-left:auto;font-size:9px}@media (max-width:820px){.history-toolbar{flex-direction:column;align-items:stretch}.history-range{align-self:flex-start;max-width:100%;overflow-x:auto}.history-range button{min-width:max-content;padding:0 11px}.capture-table-scroll{max-height:70vh;margin-left:-20px;margin-right:-20px}.capture-table th:first-child{width:42vw;min-width:42vw}.capture-table thead th,.capture-table td{min-width:128px}.history-legend{flex-wrap:wrap;align-items:flex-start}.history-legend small{flex-basis:100%;margin-left:0}}.power-history-card{color:#343941;background:#fff;border:1px solid #c9cbce;border-radius:5px;min-width:0;padding:15px 12px 12px;overflow:hidden}.power-history-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.power-history-heading{margin-bottom:12px}.power-history-card h2{margin:0;font-family:Fira Sans,Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.25}.power-history-card .power-history-legend{text-transform:none;flex:none;align-items:center;gap:6px;margin:3px 2px 0 0;font-family:Fira Sans,Arial,sans-serif;font-size:11px;display:flex}.power-history-card .power-history-legend i{border:1px solid #34394124;border-radius:2px;width:25px;height:14px}.power-history-card .power-history-legend .is-minimum{background:#fff200}.power-history-card .power-history-legend .is-maximum{background:#41b263}.power-history-scroll{overscroll-behavior-inline:contain;scrollbar-color:#afb3b8 #eef0f1;scrollbar-width:thin;max-width:100%;overflow-x:auto}.power-history-dialog-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;display:flex}.power-history-empty{color:#565d65;margin:6px 0;font-size:13px}.power-history-dialog-actions button{cursor:pointer;font:inherit;background:#fff;border:1px solid #777d84;border-radius:5px;min-height:40px;padding:8px 14px;font-size:13px}.power-history-dialog-actions .power-history-delete-button{color:#fff;background:#a92c30;border-color:#a92c30}.power-history-trash-button:disabled,.power-history-dialog-actions button:disabled{cursor:not-allowed;opacity:.5}.power-history-capture-heading{align-items:center;gap:6px;display:inline-flex}.power-history-trash-button{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:0;border-radius:4px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.power-history-trash-button:hover:not(:disabled){opacity:1;background:#ffffff29}.power-history-trash-button:focus-visible,.power-history-dialog-actions button:focus-visible{outline-offset:2px;outline:3px solid #69b5e8}.power-history-delete-dialog{color:#343941;background:#fff;border:1px solid #c9cbce;border-radius:8px;max-width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:24px}.power-history-delete-dialog::backdrop{background:#14191f8c}.power-history-delete-dialog h3{margin:0 0 12px;font-size:20px}.power-history-delete-dialog p{font-size:14px;line-height:1.6}.power-history-delete-dialog .power-history-dialog-actions{justify-content:flex-end;margin:20px 0 0}.power-history-delete-error{color:#a92c30}.power-history-scroll:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #343941}.power-history-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-family:Fira Sans,Arial,sans-serif;font-size:13px}.power-history-table th,.power-history-table td{text-align:center;white-space:nowrap;border-bottom:1px solid #d8dadd;border-right:1px solid #d8dadd;min-width:136px;height:42px;padding:8px 12px}.power-history-table thead th{color:#fff;z-index:2;background:#343941;font-size:12px;font-weight:500;position:sticky;top:0}.power-history-table thead time{font-variant-numeric:tabular-nums}.power-history-table .power-history-metric-column{text-align:left;z-index:3;border-left:1px solid #d8dadd;width:174px;min-width:174px;position:sticky;left:0}.power-history-table thead .power-history-metric-column{z-index:4}.power-history-table tbody .power-history-metric-column{background:#f5f6f4;font-weight:600}.power-history-table td{color:#27302b;font-variant-numeric:tabular-nums;font-weight:650}.power-history-table td.is-missing{color:#8d9296;background:#fff;font-weight:400}.power-history-metric-label{width:max-content;display:block;position:relative}.power-history-metric-label button{color:inherit;cursor:help;font:inherit;text-align:left;background:0 0;border:0;padding:0}.power-history-metric-tooltip{color:#fff;white-space:normal;z-index:10;background:#343941;width:max-content;max-width:280px;padding:8px 10px;font-size:11px;font-weight:400;display:none;position:absolute;bottom:calc(100% + 8px);left:0}.power-history-metric-label:hover .power-history-metric-tooltip,.power-history-metric-label:focus-within .power-history-metric-tooltip{display:block}.power-history-metric-label button:focus-visible{outline-offset:3px;outline:2px solid #343941}@media (max-width:700px){.power-history-header{display:block}.power-history-card .power-history-legend{justify-content:flex-end;margin:0 2px 10px}}@media (max-width:560px){.power-history-card{padding:13px 8px 8px}.power-history-card h2{font-size:16px}.power-history-table th,.power-history-table td{min-width:122px;padding:7px 9px}.power-history-table .power-history-metric-column{width:142px;min-width:142px}}.portfolio-assignment-fields{border:0;min-width:0;margin:0;padding:0;display:contents}.power-history-row-unit{color:#666d74;font-size:.7rem;font-weight:400;line-height:1.4;display:block}
.performance-summary{color:#343941;background:#fff;border:1px solid #d4d7da;border-radius:8px;min-width:0;padding:18px;box-shadow:0 8px 24px #191c200f}.performance-summary-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.performance-summary-heading .dashboard-chart-heading{margin-bottom:0}.performance-summary-heading h3{color:#343941;margin:0;font-family:Fira Sans,Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.25}.performance-summary-heading>span{color:#71767c;flex:none;font-size:13px}.performance-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.performance-summary-metric{--summary-tone:#7a7f85;border:1px solid #d4d7da;border-top:6px solid var(--summary-tone);background:#fff;border-radius:8px;min-width:0;padding:14px 16px 15px}.performance-summary-metric.is-pmax{--summary-tone:#ef3f35}.performance-summary-metric.is-vo2max{--summary-tone:#5788e6}.performance-summary-metric.is-tte{--summary-tone:#8167c9}.performance-summary-metric.is-frc{--summary-tone:#ed8b2f}.performance-summary-metric.is-mftp{--summary-tone:#4fa967}.performance-summary-metric.is-stamina{--summary-tone:#d7c90c}.performance-summary-metric>span{color:#626870;font-size:13px}.performance-summary-metric p{align-items:baseline;gap:7px;margin:8px 0 0;display:flex}.performance-summary-metric strong{color:#20242a;font-family:Fira Sans,Arial,sans-serif;font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1}.performance-summary-metric small{color:#71767c;font-size:12px}.performance-summary-glossary{gap:8px;margin:14px 0 0;display:grid}.performance-summary-glossary>div{gap:2px;display:grid}.performance-summary-glossary dt{color:#343941;font-size:12px;font-weight:700}.performance-summary-glossary dd{color:#626870;margin:0;font-size:12px;line-height:1.45}@media (max-width:560px){.performance-summary{padding:14px 12px}.performance-summary-heading{flex-direction:column;align-items:flex-start;gap:7px}.performance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-summary-metric{padding:12px 10px 13px}.performance-summary-metric p{flex-direction:column;align-items:flex-start;gap:3px}}@media (max-width:350px){.performance-summary-grid{grid-template-columns:1fr}}
.login-panel .login-action a{margin-top:0;padding:12px 20px;display:flex}.login-email-divider{color:var(--muted);align-items:center;gap:14px;margin:26px 0;font-size:12px;display:flex}.login-email-divider:before,.login-email-divider:after{background:var(--border);content:"";flex:1;height:1px}.email-code-form{flex-direction:column;min-width:0;display:flex}.email-code-form label{margin-bottom:8px;font-size:14px;font-weight:600;line-height:1.5}.email-code-form input:not([type=hidden]){background:var(--white);color:var(--black);border:1px solid #9c9fa4;border-radius:0;width:100%;min-width:0;min-height:50px;padding:12px 14px;font-size:16px}.email-code-form input.email-code-input{font-variant-numeric:tabular-nums;letter-spacing:.16em}.email-code-hint{color:var(--muted);margin:9px 0 20px;font-size:13px;line-height:1.55}.email-code-destination{border-left:3px solid var(--yellow);flex-direction:column;gap:5px;margin-bottom:22px;padding:4px 0 4px 13px;display:flex}.email-code-destination span{color:var(--muted);font-size:12px}.email-code-destination strong{overflow-wrap:anywhere;font-size:15px}.email-code-status{font-size:14px;line-height:1.55}.email-code-status:empty{display:none}.email-code-status p{background:var(--surface);margin:0 0 18px;padding:12px 14px}.email-code-status-error{color:#a5231b}.email-code-status-error p{background:#fff3f0}.email-code-submit{background:var(--yellow);border:1px solid var(--yellow);color:var(--black);cursor:pointer;min-height:52px;padding:13px 18px;font-size:14px;font-weight:700;line-height:1.4}.email-code-submit:hover:not(:disabled){background:#e5dd00}.email-code-secondary{flex-wrap:wrap;justify-content:space-between;gap:4px 22px;margin-top:9px;display:flex}.email-code-secondary button,.athlete-link-signout button{color:var(--charcoal);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;min-height:44px;padding:8px 0;font-size:13px;text-decoration:underline}.email-code-form :disabled{cursor:not-allowed;opacity:.6}.email-code-form :is(button,input):focus-visible,.athlete-link-panel :is(a,button):focus-visible,.login-panel .login-action a:focus-visible{outline:2px solid var(--black);outline-offset:4px}.athlete-link-page{background:var(--black);flex-direction:column;justify-content:center;align-items:center;padding:42px 24px;display:flex}.athlete-link-page>img{width:160px;height:auto;margin-bottom:30px}.athlete-link-panel{background:var(--white);border-top:4px solid var(--yellow);width:100%;max-width:560px;padding:38px 42px 24px}.athlete-link-eyebrow{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.athlete-link-panel h1{letter-spacing:-.015em;text-transform:uppercase;margin:12px 0 16px;font-family:Impact,Arial Narrow,MetaPlus,sans-serif;font-size:clamp(34px,4vw,44px);font-weight:400;line-height:1}.athlete-link-panel header p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.athlete-link-session{border-bottom:1px solid var(--border);color:var(--muted);margin:20px 0 26px;padding-bottom:20px;font-size:13px;line-height:1.6}.athlete-link-session strong{color:var(--charcoal);overflow-wrap:anywhere;font-weight:500;display:block}.athlete-link-help{background:var(--surface);border-left:3px solid var(--border);color:var(--muted);margin:24px 0 0;padding:14px 16px;font-size:13px;line-height:1.65}.athlete-link-help a{color:var(--black);overflow-wrap:anywhere;text-underline-offset:3px;font-weight:500;text-decoration:underline}.athlete-link-signout{text-align:center;margin-top:12px}@media (max-width:600px){.athlete-link-page{justify-content:flex-start;padding:28px 16px}.athlete-link-page>img{width:140px;margin-bottom:24px}.athlete-link-panel{padding:28px 22px 18px}}
.directory-group-workspace{margin:0 0 24px}.directory-group-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:stretch;gap:6px;padding-bottom:14px;display:flex}.directory-group-tabs button,.directory-group-summary button,.directory-group-secondary,.directory-group-delete button{border:1px solid var(--border);background:var(--white);min-height:40px;color:var(--black);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font:600 12px/1.4 Fira Sans,Arial,sans-serif;display:inline-flex}.directory-group-tabs button{text-align:left;max-width:100%}.directory-group-tabs button>span:first-child{overflow-wrap:anywhere}.directory-group-tabs button[aria-pressed=true]{background:var(--black);color:var(--white);border-color:var(--black)}.directory-group-tabs .directory-group-create{background:var(--yellow);color:var(--black);border-color:var(--black)}.directory-group-count{border:1px solid;flex-shrink:0;padding:1px 6px;font-size:10px}.directory-group-summary{justify-content:space-between;align-items:center;gap:16px;padding:18px 0 0;display:flex}.directory-group-summary p{overflow-wrap:anywhere;flex-direction:column;gap:5px;min-width:0;margin:0;display:flex}.directory-group-summary p>span{color:var(--muted);font-size:12px}.directory-group-summary>div{flex-shrink:0;gap:8px;display:flex}.directory-group-editor{border:1px solid var(--black);background:#fafaf8;margin-top:18px;padding:24px}.directory-group-editor header,.directory-group-editor footer{justify-content:space-between;align-items:center;gap:20px;display:flex}.directory-group-editor h2{margin:5px 0 0;font-size:30px}.directory-group-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:10px}.directory-group-editor fieldset{border:0;min-width:0;margin:24px 0 0;padding:0}.directory-group-name{flex-direction:column;gap:8px;font-size:12px;font-weight:600;display:flex}.directory-group-name input{background:var(--white);border:1px solid var(--border);min-height:44px;color:var(--black);font:inherit;width:100%;padding:10px 12px}.directory-group-picker-heading{align-items:center;gap:16px;margin-top:20px;display:flex}.directory-group-picker-heading .admin-athlete-search{flex:1;width:auto;min-width:0}.directory-group-picker-heading>span{flex-shrink:0;font-size:12px}.directory-group-selection-actions{flex-wrap:wrap;gap:8px 20px;margin:14px 0;display:flex}.directory-group-selection-actions button{color:var(--black);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:3px 0;font:500 12px/1.4 Fira Sans,Arial,sans-serif}.directory-group-candidates{border:1px solid var(--border);background:var(--white);grid-template-columns:repeat(2,minmax(0,1fr));max-height:330px;display:grid;overflow-y:auto}.directory-group-candidate{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.directory-group-candidate:has(input:checked){background:#faf9d5}.directory-group-candidate:has(input:disabled){color:var(--muted);cursor:not-allowed;background:#f2f2ef}.directory-group-candidate input{width:18px;height:18px;accent-color:var(--black);flex-shrink:0}.directory-group-candidate>span{overflow-wrap:anywhere;flex-direction:column;gap:5px;min-width:0;display:flex}.directory-group-candidate strong{font-size:13px;font-weight:600}.directory-group-candidate small{color:var(--muted);font-size:11px}.directory-group-editor footer{padding-top:20px}.directory-group-editor footer>span{color:var(--muted);font-size:12px}.directory-group-primary{border:1px solid var(--black);background:var(--yellow);min-height:44px;color:var(--black);cursor:pointer;flex-shrink:0;padding:12px 24px;font:700 12px/1.4 Fira Sans,Arial,sans-serif}.directory-group-workspace button:disabled{opacity:.5;cursor:not-allowed}.directory-group-empty{color:var(--muted);grid-column:1/-1;padding:16px;font-size:13px}.directory-group-notice,.directory-group-unavailable{margin:14px 0;font-size:13px}.directory-group-error{color:#9b2222;font-size:13px}.directory-group-delete{background:#fff8f6;border:1px solid #bfa09b;margin-top:12px;padding:16px}.directory-group-delete p{overflow-wrap:anywhere;font-size:13px}.directory-group-delete>div{justify-content:flex-end;gap:8px;display:flex}.directory-group-delete button[type=submit]{background:var(--black);color:var(--white)}@media (max-width:640px){.directory-group-editor{padding:16px}.directory-group-summary{flex-direction:column;align-items:stretch}.directory-group-editor header{align-items:flex-start;gap:10px}.directory-group-editor footer,.directory-group-picker-heading{flex-direction:column;align-items:stretch;gap:12px}.directory-group-candidates{grid-template-columns:minmax(0,1fr)}.directory-group-primary{width:100%}}
.profile-archive-confirmation{border-top:1px solid var(--border,#e3e6eb);margin-top:1rem;padding-top:1rem}.profile-archive-confirmation>summary{color:#a52b36;cursor:pointer;font-weight:650}.profile-archive-form,.profile-restore-form{gap:.85rem;display:grid}.profile-archive-form{min-width:0;padding-top:.85rem;position:static}.profile-archive-form p,.profile-restore-form p{color:var(--muted,#58616e);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.profile-archive-form p strong{color:var(--black,#111);font-size:inherit;display:inline}.profile-archive-form .confirmation-check,.profile-restore-form .confirmation-check{align-items:flex-start;gap:.6rem;line-height:1.45;display:flex}.profile-archive-form input[type=checkbox],.profile-restore-form input[type=checkbox]{flex:none;width:1rem;height:1rem;margin-top:.15rem}.profile-archive-form button,.profile-restore-form button{min-height:44px}.profile-archive-form button.suspend,.admin-table .profile-archive-form button.suspend{color:#fff;cursor:pointer;font:inherit;background:#a52b36;border:1px solid #a52b36;padding:12px 16px;font-weight:600}.profile-archive-form button.suspend:hover{background:#87232c}.profile-archive-form button:disabled,.profile-restore-form button:disabled{cursor:wait;opacity:.6}.profile-archive-form [role=alert],.profile-restore-form [role=alert]{color:#a52b36}.archived-profiles-table td{vertical-align:top}.archived-profiles-table .profile-restore-form{min-width:200px;max-width:280px}@media (max-width:720px){.archived-profiles-table .profile-restore-form{width:100%;min-width:0;max-width:none}}
