.athlete-lab-hub{margin:22px 0 28px;padding:clamp(18px,3vw,30px);border:1px solid var(--border,#29313a);border-radius:20px;background:var(--surface,#12171d)}
.athlete-lab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.athlete-lab-head h2{margin:4px 0 7px;font-size:clamp(27px,4vw,42px);line-height:1}.athlete-lab-head p:last-child{max-width:720px;margin:0;color:var(--muted,#9da8b3);line-height:1.5}.athlete-lab-disable{border:1px solid var(--border,#34404b);border-radius:9px;background:transparent;color:var(--muted,#aab3bc);padding:9px 11px;white-space:nowrap}
.athlete-lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.athlete-lab-panel{padding:18px;border:1px solid var(--border,#2c3640);border-radius:15px;background:color-mix(in srgb,var(--surface,#111820) 92%,white 8%)}.athlete-lab-panel h3{margin:3px 0 7px;font-size:20px}.athlete-lab-panel>p{margin:0 0 15px;color:var(--muted,#9aa6b1);font-size:13px;line-height:1.45}.athlete-lab-panel .eyebrow{margin:0;color:var(--accent,#61afff);font-size:10px;font-weight:800;letter-spacing:.12em}
.athlete-lab-form,.athlete-signal-grid,.athlete-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.athlete-lab-form label,.athlete-signal-grid label,.athlete-metrics-grid label{display:grid;gap:6px;color:var(--muted,#aab3bd);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.athlete-lab-form label:first-child{grid-column:1/-1}.athlete-lab-form input,.athlete-lab-form select,.athlete-signal-grid select,.athlete-metrics-grid input{width:100%;min-width:0;height:42px;padding:0 10px;border:1px solid var(--border,#34404b);border-radius:9px;background:var(--input-bg,#0d1218);color:var(--text,#f3f6f8);font:600 14px/1 inherit}.athlete-lab-form button,.athlete-save-button{grid-column:1/-1;min-height:42px;border:0;border-radius:9px;background:var(--accent,#58a8ff);color:#06111b;font-weight:800}.athlete-event-list{display:grid;gap:8px;margin-top:13px}.athlete-event{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:9px;background:rgba(255,255,255,.04)}.athlete-event strong,.athlete-event span{display:block}.athlete-event small{color:var(--muted,#9da7b0)}.athlete-event button{border:0;background:transparent;color:var(--muted,#9da7b0);font-size:18px}.athlete-empty{color:var(--muted,#919ca6);font-size:13px}
.athlete-calendar-callout{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;margin:0 0 14px;padding:13px;border:1px solid color-mix(in srgb,var(--accent,#58a8ff) 30%,transparent);border-radius:11px;background:color-mix(in srgb,var(--accent,#58a8ff) 8%,transparent)}.athlete-calendar-callout strong,.athlete-calendar-callout span{display:block}.athlete-calendar-callout span{color:var(--muted,#9faab4);font-size:12px}.athlete-calendar-callout button{grid-column:2;grid-row:1/3;padding:9px 11px;border:0;border-radius:8px;background:var(--accent,#58a8ff);color:#07131e;font-weight:800}.athlete-season-recommendation{margin-bottom:14px;padding:12px;border-left:3px solid #ffdc30;border-radius:5px 10px 10px 5px;background:rgba(255,220,48,.1)}.athlete-season-recommendation strong,.athlete-season-recommendation span{display:block}.athlete-season-recommendation span{margin-top:4px;color:var(--muted,#b2bac2);font-size:12px;line-height:1.45}.athlete-manual-event{padding-top:13px;border-top:1px solid var(--border,#2f3943)}
.athlete-connections{display:grid;gap:8px;margin:-3px 0 14px}.athlete-connections-head,.athlete-connection{display:flex;align-items:center;gap:9px}.athlete-connections-head{justify-content:space-between;padding:2px 3px;color:var(--muted,#9da7b1);font-size:11px}.athlete-connections-head button,.athlete-connection button{border:1px solid var(--border,#35414b);border-radius:7px;background:transparent;color:var(--text,#eef3f6);padding:6px 8px;font-size:11px;font-weight:700}.athlete-connection{padding:10px;border:1px solid var(--border,#303b45);border-radius:10px;background:rgba(255,255,255,.035)}.athlete-connection-color{width:9px;height:32px;flex:0 0 9px;border-radius:6px;background:var(--connection-color)}.athlete-connection div{min-width:0;flex:1}.athlete-connection strong,.athlete-connection small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-connection small{margin-top:3px;color:var(--muted,#98a3ad);font-size:10px}.athlete-connection [data-remove-connection]{border:0;padding:4px;color:var(--muted,#9ca7b0);font-size:20px}.athlete-calendar-privacy{margin:4px 0 8px!important;padding:9px 11px;border-radius:8px;background:rgba(255,220,48,.08);font-size:11px!important}
.athlete-signal-result,.athlete-match-result,.athlete-metric-summary{margin-top:13px;padding:12px;border-left:3px solid var(--accent,#57a8ff);border-radius:5px 10px 10px 5px;background:color-mix(in srgb,var(--accent,#57a8ff) 10%,transparent);font-size:13px;line-height:1.5}.athlete-signal-result strong,.athlete-match-result strong{display:block;font-size:16px}.athlete-signal-result ul{margin:7px 0 0;padding-left:17px;color:var(--muted,#aeb7c0)}
.athlete-lab-enable{position:fixed;right:14px;bottom:14px;z-index:1100;padding:10px 13px;border:1px solid rgba(255,220,48,.75);border-radius:999px;background:rgba(46,39,0,.94);color:#ffe55c;font-weight:800}
.athlete-calendar-open{overflow:hidden}.athlete-calendar-modal{position:fixed!important;z-index:1400;inset:0;display:grid;place-items:center;padding:20px;background:rgba(3,7,11,.76)!important;backdrop-filter:blur(8px)}.athlete-calendar-modal[hidden]{display:none!important}.athlete-calendar-sheet{position:relative;width:min(680px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:clamp(20px,4vw,32px);border:1px solid var(--border,#34404b);border-radius:20px;background:var(--surface,#11171e)}.athlete-calendar-sheet h2{margin:5px 0 8px;font-size:clamp(28px,5vw,42px)}.athlete-calendar-sheet>p{color:var(--muted,#a6b0ba);line-height:1.5}.athlete-calendar-close{position:absolute;top:13px;right:13px;width:42px;height:42px;border:1px solid var(--border,#35414b);border-radius:50%;background:#0b1015;color:#fff;font-size:28px}.athlete-calendar-url-form{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) auto;gap:10px;align-items:end;margin-top:20px}.athlete-calendar-url-form label{display:grid;gap:7px;color:var(--muted,#aab4bd);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.athlete-calendar-url-form input{width:100%;min-width:0;height:46px;padding:0 12px;border:1px solid var(--border,#35414b);border-radius:9px;background:var(--input-bg,#0b1117);color:var(--text,#f4f7f9);font-size:14px}.athlete-calendar-url-form button,.athlete-import-selected{min-height:46px;padding:0 15px;border:0;border-radius:9px;background:var(--accent,#58a8ff);color:#06111a;font-weight:800}.athlete-file-row{display:flex;align-items:center;gap:10px;margin:14px 0}.athlete-file-row>span{color:var(--muted,#8f9aa4);font-size:12px}.athlete-file-button{position:relative;overflow:hidden;padding:9px 12px;border:1px solid var(--border,#35414b);border-radius:9px;color:var(--text,#eff3f6);font-size:12px;font-weight:700}.athlete-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.athlete-calendar-status{min-height:20px;margin:10px 0!important;color:var(--muted,#aab4bd)!important;font-size:13px}.athlete-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:8px 0}.athlete-preview-head button{border:0;background:transparent;color:var(--accent,#63afff);font-weight:700}.athlete-calendar-preview>div:nth-child(2){display:grid;gap:7px;max-height:330px;overflow:auto;padding-right:3px}.athlete-preview-event{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--border,#303b45);border-radius:10px;background:rgba(255,255,255,.03)}.athlete-preview-event input{width:19px;height:19px;accent-color:var(--accent,#58a8ff)}.athlete-preview-event strong,.athlete-preview-event small{display:block}.athlete-preview-event small{margin-top:3px;color:var(--muted,#9da7b1);font-size:11px;line-height:1.35}.athlete-preview-event em{color:var(--muted,#96a1ab);font-size:10px;font-style:normal}.athlete-preview-event.cancelled{opacity:.5}.athlete-import-selected{width:100%;margin-top:13px}.athlete-import-selected:disabled{opacity:.45}
.athlete-workout-strip{margin:12px 0 16px;padding:14px;border:1px solid var(--border,#33404b);border-radius:13px;background:var(--surface,#11171d)}.athlete-workout-strip-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.athlete-workout-strip strong{font-size:17px}.athlete-rest{font:700 18px/1 "DM Mono",monospace;color:var(--accent,#5faeff)}.athlete-response{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.athlete-response button{padding:7px 9px;border:1px solid var(--border,#33404b);border-radius:999px;background:transparent;color:var(--text,#eff3f6);font-size:11px}.athlete-response button.selected{border-color:var(--accent,#58a8ff);background:color-mix(in srgb,var(--accent,#58a8ff) 20%,transparent)}
.athlete-context{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0 2px}.athlete-context span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.05);color:var(--muted,#abb4bd);font-size:10px;font-weight:700}.athlete-set-done{min-width:74px!important;border:1px solid color-mix(in srgb,var(--accent,#5aaaff) 45%,transparent)!important;border-radius:8px!important;background:color-mix(in srgb,var(--accent,#5aaaff) 12%,transparent)!important;color:var(--text,#f5f7f8)!important;font-size:11px!important;font-weight:800!important}.input-row:has(.athlete-set-done){grid-template-columns:35px minmax(0,1fr) minmax(0,1fr) 54px 78px 78px}.input-row[data-lab-complete="true"]{opacity:.58}.input-row[data-lab-complete="true"] .athlete-set-done{background:var(--accent,#5aaaff)!important;color:#06111b!important}
@media(max-width:760px){.athlete-lab-head{display:block}.athlete-lab-disable{margin-top:14px}.athlete-lab-grid{grid-template-columns:1fr}.athlete-lab-hub{padding:17px 14px;border-radius:16px}.athlete-lab-panel{padding:15px}.athlete-lab-form,.athlete-signal-grid,.athlete-metrics-grid{grid-template-columns:1fr 1fr}.athlete-lab-form label:first-child{grid-column:1/-1}.athlete-calendar-callout{grid-template-columns:1fr}.athlete-calendar-callout button{grid-column:1;grid-row:auto;margin-top:7px}.athlete-calendar-modal{align-items:end;padding:0}.athlete-calendar-sheet{width:100%;max-height:90vh;border-radius:20px 20px 0 0;padding:22px 16px calc(20px + env(safe-area-inset-bottom))}.athlete-calendar-url-form{grid-template-columns:1fr}.athlete-preview-event{grid-template-columns:auto minmax(0,1fr)}.athlete-preview-event em{grid-column:2}.athlete-workout-strip{margin-inline:0}.athlete-response{display:grid;grid-template-columns:repeat(2,1fr)}.athlete-response button{border-radius:8px}.workout-exercise .input-row{grid-template-columns:30px minmax(52px,1fr) minmax(48px,1fr) minmax(38px,.65fr) 62px 44px!important}.workout-exercise .athlete-set-done{min-width:62px!important;font-size:9px!important}.workout-exercise .remove-set{width:44px!important}.workout-exercise .remove-set:after{content:'×';font-size:20px}}
