:root{--slate: #161c27;--slate-2: #1f2735;--slate-3: #2a3445;--line: #36425a;--ink: #eef2f8;--muted: #9aa7bd;--faint: #6b7891;--clay: #d8553a;--clay-dark: #b8442d;--lane: #f4ede4;--go: #b9f24a;--go-dark: #9fd62f;--blue: #5b9bd5;--warn: #e0a23a;--q: #d8553a;--s: #4f8a5b;--f: #cf9b34;--r: #3f7d6b;--c: #4a7fb5;--g: #8a63d2;--rest: #4a5468;--radius: 14px;--mono: "JetBrains Mono", monospace}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--slate);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%;text-size-adjust:100%}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Oswald,sans-serif}.app,.wrap,.card,.week,.day,.modal,.overlay{min-width:0}.btn,.subtabs button,.card,.week-head,.day,.task-editor,.athlete-task,.objective-row,.history-row,.config-row,.admin-row,.permission-grid label,.user-row,.modal,.tab{-webkit-tap-highlight-color:transparent}.app{min-height:100vh}.topbar{min-height:60px;display:flex;align-items:center;gap:14px;padding:11px 20px;background:#1f2735f5;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 6px 22px #0000001f}.brand{display:flex;align-items:center;gap:10px;font-family:Oswald,sans-serif;font-size:21px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.brand small{color:var(--clay);font-size:10px;letter-spacing:.18em;align-self:flex-end;margin-bottom:5px}.puck{width:34px;height:31px;border-radius:8px;background:#081d31;position:relative;overflow:hidden;box-shadow:0 8px 20px #b9f24a24}.puck:before,.puck:after{content:"";position:absolute;width:25px;height:7px;left:5px;border-radius:8px 2px;background:var(--go);transform:skew(-25deg) rotate(-12deg)}.puck:before{top:7px;box-shadow:2px 9px 0 var(--go)}.puck:after{width:17px;top:21px;left:12px}.brand-name>span{color:var(--go)}.spacer{flex:1}.who{font-size:13px}.role-pill{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:10px;letter-spacing:.12em;padding:3px 9px;border:1px solid var(--line);border-radius:20px}.role-pill.coach{color:var(--go);background:#222a18;border-color:#3c4a2a}.role-pill.athlete{color:var(--blue);background:#1a2533;border-color:#2c3e54}.season-select{background:var(--slate);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12px;max-width:160px}.coach-select{background:var(--slate);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12px;max-width:210px}.wrap{width:100%;max-width:1240px;margin:0 auto;padding:24px 22px 70px}.app-sidebar{position:fixed;z-index:24;top:60px;bottom:0;left:0;width:230px;display:flex;flex-direction:column;padding:18px 12px;background:#111925;border-right:1px solid var(--line)}.sidebar-brand{display:none;align-items:center;gap:9px;padding:4px 10px 18px;font-family:Oswald,sans-serif;font-size:20px;text-transform:uppercase}.app-sidebar nav{display:grid;gap:5px}.app-sidebar nav button,.sidebar-back,.mobile-more-sheet button{width:100%;min-height:42px;display:flex;align-items:center;gap:11px;padding:9px 12px;color:var(--muted);background:transparent;border:0;border-radius:8px;text-align:left;font:inherit;cursor:pointer}.app-sidebar nav button:hover,.app-sidebar nav button.on{color:var(--ink);background:var(--slate-3)}.app-sidebar nav button.on{border-left:3px solid var(--clay);color:#fff}.sidebar-back{margin-bottom:10px;color:#ff9b86}.sidebar-context{padding:10px 12px 8px;color:var(--clay);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;overflow-wrap:anywhere}.app-sidebar footer{display:grid;gap:4px;margin-top:auto;padding:14px 10px 0;border-top:1px solid var(--line)}.app-sidebar footer small{color:var(--muted)}.app-sidebar footer button{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 0;color:var(--muted);background:transparent;border:0;text-align:left;cursor:pointer}.ui-icon{width:21px;height:21px;flex:none;display:block}.icon-btn{width:40px;min-width:40px;height:40px;padding:8px}.btn.sm.icon-btn{width:36px;min-width:36px;height:36px;padding:7px}.icon-btn .ui-icon{width:20px;height:20px}.app-sidebar~.wrap{width:calc(100% - 230px);max-width:none;margin-left:230px}.mobile-bottom-nav,.mobile-more-sheet,.mobile-more-backdrop{display:none}.detail-back-row{display:none;margin:0 0 12px}.record-actions-toolbar{margin-bottom:12px}.athlete-context-bar{position:relative;display:flex;align-items:center;gap:11px;min-height:62px;margin:0 0 18px;padding:9px 12px;background:color-mix(in srgb,var(--slate-2) 72%,transparent);border:1px solid var(--line);border-radius:12px}.avatar.athlete-context-avatar{width:40px;height:40px;color:#fff;background:var(--clay);border-radius:50%}.athlete-context-name{min-width:0;display:flex;align-items:center;gap:9px}.athlete-context-name b{overflow:hidden;font-family:Oswald,sans-serif;font-size:19px;text-overflow:ellipsis;white-space:nowrap}.athlete-context-name>span{flex:none;padding:2px 8px;color:var(--muted);background:var(--slate-3);border:1px solid var(--line);border-radius:8px;font-size:11px}.athlete-actions{position:relative;margin-left:auto}.athlete-actions summary{min-height:38px;display:flex;align-items:center;padding:7px 12px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:9px;font-size:12px;font-weight:700;cursor:pointer;list-style:none}.athlete-actions summary::-webkit-details-marker{display:none}.athlete-actions[open] summary{background:var(--slate-3)}.athlete-actions-menu{position:absolute;z-index:40;top:calc(100% + 7px);right:0;width:180px;overflow:hidden;padding:5px;background:var(--slate-2);border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 38px #0009}.athlete-actions-menu button{width:100%;min-height:38px;padding:7px 10px;color:var(--ink);background:transparent;border:0;border-radius:7px;text-align:left}.athlete-actions-menu button:hover{background:var(--slate-3)}.mobile-action-label{display:none}.detail-page-head{margin-bottom:18px}.detail-page-head.records-page-head{margin-bottom:5px}.detail-page-head h2{margin:0}.detail-page-head p{margin:2px 0 0;color:var(--muted);font-size:12px}.race-actions-toolbar{margin-bottom:12px}.sidebar-edit-label{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.rp-toolbar{margin-bottom:12px}.rp-list{padding:12px}.rp-list .mark-head,.rp-list .mark-row{max-width:none}.athlete-card{position:relative}.athlete-card-delete{position:absolute;right:12px;bottom:12px}.mobile-account{display:grid;gap:1px;padding:12px 10px 8px;margin-top:6px;border-top:1px solid var(--line)}.mobile-account small{color:var(--muted)}.public-records{width:min(1500px,100%);margin:0 auto;padding:24px 22px 50px;overflow-x:hidden}.public-records>*{max-width:100%}.public-records .table-wrap,.public-records .record-track-selector{width:100%}.public-records-head{display:block;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line);text-align:left}.public-records-head h1,.public-records-head p{margin:0}.public-records-head h1{font-size:32px;text-transform:uppercase}.public-records-head p{color:var(--muted)}.public-records-foot{padding:24px 0 0;color:var(--faint);text-align:left;font-size:11px}.login{min-height:calc(100vh - 60px);padding:28px;display:grid;place-items:center;background:radial-gradient(circle at 20% 15%,rgba(216,85,58,.09),transparent 33%),linear-gradient(160deg,#161c27 10%,#121722)}.login-card{width:min(440px,100%);overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--slate-2);box-shadow:0 30px 80px #00000059}.login-hero{padding:32px 32px 25px;background:linear-gradient(135deg,#2a1812,#161c27);border-bottom:3px solid var(--clay);position:relative}.login-hero .lanes{position:absolute;inset:0;opacity:.08;background:repeating-linear-gradient(180deg,transparent 0 27px,var(--lane) 27px 29px)}.login-hero>*:not(.lanes){position:relative}.login-hero h1{margin:7px 0 8px;font-size:34px;line-height:1.05;text-transform:uppercase}.login-hero p{margin:0;color:var(--muted);font-size:13.5px}.login-body{display:grid;gap:9px;padding:25px 31px 29px}.login-body .label{margin:4px 0 -3px}.login-body .btn.full{position:static;width:100%;margin-top:8px}.eyebrow,.label{display:block;color:var(--faint);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.eyebrow{color:var(--clay);font-family:Oswald,sans-serif;letter-spacing:.16em}.label{margin-bottom:6px}.users{display:grid;gap:9px}.user-row{width:100%;display:flex;align-items:center;gap:12px;padding:11px 13px;color:var(--ink);text-align:left;background:var(--slate);border:1px solid var(--line);border-radius:12px;transition:.15s}.user-row:hover,.user-row.selected{border-color:var(--clay);transform:translateY(-1px)}.user-row.selected{background:#251b18}.avatar{width:39px;height:39px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--slate-3);font-family:Oswald,sans-serif;font-size:16px;font-weight:700}.avatar.coach{color:var(--go);background:#2a3318}.avatar.large{width:46px;height:46px;font-size:18px}.user-meta{min-width:0;flex:1}.user-meta b,.user-meta small{display:block}.user-meta small{color:var(--muted);margin-top:2px;font-size:11px}.arrow{color:var(--faint);font-size:18px}.pin-area{margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.field{width:100%;min-height:40px;padding:9px 11px;color:var(--ink);background:var(--slate);border:1px solid var(--line);border-radius:9px;outline:none;min-width:0}.field:focus{border-color:var(--clay);box-shadow:0 0 0 3px #d8553a1a}.field:disabled{opacity:.55}textarea.field{resize:vertical}.field.compact{width:auto;min-height:34px;padding:6px 9px;font-size:12px}.field.grow{flex:1;min-width:170px}.field.search{max-width:300px;margin:0}.hint,.muted{color:var(--muted);font-size:12px}.hint{margin:16px 0 0;text-align:center}.error{color:#ff9b86;font-size:12px;margin:-6px 0 10px}.btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;color:var(--ink);background:var(--slate-3);border:1px solid var(--line);border-radius:9px;font-size:13px;font-weight:650;transition:.14s;min-width:0}.btn:hover{background:#354158;border-color:#4d5b76;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:wait}.btn.primary{background:var(--clay);border-color:var(--clay-dark)}.btn.primary:hover{background:var(--clay-dark)}.btn.go{color:#192006;background:var(--go);border-color:var(--go-dark)}.btn.go:hover{background:var(--go-dark)}.btn.ghost{background:transparent}.btn.danger:hover{color:#ffd9d2;background:#5a2723;border-color:#7a352f}.btn.sm{min-height:32px;padding:5px 10px;font-size:12px}.btn.full{width:100%}.section-head,.toolbar{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.section-head{margin:2px 0 17px}.section-head h2{margin:2px 0 0;font-size:27px;text-transform:uppercase}.toolbar{margin-bottom:15px}.toolbar h3{margin:0;font-size:20px;text-transform:uppercase}.subtabs{display:flex;gap:4px;padding:4px;margin-bottom:20px;background:var(--slate-2);border:1px solid var(--line);border-radius:11px;flex-wrap:wrap}.subtabs button{flex:1;min-height:36px;padding:7px 10px;color:var(--muted);background:transparent;border:0;border-radius:8px;font-family:Oswald,sans-serif;font-size:13px;letter-spacing:.045em;text-transform:uppercase}.subtabs button:hover{color:var(--ink);background:var(--slate-3)}.subtabs button.on{color:#fff;background:var(--clay)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:14px}.card{padding:17px;background:var(--slate-2);border:1px solid var(--line);border-radius:var(--radius)}.athlete-card{overflow:hidden;position:relative;cursor:pointer;transition:.15s}.athlete-card:hover{border-color:var(--clay);transform:translateY(-2px);box-shadow:0 15px 35px #00000029}.goal-flag{position:absolute;top:0;right:0;padding:4px 10px;color:#182006;background:var(--go);border-bottom-left-radius:9px;font-family:Oswald,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase}.athlete-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.athlete-head h3{margin:0;font-size:20px}.athlete-head p{margin:1px 0 0;color:var(--muted);font-size:12px}.athlete-head h3,.section-head h2,.toolbar h3,.week-title h3,.day h4,.objective-main h3,.history-row b,.task-editor-body>header b,.athlete-session-head h2,.modal-head h2{overflow-wrap:anywhere;word-break:break-word}.scoreboard{display:flex;gap:7px}.dynamic-marks{overflow-x:auto;padding-bottom:4px}.dynamic-marks .score{min-width:72px}.score{flex:1;padding:8px 4px;text-align:center;background:var(--slate);border:1px solid var(--line);border-radius:9px}.score b,.score span{display:block}.score b{font-family:var(--mono);font-size:13px}.score span{margin-top:2px;color:var(--faint);font-size:9px;letter-spacing:.09em;text-transform:uppercase}.athlete-card footer{margin-top:13px;color:var(--muted);font-size:11px}.template-card{display:flex;flex-direction:column}.template-stat{display:flex;align-items:baseline;gap:8px;margin:2px 0 14px;padding:10px;background:var(--slate);border-radius:9px}.template-stat b{color:var(--go);font-family:Oswald,sans-serif;font-size:26px}.template-stat span{color:var(--muted);font-size:12px}.card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.card-actions .btn{min-width:0}.note{padding:11px 13px;margin-top:18px;color:var(--muted);background:#1b222e;border:1px solid var(--line);border-left:3px solid var(--clay);border-radius:8px;font-size:12px}.config-panel{max-width:850px}.config-editor{margin:15px 0;tab-size:2}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.config-grid h3{margin-bottom:12px;font-size:17px;text-transform:uppercase}.config-row{display:flex;align-items:center;gap:8px;min-height:38px;padding:6px 8px;margin-bottom:6px;background:var(--slate);border:1px solid var(--line);border-radius:8px}.config-row span{min-width:0;flex:1;overflow-wrap:anywhere}.config-add{display:flex;gap:7px;margin-top:10px}.config-save{position:sticky;bottom:18px;margin-top:16px;box-shadow:0 10px 30px #00000059}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.admin-row:last-child{border-bottom:0}.admin-row>div:first-child{min-width:0;flex:1}.admin-row b,.admin-row small{display:block}.admin-row small{margin-top:2px;color:var(--muted)}.admin-row .card-actions{justify-content:flex-end}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.accent{color:var(--go)}.plan-toolbar label{display:flex;align-items:center;gap:7px}.plan-toolbar .label{margin:0}.switch-filter{min-height:34px;padding:5px 9px;color:var(--muted);background:var(--slate);border:1px solid var(--line);border-radius:9px;cursor:pointer;font-size:10px;font-weight:700}.switch-filter input{position:absolute;opacity:0;pointer-events:none}.switch-filter i{position:relative;width:28px;height:16px;flex:none;background:var(--slate-3);border:1px solid var(--line);border-radius:12px;transition:.15s}.switch-filter i:after{position:absolute;top:2px;left:2px;width:10px;height:10px;background:var(--faint);border-radius:50%;content:"";transition:.15s}.switch-filter input:checked+i{background:#384817;border-color:var(--go-dark)}.switch-filter input:checked+i:after{background:var(--go);transform:translate(12px)}.switch-filter:focus-within{outline:2px solid var(--blue);outline-offset:2px}.file-btn{position:relative;overflow:hidden}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.legend{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-bottom:13px;color:var(--muted);font-size:11px}.legend>span{display:inline-flex;align-items:center;gap:5px}.type-dot{width:10px;height:10px;border-radius:3px}.type-q{background:var(--q)}.type-s{background:var(--s)}.type-f{background:var(--f)}.type-r{background:var(--r)}.type-c{background:var(--c)}.type-g{background:var(--g)}.type-rest{background:var(--rest)}.week{margin-bottom:12px;overflow:hidden;background:var(--slate-2);border:1px solid var(--line);border-radius:var(--radius)}.week.current-week{border-color:#6d9130;box-shadow:0 0 0 1px #b9f24a2e,0 10px 30px #00000029}.week.current-week .week-head{border-left-color:var(--go);background:linear-gradient(90deg,rgba(185,242,74,.07),transparent 42%)}.week-head{display:flex;align-items:center;gap:13px;padding:13px 16px;cursor:pointer;border-left:4px solid var(--clay);transition:.13s}.week-head:hover{background:#242e3e}.week-number{width:57px;flex:none;color:var(--muted);text-align:center}.week-number b,.week-number span{display:block}.week-number b{color:var(--ink);font-family:Oswald,sans-serif;font-size:24px;line-height:1}.week-number span{margin-top:3px;font-size:9px;text-transform:uppercase}.week-title{min-width:0;flex:1}.week-title h3{margin:0;font-size:17px}.week-title p{margin:1px 0 0;color:var(--muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.current-week-badge{padding:4px 8px;color:#dafa93;background:#293715;border:1px solid #536f25;border-radius:12px;font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.tag{padding:3px 8px;color:#ffd6cf;background:#43211c;border-radius:6px;font-family:Oswald,sans-serif;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.tag.discharge{color:#8fd6e0;background:#23323a}.tag.comp{color:#8fc0f0;background:#1d3147}.tag.taper{color:#c8a6e6;background:#2c2336}.chevron{color:var(--faint);font-size:28px;line-height:1;transition:.18s}.week.open .chevron{transform:rotate(90deg)}.week-body{padding:12px 14px 15px;border-top:1px solid var(--line)}.week-meta{display:flex;align-items:end;gap:8px;margin-bottom:12px;flex-wrap:wrap}.compact-field{display:flex;min-width:150px;flex-direction:column}.compact-field.grow{min-width:220px;flex:1}.compact-field .field{width:100%}.compact-field .label{margin-bottom:3px;font-size:8px}.days{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.day{min-height:185px;display:flex;flex-direction:column;gap:7px;padding:9px;background:var(--slate);border:1px solid var(--line);border-top:3px solid var(--rest);border-radius:10px}.day.maximized{position:fixed;inset:78px 22px 22px;z-index:50;overflow:auto;padding:22px;background:var(--slate);box-shadow:0 30px 100px #000000b3}.day.maximized h4{font-size:24px}.day.maximized .session-block{padding:14px;font-size:14px}.max-day{padding:1px 5px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:5px;font-size:9px}.type-border-q{border-top-color:var(--q)}.type-border-s{border-top-color:var(--s)}.type-border-f{border-top-color:var(--f)}.type-border-r{border-top-color:var(--r)}.type-border-c{border-top-color:var(--c)}.type-border-g{border-top-color:var(--g)}.day>header{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-family:Oswald,sans-serif;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.day h4{margin:0;font-size:13px;line-height:1.25}.logged{color:var(--go);font-size:9px}.session-block{padding:7px;background:var(--slate-2);border:1px solid var(--line);border-radius:7px;font-size:10px}.session-block>div{display:flex;align-items:center;gap:4px}.session-block b{font-size:10.5px}.session-block small{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.target{margin-left:auto;padding:1px 5px;color:var(--go);background:#1d2414;border:1px solid #34421f;border-radius:5px;font-family:var(--mono);font-size:9px;white-space:nowrap}.session-block.strength{border-left:2px solid var(--s)}.session-block.general{border-left:2px solid var(--g)}.rest{margin:auto 0;color:var(--faint);font-size:10px;font-style:italic}.edit-day{width:100%;margin-top:auto}.empty{display:grid;place-items:center;min-height:150px;padding:30px;color:var(--faint);text-align:center;border:1px dashed var(--line);border-radius:var(--radius)}.empty b{color:var(--muted);font-family:Oswald,sans-serif;font-size:18px;text-transform:uppercase}.objective-row,.history-row{display:flex;align-items:center;gap:14px;padding:12px 14px;margin-bottom:9px;background:var(--slate-2);border:1px solid var(--line);border-radius:11px}.objective-row.active{border-color:#3c4a2a}.objective-row.reached{background:linear-gradient(90deg,rgba(185,242,74,.08),var(--slate-2));border-color:#526b2d}.pb{display:inline-flex;align-items:center;padding:2px 6px;color:#192006;background:var(--go);border-radius:12px;font-family:Oswald,sans-serif;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.event-badge{width:54px;height:54px;display:grid;place-items:center;flex:none;color:var(--go);background:#222a18;border-radius:12px;font-family:var(--mono);font-weight:700}.objective-main{min-width:0;flex:1}.objective-main h3,.objective-main p{margin:0}.objective-main p{color:var(--muted);font-size:11px}.objective-main p,.history-row p,.card footer,.note,.sub,.week-title p,.day-task-preview small,.session-block small,.log-task-line>small{overflow-wrap:anywhere;word-break:break-word}.progress{height:7px;margin-top:8px;overflow:hidden;background:var(--slate);border-radius:5px}.progress i{display:block;height:100%;background:var(--go);border-radius:inherit}.objective-time{text-align:right}.objective-time b,.objective-time span{display:block}.objective-time b{font-family:var(--mono);font-size:19px}.objective-time span{color:var(--faint);font-size:9px;text-transform:uppercase}.target-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}.target-card span,.target-card b,.target-card small{display:block}.target-card span{color:var(--muted);font-family:Oswald,sans-serif}.target-card b{margin:5px 0 2px;color:var(--go);font-size:22px}.target-card small{color:var(--faint);font-size:10px}.table-wrap{padding:0;overflow:auto;-webkit-overflow-scrolling:touch}table{width:100%;min-width:100%;border-collapse:collapse;font-size:12px}th{padding:10px;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.08em;text-transform:uppercase}td{padding:10px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted)}tbody tr:last-child td{border-bottom:0}.history-row time{width:65px;color:var(--muted);font-family:Oswald,sans-serif;text-transform:uppercase}.history-row>div{min-width:0;flex:1}.log-filters{display:grid;grid-template-columns:1fr minmax(170px,.35fr) auto;gap:8px;margin-bottom:14px}.race-filters{margin:0 0 14px;padding:14px}.race-filter-head{display:flex;gap:10px;margin-bottom:12px}.race-filter-head .field{flex:1}.race-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;max-height:300px;overflow:auto;margin-bottom:10px}.race-filter-grid section{display:flex;flex-direction:column;gap:5px;min-width:0}.race-filter-grid section>b{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.race-filter-grid label{display:flex;align-items:center;gap:7px;font-size:12px}.table-wrap thead th{cursor:pointer;-webkit-user-select:none;user-select:none}.table-wrap thead th{position:relative;overflow:visible}.column-title{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.column-title button{width:24px;height:24px;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-size:9px;cursor:pointer}.column-title button:hover,.column-title button.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.column-filter-menu{position:absolute;z-index:30;top:calc(100% - 2px);left:6px;width:min(280px,82vw);padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 16px 42px #0008;color:var(--text);cursor:default;-webkit-user-select:text;user-select:text}.table-wrap th:nth-last-child(-n+5) .column-filter-menu{left:auto;right:6px}.column-sort{display:grid;gap:3px;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:8px}.column-sort button,.column-filter-actions button{border:0;background:transparent;color:var(--text);text-align:left;padding:7px;border-radius:6px;cursor:pointer}.column-sort button:hover,.column-filter-actions button:hover{background:var(--slate)}.column-filter-actions{display:flex;justify-content:space-between;margin:5px 0}.column-filter-actions button{color:var(--accent);font-size:11px}.column-filter-values{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto;padding:3px}.column-filter-values label{display:flex;align-items:center;gap:8px;padding:5px;border-radius:5px;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;cursor:pointer}.column-filter-values label:hover{background:var(--slate)}.race-quick-filters{display:grid;gap:9px;margin:0 0 14px;padding:12px 14px}.record-track-selector{display:flex;align-items:center;gap:10px;margin:12px 0}.record-track-selector .btn{min-width:120px}.result-scope-selector{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-2px 0 14px}.result-scope-selector>.label{margin-right:4px}.scope-badge{display:inline-flex;padding:4px 8px;color:#d5f6ff;background:#17384a;border:1px solid #2d6079;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}.scope-badge.review{color:#ffd9a1;background:#4a3017;border-color:#7e5527}.result-filter-grid{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(220px,1.5fr) repeat(3,minmax(130px,.7fr));gap:12px;align-items:end}.result-filter-grid label{display:grid;gap:6px}.result-filter-actions{display:flex;gap:8px;align-items:center}.results-summary{margin:12px 0 8px}.results-table td:first-child{white-space:nowrap}.merge-club-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;margin:16px 0}.merge-club-grid label{display:flex;align-items:flex-start;gap:9px;padding:11px;background:var(--slate);border:1px solid var(--line);border-radius:9px;cursor:pointer}.merge-club-grid b,.merge-club-grid small{display:block}.merge-club-grid small{margin-top:2px;color:var(--muted)}.merge-stats{margin-top:14px}.result-pagination{display:flex;justify-content:center;gap:10px;margin:16px 0}.result-pagination .btn{display:inline-flex;align-items:center;gap:7px}.fpa-sync-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.fpa-sync-modes button{display:grid;gap:4px;padding:14px;color:var(--text);text-align:left;background:var(--slate);border:1px solid var(--line);border-radius:10px;cursor:pointer}.fpa-sync-modes button small{color:var(--muted);line-height:1.35}.fpa-sync-modes button.on{background:color-mix(in srgb,var(--clay) 14%,var(--slate));border-color:var(--clay)}.fpa-athlete-picker{margin-top:16px}.fpa-athlete-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;max-height:300px;overflow:auto;margin-top:10px;padding:3px}.fpa-athlete-grid label{display:flex;align-items:center;gap:9px;padding:9px 10px;background:var(--slate);border:1px solid var(--line);border-radius:8px;cursor:pointer}.fpa-athlete-grid b,.fpa-athlete-grid small{display:block}.fpa-athlete-grid small{margin-top:2px;color:var(--muted)}.collapsible-filters{padding:0;overflow:hidden;gap:0}.filter-panel-head{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 18px;background:color-mix(in srgb,var(--slate) 72%,transparent);cursor:pointer;-webkit-user-select:none;user-select:none}.filter-panel-head:hover{background:color-mix(in srgb,var(--slate) 88%,transparent)}.filter-panel-head b{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.filter-panel-head span{color:var(--muted);font-size:24px;line-height:1}.filter-panel-head .filter-chevron{display:inline-block;transform:rotate(0);transition:transform .2s ease}.filter-panel-head .filter-chevron.open{transform:rotate(180deg)}.filter-panel-body{display:grid;gap:9px;padding:14px;border-top:1px solid var(--line)}.filter-panel-body>.toolbar{margin:0 0 4px;padding:0}.race-search-row{display:flex;gap:8px}.race-search-row .field{flex:1}.quick-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.quick-filter-row b{width:62px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.quick-filter-row button{border:1px solid var(--line);border-radius:999px;padding:5px 10px;background:transparent;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}.quick-filter-row button:hover,.quick-filter-row button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.mark-quick-filters{display:grid;gap:8px;margin:8px 0 14px;padding:10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--slate) 55%,transparent)}.mark-head.sortable span:nth-child(odd){cursor:pointer;-webkit-user-select:none;user-select:none}.mark-head.sortable span:nth-child(odd):hover{color:var(--accent)}td.race-actions{display:table-cell;padding:8px 10px;vertical-align:middle;text-align:center;white-space:nowrap}td.race-actions .btn{display:inline-flex;margin:0;vertical-align:middle}td.race-actions .btn+.btn{margin-left:6px}.history-row b,.history-row p{margin:0}.history-row p{color:var(--muted);font-size:11px}.feel{padding:3px 8px;color:var(--warn);background:#2d2410;border-radius:14px;font-size:10px}.feel.easy{color:var(--go);background:#1d2414}.pain{color:#ff8a73;font-size:10px}.training-history-table td.has-pain{color:#ff8a73;font-weight:700;white-space:nowrap}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:14px}.stat{padding:16px;background:var(--slate-2);border:1px solid var(--line);border-radius:12px}.stat b,.stat span{display:block}.stat b{font-family:Oswald,sans-serif;font-size:32px;line-height:1}.stat span{margin-top:5px;color:var(--muted);font-size:11px}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.dashboard-wide{margin-top:14px}.pain-entry{display:flex;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.pain-entry:last-child{border-bottom:0}.pain-entry span{color:var(--muted)}.dashboard-grid h3{margin-top:3px}.bar-row{display:grid;grid-template-columns:75px 1fr 25px;align-items:center;gap:9px;margin:8px 0;font-size:11px}.bar-row>div{height:12px;overflow:hidden;background:var(--slate);border-radius:8px}.bar-row i{display:block;height:100%;background:var(--clay);border-radius:inherit}.big-time{margin:28px 0 8px;color:var(--go);font-size:42px;font-weight:700}.overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:#080b12c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(620px,100%);max-height:92vh;overflow:auto;background:var(--slate-2);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 90px #00000073;-webkit-overflow-scrolling:touch}.modal.wide{width:min(900px,100%)}.modal.xwide{width:min(1180px,100%)}.session-modal .modal-head{padding:12px 18px}.session-modal .modal-body{padding:14px 18px}.session-modal .modal-foot{padding:10px 18px}.session-modal .modal-body{overflow:visible}.modal-head,.modal-foot{position:sticky;z-index:2;display:flex;align-items:center;gap:10px;padding:16px 20px;background:var(--slate-2)}.modal-foot{flex-wrap:wrap}.modal-head{top:0;border-bottom:1px solid var(--line)}.modal-head h2{margin:2px 0 0;font-size:22px;text-transform:uppercase}.modal-foot{bottom:0;justify-content:flex-end;border-top:1px solid var(--line)}.close{margin-left:auto;color:var(--faint);background:transparent;border:0;font-size:27px}.close:hover{color:var(--ink)}.modal-body{padding:19px 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid .span-2{grid-column:1 / -1}.form-grid label{min-width:0}.check{display:flex;align-items:center;gap:8px;padding-top:25px}.modal-section{padding:13px;margin-bottom:12px;background:var(--slate);border:1px solid var(--line);border-radius:11px}.modal-section>.toolbar{margin-bottom:8px}.modal-section h3{margin:0;font-size:15px;text-transform:uppercase}.set-row{display:grid;gap:6px;margin-top:7px}.set-row.run{grid-template-columns:.7fr .8fr .8fr 1fr auto}.set-row.strength-edit{grid-template-columns:1.4fr .55fr .55fr .55fr .65fr auto}.set-row.general-edit{grid-template-columns:1fr 1.7fr .7fr auto}.set-row .field{min-width:0;min-height:34px;padding:6px 8px;font-size:11px}.mark-head,.mark-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(120px,.8fr) minmax(110px,.8fr) minmax(130px,.9fr) 36px;align-items:center;gap:7px}.mark-head{padding:0 2px 4px;color:var(--faint);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mark-row{margin-bottom:8px}.mark-row>span{color:var(--muted)}.target-editor{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 12px}.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px}.permission-grid label{display:flex;align-items:flex-start;gap:9px;padding:10px;background:var(--slate);border:1px solid var(--line);border-radius:9px;cursor:pointer}.permission-grid input{margin-top:4px}.permission-grid b,.permission-grid small{display:block}.permission-grid small{color:var(--muted)}.copy-athlete-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}.copy-athlete-grid label{display:flex;min-width:0;align-items:flex-start;gap:9px;padding:10px;background:var(--slate);border:1px solid var(--line);border-radius:9px;cursor:pointer}.copy-athlete-grid input{margin-top:4px}.copy-athlete-grid span,.copy-athlete-grid b,.copy-athlete-grid small{display:block;min-width:0}.copy-athlete-grid b,.copy-athlete-grid small{overflow-wrap:anywhere}.copy-athlete-grid small{margin-top:2px;color:var(--muted)}.planned-general{display:grid;grid-template-columns:minmax(100px,.35fr) 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.planned-general:last-child{border-bottom:0}.planned-general span{color:var(--muted)}.split-board{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}.split-board>div{padding:11px;text-align:center;background:var(--slate);border:1px solid var(--line);border-radius:10px}.split-board span,.split-board b{display:block}.split-board span{color:var(--faint);font-size:9px;text-transform:uppercase}.split-board b{margin-top:3px}.set-title{display:flex;align-items:center;gap:8px;margin-bottom:9px}.set-title small{margin-left:auto;color:var(--muted)}.rep-grid{display:flex;gap:6px;flex-wrap:wrap}.rep-grid label{width:77px}.rep-grid span{display:block;margin-bottom:2px;color:var(--faint);font-size:8px;text-align:center;text-transform:uppercase}.rep-grid .field{min-height:34px;padding:5px;text-align:center;font-size:11px}.form-group{margin:16px 0}.chips{display:flex;gap:6px;flex-wrap:wrap}.chips button{padding:7px 12px;color:var(--ink);background:var(--slate);border:1px solid var(--line);border-radius:18px;font-size:11px}.chips button.on{color:#fff;background:var(--clay);border-color:var(--clay-dark)}.top-gap{margin-top:8px}.athlete-plan-overview{display:grid;grid-template-columns:repeat(3,minmax(115px,1fr));gap:9px;margin-bottom:14px}.athlete-plan-overview>div,.athlete-plan-overview>span{padding:12px 14px;background:var(--slate-2);border:1px solid var(--line);border-radius:11px}.athlete-plan-overview h3,.athlete-plan-overview p{margin:0}.athlete-plan-overview p{color:var(--muted);font-size:11px}.athlete-plan-overview>span{display:flex;flex-direction:column;justify-content:center;color:var(--faint);font-size:9px;letter-spacing:.07em;text-transform:uppercase}.athlete-plan-overview>span b{color:var(--ink);font-family:Oswald,sans-serif;font-size:22px;line-height:1}.week-completion{padding:3px 8px;color:var(--go);background:#222a18;border:1px solid #3c4a2a;border-radius:12px;font-size:10px}.day.has-tasks{cursor:pointer;transition:.15s}.day.has-tasks:hover{border-color:var(--clay);transform:translateY(-2px)}.day.day-logged{box-shadow:inset 0 0 0 1px #b9f24a4d}.day>header b small{margin-left:4px;color:var(--faint);font:8px var(--mono)}.day-task-preview{display:grid;grid-template-columns:18px 1fr;gap:6px;align-items:start;padding:5px 6px;background:var(--slate-2);border:1px solid var(--line);border-left:2px solid var(--g);border-radius:6px}.day-task-preview.strength{border-left-color:var(--s)}.day-task-preview.run{border-left-color:var(--q)}.day-task-preview i{display:grid;place-items:center;width:17px;height:17px;color:var(--muted);background:var(--slate-3);border-radius:5px;font:normal 8px var(--mono)}.day-task-preview b,.day-task-preview small{display:block}.day-task-preview b{color:var(--ink);font-size:10.5px;line-height:1.25;overflow-wrap:anywhere}.day-task-preview small{margin-top:2px;color:var(--muted);font-size:9px;line-height:1.3;overflow-wrap:anywhere}.open-session{margin-top:auto;color:var(--clay);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.day-logged .open-session{color:var(--go)}.task-palette{display:flex;align-items:center;gap:7px;padding:11px 13px;margin:13px 0 10px;background:var(--slate);border:1px solid var(--line);border-radius:11px}.task-palette>div{flex:1}.task-palette p{margin:1px 0 0;color:var(--muted);font-size:10px}.ordered-tasks{display:flex;flex-direction:column}.insert-task{display:flex;align-items:center;gap:7px;height:24px}.insert-task span{height:1px;flex:1;background:var(--line);opacity:.5}.insert-task button{padding:2px 8px;color:var(--faint);background:var(--slate);border:1px dashed var(--line);border-radius:10px;font-size:8px;text-transform:uppercase}.insert-task button:hover{color:var(--ink);border-color:var(--clay)}.task-editor{display:grid;grid-template-columns:34px 1fr;overflow:hidden;background:var(--slate);border:1px solid var(--line);border-left:4px solid var(--g);border-radius:11px}.task-editor.strength{border-left-color:var(--s)}.task-editor.run{border-left-color:var(--q)}.task-editor>aside{display:grid;place-items:center;background:var(--slate-2);font-family:Oswald,sans-serif;font-size:17px}.task-editor-body{min-width:0;padding:10px 11px}.task-editor-body>header{display:flex;align-items:flex-start;gap:8px;margin-bottom:9px}.task-editor-body>header>div{min-width:0;flex:1}.task-editor-body>header span,.task-editor-body>header b{display:block}.task-editor-body>header span{color:var(--faint);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.task-editor-body>header b{font-family:Oswald,sans-serif;font-size:15px;line-height:1.3;overflow-wrap:anywhere}.task-editor-body nav{display:flex;flex:none;gap:4px}.task-editor-body nav button{width:27px;height:27px;color:var(--muted);background:var(--slate-2);border:1px solid var(--line);border-radius:6px}.task-editor-body nav button:disabled{opacity:.3}.task-editor-body nav .remove:hover{color:#ff9b86;border-color:#7a352f}.task-fields{display:grid;gap:7px}.general-fields{grid-template-columns:.8fr 1.5fr .65fr}.strength-fields{grid-template-columns:1.2fr .55fr .55fr .8fr}.task-fields .field,.fixed-row .field,.run-main-fields .field,.pyramid-row .field{min-height:32px;padding:5px 7px;font-size:10px}.task-fields .label,.fixed-row .label,.run-main-fields .label{margin-bottom:3px;font-size:8px}.compact-check{padding:20px 0 0;font-size:10px}.method-switch{display:flex;gap:4px;margin-bottom:8px}.method-switch button{padding:4px 9px;color:var(--muted);background:var(--slate-2);border:1px solid var(--line);border-radius:14px;font-size:9px}.method-switch button.on{color:#192006;background:var(--go);border-color:var(--go-dark)}.fixed-row{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:7px}.pyramid-editor{margin-top:8px}.pyramid-head,.pyramid-row{display:grid;grid-template-columns:36px repeat(3,minmax(80px,1fr)) 36px;gap:6px;align-items:center}.pyramid-head{padding:0 0 4px;color:var(--faint);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.pyramid-head span:not(:first-child){padding-left:7px}.pyramid-row{margin-bottom:5px}.pyramid-row b{font-size:10px}.run-main-fields{display:grid;grid-template-columns:110px 190px 190px;gap:7px}.field-section-title{margin-top:9px}.run-flags{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 9px}.run-flags label{padding:4px 8px;color:#ffb0a0;background:#30201e;border:1px solid #613129;border-radius:12px;font-size:9px}.run-series-editor{display:flex;align-items:end;gap:7px;flex-wrap:wrap}.run-series-editor>label{display:grid;grid-template-columns:auto 105px 125px 24px;align-items:end;gap:5px;min-width:285px}.run-series-editor>label>span:first-child{padding-bottom:8px;color:var(--faint);font-size:9px}.series-field{display:flex;min-width:0;flex-direction:column}.series-field small{margin-bottom:2px;color:var(--faint);font-size:7px;text-transform:uppercase}.run-series-editor label .field{min-height:31px;padding:5px}.run-series-editor label button{width:24px;height:31px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:5px}.task-observations{display:block;margin-top:8px}.task-observations textarea{min-height:48px;padding:6px 8px;font-size:10px}.config-section{padding:0;overflow:hidden}.config-section-head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:15px;color:var(--ink);background:transparent;border:0;text-align:left}.config-section-head h3{margin:0}.config-section>.config-row,.config-section>.config-add{margin-left:15px;margin-right:15px}.config-section>.config-add{margin-bottom:15px}.config-section-body{padding:0 15px 15px}.track-rule-list{display:grid;gap:10px;margin-top:12px}.track-rule-row{padding:12px;background:var(--slate);border:1px solid var(--line);border-radius:10px}.track-rule-row.new-rule{margin-top:12px;border-style:dashed}.track-rule-row h4{margin:0 0 10px;text-transform:uppercase}.track-rule-grid{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) 100px 90px;gap:9px;align-items:end}.track-rule-grid .span-2{grid-column:span 2}.track-rule-grid .span-all{grid-column:1 / -1}.track-rule-exceptions{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:9px}.track-rule-exceptions>strong{text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.track-rule-exceptions>small{display:block}.track-rule-override,.track-rule-override-add{display:grid;grid-template-columns:minmax(160px,1fr) minmax(150px,220px) auto;gap:8px;align-items:center}.track-import-review{padding:12px;margin:12px 0}.track-import-review h3{margin:0 0 5px}.track-import-groups{display:grid;gap:8px;padding:12px}.track-import-groups label{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,240px) minmax(160px,1fr);gap:10px;align-items:center}.track-import-groups label span,.track-import-groups label small{display:grid;gap:2px}.compact-select{min-width:130px}.track-import-meet{border:1px solid var(--line);border-radius:12px;padding:12px}.track-import-events{margin-top:12px;padding:10px;border-radius:10px;background:color-mix(in srgb,var(--panel) 72%,transparent);display:grid;gap:8px}.track-import-events>p{margin:0 0 2px}.track-rule-override>span{font-weight:700}.compact-note{margin:0}.compact-rule-check{padding-top:0;min-height:38px}.track-rule-actions{display:flex;justify-content:flex-end;gap:6px;grid-column:1 / -1}.config-grid{gap:14px}.config-grid .config-section{margin:0}.template-identity{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:12px;margin-bottom:14px}.strength-profile{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.strength-profile h3{margin:0}.strength-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-top:12px}.run-group-settings{display:grid;gap:8px;margin:9px 0}.run-group-settings>div{display:grid;grid-template-columns:72px 1fr 1fr;align-items:end;gap:8px;padding:8px;background:var(--slate);border:1px solid var(--line);border-radius:8px}.run-group-settings>div>b{align-self:center;color:var(--clay);font-size:11px}.run-group-settings .label{margin-bottom:3px;font-size:8px}.run-group-settings .field{min-height:32px;padding:5px 7px;font-size:10px}.athlete-session-head{display:flex;align-items:center;gap:10px;margin-bottom:9px}.athlete-session-head>div{min-width:0;flex:1}.athlete-session-head h2{margin:1px 0 0;font-size:21px}.athlete-session-head p{margin:2px 0 0;color:var(--muted);font-size:9px}.athlete-session-head>span{padding:5px 9px;background:var(--slate);border:1px solid var(--line);border-radius:8px;font-size:10px}.athlete-task{display:grid;grid-template-columns:42px 1fr;overflow:hidden;margin-bottom:7px;background:var(--slate);border:1px solid var(--line);border-left:4px solid var(--g);border-radius:10px}.athlete-task.strength{border-left-color:var(--go)}.athlete-task.run{border-left-color:var(--clay)}.athlete-task>aside{display:grid;place-items:center;background:var(--slate-2);font-family:Oswald,sans-serif;font-size:16px}.athlete-task-body{min-width:0;padding:9px 11px}.athlete-task.readonly-task{min-height:54px}.athlete-task.readonly-task .athlete-task-body{display:flex;align-items:center;padding-top:6px;padding-bottom:6px}.log-task-line{display:flex;min-width:0;align-items:baseline;gap:9px;margin:0}.log-task-line>span{flex:none;color:#b483ff;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.strength .log-task-line>span{color:var(--go)}.run .log-task-line>span{color:var(--clay)}.log-task-line>b{flex:none;font-family:Oswald,sans-serif;font-size:15px}.log-task-line>small{min-width:0;color:var(--muted);font-size:10px;line-height:1.3;overflow-wrap:anywhere}.log-task-line>small:before{margin-right:9px;content:"\b7"}.run .log-task-line{margin-bottom:6px;flex-wrap:wrap}.run-log-meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:7px}.run-log-meta span,.run-log-meta b{padding:2px 6px;border:1px solid var(--line);border-radius:10px;font-size:8px}.run-log-meta span{color:var(--muted)}.run-log-meta b{color:#ff9b86;border-color:#71342b}.run-results-title{display:block;margin-bottom:4px;color:var(--faint);font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.run-log-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:6px}.run-log-groups section{min-width:0;padding:7px;background:var(--slate-2);border:1px solid var(--line);border-radius:8px}.run-log-groups section>header{display:flex;align-items:baseline;gap:5px;margin-bottom:5px;font-size:10px}.run-log-groups section>header b{font-family:Oswald,sans-serif;font-size:11px}.run-log-groups section>header span{min-width:0;color:var(--muted);font-size:8px;overflow-wrap:anywhere}.run-log-groups section>div{display:grid;gap:5px}.run-log-groups label{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:6px;align-items:center}.run-log-groups label>span:first-child{color:var(--muted);font-size:8px;overflow-wrap:anywhere}.run-log-groups label>.result-field:first-child:last-child{grid-column:1 / -1}.result-field{display:flex;min-width:0;flex-direction:column}.result-field small{margin-bottom:2px;color:var(--faint);font-size:6px;line-height:1.1;text-transform:uppercase}.run-log-groups .field{min-height:31px;padding:4px 6px;text-align:center;font-size:10px}.toast{position:fixed;bottom:24px;left:50%;z-index:100;padding:10px 18px;color:#182006;background:var(--go);border-radius:30px;font-size:12px;font-weight:700;box-shadow:0 10px 35px #0000004d;transform:translate(-50%);animation:toast-in .2s ease-out}.toast.error-toast{color:#fff;background:var(--clay)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}.busy{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:#0a0e1459}.busy span{width:38px;height:38px;border:3px solid var(--line);border-top-color:var(--go);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1050px){.days{grid-template-columns:repeat(4,minmax(150px,1fr))}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.dashboard-wide{margin-top:0}.target-grid{grid-template-columns:repeat(2,minmax(155px,1fr))}.table-wrap table{min-width:900px}}@media(max-width:760px){.track-rule-grid{grid-template-columns:1fr}.track-rule-grid .span-2,.track-rule-grid .span-all{grid-column:auto}.track-rule-override,.track-rule-override-add,.track-import-groups label,.result-filter-grid,.fpa-sync-modes{grid-template-columns:1fr}.result-filter-actions{grid-column:1}.results-summary{font-size:.8rem}.app-sidebar{display:none}.app-sidebar~.wrap{width:100%;margin-left:0;padding-bottom:92px}.mobile-bottom-nav{position:fixed;z-index:72;right:0;bottom:0;left:0;display:flex;min-height:66px;padding:5px max(5px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));background:#141c28fa;border-top:1px solid var(--line);box-shadow:0 -10px 35px #0007}.mobile-bottom-nav button{flex:1;min-width:0;display:grid;place-items:center;gap:3px;padding:6px 3px;color:var(--muted);background:transparent;border:0;border-radius:7px;font:inherit;font-size:10px;cursor:pointer}.mobile-bottom-nav .ui-icon{width:22px;height:22px}.mobile-bottom-nav button.on{color:var(--clay);background:#e454391a}.mobile-more-backdrop{position:fixed;z-index:73;inset:0;display:block;background:#05080db3}.mobile-more-sheet{position:fixed;z-index:74;right:8px;bottom:calc(66px + env(safe-area-inset-bottom));left:8px;display:grid;max-height:min(70vh,620px);overflow:auto;padding:8px 12px 12px;background:var(--slate-2);border:1px solid var(--line);border-radius:16px 16px 10px 10px;box-shadow:0 -20px 60px #000a}.mobile-more-sheet header{display:flex;align-items:center;justify-content:space-between;padding:8px 4px;border-bottom:1px solid var(--line)}.mobile-more-sheet header button{width:auto;min-height:34px;font-size:24px}.mobile-more-sheet>button{border-bottom:1px solid var(--line);border-radius:0}.detail-back-row{display:flex;margin-bottom:8px}.detail-back-row .btn{flex:0 0 auto}.athlete-context-bar{min-height:54px;margin-bottom:14px;padding:7px 9px;gap:8px}.avatar.athlete-context-avatar{width:34px;height:34px;font-size:13px}.athlete-context-name{gap:6px}.athlete-context-name b{font-size:16px}.athlete-context-name>span{padding:1px 6px;font-size:9px}.desktop-action-label{display:none}.mobile-action-label{display:inline;font-size:20px;letter-spacing:.08em}.athlete-actions summary{min-width:38px;min-height:36px;justify-content:center;padding:5px 8px}.athlete-actions-menu{position:fixed;z-index:76;top:auto;right:10px;bottom:calc(72px + env(safe-area-inset-bottom));left:10px;width:auto}.detail-page-head{align-items:flex-start;margin-bottom:14px}.detail-page-head>div:first-child{width:100%}.detail-page-head>.btn.icon-btn{width:40px;flex:0 0 40px;margin-left:auto}.detail-page-head h2{font-size:25px}.detail-page-head p{font-size:11px}.rp-toolbar{align-items:stretch}.rp-toolbar .btn{width:100%}.rp-list{padding:8px}.rp-list .mark-head{display:none}.rp-list .mark-row{grid-template-columns:1fr 1fr;padding:9px 0;border-bottom:1px solid var(--line)}.rp-list .mark-row .icon-btn{grid-column:2;justify-self:end}.public-records{width:100vw;max-width:100vw;min-width:0;padding:16px 12px 35px}.public-records>*{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.public-records-head{align-items:flex-start;flex-direction:column;gap:13px}.public-records-head h1{font-size:26px}.public-records .record-track-selector{position:sticky;z-index:20;top:0;padding:8px 0;background:var(--bg)}.public-records .record-track-selector .btn{flex:1;min-width:0}.race-search-row{flex-direction:column}.quick-filter-row b{width:100%}.race-filter-head{flex-direction:column}.race-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:360px}.topbar{padding:10px 12px;gap:10px;align-items:flex-start;flex-wrap:wrap}.brand small,.who,.spacer{display:none}.season-select{margin-left:auto;max-width:140px}.coach-select{max-width:180px}.wrap{padding:18px 12px 55px}.section-head,.toolbar{align-items:flex-start}.section-head h2{font-size:24px}.detail-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.detail-tabs button{min-width:100px}.days{grid-template-columns:1fr;overflow:visible}.day{min-height:0}.day.maximized{inset:68px 8px 8px}.dashboard-grid,.form-grid,.admin-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.admin-row,.config-row,.objective-row,.history-row,.user-row{align-items:flex-start}.admin-row,.objective-row,.history-row{flex-direction:column}.admin-row .card-actions,.objective-row .card-actions{width:100%;justify-content:stretch}.admin-row .card-actions .btn,.objective-row .card-actions .btn{flex:1 1 0}.history-row time{width:auto}.history-row .feel,.history-row .pain,.history-row .btn{align-self:flex-start}.set-row.run,.set-row.strength-edit,.set-row.general-edit{grid-template-columns:1fr 1fr}.objective-row{align-items:flex-start;flex-wrap:wrap}.objective-main{flex-basis:calc(100% - 80px)}.objective-time{margin-left:68px;text-align:left}.history-row{flex-wrap:wrap}.log-filters{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.plan-toolbar label:not(.file-btn){width:100%}.plan-toolbar .compact{flex:1}.card-actions,.toolbar,.section-head{gap:8px}.card-actions .btn,.toolbar .btn,.section-head .btn{flex:1 1 auto}.card-actions .btn{min-width:120px}.modal{max-height:96vh;width:min(100%,100%);border-radius:16px}.modal-head,.modal-foot{padding:14px 16px}.modal-body{padding:15px}.target-editor,.permission-grid,.copy-athlete-grid{grid-template-columns:1fr}.table-wrap table{min-width:760px}.table-wrap{border-radius:12px}.session-modal .modal-body{padding:12px 12px 14px}.athlete-session-head{flex-direction:column;align-items:flex-start}.athlete-session-head>span{width:100%;text-align:center}.athlete-task{grid-template-columns:1fr}.athlete-task>aside{min-height:34px;border-bottom:1px solid var(--line)}.athlete-task-body{padding:10px}.log-task-line{flex-direction:column;align-items:flex-start;gap:4px}.log-task-line>small:before{content:"";margin:0}.run-log-meta{gap:4px}.run-log-meta span,.run-log-meta b{font-size:7px}.run-log-groups{grid-template-columns:1fr;gap:8px}.run-log-groups section{padding:8px}.run-log-groups label{grid-template-columns:1fr;gap:4px}.run-log-groups label>span:first-child{font-size:9px}.run-log-groups .field{min-height:36px;font-size:12px}.result-field small{font-size:7px}.athlete-task.readonly-task .athlete-task-body{display:block}.athlete-task.readonly-task{min-height:0}.athlete-task.readonly-task .log-task-line{flex-direction:column}.athlete-task.readonly-task .log-task-line>small:before{content:"";margin:0}.athlete-task.readonly-task .run-log-meta{display:flex}}@media(max-width:900px){.general-fields,.strength-fields,.run-main-fields{grid-template-columns:1fr 1fr}.athlete-plan-overview{grid-template-columns:repeat(3,1fr)}.athlete-plan-overview>div{grid-column:1 / -1}.week-head{flex-wrap:wrap}.week-title{min-width:180px}.modal.xwide{width:min(100%,100%)}}@media(max-width:620px){.task-palette{align-items:stretch;flex-wrap:wrap}.task-palette>div{flex-basis:100%}.general-fields,.strength-fields,.run-main-fields{grid-template-columns:1fr}.run-group-settings>div{grid-template-columns:1fr}.fixed-row{grid-template-columns:1fr 1fr}.strength-log-toolbar{align-items:flex-start;flex-direction:column}.strength-log-toolbar label{flex-wrap:wrap}.strength-log-head{grid-template-columns:1fr 82px}.strength-log-grid{grid-template-columns:1fr}.strength-log-grid label{grid-template-columns:minmax(0,1fr) 82px}.athlete-plan-overview{grid-template-columns:1fr 1fr}.athlete-plan-overview>div{grid-column:1 / -1}.mark-head,.mark-row{grid-template-columns:1fr 1fr}.run-log-groups label{grid-template-columns:minmax(0,1fr) 88px}.table-wrap table{min-width:700px}}@media(max-width:440px){.login{padding:12px}.login-card{border-radius:18px}.login-hero,.login-body{padding-left:22px;padding-right:22px}.login-hero h1{font-size:30px;line-height:1.02}.season-select{max-width:105px;font-size:11px}.coach-select{max-width:150px;font-size:11px}.stat-grid,.card-grid{grid-template-columns:1fr}.card{padding:15px}.toolbar{flex-direction:column;align-items:stretch}.toolbar .spacer{display:none}.toolbar .field,.toolbar .btn,.toolbar .field.search{width:100%;max-width:none}.toolbar.plan-toolbar{flex-direction:row;align-items:center}.toolbar.plan-toolbar .btn.icon-btn,.toolbar.plan-toolbar .file-btn.icon-btn{width:36px;max-width:36px;flex:0 0 36px}.subtabs{gap:6px;padding:4px}.subtabs button{min-width:96px}.config-row{flex-direction:column;align-items:stretch;gap:6px}.config-add{flex-direction:column}.config-add .btn,.config-add .field,.admin-row .card-actions,.card-actions,.admin-row .card-actions .btn,.card-actions .btn{width:100%}.pyramid-head,.pyramid-row{grid-template-columns:30px repeat(3,minmax(54px,1fr)) 32px}.pyramid-head span:not(:first-child){padding-left:3px}.task-editor{grid-template-columns:26px 1fr}.task-editor-body{padding:8px}.task-editor-body>header{flex-wrap:wrap}.week-number{width:42px}.week-head{gap:8px;padding:11px}.week-number b{font-size:22px}.day{padding:10px}.objective-row,.history-row{padding:11px 12px;gap:10px}.objective-row .card-actions,.history-row .btn{width:100%}.objective-time b{font-size:17px}.modal-head h2{font-size:20px}.modal-head,.modal-foot{padding:12px 14px}.modal-body{padding:14px}.overlay{padding:10px}.table-wrap table{min-width:640px}.target-grid{grid-template-columns:1fr}.actions{flex-direction:column}.actions .btn{width:100%}.dashboard-grid .card{padding:14px}.bar-row{grid-template-columns:62px 1fr 22px}.big-time{font-size:36px}.athlete-task{border-radius:12px}}.overlay.fullscreen-overlay{padding:0;place-items:stretch}.modal.fullscreen-modal{width:100vw;height:100dvh;max-height:none;overflow:hidden;border:0;border-radius:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.fullscreen-modal .modal-head{position:static}.fullscreen-modal .modal-body{min-height:0;overflow:auto}.modal-context{margin:3px 0 0;color:var(--muted);font-size:11px}.modal-head-actions{display:flex;gap:7px;margin-left:auto}.fullscreen-modal .general-fields{grid-template-columns:minmax(140px,.8fr) minmax(220px,1.5fr) minmax(100px,.55fr) minmax(180px,1fr)}.fullscreen-modal .strength-fields{grid-template-columns:minmax(180px,1.5fr) repeat(6,minmax(88px,.65fr)) minmax(160px,1.2fr)}.fullscreen-modal .run-main-fields{grid-template-columns:90px 150px 170px minmax(200px,1fr)}.fullscreen-modal .task-editor-body{padding:8px 10px}.fullscreen-modal .task-editor-body>header{margin-bottom:6px}.fullscreen-modal .method-switch{margin-bottom:6px}@media(max-width:1100px){.fullscreen-modal .strength-fields{grid-template-columns:repeat(4,minmax(110px,1fr))}.fullscreen-modal .general-fields,.fullscreen-modal .run-main-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.modal.fullscreen-modal{width:100vw;height:100dvh;border-radius:0}.fullscreen-modal .general-fields,.fullscreen-modal .strength-fields,.fullscreen-modal .run-main-fields{grid-template-columns:1fr}.fullscreen-modal .modal-head{align-items:flex-start;padding:10px 12px}.fullscreen-modal .modal-head h2{font-size:18px}.fullscreen-modal .modal-context{font-size:9px}.fullscreen-modal .modal-body{padding:10px}}.public-results-page>.toolbar.card{display:none}.external-plan-preview .note{margin-top:0}.external-import-stats{margin:14px 0}.external-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 18px}.external-week-grid label,.external-review-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--slate)}.external-week-grid label>span,.external-review-item>span{display:grid;gap:3px;min-width:0}.external-week-grid small,.external-review-list small{color:var(--muted);overflow-wrap:anywhere}.external-review-list{display:grid;gap:7px;max-height:310px;overflow:auto}.external-review-item>span{flex:1}.external-review-item select{width:130px}.external-review-item .rule-pattern{width:220px}.remember-rule{display:flex;align-items:center;gap:5px;white-space:nowrap}.external-import-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.external-import-mode button{display:grid;gap:3px;text-align:left;padding:12px;color:var(--text);background:var(--slate);border:1px solid var(--line);border-radius:10px}.external-import-mode button.on{border-color:var(--lime);box-shadow:inset 3px 0 var(--lime)}.external-import-mode small{color:var(--muted)}.external-week-grid label>span{flex:1}.external-week-grid label.imported{opacity:.66}.external-week-grid label.changed{border-color:#9a7132}.external-status{padding:4px 7px;border-radius:999px;font-size:10px;font-style:normal;text-transform:uppercase;white-space:nowrap;background:var(--slate-3);color:var(--muted)}.external-status.new{color:var(--lime)}.external-status.changed{color:#f3b94f}.external-warning-list{margin:8px 0 0;padding-left:20px;color:var(--muted)}.config-classification-list{display:grid;gap:8px}.config-classification-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px auto auto;gap:8px;align-items:center}.config-classification-row.new-classification{padding-top:10px;border-top:1px solid var(--line);grid-template-columns:minmax(220px,1fr) 150px auto}@media(max-width:700px){.external-week-grid,.external-import-mode{grid-template-columns:1fr}.external-review-item{align-items:stretch;flex-direction:column}.external-review-item select,.external-review-item .rule-pattern{width:100%}.config-classification-row,.config-classification-row.new-classification{grid-template-columns:1fr auto auto}.config-classification-row>input{grid-column:1/-1}}
