.tz-editor{display:grid;gap:18px;max-width:960px}.tz-profile-card{display:grid;gap:12px;padding:16px 18px;border-radius:18px;border:1px solid rgba(47,122,119,.14);background:radial-gradient(circle at top right,rgba(47,122,119,.06),transparent 40%),#eff7f4e0}.tz-profile-head{display:flex;justify-content:space-between;align-items:center}.tz-loading{font-size:.78rem;color:var(--muted, #5e6d72);font-style:italic}.tz-profile-body{display:grid;gap:10px}.tz-profile-source{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:.76rem;font-weight:700;border-left:3px solid;background:#fff9;color:var(--primary, #16353d)}.tz-profile-values{display:flex;gap:14px;flex-wrap:wrap}.tz-profile-threshold{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#ffffffb8;border:1px solid rgba(16,34,42,.06)}.tz-profile-threshold strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:4px;font-weight:800}.tz-profile-threshold.lt1 strong{background:#2e8b5724;color:#1e6b3d}.tz-profile-threshold.lt2 strong{background:#d26a3624;color:#b35a2e}.tz-profile-threshold span{font-size:.84rem;color:var(--primary, #16353d);font-weight:600}.tz-profile-threshold.empty span{color:var(--muted, #5e6d72);font-style:italic;font-weight:400}.tz-profile-confidence,.tz-profile-date{font-size:.74rem;color:var(--muted, #5e6d72)}.tz-profile-empty{font-size:.84rem;color:var(--muted, #5e6d72);font-style:italic;margin:0}.tz-suggest-btn{justify-self:start;padding:6px 14px;border:1px solid rgba(47,122,119,.2);border-radius:8px;background:#2f7a7714;font-size:.8rem;font-weight:600;color:#255d5b;cursor:pointer;transition:all .15s}.tz-suggest-btn:hover{background:#2f7a7724}.tz-auto-warning{padding:10px 14px;border-radius:8px;background:#ff980014;border:1px solid rgba(255,152,0,.25);font-size:.8rem;color:#8b5e14;line-height:1.5}.tz-auto-warning strong{color:#c27a2e}.tz-name-row{display:grid;gap:4px}.tz-name-row label{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted, #5e6d72);font-weight:700}.tz-name-input{padding:8px 12px;border:1px solid rgba(16,34,42,.12);border-radius:8px;font-size:.88rem;background:#fff;color:var(--primary, #16353d);outline:none;transition:border-color .15s}.tz-name-input:focus{border-color:var(--accent, #d26a36)}.tz-zones-table{display:grid;gap:4px}.tz-zones-header{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted, #5e6d72);font-weight:700}.tz-col-color{width:28px;flex-shrink:0}.tz-col-label{width:160px;flex-shrink:0}.tz-col-pace,.tz-col-hr,.tz-col-power{flex:1}.tz-col-actions{width:30px;flex-shrink:0}.tz-zone-row{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid rgba(16,34,42,.08);border-left-width:4px;border-radius:10px;background:#fffc;transition:box-shadow .15s}.tz-zone-row:hover{box-shadow:0 2px 8px #0000000a}.tz-color-picker{width:28px;height:28px;border:none;border-radius:6px;cursor:pointer;padding:0;background:none;flex-shrink:0}.tz-label-input{width:160px;padding:6px 8px;border:1px solid rgba(16,34,42,.1);border-radius:6px;font-size:.82rem;font-weight:600;background:transparent;color:var(--primary, #16353d);outline:none;flex-shrink:0}.tz-label-input:focus{border-color:var(--accent, #d26a36)}.tz-range-inputs{flex:1;display:flex;align-items:center;gap:4px}.tz-range-input{flex:1;min-width:0;padding:5px 6px;border:1px solid rgba(16,34,42,.1);border-radius:6px;font-size:.8rem;text-align:center;background:#fff;color:var(--primary, #16353d);outline:none;font-family:Space Grotesk,sans-serif}.tz-range-input:focus{border-color:var(--accent, #d26a36)}.tz-range-input::placeholder{color:#b0b8bc;font-family:inherit}.tz-range-input[type=number]::-webkit-inner-spin-button,.tz-range-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tz-range-input[type=number]{-moz-appearance:textfield}.tz-range-sep{color:var(--muted, #5e6d72);font-size:.8rem;flex-shrink:0}.tz-remove-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(205,86,79,.12);border-radius:6px;background:transparent;font-size:1.1rem;color:var(--muted, #5e6d72);cursor:pointer;transition:all .15s;flex-shrink:0}.tz-remove-btn:hover{background:#cd564f14;color:#a82f2f;border-color:#cd564f33}.tz-add-btn{justify-self:start;padding:6px 14px;border:1px dashed rgba(16,34,42,.15);border-radius:8px;background:transparent;font-size:.8rem;font-weight:600;color:var(--muted, #5e6d72);cursor:pointer;transition:all .15s}.tz-add-btn:hover{background:#10222a0a;color:var(--primary, #16353d)}.tz-warnings{padding:10px 14px;border-radius:8px;background:#ffc10714;border:1px solid rgba(255,193,7,.2)}.tz-warnings p{margin:0;font-size:.78rem;color:#8b6914;line-height:1.5}.tz-error{margin:0;padding:8px 14px;border-radius:8px;background:#cd564f14;border:1px solid rgba(205,86,79,.18);font-size:.82rem;color:#a82f2f}.tz-actions{display:flex;justify-content:flex-end;gap:8px}.tz-cancel-btn{padding:8px 18px;border:1px solid rgba(16,34,42,.12);border-radius:8px;background:transparent;font-size:.84rem;font-weight:600;color:var(--primary, #16353d);cursor:pointer;transition:all .15s}.tz-cancel-btn:hover{background:#10222a0a}.tz-save-btn{padding:8px 22px;border:none;border-radius:8px;background:var(--accent, #d26a36);font-size:.84rem;font-weight:700;color:#fff;cursor:pointer;transition:all .15s}.tz-save-btn:hover{filter:brightness(1.08)}.tz-save-btn:disabled{opacity:.6;cursor:not-allowed}.tz-display{display:grid;gap:10px}.tz-display-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.tz-display-head strong{font-size:.94rem;color:var(--primary, #16353d)}.tz-display-source{display:inline-flex;margin-left:8px;padding:2px 8px;border-radius:4px;font-size:.68rem;font-weight:700;border-left:3px solid;background:#10222a0a;color:var(--muted, #5e6d72);vertical-align:middle}.tz-edit-btn{padding:4px 12px;border:1px solid rgba(16,34,42,.12);border-radius:6px;background:transparent;font-size:.76rem;font-weight:600;color:var(--primary, #16353d);cursor:pointer;transition:all .15s}.tz-edit-btn:hover{background:#10222a0d}.tz-display-bars{display:grid;gap:3px}.tz-display-bar{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid rgba(16,34,42,.06);border-left-width:4px;border-radius:8px;background:#ffffffb3}.tz-display-bar-label{font-size:.78rem;font-weight:700;color:var(--primary, #16353d);min-width:120px}.tz-display-bar-values{display:flex;gap:14px;flex-wrap:wrap}.tz-display-bar-values span{font-size:.78rem;color:var(--muted, #5e6d72);font-family:Space Grotesk,sans-serif}.tz-compact .tz-display-bar{padding:4px 8px}.tz-compact .tz-display-bar-label{font-size:.72rem;min-width:90px}.tz-compact .tz-display-bar-values span{font-size:.72rem}@media(max-width:800px){.tz-zone-row{flex-wrap:wrap}.tz-label-input,.tz-col-label{width:120px}}.zones-discipline-card{border-left:3px solid var(--border);border-radius:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-left-width:3px;padding:16px 18px;display:grid;gap:12px}.zones-discipline-card-head{display:flex;align-items:center;justify-content:space-between}.zones-discipline-card-head strong{font-family:Space Grotesk,sans-serif;font-size:1rem}.zones-stale-badge{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:6px;background:#ff98001f;color:#e68a00;border:1px solid rgba(255,152,0,.25);cursor:help}.zones-ok-badge{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:6px;background:#2e8b571a;color:#2e8b57;border:1px solid rgba(46,139,87,.2)}.zones-stale-detail{padding:8px 12px;border-radius:8px;background:#ff98000f;border:1px solid rgba(255,152,0,.15);display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.76rem;color:#b07020}.zones-stale-detail p{margin:0;width:100%;font-weight:500}.zones-stale-detail span{white-space:nowrap}.zones-discipline-loading,.zones-discipline-empty{font-size:.82rem;color:var(--muted);margin:0}.zones-discipline-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.zones-archived-detail{font-size:.76rem;color:var(--muted);margin-left:auto}.zones-archived-list{display:grid;gap:4px;margin-top:6px}.zones-archived-item{display:flex;gap:8px;align-items:center}:root{font-family:"Source Sans 3",sans-serif;color:#10222a;background:radial-gradient(circle at top left,rgba(217,157,82,.22),transparent 32%),linear-gradient(135deg,#f4efe7,#eef4f2 40%,#edf3f8);line-height:1.5;font-weight:400;color-scheme:light;--panel: rgba(255, 255, 255, .8);--panel-strong: rgba(255, 255, 255, .9);--border: rgba(16, 34, 42, .08);--border-strong: rgba(16, 34, 42, .12);--primary: #16353d;--primary-soft: #224a54;--accent: #d26a36;--accent-soft: #ead7cb;--muted: #5e6d72;--shadow: 0 20px 52px rgba(16, 34, 42, .08);--shadow-soft: 0 10px 26px rgba(16, 34, 42, .05);--radius-xl: 30px;--radius-lg: 22px;--radius-md: 16px;--field-bg: rgba(255, 255, 255, .88);--surface-soft: rgba(255, 255, 255, .72);--surface-softer: rgba(255, 255, 255, .58);--hover-soft: rgba(255, 255, 255, .18);--toggle-track: rgba(16, 34, 42, .12);--toggle-thumb-bg: linear-gradient(180deg, #16353d, #2f6570);--tone-positive: #22c55e;--tone-warning: #f59e0b;--tone-neutral: #94a3b8;--tone-danger: #ef4444;--discipline-running: #22c55e;--discipline-cycling: #f59e0b;--discipline-swimming: #0ea5e9;--garmin-draft: #94a3b8;--garmin-ready: #3b82f6;--garmin-sent: #22c55e;--garmin-failed: #ef4444;--layer-recovery: #94a3b8;--layer-base: #22c55e;--layer-lt1: #16a34a;--layer-lt2: #f59e0b;--layer-vo2: #ef4444;--layer-technique: #3b82f6;--layer-strength: #8b5cf6}:root[data-theme=dark]{color:#e7eff4;background:radial-gradient(circle at top left,rgba(74,109,142,.22),transparent 28%),linear-gradient(135deg,#081319,#0d1d25 42%,#132833);color-scheme:dark;--panel: rgba(11, 24, 31, .78);--panel-strong: rgba(14, 30, 38, .92);--border: rgba(203, 225, 233, .1);--border-strong: rgba(203, 225, 233, .16);--primary: #e7eff4;--primary-soft: #bfd4dc;--accent: #ffb067;--accent-soft: rgba(255, 176, 103, .16);--muted: #93a9b2;--shadow: 0 24px 60px rgba(0, 0, 0, .32);--shadow-soft: 0 14px 36px rgba(0, 0, 0, .22);--field-bg: rgba(19, 39, 48, .88);--surface-soft: rgba(20, 42, 53, .72);--surface-softer: rgba(16, 34, 42, .62);--hover-soft: rgba(255, 255, 255, .08);--toggle-track: rgba(255, 255, 255, .12);--toggle-thumb-bg: linear-gradient(180deg, #ffbf78, #d26a36)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--primary);background:inherit;transition:background .18s ease,color .18s ease}h2,h3,h4{margin:0;font-family:Space Grotesk,sans-serif;letter-spacing:-.03em;line-height:1.05}h2{font-size:clamp(1.7rem,2.6vw,2.4rem)}h3{font-size:clamp(1.15rem,1.8vw,1.45rem)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:214px minmax(0,1fr);min-height:100vh;gap:14px;padding:12px 14px 14px;align-items:start}.sidebar{position:sticky;top:50vh;transform:translateY(-50%);align-self:start;min-height:0;max-height:calc(100vh - 24px);overflow:auto;padding:12px 10px 10px;border:1px solid rgba(255,255,255,.28);border-right:1px solid rgba(255,255,255,.28);border-radius:22px;background:linear-gradient(180deg,#f3f0e97a,#f0ece547);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:inset 0 1px #ffffff57,0 16px 40px #10222a12;display:flex;flex-direction:column;gap:10px}.brand{display:flex;align-items:center;gap:10px;padding:0 2px}.brand-mark{width:54px;height:54px;border-radius:18px;background:linear-gradient(180deg,#204651,#295966);color:#fff;display:grid;place-items:center;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.2rem;letter-spacing:-.04em;box-shadow:0 12px 26px #16353d1f}.brand p,.muted{margin:0;color:var(--muted)}.brand-copy{display:grid;gap:2px}.brand strong{font-family:Space Grotesk,sans-serif;font-size:1.08rem;letter-spacing:-.05em;line-height:.95}.brand-copy p{font-size:.72rem;color:#69767b;line-height:1.15}.nav{display:grid;gap:4px;padding:2px 0 0}.nav-group{display:grid;gap:4px}.nav-group-trigger{appearance:none;border:0;background:transparent;width:100%;display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:14px;text-align:left;color:var(--muted);font-size:.86rem;font-weight:700;cursor:pointer;transition:background .14s ease,color .14s ease,box-shadow .14s ease}.nav-group-trigger:hover{background:#ffffff2e;color:var(--primary)}.nav-group-trigger.active{background:linear-gradient(90deg,#ffffff42,#10222a0a);color:var(--primary);font-weight:700;box-shadow:inset 0 0 0 1px #ffffff5c,0 10px 20px #10222a0a}.nav-group-chevron{font-size:1.05rem;color:inherit;transition:transform .16s ease}.nav-group-chevron.open{transform:rotate(90deg)}.nav-group-links{display:grid;gap:3px;padding-left:6px}.nav-group-links a{position:relative;padding:7px 10px 7px 18px;border-radius:10px;font-size:.75rem;background:#ffffff1f}.nav-group-links a:before{content:"";position:absolute;left:8px;top:50%;width:5px;height:5px;border-radius:999px;background:currentColor;opacity:.5;transform:translateY(-50%)}.nav a{display:flex;align-items:center;min-height:36px;padding:9px 10px;border-radius:14px;color:var(--muted);font-size:.86rem;font-weight:700;transition:background .14s ease,color .14s ease,box-shadow .14s ease}.nav a:hover{background:#ffffff2e;color:var(--primary)}.nav a.active{background:linear-gradient(90deg,#ffffff42,#10222a0a);color:var(--primary);font-weight:700;box-shadow:inset 0 0 0 1px #ffffff5c,0 10px 20px #10222a0a}.sidebar-logout{width:100%;min-height:40px;border-radius:16px;font-size:.82rem;background:linear-gradient(180deg,#dcdad48f,#d3d2cd6b);border-color:#ffffff3d;box-shadow:inset 0 0 0 1px #ffffff38,0 10px 22px #10222a0a}.sidebar-actions{margin-top:auto;display:flex;flex-direction:column;gap:10px}.theme-toggle{width:44px;height:44px;align-self:flex-end;border:1px solid var(--border);border-radius:999px;background:var(--surface-softer);color:var(--primary);box-shadow:var(--shadow-soft);display:grid;place-items:center;padding:0;cursor:pointer;transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease}.theme-toggle:hover{transform:translateY(-1px);background:var(--surface-soft);border-color:var(--border-strong)}.theme-toggle-icon{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--toggle-thumb-bg);color:#fff7ee;font-size:.92rem;line-height:1}:root[data-theme=dark] .theme-toggle{background:#122731f5;border-color:#ffffff1a}:root[data-theme=dark] .theme-toggle:hover{box-shadow:inset 0 0 0 1px #ffffff0a,0 10px 22px #0000003d}.content{min-width:0;padding:8px 8px 24px 0}.page-grid{display:grid;gap:28px}.athlete-roster-header{display:flex;align-items:end;justify-content:space-between;gap:18px}.athlete-roster-header p{margin:8px 0 0;max-width:54ch}.athlete-roster-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.athlete-roster-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.athlete-roster-stat{display:grid;gap:6px;padding:12px 16px;border-radius:20px}.athlete-roster-stat strong{font-family:Space Grotesk,sans-serif;font-size:1.25rem;line-height:1}.athlete-roster-stat.positive{background:radial-gradient(circle at top right,rgba(21,127,102,.12),transparent 34%),linear-gradient(180deg,#fffffff5,#eff7f4eb)}.athlete-roster-stat.warning{background:radial-gradient(circle at top right,rgba(210,106,54,.12),transparent 34%),linear-gradient(180deg,#fffffff5,#fcf2edeb)}.athlete-roster-toolbar{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:12px;padding:12px 16px}.athlete-roster-search{display:grid;gap:4px}.athlete-roster-search input{padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:#ffffffe0}.athlete-roster-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.athlete-roster-filter-pill{border:1px solid rgba(16,34,42,.1);background:#ffffffc2;color:var(--muted);border-radius:999px;padding:8px 12px;font-weight:700;line-height:1;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease}.athlete-roster-filter-pill:hover{transform:translateY(-1px);color:var(--primary);border-color:#10222a2e}.athlete-roster-filter-pill.active{background:linear-gradient(135deg,#16353d,#2f6570);color:#fff;border-color:transparent}.athlete-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.athlete-roster-card{display:grid;gap:16px;padding:20px;border-radius:28px;background:radial-gradient(circle at top right,rgba(210,106,54,.1),transparent 28%),linear-gradient(180deg,#fffffff5,#f7f2ece6);border:1px solid rgba(16,34,42,.08);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.athlete-roster-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px #10222a14}.athlete-roster-card.running{border-color:#d26a3624}.athlete-roster-card.cycling{border-color:#157f6624}.athlete-roster-card.triathlon{border-color:#3156d324}.athlete-roster-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.athlete-roster-card-title{display:flex;gap:12px;align-items:start}.athlete-roster-avatar{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-family:Space Grotesk,sans-serif;font-size:1.2rem;font-weight:700;color:var(--primary);background:linear-gradient(135deg,#16353d1a,#ffffffd1);border:1px solid rgba(16,34,42,.08)}.athlete-roster-card-head h2{margin:6px 0 0;font-size:1.6rem}.athlete-roster-summary{margin:0;color:var(--muted);line-height:1.5;min-height:72px}.athlete-roster-metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.athlete-roster-meta-pill{display:grid;gap:4px;padding:12px;border-radius:18px;background:#ffffffc7;border:1px solid rgba(16,34,42,.06)}.athlete-roster-meta-pill small,.athlete-roster-target small{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.athlete-roster-meta-pill strong,.athlete-roster-target strong{font-family:Space Grotesk,sans-serif}.athlete-roster-footer{display:grid;gap:14px;margin-top:auto}.athlete-roster-target{display:grid;gap:4px;padding:14px 16px;border-radius:20px;background:#16353d0d;border:1px solid rgba(16,34,42,.06)}.athlete-roster-target span{color:var(--muted);font-size:.9rem}.athlete-roster-card-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.athlete-roster-empty{grid-column:1 / -1;padding:28px;display:grid;gap:10px;place-items:start}.ghost-button.compact{padding:9px 12px;border-radius:12px}.athlete-management-modal{width:min(840px,100%)}.athlete-management-form{padding:0 24px 24px}.athlete-management-actions{justify-content:flex-end}.hero,.card{border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);border-radius:var(--radius-xl);overflow:hidden}.section-card{padding:0;border-radius:28px;overflow:hidden}.section-card>.section-heading{padding:26px 30px 18px;border-bottom:1px solid rgba(16,34,42,.06);background:linear-gradient(160deg,#10353d09,#fffffff5 50%)}.section-heading{display:grid;gap:8px;margin-bottom:18px}.section-heading.compact{margin-bottom:16px}.section-title{font-size:clamp(1.45rem,2vw,2.1rem);line-height:1.08}.hero{padding:0;display:flex;justify-content:space-between;gap:0;align-items:stretch}.athlete-hero-layout{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(340px,.92fr);gap:0;align-items:stretch}.hero-main{min-width:0;padding:32px 34px;background:linear-gradient(160deg,#d26a360d,#fffffff5 60%);border-right:1px solid rgba(16,34,42,.06)}.hero h1,.page-header h1,.login-panel h1{font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,4vw,3.4rem);margin:6px 0 10px;line-height:1.02}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:var(--accent);font-weight:700}.hero-focus-stack{display:grid;grid-template-columns:1fr;gap:0;min-width:0;align-content:stretch}.hero-focus-card,.hero-plan-card{display:grid;gap:5px;padding:20px 26px;border-radius:0;border:none;border-bottom:1px solid rgba(16,34,42,.06);background:#ffffffe0;box-shadow:none;transition:background .15s ease}.hero-focus-card:hover,.hero-plan-card:hover{background:#10222a06}.hero-focus-card:last-child,.hero-plan-card{border-bottom:none}.hero-focus-card.current{background:linear-gradient(135deg,#2b7a4312,#fffffff0);border-left:4px solid #1D9E75}.hero-focus-card.evaluation{background:linear-gradient(135deg,#d26a3612,#fffffff0);border-left:4px solid #D85A30}.hero-focus-card strong,.hero-plan-card strong{display:block;font-family:Space Grotesk,sans-serif;font-size:1rem}.hero-focus-card p,.hero-focus-card small,.hero-plan-card p,.hero-plan-card small{margin:0}.hero-focus-card p,.hero-plan-card p{color:var(--primary);line-height:1.4}.hero-focus-card small,.hero-plan-card small{color:var(--muted);line-height:1.35}.hero-plan-card{grid-column:1 / -1;text-decoration:none;color:inherit;transition:transform .14s ease,border-color .14s ease,background .14s ease;background:radial-gradient(circle at top right,rgba(201,125,61,.1),transparent 42%),#ffffffb3}.hero-plan-card:hover{transform:translateY(-1px);border-color:#c97d3d40;background:radial-gradient(circle at top right,rgba(201,125,61,.15),transparent 46%),#ffffffc2}.metric-card span{color:var(--muted)}.metric-card strong{display:block;font-family:Space Grotesk,sans-serif;font-size:1.4rem;margin-top:6px}.hero-goal-row{margin-top:18px;display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.athlete-detail-anchor{scroll-margin-top:112px}.athlete-detail-nav-card{padding:22px 24px;display:grid;gap:18px}.athlete-detail-nav-card{padding:0!important}.athlete-detail-nav-head{display:flex;justify-content:space-between;gap:16px;align-items:end;padding:24px 28px 18px;border-bottom:1px solid rgba(16,34,42,.06);background:linear-gradient(160deg,#10353d08,#fffffff5 50%)}.athlete-detail-nav-head h2{margin:6px 0 0;font-size:1.4rem;letter-spacing:-.03em}.athlete-detail-nav-head small{color:var(--muted)}.athlete-detail-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;padding:20px 28px 24px}.athlete-detail-summary-card{display:grid;gap:8px;padding:18px 22px;border-radius:20px;border:1px solid rgba(16,34,42,.05);background:#ffffffc2;transition:background .15s ease,transform .15s ease}.athlete-detail-summary-card:hover{background:#10222a05;transform:translateY(-1px)}.athlete-detail-summary-card strong{font-family:Space Grotesk,sans-serif;font-size:1.3rem;line-height:1.05}.athlete-detail-summary-card small{color:var(--muted)}.athlete-detail-summary-card.positive{background:linear-gradient(135deg,#257a4d1f,#ffffffc7)}.athlete-detail-summary-card.warning{background:linear-gradient(135deg,#d26a361f,#ffffffc7)}.athlete-detail-section-nav{display:flex;gap:8px;flex-wrap:wrap;padding:0 28px 20px}.athlete-detail-section-pill{border:1px solid rgba(16,34,42,.08);background:#ffffffb8;color:var(--text);border-radius:999px;padding:9px 18px;font-weight:700;font-size:.82rem;cursor:pointer;transition:all .18s ease}.athlete-detail-section-pill:hover{transform:translateY(-1px);border-color:#10222a2e;background:#fffffff5;box-shadow:0 2px 8px #10222a0f}.athlete-detail-section-pill.active{background:var(--primary, #16353d);color:#fff;border-color:transparent;box-shadow:0 3px 12px #10222a24}@media(max-width:1380px){.athlete-hero-layout{grid-template-columns:1fr}.hero-main{border-right:none;border-bottom:1px solid rgba(16,34,42,.06)}.hero-focus-stack,.temporal-grid{grid-template-columns:1fr}}@media(max-width:860px){.hero-focus-stack{grid-template-columns:1fr}.athlete-detail-nav-head{align-items:start;flex-direction:column}.ad-threshold-row{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.ad-threshold-row>.card,.ad-threshold-row>.selectable-estimate-card{border-right:none!important;border-bottom:1px solid rgba(16,34,42,.06)!important}.threshold-overview{grid-template-columns:1fr}.threshold-legend-card{border-right:none;border-bottom:1px solid rgba(16,34,42,.06)}.threshold-legend-card:last-child{border-bottom:none}}.discipline-tab-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:100%;margin:10px auto 0;align-self:center}.discipline-tab{border:1px solid var(--border);background:#ffffffb8;color:var(--muted);border-radius:999px;padding:10px 18px;cursor:pointer;min-width:190px;text-align:center;font-weight:700;transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease}.discipline-tab:hover{transform:translateY(-1px);border-color:#16353d29;color:var(--primary)}.discipline-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.discipline-dropdown{position:relative}.discipline-dropdown summary{list-style:none;cursor:pointer;border:1px solid var(--border);background:#ffffffa8;border-radius:14px;padding:10px 14px;color:var(--primary)}.discipline-dropdown summary::-webkit-details-marker{display:none}.discipline-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:5;min-width:220px;padding:12px;border-radius:18px;border:1px solid var(--border);background:#fffffff5;box-shadow:var(--shadow);display:grid;gap:10px}.discipline-check{display:flex;align-items:center;gap:10px;color:var(--primary)}.discipline-plot-stack{display:grid;gap:18px;padding:0 28px}.discipline-plot-panel{padding:24px 28px;border-radius:22px;margin:0;background:linear-gradient(180deg,#f8fafcd9,#ffffffb8);border:1px solid rgba(16,34,42,.05);box-shadow:inset 0 1px #fffc}.discipline-plot-header{display:grid;gap:6px;margin-bottom:12px}.source-toggle-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.discipline-plot-header strong{font-family:Space Grotesk,sans-serif}.discipline-plot-title-row{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.discipline-vo2-inline{color:var(--muted);font-size:.82rem;font-weight:600}.threshold-plot-meta{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0 22px}.threshold-meta-pill{appearance:none;border:1px solid transparent;display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:#16353d14;color:var(--primary);font-size:.8rem;font-weight:700;line-height:1;font-family:inherit;cursor:default;position:relative}.threshold-meta-pill.warning{background:#b92b1d1f;color:#b92b1d}.threshold-meta-pill.neutral{background:#16353d14}.threshold-meta-pill.line:before{content:"";width:18px;border-top:3px solid currentColor;border-radius:999px}.threshold-meta-pill.line{cursor:pointer;transition:transform .12s ease,opacity .12s ease,box-shadow .12s ease,border-color .12s ease}.threshold-meta-pill.line:hover{transform:translateY(-1px)}.threshold-meta-tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);min-width:220px;max-width:320px;padding:10px 12px;border-radius:14px;background:#10222af0;color:#fff;font-size:.78rem;line-height:1.45;opacity:0;pointer-events:none;box-shadow:0 16px 34px #10222a33;transition:opacity .12s ease,transform .12s ease;z-index:4}.threshold-meta-pill:hover .threshold-meta-tooltip,.threshold-meta-pill:focus .threshold-meta-tooltip,.threshold-meta-pill:focus-visible .threshold-meta-tooltip{opacity:1;transform:translate(-50%) translateY(-2px)}.threshold-meta-pill.line.active{box-shadow:0 2px 4px #10222a0f,0 8px 20px #10222a14;border:1px solid currentColor}.threshold-meta-pill.line.inactive{opacity:.42;background:#16353d0d;border-color:#10222a14}.threshold-meta-pill.line.lt1{color:#257a4d;background:#257a4d1f}.threshold-meta-pill.line.lt2{color:#d26a36;background:#d26a361f}.threshold-meta-pill.line.lt1-candidate{color:#257a4d;background:#257a4d14}.threshold-meta-pill.line.lt2-candidate{color:#d26a36;background:#d26a3614}.threshold-meta-pill.line.practical-lt1{color:#2d8f5b;background:#2d8f5b14}.threshold-meta-pill.line.practical-lt2{color:#d26a36;background:#d26a361a}.threshold-meta-pill.line.practical-lt1:before,.threshold-meta-pill.line.practical-lt2:before{border-top-style:dotted;border-top-width:4px}.threshold-meta-pill.line.lt1-candidate:before,.threshold-meta-pill.line.lt2-candidate:before{border-top-style:dashed;border-top-width:3px}.threshold-chart-tooltip{display:grid;gap:6px;min-width:220px;max-width:340px;padding:14px 16px;border-radius:14px;background:#10222af0;color:#fff;box-shadow:0 16px 34px #10222a33}.threshold-chart-tooltip strong{font-family:Space Grotesk,sans-serif;font-size:.95rem}.threshold-chart-tooltip span{font-size:.84rem;line-height:1.5}.athlete-title-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.athlete-title-row .ghost-button{padding:10px 14px;border-radius:14px}.invite-athlete-inline{background:var(--card-bg, rgba(255, 255, 255, .04));border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:10px;padding:14px 16px;margin-top:8px;display:flex;flex-direction:column;gap:8px;max-width:360px}.invite-athlete-inline label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--secondary, rgba(220, 228, 236, .7))}.invite-athlete-inline input{padding:6px 10px;border-radius:6px;border:1px solid var(--border, rgba(255, 255, 255, .12));background:var(--field-bg, rgba(255, 255, 255, .05));color:var(--primary, #f0f4f8);font-size:.82rem}.invite-success{color:#6ec87a;font-size:.82rem;margin:0}.cycling-cadence-card{display:grid;gap:18px}.hero-main>p{margin:8px 0 0;max-width:42ch;line-height:1.45}.hero-goal-row{margin-top:12px}.hero-goal-row .discipline-tab-row{gap:10px}.hero-goal-row .discipline-tab{padding:12px 18px;min-height:auto}.cycling-cadence-body{display:grid;gap:14px;padding:0 22px 22px}.cycling-insights-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cycling-insight-card{display:grid;align-content:start;gap:8px;min-width:0;overflow:hidden}.cycling-insight-head{display:flex;justify-content:space-between;gap:12px;align-items:start;padding:24px 26px 0}.cycling-insight-head h2{margin-bottom:6px;font-size:clamp(1.35rem,1.8vw,1.85rem);line-height:1.02;max-width:11ch;letter-spacing:-.035em}.cycling-insight-head p{margin:0;max-width:30ch;font-size:.92rem;line-height:1.45}.cycling-insight-head .ghost-button{flex:0 0 auto}.cycling-preview-strip{display:grid;gap:8px}.cycling-preview-strip p{margin:0;max-width:34ch;font-size:.92rem;line-height:1.42}.cycling-preview-metrics{display:flex;gap:6px;flex-wrap:wrap}.cycling-preview-metrics span{padding:5px 9px;border-radius:999px;background:#16353d14;color:var(--primary);font-size:.76rem;font-weight:700}.cycling-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.cycling-controls label{display:grid;gap:6px;color:var(--muted);font-size:.9rem}.cycling-controls input{min-width:120px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#ffffffe0}.cycling-cadence-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.cycling-band-card{display:grid;gap:8px;padding:16px 18px;border-radius:20px;background:#fff9;border:1px solid rgba(16,34,42,.08)}.cycling-band-card strong{font-family:Space Grotesk,sans-serif;font-size:1.35rem}.cycling-band-card p,.cycling-band-card small{margin:0}.cycling-band-card p{color:var(--muted)}.cycling-band-chip{width:fit-content;padding:6px 10px;border-radius:999px;font-size:.8rem;font-weight:700}.cycling-chart-stack{display:grid;gap:14px}.cycling-insight-card .cycling-cadence-body{gap:12px}.cycling-insight-card .recharts-responsive-container{margin-top:2px}.cycling-insight-card .recharts-default-legend{padding-top:6px!important}.cycling-insight-card .recharts-legend-item-text{font-size:.8rem!important}.cycling-insight-card .recharts-cartesian-axis-tick-value tspan{font-size:.74rem}.cycling-insight-card .recharts-text.recharts-label{font-size:.76rem!important}.cycling-comparable-table{display:grid;gap:10px}.cycling-threshold-visual{display:grid;gap:18px}.cycling-threshold-focus{display:grid;gap:12px;padding:16px 18px;border-radius:22px;background:#257a4d0f;border:1px solid rgba(37,122,77,.14)}.cycling-threshold-secondary{display:grid;gap:14px;padding-top:6px}.cycling-threshold-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.cycling-threshold-card{display:grid;gap:6px;padding:16px 18px;border-radius:20px;background:#ffffff94;border:1px solid rgba(16,34,42,.08)}.cycling-threshold-card strong{font-family:Space Grotesk,sans-serif;font-size:1.3rem}.cycling-threshold-card p,.cycling-threshold-card small{margin:0}.cycling-threshold-card p{color:var(--primary)}.cycling-threshold-card small{color:var(--muted)}.collapsible-card details{width:100%}.collapsible-summary{cursor:pointer;list-style:none;padding:22px}.collapsible-summary::-webkit-details-marker{display:none}.completion-card{padding:22px}.completion-stack{display:grid;gap:14px}.completion-row{display:grid;grid-template-columns:1.2fr repeat(5,minmax(110px,1fr)) auto;gap:12px;align-items:end;padding:16px;border-radius:18px;background:#ffffff8c}.completion-meta{display:grid;gap:4px}.threshold-filter-row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.threshold-filter-row label{display:grid;gap:6px;color:var(--muted);font-size:.9rem}.threshold-add-button{align-self:end;height:fit-content}.metrics-grid,.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.metrics-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,280px);grid-template-columns:none;overflow-x:auto;overflow-y:hidden;align-items:stretch;padding-bottom:8px;scrollbar-width:thin}.metrics-strip::-webkit-scrollbar{height:10px}.metrics-strip::-webkit-scrollbar-thumb{background:#16353d29;border-radius:999px}.metrics-strip>.card{min-width:0}.metric-card,.chart-card,.table-card,.split-card,.login-card,.import-card{padding:22px}.threshold-plot-card{padding:0}.metric-card,.table-card,.split-card,.threshold-plot-card,.chart-card{background:radial-gradient(circle at top right,rgba(255,255,255,.58),transparent 38%),#ffffffb8;box-shadow:var(--shadow-soft)}.threshold-plot-card>.card-header{padding:26px 30px 18px;border-bottom:1px solid rgba(16,34,42,.06);background:linear-gradient(160deg,#10353d09,#fffffff5 50%)}.threshold-plot-card>.card-header h2{font-size:1.5rem;letter-spacing:-.03em}.threshold-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0;margin-bottom:20px;border-radius:20px;overflow:hidden;border:1px solid rgba(16,34,42,.06);background:#ffffffb8}.goal-v2{display:grid;gap:0;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft)}.goal-v2-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;background:linear-gradient(135deg,#16353d0a,#ffffffeb);border-bottom:1px solid rgba(16,34,42,.06)}.goal-v2-hero.positive{background:linear-gradient(135deg,#2b7a430f,#ffffffeb)}.goal-v2-hero.neutral{background:linear-gradient(135deg,#d26a360f,#ffffffeb)}.goal-v2-hero.negative{background:linear-gradient(135deg,#8d2e0f0f,#ffffffeb)}.goal-v2-hero-left{display:grid;gap:4px}.goal-v2-hero-badge{display:flex;align-items:center;gap:8px}.goal-v2-tone-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.goal-v2-tone-dot.positive{background:#2b7a43}.goal-v2-tone-dot.neutral{background:#d26a36}.goal-v2-tone-dot.negative{background:#8d2e0f}.goal-v2-hero-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.goal-v2-hero-title{margin:0;font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--primary)}.goal-v2-hero-sub{margin:0;color:var(--muted);font-size:.88rem}.goal-v2-hero-right{display:flex;align-items:center;gap:20px;flex-shrink:0}.goal-v2-hero-metric{display:grid;gap:2px;text-align:right}.goal-v2-hero-metric strong{font-family:Space Grotesk,sans-serif;font-size:1.12rem;color:var(--primary)}.goal-v2-hero-metric small{font-size:.76rem;color:var(--muted)}.goal-v2-hero-gap strong{color:#d26a36}.goal-v2-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.goal-v2-diagnosis{display:grid;gap:6px;padding:16px 28px;border-bottom:1px solid rgba(16,34,42,.06);background:#ffffffd1}.goal-v2-diagnosis strong{font-size:.92rem}.goal-v2-diagnosis p{margin:0;color:var(--muted);line-height:1.55;font-size:.88rem}.goal-v2-diagnosis.positive strong{color:#2b7a43}.goal-v2-diagnosis.neutral strong{color:#b85c25}.goal-v2-diagnosis.negative strong{color:#8d2e0f}.goal-v2-body{display:grid;grid-template-columns:1fr 1.3fr;gap:0;background:#ffffffb8}.goal-v2-focuses{display:grid;gap:0;align-content:start;border-right:1px solid rgba(16,34,42,.06)}.goal-v2-focus{display:grid;gap:6px;padding:16px 24px;border-bottom:1px solid rgba(16,34,42,.05);transition:background .15s}.goal-v2-focus:last-child{border-bottom:none}.goal-v2-focus:hover{background:#10222a05}.goal-v2-focus-head{display:flex;align-items:center;gap:8px}.goal-v2-focus-label{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex:1}.goal-v2-focus-badge{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px}.goal-v2-focus-badge.positive{background:#2b7a431f;color:#2b7a43}.goal-v2-focus-badge.neutral{background:#d26a361f;color:#b85c25}.goal-v2-focus-badge.negative{background:#8d2e0f1f;color:#8d2e0f}.goal-v2-focus-values{display:flex;align-items:baseline;gap:8px}.goal-v2-focus-values strong{font-family:Space Grotesk,sans-serif;font-size:1.18rem;color:var(--primary)}.goal-v2-focus-arrow{font-size:.88rem;color:var(--muted);font-weight:500}.goal-v2-focus-delta{font-size:.8rem;color:var(--muted)}.goal-v2-focus-copy{margin:0;font-size:.84rem;color:var(--muted);line-height:1.5}.goal-v2-chart-wrap{display:grid;gap:8px;padding:16px 20px;align-content:start}.goal-v2-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.goal-v2-chart-head strong{font-family:Space Grotesk,sans-serif;font-size:.96rem}.goal-v2-chart-legend{display:flex;gap:14px;align-items:center}.goal-v2-chart-legend span{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:var(--muted)}.goal-v2-legend-line{display:inline-block;width:18px;height:3px;border-radius:999px}.goal-v2-legend-line.actual{background:#16353d}.goal-v2-legend-line.target{background:linear-gradient(90deg,#d26a36 0 55%,transparent 55% 70%,#d26a36 70% 100%)}.goal-v2-chart-body{border-radius:16px;border:1px solid rgba(16,34,42,.06);background:linear-gradient(180deg,#f8fafccc,#ffffffad);padding:8px 6px 0}.goal-v2-chart-caption{margin:0;font-size:.78rem;color:var(--muted);line-height:1.5;max-width:64ch}.goal-v2-notes-toggle{padding:0 28px 20px;background:#ffffffb8;border-radius:0 0 28px 28px}.goal-v2-notes-toggle summary{cursor:pointer;font-size:.8rem;font-weight:700;color:var(--muted);padding:12px 0 4px;list-style:none;-webkit-user-select:none;user-select:none}.goal-v2-notes-toggle summary:before{content:"+ "}.goal-v2-notes-toggle[open] summary:before{content:"- "}.goal-v2-notes{display:grid;gap:6px;padding-top:8px}.goal-v2-notes p{margin:0;font-size:.82rem;color:var(--muted);line-height:1.5;padding:8px 12px;border-radius:12px;background:#10222a0a}.goal-v2-empty{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border-radius:28px;background:#ffffffc2;box-shadow:var(--shadow-soft)}.goal-v2-empty strong{display:block;margin-bottom:4px}.goal-v2-empty p{margin:0;color:var(--muted);line-height:1.5;max-width:60ch}.goal-movement-card{display:none}.goal-scenario-tooltip span{display:block}.threshold-disclaimer{margin:0 0 14px;padding:14px 16px;border-radius:16px;border:1px solid rgba(210,106,54,.18);background:linear-gradient(135deg,#d26a361a,#ffffffb8);box-shadow:inset 0 1px #ffffff8c}.threshold-disclaimer.positive{border-color:#2b7a432e;background:linear-gradient(135deg,#2b7a431a,#ffffffb8)}.threshold-disclaimer strong{display:block;margin-bottom:4px;font-family:Space Grotesk,sans-serif;font-size:.96rem;color:#a24217}.threshold-disclaimer.positive strong{color:#1f6a3a}.threshold-disclaimer p{margin:0;color:var(--primary);font-size:.92rem;line-height:1.45}.threshold-disclaimer-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.threshold-disclaimer-meta span{padding:6px 10px;border-radius:999px;background:#ffffffb3;border:1px solid rgba(16,34,42,.08);color:var(--muted);font-size:.8rem;font-weight:700}.threshold-legend-card{display:flex;gap:14px;align-items:start;padding:16px 18px;border-radius:0;background:transparent;border:none;border-right:1px solid rgba(16,34,42,.06);min-height:110px;transition:background .15s ease}.threshold-legend-card:last-child{border-right:none}.threshold-legend-card:hover{background:#10222a05}.threshold-legend-card strong{display:block;font-family:Space Grotesk,sans-serif;margin-bottom:4px;font-size:.95rem;letter-spacing:-.01em}.threshold-legend-card p,.threshold-legend-card small{margin:0}.threshold-legend-card p{color:var(--muted);font-size:.78rem;line-height:1.4}.threshold-legend-card small{display:block;margin-top:8px;color:var(--primary);font-weight:700;font-size:.92rem;letter-spacing:-.02em}.threshold-legend-card small.threshold-detection-usage{font-size:.8rem;line-height:1.4}.threshold-legend-card small.threshold-detection-usage.warning{color:#8d2e0f}.threshold-legend-card small.threshold-detection-usage.positive{color:#1f6a3a}.threshold-legend-card small.evaluation-delta{font-size:1rem;font-weight:800}.evaluation-delta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.threshold-legend-card small.evaluation-delta.positive{color:#1f6a3a}.threshold-legend-card small.evaluation-delta.negative{color:#8d2e0f}.threshold-legend-card small.evaluation-delta.neutral{color:#a2502a}.threshold-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0;flex:0 0 auto;margin-top:5px}.threshold-legend-card.lt1{background:linear-gradient(180deg,rgba(37,122,77,.07),transparent 60%)}.threshold-dot.lt1,.threshold-legend-card-UNUSED.lt1{background:linear-gradient(135deg,#257a4d29,#257a4d0a)}.threshold-dot.lt1{background:#257a4d}.threshold-legend-card.lt2{background:linear-gradient(180deg,rgba(210,106,54,.07),transparent 60%)}.threshold-dot.lt2-bg,.threshold-legend-card-UNUSED.lt2{background:linear-gradient(135deg,#d26a362e,#d26a360d)}.threshold-legend-card.practical-lt1{background:linear-gradient(180deg,rgba(45,143,91,.06),transparent 60%)}.threshold-dot.practical-lt1,.threshold-legend-card-UNUSED.practical-lt1{background:linear-gradient(135deg,#2d8f5b29,#2d8f5b0a)}.threshold-dot.practical-lt1{background:#2d8f5b}.threshold-legend-card.practical-lt2{background:linear-gradient(180deg,rgba(210,106,54,.06),transparent 60%)}.threshold-dot.practical-lt2,.threshold-legend-card-UNUSED.practical-lt2{background:linear-gradient(135deg,#d26a362e,#d26a360d)}.threshold-dot.practical-lt2,.threshold-dot.lt2{background:#d26a36}.threshold-legend-card.pool{background:linear-gradient(180deg,rgba(22,53,61,.06),transparent 60%)}.threshold-dot.pool,.threshold-legend-card-UNUSED.pool{background:linear-gradient(135deg,#16353d24,#16353d0a)}.threshold-dot.pool{background:#16353d73}.threshold-legend-card.detection.positive{background:linear-gradient(180deg,rgba(37,122,77,.06),transparent 60%)}.threshold-legend-card.detection.neutral{background:linear-gradient(180deg,rgba(210,106,54,.06),transparent 60%)}.threshold-legend-card.detection.negative{background:linear-gradient(180deg,rgba(16,34,42,.06),transparent 60%)}.threshold-dot.detection.lt1-candidate{background:#257a4d;box-shadow:0 0 0 3px #257a4d24}.threshold-dot.detection.lt2-candidate{background:#d26a36;box-shadow:0 0 0 3px #d26a3624}.threshold-sample-count{font-size:.42em;font-weight:600;color:var(--muted);letter-spacing:.02em;white-space:nowrap}.card-header{display:flex;justify-content:space-between;gap:16px;align-items:start;padding:24px 24px 16px}.chart-overlay-list{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.chart-overlay-chip{padding:8px 10px;border-radius:999px;font-size:.8rem;font-weight:700;background:#16353d1a;color:var(--primary)}.chart-overlay-chip.negative{background:#8d2e0f1f;color:#8d2e0f}.chart-overlay-chip.positive{background:#257a4d1f;color:#257a4d}.chart-overlay-chip.warning{background:#d26a3629;color:#a2502a}.chart-meta-legend{display:flex;flex-wrap:wrap;gap:10px 12px;padding:4px 24px 0}.chart-meta-item{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.82rem;font-weight:600}.chart-meta-dot{width:9px;height:9px;border-radius:999px;flex:0 0 auto}.chart-meta-dot.measured{background:#1d5c63}.chart-meta-dot.contextual{background:#d26a36}.chart-meta-line{width:18px;border-top:2px solid currentColor;opacity:.95}.temporal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.temporal-card{display:grid;gap:14px}.temporal-comparison-card{background:radial-gradient(circle at top right,rgba(201,125,61,.08),transparent 40%),#ffffff94}.temporal-bar-stack{display:grid;gap:12px}.temporal-bar-group{display:grid;gap:6px}.temporal-bar-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.92rem}.temporal-bar-head span{color:var(--muted)}.temporal-bar-head strong{font-family:Space Grotesk,sans-serif;font-size:.98rem}.temporal-bar-track{position:relative;height:10px;border-radius:999px;background:#10222a14;overflow:hidden}.temporal-bar-fill{height:100%;border-radius:inherit}.temporal-bar-fill.neutral{background:linear-gradient(90deg,#1d5c63,#2b7b86)}.temporal-bar-fill.positive{background:linear-gradient(90deg,#257a4d,#38a36a)}.temporal-bar-fill.warning{background:linear-gradient(90deg,#d26a36,#e2914f)}.temporal-bar-fill.negative{background:linear-gradient(90deg,#8d2e0f,#c3542b)}.insight-disclosure{border:1px solid rgba(16,34,42,.06);border-radius:24px;background:#ffffff8f;overflow:hidden}.insight-disclosure-summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px}.insight-disclosure-summary::-webkit-details-marker{display:none}.insight-disclosure-summary h2{margin-bottom:0}.insight-disclosure-summary small{flex:0 0 auto;color:var(--muted);font-weight:700;background:#10222a14;padding:7px 10px;border-radius:999px}.insight-disclosure-body{padding:0 18px 18px}.chart-actions-card{padding:20px 24px}.chart-actions-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.chart-action-button{white-space:nowrap;box-shadow:0 12px 26px #16353d1f}.split-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:24px}.focus-block-folders{display:grid;gap:16px;margin-top:0;padding:0 24px 24px}.focus-block-folders .collapsible-card{padding:0;border-radius:24px;background:#ffffff8f}.focus-block-folders .collapsible-summary{padding:22px 24px;background:#ffffff57;border-bottom:1px solid rgba(16,34,42,.06)}.focus-block-folders .list,.focus-block-folders .athlete-form,.focus-block-folders .muted{padding:0 24px 24px}.list{display:grid;gap:12px}.list-item{padding:14px 16px;border-radius:18px;background:#ffffff8c;border:1px solid rgba(16,34,42,.05)}.list-item.warning{background:#d26a361f}.status-card{padding:22px 24px;display:grid;gap:6px}.selectable-estimate-card{cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.selectable-estimate-card:hover{transform:translateY(-1px);border-color:#c97d3d33}.selectable-estimate-card.active{border-color:#c97d3d47;background:radial-gradient(circle at top right,rgba(201,125,61,.08),transparent 35%),#ffffffbd}.status-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.status-card strong{font-family:Space Grotesk,sans-serif;font-size:1.7rem}.metrics-strip .status-card{min-height:212px}.status-card small{color:var(--muted)}.power-bests-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.power-best-card{display:grid;gap:6px;padding:12px 14px;border-radius:20px;background:#ffffff9e;border:1px solid rgba(16,34,42,.06);min-height:132px}.power-best-card strong{font-family:Space Grotesk,sans-serif;font-size:1.08rem;line-height:1.05}.power-best-card p,.power-best-card small{margin:0}.power-best-card p{color:var(--muted);font-size:.9rem;line-height:1.35}.power-best-card small{color:var(--muted);font-size:.82rem}@media(max-width:1280px){.power-bests-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.status-badge{padding:4px 10px;border-radius:8px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.status-badge.high,.status-badge.positive{background:#dcfce7;color:#166534}.status-badge.medium,.status-badge.neutral{background:#10222a0f;color:#10222a99}.status-badge.low,.status-badge.negative,.status-badge.warning{background:#fef3c7;color:#92400e}.insight-strip{padding:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.advisor-card{padding:22px;display:grid;gap:18px}.advisor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.insight-panel{display:grid;gap:12px}.advisor-field{display:grid;gap:8px}.advisor-field span{color:var(--muted);font-size:.88rem}.advisor-response{display:grid;gap:10px}.chip-list{display:flex;flex-wrap:wrap;gap:10px}.insight-chip{padding:10px 12px;border-radius:14px;background:#ffffffad;border:1px solid var(--border);font-size:.95rem}.insight-chip.high{border-color:#2b7a4340}.insight-chip.medium{border-color:#d26a3640}.insight-chip.low{border-color:#8d2e0f40}.import-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:18px;margin-top:18px}.mapping-row{display:grid;gap:8px}.mapping-row select{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#ffffffe0}.button-row{display:flex;gap:12px}.preview-table{overflow-x:auto}.compact-table{display:grid;gap:10px}.dynamic-reference-table{gap:0}.compact-row{display:grid;grid-template-columns:.8fr 1fr .9fr .7fr .7fr;gap:10px;padding:12px 14px;border-radius:16px;background:#ffffff8c;align-items:center}.dynamic-reference-table .compact-row{grid-template-columns:1fr 1.2fr 1.25fr .8fr;padding:20px 30px;border-radius:0;border-bottom:1px solid rgba(16,34,42,.06);background:#ffffffe0;transition:background .15s ease}.dynamic-reference-table .compact-row:last-child{border-bottom:none}.dynamic-reference-table .compact-row:hover{background:#10222a05}.dynamic-secondary-cell{line-height:1.45;color:var(--primary)}.dynamic-footnote{max-width:56ch;line-height:1.55}.compact-head{background:#16353d14;font-size:.88rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.dashboard-athlete-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.dashboard-athlete-card{padding:18px 20px;border-radius:22px;background:linear-gradient(180deg,#ffffffd1,#ffffffa3);border:1px solid rgba(16,34,42,.08);display:grid;gap:12px;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.dashboard-athlete-card:hover{transform:translateY(-2px);box-shadow:0 20px 42px #10222a1a;border-color:#16353d1f}.dashboard-athlete-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.dashboard-athlete-head strong{display:block;font-family:Space Grotesk,sans-serif;font-size:1.5rem;margin-bottom:4px}.dashboard-athlete-head p{margin:0;color:var(--muted)}.dashboard-athlete-card p,.dashboard-athlete-card small{margin:0}.inline-goals-entry{position:relative}.inline-goals-entry[open]{z-index:2}.target-form-inline{position:absolute;top:calc(100% + 10px);left:0;width:min(720px,82vw);padding:18px;border-radius:20px;background:#fffffff5;border:1px solid rgba(16,34,42,.08);box-shadow:0 18px 42px #10222a1f}.target-modal-backdrop{position:fixed;inset:0;z-index:30;background:#10222a42;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:24px}.target-modal-card{width:min(1040px,100%);max-height:calc(100vh - 48px);overflow:auto}.lactate-modal-card{width:min(1120px,100%)}.physiology-report-modal{width:min(1200px,100%)}.physiology-report-modal-body{padding:0 24px 24px}.physiology-report-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.physiology-report-button{background:linear-gradient(135deg,#17343c,#2c6b78);box-shadow:0 16px 34px #16353d2e}.physiology-report-empty-state{display:grid;gap:8px;padding:22px 0 4px}.physiology-report-empty-state strong{font-family:Space Grotesk,sans-serif;font-size:1.15rem}.physiology-report-empty-state p{margin:0;color:var(--muted)}.lactate-modal-form{padding:0 24px 24px}.cycling-panel-modal{width:min(1360px,100%)}@media(max-width:1280px){.cycling-insights-row{grid-template-columns:1fr}}.modal-target-history{padding-top:0}.physiology-report-preview.editorial{display:grid;gap:28px;color:#111}.physiology-report-heading{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding-bottom:18px;border-bottom:2px solid rgba(17,17,17,.9)}.physiology-report-kicker{margin:0 0 10px;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:#6a6a6a;font-weight:700}.physiology-report-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:2.2rem;font-weight:600;line-height:1.05}.physiology-report-subtitle{margin:10px 0 0;color:#5b5b5b;font-size:.98rem}.physiology-report-meta{display:grid;gap:14px;margin:0;padding:0}.physiology-report-meta div{display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid rgba(17,17,17,.12)}.physiology-report-meta dt{margin:0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#707070;font-weight:700}.physiology-report-meta dd{margin:0;color:#111;line-height:1.4;font-weight:600}.physiology-report-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.physiology-report-reference{display:grid;gap:6px;padding:14px 0 0;border-top:1px solid rgba(17,17,17,.16)}.physiology-report-reference span,.physiology-report-threshold-row span,.physiology-report-zone-editorial span,.physiology-report-note-block span{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#737373;font-weight:700}.physiology-report-reference strong,.physiology-report-threshold-row strong,.physiology-report-zone-editorial strong,.physiology-report-stage-head,.physiology-report-stage-row{font-family:Space Grotesk,sans-serif}.physiology-report-reference strong{color:#111;font-size:1rem}.physiology-report-reference p,.physiology-report-body-copy,.physiology-report-prose p,.physiology-report-note-block p{margin:0;color:#4f4f4f;line-height:1.6}.physiology-report-editorial-section{display:grid;gap:16px;padding-top:16px;border-top:1px solid rgba(17,17,17,.12)}.physiology-report-section-head{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start}.physiology-report-section-head span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(17,17,17,.18);border-radius:50%;font-family:Georgia,Times New Roman,serif;font-size:1rem;color:#111}.physiology-report-section-head h3{margin:0 0 4px;font-family:Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:600}.physiology-report-section-head p{margin:0;color:#606060;line-height:1.55}.physiology-report-two-column{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px}.physiology-report-two-column.plan{align-items:start}.physiology-report-stack,.physiology-report-prose,.physiology-report-zones-editorial{display:grid;gap:12px}.physiology-report-prose.compact{gap:10px}.physiology-report-figure{display:grid;gap:12px;padding:16px;border:1px solid rgba(17,17,17,.12);background:#fff}.physiology-report-figure figcaption{display:grid;gap:4px}.physiology-report-figure figcaption span{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#737373;font-weight:700}.physiology-report-figure figcaption strong{font-family:Georgia,Times New Roman,serif;font-size:1.12rem;font-weight:600;color:#111}.physiology-report-figure svg{width:100%;height:auto;border:1px solid rgba(17,17,17,.08)}.physiology-report-threshold-table{display:grid;gap:10px}.physiology-report-threshold-row{display:grid;gap:6px;padding:14px;border:1px solid rgba(17,17,17,.1);background:#fff}.physiology-report-threshold-row p,.physiology-report-zone-editorial p,.physiology-report-zone-editorial small{margin:0;color:#555}.physiology-report-stage-table.editorial,.physiology-report-zones-editorial{display:grid;gap:10px}.physiology-report-stage-head,.physiology-report-stage-row{display:grid;grid-template-columns:70px minmax(0,1fr) 90px 116px 86px;gap:10px;align-items:center}.physiology-report-stage-head{padding:0 10px;font-size:.72rem;font-weight:700;color:#707070;text-transform:uppercase;letter-spacing:.12em}.physiology-report-stage-row{padding:11px 12px;border-top:1px solid rgba(17,17,17,.08);font-size:.92rem;color:#111}.physiology-report-zone-editorial{grid-template-columns:180px minmax(0,1fr) 130px;gap:14px;align-items:start;padding:14px 0 14px 14px;border-left:4px solid #dcdcdc;border-bottom:1px solid rgba(17,17,17,.08)}.physiology-report-trajectory p{margin:0;color:#555;line-height:1.55}.trajectory-lanes{display:grid;gap:14px}.trajectory-lane{display:grid;gap:8px}.trajectory-lane>span{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#666;font-weight:700}.trajectory-track{position:relative;height:64px;border-top:1px solid rgba(17,17,17,.16);border-bottom:1px solid rgba(17,17,17,.08);background:linear-gradient(90deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.03) 32%,transparent 32%,transparent 68%,rgba(154,61,0,.06) 68%,rgba(154,61,0,.06) 100%)}.trajectory-track.objective{background:linear-gradient(90deg,rgba(0,0,0,.025) 0%,rgba(0,0,0,.025) 40%,transparent 40%,transparent 76%,rgba(154,61,0,.09) 76%,rgba(154,61,0,.09) 100%)}.trajectory-marker{position:absolute;top:10px;transform:translate(-50%);display:grid;gap:2px;padding-left:10px}.trajectory-marker:before{content:"";position:absolute;left:0;top:0;width:2px;height:36px;background:#111}.trajectory-marker.target:before{background:#9a3d00}.trajectory-marker small{color:#707070}.trajectory-marker strong{color:#111;font-size:.82rem}.physiology-report-note-block{display:grid;gap:8px;padding-top:14px;border-top:1px solid rgba(17,17,17,.12)}.physiology-report-note-block.subtle{color:#5b5b5b}.target-history-item{gap:10px}.target-hints{display:grid;gap:6px;margin-top:2px}.target-hints small{color:#8d2e0f;font-weight:700}.target-hints-summary{padding:10px 14px;border-radius:14px;background:#d26a3614;border:1px solid rgba(210,106,54,.12)}.triathlon-counter{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.triathlon-counter-card{display:grid;gap:6px;padding:14px 16px;border-radius:16px;background:#ffffffc7;border:1px solid rgba(16,34,42,.08)}.triathlon-counter-card.primary{background:#d26a3614;border-color:#d26a3624}.triathlon-counter-card span{color:var(--muted);font-size:.82rem;letter-spacing:.03em;text-transform:uppercase;font-weight:700}.triathlon-counter-card strong{font-family:Space Grotesk,sans-serif;font-size:1.5rem;line-height:1.05}.triathlon-counter-card small{color:#5f6c74;line-height:1.35}.field-hints{display:grid;gap:5px;margin-top:8px}.field-hints small{color:#5f6c74;font-size:.8rem;line-height:1.35}.target-page-form>label:has(input[placeholder="03:35/km"]),.target-page-form>label:has(input[placeholder="01:22/100m"]),.target-page-form>label:has(input[placeholder="4.20"]){align-self:start}.danger-button{border:1px solid rgba(141,46,15,.18);background:#8d2e0f14;color:#8d2e0f;border-radius:999px;padding:10px 16px;font-weight:700;cursor:pointer}.threshold-overview{padding:0}.collapsible-card{overflow:hidden}.collapsible-summary h3{margin-top:2px}.collapsible-summary p{margin:8px 0 0}.hero p,.card-header p{max-width:72ch}.cycling-comparable-table .compact-row{grid-template-columns:.9fr .9fr .8fr .8fr .8fr .8fr}.power-threshold-head,.power-threshold-row{grid-template-columns:.9fr .8fr .8fr .8fr .8fr .8fr 1.2fr .8fr .8fr}.table-card table{width:100%;border-collapse:collapse}.table-card th,.table-card td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--border)}.table-card th{color:var(--muted);font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.table-card tbody tr{transition:background .12s ease}.table-card tbody tr:hover{background:#16353d09}.inline-link{color:var(--accent);font-weight:700;margin-right:14px}.danger-link{border:none;background:transparent;color:#8d2e0f;cursor:pointer;font-weight:700;padding:0}.ghost-button,.primary-button{border:none;border-radius:16px;padding:12px 16px;cursor:pointer;font-weight:700;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,color .14s ease}.ghost-button:hover,.primary-button:hover{transform:translateY(-1px)}.ghost-button{background:#16353d14;color:var(--primary);border:1px solid rgba(16,34,42,.06)}.ghost-button.danger{background:#962f1d14;color:#8d2e0f;border-color:#8d2e0f1f}.measurement-action-cell{width:1%;white-space:nowrap;text-align:right}.measurement-action-cell .ghost-button{padding:8px 12px;border-radius:12px}.primary-button{background:linear-gradient(135deg,#17343c,#2f6570);color:#fff;box-shadow:0 14px 30px #16353d2e}.login-screen{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#ffffffd1,#f8f8fab8 40%,#f5f5f7a6),url(/login-bg.jpg);background-size:cover;background-position:center 40%;background-repeat:no-repeat}.login-screen:before{display:none}.login-screen:after{display:none}.login-panel{width:min(1120px,100%);display:grid;grid-template-columns:1.3fr .9fr;gap:24px}.dual-access-panel{grid-template-columns:1.05fr 1fr;align-items:stretch}.login-choice-panel{grid-template-columns:1.05fr .95fr;align-items:center}.login-choice-panel-single{grid-template-columns:minmax(0,760px);justify-content:center}.hero-copy{position:relative;display:grid;gap:14px;justify-items:center;text-align:center;max-width:780px;padding:28px 36px;background:transparent;border-radius:0;box-shadow:none}.hero-copy:before{content:"";position:absolute;inset:-40px -52px;z-index:-1;background:radial-gradient(ellipse at center,#08161e3d,#08161e14 46%,#08161e00 76%);filter:blur(18px);pointer-events:none}.hero-copy .eyebrow{color:#d98a53}.hero-copy h1{max-width:760px;margin:0;color:#f4f7f9;text-shadow:0 16px 34px rgba(4,12,18,.46)}.hero-copy p{max-width:660px;margin:0 auto;color:#e6eef2e6;text-shadow:0 10px 24px rgba(4,12,18,.32)}.login-card{display:grid;gap:14px}.parallel-access-grid{display:grid;gap:18px}.mode-selector{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;justify-content:center}.secondary-access-link{display:flex;justify-content:center;margin-top:18px}.mode-button{min-width:180px;padding:16px 22px;border-radius:20px;border:1px solid rgba(255,255,255,.14);background:#0a182070;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#eef5f8;font-family:Space Grotesk,sans-serif;font-size:1.05rem;font-weight:700;cursor:pointer;box-shadow:0 18px 34px #040c1233;transition:transform .14s ease,background .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease}.mode-button:hover{transform:translateY(-1px);box-shadow:0 22px 38px #040c124d;background:#0c1c2694}.mode-button.active{background:linear-gradient(135deg,#183743,#295e73);color:#fff;border-color:transparent;box-shadow:0 18px 34px #06101657}.secondary-access-button{min-width:180px;padding:13px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#f18c4a29;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff4eb;font-family:Space Grotesk,sans-serif;font-size:.96rem;font-weight:700;letter-spacing:.01em;box-shadow:0 16px 34px #040c1229;transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease}.secondary-access-button:hover{transform:translateY(-1px);background:#f18c4a38;border-color:#ffffff3d;box-shadow:0 20px 40px #040c123d}.access-card{align-content:start}.compact-login-card{padding:28px}.virtual-ride-screen{align-items:center}.virtual-ride-hero{max-width:700px}.virtual-ride-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;justify-content:center}.virtual-ride-launch,.virtual-ride-back{min-width:200px;justify-content:center}.virtual-ride-card{width:min(640px,100%);margin:0 auto;padding:28px;border-radius:28px;background:linear-gradient(180deg,#fffffff5,#f7f3eeeb)}.virtual-ride-checklist{display:grid;gap:14px;margin-top:18px}.virtual-ride-checklist div{padding:14px 16px;border-radius:18px;background:#142d360a;border:1px solid rgba(16,34,42,.08)}.virtual-ride-checklist p{margin:6px 0 0;color:var(--muted)}.virtual-ride-links{display:flex;gap:16px;margin-top:22px;flex-wrap:wrap}.virtual-ride-links a{color:var(--accent);font-weight:700}.login-credit{position:fixed;right:24px;bottom:18px;z-index:5;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#ecf2f5b8;text-shadow:0 8px 24px rgba(4,12,18,.34);pointer-events:none}.login-modal-actions{display:flex;justify-content:flex-end;gap:12px}.access-card-head{display:grid;gap:8px}.access-card-head p,.login-copy-card p{margin:0;color:var(--muted)}.login-rail-copy{margin-top:24px;display:grid;gap:14px}.login-copy-card{padding:16px 18px;border-radius:18px;background:#ffffff8a;border:1px solid rgba(16,34,42,.06)}.athlete-shell{min-height:100vh;background:radial-gradient(circle at top left,rgba(217,157,82,.18),transparent 28%),linear-gradient(135deg,#f4efe7,#eef4f2 40%,#edf3f8)}.athlete-content{padding-top:14px}.athlete-portal-hero,.athlete-portal-note{padding:28px}.target-page-shell{padding-bottom:24px}.target-page-form{padding:0 24px}.target-history-list{padding:0 24px 24px}.login-card label{display:grid;gap:8px}.login-card input,.athlete-form input,.athlete-form select,.athlete-form textarea{padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#ffffffe0}.athlete-form-card h2{margin:6px 0 0}.estimate-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.estimate-selector-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,220px);gap:12px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;margin-bottom:18px;scrollbar-width:thin}.estimate-selector-card{appearance:none;border:1px solid rgba(16,34,42,.08);border-radius:22px;background:#ffffffa8;padding:16px 18px;display:grid;gap:8px;text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.estimate-selector-card:hover{transform:translateY(-1px);border-color:#c97d3d33}.estimate-selector-card.active{border-color:#c97d3d47;background:radial-gradient(circle at top right,rgba(201,125,61,.08),transparent 35%),#ffffffd1;box-shadow:0 14px 28px #10222a14}.estimate-selector-card strong{font-family:Space Grotesk,sans-serif;font-size:1.2rem;line-height:1.02}.estimate-selector-card small{color:var(--muted);line-height:1.35}.estimate-card{display:grid;gap:20px;padding:26px 30px}.estimate-card-featured{min-height:240px}.estimate-visual-grid{gap:16px}.estimate-main{font-family:Space Grotesk,sans-serif;font-size:1.7rem;margin:0;letter-spacing:-.035em;line-height:1.05}.estimate-range{display:grid;gap:8px;margin-top:4px}.estimate-range-track{position:relative;height:16px;border-radius:999px;background:#10222a0f;overflow:visible}.estimate-range-fill{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#c97d3d33,#257a4d38)}.estimate-range-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:999px;background:var(--primary);border:2px solid white;box-shadow:0 3px 12px #10222a38}.estimate-range-marker span{position:absolute;top:-24px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.72rem;font-weight:700;color:var(--primary)}.estimate-range-labels{display:flex;justify-content:space-between;gap:10px}.estimate-range-labels small{color:var(--muted);font-size:.8rem}.estimate-summary,.estimate-range-summary{margin:0;color:var(--muted);line-height:1.6;max-width:62ch}.estimate-support-strip{display:flex;flex-wrap:wrap;gap:10px}.estimate-support-strip small{color:var(--muted);background:#10222a0f;border-radius:999px;padding:7px 10px;font-weight:700}.estimate-anchor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;border-radius:20px;overflow:hidden;border:1px solid rgba(16,34,42,.06)}.estimate-anchor-card{border:none;border-radius:0;border-bottom:1px solid rgba(16,34,42,.06);padding:18px 22px;background:#ffffffc7;display:grid;gap:8px;transition:background .15s ease}.estimate-anchor-card:last-child{border-bottom:none}.estimate-anchor-card:hover{background:#10222a05}.estimate-anchor-card strong{font-family:Space Grotesk,sans-serif;font-size:1.1rem}.estimate-anchor-card small{color:var(--muted)}.estimate-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}@media(max-width:960px){.estimate-insight-grid{grid-template-columns:minmax(0,1fr)}}.confidence-card,.trend-card,.timeline-item{display:grid;gap:6px}.muted-eyebrow{color:var(--muted)}.polished-timeline-list,.polished-trend-grid{gap:16px}.timeline-item{padding:18px 20px;border-radius:22px;background:#fff9;border:1px solid rgba(16,34,42,.06)}.timeline-item strong{font-family:Space Grotesk,sans-serif;font-size:1.2rem}.timeline-item p,.timeline-item small{margin:0;color:var(--muted)}.trend-card{padding:18px 20px;border-radius:22px;border:1px solid rgba(16,34,42,.06);background:#fff9}.trend-card strong{font-family:Space Grotesk,sans-serif;font-size:1.12rem}.trend-card p,.trend-card small{margin:0}.trend-card small{color:var(--muted)}.caution-list,.explanation-list{gap:14px}.caution-card,.explanation-card{padding:18px 20px}.info-line{display:inline-flex;align-items:center;gap:8px}.caution-card p,.explanation-card p{margin:0;color:var(--muted);line-height:1.6}.caution-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700}.caution-card.warning{background:linear-gradient(180deg,#fff3e8e0,#ffffffb8);border-color:#d26a362e}.caution-card.warning .caution-eyebrow{color:#b25a2f}.caution-card.negative{background:linear-gradient(180deg,#ffece7eb,#ffffffb8);border-color:#ad3f1f2e}.caution-card.negative .caution-eyebrow{color:#a04526}.caution-card.neutral{background:linear-gradient(180deg,#eff6f4e6,#ffffffb8);border-color:#16353d1a}.caution-card.neutral .caution-eyebrow{color:#305761}.explanation-card{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start}.explanation-step{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#16353d1a;color:var(--primary);font-family:Space Grotesk,sans-serif;font-weight:700}.explanation-copy{display:grid;gap:8px}.explanation-help{display:inline-flex;align-items:center;gap:8px;color:var(--muted);line-height:1.55}.info-hint{position:relative;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#16353d1f;color:var(--primary);font-size:.78rem;font-weight:800;cursor:help;flex:0 0 auto}.info-tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);min-width:220px;max-width:280px;padding:10px 12px;border-radius:14px;background:#10222af0;color:#fff;font-size:.82rem;line-height:1.45;opacity:0;pointer-events:none;box-shadow:0 16px 34px #10222a33;transition:opacity .12s ease,transform .12s ease}.info-hint:hover .info-tooltip,.info-hint:focus .info-tooltip{opacity:1;transform:translate(-50%) translateY(-2px)}.confidence-card.high,.trend-card.positive{border-left:4px solid #1f6a3a}.confidence-card.medium,.trend-card.neutral{border-left:4px solid #a2502a}.confidence-card.low,.trend-card.negative{border-left:4px solid #8d2e0f}.trend-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.timeline-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.analysis-ladder,.planning-board,.analysis-output-grid,.analysis-athlete-list{display:grid;gap:14px}.analysis-athlete-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;border-radius:22px;background:#ffffff94;border:1px solid rgba(16,34,42,.08)}.analysis-athlete-card.active{border-color:#16353d3d;box-shadow:inset 0 0 0 1px #16353d14}.analysis-athlete-card strong{display:block;font-family:Space Grotesk,sans-serif;font-size:1.1rem}.analysis-athlete-card p,.analysis-athlete-card small{margin:0}.analysis-athlete-card p{color:var(--muted)}.analysis-result-card{padding:22px}.analysis-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.analysis-status-card.high{border-left:4px solid #1f6a3a}.analysis-status-card.medium{border-left:4px solid #a2502a}.analysis-status-card.low{border-left:4px solid #8d2e0f}.analysis-step,.planning-card{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px 18px;border-radius:20px;background:#ffffff94;border:1px solid rgba(16,34,42,.08)}.analysis-step span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#16353d14;font-family:Space Grotesk,sans-serif;font-weight:700;color:var(--accent)}.analysis-step strong,.planning-card strong{display:block;margin-bottom:4px;font-family:Space Grotesk,sans-serif}.athlete-form,.session-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.athlete-form label,.session-form label{display:grid;gap:8px}.full-width{grid-column:1 / -1}.interval-stack{display:grid;gap:16px}.interval-card h3{margin:0}.sample-row{display:grid;gap:8px}.checkbox-row{display:flex!important;align-items:center;gap:8px}.checkbox-row input{width:auto}.error{color:#8d2e0f}.loading{padding:32px;color:var(--muted)}.session-debug-card{max-width:760px;margin:48px auto;padding:28px;border-radius:28px;background:radial-gradient(circle at top right,rgba(210,106,54,.14),transparent 24%),linear-gradient(135deg,#fffffffa,#f7f3edfa);box-shadow:0 28px 80px #1c313a24}.session-debug-card h2{margin:10px 0 12px;color:var(--ink)}.session-debug-list{display:grid;gap:12px;margin-top:18px}.session-debug-list div{display:grid;gap:4px;padding:14px 16px;border-radius:18px;background:#f6f1eae0;border:1px solid rgba(28,49,58,.08)}.session-debug-list strong{color:var(--ink)}.session-debug-list span{color:var(--muted);word-break:break-word}.session-debug-hint{margin-top:18px;color:var(--muted)}.session-debug-actions{display:flex;gap:12px;margin-top:20px}.athlete-portal-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:20px;align-items:start}.athlete-portal-topline,.athlete-portal-hero-shell,.athlete-portal-garmin-panel{grid-column:1 / -1}.athlete-portal-health-panel,.athlete-portal-lactate-panel,.athlete-portal-story-grid{grid-column:1}.athlete-portal-command-grid,.athlete-portal-performance-panel,.athlete-portal-section{grid-column:2}.athlete-portal-topline{order:1}.athlete-portal-health-panel{grid-column:1 / -1;order:2}.athlete-portal-hero-shell{order:3}.athlete-portal-command-grid{order:4}.athlete-portal-lactate-panel{order:5}.athlete-portal-performance-panel{order:6}.athlete-portal-story-grid{order:7}.athlete-portal-section{order:8}.athlete-portal-garmin-panel{order:9}.athlete-portal-topline,.athlete-portal-command-grid,.athlete-portal-story-grid{padding:18px 20px;border-radius:32px;background:radial-gradient(circle at top left,rgba(255,255,255,.92),transparent 28%),linear-gradient(180deg,#f8f6f1fa,#ece9e2f0);box-shadow:18px 18px 34px #bab4ab33,-14px -14px 28px #ffffffd6,inset 1px 1px #ffffffeb,inset -1px -1px #c0bab024}.athlete-portal-topline{display:flex;align-items:center;justify-content:space-between;gap:18px}.athlete-portal-topline-main{display:grid;gap:4px}.athlete-portal-topline-main strong{font-family:Space Grotesk,sans-serif;font-size:clamp(1.2rem,1.8vw,1.6rem);line-height:1.02;text-transform:capitalize}.athlete-portal-topline-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:min(100%,760px)}.athlete-portal-topline-chip{display:grid;gap:6px;padding:14px 16px;border-radius:22px;background:linear-gradient(180deg,#f9f8f4fa,#e9e7e1f0);box-shadow:inset 8px 8px 16px #c5bfb524,inset -8px -8px 16px #ffffffe0}.athlete-portal-topline-chip strong{font-family:Space Grotesk,sans-serif;font-size:1rem;line-height:1}.athlete-portal-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.athlete-portal-hero-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:22px;padding:30px;border-radius:40px;background:radial-gradient(circle at top left,rgba(250,228,188,.74),transparent 24%),radial-gradient(circle at top right,rgba(213,228,255,.56),transparent 22%),radial-gradient(circle at bottom right,rgba(212,242,226,.72),transparent 28%),linear-gradient(118deg,#f8f4ecfa,#ffffffeb 54%,#ecf5f1eb);box-shadow:22px 22px 44px #bab4ab38,-18px -18px 36px #ffffffd1,inset 1px 1px #ffffffeb,inset -1px -1px #c3bdb424}.athlete-portal-hero-copy{display:grid;align-content:start;gap:10px}.athlete-portal-stage-main{gap:14px}.athlete-portal-status-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.athlete-portal-status-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.athlete-portal-status-badge.surging{background:#16353df0;color:#fff}.athlete-portal-status-badge.steady{background:#d26a3624;color:#8d461e}.athlete-portal-status-badge.building{background:#3156d31f;color:#3156d3}.athlete-portal-status-context{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.athlete-portal-hero-copy h1{margin:0;font-size:clamp(2.45rem,4.4vw,4rem);line-height:.96}.athlete-portal-hero-copy>p{margin:0}.athlete-portal-stage-headline{max-width:20ch;font-family:Space Grotesk,sans-serif;font-size:clamp(1.35rem,2.3vw,2.35rem);line-height:1.04;color:var(--primary)}.athlete-portal-stage-summary{max-width:56ch;color:var(--muted);line-height:1.52;font-size:1.02rem}.athlete-portal-stage-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.athlete-portal-dashboard-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.athlete-portal-dashboard-metric{display:grid;gap:8px;padding:14px 16px;border-radius:22px;background:linear-gradient(180deg,#ffffffe0,#f7f3edb3);border:1px solid rgba(16,34,42,.08);box-shadow:inset 0 1px #ffffffd1}.athlete-portal-dashboard-metric strong{font-family:Space Grotesk,sans-serif;font-size:1.08rem;line-height:1.08}.athlete-portal-dashboard-metric p{margin:0;color:var(--muted);line-height:1.45;font-size:.93rem}.athlete-portal-stage-highlight{display:grid;gap:8px;padding:14px 16px;border-radius:22px;background:linear-gradient(180deg,#ffffffdb,#f7f3edad);border:1px solid rgba(16,34,42,.08);box-shadow:inset 0 1px #fffc}.athlete-portal-stage-highlight strong{font-family:Space Grotesk,sans-serif;font-size:1.08rem;line-height:1.1}.athlete-portal-stage-highlight p{margin:0;color:var(--muted);line-height:1.45;font-size:.93rem}.athlete-portal-stage-note{display:grid;gap:8px;padding:16px 18px;border-radius:22px;border:1px solid transparent;box-shadow:var(--shadow-soft)}.athlete-portal-stage-note strong{font-family:Space Grotesk,sans-serif;font-size:1.04rem;line-height:1.25}.athlete-portal-stage-note.surging{background:linear-gradient(135deg,#16353df7,#2f6570eb);color:#fff}.athlete-portal-stage-note.steady{background:linear-gradient(135deg,#faf2eefa,#fff9f5f0);border-color:#d26a3624}.athlete-portal-stage-note.building{background:linear-gradient(135deg,#f0f5fffa,#f9fbfff5);border-color:#3156d31f}.athlete-portal-stage-note.surging .athlete-portal-card-label,.athlete-portal-stage-note.surging strong{color:#fff}.athlete-portal-sync-note{max-width:54ch;color:var(--muted);line-height:1.45;font-size:.85rem}.athlete-portal-hero-aside{display:grid;gap:12px;align-content:start}.athlete-portal-hero-card,.athlete-portal-summary-card,.athlete-portal-chart-card,.athlete-portal-insight-card,.athlete-portal-week-card,.athlete-portal-guidance-card,.athlete-portal-balance-card,.athlete-portal-feed-item,.athlete-portal-guidance-item,.athlete-discipline-card-portal,.athlete-target-card-portal{border-radius:24px;border:1px solid rgba(16,34,42,.07);background:radial-gradient(circle at top right,rgba(255,255,255,.72),transparent 38%),#ffffffb8;box-shadow:var(--shadow-soft)}.athlete-portal-hero-card{display:grid;gap:8px;padding:18px 20px}.athlete-portal-spotlight-card{min-height:208px}.athlete-portal-focus-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.athlete-portal-focus-nav{display:flex;gap:8px}.athlete-portal-focus-arrow{appearance:none;width:34px;height:34px;border-radius:999px;border:1px solid rgba(16,34,42,.08);background:#ffffffd6;color:var(--primary);font:inherit;font-weight:700;cursor:pointer}.athlete-portal-focus-rail{display:flex;gap:8px;flex-wrap:wrap}.athlete-portal-focus-list{display:grid;gap:10px}.athlete-portal-focus-list-item{display:grid;gap:4px;padding:12px 14px;border-radius:18px;background:#ffffffb3;border:1px solid rgba(16,34,42,.06)}.athlete-portal-focus-list-item strong{font-size:1rem}.athlete-portal-focus-list-item p{margin:0;color:var(--muted);line-height:1.45}.athlete-portal-focus-chip{appearance:none;border:1px solid rgba(16,34,42,.08);background:#ffffffc7;color:var(--muted);border-radius:999px;padding:8px 12px;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.athlete-portal-focus-chip.active{background:#16353de6;color:#fff;border-color:transparent}.athlete-portal-hero-card.standout{background:radial-gradient(circle at top right,rgba(210,106,54,.15),transparent 34%),linear-gradient(180deg,#fffffff2,#f8f3edeb)}.athlete-portal-hero-card.sync{background:radial-gradient(circle at top right,rgba(21,127,102,.1),transparent 34%),linear-gradient(180deg,#fffffff2,#eff7f4eb)}.athlete-portal-sync-provider-list{display:flex;gap:8px;flex-wrap:wrap}.athlete-portal-sync-provider{display:inline-flex;align-items:center;padding:8px 11px;border-radius:999px;background:#ffffffb8;border:1px solid rgba(16,34,42,.07);color:var(--muted);font-size:.78rem;font-weight:700}.athlete-portal-sync-provider.connected{background:#157f661f;border-color:#157f662e;color:#157f66}.athlete-portal-focus-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.athlete-portal-command-grid{display:grid;grid-template-columns:1fr;gap:14px}.athlete-portal-side-shell{align-content:start}.athlete-portal-side-head{display:grid;gap:6px;padding:4px 4px 10px}.athlete-portal-side-head h2{margin:0;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.02}.athlete-portal-side-head p{margin:0;max-width:32ch}.athlete-portal-command-card{display:grid;gap:14px;padding:20px;border-radius:28px;border:1px solid rgba(16,34,42,.07);background:radial-gradient(circle at top right,rgba(255,255,255,.76),transparent 38%),#fffc;box-shadow:var(--shadow-soft)}.athlete-portal-command-card strong{font-family:Space Grotesk,sans-serif;font-size:1.52rem;line-height:1.05}.athlete-portal-command-card.surging{background:radial-gradient(circle at top right,rgba(21,127,102,.12),transparent 34%),linear-gradient(180deg,#fffffff5,#eff7f4eb)}.athlete-portal-command-card.steady{background:radial-gradient(circle at top right,rgba(210,106,54,.12),transparent 34%),linear-gradient(180deg,#fffffff5,#fcf2edeb)}.athlete-portal-command-card.building{background:radial-gradient(circle at top right,rgba(49,86,211,.12),transparent 34%),linear-gradient(180deg,#fffffff5,#eff4ffeb)}.athlete-portal-command-card p,.athlete-portal-command-card small{margin:0;color:var(--muted);line-height:1.46}.athlete-portal-command-list{display:grid;gap:10px}.athlete-portal-command-list-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.athlete-portal-command-list-item span{width:10px;height:10px;margin-top:6px;border-radius:999px;background:#16353dd6}.athlete-portal-week-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.athlete-portal-week-kpis div,.athlete-portal-reference-strip span,.athlete-portal-volume-inline span{display:grid;gap:4px;padding:12px 12px 10px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(16,34,42,.06)}.athlete-portal-week-bars{display:grid;gap:10px}.athlete-portal-week-bar-row{display:grid;gap:6px}.athlete-portal-week-bar-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.athlete-portal-week-bar-head strong{font-size:.95rem}.athlete-portal-week-bar-track{height:10px;border-radius:999px;background:#16353d14;overflow:hidden}.athlete-portal-week-bar-fill{height:100%;border-radius:999px}.athlete-portal-reference-strip,.athlete-portal-volume-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.athlete-portal-reference-strip small,.athlete-portal-volume-inline small,.athlete-portal-week-kpis small{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.athlete-portal-reference-strip strong,.athlete-portal-volume-inline strong,.athlete-portal-week-kpis strong{font-size:1.02rem}.athlete-portal-performance-panel{display:grid;gap:16px;padding:22px;border-radius:32px;background:radial-gradient(circle at top right,rgba(221,232,255,.62),transparent 24%),linear-gradient(180deg,#f8f6f1fa,#ebe8e1f0);box-shadow:18px 18px 34px #bab4ab2e,-14px -14px 28px #ffffffd6,inset 1px 1px #ffffffeb,inset -1px -1px #c0bab01f}.athlete-portal-health-panel{display:grid;gap:16px;padding:22px}.athlete-portal-health-providers{display:flex;gap:8px;flex-wrap:wrap}.athlete-portal-health-providers.compact{justify-content:end}.athlete-portal-health-actions{display:grid;gap:10px;justify-items:end}.athlete-portal-health-status{margin:0;max-width:280px;text-align:right;color:var(--muted);line-height:1.45}.athlete-portal-health-inline-status{padding:12px 14px;border-radius:16px;background:#ffffffb8;border:1px solid rgba(16,34,42,.06);color:var(--primary);font-weight:600}.athlete-portal-health-diagnostic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.athlete-portal-health-diagnostic-card{display:grid;gap:4px;padding:12px;border-radius:16px;background:#ffffffb8;border:1px solid rgba(16,34,42,.06)}.athlete-portal-health-diagnostic-card strong{font-family:Space Grotesk,sans-serif}.athlete-portal-health-provider{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#ffffffb8;border:1px solid rgba(16,34,42,.08);color:var(--muted);font-size:.78rem;font-weight:700}.athlete-portal-health-provider.connected{background:#157f661f;border-color:#157f662e;color:#157f66}.athlete-portal-health-provider.error{background:#d26a361f;border-color:#d26a362e;color:#b45309}.athlete-portal-health-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.athlete-portal-health-summary-card,.athlete-portal-health-calendar-card,.athlete-portal-health-feed-card{display:grid;gap:8px;padding:18px 20px;border-radius:24px;border:1px solid rgba(16,34,42,.07);background:radial-gradient(circle at top right,rgba(255,255,255,.72),transparent 38%),#ffffffc2;box-shadow:var(--shadow-soft)}.athlete-portal-health-summary-card strong,.athlete-portal-health-calendar-card strong,.athlete-portal-health-feed-card strong,.athlete-portal-health-day strong,.athlete-portal-health-activity strong{font-family:Space Grotesk,sans-serif}.athlete-portal-health-summary-card p,.athlete-portal-health-day p,.athlete-portal-health-activity p,.athlete-portal-health-activity small,.athlete-portal-health-notes p{margin:0;color:var(--muted);line-height:1.45}.athlete-portal-health-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px}.athlete-portal-health-secondary-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)}.athlete-portal-health-summary-inline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.athlete-portal-health-summary-inline span,.athlete-portal-health-day-stats span{display:grid;gap:4px;padding:12px;border-radius:16px;background:#ffffffb8;border:1px solid rgba(16,34,42,.06)}.athlete-portal-health-summary-inline small,.athlete-portal-health-day-stats small,.athlete-portal-health-day-head small{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.athlete-portal-health-summary-inline strong,.athlete-portal-health-day-stats strong,.athlete-portal-health-day-head strong{font-family:Space Grotesk,sans-serif}.athlete-portal-health-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.athlete-portal-health-day{display:grid;gap:6px;padding:12px 10px;border-radius:18px;background:#f4f7f8d6;border:1px solid rgba(16,34,42,.06);min-height:98px}.athlete-portal-health-day.health-metric-day{gap:10px;padding:16px;min-height:auto;background:radial-gradient(circle at top right,rgba(21,127,102,.08),transparent 36%),#ffffffeb}.athlete-portal-health-day-head{display:grid;gap:4px}.athlete-portal-health-day-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.athlete-portal-health-days-list{display:grid;gap:10px}.athlete-portal-health-day.active{background:radial-gradient(circle at top right,rgba(21,127,102,.08),transparent 30%),#ffffffeb}.athlete-portal-health-day small{color:var(--muted);font-size:.74rem;font-weight:700}.athlete-portal-health-day strong{font-size:1.15rem;line-height:1}.athlete-portal-health-day-bar{display:block;width:100%;height:8px;border-radius:999px}.athlete-portal-health-day p{font-size:.8rem}.athlete-portal-health-feed-list{display:grid;gap:10px}.athlete-portal-health-parameters{grid-template-columns:repeat(2,minmax(0,1fr));max-height:420px;overflow:auto;padding-right:4px}.athlete-portal-health-json-card{padding:0;box-shadow:none;border:0;background:transparent}.athlete-portal-health-activity{display:grid;gap:6px;padding:12px 14px;border-radius:18px;background:#ffffffbd;border:1px solid rgba(16,34,42,.06)}.athlete-portal-health-activity-head{display:flex;align-items:center;gap:10px}.athlete-portal-health-sport-dot{width:10px;height:10px;border-radius:999px}.athlete-portal-health-empty{min-height:120px;display:grid;place-items:center;text-align:center;padding:24px;border-radius:22px;background:#f6f1eaad;color:var(--muted);font-weight:600}.athlete-portal-health-notes{display:grid;gap:8px;padding-top:4px}.athlete-portal-health-bevel-shell{gap:16px;padding:18px;border-radius:36px;background:radial-gradient(circle at top left,rgba(252,243,200,.88),transparent 24%),radial-gradient(circle at top right,rgba(214,238,228,.82),transparent 28%),linear-gradient(180deg,#faf7f2fa,#f1f0ebf0);box-shadow:24px 24px 48px #b8b3aa38,-18px -18px 38px #ffffffbd,inset 1px 1px #ffffffeb,inset -1px -1px #b7b2a933}.athlete-portal-health-bevel-head{align-items:start}.athlete-portal-health-actions-bevel{gap:10px;align-items:end}.athlete-portal-health-refresh{border-color:#10222a0f;padding:10px 16px;background:linear-gradient(180deg,#fffffff5,#eeece7eb);box-shadow:12px 12px 24px #bfb9b038,-10px -10px 18px #ffffffd1}.athlete-portal-health-bevel-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);grid-template-areas:"hero side";gap:14px;align-items:stretch}.athlete-portal-health-support-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px}.athlete-portal-body-battery-banner{display:grid;gap:6px;width:min(240px,100%);padding:12px 14px;border-radius:22px;background:radial-gradient(circle at top right,rgba(118,196,103,.18),transparent 32%),linear-gradient(180deg,#f7faf3fa,#e9efe4f0);justify-self:start}.athlete-portal-body-battery-banner .athlete-portal-chart-head{gap:2px}.athlete-portal-body-battery-banner strong{font-family:Space Grotesk,sans-serif;font-size:1.32rem;line-height:1}.athlete-portal-body-battery-banner p,.athlete-portal-body-battery-banner small{margin:0;color:#16353da8}.athlete-portal-body-battery-banner p{font-size:.9rem;color:#68ad57;font-weight:700}.athlete-portal-body-battery-banner .athlete-portal-wellness-mini-chart{min-height:28px}.athlete-portal-wellness-side-stack{grid-area:side;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:14px;min-height:296px}.athlete-portal-health-advanced{display:grid;gap:18px}.athlete-portal-health-advanced>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:20px;color:#18373e;font-weight:700;background:linear-gradient(180deg,#f8f7f4fa,#eae8e3f0);box-shadow:inset 8px 8px 14px #c6c0b724,inset -8px -8px 14px #ffffffe0}.athlete-portal-health-advanced>summary:after{content:"Mostrar";font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#16353d8f}.athlete-portal-health-advanced[open]>summary:after{content:"Ocultar"}.athlete-portal-health-advanced>summary::-webkit-details-marker{display:none}.athlete-portal-wellness-hero,.athlete-portal-wellness-card{display:grid;gap:10px;padding:16px;border-radius:24px;border:1px solid rgba(255,255,255,.72);box-shadow:12px 12px 24px #b9b3aa24,-10px -10px 18px #ffffffc7,inset 1px 1px #ffffffeb,inset -2px -2px 6px #c3beb529}.athlete-portal-wellness-hero{grid-area:hero;grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;min-height:296px;background:radial-gradient(circle at top left,rgba(118,133,228,.14),transparent 26%),radial-gradient(circle at 80% 18%,rgba(155,177,238,.12),transparent 22%),linear-gradient(180deg,#f6f3f8fa,#ece9f0f5);color:#18373e;position:relative;overflow:hidden}.athlete-portal-wellness-hero:after{display:none}.athlete-portal-wellness-card{background:radial-gradient(circle at top left,rgba(255,255,255,.82),transparent 32%),linear-gradient(160deg,#f9f7f3fa,#eeebe5f5);align-content:start;min-height:228px}.athlete-portal-wellness-side-stack .athlete-portal-wellness-card{min-height:0;padding:12px 13px;gap:6px;border-radius:20px}.athlete-portal-wellness-card-hrv{grid-area:hrv;background:radial-gradient(circle at top right,rgba(133,197,148,.11),transparent 34%),linear-gradient(180deg,#f8f7f3fa,#edf0eaf2)}.athlete-portal-wellness-card-resting{grid-area:resting;background:radial-gradient(circle at top right,rgba(126,162,221,.11),transparent 34%),linear-gradient(180deg,#f8f7f3fa,#eaedf3f2)}.athlete-portal-wellness-card-stress{grid-area:stress;background:radial-gradient(circle at top right,rgba(233,186,108,.12),transparent 32%),linear-gradient(180deg,#f8f5f1fa,#f0eae2f2);color:#18373e}.athlete-portal-wellness-card-stress .athlete-portal-card-label,.athlete-portal-wellness-card-stress small,.athlete-portal-wellness-card-stress .recharts-cartesian-axis-tick-value{color:#16353d8f}.athlete-portal-wellness-card-stress .athlete-portal-chart-head strong,.athlete-portal-wellness-card-stress .athlete-portal-health-chip{color:#18373e}.athlete-portal-wellness-card .athlete-portal-chart-head{gap:4px}.athlete-portal-wellness-card .athlete-portal-chart-head strong{font-size:1.05rem;line-height:1}.athlete-portal-wellness-orb-label{display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px;padding:0;border-radius:0;background:transparent;color:#16353dad;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;box-shadow:none}.athlete-portal-wellness-hero .athlete-portal-health-bevel-ring{width:112px;padding:10px;background:conic-gradient(from 220deg,#7b66ef 0 var(--progress),rgba(177,188,227,.3) var(--progress) 100%),radial-gradient(circle at top left,rgba(198,205,241,.26),transparent 34%),linear-gradient(180deg,#ebecf6e6,#d9dceecc);box-shadow:10px 10px 18px #7668e824,-8px -8px 14px #ffffffc7,inset 1px 1px #ffffffc2}.athlete-portal-health-bevel-orb.compact .athlete-portal-health-bevel-ring{width:92px;padding:8px}.athlete-portal-wellness-hero .athlete-portal-health-bevel-ring-core{background:radial-gradient(circle at top left,rgba(255,255,255,.64),transparent 34%),linear-gradient(180deg,#606ebff5,#4f5eabf0);box-shadow:inset 8px 8px 16px #4350912e,inset -8px -8px 16px #d2d9f729}.athlete-portal-wellness-hero .athlete-portal-health-bevel-ring-core small,.athlete-portal-wellness-hero .athlete-portal-card-label{color:#16353da3}.athlete-portal-wellness-hero .athlete-portal-health-bevel-ring-core strong{color:#fff;font-size:2.3rem}.athlete-portal-health-bevel-orb.compact .athlete-portal-health-bevel-ring-core strong{font-size:1.95rem}.athlete-portal-wellness-hero .athlete-portal-health-bevel-ring-core small{font-size:.72rem;font-weight:700}.athlete-portal-wellness-hero-copy{display:grid;grid-template-columns:102px minmax(0,1fr);align-items:center;gap:12px;position:relative;z-index:1}.athlete-portal-wellness-sleep-summary{display:grid;gap:8px}.athlete-portal-wellness-hero-copy h3{margin:0;font-size:clamp(1.45rem,1.9vw,1.9rem);line-height:.98;letter-spacing:-.04em}.athlete-portal-wellness-hero-copy p{margin:0;max-width:34ch;color:#16353db8;line-height:1.42;font-size:.88rem}.athlete-portal-wellness-sleep-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.athlete-portal-wellness-sleep-stats.compact{grid-column:1 / -1}.athlete-portal-wellness-sleep-stat{display:grid;gap:5px;padding:12px 14px;border-radius:18px;background:linear-gradient(180deg,#f8f7f5e6,#ebe8eed6);box-shadow:inset 1px 1px #ffffff85,inset -1px -1px #a0a4b429}.athlete-portal-wellness-sleep-stat.primary{background:linear-gradient(180deg,#fbf9f7eb,#e9e6eddb)}.athlete-portal-wellness-sleep-stat strong{font-family:Space Grotesk,sans-serif;font-size:1.22rem;line-height:1;color:#18373e}.athlete-portal-wellness-sleep-stat p{margin:0;color:#16353da8;line-height:1.32;font-size:.84rem}.athlete-portal-health-chip.tone-high{background:#52c97a2e;color:#d4ffe0}.athlete-portal-health-chip.tone-good{background:#4dc78729;color:#157f66}.athlete-portal-health-chip.tone-neutral{background:#ffffffe0;color:#18373e}.athlete-portal-health-chip.tone-warning{background:#ffc46029;color:#8f5f15}.athlete-portal-health-chip.tone-alert{background:#f17e5b29;color:#b14a2d}.athlete-portal-wellness-card-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.athlete-portal-wellness-card-meta small{color:#16353da8;font-weight:600;font-size:.74rem}.athlete-portal-wellness-card-stress .athlete-portal-wellness-card-meta small{color:#16353d9e}.athlete-portal-wellness-mini-chart,.athlete-portal-wellness-stress-chart{min-height:74px}.athlete-portal-wellness-stress-chart{min-height:86px}.athlete-portal-wellness-side-stack .athlete-portal-wellness-mini-chart{min-height:30px}.athlete-portal-wellness-side-stack .athlete-portal-wellness-stress-chart{min-height:34px}.athlete-portal-wellness-tooltip{display:grid;gap:4px;padding:10px 12px;border-radius:16px;background:#111b23eb;color:#f8fafc;box-shadow:18px 18px 28px #080f163d}.athlete-portal-wellness-tooltip strong{font-family:Space Grotesk,sans-serif;font-size:.98rem}.athlete-portal-health-bevel-hero,.athlete-portal-health-bevel-card{display:grid;gap:16px;padding:24px;border-radius:34px;border:1px solid rgba(255,255,255,.72);background:radial-gradient(circle at top left,rgba(255,255,255,.92),transparent 30%),linear-gradient(160deg,#fbfaf7fa,#ecebe6f5);box-shadow:18px 18px 34px #b9b3aa33,-16px -16px 28px #ffffffd9,inset 1px 1px #ffffffeb,inset -2px -2px 6px #c3beb529}.athlete-portal-health-bevel-hero{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:24px;min-height:340px}.athlete-portal-health-bevel-hero.tone-high{background:radial-gradient(circle at top left,rgba(243,255,229,.94),transparent 34%),radial-gradient(circle at right center,rgba(212,245,225,.74),transparent 30%),linear-gradient(160deg,#fafbf6fa,#e8eee6f0)}.athlete-portal-health-bevel-hero.tone-medium{background:radial-gradient(circle at top left,rgba(255,248,226,.96),transparent 34%),radial-gradient(circle at right center,rgba(242,234,196,.68),transparent 30%),linear-gradient(160deg,#faf9f5fa,#efebdff0)}.athlete-portal-health-bevel-hero.tone-low{background:radial-gradient(circle at top left,rgba(255,240,230,.94),transparent 34%),radial-gradient(circle at right center,rgba(247,220,209,.68),transparent 30%),linear-gradient(160deg,#faf7f3fa,#f0e6e0f0)}.athlete-portal-health-bevel-hero.tone-neutral{background:radial-gradient(circle at top left,rgba(255,255,255,.94),transparent 30%),linear-gradient(160deg,#fbfaf7fa,#ecebe6f5)}.athlete-portal-health-bevel-orb{display:grid;gap:6px;place-items:center}.athlete-portal-health-bevel-orb.compact{gap:4px;place-items:start}.athlete-portal-health-bevel-ring{--progress: 12%;width:168px;aspect-ratio:1;border-radius:999px;padding:14px;background:conic-gradient(from 220deg,#79cf67 0 var(--progress),rgba(194,206,197,.5) var(--progress) 100%),linear-gradient(160deg,#fffffff5,#e7e9e2eb);box-shadow:18px 18px 36px #bab5aa47,-14px -14px 28px #ffffffd1,inset 1px 1px #fffffffa,inset -4px -4px 8px #b5baae2e}.athlete-portal-health-bevel-ring-core{width:100%;height:100%;display:grid;place-items:center;gap:6px;text-align:center;border-radius:999px;background:radial-gradient(circle at top left,rgba(255,255,255,.92),transparent 34%),linear-gradient(180deg,#f9f9f6fa,#e9eae4f0);box-shadow:inset 10px 10px 18px #c2bcb22e,inset -10px -10px 18px #ffffffdb}.athlete-portal-health-bevel-ring-core strong{margin:0;font-family:Space Grotesk,sans-serif;font-size:3rem;line-height:.92;color:#18373e}.athlete-portal-health-bevel-copy{display:grid;gap:14px}.athlete-portal-health-bevel-copy h3{margin:0;font-size:clamp(1.8rem,2.5vw,2.55rem);line-height:.98;letter-spacing:-.04em}.athlete-portal-health-bevel-copy p{margin:0;max-width:54ch;color:#16353db8;line-height:1.58;font-size:1rem}.athlete-portal-health-chip-row{display:flex;flex-wrap:wrap;gap:8px}.athlete-portal-health-chip{display:inline-flex;align-items:center;min-height:32px;padding:7px 11px;border-radius:999px;background:linear-gradient(180deg,#fffffff5,#eceae5e6);box-shadow:8px 8px 14px #bbb5ac24,-6px -6px 12px #ffffffc7;color:#18373e;font-size:.74rem;font-weight:700}.athlete-portal-health-chip.accent{color:#157f66}.athlete-portal-health-chip.soft{color:#16353da8;font-weight:600}.athlete-portal-health-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.athlete-portal-health-hero-stat,.athlete-portal-health-bevel-metric{display:grid;gap:6px;padding:14px 16px;border-radius:24px;background:linear-gradient(180deg,#f7f6f2fa,#e7e6e1f0);box-shadow:inset 9px 9px 18px #c5bfb529,inset -8px -8px 16px #ffffffe0}.athlete-portal-health-hero-stat strong,.athlete-portal-health-bevel-metric strong{font-family:Space Grotesk,sans-serif;font-size:1.2rem;line-height:1}.athlete-portal-health-hero-stat p,.athlete-portal-health-bevel-metric p{margin:0;color:#16353dad;line-height:1.4}.athlete-portal-health-bevel-card strong,.athlete-portal-health-bevel-card .athlete-portal-health-day strong,.athlete-portal-health-bevel-card .athlete-portal-health-activity strong{font-family:Space Grotesk,sans-serif}.athlete-portal-health-bevel-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.athlete-portal-health-bevel-metric-grid.performance{align-content:start}.athlete-portal-sleep-architecture-layout{display:grid;gap:14px}.athlete-portal-sleep-stage-chart{display:grid;gap:12px;padding:14px 16px;border-radius:24px;background:radial-gradient(circle at top right,rgba(119,140,235,.08),transparent 30%),linear-gradient(180deg,#f7f6fbfa,#eae8f1f0);box-shadow:inset 9px 9px 18px #c5bfb524,inset -8px -8px 16px #ffffffe0}.athlete-portal-sleep-stage-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.athlete-portal-sleep-stage-head span{display:grid;gap:4px}.athlete-portal-sleep-stage-head small{color:#16353d8f;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.athlete-portal-sleep-stage-head strong{font-family:Space Grotesk,sans-serif;font-size:1.5rem;line-height:1}.athlete-portal-sleep-stage-grid{position:relative;display:grid;grid-template-rows:repeat(4,58px);border-radius:22px;overflow:hidden;background:#ffffff6b;border:1px solid rgba(16,34,42,.06)}.athlete-portal-sleep-stage-row{position:relative;border-bottom:1px solid rgba(16,34,42,.08)}.athlete-portal-sleep-stage-row:last-child{border-bottom:0}.athlete-portal-sleep-stage-label{position:absolute;left:12px;top:10px;z-index:2;color:#16353db3;font-weight:700}.athlete-portal-sleep-stage-segment{position:absolute;height:44px;border-radius:14px;opacity:.94}.athlete-portal-sleep-stage-segment.stage-awake{top:7px;background:linear-gradient(180deg,#f77865fa,#e9584cdb)}.athlete-portal-sleep-stage-segment.stage-rem{top:65px;background:linear-gradient(180deg,#5bd2fffa,#37ade8db)}.athlete-portal-sleep-stage-segment.stage-light{top:123px;background:linear-gradient(180deg,#2e93fffa,#206be4db)}.athlete-portal-sleep-stage-segment.stage-deep{top:181px;background:linear-gradient(180deg,#4a4fd9fa,#3b34aceb)}.athlete-portal-sleep-phase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.athlete-portal-sleep-phase-button{appearance:none;border:1px solid transparent;text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.athlete-portal-sleep-phase-button:hover{transform:translateY(-1px);border-color:#6170c52e}.athlete-portal-sleep-phase-button.active{border-color:#6170c53d;box-shadow:inset 9px 9px 18px #c5bfb524,inset -8px -8px 16px #ffffffe0,0 0 0 1px #7a66e714}.athlete-portal-sleep-focus{display:grid;gap:10px;padding:16px 18px;border-radius:24px;background:radial-gradient(circle at top right,rgba(132,116,224,.12),transparent 30%),linear-gradient(180deg,#f7f5fbfa,#eae7f1f0);box-shadow:inset 9px 9px 18px #c5bfb524,inset -8px -8px 16px #ffffffe0}.athlete-portal-sleep-focus-head{display:flex;align-items:start;justify-content:space-between;gap:14px}.athlete-portal-sleep-focus-head strong{font-family:Space Grotesk,sans-serif;font-size:1.4rem;line-height:1;color:#18373e}.athlete-portal-sleep-focus p{margin:0;color:#16353dad;line-height:1.42}.athlete-portal-sleep-focus-progress{display:grid;gap:8px}.athlete-portal-sleep-focus-bar{position:relative;height:12px;border-radius:999px;overflow:hidden;background:#ffffffb8;box-shadow:inset 6px 6px 12px #c3beb524,inset -6px -6px 12px #ffffffd1}.athlete-portal-sleep-focus-bar span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#7565e8,#9588f0)}.athlete-portal-sleep-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.athlete-portal-sleep-support-card.metric-sleep_feedback{grid-column:1 / -1}.athlete-portal-health-respiration-card{align-content:start;background:radial-gradient(circle at top right,rgba(144,109,223,.12),transparent 34%),linear-gradient(180deg,#f8f6fafa,#ece8f2f2)}.athlete-portal-health-bevel-lower-grid,.athlete-portal-health-bevel-secondary-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:18px}.athlete-portal-health-bevel-secondary-grid{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)}.athlete-portal-health-inline-status{border-radius:20px;background:linear-gradient(180deg,#fcfcf9fa,#eceae4f0);box-shadow:inset 8px 8px 16px #c6c0b724,inset -8px -8px 16px #ffffffeb}.athlete-portal-health-diagnostic-grid{gap:12px}.athlete-portal-health-diagnostic-card{border-radius:20px;background:linear-gradient(180deg,#f8f7f4fa,#e9e7e2f0);box-shadow:inset 8px 8px 14px #c6c0b724,inset -8px -8px 14px #ffffffe0}.athlete-portal-health-parameters.bevel{max-height:none;overflow:visible}.athlete-portal-health-raw-drawer{display:grid;gap:12px}.athlete-portal-health-raw-drawer summary{cursor:pointer;list-style:none;padding:12px 14px;border-radius:18px;background:linear-gradient(180deg,#f8f7f4fa,#eae8e3f0);box-shadow:inset 8px 8px 14px #c6c0b724,inset -8px -8px 14px #ffffffe0;color:#18373e;font-weight:700}.athlete-portal-health-raw-drawer summary::-webkit-details-marker{display:none}.athlete-portal-health-json-card{padding:0}.athlete-portal-health-json-card pre{box-shadow:18px 18px 30px #0a151c2e,inset 1px 1px #ffffff14}.athlete-portal-health-days-list.bevel{gap:12px}.athlete-portal-health-day.bevel,.athlete-portal-health-activity.bevel{border-radius:24px;background:linear-gradient(180deg,#f7f6f2fa,#e7e5e0f0);box-shadow:inset 9px 9px 18px #c5bfb524,inset -8px -8px 16px #ffffffe0}.athlete-portal-health-day.health-metric-day.bevel.current{background:radial-gradient(circle at top right,rgba(124,207,103,.16),transparent 30%),linear-gradient(180deg,#f8f9f2fa,#e9ece4f0)}.athlete-portal-health-calendar-grid.bevel{gap:12px}.athlete-portal-health-empty{background:linear-gradient(180deg,#f8f5effa,#ece8e1f0);box-shadow:inset 10px 10px 18px #c5bfb524,inset -10px -10px 18px #ffffffe0}.athlete-portal-health-bevel-metric.metric-body_battery,.athlete-portal-health-hero-stat.metric-body_battery,.athlete-portal-health-bevel-metric.metric-body_battery_change{background:radial-gradient(circle at top right,rgba(121,207,103,.18),transparent 34%),linear-gradient(180deg,#f7faf3fa,#e7ece2f0)}.athlete-portal-health-bevel-metric.metric-hrv,.athlete-portal-health-hero-stat.metric-hrv,.athlete-portal-health-bevel-metric.metric-resting_hr,.athlete-portal-health-hero-stat.metric-resting_hr{background:radial-gradient(circle at top right,rgba(79,149,242,.16),transparent 34%),linear-gradient(180deg,#f5f8fcfa,#e5ebf4f0)}.athlete-portal-health-bevel-metric.metric-stress,.athlete-portal-health-hero-stat.metric-stress,.athlete-portal-health-bevel-metric.metric-intensity{background:radial-gradient(circle at top right,rgba(255,188,70,.18),transparent 34%),linear-gradient(180deg,#fcf9f1fa,#f3ecdbf0)}.athlete-portal-health-bevel-metric.metric-vo2max_running,.athlete-portal-health-bevel-metric.metric-vo2max_cycling,.athlete-portal-health-bevel-metric.metric-lt_hr,.athlete-portal-health-bevel-metric.metric-ftp{background:radial-gradient(circle at top right,rgba(40,162,132,.18),transparent 34%),linear-gradient(180deg,#f3f9f7fa,#e4eee9f0)}.athlete-portal-health-bevel-metric.metric-training_effect,.athlete-portal-health-bevel-metric.metric-training_load,.athlete-portal-health-bevel-metric.metric-training_stress,.athlete-portal-health-bevel-metric.metric-anaerobic_effect{background:radial-gradient(circle at top right,rgba(234,122,76,.18),transparent 34%),linear-gradient(180deg,#fcf6f2fa,#f2e7e0f0)}.athlete-portal-health-bevel-metric.metric-sleep_feedback{grid-column:1 / -1;background:radial-gradient(circle at top right,rgba(161,135,255,.16),transparent 34%),linear-gradient(180deg,#f7f5fcfa,#e9e5f3f0)}.athlete-portal-health-bevel-metric.metric-deep_sleep,.athlete-portal-health-bevel-metric.metric-rem_sleep,.athlete-portal-sleep-focus.metric-deep_sleep,.athlete-portal-sleep-focus.metric-rem_sleep{background:radial-gradient(circle at top right,rgba(122,102,231,.16),transparent 34%),linear-gradient(180deg,#f7f5fcfa,#e9e5f3f0)}.athlete-portal-health-bevel-metric.metric-light_sleep,.athlete-portal-health-bevel-metric.metric-sleep_time,.athlete-portal-sleep-focus.metric-light_sleep,.athlete-portal-sleep-focus.metric-sleep_time{background:radial-gradient(circle at top right,rgba(104,137,228,.14),transparent 34%),linear-gradient(180deg,#f4f7fcfa,#e5eaf3f0)}.athlete-portal-health-bevel-metric.metric-awake_sleep,.athlete-portal-sleep-focus.metric-awake_sleep,.athlete-portal-health-bevel-metric.metric-respiration{background:radial-gradient(circle at top right,rgba(229,178,96,.15),transparent 34%),linear-gradient(180deg,#fcf8f2fa,#f2ece2f0)}.athlete-portal-health-feed-card-bevel .athlete-portal-health-feed-list,.athlete-portal-health-activity-overview-card .athlete-portal-health-calendar-grid{align-content:start}.athlete-portal-health-activity.bevel .athlete-portal-health-activity-head{align-items:center;justify-content:start}.athlete-portal-garmin-panel{display:grid;gap:16px;padding:22px;border-radius:34px;background:radial-gradient(circle at top left,rgba(255,242,224,.42),transparent 20%),linear-gradient(180deg,#f8f6f1fa,#ebe8e1f0);box-shadow:18px 18px 34px #bab4ab2e,-14px -14px 28px #ffffffd6,inset 1px 1px #ffffffeb,inset -1px -1px #c0bab01f}.athlete-portal-garmin-actions{display:flex;gap:10px;flex-wrap:wrap}.athlete-portal-garmin-login-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 20px;border-radius:24px;border:1px solid rgba(16,34,42,.07);background:radial-gradient(circle at top right,rgba(21,127,102,.08),transparent 34%),#ffffffc7;box-shadow:var(--shadow-soft)}.athlete-portal-garmin-login-card label{display:grid;gap:8px}.athlete-portal-garmin-login-card input{padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#ffffffe6}.athlete-portal-garmin-login-actions{display:flex;align-items:end}.athlete-portal-garmin-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:14px}.athlete-portal-garmin-activity-list{display:grid;gap:10px}.athlete-portal-garmin-activity-card{appearance:none;display:grid;gap:8px;text-align:left;padding:14px 16px;border-radius:20px;border:1px solid rgba(16,34,42,.07);background:#ffffffc2;box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.athlete-portal-garmin-activity-card:hover{transform:translateY(-1px);border-color:#c97d3d33}.athlete-portal-garmin-activity-card.active{border-color:#157f6638;background:radial-gradient(circle at top right,rgba(21,127,102,.08),transparent 34%),#ffffffeb}.athlete-portal-garmin-activity-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.athlete-portal-garmin-activity-card p,.athlete-portal-garmin-activity-card small{margin:0;color:var(--muted)}.athlete-portal-garmin-detail{display:grid;gap:14px}.athlete-portal-garmin-hero,.athlete-portal-garmin-json-card{display:grid;gap:12px;padding:18px 20px;border-radius:24px;border:1px solid rgba(16,34,42,.07);background:radial-gradient(circle at top right,rgba(255,255,255,.72),transparent 38%),#ffffffc2;box-shadow:var(--shadow-soft)}.athlete-portal-garmin-hero h3,.athlete-portal-garmin-hero p{margin:0}.athlete-portal-garmin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.athlete-portal-garmin-kpis span{display:grid;gap:4px;padding:12px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(16,34,42,.06)}.athlete-portal-garmin-kpis small{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.athlete-portal-garmin-kpis strong{font-family:Space Grotesk,sans-serif;font-size:1.02rem}.athlete-portal-garmin-parameters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.athlete-portal-garmin-parameter-card{display:grid;gap:6px;padding:14px 16px;border-radius:18px;border:1px solid rgba(16,34,42,.06);background:#ffffffc2}.athlete-portal-garmin-parameter-card strong{font-family:Space Grotesk,sans-serif;font-size:.98rem;line-height:1.25}.athlete-portal-garmin-json-card pre{margin:0;max-height:420px;overflow:auto;padding:16px;border-radius:18px;background:#10222af0;color:#eef6f9;font-size:.82rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.athlete-portal-performance-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:14px}.athlete-portal-performance-card,.athlete-portal-performance-note{display:grid;gap:8px;padding:18px 20px;border-radius:28px;border:1px solid rgba(16,34,42,.08);background:#fffc;box-shadow:var(--shadow-soft)}.athlete-portal-performance-card strong,.athlete-portal-performance-note strong{font-family:Space Grotesk,sans-serif;font-size:1.46rem;line-height:1.04}.athlete-portal-performance-card p,.athlete-portal-performance-card small,.athlete-portal-performance-note p,.athlete-portal-performance-note small{margin:0;color:var(--muted);line-height:1.46}.athlete-portal-performance-card.featured{min-height:240px;align-content:end;background:radial-gradient(circle at top left,rgba(22,53,61,.14),transparent 30%),linear-gradient(160deg,#fffffffa,#f3f7f8f0)}.athlete-portal-performance-card.empty{place-items:start}.athlete-portal-performance-card.ftp{background:radial-gradient(circle at top right,rgba(21,127,102,.14),transparent 34%),linear-gradient(180deg,#fffffff5,#eff7f4eb)}.athlete-portal-performance-card.vo2max{background:radial-gradient(circle at top right,rgba(49,86,211,.14),transparent 34%),linear-gradient(180deg,#fffffff5,#eff4ffeb)}.athlete-portal-performance-card.vlamax,.athlete-portal-performance-card.half-marathon,.athlete-portal-performance-card.ten-k,.athlete-portal-performance-card.marathon{background:radial-gradient(circle at top right,rgba(210,106,54,.14),transparent 34%),linear-gradient(180deg,#fffffff5,#fcf2edeb)}.athlete-portal-performance-stack{display:grid;gap:12px}.athlete-portal-performance-meta{display:flex;gap:8px;flex-wrap:wrap}.athlete-portal-performance-meta span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#ffffffc2;border:1px solid rgba(16,34,42,.08);font-size:.78rem;font-weight:700;color:var(--primary)}.athlete-portal-performance-note{background:radial-gradient(circle at top right,rgba(22,53,61,.08),transparent 34%),linear-gradient(180deg,#fffffff5,#f3f6f7eb)}@media(max-width:1320px){.athlete-portal-dashboard-strip,.athlete-portal-stage-highlights,.athlete-portal-health-summary-grid,.athlete-portal-garmin-login-card{grid-template-columns:repeat(2,minmax(0,1fr))}.athlete-portal-health-bevel-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"hero side"}.athlete-portal-command-card:first-child{grid-column:1 / -1}.athlete-portal-health-summary-inline,.athlete-portal-health-day-stats,.athlete-portal-health-diagnostic-grid,.athlete-portal-health-hero-stats,.athlete-portal-wellness-sleep-stats,.athlete-portal-health-support-grid,.athlete-portal-sleep-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.athlete-portal-health-bevel-hero,.athlete-portal-health-bevel-lower-grid,.athlete-portal-health-bevel-secondary-grid{grid-template-columns:1fr}.athlete-portal-health-bevel-hero{grid-column:1 / -1}.athlete-portal-topline{flex-direction:column;align-items:start}.athlete-portal-topline-chips{width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1180px){.athlete-portal-grid{grid-template-columns:1fr}.athlete-portal-health-panel,.athlete-portal-lactate-panel,.athlete-portal-story-grid,.athlete-portal-command-grid,.athlete-portal-performance-panel,.athlete-portal-section{grid-column:auto}}@media(max-width:1024px){.athlete-portal-health-bevel-grid,.athlete-portal-health-support-grid,.athlete-portal-health-bevel-lower-grid,.athlete-portal-health-bevel-secondary-grid{grid-template-columns:1fr}.athlete-portal-health-bevel-grid{grid-template-areas:"hero" "side"}.athlete-portal-health-bevel-hero{grid-template-columns:1fr;justify-items:center;text-align:center}.athlete-portal-wellness-hero{grid-template-columns:1fr;justify-items:center;text-align:center;min-height:auto}.athlete-portal-wellness-hero-copy{grid-template-columns:1fr;justify-items:center}.athlete-portal-health-bevel-copy,.athlete-portal-wellness-hero-copy{justify-items:center}.athlete-portal-wellness-hero-copy p{max-width:42ch}.athlete-portal-health-actions-bevel{justify-items:start}.athlete-portal-wellness-side-stack,.athlete-portal-sleep-phase-grid,.athlete-portal-sleep-support-grid,.athlete-portal-sleep-stage-head{grid-template-columns:1fr}.athlete-portal-sleep-focus-head{flex-direction:column}}@media(max-width:720px){.athlete-portal-health-bevel-shell{padding:18px;border-radius:28px}.athlete-portal-topline{padding:16px;border-radius:24px}.athlete-portal-topline-chips{grid-template-columns:1fr}.athlete-portal-health-bevel-hero,.athlete-portal-health-bevel-card,.athlete-portal-wellness-hero,.athlete-portal-wellness-card{padding:18px;border-radius:28px}.athlete-portal-health-hero-stats,.athlete-portal-health-bevel-metric-grid,.athlete-portal-health-summary-inline,.athlete-portal-health-day-stats,.athlete-portal-health-diagnostic-grid,.athlete-portal-wellness-sleep-stats,.athlete-portal-health-support-grid{grid-template-columns:1fr}.athlete-portal-health-provider,.athlete-portal-health-chip{width:100%;justify-content:center}.athlete-portal-health-status{max-width:none;text-align:left}}.athlete-portal-hero-card.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.athlete-portal-hero-card strong,.athlete-portal-summary-card strong,.athlete-portal-insight-card strong,.athlete-portal-guidance-item strong{margin:0;font-family:Space Grotesk,sans-serif;line-height:1.08}.athlete-portal-hero-card p,.athlete-portal-hero-card small,.athlete-portal-summary-card p,.athlete-portal-insight-card p,.athlete-portal-guidance-item p,.athlete-portal-week-card p{margin:0;color:var(--muted)}.athlete-portal-card-label{display:inline-flex;align-items:center;width:fit-content;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.athlete-portal-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.athlete-portal-summary-card{display:grid;gap:6px;padding:16px 18px}.athlete-portal-summary-card.featured{background:radial-gradient(circle at top right,rgba(21,127,102,.12),transparent 34%),linear-gradient(180deg,#fffffff0,#f0f5f3eb)}.athlete-portal-summary-card.reference{border-color:#157f6629}.athlete-portal-summary-card.lt1{background:radial-gradient(circle at top right,rgba(49,86,211,.12),transparent 34%),linear-gradient(180deg,#fffffff5,#eff4ffeb);border-color:#3156d324}.athlete-portal-summary-card.lt2{background:radial-gradient(circle at top right,rgba(210,106,54,.12),transparent 34%),linear-gradient(180deg,#fffffff5,#fbf2eeeb);border-color:#d26a3624}.athlete-portal-summary-card.block{background:radial-gradient(circle at top right,rgba(22,53,61,.08),transparent 34%),linear-gradient(180deg,#fffffff5,#f2f6f7eb)}.athlete-portal-summary-card strong{font-size:1.32rem}.athlete-portal-volume-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.athlete-portal-volume-card,.athlete-portal-prediction-card{display:grid;gap:6px;padding:16px 18px;border-radius:24px;border:1px solid rgba(16,34,42,.07);background:radial-gradient(circle at top right,rgba(255,255,255,.72),transparent 38%),#ffffffb8;box-shadow:var(--shadow-soft)}.athlete-portal-volume-card strong,.athlete-portal-prediction-card strong{font-family:Space Grotesk,sans-serif;font-size:1.24rem;line-height:1.08}.athlete-portal-volume-card.hours{background:radial-gradient(circle at top right,rgba(22,53,61,.1),transparent 36%),linear-gradient(180deg,#fffffff5,#f2f6f7eb)}.athlete-portal-volume-card.running{background:radial-gradient(circle at top right,rgba(210,106,54,.12),transparent 36%),linear-gradient(180deg,#fffffff5,#fcf2edeb);border-color:#d26a3624}.athlete-portal-volume-card.swim{background:radial-gradient(circle at top right,rgba(37,99,235,.12),transparent 36%),linear-gradient(180deg,#fffffff5,#eff5ffeb);border-color:#2563eb24}.athlete-portal-volume-card.cycling{background:radial-gradient(circle at top right,rgba(21,127,102,.12),transparent 36%),linear-gradient(180deg,#fffffff5,#eff7f4eb);border-color:#157f6624}.athlete-portal-volume-card p,.athlete-portal-prediction-card p,.athlete-portal-prediction-card small{margin:0;color:var(--muted);line-height:1.4}.athlete-portal-predictions-panel{display:grid;gap:14px;padding:20px}.athlete-portal-predictions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.athlete-portal-prediction-card.empty{grid-column:1 / -1}.athlete-portal-prediction-card.ftp{background:radial-gradient(circle at top right,rgba(21,127,102,.12),transparent 36%),linear-gradient(180deg,#fffffff5,#eff7f4eb)}.athlete-portal-prediction-card.vo2max{background:radial-gradient(circle at top right,rgba(49,86,211,.12),transparent 36%),linear-gradient(180deg,#fffffff5,#eff4ffeb)}.athlete-portal-prediction-card.vlamax,.athlete-portal-prediction-card.hm,.athlete-portal-prediction-card.ten-k{background:radial-gradient(circle at top right,rgba(210,106,54,.12),transparent 36%),linear-gradient(180deg,#fffffff5,#fcf2edeb)}.athlete-portal-lactate-panel{display:grid;gap:16px;padding:20px;border-radius:34px;background:radial-gradient(circle at top left,rgba(220,229,255,.58),transparent 22%),radial-gradient(circle at bottom right,rgba(255,226,214,.52),transparent 20%),linear-gradient(180deg,#f8f6f1fa,#ebe8e1f0);box-shadow:18px 18px 34px #bab4ab2e,-14px -14px 28px #ffffffd6,inset 1px 1px #ffffffeb,inset -1px -1px #c0bab01f}.athlete-portal-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.athlete-portal-section-head.compact{align-items:center}.athlete-portal-section-head h2{margin:4px 0 0}.athlete-portal-discipline-switch{display:flex;gap:8px;flex-wrap:wrap}.athlete-portal-discipline-pill{appearance:none;border:1px solid rgba(16,34,42,.08);background:#ffffffc7;color:var(--muted);border-radius:999px;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease}.athlete-portal-discipline-pill:hover{transform:translateY(-1px);border-color:#10222a29;color:var(--primary)}.athlete-portal-discipline-pill.active{background:linear-gradient(135deg,#16353d,#2f6570);color:#fff;border-color:transparent}.athlete-portal-lactate-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:16px}.athlete-portal-chart-card{display:grid;gap:14px;padding:20px;background:radial-gradient(circle at top left,rgba(49,86,211,.08),transparent 24%),radial-gradient(circle at bottom right,rgba(210,106,54,.08),transparent 22%),#ffffffd1}.athlete-portal-chart-head{display:grid;gap:6px}.athlete-portal-chart-head strong{font-family:Space Grotesk,sans-serif;font-size:1.35rem}.athlete-portal-lactate-chart{min-height:280px;padding:12px 10px 2px;border-radius:20px;background:linear-gradient(180deg,#f5f7fad1,#ffffffc2);border:1px solid rgba(16,34,42,.06)}.athlete-portal-lactate-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.athlete-portal-lactate-legend span{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.84rem;font-weight:700}.athlete-portal-lactate-legend i{display:inline-block;width:18px;border-top:3px solid currentColor;border-radius:999px}.athlete-portal-lactate-legend i.lt1{color:#3156d3}.athlete-portal-lactate-legend i.lt2{color:#d26a36}.athlete-portal-lactate-legend i.lactate{color:#2740c7}.athlete-portal-lactate-legend i.adjusted{color:#d84f3f}.athlete-portal-chart-empty{min-height:240px;display:grid;place-items:center;padding:24px;border-radius:20px;background:#f6f1eab8;color:var(--muted);text-align:center;font-weight:600}.athlete-portal-lactate-insights{display:grid;gap:12px}.athlete-portal-insight-card{display:grid;gap:8px;padding:18px}.athlete-portal-insight-card.lt1{background:radial-gradient(circle at top right,rgba(49,86,211,.12),transparent 32%),linear-gradient(180deg,#fffffff5,#eff4ffeb);border-color:#3156d324}.athlete-portal-insight-card.lt2{background:radial-gradient(circle at top right,rgba(210,106,54,.12),transparent 32%),linear-gradient(180deg,#fffffff5,#fcf2edeb);border-color:#d26a3624}.athlete-portal-insight-card.peak{background:radial-gradient(circle at top right,rgba(123,63,191,.12),transparent 32%),linear-gradient(180deg,#fffffff5,#f6f0fceb);border-color:#7b3fbf24}.athlete-portal-curve-tooltip{display:grid;gap:4px;min-width:220px;max-width:300px;padding:10px 12px;border-radius:14px;background:#10222af0;color:#fff;box-shadow:0 16px 34px #10222a33}.athlete-portal-curve-tooltip strong{font-family:Space Grotesk,sans-serif;font-size:.92rem}.athlete-portal-curve-tooltip span{font-size:.8rem;line-height:1.4}.athlete-portal-insight-card.narrative{background:radial-gradient(circle at top right,rgba(210,106,54,.08),transparent 32%),linear-gradient(180deg,#fffffff0,#f8f3edeb)}.athlete-portal-target-splits{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:12px}.athlete-portal-target-splits span{display:grid;gap:4px;min-width:120px;padding:10px 12px;border-radius:14px;background:#ffffffb8;border:1px solid rgba(16,34,42,.06);color:var(--primary);font-size:.92rem;font-weight:700}.athlete-portal-target-splits strong{margin:0;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.athlete-portal-section{display:grid;gap:16px;padding:22px;border-radius:32px;background:radial-gradient(circle at top right,rgba(238,227,255,.46),transparent 20%),linear-gradient(180deg,#f8f6f1fa,#ebe8e1f0);box-shadow:18px 18px 34px #bab4ab2e,-14px -14px 28px #ffffffd6,inset 1px 1px #ffffffeb,inset -1px -1px #c0bab01f}.athlete-target-grid,.athlete-discipline-grid{display:grid;gap:14px}.athlete-target-card,.athlete-discipline-card{padding:18px 20px;border-radius:22px;background:#ffffff9e;border:1px solid rgba(16,34,42,.08)}.athlete-target-card strong,.athlete-discipline-card strong{display:block;margin-bottom:6px;font-family:Space Grotesk,sans-serif}.athlete-target-card p,.athlete-discipline-card p{margin:0;color:var(--muted)}.athlete-target-card{display:grid;gap:6px}.athlete-target-date{display:inline-flex;width:fit-content;padding:6px 10px;border-radius:999px;background:#c97d3d1f;color:var(--accent);font-size:.82rem;font-weight:700}.athlete-portal-story-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px}.athlete-portal-week-card,.athlete-portal-guidance-card{display:grid;gap:14px;padding:20px}.athlete-portal-balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.athlete-portal-balance-card{display:grid;gap:6px;padding:14px}.athlete-portal-balance-head{display:flex;align-items:center;gap:10px}.athlete-portal-discipline-dot{width:10px;height:10px;border-radius:999px}.athlete-portal-recent-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.athlete-portal-feed-item{display:grid;gap:6px;padding:14px}.athlete-portal-guidance-stack{display:grid;gap:12px}.athlete-portal-guidance-item{display:grid;gap:8px;padding:14px 16px}.athlete-portal-guidance-item.strava{background:radial-gradient(circle at top right,rgba(21,127,102,.1),transparent 34%),#f0f5f3eb}.athlete-discipline-kpis small{display:block;margin-bottom:8px;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.athlete-discipline-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.athlete-discipline-grid-portal{grid-template-columns:repeat(3,minmax(0,1fr))}.athlete-discipline-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.athlete-discipline-head span{color:var(--muted);font-size:.88rem}.athlete-discipline-card-portal{display:grid;gap:14px}.athlete-portal-discipline-badge{display:inline-flex;align-items:center;width:fit-content;height:fit-content;padding:6px 10px;border-radius:999px;font-size:.76rem;font-weight:700}.athlete-discipline-card{display:grid;gap:14px}.athlete-discipline-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.athlete-discipline-kpis div{padding:12px 12px 10px;border-radius:16px;background:#ffffffb3;border:1px solid rgba(16,34,42,.06)}.athlete-discipline-kpis strong{margin:0;font-size:1.02rem}.athlete-discipline-chart{min-height:150px;padding:8px 10px 2px;border-radius:18px;background:#ffffffa3;border:1px solid rgba(16,34,42,.06)}.athlete-discipline-chart-empty{min-height:140px;display:grid;place-items:center;text-align:center;color:var(--muted);font-weight:600}.athlete-discipline-footnote{font-size:.92rem;line-height:1.45}.athlete-portal-goals-section{padding:24px}.athlete-target-grid-portal{grid-template-columns:repeat(3,minmax(0,1fr))}.athlete-target-card-portal{display:grid;gap:8px}.lab-athlete-list-card{overflow:hidden}.lab-athlete-list-card .card-header{padding-bottom:18px}.lab-home-header{display:flex;justify-content:space-between;gap:18px;align-items:start}.lab-home-header p{margin:10px 0 0;max-width:760px;color:var(--muted)}.lab-template-picker{position:relative;flex-shrink:0}.lab-template-trigger{border:1px solid rgba(16,34,42,.1);background:#ffffffd1;color:var(--primary);border-radius:999px;padding:12px 16px;display:inline-flex;align-items:center;gap:10px;font-weight:700;box-shadow:var(--shadow-soft);cursor:pointer}.lab-template-trigger svg{width:18px;height:18px}.lab-template-menu{position:absolute;top:calc(100% + 10px);right:0;width:min(380px,calc(100vw - 64px));padding:10px;border-radius:22px;background:#fffffff5;border:1px solid rgba(16,34,42,.1);box-shadow:0 22px 42px #10222a24;display:grid;gap:8px;z-index:20}.lab-template-option{text-align:left;border:1px solid transparent;background:#f4efe7b8;border-radius:18px;padding:14px 16px;display:grid;gap:4px;color:inherit;cursor:pointer}.lab-template-option strong{font-family:Space Grotesk,sans-serif}.lab-template-option span{color:var(--muted);font-size:.94rem}.lab-template-option.active{border-color:#d26a363d;background:#ead7cba8}.lab-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.lab-summary-card{display:grid;gap:4px;padding:14px 16px;border-radius:20px;border:1px solid rgba(16,34,42,.08);background:#ffffffb3}.lab-summary-card span,.lab-summary-card small{color:var(--muted)}.lab-summary-card strong{font-family:Space Grotesk,sans-serif;font-size:1.5rem}.lab-summary-card.positive{background:#e9f5edeb}.lab-summary-card.warning{background:#f9ede3eb}.lab-summary-card.negative{background:#f9e5e1eb}.lab-home-note{margin-bottom:16px;padding:14px 18px;border-radius:18px;background:#f6f1ead1;color:var(--muted);border:1px solid rgba(16,34,42,.06)}.lab-athlete-list-card .card-header h2{margin-bottom:8px}.lab-athlete-list{display:grid;gap:16px}.lab-athlete-row{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:18px;padding:20px 22px;border-radius:26px;background:linear-gradient(180deg,#ffffffe6,#f8f3edd1);border:1px solid rgba(16,34,42,.08);box-shadow:inset 0 1px #ffffffd9;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.lab-athlete-row:hover{transform:translateY(-1px);box-shadow:0 16px 34px #10222a0f;border-color:#16353d1f}.lab-athlete-meta{display:grid;gap:14px;align-content:start}.lab-athlete-meta strong{display:block;margin-bottom:6px;font-family:Space Grotesk,sans-serif;font-size:1.42rem}.lab-athlete-meta p{margin:0;color:var(--muted)}.lab-athlete-deadline{margin-top:6px!important;font-size:.9rem;color:var(--accent)!important;font-weight:700}.lab-athlete-meta .chip-list{gap:8px}.lab-athlete-meta .inline-link{width:fit-content;font-weight:700}.lab-athlete-status-strip,.lab-template-inline-meta{display:flex;flex-wrap:wrap;gap:8px}.lab-inline-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:700;background:#eff0f1eb;color:var(--primary)}.lab-inline-pill.positive{background:#e7f4ebf5;color:#257a4d}.lab-inline-pill.warning{background:#f9ede3f5;color:#a25522}.lab-inline-pill.negative{background:#f9e5e1f5;color:#8d2e0f}.lab-inline-pill.neutral{background:#ebeff1f5;color:var(--muted)}.lab-athlete-trends{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.lab-athlete-trends.triathlon{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-discipline-trend{display:grid;gap:8px;padding:14px 16px;border-radius:22px;background:#f6f1eab8;border:1px solid rgba(16,34,42,.07);min-height:156px}.lab-discipline-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.lab-discipline-head strong{font-family:Space Grotesk,sans-serif;font-size:1rem}.lab-discipline-head span{color:var(--muted);font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.lab-discipline-foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--text);font-weight:700}.lab-delta{font-size:.88rem}.lab-delta.positive{color:#257a4d}.lab-delta.negative{color:#8d2e0f}.lab-delta.neutral{color:var(--muted)}.lab-sparkline-empty{display:grid;place-items:center;min-height:92px;border-radius:16px;background:#ffffffb8;color:var(--muted);font-size:.9rem}.lab-goal-scenario{display:grid;gap:10px}.lab-goal-scenario-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.lab-goal-scenario-meta span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#6d7a7f}.lab-goal-scenario-meta strong{font-size:.82rem;color:#18343c}.lab-goal-scenario-chart{width:100%;height:108px;display:block;border-radius:16px;background:#ffffffad}.lab-goal-axis{stroke:#16353d1f;stroke-width:1}.lab-goal-axis.subtle{stroke-dasharray:4 4}.lab-goal-axis-label{fill:#839096;font-size:9px;font-weight:700}.lab-goal-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.lab-goal-line.actual{stroke:#284651}.lab-goal-line.objective{stroke:#c56637;stroke-dasharray:6 5}.lab-goal-dot{stroke-width:2}.lab-goal-dot.actual{fill:#fff;stroke:#284651}.lab-goal-dot.objective{fill:#f7dfd2;stroke:#c56637}.lab-goal-point-label{fill:#284651;font-size:9px;font-weight:700}.lab-goal-scenario-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lab-goal-scenario-footer div{display:grid;gap:2px}.lab-goal-scenario-footer small{color:#6d7a7f;font-size:.76rem}.lab-goal-scenario-footer strong{color:#18343c;font-size:.98rem}.lab-goal-scenario.positive .lab-goal-scenario-meta strong{color:#257a4d}.lab-goal-scenario.warning .lab-goal-scenario-meta strong{color:#ad6b2d}.lab-goal-scenario.negative .lab-goal-scenario-meta strong{color:#8d2e0f}.lab-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lab-template-grid.triathlon,.lab-template-grid.monitoring{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-template-grid.attention{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-template-card{display:grid;gap:12px;padding:16px;border-radius:22px;background:#f6f1eab8;border:1px solid rgba(16,34,42,.07);min-height:156px}.lab-template-card.attention.warning{background:#f9ede3e0}.lab-template-card.attention.negative{background:#f9e5e1e0}.lab-template-card-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.lab-template-card-head strong{display:block;font-family:Space Grotesk,sans-serif;font-size:1rem;margin-bottom:4px}.lab-template-card-head span{color:var(--muted);font-size:.9rem}.lab-threshold-grid,.lab-monitoring-values{display:grid;gap:10px}.lab-threshold-metric,.lab-monitoring-values>div{display:grid;gap:2px}.lab-threshold-metric small,.lab-monitoring-values small,.lab-template-note{color:var(--muted)}.lab-threshold-metric strong,.lab-monitoring-values strong{font-family:Space Grotesk,sans-serif;font-size:1.22rem}.lab-template-copy{margin:0;color:var(--primary)}@media(max-width:960px){.shell,.login-panel,.split-card,.import-grid,.insight-strip,.advisor-grid,.analysis-result-grid,.athlete-form,.session-form{grid-template-columns:1fr}.athlete-roster-header,.athlete-roster-toolbar{grid-template-columns:1fr;align-items:start}.athlete-roster-header{display:grid}.athlete-roster-overview,.athlete-roster-metadata{grid-template-columns:1fr}.athlete-roster-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.dynamic-reference-table .compact-row{grid-template-columns:1fr}.shell{gap:12px;padding:12px}.sidebar{gap:20px;min-height:auto;position:static;transform:none;max-height:none;overflow:visible;padding:18px 14px;border-radius:26px}.brand{padding:4px 6px 0}.brand-mark{width:74px;height:74px;border-radius:24px;font-size:1.7rem}.brand strong{font-size:1.55rem}.brand-copy p{font-size:.92rem}.nav{padding-top:8px}.nav a,.nav-group-trigger{min-height:58px;padding:16px 20px;border-radius:24px}.sidebar-logout{min-height:58px;border-radius:20px}.content{padding:6px 0 18px}.card-header,.threshold-overview,.focus-block-folders{padding-left:18px;padding-right:18px}.lab-home-header{flex-direction:column}.lab-summary-strip,.lab-template-grid,.lab-template-grid.triathlon,.lab-template-grid.monitoring,.lab-template-grid.attention{grid-template-columns:1fr}.athlete-topbar{padding:18px 18px 0;align-items:start;flex-direction:column}.chart-actions-bar{align-items:stretch}.athlete-portal-metrics,.athlete-portal-summary-strip,.athlete-portal-volume-strip,.athlete-portal-dashboard-strip,.athlete-portal-command-grid,.athlete-portal-predictions-grid,.athlete-portal-performance-grid,.athlete-portal-health-grid,.athlete-portal-garmin-grid,.athlete-portal-story-grid,.athlete-portal-lactate-grid,.athlete-portal-balance-grid,.athlete-portal-recent-feed,.athlete-discipline-grid-portal,.athlete-target-grid-portal,.athlete-portal-hero-shell{grid-template-columns:1fr}.goal-v2-hero{flex-direction:column;align-items:stretch}.goal-v2-hero-right{flex-wrap:wrap;gap:12px}.goal-v2-hero-metric{text-align:left}.goal-v2-body{grid-template-columns:1fr}.goal-v2-focuses{border-right:none;border-bottom:1px solid rgba(16,34,42,.06)}.physiology-report-heading,.physiology-report-summary-strip,.physiology-report-two-column{grid-template-columns:1fr}.physiology-report-stage-head,.physiology-report-stage-row{grid-template-columns:repeat(2,minmax(0,1fr))}.physiology-report-zone-editorial{grid-template-columns:1fr}.trajectory-track{overflow:hidden}.athlete-discipline-kpis,.athlete-portal-stage-highlights,.athlete-portal-dashboard-strip,.athlete-portal-week-kpis,.athlete-portal-reference-strip,.athlete-portal-volume-inline,.athlete-portal-health-summary-grid,.athlete-portal-health-calendar-grid,.athlete-portal-garmin-login-card,.athlete-portal-garmin-kpis,.athlete-portal-garmin-parameters{grid-template-columns:1fr}.athlete-portal-status-line,.athlete-portal-focus-meta{align-items:start;flex-direction:column}.athlete-portal-section-head,.athlete-portal-hero-card.compact{grid-template-columns:1fr;display:grid}.lab-athlete-row,.lab-athlete-trends.triathlon{grid-template-columns:1fr}}.library-hero{align-items:stretch}.library-hero-actions{margin-top:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.library-hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:min(440px,100%)}.library-controls{display:grid;grid-template-columns:minmax(220px,280px) minmax(220px,280px) minmax(0,1fr);gap:14px;align-items:end}.library-controls label{display:grid;gap:6px;color:var(--muted);font-size:.9rem}.library-controls select{padding:11px 12px;border-radius:14px;border:1px solid var(--border);background:#ffffffe0;color:var(--primary)}.library-selection-card{display:grid;gap:6px;padding:14px 16px;border-radius:18px;background:#ffffffad;border:1px solid rgba(16,34,42,.08)}.library-selection-card strong,.library-summary-kpi strong,.library-template-block strong,.library-week-head strong,.library-week-session strong,.library-evidence-link strong{font-family:Space Grotesk,sans-serif}.library-selection-card p,.library-selection-card small,.library-summary-kpi small,.library-template-card p,.library-template-card small,.library-draft-card p,.library-draft-card small{margin:0}.library-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:18px;align-items:start}.library-main-column,.library-side-column,.library-template-body,.library-weeks{display:grid;gap:18px}.library-group-stack{display:grid;gap:20px}.library-group-section{display:grid;gap:14px}.library-group-head{display:flex;justify-content:space-between;gap:12px;align-items:end}.library-group-head h3{margin-top:4px}.library-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.library-summary-kpi,.library-template-card,.library-foundation-card,.library-week-card{padding:16px 18px;border-radius:22px;border:1px solid rgba(16,34,42,.08);background:#ffffff9e}.library-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.library-template-card{display:grid;gap:14px}.library-template-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.library-template-head h3,.library-draft-card h2{margin-bottom:6px}.library-template-head p{color:var(--muted);line-height:1.45}.library-template-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.library-template-block{display:grid;gap:6px}.library-template-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.library-list{margin:8px 0 0;padding-left:18px;color:var(--primary)}.library-list li+li{margin-top:6px}.library-chip-group{display:flex;flex-wrap:wrap;gap:8px}.library-evidence-stack{display:grid;gap:10px}.library-evidence-link{display:grid;gap:4px;padding:12px 14px;border-radius:18px;border:1px solid rgba(16,34,42,.08);background:radial-gradient(circle at top right,rgba(210,106,54,.08),transparent 34%),#ffffffb8;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.library-evidence-link:hover{transform:translateY(-1px);border-color:#d26a363d;box-shadow:var(--shadow-soft)}.library-evidence-link span,.library-week-card p,.library-week-session p{color:var(--primary);line-height:1.45}.library-evidence-link small,.library-week-session small{color:var(--muted);line-height:1.4}.library-foundation-stack{display:grid;gap:10px;margin-bottom:16px}.library-foundation-card{padding:14px 16px;background:linear-gradient(135deg,#16353d0f,#ffffffc2)}.library-week-card{display:grid;gap:14px}.library-week-head,.library-week-session-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.library-week-session-stack{display:grid;gap:10px}.library-week-session{display:grid;gap:6px;padding:12px 14px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(16,34,42,.06)}.library-week-session-head span{color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}@media(max-width:1280px){.library-layout{grid-template-columns:1fr}.library-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:920px){.library-hero-metrics,.library-controls,.library-template-columns,.library-summary-grid{grid-template-columns:1fr}}.library-compact-hero{align-items:stretch}.library-compact-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:min(700px,100%)}.library-compact-toolbar{display:grid;gap:14px}.generator-controls{display:grid;grid-template-columns:minmax(180px,220px) 1fr;gap:14px;align-items:end}.generator-control{display:grid;gap:8px}.generator-control span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.generator-control input,.generator-control select{padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#ffffffe0}.generator-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.library-discipline-row,.library-block-row{display:flex;gap:10px;flex-wrap:wrap}.library-compact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.library-compact-card{min-height:315px;display:grid;align-content:start;gap:12px;padding:18px;border-radius:24px;border:1px solid rgba(16,34,42,.08);background:radial-gradient(circle at top right,rgba(210,106,54,.08),transparent 34%),#ffffffc2;box-shadow:var(--shadow-soft)}.library-compact-card-head h3{margin:0;font-size:1.08rem;line-height:1.05}.library-compact-summary{margin:0;color:var(--muted);line-height:1.42;font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.library-compact-kpis{display:grid;gap:8px}.library-compact-kpi{display:grid;gap:4px}.library-compact-kpi small,.library-compact-columns small{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.library-compact-kpi strong{font-family:Space Grotesk,sans-serif;font-size:.92rem;line-height:1.2}.library-compact-columns{display:grid;gap:10px}.library-variable-stack{display:grid;gap:8px}.library-variable-pill{display:grid;gap:2px;padding:8px 10px;border-radius:14px;background:#16353d0f;border:1px solid rgba(16,34,42,.06)}.library-variable-pill strong{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.library-variable-pill span{color:var(--muted);font-size:.8rem;line-height:1.35}.library-compact-footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.library-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px}@media(max-width:1440px){.library-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1180px){.library-compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.generator-controls{grid-template-columns:1fr}.library-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.generator-controls,.library-compact-metrics,.library-compact-grid{grid-template-columns:1fr}.library-pagination{flex-direction:column;align-items:stretch}}.session-role-badge{font-size:.58rem;font-weight:600;text-transform:uppercase;padding:.1rem .3rem;border-radius:3px;background:var(--color-border);color:var(--color-text-secondary);white-space:nowrap;margin-top:.15rem;flex-shrink:0}.session-main{display:flex;flex-direction:column;gap:.1rem;min-width:0}.session-main strong{font-size:.78rem;line-height:1.3}.session-dose{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.session-step{font-size:.63rem;opacity:.45}.candidate-header{display:flex;align-items:center;gap:.4rem}.candidate-header strong{font-size:.78rem}.candidate-score{font-size:.68rem;font-weight:700;color:var(--color-accent);margin-left:auto}.candidate-badge{font-size:.58rem;font-weight:700;text-transform:uppercase;padding:.1rem .35rem;border-radius:3px;background:var(--color-accent);color:#fff}.candidate-reason{font-size:.68rem;opacity:.65;display:block;line-height:1.4}.bla-toggle-btn{margin-left:auto;font-size:.6rem;font-weight:700;padding:.15rem .4rem;border-radius:4px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.bla-toggle-btn:hover{border-color:#e11d48;color:#e11d48}.bla-toggle-btn.active{background:#e11d48;border-color:#e11d48;color:#fff}.bla-toggle-btn:disabled{opacity:.5;cursor:wait}.library-hero{position:relative;align-items:stretch;overflow:hidden;background:radial-gradient(circle at top right,rgba(210,106,54,.14),transparent 28%),radial-gradient(circle at left center,rgba(22,53,61,.08),transparent 34%),var(--panel)}.library-hero:after{content:"";position:absolute;inset:auto -60px -90px auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(22,53,61,.08),transparent 70%);pointer-events:none}.library-hero-copy,.library-hero-aside{position:relative;z-index:1}.library-hero-copy{display:grid;gap:16px;max-width:860px}.library-hero-copy p{max-width:62ch;margin:0;color:var(--muted);font-size:1.02rem}.library-hero-ribbon{display:flex;flex-wrap:wrap;gap:10px}.library-ribbon-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid rgba(16,34,42,.08);background:#ffffffb8;font-size:.86rem;color:var(--muted)}.library-ribbon-pill strong{font-family:Space Grotesk,sans-serif;color:var(--primary);font-size:.98rem}.library-hero-aside{flex:1;min-width:min(100%,360px);display:flex;justify-content:flex-end}.library-hero-panel{width:min(100%,470px);display:grid;gap:16px;padding:18px;border-radius:26px;border:1px solid rgba(16,34,42,.08);background:linear-gradient(180deg,#ffffffc7,#f6f1e9bd);box-shadow:var(--shadow-soft)}.library-hero-panel-head{display:grid;gap:4px}.library-hero-panel-head strong{font-family:Space Grotesk,sans-serif;font-size:1.45rem}.library-hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.library-toolbar{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:linear-gradient(180deg,#ffffffd1,#f8f4eeb8)}.library-toolbar-main{flex:1;min-width:min(100%,620px);display:grid;grid-template-columns:minmax(0,auto) minmax(240px,1fr);gap:14px;align-items:center}.library-search-shell{display:grid;gap:6px}.library-search-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.library-search{width:100%;min-width:0;padding:13px 16px;border:1px solid rgba(16,34,42,.1);border-radius:16px;background:#ffffffdb;color:var(--primary);font-size:.95rem;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.library-search:focus{outline:none;border-color:#d26a3661;box-shadow:0 0 0 4px #d26a361a;background:#fffffff5}.strava-import-grid{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,200px)) auto;gap:10px;align-items:end}.strava-import-action{display:flex;align-items:end}.strava-current-shell{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.4fr);gap:12px}.strava-current-panel,.strava-current-metric,.strava-summary-card,.strava-detail-note,.strava-detail-panel,.strava-detail-metrics div{border-radius:22px;border:1px solid rgba(16,34,42,.08);background:#f8f5efc2}.strava-current-panel{display:grid;gap:6px;padding:14px 16px;background:radial-gradient(circle at top right,rgba(210,106,54,.12),transparent 36%),linear-gradient(180deg,#ffffffeb,#f6f1ead1)}.strava-current-panel strong{font-family:Space Grotesk,sans-serif;font-size:1.08rem}.strava-current-panel p{margin:0;color:var(--muted)}.strava-current-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.strava-current-metric{display:grid;gap:4px;padding:12px 14px}.strava-current-metric span,.strava-summary-card span,.strava-activity-card strong,.strava-activity-title-block p,.strava-activity-kpi-grid span,.strava-activity-structure-card span,.strava-activity-structure-card small,.strava-preview-empty p,.strava-detail-hero-copy,.strava-detail-hero-side span,.strava-detail-metrics span,.strava-lap-header span,.strava-lap-metrics span,.strava-stream-card span,.strava-zone-card span,.strava-zone-bucket-meta span,.strava-debug-disclosure summary,.strava-detail-note p{color:var(--muted)}.strava-current-metric strong,.strava-summary-card strong,.strava-data-pill,.strava-activity-kpi-grid strong,.strava-activity-structure-card strong,.strava-depth-card strong,.strava-detail-hero-side strong,.strava-detail-metrics strong,.strava-lap-card strong,.strava-stream-card strong,.strava-zone-card strong,.strava-zone-bucket-meta strong{color:var(--primary)}.strava-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.strava-summary-card{display:grid;gap:4px;padding:12px 14px;background:#ffffffc2}.strava-summary-card strong{font-family:Space Grotesk,sans-serif;font-size:1.18rem}.strava-preview-header{display:flex;justify-content:space-between;gap:12px;align-items:end}.strava-preview-header h3{margin:4px 0 0;font-size:.98rem;color:var(--primary)}.strava-preview-header strong{color:var(--primary);font-size:.86rem}.strava-preview-empty{margin-top:16px;padding:14px 16px;border-radius:18px;border:1px solid rgba(16,34,42,.08);background:#f8f5efb8}.strava-activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.strava-activity-card{text-align:left;padding:14px;border-radius:18px;border:1px solid rgba(16,34,42,.08);background:radial-gradient(circle at top right,rgba(210,106,54,.08),transparent 32%),linear-gradient(145deg,#fffffffa,#f6f1eaeb);display:grid;gap:10px;color:var(--primary);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.strava-activity-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px #1c313a1f}.strava-activity-card.selected{border-color:#d26a366b;box-shadow:0 22px 44px #d26a3629}.strava-activity-card-head{display:grid;gap:6px}.strava-activity-card-topline,.strava-detail-hero-topline,.strava-detail-tag-list,.strava-activity-card-flags,.strava-lap-metrics{display:flex;flex-wrap:wrap;gap:8px}.strava-sport-pill,.strava-data-pill,.strava-subtle-pill,.strava-activity-card-flags span,.strava-detail-tag-list span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:700}.strava-sport-pill{background:#10222a14}.strava-sport-pill.run{background:#e9f5edfa;color:#257a4d}.strava-sport-pill.ride{background:#e5eff8fa;color:#1f5b8b}.strava-sport-pill.swim{background:#e2f2f7fa;color:#0f6c7d}.strava-sport-pill.strength{background:#f5e8e2fa;color:#9a4b21}.strava-sport-pill.other,.strava-subtle-pill,.strava-detail-tag-list span,.strava-activity-card-flags span{background:#10222a0f;color:var(--primary)}.strava-data-pill.positive{background:#e9f5edfa;color:#257a4d}.strava-data-pill.warning{background:#f9ede3fa;color:#a25522}.strava-data-pill.neutral{background:#ebeff1fa;color:var(--muted)}.strava-activity-title-block{display:grid;gap:4px}.strava-activity-title-block h3{margin:0;font-size:.98rem;line-height:1.15}.strava-activity-title-block p{margin:0;line-height:1.5}.strava-activity-kpi-grid,.strava-detail-metrics,.strava-depth-grid{display:grid;gap:8px}.strava-activity-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strava-activity-kpi-grid div,.strava-activity-structure-card,.strava-depth-card{display:grid;gap:4px;padding:10px 12px;border-radius:14px;border:1px solid rgba(16,34,42,.07);background:#ffffffc7}.strava-activity-kpi-grid strong,.strava-activity-structure-card strong,.strava-depth-card strong{font-family:Space Grotesk,sans-serif;font-size:.92rem}.strava-activity-structure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.strava-detail-hero-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:12px}.strava-detail-hero-main,.strava-detail-hero-side{padding:14px 16px;border-radius:18px;border:1px solid rgba(16,34,42,.08);background:radial-gradient(circle at top right,rgba(210,106,54,.08),transparent 34%),#f8f5efc2}.strava-detail-hero-main{display:grid;gap:8px}.strava-detail-hero-main h3{font-size:1.06rem}.strava-detail-hero-copy{margin:0;max-width:64ch}.strava-detail-hero-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}.strava-detail-hero-side div{display:grid;gap:4px;padding:10px 12px;border-radius:14px;background:#fffc;border:1px solid rgba(16,34,42,.06)}.strava-detail-hero-side strong{font-family:Space Grotesk,sans-serif;font-size:.92rem}.strava-detail-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.strava-detail-metrics div,.strava-detail-note,.strava-detail-panel{padding:12px 14px}.strava-detail-panel{display:grid;gap:12px}.strava-detail-metrics div{display:grid;gap:6px}.strava-detail-note.warning{background:#f9ede3e6}.strava-detail-note.neutral{background:#ebeff1e6}.strava-detail-note p{margin:8px 0 0}.strava-detail-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.strava-lap-list,.strava-stream-list,.strava-zone-grid{display:grid;gap:8px}.strava-stream-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.strava-lap-card,.strava-stream-card,.strava-zone-card{padding:10px 12px;border-radius:14px;border:1px solid rgba(16,34,42,.07);background:#ffffffd1;display:grid;gap:8px}.strava-lap-header,.strava-split-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.strava-lap-bar-shell{display:grid;gap:6px}.strava-lap-bar-track{height:8px;border-radius:999px;background:#10222a14;overflow:hidden}.strava-lap-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#16353d,#d26a36)}.strava-lap-bar-fill.alt{background:linear-gradient(90deg,#2f6570,#d26a36)}.strava-lap-bar-fill.zone{background:linear-gradient(90deg,#1f5b8b,#69a7d3)}.strava-lap-bar-shell small{color:var(--muted)}.strava-depth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strava-zone-buckets{display:grid;gap:10px}.strava-zone-bucket-row{display:grid;gap:6px}.strava-zone-bucket-meta{display:flex;justify-content:space-between;gap:10px}.strava-debug-disclosure{border:1px solid rgba(16,34,42,.08);border-radius:20px;background:#f8f5efc7;overflow:hidden}.strava-debug-disclosure summary{cursor:pointer;padding:12px 14px;font-weight:700}.strava-raw-json{padding:0 14px 14px}.strava-raw-json pre{margin:0;padding:14px 16px;border-radius:16px;border:1px solid rgba(16,34,42,.08);background:#121d23f0;color:#eef4f6f0;overflow:auto;font-size:.76rem;line-height:1.45;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.strava-current-overview{grid-template-columns:repeat(4,minmax(0,1fr))}.strava-inline-note{margin:8px 0 0;color:var(--muted);font-size:.82rem}.strava-activity-coach-grid,.strava-threshold-reference-grid,.strava-phase-card-grid,.strava-threshold-time-grid,.strava-coach-summary-grid{display:grid;gap:8px}.strava-activity-coach-grid,.strava-threshold-reference-grid,.strava-threshold-time-grid,.strava-coach-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strava-activity-coach-card,.strava-threshold-reference-card,.strava-threshold-time-card,.strava-phase-card{display:grid;gap:4px;padding:10px 12px;border-radius:14px;border:1px solid rgba(16,34,42,.07);background:#ffffffd1}.strava-activity-coach-card strong,.strava-threshold-reference-card strong,.strava-threshold-time-card strong,.strava-phase-card strong{font-family:Space Grotesk,sans-serif;color:var(--primary)}.strava-activity-coach-card span,.strava-activity-coach-card small,.strava-threshold-reference-card span,.strava-threshold-reference-card small,.strava-threshold-reference-card p,.strava-threshold-time-card span,.strava-threshold-time-card small,.strava-threshold-time-card p,.strava-phase-card p,.strava-phase-card-metrics span,.strava-inline-note,.strava-inline-callout,.strava-insight-list p,.strava-chart-tooltip span{color:var(--muted)}.strava-activity-phase-strip{display:flex;min-height:30px;border-radius:999px;overflow:hidden;background:#10222a12}.strava-activity-phase-segment{min-width:38px;display:flex;align-items:center;justify-content:center;padding:0 8px;font-size:.66rem;font-weight:700;color:#fff}.strava-activity-phase-segment.warmup{background:#4d8bb2}.strava-activity-phase-segment.main{background:#d26a36}.strava-activity-phase-segment.cooldown{background:#5f8a6f}.strava-coach-shell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.strava-coach-shell.compact{align-items:start}.strava-threshold-reference-grid.expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.strava-threshold-reference-card p{margin:0}.strava-coach-summary-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.strava-insight-list{display:grid;gap:6px;margin-top:10px}.strava-insight-list.compact{margin-top:0}.strava-insight-list p{margin:0;padding:9px 10px;border-radius:12px;border:1px solid rgba(16,34,42,.06);background:#f8f5efcc}.strava-inline-callout{margin:10px 0 0;padding:10px 12px;border-radius:12px;border:1px solid rgba(16,34,42,.06)}.strava-inline-callout.positive{background:#e9f5ede6}.strava-inline-callout.warning{background:#f9ede3e6}.strava-inline-callout.neutral{background:#ebeff1e6}.strava-chart-mode-switch{display:flex;flex-wrap:wrap;gap:8px}.strava-chart-mode-button{appearance:none;padding:8px 12px;border-radius:999px;border:1px solid rgba(16,34,42,.08);background:#ffffffc7;color:var(--muted);font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}.strava-chart-mode-button:hover{transform:translateY(-1px);border-color:#10222a24;color:var(--primary)}.strava-chart-mode-button.active{border-color:#d26a363d;background:#f4e6dceb;color:var(--primary);box-shadow:0 10px 18px #d26a3614}.strava-phase-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.strava-phase-card{background:radial-gradient(circle at top right,rgba(210,106,54,.08),transparent 42%),#ffffffe6}.strava-phase-card.warmup{border-color:#4d8bb238}.strava-phase-card.main{border-color:#d26a3638}.strava-phase-card.cooldown{border-color:#5f8a6f38}.strava-phase-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.strava-phase-pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:.7rem;font-weight:700}.strava-phase-pill.warmup{background:#4d8bb224;color:#2b6488}.strava-phase-pill.main{background:#d26a3624;color:#9d4d1d}.strava-phase-pill.cooldown{background:#5f8a6f24;color:#41614d}.strava-phase-card p{margin:0}.strava-phase-card-metrics{display:grid;gap:4px}.strava-session-timeline-shell{display:grid;gap:8px}.strava-session-timeline{display:flex;gap:6px;align-items:end;min-height:132px;padding:12px;border-radius:16px;border:1px solid rgba(16,34,42,.07);background:linear-gradient(180deg,#f8f5eff0,#ffffffeb);overflow-x:auto}.strava-session-timeline-segment{min-width:34px;display:grid;gap:6px;justify-items:center}.strava-session-timeline-bars{width:100%;height:96px;padding:8px 6px;border-radius:14px 14px 10px 10px;display:flex;align-items:end;justify-content:center;gap:5px}.strava-session-timeline-segment.warmup .strava-session-timeline-bars{background:#4d8bb21f}.strava-session-timeline-segment.main .strava-session-timeline-bars{background:#d26a361f}.strava-session-timeline-segment.cooldown .strava-session-timeline-bars{background:#5f8a6f1f}.strava-session-timeline-bar{width:10px;min-height:10px;border-radius:999px 999px 6px 6px}.strava-session-timeline-bar.external{background:linear-gradient(180deg,#d26a36,#9b4617)}.strava-session-timeline-bar.heart{background:linear-gradient(180deg,#16353d,#5b8089)}.strava-session-timeline-segment span{color:var(--muted);font-size:.72rem;font-weight:700}.strava-session-timeline-legend{display:flex;flex-wrap:wrap;gap:8px}.strava-session-timeline-legend.minimal{margin-top:-2px}.strava-session-timeline-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.76rem;font-weight:700}.strava-session-timeline-legend i{width:9px;height:9px;border-radius:999px;display:inline-block}.strava-session-timeline-legend i.warmup{background:#4d8bb2}.strava-session-timeline-legend i.main{background:#d26a36}.strava-session-timeline-legend i.cooldown{background:#5f8a6f}.strava-session-timeline-legend i.external{background:#9b4617}.strava-session-timeline-legend i.heart{background:#16353d}.strava-chart-shell{margin-top:4px;padding:8px 4px 0;border-radius:16px;border:1px solid rgba(16,34,42,.06);background:#ffffffd6}.strava-chart-shell.elevated{padding:10px 10px 0;border-radius:20px;box-shadow:inset 0 1px #ffffffa3}.strava-chart-tooltip{display:grid;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid rgba(16,34,42,.08);background:#fffffff5;box-shadow:0 10px 22px #1c313a1f}.strava-chart-tooltip strong{color:var(--primary)}.strava-phase-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.strava-phase-panel{display:grid;gap:10px;padding:12px;border-radius:16px;border:1px solid rgba(16,34,42,.07);background:#ffffffd6}.strava-phase-panel.warmup{border-color:#4d8bb238;background:#f2f8fceb}.strava-phase-panel.main{border-color:#d26a3633;background:#fcf5f0f0}.strava-phase-panel.cooldown{border-color:#5f8a6f33;background:#f3f8f4f0}.strava-phase-panel-head{display:grid;gap:6px}.strava-phase-panel-head>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.strava-phase-panel-head strong{font-family:Space Grotesk,sans-serif;font-size:.98rem;color:var(--primary)}.strava-phase-panel-head small{color:var(--muted);line-height:1.4}.strava-phase-panel-meta{display:grid;gap:6px}.strava-phase-panel-meta span{color:var(--muted);font-size:.8rem}.strava-phase-lap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:8px}.strava-phase-lap-card{display:grid;gap:6px;padding:10px;border-radius:14px;border:1px solid rgba(16,34,42,.06);background:#ffffffc2}.strava-phase-lap-topline{display:grid;gap:3px}.strava-phase-lap-topline strong{font-family:Space Grotesk,sans-serif;font-size:.88rem;color:var(--primary)}.strava-phase-lap-topline span,.strava-phase-lap-meta span{color:var(--muted);font-size:.76rem;line-height:1.35}.strava-phase-lap-meta{display:grid;gap:4px}.strava-lap-bar-fill.warmup{background:linear-gradient(90deg,#4d8bb2,#6aa6cc)}.strava-lap-bar-fill.main{background:linear-gradient(90deg,#d26a36,#f09c68)}.strava-lap-bar-fill.cooldown{background:linear-gradient(90deg,#5f8a6f,#88b099)}.library-toolbar-summary{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.library-summary-pill{padding:9px 13px;border-radius:999px;border:1px solid rgba(16,34,42,.08);background:#ffffffbd;font-size:.82rem;font-weight:700;color:var(--primary)}.library-zones{display:grid;gap:16px}.library-empty-state{display:grid;gap:8px;text-align:center}.library-empty-state h3{margin:0}.library-empty-state p{margin:0;color:var(--muted)}.library-zone-section{--library-zone: #829296;border:1px solid rgba(16,34,42,.08);border-radius:26px;overflow:hidden;background:linear-gradient(180deg,#ffffffd1,#faf7f2b8);box-shadow:var(--shadow-soft)}.library-zone-section.zone-recovery{--library-zone: #3f8f67}.library-zone-section.zone-aerobic{--library-zone: #2f7a77}.library-zone-section.zone-lt1{--library-zone: #2a7d8f}.library-zone-section.zone-subthreshold{--library-zone: #4f6bb8}.library-zone-section.zone-lt2{--library-zone: #ba6a2c}.library-zone-section.zone-vo2{--library-zone: #b64848}.library-zone-section.zone-neuro{--library-zone: #7a56a2}.library-zone-section.zone-technical{--library-zone: #3f7c9f}.library-zone-section.zone-specific{--library-zone: #91543d}.library-zone-section.zone-strength{--library-zone: #6b5b36}.library-zone-section.zone-test{--library-zone: #48545b}.library-zone-section.zone-other{--library-zone: #829296}.library-zone-header{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:18px 22px;border:none;cursor:pointer;text-align:left;background:linear-gradient(90deg,color-mix(in srgb,var(--library-zone) 10%,rgba(255,255,255,.92)),#ffffffb8);transition:background .14s ease,transform .14s ease}.library-zone-header:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--library-zone) 14%,rgba(255,255,255,.94)),#fffc)}.library-zone-glyph{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-family:Space Grotesk,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--library-zone) 78%,#0f1d24),var(--library-zone));box-shadow:0 12px 24px color-mix(in srgb,var(--library-zone) 18%,transparent)}.library-zone-head-copy{min-width:0;display:grid;gap:3px}.library-zone-name{font-family:Space Grotesk,sans-serif;font-size:1.12rem;line-height:1}.library-zone-cue{color:var(--muted);font-size:.86rem}.library-zone-count{padding:9px 12px;border-radius:999px;background:#fffc;border:1px solid rgba(16,34,42,.08);font-size:.78rem;font-weight:700;color:var(--primary)}.library-zone-toggle{font-size:1rem;color:var(--muted)}.library-zone-rows{display:grid;gap:12px;padding:14px}.library-row{border:1px solid rgba(16,34,42,.08);border-radius:22px;background:#ffffffc2;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.library-row:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--library-zone) 22%,rgba(16,34,42,.08));box-shadow:0 18px 30px #10222a0f}.library-row.open{border-color:color-mix(in srgb,var(--library-zone) 32%,rgba(16,34,42,.08));box-shadow:0 20px 34px #10222a14}.library-row-header{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px 18px 12px;background:transparent;border:none;cursor:pointer;text-align:left}.lib-role{font-size:.66rem;font-weight:800;width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(16,34,42,.08)}.lib-role-key{background:#d26a3624;color:#b35a2e}.lib-role-support{background:#10222a0f;color:var(--primary)}.lib-role-recovery{background:#3f8f6724;color:#2c724e}.lib-role-test{background:#6b5b3624;color:#5e4c2d}.lib-row-copy{min-width:0;display:grid;gap:4px}.lib-name{font-size:1rem;font-weight:700;line-height:1.15}.lib-subtitle{color:var(--muted);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.lib-meta-pill{padding:7px 10px;border-radius:999px;background:#f5f0e8e0;border:1px solid rgba(16,34,42,.06);font-size:.74rem;font-weight:700;color:var(--primary);white-space:nowrap}.lib-duration{background:color-mix(in srgb,var(--library-zone) 12%,rgba(255,255,255,.9));color:color-mix(in srgb,var(--library-zone) 72%,#10222a)}.lib-fatigue{font-size:.7rem;letter-spacing:.08em;color:var(--muted)}.lib-chevron{font-size:.72rem;color:var(--muted)}.library-row-steps{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 16px 62px}.lib-step-chip{font-size:.74rem;padding:7px 10px;border-radius:999px;border:1px solid rgba(16,34,42,.08);background:#fffc;cursor:default;display:inline-flex;align-items:center;gap:6px;color:var(--primary)}.lib-step-chip small{font-size:.66rem;color:var(--muted)}.lib-step-chip.readiness-fresh{border-color:#b6484838;background:#fff4f4e0}.lib-step-chip.readiness-medium{border-color:#ba6a2c38;background:#fff7f0eb}.lib-step-chip.readiness-any{background:#f5f0e8e0}.lib-step-button{cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}.lib-step-button:hover{transform:translateY(-1px);border-color:#10222a24;box-shadow:0 10px 18px #10222a14}.library-row-detail{padding:18px 18px 18px 62px;border-top:1px dashed rgba(16,34,42,.1);background:linear-gradient(180deg,color-mix(in srgb,var(--library-zone) 3%,rgba(255,255,255,.92)),#ffffffd1)}.lib-detail-summary{font-size:.92rem;color:var(--primary);margin:0 0 14px;line-height:1.65;max-width:80ch}.lib-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.lib-detail-block{padding:14px 15px;border-radius:18px;border:1px solid rgba(16,34,42,.07);background:#ffffffa8}.lib-detail-block.full{grid-column:1 / -1}.lib-detail-block small{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:block;margin-bottom:6px;font-weight:700}.lib-detail-block p{font-size:.86rem;line-height:1.6;margin:0}.lib-tips-list{margin:0;padding-left:18px;font-size:.84rem;line-height:1.65}.lib-tips-list.muted{color:var(--muted)}.lib-ladder-detail{display:grid;gap:8px}.lib-ladder-detail small{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.lib-ladder-rows{display:grid;gap:8px}.lib-ladder-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto auto auto;align-items:center;gap:10px;font-size:.8rem;padding:10px 12px;border-radius:16px;border:1px solid rgba(16,34,42,.06);background:#ffffffc7}.lib-ladder-row.readiness-bg-fresh{background:#fff4f4e0}.lib-ladder-row.readiness-bg-medium{background:#fff7f0e6}.lib-ladder-step{font-weight:700;font-size:.72rem;color:var(--muted)}.lib-ladder-label{font-weight:700;min-width:0}.lib-ladder-zone,.lib-ladder-total,.lib-ladder-readiness{color:var(--muted);font-size:.72rem}.lib-ladder-time{font-size:.74rem;font-weight:700;color:color-mix(in srgb,var(--library-zone) 70%,#10222a)}.library-preview-source{padding:9px 12px;border-radius:999px;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(16,34,42,.08)}.library-preview-source.dose{background:#16353d17;color:var(--primary)}.library-preview-source.example{background:#d26a361a;color:#b35a2e}.library-workout-sport,.threshold-ref-item{display:inline-flex;align-items:baseline;gap:5px;font-size:.78rem;color:var(--primary);line-height:1.3}.threshold-ref-item strong{font-family:Space Grotesk,sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;border-radius:4px}.threshold-ref-item.lt1 strong{background:#16a34a1a;color:#15803d}.threshold-ref-item.lt2 strong{background:#ea580c1a;color:#c2410c}.threshold-ref-item em{font-style:normal;font-size:.7rem;color:var(--muted);opacity:.7}@media(max-width:1180px){.library-toolbar-main{grid-template-columns:1fr}.library-toolbar-summary{justify-content:flex-start}.strava-import-grid,.strava-current-shell,.strava-summary-strip,.strava-coach-shell,.strava-phase-layout,.strava-phase-card-grid,.strava-threshold-time-grid,.strava-detail-hero-shell,.strava-detail-columns{grid-template-columns:1fr}}@media(max-width:860px){.library-workout-hero,.library-workout-modal-body,.library-workout-metrics,.library-workout-copy-grid,.library-workout-phase-grid,.library-hero-metrics,.strava-current-overview,.strava-activity-kpi-grid,.strava-activity-structure-grid,.strava-depth-grid,.strava-activity-coach-grid,.strava-threshold-reference-grid,.strava-coach-summary-grid,.strava-detail-hero-side,.strava-stream-list.compact,.strava-activity-grid{grid-template-columns:1fr}.strava-chart-mode-switch{gap:6px}.strava-chart-mode-button{width:100%;justify-content:center}.strava-phase-lap-grid{grid-template-columns:1fr}.library-zone-header,.library-row-header{grid-template-columns:auto minmax(0,1fr) auto}.library-zone-count,.lib-meta{grid-column:2 / -1;justify-content:flex-start}.library-zone-toggle,.lib-chevron{justify-self:end;align-self:start}.library-row-steps,.library-row-detail{padding-left:18px}.lib-ladder-row{grid-template-columns:44px minmax(0,1fr)}}@media(max-width:640px){.library-workout-modal{padding:16px;width:min(100%,calc(100vw - 20px))}.library-workout-title-wrap h2{font-size:1.55rem}.library-workout-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.library-workout-phase-card{padding:14px}.library-workout-phase-visual,.library-workout-phase-visual.main{min-height:96px}.library-workout-phase-grid{gap:10px}.library-workout-interval,.library-workout-stats-list div,.library-workout-block header{grid-template-columns:1fr;display:grid}.library-zone-header{padding:16px}.library-zone-glyph{width:42px;height:42px;border-radius:14px}.library-zone-name{font-size:.98rem}.library-zone-cue{font-size:.8rem}.library-row-header{padding:14px 14px 10px;gap:10px}.lib-name{font-size:.92rem}.lib-subtitle{white-space:normal}.library-row-steps,.library-row-detail{padding-right:14px;padding-bottom:14px}.lib-detail-grid{grid-template-columns:1fr}}.nutrition-hero{align-items:stretch}.nutrition-hero-copy,.nutrition-section-copy{max-width:74ch}.nutrition-hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:min(100%,420px)}.nutrition-focus-card{min-height:118px}.nutrition-pillars-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.nutrition-pillar-card,.nutrition-panel{border:1px solid var(--border);background:#ffffffc7;box-shadow:var(--shadow-soft)}.nutrition-pillar-card{padding:20px 22px;border-radius:var(--radius-lg);display:grid;gap:10px}.nutrition-pillar-card p,.nutrition-panel p{margin:0;color:var(--muted)}.nutrition-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.nutrition-list{margin:0;padding-left:1.1rem;display:grid;gap:10px;color:var(--primary)}.nutrition-list li::marker{color:var(--accent);font-weight:700}@media(max-width:900px){.nutrition-hero,.nutrition-columns,.nutrition-pillars-grid{grid-template-columns:1fr}.nutrition-hero-metrics{min-width:0}}@media(max-width:640px){.nutrition-hero-metrics,.nutrition-pillars-grid{grid-template-columns:1fr}}:root{--panel: rgba(255, 255, 255, .94);--panel-strong: rgba(255, 255, 255, .98);--border: rgba(16, 34, 42, .07);--border-strong: rgba(16, 34, 42, .11);--shadow: 0 18px 42px rgba(16, 34, 42, .06);--shadow-soft: 0 10px 24px rgba(16, 34, 42, .045);--surface-card: rgba(255, 255, 255, .95);--surface-card-soft: rgba(255, 255, 255, .9);--surface-card-muted: rgba(248, 245, 240, .96)}body,.athlete-shell{background:radial-gradient(circle at top left,rgba(217,157,82,.18),transparent 30%),linear-gradient(135deg,#f4efe7,#eef2ef 42%,#edf3f7)}.sidebar{background:linear-gradient(180deg,#f6f2ece0,#f2f0eccc);border-color:#fff6;box-shadow:inset 0 1px #ffffff7a,0 14px 30px #10222a0f}.page-grid{gap:20px}.page-header,.lab-home-header{display:flex;justify-content:space-between;align-items:end;gap:18px}.page-header p,.hero-main>p,.lab-home-header p,.planning-hero-main p,.library-hero-copy p,.nutrition-hero-copy{color:var(--muted)}.hero,.hero.card,.planning-hero,.library-hero,.nutrition-hero{padding:4px 2px 0;background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible}.library-hero:after{display:none}.card,.metric-card,.chart-card,.table-card,.split-card,.login-card,.import-card,.threshold-plot-card,.nutrition-pillar-card,.nutrition-panel{background:var(--surface-card);border-color:var(--border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.ghost-button,.athlete-roster-filter-pill,.planning-overlay-chip,.planning-inline-action,.planning-card-dismiss,.planning-workspace-button,.lab-template-trigger{background:#ffffffe6;border:1px solid rgba(16,34,42,.08);box-shadow:inset 0 1px #ffffffd1}.ghost-button:hover,.athlete-roster-filter-pill:hover,.planning-overlay-chip:hover,.planning-inline-action:hover,.planning-card-dismiss:hover,.planning-workspace-button:hover,.lab-template-trigger:hover{box-shadow:inset 0 1px #ffffffe6,0 10px 20px #10222a0d}.primary-button{box-shadow:0 14px 28px #16353d24}.login-card input,.athlete-form input,.athlete-form select,.athlete-form textarea,.session-form input,.session-form select,.session-form textarea,.athlete-roster-search input,.library-search,.library-controls select,.planning-athlete-select,.planning-builder-controls input,.hero-focus-card,.hero-plan-card,.athlete-detail-summary-card,.athlete-roster-meta-pill,.athlete-roster-target,.list-item,.focus-block-folders .collapsible-card,.focus-block-folders .collapsible-summary,.goal-v2,.goal-v2-hero,.goal-v2-diagnosis,.goal-v2-body,.goal-v2-chart-body,.goal-v2-empty,.insight-disclosure,.temporal-comparison-card,.planning-context-card,.planning-toolbar-card,.planning-kpi-card,.planning-threshold-card,.planning-timeline-card,.planning-empty-state,.planning-mini-card,.planning-archive-card,.planning-calendar-shell,.planning-calendar-month-nav,.planning-calendar-active-month-card,.planning-calendar-grid,.planning-calendar-day,.planning-calendar-detail,.planning-day-card,.planning-target-main,.planning-foundation-card,.planning-builder-controls,.planning-template-browser,.planning-template-detail,.planning-template-card,.lab-summary-card,.lab-home-note,.lab-athlete-row,.lab-discipline-trend,.lab-template-card,.lab-template-option,.library-selection-card,.library-summary-kpi,.library-template-card,.library-foundation-card,.library-week-card,.library-week-session,.library-evidence-link,.library-hero-panel,.library-toolbar,.library-zone-section,.library-row,.lib-step-chip,.lib-detail-block,.strava-current-panel,.strava-current-metric,.strava-summary-card,.strava-detail-note,.strava-detail-panel,.strava-detail-metrics div,.strava-activity-card,.strava-activity-kpi-grid div,.strava-activity-structure-card,.strava-depth-card,.strava-detail-hero-main,.strava-detail-hero-side,.strava-lap-card,.strava-stream-card,.strava-zone-card,.strava-activity-coach-card,.strava-threshold-reference-card,.strava-threshold-time-card,.strava-phase-card,.strava-debug-disclosure{background:var(--surface-card-soft);border-color:var(--border);box-shadow:inset 0 1px #ffffffd9,0 8px 20px #10222a0a}.planning-toolbar-card,.library-toolbar{background:var(--surface-card);-webkit-backdrop-filter:none;backdrop-filter:none}.table-card tbody tr:hover{background:#16353d08}.lab-athlete-row,.athlete-roster-card,.strava-activity-card,.library-row,.planning-calendar-day,.planning-day-card.clickable,.planning-template-card,.library-evidence-link{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.lab-athlete-row:hover,.athlete-roster-card:hover,.strava-activity-card:hover,.library-row:hover,.planning-calendar-day:hover,.planning-day-card.clickable:hover,.planning-template-card:hover,.library-evidence-link:hover{box-shadow:0 16px 30px #10222a12}.planning-context-card.current,.planning-context-card.positive,.planning-timeline-card.positive,.planning-archive-card.positive,.lab-summary-card.positive,.lab-inline-pill.positive,.strava-data-pill.positive,.planning-context-card.warning,.planning-timeline-card.warning,.planning-archive-card.warning,.lab-summary-card.warning,.lab-template-card.attention.warning,.lab-inline-pill.warning,.strava-data-pill.warning,.lab-summary-card.negative,.lab-template-card.attention.negative,.lab-inline-pill.negative{background:linear-gradient(180deg,#fffffffa,#f5efeef5)}.strava-activity-note.neutral,.strava-data-pill.neutral,.lab-inline-pill.neutral{background:linear-gradient(180deg,#fffffffa,#eff2f4f5)}.planning-target-main,.planning-foundation-card,.planning-calendar-active-month-card,.library-zone-section,.library-row-detail,.library-workout-summary-card,.library-workout-timeline-card,.library-workout-panel,.library-workout-block,.library-workout-copy-grid article,.library-workout-stats-list div,.strava-current-panel,.strava-detail-hero-main,.strava-detail-hero-side,.strava-detail-panel{background:var(--surface-card-muted)}:root{font-family:Manrope,sans-serif;--font-body: "Manrope", sans-serif;--font-display: "Plus Jakarta Sans", sans-serif;--radius-xl: 26px;--radius-lg: 20px;--radius-md: 14px;--shadow: 0 14px 30px rgba(16, 34, 42, .045);--shadow-soft: 0 8px 18px rgba(16, 34, 42, .035)}body,button,input,select,textarea{font-family:var(--font-body)}h1,h2,h3,h4,.brand strong,.brand-mark,.metric-card strong,.athlete-roster-stat strong,.lab-summary-card strong,.lab-athlete-meta strong,.lab-discipline-head strong,.lab-template-card-head strong,.planning-context-card strong,.planning-kpi-card strong,.planning-threshold-card strong,.planning-workspace-button strong,.planning-timeline-head strong,.planning-target-main strong,.planning-week-card strong,.planning-flow-step strong,.planning-archive-card strong,.planning-foundation-card strong,.planning-panel-title,.planning-template-card strong,.planning-template-detail strong,.library-selection-card strong,.library-summary-kpi strong,.library-template-block strong,.library-week-head strong,.library-week-session strong,.library-evidence-link strong,.library-zone-name,.library-hero-panel-head strong,.strava-current-panel strong,.strava-summary-card strong,.strava-activity-title-block h3,.strava-detail-hero-main h3,.strava-phase-panel-head strong,.strava-threshold-reference-card strong,.strava-threshold-time-card strong,.strava-phase-card strong{font-family:var(--font-display);letter-spacing:-.04em}h2,h3,h4{line-height:1}.hero h1,.page-header h1,.login-panel h1{font-size:clamp(2rem,3.3vw,3rem);letter-spacing:-.055em;margin:4px 0 8px}.eyebrow,.planning-kicker,.planning-kpi-label,.library-search-label,.athlete-roster-meta-pill small,.athlete-roster-target small{letter-spacing:.16em;font-size:.68rem}.shell{grid-template-columns:226px minmax(0,1fr);gap:18px;padding:18px}.sidebar{position:sticky;top:18px;transform:none;max-height:calc(100vh - 36px);padding:14px 12px 12px;border-radius:24px;background:linear-gradient(180deg,#f6f4f0eb,#f1f0ecdb);box-shadow:inset 0 1px #ffffff9e,0 10px 24px #10222a0b}.brand{gap:12px;padding:2px 4px 10px}.brand-mark{width:50px;height:50px;border-radius:16px;background:linear-gradient(180deg,#1b3137,#27444d);box-shadow:none;font-size:1rem}.brand strong{font-size:1rem}.brand-copy p{font-size:.7rem;letter-spacing:-.01em}.nav{gap:6px}.nav a,.nav-group-trigger{min-height:40px;padding:10px 12px;border-radius:16px;font-size:.84rem}.nav a.active,.nav-group-trigger.active{background:#ffffffd6;box-shadow:inset 0 0 0 1px #10222a0d,0 8px 16px #10222a0a}.content{padding:10px 10px 28px 0}.page-grid{gap:24px}.page-header,.athlete-roster-header,.lab-home-header{align-items:start}.card,.metric-card,.chart-card,.table-card,.split-card,.import-card,.threshold-plot-card,.library-zone-section,.library-row,.strava-activity-card,.lab-athlete-row,.athlete-roster-card{box-shadow:0 10px 20px #10222a09}.hero-focus-card,.hero-plan-card,.athlete-roster-card,.lab-template-card,.planning-context-card,.planning-kpi-card,.planning-threshold-card,.planning-timeline-card,.planning-calendar-day,.planning-day-card,.library-template-card,.library-week-session,.strava-current-panel,.strava-current-metric,.strava-summary-card,.strava-detail-panel,.strava-detail-metrics div{border-radius:18px}.planning-toolbar-card,.library-toolbar,.table-card,.chart-card,.split-card,.import-card{border-radius:24px}.lab-template-trigger,.planning-workspace-button,.planning-overlay-chip,.athlete-roster-filter-pill,.ghost-button{border-radius:999px}.metric-card span,.lab-summary-card span,.strava-summary-card span,.planning-kpi-card small,.library-selection-card small{font-size:.82rem}.lab-dashboard-shell{position:relative;background:transparent;border:0;box-shadow:none;overflow:visible}.lab-dashboard-page{gap:24px}.lab-dashboard-shell:before{content:"";position:absolute;inset:-10px -10px auto;height:320px;border-radius:36px;background:radial-gradient(circle at 12% 18%,rgba(198,106,61,.12),transparent 28%),radial-gradient(circle at 78% 6%,rgba(61,108,128,.1),transparent 26%),linear-gradient(135deg,#f4efe7b8,#eff3f49e 52%,#f4f7f685);z-index:0;pointer-events:none}.lab-dashboard-shell>*{position:relative;z-index:1}.lab-dashboard-hero{padding:22px 8px 2px;margin-bottom:8px;align-items:start;z-index:4}.lab-dashboard-head-copy{max-width:820px;display:grid;gap:10px}.lab-dashboard-head-copy .eyebrow{color:#c56637}.lab-dashboard-head-copy h2{margin:0;max-width:8.5ch;font-size:clamp(2.6rem,4.2vw,3.9rem);letter-spacing:-.075em;line-height:.9;color:#17333c}.lab-dashboard-head-copy p{margin:0;max-width:48ch;font-size:1.02rem;line-height:1.7;color:#5e6f75}.lab-template-picker{display:grid;gap:10px;align-self:start;position:relative}.lab-dashboard-summary{gap:12px;margin:2px 0 14px;z-index:1}.lab-dashboard-summary-card{min-height:120px;padding:15px 16px 16px;border-radius:24px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(16,34,42,.055);background:linear-gradient(180deg,#fffffffc,#f9f8f5f7);box-shadow:inset 0 1px #fffffff5,0 10px 22px #10222a0a}.lab-dashboard-summary-card:before{content:"";width:34px;height:3px;border-radius:999px;background:#16353d1a}.lab-dashboard-summary-card.positive:before{background:#2d7a6394}.lab-dashboard-summary-card.warning:before{background:#c5663794}.lab-dashboard-summary-card.negative:before{background:#8c403085}.lab-summary-copy{display:grid;gap:7px}.lab-dashboard-summary-card span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}.lab-dashboard-summary-card strong{font-size:clamp(1.8rem,2.5vw,2.15rem);line-height:.95;color:#18343c}.lab-dashboard-summary-card small{max-width:24ch;font-size:.8rem;line-height:1.45;color:#6b7b80}.lab-dashboard-note{margin:0 0 18px;padding:14px 16px;border-radius:20px;background:#ffffffc7;border:1px solid rgba(16,34,42,.05);box-shadow:0 8px 16px #10222a06;font-size:.96rem;line-height:1.6;color:#607176}.lab-dashboard-row{grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:18px;padding:20px 20px 22px;border-radius:28px;border:1px solid rgba(16,34,42,.055);background:linear-gradient(180deg,#fffffffe,#f8f7f4f7);box-shadow:inset 0 1px #fffffff5,0 12px 24px #10222a09}.lab-dashboard-meta{gap:16px}.lab-athlete-identity strong{margin-bottom:8px;font-size:clamp(1.35rem,1.8vw,1.7rem);line-height:.98;color:#18343c}.lab-athlete-identity p:first-of-type{font-size:.85rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6f7f84}.lab-athlete-deadline{margin-top:10px!important;color:#c56637!important}.lab-dashboard-focuses{display:flex;flex-wrap:wrap;gap:8px}.lab-dashboard-focuses .status-badge{padding:9px 12px;border-radius:999px;background:#f6f4f0fa;border:1px solid rgba(16,34,42,.06);color:#6d7277;font-weight:700}.lab-dashboard-link{display:inline-flex;align-items:center;width:fit-content;margin-right:0;padding:9px 13px;border-radius:999px;background:#fffffffa;border:1px solid rgba(16,34,42,.08);color:#18343c;box-shadow:inset 0 1px #ffffffd6}.lab-dashboard-link:hover{box-shadow:inset 0 1px #ffffffe6,0 10px 18px #10222a0d}.lab-athlete-status-strip{gap:10px;align-items:center}.lab-inline-pill{padding:6px 10px;font-size:.74rem;border:1px solid transparent}.lab-discipline-trend,.lab-template-card{min-height:148px;padding:15px 16px;border-radius:22px;border:1px solid rgba(16,34,42,.055);background:linear-gradient(180deg,#fffffffb,#f9f7f4f6);box-shadow:inset 0 1px #fffffff2,0 8px 18px #10222a08}.lab-discipline-trend:before,.lab-template-card:before{content:"";display:block;width:28px;height:3px;border-radius:999px;background:#16353d1a}.lab-discipline-head span,.lab-template-card-head span{font-size:.82rem;letter-spacing:.12em}.lab-discipline-head strong,.lab-template-card-head strong{color:#18343c}.lab-sparkline-empty{min-height:84px;background:#f8f6f3fa;border:1px dashed rgba(16,34,42,.07)}.lab-template-trigger{min-height:48px;padding:11px 16px;background:#ffffffe6;border-color:#10222a0f;box-shadow:inset 0 1px #fffffff2,0 8px 16px #10222a09}.lab-template-trigger span{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em}.lab-template-menu{position:absolute;top:calc(100% + 10px);right:0;width:min(290px,calc(100vw - 64px));max-height:360px;overflow:auto;border-radius:22px;padding:8px;background:#fffffff5;border-color:#10222a0f;box-shadow:0 18px 32px #10222a1a;z-index:18}.lab-template-option{border-radius:18px;padding:11px 13px;background:#f8f6f2e6}.lab-template-option strong{color:#18343c;font-size:.98rem}.lab-template-option.active{background:#f1ece4f2}.lab-template-option span{font-size:.82rem;line-height:1.45}@media(max-width:1180px){.lab-dashboard-hero{gap:16px}.lab-dashboard-head-copy h2{max-width:10ch;font-size:clamp(2.35rem,5vw,3.2rem)}}@media(max-width:1280px){.lab-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.lab-dashboard-shell:before{inset:0;height:250px}.lab-dashboard-hero{padding:4px 0 0}.lab-dashboard-head-copy h2{font-size:clamp(2.1rem,10vw,3rem);max-width:none}.lab-template-menu{right:auto;left:0;width:min(320px,calc(100vw - 56px))}.lab-dashboard-summary{grid-template-columns:1fr}.lab-dashboard-row{grid-template-columns:1fr;padding:20px}}.page-grid{max-width:1600px}.page-header,.hero,.card-header,.section-heading{position:relative}.page-header,.hero{padding-top:8px}.page-header h1,.hero h1,.section-title{color:#17333c}.page-header p,.hero p,.section-heading p,.card-header p,.muted{color:#617278}.card,.section-card,.table-card,.chart-card,.split-card,.import-card,.target-page-shell,.nutrition-panel,.nutrition-pillar-card,.library-toolbar,.library-hero-panel,.library-zone-section,.library-row,.strava-current-panel,.strava-summary-card,.strava-detail-panel,.strava-activity-card,.planning-toolbar-card,.planning-calendar-shell,.planning-calendar-detail,.planning-builder-controls{border:1px solid rgba(16,34,42,.055);background:linear-gradient(180deg,#fffffffb,#f9f7f4f6);box-shadow:inset 0 1px #fffffff5,0 10px 22px #10222a09}.card-header,.section-heading{margin-bottom:2px}.section-heading.compact{margin-bottom:10px}.table-card th,.table-card td{padding-top:16px;padding-bottom:16px}.table-card th{font-size:.74rem;letter-spacing:.14em}.list-item,.library-week-session,.library-selection-card,.planning-context-card,.planning-kpi-card,.planning-threshold-card,.planning-timeline-card,.planning-empty-state,.planning-mini-card,.planning-archive-card,.planning-day-card,.planning-template-card,.strava-detail-metrics div,.strava-current-metric,.strava-activity-kpi-grid div,.strava-activity-coach-card,.strava-threshold-reference-card,.strava-threshold-time-card,.strava-phase-card{border-radius:20px;border:1px solid rgba(16,34,42,.055);background:linear-gradient(180deg,#fffffffa,#f8f6f3f5)}.hero-focus-card,.hero-plan-card,.planning-foundation-card,.library-foundation-card,.library-summary-kpi,.nutrition-focus-card{border-radius:22px;border:1px solid rgba(16,34,42,.055);background:linear-gradient(180deg,#fffffffb,#f8f6f3f6)}.primary-button,.ghost-button,.athlete-roster-filter-pill,.planning-overlay-chip,.planning-inline-action,.planning-card-dismiss,.planning-workspace-button,.library-ribbon-pill,.lib-meta-pill,.threshold-meta-pill,.chart-overlay-chip{min-height:42px}.library-hero,.nutrition-hero,.planning-hero,.page-header{margin-bottom:2px}.planning-context-card.current,.planning-context-card.positive,.planning-target-main,.planning-mini-card,.planning-archive-card,.planning-week-card,.planning-foundation-card,.planning-template-browser,.planning-template-detail,.planning-builder-controls,.planning-day-card,.candidate-header strong{font-size:.86rem}.candidate-score{font-size:.72rem}.candidate-badge{border-radius:999px;padding:4px 8px}.planning-builder-controls,.planning-draft-week.load,.planning-draft-week.build,.session-role-badge{min-width:70px;padding:4px 7px;border-radius:999px;text-align:center}:root[data-theme=dark] .sidebar{border-color:#ffffff14;background:linear-gradient(180deg,#0f1e26eb,#0a161dd1);box-shadow:inset 0 1px #ffffff0d,0 18px 42px #00000047}:root[data-theme=dark] .brand-copy p,:root[data-theme=dark] .brand p,:root[data-theme=dark] .muted,:root[data-theme=dark] .card-header p,:root[data-theme=dark] .page-grid p,:root[data-theme=dark] small{color:var(--muted)}:root[data-theme=dark] .nav a:hover,:root[data-theme=dark] .nav-group-trigger:hover,:root[data-theme=dark] .nav-group-links a,:root[data-theme=dark] .ghost-button,:root[data-theme=dark] .athlete-topbar,:root[data-theme=dark] .hero-focus-card,:root[data-theme=dark] .hero-plan-card,:root[data-theme=dark] .athlete-roster-search input,:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:var(--surface-soft)}:root[data-theme=dark] .nav a.active,:root[data-theme=dark] .nav-group-trigger.active{background:linear-gradient(90deg,#ffffff1a,#ffb06714);box-shadow:inset 0 0 0 1px #ffffff14,0 10px 22px #0000002e}:root[data-theme=dark] .sidebar-logout,:root[data-theme=dark] .ghost-button{border-color:#ffffff14;color:var(--primary);box-shadow:inset 0 0 0 1px #ffffff0a,0 10px 22px #0000002e}:root[data-theme=dark] .primary-button{box-shadow:0 14px 30px #0000003d}:root[data-theme=dark] .card,:root[data-theme=dark] .hero,:root[data-theme=dark] .hero-focus-card.current,:root[data-theme=dark] .athlete-roster-stat.positive{background:linear-gradient(180deg,#16584657,#0f2128f0)}:root[data-theme=dark] .hero-focus-card.evaluation,:root[data-theme=dark] .athlete-roster-stat.warning{background:linear-gradient(180deg,#83442957,#0f2128f0)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color:var(--primary);border-color:var(--border)}:root[data-theme=dark] ::placeholder{color:#7f96a0}:root[data-theme=dark] .error{color:#ffb4a6}@media(max-width:1280px){.planning-bottom-grid,.planning-builder-grid,.planning-hero{grid-template-columns:1fr}.planning-foundation-grid{grid-template-columns:1fr 1fr}}@media(max-width:860px){.planning-kpi-strip,.planning-threshold-strip,.planning-mini-list,.planning-foundation-grid,.planning-form-grid{grid-template-columns:1fr}.planning-workspace-button{flex:1 1 100%}}:root[data-theme=dark] .planning-page,:root[data-theme=dark] .page-header,:root[data-theme=dark] .hero,:root[data-theme=dark] .planning-hero{color:var(--primary)}:root[data-theme=dark] .page-header h1,:root[data-theme=dark] .hero h1,:root[data-theme=dark] .planning-hero-main h1,:root[data-theme=dark] .section-title,:root[data-theme=dark] .planning-kpi-card strong,:root[data-theme=dark] .planning-threshold-card strong,:root[data-theme=dark] .planning-context-card strong,:root[data-theme=dark] .planning-target-main strong,:root[data-theme=dark] .planning-mini-card strong,:root[data-theme=dark] .planning-archive-card strong,:root[data-theme=dark] .planning-week-card strong,:root[data-theme=dark] .planning-foundation-card strong,:root[data-theme=dark] .planning-template-card strong,:root[data-theme=dark] .planning-template-detail strong,:root[data-theme=dark] .page-header p,:root[data-theme=dark] .hero p,:root[data-theme=dark] .section-heading p,:root[data-theme=dark] .planning-hero-main p,:root[data-theme=dark] .planning-context-card p,:root[data-theme=dark] .planning-context-card small,:root[data-theme=dark] .planning-kpi-card small,:root[data-theme=dark] .planning-threshold-card small,:root[data-theme=dark] .planning-target-chip span,:root[data-theme=dark] .planning-target-chip small,:root[data-theme=dark] .planning-timeline-pill p,:root[data-theme=dark] .planning-timeline-pill small,:root[data-theme=dark] .planning-day-card p,:root[data-theme=dark] .planning-day-card small,:root[data-theme=dark] .planning-calendar-day p,:root[data-theme=dark] .planning-calendar-day small,:root[data-theme=dark] .planning-template-card p,:root[data-theme=dark] .planning-template-card small,:root[data-theme=dark] .planning-template-detail p,:root[data-theme=dark] .planning-foundation-card p,:root[data-theme=dark] .planning-week-card p,:root[data-theme=dark] .planning-week-card small,:root[data-theme=dark] .planning-archive-card p,:root[data-theme=dark] .planning-toolbar-card,:root[data-theme=dark] .planning-context-card,:root[data-theme=dark] .planning-kpi-card,:root[data-theme=dark] .planning-threshold-card,:root[data-theme=dark] .planning-target-main,:root[data-theme=dark] .planning-mini-card,:root[data-theme=dark] .planning-archive-card,:root[data-theme=dark] .planning-week-card,:root[data-theme=dark] .planning-foundation-card,:root[data-theme=dark] .planning-builder-controls,:root[data-theme=dark] .planning-template-browser,:root[data-theme=dark] .planning-template-detail,:root[data-theme=dark] .planning-template-card,:root[data-theme=dark] .planning-calendar-shell,:root[data-theme=dark] .planning-calendar-grid,:root[data-theme=dark] .planning-calendar-detail,:root[data-theme=dark] .planning-calendar-day,:root[data-theme=dark] .planning-day-card,:root[data-theme=dark] .planning-context-card.current,:root[data-theme=dark] .planning-context-card.positive,:root[data-theme=dark] .planning-timeline-card.positive,:root[data-theme=dark] .planning-context-card.warning,:root[data-theme=dark] .planning-timeline-card.warning,:root[data-theme=dark] .planning-target-chip,:root[data-theme=dark] .planning-athlete-select,:root[data-theme=dark] .planning-workspace-button,:root[data-theme=dark] .planning-overlay-chip,:root[data-theme=dark] .planning-inline-action,:root[data-theme=dark] .planning-target-chip strong,:root[data-theme=dark] .planning-workspace-button.active,:root[data-theme=dark] .planning-day-card.clickable:hover,:root[data-theme=dark] .planning-calendar-day:hover,:root[data-theme=dark] .planning-template-card:hover,:root[data-theme=dark] .planning-workspace-button:hover,:root[data-theme=dark] body,:root[data-theme=dark] .athlete-shell{background:radial-gradient(circle at top left,rgba(255,176,103,.05),transparent 24%),linear-gradient(180deg,#0d1418,#10181d)}:root[data-theme=dark] .shell{background:transparent}:root[data-theme=dark] .content{padding-top:14px}:root[data-theme=dark] .sidebar{background:linear-gradient(180deg,#161d22f5,#12181df0);border-color:#ffffff0f;box-shadow:inset 0 1px #ffffff08,0 10px 28px #00000038}:root[data-theme=dark] .nav a,:root[data-theme=dark] .nav-group-trigger,:root[data-theme=dark] .nav-group-links a{color:#b2c0c8}:root[data-theme=dark] .nav a:hover,:root[data-theme=dark] .nav-group-trigger:hover,:root[data-theme=dark] .nav-group-links a:hover{background:#ffffff0a;color:#eef4f7}:root[data-theme=dark] .nav a.active,:root[data-theme=dark] .nav-group-trigger.active{background:#ffffff12;color:#f5f8fa;box-shadow:inset 0 0 0 1px #ffffff0d}:root[data-theme=dark] .ghost-button,:root[data-theme=dark] .sidebar-logout{background:#ffffff0a;border-color:#ffffff12;box-shadow:none}:root[data-theme=dark] .planning-athlete-select,:root[data-theme=dark] .planning-target-chip,:root[data-theme=dark] .planning-workspace-button,:root[data-theme=dark] .planning-overlay-chip,:root[data-theme=dark] .planning-inline-action,:root[data-theme=dark] .planning-workspace-button.active,:root[data-theme=dark] .planning-toolbar-card,:root[data-theme=dark] .planning-context-card,:root[data-theme=dark] .planning-kpi-card,:root[data-theme=dark] .planning-threshold-card,:root[data-theme=dark] .planning-target-main,:root[data-theme=dark] .planning-mini-card,:root[data-theme=dark] .planning-archive-card,:root[data-theme=dark] .planning-week-card,:root[data-theme=dark] .planning-foundation-card,:root[data-theme=dark] .planning-builder-controls,:root[data-theme=dark] .planning-template-browser,:root[data-theme=dark] .planning-template-detail,:root[data-theme=dark] .planning-template-card,:root[data-theme=dark] .planning-calendar-shell,:root[data-theme=dark] .planning-calendar-grid,:root[data-theme=dark] .planning-calendar-detail,:root[data-theme=dark] .planning-calendar-day,:root[data-theme=dark] .planning-day-card,:root[data-theme=dark] .planning-context-card.current,:root[data-theme=dark] .planning-context-card.positive,:root[data-theme=dark] .planning-timeline-card.positive,:root[data-theme=dark] .planning-context-card.warning,:root[data-theme=dark] .planning-timeline-card.warning,:root[data-theme=dark] .planning-archive-card.warning,:root[data-theme=dark] .planning-threshold-strip,:root[data-theme=dark] .planning-page p,:root[data-theme=dark] .planning-kicker,:root[data-theme=dark] .planning-kpi-label,:root[data-theme=dark] .eyebrow{color:#d29a64}:root[data-theme=dark] .planning-page .muted,:root[data-theme=dark] .planning-page small,:root[data-theme=dark] .planning-page p,:root[data-theme=dark] .planning-target-chip span,:root[data-theme=dark] .planning-target-chip small,:root[data-theme=dark] .planning-kpi-card small,:root[data-theme=dark] .planning-threshold-card small,:root[data-theme=dark] .planning-day-card p,:root[data-theme=dark] .planning-day-card small,:root[data-theme=dark] .planning-calendar-day p,:root[data-theme=dark] .planning-calendar-day small,:root[data-theme=dark] .planning-mini-card p,:root[data-theme=dark] .planning-archive-card p,:root[data-theme=dark] .planning-archive-card small,:root[data-theme=dark] .planning-week-card p,:root[data-theme=dark] .planning-week-card small,:root[data-theme=dark] .planning-template-card p,:root[data-theme=dark] .planning-template-card small,:root[data-theme=dark] .planning-page strong,:root[data-theme=dark] .planning-page h1,:root[data-theme=dark] .planning-day-card.clickable:hover,:root[data-theme=dark] .planning-calendar-day:hover,:root[data-theme=dark] .planning-template-card:hover,:root[data-theme=dark] .planning-workspace-button:hover,:root[data-theme=dark] .planning-overlay-chip:hover,:root[data-theme=dark] .page-grid{background:transparent}:root[data-theme=dark] .card,:root[data-theme=dark] .section-card,:root[data-theme=dark] .table-card,:root[data-theme=dark] .chart-card,:root[data-theme=dark] .split-card,:root[data-theme=dark] .import-card{-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme=dark] .athlete-roster-header .eyebrow,:root[data-theme=dark] .athlete-roster-overview .eyebrow,:root[data-theme=dark] .athlete-roster-search .eyebrow{color:#c8925d}:root[data-theme=dark] .athlete-roster-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}:root[data-theme=dark] .athlete-roster-stat{background:#151e23;border-color:#ffffff0d;box-shadow:none}:root[data-theme=dark] .athlete-roster-stat.warning{background:#1f1915;border-color:#ffb06724}:root[data-theme=dark] .athlete-roster-stat strong{color:#eef4f7}:root[data-theme=dark] .athlete-roster-toolbar{background:#131b20;border-color:#ffffff0d;box-shadow:none}:root[data-theme=dark] .athlete-roster-search input{background:#1a242a;border-color:#ffffff14;color:#edf3f6;box-shadow:none}:root[data-theme=dark] .athlete-roster-search input::placeholder{color:#7f939d}:root[data-theme=dark] .athlete-roster-filter-pill{background:#202b31;border-color:#ffffff12;color:#b9c7ce;box-shadow:none}:root[data-theme=dark] .athlete-roster-filter-pill:hover{background:#27343b;color:#eef4f7;border-color:#ffffff17}:root[data-theme=dark] .athlete-roster-filter-pill.active{background:#315564;color:#f5f9fb;border-color:#72b0c633}:root[data-theme=dark] .athlete-roster-card{background:#10191e;border-color:#ffffff0d;box-shadow:none}:root[data-theme=dark] .athlete-roster-card.running,:root[data-theme=dark] .athlete-roster-card.cycling,:root[data-theme=dark] .athlete-roster-card.triathlon{border-color:#ffffff0d}:root[data-theme=dark] .athlete-roster-card:hover{box-shadow:0 10px 24px #0000002e;border-color:#ffffff14}:root[data-theme=dark] .athlete-roster-avatar{background:#263239;border-color:#ffffff0f;color:#eef4f7}:root[data-theme=dark] .athlete-roster-card-head h2,:root[data-theme=dark] .athlete-roster-meta-pill strong,:root[data-theme=dark] .athlete-roster-target strong{color:#edf3f6}:root[data-theme=dark] .athlete-roster-summary,:root[data-theme=dark] .athlete-roster-target span,:root[data-theme=dark] .athlete-roster-meta-pill small,:root[data-theme=dark] .athlete-roster-target small{color:#93a6af}:root[data-theme=dark] .athlete-roster-metadata{gap:12px}:root[data-theme=dark] .athlete-roster-meta-pill{background:#192329;border-color:#ffffff0d}:root[data-theme=dark] .athlete-roster-target{background:#192126;border-color:#ffffff0d}:root[data-theme=dark] .status-badge.neutral,:root[data-theme=dark] .status-badge.medium{background:#c9925d24;color:#d7a06b}:root[data-theme=dark] .status-badge.positive,:root[data-theme=dark] .status-badge.high{background:#5b9c8024;color:#8fceb2}:root[data-theme=dark] .status-badge.negative,:root[data-theme=dark] .status-badge.low{background:#bc6b5624;color:#d78d79}:root[data-theme=dark] .inline-link{color:#f0ae69}:root[data-theme=dark] .danger-link{color:#c96f57}:root[data-theme=dark] .primary-button{background:#356170;color:#f5f9fb;box-shadow:none}:root[data-theme=dark] .primary-button:hover{background:#3e7284}:root[data-theme=dark] .athlete-roster-actions .ghost-button{background:#1a2328;border-color:#ffffff12;color:#d7e1e6}:root[data-theme=dark] .athlete-roster-empty{background:#131b20;border-color:#ffffff0d}:root[data-theme=dark] .lab-dashboard-shell{background:transparent}:root[data-theme=dark] .lab-dashboard-shell:before{inset:0;height:280px;border-radius:34px;background:radial-gradient(circle at 12% 12%,rgba(201,146,93,.06),transparent 22%),linear-gradient(180deg,#141c21fa,#0f161bf5)}:root[data-theme=dark] .lab-dashboard-hero{padding:18px 8px 4px;margin-bottom:12px}:root[data-theme=dark] .lab-dashboard-head-copy .eyebrow{color:#c8925d}:root[data-theme=dark] .lab-dashboard-head-copy h2{color:#edf3f6}:root[data-theme=dark] .lab-dashboard-head-copy p{color:#94a6af}:root[data-theme=dark] .lab-template-trigger{background:#1b252b;border-color:#ffffff12;color:#dbe5e9;box-shadow:none}:root[data-theme=dark] .lab-template-menu{background:#182127;border-color:#ffffff0f;box-shadow:0 16px 28px #0000003d}:root[data-theme=dark] .lab-template-option{background:#202b31;color:#d4dfe4}:root[data-theme=dark] .lab-template-option strong{color:#eef4f7}:root[data-theme=dark] .lab-template-option.active{background:#2a3941}:root[data-theme=dark] .lab-dashboard-summary-card,:root[data-theme=dark] .lab-home-note,:root[data-theme=dark] .lab-athlete-row,:root[data-theme=dark] .lab-discipline-trend,:root[data-theme=dark] .lab-template-card,:root[data-theme=dark] .lab-sparkline-empty{background:#121b20;border-color:#ffffff0d;box-shadow:none}:root[data-theme=dark] .lab-dashboard-summary{gap:14px}:root[data-theme=dark] .lab-dashboard-summary-card:before,:root[data-theme=dark] .lab-discipline-trend:before,:root[data-theme=dark] .lab-template-card:before{background:#ffffff1a}:root[data-theme=dark] .lab-dashboard-summary-card.positive:before{background:#6fbd9a8c}:root[data-theme=dark] .lab-dashboard-summary-card.warning:before{background:#c9925d8c}:root[data-theme=dark] .lab-dashboard-summary-card.negative:before{background:#c96f5b8c}:root[data-theme=dark] .lab-dashboard-summary-card span,:root[data-theme=dark] .lab-summary-card span,:root[data-theme=dark] .lab-athlete-identity p:first-of-type,:root[data-theme=dark] .lab-discipline-head span,:root[data-theme=dark] .lab-template-card-head span{color:#c8925d}:root[data-theme=dark] .lab-dashboard-summary-card strong,:root[data-theme=dark] .lab-athlete-identity strong,:root[data-theme=dark] .lab-discipline-head strong,:root[data-theme=dark] .lab-template-card-head strong,:root[data-theme=dark] .lab-athlete-meta strong{color:#edf3f6}:root[data-theme=dark] .lab-dashboard-summary-card small,:root[data-theme=dark] .lab-dashboard-note,:root[data-theme=dark] .lab-athlete-meta p,:root[data-theme=dark] .lab-home-header p,:root[data-theme=dark] .lab-sparkline-empty{color:#93a6af}:root[data-theme=dark] .lab-athlete-row:hover{box-shadow:0 10px 24px #0000002e;border-color:#ffffff14}:root[data-theme=dark] .lab-athlete-deadline{color:#e0a066!important}:root[data-theme=dark] .lab-dashboard-focuses .status-badge{background:#1d272d;border-color:#ffffff0f;color:#a9bac2}:root[data-theme=dark] .lab-dashboard-link{background:#1e2a30;border-color:#ffffff12;color:#eef4f7;box-shadow:none}:root[data-theme=dark] .lab-dashboard-link:hover{background:#26353c;box-shadow:none}:root[data-theme=dark] .lab-inline-pill{background:#1b252b;border-color:#ffffff0f}:root[data-theme=dark] .lab-inline-pill.positive{background:#3a675538;color:#97d4b8}:root[data-theme=dark] .lab-inline-pill.warning,:root[data-theme=dark] .lab-inline-pill.neutral{background:#5c472c38;color:#e0ae76}:root[data-theme=dark] .lab-inline-pill.negative{background:#6c392f3d;color:#df9581}:root[data-theme=dark] .lab-sparkline-empty{border-style:solid}.reliability-warnings{margin-top:12px}.warning-item{display:flex;gap:8px;padding:8px 12px;border-radius:6px;margin-bottom:6px;font-size:13px}.warning-critical{background:#fee2e2;border-left:3px solid #dc2626}.warning-warning{background:#fef9c3;border-left:3px solid #ca8a04}.warning-info{background:#eff6ff;border-left:3px solid #3b82f6}.warning-icon{flex-shrink:0}.warning-message{font-weight:500;margin:0 0 2px}.warning-actionable{color:#6b7280;margin:0;font-size:12px}.borderline-badge{display:inline-block;padding:2px 8px;border-radius:12px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:500;border:1px solid #fcd34d;cursor:help;margin-left:6px;vertical-align:middle}.block-anc{background:#7c3aed;color:#fff}.block-anp{background:#dc2626;color:#fff}:root[data-theme=dark] .warning-critical{background:#dc262629;border-left-color:#f87171}:root[data-theme=dark] .warning-warning{background:#ca8a0429;border-left-color:#fbbf24}:root[data-theme=dark] .warning-info{background:#3b82f629;border-left-color:#60a5fa}:root[data-theme=dark] .warning-message{color:var(--primary)}:root[data-theme=dark] .warning-actionable{color:var(--muted)}:root[data-theme=dark] .borderline-badge{background:#fcd34d2e;color:#fcd34d;border-color:#fcd34d52}.session-edit-actions{margin-top:6px}.session-edit-btn{font-size:11px;padding:2px 8px;border-radius:4px;border:1px solid var(--border, #e5e7eb);background:transparent;color:var(--muted, #6b7280);cursor:pointer}.session-edit-btn:hover{background:var(--surface, #f9fafb)}.session-edit-panel{margin-top:8px;padding:8px;background:var(--surface, #f9fafb);border-radius:6px;border:1px solid var(--border, #e5e7eb)}.session-edit-panel textarea{width:100%;box-sizing:border-box;border:1px solid var(--border, #d1d5db);border-radius:4px;padding:6px;font-size:13px;resize:vertical;background:var(--bg, white);color:var(--primary, #111)}.edit-actions{display:flex;gap:8px;margin-top:6px}.coach-note{font-size:12px;color:var(--muted, #6b7280);font-style:italic;margin:4px 0 0;padding:4px 8px;border-left:2px solid var(--border, #e5e7eb)}.composer-duration-row{display:flex;align-items:center;gap:12px;justify-content:center;margin:8px 0}.composer-duration-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border, #e5e7eb);background:var(--surface, #f9fafb);font-size:18px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}.composer-duration-btn:hover{background:var(--border, #e5e7eb)}.composer-duration-value{font-size:16px;min-width:80px;text-align:center}.composer-duration-hint{font-size:12px;color:var(--muted, #6b7280);margin:0}.composer-duration-warn{color:#ca8a04;font-weight:500}.composer-duration-slider-row{display:flex;align-items:center;gap:12px;margin:4px 0}.composer-duration-slider-row input[type=range]{flex:1;accent-color:var(--accent, #3b82f6);cursor:pointer}.composer-duration-endpoints{display:flex;justify-content:space-between;font-size:11px;color:var(--muted, #6b7280);margin-top:-2px}.bv-shell{--bv-bg: #f3ede6;--bv-card: #ede7df;--bv-card-inset: #e8e1d8;--bv-text: #2c2825;--bv-muted: #8a8279;--bv-label: #9e958c;--bv-shadow-d: rgba(174, 164, 150, .38);--bv-shadow-l: rgba(255, 255, 255, .82);--bv-sleep: #7c6fba;--bv-hrv: #4fb46b;--bv-resting: #5a9cf5;--bv-stress: #e8935a;--bv-battery: #8bc34a;--bv-respiration: #9180d4;background:var(--bv-bg);border-radius:24px;padding:36px 32px 40px;display:flex;flex-direction:column;gap:24px;grid-column:1 / -1}.bv-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.bv-header-copy h2{font-size:1.55rem;font-weight:700;color:var(--bv-text);margin:0 0 2px;letter-spacing:-.01em}.bv-header-copy p{font-size:.82rem;color:var(--bv-muted);margin:0}.bv-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.bv-provider-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:20px;background:#4fb46b1f;color:#3a8a54}.bv-refresh-btn{font-size:.78rem;font-weight:500;color:var(--bv-muted);background:none;border:none;cursor:pointer;padding:6px 14px;border-radius:10px;transition:background .15s}.bv-refresh-btn:hover{background:#0000000a}.bv-refresh-btn:disabled{opacity:.5;cursor:default}.bv-card{background:var(--bv-card);border-radius:18px;padding:18px 20px;box-shadow:5px 5px 12px var(--bv-shadow-d),-5px -5px 12px var(--bv-shadow-l);transition:box-shadow .2s}.bv-card-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--bv-label);display:block;margin-bottom:4px}.bv-battery{display:flex;align-items:center;gap:18px;padding:14px 20px;max-width:340px}.bv-battery-spark{flex:1;min-width:80px;height:28px}.bv-battery-data{display:flex;flex-direction:column;gap:0}.bv-battery-data strong{font-size:1.5rem;font-weight:700;color:var(--bv-text);line-height:1.1}.bv-battery-data .bv-status{font-size:.75rem;font-weight:600;color:var(--bv-battery)}.bv-battery-data .bv-avg{font-size:.7rem;color:var(--bv-muted)}.bv-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.bv-sleep{display:flex;flex-direction:column;gap:16px;padding:22px 24px}.bv-sleep-top{display:flex;align-items:center;gap:18px}.bv-sleep-ring{position:relative;width:72px;height:72px;flex-shrink:0}.bv-sleep-ring svg{width:72px;height:72px;transform:rotate(-90deg)}.bv-sleep-ring .bv-ring-track{fill:none;stroke:#7c6fba1f;stroke-width:6}.bv-sleep-ring .bv-ring-fill{fill:none;stroke:var(--bv-sleep);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.bv-sleep-ring-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:700;color:var(--bv-sleep)}.bv-sleep-copy h3{font-size:1.05rem;font-weight:700;color:var(--bv-text);margin:0 0 2px}.bv-sleep-copy p{font-size:.78rem;color:var(--bv-muted);margin:0;line-height:1.35}.bv-sleep-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bv-sleep-stat{background:var(--bv-card-inset);border-radius:12px;padding:10px 14px;box-shadow:inset 2px 2px 5px var(--bv-shadow-d),inset -2px -2px 5px var(--bv-shadow-l)}.bv-sleep-stat strong{font-size:1rem;font-weight:700;color:var(--bv-text);display:block}.bv-metrics-stack{display:flex;flex-direction:column;gap:14px}.bv-metric{display:flex;flex-direction:column;gap:6px;padding:14px 18px}.bv-metric-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.bv-metric-top strong{font-size:1.2rem;font-weight:700;color:var(--bv-text)}.bv-metric-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.bv-chip{font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:6px;display:inline-block}.bv-chip.hrv{background:#4fb46b1f;color:#3a8a54}.bv-chip.resting{background:#5a9cf51f;color:#3a6dc5}.bv-chip.stress{background:#e8935a1f;color:#b06a30}.bv-chip.respiration{background:#9180d41f;color:#6a5aad}.bv-avg{font-size:.7rem;color:var(--bv-muted)}.bv-spark{height:30px;width:100%}.bv-night{padding:22px 24px;display:flex;flex-direction:column;gap:16px}.bv-night-header{display:flex;align-items:baseline;gap:24px}.bv-night-header span{display:flex;flex-direction:column;gap:2px}.bv-night-header small{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--bv-label)}.bv-night-header strong{font-size:.95rem;font-weight:700;color:var(--bv-text)}.bv-stage-timeline{position:relative;min-height:92px}.bv-stage-row{position:relative;height:20px;margin-bottom:3px;margin-left:70px;border-radius:4px;background:#00000005}.bv-stage-label{position:absolute;left:-70px;top:50%;transform:translateY(-50%);font-size:.65rem;font-weight:500;color:var(--bv-muted);width:62px;text-align:right}.bv-stage-segment{position:absolute;top:2px;bottom:2px;border-radius:3px;min-width:3px}.bv-stage-segment.awake{background:#b4aa9e59}.bv-stage-segment.rem{background:#7c6fba8c}.bv-stage-segment.light{background:#7c6fba47}.bv-stage-segment.deep{background:var(--bv-sleep)}.bv-stage-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.bv-stage-chip{background:var(--bv-card-inset);border-radius:12px;padding:10px 12px;box-shadow:inset 2px 2px 5px var(--bv-shadow-d),inset -2px -2px 5px var(--bv-shadow-l);text-align:center}.bv-stage-chip strong{font-size:.85rem;font-weight:700;color:var(--bv-text);display:block}.bv-stage-chip small{font-size:.65rem;color:var(--bv-muted)}.bv-stage-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;vertical-align:middle}.bv-stage-dot.deep{background:var(--bv-sleep)}.bv-stage-dot.light{background:#7c6fba59}.bv-stage-dot.rem{background:#7c6fba99}.bv-stage-dot.awake{background:#b4aa9e73}.bv-respiration{max-width:420px;padding:16px 20px}.bv-empty{font-size:.8rem;color:var(--bv-muted);padding:20px 0;text-align:center}.bv-status-msg{font-size:.72rem;color:var(--bv-muted);margin-top:-8px}.bv-advanced{border-top:1px solid rgba(0,0,0,.05);padding-top:16px}.bv-advanced summary{font-size:.78rem;font-weight:600;color:var(--bv-muted);cursor:pointer;padding:8px 0;list-style:none}.bv-advanced summary::marker,.bv-advanced summary::-webkit-details-marker{display:none}.bv-advanced summary:before{content:"▸ ";margin-right:4px}.bv-advanced[open] summary:before{content:"▾ "}@media(max-width:768px){.bv-shell{padding:24px 16px 28px}.bv-main-grid{grid-template-columns:1fr}.bv-stage-chips{grid-template-columns:repeat(2,1fr)}.bv-battery,.bv-respiration{max-width:100%}.bv-header{flex-direction:column;gap:12px}.bv-night-header{flex-wrap:wrap;gap:12px 24px}}.athlete-shell{--dk-bg: #0d0f11;--dk-surface: #161a1e;--dk-card: #1c2127;--dk-card-hover: #222830;--dk-card-inset: #151a1f;--dk-border: rgba(255, 255, 255, .06);--dk-border-accent: rgba(255, 255, 255, .1);--dk-text: #e8edf2;--dk-text-secondary: #a4b0be;--dk-muted: #6b7a8d;--dk-shadow: 0 2px 12px rgba(0, 0, 0, .35);--dk-shadow-soft: 0 1px 6px rgba(0, 0, 0, .25);--dk-green: #4fb46b;--dk-orange: #e8935a;--dk-blue: #5a9cf5;--dk-purple: #9180d4;--dk-red: #e85a5a;min-height:100vh;background:var(--dk-bg);color:var(--dk-text)}.athlete-shell .ap-logout-btn{position:fixed;top:12px;right:16px;z-index:50;background:transparent;border:none;color:var(--dk-muted);opacity:.35;cursor:pointer;padding:6px;border-radius:8px;transition:opacity .2s,background .2s}.athlete-shell .ap-logout-btn:hover{opacity:.8;background:#ffffff0f}.athlete-shell .page-grid,.athlete-shell h1,.athlete-shell h2,.athlete-shell h3,.athlete-shell strong{color:var(--dk-text)}.athlete-shell p,.athlete-shell small{color:var(--dk-text-secondary)}.athlete-shell .eyebrow,.athlete-shell .muted{color:var(--dk-muted)}.athlete-shell .athlete-portal-topline{background:var(--dk-surface);border:1px solid var(--dk-border);box-shadow:var(--dk-shadow)}.athlete-shell .athlete-portal-topline-main strong{color:var(--dk-text)}.athlete-shell .athlete-portal-topline-chip{background:var(--dk-card);border:1px solid var(--dk-border);box-shadow:none}.athlete-shell .athlete-portal-topline-chip strong{color:var(--dk-text)}.athlete-shell .athlete-portal-card-label{color:var(--dk-muted)}.athlete-shell .athlete-portal-hero-shell{background:radial-gradient(circle at top left,rgba(210,106,54,.08),transparent 24%),radial-gradient(circle at top right,rgba(90,156,245,.06),transparent 22%),radial-gradient(circle at bottom right,rgba(79,180,107,.06),transparent 28%),var(--dk-surface);border:1px solid var(--dk-border);box-shadow:var(--dk-shadow)}.athlete-shell .athlete-portal-hero-copy h1,.athlete-shell .athlete-portal-stage-headline{color:var(--dk-text)}.athlete-shell .athlete-portal-stage-summary{color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-sync-note{color:var(--dk-muted)}.athlete-shell .athlete-portal-dashboard-metric{background:var(--dk-card);border-color:var(--dk-border);box-shadow:none}.athlete-shell .athlete-portal-dashboard-metric strong{color:var(--dk-text)}.athlete-shell .athlete-portal-dashboard-metric p{color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-stage-note.surging{background:linear-gradient(135deg,#4fb46b2e,#4fb46b14);border-color:#4fb46b38}.athlete-shell .athlete-portal-stage-note.surging .athlete-portal-card-label{color:var(--dk-green)}.athlete-shell .athlete-portal-stage-note.surging strong{color:var(--dk-text)}.athlete-shell .athlete-portal-stage-note.steady{background:linear-gradient(135deg,#e8935a24,#e8935a0f);border-color:#e8935a2e}.athlete-shell .athlete-portal-stage-note.building{background:linear-gradient(135deg,#5a9cf524,#5a9cf50f);border-color:#5a9cf52e}.athlete-shell .athlete-portal-status-badge.surging{background:#4fb46b33;color:var(--dk-green)}.athlete-shell .athlete-portal-status-badge.steady{background:#e8935a2e;color:var(--dk-orange)}.athlete-shell .athlete-portal-status-badge.building{background:#5a9cf52e;color:var(--dk-blue)}.athlete-shell .athlete-portal-status-context{color:var(--dk-muted)}.athlete-shell .athlete-goal-chip{background:var(--dk-card);border:1px solid var(--dk-border-accent);color:var(--dk-text-secondary)}.athlete-shell .athlete-goal-chip.subtle{background:#ffffff0a;border-color:var(--dk-border);color:var(--dk-muted)}.athlete-shell .athlete-portal-hero-card,.athlete-shell .athlete-portal-summary-card,.athlete-shell .athlete-portal-chart-card,.athlete-shell .athlete-portal-insight-card,.athlete-shell .athlete-portal-week-card,.athlete-shell .athlete-portal-guidance-card,.athlete-shell .athlete-portal-balance-card,.athlete-shell .athlete-portal-feed-item,.athlete-shell .athlete-portal-guidance-item,.athlete-shell .athlete-discipline-card-portal,.athlete-shell .athlete-target-card-portal{background:var(--dk-card);border-color:var(--dk-border);box-shadow:var(--dk-shadow-soft)}.athlete-shell .athlete-portal-hero-card.standout{background:radial-gradient(circle at top right,rgba(232,147,90,.12),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-hero-card.sync{background:radial-gradient(circle at top right,rgba(79,180,107,.1),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-hero-card p,.athlete-shell .athlete-portal-hero-card small,.athlete-shell .athlete-portal-summary-card p,.athlete-shell .athlete-portal-insight-card p,.athlete-shell .athlete-portal-guidance-item p,.athlete-shell .athlete-portal-week-card p{color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-focus-list-item{background:var(--dk-card-inset);border-color:var(--dk-border)}.athlete-shell .athlete-portal-focus-list-item strong{color:var(--dk-text)}.athlete-shell .athlete-portal-focus-list-item p{color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-focus-chip{background:var(--dk-card-inset);border-color:var(--dk-border);color:var(--dk-muted)}.athlete-shell .athlete-portal-focus-chip.active{background:#ffffff1f;color:var(--dk-text);border-color:#ffffff2e}.athlete-shell .athlete-portal-focus-meta small{color:var(--dk-muted)}.athlete-shell .athlete-portal-sync-provider{background:var(--dk-card-inset);border-color:var(--dk-border);color:var(--dk-muted)}.athlete-shell .athlete-portal-sync-provider.connected{background:#4fb46b24;border-color:#4fb46b38;color:var(--dk-green)}.athlete-shell .athlete-portal-command-grid{background:var(--dk-surface);border:1px solid var(--dk-border);box-shadow:var(--dk-shadow)}.athlete-shell .athlete-portal-side-head h2{color:var(--dk-text)}.athlete-shell .athlete-portal-side-head p{color:var(--dk-muted)}.athlete-shell .athlete-portal-command-card{background:var(--dk-card);border-color:var(--dk-border);box-shadow:var(--dk-shadow-soft)}.athlete-shell .athlete-portal-command-card strong{color:var(--dk-text)}.athlete-shell .athlete-portal-command-card p,.athlete-shell .athlete-portal-command-card small{color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-command-card.surging{background:radial-gradient(circle at top right,rgba(79,180,107,.1),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-command-card.steady{background:radial-gradient(circle at top right,rgba(232,147,90,.1),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-command-card.building{background:radial-gradient(circle at top right,rgba(90,156,245,.1),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-command-list-item span{background:#ffffff38}.athlete-shell .athlete-portal-week-kpis div,.athlete-shell .athlete-portal-reference-strip span,.athlete-shell .athlete-portal-volume-inline span{background:var(--dk-card-inset);border-color:var(--dk-border)}.athlete-shell .athlete-portal-reference-strip small,.athlete-shell .athlete-portal-volume-inline small,.athlete-shell .athlete-portal-week-kpis small{color:var(--dk-muted)}.athlete-shell .athlete-portal-reference-strip strong,.athlete-shell .athlete-portal-volume-inline strong,.athlete-shell .athlete-portal-week-kpis strong{color:var(--dk-text)}.athlete-shell .athlete-portal-week-bar-track{background:#ffffff0f}.athlete-shell .athlete-portal-week-bar-head strong{color:var(--dk-text)}.athlete-shell .bv-shell{--bv-bg: var(--dk-surface);--bv-card: var(--dk-card);--bv-card-inset: var(--dk-card-inset);--bv-text: var(--dk-text);--bv-muted: var(--dk-muted);--bv-label: var(--dk-muted);--bv-shadow-d: rgba(0, 0, 0, .3);--bv-shadow-l: rgba(255, 255, 255, .03);border:1px solid var(--dk-border)}.athlete-shell .bv-card{border:1px solid var(--dk-border)}.athlete-shell .bv-chip.hrv{background:#4fb46b29;color:#6dd890}.athlete-shell .bv-chip.resting{background:#5a9cf529;color:#7cb8ff}.athlete-shell .bv-chip.stress{background:#e8935a29;color:#f0a870}.athlete-shell .bv-chip.respiration{background:#9180d429;color:#b8a8f0}.athlete-shell .bv-stage-segment.awake{background:#ffffff1f}.athlete-shell .bv-stage-segment.rem{background:#9180d48c}.athlete-shell .bv-stage-segment.light{background:#9180d440}.athlete-shell .bv-stage-row{background:#ffffff05}.athlete-shell .bv-advanced{border-top-color:var(--dk-border)}.athlete-shell .bv-provider-badge{background:#4fb46b29;color:#6dd890}.athlete-shell .bv-refresh-btn{color:var(--dk-text-secondary)}.athlete-shell .bv-refresh-btn:hover{background:#ffffff0f}.athlete-shell .bv-sleep-ring .bv-ring-track{stroke:#9180d426}.athlete-shell .bv-status-msg{color:var(--dk-muted)}.athlete-shell .athlete-portal-performance-panel{background:var(--dk-surface);border:1px solid var(--dk-border);box-shadow:var(--dk-shadow)}.athlete-shell .athlete-portal-performance-card,.athlete-shell .athlete-portal-performance-note{background:var(--dk-card);border-color:var(--dk-border);box-shadow:var(--dk-shadow-soft)}.athlete-shell .athlete-portal-performance-card strong,.athlete-shell .athlete-portal-performance-note strong{color:var(--dk-text)}.athlete-shell .athlete-portal-performance-card p,.athlete-shell .athlete-portal-performance-card small,.athlete-shell .athlete-portal-performance-note p,.athlete-shell .athlete-portal-performance-note small{color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-performance-card.featured{background:radial-gradient(circle at top left,rgba(255,255,255,.04),transparent 30%),var(--dk-card)}.athlete-shell .athlete-portal-performance-card.ftp{background:radial-gradient(circle at top right,rgba(79,180,107,.12),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-performance-card.vo2max{background:radial-gradient(circle at top right,rgba(90,156,245,.12),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-performance-card.vlamax,.athlete-shell .athlete-portal-performance-card.half-marathon,.athlete-shell .athlete-portal-performance-card.ten-k,.athlete-shell .athlete-portal-performance-card.marathon{background:radial-gradient(circle at top right,rgba(232,147,90,.12),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-performance-meta span{background:#ffffff0f;border-color:var(--dk-border);color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-performance-note{background:radial-gradient(circle at top right,rgba(255,255,255,.03),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-lactate-panel{background:var(--dk-surface);border:1px solid var(--dk-border);box-shadow:var(--dk-shadow)}.athlete-shell .athlete-portal-discipline-pill{background:var(--dk-card);border-color:var(--dk-border);color:var(--dk-muted)}.athlete-shell .athlete-portal-discipline-pill:hover{background:var(--dk-card-hover);color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-discipline-pill.active{background:#ffffff1f;color:var(--dk-text);border-color:#ffffff2e}.athlete-shell .athlete-portal-chart-card{background:var(--dk-card);border-color:var(--dk-border)}.athlete-shell .athlete-portal-chart-empty{color:var(--dk-muted);background:#ffffff08}.athlete-shell .athlete-portal-lactate-legend span{color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-insight-card.lt1{background:radial-gradient(circle at top right,rgba(49,86,211,.12),transparent 34%),var(--dk-card);border-color:#3156d32e}.athlete-shell .athlete-portal-insight-card.lt2{background:radial-gradient(circle at top right,rgba(210,106,54,.12),transparent 34%),var(--dk-card);border-color:#d26a362e}.athlete-shell .athlete-portal-insight-card.peak{background:radial-gradient(circle at top right,rgba(232,90,90,.1),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-insight-card.narrative{background:radial-gradient(circle at top right,rgba(255,255,255,.04),transparent 34%),var(--dk-card)}.athlete-shell .recharts-cartesian-grid line{stroke:#ffffff0f}.athlete-shell .recharts-cartesian-axis-tick-value{fill:var(--dk-muted)!important}.athlete-shell .recharts-tooltip-wrapper .athlete-portal-curve-tooltip,.athlete-shell .recharts-tooltip-wrapper .athlete-portal-wellness-tooltip{background:#0a0e12f0;border:1px solid var(--dk-border-accent);color:var(--dk-text)}.athlete-shell .athlete-portal-story-grid{background:var(--dk-surface);border:1px solid var(--dk-border);box-shadow:var(--dk-shadow)}.athlete-shell .athlete-portal-balance-card{background:var(--dk-card);border-color:var(--dk-border)}.athlete-shell .athlete-portal-balance-head strong{color:var(--dk-text)}.athlete-shell .athlete-portal-balance-card p{color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-balance-card small{color:var(--dk-muted)}.athlete-shell .athlete-portal-feed-item{background:var(--dk-card);border-color:var(--dk-border)}.athlete-shell .athlete-portal-feed-item strong{color:var(--dk-text)}.athlete-shell .athlete-portal-guidance-item{background:var(--dk-card);border-color:var(--dk-border)}.athlete-shell .athlete-portal-guidance-item strong{color:var(--dk-text)}.athlete-shell .athlete-portal-section{background:var(--dk-surface);border:1px solid var(--dk-border);box-shadow:var(--dk-shadow)}.athlete-shell .athlete-discipline-card-portal{background:var(--dk-card);border-color:var(--dk-border)}.athlete-shell .athlete-discipline-head strong,.athlete-shell .athlete-discipline-kpis div{color:var(--dk-text)}.athlete-shell .athlete-discipline-kpis small,.athlete-shell .athlete-discipline-chart-empty{color:var(--dk-muted)}.athlete-shell .athlete-discipline-footnote{color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-discipline-badge{border:1px solid var(--dk-border)}.athlete-shell .athlete-target-card-portal{background:var(--dk-card);border-color:var(--dk-border)}.athlete-shell .athlete-target-card-portal strong{color:var(--dk-text)}.athlete-shell .athlete-target-date{color:var(--dk-muted)}.athlete-shell .athlete-portal-garmin-panel{background:var(--dk-surface);border:1px solid var(--dk-border);box-shadow:var(--dk-shadow)}.athlete-shell .athlete-portal-garmin-login-card{background:var(--dk-card);border-color:var(--dk-border);box-shadow:var(--dk-shadow-soft)}.athlete-shell .athlete-portal-garmin-login-card input{background:var(--dk-card-inset);border-color:var(--dk-border-accent);color:var(--dk-text)}.athlete-shell .athlete-portal-garmin-activity-card{background:var(--dk-card);border-color:var(--dk-border);box-shadow:var(--dk-shadow-soft);color:var(--dk-text)}.athlete-shell .athlete-portal-garmin-activity-card:hover{border-color:#e8935a3d;background:var(--dk-card-hover)}.athlete-shell .athlete-portal-garmin-activity-card.active{border-color:#4fb46b47;background:radial-gradient(circle at top right,rgba(79,180,107,.08),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-garmin-activity-card p,.athlete-shell .athlete-portal-garmin-activity-card small{color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-garmin-hero,.athlete-shell .athlete-portal-garmin-json-card{background:var(--dk-card);border-color:var(--dk-border);box-shadow:var(--dk-shadow-soft)}.athlete-shell .athlete-portal-garmin-kpis span{background:var(--dk-card-inset);border-color:var(--dk-border)}.athlete-shell .athlete-portal-garmin-kpis small{color:var(--dk-muted)}.athlete-shell .athlete-portal-garmin-kpis strong{color:var(--dk-text)}.athlete-shell .athlete-portal-garmin-parameter-card{background:var(--dk-card-inset);border-color:var(--dk-border)}.athlete-shell .athlete-portal-garmin-parameter-card strong{color:var(--dk-text)}.athlete-shell .athlete-portal-garmin-json-card pre{background:#0a0c0e;color:#b8d4e0}.athlete-shell .athlete-portal-health-empty{background:#ffffff08;color:var(--dk-muted)}.athlete-shell .ghost-button{color:var(--dk-text-secondary);border:1px solid var(--dk-border-accent);background:var(--dk-card)}.athlete-shell .ghost-button:hover{background:var(--dk-card-hover);color:var(--dk-text)}.athlete-shell .primary-button{background:linear-gradient(180deg,#ffffff1f,#ffffff0f);border:1px solid rgba(255,255,255,.14);color:var(--dk-text)}.athlete-shell .primary-button:hover{background:linear-gradient(180deg,#ffffff29,#ffffff1a)}.athlete-shell .card{background:var(--dk-surface);border:1px solid var(--dk-border);box-shadow:var(--dk-shadow);color:var(--dk-text)}.athlete-shell .loading{color:var(--dk-muted)}.athlete-shell .error{color:var(--dk-red)}.athlete-shell .athlete-portal-target-splits span{color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-target-splits strong{color:var(--dk-text)}.athlete-shell .athlete-portal-volume-card,.athlete-shell .athlete-portal-prediction-card{background:var(--dk-card);border-color:var(--dk-border);box-shadow:var(--dk-shadow-soft)}.athlete-shell .athlete-portal-volume-card strong,.athlete-shell .athlete-portal-prediction-card strong{color:var(--dk-text)}.athlete-shell .athlete-portal-volume-card p,.athlete-shell .athlete-portal-prediction-card p,.athlete-shell .athlete-portal-prediction-card small{color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-volume-card.hours{background:radial-gradient(circle at top right,rgba(255,255,255,.04),transparent 36%),var(--dk-card)}.athlete-shell .athlete-portal-volume-card.running{background:radial-gradient(circle at top right,rgba(232,147,90,.1),transparent 36%),var(--dk-card);border-color:#e8935a29}.athlete-shell .athlete-portal-volume-card.swim{background:radial-gradient(circle at top right,rgba(90,156,245,.1),transparent 36%),var(--dk-card);border-color:#5a9cf529}.athlete-shell .athlete-portal-volume-card.cycling{background:radial-gradient(circle at top right,rgba(79,180,107,.1),transparent 36%),var(--dk-card);border-color:#4fb46b29}.athlete-shell .athlete-portal-summary-card.featured{background:radial-gradient(circle at top right,rgba(79,180,107,.1),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-summary-card.lt1{background:radial-gradient(circle at top right,rgba(49,86,211,.12),transparent 34%),var(--dk-card);border-color:#3156d333}.athlete-shell .athlete-portal-summary-card.lt2{background:radial-gradient(circle at top right,rgba(210,106,54,.12),transparent 34%),var(--dk-card);border-color:#d26a3633}.athlete-shell .athlete-portal-summary-card.block{background:radial-gradient(circle at top right,rgba(255,255,255,.04),transparent 34%),var(--dk-card)}.athlete-shell .athlete-portal-health-provider{background:var(--dk-card);border-color:var(--dk-border);color:var(--dk-muted)}.athlete-shell .athlete-portal-health-provider.connected{background:#4fb46b24;border-color:#4fb46b38;color:var(--dk-green)}.athlete-shell .athlete-portal-health-chip.tone-high{background:#4fb46b2e;color:#6dd890}.athlete-shell .athlete-portal-health-chip.tone-good{background:#4fb46b24;color:#6dd890}.athlete-shell .athlete-portal-health-chip.tone-neutral{background:#ffffff14;color:var(--dk-text-secondary)}.athlete-shell .athlete-portal-health-chip.tone-warning{background:#ffc46029;color:#f0c060}.athlete-shell .athlete-portal-health-chip.tone-alert{background:#e85a5a29;color:#f08080}.athlete-shell ::-webkit-scrollbar{width:6px;height:6px}.athlete-shell ::-webkit-scrollbar-track{background:transparent}.athlete-shell ::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.athlete-shell ::-webkit-scrollbar-thumb:hover{background:#fff3}.athlete-shell .athlete-form input,.athlete-shell .athlete-form select,.athlete-shell .athlete-form textarea{background:var(--dk-card-inset);border-color:var(--dk-border-accent);color:var(--dk-text)}.athlete-shell .athlete-portal-health-inline-status{background:var(--dk-card);border-color:var(--dk-border);color:var(--dk-text)}.athlete-shell .athlete-portal-health-summary-card,.athlete-shell .athlete-portal-health-calendar-card,.athlete-shell .athlete-portal-health-feed-card{background:var(--dk-card);border-color:var(--dk-border);box-shadow:var(--dk-shadow-soft)}.athlete-shell .athlete-portal-health-summary-inline span,.athlete-shell .athlete-portal-health-day-stats span,.athlete-shell .athlete-portal-health-day{background:var(--dk-card-inset);border-color:var(--dk-border)}.athlete-shell .athlete-portal-health-day.active,.athlete-shell .athlete-portal-health-day.health-metric-day{background:radial-gradient(circle at top right,rgba(79,180,107,.08),transparent 36%),var(--dk-card)}.athlete-shell .athlete-portal-health-activity,.athlete-shell .athlete-portal-health-diagnostic-card{background:var(--dk-card-inset);border-color:var(--dk-border)}.athlete-shell .strava-sport-pill{border:1px solid var(--dk-border-accent)}.athlete-shell .ap-dashboard{display:flex;flex-direction:column;gap:24px;padding:24px;max-width:1280px;margin:0 auto}.athlete-shell .ap-block{background:var(--dk-surface);border:1px solid var(--dk-border);border-radius:28px;padding:32px;box-shadow:var(--dk-shadow-soft)}.athlete-shell .ap-block-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.athlete-shell .ap-block-header-copy{display:grid;gap:4px}.athlete-shell .ap-eyebrow{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--dk-muted)}.athlete-shell .ap-block-header h2{font-family:Space Grotesk,sans-serif;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:700;color:var(--dk-text);margin:0;letter-spacing:-.01em}.athlete-shell .ap-block-header p{color:var(--dk-text-secondary);font-size:.85rem;margin:0;max-width:48ch}.athlete-shell .ap-card{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:20px;padding:18px 20px;box-shadow:var(--dk-shadow-soft)}.athlete-shell .ap-card-label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--dk-muted);display:block;margin-bottom:6px}.athlete-shell .ap-card strong{font-family:Space Grotesk,sans-serif;color:var(--dk-text);display:block}.athlete-shell .ap-card p{color:var(--dk-text-secondary);margin:4px 0 0;font-size:.88rem;line-height:1.45}.athlete-shell .ap-card small{color:var(--dk-muted);font-size:.78rem}.athlete-shell .ap-big-number{font-family:Space Grotesk,sans-serif;font-size:2.4rem;font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--dk-text)}.athlete-shell .ap-medium-number{font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--dk-text)}.athlete-shell .ap-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:8px;font-size:.7rem;font-weight:600}.athlete-shell .ap-chip.green{background:#4fb46b29;color:#6dd890}.athlete-shell .ap-chip.orange{background:#e8935a29;color:#f0a870}.athlete-shell .ap-chip.blue{background:#5a9cf529;color:#7cb8ff}.athlete-shell .ap-chip.purple{background:#9180d429;color:#b8a8f0}.athlete-shell .ap-chip.red{background:#e85a5a29;color:#f08080}.athlete-shell .ap-chip.neutral{background:#ffffff0f;color:var(--dk-text-secondary)}.athlete-shell .ap-spark{height:36px;width:100%;margin-top:8px}.athlete-shell .ap-hero{background:radial-gradient(circle at 20% 0%,rgba(79,180,107,.08),transparent 40%),radial-gradient(circle at 80% 100%,rgba(145,128,212,.05),transparent 40%),var(--dk-surface);padding:40px 36px}.athlete-shell .ap-hero>.ap-hero-date{margin:0 0 16px;font-size:.78rem;color:var(--dk-text-secondary);text-transform:capitalize}.athlete-shell .ap-hero-weather{margin-left:12px;font-size:.82rem;color:var(--dk-text-secondary);font-weight:400}.athlete-shell .ap-hero-center{text-align:center;margin-bottom:20px}.athlete-shell .ap-hero-center .ap-hero-name{font-family:Space Grotesk,sans-serif;font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;line-height:.95;letter-spacing:-.03em;color:var(--dk-text);margin:0 0 10px}.athlete-shell .ap-hero-phrase{font-size:.92rem;color:var(--dk-text-secondary);font-style:italic;margin:0;line-height:1.4}.athlete-shell .ap-rings-row{display:flex;align-items:center;justify-content:center;gap:40px;margin-bottom:20px}.athlete-shell .ap-metric-ring-block{display:flex;flex-direction:column;align-items:center;gap:6px}.athlete-shell .ap-metric-ring-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dk-text-secondary);font-weight:600}.athlete-shell .ap-metric-ring-wrap.small{position:relative;width:72px;height:72px}.athlete-shell .ap-metric-ring-wrap.small svg{width:72px;height:72px;transform:rotate(-90deg)}.athlete-shell .ap-metric-ring-wrap.small .ap-ring-track{fill:none;stroke:#9180d41f;stroke-width:5}.athlete-shell .ap-metric-ring-wrap.small .ap-ring-fill{fill:none;stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset .8s ease}.athlete-shell .ap-metric-ring-wrap.small .ap-ring-fill.vo2,.athlete-shell .ap-metric-ring-wrap.small .ap-ring-fill.status-good{stroke:#4fb46b}.athlete-shell .ap-metric-ring-wrap.small .ap-ring-fill.status-neutral{stroke:#8a8a9a}.athlete-shell .ap-metric-ring-wrap.small .ap-ring-fill.status-warning{stroke:#e6a03c}.athlete-shell .ap-metric-ring-wrap.small .ap-ring-fill.status-alert{stroke:#dc5046}.athlete-shell .ap-metric-ring-wrap.small .ap-ring-fill.status-low{stroke:#666}.athlete-shell .ap-metric-ring-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Space Grotesk,sans-serif;font-size:1.25rem;font-weight:700;color:var(--dk-text);pointer-events:none}.athlete-shell .ap-metric-ring-value.small{font-size:.72rem;font-weight:700;letter-spacing:.02em}.athlete-shell .ap-metric-ring-sub{font-size:.66rem;color:var(--dk-muted)}.athlete-shell .ap-events-inline{display:flex;justify-content:center;gap:28px;margin-bottom:12px}@media(max-width:640px){.athlete-shell .ap-rings-row{gap:20px}.athlete-shell .ap-events-inline{flex-direction:column;align-items:center;gap:12px}}.athlete-shell .ap-readiness-label-row{display:flex;align-items:center;gap:6px}.athlete-shell .ap-readiness-label-text{font-family:Space Grotesk,sans-serif;font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.athlete-shell .ap-readiness-label-text.high{color:#4fb46b}.athlete-shell .ap-readiness-label-text.good{color:#6bc77a}.athlete-shell .ap-readiness-label-text.mid{color:#e6a03c}.athlete-shell .ap-readiness-label-text.low{color:#d97040}.athlete-shell .ap-readiness-label-text.critical{color:#dc5046}.athlete-shell .ap-recovery-ring{display:flex;flex-direction:column;align-items:center;gap:8px}.athlete-shell .ap-recovery-ring-wrap{position:relative;width:120px;height:120px}.athlete-shell .ap-recovery-ring-wrap svg{width:120px;height:120px;transform:rotate(-90deg)}.athlete-shell .ap-recovery-ring-wrap .ap-ring-track{fill:none;stroke:#9180d41f;stroke-width:8}.athlete-shell .ap-recovery-ring-wrap .ap-ring-fill{fill:none;stroke:var(--dk-purple);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .8s ease,stroke .3s ease}.athlete-shell .ap-recovery-ring-wrap .ap-ring-fill.readiness-high{stroke:#4fb46b}.athlete-shell .ap-recovery-ring-wrap .ap-ring-fill.readiness-good{stroke:#6bc77a}.athlete-shell .ap-recovery-ring-wrap .ap-ring-fill.readiness-mid{stroke:#e6a03c}.athlete-shell .ap-recovery-ring-wrap .ap-ring-fill.readiness-low{stroke:#d97040}.athlete-shell .ap-recovery-ring-wrap .ap-ring-fill.readiness-critical{stroke:#dc5046}.athlete-shell .ap-recovery-ring-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-family:Space Grotesk,sans-serif;font-size:2rem;font-weight:700;color:var(--dk-text)}.athlete-shell .ap-hero-vitals{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.athlete-shell .ap-vital-card{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:20px;padding:16px 18px;display:grid;gap:6px}.athlete-shell .ap-vital-card .ap-card-label{margin-bottom:2px}.athlete-shell .ap-vital-value{font-family:Space Grotesk,sans-serif;font-size:1.35rem;font-weight:700;color:var(--dk-text);line-height:1}.athlete-shell .ap-vital-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.athlete-shell .ap-vital-avg{font-size:.7rem;color:var(--dk-muted)}.athlete-shell .ap-trio-row{grid-template-columns:repeat(3,1fr)}.athlete-shell .ap-trio-card.status-good{border-color:#4fb46b59}.athlete-shell .ap-trio-card.status-good .ap-vital-chip-value{color:#4fb46b}.athlete-shell .ap-trio-card.status-neutral{border-color:#b4aa824d}.athlete-shell .ap-trio-card.status-warning{border-color:#e6a03c59}.athlete-shell .ap-trio-card.status-warning .ap-vital-chip-value{color:#e6a03c}.athlete-shell .ap-trio-card.status-alert{border-color:#dc504659}.athlete-shell .ap-trio-card.status-alert .ap-vital-chip-value{color:#dc5046}.athlete-shell .ap-trio-card.status-low{border-color:#78788c4d}.athlete-shell .ap-trio-card.status-low .ap-vital-chip-value{color:var(--dk-text-secondary)}.athlete-shell .ap-vo2-gauge{width:100%;margin-top:2px}.athlete-shell .ap-vo2-gauge-track{position:relative;height:12px;border-radius:6px;overflow:visible;background:var(--dk-surface)}.athlete-shell .ap-vo2-gauge-zones{position:absolute;inset:0;display:flex;border-radius:6px;overflow:hidden}.athlete-shell .ap-vo2-gauge-zones .zone{flex:1;opacity:.7}.athlete-shell .ap-vo2-gauge-zones .zone.poor{background:#c23028}.athlete-shell .ap-vo2-gauge-zones .zone.fair{background:#d06030}.athlete-shell .ap-vo2-gauge-zones .zone.good{background:#d4942a}.athlete-shell .ap-vo2-gauge-zones .zone.excellent{background:#50a858}.athlete-shell .ap-vo2-gauge-zones .zone.superior{background:#2e9440}.athlete-shell .ap-vo2-gauge-marker{position:absolute;top:-9px;transform:translate(-50%);z-index:2;transition:left .5s ease}.athlete-shell .ap-vo2-gauge-arrow{display:block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid #fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.athlete-shell .ap-vo2-gauge-labels{display:flex;font-size:.54rem;color:var(--dk-muted);margin-top:3px}.athlete-shell .ap-vo2-gauge-labels span{flex:1;text-align:center}.athlete-shell .ap-status-spark{width:100%;margin-top:2px}.athlete-shell .ap-events-card{justify-content:flex-start}.athlete-shell .ap-events-list{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:4px}.athlete-shell .ap-event-row{display:flex;align-items:flex-start;gap:10px}.athlete-shell .ap-event-icon{flex-shrink:0;color:var(--dk-text-secondary);display:flex;align-items:center;margin-top:2px;opacity:.6}.athlete-shell .ap-event-info{display:flex;flex-direction:column;gap:1px;min-width:0}.athlete-shell .ap-event-name{font-size:.78rem;color:var(--dk-text);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-shell .ap-event-detail{font-size:.68rem;color:var(--dk-text-secondary)}.athlete-shell .ap-event-countdown{font-family:Space Grotesk,sans-serif;font-size:.82rem;font-weight:700;color:var(--dk-text)}.athlete-shell .ap-event-goal{font-size:.66rem;color:var(--dk-muted);font-style:italic}.athlete-shell .ap-trio-card.readiness{align-items:center}.athlete-shell .ap-readiness-ring{position:relative;display:flex;align-items:center;justify-content:center}.athlete-shell .ap-readiness-ring svg{transform:rotate(-90deg)}.athlete-shell .ap-readiness-track{fill:none;stroke:var(--dk-border);stroke-width:5}.athlete-shell .ap-readiness-fill{fill:none;stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.athlete-shell .ap-readiness-ring.high .ap-readiness-fill{stroke:#4fb46b}.athlete-shell .ap-readiness-ring.good .ap-readiness-fill{stroke:#6bc77a}.athlete-shell .ap-readiness-ring.mid .ap-readiness-fill{stroke:#e6a03c}.athlete-shell .ap-readiness-ring.low .ap-readiness-fill{stroke:#d97040}.athlete-shell .ap-readiness-ring.critical .ap-readiness-fill{stroke:#dc5046}.athlete-shell .ap-readiness-value{position:absolute;font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:700;color:var(--dk-text)}.athlete-shell .ap-lower-row{display:flex;gap:16px;align-items:flex-start}.athlete-shell .ap-lower-left{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.athlete-shell .ap-fitness{flex:1;min-width:0}@media(max-width:900px){.athlete-shell .ap-lower-row{flex-direction:column}}.athlete-shell .ap-today-rest{display:flex;align-items:center;gap:12px;padding:16px 0 4px;color:var(--dk-text-secondary)}.athlete-shell .ap-today-rest svg{color:var(--dk-accent);flex-shrink:0}.athlete-shell .ap-today-rest p{margin:0;font-size:.88rem}.athlete-shell .ap-tab-nav{display:flex;justify-content:center;gap:4px;padding:12px 0 20px}.athlete-shell .ap-tab-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 18px;border-radius:12px;background:transparent;border:1px solid transparent;color:var(--dk-text-secondary);cursor:pointer;transition:all .15s}.athlete-shell .ap-tab-btn:hover{background:#ffffff0a;color:var(--dk-text)}.athlete-shell .ap-tab-btn.active{background:#4fb46b14;border-color:#4fb46b33;color:#4fb46b}.athlete-shell .ap-tab-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.athlete-shell .ap-compliance-body{display:flex;align-items:center;gap:20px;padding:12px 0 4px}.athlete-shell .ap-compliance-ring{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.athlete-shell .ap-compliance-pct{position:absolute;font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:700;color:#4fb46b}.athlete-shell .ap-compliance-detail{display:flex;flex-direction:column;gap:2px}.athlete-shell .ap-compliance-detail strong{font-family:Space Grotesk,sans-serif;font-size:1.1rem;color:var(--dk-text)}.athlete-shell .ap-compliance-detail span{font-size:.78rem;color:var(--dk-text-secondary)}.athlete-shell .ap-next-test-body{display:flex;align-items:baseline;gap:12px;padding:8px 0 0}.athlete-shell .ap-next-test-body strong{font-family:Space Grotesk,sans-serif;font-size:1.3rem;color:var(--dk-text)}.athlete-shell .ap-next-test-body span{font-size:.82rem;color:var(--dk-text-secondary)}.athlete-shell .ap-next-test.warn .ap-next-test-body strong{color:#e6a03c}.athlete-shell .ap-next-test.urgent .ap-next-test-body strong{color:#e6707a}.athlete-shell .ap-nutrition-placeholder{padding:32px 0 12px;text-align:center;color:var(--dk-text-secondary)}.athlete-shell .ap-nutrition-placeholder svg{margin-bottom:12px;color:var(--dk-accent)}.athlete-shell .ap-nutrition-placeholder p{font-size:.88rem;margin:4px 0 0}.athlete-shell .ap-fitness{padding:20px 22px}.athlete-shell .ap-fitness-kpis{display:flex;gap:20px;margin:10px 0 14px}.athlete-shell .ap-fitness-kpi{display:flex;flex-direction:column;gap:2px}.athlete-shell .ap-fitness-kpi small{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--dk-text-secondary)}.athlete-shell .ap-fitness-kpi strong{font-family:Space Grotesk,sans-serif;font-size:1.2rem}.athlete-shell .ap-fitness-kpi.ctl strong{color:#4fb46b}.athlete-shell .ap-fitness-kpi.atl strong{color:#e6707a}.athlete-shell .ap-fitness-kpi.tsb.positive strong{color:#5b9bd5}.athlete-shell .ap-fitness-kpi.tsb.negative strong{color:#e6a03c}.athlete-shell .ap-lactate-mini{padding:20px 22px}.athlete-shell .ap-lactate-thresholds-row{display:flex;gap:16px;margin:8px 0 12px}.athlete-shell .ap-lactate-th{font-size:.76rem;display:flex;align-items:center;gap:6px}.athlete-shell .ap-lactate-th.lt1{color:#4fb46b}.athlete-shell .ap-lactate-th.lt2{color:#e6707a}.athlete-shell .ap-lactate-th strong{font-family:Space Grotesk,sans-serif;font-size:1rem}.athlete-shell .ap-volume-chart{width:100%;margin:8px 0 4px}.athlete-shell .ap-volume-chart-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.athlete-shell .ap-volume-chart-title{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dk-text-secondary)}.athlete-shell .ap-volume-disc-btns{display:flex;gap:4px}.athlete-shell .ap-volume-disc-btn{background:transparent;border:1px solid transparent;color:var(--dk-muted);border-radius:8px;padding:4px 6px;cursor:pointer;opacity:.4;transition:opacity .15s,color .15s,background .15s;display:flex;align-items:center;justify-content:center}.athlete-shell .ap-volume-disc-btn:hover{opacity:.7;background:#ffffff0a}.athlete-shell .ap-volume-disc-btn.active{opacity:1;color:var(--dk-text);background:#ffffff0f;border-color:#ffffff1a}@media(max-width:768px){.athlete-shell .ap-trio-row{grid-template-columns:1fr}.athlete-shell .ap-volume-chart{margin:12px 0}}.athlete-shell .ap-today{padding:20px 22px}.athlete-shell .ap-today-sessions{display:flex;gap:12px;margin-top:12px}.athlete-shell .ap-today-card{flex:1;padding:16px 18px;border-radius:14px;background:var(--dk-surface);border-left:4px solid var(--dk-border)}.athlete-shell .ap-today-card.key{border-left-color:#e6a03c;background:#e6a03c0f}.athlete-shell .ap-today-card.support{border-left-color:#5b9bd5;background:#5b9bd50f}.athlete-shell .ap-today-card.long{border-left-color:#9b6bc7;background:#9b6bc70f}.athlete-shell .ap-today-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.athlete-shell .ap-today-role{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:2px 8px;border-radius:6px;background:#ffffff0f}.athlete-shell .ap-today-role.key{color:#e6a03c}.athlete-shell .ap-today-role.support{color:#5b9bd5}.athlete-shell .ap-today-role.long{color:#9b6bc7}.athlete-shell .ap-today-dur{font-size:.78rem;color:var(--dk-text-secondary);font-family:Space Grotesk,sans-serif}.athlete-shell .ap-today-label{font-size:1rem;color:var(--dk-text);display:block;margin-bottom:4px}.athlete-shell .ap-today-dose{font-size:.8rem;color:var(--dk-text-secondary);line-height:1.4;margin:0}.athlete-shell .ap-today-obj{font-size:.75rem;color:var(--dk-muted);margin:4px 0 0;line-height:1.3}@media(max-width:640px){.athlete-shell .ap-today-sessions{flex-direction:column}}.athlete-shell .ap-calendars-row{display:flex;gap:16px;align-items:flex-start;justify-content:center}.athlete-shell .ap-calendars-left-col{display:flex;flex-direction:column;gap:16px;min-width:280px;max-width:320px;flex-shrink:0}.athlete-shell .ap-month-cal{padding:20px 22px}.athlete-shell .ap-month-cal-header{margin-bottom:12px}.athlete-shell .ap-month-cal-title{font-family:Space Grotesk,sans-serif;font-size:1rem;color:var(--dk-text);text-transform:capitalize}.athlete-shell .ap-month-cal-streak{display:flex;gap:24px;margin-bottom:14px}.athlete-shell .ap-month-cal-streak-item{display:flex;flex-direction:column;gap:2px}.athlete-shell .ap-month-cal-streak-item small{font-size:.68rem;color:var(--dk-text-secondary);text-transform:uppercase;letter-spacing:.04em}.athlete-shell .ap-month-cal-streak-item strong{font-family:Space Grotesk,sans-serif;font-size:1.1rem;color:var(--dk-text)}.athlete-shell .ap-month-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.athlete-shell .ap-month-cal-wd{text-align:center;font-size:.68rem;font-weight:600;color:var(--dk-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:4px 0}.athlete-shell .ap-month-cal-grid{display:flex;flex-direction:column;gap:2px}.athlete-shell .ap-month-cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.athlete-shell .ap-month-cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative}.athlete-shell .ap-month-cal-cell.today{box-shadow:0 0 0 2px #4fb46b}.athlete-shell .ap-month-cal-cell.outside{opacity:.25}.athlete-shell .ap-month-cal-num{font-family:Space Grotesk,sans-serif;font-size:.72rem;color:var(--dk-text-secondary)}.athlete-shell .ap-month-cal-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#ffffff14}.athlete-shell .ap-month-cal-icon svg{width:16px;height:16px}.athlete-shell .ap-month-summary-chart{margin-top:16px;padding-top:14px;border-top:1px solid var(--dk-border)}.athlete-shell .ap-activity-sum-head{display:flex;align-items:center;gap:6px;color:var(--dk-text-secondary);margin-bottom:6px}.athlete-shell .ap-month-summary-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dk-text-secondary);font-weight:600}.athlete-shell .ap-activity-sum-total{font-family:Space Grotesk,sans-serif;font-size:1.3rem;color:var(--dk-text);display:block;line-height:1.2}.athlete-shell .ap-activity-sum-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.athlete-shell .ap-activity-sum-range{font-size:.7rem;color:var(--dk-muted)}.athlete-shell .ap-activity-sum-delta{font-size:.72rem;font-weight:600}.athlete-shell .ap-activity-sum-delta.up{color:#4fb46b}.athlete-shell .ap-activity-sum-delta.down{color:#e6707a}@media(max-width:900px){.athlete-shell .ap-calendars-row{flex-direction:column}.athlete-shell .ap-calendars-left-col{max-width:100%;min-width:auto}}.athlete-shell .ap-weight-card{padding:16px 20px}.athlete-shell .ap-weight-head{display:flex;align-items:center;gap:6px;color:var(--dk-text-secondary);margin-bottom:8px}.athlete-shell .ap-weight-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--dk-text-secondary)}.athlete-shell .ap-weight-value{display:flex;align-items:baseline;gap:8px}.athlete-shell .ap-weight-value strong{font-family:Space Grotesk,sans-serif;font-size:1.3rem;color:var(--dk-text)}.athlete-shell .ap-weight-delta{font-size:.76rem;color:var(--dk-text-secondary)}.athlete-shell .ap-weight-delta.up{color:#e6a03c}.athlete-shell .ap-weight-delta.down{color:#4fb46b}.athlete-shell .ap-weight-spark{margin-top:8px}.athlete-shell .ap-weight-preview-chart{margin-top:8px;border-radius:8px;overflow:hidden;background:#a78bfa0a}.athlete-shell .ap-weight-card{cursor:pointer;text-align:left;transition:border-color .15s;max-width:280px;padding:16px 20px}.athlete-shell .ap-weight-card:hover{border-color:#a78bfa4d}.athlete-shell .ap-zones-card{max-width:280px;padding:16px 20px}.athlete-shell .ap-zones-head{display:flex;align-items:center;gap:6px;color:var(--dk-text-secondary);margin-bottom:10px}.athlete-shell .ap-zones-title{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--dk-text-secondary);flex:1}.athlete-shell .ap-zones-total{font-size:.72rem;color:var(--dk-muted);font-family:Space Grotesk,sans-serif}.athlete-shell .ap-zones-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:1px;margin-bottom:8px}.athlete-shell .ap-zone.z1{background:#6bb8a0}.athlete-shell .ap-zone.z2{background:#4fb46b}.athlete-shell .ap-zone.z3{background:#e6a03c}.athlete-shell .ap-zone.z4{background:#e6707a}.athlete-shell .ap-zone.z5{background:#c74b5a}.athlete-shell .ap-zones-labels{display:flex;justify-content:space-between}.athlete-shell .ap-zone-lbl{font-size:.62rem;color:var(--dk-text-secondary);display:flex;align-items:center;gap:3px}.athlete-shell .ap-zone-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.athlete-shell .ap-zone-dot.z1{background:#6bb8a0}.athlete-shell .ap-zone-dot.z2{background:#4fb46b}.athlete-shell .ap-zone-dot.z3{background:#e6a03c}.athlete-shell .ap-zone-dot.z4{background:#e6707a}.athlete-shell .ap-zone-dot.z5{background:#c74b5a}.athlete-shell .ap-weight-modal-body{padding:0 20px 20px}.athlete-shell .ap-weight-input-row{display:flex;gap:10px;margin-bottom:20px}.athlete-shell .ap-weight-input{flex:1;background:var(--dk-surface);border:1px solid var(--dk-border);border-radius:10px;padding:10px 14px;font-size:1.1rem;font-family:Space Grotesk,sans-serif;color:var(--dk-text);outline:none}.athlete-shell .ap-weight-input:focus{border-color:#a78bfa}.athlete-shell .ap-weight-save-btn{background:#a78bfa;color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s}.athlete-shell .ap-weight-save-btn:disabled{opacity:.4;cursor:default}.athlete-shell .ap-weight-save-btn:hover:not(:disabled){opacity:.85}.athlete-shell .ap-weight-trend-chart{margin-bottom:16px}.athlete-shell .ap-weight-trend-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dk-text-secondary);font-weight:600;display:block;margin-bottom:8px}.athlete-shell .ap-weight-history-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.athlete-shell .ap-weight-history-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--dk-border);font-size:.8rem;color:var(--dk-text-secondary)}.athlete-shell .ap-weight-history-row strong{color:var(--dk-text);font-family:Space Grotesk,sans-serif}.athlete-shell .ap-week-cal{padding:20px 22px;flex:1;min-width:0}.athlete-shell .ap-week-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.athlete-shell .ap-week-cal-nav{display:flex;align-items:center;gap:10px}.athlete-shell .ap-week-cal-range{font-family:Space Grotesk,sans-serif;font-size:1rem;color:var(--dk-text)}.athlete-shell .ap-week-cal-controls{display:flex;align-items:center;gap:6px}.athlete-shell .ap-week-cal-btn{background:var(--dk-surface);border:1px solid var(--dk-border);color:var(--dk-text-secondary);border-radius:8px;padding:4px 12px;font-size:.82rem;cursor:pointer;transition:background .15s,color .15s}.athlete-shell .ap-week-cal-btn:hover{background:var(--dk-border);color:var(--dk-text)}.athlete-shell .ap-week-cal-summary{font-size:.78rem;color:var(--dk-text-secondary)}.athlete-shell .ap-week-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.athlete-shell .ap-week-cal-day{display:flex;flex-direction:column;background:var(--dk-surface);border:1px solid var(--dk-border);border-radius:12px;min-height:100px;overflow:hidden}.athlete-shell .ap-week-cal-day.today{border-color:#4fb46b66}.athlete-shell .ap-week-cal-day-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 4px}.athlete-shell .ap-week-cal-day-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dk-text-secondary);font-weight:600}.athlete-shell .ap-week-cal-day-num{font-family:Space Grotesk,sans-serif;font-size:.82rem;color:var(--dk-text-secondary);font-weight:600}.athlete-shell .ap-week-cal-day-num.today{background:#4fb46b;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.76rem}.athlete-shell .ap-week-cal-sessions{display:flex;flex-direction:column;gap:4px;padding:4px 6px 8px;flex:1}.athlete-shell .ap-week-cal-session{padding:6px 8px;border-radius:8px;background:#ffffff08;border-left:3px solid var(--dk-border);cursor:pointer;transition:background .15s,box-shadow .15s}.athlete-shell .ap-week-cal-session:hover{background:#ffffff12;box-shadow:0 1px 6px #0003}.athlete-shell .ap-week-cal-session.dragging{opacity:.35;transform:scale(.95)}.athlete-shell .ap-week-cal-session[draggable=true]{cursor:grab}.athlete-shell .ap-week-cal-session[draggable=true]:active{cursor:grabbing}.athlete-shell .ap-week-cal-day.drag-over{background:#d26a361a;border-color:var(--dk-accent, #d26a36);box-shadow:inset 0 0 0 2px #d26a364d}.athlete-shell .ap-week-cal-session.key{border-left-color:#e6a03c;background:#e6a03c0f}.athlete-shell .ap-week-cal-session.support{border-left-color:#5b9bd5;background:#5b9bd50f}.athlete-shell .ap-week-cal-session.long{border-left-color:#9b6bc7;background:#9b6bc70f}.athlete-shell .ap-week-cal-session-role{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dk-text-secondary);font-weight:600;display:block;margin-bottom:2px}.athlete-shell .ap-week-cal-session-label{font-size:.76rem;color:var(--dk-text);display:block;line-height:1.25}.athlete-shell .ap-week-cal-session-dose{font-size:.68rem;color:var(--dk-text-secondary)}.athlete-shell .ap-week-cal-session-dur{font-size:.68rem;color:var(--dk-muted)}.athlete-shell .ap-week-cal-session-obj{font-size:.66rem;color:var(--dk-text-secondary);display:block;margin-top:2px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-shell .ap-week-cal-session-time{font-size:.66rem;color:var(--dk-accent, #d26a36);font-weight:600;display:block;margin-bottom:1px}.athlete-shell .ap-week-cal-session-note{font-size:.64rem;color:var(--dk-muted);display:block;margin-top:3px;font-style:italic;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-shell .ap-session-edit-overlay{position:fixed;inset:0;background:#0009;z-index:900;display:grid;place-items:center;padding:20px}.athlete-shell .ap-session-edit-modal{background:var(--dk-card, #1a2a30);border:1px solid var(--dk-border, #2a3a40);border-radius:18px;padding:24px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 40px #0006}.athlete-shell .ap-session-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.athlete-shell .ap-session-edit-header h3{font-size:16px;font-weight:600;color:var(--dk-text);margin:0}.athlete-shell .ap-session-edit-close{background:none;border:none;font-size:22px;color:var(--dk-muted);cursor:pointer;padding:0 4px;line-height:1}.athlete-shell .ap-session-edit-close:hover{color:var(--dk-text)}.athlete-shell .ap-session-edit-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.athlete-shell .ap-session-edit-role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:6px;background:#ffffff0f;color:var(--dk-text-secondary)}.athlete-shell .ap-session-edit-role.key{color:#e6a03c;background:#e6a03c1a}.athlete-shell .ap-session-edit-role.support{color:#5b9bd5;background:#5b9bd51a}.athlete-shell .ap-session-edit-role.long{color:#9b6bc7;background:#9b6bc71a}.athlete-shell .ap-session-edit-discipline{font-size:11px;color:var(--dk-muted);text-transform:capitalize}.athlete-shell .ap-session-edit-dose{font-size:11px;color:var(--dk-text-secondary)}.athlete-shell .ap-session-edit-obj{font-size:12px;color:var(--dk-text-secondary);line-height:1.45;margin:0 0 14px}.athlete-shell .ap-session-edit-coach-note{background:#ffffff08;border:1px solid var(--dk-border);border-radius:10px;padding:10px 14px;margin-bottom:14px}.athlete-shell .ap-session-edit-coach-note p{font-size:12px;color:var(--dk-text-secondary);margin:4px 0 0;line-height:1.45}.athlete-shell .ap-session-edit-fields{display:grid;gap:14px;margin-bottom:18px}.athlete-shell .ap-session-edit-field{display:grid;gap:4px}.athlete-shell .ap-session-edit-field-label{font-size:11px;font-weight:600;color:var(--dk-muted);text-transform:uppercase;letter-spacing:.04em}.athlete-shell .ap-session-edit-field input,.athlete-shell .ap-session-edit-field textarea{background:var(--dk-bg, #0e1b20);border:1px solid var(--dk-border, #2a3a40);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--dk-text);font-family:inherit;transition:border-color .15s}.athlete-shell .ap-session-edit-field input:focus,.athlete-shell .ap-session-edit-field textarea:focus{outline:none;border-color:var(--dk-accent, #d26a36)}.athlete-shell .ap-session-edit-field textarea{resize:vertical;min-height:60px}.athlete-shell .ap-session-edit-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.athlete-shell .ap-session-edit-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.athlete-shell .ap-session-edit-actions-right{display:flex;gap:10px}.athlete-shell .ap-session-edit-delete{background:none;border:1px solid rgba(220,60,60,.3);border-radius:10px;padding:8px 14px;font-size:12px;font-weight:600;color:#dc3c3c;cursor:pointer;transition:background .15s,border-color .15s}.athlete-shell .ap-session-edit-delete:hover{background:#dc3c3c1a;border-color:#dc3c3c80}.athlete-shell .ap-session-edit-delete:disabled{opacity:.5;cursor:not-allowed}.athlete-shell .ap-session-edit-garmin{background:none;border:1px solid rgba(0,150,200,.35);border-radius:10px;padding:8px 14px;font-size:12px;font-weight:500;color:#00a0d0;cursor:pointer;transition:background .15s,border-color .15s}.athlete-shell .ap-session-edit-garmin:hover{background:#0096c81a;border-color:#0096c88c}.athlete-shell .ap-session-edit-garmin:disabled{opacity:.5;cursor:not-allowed}.athlete-shell .ap-session-edit-garmin.success{color:#4fb46b;border-color:#4fb46b66}.athlete-shell .ap-session-edit-garmin.error{color:#dc3c3c;border-color:#dc3c3c66}.athlete-shell .ap-week-cal-empty{flex:1;display:flex;align-items:center;justify-content:center;min-height:40px}@media(max-width:768px){.athlete-shell .ap-week-cal-grid{grid-template-columns:1fr;gap:6px}.athlete-shell .ap-week-cal-day{flex-direction:row;min-height:auto}.athlete-shell .ap-week-cal-day-head{flex-direction:column;padding:8px;min-width:50px}.athlete-shell .ap-week-cal-sessions{flex-direction:row;flex-wrap:wrap;padding:6px}}.athlete-shell .ap-load-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.athlete-shell .ap-load-kpi{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:20px;padding:20px;display:grid;gap:6px}.athlete-shell .ap-load-kpi .ap-big-number{font-size:1.8rem}.athlete-shell .ap-load-distances{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.athlete-shell .ap-load-distance{background:var(--dk-card-inset);border:1px solid var(--dk-border);border-radius:16px;padding:14px 16px;display:grid;gap:4px}.athlete-shell .ap-load-distance strong{font-family:Space Grotesk,sans-serif;font-size:1.1rem;color:var(--dk-text)}.athlete-shell .ap-load-bars{display:grid;gap:14px}.athlete-shell .ap-load-bar-row{display:grid;gap:8px}.athlete-shell .ap-load-bar-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.athlete-shell .ap-load-bar-head span{color:var(--dk-text-secondary);font-size:.88rem}.athlete-shell .ap-load-bar-head strong{font-family:Space Grotesk,sans-serif;font-size:.95rem;color:var(--dk-text)}.athlete-shell .ap-load-bar-track{height:8px;border-radius:999px;background:#ffffff0d;overflow:hidden}.athlete-shell .ap-load-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.athlete-shell .ap-latest-main{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.athlete-shell .ap-latest-card{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:22px;padding:24px;display:grid;gap:10px}.athlete-shell .ap-latest-card.featured{grid-column:1 / -1;background:radial-gradient(circle at top right,rgba(232,147,90,.08),transparent 34%),var(--dk-card)}.athlete-shell .ap-latest-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.athlete-shell .ap-sport-pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--dk-border-accent);color:var(--dk-text-secondary)}.athlete-shell .ap-sport-pill.run{border-color:#e8935a4d;color:var(--dk-orange)}.athlete-shell .ap-sport-pill.ride{border-color:#4fb46b4d;color:var(--dk-green)}.athlete-shell .ap-sport-pill.swim{border-color:#5a9cf54d;color:var(--dk-blue)}.athlete-shell .ap-latest-type{font-family:Space Grotesk,sans-serif;font-size:1.25rem;font-weight:700;color:var(--dk-text)}.athlete-shell .ap-latest-feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.athlete-shell .ap-latest-feed-item{background:var(--dk-card-inset);border:1px solid var(--dk-border);border-radius:16px;padding:14px 16px;display:grid;gap:4px}.athlete-shell .ap-trends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.athlete-shell .ap-trend-card{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:6px}.athlete-shell .ap-trend-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.athlete-shell .ap-trend-top strong{font-family:Space Grotesk,sans-serif;font-size:1.3rem;font-weight:700}.athlete-shell .ap-trend-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.athlete-shell .ap-perf-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:20px}.athlete-shell .ap-perf-featured{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:24px;padding:28px;display:grid;gap:10px;align-content:end;min-height:220px;background:radial-gradient(circle at top left,rgba(255,255,255,.03),transparent 30%),var(--dk-card)}.athlete-shell .ap-perf-featured .ap-big-number{font-size:2.2rem}.athlete-shell .ap-perf-secondary{display:grid;gap:12px}.athlete-shell .ap-perf-secondary-card{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:20px;padding:18px 20px;display:grid;gap:6px}.athlete-shell .ap-perf-disciplines{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.athlete-shell .ap-perf-discipline-card{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:22px;padding:22px;display:grid;gap:12px}.athlete-shell .ap-perf-discipline-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.athlete-shell .ap-perf-discipline-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.athlete-shell .ap-perf-discipline-kpi{background:var(--dk-card-inset);border:1px solid var(--dk-border);border-radius:14px;padding:12px;display:grid;gap:4px}.athlete-shell .ap-perf-discipline-kpi small{color:var(--dk-muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.athlete-shell .ap-perf-discipline-kpi strong{font-size:1.02rem}.athlete-shell .ap-perf-note{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:20px;padding:20px;display:grid;gap:6px}.athlete-shell .ap-discipline-switch{display:flex;gap:8px;flex-wrap:wrap}.athlete-shell .ap-discipline-pill{appearance:none;border:1px solid var(--dk-border-accent);background:var(--dk-card);color:var(--dk-muted);border-radius:999px;padding:8px 14px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .15s ease}.athlete-shell .ap-discipline-pill:hover{background:var(--dk-card-hover);color:var(--dk-text-secondary)}.athlete-shell .ap-discipline-pill.active{background:#ffffff1f;color:var(--dk-text);border-color:#fff3}.athlete-shell .ap-lactate-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.athlete-shell .ap-lactate-chart-wrap{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:22px;padding:22px;display:grid;gap:12px}.athlete-shell .ap-lactate-chart{height:280px}.athlete-shell .ap-lactate-legend{display:flex;gap:16px;flex-wrap:wrap}.athlete-shell .ap-lactate-legend span{display:flex;align-items:center;gap:6px;color:var(--dk-text-secondary);font-size:.76rem;font-weight:600}.athlete-shell .ap-lactate-legend i{width:12px;height:3px;border-radius:2px;display:inline-block}.athlete-shell .ap-lactate-legend i.lactate{background:#2740c7}.athlete-shell .ap-lactate-legend i.adjusted{background:#d84f3f}.athlete-shell .ap-lactate-legend i.lt1{background:#3156d3}.athlete-shell .ap-lactate-legend i.lt2{background:#d26a36}.athlete-shell .ap-lactate-insights{display:grid;gap:12px}.athlete-shell .ap-lactate-insight{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:20px;padding:18px 20px;display:grid;gap:6px;border-left:3px solid var(--dk-border-accent)}.athlete-shell .ap-lactate-insight.lt1{border-left-color:#3156d3}.athlete-shell .ap-lactate-insight.lt2{border-left-color:#d26a36}.athlete-shell .ap-lactate-insight.peak{border-left-color:var(--dk-red)}.athlete-shell .ap-lactate-insight.narrative{border-left-color:var(--dk-purple)}.athlete-shell .lf-carousel{margin-top:16px}.athlete-shell .lf-card{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:18px;padding:20px 22px;cursor:pointer;transition:border-color .2s,box-shadow .2s;-webkit-user-select:none;user-select:none}.athlete-shell .lf-card:hover{border-color:var(--dk-border-accent);box-shadow:0 2px 12px #00000026}.athlete-shell .lf-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.athlete-shell .lf-category{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.athlete-shell .lf-counter{font-size:11px;color:var(--dk-muted);font-variant-numeric:tabular-nums}.athlete-shell .lf-title{font-size:15px;font-weight:600;color:var(--dk-text);margin:0 0 6px;line-height:1.35}.athlete-shell .lf-body{font-size:13px;line-height:1.55;color:var(--dk-text-secondary, #b0b8bf);margin:0 0 8px}.athlete-shell .lf-source{display:block;font-size:11px;color:var(--dk-muted);font-style:italic}.athlete-shell .lf-hint{font-size:12px;color:var(--dk-muted);margin:0;opacity:.7}.athlete-shell .lf-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.athlete-shell .lf-nav-btn{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:18px;color:var(--dk-text);cursor:pointer;transition:background .15s,border-color .15s;line-height:1}.athlete-shell .lf-nav-btn:hover{background:var(--dk-border);border-color:var(--dk-border-accent)}.athlete-shell .lf-dots{display:flex;align-items:center;gap:6px}.athlete-shell .lf-dot{width:7px;height:7px;border-radius:50%;background:var(--dk-border);cursor:pointer;transition:background .15s,transform .15s}.athlete-shell .lf-dot.active{background:var(--dk-accent, #d26a36);transform:scale(1.3)}.athlete-shell .lf-dot-more{font-size:10px;color:var(--dk-muted)}.athlete-shell .ap-lactate-chart-empty{display:grid;place-items:center;min-height:200px;color:var(--dk-muted);font-size:.88rem}.athlete-shell .ap-advanced{padding:0;background:transparent;border:none;box-shadow:none}.athlete-shell .ap-advanced-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 32px;border-radius:28px;background:var(--dk-surface);border:1px solid var(--dk-border);cursor:pointer;list-style:none;box-shadow:var(--dk-shadow-soft)}.athlete-shell .ap-advanced-toggle::-webkit-details-marker{display:none}.athlete-shell .ap-advanced-toggle::marker{display:none}.athlete-shell .ap-advanced-toggle:after{content:"▸";color:var(--dk-muted);font-size:1rem;transition:transform .2s ease}.athlete-shell .ap-advanced[open] .ap-advanced-toggle:after{transform:rotate(90deg)}.athlete-shell .ap-advanced-content{display:grid;gap:16px;margin-top:16px;padding:32px;border-radius:28px;background:var(--dk-surface);border:1px solid var(--dk-border);box-shadow:var(--dk-shadow-soft)}.athlete-shell .ap-garmin-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:14px}.athlete-shell .ap-garmin-list{display:grid;gap:10px}.athlete-shell .ap-garmin-activity-btn{appearance:none;display:grid;gap:6px;text-align:left;padding:14px 16px;border-radius:18px;border:1px solid var(--dk-border);background:var(--dk-card);color:var(--dk-text);cursor:pointer;transition:all .15s ease}.athlete-shell .ap-garmin-activity-btn:hover{background:var(--dk-card-hover);border-color:#e8935a33}.athlete-shell .ap-garmin-activity-btn.active{border-color:#4fb46b40;background:radial-gradient(circle at top right,rgba(79,180,107,.06),transparent 34%),var(--dk-card)}.athlete-shell .ap-garmin-activity-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.athlete-shell .ap-garmin-detail{display:grid;gap:14px}.athlete-shell .ap-garmin-hero{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:22px;padding:20px;display:grid;gap:12px}.athlete-shell .ap-garmin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.athlete-shell .ap-garmin-kpi{background:var(--dk-card-inset);border:1px solid var(--dk-border);border-radius:14px;padding:12px;display:grid;gap:4px}.athlete-shell .ap-garmin-kpi small{color:var(--dk-muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.athlete-shell .ap-garmin-kpi strong{font-size:1rem}.athlete-shell .ap-garmin-params{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.athlete-shell .ap-garmin-param{background:var(--dk-card-inset);border:1px solid var(--dk-border);border-radius:14px;padding:12px 14px;display:grid;gap:4px}.athlete-shell .ap-garmin-param strong{font-size:.92rem;line-height:1.3}.athlete-shell .ap-garmin-json{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:22px;padding:20px;display:grid;gap:10px}.athlete-shell .ap-garmin-json pre{margin:0;max-height:400px;overflow:auto;padding:16px;border-radius:16px;background:#0a0c0e;color:#b8d4e0;font-size:.8rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.athlete-shell .ap-garmin-login{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px;border-radius:22px;background:var(--dk-card);border:1px solid var(--dk-border)}.athlete-shell .ap-garmin-login label{display:grid;gap:6px}.athlete-shell .ap-garmin-login input{padding:12px 14px;border:1px solid var(--dk-border-accent);border-radius:14px;background:var(--dk-card-inset);color:var(--dk-text);font:inherit}.athlete-shell .ap-roadmap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.athlete-shell .ap-roadmap-card{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:22px;padding:22px;display:grid;gap:8px}.athlete-shell .ap-roadmap-card.block-card{background:radial-gradient(circle at top right,rgba(79,180,107,.06),transparent 34%),var(--dk-card);border-left:3px solid var(--dk-green)}.athlete-shell .ap-roadmap-card.target-card{background:radial-gradient(circle at top right,rgba(232,147,90,.06),transparent 34%),var(--dk-card);border-left:3px solid var(--dk-orange)}.athlete-shell .ap-roadmap-card.sync-card{background:radial-gradient(circle at top right,rgba(90,156,245,.06),transparent 34%),var(--dk-card)}.athlete-shell .ap-roadmap-card.signal-card{background:var(--dk-card-inset);border-left:3px solid var(--dk-muted)}.athlete-shell .ap-roadmap-targets-list{display:grid;gap:12px;margin-top:16px}.athlete-shell .ap-roadmap-target{background:var(--dk-card-inset);border:1px solid var(--dk-border);border-radius:18px;padding:16px 18px;display:grid;gap:4px}.athlete-shell .ap-roadmap-sync-providers{display:flex;gap:8px;flex-wrap:wrap}.athlete-shell .ap-roadmap-sync-provider{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:700;background:var(--dk-card-inset);border:1px solid var(--dk-border);color:var(--dk-muted)}.athlete-shell .ap-roadmap-sync-provider.connected{background:#4fb46b24;border-color:#4fb46b38;color:var(--dk-green)}.athlete-shell .ap-night-card{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:22px;padding:22px 24px;display:flex;flex-direction:column;gap:16px}.athlete-shell .ap-night-header{display:flex;align-items:baseline;gap:24px}.athlete-shell .ap-night-header span{display:flex;flex-direction:column;gap:2px}.athlete-shell .ap-night-header small{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dk-muted)}.athlete-shell .ap-night-header strong{font-family:Space Grotesk,sans-serif;font-size:.95rem;color:var(--dk-text)}.athlete-shell .ap-stage-timeline{position:relative;min-height:92px}.athlete-shell .ap-stage-row{position:relative;height:20px;margin-bottom:3px;margin-left:70px;border-radius:4px;background:#ffffff05}.athlete-shell .ap-stage-label{position:absolute;left:-70px;top:50%;transform:translateY(-50%);font-size:.65rem;font-weight:500;color:var(--dk-muted);width:62px;text-align:right}.athlete-shell .ap-stage-segment{position:absolute;border-radius:3px;min-width:3px}.athlete-shell .ap-stage-segment.awake{background:#ffffff1a}.athlete-shell .ap-stage-segment.rem{background:#9180d48c}.athlete-shell .ap-stage-segment.light{background:#9180d440}.athlete-shell .ap-stage-segment.deep{background:var(--dk-purple)}.athlete-shell .ap-stage-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.athlete-shell .ap-stage-chip{background:var(--dk-card-inset);border:1px solid var(--dk-border);border-radius:12px;padding:10px 12px;text-align:center}.athlete-shell .ap-stage-chip strong{font-size:.85rem;display:block}.athlete-shell .ap-stage-chip small{font-size:.65rem;color:var(--dk-muted)}.athlete-shell .ap-stage-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;vertical-align:middle}.athlete-shell .ap-stage-dot.deep{background:var(--dk-purple)}.athlete-shell .ap-stage-dot.light{background:#9180d459}.athlete-shell .ap-stage-dot.rem{background:#9180d499}.athlete-shell .ap-stage-dot.awake{background:#ffffff26}.athlete-shell .ap-empty{min-height:120px;display:grid;place-items:center;text-align:center;padding:24px;border-radius:22px;background:#ffffff05;color:var(--dk-muted);font-weight:600}.athlete-shell .ap-block .recharts-cartesian-grid line{stroke:#ffffff0d}.athlete-shell .ap-block .recharts-cartesian-axis-tick-value{fill:var(--dk-muted)!important;font-size:.72rem}.athlete-shell .ap-tooltip{display:grid;gap:4px;padding:10px 14px;border-radius:14px;background:#080a0ef0;border:1px solid var(--dk-border-accent);color:var(--dk-text);box-shadow:0 8px 24px #0006}.athlete-shell .ap-tooltip strong{font-family:Space Grotesk,sans-serif;font-size:.92rem}.athlete-shell .ap-hero-actions{display:flex;align-items:center;gap:12px;margin-top:8px}.athlete-shell .ap-provider-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;background:#4fb46b1f;color:var(--dk-green);font-size:.72rem;font-weight:600}.athlete-shell .ap-refresh-btn{padding:6px 16px;border-radius:14px;border:1px solid var(--dk-border-accent);background:transparent;color:var(--dk-text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s}.athlete-shell .ap-refresh-btn:hover{background:#ffffff0a}.athlete-shell .ap-refresh-btn:disabled{opacity:.4;cursor:not-allowed}.athlete-shell .ap-status-msg{color:var(--dk-muted);font-size:.78rem;margin-top:4px}.athlete-shell .ap-discipline-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.athlete-shell .ap-session-goal{color:var(--dk-muted);font-size:.78rem;font-style:italic;margin-top:4px}.athlete-shell .ap-feed-item-copy{display:grid;gap:2px}.athlete-shell .ap-feed-item-copy strong{font-size:.88rem;color:var(--dk-text)}.athlete-shell .ap-feed-item-copy span{font-size:.78rem;color:var(--dk-text-secondary)}.athlete-shell .ap-feed-item-copy small{font-size:.72rem;color:var(--dk-muted)}.athlete-shell .ap-feed-item-copy p{font-size:.75rem;color:var(--dk-muted);margin:0}.athlete-shell .ap-prediction-card{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:20px;padding:20px;display:grid;gap:6px}.athlete-shell .ap-prediction-card.featured{border-left:3px solid var(--dk-green)}.athlete-shell .ap-prediction-card.empty{border-left-color:var(--dk-muted)}.athlete-shell .ap-prediction-meta{display:flex;gap:12px;font-size:.72rem;color:var(--dk-muted);margin-top:4px}.athlete-shell .ap-discipline-chart{margin-top:12px;min-height:150px}.athlete-shell .ap-lactate-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}.athlete-shell .ap-chart-head{display:grid;gap:4px;margin-bottom:12px}.athlete-shell .ap-garmin-actions{display:flex;gap:10px;flex-wrap:wrap}.athlete-shell .ap-garmin-login-card{display:grid;gap:12px;margin-top:12px;padding:16px;background:var(--dk-card-inset);border-radius:16px}.athlete-shell .ap-garmin-login-card label{display:grid;gap:4px}.athlete-shell .ap-garmin-login-card input{padding:8px 12px;border-radius:10px;border:1px solid var(--dk-border-accent);background:var(--dk-bg);color:var(--dk-text);font-size:.85rem}.athlete-shell .ap-garmin-login-actions{display:flex;gap:10px;margin-top:4px}.athlete-shell .ap-extended-health{display:grid;gap:16px;margin-top:16px}.athlete-shell .ap-health-days-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.athlete-shell .ap-health-day-card{background:var(--dk-card-inset);border-radius:14px;padding:12px;display:grid;gap:6px}.athlete-shell .ap-health-day-card strong{font-size:.82rem}.athlete-shell .ap-health-day-metrics{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.72rem;color:var(--dk-text-secondary)}.athlete-shell .ap-performance-metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.athlete-shell .ap-perf-metric-card{background:var(--dk-card-inset);border-radius:14px;padding:14px;display:grid;gap:4px}.athlete-shell .ap-roadmap-meta{display:flex;gap:12px;font-size:.72rem;color:var(--dk-muted);margin-top:6px}.athlete-shell .ap-target-splits{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:8px;font-size:.82rem;color:var(--dk-text-secondary)}.athlete-shell .ap-target-splits strong{color:var(--dk-text);margin-right:6px}.athlete-shell .ap-target-date{font-size:.72rem;color:var(--dk-muted);font-weight:600}.athlete-shell .ap-coach-signals{display:grid;gap:8px;margin-top:12px}.athlete-shell .ap-signal-item{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:var(--dk-card-inset);border-radius:12px}.athlete-shell .ap-signal-item span:first-child{width:6px;height:6px;border-radius:50%;background:var(--dk-orange);margin-top:6px;flex-shrink:0}.athlete-shell .ap-sync-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.athlete-shell .ap-sync-note{display:block;margin-top:8px;font-size:.75rem;color:var(--dk-muted)}.ap-drawer-backdrop{position:fixed;inset:0;z-index:900;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;animation:ap-fade-in .18s ease-out}@keyframes ap-fade-in{0%{opacity:0}to{opacity:1}}.ap-drawer{width:100%;max-width:520px;max-height:85vh;background:var(--dk-surface);border:1px solid var(--dk-border);border-radius:24px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;animation:ap-modal-in .22s ease-out;overflow:hidden}@keyframes ap-modal-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.ap-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--dk-border);flex-shrink:0}.ap-drawer-header h2{font-family:Plus Jakarta Sans,sans-serif;font-size:1.05rem;font-weight:700;color:var(--dk-text);margin:0}.ap-drawer-close{width:32px;height:32px;border-radius:10px;border:1px solid var(--dk-border);background:transparent;color:var(--dk-muted);font-size:.9rem;cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s}.ap-drawer-close:hover{background:#ffffff0f;color:var(--dk-text)}.ap-drawer-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.ap-drawer-section{display:flex;flex-direction:column;gap:10px}.ap-drawer-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dk-muted)}.ap-drawer-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ap-drawer-kpi{background:var(--dk-card-inset);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:2px}.ap-drawer-kpi small{font-size:.7rem;color:var(--dk-muted);font-weight:600}.ap-drawer-kpi strong{font-family:Space Grotesk,sans-serif;font-size:1.15rem;font-weight:700;color:var(--dk-text)}.ap-drawer-chart{background:var(--dk-card-inset);border-radius:16px;padding:16px 12px;min-height:180px}.ap-drawer-relations{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ap-drawer-relation{background:var(--dk-card-inset);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}.ap-drawer-relation small{font-size:.68rem;color:var(--dk-muted);font-weight:600}.ap-drawer-relation strong{font-size:.85rem;color:var(--dk-text-secondary)}.athlete-shell .ap-vital-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.athlete-shell .ap-vital-chip{background:var(--dk-card);border:1px solid var(--dk-border);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s;text-align:left}.athlete-shell .ap-vital-chip:hover{background:var(--dk-card-hover);border-color:var(--dk-border-accent);transform:translateY(-1px)}.athlete-shell .ap-vital-chip .ap-vital-chip-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dk-muted)}.athlete-shell .ap-vital-chip .ap-vital-chip-value{font-family:Space Grotesk,sans-serif;font-size:1.35rem;font-weight:700;color:var(--dk-text);line-height:1.1}.athlete-shell .ap-vital-chip .ap-vital-chip-status{font-size:.72rem;font-weight:600}.athlete-shell .ap-vital-chip .ap-vital-chip-status.green{color:var(--dk-green)}.athlete-shell .ap-vital-chip .ap-vital-chip-status.orange{color:var(--dk-orange)}.athlete-shell .ap-vital-chip .ap-vital-chip-status.blue{color:var(--dk-blue)}.athlete-shell .ap-vital-chip .ap-vital-chip-status.purple{color:var(--dk-purple)}.athlete-shell .ap-vital-chip .ap-vital-chip-status.red{color:var(--dk-red)}.athlete-shell .ap-vital-chip .ap-vital-chip-status.neutral{color:var(--dk-text-secondary)}.athlete-shell .ap-vital-chip .ap-vital-chip-delta{font-size:.68rem;color:var(--dk-muted)}.athlete-shell .ap-sleep-card-head,.athlete-shell .ap-hrv-card-head,.athlete-shell .ap-card-icon-head{display:flex;align-items:center;gap:6px;color:var(--dk-text-secondary)}.athlete-shell .ap-sleep-card-head svg,.athlete-shell .ap-hrv-card-head svg,.athlete-shell .ap-card-icon-head svg{opacity:.5;flex-shrink:0}.athlete-shell .ap-sleep-time-range{font-size:.7rem;color:var(--dk-muted)}.athlete-shell .ap-hypnogram-wrap{width:100%;border-radius:6px;overflow:hidden;background:#ffffff05}.athlete-shell .ap-sleep-comp{width:100%;margin-top:4px}.athlete-shell .ap-sleep-comp-bar{display:flex;height:4px;border-radius:2px;overflow:hidden;gap:1px}.athlete-shell .ap-sleep-comp-seg{min-width:2px;border-radius:1px}.athlete-shell .ap-sleep-comp-labels{display:flex;justify-content:space-between;margin-top:3px}.athlete-shell .ap-sleep-comp-lbl{font-size:.58rem;font-weight:600;letter-spacing:.02em;opacity:.85}.athlete-shell .ap-hrv-value-row{display:flex;align-items:baseline}.athlete-shell .ap-hrv-unit{font-size:.7rem;font-weight:500;color:var(--dk-text-secondary);margin-left:2px}.athlete-shell .ap-hrv-status{font-size:.72rem;font-weight:600;display:flex;align-items:center;gap:4px}.athlete-shell .ap-hrv-status.good,.athlete-shell .ap-hrv-status.high{color:#4fb46b}.athlete-shell .ap-hrv-status.neutral{color:var(--dk-text-secondary)}.athlete-shell .ap-hrv-status.warning{color:#e6a03c}.athlete-shell .ap-hrv-status.alert{color:#dc5046}.athlete-shell .ap-hrv-spark{width:100%}.athlete-shell .ap-rhr-card .ap-card-icon-head svg{color:#dc5046;opacity:.6}.athlete-shell .ap-stress-card .ap-card-icon-head svg{color:#e6a03c;opacity:.6}.ap-range-pills{display:inline-flex;gap:2px;background:var(--dk-card-inset);border-radius:12px;padding:3px}.ap-range-pill{padding:5px 14px;border-radius:10px;border:none;background:transparent;color:var(--dk-muted);font-size:.72rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.ap-range-pill:hover{color:var(--dk-text-secondary)}.ap-range-pill.active{background:var(--dk-card);color:var(--dk-text);box-shadow:0 1px 4px #0003}.athlete-shell .ap-view-toggle{display:inline-flex;gap:2px;background:var(--dk-card-inset);border:1px solid var(--dk-border);border-radius:14px;padding:3px;align-self:flex-end}.athlete-shell .ap-view-btn{padding:6px 18px;border-radius:11px;border:none;background:transparent;color:var(--dk-muted);font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.athlete-shell .ap-view-btn:hover{color:var(--dk-text-secondary)}.athlete-shell .ap-view-btn.active{background:var(--dk-card);color:var(--dk-text);box-shadow:0 1px 4px #0003}.ap-why-wrap{position:relative;display:inline-flex}.ap-why-btn{padding:2px 10px;border-radius:8px;border:1px solid var(--dk-border);background:transparent;color:var(--dk-muted);font-size:.65rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.ap-why-btn:hover{background:#ffffff0a;color:var(--dk-text-secondary)}.ap-why-popover{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:260px;padding:12px 14px;background:var(--dk-card);border:1px solid var(--dk-border-accent);border-radius:14px;box-shadow:0 8px 24px #0006;z-index:50;animation:ap-fade-in .12s ease-out}.ap-why-popover p{margin:0;font-size:.78rem;color:var(--dk-text-secondary);line-height:1.45}.athlete-shell .ap-insight{border-radius:14px;padding:14px 16px;border-left:3px solid var(--dk-border-accent)}.athlete-shell .ap-insight.info{background:#5a9cf50f;border-left-color:var(--dk-blue)}.athlete-shell .ap-insight.warning{background:#e8935a0f;border-left-color:var(--dk-orange)}.athlete-shell .ap-insight.positive{background:#4fb46b0f;border-left-color:var(--dk-green)}.athlete-shell .ap-insight p{margin:0;font-size:.82rem;color:var(--dk-text-secondary);line-height:1.5}.athlete-shell .ap-hero-subtitle{font-size:.82rem;color:var(--dk-muted)}.ap-sleep-comp-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--dk-card-inset)}.ap-sleep-comp-segment{height:100%;transition:width .3s ease}.ap-sleep-comp-segment.deep{background:var(--dk-purple)}.ap-sleep-comp-segment.rem{background:#9180d48c}.ap-sleep-comp-segment.light{background:#9180d440}.ap-sleep-comp-segment.awake{background:#ffffff1a}.ap-sleep-comp-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}.ap-sleep-comp-legend span{display:flex;align-items:center;gap:5px;font-size:.7rem;color:var(--dk-text-secondary)}.ap-sleep-comp-legend i{width:8px;height:8px;border-radius:3px;display:inline-block}.ap-sleep-comp-legend i.deep{background:var(--dk-purple)}.ap-sleep-comp-legend i.rem{background:#9180d48c}.ap-sleep-comp-legend i.light{background:#9180d440}.ap-sleep-comp-legend i.awake{background:#ffffff1a}.athlete-shell .ap-balance-bar-wrap{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--dk-card);border:1px solid var(--dk-border);border-radius:18px}.athlete-shell .ap-balance-bar-labels{display:flex;justify-content:space-between;font-size:.68rem;color:var(--dk-muted);font-weight:600}.athlete-shell .ap-balance-bar-track{position:relative;height:8px;border-radius:4px;background:linear-gradient(to right,#5a9cf533,#4fb46b4d 35%,#4fb46b66 50%,#e8935a4d 70%,#e85a5a33)}.athlete-shell .ap-balance-bar-marker{position:absolute;top:-4px;width:16px;height:16px;border-radius:50%;background:var(--dk-text);border:2px solid var(--dk-surface);box-shadow:0 2px 6px #0000004d;transform:translate(-50%);transition:left .3s ease}.athlete-shell .ap-balance-bar-label{text-align:center;font-size:.78rem;font-weight:600;color:var(--dk-text-secondary)}.athlete-shell .ap-recovery-metric-selector{display:flex;gap:2px;background:var(--dk-card-inset);border-radius:12px;padding:3px;flex-wrap:wrap}.athlete-shell .ap-recovery-metric-btn{padding:6px 14px;border-radius:10px;border:none;background:transparent;color:var(--dk-muted);font-size:.75rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.athlete-shell .ap-recovery-metric-btn:hover{color:var(--dk-text-secondary)}.athlete-shell .ap-recovery-metric-btn.active{background:var(--dk-card);color:var(--dk-text);box-shadow:0 1px 4px #0003}.athlete-shell .ap-recovery-main-chart{background:var(--dk-card-inset);border-radius:18px;padding:16px 12px;min-height:220px}@media(max-width:1180px){.athlete-shell .ap-hero-vitals{grid-template-columns:repeat(3,1fr)}.athlete-shell .ap-vital-chips,.athlete-shell .ap-load-kpis{grid-template-columns:repeat(2,1fr)}.athlete-shell .ap-lactate-grid,.athlete-shell .ap-perf-grid,.athlete-shell .ap-garmin-grid{grid-template-columns:1fr}}@media(max-width:768px){.athlete-shell .ap-dashboard{padding:16px;gap:16px}.athlete-shell .ap-block{padding:20px;border-radius:22px}.athlete-shell .ap-hero{padding:24px 20px}.athlete-shell .ap-hero-center .ap-hero-name{font-size:2rem}.athlete-shell .ap-hero-vitals,.athlete-shell .ap-load-kpis{grid-template-columns:repeat(2,1fr)}.athlete-shell .ap-load-distances,.athlete-shell .ap-latest-main,.athlete-shell .ap-trends-grid,.athlete-shell .ap-perf-disciplines{grid-template-columns:1fr}.athlete-shell .ap-garmin-kpis{grid-template-columns:repeat(2,1fr)}.athlete-shell .ap-garmin-params,.athlete-shell .ap-garmin-login{grid-template-columns:1fr}.athlete-shell .ap-stage-chips{grid-template-columns:repeat(2,1fr)}.athlete-shell .ap-roadmap-grid{grid-template-columns:1fr}.athlete-shell .ap-vital-chips{grid-template-columns:1fr 1fr}.ap-drawer{max-width:100%!important;max-height:95vh;border-radius:16px}.ap-drawer-backdrop{padding:12px}.ap-drawer-kpis{grid-template-columns:1fr 1fr}}.athlete-shell .ap-pbs{padding:20px 22px}.athlete-shell .ap-pbs-grid{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}.athlete-shell .ap-pb-card{flex:1;min-width:120px;padding:14px 16px;border-radius:12px;background:var(--dk-surface);border:1px solid var(--dk-border);display:flex;flex-direction:column;gap:2px}.athlete-shell .ap-pb-category{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dk-text-secondary);font-weight:600}.athlete-shell .ap-pb-value{font-family:Space Grotesk,sans-serif;font-size:1.2rem;color:var(--dk-text)}.athlete-shell .ap-pb-detail{font-size:.74rem;color:var(--dk-muted)}.athlete-shell .ap-pb-date{font-size:.66rem;color:var(--dk-muted);opacity:.7}.athlete-shell .ap-predictions{padding:20px 22px}.athlete-shell .ap-predictions-grid{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}.athlete-shell .ap-pred-card{flex:1;min-width:110px;padding:14px 16px;border-radius:12px;background:var(--dk-surface);border:1px solid var(--dk-border);display:flex;flex-direction:column;gap:3px}.athlete-shell .ap-pred-type{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dk-text-secondary);font-weight:600}.athlete-shell .ap-pred-value{font-family:Space Grotesk,sans-serif;font-size:1.2rem;color:var(--dk-text)}.athlete-shell .ap-pred-range{font-size:.68rem;color:var(--dk-muted)}.athlete-shell .ap-pred-conf{font-size:.64rem;font-weight:600;margin-top:2px}.athlete-shell .ap-pred-conf.high{color:#4fb46b}.athlete-shell .ap-pred-conf.mid{color:#e6a03c}.athlete-shell .ap-pred-conf.low{color:#e6707a}.cd-shell{padding:0;display:flex;flex-direction:column;gap:0;min-height:0}.cd-loading{text-align:center;padding:80px 24px;color:var(--muted);font-size:.95rem}.cd-command-bar{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.cd-command-left{display:flex;align-items:center;gap:10px;flex-shrink:0}.cd-roster-count{font-weight:700;font-size:.9rem;color:var(--primary);letter-spacing:-.02em}.cd-alert-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:700;border:none;cursor:pointer;transition:opacity .15s}.cd-alert-badge:hover{opacity:.85}.cd-alert-red{background:#ef444426;color:#ef4444}.cd-alert-orange{background:#f9731626;color:#f97316}.cd-command-filters{display:flex;gap:4px;flex:1;justify-content:center;flex-wrap:wrap}.cd-filter-btn{padding:4px 12px;border-radius:14px;font-size:.74rem;font-weight:600;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:all .15s}.cd-filter-btn:hover{background:var(--hover-soft);color:var(--primary)}.cd-filter-active{background:var(--accent);color:#fff;border-color:var(--accent)}.cd-command-right{flex-shrink:0}.cd-compare-btn{padding:5px 14px;border-radius:14px;font-size:.74rem;font-weight:700;background:var(--accent);color:#fff;border:none;cursor:pointer;transition:opacity .15s}.cd-compare-btn:hover{opacity:.85}.cd-alert-banner{padding:8px 20px;background:var(--surface-softer);border-bottom:1px solid var(--border)}.cd-alert-banner-inner{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cd-alert-item{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:12px;font-size:.7rem;font-weight:600;text-decoration:none;transition:opacity .15s}.cd-alert-item:hover{opacity:.8}.cd-alert-item-red{background:#ef44441f;color:#ef4444}.cd-alert-item-orange{background:#f973161f;color:#f97316}.cd-alert-item-yellow{background:#facc151f;color:#ca8a04}.cd-alert-name{font-weight:700}.cd-alert-more{font-size:.7rem;font-weight:600;color:var(--muted);background:none;border:none;cursor:pointer;text-decoration:underline}.cd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;padding:18px 20px 32px}@media(max-width:640px){.cd-grid{grid-template-columns:1fr;padding:12px;gap:10px}}.cd-empty{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--muted);font-size:.9rem}.cd-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s;border-left:3px solid transparent}.cd-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.cd-urgency-red{border-left-color:#ef4444}.cd-urgency-orange{border-left-color:#f97316}.cd-urgency-green{border-left-color:#10b981}.cd-card-header{display:flex;align-items:center;gap:10px;padding:12px 14px 6px}.cd-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;color:#fff;background:linear-gradient(135deg,var(--accent),#b45a2a);flex-shrink:0;letter-spacing:-.02em}.cd-card-header-info{flex:1;min-width:0}.cd-card-name{font-weight:700;font-size:.88rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd-card-name a{color:var(--primary);text-decoration:none}.cd-card-name a:hover{text-decoration:underline}.cd-card-meta{display:flex;align-items:center;gap:6px;margin-top:2px;flex-wrap:wrap}.cd-disc-badge{display:inline-block;padding:1px 7px;border-radius:8px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cd-disc-swim{background:#0ea5e924;color:#0ea5e9}.cd-disc-bike{background:#f59e0b24;color:#f59e0b}.cd-disc-run{background:#22c55e24;color:#22c55e}.cd-target-badge{display:inline-flex;align-items:center;gap:4px;font-size:.64rem;color:var(--muted)}.cd-target-days{font-weight:700;color:var(--primary);font-size:.66rem}.cd-target-urgent{color:#ef4444!important}.cd-compare-toggle{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border-strong);background:transparent;color:var(--muted);font-size:.7rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.cd-compare-toggle:hover{border-color:var(--accent);color:var(--accent)}.cd-compare-active{background:var(--accent);border-color:var(--accent);color:#fff}.cd-card-alerts{display:flex;gap:4px;padding:2px 14px 4px;flex-wrap:wrap}.cd-card-alert{display:inline-block;padding:1px 7px;border-radius:8px;font-size:.6rem;font-weight:700;text-decoration:none;transition:opacity .15s}.cd-card-alert:hover{opacity:.8}.cd-card-alert-red{background:#ef44441f;color:#ef4444}.cd-card-alert-orange{background:#f973161f;color:#f97316}.cd-card-alert-yellow{background:#facc151f;color:#ca8a04}.cd-card-alert-muted{background:var(--surface-softer);color:var(--muted)}.cd-discipline-strip{padding:6px 14px 8px;display:flex;flex-direction:column;gap:2px}.cd-disc-header{display:grid;grid-template-columns:38px 1fr 1fr 1fr 44px 36px;align-items:center;gap:4px;padding:0 8px 2px;font-size:.54rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.cd-disc-col-label,.cd-col-target{text-align:left}.cd-col-conf,.cd-col-recency{text-align:right}.cd-disc-row{display:grid;grid-template-columns:38px 1fr 1fr 1fr 44px 36px;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;background:var(--surface-soft);font-size:.72rem;min-height:28px}.cd-disc-abbrev{font-weight:800;font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.cd-disc-row.cd-disc-swim .cd-disc-abbrev{color:#0ea5e9}.cd-disc-row.cd-disc-bike .cd-disc-abbrev{color:#f59e0b}.cd-disc-row.cd-disc-run .cd-disc-abbrev{color:#22c55e}.cd-disc-value{font-weight:700;font-size:.76rem;letter-spacing:-.02em;display:flex;align-items:center;gap:3px}.cd-disc-lt1{color:#1d9e75}.cd-disc-lt2-val{color:#d85a30}.cd-disc-target{color:#8b5cf6;font-weight:600;font-size:.72rem}.cd-muted{color:var(--muted);font-weight:400}.cd-disc-trend{font-size:.78rem;font-weight:700}.cd-trend-up{color:#10b981}.cd-trend-down{color:#ef4444}.cd-trend-flat{color:var(--muted)}.cd-disc-conf{font-size:.62rem;font-weight:600;text-align:right}.cd-conf-high{color:#10b981}.cd-conf-mid{color:#f59e0b}.cd-conf-low{color:#ef4444}.cd-disc-recency{font-size:.62rem;color:var(--muted);font-weight:600;text-align:right}.cd-disc-stale{color:#f97316;font-weight:700}.cd-compare-lt1{font-size:.64rem;color:#1d9e75;display:block;margin-bottom:1px}.cd-card-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 10px;border-top:1px solid var(--border);gap:8px}.cd-card-block-info{display:flex;align-items:center;gap:6px;font-size:.68rem;min-width:0;overflow:hidden}.cd-block-label{font-weight:700;color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.cd-block-phase{font-weight:600;font-size:.6rem;color:var(--muted);padding:1px 5px;border-radius:6px;background:var(--surface-softer)}.cd-block-eval{font-size:.78rem;font-weight:700}.cd-eval-up{color:#10b981}.cd-eval-down{color:#ef4444}.cd-eval-flat{color:var(--muted)}.cd-block-none{color:var(--muted);font-style:italic;font-size:.68rem}.cd-card-actions{display:flex;gap:4px;flex-shrink:0}.cd-action-btn{padding:3px 10px;border-radius:10px;font-size:.64rem;font-weight:700;background:var(--surface-soft);color:var(--primary);text-decoration:none;border:1px solid var(--border);transition:all .15s;white-space:nowrap}.cd-action-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.cd-compare-drawer{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--panel-strong);border-top:2px solid var(--accent);box-shadow:0 -8px 32px #0000002e;padding:16px 24px 20px;max-height:40vh;overflow-y:auto;animation:cd-drawer-in .25s ease-out}@keyframes cd-drawer-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cd-compare-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cd-compare-header h3{font-size:.95rem;font-weight:700;letter-spacing:-.02em}.cd-compare-close{font-size:.72rem;font-weight:700;color:var(--muted);background:none;border:none;cursor:pointer;text-decoration:underline}.cd-compare-table-wrap{overflow-x:auto}.cd-compare-table{width:100%;border-collapse:collapse;font-size:.74rem}.cd-compare-table th{text-align:left;padding:6px 10px;font-weight:700;color:var(--primary);border-bottom:1px solid var(--border-strong);white-space:nowrap}.cd-compare-table td{padding:8px 10px;border-bottom:1px solid var(--border)}.cd-compare-disc{font-weight:700}.cd-compare-cell{display:flex;align-items:center;gap:6px}.cd-compare-value{font-weight:800;font-size:.82rem;color:var(--primary)}.cd-compare-na{color:var(--muted)}@media(max-width:640px){.cd-command-bar{padding:10px 12px;gap:8px}.cd-command-filters{order:3;flex:0 0 100%;justify-content:flex-start}.cd-card-actions{flex-wrap:wrap}.cd-disc-row{font-size:.66rem;grid-template-columns:32px 1fr 1fr 1fr 40px 32px}.cd-disc-header{grid-template-columns:32px 1fr 1fr 1fr 40px 32px;font-size:.5rem}.cd-disc-value{font-size:.7rem}}@media(min-width:1025px){.cd-grid{grid-template-columns:repeat(3,1fr)}}.ly-sidebar{position:sticky;top:12px;align-self:start;min-height:0;max-height:calc(100vh - 24px);overflow:auto;padding:14px 10px 12px;border:1px solid var(--border);border-radius:18px;background:var(--panel);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:8px;width:100%}.ly-brand{display:flex;align-items:center;gap:10px;padding:0 4px 6px;border-bottom:1px solid var(--border);margin-bottom:2px;text-decoration:none}.ly-brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#b45a2a);color:#fff;display:grid;place-items:center;font-family:Space Grotesk,sans-serif;font-weight:800;font-size:.95rem;letter-spacing:-.04em;flex-shrink:0}.ly-brand-copy{display:grid;gap:1px}.ly-brand-copy strong{font-family:Space Grotesk,sans-serif;font-size:.92rem;letter-spacing:-.04em;line-height:1;color:var(--primary)}.ly-brand-copy p{margin:0;font-size:.62rem;color:var(--muted);line-height:1.2}.ly-nav{display:grid;gap:2px;padding:0}.ly-nav a,.ly-nav-trigger{display:flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:10px;color:var(--muted);font-size:.78rem;font-weight:600;text-decoration:none;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;transition:background .14s ease,color .14s ease}.ly-nav a:hover,.ly-nav-trigger:hover{background:var(--hover-soft);color:var(--primary)}.ly-nav a.active,.ly-nav-trigger.active{background:var(--accent);color:#fff;font-weight:700}.ly-nav-trigger{justify-content:space-between}.ly-nav-group{display:grid;gap:2px}.ly-nav-group-links{display:grid;gap:1px;padding-left:12px}.ly-nav-group-links a{font-size:.72rem;min-height:30px;padding:5px 10px;border-radius:8px}.ly-nav-chevron{font-size:.8rem;transition:transform .16s ease}.ly-nav-chevron.open{transform:rotate(90deg)}.ly-actions{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.ly-logout{width:100%;padding:7px 10px;border-radius:10px;font-size:.74rem;font-weight:600;background:var(--surface-softer);border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:all .15s}.ly-logout:hover{background:var(--hover-soft);color:var(--primary)}.ly-theme-toggle{width:34px;height:34px;align-self:flex-end;border:1px solid var(--border);border-radius:50%;background:var(--surface-softer);color:var(--primary);display:grid;place-items:center;padding:0;cursor:pointer;transition:all .15s;font-size:.82rem}.ly-theme-toggle:hover{background:var(--surface-soft);border-color:var(--border-strong)}.rd-page{display:flex;flex-direction:column;gap:0;min-height:0;padding:0}.rd-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.rd-page-header-left{display:flex;align-items:center;gap:10px}.rd-page-title{font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:800;letter-spacing:-.03em;color:var(--primary);margin:0;line-height:1.1}.rd-page-subtitle{font-size:.72rem;color:var(--muted);font-weight:500;margin:0}.rd-page-header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rd-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.58rem;color:var(--muted);font-weight:700}.rd-btn{padding:5px 14px;border-radius:10px;font-size:.72rem;font-weight:700;border:1px solid var(--border);background:var(--surface-soft);color:var(--primary);cursor:pointer;transition:all .15s;text-decoration:none;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.rd-btn:hover,.rd-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.rd-btn-primary:hover{opacity:.88}.rd-btn-ghost{background:transparent;border-color:var(--border);color:var(--muted)}.rd-btn-ghost:hover{background:var(--hover-soft);color:var(--primary)}.rd-btn-danger{background:#ef44441a;color:#ef4444;border-color:#ef444433}.rd-btn-danger:hover{background:#ef444433}.rd-btn-sm{padding:3px 10px;font-size:.64rem;border-radius:8px}.rd-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}.rd-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.rd-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px 8px}.rd-card-body{padding:8px 14px 12px}.rd-card-footer{padding:8px 14px 10px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.rd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;padding:18px 20px 32px}@media(max-width:640px){.rd-grid{grid-template-columns:1fr;padding:12px;gap:10px}}@media(min-width:1025px){.rd-grid-3{grid-template-columns:repeat(3,1fr)}}.rd-metrics-bar{display:flex;gap:8px;padding:10px 20px;background:var(--surface-softer);border-bottom:1px solid var(--border);flex-wrap:wrap}.rd-metric-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--border);font-size:.68rem}.rd-metric-pill-label{color:var(--muted);font-weight:600}.rd-metric-pill-value{font-weight:800;color:var(--primary);letter-spacing:-.02em}.rd-filter-bar{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.rd-filter-pill{padding:4px 12px;border-radius:14px;font-size:.72rem;font-weight:600;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:all .15s}.rd-filter-pill:hover{background:var(--hover-soft);color:var(--primary)}.rd-filter-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.rd-search-input{padding:6px 12px;border:1px solid var(--border);border-radius:10px;background:var(--field-bg);color:var(--primary);font-size:.76rem;outline:none;transition:border-color .15s;min-width:180px}.rd-search-input:focus{border-color:var(--accent)}.rd-empty{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--muted);font-size:.85rem}.rd-disc-badge{display:inline-block;padding:1px 7px;border-radius:8px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.rd-disc-swim{background:#0ea5e924;color:#0ea5e9}.rd-disc-bike{background:#f59e0b24;color:#f59e0b}.rd-disc-run{background:#22c55e24;color:#22c55e}.rd-disc-tri{background:#8b5cf624;color:#8b5cf6}.rd-conf-high{color:#10b981}.rd-conf-mid{color:#f59e0b}.rd-conf-low{color:#ef4444}.rd-lt1-color{color:#1d9e75}.rd-lt2-color{color:#d85a30}.rd-target-color{color:#8b5cf6}.rd-value{font-weight:800;font-size:.82rem;letter-spacing:-.02em;color:var(--primary)}.rd-label{font-size:.62rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.rd-muted{color:var(--muted);font-weight:400}.rd-urgency-red{border-left:3px solid #ef4444}.rd-urgency-orange{border-left:3px solid #f97316}.rd-urgency-green{border-left:3px solid #10b981}.rd-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.82rem;color:#fff;background:linear-gradient(135deg,var(--accent),#b45a2a);flex-shrink:0;letter-spacing:-.02em}.rd-modal-backdrop{position:fixed;inset:0;z-index:200;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px;animation:rd-fade-in .15s ease-out}@keyframes rd-fade-in{0%{opacity:0}to{opacity:1}}.rd-modal{background:var(--panel-strong);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);max-height:90vh;overflow-y:auto;width:100%}.rd-modal-sm{max-width:480px}.rd-modal-md{max-width:680px}.rd-modal-lg{max-width:900px}.rd-modal-xl{max-width:1100px}.rd-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:1px solid var(--border)}.rd-modal-body{padding:14px 18px 18px}.rd-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 18px 14px;border-top:1px solid var(--border)}.rd-table-wrap{overflow-x:auto;padding:0 14px 14px}.rd-table{width:100%;border-collapse:collapse;font-size:.76rem}.rd-table th{text-align:left;padding:8px 10px;font-weight:700;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border-strong);white-space:nowrap}.rd-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--primary)}.rd-table tr:hover td{background:var(--hover-soft)}.rd-table-disc{font-weight:700;font-size:.64rem}.rd-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:14px 18px}.rd-form label{display:grid;gap:4px;font-size:.72rem;font-weight:600;color:var(--muted)}.rd-form input,.rd-form select,.rd-form textarea{padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--field-bg);color:var(--primary);font-size:.78rem;outline:none;transition:border-color .15s}.rd-form input:focus,.rd-form select:focus,.rd-form textarea:focus{border-color:var(--accent)}.rd-form .full-width{grid-column:1 / -1}.rd-form .button-row{grid-column:1 / -1;display:flex;gap:8px;justify-content:flex-end}.rd-error{color:#ef4444;font-size:.74rem;font-weight:600}.rd-success{color:#10b981;font-size:.74rem;font-weight:600}.ap-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s;border-left:3px solid transparent}.ap-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.ap-card.ap-disc-run{border-left-color:#22c55e}.ap-card.ap-disc-bike{border-left-color:#f59e0b}.ap-card.ap-disc-swim{border-left-color:#0ea5e9}.ap-card.ap-disc-tri{border-left-color:#8b5cf6}.ap-card-header{display:flex;align-items:center;gap:10px;padding:12px 14px 6px}.ap-card-header-info{flex:1;min-width:0}.ap-card-name{font-weight:700;font-size:.88rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-card-name a{color:var(--primary);text-decoration:none}.ap-card-name a:hover{text-decoration:underline}.ap-card-meta{display:flex;align-items:center;gap:6px;margin-top:2px;flex-wrap:wrap}.ap-card-summary{padding:2px 14px 6px;font-size:.72rem;color:var(--muted);line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ap-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px 14px 6px}.ap-card-metric{display:flex;flex-direction:column;gap:1px;padding:5px 8px;border-radius:8px;background:var(--surface-soft)}.ap-card-metric-label{font-size:.54rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ap-card-metric-value{font-weight:800;font-size:.72rem;color:var(--primary);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-card-target{padding:4px 14px 6px;font-size:.66rem}.ap-card-target-label{color:var(--muted);font-weight:600}.ap-card-target-value{font-weight:700;color:var(--primary);margin-left:4px}.ap-card-target-date{color:var(--muted);margin-left:4px}.ap-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:8px 14px 10px;border-top:1px solid var(--border)}.sp-import-section{padding:14px 20px;background:var(--surface-softer);border-bottom:1px solid var(--border)}.sd-hero{padding:14px 20px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px}.sd-hero-info h1{font-family:Space Grotesk,sans-serif;font-size:1.2rem;font-weight:800;letter-spacing:-.03em;margin:0;color:var(--primary)}.sd-hero-info p{margin:2px 0 0;font-size:.74rem;color:var(--muted)}.sd-charts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;padding:18px 20px}.sd-chart-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);overflow:hidden;padding:12px 14px}.sd-chart-card h3{font-size:.78rem;font-weight:700;color:var(--primary);margin:0 0 8px}.sd-split-section{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 20px 20px}@media(max-width:768px){.sd-split-section{grid-template-columns:1fr}}.sd-split-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);padding:14px}.sd-split-card h2{font-size:.88rem;font-weight:700;color:var(--primary);margin:0 0 10px;letter-spacing:-.02em}.sd-list-item{padding:8px 0;border-bottom:1px solid var(--border)}.sd-list-item:last-child{border-bottom:none}.sd-list-item strong{font-size:.76rem;color:var(--primary)}.sd-list-item p{margin:2px 0 0;font-size:.7rem;color:var(--muted)}.sd-threshold-overlays{display:flex;gap:8px;padding:8px 0 0;flex-wrap:wrap}.sd-overlay-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:8px;font-size:.62rem;font-weight:700;background:var(--surface-soft);border:1px solid var(--border)}.sd-overlay-chip.positive{color:#1d9e75}.sd-overlay-chip.negative{color:#d85a30}.sd-overlay-chip.neutral{color:var(--muted)}.sd-overlay-chip.warning{color:#f59e0b}.lp-filter-bar{display:flex;gap:8px;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center}.lp-filter-section{display:flex;gap:4px;align-items:center}.lp-filter-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-right:4px}.lp-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding:18px 20px 32px}.lp-template-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s;border-left:3px solid transparent}.lp-template-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.lp-template-card.lp-disc-run{border-left-color:#22c55e}.lp-template-card.lp-disc-bike{border-left-color:#f59e0b}.lp-template-card.lp-disc-swim{border-left-color:#0ea5e9}.lp-template-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px 14px 4px}.lp-template-name{font-weight:700;font-size:.82rem;color:var(--primary);line-height:1.2}.lp-template-role{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;font-size:.58rem;font-weight:800;flex-shrink:0}.lp-role-key{background:#8b5cf626;color:#8b5cf6}.lp-role-support{background:#0ea5e926;color:#0ea5e9}.lp-role-recovery{background:#10b98126;color:#10b981}.lp-role-test{background:#f59e0b26;color:#f59e0b}.lp-template-body{padding:4px 14px 8px;flex:1}.lp-template-desc{font-size:.7rem;color:var(--muted);line-height:1.4;margin:0 0 6px}.lp-template-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.62rem}.lp-template-meta-item{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:6px;background:var(--surface-soft);font-weight:600;color:var(--muted)}.lp-fatigue-dots{letter-spacing:1px;font-size:.56rem}.lp-template-timeline{display:flex;gap:2px;padding:6px 14px 10px;align-items:flex-end;min-height:28px}.lp-timeline-segment{height:6px;border-radius:3px;flex:1;min-width:4px;transition:height .15s}.lp-timeline-segment.tone-warmup{background:#10b981;opacity:.5}.lp-timeline-segment.tone-main{background:#d85a30}.lp-timeline-segment.tone-lt1{background:#1d9e75}.lp-timeline-segment.tone-lt2{background:#d85a30}.lp-timeline-segment.tone-vo2{background:#ef4444}.lp-timeline-segment.tone-recovery{background:#0ea5e9;opacity:.5}.lp-timeline-segment.tone-cooldown{background:#6366f1;opacity:.4}.lp-timeline-segment.tone-rest{background:var(--border)}.lp-template-footer{padding:6px 14px 10px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:6px}.lp-dose-ladder{display:flex;gap:2px;align-items:flex-end}.lp-dose-step{width:6px;border-radius:2px 2px 0 0;background:var(--accent);opacity:.4;transition:opacity .15s}.lp-dose-step.active{opacity:1}.tp-hero{padding:14px 20px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.tp-hero-stats{display:flex;gap:16px}.tp-hero-stat{text-align:center}.tp-hero-stat span{display:block;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.tp-hero-stat strong{display:block;font-size:1rem;font-weight:800;color:var(--primary);letter-spacing:-.02em}.tp-hero-stat small{font-size:.6rem;color:var(--muted)}.tp-form-section{padding:18px 20px}.tp-form-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);overflow:hidden}.tp-form-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;border-bottom:1px solid var(--border)}.tp-target-list{padding:12px 20px 24px}.tp-target-item{padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);margin-bottom:8px;display:flex;flex-direction:column;gap:4px}.tp-target-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tp-target-name{font-weight:700;font-size:.78rem;color:var(--primary)}.tp-target-date-badge{display:inline-flex;padding:2px 8px;border-radius:8px;font-size:.62rem;font-weight:700;background:var(--surface-softer);color:var(--muted)}.tp-target-detail{font-size:.68rem;color:var(--muted)}.tp-target-ref{font-size:.64rem;color:var(--muted)}.tp-target-actions{display:flex;gap:4px;margin-top:4px}.tp-preview-box{padding:10px 14px;border-radius:10px;background:var(--surface-soft);border:1px solid var(--border)}.tp-preview-box small{font-size:.6rem;color:var(--muted)}.tp-preview-box strong{display:block;font-size:.82rem;font-weight:800;color:var(--primary);margin:2px 0}.tp-preview-box p{margin:0;font-size:.66rem;color:var(--muted)}.dp-template-switcher{display:flex;gap:4px;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.dp-template-btn{padding:5px 14px;border-radius:10px;font-size:.72rem;font-weight:700;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:all .15s}.dp-template-btn:hover{background:var(--hover-soft);color:var(--primary)}.dp-template-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.dp-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:14px 20px}.dp-summary-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:3px}.dp-summary-label{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.dp-summary-value{font-size:1.1rem;font-weight:800;color:var(--primary);letter-spacing:-.02em;font-family:Space Grotesk,sans-serif}.dp-summary-detail{font-size:.62rem;color:var(--muted)}.dp-summary-card.positive{border-left:3px solid #10b981}.dp-summary-card.warning{border-left:3px solid #f59e0b}.dp-summary-card.negative{border-left:3px solid #ef4444}.dp-summary-card.neutral{border-left:3px solid var(--border-strong)}.lf-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:24px}.lf-glass-panel{text-align:center;max-width:420px;width:100%;padding:44px 36px 36px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:20px;box-shadow:0 1px 3px #0000000a,0 12px 40px #0000000f;animation:lf-fade-in .28s ease-out}@keyframes lf-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.lf-brand{margin-bottom:22px}.lf-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.62rem;color:#c47a2a;font-weight:700;margin-bottom:14px}.lf-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.4rem,3.4vw,2rem);font-weight:800;letter-spacing:-.03em;color:#1a1a1a;margin:0;line-height:1.15}.lf-subtitle{font-size:.82rem;color:#6b7280;margin:0 0 24px;line-height:1.5}.lf-mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.lf-mode-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 14px 18px;border-radius:14px;border:1px solid #e5e7eb;background:#fafafa;color:#374151;cursor:pointer;transition:all .18s ease}.lf-mode-btn:hover{border-color:#c47a2a;background:#fff8f0;color:#1a1a1a;transform:translateY(-2px);box-shadow:0 6px 20px #c47a2a1a}.lf-mode-btn strong{font-size:.9rem;font-weight:700;letter-spacing:-.01em;color:#1a1a1a}.lf-mode-btn small{font-size:.68rem;color:#9ca3af;letter-spacing:.01em}.lf-view-form{text-align:left}.lf-form-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px;text-align:left}.lf-form-header h2{font-family:Space Grotesk,sans-serif;font-size:1.15rem;font-weight:800;letter-spacing:-.02em;margin:0;color:#1a1a1a}.lf-form-header small{display:block;font-size:.74rem;color:#9ca3af;margin-top:3px;line-height:1.4}.lf-back-btn{flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;border:1px solid #e5e7eb;background:#fafafa;color:#6b7280;font-size:1rem;cursor:pointer;transition:all .15s ease;margin-top:2px}.lf-back-btn:hover{border-color:#d1d5db;background:#f3f4f6;color:#1a1a1a}.lf-view-form label{display:grid;gap:5px;font-size:.72rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.lf-view-form label span{padding-left:2px}.lf-view-form input{padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa;color:#1a1a1a;font-size:.84rem;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.lf-view-form input:focus{border-color:#c47a2a;background:#fff;outline:none;box-shadow:0 0 0 3px #c47a2a1a}.lf-view-form input::placeholder{color:#c0c5cc}.lf-submit-btn{width:100%;padding:12px;margin-top:6px;border:none;border-radius:10px;background:#1a1a1a;color:#fff;font-family:Space Grotesk,sans-serif;font-size:.88rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background .15s ease,transform .1s ease}.lf-submit-btn:hover:not(:disabled){background:#333}.lf-submit-btn:active:not(:disabled){transform:scale(.98)}.lf-submit-btn:disabled{opacity:.5;cursor:not-allowed}.lf-error{color:#dc2626;font-size:.78rem;padding:6px 10px;border-radius:6px;background:#fef2f2;border:1px solid #fecaca;margin-bottom:4px}.lf-success-block{text-align:center;padding:12px 0}.lf-success-block p{color:#16a34a;font-size:.88rem;margin:0 0 16px}.lf-bottom-links{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:18px;padding-top:16px;border-top:1px solid #f0f0f0}.lf-link-btn{background:none;border:none;color:#9ca3af;font-size:.76rem;cursor:pointer;padding:2px 0;text-decoration:none;transition:color .15s ease}.lf-link-btn:hover{color:#c47a2a}.lf-credit{font-size:.6rem;color:#c0c5cc;text-align:center;text-transform:uppercase;letter-spacing:.12em}.ad-disc-tabs{display:flex;gap:8px;padding:0;background:transparent;border:none}.ad-disc-tab{padding:10px 24px;border-radius:999px;font-size:.88rem;font-weight:700;border:1px solid rgba(16,34,42,.1);background:#ffffffb8;color:var(--muted);cursor:pointer;transition:all .18s ease}.ad-disc-tab:hover{background:var(--hover-soft);color:var(--primary);transform:translateY(-1px)}.ad-disc-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.hero-summary-inline{display:grid;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid rgba(16,34,42,.06)}.ad-disc-tab.ad-tab-swim.active{background:#0ea5e9;border-color:#0ea5e9}.ad-disc-tab.ad-tab-bike.active{background:#f59e0b;border-color:#f59e0b}.ad-disc-tab.ad-tab-run.active{background:#22c55e;border-color:#22c55e}.ad-section-nav{display:flex;gap:4px;padding:8px 20px;background:var(--surface-softer);border-bottom:1px solid var(--border);flex-wrap:wrap;overflow-x:auto}.ad-section-link{padding:3px 10px;border-radius:8px;font-size:.64rem;font-weight:600;color:var(--muted);text-decoration:none;transition:all .15s;white-space:nowrap}.ad-section-link:hover{background:var(--hover-soft);color:var(--primary)}.ad-section-link.active{background:var(--panel);color:var(--primary);font-weight:700}.ad-threshold-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(170px,1fr);grid-template-columns:none;gap:0;padding:0;overflow-x:auto;overflow-y:hidden;border-radius:28px;box-shadow:0 1px 2px #10222a0f,0 8px 32px #10222a14;background:radial-gradient(circle at top right,rgba(255,255,255,.6),transparent 40%),#ffffffd1}.ad-threshold-row>.card,.ad-threshold-row>.selectable-estimate-card{border-radius:0!important;border:none!important;border-right:1px solid rgba(16,34,42,.06)!important;box-shadow:none!important;background:transparent!important;transition:background .15s ease!important}.ad-threshold-row>.card:last-child{border-right:none!important}.ad-threshold-row>.card:hover{background:#10222a06!important}.ad-threshold-card{background:transparent;border:none;border-radius:0;padding:22px 24px;display:flex;flex-direction:column;gap:6px;border-top:4px solid transparent;border-left:none}.ad-threshold-card.lt1{border-top-color:#1d9e75;border-left-color:transparent}.ad-threshold-card.lt2{border-top-color:#d85a30;border-left-color:transparent}.ad-threshold-card.target{border-top-color:#8b5cf6;border-left-color:transparent}.ad-threshold-card.real{border-top-color:#065f46;border-left-color:transparent}.selectable-estimate-card.active{background:linear-gradient(180deg,rgba(201,125,61,.06),transparent)!important;border-top:4px solid #d26a36!important}.ad-threshold-label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.ad-threshold-value{font-size:1.4rem;font-weight:800;color:var(--primary);letter-spacing:-.02em;font-family:Space Grotesk,sans-serif;line-height:1.05}.ad-threshold-value.lt1-val{color:#1d9e75}.ad-threshold-value.lt2-val{color:#d85a30}.ad-threshold-detail{font-size:.7rem;color:var(--muted);line-height:1.4}.ad-threshold-conf{font-size:.66rem;font-weight:700}.ad-section{padding:0}.ad-section-title{font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:800;letter-spacing:-.02em;color:var(--primary);margin:0 0 14px}.ad-section-subtitle{font-size:.72rem;color:var(--muted);margin:-8px 0 12px}.ad-chart-container{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);padding:14px;margin-bottom:14px}.ad-chart-title{font-size:.78rem;font-weight:700;color:var(--primary);margin:0 0 8px}.ad-action-bar{display:flex;gap:6px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.ad-warning-card{padding:10px 14px;border-radius:10px;margin-bottom:10px;font-size:.72rem}.ad-warning-card.warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);color:#b45309}.ad-warning-card.negative{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#dc2626}.ad-warning-card.neutral{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted)}.ad-warning-card .ad-warning-eyebrow{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.ad-warning-card .ad-warning-title{font-weight:700;font-size:.74rem;margin:2px 0}.ad-warning-card .ad-warning-body{opacity:.8}:root[data-theme=dark] .ad-warning-card.warning{color:#fbbf24}:root[data-theme=dark] .ad-warning-card.negative{color:#f87171}.pp-workspace-tabs{display:flex;gap:4px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--border)}.pp-tab{padding:5px 14px;border-radius:10px;font-size:.72rem;font-weight:700;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:all .15s}.pp-tab:hover{background:var(--hover-soft);color:var(--primary)}.pp-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}@media(max-width:768px){.rd-page-header{padding:10px 14px}.rd-grid{grid-template-columns:1fr;padding:12px}.ad-threshold-row{grid-template-columns:1fr;padding:10px 14px}.sd-charts-grid,.lp-template-grid{grid-template-columns:1fr;padding:12px}}:root[data-theme=dark] .ly-sidebar{background:#0b181feb;border-color:#ffffff0f;box-shadow:0 18px 42px #00000052}:root[data-theme=dark] .ly-brand-mark{background:linear-gradient(135deg,#ffb067,#d26a36)}:root[data-theme=dark] .ly-nav a.active,:root[data-theme=dark] .ly-nav-trigger.active{background:#ffb0672e;color:#ffb067}:root[data-theme=dark] .ly-logout{background:#ffffff0f;border-color:#ffffff14}:root[data-theme=dark] .ly-theme-toggle{background:#122731f5;border-color:#ffffff14}:root[data-theme=dark] .rd-page-header,:root[data-theme=dark] .rd-metrics-bar,:root[data-theme=dark] .sd-hero,:root[data-theme=dark] .tp-hero,:root[data-theme=dark] .ad-disc-tabs,:root[data-theme=dark] .ad-section-nav,:root[data-theme=dark] .lp-filter-bar,:root[data-theme=dark] .dp-template-switcher,:root[data-theme=dark] .sp-import-section{background:var(--panel)}:root[data-theme=dark] .rd-card,:root[data-theme=dark] .ap-card,:root[data-theme=dark] .sd-chart-card,:root[data-theme=dark] .sd-split-card,:root[data-theme=dark] .lp-template-card,:root[data-theme=dark] .tp-form-card,:root[data-theme=dark] .tp-target-item,:root[data-theme=dark] .dp-summary-card,:root[data-theme=dark] .ad-threshold-card{background:var(--panel);border-color:var(--border)}:root[data-theme=dark] .rd-card:hover,:root[data-theme=dark] .ap-card:hover,:root[data-theme=dark] .lp-template-card:hover{border-color:var(--border-strong)}:root[data-theme=dark] .rd-btn{background:var(--surface-soft);border-color:var(--border);color:var(--primary)}:root[data-theme=dark] .rd-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}:root[data-theme=dark] .rd-btn-primary{background:var(--accent);color:#fff}:root[data-theme=dark] .rd-btn-ghost{background:transparent;color:var(--muted)}:root[data-theme=dark] .rd-search-input,:root[data-theme=dark] .rd-form input,:root[data-theme=dark] .rd-form select,:root[data-theme=dark] .rd-form textarea,:root[data-theme=dark] .lf-glass-panel{background:#121820f2;border-color:#ffffff14}:root[data-theme=dark] .lf-view-form input{background:var(--field-bg);border-color:var(--border);color:var(--primary)}:root[data-theme=dark] .rd-modal{background:var(--panel-strong);border-color:var(--border)}:root[data-theme=dark] .rd-modal-backdrop{background:#0009}:root[data-theme=dark] .rd-filter-pill.active,:root[data-theme=dark] .ad-disc-tab.active,:root[data-theme=dark] .lf-mode-btn:hover,:root[data-theme=dark] .dp-template-btn.active{background:var(--accent);color:#fff}:root[data-theme=dark] .ap-card-metric{background:var(--surface-soft)}:root[data-theme=dark] .rd-table tr:hover td{background:#ffffff0a}:root[data-theme=dark] .tp-preview-box{background:var(--surface-soft);border-color:var(--border)}:root[data-theme=dark] .ad-warning-card.warning{background:#f59e0b14;border-color:#f59e0b26}:root[data-theme=dark] .ad-warning-card.negative{background:#ef444414;border-color:#ef444426}:root[data-theme=dark] .ad-warning-card.neutral{background:var(--surface-soft)}.rd-page{gap:0}.ad-disc-tab.ad-tab-swim.active{background:#0ea5e9!important;border-color:#0ea5e9!important}.ad-disc-tab.ad-tab-bike.active{background:#f59e0b!important;border-color:#f59e0b!important}.ad-disc-tab.ad-tab-run.active{background:#22c55e!important;border-color:#22c55e!important}.garmin-push-button{font-weight:600;color:#1a73e8;transition:color .15s,background .15s}.garmin-push-button:hover{background:#1a73e814}.garmin-push-button.published{color:#5f6368}.garmin-push-button.success{color:#0d9488;font-weight:700}.garmin-push-button.error{color:#dc2626}.garmin-push-button:disabled{opacity:.6;cursor:wait}.workout-editor{display:flex;flex-direction:column;gap:1rem}.workout-editor-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.workout-editor-title-row{display:flex;flex-direction:column;gap:.25rem;flex:1}.workout-editor-title-input{font-size:1.1rem;font-weight:600;border:1px solid #d4dae0;border-radius:6px;padding:.4rem .6rem;background:#fff;width:100%;max-width:500px}.workout-editor-meta{display:flex;gap:.75rem;align-items:center;font-size:.82rem;color:#6b7a8a}.workout-editor-dirty-badge{background:#fef3c7;color:#92400e;font-weight:600;padding:.15rem .5rem;border-radius:4px;font-size:.75rem}.workout-editor-timeline{display:flex;align-items:flex-end;height:48px;gap:1px;border-radius:6px;overflow:hidden;background:#f0f2f5;padding:4px}.workout-editor-timeline-segment{border-radius:3px;min-width:3px;transition:flex-grow .2s ease}.workout-editor-timeline-segment.warmup{background:#93c5fd}.workout-editor-timeline-segment.recovery{background:#bbf7d0}.workout-editor-timeline-segment.aerobic{background:#86efac}.workout-editor-timeline-segment.steady{background:#fbbf24}.workout-editor-timeline-segment.threshold{background:#f97316}.workout-editor-timeline-segment.hard{background:#ef4444}.workout-editor-timeline-segment.neuromuscular{background:#a855f7}.workout-editor-timeline-segment.neutral{background:#d1d5db}.workout-editor-steps{display:flex;flex-direction:column;gap:2px}.workout-editor-step{border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden;transition:border-color .15s}.workout-editor-step.editing{border-color:#285fe7;box-shadow:0 0 0 2px #285fe71f}.workout-editor-step.child{margin-left:1.5rem;border-left:3px solid #d1d5db}.workout-editor-step.child.editing{border-left-color:#285fe7}.workout-editor-step-summary{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;width:100%;background:none;border:none;cursor:pointer;text-align:left;font-size:.88rem}.workout-editor-step-summary:hover{background:#f9fafb}.workout-editor-step-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.workout-editor-step-indicator.warmup{background:#93c5fd}.workout-editor-step-indicator.recovery{background:#86efac}.workout-editor-step-indicator.aerobic{background:#22c55e}.workout-editor-step-indicator.steady{background:#fbbf24}.workout-editor-step-indicator.threshold{background:#f97316}.workout-editor-step-indicator.hard{background:#ef4444}.workout-editor-step-indicator.neuromuscular{background:#a855f7}.workout-editor-step-indicator.neutral{background:#d1d5db}.workout-editor-step-type{font-weight:600;min-width:80px;color:#374151}.workout-editor-step-duration{min-width:60px;font-variant-numeric:tabular-nums;color:#1f2937}.workout-editor-step-zone{color:#6b7280;font-size:.82rem}.workout-editor-step-note{color:#9ca3af;font-size:.78rem;margin-left:auto;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-editor-edit-panel{padding:.75rem;border-top:1px solid #e5e7eb;background:#f9fafb;display:flex;flex-direction:column;gap:.5rem}.workout-editor-edit-panel.compact{padding:.5rem .75rem}.workout-editor-edit-row{display:flex;gap:.75rem;flex-wrap:wrap}.workout-editor-edit-row label{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;font-weight:600;color:#6b7280;flex:1;min-width:120px}.workout-editor-edit-row select,.workout-editor-edit-row input{font-size:.88rem;padding:.35rem .5rem;border:1px solid #d4dae0;border-radius:5px;background:#fff}.workout-editor-duration-input{max-width:120px}.workout-editor-hr-input{max-width:90px}.workout-editor-hr-label{flex:0 0 auto}.workout-editor-step-hr{font-size:.78rem;color:#c0392b;font-weight:600;white-space:nowrap}.workout-editor-edit-actions{display:flex;gap:.4rem;flex-wrap:wrap;padding-top:.25rem}.workout-editor-edit-actions .ghost-button.small{font-size:.78rem;padding:.2rem .5rem}.workout-editor-edit-actions .ghost-button.danger{color:#dc2626}.workout-editor-edit-actions .ghost-button.danger:hover{background:#fef2f2}.workout-editor-children{padding:.5rem .75rem .75rem;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:2px}.workout-editor-repeat-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.82rem}.workout-editor-repeat-input{width:50px;padding:.2rem .3rem;border:1px solid #d4dae0;border-radius:4px;font-size:.85rem}.workout-editor-add-step-btn,.workout-editor-add-child-btn{background:none;border:1px dashed #d1d5db;border-radius:6px;padding:.4rem .75rem;color:#6b7280;cursor:pointer;font-size:.82rem;text-align:center;transition:all .15s}.workout-editor-add-step-btn:hover,.workout-editor-add-child-btn:hover{border-color:#285fe7;color:#285fe7;background:#285fe70a}.workout-editor-add-child-btn{margin-left:1.5rem;margin-top:4px}.workout-editor-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid #e5e7eb}.workout-editor-actions .primary-button{background:#285fe7;color:#fff;border:none;border-radius:6px;padding:.5rem 1.25rem;font-weight:600;cursor:pointer;font-size:.88rem}.workout-editor-actions .primary-button:disabled{opacity:.5;cursor:not-allowed}.workout-editor-actions .primary-button:hover:not(:disabled){background:#1e4fd0}.measurement-log-details{border:none}.measurement-log-summary{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;cursor:pointer;list-style:none;border-bottom:1px solid rgba(16,34,42,.06);background:linear-gradient(160deg,#10353d09,#fffffff5 50%);transition:background .15s ease;-webkit-user-select:none;user-select:none}.measurement-log-summary::-webkit-details-marker{display:none}.measurement-log-summary:after{content:"▸";font-size:1.1rem;color:var(--muted);transition:transform .2s ease}.measurement-log-details[open]>.measurement-log-summary:after{transform:rotate(90deg)}.measurement-log-summary:hover{background:#10222a05}.measurement-log-summary h2{margin:4px 0 0;font-size:1.3rem;letter-spacing:-.02em}.measurement-log-body{padding:0;overflow-x:auto}.measurement-inline-edit{width:52px;padding:4px 6px;border-radius:8px;border:1px solid rgba(16,34,42,.1);background:#fff9;font-family:inherit;font-size:inherit;text-align:center;transition:border-color .15s ease}.measurement-inline-edit:focus{outline:none;border-color:var(--accent, #d26a36);box-shadow:0 0 0 2px #d26a3626}.planning-page{gap:18px}.planning-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.planning-hero-main{display:grid;gap:10px}.planning-hero-main p{margin:0;max-width:58ch}.planning-hero-tags{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.planning-athlete-picker{display:inline-grid;gap:6px}.planning-athlete-label{font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.planning-athlete-select{min-width:250px;padding:12px 16px;min-height:52px;border-radius:999px;border:1px solid rgba(16,34,42,.08);background:radial-gradient(circle at top right,rgba(201,125,61,.1),transparent 38%),#ffffffe0;color:var(--text);font:inherit;font-weight:700}.planning-discipline-group{display:inline-flex;align-items:center;gap:8px;padding:6px;min-height:52px;border-radius:999px;background:#16353d0d;border:1px solid rgba(16,34,42,.06)}.planning-tag{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#d26a361f;color:var(--accent);font-size:.82rem;font-weight:700}.planning-hero-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.planning-targets-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.planning-target-chip{display:grid;gap:4px;padding:12px 14px;border-radius:18px;border:1px solid rgba(16,34,42,.06);background:#ffffffc2}.planning-target-chip small{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.planning-target-chip strong{font-size:1rem;color:var(--primary)}.planning-target-chip span{font-size:.84rem;color:var(--muted)}.planning-tag.neutral{background:#16353d14;color:var(--primary)}.planning-hero-aside{display:grid;gap:10px}.planning-context-card{display:grid;gap:6px;padding:14px 16px;border-radius:20px;border:1px solid rgba(16,34,42,.06);background:#ffffffa8}.planning-context-card.current{background:linear-gradient(135deg,#257a4d1a,#ffffffb8)}.planning-context-card.positive{background:linear-gradient(135deg,#257a4d14,#ffffffb8)}.planning-context-card.warning{background:linear-gradient(135deg,#d26a361a,#ffffffb8)}.planning-context-card.neutral{background:linear-gradient(135deg,#16353d0f,#ffffffb8)}.planning-context-card.roadmap{color:inherit;text-decoration:none;transition:transform .14s ease,border-color .14s ease}.planning-context-card.roadmap:hover{transform:translateY(-1px);border-color:#c97d3d3d}.planning-context-card strong{font-family:Space Grotesk,sans-serif;font-size:1rem}.planning-context-card p,.planning-context-card small{margin:0}.planning-context-card small{color:var(--muted)}.planning-top-grid,.planning-bottom-grid{display:grid;gap:18px}.planning-card{min-width:0}.planning-toolbar-card{position:sticky;top:14px;z-index:4;display:grid;gap:12px;background:radial-gradient(circle at top left,rgba(210,106,54,.08),transparent 24%),#faf7f2eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.planning-workspace-switch{display:flex;gap:8px;flex-wrap:wrap}.planning-workspace-button{appearance:none;display:grid;gap:2px;min-width:150px;padding:10px 14px;border-radius:16px;border:1px solid rgba(16,34,42,.08);background:#ffffffb3;color:var(--text);text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.planning-workspace-button:hover{transform:translateY(-1px);border-color:#10222a24}.planning-workspace-button strong{font-family:Space Grotesk,sans-serif;font-size:.96rem}.planning-workspace-button small{color:var(--muted)}.planning-workspace-button.active{border-color:#d26a364d;background:radial-gradient(circle at top right,rgba(210,106,54,.12),transparent 46%),#fffffff5;box-shadow:0 10px 22px #d26a3614}.planning-horizontal-line{position:relative;overflow:hidden;padding:14px 12px;border-radius:18px;border:1px solid rgba(16,34,42,.06);background:#ffffff94}.planning-horizontal-line:before{content:"";position:absolute;left:14px;right:14px;top:50%;height:2px;background:linear-gradient(90deg,#16353d14,#16353d38,#16353d14);transform:translateY(-50%)}.planning-hidden-list{display:grid;gap:8px;margin-bottom:12px}.planning-hidden-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:#10222a0a;color:var(--muted);font-size:.9rem}.planning-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--accent, #d26a36);font-weight:700}.planning-flow-step strong,.planning-archive-card strong{font-family:Space Grotesk,sans-serif}.planning-archive-card small,.planning-empty-state p{margin:0}.planning-delete-button{background:#b83f201f;color:#8f3519}.planning-delete-button:hover{background:#b83f202e}.planning-inline-action.active{background:linear-gradient(135deg,#16353deb,#2f6570e6);color:#fff}.planning-calendar-shell{display:grid;gap:16px;margin-top:16px;padding:18px;border-radius:16px;border:1px solid rgba(16,34,42,.07);background:radial-gradient(circle at top left,rgba(210,106,54,.07),transparent 24%),linear-gradient(180deg,#ffffffe6,#f3efe9d1)}.planning-calendar-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:16px}.planning-overlay-toolbar{display:grid;gap:10px}.planning-overlay-chips{display:flex;gap:8px;flex-wrap:wrap}.planning-overlay-chip{appearance:none;border:1px solid rgba(16,34,42,.08);background:#ffffffc7;color:var(--muted);border-radius:999px;padding:8px 12px;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease}.planning-overlay-chip:hover{transform:translateY(-1px);border-color:#10222a24;color:var(--primary)}.planning-overlay-chip.active{background:#16353de6;color:#fff;border-color:#16353de6}.planning-builder-card{display:grid;gap:16px}.planning-builder-grid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:16px}.planning-builder-controls{display:grid;gap:12px;align-content:start;position:sticky;top:138px;padding:16px;border-radius:20px;border:1px solid rgba(16,34,42,.06);background:#ffffffb8}.planning-panel-title{font-size:1rem}.planning-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.planning-builder-controls label{display:grid;gap:6px;color:var(--muted);font-size:.92rem}.planning-field-span-2{grid-column:1 / -1}.planning-builder-controls select{padding:11px 12px;border:1px solid var(--border);border-radius:14px;background:#ffffffe6;color:var(--primary)}.planning-builder-controls input,.planning-builder-controls textarea{padding:11px 12px;border:1px solid var(--border);border-radius:14px;background:#ffffffe6;color:var(--primary);resize:vertical}.planning-builder-preview{display:grid;gap:14px}.planning-info-dot{width:20px;height:20px;border-radius:999px;display:inline-grid;place-items:center;background:#16353d14;color:var(--primary);font-size:.78rem;font-weight:700;line-height:1;border:0;cursor:pointer}.planning-guardrails{display:grid;gap:10px;padding:14px 16px;border-radius:18px;background:#ffffff9e;border:1px solid rgba(16,34,42,.06)}.planning-guardrails strong{font-family:Space Grotesk,sans-serif;font-size:1rem}.planning-chip-row{display:flex;gap:8px;flex-wrap:wrap}.planning-chip{padding:6px 10px;border-radius:999px;background:#16353d14;color:var(--primary);font-size:.79rem;font-weight:700}.planning-note-list{display:grid;gap:8px;margin:0;padding-left:18px;color:var(--primary)}.planning-note-list li{line-height:1.4}.planning-duration-note{display:grid;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid rgba(16,34,42,.06)}.planning-duration-note strong,.planning-duration-note p{margin:0}.planning-duration-note p{color:var(--muted)}.planning-duration-note.positive{background:linear-gradient(135deg,#257a4d1a,#ffffffb3)}.planning-duration-note.warning{background:linear-gradient(135deg,#d26a361a,#ffffffb3)}.planning-flow,.planning-archive{display:grid;gap:12px}.planning-flow-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:12px 14px;border-radius:16px;background:#ffffff94;border:1px solid rgba(16,34,42,.06)}.planning-flow-step span{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#16353d14;color:var(--primary);font-family:Space Grotesk,sans-serif;font-weight:700}.planning-flow-step p{margin:4px 0 0;color:var(--muted)}.planning-card{grid-template-columns:1fr}.planning-spacing-badge{font-size:.6rem;color:var(--color-warning, var(--tone-warning));cursor:help;margin-left:auto}.planning-builder-controls textarea,.planning-builder-controls select{background:#fffffff5;border-color:#10222a14;box-shadow:inset 0 1px #ffffffd6}.planning-page{gap:22px}.planning-hero{grid-template-columns:minmax(0,1fr);gap:18px}.planning-hero-main{gap:12px}.planning-hero-main h1{max-width:none;font-size:clamp(2.1rem,3.2vw,3rem);letter-spacing:-.065em;white-space:nowrap}.planning-hero-tags{gap:12px}.planning-context-card{gap:8px;padding:16px 18px;border-radius:16px;background:#ffffffd6;box-shadow:none}.planning-context-card.warning,.planning-context-card.neutral{background:#ffffffe0}.planning-context-card.current{border-color:#16353d1a}.planning-context-card.positive{border-color:#257a4d29}.planning-context-card.warning{border-color:#c566372e}.planning-toolbar-card{position:static;gap:14px;padding-top:18px;padding-bottom:18px;background:linear-gradient(180deg,#fffffff5,#f8f6f2f2)}.planning-workspace-switch{gap:10px;padding-top:6px;border-top:1px solid rgba(16,34,42,.06)}.planning-workspace-button{min-width:0;flex:1 1 0;gap:5px;padding:12px 14px;border-radius:16px;background:#ffffffe0;box-shadow:none}.planning-workspace-button.active{box-shadow:inset 0 0 0 1px #c566372e}.planning-stack,.planning-bottom-grid{gap:16px}.planning-bottom-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.planning-card{box-shadow:0 8px 18px #10222a08}.planning-flow{gap:10px}.planning-flow-step{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:14px 16px;border-radius:18px;background:#faf9f6f5}.planning-flow-step span{width:38px;height:38px;border-radius:12px;font-size:.88rem;background:#16353d0f}.planning-archive{gap:10px}.planning-archive-card{padding:14px 16px;border-radius:18px}.planning-horizontal-line{padding:6px 0 2px;border:0;background:transparent}.planning-horizontal-line:before{left:0;right:0;top:24px;height:1px;background:#10222a14}.planning-calendar-shell{gap:14px;padding:16px;border-radius:16px;background:linear-gradient(180deg,#fffffffa,#f8f6f2f5)}.planning-builder-card{gap:14px}.planning-builder-grid{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:14px}.planning-guardrails{border-radius:18px;box-shadow:none}:root[data-theme=dark] .planning-workspace-card.selected{border-color:#ffb06766;box-shadow:0 0 0 3px #ffb0671a}:root[data-theme=dark] .planning-overlay-chip:hover,:root[data-theme=dark] .planning-inline-action:hover{background:#1c3541f5;border-color:#ffffff1f}:root[data-theme=dark] .planning-hero{padding:10px 0 0;margin-bottom:6px}:root[data-theme=dark] .planning-hero-main h1{color:#edf3f6}:root[data-theme=dark] .planning-target-chip,:root[data-theme=dark] .planning-workspace-button{color:#c9d5db}:root[data-theme=dark] .planning-card,:root[data-theme=dark] .planning-toolbar-card{background:#182126;border-color:#ffffff0d;box-shadow:inset 0 1px #ffffff05}:root[data-theme=dark] .planning-workspace-switch,:root[data-theme=dark] .planning-horizontal-line:before{border-color:#ffffff0f;background:#ffffff0f}:root[data-theme=dark] .planning-page small,:root[data-theme=dark] .planning-page span{color:inherit}:root[data-theme=dark] .planning-page h2,:root[data-theme=dark] .planning-page h3{color:#edf3f6}.planning-calendar-overlay-page{position:fixed;inset:0;width:100vw;height:100vh;z-index:1200;overflow:hidden;background:#f3f2f7}.planning-calendar-overlay-page.planning-redesign{display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}.planning-calendar-overlay-close{position:fixed;top:18px;right:18px;z-index:1210;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#071428d1;color:#f8fbff;font-size:1.65rem;line-height:1;box-shadow:0 12px 26px #0714283d}.planning-calendar-overlay-close:hover{background:#040e20eb}.planning-calendar-app{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;background:#f3f2f7;color:#23313c;overflow:hidden}.planning-redesign .planning-calendar-app{grid-template-rows:auto auto minmax(0,1fr)}.planning-calendar-app-topnav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:12px 24px;background:linear-gradient(180deg,#071a3c,#031127);color:#f5f9fc}.planning-calendar-app-brand{font-family:Space Grotesk,sans-serif;font-size:1.14rem;font-weight:700;letter-spacing:.04em}.planning-calendar-app-nav{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;flex-wrap:wrap}.planning-calendar-app-user{display:flex;align-items:center;gap:12px}.planning-calendar-back.subtle{padding:10px 14px}.planning-calendar-app-body{display:grid;height:100%;min-height:0;overflow:hidden}.planning-calendar-app-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.planning-calendar-app-content{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:0;overflow:hidden}.planning-calendar-app-content.calendar-full{grid-template-columns:minmax(0,1fr)}.planning-note-list-compact{gap:10px}.planning-note-list-compact li{line-height:1.45}.planning-calendar-app-main{display:grid;grid-template-rows:auto minmax(0,1fr);background:#f3f2f7;height:100%;min-height:0;overflow:hidden}.planning-calendar-app-main.month-mode{grid-template-rows:minmax(0,1fr)}.planning-calendar-app-spacer{border-right:1px solid rgba(16,34,42,.08);border-bottom:1px solid rgba(16,34,42,.08);background:#ffffff6b}.planning-calendar-app-overlay{font-size:.72rem;color:#607080}.planning-workspace-main{padding:14px;background:#f3f2f7;overflow:auto}.planning-workspace-section{display:grid;gap:14px}.planning-workspace-section-head{display:grid;gap:4px}.planning-workspace-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.planning-workspace-card{display:grid;grid-template-rows:auto 1fr auto;gap:12px;padding:20px;text-align:left;border-radius:16px;border:1px solid rgba(16,34,42,.08);background:linear-gradient(180deg,#fffffff5,#f6f9fcf5);color:var(--primary);box-shadow:0 14px 26px #10222a0f;align-content:start;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.planning-workspace-card>p{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;line-height:1.45;color:#10222aa6}.planning-workspace-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px #10222a1f}.planning-workspace-card.selected{border-color:var(--accent, #d26a36);box-shadow:0 0 0 3px #d26a361f}.planning-athlete-selection-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.planning-athlete-selection-head strong{display:block;margin-top:4px;font-family:Space Grotesk,sans-serif;font-size:1.18rem}.planning-athlete-selection-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.planning-athlete-selection-meta article{display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:#f4f7faeb;border:1px solid rgba(16,34,42,.06)}.planning-athlete-selection-meta small{color:var(--muted)}.planning-page-calendar-mode{gap:0}.planning-calendar-tab-shell{display:grid;gap:18px;min-height:calc(100vh - 88px)}.planning-calendar-tab-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;border-radius:24px;background:linear-gradient(135deg,#071f4a,#0b3776 52%,#1765c1);color:#eef6ff;box-shadow:0 22px 44px #08254f2e}.planning-calendar-tab-brand{display:grid;gap:4px}.planning-calendar-tab-brand span{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#e4f0ffb8}.planning-calendar-tab-brand strong{font-family:Space Grotesk,sans-serif;font-size:1.6rem;line-height:1;color:#f7fbff}.planning-calendar-tab-brand p{margin:0;color:#e8f2ffdb}.planning-calendar-back{appearance:none;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#f7fbff;border-radius:14px;padding:12px 16px;font:inherit;font-weight:700;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}.planning-calendar-back:hover{background:#ffffff24;border-color:#ffffff47;transform:translateY(-1px)}.planning-calendar-tab-layout{align-items:stretch}.planning-studio-shell{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.95fr);gap:18px;align-items:start}.planning-sidebar{display:grid;gap:16px;align-content:start;position:sticky;top:14px}.planning-flow.compact{gap:10px}.planning-flow.compact .planning-flow-step{padding:12px 0}.planning-calendar-app-content.with-day-panel{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:0}.planning-workspace-main{animation:tabFadeIn .22s ease-out both}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1200px){.training-calendar-week-layout{grid-template-columns:minmax(0,1fr)}.training-calendar-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.training-calendar-week-stream,.training-calendar-week-section{padding:12px}.training-calendar-week-section-head{display:grid;gap:4px}.training-calendar-week-summary-top,.training-calendar-week-summary-foot,.training-calendar-week-grid{grid-template-columns:minmax(0,1fr)}.training-calendar-week-column{min-height:auto}}@media(max-width:1280px){.planning-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-foundation-grid,.planning-hero,.planning-builder-grid,.planning-top-grid,.planning-bottom-grid{grid-template-columns:1fr}.planning-builder-controls{position:static}.planning-template-columns,.planning-template-rationale{grid-template-columns:1fr}}@media(max-width:860px){.planning-kpi-strip,.planning-form-grid,.planning-threshold-strip{grid-template-columns:1fr}.planning-toolbar-card{position:static}.planning-mini-list,.planning-hero-tags,.planning-calendar-layout{grid-template-columns:1fr}.planning-calendar-header{display:grid}.planning-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.planning-calendar-weekday{display:none}.planning-calendar-shell{padding:16px}.planning-calendar-day{min-height:116px}}@media(max-width:900px){.planning-calendar-app-content.with-day-panel{grid-template-columns:minmax(0,1fr)}.planning-calendar-detail{position:fixed;top:0;right:0;bottom:0;width:min(360px,90vw);z-index:800;overflow-y:auto;box-shadow:-8px 0 32px #10222a24;border-radius:0}.planning-sidebar,.planning-calendar-app-nav{display:none}.planning-calendar-app-body,.planning-builder-grid,.planning-hero,.planning-calendar-composer-option-columns,.planning-top-grid,.planning-bottom-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){.planning-calendar-app-topnav{flex-wrap:wrap;gap:8px;padding:8px 12px}.planning-calendar-app-toolbar{flex-wrap:wrap;gap:6px;padding:6px 10px}.planning-calendar-app-grid{grid-template-columns:repeat(7,minmax(0,1fr));font-size:.72rem}.planning-calendar-app-day{min-height:60px;padding:4px}.planning-calendar-app-session{font-size:.68rem;padding:2px 4px}.planning-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-threshold-strip{grid-template-columns:minmax(0,1fr)}.planning-workspace-switch{flex-wrap:wrap}.planning-workspace-button{font-size:.76rem;padding:8px 12px}.training-calendar-week-layout,.training-calendar-week-grid{grid-template-columns:minmax(0,1fr)}.training-calendar-week-column{min-height:auto}.planning-calendar-month-row-grid,.planning-calendar-quick-add-grid{grid-template-columns:minmax(0,1fr)}.mesocycle-timeline-bars{min-height:48px}.mesocycle-timeline-bar{max-width:28px}.intelligence-banner-item{flex-direction:column;gap:4px}}.planning-compact-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 18px;background:linear-gradient(180deg,#1a1a2e,#16213e);color:#eaedf2;min-height:48px;flex-shrink:0}.planning-compact-left{display:flex;align-items:center;gap:14px}.planning-compact-athlete-row{display:flex;align-items:center;gap:8px}.planning-compact-athlete-select{appearance:none;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#ffffff14;color:#f0f6fb;padding:6px 12px;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.planning-compact-athlete-select option{color:#23313c;background:#fff}.planning-compact-athlete-name{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:700}.planning-compact-link{font-size:.75rem;font-weight:600;color:#ffffff80;text-decoration:none;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:3px 8px;transition:color .14s ease,border-color .14s ease}.planning-compact-link:hover{color:#ffffffd9;border-color:#ffffff4d}.planning-compact-discipline-row{display:flex;align-items:center;gap:4px}.planning-compact-disc-tab{appearance:none;border:0;border-radius:8px;background:transparent;color:#f0f6fb8c;padding:5px 10px;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease}.planning-compact-disc-tab:hover{background:#ffffff14;color:#f0f6fbd9}.planning-compact-disc-tab.active{background:#ffffff1f;color:#fff}.planning-compact-center{display:flex;align-items:center;gap:16px}.planning-compact-thresholds{display:flex;align-items:center;gap:12px}.planning-compact-threshold{display:flex;align-items:baseline;gap:5px}.planning-compact-th-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff6}.planning-compact-th-value{font-family:Space Grotesk,sans-serif;font-size:.92rem;font-weight:700;color:#fff}.planning-compact-th-hr{font-size:.72rem;color:#ffffff73}.planning-compact-th-hr:after{content:" bpm";font-size:.62rem}.planning-compact-block-badge{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:999px;background:#22c55e29;color:#6ee7b7;border:1px solid rgba(34,197,94,.2);white-space:nowrap}.planning-compact-right{display:flex;align-items:center;gap:12px}.planning-compact-target{display:flex;align-items:baseline;gap:6px;padding:4px 12px;border-radius:10px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.18)}.planning-compact-target-name{font-size:.75rem;font-weight:700;color:#fbbf24}.planning-compact-target-value{font-family:Space Grotesk,sans-serif;font-size:.85rem;font-weight:700;color:#fde68a}.planning-compact-target-countdown{font-size:.68rem;color:#fbbf2499}.planning-calendar-app-nav-strip{display:flex;align-items:center;justify-content:center;gap:2px;padding:4px 18px;background:#ffffffb3;border-bottom:1px solid rgba(100,80,140,.06);flex-shrink:0}.planning-nav-tab{appearance:none;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted, #5e6d72);padding:7px 16px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .18s ease}.planning-nav-tab:hover{background:transparent;border-bottom:2px solid rgba(210,106,54,.3);color:var(--primary, #16353d)}.planning-nav-tab.active{border-bottom:2px solid var(--accent, #d26a36);color:var(--primary, #16353d);font-weight:600;background:transparent}.planning-redesign .intelligence-banner{flex-shrink:0}:root[data-theme=dark] .planning-compact-header{background:linear-gradient(180deg,#0d0d1a,#111128)}:root[data-theme=dark] .planning-calendar-app-nav-strip{background:#0e1c26cc;border-color:#ffffff0f}:root[data-theme=dark] .planning-nav-tab{color:#e7eff48c}:root[data-theme=dark] .planning-nav-tab:hover{background:transparent;border-bottom-color:#ffb06759;color:#e7eff4d9}:root[data-theme=dark] .planning-nav-tab.active{background:transparent;border-bottom-color:#ffb067b3;color:#e7eff4}@media(max-width:900px){.planning-compact-header{flex-wrap:wrap;gap:8px;padding:8px 14px}.planning-compact-center{order:3;flex:1 0 100%;justify-content:center}.planning-compact-block-badge{display:none}}.planning-calendar-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.planning-calendar-summary{display:grid;gap:8px}.planning-calendar-summary strong,.planning-calendar-detail-head strong{font-family:Space Grotesk,sans-serif;font-size:1.34rem;line-height:1.04}.planning-day-card p,.planning-day-card small{margin:0}.planning-calendar-meta{display:flex;gap:8px;flex-wrap:wrap}.planning-calendar-meta-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#16353d12;border:1px solid rgba(16,34,42,.06);color:var(--primary);font-size:.78rem;font-weight:700;letter-spacing:.03em}.planning-calendar-meta-pill.active-month{background:#d26a3624;border-color:#d26a362e;color:var(--accent)}.planning-calendar-month-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(16,34,42,.06);box-shadow:inset 0 1px #ffffffb3}.planning-calendar-active-month-card{display:grid;gap:4px;margin:14px 0 18px;padding:14px 16px;border-radius:20px;border:1px solid rgba(210,106,54,.16);background:radial-gradient(circle at top left,rgba(210,106,54,.12),transparent 30%),#fff8f4e6}.planning-calendar-active-month-card strong{font-family:Space Grotesk,sans-serif;font-size:1.1rem;line-height:1}.planning-calendar-active-month-card p{margin:0;color:var(--muted)}.planning-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:14px;border-radius:18px;background:#ffffff9e;border:1px solid rgba(16,34,42,.06);box-shadow:inset 0 1px #ffffffd9}.planning-calendar-weekday{padding:0 8px 6px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.planning-calendar-spacer{min-height:1px}.planning-calendar-day{appearance:none;min-height:108px;padding:10px;border-radius:16px;border:1px solid rgba(16,34,42,.06);background:linear-gradient(180deg,#ffffffe0,#faf8f4d1);display:grid;align-content:start;gap:8px;text-align:left;cursor:pointer;box-shadow:0 8px 20px #10222a0a;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}.planning-calendar-day:hover{transform:translateY(-2px);border-color:#10222a29;box-shadow:0 14px 28px #10222a14}.planning-calendar-day.in-block{background:radial-gradient(circle at top right,rgba(210,106,54,.08),transparent 42%),linear-gradient(180deg,#ffffffeb,#f6ede7f5)}.planning-calendar-day.selected{border-color:#d26a3661;box-shadow:0 0 0 3px #d26a361a,0 18px 36px #d26a361f}.planning-calendar-day-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:700;color:var(--primary)}.planning-calendar-day-head small{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#16353d17;color:var(--primary);font-size:.72rem}.planning-calendar-session-list{display:grid;gap:3px;align-content:start}.planning-calendar-chip{display:block;padding:3px 6px;border-radius:6px;border:1px solid transparent;background:#10222a0d;font-size:.66rem;line-height:1.25;color:var(--primary);font-weight:600}.planning-calendar-chip.alta{background:#257a4d1f;border-color:#257a4d1f}.planning-calendar-chip.media{background:#d26a361f;border-color:#d26a361a}.planning-calendar-chip.overlay{background:#16353d1a;border-color:#16353d14;color:var(--primary)}.planning-calendar-detail{display:grid;align-content:start;gap:12px;padding:18px;border-radius:20px;border:1px solid rgba(16,34,42,.06);background:radial-gradient(circle at top right,rgba(22,53,61,.06),transparent 34%),linear-gradient(180deg,#ffffffeb,#f4f1ece6);box-shadow:0 16px 34px #10222a0f}.training-calendar-board{gap:18px}.training-calendar-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:6px;border-bottom:1px solid rgba(16,34,42,.08)}.training-calendar-heading{display:grid;gap:6px}.training-calendar-heading strong{font-family:Space Grotesk,sans-serif;font-size:2rem;line-height:.95}.training-calendar-heading p{margin:0;color:var(--muted)}.training-calendar-controls{display:grid;gap:12px;justify-items:end}.training-calendar-view-switch{display:inline-flex;gap:4px;padding:3px;border-radius:12px;background:#10222a0d;border:1px solid rgba(16,34,42,.06)}.training-calendar-meta{margin-top:-4px}.training-calendar-grid{gap:10px;padding:16px}.training-calendar-day{min-height:144px;gap:10px}.planning-calendar-chip.running{background:#2e7bd31f;border-color:#2e7bd329}.planning-calendar-chip.cycling{background:#288c601f;border-color:#288c6029}.planning-calendar-chip.swimming{background:#2170b01f;border-color:#2170b029}.planning-calendar-chip.key{box-shadow:inset 0 0 0 1px #d26a362e;font-weight:700}.training-calendar-week-stream{display:grid;gap:18px;height:100%;min-height:0;padding:16px;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;background:linear-gradient(180deg,#f2f5f8eb,#e9eff6eb),radial-gradient(circle at top,rgba(23,101,193,.08),transparent 36%)}.training-calendar-week-fixed{overflow-y:auto;scroll-behavior:auto}.training-calendar-week-section{display:grid;gap:12px;padding:14px;border-radius:24px;border:1px solid rgba(16,34,42,.07);background:#ffffffa8;box-shadow:0 18px 30px #10222a0d;scroll-margin-top:18px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.training-calendar-week-section.selected{border-color:#1765c12e;background:#f7fbffe6;box-shadow:0 24px 40px #14458714}.training-calendar-week-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:0 4px}.training-calendar-week-section-head span{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#4a5d6eb8}.training-calendar-week-section-head strong{font-family:Space Grotesk,sans-serif;font-size:1.02rem;color:#173556}.training-calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.training-calendar-week-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}.training-calendar-week-column{display:grid;gap:10px;padding:12px;border-radius:18px;border:1px solid rgba(16,34,42,.08);background:#ffffffc7;min-height:300px;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease,transform .14s ease}.training-calendar-week-column:hover{border-color:#2e7bd338;box-shadow:0 0 0 3px #2e7bd30f;background:#ecf4fdeb;transform:translateY(-1px)}.training-calendar-week-column.selected{border-color:#2e7bd347;box-shadow:0 0 0 3px #2e7bd314;background:linear-gradient(180deg,#e9f2fefa,#f7fafff0)}.training-calendar-week-head{display:grid;justify-items:start;gap:4px;padding:0;background:transparent;border:0;text-align:left;color:var(--primary)}.training-calendar-week-head span{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--muted)}.training-calendar-week-head strong{font-family:Space Grotesk,sans-serif;font-size:1.2rem}.training-calendar-week-head.today strong{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#2748d8;color:#fff}.training-calendar-week-stack{display:grid;gap:10px;align-content:start}.training-calendar-week-summary{display:grid;gap:6px;padding:8px;border-radius:10px;border:1px solid rgba(16,34,42,.06);background:linear-gradient(180deg,#fffffff5,#f4f7fbf0);font-size:.72rem}.training-calendar-week-summary-positive{border-color:#257a4d24;background:radial-gradient(circle at top right,rgba(37,122,77,.1),transparent 34%),linear-gradient(180deg,#fffffff5,#f4f9f6f0)}.training-calendar-week-summary-warning{border-color:#d26a3629;background:radial-gradient(circle at top right,rgba(210,106,54,.11),transparent 34%),linear-gradient(180deg,#fffffff5,#faf6f2f0)}.training-calendar-week-summary-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.training-calendar-week-summary-kpi{display:grid;gap:2px;min-width:0}.training-calendar-week-metric-head span,.training-calendar-week-summary-foot span{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.training-calendar-week-summary-kpi strong{font-family:Space Grotesk,sans-serif;font-size:.82rem;line-height:1.05}.training-calendar-week-summary-kpi.load strong{color:#173556}.training-calendar-week-summary-kpi small,.training-calendar-week-metric-row small{color:var(--muted);line-height:1.35}.training-calendar-week-summary-bars{display:grid;gap:6px}.training-calendar-week-metric-row{display:grid;gap:3px}.training-calendar-week-metric-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.training-calendar-week-metric-head strong,.training-calendar-week-summary-foot strong{font-family:Space Grotesk,sans-serif;font-size:.82rem;color:var(--primary)}.training-calendar-week-metric-track{height:7px;border-radius:999px;background:#9ba8b847;overflow:hidden}.training-calendar-week-metric-fill{display:block;height:100%;border-radius:inherit;background:#173556}.training-calendar-week-metric-fill.positive{background:#257a4d}.training-calendar-week-metric-fill.warning{background:#d26a36}.training-calendar-week-metric-fill.neutral{background:#6e7a88}.training-calendar-week-summary-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:1px}.training-calendar-week-summary-empty{margin:0;color:var(--muted);line-height:1.45}.training-calendar-session-card{display:grid;padding:0;border-radius:6px;border:1px solid rgba(16,34,42,.08);background:#fff;text-align:left;color:var(--primary);overflow:hidden;font-size:.72rem;transition:box-shadow .15s,border-color .15s}.training-calendar-session-card:hover{box-shadow:0 2px 8px #10222a1a;border-color:#10222a2e}.training-calendar-session-card.running{background:linear-gradient(180deg,#fff,#efeaff73);border-left:2px solid rgba(124,92,210,.5)}.training-calendar-session-card.cycling{background:linear-gradient(180deg,#fff,#fff0e173);border-left:2px solid rgba(210,140,60,.5)}.training-calendar-session-card.swimming{background:linear-gradient(180deg,#fff,#e1f5f573);border-left:2px solid rgba(50,180,170,.5)}.training-calendar-session-card.key{border-color:#d26a3640}.training-calendar-session-card.overlay{background:#10222a0a;border-style:dashed}.training-calendar-empty-slot{display:grid;place-items:center;min-height:48px;border-radius:8px;border:1px dashed rgba(16,34,42,.08);color:var(--muted);font-weight:600;font-size:.7rem}.training-calendar-sidebar,.training-calendar-summary-card{gap:8px}.training-calendar-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.training-calendar-discipline-mix{display:flex;gap:8px;flex-wrap:wrap}.training-calendar-warning-list{display:grid;gap:10px}.training-calendar-warning{display:grid;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid rgba(16,34,42,.08);background:#ffffffbd}.training-calendar-warning span{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.training-calendar-warning p,.training-calendar-warning small{margin:0;color:var(--muted)}.training-calendar-warning.high{border-color:#b745452e;background:#fcf0f0e0}.training-calendar-warning.medium{border-color:#d26a362e;background:#fbf4eee0}.training-calendar-warning.low{border-color:#2e7bd329;background:#eff6ffe0}.planning-calendar-detail-head{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid rgba(16,34,42,.08)}.planning-day-stack{display:grid;gap:10px}.planning-day-card{display:grid;gap:7px;padding:14px;border-radius:16px;border:1px solid rgba(16,34,42,.06);background:linear-gradient(180deg,#ffffffeb,#f8f6f1f5);box-shadow:inset 0 1px #ffffffbf}.planning-day-card.clickable{cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.planning-day-card.clickable:hover{transform:translateY(-1px);border-color:#10222a24;box-shadow:0 16px 28px #10222a14}.planning-day-card.empty{background:#ffffffdb}.planning-day-card.source{background:linear-gradient(135deg,#10222a12,#ffffffeb)}.planning-day-card.overlay{background:linear-gradient(180deg,#ecf2f1eb,#fffffff0)}.planning-day-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.planning-microcycle{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.planning-week-card{display:grid;gap:6px;padding:12px 14px;border-radius:16px;background:#ffffff94;border:1px solid rgba(16,34,42,.06)}.planning-week-card.positive{background:linear-gradient(135deg,#257a4d1a,#ffffffa8)}.planning-week-card.warning{background:linear-gradient(135deg,#d26a361a,#ffffffa8)}.planning-week-card.neutral{background:linear-gradient(135deg,#16353d0f,#ffffffa8)}.planning-week-card p,.planning-week-card small{margin:0}.planning-week-card small,.planning-archive-card small{color:var(--muted)}.planning-week-num{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.5;min-width:1.5rem}.planning-week-theme{font-size:.75rem;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-day-card.bla-active{border-left:3px solid #e11d48}.planning-calendar-detail,.planning-calendar-shell{background:#ffffffeb}.planning-calendar-grid{gap:6px;padding:10px;border-radius:16px;box-shadow:none}.planning-calendar-day{min-height:92px;gap:6px;padding:9px;border-radius:14px;box-shadow:none}.planning-calendar-detail{gap:10px;padding:16px;border-radius:18px;box-shadow:none}.planning-day-card{gap:6px;padding:12px 13px;border-radius:14px;box-shadow:none}.planning-microcycle{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.planning-week-card{padding:12px 13px;border-radius:16px;box-shadow:none}:root[data-theme=dark] .planning-day-card strong,:root[data-theme=dark] .planning-calendar-detail strong{color:#f2f7fa}:root[data-theme=dark] .planning-timeline-pill.selected,:root[data-theme=dark] .planning-calendar-day.selected{background:linear-gradient(180deg,#c97d3d3d,#2c1f17f5);border-color:#ffb0675c}:root[data-theme=dark] .planning-timeline-pill.selected,:root[data-theme=dark] .planning-calendar-day.selected{background:#25323a;border-color:#ffb06742;box-shadow:inset 0 0 0 1px #ffb06714}.planning-calendar-trigger{min-width:0;min-height:0;padding:8px 18px;border:1px solid rgba(17,83,173,.34);border-radius:8px;background:linear-gradient(135deg,#0b4c9c,#1765c1 58%,#2e87da);color:#f4f9ff;font-family:Space Grotesk,sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.08em;box-shadow:0 4px 12px #1765c126;transition:background .14s ease,transform .14s ease,box-shadow .14s ease}.planning-calendar-trigger:hover{background:linear-gradient(135deg,#09458e,#1458ab 58%,#2878c7);transform:translateY(-1px);box-shadow:0 6px 16px #1765c138}.planning-calendar-app-tab{appearance:none;border:0;border-radius:12px;background:transparent;color:#f0f7ffcc;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.planning-calendar-app-tab:hover{background:#ffffff1a;color:#fff;box-shadow:inset 0 0 0 1px #ffffff14;transform:translateY(-1px)}.planning-calendar-app-tab.active{background:#ffffff1f;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f}.planning-calendar-app-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 12px;background:#fff;border-bottom:1px solid rgba(16,34,42,.06)}.planning-calendar-toolbar-center,.planning-calendar-toolbar-right{display:flex;align-items:center;gap:6px}.planning-calendar-toolbar-heading{display:grid;gap:1px}.planning-calendar-toolbar-heading strong{font-family:Space Grotesk,sans-serif;font-size:.84rem;line-height:1}.planning-calendar-toolbar-heading p{margin:0;color:var(--muted);font-size:.62rem}.planning-calendar-toolbar-nav{display:flex;align-items:center;gap:5px}.planning-calendar-athlete-chip,.planning-calendar-source-chip{appearance:none;border:1px solid rgba(16,34,42,.08);border-radius:8px;background:#fff;color:var(--primary);padding:3px 8px;font:inherit;font-size:.72rem;font-weight:700}.planning-calendar-source-chip{background:#1765c10f;color:#0b4c9c}.planning-calendar-month-stream{display:grid;gap:12px;height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 14px 28px;scroll-behavior:smooth;background:#f3f2f7}.planning-calendar-month-fixed{overflow-y:auto;scroll-behavior:auto}.planning-calendar-month-section{display:grid;gap:4px}.planning-calendar-month-section.active .planning-calendar-month-section-head strong{color:#173556}.planning-calendar-month-section-head{position:static;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:4px 4px 2px;background:transparent}.planning-calendar-month-section-head strong{font-family:Space Grotesk,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8a99a5}.planning-calendar-month-section-head small{color:#5f6d79}.planning-calendar-month-board{display:grid;gap:0;border-radius:14px;overflow:hidden;border:1px solid rgba(16,34,42,.08);background:#fff;box-shadow:0 6px 16px #10222a0a}.planning-calendar-month-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) 220px;background:#fff;border-bottom:1px solid rgba(16,34,42,.08)}.planning-calendar-month-summary-heading{padding:8px 12px;border-left:1px solid rgba(16,34,42,.08);font-size:.76rem;font-weight:700;color:#526170;letter-spacing:.08em;text-transform:uppercase}.planning-calendar-month-rows{display:grid}.planning-calendar-month-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;min-height:130px;border-bottom:1px solid rgba(16,34,42,.06)}.planning-calendar-month-row.selected{background:#e8f0fb6b}.planning-calendar-month-row-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.planning-calendar-month-row-grid>.planning-calendar-app-day,.planning-calendar-month-row-grid>.planning-calendar-app-spacer{min-height:130px}.planning-calendar-month-row-summary{display:grid;align-content:start;gap:8px;padding:8px 10px;border-left:1px solid rgba(16,34,42,.06);background:#fffffff5;font-size:.76rem}.planning-calendar-month-row-summary.positive{background:linear-gradient(180deg,#f1faf2fa,#fffffff5)}.planning-calendar-month-row-summary.warning{background:linear-gradient(180deg,#fff7eefa,#fffffff5)}.planning-calendar-month-row-summary.selected{box-shadow:inset 3px 0 #2748d8b8}.planning-calendar-month-row-summary-head{display:grid;gap:4px;padding:0;border:0;background:transparent;text-align:left;color:inherit;font:inherit}.planning-calendar-month-row-summary-head span,.planning-calendar-month-row-metric-head span{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.planning-calendar-month-row-summary-head strong{font-family:Space Grotesk,sans-serif;font-size:1.28rem;line-height:1;color:#223745}.planning-calendar-month-row-summary-head small{color:#60707c;line-height:1.35}.planning-calendar-month-row-metrics{display:grid;gap:10px}.planning-calendar-month-row-metric{display:grid;gap:6px}.planning-calendar-month-row-metric-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.planning-calendar-month-row-metric-head strong{font-size:.88rem;color:#223745}.planning-calendar-month-row-metric-track{height:8px;border-radius:999px;background:#98a5b54d;overflow:hidden}.planning-calendar-month-row-metric-fill{display:block;height:100%;border-radius:inherit;background:#7b8a96}.planning-calendar-month-row-metric-fill.positive{background:#257a4d}.week-load-display{display:grid;gap:10px;padding:12px 0 0;border-top:1px solid rgba(16,34,42,.08);margin-top:2px}.week-load-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.week-load-kpis:has(.load-kpi-card:nth-child(4)){grid-template-columns:repeat(4,1fr)}.load-kpi-card{position:relative;display:grid;gap:2px;text-align:center;padding:8px 4px;border-radius:8px;background:#10222a06;cursor:help;transition:background .15s}.load-kpi-card:hover{background:#10222a0f}.load-kpi-label{font-size:.62rem;font-weight:600;letter-spacing:.02em;color:var(--muted, #7b8a96);line-height:1.2}.load-kpi-value-row{display:flex;align-items:baseline;justify-content:center;gap:3px}.load-kpi-value{font-family:Space Grotesk,sans-serif;font-size:1.32rem;font-weight:700;line-height:1}.load-kpi-acronym{font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, #7b8a96);opacity:.7}.load-kpi-card.compact{padding:5px 3px;border-radius:6px}.load-kpi-card.compact .load-kpi-label{font-size:.56rem}.load-kpi-card.compact .load-kpi-value{font-size:1.05rem}.load-kpi-card.compact .load-kpi-acronym{font-size:.52rem}.week-load-display.compact .week-load-kpis{gap:4px}.week-load-estimated-badge{display:block;text-align:center;font-size:.58rem;color:var(--muted, #7b8a96);font-style:italic;opacity:.7;padding:0 2px}.week-load-disc-breakdown{display:grid;gap:3px;padding-top:6px;border-top:1px dashed rgba(16,34,42,.06)}.week-load-disc-row{display:flex;align-items:center;gap:5px;font-size:.72rem}.week-load-disc-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.week-load-disc-name{color:var(--muted, #7b8a96);min-width:48px}.week-load-disc-ctl{font-weight:700;color:#223745;margin-left:auto}.week-load-disc-tsb{font-weight:600;font-size:.68rem;min-width:28px;text-align:right}.load-tooltip-wrapper{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:1000;pointer-events:auto;animation:loadTooltipFadeIn .15s ease-out}.load-kpi-card:first-child .load-tooltip-wrapper{left:0;transform:none}.load-kpi-card:last-child .load-tooltip-wrapper{left:auto;right:0;transform:none}@keyframes loadTooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.load-kpi-card:first-child .load-tooltip-wrapper{animation-name:loadTooltipFadeInLeft}@keyframes loadTooltipFadeInLeft{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.load-kpi-card:last-child .load-tooltip-wrapper{animation-name:loadTooltipFadeInRight}@keyframes loadTooltipFadeInRight{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.load-tooltip-content{width:320px;background:#1a2b36;color:#e4eaf0;border-radius:10px;padding:14px 16px;font-size:.76rem;line-height:1.45;box-shadow:0 8px 32px #00000047,0 2px 8px #00000026}.load-tooltip-header{display:grid;gap:1px;margin-bottom:8px}.load-tooltip-header strong{font-size:.88rem;color:#fff}.load-tooltip-header span{font-size:.66rem;color:#8da3b0;font-style:italic}.load-tooltip-desc{color:#c4d1da;margin:0 0 10px}.load-tooltip-calc{display:grid;gap:4px;margin-bottom:10px;padding:8px 10px;background:#ffffff0f;border-radius:6px}.load-tooltip-calc>span{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8da3b0}.load-tooltip-calc code{font-family:Space Grotesk,SF Mono,monospace;font-size:.72rem;color:#6ec7ff;word-break:break-all}.load-tooltip-ranges{margin-bottom:10px}.load-tooltip-ranges>span{display:block;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8da3b0;margin-bottom:4px}.load-tooltip-range-list{display:grid;gap:2px}.load-tooltip-range-row{display:flex;align-items:baseline;gap:8px}.load-tooltip-range-row code{font-family:Space Grotesk,SF Mono,monospace;font-size:.68rem;color:#6ec7ff;min-width:72px;flex-shrink:0}.load-tooltip-range-row span{color:#c4d1da}.load-tooltip-current-zone{display:flex;align-items:baseline;gap:6px;padding:6px 0;border-top:1px solid rgba(255,255,255,.08);margin-bottom:6px}.load-tooltip-current-zone>span{font-size:.66rem;color:#8da3b0}.load-tooltip-current-zone>strong{font-size:.76rem}.load-tooltip-warning{margin:0;padding:8px 10px;background:#d2a03c1a;border-left:3px solid rgba(210,160,60,.5);border-radius:0 6px 6px 0;font-size:.68rem;color:#c4b07a;line-height:1.4}.planning-calendar-month-row-metric-fill.warning{background:#d26a36}.planning-calendar-month-row-metric-fill.neutral{background:#728091}.planning-summary-threshold-stack{display:grid;gap:10px}.planning-summary-threshold-row{display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:#f5f8fbeb;border:1px solid rgba(16,34,42,.06)}.planning-summary-threshold-row small{color:#d26a36;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.planning-summary-threshold-row strong{font-family:Space Grotesk,sans-serif;font-size:1rem}.planning-summary-threshold-row span{color:#657481;font-size:.82rem;line-height:1.35}.planning-calendar-app-header-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#fff;border-bottom:1px solid rgba(16,34,42,.08)}.planning-calendar-app-weekday{padding:8px 10px;font-size:.76rem;font-weight:700;color:#526170;letter-spacing:.08em}.planning-calendar-app-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);min-height:0;height:100%}.planning-calendar-app-day{display:grid;align-content:start;gap:3px;min-height:0;padding:4px 5px;border-right:1px solid rgba(16,34,42,.06);border-bottom:1px solid rgba(16,34,42,.06);background:#f8f9fb;overflow:hidden;cursor:pointer;transition:background .14s ease,box-shadow .14s ease}.planning-calendar-app-day:hover{background:linear-gradient(180deg,#f0ecf6,#ece8f4);box-shadow:inset 0 0 0 1px #7c5cd21f}.planning-calendar-app-day.selected{background:linear-gradient(180deg,#ece7f5,#e6e0f2);box-shadow:inset 0 0 0 2px #7c5cd22e}.planning-calendar-app-day.in-block{background:linear-gradient(180deg,#ffffffeb,#f1f6fff0)}.planning-calendar-app-day-label{appearance:none;border:0;background:transparent;padding:0;text-align:left;font:inherit;font-weight:600;font-size:.72rem;color:#5a6a78;transition:color .14s ease}.planning-calendar-app-day.selected .planning-calendar-app-day-label{color:#16345f}.planning-calendar-app-day.selected .planning-calendar-app-empty{background:#ffffffb8;border-color:#2748d83d}.planning-calendar-app-day-label.today{display:inline-flex;align-items:center;width:fit-content;padding:5px 9px;border-radius:10px;background:#2748d8;color:#fff}.planning-calendar-app-day-stack{display:grid;gap:6px;align-content:start;min-height:0}.planning-calendar-app-session{display:grid;padding:0;border-radius:6px;border:1px solid rgba(16,34,42,.1);background:#fff;text-align:left;overflow:hidden;transition:box-shadow .12s}.planning-calendar-app-session:hover{box-shadow:0 1px 6px #10222a1a}.planning-calendar-app-session.running{border-left-color:#63b05a}.planning-calendar-app-session.cycling{border-left-color:#8e55d6}.planning-calendar-app-session.swimming{border-left-color:#27a7d9}.planning-calendar-app-session.key{background:linear-gradient(135deg,#fff 60%,#f8f2df99)}.planning-calendar-app-empty{min-height:44px;border:1px dashed rgba(16,34,42,.16);border-radius:10px;background:#ffffff7a;color:#6a7884;font-size:1.2rem}.planning-calendar-app-summary{display:grid;align-content:start;gap:14px;padding:16px;background:#fff;border-left:1px solid rgba(16,34,42,.08);overflow:auto}.planning-calendar-warning-panel,.planning-calendar-day-panel,.planning-calendar-summary-stats{display:grid;gap:10px}.planning-calendar-summary-stats article{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding-bottom:8px;border-bottom:1px solid rgba(16,34,42,.08)}.planning-calendar-summary-stats small{color:var(--muted)}.planning-calendar-summary-stats strong{text-align:right}.planning-summary-quickviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.planning-summary-quickview{display:grid;gap:10px;padding:14px 16px;border-radius:18px;border:1px solid rgba(16,34,42,.07);background:#f8fafceb}.planning-summary-quickview-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.planning-summary-quickview-head span{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.planning-summary-quickview-head strong{font-size:.92rem}.planning-summary-quickview.thresholds{align-content:start}.planning-summary-threshold-stack.compact{gap:8px}.planning-summary-mini-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:end;min-height:78px}.planning-summary-mini-bars.compact{grid-template-columns:repeat(4,minmax(0,1fr));min-height:72px}.planning-summary-mini-bar{display:grid;gap:6px;justify-items:center;align-items:end}.planning-summary-mini-bar span{width:100%;min-height:14px;border-radius:999px;background:#7b8a9647}.planning-summary-mini-bar.positive span{background:linear-gradient(180deg,#55ab66f2,#308547e0)}.planning-summary-mini-bar.warning span{background:linear-gradient(180deg,#d68b47f2,#c46730e0)}.planning-summary-mini-bar.neutral span{background:linear-gradient(180deg,#8697a5e6,#697987d1)}.planning-summary-mini-bar small{font-size:.7rem;color:var(--muted)}.planning-summary-quickview-note{margin:0;color:#556572;line-height:1.45}.planning-summary-actions{display:flex;gap:10px;flex-wrap:wrap}.planning-calendar-stage{display:grid;gap:16px}.planning-week-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.training-calendar-week-drop-zone{flex:1;display:flex;flex-direction:column;min-height:0}.training-calendar-week-drop-zone.dnd-drop-active{border:2px dashed rgba(46,123,211,.55);border-radius:12px;background:#2e7bd30f;transition:border-color .12s ease,background .12s ease}.training-calendar-session-card.dnd-drag-overlay{transform:scale(1.02);box-shadow:0 8px 24px #10222a2e,0 2px 6px #10222a1a;opacity:.95;pointer-events:none;z-index:9999;border-radius:12px;max-width:180px}.training-calendar-session-card.dnd-just-dropped{animation:dnd-drop-flash .6s ease-out}@keyframes dnd-drop-flash{0%{box-shadow:0 0 0 3px #2e7bd359}to{box-shadow:0 0 #2e7bd300}}.planning-calendar-detail{animation:slideInRight .28s cubic-bezier(.22,1,.36,1) both}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.training-calendar-session-card{transition:transform .18s ease,box-shadow .18s ease}.training-calendar-session-card.dnd-drag-overlay{animation:dragLift .2s cubic-bezier(.22,1,.36,1) both}@keyframes dragLift{0%{transform:scale(1);box-shadow:0 2px 6px #10222a14}to{transform:scale(1.04);box-shadow:0 12px 32px #10222a2e,0 2px 8px #10222a1a}}.calendar-violation-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;font-size:.7rem;line-height:1;cursor:help}.calendar-violation-badge.spacing{background:#fef3c7;color:#92400e}.calendar-day-conflict-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#dc2626;margin-left:4px;vertical-align:middle;flex-shrink:0}.garmin-day-sync-indicator{font-size:.65rem;font-weight:600;margin-left:4px;padding:0 3px;border-radius:3px}.garmin-day-sync-indicator.sent{color:#15803d}.garmin-day-sync-indicator.pending{color:#6b7280;background:#f3f4f6}.day-detail-garmin-status{display:flex;align-items:center;gap:6px;margin-top:4px}.day-detail-garmin-error{font-size:.72rem;color:#dc2626;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-ghost-add{width:22px;height:22px;margin:4px auto;display:grid;place-items:center;border-radius:50%;border:1px dashed rgba(16,34,42,.12);background:#fff6;color:#9aa5ae;font-size:.82rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .14s ease,background .14s ease,border-color .14s ease}.planning-calendar-app-day:hover .calendar-ghost-add,.training-calendar-empty-slot.calendar-ghost-add{opacity:1}.calendar-ghost-add:hover{background:#7c5cd214;border-color:#7c5cd24d;color:#7c5cd2}.day-detail-panel{display:grid;align-content:start;gap:0;width:320px;max-height:100%;overflow-y:auto;background:#fff;border-left:1px solid rgba(16,34,42,.1);box-shadow:-2px 0 12px #10222a0f;animation:slideInRight .28s cubic-bezier(.22,1,.36,1) both}.day-detail-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:18px 16px 14px;border-bottom:1px solid rgba(16,34,42,.08)}.day-detail-panel-date{display:grid;gap:2px}.day-detail-panel-weekday{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#526170}.day-detail-panel-date strong{font-size:1.05rem;color:#1a2a36}.day-detail-panel-date small{font-size:.74rem;color:#6a7884}.day-detail-panel-close{appearance:none;border:0;background:transparent;font-size:1.3rem;color:#6a7884;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .12s ease}.day-detail-panel-close:hover{background:#10222a0f}.day-detail-panel-body{padding:14px 16px;display:grid;gap:14px}.day-detail-panel-empty{display:grid;gap:12px;text-align:center;padding:32px 16px}.day-detail-panel-empty p{margin:0;color:#6a7884;font-size:.88rem}.day-detail-panel-add-btn{appearance:none;border:1px dashed rgba(16,34,42,.18);background:#ffffffb8;border-radius:10px;padding:10px 16px;font:inherit;font-size:.82rem;font-weight:600;color:#3a5a8a;cursor:pointer;transition:background .12s ease,border-color .12s ease}.day-detail-panel-add-btn:hover{background:#2748d80f;border-color:#2748d847}.day-detail-panel-sessions{display:grid;gap:12px}.day-detail-session-card{display:grid;gap:8px;padding:14px;border-radius:12px;border:1px solid rgba(16,34,42,.08);box-shadow:0 1px 4px #10222a0d}.day-detail-session-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.day-detail-session-discipline{font-size:.72rem;font-weight:600;color:#526170}.day-detail-session-tone{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px}.day-detail-session-tone.tone-green{background:#3a9a5b1f;color:#2a7a4a}.day-detail-session-tone.tone-amber{background:#c27a2e1f;color:#8a5520}.day-detail-session-tone.tone-red{background:#c440401f;color:#8a2828}.day-detail-session-tone.tone-blue{background:#3a7dc41f;color:#2a5a8a}.day-detail-session-tone.tone-gray{background:#8a98a81f;color:#5a6a78}.day-detail-session-title{font-size:.96rem;line-height:1.15;color:#1a2a36}.day-detail-session-dose-step{display:grid;gap:4px}.day-detail-session-dose-step span{font-size:.72rem;color:#526170;font-weight:600}.day-detail-dose-progress{height:4px;border-radius:2px;background:#10222a14;overflow:hidden}.day-detail-dose-progress-fill{height:100%;border-radius:2px;background:#2748d8;transition:width .2s ease}.day-detail-session-info{margin:0;font-size:.78rem;color:#526170}.day-detail-session-duration{margin:0;font-size:.74rem;color:#6a7884}.day-detail-session-notes{margin:0;font-size:.74rem;color:#6a7884;line-height:1.35}.day-detail-session-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.day-detail-action{appearance:none;border:1px solid rgba(16,34,42,.12);background:#ffffffb8;border-radius:6px;padding:4px 10px;font:inherit;font-size:.68rem;font-weight:600;color:#3a5a8a;cursor:pointer;transition:background .12s ease}.day-detail-action:hover{background:#2748d814}.day-detail-action.active{background:#c440401f;color:#8a2828;border-color:#c4404033}.day-detail-action.danger{color:#8a2828}.day-detail-action.danger:hover{background:#c4404014}@media(max-width:1200px){.planning-calendar-app-content.with-day-panel{grid-template-columns:minmax(0,1fr)}.day-detail-panel{position:fixed;top:0;right:0;bottom:0;width:320px;z-index:100}}@media(max-width:1180px){.planning-calendar-app-content{grid-template-columns:minmax(0,1fr)}.planning-calendar-month-stream{padding-inline:14px}.planning-calendar-month-header{grid-template-columns:repeat(7,minmax(0,1fr))}.planning-calendar-month-summary-heading{display:none}.planning-calendar-month-row{grid-template-columns:minmax(0,1fr)}.planning-calendar-month-row-summary,.planning-calendar-app-summary{border-left:0;border-top:1px solid rgba(16,34,42,.08)}}@media(max-width:900px){.planning-calendar-app-toolbar{display:grid}.planning-calendar-toolbar-left,.planning-calendar-toolbar-center,.planning-calendar-toolbar-right{flex-wrap:wrap;justify-content:flex-start}.planning-calendar-app-header-row,.planning-calendar-month-header{display:none}.planning-calendar-month-stream{padding:12px 10px 28px}.planning-calendar-month-section-head{position:static;display:grid;gap:2px}.planning-calendar-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-calendar-month-row-grid,.planning-summary-quickviews,.planning-calendar-composer-insight-grid,.planning-calendar-composer-option-columns,.planning-athlete-selection-grid,.planning-library-grid,.planning-summary-grid,.planning-athlete-selection-meta{grid-template-columns:minmax(0,1fr)}}@media(max-width:1180px){.planning-studio-shell{grid-template-columns:minmax(0,1fr)}.planning-sidebar{position:static}.planning-week-snapshot{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.planning-ribbon-strip{gap:10px}.planning-ribbon-item{padding:8px 10px}.planning-sidebar-metrics{grid-template-columns:minmax(0,1fr)}}@media(max-width:920px){.planning-calendar-quick-add-grid,.planning-calendar-quick-add-grid.actions,.planning-calendar-quick-add-grid.library{grid-template-columns:minmax(0,1fr)}.planning-calendar-quick-add-category{grid-template-columns:auto minmax(0,1fr)}.planning-calendar-quick-add-category-count{grid-column:2;width:fit-content}.planning-calendar-quick-add-modal{padding:20px}}.session-card-inner{display:flex;flex-direction:column;width:100%;overflow:hidden}.session-card-inner.unplanned{opacity:.82}.session-card-body{display:flex;flex-direction:column;gap:2px;padding:3px 5px 4px}.session-card-header{display:flex;align-items:center;gap:5px}.session-card-sport-icon{flex-shrink:0;color:var(--muted, #7b8a96)}.session-card-header-badges{display:flex;align-items:center;gap:3px;flex-shrink:0;margin-left:auto}.session-card-compliance-icon{width:14px;height:14px;flex-shrink:0;display:inline-block;vertical-align:middle}.session-card-role-badge{font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:3px;line-height:1.5;white-space:nowrap}.session-card-role-badge.role-key{background:#d23c2824;color:#b03020}.session-card-role-badge.role-endurance{background:#2d783c24;color:#2a6e38}.session-card-role-badge.role-support{background:#3c6eb41f;color:#2a5a9a}.session-card-role-badge.role-test{background:#9650c824;color:#7040a0}.session-card-role-badge.role-extra{background:#3a7dc4;color:#fff}.session-card-role-badge.role-default{background:#646e821f;color:#505a68}.session-card-title{font-size:.68rem;font-weight:700;line-height:1.2;color:#1a2b36;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.session-card-metrics{display:flex;flex-direction:column;gap:1px;padding:3px 0 2px}.session-card-metric{display:flex;align-items:baseline;gap:3px;font-size:.66rem;line-height:1.2}.session-card-metric strong{font-family:Space Grotesk,sans-serif;font-weight:700;color:#1a2b36}.session-card-metric span{color:#4a5a6a;font-weight:500}.session-card-metric.muted span{color:#7a8a9a;font-size:.7rem}.session-card-metric-sub{font-size:.64rem!important;color:#9aaab8!important}.session-card-metrics.planned .session-card-metric span{color:#7a8a9a;font-size:.7rem;font-style:italic}.session-card-compact-info{font-size:.66rem;color:#6b7a8a;line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-card-dose{font-size:.7rem;font-weight:600;color:#2a3a4a;line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.session-card-objective{font-size:.64rem;color:#7a8a9a;line-height:1.25;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-style:italic}.session-card-planned-vs-actual{display:flex;gap:10px;padding:3px 0 0;border-top:1px dashed rgba(16,34,42,.08);margin-top:2px}.session-card-planned-vs-actual span{font-size:.64rem;color:#8a9aaa;font-style:italic}.session-card-warning{font-size:.64rem;color:#c27a2e;line-height:1.2;margin:2px 0 0;padding:2px 4px;background:#d2823212;border-radius:3px}.training-calendar-session-card.unplanned,.planning-calendar-app-session.unplanned{border-style:dashed;opacity:.82}.planning-calendar-trash-zone{position:fixed;bottom:24px;left:24px;z-index:9998;display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:14px;background:#dc3c3c14;border:2px dashed rgba(220,60,60,.35);color:#dc3c3cb3;font-size:12px;font-weight:600;pointer-events:all;transition:all .2s ease;animation:trashSlideIn .2s cubic-bezier(.22,1,.36,1) both}.planning-calendar-trash-zone.active{background:#dc3c3c2e;border-color:#dc3c3cb3;color:#dc3c3c;transform:scale(1.06);box-shadow:0 4px 20px #dc3c3c33}@keyframes trashSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.planning-kpi-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.planning-kpi-card{display:grid;gap:4px;padding:12px 14px;border-radius:18px;border:1px solid rgba(16,34,42,.06);background:#ffffffbd}.planning-kpi-card strong{font-family:Space Grotesk,sans-serif;font-size:.98rem;line-height:1.15}.planning-kpi-card small{color:var(--muted);line-height:1.3}.planning-kpi-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.planning-threshold-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0 0;padding-top:14px;border-top:1px solid rgba(16,34,42,.08)}.planning-threshold-card{display:grid;gap:6px;padding:14px 16px;border-radius:18px;border:1px solid rgba(16,34,42,.08);background:#f8f5efd6}.planning-threshold-card.policy{background:radial-gradient(circle at top right,rgba(47,122,119,.1),transparent 38%),#f3f7f4e6}.planning-threshold-card strong{font-family:Space Grotesk,sans-serif;font-size:1rem}.planning-threshold-card small{color:var(--muted);line-height:1.45}.planning-timeline{display:grid;gap:12px}.planning-timeline-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--muted);font-size:.92rem}.planning-timeline-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.planning-timeline-toolbar label{display:grid;gap:6px;color:var(--muted);font-size:.9rem}.planning-timeline-toolbar input{padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:#ffffffe6;color:var(--primary)}.planning-inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.planning-timeline-strip{position:relative;display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.planning-timeline-pill{position:relative;z-index:1;min-width:212px;max-width:248px;display:grid;gap:5px;padding:14px 16px 14px 15px;border-radius:18px;border:1px solid rgba(16,34,42,.07);background:radial-gradient(circle at top right,rgba(255,255,255,.86),transparent 34%),linear-gradient(180deg,#fffffff5,#f8f6f1eb);scroll-snap-align:start;appearance:none;text-align:left;cursor:pointer;box-shadow:0 10px 24px #10222a0d;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.planning-timeline-pill:hover{transform:translateY(-2px);border-color:#10222a24;box-shadow:0 16px 32px #10222a14}.planning-timeline-pill.selected{border-color:#d26a3661;box-shadow:0 0 0 3px #d26a361a,0 18px 34px #d26a361f}.planning-timeline-pill:before{content:"";position:absolute;left:16px;top:50%;width:10px;height:10px;border-radius:999px;transform:translateY(-50%);background:#16353d61}.planning-timeline-pill p,.planning-timeline-pill small{margin:0}.planning-timeline-pill strong{padding-left:18px;font-family:Space Grotesk,sans-serif;font-size:.98rem;line-height:1.08}.planning-timeline-pill p,.planning-timeline-pill small{color:var(--muted);line-height:1.35}.planning-timeline-pill.positive:before{background:#257a4d}.planning-timeline-pill.warning:before{background:#d26a36}.planning-timeline-pill.neutral:before{background:#16353d73}.planning-timeline-pill.target{border-color:#d26a3633;background:radial-gradient(circle at top right,rgba(210,106,54,.14),transparent 42%),#fffffff0}.planning-mini-card,.planning-archive-card{padding:14px 16px;border-radius:20px;border:1px solid rgba(16,34,42,.06);background:#ffffff94}.planning-timeline-card.active{border-color:#257a4d2e;box-shadow:0 14px 28px #257a4d14}.planning-timeline-card.positive,.planning-archive-card.positive{background:linear-gradient(135deg,#257a4d17,#ffffffa8)}.planning-timeline-card.warning,.planning-archive-card.warning{background:linear-gradient(135deg,#d26a361a,#ffffffa8)}.planning-timeline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.planning-timeline-head>div{display:grid;gap:4px}.planning-timeline-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.86rem;margin:8px 0 6px}.planning-card-dismiss,.planning-inline-action{border:0;background:#10222a0f;color:var(--text);border-radius:999px;padding:4px 9px;font:inherit;font-size:.74rem;cursor:pointer}.planning-card-dismiss:hover,.planning-inline-action:hover{background:#10222a1a}.planning-session-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.planning-session-publish-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.planning-session-publish-badge.positive{background:#2b7a431f;color:#1f6a3a}.planning-session-publish-badge.neutral{background:#d26a361f;color:#a2502a}.planning-session-publish-badge.negative{background:#8d2e0f1f;color:#8d2e0f}.planning-session-inline-actions{display:flex;gap:8px;flex-wrap:wrap}.planning-session-inline-actions .planning-inline-action{font-size:.82rem;padding:7px 11px}.planning-session-confidence{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.planning-session-confidence.alta{background:#257a4d1f;color:#257a4d}.planning-session-confidence.media{background:#d26a361f;color:#b55b2f}.planning-dose{display:inline-flex;justify-self:start;padding:6px 10px;border-radius:999px;background:#10222a0f;color:var(--primary);font-weight:700}.planning-threshold-note{display:block;margin-top:4px;color:#255d5b;font-size:.72rem;line-height:1.5}.planning-target-stack{display:grid;gap:12px}.planning-target-main{display:grid;gap:6px;padding:16px;border-radius:18px;background:radial-gradient(circle at top right,rgba(201,125,61,.12),transparent 42%),#ffffff9e;border:1px solid rgba(16,34,42,.06)}.planning-target-wide{min-height:0;align-content:start}.planning-mini-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.planning-foundation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.planning-foundation-card{display:grid;gap:8px;padding:14px 16px;border-radius:20px;border:1px solid rgba(16,34,42,.06);background:radial-gradient(circle at top right,rgba(201,125,61,.1),transparent 40%),#ffffff9e}.planning-template-card strong,.planning-template-detail strong{font-family:Space Grotesk,sans-serif}.planning-foundation-card p{margin:0;color:var(--muted)}.planning-template-browser,.planning-template-detail{display:grid;gap:10px;padding:14px 16px;border-radius:18px;background:#ffffff9e;border:1px solid rgba(16,34,42,.06)}.planning-template-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px}.planning-template-card{display:grid;gap:5px;text-align:left;border:1px solid rgba(16,34,42,.08);background:#ffffffdb;color:var(--text);border-radius:16px;padding:12px 12px 10px;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.planning-template-card:hover{transform:translateY(-1px);border-color:#c97d3d38}.planning-template-card.active{border-color:#c97d3d57;box-shadow:0 12px 24px #c97d3d1f;background:radial-gradient(circle at top right,rgba(201,125,61,.12),transparent 38%),#ffffffeb}.planning-structure-row{display:flex;align-items:center;gap:8px}.planning-template-card small,.planning-template-detail p{margin:0}.planning-template-card small,.planning-template-detail p{color:var(--muted)}.planning-template-match{display:inline-flex;align-items:center;justify-self:start;padding:5px 9px;border-radius:999px;background:#257a4d1f;color:#257a4d;font-size:.75rem;font-weight:700}.planning-template-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.planning-template-detail-head>div{display:grid;gap:6px}.planning-template-columns,.planning-template-rationale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.planning-template-columns>div{display:grid;gap:8px}.planning-template-rationale{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-draft-section{margin-bottom:.5rem}.planning-draft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.875rem;margin-top:1rem}.planning-draft-week{border:1px solid var(--color-border);border-radius:10px;padding:.875rem;background:var(--color-surface);display:flex;flex-direction:column;gap:.5rem}.planning-draft-week.load{border-color:color-mix(in srgb,var(--color-accent) 40%,transparent);background:color-mix(in srgb,var(--color-accent) 4%,var(--color-surface))}.planning-draft-week.build{border-color:color-mix(in srgb,var(--color-accent) 20%,transparent)}.planning-draft-week.recovery{border-color:color-mix(in srgb,var(--color-success, var(--tone-positive)) 40%,transparent);background:color-mix(in srgb,var(--color-success, var(--tone-positive)) 4%,var(--color-surface))}.planning-draft-week.specific{border-color:color-mix(in srgb,var(--color-warning, var(--tone-warning)) 40%,transparent);background:color-mix(in srgb,var(--color-warning, var(--tone-warning)) 4%,var(--color-surface))}.planning-draft-week-header{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.planning-draft-sessions{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.planning-draft-session{display:flex;align-items:flex-start;gap:.4rem;font-size:.78rem}.planning-draft-session.clickable{cursor:pointer;padding:6px 8px;margin:0 -8px;border-radius:12px;transition:background .14s ease,transform .14s ease}.planning-draft-session.clickable:hover{background:#10222a0a;transform:translate(2px)}.planning-draft-session.role-key .session-role-badge{background:color-mix(in srgb,var(--color-accent) 15%,transparent);color:var(--color-accent)}.planning-draft-session.role-recovery .session-role-badge{background:color-mix(in srgb,var(--color-success, var(--tone-positive)) 15%,transparent);color:var(--color-success, var(--tone-positive))}.planning-draft-session.role-test .session-role-badge{background:color-mix(in srgb,var(--color-warning, var(--tone-warning)) 15%,transparent);color:var(--color-warning, var(--tone-warning))}.planning-draft-controls{margin-top:auto;padding-top:.5rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.15rem}.planning-draft-controls small{font-size:.63rem;opacity:.55;line-height:1.4}.planning-draft-rules{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.planning-draft-rules small{font-size:.68rem;opacity:.6}.planning-candidates{margin-top:1.25rem;padding-top:.875rem;border-top:1px solid var(--color-border)}.planning-candidates-title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;opacity:.5;display:block;margin-bottom:.625rem}.planning-candidate{display:flex;flex-direction:column;gap:.1rem;padding:.4rem 0;border-bottom:1px solid var(--color-border);opacity:.45}.planning-candidate:last-child{border-bottom:none}.strava-activity-note{margin:0;padding:10px 12px;border-radius:14px;border:1px solid rgba(16,34,42,.06);font-size:.8rem;line-height:1.35}.strava-activity-note.positive{background:#e9f5ede6}.strava-activity-note.warning{background:#f9ede3e6}.strava-activity-note.neutral{background:#ebeff1e6}.planning-session-raw-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.strava-activity-note.positive,.planning-session-confidence.alta{background:linear-gradient(180deg,#fffffffa,#eef7f2f5)}.strava-activity-note.warning,.planning-session-confidence.media{background:linear-gradient(180deg,#fffffffa,#fbf2ecf5)}.planning-template-browser,.planning-template-detail{border-radius:26px}.planning-kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.planning-kpi-card,.planning-threshold-card{padding:14px 16px;border-radius:12px;background:#faf9f6f5;box-shadow:none}.planning-kpi-card strong,.planning-threshold-card strong{font-size:1.02rem}.planning-kpi-card small,.planning-threshold-card small{font-size:.82rem;line-height:1.45}.planning-threshold-strip{gap:10px;margin-top:2px;padding-top:12px}.planning-target-main{gap:8px;border-radius:22px;background:linear-gradient(180deg,#fffffffa,#f9f7f3f5)}.planning-mini-list{gap:10px}.planning-mini-card{padding:14px 16px;border-radius:18px}.planning-candidates{margin-top:16px;padding-top:14px}.planning-candidates-title{margin-bottom:10px;opacity:.7}.planning-candidate{gap:6px;padding:10px 0;opacity:.6}.planning-candidate.winner{opacity:1}.planning-timeline-toolbar{gap:10px;margin-bottom:10px}.planning-timeline-toolbar label{font-size:.84rem}.planning-timeline-pill{min-width:188px;max-width:220px;gap:6px;padding:12px 14px;border-radius:16px;background:#fffffff5;box-shadow:none}.planning-timeline-pill:hover{transform:translateY(-1px);box-shadow:0 10px 18px #10222a0a}.planning-timeline-pill strong{padding-left:16px;font-size:.92rem}.planning-timeline-pill p,.planning-timeline-pill small{font-size:.78rem}.planning-foundation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.planning-foundation-card{padding:13px 14px;border-radius:18px;box-shadow:none}.planning-template-browser,.planning-template-detail{border-radius:20px;box-shadow:none}.planning-template-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.planning-template-card{gap:6px;padding:12px;border-radius:16px;box-shadow:none}.planning-draft-section{margin-bottom:0}.planning-draft-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.planning-draft-week{gap:10px;padding:14px;border-radius:12px;border:1px solid rgba(16,34,42,.06);background:#fffffff5}.planning-draft-week.recovery,.planning-draft-week.specific{background:#fffffff5}.planning-draft-week.load{border-color:#c5663729}.planning-draft-week.recovery{border-color:#257a4d29}.planning-draft-week.specific{border-color:#7460a029}.planning-draft-session.clickable{padding:8px 10px;margin:0;border-radius:12px;background:#f8f6f2cc}.planning-draft-session.clickable:hover{transform:none;background:#f4f1ecf5}.planning-draft-controls{gap:4px;padding-top:10px}.planning-draft-rules{gap:10px;margin-top:14px;padding-top:12px}:root[data-theme=dark] .planning-draft-week,:root[data-theme=dark] .planning-draft-session.clickable{border-color:var(--border);background:var(--panel)}:root[data-theme=dark] .planning-archive-card small,:root[data-theme=dark] .planning-mini-card p{color:#a8bbc3}:root[data-theme=dark] .planning-draft-week,:root[data-theme=dark] .planning-draft-session.clickable{background:linear-gradient(180deg,#0f1d25f5,#0c181ff0);border-color:#ffffff14;box-shadow:inset 0 1px #ffffff08,0 14px 28px #0000002e}:root[data-theme=dark] .planning-archive-card.positive,:root[data-theme=dark] .planning-session-confidence.alta{background:linear-gradient(180deg,#12312cf5,#0d1e1ef0)}:root[data-theme=dark] .planning-archive-card.warning,:root[data-theme=dark] .planning-session-confidence.media{background:linear-gradient(180deg,#402818f5,#1b1512f0)}:root[data-theme=dark] .planning-card-dismiss,:root[data-theme=dark] .planning-timeline-pill{background:#142832eb;border-color:#ffffff14;color:#e8f0f4}:root[data-theme=dark] .planning-workspace-button strong,:root[data-theme=dark] .planning-timeline-pill strong{color:#eef5f8}:root[data-theme=dark] .planning-card-dismiss,:root[data-theme=dark] .planning-timeline-pill{background:#1a242a;border-color:#ffffff0f;box-shadow:none}:root[data-theme=dark] .planning-draft-week,:root[data-theme=dark] .planning-draft-session.clickable{background:#11191e;border-color:#ffffff0d;box-shadow:none}:root[data-theme=dark] .planning-archive-card.positive,:root[data-theme=dark] .planning-session-confidence.alta{background:#142227;border-color:#64bea024}:root[data-theme=dark] .planning-session-confidence.media,:root[data-theme=dark] .planning-threshold-card.policy{background:#211b17;border-color:#ffb06729}:root[data-theme=dark] .planning-template-detail p,:root[data-theme=dark] .planning-foundation-card p{color:#93a5ae}:root[data-theme=dark] .planning-inline-action:hover,:root[data-theme=dark] .planning-timeline-pill:hover{background:#1b262d;border-color:#ffffff14}.planning-kpi-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.planning-threshold-strip{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.planning-block-ribbon{display:grid;gap:12px;padding:20px 24px;background:#fff;border:1px solid rgba(16,34,42,.08);border-radius:12px;box-shadow:0 1px 3px #0000000a}.planning-ribbon-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.planning-ribbon-header .eyebrow{margin-bottom:2px}.planning-ribbon-header .muted{font-size:.8rem;margin:0}.planning-ribbon-header-actions{display:flex;align-items:center;gap:10px}.planning-ribbon-strip{display:flex;align-items:stretch;gap:14px;overflow-x:auto;padding:2px 0 6px;flex-wrap:nowrap}.planning-ribbon-strip.expanded{flex-wrap:wrap}.planning-ribbon-item{display:flex;align-items:center;gap:6px;flex:0 0 auto;position:relative;padding:10px 14px;border-radius:10px;background:#10222a06;border:1px solid rgba(16,34,42,.06);transition:background .14s ease,border-color .14s ease}.planning-ribbon-item:hover{background:#10222a0d;border-color:#10222a1f}.planning-ribbon-item.planned{border-left:3px solid var(--accent, #285fe7)}.planning-ribbon-item.historical{border-left:3px solid rgba(16,34,42,.18)}.planning-ribbon-item.target{border-left:3px solid #c85f2d}.planning-ribbon-card{display:grid;gap:2px;text-align:left;width:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--primary);transition:opacity .14s ease,color .14s ease}.planning-ribbon-card:hover{opacity:.82}.planning-ribbon-card.active{color:var(--accent)}.planning-ribbon-card.target{color:#c85f2d}.planning-ribbon-card strong{font-family:Space Grotesk,sans-serif;font-size:.95rem;line-height:1.18;white-space:nowrap}.planning-ribbon-card p,.planning-ribbon-card small{margin:0}.planning-ribbon-card p{color:var(--muted);font-size:.8rem;line-height:1.25}.planning-ribbon-delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:#dc262614;color:#dc2626;font-size:1rem;font-weight:700;line-height:1;flex:0 0 auto;opacity:0;transition:opacity .14s ease,background .14s ease;cursor:pointer}.planning-ribbon-item:hover .planning-ribbon-delete{opacity:1}.planning-ribbon-delete:hover{background:#dc26262e}.planning-ribbon-delete:disabled{opacity:.5;cursor:wait}.planning-history-grid,.planning-summary-grid{display:grid;gap:16px}.planning-library-grid,.planning-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-history-card p,.planning-summary-card p{margin:0;color:#4d5d68;line-height:1.5}.planning-summary-card.positive{background:linear-gradient(180deg,#f0f9effa,#fffffff5)}.planning-summary-card.warning{background:linear-gradient(180deg,#fff6e8fa,#fffffff5)}.planning-summary-card.rich{align-content:start}.planning-snapshot-card{display:grid;gap:6px;padding:14px 16px;border-radius:18px;border:1px solid rgba(16,34,42,.07);background:#ffffffb8}.planning-snapshot-card strong{font-family:Space Grotesk,sans-serif;font-size:1rem}.planning-snapshot-card small{color:var(--muted)}.planning-sidebar-card{display:grid;gap:14px}.planning-sidebar-head{display:grid;gap:6px}.planning-sidebar-head p{margin:0;color:var(--muted)}.planning-sidebar-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.planning-sidebar-stat{display:grid;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid rgba(16,34,42,.06);background:#f9f6f1e0}.planning-sidebar-stat span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.planning-sidebar-stat strong{font-family:Space Grotesk,sans-serif;font-size:.95rem}.planning-source-modal{width:min(760px,calc(100vw - 32px))}.planning-source-modal-body{display:grid;gap:14px;padding:4px 0 0}.planning-source-modal-card{display:grid;gap:6px;padding:14px 16px;border-radius:18px;border:1px solid rgba(16,34,42,.08);background:#f9f6f1e6}.planning-source-modal-card p{margin:0;color:var(--muted)}.planning-source-modal-actions{display:flex;justify-content:flex-end;padding-top:6px}.planning-calendar-quick-add-modal{width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;padding:26px;display:grid;gap:22px;background:linear-gradient(180deg,#fcfaf7fb,#f7fafffa),radial-gradient(circle at top right,rgba(23,101,193,.08),transparent 34%)}.planning-calendar-quick-add-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}.planning-calendar-quick-add-title{display:grid;gap:6px}.planning-calendar-quick-add-title h2{margin:0;font-size:clamp(1.9rem,3vw,2.7rem)}.planning-calendar-quick-add-title p{margin:0;color:var(--muted);max-width:720px}.planning-calendar-quick-add-actions{display:flex;gap:10px;flex-wrap:wrap}.planning-calendar-quick-add-body,.planning-calendar-quick-add-library{display:grid;gap:16px}.planning-calendar-quick-add-section-head{display:grid;gap:4px}.planning-calendar-quick-add-section-head strong{font-family:Space Grotesk,sans-serif;font-size:1.1rem;color:#173556}.planning-calendar-quick-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.planning-calendar-quick-add-grid.actions,.planning-calendar-quick-add-grid.library{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-calendar-quick-add-discipline-tabs,.planning-calendar-quick-add-layer-tabs{display:flex;gap:10px;flex-wrap:wrap}.planning-calendar-quick-add-tab-label{display:inline-flex;align-items:center;gap:8px}.planning-calendar-quick-add-tab,.planning-calendar-quick-add-layer{appearance:none;border:1px solid rgba(16,34,42,.08);background:#ffffffd1;color:#294151;border-radius:999px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.planning-calendar-quick-add-tab:hover,.planning-calendar-quick-add-layer:hover{transform:translateY(-1px);border-color:#1765c12e;background:#f4f9ffeb}.planning-calendar-quick-add-tab.active,.planning-calendar-quick-add-layer.active{border-color:#1765c13d;background:linear-gradient(180deg,#ebf4fffa,#f7fbfff0);color:#173556}.planning-calendar-quick-add-category-list{display:grid;gap:12px}.planning-calendar-quick-add-category{--quick-layer: #829296;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;border-radius:22px;border:1px solid rgba(16,34,42,.08);text-align:left;background:linear-gradient(90deg,color-mix(in srgb,var(--quick-layer) 10%,rgba(255,255,255,.92)),#ffffffc2);color:var(--primary);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}.planning-calendar-quick-add-category:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--quick-layer) 32%,rgba(16,34,42,.08));box-shadow:0 14px 28px color-mix(in srgb,var(--quick-layer) 10%,transparent)}.planning-calendar-quick-add-category.active{border-color:color-mix(in srgb,var(--quick-layer) 42%,rgba(16,34,42,.08));box-shadow:0 0 0 2px color-mix(in srgb,var(--quick-layer) 10%,transparent)}.planning-calendar-quick-add-category.tone-recovery{--quick-layer: #3f8f67}.planning-calendar-quick-add-category.tone-aerobic{--quick-layer: #2f7a77}.planning-calendar-quick-add-category.tone-lt1{--quick-layer: #2a7d8f}.planning-calendar-quick-add-category.tone-subthreshold{--quick-layer: #4f6bb8}.planning-calendar-quick-add-category.tone-lt2{--quick-layer: #ba6a2c}.planning-calendar-quick-add-category.tone-vo2{--quick-layer: #b64848}.planning-calendar-quick-add-category.tone-technical{--quick-layer: #3f7c9f}.planning-calendar-quick-add-category.tone-specific{--quick-layer: #91543d}.planning-calendar-quick-add-category.tone-strength{--quick-layer: #6b5b36}.planning-calendar-quick-add-category.tone-other{--quick-layer: #829296}.planning-calendar-quick-add-category-glyph{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-family:Space Grotesk,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--quick-layer) 78%,#0f1d24),var(--quick-layer));box-shadow:0 12px 24px color-mix(in srgb,var(--quick-layer) 18%,transparent)}.planning-calendar-quick-add-category-copy{min-width:0;display:grid;gap:4px}.planning-calendar-quick-add-category-copy strong{font-family:Space Grotesk,sans-serif;font-size:1.06rem;line-height:1}.planning-calendar-quick-add-category-copy small{color:#62717d;line-height:1.35}.planning-calendar-quick-add-category-count{padding:9px 12px;border-radius:999px;background:#ffffffd1;border:1px solid rgba(16,34,42,.08);font-size:.78rem;font-weight:700;color:#294151}.planning-calendar-quick-add-card{display:grid;gap:10px;padding:18px;text-align:left;border-radius:22px;border:1px solid rgba(16,34,42,.08);background:#ffffffe6;color:var(--primary);box-shadow:0 16px 28px #10222a0f;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.planning-calendar-quick-add-card:hover{transform:translateY(-1px);box-shadow:0 20px 34px #10222a1a;border-color:#1765c12e}.planning-calendar-quick-add-card.primary{background:linear-gradient(180deg,#f1f7fffa,#fffffff2)}.planning-calendar-quick-add-card.accent{background:linear-gradient(180deg,#fff5ecfa,#fffffff2)}.planning-calendar-quick-add-card.recommended{border-color:#5db05a47;box-shadow:0 0 0 2px #5db05a14}.planning-calendar-quick-add-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.planning-calendar-quick-add-card-hero{width:100%}.planning-quick-add-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid rgba(16,34,42,.08);background:#f7f9fcf5;color:#294151;box-shadow:inset 0 1px #fffc}.planning-quick-add-icon.large{width:48px;height:48px;border-radius:15px}.planning-quick-add-icon svg{width:20px;height:20px}.planning-quick-add-icon.large svg{width:24px;height:24px}.planning-quick-add-icon.kind-running{background:linear-gradient(180deg,#ebf7e7fa,#f7fcf5f0);color:#4b9f34}.planning-quick-add-icon.kind-cycling{background:linear-gradient(180deg,#fff4e6fa,#fffbf4f0);color:#c06a24}.planning-quick-add-icon.kind-swimming{background:linear-gradient(180deg,#e8f6fffa,#f6fbfff0);color:#2599cf}.planning-quick-add-icon.kind-strength{background:linear-gradient(180deg,#f8ebf6fa,#fcf7fbf0);color:#9b3daa}.planning-quick-add-icon.kind-event{background:linear-gradient(180deg,#f3effffa,#f9f7fff0);color:#7354cf}.planning-quick-add-icon.kind-off{background:linear-gradient(180deg,#f1f4f7fa,#fafbfcf0);color:#5e7282}.planning-quick-add-icon.kind-note{background:linear-gradient(180deg,#fff3e6fa,#fff9f3f0);color:#d46e1f}.planning-quick-add-icon.kind-mesocycle,.planning-quick-add-icon.kind-library{background:linear-gradient(180deg,#e9f2fffa,#f7fafff0);color:#23599a}.planning-calendar-quick-add-card strong{font-family:Space Grotesk,sans-serif;font-size:1.1rem;line-height:1.1}.planning-calendar-quick-add-card p,.planning-calendar-quick-add-card small{margin:0;color:#51606d;line-height:1.45}.planning-calendar-quick-add-card-clickable{all:unset;display:grid;gap:10px;padding:18px 18px 10px;cursor:pointer;text-align:left;color:var(--primary)}.planning-calendar-quick-add-card-clickable:hover{background:#1765c108}.planning-calendar-quick-add-card-action{all:unset;display:flex;align-items:center;justify-content:center;padding:8px 14px;margin:0 14px 14px;border-radius:12px;background:#1765c114;color:#1765c1;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .12s ease}.planning-calendar-quick-add-card-action:hover{background:#1765c129}.planning-calendar-quick-add-card-action:disabled{opacity:.5;cursor:not-allowed}.planning-calendar-quick-add-badge{padding:6px 10px;border-radius:999px;background:#5db05a24;color:#2d7b44;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.planning-bla-check-toggle{display:flex;cursor:pointer;-webkit-user-select:none;user-select:none}.planning-bla-check-toggle input{display:none}.planning-bla-check-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:#10222a0f;color:#51606d;font-size:.78rem;font-weight:700;transition:background .12s ease,color .12s ease}.planning-bla-check-pill.active{background:#c828281f;color:#b91c1c}.planning-bla-check-icon{font-size:.9rem}.planning-calendar-quick-add-accordion{display:grid;gap:2px}.planning-accordion-section{border-radius:14px;overflow:hidden;background:#ffffffd9;border:1px solid rgba(16,34,42,.06);transition:box-shadow .14s ease}.planning-accordion-section.expanded{box-shadow:0 8px 20px #10222a0f;border-color:#10222a1f}.planning-accordion-header{all:unset;display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;cursor:pointer;box-sizing:border-box;transition:background .1s ease}.planning-accordion-header:hover{background:#10222a08}.planning-accordion-header-copy{flex:1;display:grid;gap:2px}.planning-accordion-header-copy strong{font-family:Space Grotesk,sans-serif;font-size:.95rem;line-height:1.15}.planning-accordion-header-copy small{color:#51606d;font-size:.76rem;line-height:1.3}.planning-accordion-header-meta{display:flex;align-items:center;gap:6px;color:#8896a4;font-size:.78rem;font-weight:600}.planning-accordion-chevron{transition:transform .18s ease;font-size:.9rem}.planning-accordion-chevron.open{transform:rotate(180deg)}.planning-accordion-body{display:grid;gap:1px;padding:0 8px 8px}.planning-accordion-item{display:flex;align-items:center;gap:8px;border-radius:10px;background:#10222a06;transition:background .1s ease}.planning-accordion-item:hover{background:#10222a0d}.planning-accordion-item.recommended{background:#5db05a0f;border-left:3px solid rgba(93,176,90,.4)}.planning-accordion-item-info{all:unset;flex:1;display:grid;gap:2px;padding:10px 12px;cursor:pointer;min-width:0}.planning-accordion-item-info strong{font-family:Space Grotesk,sans-serif;font-size:.88rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planning-accordion-item-info small{color:#51606d;font-size:.74rem;line-height:1.3}.planning-accordion-item-add{all:unset;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#1765c11a;color:#1765c1;font-size:1.2rem;font-weight:700;cursor:pointer;flex-shrink:0;margin-right:8px;transition:background .1s ease}.planning-accordion-item-add:hover{background:#1765c133}.planning-accordion-item-add:disabled{opacity:.4;cursor:not-allowed}.planning-accordion-manual-form{display:grid;gap:10px;padding:4px 8px 8px}.planning-accordion-item-delete{all:unset;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:#94a3b8;font-size:1.1rem;cursor:pointer;flex-shrink:0;margin-right:4px;transition:color .1s ease,background .1s ease}.planning-accordion-item-delete:hover{color:#dc2626;background:#dc262614}.planning-accordion-empty{padding:12px 14px;color:#8896a4;text-align:center}.planning-coach-form-row{display:flex;gap:8px;align-items:center}.planning-coach-form-row .planning-manual-save-btn{flex:1}.planning-coach-add-template-btn{all:unset;display:flex;align-items:center;justify-content:center;padding:10px 14px;margin:4px 0;border-radius:10px;border:1px dashed rgba(16,34,42,.15);color:#1765c1;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .1s ease,border-color .1s ease}.planning-coach-add-template-btn:hover{background:#1765c10a;border-color:#1765c14d}.planning-accordion-section.coach{border-color:#d26a3626}.planning-accordion-section.coach.expanded{border-color:#d26a3640;box-shadow:0 8px 20px #d26a360f}.coach-create-form select.planning-manual-input{appearance:auto}.planning-coach-library{border-radius:10px;border:1px solid rgba(16,34,42,.06);overflow:hidden;margin-bottom:4px}.planning-coach-library.expanded{border-color:#d26a362e}.planning-coach-library-header{display:flex;align-items:center}.planning-coach-library-toggle{all:unset;flex:1;display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer}.planning-coach-library-toggle:hover{background:#10222a05}.planning-coach-library-name{display:grid;gap:1px}.planning-coach-library-name strong{font-family:Space Grotesk,sans-serif;font-size:.88rem}.planning-coach-library-name small{color:#8896a4;font-size:.74rem}.planning-coach-library-body{padding:0 8px 8px;display:grid;gap:2px}.planning-coach-new-library{display:grid;gap:8px;padding:8px 4px;margin-top:4px;border-top:1px solid rgba(16,34,42,.06)}.planning-calendar-quick-add-manual{display:grid;gap:16px}.planning-calendar-quick-add-manual-form{display:grid;gap:12px;padding:20px;border-radius:18px;background:#ffffffe6;border:1px solid rgba(16,34,42,.08)}.planning-manual-input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(16,34,42,.12);background:#fffffff2;font-size:.95rem;font-family:inherit;color:var(--primary);outline:none;transition:border-color .12s ease}.planning-manual-input:focus{border-color:#1765c166}.planning-manual-textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(16,34,42,.12);background:#fffffff2;font-size:.9rem;font-family:inherit;color:var(--primary);outline:none;resize:vertical;transition:border-color .12s ease}.planning-manual-textarea:focus{border-color:#1765c166}.planning-manual-save-btn{all:unset;display:flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:14px;background:var(--accent);color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .12s ease}.planning-manual-save-btn:hover{opacity:.88}.planning-manual-save-btn:disabled{opacity:.4;cursor:not-allowed}.planning-modal-reading-grid,.planning-modal-score-list{display:grid;gap:10px;margin-top:8px}.planning-modal-reading-item,.planning-modal-score-item{display:grid;gap:4px;padding:10px 12px;border-radius:14px;border:1px solid rgba(16,34,42,.08);background:#ffffffad}.planning-modal-reading-item span,.planning-modal-score-head span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.planning-modal-reading-item strong,.planning-modal-score-head strong{font-size:.92rem;line-height:1.28}.planning-modal-score-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.planning-modal-score-item.winner{border-color:#c97d3d42;background:radial-gradient(circle at top right,rgba(210,106,54,.08),transparent 42%),#ffffffd1}.session-card-title-truncated{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.session-card-compact-info{margin:0;font-size:.72rem;color:#526170;line-height:1.2}.planning-session-card-badges{display:flex;align-items:center;gap:4px;flex-shrink:0}.planning-session-garmin-badge{display:inline-flex;align-items:center;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:1px 5px;border-radius:3px;line-height:1.4}.planning-session-garmin-badge.garmin-draft{background:#f3f4f6;color:#6b7280}.planning-session-garmin-badge.garmin-ready{background:#dbeafe;color:#1d4ed8}.planning-session-garmin-badge.garmin-sent{background:#dcfce7;color:#15803d}.planning-session-garmin-badge.garmin-failed{background:#fee2e2;color:#dc2626}.garmin-batch-push{display:flex;align-items:center;gap:5px}.garmin-batch-push-progress{font-size:.7rem;color:#1d4ed8;font-weight:500}.garmin-batch-push-result{font-size:.7rem;color:#15803d;font-weight:500}.garmin-batch-push-result.has-errors{color:#dc2626}.garmin-batch-btn{white-space:nowrap}.library-week-editor-overlay{position:fixed;inset:0;z-index:900;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px}.library-week-editor-modal{background:var(--bg, #f8f9fa);border-radius:18px;width:100%;max-width:1100px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040}.library-week-editor-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid rgba(0,0,0,.06)}.library-week-editor-header h3{margin:0 0 8px;font-family:Space Grotesk,sans-serif;font-size:1.1rem}.library-week-editor-header-left{flex:1;min-width:0}.library-week-editor-name-row{display:flex;gap:8px}.library-week-editor-name-row .planning-manual-input{min-width:180px}.library-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:12px 16px;min-height:300px}.library-week-day{display:flex;flex-direction:column;background:#ffffffb3;border-radius:10px;overflow:hidden;min-width:0}.library-week-day-header{display:flex;align-items:baseline;justify-content:space-between;padding:8px 10px 6px;background:#00000008}.library-week-day-header strong{font-size:.82rem;font-family:Space Grotesk,sans-serif}.library-week-day-header small{font-size:.68rem;color:var(--muted)}.library-week-day-body{display:flex;flex-direction:column;gap:4px;padding:6px 6px 8px;flex:1}.library-week-workout-card{display:flex;align-items:flex-start;gap:4px;padding:6px 8px;border-radius:8px;background:#ffffffe6;border:1px solid rgba(0,0,0,.06);border-left:3px solid #999}.library-week-workout-info{flex:1;min-width:0;display:grid;gap:2px}.library-week-workout-info strong{font-size:.75rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-week-workout-info small{font-size:.65rem;color:var(--muted);line-height:1.2}.library-week-add-btn{all:unset;cursor:pointer;text-align:center;font-size:.72rem;color:var(--muted);padding:6px;border-radius:6px;border:1px dashed rgba(0,0,0,.12);margin-top:auto;transition:background .15s}.library-week-add-btn:hover{background:#0000000a;color:var(--foreground)}.library-week-add-form{display:flex;flex-direction:column;gap:4px;padding:6px;background:#00000005;border-radius:8px}.library-week-add-form .planning-manual-input,.library-week-add-form .planning-manual-textarea{font-size:.72rem;padding:4px 6px}.library-week-add-form .planning-manual-save-btn{font-size:.72rem;padding:4px 8px}.library-week-form-row{display:flex;gap:4px}.library-week-form-row select,.library-week-form-row input{flex:1;min-width:0}.library-week-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px 16px;border-top:1px solid rgba(0,0,0,.06);flex-wrap:wrap}.library-week-editor-footer-left{display:flex;align-items:center;gap:10px}.library-week-apply-section{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.library-week-apply-label{font-size:.78rem;font-weight:600;color:var(--muted);white-space:nowrap}.library-week-apply-section .planning-manual-input{width:auto;min-width:120px}.library-week-message{font-size:.78rem;color:#16a34a;font-weight:500}.wlp-root{display:flex;flex-direction:column;gap:0;height:100%;overflow-y:auto}.wlp-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 10px}.wlp-header h3{margin:0;font-family:Space Grotesk,sans-serif;font-size:1.05rem}.wlp-header-actions{display:flex;gap:6px}.wlp-toolbar{display:flex;align-items:center;gap:10px;padding:0 20px 10px;flex-wrap:wrap}.wlp-search{flex:1;min-width:160px;padding:7px 12px;border-radius:8px;border:1px solid rgba(0,0,0,.1);background:#fff;font-size:.82rem;outline:none}.wlp-search:focus{border-color:#00000040}.wlp-filters{display:flex;gap:10px;align-items:center}.wlp-filter-group{display:flex;align-items:center;gap:4px}.wlp-filter-group label{font-size:.72rem;color:var(--muted);font-weight:600}.wlp-select{padding:5px 8px;border-radius:6px;border:1px solid rgba(0,0,0,.1);background:#fff;font-size:.75rem;cursor:pointer}.wlp-create-library-form{display:flex;align-items:center;gap:8px;padding:8px 20px;background:#00000005;border-bottom:1px solid rgba(0,0,0,.06)}.wlp-create-library-actions{display:flex;gap:6px}.wlp-folder-list{display:flex;flex-direction:column;padding:0 12px 20px}.wlp-folder{border-bottom:1px solid rgba(0,0,0,.05);position:relative}.wlp-folder-coach{background:#3b82f605}.wlp-folder-header{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;padding:10px 8px;width:100%;box-sizing:border-box;font-size:.85rem;transition:background .1s}.wlp-folder-header:hover{background:#00000008}.wlp-folder-chevron{font-size:.6rem;color:var(--muted);transition:transform .15s}.wlp-folder-chevron.open{transform:rotate(90deg)}.wlp-folder-icon{font-size:.9rem}.wlp-folder-name{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wlp-folder-count{color:var(--muted);font-size:.78rem;font-weight:400}.wlp-folder-actions{position:absolute;right:8px;top:8px;display:flex;gap:4px}.wlp-folder-action{all:unset;cursor:pointer;font-size:.7rem;padding:2px 6px;border-radius:4px;background:#0000000d;color:var(--muted)}.wlp-folder-action:hover{background:#0000001a}.wlp-folder-action.danger:hover{background:#dc26261a;color:#dc2626}.wlp-folder-body{display:flex;flex-direction:column;padding:0 0 8px 24px}.wlp-workout-item{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .1s}.wlp-workout-item:hover{background:#00000008}.wlp-workout-item.recommended{background:#22c55e0a}.wlp-workout-info{flex:1;min-width:0;display:grid;gap:2px}.wlp-workout-info strong{font-size:.8rem;line-height:1.25}.wlp-workout-info small{font-size:.7rem;color:var(--muted);line-height:1.3}.wlp-workout-meta{display:flex;gap:8px;font-size:.68rem;color:var(--muted);margin-top:2px}.wlp-workout-disc-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;vertical-align:middle}.wlp-badge-rec{color:#16a34a;font-weight:600}.wlp-add-workout-btn{all:unset;cursor:pointer;padding:6px 10px;font-size:.75rem;color:var(--muted);border-radius:6px}.wlp-add-workout-btn:hover{background:#0000000a;color:var(--foreground)}.wlp-add-form{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:#00000005;border-radius:8px;margin:4px 0}.wlp-add-form-row{display:flex;gap:4px}.wlp-add-form-row select,.wlp-add-form-row input{flex:1;min-width:0}.wlp-empty{padding:30px 20px;text-align:center;color:var(--muted)}.wlp-empty strong{display:block;margin-bottom:4px}.tpp-root{display:flex;flex-direction:column;height:100%;overflow-y:auto}.tpp-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 10px}.tpp-header h3{margin:0;font-family:Space Grotesk,sans-serif;font-size:1.05rem}.tpp-toolbar{display:flex;align-items:center;gap:10px;padding:0 20px 10px}.tpp-plan-list{display:flex;flex-direction:column;padding:0 12px 20px}.tpp-plan-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid rgba(0,0,0,.05);cursor:pointer;transition:background .1s}.tpp-plan-item:hover{background:#00000008}.tpp-plan-info{flex:1;min-width:0;display:grid;gap:2px}.tpp-plan-info strong{font-size:.88rem}.tpp-plan-info small{font-size:.72rem;color:var(--muted)}.tpp-plan-actions{display:flex;gap:6px}.tpp-plan-action{all:unset;cursor:pointer;font-size:.72rem;padding:4px 10px;border-radius:6px;background:#0000000d;color:var(--muted);font-weight:500}.tpp-plan-action:hover{background:#0000001a}.tpp-plan-action.danger:hover{background:#dc26261a;color:#dc2626}.tpp-plan-action.primary{background:#3b82f61a;color:#2563eb}.tpp-plan-action.primary:hover{background:#3b82f633}.tpp-empty{padding:40px 20px;text-align:center;color:var(--muted)}.tpp-empty strong{display:block;margin-bottom:4px}.tpp-create-form{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#00000005;border-bottom:1px solid rgba(0,0,0,.06)}.tpp-create-form .planning-manual-input{flex:1}.plan-editor-overlay{position:fixed;inset:0;z-index:900;background:#00000073;display:flex;align-items:stretch;justify-content:center;padding:16px}.plan-editor-modal{background:var(--bg, #f8f9fa);border-radius:18px;width:100%;max-width:1200px;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040;overflow:hidden}.plan-editor-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0}.plan-editor-header h3{margin:0;font-family:Space Grotesk,sans-serif;font-size:1rem}.plan-editor-header-left{display:flex;align-items:center;gap:10px}.plan-editor-header-controls{display:flex;align-items:center;gap:8px}.plan-editor-weeks-control{display:flex;align-items:center;gap:4px;font-size:.78rem}.plan-editor-weeks-btn{all:unset;cursor:pointer;width:22px;height:22px;text-align:center;border-radius:50%;background:#0000000f;font-weight:600;line-height:22px}.plan-editor-weeks-btn:hover{background:#0000001f}.plan-editor-body{flex:1;overflow-y:auto;padding:12px 16px}.plan-editor-week{display:grid;grid-template-columns:70px repeat(7,1fr);gap:2px;margin-bottom:2px}.plan-editor-week-label{display:flex;flex-direction:column;justify-content:center;padding:6px 8px;font-size:.72rem;font-weight:600;color:var(--muted)}.plan-editor-week-label strong{font-size:.78rem;color:var(--foreground)}.plan-editor-day-header{text-align:center;padding:4px;font-size:.72rem;font-weight:600;color:var(--muted);background:#00000008;border-radius:6px 6px 0 0}.plan-editor-cell{min-height:70px;background:#ffffffb3;border-radius:6px;padding:4px;display:flex;flex-direction:column;gap:3px}.plan-editor-cell-workout{display:flex;align-items:flex-start;gap:3px;padding:4px 6px;border-radius:5px;background:#ffffffe6;border:1px solid rgba(0,0,0,.06);border-left:3px solid #999}.plan-editor-cell-workout-info{flex:1;min-width:0}.plan-editor-cell-workout-info strong{font-size:.68rem;display:block;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-editor-cell-workout-info small{font-size:.6rem;color:var(--muted)}.plan-editor-cell-add{all:unset;cursor:pointer;text-align:center;font-size:.68rem;color:var(--muted);padding:3px;border-radius:4px;margin-top:auto;opacity:0;transition:opacity .15s}.plan-editor-cell:hover .plan-editor-cell-add{opacity:1}.plan-editor-cell-add:hover{background:#0000000d}.plan-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid rgba(0,0,0,.06);flex-shrink:0;flex-wrap:wrap}.plan-editor-footer-left{display:flex;align-items:center;gap:10px}.plan-editor-apply-section{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plan-editor-apply-label{font-size:.78rem;font-weight:600;color:var(--muted);white-space:nowrap}.plan-editor-message{font-size:.78rem;color:#16a34a;font-weight:500}.plan-editor-add-form{position:absolute;z-index:10;top:100%;left:0;width:220px;background:#fff;border-radius:10px;box-shadow:0 8px 24px #0000002e;padding:8px;display:flex;flex-direction:column;gap:4px}.plan-editor-add-form.plan-editor-add-form-blocks{width:380px;padding:0;overflow:visible;border-radius:16px}.plan-editor-add-form-blocks .wbb{border:none;border-radius:16px;box-shadow:none}.plan-editor-add-form .planning-manual-input,.plan-editor-add-form select{font-size:.72rem;padding:4px 6px}.plan-editor-add-form-row{display:flex;gap:4px}.plan-editor-add-form-row>*{flex:1;min-width:0}.meso-detail-backdrop{position:fixed;inset:0;z-index:9000;background:#00000080;display:grid;place-items:center;padding:24px;overflow-y:auto}.meso-detail-modal{background:#fff;border-radius:20px;box-shadow:0 24px 64px #00000040;width:100%;max-width:1100px;max-height:90vh;overflow-y:auto;display:grid;gap:0}.meso-detail-header{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:28px 32px 20px;border-bottom:1px solid rgba(16,34,42,.08);position:sticky;top:0;background:#fff;border-radius:20px 20px 0 0;z-index:2}.meso-detail-header h2{margin:4px 0 0;font-family:Space Grotesk,sans-serif;font-size:1.35rem}.meso-detail-summary{margin:6px 0 0;font-size:.88rem;color:#10222a99;max-width:600px}.meso-detail-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.meso-detail-body{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:0}.meso-detail-col{padding:24px 28px;display:grid;gap:20px;align-content:start;overflow-y:auto}.meso-detail-col:first-child{border-right:1px solid rgba(16,34,42,.06)}.meso-detail-section{display:grid;gap:10px}.meso-detail-section h3{margin:0;font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:700;color:var(--accent, #c0392b);text-transform:uppercase;letter-spacing:.04em}.meso-detail-section p{margin:0;font-size:.87rem;line-height:1.55;color:#10222acc}.meso-detail-section-sub{margin:8px 0 2px;font-size:.82rem;font-weight:600;color:#10222a80;text-transform:uppercase;letter-spacing:.03em}.meso-detail-reasons{margin:0;padding-left:18px;display:grid;gap:6px}.meso-detail-reasons li{font-size:.87rem;line-height:1.5;color:#10222acc}.meso-detail-reasons.compact{gap:3px}.meso-detail-reasons.compact li{font-size:.82rem}.meso-detail-contra{margin:0;padding-left:18px;display:grid;gap:4px}.meso-detail-contra li{font-size:.85rem;line-height:1.45;color:#b45309}.meso-detail-contra.compact li{font-size:.8rem}.meso-detail-warn-title{margin:10px 0 2px;font-size:.82rem;font-weight:700;color:#b45309;text-transform:uppercase;letter-spacing:.03em}.meso-detail-muted{font-size:.85rem;color:#10222a73;font-style:italic}.meso-detail-muted.compact{font-size:.8rem;margin:0}.meso-detail-physio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.meso-detail-physio-item{display:grid;gap:2px;padding:8px 10px;background:#10222a08;border-radius:10px}.meso-detail-physio-item small{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#10222a73}.meso-detail-physio-item strong{font-size:.85rem;font-weight:600}.meso-detail-lactate-card{display:grid;gap:12px;padding:16px;background:linear-gradient(135deg,#dc26260a,#f59e0b0a);border:1px solid rgba(220,38,38,.1);border-radius:14px}.meso-detail-lactate-row{display:flex;gap:10px;align-items:baseline;font-size:.87rem;line-height:1.5}.meso-detail-lactate-label{font-weight:700;font-family:Space Grotesk,sans-serif;font-size:.82rem;min-width:30px;color:#c0392b}.meso-detail-lactate-curve,.meso-detail-lactate-mechanism{border-top:1px solid rgba(16,34,42,.06);padding-top:10px}.meso-detail-lactate-curve h4,.meso-detail-lactate-mechanism h4{margin:0 0 4px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#10222a80}.meso-detail-lactate-curve p,.meso-detail-lactate-mechanism p{margin:0;font-size:.85rem;line-height:1.55}.meso-detail-current-gaps{margin-top:4px}.meso-detail-current-gaps h4{margin:0 0 8px;font-size:.82rem;font-weight:700;color:#10222a80;text-transform:uppercase;letter-spacing:.03em}.meso-detail-others{display:grid;gap:10px}.meso-detail-other-card{display:grid;gap:6px;padding:12px 14px;border:1px solid rgba(16,34,42,.06);border-radius:12px;background:#10222a04}.meso-detail-other-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.meso-detail-other-head strong{font-size:.88rem}.meso-detail-refs{margin-top:6px;padding-top:8px;border-top:1px solid rgba(16,34,42,.06)}.meso-detail-refs small{font-size:.75rem;color:#10222a73;font-style:italic}:root[data-theme=dark] .meso-detail-modal{background:#0e1c26;box-shadow:0 24px 64px #0009}:root[data-theme=dark] .meso-detail-header{background:#0e1c26;border-color:#ffffff0f}:root[data-theme=dark] .meso-detail-col:first-child{border-color:#ffffff0f}:root[data-theme=dark] .meso-detail-section p,:root[data-theme=dark] .meso-detail-reasons li{color:#e7eff4bf}:root[data-theme=dark] .meso-detail-physio-item{background:#ffffff0a}:root[data-theme=dark] .meso-detail-lactate-card{background:linear-gradient(135deg,#dc262614,#f59e0b0f);border-color:#dc262626}:root[data-theme=dark] .meso-detail-other-card{background:#ffffff08;border-color:#ffffff0f}@media(max-width:800px){.meso-detail-body{grid-template-columns:1fr}.meso-detail-col:first-child{border-right:none;border-bottom:1px solid rgba(16,34,42,.06)}}.library-block-row .planning-chip{border:0;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.library-block-row .planning-chip:hover{transform:translateY(-1px)}.library-block-row .planning-chip.active{background:var(--primary);color:#fff}.library-workout-modal{width:min(1480px,calc(100vw - 40px));padding:28px;display:grid;gap:22px;background:linear-gradient(180deg,#f9f7f3f7,#fffffffa)}.library-workout-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.library-workout-title-wrap{display:grid;gap:6px}.library-workout-title-wrap h2{margin:0;font-size:clamp(1.8rem,3vw,2.5rem)}.library-workout-title-wrap h2.library-workout-title-editable{cursor:pointer;border-bottom:1px dashed rgba(0,0,0,.15);transition:border-color .15s}.library-workout-title-wrap h2.library-workout-title-editable:hover{border-color:var(--accent, #c27a2e)}.library-workout-title-edit{display:flex}.library-workout-title-input{width:100%;font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;border:none;border-bottom:2px solid var(--accent, #c27a2e);background:transparent;outline:none;padding:2px 0;color:inherit}.library-workout-title-wrap p{margin:0;color:var(--muted);font-size:.98rem}.library-workout-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.library-workout-close{min-width:112px}.library-workout-raw-toggle.active{background:#16353d24;border-color:#16353d29;color:var(--primary)}.library-workout-hero{display:grid;grid-template-columns:minmax(340px,1fr) minmax(520px,1.28fr);gap:18px}.library-workout-summary-card,.library-workout-timeline-card{border:1px solid rgba(16,34,42,.08);border-radius:28px;padding:18px;background:#ffffffc7;box-shadow:var(--shadow-soft)}.library-workout-summary-card{display:grid;gap:16px;background:radial-gradient(circle at top right,rgba(210,106,54,.12),transparent 34%),#f4f7f1eb}.library-workout-badge-row{display:flex;gap:8px;flex-wrap:wrap}.library-workout-zone,.library-workout-readiness{padding:8px 12px;border-radius:999px;font-size:.8rem;font-weight:700}.library-workout-sport{background:#16353d1a;color:var(--primary)}.library-workout-zone{background:#2f7a771f;color:#255d5b}.library-workout-readiness{background:#d26a361f;color:#b35a2e}.library-workout-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.library-workout-metrics div{display:grid;gap:4px;padding:14px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(16,34,42,.06)}.library-workout-metrics small{color:var(--muted)}.library-workout-metrics strong{font-family:Space Grotesk,sans-serif;font-size:1.18rem}.library-workout-objective{margin:0;font-size:.96rem;line-height:1.65;max-width:62ch}.library-workout-threshold-note{display:grid;gap:6px;padding:14px;border-radius:18px;border:1px solid rgba(47,122,119,.16);background:#eff7f4eb}.library-workout-threshold-note small{color:#255d5b;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.library-workout-threshold-note p,.library-workout-threshold-note span{margin:0;color:var(--primary);line-height:1.55}.library-workout-threshold-note span{color:var(--muted);font-size:.82rem}.library-workout-threshold-ref{display:flex;gap:16px;flex-wrap:wrap;padding:8px 14px;border-radius:10px;background:#10222a08;border:1px solid rgba(16,34,42,.06)}.library-workout-timeline-card{display:grid;gap:16px}.library-workout-phase-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.95fr) minmax(0,.95fr);gap:14px;align-items:stretch}.library-workout-phase-card{display:grid;gap:12px;padding:16px;border-radius:22px;border:1px solid rgba(16,34,42,.08);background:#f9f7f3e6}.library-workout-phase-card header{display:flex;justify-content:space-between;gap:12px;align-items:center}.library-workout-phase-card header span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.library-workout-phase-card header strong{font-family:Space Grotesk,sans-serif;font-size:.96rem}.library-workout-phase-card p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.library-workout-phase-card.main{background:radial-gradient(circle at top right,rgba(37,86,145,.12),transparent 35%),#f8f8f9f2}.library-workout-phase-visual{position:relative;display:flex;align-items:end;justify-content:center;min-height:128px;padding:12px;border-radius:18px;background:linear-gradient(180deg,#10222a05,#10222a12);overflow:hidden}.library-workout-phase-visual.main{min-height:156px}.library-workout-phase-visual.warmup,.library-workout-phase-visual.cooldown{align-items:center}.library-workout-phase-warmup-base{position:absolute;left:12px;bottom:18px;height:34px;border-radius:14px 14px 8px 8px;background:linear-gradient(180deg,#4d7b8a,#2f6570);box-shadow:inset 0 1px #ffffff2e}.library-workout-phase-warmup-markers{position:absolute;right:14px;bottom:18px;display:flex;align-items:end;gap:5px}.library-workout-phase-warmup-marker{width:6px;border-radius:999px;box-shadow:inset 0 1px #ffffff29}.library-workout-phase-warmup-marker.neuromuscular{height:92px;background:linear-gradient(180deg,#8a5dc1,#69409d)}.library-workout-phase-warmup-marker.recovery{height:20px;background:repeating-linear-gradient(135deg,#7a8d95f0 0 5px,#b0bbc0f0 5px 10px)}.library-workout-phase-main-sequence{width:100%;height:100%;display:flex;align-items:end;gap:8px}.library-workout-phase-main-item{height:100%;display:flex;align-items:end;justify-content:center;position:relative}.library-workout-phase-main-item.work{min-width:34px}.library-workout-phase-main-item.recovery{min-width:14px;align-items:center}.library-workout-phase-main-bar{width:100%;min-width:26px;border-radius:16px 16px 8px 8px;box-shadow:inset 0 1px #ffffff2e}.library-workout-phase-main-item.aerobic .library-workout-phase-main-bar{background:linear-gradient(180deg,#3b7f7c,#2a6866)}.library-workout-phase-main-item.steady .library-workout-phase-main-bar{background:linear-gradient(180deg,#376fa6,#285785)}.library-workout-phase-main-item.progressive .library-workout-phase-main-bar{background:linear-gradient(180deg,#576fd2,#3d54b0)}.library-workout-phase-main-item.threshold .library-workout-phase-main-bar{background:linear-gradient(180deg,#cc7a35,#a95e1f)}.library-workout-phase-main-item.hard .library-workout-phase-main-bar{background:linear-gradient(180deg,#cd564f,#a82f2f)}.library-workout-phase-main-item.neuromuscular .library-workout-phase-main-bar{background:linear-gradient(180deg,#8a5dc1,#69409d)}.library-workout-phase-main-link{width:100%;height:26px;border-bottom:6px solid rgba(151,165,171,.95);border-left:6px solid rgba(151,165,171,.95);border-right:6px solid rgba(151,165,171,.95);border-radius:0 0 12px 12px;opacity:.88}.library-workout-phase-main-item small{position:absolute;top:8px;left:50%;transform:translate(-50%);color:var(--muted);font-size:.72rem;font-weight:700;white-space:nowrap}.library-workout-phase-cooldown-line{height:38px;align-self:end;border-radius:14px 14px 8px 8px;background:linear-gradient(180deg,#7b8d8b,#61706e);box-shadow:inset 0 1px #ffffff2e}.library-workout-phase-caption{display:grid;gap:4px}.library-workout-phase-caption strong{font-size:.96rem}.library-workout-phase-caption small{color:var(--muted)}.library-workout-modal-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.82fr);gap:18px}.library-workout-main-column,.library-workout-side-column{display:grid;gap:16px}.library-workout-panel{display:grid;gap:14px;border:1px solid rgba(16,34,42,.08);border-radius:24px;padding:18px;background:#fffc}.library-workout-panel.compact{gap:12px}.library-workout-panel.caution{background:#fff8f2eb}.library-workout-raw-panel{margin-top:18px;background:linear-gradient(180deg,#0f1c210a,#0f1c2105),#ffffffd1}.library-workout-raw-copy{margin:0;color:var(--muted);line-height:1.6}.library-workout-raw-json pre{margin:0;padding:16px 18px;border-radius:18px;border:1px solid rgba(16,34,42,.08);background:#121d23f5;color:#eef4f6f5;overflow:auto;font-size:.78rem;line-height:1.5;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.library-workout-panel-head{display:grid;gap:4px}.library-workout-panel-head h3{margin:0}.library-workout-structure{display:grid;gap:12px}.library-workout-block{display:grid;gap:12px;padding:16px;border-radius:20px;border:1px solid rgba(16,34,42,.07);background:#f8f5efd6}.library-workout-block header{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.library-workout-block header span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.library-workout-block header strong{font-family:Space Grotesk,sans-serif;font-size:1.05rem}.library-workout-block p,.library-workout-block-note{margin:0;line-height:1.65}.library-workout-block-list{display:grid;gap:10px}.library-workout-interval{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 14px;border-radius:16px;border:1px solid rgba(16,34,42,.06);background:#ffffffd1}.library-workout-interval strong{display:block;margin-bottom:4px}.library-workout-interval p{color:var(--muted);font-size:.84rem}.library-workout-interval span{font-weight:700;color:var(--primary)}.library-workout-interval.aerobic{border-left:4px solid #2f7a77}.library-workout-interval.threshold{border-left:4px solid #ba6a2c}.library-workout-interval.hard{border-left:4px solid #b64848}.library-workout-interval.progressive{border-left:4px solid #4f6bb8}.library-workout-interval.neuromuscular{border-left:4px solid #7a56a2}.library-workout-interval.steady{border-left:4px solid #3f7c9f}.library-workout-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.library-workout-copy-grid article{padding:14px;border-radius:18px;border:1px solid rgba(16,34,42,.06);background:#f8f5efb8}.library-workout-copy-grid small{display:block;margin-bottom:6px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.library-workout-copy-grid p{margin:0;line-height:1.65}.library-workout-stats-list{display:grid;gap:10px}.library-workout-stats-list div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;border:1px solid rgba(16,34,42,.06);background:#f8f5efb3}.library-workout-stats-list span{color:var(--muted)}.library-workout-stats-list strong{text-align:right}.library-workout-dose-ladder{display:flex;flex-direction:column;gap:4px}.library-workout-dose-step{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(16,34,42,.08);border-radius:8px;background:#f8f5ef80;cursor:pointer;transition:all .15s;text-align:left;width:100%}.library-workout-dose-step:hover{background:#2e7bd30f;border-color:#2e7bd333}.library-workout-dose-step.active{background:#2e7bd314;border-color:#2e7bd3;box-shadow:inset 3px 0 #2e7bd3}.library-workout-dose-step-index{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#10222a14;font-size:.72rem;font-weight:700;color:#374151;flex-shrink:0}.library-workout-dose-step.active .library-workout-dose-step-index{background:#2e7bd3;color:#fff}.library-workout-dose-step-body{flex:1;min-width:0}.library-workout-dose-step-body strong{display:block;font-size:.78rem;color:#1a1f2e;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-workout-dose-step-body small{font-size:.7rem;color:#6b7280}.library-workout-dose-step-active{font-size:.66rem;font-weight:600;color:#2e7bd3;background:#dbeafe;padding:2px 6px;border-radius:4px;flex-shrink:0}.library-workout-list{margin:0;padding-left:18px;display:grid;gap:8px;line-height:1.6}.library-workout-editor-container{padding:1.5rem 2rem}.library-workout-edit-toggle{font-weight:600}.library-workout-edit-toggle.active{color:var(--accent, #285fe7)}.wlb-root{display:flex;flex-direction:column;gap:12px;padding:16px 0}.wlb-root.wlb-compact{padding:0;gap:8px}.wlb-toolbar{padding:0 4px}.wlb-toolbar strong{font-size:1.05rem;color:#1a1f2e}.wlb-toolbar p{font-size:.82rem;color:#6b7280;margin:2px 0 0}.wlb-search-row{display:flex;align-items:center;gap:8px;padding:0 4px}.wlb-search-input{flex:1;padding:7px 12px;font-size:.85rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1a1f2e;outline:none;transition:border-color .15s}.wlb-search-input:focus{border-color:#2e7bd3}.wlb-search-input::placeholder{color:#9ca3af}.wlb-search-clear{font-size:.78rem;color:#6b7280;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px}.wlb-search-clear:hover{background:#f3f4f6;color:#1a1f2e}.wlb-discipline-tabs{display:flex;gap:4px;padding:0 4px}.wlb-discipline-tab{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;font-size:.82rem;color:#374151;cursor:pointer;transition:all .15s}.wlb-discipline-tab:hover{background:#f3f4f6}.wlb-discipline-tab.active{background:#1a1f2e;color:#fff;border-color:#1a1f2e}.wlb-discipline-tab.active svg{fill:#fff}.wlb-layer-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:0 4px}.wlb-layer-tab{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid #e5e7eb;border-radius:20px;background:#fff;font-size:.76rem;color:#4b5563;cursor:pointer;transition:all .15s;white-space:nowrap}.wlb-layer-tab:hover{background:#f3f4f6}.wlb-layer-tab.active{background:#1a1f2e;color:#fff;border-color:#1a1f2e}.wlb-layer-glyph{display:inline-flex;align-items:center;justify-content:center;width:22px;height:18px;font-size:.68rem;font-weight:700;border-radius:3px;color:#fff;flex-shrink:0}.wlb-layer-glyph.tone-recovery{background:#8a98a8}.wlb-layer-glyph.tone-aerobic{background:#3a9a5b}.wlb-layer-glyph.tone-lt1{background:#2e8b57}.wlb-layer-glyph.tone-subthreshold{background:#b58a2e}.wlb-layer-glyph.tone-lt2{background:#c27a2e}.wlb-layer-glyph.tone-vo2{background:#c44040}.wlb-layer-glyph.tone-technical{background:#3a7dc4}.wlb-layer-glyph.tone-specific{background:#7c3aed}.wlb-layer-glyph.tone-strength{background:#6b5b3e}.wlb-layer-glyph.tone-other{background:#6b7280}.wlb-layer-cue{padding:6px 12px;margin:0 4px;border-radius:6px;background:#f9fafb;border-left:3px solid #2e7bd3}.wlb-layer-cue p{font-size:.8rem;color:#4b5563;margin:0}.wlb-results-info{font-size:.78rem;color:#6b7280;padding:0 4px}.wlb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;padding:0 4px}.wlb-card{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;transition:box-shadow .15s;border-left-width:3px}.wlb-card:hover{box-shadow:0 2px 8px #0000000f}.wlb-card.wlb-card-recommended{border-color:#2e7bd3;background:#f0f6ff}.wlb-card.tone-border-recovery{border-left-color:#8a98a8}.wlb-card.tone-border-aerobic{border-left-color:#3a9a5b}.wlb-card.tone-border-lt1{border-left-color:#2e8b57}.wlb-card.tone-border-subthreshold{border-left-color:#b58a2e}.wlb-card.tone-border-lt2{border-left-color:#c27a2e}.wlb-card.tone-border-vo2{border-left-color:#c44040}.wlb-card.tone-border-technical{border-left-color:#3a7dc4}.wlb-card.tone-border-specific{border-left-color:#7c3aed}.wlb-card.tone-border-strength{border-left-color:#6b5b3e}.wlb-card.tone-border-other{border-left-color:#6b7280}.wlb-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.wlb-card-layer-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;font-size:.68rem;font-weight:700;border-radius:4px;color:#fff}.wlb-card-layer-badge.tone-recovery{background:#8a98a8}.wlb-card-layer-badge.tone-aerobic{background:#3a9a5b}.wlb-card-layer-badge.tone-lt1{background:#2e8b57}.wlb-card-layer-badge.tone-subthreshold{background:#b58a2e}.wlb-card-layer-badge.tone-lt2{background:#c27a2e}.wlb-card-layer-badge.tone-vo2{background:#c44040}.wlb-card-layer-badge.tone-technical{background:#3a7dc4}.wlb-card-layer-badge.tone-specific{background:#7c3aed}.wlb-card-layer-badge.tone-strength{background:#6b5b3e}.wlb-card-layer-badge.tone-other{background:#6b7280}.wlb-card-badge-rec{font-size:.68rem;font-weight:600;color:#2e7bd3;background:#dbeafe;padding:2px 8px;border-radius:4px}.wlb-card-title{font-size:.88rem;color:#1a1f2e;line-height:1.3}.wlb-card-objective{font-size:.78rem;color:#6b7280;margin:0;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wlb-card-meta{display:flex;flex-wrap:wrap;gap:8px}.wlb-card-meta-item{display:flex;flex-direction:column;gap:1px}.wlb-card-meta-item small{font-size:.68rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.03em}.wlb-card-meta-item strong{font-size:.76rem;color:#374151;font-weight:600}.wlb-fatigue-dots{display:flex;gap:3px;align-items:center;padding-top:2px}.wlb-fatigue-dot{width:8px;height:8px;border-radius:50%;border:1px solid #d1d5db;background:#f3f4f6}.wlb-fatigue-dot.filled{background:#c27a2e;border-color:#c27a2e}.wlb-card-blocks{display:flex;flex-wrap:wrap;gap:4px}.wlb-block-chip{font-size:.66rem;padding:2px 6px;border-radius:3px;background:#f3f4f6;color:#6b7280;text-transform:capitalize;white-space:nowrap}.wlb-card-actions{display:flex;gap:6px;margin-top:4px}.wlb-card-action{flex:1;padding:5px 10px;font-size:.78rem;font-weight:500;border:1px solid #d1d5db;border-radius:5px;background:#fff;color:#374151;cursor:pointer;transition:all .15s;text-align:center}.wlb-card-action:hover{background:#f3f4f6}.wlb-card-action.preview{border-color:#2e7bd3;color:#2e7bd3}.wlb-card-action.preview:hover{background:#eff6ff}.wlb-card-action.add{border-color:#3a9a5b;color:#3a9a5b}.wlb-card-action.add:hover{background:#f0fdf4}.wlb-card-action.add.active{background:#3a9a5b;color:#fff;border-color:#3a9a5b}.wlb-week-picker{display:flex;flex-direction:column;gap:6px;padding:8px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb;margin-top:2px}.wlb-week-picker-label{font-size:.74rem;color:#6b7280}.wlb-week-picker-days{display:flex;gap:4px}.wlb-week-picker-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 2px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;transition:all .15s}.wlb-week-picker-day:hover{background:#2e7bd3;border-color:#2e7bd3;color:#fff}.wlb-week-picker-day:hover .wlb-week-picker-day-label,.wlb-week-picker-day:hover .wlb-week-picker-day-num{color:#fff}.wlb-week-picker-day-label{font-size:.68rem;font-weight:600;color:#6b7280}.wlb-week-picker-day-num{font-size:.78rem;font-weight:700;color:#1a1f2e}.wlb-library-subtabs{display:flex;gap:2px;background:#f3f4f6;border-radius:6px;padding:2px}.wlb-library-subtabs .planning-inline-action{padding:4px 12px;border-radius:4px;font-size:.78rem;transition:all .15s}.wlb-library-subtabs .planning-inline-action.active{background:#fff;box-shadow:0 1px 3px #00000014;font-weight:600}.wlb-empty{grid-column:1 / -1;text-align:center;padding:24px 16px;color:#6b7280}.wlb-empty strong{display:block;font-size:.88rem;color:#374151;margin-bottom:4px}.wlb-empty p{font-size:.8rem;margin:0}.strength-layout{padding-top:8px}.strength-prescription-panel{border:1px solid rgba(0,0,0,.08);background:#fafbfc}.strength-prescription-textarea{width:100%;min-height:180px;padding:14px 16px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.82rem;line-height:1.7;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fff;color:#1a2a3a;resize:vertical;outline:none;transition:border-color .15s}.strength-prescription-textarea:focus{border-color:var(--accent, #c27a2e)}.strength-prescription-textarea::placeholder{color:#9ca3af;font-style:italic}.strength-prescription-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.strength-prescription-actions .ghost-button.accent{background:var(--accent, #c27a2e);color:#fff;border-color:var(--accent, #c27a2e)}.strength-prescription-display{padding:4px 0}.strength-prescription-content{font-family:JetBrains Mono,Fira Code,monospace;font-size:.82rem;line-height:1.7;white-space:pre-wrap;word-break:break-word;color:#1a2a3a;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:14px 16px;margin:0 0 10px}.strength-prescription-empty{color:#9ca3af;font-style:italic;font-size:.85rem;margin:0 0 10px}.strength-prescription-edit-btn{font-size:.8rem!important}.wpm-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.wpm-header-left{display:grid;gap:6px;min-width:0}.wpm-header-badges{display:flex;gap:6px;flex-wrap:wrap}.wpm-badge-sport,.wpm-badge-zone,.wpm-badge-source,.wpm-badge-status{padding:5px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.wpm-badge-sport{background:#16353d1a;color:var(--primary)}.wpm-badge-zone{background:#2f7a771f;color:#255d5b}.wpm-badge-source{background:#d26a361a;color:#b35a2e}.wpm-badge-status{background:#10222a0f;color:var(--muted)}.wpm-badge-status.positive{background:#2e8b571f;color:#1e6b3d}.wpm-badge-status.negative{background:#cd564f1f;color:#a82f2f}.wpm-title{margin:0;font-size:clamp(1.4rem,2.5vw,1.9rem);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wpm-title-editable{cursor:pointer;border-bottom:1px dashed rgba(0,0,0,.12);transition:border-color .15s}.wpm-title-editable:hover{border-color:var(--accent)}.wpm-subtitle{margin:0;color:var(--muted);font-size:.88rem}.wpm-header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.wpm-action-btn{padding:6px 14px;border:1px solid rgba(16,34,42,.12);border-radius:8px;background:#fffc;font-size:.8rem;font-weight:600;color:var(--primary);cursor:pointer;transition:all .15s}.wpm-action-btn:hover{background:#10222a0f}.wpm-action-btn.active{background:#16353d1f;border-color:#16353d2e}.wpm-action-btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.wpm-action-btn.accent:hover{filter:brightness(1.06)}.wpm-action-btn.small{padding:4px 10px;font-size:.74rem}.wpm-close-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(16,34,42,.08);border-radius:10px;background:#ffffffb3;font-size:1.4rem;color:var(--muted);cursor:pointer;transition:all .15s;line-height:1}.wpm-close-btn:hover{background:#cd564f14;color:#a82f2f;border-color:#cd564f2e}.wpm-garmin-btn{background:#007acc14;border-color:#007acc33;color:#06a}.wpm-garmin-btn:hover{background:#007acc24}.wpm-garmin-btn.published{background:#2e8b5714;border-color:#2e8b5733;color:#1e6b3d}.wpm-garmin-btn.success{background:#2e8b5724;color:#1e6b3d}.wpm-garmin-btn.error{background:#cd564f1a;border-color:#cd564f33;color:#a82f2f}.wpm-metrics-strip{display:flex;gap:2px;padding:2px;border-radius:14px;background:#10222a0a;border:1px solid rgba(16,34,42,.06)}.wpm-metric{flex:1;display:grid;gap:2px;padding:10px 14px;border-radius:12px;background:#ffffffb3;text-align:center}.wpm-metric small{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.wpm-metric strong{font-family:Space Grotesk,sans-serif;font-size:1.05rem;color:var(--primary)}.wpm-threshold-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 16px;border-radius:12px;border:1px solid rgba(47,122,119,.14);background:#eff7f4e0}.wpm-threshold-item{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;color:var(--primary)}.wpm-threshold-item strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;border-radius:4px;font-weight:800}.wpm-threshold-item.lt1 strong{background:#2e8b5724;color:#1e6b3d}.wpm-threshold-item.lt2 strong{background:#d26a3624;color:#b35a2e}.wpm-threshold-item em{font-style:normal;color:var(--muted);font-size:.78rem}.wpm-threshold-hint{color:var(--primary);font-size:.84rem;font-weight:600}.wpm-threshold-basis{color:var(--muted);font-size:.78rem}.wpm-timeline{border:1px solid rgba(16,34,42,.08);border-radius:22px;padding:18px;background:#ffffffc7;box-shadow:var(--shadow-soft)}.wpm-timeline-phases{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2fr) minmax(0,.9fr);gap:14px;align-items:stretch}.wpm-phase{display:grid;gap:10px}.wpm-phase-label{display:flex;justify-content:space-between;align-items:center}.wpm-phase-label span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.wpm-phase-label strong{font-family:Space Grotesk,sans-serif;font-size:.92rem}.wpm-phase-visual{position:relative;display:flex;align-items:end;justify-content:center;min-height:128px;padding:12px;border-radius:18px;background:linear-gradient(180deg,#10222a05,#10222a12);overflow:hidden}.wpm-phase-visual.main{min-height:156px}.wpm-phase-visual.warmup,.wpm-phase-visual.cooldown{align-items:center}.wpm-phase-desc{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.wpm-phase-desc strong{color:var(--primary);font-weight:700}.wpm-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px}.wpm-main,.wpm-sidebar{display:grid;gap:16px;align-content:start}.wpm-objective-block{display:grid;gap:8px;padding:16px;border-radius:18px;border:1px solid rgba(16,34,42,.07);background:radial-gradient(circle at top right,rgba(210,106,54,.08),transparent 40%),#f9f7f3e6}.wpm-objective{margin:0;font-size:.94rem;line-height:1.6;color:var(--primary);font-weight:600}.wpm-guidance{margin:0;font-size:.84rem;line-height:1.55;color:var(--muted)}.wpm-structure{display:grid;gap:8px}.wpm-structure-phase{display:grid;gap:8px;padding:14px 16px;border-radius:16px;border:1px solid rgba(16,34,42,.06);background:#f8f5efcc}.wpm-structure-phase.warmup{background:#f4f7f4cc;border-color:#2f7a771a}.wpm-structure-phase.cooldown{background:#f4f6f8cc;border-color:#64747a1a}.wpm-structure-phase.main{background:radial-gradient(circle at top right,rgba(37,86,145,.06),transparent 40%),#f8f8fae6;border-color:#2556911a}.wpm-structure-phase p{margin:0;font-size:.82rem;line-height:1.5;color:var(--muted)}.wpm-structure-phase-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.wpm-structure-phase-head span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.wpm-structure-phase-head strong{font-family:Space Grotesk,sans-serif;font-size:.9rem;color:var(--primary)}.wpm-interval{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;padding:10px 14px;border-radius:12px;border:1px solid rgba(16,34,42,.06);background:#ffffffd1;border-left-width:4px}.wpm-interval.aerobic{border-left-color:#2f7a77}.wpm-interval.threshold{border-left-color:#ba6a2c}.wpm-interval.hard{border-left-color:#b64848}.wpm-interval.progressive{border-left-color:#4f6bb8}.wpm-interval.neuromuscular{border-left-color:#7a56a2}.wpm-interval.steady{border-left-color:#3f7c9f}.wpm-interval-content strong{display:block;font-size:.88rem;margin-bottom:2px}.wpm-interval-content p{margin:0;font-size:.78rem;color:var(--muted);line-height:1.4}.wpm-interval-duration{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:.86rem;color:var(--primary);white-space:nowrap}.wpm-coach-note{display:grid;gap:10px;padding:14px 16px;border-radius:16px;border:1px solid rgba(16,34,42,.07);background:#fffc}.wpm-coach-note-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.wpm-coach-note-editor{display:grid;gap:8px}.wpm-coach-note-textarea{width:100%;min-height:80px;padding:10px 12px;font-size:.84rem;line-height:1.6;border:1px solid rgba(16,34,42,.12);border-radius:10px;background:#fff;color:var(--primary);resize:vertical;outline:none;transition:border-color .15s;font-family:inherit}.wpm-coach-note-textarea:focus{border-color:var(--accent)}.wpm-coach-note-textarea::placeholder{color:#9ca3af}.wpm-coach-note-actions{display:flex;justify-content:flex-end;gap:6px}.wpm-coach-note-text{margin:0;font-size:.84rem;line-height:1.6;color:var(--primary);white-space:pre-wrap}.wpm-sidebar-section{display:grid;gap:8px;padding:14px 16px;border-radius:16px;border:1px solid rgba(16,34,42,.07);background:#fffc}.wpm-sidebar-section .eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.wpm-caution{background:#fff8f2eb;border-color:#d26a361f}.wpm-caution .eyebrow{color:#b35a2e}.wpm-sidebar-list{margin:0;padding-left:16px;display:grid;gap:6px;font-size:.82rem;line-height:1.55;color:var(--primary)}.wpm-dose-ladder{display:flex;flex-direction:column;gap:3px}.wpm-dose-step{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid rgba(16,34,42,.07);border-radius:8px;background:#f8f5ef80;cursor:pointer;transition:all .15s;text-align:left;width:100%}.wpm-dose-step:hover{background:#2e7bd30d;border-color:#2e7bd32e}.wpm-dose-step.active{background:#2e7bd314;border-color:#2e7bd3;box-shadow:inset 3px 0 #2e7bd3}.wpm-dose-index{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#10222a14;font-size:.68rem;font-weight:700;color:#374151;flex-shrink:0}.wpm-dose-step.active .wpm-dose-index{background:#2e7bd3;color:#fff}.wpm-dose-body{flex:1;min-width:0}.wpm-dose-body strong{display:block;font-size:.76rem;color:#1a1f2e;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wpm-dose-body small{font-size:.68rem;color:#6b7280}.wpm-dose-active{font-size:.64rem;font-weight:600;color:#2e7bd3;background:#dbeafe;padding:2px 6px;border-radius:4px;flex-shrink:0}@media(max-width:900px){.wpm-timeline-phases,.wpm-body{grid-template-columns:1fr}.wpm-metrics-strip{flex-wrap:wrap}.wpm-metric{min-width:80px}}.wbb{display:flex;flex-direction:column;gap:14px;padding:20px;background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 4px 12px #0000000f}.wbb--compact{padding:16px;gap:12px}.wbb__title{width:100%;padding:12px 16px;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:10px;font-family:inherit;font-size:15px;font-weight:500;color:#1a1a2e;outline:none;transition:border-color .15s ease;box-sizing:border-box}.wbb__title::placeholder{color:#9ca3af}.wbb__title:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.wbb__disciplines{display:flex;gap:8px}.wbb__disc-pill{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:9999px;border:1px solid #e5e7eb;background:#f1f3f5;color:#6b7280;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.wbb__disc-pill:hover{background:#e9ecef;color:#1a1a2e}.wbb__disc-pill.active{color:#fff;border-color:transparent}.wbb__disc-icon{font-size:14px}.wbb__family-row{display:flex;align-items:center;gap:10px}.wbb__family-select{flex:1;padding:7px 10px;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;color:#1a1a2e;outline:none;cursor:pointer}.wbb__family-select:focus{border-color:#2563eb}.wbb__field-label{font-size:10px;color:#9ca3af;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.wbb__blocks{display:flex;flex-direction:column;gap:8px;min-height:40px}.wbb__empty{text-align:center;color:#9ca3af;font-size:13px;padding:28px 0}.wbb__block{background:#fff;border:1px solid #e5e7eb;border-left:3px solid #9ca3af;border-radius:12px;overflow:hidden;transition:box-shadow .15s ease}.wbb__block:hover{box-shadow:0 1px 4px #0000000a}.wbb__block--open{border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.wbb__block-head{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.wbb__block-type-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;padding:2px 8px;border-radius:9999px;flex-shrink:0}.wbb__block-desc{flex:1;font-size:13px;font-weight:500;color:#1a1a2e}.wbb__block-desc strong{font-weight:700}.wbb__block-desc-dim{color:#9ca3af;font-weight:400}.wbb__block-dur{font-size:12px;color:#9ca3af;font-weight:500;font-family:Space Grotesk,sans-serif}.wbb__block-remove{background:none;border:none;color:#d1d5db;cursor:pointer;font-size:11px;padding:4px;border-radius:4px;transition:all .15s ease;line-height:1}.wbb__block-remove:hover{color:#ef4444;background:#fef2f2}.wbb__block-fields{display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px;border-top:1px solid #f3f4f6;background:#fafbfc}.wbb__zone-row{display:flex;align-items:center;gap:10px}.wbb__zone-chips{display:flex;gap:4px}.wbb__zone-chip{min-width:40px;height:30px;padding:0 6px;border:1px solid transparent;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.wbb__zone-chip:hover{opacity:.8}.wbb__zone-chip.active{box-shadow:0 2px 8px #00000026;transform:scale(1.08)}.wbb__interval-row,.wbb__dur-row{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.wbb__interval-x{font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700;color:#9ca3af;padding-bottom:6px}.wbb__field{display:flex;flex-direction:column;gap:3px}.wbb__field--grow{flex:1;min-width:0}.wbb__num{width:64px;padding:7px 10px;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:7px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600;color:#1a1a2e;outline:none;text-align:center;box-sizing:border-box}.wbb__num:focus{border-color:#2563eb}.wbb__num--wide{width:80px}.wbb__select{width:100%;padding:7px 10px;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:7px;font-size:13px;color:#1a1a2e;outline:none;cursor:pointer;box-sizing:border-box}.wbb__select:focus{border-color:#2563eb}.wbb__notes{width:100%;padding:7px 10px;background:#f8f9fa;border:1px solid #f3f4f6;border-radius:7px;font-family:inherit;font-size:12px;color:#6b7280;outline:none;box-sizing:border-box}.wbb__notes::placeholder{color:#9ca3af}.wbb__notes:focus{border-color:#2563eb}.wbb__add-wrap{display:flex;flex-direction:column;align-items:center;position:relative}.wbb__add-btn{width:40px;height:40px;border-radius:9999px;border:2px dashed #e5e7eb;background:#fff;color:#9ca3af;font-size:20px;font-weight:300;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.wbb__add-btn:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}.wbb__add-menu{position:absolute;top:48px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001a;padding:6px;z-index:10;min-width:200px;animation:wbb-fade-in .15s ease}@keyframes wbb-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.wbb__add-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;color:#1a1a2e;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;border-radius:8px;transition:background .12s ease}.wbb__add-option:hover{background:#f1f3f5}.wbb__stats{display:flex;align-items:baseline;gap:6px;padding:8px 12px;background:#f8f9fa;border-radius:8px}.wbb__stat{display:inline-flex;align-items:baseline;gap:3px}.wbb__stat-value{font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:700;color:#1a1a2e;letter-spacing:-.02em}.wbb__stat-unit{font-size:11px;color:#9ca3af;font-weight:500}.wbb__stat-sep{font-size:14px;color:#d1d5db;font-weight:300}.wbb__footer{display:flex;gap:10px;align-items:center}.wbb__save{padding:10px 24px;border:none;border-radius:10px;background:#1a1a2e;color:#fff;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.wbb__save:hover:not(:disabled){background:#2d2d44}.wbb__save:disabled{opacity:.35;cursor:not-allowed}.wbb__cancel{padding:10px 20px;border:1px solid #e5e7eb;border-radius:10px;background:#f8f9fa;color:#6b7280;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.wbb__cancel:hover{background:#e9ecef;color:#1a1a2e}.wbb-summary{display:grid;gap:2px}.wbb-summary__row{display:flex;align-items:center;gap:5px;font-size:.72rem;color:#1a1a2e}.wbb-summary__total{font-size:.7rem;color:#9ca3af;margin-top:2px;font-weight:500}.plan-editor-stats-bar{display:flex;gap:16px;padding:10px 14px;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;align-items:center}.plan-editor-disc-stat{display:flex;align-items:center;gap:6px}.plan-editor-disc-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.plan-editor-disc-stat-values{display:flex;gap:8px;font-size:.78rem}.plan-editor-disc-stat-values strong{font-family:Space Grotesk,sans-serif;color:#1a1a2e}.plan-editor-disc-stat-values span{color:#9ca3af}.plan-editor-cell-workout-blocks{display:grid;gap:1px;margin-top:2px}.plan-editor-cell-workout-blocks .wbb-summary__row{font-size:.62rem}.plan-editor-cell-workout-blocks .wbb-summary__total{font-size:.6rem}.wbb-preview{display:grid;gap:6px;padding:12px 16px;background:#00000005;border-radius:12px;border:1px solid rgba(0,0,0,.04)}.wbb-preview__chart{display:flex;align-items:flex-end;gap:1px;border-radius:6px;overflow:hidden;background:#00000008}.wbb-preview__bar{min-width:2px;border-radius:2px 2px 0 0;transition:height .2s ease,width .2s ease;opacity:.85;cursor:default}.wbb-preview__bar:hover{opacity:1;filter:brightness(1.08)}.wbb-preview__labels{display:flex;justify-content:space-between;font-size:.65rem;color:#9ca3af;font-family:Space Grotesk,sans-serif;padding:0 2px}.wbb-preview__stats{display:flex;align-items:center;gap:8px;justify-content:center;padding-top:4px;border-top:1px solid rgba(0,0,0,.05)}.wbb-preview__stat{display:flex;align-items:baseline;gap:3px}.wbb-preview__stat-val{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:.85rem;color:#1a1a2e}.wbb-preview__stat-unit{font-size:.68rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.02em}.wbb-preview__stat-sep{color:#d1d5db;font-size:.8rem}.wbb-modal-backdrop{position:fixed;inset:0;z-index:9000;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;animation:wbb-modal-fade-in .18s ease}@keyframes wbb-modal-fade-in{0%{opacity:0}to{opacity:1}}.wbb-modal{width:min(620px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:linear-gradient(180deg,#faf9f6,#fff);border-radius:20px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;animation:wbb-modal-slide-up .22s ease;overflow:hidden}@keyframes wbb-modal-slide-up{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.wbb-modal__header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid rgba(0,0,0,.06)}.wbb-modal__header h2{margin:0;font-family:Space Grotesk,sans-serif;font-size:1.15rem;font-weight:700;color:#1a1a2e}.wbb-modal__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:#0000000a;border-radius:8px;font-size:1rem;color:#6b7280;cursor:pointer;transition:background .15s,color .15s}.wbb-modal__close:hover{background:#00000014;color:#1a1a2e}.wbb-modal__body{overflow-y:auto;padding:0;flex:1;min-height:0}.wbb-modal__body .wbb{border:none;border-radius:0;box-shadow:none;background:transparent}.wbb-modal__body .wbb__footer{padding:14px 20px 18px;border-top:1px solid rgba(0,0,0,.06)}.wbb-tpl{display:grid;gap:8px}.wbb-tpl__head{display:flex;align-items:center;justify-content:space-between}.wbb-tpl__label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.wbb-tpl__clear{font-size:.7rem;color:#ef4444;background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .15s}.wbb-tpl__clear:hover{background:#fef2f2}.wbb-tpl__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.wbb-tpl__item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 5px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .15s}.wbb-tpl__item:hover{background:#eef2ff;border-color:#c7d2fe;transform:translateY(-1px);box-shadow:0 2px 6px #0000000f}.wbb-tpl__item:active{transform:translateY(0)}.wbb-tpl__svg{width:100%;height:28px}.wbb-tpl__item-label{font-size:.58rem;color:#6b7280;text-align:center;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.wbb__block-actions{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}.wbb__block-move{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#9ca3af;font-size:.6rem;cursor:pointer;border-radius:4px;transition:background .12s,color .12s;padding:0}.wbb__block-move:hover{background:#f1f5f9;color:#475569}.wbb__type-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wbb__type-pills{display:flex;gap:4px;flex-wrap:wrap}.wbb__type-pill{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;font-size:.7rem;font-weight:500;cursor:pointer;transition:all .15s;color:#4b5563}.wbb__type-pill:hover{background:#f1f5f9;border-color:#d1d5db}.wbb__type-pill.active{color:#fff;border-color:transparent;font-weight:600}.wbb__top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.wbb__basis-toggle{display:flex;gap:0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;flex-shrink:0}.wbb__basis-btn{padding:4px 12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border:none;background:#f8fafc;color:#6b7280;cursor:pointer;transition:all .15s}.wbb__basis-btn:not(:last-child){border-right:1px solid #e5e7eb}.wbb__basis-btn.active{background:#1a1a2e;color:#fff}.wbb__basis-btn:hover:not(.active){background:#f1f5f9}.wbb__block-hint{font-size:.65rem;color:#9ca3af;font-weight:400;margin-left:4px}.wbb__zone-chip:has(.wbb__zone-hint){flex-direction:column;gap:1px;height:auto;min-height:30px;padding:3px 4px;width:auto;min-width:40px}.wbb__zone-hint{font-size:.52rem;opacity:.85;line-height:1;white-space:nowrap}.wbb__zone-chip.active .wbb__zone-hint{opacity:1}.wbb-summary__badge{display:inline-block;padding:0 4px;border-radius:3px;font-size:.5rem;font-weight:700;color:#fff;line-height:1.4;letter-spacing:.02em;flex-shrink:0}.wbb__add-option-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:18px;border-radius:4px;font-size:.55rem;font-weight:700;color:#fff;letter-spacing:.02em;flex-shrink:0}@media(max-width:480px){.wbb-tpl__grid{grid-template-columns:repeat(4,1fr)}.wbb__top-row{flex-direction:column;align-items:stretch}}.planning-calendar-composer-shell{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.planning-calendar-composer-content{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;min-height:0;padding:18px;background:#f2f5f8;overflow:hidden}.planning-calendar-composer-main{display:grid;align-content:start;gap:18px;min-height:0;overflow:auto;padding-right:4px}.planning-calendar-composer-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.planning-calendar-composer-context,.planning-calendar-composer-sidecard{display:grid;gap:12px;padding:18px 20px;border-radius:22px;border:1px solid rgba(16,34,42,.08);background:#ffffffeb;box-shadow:0 14px 34px #10222a0f}.planning-calendar-composer-context strong,.planning-calendar-composer-sidecard strong{font-family:Space Grotesk,sans-serif;font-size:1.5rem;line-height:1}.planning-calendar-composer-context p,.planning-calendar-composer-sidecard p{margin:0;color:#5a6975}.planning-calendar-composer-headline{font-size:1.02rem;line-height:1.52;color:#223745}.planning-calendar-composer-context-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.96rem;line-height:1.5;color:#425564}.planning-calendar-composer-context-line strong{font:inherit;color:#223745}.planning-calendar-composer-context-line span{color:#94a3b0}.planning-calendar-composer-tags{display:flex;flex-wrap:wrap;gap:10px}.planning-calendar-composer-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.planning-calendar-composer-insight-grid article,.planning-calendar-composer-mini-grid article{display:grid;gap:8px;padding:16px 18px;border-radius:18px;background:#ffffffd6;border:1px solid rgba(16,34,42,.06)}.planning-calendar-composer-insight-grid span,.planning-calendar-composer-mini-grid span{color:#d26a36;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.planning-calendar-composer-insight-grid p,.planning-calendar-composer-mini-grid p{margin:0;color:#314452;line-height:1.5}.planning-calendar-composer-options{display:grid;gap:14px}.planning-calendar-composer-option{display:grid;gap:16px;padding:18px 20px;border-radius:24px;border:1px solid rgba(16,34,42,.08);background:linear-gradient(180deg,#fffffff5,#f7fafdf5);text-align:left;color:var(--primary);box-shadow:0 12px 26px #10222a0d;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.planning-calendar-composer-option:hover{transform:translateY(-1px);box-shadow:0 16px 30px #10222a14}.planning-calendar-composer-option.best{border-color:#1153ad42;background:linear-gradient(180deg,#eff6fffa,#f7fafdfa)}.planning-calendar-composer-option.selected{border-color:#1153ad6b;box-shadow:0 0 0 3px #1765c114}.planning-calendar-composer-option-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.planning-calendar-composer-option-head strong{display:block;margin-top:4px;font-family:Space Grotesk,sans-serif;font-size:1.3rem}.planning-calendar-composer-option-head p{margin:4px 0 0;color:#60707c}.planning-calendar-composer-option-score{display:inline-flex;align-items:center;justify-content:center;min-width:86px;padding:10px 12px;border-radius:999px;background:#1153ad14;color:#0b4c9c;font-weight:700}.planning-calendar-composer-option-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.planning-calendar-composer-option-columns article{display:grid;gap:8px;padding:14px 16px;border-radius:18px;background:#ffffffd1;border:1px solid rgba(16,34,42,.06)}.planning-calendar-composer-option-columns article span{color:#d26a36;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.planning-calendar-composer-sidebar{display:grid;align-content:start;gap:16px;overflow:auto;padding-right:2px}.planning-calendar-composer-mini-grid{display:grid;gap:12px}.planning-calendar-composer-sidecard label{display:grid;gap:8px;color:#4b5a66;font-weight:600}.planning-calendar-composer-sidecard select,.planning-calendar-composer-sidecard textarea{width:100%;border:1px solid rgba(16,34,42,.08);border-radius:16px;background:#f8fafc;padding:12px 14px;font:inherit;color:var(--primary)}.mesocycle-timeline{padding:8px 0 4px}.mesocycle-timeline-bars{display:flex;align-items:flex-end;justify-content:center;min-height:72px}.mesocycle-timeline.compact .mesocycle-timeline-bars{min-height:40px}.mesocycle-timeline-col{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.mesocycle-timeline-bar{width:100%;max-width:48px;border-radius:4px 4px 0 0;border:2px solid transparent;border-bottom:none;transition:height .3s ease,background-color .3s ease;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;animation:timelineBarGrow .4s cubic-bezier(.22,1,.36,1) both}@keyframes timelineBarGrow{0%{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}.mesocycle-timeline-col.current .mesocycle-timeline-bar{border-width:2px;border-bottom:none;box-shadow:0 0 0 1px #00000014}.mesocycle-timeline-bar-label{font-size:9px;line-height:1.1;color:#ffffffeb;text-align:center;padding:2px 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:500}.mesocycle-timeline-week-label{font-size:10px;color:var(--muted, #6b7280);margin-top:2px;font-weight:500}.mesocycle-timeline-col.current .mesocycle-timeline-week-label{font-weight:700;color:var(--text, #1f2937)}.mesocycle-timeline.compact .mesocycle-timeline-bar{max-width:24px;border-radius:3px 3px 0 0}.mesocycle-timeline.compact .mesocycle-timeline-bar-label{display:none}.mesocycle-timeline.compact .mesocycle-timeline-week-label{font-size:8px}.intelligence-banner{border-top:1px solid rgba(16,34,42,.06);background:#fffbeb;flex-shrink:0}.intelligence-banner-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:3px 14px;border:none;background:none;cursor:pointer;font-family:inherit;font-size:.72rem;color:#92400e;transition:background .15s}.intelligence-banner-toggle:hover{background:#fbbf2414}.intelligence-banner-badge{display:flex;align-items:center;gap:8px}.intelligence-banner-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:.65rem;font-weight:600;color:#fff}.intelligence-banner-count.critical{background:#dc2626}.intelligence-banner-count.warning{background:#d97706}.intelligence-banner-count.info{background:#6b7280}.intelligence-banner-summary{font-size:.8rem;color:#78716c}.intelligence-banner-action{font-size:.78rem;font-weight:500;color:#92400e;text-decoration:underline;text-underline-offset:2px}.intelligence-banner-list{display:flex;flex-direction:column;gap:6px;padding:0 16px 12px;max-height:260px;overflow-y:auto;animation:intelligence-expand .28s cubic-bezier(.22,1,.36,1)}@keyframes intelligence-expand{0%{opacity:0;max-height:0}to{opacity:1;max-height:260px}}.intelligence-banner-item{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:6px;background:#fff;border:1px solid #fde68a}.intelligence-banner-item.severity-critical{border-color:#fca5a5;background:#fef2f2}.intelligence-banner-item.severity-info{border-color:#d1d5db;background:#f9fafb}.intelligence-banner-item-icon{flex-shrink:0;font-size:.9rem;line-height:1.5}.intelligence-banner-item-content{flex:1;min-width:0}.intelligence-banner-item-text{font-size:.8rem;color:#374151;margin:0;line-height:1.45}.intelligence-banner-item-actionable{font-size:.75rem;color:#6b7280;margin:3px 0 0;font-style:italic}.intelligence-banner-item-tag{flex-shrink:0;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:3px;color:#92400e;background:#fef3c7}.intelligence-banner-item-tag.kind-risk{color:#991b1b;background:#fee2e2}.intelligence-banner-item-tag.kind-reliability{color:#1e40af;background:#dbeafe}.intelligence-banner-item-tag.kind-spacing{color:#7c2d12;background:#ffedd5}:root{--ath-bg: #FFFFFF;--ath-bg-elevated: #F8F9FA;--ath-bg-card: #FFFFFF;--ath-bg-subtle: #F1F3F5;--ath-bg-hover: #E9ECEF;--ath-text: #1A1A2E;--ath-text-secondary: #6B7280;--ath-text-muted: #9CA3AF;--ath-border: #E5E7EB;--ath-border-subtle: #F3F4F6;--ath-accent: #2563EB;--ath-accent-light: #EFF6FF;--ath-green: #10B981;--ath-green-bg: #ECFDF5;--ath-amber: #F59E0B;--ath-amber-bg: #FFFBEB;--ath-red: #EF4444;--ath-red-bg: #FEF2F2;--ath-blue: #3B82F6;--ath-blue-bg: #EFF6FF;--ath-purple: #8B5CF6;--ath-purple-bg: #F5F3FF;--ath-disc-running: #22c55e;--ath-disc-cycling: #f59e0b;--ath-disc-swimming: #0ea5e9;--ath-shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--ath-shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--ath-shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--ath-shadow-ring: 0 0 0 3px rgba(37, 99, 235, .1);--ath-radius-sm: 8px;--ath-radius-md: 12px;--ath-radius-lg: 16px;--ath-radius-full: 9999px;--ath-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ath-font-display: "Space Grotesk", var(--ath-font)}:root[data-theme=dark]{--ath-bg: #0C0C14;--ath-bg-elevated: #151520;--ath-bg-card: #1A1A28;--ath-bg-subtle: #1E1E2E;--ath-bg-hover: #252538;--ath-text: #F0F0F5;--ath-text-secondary: #A0A0B8;--ath-text-muted: #6B6B80;--ath-border: rgba(255, 255, 255, .08);--ath-border-subtle: rgba(255, 255, 255, .04);--ath-accent: #60A5FA;--ath-accent-light: rgba(96, 165, 250, .1);--ath-green-bg: rgba(16, 185, 129, .1);--ath-amber-bg: rgba(245, 158, 11, .1);--ath-red-bg: rgba(239, 68, 68, .1);--ath-blue-bg: rgba(59, 130, 246, .1);--ath-purple-bg: rgba(139, 92, 246, .1);--ath-shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--ath-shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--ath-shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--ath-shadow-ring: 0 0 0 3px rgba(96, 165, 250, .15)}.ath-shell{display:flex;flex-direction:row;min-height:100dvh;background:var(--ath-bg);color:var(--ath-text);font-family:var(--ath-font);-webkit-font-smoothing:antialiased}.ath-side-nav{width:200px;min-width:200px;display:flex;flex-direction:column;background:var(--ath-bg-card);border-right:1px solid var(--ath-border);padding:20px 12px;position:sticky;top:0;height:100dvh;z-index:20}.ath-side-nav-top{margin-bottom:28px;padding:0 8px}.ath-side-nav-name{font-family:var(--ath-font-display);font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--ath-text)}.ath-side-nav-links{display:flex;flex-direction:column;gap:4px;flex:1}.ath-side-nav-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:none;color:var(--ath-text-muted);cursor:pointer;border-radius:var(--ath-radius-sm);transition:all .15s ease;font-family:var(--ath-font);font-size:13px;font-weight:500;text-align:left;width:100%}.ath-side-nav-btn:hover{background:var(--ath-bg-hover);color:var(--ath-text)}.ath-side-nav-btn.active{background:var(--ath-accent-light);color:var(--ath-accent);font-weight:600}.ath-side-nav-label{font-size:13px}.ath-side-nav-bottom{margin-top:auto;padding-top:16px;border-top:1px solid var(--ath-border-subtle)}.ath-side-nav-logout{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:none;color:var(--ath-text-muted);cursor:pointer;border-radius:var(--ath-radius-sm);transition:all .15s ease;font-family:var(--ath-font);font-size:13px;font-weight:500;width:100%}.ath-side-nav-logout:hover{background:var(--ath-bg-hover);color:var(--ath-red)}.ath-content{flex:1;padding:0 28px 40px;max-width:900px;margin:0 auto;width:100%;overflow-y:auto;min-height:100dvh}@media(max-width:768px){.ath-shell{flex-direction:column}.ath-side-nav{width:100%;min-width:unset;height:auto;position:fixed;bottom:0;top:auto;flex-direction:row;padding:8px 0 calc(8px + env(safe-area-inset-bottom,0px));border-right:none;border-top:1px solid var(--ath-border);z-index:30}.ath-side-nav-top,.ath-side-nav-bottom{display:none}.ath-side-nav-links{flex-direction:row;justify-content:space-around;width:100%;gap:0}.ath-side-nav-btn{flex-direction:column;gap:2px;padding:6px 16px;align-items:center;min-width:64px}.ath-side-nav-label{font-size:10px;font-weight:600}.ath-content{padding:0 16px 88px;max-width:720px}}.ath-page{padding:20px 0}.ath-section-title{font-family:var(--ath-font-display);font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--ath-text-muted);text-transform:uppercase;margin:0 0 12px}.ath-section-heading{font-family:var(--ath-font-display);font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--ath-text);margin:0 0 16px}.ath-hero{display:flex;align-items:flex-end;justify-content:center;gap:20px;padding:24px 0 32px;position:relative}.ath-hero:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,var(--ath-border),transparent)}.ath-today-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}.ath-today-date{font-family:var(--ath-font-display);font-size:22px;font-weight:600;letter-spacing:-.02em;text-transform:capitalize;margin:0;color:var(--ath-text)}.ath-today-weather{font-size:14px;color:var(--ath-text-secondary);font-weight:500}.ath-ring-block{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:transform .2s ease}.ath-ring-block:hover{transform:translateY(-2px)}.ath-ring-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);font-weight:600}.ath-ring-wrap{position:relative;display:flex;align-items:center;justify-content:center}.ath-ring-track{fill:none;stroke:var(--ath-bg-subtle);stroke-width:5}:root[data-theme=dark] .ath-ring-track{stroke:#ffffff0f}.ath-ring-fill{fill:none;stroke-width:5;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.ath-ring-fill.high{stroke:var(--ath-green)}.ath-ring-fill.good{stroke:var(--ath-blue)}.ath-ring-fill.mid{stroke:var(--ath-amber)}.ath-ring-fill.low{stroke:var(--ath-red)}.ath-ring-fill.critical{stroke:#dc2626}.ath-ring-fill.vo2{stroke:var(--ath-purple)}.ath-ring-fill.neutral{stroke:var(--ath-text-muted)}.ath-ring-fill.warning{stroke:var(--ath-amber)}.ath-ring-fill.alert{stroke:var(--ath-red)}.ath-ring-value{position:absolute;font-family:var(--ath-font-display);font-size:32px;font-weight:700;letter-spacing:-.02em;color:var(--ath-text)}.ath-ring-value.small{font-size:20px}.ath-ring-label{font-size:12px;font-weight:600;letter-spacing:-.01em}.ath-ring-label.high{color:var(--ath-green)}.ath-ring-label.good{color:var(--ath-blue)}.ath-ring-label.mid{color:var(--ath-amber)}.ath-ring-label.low{color:var(--ath-red)}.ath-ring-label.critical{color:#dc2626}.ath-ring-label.vo2{color:var(--ath-purple)}.ath-ring-label.neutral{color:var(--ath-text-muted)}.ath-ring-label.warning{color:var(--ath-amber)}.ath-ring-label.alert{color:var(--ath-red)}.ath-today-sessions{margin-bottom:28px}.ath-session-list{display:flex;flex-direction:column;gap:12px}.ath-session-card{padding:10px;border-radius:var(--ath-radius-md);background:var(--ath-bg-card);border:1px solid var(--ath-border);cursor:pointer;transition:all .2s ease;box-shadow:var(--ath-shadow-sm)}.ath-session-card:hover{box-shadow:var(--ath-shadow-md);border-color:var(--ath-text-muted)}.ath-session-card.expanded{border-color:var(--ath-accent);box-shadow:var(--ath-shadow-ring),var(--ath-shadow-md)}.ath-session-card.key{border-left:3px solid var(--ath-amber)}.ath-session-card.support{border-left:3px solid var(--ath-blue)}.ath-session-card.long{border-left:3px solid var(--ath-green)}.ath-session-card-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.ath-session-role{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:var(--ath-radius-full)}.ath-session-role.key{color:var(--ath-amber);background:var(--ath-amber-bg)}.ath-session-role.support{color:var(--ath-blue);background:var(--ath-blue-bg)}.ath-session-role.long{color:var(--ath-green);background:var(--ath-green-bg)}.ath-session-discipline{font-size:12px;color:var(--ath-text-secondary);font-weight:500}.ath-session-duration{font-size:12px;color:var(--ath-text-muted);margin-left:auto;font-weight:500}.ath-session-bla{font-size:9px;font-weight:700;color:var(--ath-red);background:var(--ath-red-bg);padding:2px 6px;border-radius:var(--ath-radius-full);letter-spacing:.04em}.ath-session-label{font-size:14px;font-weight:600;display:block;margin-bottom:4px;color:var(--ath-text);overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.ath-session-dose{font-size:12px;color:var(--ath-text-secondary);margin:4px 0 0;line-height:1.4;overflow:hidden;text-overflow:ellipsis}.ath-session-detail{margin-top:14px;padding-top:14px;border-top:1px solid var(--ath-border-subtle)}.ath-session-obj{font-size:12px;color:var(--ath-text-secondary);margin:0 0 10px;font-style:italic}.ath-session-why{background:var(--ath-accent-light);border:1px solid var(--ath-border);border-radius:var(--ath-radius-sm);padding:10px 12px;margin-bottom:10px}.ath-session-why-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-accent);margin-bottom:4px}.ath-session-why p{font-size:13px;color:var(--ath-text);margin:0;line-height:1.5}.ath-session-guidance{font-size:13px;color:var(--ath-text);margin:0 0 10px;line-height:1.6}.ath-session-coach-note,.ath-session-signal{margin:10px 0 0}.ath-session-coach-note small,.ath-session-signal small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);font-weight:600}.ath-session-coach-note p,.ath-session-signal p{font-size:13px;margin:4px 0 0;line-height:1.5;color:var(--ath-text-secondary)}.ath-rest-day{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;color:var(--ath-text-secondary);background:var(--ath-bg-elevated);border-radius:var(--ath-radius-md);border:1px solid var(--ath-border-subtle);text-align:center}.ath-rest-day p{margin:0;font-size:14px;font-weight:500}.ath-next-session-hint{display:flex;flex-direction:column;gap:2px;padding:10px 16px;background:var(--ath-bg-card);border-radius:var(--ath-radius-sm);border:1px solid var(--ath-border-subtle);width:100%;text-align:left}.ath-next-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ath-text-muted)}.ath-next-detail{font-size:13px;color:var(--ath-text-primary)}.ath-block-context{margin:-4px 0 8px;font-size:12.5px;color:var(--ath-text-muted);line-height:1.4;font-style:italic}.ath-session-actions{display:flex;align-items:center;gap:8px;padding:6px 12px 10px;margin-top:-4px}.ath-garmin-push-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--ath-border);border-radius:var(--ath-radius-sm);background:var(--ath-bg-card);color:var(--ath-text-primary);font-size:12.5px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s;font-family:inherit}.ath-garmin-push-btn:hover{background:var(--ath-bg-hover);border-color:var(--ath-accent)}.ath-garmin-push-btn:disabled{opacity:.5;cursor:not-allowed}.ath-garmin-sent{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ath-green);font-weight:500}.ath-garmin-error{font-size:12px;color:var(--ath-red)}.ath-garmin-spinner{width:14px;height:14px;border:2px solid var(--ath-border);border-top-color:var(--ath-accent);border-radius:50%;animation:ath-spin .6s linear infinite}.ath-vitals-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:600px){.ath-vitals-row{grid-template-columns:repeat(4,1fr)}}.ath-vital-chip{background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-md);padding:14px;cursor:pointer;text-align:left;transition:all .2s ease;color:var(--ath-text);box-shadow:var(--ath-shadow-sm)}.ath-vital-chip:hover{box-shadow:var(--ath-shadow-md);border-color:var(--ath-text-muted)}.ath-vital-chip-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.ath-vital-chip-head svg{color:var(--ath-text-muted)}.ath-vital-chip-label{font-size:11px;color:var(--ath-text-muted);font-weight:600;letter-spacing:.02em}.ath-vital-chip-value{font-family:var(--ath-font-display);font-size:20px;font-weight:700;display:block;letter-spacing:-.02em}.ath-vital-chip-status{font-size:11px;display:block;margin-top:4px;font-weight:500}.ath-vital-chip-status.good{color:var(--ath-green)}.ath-vital-chip-status.warning{color:var(--ath-amber)}.ath-vital-chip-status.alert{color:var(--ath-red)}.ath-vital-chip-status.neutral{color:var(--ath-text-muted)}.ath-vital-chip-status.high{color:var(--ath-green)}.ath-vital-chip-spark{margin:8px 0 4px}.ath-vital-chip-delta{font-size:11px;color:var(--ath-text-muted);display:block;font-weight:500}.ath-week-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px}.ath-week-nav{display:flex;align-items:baseline;gap:10px}.ath-week-range{font-size:14px;color:var(--ath-text-secondary);font-weight:500}.ath-week-controls{display:flex;gap:4px}.ath-week-btn{background:var(--ath-bg-subtle);border:1px solid var(--ath-border);color:var(--ath-text);padding:6px 12px;border-radius:var(--ath-radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.ath-week-btn:hover{background:var(--ath-bg-hover);border-color:var(--ath-text-muted)}.ath-week-summary{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--ath-text-secondary);margin-bottom:14px;width:100%;font-weight:500}.ath-zone-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;flex:1;max-width:220px;background:var(--ath-bg-subtle)}.ath-zone{min-width:2px}.ath-zone.z1{background:var(--ath-text-muted)}.ath-zone.z2{background:var(--ath-green)}.ath-zone.z3{background:var(--ath-amber)}.ath-zone.z4{background:var(--ath-red)}.ath-zone.z5{background:#dc2626}.ath-cal-mode-toggle{display:flex;background:var(--ath-bg-elevated);border-radius:var(--ath-radius-full);padding:2px;gap:1px}.ath-cal-mode-btn{padding:4px 12px;border:none;border-radius:var(--ath-radius-full);font-size:11px;font-weight:600;cursor:pointer;background:transparent;color:var(--ath-text-muted);transition:all .15s ease}.ath-cal-mode-btn.active{background:var(--ath-accent);color:#fff}.ath-content:has(.ath-week){max-width:1100px}.ath-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;width:100%;overflow:hidden}@media(max-width:600px){.ath-week-grid{grid-template-columns:1fr}}.ath-week-day{border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);padding:8px;min-height:110px;min-width:0;overflow:hidden;background:var(--ath-bg-card);transition:border-color .15s}.ath-week-day.today{border-color:var(--ath-accent);background:var(--ath-accent-light)}.ath-week-day-head{display:flex;justify-content:space-between;margin-bottom:10px}.ath-week-day-label{font-size:11px;color:var(--ath-text-muted);font-weight:700;letter-spacing:.06em}.ath-week-day-num{font-size:14px;font-weight:600;color:var(--ath-text)}.ath-week-day-num.today{color:var(--ath-accent)}.ath-week-day-sessions{display:flex;flex-direction:column;gap:6px}.ath-week-day-empty{font-size:14px;color:var(--ath-text-muted);text-align:center;opacity:.4}.ath-month-grid{display:flex;flex-direction:column;gap:2px;border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);overflow:hidden;background:var(--ath-border-subtle)}.ath-month-header-row{display:grid;grid-template-columns:repeat(7,1fr);background:var(--ath-bg-elevated)}.ath-month-header-cell{text-align:center;padding:8px 0;font-size:10px;font-weight:700;color:var(--ath-text-muted);text-transform:uppercase;letter-spacing:.06em}.ath-month-week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.ath-month-cell{background:var(--ath-bg-card);padding:8px 6px;min-height:82px;display:flex;flex-direction:column;gap:4px}.ath-month-cell.muted{opacity:.35}.ath-month-cell.today{background:var(--ath-accent-light)}.ath-month-cell-num{font-size:12px;font-weight:600;color:var(--ath-text)}.ath-month-cell.today .ath-month-cell-num{color:var(--ath-accent);font-weight:700}.ath-month-cell-dots{display:flex;gap:3px;flex-wrap:wrap;margin-top:auto}.ath-month-dot{width:7px;height:7px;border-radius:50%;background:var(--ath-text-muted)}.ath-month-dot.role-key{background:var(--ath-amber)}.ath-month-dot.role-long{background:var(--ath-green)}.ath-month-dot.role-support{background:var(--ath-text-muted)}.ath-month-dot-more{font-size:9px;color:var(--ath-text-muted);font-weight:600}.ath-discipline-pills{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.ath-pill{background:var(--ath-bg-subtle);border:1px solid var(--ath-border);color:var(--ath-text-secondary);padding:7px 16px;border-radius:var(--ath-radius-full);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.ath-pill:hover{background:var(--ath-bg-hover);color:var(--ath-text)}.ath-pill.active{background:var(--ath-text);color:var(--ath-bg);border-color:var(--ath-text)}.ath-pill.small{padding:4px 12px;font-size:12px}.ath-block-summary{margin-bottom:24px;padding:16px 18px;background:var(--ath-bg-card);border-radius:var(--ath-radius-md);border:1px solid var(--ath-border);box-shadow:var(--ath-shadow-sm)}.ath-block-info{display:flex;flex-direction:column;gap:4px}.ath-block-objective{font-size:15px;font-weight:600;color:var(--ath-text)}.ath-block-phase{font-size:11px;color:var(--ath-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.ath-block-intent{font-size:13px;color:var(--ath-text-secondary);margin:6px 0 0;line-height:1.5}.ath-trend-section,.ath-volume-section,.ath-predictions,.ath-weekly-breakdown{margin-bottom:28px}.ath-volume-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.ath-volume-pills{display:flex;gap:4px}.ath-predictions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ath-prediction-card{padding:14px;background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-md);display:flex;flex-direction:column;gap:4px;box-shadow:var(--ath-shadow-sm);transition:box-shadow .2s ease}.ath-prediction-card:hover{box-shadow:var(--ath-shadow-md)}.ath-prediction-type{font-size:10px;color:var(--ath-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.ath-prediction-value{font-family:var(--ath-font-display);font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--ath-text)}.ath-prediction-paces{display:flex;flex-direction:column;gap:2px;margin-top:6px;font-size:12px}.ath-prediction-pace-row{display:flex;justify-content:space-between;color:var(--ath-text-muted)}.ath-prediction-pace-row.objetivo{color:var(--ath-text);font-weight:600}.ath-prediction-pace-label{font-weight:500}.ath-prediction-reliability{font-size:11px;color:var(--ath-text-muted);font-weight:500;margin-top:4px}.ath-breakdown-grid{display:flex;flex-direction:column;gap:10px}.ath-breakdown-row{display:flex;align-items:center;gap:12px}.ath-breakdown-disc{font-size:13px;width:80px;flex-shrink:0;font-weight:500;color:var(--ath-text-secondary)}.ath-breakdown-bar-wrap{flex:1;height:6px;background:var(--ath-bg-subtle);border-radius:3px;overflow:hidden}.ath-breakdown-bar{height:100%;border-radius:3px;transition:width .4s cubic-bezier(.4,0,.2,1)}.ath-breakdown-bar.disc-running{background:var(--ath-disc-running)}.ath-breakdown-bar.disc-ciclismo{background:var(--ath-disc-cycling)}.ath-breakdown-bar.disc-natación{background:var(--ath-disc-swimming)}.ath-breakdown-count{font-family:var(--ath-font-display);font-size:14px;font-weight:700;width:28px;text-align:right;color:var(--ath-text)}.ath-recovery-rings{display:flex;justify-content:center;gap:28px;margin-bottom:28px}.ath-balance-section{margin-bottom:28px;padding:16px 18px;background:var(--ath-bg-card);border-radius:var(--ath-radius-md);border:1px solid var(--ath-border);box-shadow:var(--ath-shadow-sm)}.ath-balance-label{font-size:13px;font-weight:600;display:block;margin-bottom:10px;text-align:center;color:var(--ath-text)}.ath-balance-bar{height:6px;background:linear-gradient(to right,var(--ath-blue),var(--ath-green),var(--ath-amber),var(--ath-red));border-radius:3px;position:relative}.ath-balance-marker{position:absolute;top:-6px;width:4px;height:18px;background:var(--ath-text);border-radius:2px;transform:translate(-50%);transition:left .4s cubic-bezier(.4,0,.2,1);box-shadow:var(--ath-shadow-sm)}.ath-balance-ends{display:flex;justify-content:space-between;font-size:10px;color:var(--ath-text-muted);margin-top:6px;font-weight:500}.ath-recovery-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}@media(min-width:600px){.ath-recovery-metrics{grid-template-columns:repeat(4,1fr)}}.ath-metric-card{background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-md);padding:14px;cursor:pointer;text-align:left;color:var(--ath-text);transition:all .2s ease;display:flex;flex-direction:column;gap:4px;box-shadow:var(--ath-shadow-sm);position:relative}.ath-metric-compare-icon{position:absolute;top:8px;right:8px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ath-bg-elevated);color:var(--ath-text-muted);opacity:0;transition:opacity .2s ease,background .15s ease;cursor:pointer}.ath-metric-card:hover .ath-metric-compare-icon{opacity:1}.ath-metric-compare-icon:hover{background:var(--ath-accent);color:#fff}.ath-metric-card:hover{box-shadow:var(--ath-shadow-md);border-color:var(--ath-text-muted)}.ath-metric-card small{font-size:10px;color:var(--ath-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.ath-metric-card strong{font-family:var(--ath-font-display);font-size:20px;font-weight:700;letter-spacing:-.02em}.ath-metric-status{font-size:12px;font-weight:500}.ath-metric-status.good{color:var(--ath-green)}.ath-metric-status.warning{color:var(--ath-amber)}.ath-metric-status.alert{color:var(--ath-red)}.ath-metric-status.high{color:var(--ath-green)}.ath-metric-status.neutral{color:var(--ath-text-muted)}.ap-drawer-backdrop{position:fixed;inset:0;background:#0006;z-index:100;display:flex;justify-content:flex-end;animation:ath-fade-in .2s ease}:root[data-theme=dark] .ap-drawer-backdrop{background:#0009}.ap-drawer{width:100%;height:100%;background:var(--ath-bg);overflow-y:auto;box-shadow:var(--ath-shadow-lg);animation:ath-slide-left .3s cubic-bezier(.4,0,.2,1)}.ap-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--ath-border);position:sticky;top:0;background:var(--ath-bg);z-index:1}.ap-drawer-header h2{font-family:var(--ath-font-display);font-size:18px;font-weight:600;margin:0;letter-spacing:-.01em}.ap-drawer-close{background:var(--ath-bg-subtle);border:1px solid var(--ath-border);color:var(--ath-text-secondary);width:32px;height:32px;border-radius:var(--ath-radius-sm);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ap-drawer-close:hover{background:var(--ath-bg-hover);color:var(--ath-text)}.ap-drawer-body{padding:20px}.ap-drawer-section{margin-bottom:16px}.ap-drawer-chart{margin-bottom:20px}.ap-drawer-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin-bottom:16px}.ap-drawer-kpi{background:var(--ath-bg-elevated);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-sm);padding:12px;text-align:center}.ap-drawer-kpi small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);font-weight:600;display:block;margin-bottom:4px}.ap-drawer-kpi strong{font-family:var(--ath-font-display);font-size:18px;font-weight:700;color:var(--ath-text)}.ap-empty{color:var(--ath-text-muted);font-size:13px;text-align:center;padding:32px 0}.ap-insight{border-radius:var(--ath-radius-sm);padding:12px 14px;font-size:13px;line-height:1.5}.ap-insight p{margin:0}.ap-insight.info{background:var(--ath-bg-elevated);border:1px solid var(--ath-border);color:var(--ath-text-secondary)}.ap-insight.warning{background:var(--ath-amber-bg);border:1px solid var(--ath-amber);color:var(--ath-amber)}:root[data-theme=dark] .ap-insight.warning{color:#fbbf24}.ap-insight.positive{background:var(--ath-green-bg);border:1px solid var(--ath-green);color:var(--ath-green)}:root[data-theme=dark] .ap-insight.positive{color:#34d399}.ap-range-pills{display:flex;gap:4px;background:var(--ath-bg-subtle);border-radius:var(--ath-radius-full);padding:3px}.ap-range-pill{background:transparent;border:none;color:var(--ath-text-secondary);padding:5px 14px;border-radius:var(--ath-radius-full);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.ap-range-pill:hover{color:var(--ath-text)}.ap-range-pill.active{background:var(--ath-bg-card);color:var(--ath-text);box-shadow:var(--ath-shadow-sm)}.athlete-portal-wellness-tooltip{background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-sm);padding:10px 12px;font-size:12px;box-shadow:var(--ath-shadow-md);display:flex;flex-direction:column;gap:2px}.athlete-portal-wellness-tooltip strong{color:var(--ath-text);font-weight:600}.athlete-portal-wellness-tooltip span{color:var(--ath-text-secondary)}@keyframes ath-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ath-slide-left{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:600px){.ath-hero{gap:16px}.ath-ring-value{font-size:26px}.ath-ring-value.small{font-size:18px}}.ath-curve-wrap{background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-md);padding:16px 8px 8px;box-shadow:var(--ath-shadow-sm)}.ath-curve-mock-label{text-align:center;font-size:11px;color:var(--ath-text-muted);margin:6px 0 0;font-style:italic;font-weight:400}.ath-curve-tooltip{background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-sm);padding:8px 10px;box-shadow:var(--ath-shadow-md);display:flex;flex-direction:column;gap:2px}.ath-curve-tooltip-hr{font-size:12px;font-weight:600;color:var(--ath-text)}.ath-curve-tooltip-lac{font-size:11px;color:var(--ath-text-secondary);font-weight:500}.ath-micro-block{border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-sm);background:var(--ath-bg-elevated);margin-top:12px;overflow:hidden;transition:border-color .2s ease}.ath-micro-block--open{border-color:var(--ath-border)}.ath-micro-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--ath-text-secondary);transition:color .15s ease}.ath-micro-header:hover{color:var(--ath-text)}.ath-micro-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--ath-radius-full);background:var(--ath-accent-light);color:var(--ath-accent);font-size:11px;font-weight:700;flex-shrink:0}.ath-micro-title{font-size:13px;font-weight:500;flex:1}.ath-micro-toggle{font-size:11px;color:var(--ath-accent);font-weight:600;letter-spacing:.01em;white-space:nowrap}.ath-micro-body{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1)}.ath-micro-body-inner{padding:0 14px 14px}.ath-micro-body-inner p{font-size:13px;line-height:1.6;color:var(--ath-text-secondary);margin:0 0 8px}.ath-micro-body-inner p:last-child{margin-bottom:0}.ath-lactate-input-wrap{background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-md);padding:16px;box-shadow:var(--ath-shadow-sm)}.ath-lactate-input-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.ath-lactate-input-title{font-size:14px;font-weight:600;color:var(--ath-text);letter-spacing:-.01em}.ath-lactate-input-unit{font-size:11px;color:var(--ath-text-muted);font-weight:500}.ath-lactate-input-grid{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.ath-lactate-input-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--ath-border-subtle)}.ath-lactate-input-row:last-child{border-bottom:none}.ath-lactate-group-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0 4px;margin-top:4px;border-top:1px solid var(--ath-border)}.ath-lactate-group-header:first-child{border-top:none;margin-top:0}.ath-lactate-group-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ath-text);text-transform:uppercase;letter-spacing:.03em}.ath-lactate-group-count{font-size:11px;color:var(--ath-text-muted);font-weight:500}.ath-lactate-rep-row{padding-left:8px}.ath-lactate-rep-row.disabled{opacity:.5}.ath-lactate-rep-row.disabled .ath-lactate-input-step{color:var(--ath-text-muted)}.ath-lactate-rep-toggle{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--ath-border);background:var(--ath-bg-subtle);color:var(--ath-text-muted);cursor:pointer;flex-shrink:0;transition:all .15s;padding:0}.ath-lactate-rep-toggle.on{background:var(--ath-green-bg);border-color:var(--ath-green);color:var(--ath-green)}.ath-lactate-rep-toggle:hover:not(:disabled){border-color:var(--ath-accent);color:var(--ath-accent)}.ath-lactate-input-skip{font-size:12px;color:var(--ath-text-muted);font-style:italic;flex-shrink:0;width:60px;text-align:center}.ath-lactate-input-label{flex:1;display:flex;align-items:baseline;gap:6px;min-width:0}.ath-lactate-input-step{font-size:13px;font-weight:500;color:var(--ath-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ath-lactate-input-dur{font-size:11px;color:var(--ath-text-muted);font-weight:400;flex-shrink:0}.ath-lactate-input-field{width:60px;flex-shrink:0;text-align:center;font-family:var(--ath-font-display);font-size:15px;font-weight:600;color:var(--ath-text);background:var(--ath-bg-subtle);border:1px solid var(--ath-border);border-radius:var(--ath-radius-sm);padding:6px 4px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;-moz-appearance:textfield}.ath-lactate-input-field::-webkit-inner-spin-button,.ath-lactate-input-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ath-lactate-input-field::placeholder{color:var(--ath-text-muted);font-weight:400;opacity:.5}.ath-lactate-input-field:focus{border-color:var(--ath-accent);box-shadow:var(--ath-shadow-ring)}.ath-lactate-input-field:disabled{opacity:.6;cursor:not-allowed}.ath-lactate-input-submit{display:block;width:100%;padding:10px;border:none;border-radius:var(--ath-radius-sm);background:var(--ath-text);color:var(--ath-bg);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s ease;letter-spacing:.01em}.ath-lactate-input-submit:hover{opacity:.85}.ath-lactate-input-submit:disabled{opacity:.35;cursor:not-allowed}.ath-lactate-input-feedback{margin-top:12px;padding:12px 14px;background:var(--ath-green-bg);border:1px solid var(--ath-green);border-radius:var(--ath-radius-sm);display:flex;align-items:center;justify-content:space-between;gap:12px}.ath-lactate-input-feedback p{margin:0;font-size:13px;color:var(--ath-green);font-weight:500;line-height:1.4}:root[data-theme=dark] .ath-lactate-input-feedback p{color:#34d399}.ath-lactate-input-reset{background:none;border:none;color:var(--ath-text-muted);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;padding:4px 8px;border-radius:var(--ath-radius-sm);transition:color .15s ease,background .15s ease}.ath-lactate-input-reset:hover{color:var(--ath-text);background:var(--ath-bg-subtle)}.ath-lactate-session-select{margin-bottom:12px}.ath-lactate-select-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);margin-bottom:6px}.ath-lactate-select{width:100%;padding:8px 30px 8px 12px;font-size:13px;font-weight:500;color:var(--ath-text);background:var(--ath-bg-subtle);border:1px solid var(--ath-border);border-radius:var(--ath-radius-sm);outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.ath-lactate-select:focus{border-color:var(--ath-accent);box-shadow:var(--ath-shadow-ring)}.ath-lactate-session-info{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:6px 10px;background:var(--ath-bg-subtle);border-radius:6px}.ath-lactate-session-name{font-size:13px;font-weight:600;color:var(--ath-text)}.ath-lactate-zone-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ath-lactate-empty{font-size:13px;color:var(--ath-text-muted);text-align:center;padding:16px 0;margin:0}.ath-jetlag-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:center;justify-content:center;animation:ath-fade-in .2s ease}:root[data-theme=dark] .ath-jetlag-overlay{background:#000000b3}.ath-jetlag-modal{width:100%;height:100%;background:var(--ath-bg);display:flex;flex-direction:column;overflow:hidden;animation:ath-fade-in .25s ease}.ath-jetlag-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ath-border);flex-shrink:0}.ath-jetlag-header-left{display:flex;align-items:center;gap:8px}.ath-jetlag-header h2{font-family:var(--ath-font-display);font-size:18px;font-weight:600;margin:0;letter-spacing:-.01em;color:var(--ath-text)}.ath-jetlag-back,.ath-jetlag-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ath-radius-sm);border:1px solid var(--ath-border);background:var(--ath-bg-subtle);color:var(--ath-text-secondary);cursor:pointer;transition:all .15s ease}.ath-jetlag-back:hover,.ath-jetlag-close:hover{background:var(--ath-bg-hover);color:var(--ath-text)}.ath-jetlag-body{flex:1;overflow-y:auto;padding:20px}.ath-jetlag-form{max-width:480px;margin:0 auto}.ath-jetlag-subtitle{font-size:14px;color:var(--ath-text-secondary);margin:0 0 24px;line-height:1.5}.ath-jetlag-field{margin-bottom:18px}.ath-jetlag-field label{display:block;font-size:12px;font-weight:600;color:var(--ath-text-secondary);margin-bottom:6px;letter-spacing:.02em}.ath-jetlag-field select,.ath-jetlag-field input{width:100%;padding:10px 12px;font-size:14px;font-family:var(--ath-font);color:var(--ath-text);background:var(--ath-bg-subtle);border:1px solid var(--ath-border);border-radius:var(--ath-radius-sm);outline:none;transition:border-color .15s ease,box-shadow .15s ease;appearance:none;-webkit-appearance:none}.ath-jetlag-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.ath-jetlag-field select:focus,.ath-jetlag-field input:focus{border-color:var(--ath-accent);box-shadow:var(--ath-shadow-ring)}.ath-jetlag-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ath-jetlag-preview{display:flex;gap:16px;padding:16px;background:var(--ath-bg-elevated);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);margin-bottom:20px}.ath-jetlag-preview-stat{display:flex;flex-direction:column;gap:2px;flex:1;text-align:center}.ath-jetlag-preview-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);font-weight:600}.ath-jetlag-preview-value{font-family:var(--ath-font-display);font-size:20px;font-weight:700;color:var(--ath-text);letter-spacing:-.02em}.ath-jetlag-generate{display:block;width:100%;padding:12px;border:none;border-radius:var(--ath-radius-sm);background:var(--ath-text);color:var(--ath-bg);font-size:14px;font-weight:600;font-family:var(--ath-font);cursor:pointer;transition:opacity .15s ease;letter-spacing:.01em}.ath-jetlag-generate:hover{opacity:.85}.ath-jetlag-generate:disabled{opacity:.35;cursor:not-allowed}.ath-jetlag-results{max-width:600px;margin:0 auto}.ath-jetlag-summary{background:var(--ath-bg-elevated);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);padding:16px 20px;margin-bottom:28px}.ath-jetlag-summary-row{display:flex;gap:16px}.ath-jetlag-summary-item{flex:1;text-align:center}.ath-jetlag-summary-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);font-weight:600;margin-bottom:4px}.ath-jetlag-summary-value{font-family:var(--ath-font-display);font-size:15px;font-weight:700;color:var(--ath-text);letter-spacing:-.01em}.ath-jetlag-timeline{display:flex;flex-direction:column}.ath-jetlag-day{display:flex;gap:16px}.ath-jetlag-day-marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:20px}.ath-jetlag-day-dot{width:10px;height:10px;border-radius:50%;background:var(--ath-text-muted);flex-shrink:0;margin-top:5px}.ath-jetlag-day.pre .ath-jetlag-day-dot{background:var(--ath-blue)}.ath-jetlag-day.travel .ath-jetlag-day-dot{background:var(--ath-amber);width:14px;height:14px;margin-top:3px}.ath-jetlag-day.post .ath-jetlag-day-dot{background:var(--ath-green)}.ath-jetlag-day-line{width:2px;flex:1;background:var(--ath-border);min-height:12px}.ath-jetlag-day-content{flex:1;padding-bottom:20px}.ath-jetlag-day-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.ath-jetlag-day-label{font-family:var(--ath-font-display);font-size:14px;font-weight:600;color:var(--ath-text);letter-spacing:-.01em}.ath-jetlag-day-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:var(--ath-radius-full);background:var(--ath-amber-bg);color:var(--ath-amber)}.ath-jetlag-day-cards{display:flex;flex-direction:column;gap:8px}.ath-jetlag-card{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--ath-bg-card);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-sm)}.ath-jetlag-card-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ath-radius-sm);flex-shrink:0}.ath-jetlag-card-icon.sun{background:var(--ath-amber-bg);color:var(--ath-amber)}.ath-jetlag-card-icon.moon{background:var(--ath-purple-bg);color:var(--ath-purple)}.ath-jetlag-card-icon.food{background:var(--ath-green-bg);color:var(--ath-green)}.ath-jetlag-card-icon.sleep{background:var(--ath-blue-bg);color:var(--ath-blue)}.ath-jetlag-card-icon.run{background:var(--ath-red-bg);color:var(--ath-red)}.ath-jetlag-card-icon.pill{background:var(--ath-purple-bg);color:var(--ath-purple)}.ath-jetlag-card-title{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ath-text-muted);margin-bottom:2px}.ath-jetlag-card p{margin:0;font-size:13px;color:var(--ath-text-secondary);line-height:1.4}.ath-jetlag-no-diff{text-align:center;padding:40px 0;color:var(--ath-text-muted);font-size:14px}@media(max-width:600px){.ath-jetlag-preview{flex-direction:column;gap:12px}.ath-jetlag-row{grid-template-columns:1fr}.ath-jetlag-summary-row{flex-direction:column;gap:10px}}.ath-compare-overlay{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:center;justify-content:center;animation:ath-fade-in .2s ease}:root[data-theme=dark] .ath-compare-overlay{background:#000000a6}.ath-compare-modal{width:90%;max-width:480px;max-height:90vh;background:var(--ath-bg);border-radius:var(--ath-radius-lg);box-shadow:var(--ath-shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:ath-compare-enter .3s cubic-bezier(.4,0,.2,1)}@keyframes ath-compare-enter{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.ath-compare-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ath-border);flex-shrink:0}.ath-compare-header h2{font-family:var(--ath-font-display);font-size:17px;font-weight:600;margin:0;letter-spacing:-.01em;color:var(--ath-text)}.ath-compare-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ath-radius-sm);border:1px solid var(--ath-border);background:var(--ath-bg-subtle);color:var(--ath-text-secondary);cursor:pointer;transition:all .15s ease}.ath-compare-close:hover{background:var(--ath-bg-hover);color:var(--ath-text)}.ath-compare-tabs{display:flex;padding:0 20px;border-bottom:1px solid var(--ath-border-subtle);flex-shrink:0}.ath-compare-tab{flex:1;padding:10px 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--ath-text-muted);font-size:13px;font-weight:600;font-family:var(--ath-font);cursor:pointer;transition:all .15s ease;text-align:center}.ath-compare-tab:hover{color:var(--ath-text-secondary)}.ath-compare-tab.active{color:var(--ath-accent);border-bottom-color:var(--ath-accent)}.ath-compare-body{flex:1;overflow-y:auto;padding:20px}.ath-compare-numbers{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.ath-compare-current,.ath-compare-avg{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}.ath-compare-numbers-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);font-weight:600}.ath-compare-numbers-value{font-family:var(--ath-font-display);font-size:28px;font-weight:700;color:var(--ath-text);letter-spacing:-.02em;line-height:1}.ath-compare-numbers-unit{font-size:11px;color:var(--ath-text-muted);font-weight:500}.ath-compare-delta-block{display:flex;align-items:center;justify-content:center;flex-shrink:0}.ath-compare-delta-badge{display:inline-flex;align-items:center;gap:3px;padding:4px 10px;border-radius:var(--ath-radius-full);font-size:13px;font-weight:700;letter-spacing:-.01em}.ath-compare-delta-badge.positive{background:var(--ath-green-bg);color:var(--ath-green)}.ath-compare-delta-badge.negative{background:var(--ath-red-bg);color:var(--ath-red)}.ath-compare-delta-badge.neutral{background:var(--ath-bg-subtle);color:var(--ath-text-muted)}.ath-compare-chart{margin-bottom:16px;background:var(--ath-bg-elevated);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-sm);padding:12px 8px 4px}.ath-compare-insight{margin-bottom:16px}.ath-compare-insight-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--ath-radius-sm);font-size:13px;line-height:1.5}.ath-compare-insight-card p{margin:0}.ath-compare-insight-card.positive{background:var(--ath-green-bg);border:1px solid var(--ath-green);color:var(--ath-green)}:root[data-theme=dark] .ath-compare-insight-card.positive{color:#34d399}.ath-compare-insight-card.warning{background:var(--ath-amber-bg);border:1px solid var(--ath-amber);color:var(--ath-amber)}:root[data-theme=dark] .ath-compare-insight-card.warning{color:#fbbf24}.ath-compare-trend-stats{display:flex;gap:10px}.ath-compare-trend-stat{flex:1;text-align:center;padding:10px;background:var(--ath-bg-elevated);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-sm)}.ath-compare-trend-stat-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);font-weight:600;margin-bottom:4px}.ath-compare-trend-stat-value{font-family:var(--ath-font-display);font-size:15px;font-weight:700;color:var(--ath-text);letter-spacing:-.01em}@media(max-width:600px){.ath-compare-modal{width:100%;max-width:100%;max-height:100%;height:100%;border-radius:0}.ath-compare-numbers-value{font-size:24px}}.ath-builder-backdrop{position:fixed;inset:0;background:#00000073;z-index:200;display:flex;align-items:center;justify-content:center;animation:ath-fade-in .2s ease;padding:16px}:root[data-theme=dark] .ath-builder-backdrop{background:#000000a6}.ath-builder-panel{width:100%;max-width:540px;max-height:90dvh;background:var(--ath-bg);border-radius:var(--ath-radius-lg);box-shadow:var(--ath-shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:ath-builder-slide-up .3s cubic-bezier(.4,0,.2,1)}@keyframes ath-builder-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.ath-builder-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--ath-border)}.ath-builder-header h2{font-family:var(--ath-font-display);font-size:18px;font-weight:600;margin:0;letter-spacing:-.01em;color:var(--ath-text)}.ath-builder-close{background:var(--ath-bg-subtle);border:1px solid var(--ath-border);color:var(--ath-text-secondary);width:30px;height:30px;border-radius:var(--ath-radius-sm);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ath-builder-close:hover{background:var(--ath-bg-hover);color:var(--ath-text)}.ath-builder-body{flex:1;overflow-y:auto;padding:20px}.ath-builder-duration{font-size:13px;color:var(--ath-text-secondary);margin-bottom:12px}.ath-builder-duration strong{font-family:var(--ath-font-display);font-weight:700;color:var(--ath-text)}.ath-builder-duration-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--ath-font-display);font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ath-text);margin-bottom:16px}.ath-builder-title-input{width:100%;padding:10px 14px;background:var(--ath-bg-elevated);border:1px solid var(--ath-border);border-radius:var(--ath-radius-sm);font-family:var(--ath-font);font-size:14px;color:var(--ath-text);margin-bottom:14px;outline:none;transition:border-color .15s ease;box-sizing:border-box}.ath-builder-title-input::placeholder{color:var(--ath-text-muted)}.ath-builder-title-input:focus{border-color:var(--ath-accent)}.ath-builder-disciplines{display:flex;gap:8px;margin-bottom:18px}.ath-builder-disc-pill{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--ath-radius-full);border:1px solid var(--ath-border);background:var(--ath-bg-subtle);color:var(--ath-text-secondary);font-family:var(--ath-font);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.ath-builder-disc-pill:hover{background:var(--ath-bg-hover);color:var(--ath-text)}.ath-builder-disc-pill.active{background:var(--ath-text);color:var(--ath-bg);border-color:var(--ath-text)}.ath-builder-disc-icon{font-size:15px}.ath-builder-blocks{display:flex;flex-direction:column;gap:10px;min-height:60px}.ath-builder-empty{text-align:center;color:var(--ath-text-muted);font-size:14px;padding:32px 0}.ath-builder-block{background:var(--ath-bg-card);border:1px solid var(--ath-border);border-left:3px solid var(--ath-text-muted);border-radius:var(--ath-radius-md);padding:12px 14px;transition:box-shadow .15s ease}.ath-builder-block:hover{box-shadow:var(--ath-shadow-sm)}.ath-builder-block-head{display:flex;align-items:center;gap:8px}.ath-builder-block-type-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;padding:3px 10px;border-radius:var(--ath-radius-full)}.ath-builder-block-duration-label{font-size:12px;color:var(--ath-text-muted);font-weight:500;margin-left:auto}.ath-builder-block-remove{background:none;border:none;color:var(--ath-text-muted);cursor:pointer;font-size:12px;padding:4px;border-radius:4px;transition:all .15s ease;line-height:1}.ath-builder-block-remove:hover{color:var(--ath-red);background:var(--ath-red-bg)}.ath-builder-block-fields{display:flex;flex-direction:column;gap:10px;margin-top:8px}.ath-builder-field{display:flex;flex-direction:column;gap:3px}.ath-builder-field span{font-size:10px;color:var(--ath-text-muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.ath-builder-field input{width:80px;padding:6px 10px;background:var(--ath-bg-elevated);border:1px solid var(--ath-border);border-radius:6px;font-family:var(--ath-font-display);font-size:14px;font-weight:600;color:var(--ath-text);outline:none;box-sizing:border-box}.ath-builder-field input:focus{border-color:var(--ath-accent)}.ath-builder-interval-row{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.ath-builder-interval-x,.ath-builder-interval-plus{font-family:var(--ath-font-display);font-size:16px;font-weight:700;color:var(--ath-text-muted);padding-bottom:6px}.ath-builder-zones{display:flex;align-items:center;gap:8px}.ath-builder-zones-label{font-size:10px;color:var(--ath-text-muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase;min-width:32px}.ath-builder-zone-chips{display:flex;gap:4px}.ath-builder-zone-chip{width:36px;height:28px;border:none;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.ath-builder-zone-chip:hover{opacity:.85}.ath-builder-zone-chip.active{box-shadow:0 2px 8px #00000026;transform:scale(1.08)}.ath-builder-extra-row{display:flex;align-items:flex-end;gap:10px;margin-top:6px}.ath-builder-extra-row .ath-builder-field{flex:1}.ath-builder-extra-row input{width:100%}.ath-builder-notes{width:100%;padding:6px 10px;background:var(--ath-bg-elevated);border:1px solid var(--ath-border-subtle);border-radius:6px;font-family:var(--ath-font);font-size:12px;color:var(--ath-text-secondary);outline:none;box-sizing:border-box}.ath-builder-notes::placeholder{color:var(--ath-text-muted)}.ath-builder-notes:focus{border-color:var(--ath-accent)}.ath-builder-add-wrap{display:flex;flex-direction:column;align-items:center;margin-top:14px;position:relative}.ath-builder-add-btn{width:44px;height:44px;border-radius:var(--ath-radius-full);border:2px dashed var(--ath-border);background:var(--ath-bg-card);color:var(--ath-text-muted);font-size:22px;font-weight:300;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.ath-builder-add-btn:hover{border-color:var(--ath-accent);color:var(--ath-accent);background:var(--ath-accent-light)}.ath-builder-add-menu{position:absolute;top:52px;background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-md);box-shadow:var(--ath-shadow-lg);padding:6px;z-index:10;min-width:200px;animation:ath-fade-in .15s ease}.ath-builder-add-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;color:var(--ath-text);font-family:var(--ath-font);font-size:13px;font-weight:500;cursor:pointer;border-radius:var(--ath-radius-sm);transition:background .1s ease;text-align:left}.ath-builder-add-option:hover{background:var(--ath-bg-hover)}.ath-builder-add-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ath-builder-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--ath-border)}.ath-builder-cancel{padding:9px 18px;border:1px solid var(--ath-border);background:var(--ath-bg-subtle);color:var(--ath-text-secondary);border-radius:var(--ath-radius-sm);font-family:var(--ath-font);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.ath-builder-cancel:hover{background:var(--ath-bg-hover);color:var(--ath-text)}.ath-builder-save{padding:9px 22px;border:none;background:var(--ath-accent);color:#fff;border-radius:var(--ath-radius-sm);font-family:var(--ath-font);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.ath-builder-save:hover{opacity:.9}.ath-builder-save:disabled{opacity:.4;cursor:not-allowed}.ath-builder-step-discipline{display:flex;flex-direction:column;align-items:center;padding:20px 0 10px}.ath-builder-step-subtitle{font-size:14px;color:var(--ath-text-secondary);margin-bottom:24px;text-align:center}.ath-builder-discipline-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:360px}.ath-builder-disc-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;background:var(--ath-bg-card);border:2px solid var(--ath-border);border-radius:var(--ath-radius-md);cursor:pointer;transition:all .2s ease}.ath-builder-disc-card:hover{border-color:var(--ath-accent);box-shadow:var(--ath-shadow-md);transform:translateY(-2px)}.ath-builder-disc-card-icon{font-size:32px}.ath-builder-disc-card-label{font-size:13px;font-weight:600;color:var(--ath-text)}.ath-builder-date-row{margin-bottom:12px}.ath-builder-date-options{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.ath-builder-date-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border:1.5px solid var(--ath-border);border-radius:var(--ath-radius-sm);background:var(--ath-bg-card);color:var(--ath-text-muted);cursor:pointer;transition:all .15s ease;min-width:44px}.ath-builder-date-chip:hover{border-color:var(--ath-accent);color:var(--ath-text)}.ath-builder-date-chip.active{border-color:var(--ath-accent);background:var(--ath-accent-light);color:var(--ath-accent)}.ath-builder-date-chip-day{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ath-builder-date-chip-num{font-family:var(--ath-font-display);font-size:15px;font-weight:700}.ath-builder-top-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.ath-builder-back-btn{width:28px;height:28px;border-radius:var(--ath-radius-full);border:1px solid var(--ath-border);background:var(--ath-bg-elevated);color:var(--ath-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ath-builder-back-btn:hover{background:var(--ath-bg-card);color:var(--ath-text)}.ath-builder-disc-badge{font-size:13px;font-weight:600;color:var(--ath-text);background:var(--ath-bg-elevated);padding:4px 14px;border-radius:var(--ath-radius-full)}.ath-builder-add-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;color:var(--ath-text);font-family:var(--ath-font);font-size:13px;font-weight:500;cursor:pointer;border-radius:var(--ath-radius-sm);transition:background .1s ease;text-align:left}.ath-builder-add-menu-item:hover{background:var(--ath-bg-hover)}.ath-builder-add-menu-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ath-builder-editor-step{padding:0}.ath-builder-editor-step .workout-editor{border:none;box-shadow:none}.ath-builder-saved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;text-align:center}.ath-builder-saved p{font-size:18px;font-weight:600;color:var(--ath-text);margin:0}.ath-builder-saved span{font-size:13px;color:var(--ath-text-secondary)}.ath-builder-done-btn{margin-top:16px;padding:10px 28px;border:none;background:var(--ath-accent);color:#fff;border-radius:var(--ath-radius-sm);font-weight:600;font-size:13px;cursor:pointer;transition:opacity .15s ease}.ath-builder-done-btn:hover{opacity:.9}.ath-cal-import-backdrop{position:fixed;inset:0;background:#00000073;z-index:200;display:flex;align-items:center;justify-content:center;animation:ath-fade-in .2s ease;padding:16px}:root[data-theme=dark] .ath-cal-import-backdrop{background:#000000a6}.ath-cal-import-panel{width:100%;max-width:480px;max-height:90dvh;background:var(--ath-bg);border-radius:var(--ath-radius-lg);box-shadow:var(--ath-shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:ath-builder-slide-up .3s cubic-bezier(.4,0,.2,1)}.ath-cal-import-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--ath-border)}.ath-cal-import-header-left{display:flex;align-items:center;gap:10px}.ath-cal-import-header h2{font-family:var(--ath-font-display);font-size:18px;font-weight:600;margin:0;letter-spacing:-.01em;color:var(--ath-text)}.ath-cal-import-back{background:none;border:none;color:var(--ath-text-secondary);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s ease}.ath-cal-import-back:hover{background:var(--ath-bg-subtle);color:var(--ath-text)}.ath-cal-import-close{background:var(--ath-bg-subtle);border:1px solid var(--ath-border);color:var(--ath-text-secondary);width:30px;height:30px;border-radius:var(--ath-radius-sm);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ath-cal-import-close:hover{background:var(--ath-bg-hover);color:var(--ath-text)}.ath-cal-import-body{flex:1;overflow-y:auto;padding:24px 20px}.ath-cal-import-subtitle{font-size:14px;color:var(--ath-text-secondary);margin:0 0 20px;line-height:1.5}.ath-cal-import-providers{display:flex;flex-direction:column;gap:12px}.ath-cal-import-provider-card{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-md);cursor:pointer;transition:all .2s ease;text-align:left;font-family:var(--ath-font);box-shadow:var(--ath-shadow-sm);width:100%}.ath-cal-import-provider-card:hover{border-color:var(--ath-text-muted);box-shadow:var(--ath-shadow-md)}.ath-cal-import-provider-icon{width:52px;height:52px;border-radius:var(--ath-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ath-cal-import-provider-info{display:flex;flex-direction:column;gap:3px;flex:1}.ath-cal-import-provider-name{font-size:15px;font-weight:600;color:var(--ath-text)}.ath-cal-import-provider-desc{font-size:12px;color:var(--ath-text-muted);line-height:1.4}.ath-cal-import-provider-arrow{font-size:18px;color:var(--ath-text-muted);flex-shrink:0}.ath-cal-import-permissions{display:flex;flex-direction:column;align-items:center;text-align:center}.ath-cal-import-perm-icon-wrap{width:64px;height:64px;border-radius:var(--ath-radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.ath-cal-import-perm-desc{font-size:13px;color:var(--ath-text-secondary);margin:0 0 20px;line-height:1.5;max-width:340px}.ath-cal-import-perm-list{width:100%;display:flex;flex-direction:column;gap:2px;margin-bottom:20px}.ath-cal-import-perm-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--ath-radius-sm);cursor:pointer;font-size:14px;color:var(--ath-text);transition:background .1s ease;text-align:left}.ath-cal-import-perm-item:hover{background:var(--ath-bg-subtle)}.ath-cal-import-checkbox-wrap{position:relative;width:20px;height:20px;flex-shrink:0}.ath-cal-import-checkbox-wrap input{position:absolute;opacity:0;width:20px;height:20px;cursor:pointer;z-index:1;margin:0}.ath-cal-import-checkbox-custom{position:absolute;inset:0;border:2px solid var(--ath-border);border-radius:5px;background:var(--ath-bg-card);transition:all .15s ease}.ath-cal-import-checkbox-wrap input:checked+.ath-cal-import-checkbox-custom{background:var(--ath-accent);border-color:var(--ath-accent)}.ath-cal-import-checkbox-wrap input:checked+.ath-cal-import-checkbox-custom:after{content:"";position:absolute;left:5px;top:2px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.ath-cal-import-connect-btn{width:100%;padding:12px;border:none;border-radius:var(--ath-radius-sm);color:#fff;font-family:var(--ath-font);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s ease;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.ath-cal-import-connect-btn:hover{opacity:.9}.ath-cal-import-connect-btn:disabled{opacity:.6;cursor:not-allowed}.ath-cal-import-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:ath-cal-spin .6s linear infinite}@keyframes ath-cal-spin{to{transform:rotate(360deg)}}.ath-cal-import-legal{font-size:11px;color:var(--ath-text-muted);margin:14px 0 0;line-height:1.5}.ath-cal-import-link{color:var(--ath-accent);cursor:pointer;text-decoration:underline}.ath-cal-import-success{display:flex;flex-direction:column;align-items:center;text-align:center}.ath-cal-import-success-check{margin-bottom:16px;animation:ath-cal-pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes ath-cal-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.ath-cal-import-success-title{font-family:var(--ath-font-display);font-size:18px;font-weight:600;color:var(--ath-text);margin:0 0 8px}.ath-cal-import-success-desc{font-size:13px;color:var(--ath-text-secondary);margin:0 0 24px;line-height:1.5;max-width:320px}.ath-cal-import-sync-options{width:100%;background:var(--ath-bg-elevated);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);padding:4px 0;margin-bottom:20px}.ath-cal-import-sync-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:14px;color:var(--ath-text)}.ath-cal-import-sync-row+.ath-cal-import-sync-row{border-top:1px solid var(--ath-border-subtle)}.ath-cal-import-sync-select{background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:6px;padding:6px 10px;font-family:var(--ath-font);font-size:13px;color:var(--ath-text);cursor:pointer;outline:none}.ath-cal-import-toggle{position:relative;width:44px;height:26px;border:none;border-radius:13px;background:var(--ath-bg-subtle);cursor:pointer;transition:background .2s ease;padding:0}.ath-cal-import-toggle.active{background:var(--ath-green)}.ath-cal-import-toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;transition:transform .2s ease}.ath-cal-import-toggle.active .ath-cal-import-toggle-knob{transform:translate(18px)}.ath-cal-import-done-btn{width:100%;padding:12px;border:none;background:var(--ath-accent);color:#fff;border-radius:var(--ath-radius-sm);font-family:var(--ath-font);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s ease}.ath-cal-import-done-btn:hover{opacity:.9}@media(max-width:600px){.ath-builder-panel,.ath-cal-import-panel{max-width:100%;max-height:100dvh;border-radius:0}}.ath-engagement-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}@media(max-width:600px){.ath-engagement-row{grid-template-columns:repeat(2,1fr)}}.ath-engagement-stat{background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-md);padding:14px;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:var(--ath-shadow-sm);position:relative}.ath-engagement-value{font-family:var(--ath-font-display);font-size:22px;font-weight:700;color:var(--ath-text);letter-spacing:-.02em}.ath-engagement-value.up{color:var(--ath-green)}.ath-engagement-value.down{color:var(--ath-red)}.ath-engagement-label{font-size:11px;color:var(--ath-text-muted);font-weight:500;text-align:center}.ath-engagement-badge{position:absolute;top:-6px;right:-4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:var(--ath-radius-full);background:var(--ath-amber);color:#fff}.ath-block-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ath-block-discipline-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:var(--ath-radius-full);background:var(--ath-accent-light);color:var(--ath-accent)}.ath-cal-connected-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--ath-green);background:var(--ath-green-bg);padding:4px 12px;border-radius:var(--ath-radius-full);margin-bottom:12px}.ath-week-session-slot{display:flex;flex-direction:column;gap:4px}.ath-week-time-slot{display:flex;align-items:center}.ath-week-time-btn{background:none;border:1px dashed var(--ath-border);color:var(--ath-text-muted);font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--ath-radius-sm);cursor:pointer;transition:all .15s}.ath-week-time-btn:hover{border-color:var(--ath-accent);color:var(--ath-accent)}.ath-week-time-input{font-size:11px;font-family:var(--ath-font);padding:2px 6px;border:1px solid var(--ath-accent);border-radius:var(--ath-radius-sm);background:var(--ath-bg-subtle);color:var(--ath-text);outline:none;width:64px}.ath-week-personal-event{display:flex;align-items:center;gap:6px;font-size:10px;padding:3px 6px;border-radius:4px;margin-bottom:4px}.ath-week-personal-event.google{background:#4285f414;color:#4285f4}.ath-week-personal-event.apple{background:#0000000a;color:var(--ath-text-secondary)}:root[data-theme=dark] .ath-week-personal-event.apple{background:#ffffff0a}.ath-week-personal-time{font-weight:700;letter-spacing:.02em}.ath-week-personal-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ath-modal-backdrop{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;animation:ath-fade-in .2s ease}:root[data-theme=dark] .ath-modal-backdrop{background:#0009}.ath-modal-content{width:90%;max-width:440px;max-height:85vh;background:var(--ath-bg);border-radius:var(--ath-radius-lg);box-shadow:var(--ath-shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:ath-compare-enter .3s cubic-bezier(.4,0,.2,1)}.ath-modal-content.ath-modal-large{max-width:600px;max-height:85vh;overflow-y:auto}.ath-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ath-border)}.ath-modal-header h3{font-family:var(--ath-font-display);font-size:17px;font-weight:600;margin:0}.ath-modal-close{background:var(--ath-bg-subtle);border:1px solid var(--ath-border);color:var(--ath-text-secondary);width:32px;height:32px;border-radius:var(--ath-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.ath-modal-close:hover{background:var(--ath-bg-hover);color:var(--ath-text)}.ath-modal-body{padding:20px;overflow-y:auto}.ath-modal-desc{font-size:14px;color:var(--ath-text-secondary);margin:0 0 20px;line-height:1.5}.ath-cal-option{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-md);cursor:pointer;margin-bottom:10px;text-align:left;transition:all .15s}.ath-cal-option:hover{border-color:var(--ath-accent);box-shadow:var(--ath-shadow-md)}.ath-cal-option-icon{width:40px;height:40px;border-radius:var(--ath-radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0}.ath-cal-option-icon.google{background:#eff6ff;color:#4285f4}.ath-cal-option-icon.apple{background:var(--ath-bg-subtle);color:var(--ath-text)}.ath-cal-option-info{flex:1;display:flex;flex-direction:column;gap:2px}.ath-cal-option-info strong{font-size:14px;color:var(--ath-text)}.ath-cal-option-info span{font-size:12px;color:var(--ath-text-muted)}.ath-cal-option-action{font-size:13px;font-weight:600;color:var(--ath-accent)}.ath-cross-comparisons{margin-bottom:28px}.ath-comparison-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.ath-comparison-chart{background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-md);padding:16px 8px;box-shadow:var(--ath-shadow-sm)}.ath-jetlag-link-section{margin-bottom:24px}.ath-jetlag-link-btn{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-md);cursor:pointer;text-align:left;color:var(--ath-text);transition:all .2s;box-shadow:var(--ath-shadow-sm)}.ath-jetlag-link-btn:hover{border-color:var(--ath-accent);box-shadow:var(--ath-shadow-md)}.ath-jetlag-link-btn svg:first-child{color:var(--ath-accent);flex-shrink:0}.ath-jetlag-link-btn div{flex:1;display:flex;flex-direction:column;gap:2px}.ath-jetlag-link-btn strong{font-size:14px;font-weight:600}.ath-jetlag-link-btn span{font-size:12px;color:var(--ath-text-muted)}.ath-jetlag-link-btn svg:last-child{color:var(--ath-text-muted);flex-shrink:0}.ath-lactate-toggle-btn{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:var(--ath-bg-card);border:1px dashed var(--ath-border);border-radius:var(--ath-radius-md);cursor:pointer;color:var(--ath-text-secondary);font-size:13px;font-weight:500;transition:all .15s}.ath-lactate-toggle-btn:hover{border-color:var(--ath-accent);color:var(--ath-accent);background:var(--ath-accent-light)}.ath-ring-subtitle{font-size:10px;color:var(--ath-text-muted);font-weight:500;margin-top:-2px}.ath-week-day.drag-over{border-color:var(--ath-accent);background:var(--ath-accent-light);box-shadow:var(--ath-shadow-ring)}.ath-week-session-slot.dragging{opacity:.35;pointer-events:none}.ath-week-session-slot{cursor:grab}.ath-week-session-slot:active{cursor:grabbing}.ath-week-day-add{width:22px;height:22px;border-radius:var(--ath-radius-full);border:1px dashed var(--ath-border);background:transparent;color:var(--ath-text-muted);font-size:14px;font-weight:600;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.ath-week-day-add:hover{border-color:var(--ath-accent);color:var(--ath-accent);background:var(--ath-accent-light)}.ath-week-session-card-wrap{cursor:pointer;border-radius:var(--ath-radius-sm);transition:box-shadow .15s}.ath-week-session-card-wrap:hover{box-shadow:var(--ath-shadow-ring)}.ath-detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.ath-detail-disc{font-size:13px;font-weight:600;color:var(--ath-text-secondary)}.ath-detail-date{font-size:12px;color:var(--ath-text-muted);font-weight:500}.ath-detail-dur{font-size:12px;color:var(--ath-text-muted);font-weight:600;background:var(--ath-bg-subtle);padding:2px 8px;border-radius:var(--ath-radius-full)}.ath-detail-section{margin-bottom:14px}.ath-detail-section small{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);margin-bottom:4px}.ath-detail-section p{margin:0;font-size:13px;line-height:1.5;color:var(--ath-text)}.ath-detail-blocks{display:flex;flex-direction:column;gap:6px}.ath-detail-block-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ath-text)}.ath-detail-block-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ath-text-muted);background:var(--ath-bg-subtle);padding:2px 8px;border-radius:var(--ath-radius-sm)}.ath-detail-actions{margin-top:20px;padding-top:16px;border-top:1px solid var(--ath-border-subtle);display:flex;justify-content:flex-end}.ath-detail-delete-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ath-red);background:var(--ath-red-bg);border:none;border-radius:var(--ath-radius-sm);padding:8px 16px;cursor:pointer;transition:all .15s}.ath-detail-delete-btn:hover{background:var(--ath-red);color:#fff}.ath-iwp{background:var(--ath-bg);border:1px solid var(--ath-border);border-radius:var(--ath-radius-lg);padding:14px 16px;margin-bottom:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.ath-iwp:hover{border-color:var(--ath-accent, #58a6ff);box-shadow:0 0 0 1px #58a6ff26}.ath-iwp:active{transform:scale(.995)}.ath-iwp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.ath-iwp-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ath-iwp-disc{font-size:12px;font-weight:600;color:var(--ath-text-secondary)}.ath-iwp-dur{font-size:11px;font-weight:700;color:var(--ath-text-muted);background:var(--ath-bg-subtle);padding:2px 8px;border-radius:4px}.ath-iwp-bla{font-size:10px;font-weight:800;color:#f85149;background:#f851491a;padding:2px 6px;border-radius:4px;letter-spacing:.04em}.ath-iwp-chevron{color:var(--ath-text-muted);flex-shrink:0}.ath-iwp-title{font-family:var(--ath-font-display);font-size:16px;font-weight:700;margin:0 0 4px;color:var(--ath-text)}.ath-iwp-prescription{font-size:13px;color:var(--ath-text-secondary);margin:0 0 12px;line-height:1.45}.ath-iwp-bars{display:flex;height:32px;gap:1px;border-radius:6px;overflow:hidden;margin-bottom:14px}.ath-iwp-bar{min-width:3px;transition:opacity .15s}.ath-iwp-steps{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.ath-iwp-step{display:flex;align-items:flex-start;gap:8px;padding:5px 0}.ath-iwp-step-bar{width:3px;min-height:22px;border-radius:2px;flex-shrink:0;margin-top:2px}.ath-iwp-step-body{flex:1;min-width:0}.ath-iwp-step-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ath-iwp-step-name{font-size:13px;font-weight:600;color:var(--ath-text)}.ath-iwp-step-dur{font-size:13px;font-weight:700;color:var(--ath-text);font-variant-numeric:tabular-nums}.ath-iwp-step-zone{font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}.ath-iwp-step-targets{display:flex;align-items:center;gap:8px;margin-top:2px}.ath-iwp-step-targets .t-pace{font-size:12px;font-weight:600;color:var(--ath-accent, #58a6ff);font-variant-numeric:tabular-nums}.ath-iwp-step-targets .t-power{font-size:12px;font-weight:600;color:#d29922;font-variant-numeric:tabular-nums}.ath-iwp-step-targets .t-hr{font-size:12px;font-weight:600;color:#f85149;font-variant-numeric:tabular-nums}.ath-iwp-repeat{border:1px solid var(--ath-border-subtle);border-radius:6px;overflow:hidden;margin:2px 0}.ath-iwp-repeat-head{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--ath-bg-subtle);border-bottom:1px solid var(--ath-border-subtle)}.ath-iwp-repeat-badge{font-size:13px;font-weight:800;color:var(--ath-text)}.ath-iwp-repeat-label{font-size:11px;font-weight:600;color:var(--ath-text-secondary)}.ath-iwp-repeat .ath-iwp-step{padding:4px 10px}.ath-iwp-zones{margin-bottom:10px;padding:10px 12px;background:var(--ath-bg-subtle);border-radius:8px}.ath-iwp-zones-title{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);margin-bottom:6px}.ath-iwp-zones-list{display:flex;flex-direction:column;gap:4px}.ath-iwp-zone-chip{display:flex;align-items:center;gap:8px;padding:4px 8px;border-left:3px solid transparent;border-radius:4px;background:var(--ath-bg)}.ath-iwp-zc-label{font-size:11px;font-weight:700;min-width:42px;text-transform:uppercase;letter-spacing:.04em}.ath-iwp-zc-targets{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.ath-iwp-zc-pace{color:var(--ath-accent, #58a6ff)}.ath-iwp-zc-power{color:#d29922}.ath-iwp-zc-hr{color:#f85149}.ath-iwp-objective{font-size:12px;color:var(--ath-text-muted);margin:0 0 4px;line-height:1.45;font-style:italic}.ath-iwp-coach-note{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;margin-top:6px;background:#58a6ff0d;border-left:3px solid var(--ath-accent, #58a6ff);border-radius:4px;font-size:12px;color:var(--ath-text-secondary);line-height:1.45}.ath-iwp-coach-note svg{flex-shrink:0;margin-top:1px;color:var(--ath-accent, #58a6ff)}.ath-session-detail-modal .ath-modal-body{padding:0}.ath-sd-header-info{flex:1;min-width:0}.ath-sd-header-info h3{font-family:var(--ath-font-display);font-size:17px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ath-sd-header-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.ath-sd-disc{font-size:12px;font-weight:600;color:var(--ath-text-secondary)}.ath-sd-date{font-size:12px;color:var(--ath-text-muted);text-transform:capitalize}.ath-sd-dur{font-size:11px;font-weight:700;color:var(--ath-text-muted);background:var(--ath-bg-subtle);padding:2px 8px;border-radius:4px}.ath-sd-workout-visual{padding:16px 20px 12px;background:var(--ath-bg-subtle);border-bottom:1px solid var(--ath-border-subtle)}.ath-sd-bar-chart{display:flex;align-items:flex-end;height:54px;gap:1px;border-radius:6px;overflow:hidden}.ath-sd-bar{height:100%;min-width:3px;display:flex;align-items:flex-end;justify-content:center;transition:opacity .15s;position:relative}.ath-sd-bar-label{font-size:9px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);padding:2px 0 4px;white-space:nowrap}.ath-sd-bar:hover{opacity:.8}.ath-sd-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);margin:0 0 10px;display:flex;align-items:center;gap:6px}.ath-sd-steps-list{padding:16px 20px}.ath-sd-step-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--ath-border-subtle)}.ath-sd-step-row:last-child{border-bottom:none}.ath-sd-step-color{width:4px;min-height:28px;border-radius:2px;flex-shrink:0;margin-top:2px}.ath-sd-step-main{flex:1;min-width:0}.ath-sd-step-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ath-sd-step-type{font-size:13px;font-weight:600;color:var(--ath-text)}.ath-sd-step-dur{font-size:13px;font-weight:700;color:var(--ath-text);font-variant-numeric:tabular-nums}.ath-sd-step-zone-tag{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.ath-sd-step-targets{display:flex;align-items:center;gap:10px;margin-top:4px}.ath-sd-st-item{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.ath-sd-st-item.pace{color:var(--ath-accent, #58a6ff)}.ath-sd-st-item.power{color:#d29922}.ath-sd-st-item.hr{color:#f85149}.ath-sd-step-instructions{font-size:12px;color:var(--ath-text-secondary);margin:4px 0 0;line-height:1.4}.ath-sd-repeat-group{margin-bottom:8px;border:1px solid var(--ath-border-subtle);border-radius:8px;overflow:hidden}.ath-sd-repeat-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--ath-bg-subtle);border-bottom:1px solid var(--ath-border-subtle)}.ath-sd-repeat-badge{font-size:14px;font-weight:800;color:var(--ath-text);font-variant-numeric:tabular-nums}.ath-sd-repeat-label{font-size:12px;font-weight:600;color:var(--ath-text-secondary)}.ath-sd-repeat-children{padding:4px 12px}.ath-sd-repeat-children .ath-sd-step-row{padding:6px 0}.ath-sd-zones-card{padding:16px 20px;background:var(--ath-bg-subtle);border-top:1px solid var(--ath-border-subtle);border-bottom:1px solid var(--ath-border-subtle)}.ath-sd-zones-grid{display:flex;flex-direction:column;gap:6px}.ath-sd-zone-row{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--ath-bg);border-radius:6px;border-left:3px solid transparent}.ath-sd-zone-badge{font-size:11px;font-weight:700;padding:2px 10px;border-radius:4px;min-width:52px;text-align:center;text-transform:uppercase;letter-spacing:.04em}.ath-sd-zone-targets{display:flex;align-items:center;gap:12px;flex:1}.ath-sd-zt-pace,.ath-sd-zt-power,.ath-sd-zt-hr{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.ath-sd-zt-pace{color:var(--ath-accent, #58a6ff)}.ath-sd-zt-pace:before{content:"Ritmo ";font-weight:400;opacity:.7;font-size:10px}.ath-sd-zt-power{color:#d29922}.ath-sd-zt-power:before{content:"Pot. ";font-weight:400;opacity:.7;font-size:10px}.ath-sd-zt-hr{color:#f85149}.ath-sd-zt-hr:before{content:"FC ";font-weight:400;opacity:.7;font-size:10px}.ath-sd-info-section{padding:12px 20px;border-bottom:1px solid var(--ath-border-subtle)}.ath-sd-info-section:last-of-type{border-bottom:none}.ath-sd-info-section p{margin:0;font-size:13px;line-height:1.55;color:var(--ath-text)}.ath-sd-info-section.coach{background:#58a6ff0a;border-left:3px solid var(--ath-accent, #58a6ff)}.ath-sd-prescription-text{font-family:var(--ath-font-mono, monospace);font-size:13px;white-space:pre-wrap;line-height:1.6}.ath-sd-bla-banner{display:flex;align-items:center;gap:8px;margin:0 20px 12px;padding:10px 14px;background:#f8514914;border:1px solid rgba(248,81,73,.2);border-radius:8px;font-size:13px;font-weight:600;color:#f85149}.ath-sd-lactate-section{padding:0 20px 12px}.ath-sd-lactate-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:13px;font-weight:600;color:var(--ath-text-secondary);background:var(--ath-bg-subtle);border:1px dashed var(--ath-border);border-radius:8px;cursor:pointer;transition:all .15s}.ath-sd-lactate-toggle:hover{border-color:var(--ath-accent, #58a6ff);color:var(--ath-accent, #58a6ff);background:#58a6ff0d}.ath-sd-lactate-done{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;color:var(--ath-green, #3fb950);background:#3fb9500f;border:1px solid rgba(63,185,80,.2);border-radius:8px}.ath-sd-actions{padding:12px 20px 16px;display:flex;justify-content:flex-end;border-top:1px solid var(--ath-border-subtle)}.ath-sd-delete-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ath-text-muted);background:none;border:1px solid var(--ath-border);border-radius:6px;padding:6px 14px;cursor:pointer;transition:all .15s}.ath-sd-delete-btn:hover{background:var(--ath-red, #f85149);color:#fff;border-color:var(--ath-red, #f85149)}.ath-today-plan-bar{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.ath-target-card{display:flex;align-items:center;gap:10px;background:var(--ath-bg-card);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);padding:12px 16px}.ath-target-icon{width:32px;height:32px;border-radius:var(--ath-radius-full);background:var(--ath-green-bg);color:var(--ath-green);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ath-target-info{display:flex;flex-direction:column;gap:2px;min-width:0}.ath-target-name{font-size:13px;font-weight:600;color:var(--ath-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ath-target-countdown{font-size:11px;color:var(--ath-text-muted);font-weight:500}.ath-phase-timeline{background:var(--ath-bg-card);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);padding:12px 16px}.ath-phase-bar{display:flex;gap:2px;margin-bottom:6px}.ath-phase-segment{flex:1;text-align:center;padding:4px 0;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);background:var(--ath-bg-subtle);transition:all .2s}.ath-phase-segment.done{background:var(--ath-green-bg);color:var(--ath-green)}.ath-phase-segment.current{background:var(--ath-accent);color:#fff}.ath-phase-progress{height:3px;background:var(--ath-bg-subtle);border-radius:2px;overflow:hidden;margin-bottom:6px}.ath-phase-progress-fill{height:100%;background:var(--ath-accent);border-radius:2px;transition:width .3s}.ath-phase-detail{font-size:11px;color:var(--ath-text-secondary);font-weight:500}.ath-wellness-checkin{background:var(--ath-bg-card);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);padding:16px;margin-bottom:20px}.ath-checkin-subtitle{font-size:11px;color:var(--ath-text-muted);margin:-4px 0 12px}.ath-checkin-items{display:flex;flex-direction:column;gap:14px}.ath-checkin-item-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px}.ath-checkin-item-label{font-size:12px;font-weight:600;color:var(--ath-text)}.ath-checkin-item-value{font-size:11px;font-weight:600;color:var(--ath-text-muted)}.ath-checkin-anchors{display:flex;justify-content:space-between;font-size:9px;color:var(--ath-text-muted);margin-bottom:4px}.ath-checkin-dots{display:flex;gap:6px}.ath-checkin-dot{width:32px;height:32px;border-radius:var(--ath-radius-full);border:1.5px solid var(--ath-border);background:transparent;color:var(--ath-text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.ath-checkin-dot:hover{border-color:var(--ath-accent);background:var(--ath-accent-light)}.ath-checkin-dot.active.tone-low{background:var(--ath-red);border-color:var(--ath-red);color:#fff}.ath-checkin-dot.active.tone-mid{background:var(--ath-amber);border-color:var(--ath-amber);color:#fff}.ath-checkin-dot.active.tone-high{background:var(--ath-green);border-color:var(--ath-green);color:#fff}.ath-checkin-summary{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--ath-border-subtle)}.ath-checkin-avg{font-size:13px;font-weight:600}.ath-checkin-avg.tone-good{color:var(--ath-green)}.ath-checkin-avg.tone-mid{color:var(--ath-amber)}.ath-checkin-avg.tone-warning{color:var(--ath-red)}.ath-checkin-save{padding:6px 20px;border-radius:var(--ath-radius-full);border:none;background:var(--ath-accent);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.ath-checkin-save:hover{background:#1d4ed8}.ath-checkin-done{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ath-green);background:var(--ath-green-bg);padding:8px 14px;border-radius:var(--ath-radius-md);margin-bottom:16px}.ath-session-context{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:var(--ath-accent);background:var(--ath-accent-light);padding:6px 10px;border-radius:var(--ath-radius-sm);margin-bottom:4px;line-height:1.4}.ath-session-context svg{flex-shrink:0;margin-top:1px}.ath-readiness-breakdown{background:var(--ath-bg-card);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);padding:14px 16px;margin-bottom:16px}.ath-breakdown-disclaimer{font-size:10px;color:var(--ath-text-muted);line-height:1.4;margin:0 0 12px}.ath-readiness-row{margin-bottom:10px}.ath-readiness-row:last-child{margin-bottom:0}.ath-readiness-row-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.ath-readiness-row-label{font-size:12px;font-weight:600;color:var(--ath-text);flex:1}.ath-readiness-row-score{font-size:12px;font-weight:700;color:var(--ath-text);min-width:24px;text-align:right}.ath-readiness-row-weight{font-size:10px;font-weight:600;color:var(--ath-text-muted);background:var(--ath-bg-subtle);padding:1px 6px;border-radius:var(--ath-radius-full)}.ath-readiness-bar-bg{height:5px;background:var(--ath-bg-subtle);border-radius:3px;overflow:hidden;margin-bottom:3px}.ath-readiness-bar-fill{height:100%;border-radius:3px;transition:width .3s}.ath-readiness-bar-fill.good{background:var(--ath-green)}.ath-readiness-bar-fill.mid{background:var(--ath-amber)}.ath-readiness-bar-fill.low{background:var(--ath-red)}.ath-readiness-row-desc{font-size:10px;color:var(--ath-text-muted);line-height:1.3}.ath-sleep-stages{margin:8px 0}.ath-sleep-stages-row{display:flex;align-items:center;gap:12px}.ath-sleep-stages-legend{display:flex;flex-direction:column;gap:4px;flex:1}.ath-sleep-stage-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ath-text)}.ath-sleep-stage-item strong{font-weight:600}.ath-sleep-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ath-sleep-ref{font-size:9px;color:var(--ath-text-muted);margin-left:auto}.ath-sleep-stages-note{font-size:10px;color:var(--ath-text-muted);line-height:1.4;margin:8px 0 0}.ath-load-warnings{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.ath-load-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:var(--ath-radius-md);font-size:12px;line-height:1.4}.ath-load-warning.caution{background:var(--ath-amber-bg);color:var(--ath-amber);border:1px solid rgba(245,158,11,.2)}.ath-load-warning.danger{background:var(--ath-red-bg);color:var(--ath-red);border:1px solid rgba(239,68,68,.2)}.ath-load-warning svg{flex-shrink:0;margin-top:1px}.ath-load-warning span{flex:1}.ath-load-warning-ratio{font-size:10px;font-weight:700;white-space:nowrap;opacity:.7}.ath-settings-section{margin-bottom:28px}.ath-settings-desc{font-size:12px;color:var(--ath-text-muted);margin:-4px 0 16px;line-height:1.5}.ath-device-card{background:var(--ath-bg-card);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);padding:16px;margin-bottom:12px;transition:border-color .2s}.ath-device-card.connected{border-color:var(--ath-green)}.ath-device-header{display:flex;align-items:center;gap:12px}.ath-device-logo{width:40px;height:40px;border-radius:var(--ath-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ath-device-logo.garmin{background:#007dc3;color:#fff}.ath-device-logo.apple{background:var(--ath-bg-subtle);color:var(--ath-text)}.ath-device-info{display:flex;flex-direction:column;gap:2px}.ath-device-info strong{font-size:14px;color:var(--ath-text)}.ath-device-status{font-size:11px;color:var(--ath-text-muted);font-weight:500}.ath-device-status.connected{color:var(--ath-green);display:flex;align-items:center;gap:4px}.ath-device-connect-form{margin-top:14px;display:flex;flex-direction:column;gap:8px}.ath-settings-input{font-family:var(--ath-font);font-size:13px;padding:10px 14px;border:1px solid var(--ath-border);border-radius:var(--ath-radius-sm);background:var(--ath-bg-subtle);color:var(--ath-text);outline:none;transition:border-color .15s}.ath-settings-input:focus{border-color:var(--ath-accent);box-shadow:var(--ath-shadow-ring)}.ath-settings-input::placeholder{color:var(--ath-text-muted)}.ath-settings-connect-btn{margin-top:4px;padding:10px 20px;border:none;border-radius:var(--ath-radius-sm);font-family:var(--ath-font);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px;background:#007dc3;color:#fff}.ath-settings-connect-btn.apple{background:var(--ath-bg-subtle);color:var(--ath-text);border:1px solid var(--ath-border)}.ath-settings-connect-btn:hover{opacity:.9}.ath-settings-connect-btn:disabled{opacity:.5;cursor:not-allowed}.ath-settings-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:ath-spin .6s linear infinite}.ath-device-error{font-size:12px;color:var(--ath-red);background:var(--ath-red-bg);padding:8px 12px;border-radius:var(--ath-radius-sm)}.ath-device-help{font-size:11px;color:var(--ath-text-muted);line-height:1.5;margin:4px 0 0}.ath-device-connected-info{margin-top:10px;padding-top:10px;border-top:1px solid var(--ath-border-subtle)}.ath-device-syncs span{font-size:11px;color:var(--ath-text-secondary)}.ath-device-apple-cta{margin-top:12px}.ath-device-apple-info{margin-top:14px;padding-top:14px;border-top:1px solid var(--ath-border-subtle)}.ath-device-apple-info h4{font-size:14px;margin:0 0 8px;color:var(--ath-text)}.ath-device-apple-info p{font-size:12px;color:var(--ath-text-secondary);line-height:1.6;margin:0 0 10px}.ath-device-apple-info ol{font-size:12px;color:var(--ath-text-secondary);line-height:1.8;padding-left:18px;margin:0 0 12px}.ath-apple-metrics-preview h5{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);margin:0 0 6px}.ath-apple-metric-list{display:flex;flex-wrap:wrap;gap:6px}.ath-apple-metric{font-size:11px;padding:3px 10px;background:var(--ath-bg-subtle);border-radius:var(--ath-radius-full);color:var(--ath-text-secondary);font-weight:500}.ath-apple-note{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:var(--ath-text-muted);background:var(--ath-amber-bg);padding:8px 10px;border-radius:var(--ath-radius-sm);margin-top:10px;line-height:1.4}.ath-apple-note svg{flex-shrink:0;margin-top:1px;color:var(--ath-amber)}.ath-settings-link-btn{margin-top:10px;padding:6px 16px;border:1px solid var(--ath-border);border-radius:var(--ath-radius-sm);background:transparent;color:var(--ath-text-secondary);font-family:var(--ath-font);font-size:12px;font-weight:500;cursor:pointer}.ath-metrics-table{background:var(--ath-bg-card);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);overflow:hidden}.ath-metrics-header{display:grid;grid-template-columns:1fr 64px 64px;gap:8px;padding:10px 16px;background:var(--ath-bg-elevated);border-bottom:1px solid var(--ath-border-subtle)}.ath-metrics-col-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted)}.ath-metrics-col-source{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted);text-align:center;display:flex;align-items:center;justify-content:center}.ath-metrics-row{display:grid;grid-template-columns:1fr 64px 64px;gap:8px;padding:10px 16px;border-bottom:1px solid var(--ath-border-subtle);align-items:center}.ath-metrics-row:last-child{border-bottom:none}.ath-metrics-info{display:flex;flex-direction:column;gap:1px}.ath-metrics-name{font-size:13px;font-weight:600;color:var(--ath-text)}.ath-metrics-desc{font-size:10px;color:var(--ath-text-muted)}.ath-metrics-na{font-size:11px;color:var(--ath-text-muted)}.ath-metrics-toggle{position:relative;width:36px;height:20px;border-radius:10px;border:none;cursor:pointer;transition:background .2s;padding:0}.ath-metrics-toggle.on{background:var(--ath-green)}.ath-metrics-toggle.off{background:var(--ath-bg-hover)}.ath-metrics-toggle-knob{position:absolute;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--ath-shadow-sm);transition:left .2s}.ath-metrics-toggle.on .ath-metrics-toggle-knob{left:18px}.ath-metrics-toggle.off .ath-metrics-toggle-knob{left:2px}.ath-comparison-table{background:var(--ath-bg-card);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);overflow:hidden}.ath-comp-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:8px 16px;border-bottom:1px solid var(--ath-border-subtle);font-size:12px;color:var(--ath-text-secondary)}.ath-comp-row:last-child{border-bottom:none}.ath-comp-row.header{background:var(--ath-bg-elevated);font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ath-text-muted)}.ath-comp-row .yes{color:var(--ath-green);font-weight:500}.ath-comp-row .no{color:var(--ath-text-muted);font-style:italic}.ath-comp-row .partial{color:var(--ath-amber);font-weight:500}.ath-pwd-fullpage{position:fixed;inset:0;background:var(--ath-bg);z-index:1000;display:flex;flex-direction:column;overflow:hidden}@media(min-width:768px){.ath-pwd-fullpage{inset:24px;border-radius:var(--ath-radius-lg);box-shadow:0 25px 80px #00000040;border:1px solid var(--ath-border)}}.ath-pwd-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 28px 12px;border-bottom:1px solid var(--ath-border-subtle);flex-shrink:0}.ath-pwd-header-left{flex:1;min-width:0}.ath-pwd-title{margin:0;font-size:20px;font-weight:700;font-family:var(--ath-font-display);color:var(--ath-text);line-height:1.3}.ath-pwd-header-meta{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap}.ath-pwd-sport-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:var(--ath-radius-full);border:1px solid}.ath-pwd-date{font-size:13px;color:var(--ath-text-secondary);text-transform:capitalize}.ath-pwd-device{font-size:11px;color:var(--ath-text-muted);background:var(--ath-bg-elevated);padding:2px 8px;border-radius:var(--ath-radius-full)}.ath-pwd-compliance-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--ath-radius-full)}.ath-pwd-compliance-badge.green{background:var(--ath-green-bg);color:var(--ath-green)}.ath-pwd-compliance-badge.amber{background:var(--ath-amber-bg);color:var(--ath-amber)}.ath-pwd-compliance-badge.red{background:var(--ath-red-bg);color:var(--ath-red)}.ath-pwd-close{background:none;border:none;padding:6px;cursor:pointer;color:var(--ath-text-muted);border-radius:var(--ath-radius-sm);transition:background .15s}.ath-pwd-close:hover{background:var(--ath-bg-hover);color:var(--ath-text)}.ath-pwd-tabs{display:flex;gap:0;padding:0 28px;border-bottom:1px solid var(--ath-border-subtle);flex-shrink:0;overflow-x:auto}.ath-pwd-tab{padding:10px 18px;border:none;background:none;font-size:13px;font-weight:500;color:var(--ath-text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap}.ath-pwd-tab:hover{color:var(--ath-text)}.ath-pwd-tab.active{color:var(--ath-accent);border-bottom-color:var(--ath-accent);font-weight:600}.ath-pwd-body{flex:1;overflow-y:auto;padding:24px 28px 40px}.ath-pwd-tab-content{max-width:900px;margin:0 auto}.ath-pwd-empty{text-align:center;color:var(--ath-text-muted);padding:40px 0;font-size:14px}.ath-pwd-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 0;color:var(--ath-text-muted);font-size:13px}.ath-pwd-spinner{width:32px;height:32px;border:2.5px solid var(--ath-border);border-top-color:var(--ath-accent);border-radius:50%;animation:ath-spin .8s linear infinite}@keyframes ath-spin{to{transform:rotate(360deg)}}.ath-pwd-report-card{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:20px}.ath-pwd-mc{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 8px;background:var(--ath-bg-elevated);border-radius:var(--ath-radius-md);border:1px solid var(--ath-border-subtle)}.ath-pwd-mc-val{font-family:var(--ath-font-display);font-size:20px;font-weight:700;color:var(--ath-text);line-height:1.2}.ath-pwd-mc-lbl{font-size:11px;color:var(--ath-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.ath-pwd-insight-card{padding:14px 18px;border-radius:var(--ath-radius-md);margin-bottom:20px;border:1px solid}.ath-pwd-insight-card.green{background:var(--ath-green-bg);border-color:#3fb95033}.ath-pwd-insight-card.amber{background:var(--ath-amber-bg);border-color:#d2992233}.ath-pwd-insight-card.red{background:var(--ath-red-bg);border-color:#f8514933}.ath-pwd-insight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.ath-pwd-insight-label{font-size:12px;font-weight:600;color:var(--ath-text-secondary)}.ath-pwd-insight-value{font-family:var(--ath-font-display);font-size:18px;font-weight:700}.ath-pwd-insight-value.green{color:var(--ath-green)}.ath-pwd-insight-value.amber{color:var(--ath-amber)}.ath-pwd-insight-value.red{color:var(--ath-red)}.ath-pwd-insight-text{margin:4px 0;font-size:13px;color:var(--ath-text);line-height:1.5}.ath-pwd-insight-ref{font-size:10px;color:var(--ath-text-muted);font-style:italic}.ath-pwd-panel{background:var(--ath-bg-card);border:1px solid var(--ath-border-subtle);border-radius:var(--ath-radius-md);padding:18px 20px;margin-bottom:16px}.ath-pwd-panel-title{margin:0 0 14px;font-size:14px;font-weight:700;color:var(--ath-text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ath-pwd-panel-subtitle{font-weight:400;font-size:11px;color:var(--ath-text-muted)}.ath-pwd-metrics-row{display:flex;gap:10px;flex-wrap:wrap}.ath-pwd-mini-metric{flex:1;min-width:100px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;background:var(--ath-bg-elevated);border-radius:var(--ath-radius-md);border:1px solid var(--ath-border-subtle);cursor:help}.ath-pwd-mm-value{font-family:var(--ath-font-display);font-size:18px;font-weight:700;color:var(--ath-text)}.ath-pwd-mini-metric.tone-green .ath-pwd-mm-value{color:var(--ath-green)}.ath-pwd-mini-metric.tone-amber .ath-pwd-mm-value{color:var(--ath-amber)}.ath-pwd-mini-metric.tone-red .ath-pwd-mm-value{color:var(--ath-red)}.ath-pwd-mm-label{font-size:10px;font-weight:600;color:var(--ath-text-muted);text-transform:uppercase;letter-spacing:.05em}.ath-pwd-chart-container{background:var(--ath-bg-elevated);border-radius:var(--ath-radius-sm);padding:10px 6px}.ath-pwd-chart-lg{padding:12px 8px}.ath-pwd-tooltip{background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:8px;padding:8px 12px;display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ath-text);box-shadow:var(--ath-shadow-md)}.ath-pwd-tt-time{font-weight:600;font-family:var(--ath-font-display);margin-bottom:2px}.ath-pwd-zones-detail{display:flex;flex-direction:column;gap:10px}.ath-pwd-zone-row{display:flex;align-items:center;gap:10px}.ath-pwd-zone-label{font-size:12px;font-weight:600;color:var(--ath-text-secondary);width:36px;text-align:right;flex-shrink:0}.ath-pwd-zone-bar{display:flex;height:28px;border-radius:6px;overflow:hidden;flex:1;gap:1px}.ath-pwd-zone-bar-seg{display:flex;align-items:center;justify-content:center;min-width:4px;transition:flex .3s ease}.ath-pwd-zone-bar-txt{font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}.ath-pwd-zone-legend{display:flex;gap:14px;margin-top:8px;flex-wrap:wrap}.ath-pwd-zl-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ath-text-secondary)}.ath-pwd-zl-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ath-pwd-zl-key{font-weight:600}.ath-pwd-zl-swatch{width:18px;height:10px;border-radius:3px;flex-shrink:0}.ath-pwd-zl-swatch.plan{background:var(--ath-text-muted);opacity:.25;border:1.5px dashed var(--ath-text-muted)}.ath-pwd-zl-swatch.real{background:var(--ath-text-muted);opacity:.8}.ath-pwd-zone-breakdown{display:flex;flex-direction:column;gap:8px}.ath-pwd-zone-detail-row{display:flex;align-items:center;gap:12px}.ath-pwd-zdl{display:flex;align-items:center;gap:6px;width:180px;flex-shrink:0}.ath-pwd-zdl-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ath-pwd-zdl-name{font-size:13px;font-weight:700;color:var(--ath-text)}.ath-pwd-zdl-desc{font-size:11px;color:var(--ath-text-muted)}.ath-pwd-zdr{flex:1;display:flex;flex-direction:column;gap:3px}.ath-pwd-zdr-bar{height:16px;border-radius:4px;display:flex;align-items:center;padding:0 6px;min-width:30px}.ath-pwd-zdr-bar span{font-size:10px;font-weight:600;color:var(--ath-text)}.ath-pwd-zdr-bar.plan{border:1px dashed rgba(0,0,0,.15)}.ath-pwd-zdr-bar.real span{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.ath-pwd-zdl-pct{font-size:12px;font-weight:600;color:var(--ath-text-secondary);width:36px;text-align:right;flex-shrink:0}.ath-pwd-fade-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--ath-radius-full);margin-left:6px}.ath-pwd-fade-badge.green{background:var(--ath-green-bg);color:var(--ath-green)}.ath-pwd-fade-badge.amber{background:var(--ath-amber-bg);color:var(--ath-amber)}.ath-pwd-fade-badge.red{background:var(--ath-red-bg);color:var(--ath-red)}.ath-pwd-interval-panel{padding-bottom:12px}.ath-pwd-interval-list{display:flex;gap:6px;flex-wrap:wrap;max-height:120px;overflow-y:auto;padding:2px}.ath-pwd-interval-btn{display:flex;align-items:center;gap:6px;padding:5px 10px;border:1.5px solid var(--ath-border);border-radius:var(--ath-radius-sm);background:var(--ath-bg);cursor:pointer;font-size:11px;color:var(--ath-text-secondary);transition:all .15s;white-space:nowrap}.ath-pwd-interval-btn:hover{border-color:var(--ath-accent);background:var(--ath-accent-light)}.ath-pwd-interval-btn.active{font-weight:600;box-shadow:0 0 0 1px var(--ath-accent)}.ath-pwd-ib-idx{font-weight:700;font-size:12px;min-width:14px;text-align:center}.ath-pwd-ib-name{color:var(--ath-text);font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis}.ath-pwd-ib-time{font-size:10px;color:var(--ath-text-muted);font-variant-numeric:tabular-nums}.ath-pwd-ib-metric{font-weight:600;color:var(--ath-accent)}.ath-pwd-ib-hr{font-size:10px;color:#f85149}.ath-pwd-interval-clear{margin-top:8px;padding:4px 12px;border:none;background:var(--ath-bg-elevated);color:var(--ath-text-muted);font-size:11px;border-radius:var(--ath-radius-sm);cursor:pointer}.ath-pwd-interval-clear:hover{color:var(--ath-text)}.ath-pwd-brush-stats{display:flex;align-items:center;gap:14px;padding:10px 16px;background:var(--ath-accent-light);border:1px solid rgba(16,163,127,.2);border-radius:var(--ath-radius-md);margin-bottom:12px;flex-wrap:wrap;position:relative}.ath-pwd-bs-title{font-size:12px;font-weight:700;color:var(--ath-accent);white-space:nowrap}.ath-pwd-bs-grid{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ath-text-secondary)}.ath-pwd-bs-grid strong{color:var(--ath-text);font-variant-numeric:tabular-nums}.ath-pwd-bs-clear{position:absolute;top:6px;right:8px;border:none;background:none;font-size:14px;color:var(--ath-text-muted);cursor:pointer;padding:2px 4px}.ath-pwd-bs-clear:hover{color:var(--ath-text)}.ath-pwd-table-wrap{overflow-x:auto}.ath-pwd-table{width:100%;border-collapse:collapse;font-size:12px}.ath-pwd-table th{padding:8px 10px;text-align:left;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ath-text-muted);border-bottom:2px solid var(--ath-border)}.ath-pwd-table td{padding:7px 10px;color:var(--ath-text);border-bottom:1px solid var(--ath-border-subtle);font-variant-numeric:tabular-nums}.ath-pwd-table tr:last-child td{border-bottom:none}.ath-pwd-table tr:hover td{background:var(--ath-bg-elevated)}.ath-pwd-td-name{color:var(--ath-text-secondary);font-size:11px}.ath-pwd-td-primary{font-weight:600;color:var(--ath-accent)}.ath-pwd-zone-chip{display:inline-block;padding:1px 6px;border-radius:var(--ath-radius-full);font-size:10px;font-weight:600}.ath-pwd-metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.ath-pwd-metric-tile{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;background:var(--ath-bg-elevated);border-radius:var(--ath-radius-sm)}.ath-pwd-mt-value{font-family:var(--ath-font-display);font-size:16px;font-weight:700;color:var(--ath-text)}.ath-pwd-mt-label{font-size:10px;color:var(--ath-text-muted);text-align:center}.ath-pwd-adv-cards{display:flex;flex-direction:column;gap:14px}.ath-pwd-adv-card{padding:16px 20px;background:var(--ath-bg-elevated);border-radius:var(--ath-radius-md);border:1px solid var(--ath-border-subtle)}.ath-pwd-adv-card.border-green{border-left:3px solid var(--ath-green)}.ath-pwd-adv-card.border-amber{border-left:3px solid var(--ath-amber)}.ath-pwd-adv-card.border-red{border-left:3px solid var(--ath-red)}.ath-pwd-adv-top{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.ath-pwd-adv-value{font-family:var(--ath-font-display);font-size:24px;font-weight:700;color:var(--ath-text)}.ath-pwd-adv-value.tone-green{color:var(--ath-green)}.ath-pwd-adv-value.tone-amber{color:var(--ath-amber)}.ath-pwd-adv-value.tone-red{color:var(--ath-red)}.ath-pwd-adv-label{font-size:13px;font-weight:600;color:var(--ath-text-secondary)}.ath-pwd-adv-desc{font-size:13px;color:var(--ath-text-secondary);line-height:1.6;margin:0 0 8px}.ath-pwd-adv-formula{display:block;font-size:11px;font-family:SF Mono,Fira Code,monospace;color:var(--ath-text-muted);background:var(--ath-bg);padding:6px 10px;border-radius:var(--ath-radius-sm);margin-top:6px}.ath-pwd-decoup-detail{display:flex;align-items:center;gap:12px;margin:10px 0;padding:10px 14px;background:var(--ath-bg);border-radius:var(--ath-radius-sm)}.ath-pwd-decoup-half{display:flex;flex-direction:column;align-items:center;gap:2px}.ath-pwd-decoup-half-label{font-size:10px;font-weight:500;color:var(--ath-text-muted);text-transform:uppercase}.ath-pwd-decoup-half-val{font-family:var(--ath-font-display);font-size:15px;font-weight:700;color:var(--ath-text)}.ath-pwd-decoup-arrow{font-size:18px;color:var(--ath-text-muted)}.ath-pwd-decoup-scale{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.ath-pwd-ds-item{font-size:10px;font-weight:500;padding:2px 8px;border-radius:var(--ath-radius-full)}.ath-pwd-ds-item.green{background:var(--ath-green-bg);color:var(--ath-green)}.ath-pwd-ds-item.amber{background:var(--ath-amber-bg);color:var(--ath-amber)}.ath-pwd-ds-item.red{background:var(--ath-red-bg);color:var(--ath-red)}.ath-pwd-rpe-row{display:flex;gap:6px;margin-bottom:8px}.ath-pwd-rpe-btn{flex:1;aspect-ratio:1;max-width:42px;border:1.5px solid var(--ath-border);border-radius:var(--ath-radius-sm);background:none;font-size:14px;font-weight:600;color:var(--ath-text-secondary);cursor:pointer;transition:all .15s}.ath-pwd-rpe-btn:hover{background:var(--ath-bg-hover)}.ath-pwd-rpe-btn.active.easy{background:var(--ath-green-bg);border-color:var(--ath-green);color:var(--ath-green)}.ath-pwd-rpe-btn.active.moderate{background:var(--ath-amber-bg);border-color:var(--ath-amber);color:var(--ath-amber)}.ath-pwd-rpe-btn.active.hard{background:#db6d281f;border-color:#db6d28;color:#db6d28}.ath-pwd-rpe-btn.active.max{background:var(--ath-red-bg);border-color:var(--ath-red);color:var(--ath-red)}.ath-pwd-rpe-label{display:block;font-size:12px;color:var(--ath-text-secondary);margin-bottom:12px;text-align:center}.ath-pwd-note-input{width:100%;margin-top:8px;padding:10px 12px;border:1px solid var(--ath-border);border-radius:var(--ath-radius-sm);background:var(--ath-bg);color:var(--ath-text);font-size:13px;font-family:var(--ath-font);resize:vertical;line-height:1.5}.ath-pwd-note-input:focus{outline:none;border-color:var(--ath-accent);box-shadow:var(--ath-shadow-ring)}.ath-pwd-save-btn{display:block;width:100%;margin-top:12px;padding:10px;border:none;border-radius:var(--ath-radius-sm);background:var(--ath-accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.ath-pwd-save-btn:hover{opacity:.9}.ath-week-activity-card{padding:6px 8px;border-left:3px solid var(--ath-text-muted);border-radius:4px;background:var(--ath-bg-elevated);cursor:pointer;transition:background .15s;margin-top:4px}.ath-week-activity-card:hover{background:var(--ath-bg-hover)}.ath-week-act-top{display:flex;align-items:center;justify-content:space-between}.ath-week-act-sport{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.ath-week-act-check{font-size:11px;color:var(--ath-green);font-weight:700}.ath-week-act-name{display:block;font-size:11px;font-weight:500;color:var(--ath-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.ath-week-act-stats{display:flex;gap:6px;font-size:10px;color:var(--ath-text-muted);margin-top:2px}.ath-today-completed{margin-bottom:20px}.ath-today-act-list{display:flex;flex-direction:column;gap:8px}.ath-today-act-card{display:block;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--ath-border-subtle);border-left:3px solid var(--ath-text-muted);border-radius:var(--ath-radius-md);background:var(--ath-bg-card);cursor:pointer;transition:background .15s,border-color .15s;font-family:var(--ath-font)}.ath-today-act-card:hover{background:var(--ath-bg-elevated);border-color:var(--ath-border)}.ath-today-act-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.ath-today-act-sport{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.ath-today-act-name{display:block;font-size:14px;font-weight:600;color:var(--ath-text);margin-bottom:4px}.ath-today-act-stats{display:flex;gap:10px;font-size:12px;color:var(--ath-text-secondary)}.ath-today-act-cta{display:block;margin-top:6px;font-size:12px;font-weight:500;color:var(--ath-accent)}.ath-month-cell.clickable{cursor:pointer}.ath-month-cell.clickable:hover{background:var(--ath-bg-hover)}.ath-month-dot.completed{width:6px;height:6px;border-radius:50%;opacity:.8}.ath-month-detail-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--ath-radius-sm);cursor:pointer;transition:background .15s;margin-bottom:4px}.ath-month-detail-item:hover{background:var(--ath-bg-hover)}.ath-month-detail-item.completed{border-left:3px solid var(--ath-text-muted);flex-direction:column;align-items:flex-start;gap:2px}.ath-month-detail-name{font-size:13px;font-weight:500;color:var(--ath-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ath-month-detail-disc{font-size:11px;color:var(--ath-text-muted);margin-left:auto}.ath-month-detail-sport{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.ath-month-detail-stats{display:flex;gap:8px;font-size:11px;color:var(--ath-text-secondary)}.ath-month-cell-items{display:flex;flex-direction:column;gap:2px;margin-top:2px;overflow:hidden}.ath-month-mini{display:flex;align-items:center;gap:3px;padding:1px 4px;border-radius:3px;font-size:9px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--ath-bg-subtle);border-left:2px solid var(--ath-text-muted)}.ath-month-mini.role-key{border-left-color:var(--ath-red);background:var(--ath-red-bg)}.ath-month-mini.role-long{border-left-color:var(--ath-blue);background:var(--ath-blue-bg)}.ath-month-mini.role-support{border-left-color:var(--ath-text-muted)}.ath-month-mini.completed{border-left-color:var(--ath-green);background:var(--ath-green-bg)}.ath-month-mini-disc{font-weight:700;color:var(--ath-text-secondary);flex-shrink:0;letter-spacing:.02em}.ath-month-mini-dose{color:var(--ath-text);font-weight:500;overflow:hidden;text-overflow:ellipsis}.ath-month-mini-check{color:var(--ath-green);font-size:8px;font-weight:700;margin-left:auto;flex-shrink:0}.ath-month-mini-more{font-size:9px;color:var(--ath-text-muted);padding-left:4px}.ath-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}@media(max-width:640px){.ath-dashboard-grid{grid-template-columns:1fr}}.ath-dash-card{background:var(--ath-bg-card);border:1px solid var(--ath-border);border-radius:var(--ath-radius-lg);padding:16px;box-shadow:var(--ath-shadow-sm);transition:box-shadow .2s}.ath-dash-card:hover{box-shadow:var(--ath-shadow-md)}.ath-dash-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ath-dash-card-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ath-text-secondary)}.ath-dash-card-period{font-size:11px;color:var(--ath-text-muted);font-weight:500}.ath-dash-status-body{display:flex;flex-direction:column;gap:14px}.ath-dash-status-badge{display:inline-flex;align-self:flex-start;padding:6px 14px;border-radius:var(--ath-radius-full);font-size:14px;font-weight:700;letter-spacing:-.01em;font-family:var(--ath-font-display)}.ath-dash-status-badge.tone-good,.ath-dash-status-badge.tone-productive{background:var(--ath-green-bg);color:var(--ath-green)}.ath-dash-status-badge.tone-neutral,.ath-dash-status-badge.tone-maintaining{background:var(--ath-blue-bg);color:var(--ath-blue)}.ath-dash-status-badge.tone-warning,.ath-dash-status-badge.tone-detraining{background:var(--ath-amber-bg);color:var(--ath-amber)}.ath-dash-status-badge.tone-danger,.ath-dash-status-badge.tone-overreaching{background:var(--ath-red-bg);color:var(--ath-red)}.ath-dash-status-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ath-dash-status-metric{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.ath-dash-metric-label{font-size:10px;color:var(--ath-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.ath-dash-metric-value{font-size:20px;font-weight:800;font-family:var(--ath-font-display);color:var(--ath-text);line-height:1.1}.ath-dash-metric-sub{font-size:10px;color:var(--ath-text-muted);font-weight:500}.ath-dash-metric-sub.tone-good{color:var(--ath-green)}.ath-dash-metric-sub.tone-warning{color:var(--ath-amber)}.ath-dash-metric-sub.tone-danger{color:var(--ath-red)}.ath-dash-metric-sub.tone-neutral{color:var(--ath-blue)}.ath-dash-load-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.ath-dash-load-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.ath-dash-load-num{font-size:18px;font-weight:800;font-family:var(--ath-font-display);color:var(--ath-text);line-height:1.2}.ath-dash-load-num.tone-good{color:var(--ath-green)}.ath-dash-load-num.tone-warning{color:var(--ath-amber)}.ath-dash-load-num.tone-danger{color:var(--ath-red)}.ath-dash-load-num.tone-neutral{color:var(--ath-blue)}.ath-dash-load-lbl{font-size:10px;color:var(--ath-text-muted);font-weight:500}.ath-dash-load-chart{margin:0 -8px -4px}.ath-dash-week-list{display:flex;flex-direction:column;gap:10px}.ath-dash-week-sport{display:grid;grid-template-columns:10px 1fr 80px;align-items:center;gap:10px}.ath-dash-week-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ath-dash-week-info{display:flex;flex-direction:column;min-width:0}.ath-dash-week-name{font-size:13px;font-weight:600;color:var(--ath-text)}.ath-dash-week-detail{font-size:11px;color:var(--ath-text-muted)}.ath-dash-week-bar-wrap{height:6px;background:var(--ath-bg-subtle);border-radius:3px;overflow:hidden}.ath-dash-week-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.ath-dash-week-empty{text-align:center;font-size:13px;color:var(--ath-text-muted);padding:20px 0}.ath-dash-week-totals{display:flex;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--ath-border-subtle);font-size:12px;font-weight:600;color:var(--ath-text-secondary)}.ath-dash-weight-current{display:flex;align-items:baseline;gap:4px;margin-bottom:8px}.ath-dash-weight-add{border:none;background:none;font-family:var(--ath-font);font-size:11px;font-weight:600;color:var(--ath-accent);cursor:pointer;padding:4px 8px;border-radius:var(--ath-radius-full);transition:background .15s}.ath-dash-weight-add:hover{background:var(--ath-accent-light)}.ath-dash-weight-form{display:flex;gap:8px;margin-bottom:10px}.ath-dash-weight-input{flex:1;font-family:var(--ath-font-display);font-size:15px;font-weight:600;text-align:center;padding:6px 10px;border:1.5px solid var(--ath-border);border-radius:var(--ath-radius-sm);background:var(--ath-bg-subtle);color:var(--ath-text);outline:none;transition:border-color .15s}.ath-dash-weight-input:focus{border-color:var(--ath-accent)}.ath-dash-weight-save{border:none;background:var(--ath-accent);color:#fff;font-family:var(--ath-font);font-size:12px;font-weight:600;padding:6px 14px;border-radius:var(--ath-radius-sm);cursor:pointer;transition:opacity .15s}.ath-dash-weight-save:disabled{opacity:.5;cursor:not-allowed}.ath-dash-weight-chart{margin:4px -8px 0}.ath-dash-weight-delta{display:flex;align-items:center;gap:6px;font-size:12px;margin-top:6px}.ath-dash-weight-delta .up{color:var(--ath-amber);font-weight:700}.ath-dash-weight-delta .down{color:var(--ath-green);font-weight:700}.ath-dash-weight-period{color:var(--ath-text-muted);font-weight:500}.ath-dash-cal-toggle{display:flex;gap:2px;background:var(--ath-bg-subtle);border-radius:var(--ath-radius-full);padding:2px}.ath-dash-cal-toggle button{border:none;background:none;font-family:var(--ath-font);font-size:11px;font-weight:600;color:var(--ath-text-muted);padding:4px 12px;border-radius:var(--ath-radius-full);cursor:pointer;transition:all .15s}.ath-dash-cal-toggle button.active{background:var(--ath-bg-card);color:var(--ath-text);box-shadow:var(--ath-shadow-sm)}.ath-dash-cal-toggle button:hover:not(.active){color:var(--ath-text-secondary)}.ath-dash-cal-body{display:flex;align-items:center;gap:16px}.ath-dash-cal-donut{position:relative;flex-shrink:0}.ath-dash-cal-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.ath-dash-cal-total{font-size:20px;font-weight:800;font-family:var(--ath-font-display);color:var(--ath-text);line-height:1}.ath-dash-cal-unit{font-size:10px;color:var(--ath-text-muted);font-weight:500}.ath-dash-cal-legend{display:flex;flex-direction:column;gap:8px;flex:1}.ath-dash-cal-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ath-text-secondary)}.ath-dash-cal-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ath-dash-cal-val{margin-left:auto;font-weight:700;font-family:var(--ath-font-display);color:var(--ath-text)}.ath-dash-cal-steps-count{font-weight:400;font-size:10px;color:var(--ath-text-muted);font-family:var(--ath-font)}.sa-fab{position:fixed;bottom:24px;right:24px;z-index:60;width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--primary, #16353d),#1e4a56);color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 20px #10222a40;transition:transform .15s,box-shadow .15s}.sa-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px #10222a59}.sa-fab:active{transform:scale(.96)}.sa-panel{position:fixed;bottom:88px;right:24px;z-index:59;width:min(400px,calc(100vw - 48px));max-height:min(600px,calc(100vh - 120px));background:var(--bg, #fff);border-radius:var(--radius-lg, 22px);box-shadow:0 20px 60px #10222a2e,0 0 0 1px #10222a0f;display:flex;flex-direction:column;overflow:hidden;animation:sa-slide-up .2s ease-out}@keyframes sa-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.sa-header{padding:16px 20px 12px;border-bottom:1px solid var(--border, rgba(16, 34, 42, .08));display:flex;align-items:center;gap:12px}.sa-title{font-size:15px;font-weight:700;color:var(--heading, #16353d);display:block}.sa-subtitle{font-size:12px;color:var(--muted, #5e6d72)}.sa-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.sa-msg{max-width:92%;padding:10px 14px;border-radius:var(--radius-md, 16px);font-size:13.5px;line-height:1.5;word-break:break-word}.sa-msg p{margin:0}.sa-msg-user{align-self:flex-end;background:var(--primary, #16353d);color:#fff;border-bottom-right-radius:4px}.sa-msg-advisor{align-self:flex-start;background:var(--surface, #f4f6f7);color:var(--body, #2d3e44);border-bottom-left-radius:4px}.sa-loading{display:flex;gap:5px;padding:4px 0}.sa-dot{width:7px;height:7px;border-radius:50%;background:var(--muted, #5e6d72);animation:sa-bounce 1.2s infinite}.sa-dot:nth-child(2){animation-delay:.15s}.sa-dot:nth-child(3){animation-delay:.3s}@keyframes sa-bounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.sa-empty{text-align:center;padding:24px 8px}.sa-empty-title{font-size:15px;font-weight:600;color:var(--heading, #16353d);margin:0 0 6px}.sa-empty-hint{font-size:12.5px;color:var(--muted, #5e6d72);margin:0 0 16px}.sa-suggestions{display:flex;flex-direction:column;gap:6px}.sa-suggestion{background:var(--surface, #f4f6f7);border:1px solid var(--border, rgba(16, 34, 42, .08));border-radius:12px;padding:8px 12px;font-size:12.5px;color:var(--body, #2d3e44);cursor:pointer;text-align:left;transition:background .12s}.sa-suggestion:hover{background:var(--border, rgba(16, 34, 42, .08))}.sa-input-row{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border, rgba(16, 34, 42, .08))}.sa-input{flex:1;resize:none;border:1px solid var(--border, rgba(16, 34, 42, .12));border-radius:14px;padding:10px 14px;font-size:13.5px;font-family:inherit;line-height:1.4;background:var(--bg, #fff);color:var(--body, #2d3e44);outline:none;transition:border-color .12s}.sa-input:focus{border-color:var(--primary, #16353d)}.sa-input::placeholder{color:var(--muted, #5e6d72)}.sa-send{width:38px;height:38px;border-radius:50%;border:none;background:var(--primary, #16353d);color:#fff;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:opacity .12s}.sa-send:disabled{opacity:.35;cursor:not-allowed}.sa-response{display:flex;flex-direction:column;gap:8px}.sa-summary{font-size:13.5px;line-height:1.55}.sa-summary p{margin:0 0 8px}.sa-summary p:last-child{margin-bottom:0}.sa-md-list{margin:4px 0 8px;padding-left:16px;font-size:13px;line-height:1.5}.sa-md-list li{margin-bottom:3px}.sa-ref{font-size:11px;font-weight:700;color:var(--primary, #16353d);vertical-align:super;cursor:default}.sa-warning{background:#fff3cd;color:#856404;border-radius:8px;padding:6px 10px;font-size:12px}.sa-warning p{margin:0}.sa-context{font-size:12px;color:var(--muted, #5e6d72);font-style:italic;margin:0}.sa-section,.sa-citations-block{border-top:1px solid var(--border, rgba(16, 34, 42, .08));padding-top:6px}.sa-section-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:4px 0;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--heading, #16353d);font-family:inherit}.sa-chevron{font-size:16px;line-height:1;color:var(--muted, #5e6d72)}.sa-section-body{font-size:12.5px;line-height:1.55;white-space:pre-wrap;color:var(--body, #2d3e44);padding:4px 0 8px}.sa-citations-list{margin:4px 0 8px;padding-left:18px;font-size:11.5px;line-height:1.5;color:var(--body, #2d3e44);display:flex;flex-direction:column;gap:6px}.sa-cite-authors{font-weight:600}.sa-cite-year{color:var(--muted, #5e6d72)}.sa-cite-title{font-style:italic}.sa-cite-journal{color:var(--muted, #5e6d72)}.sa-cite-link{display:inline-block;margin-left:4px;font-size:10.5px;background:var(--primary, #16353d);color:#fff;padding:1px 5px;border-radius:4px;text-decoration:none;font-weight:500}.sa-cite-link:hover{opacity:.85}.sa-meta{font-size:11px;color:var(--muted, #5e6d72);margin:0;text-align:right}[data-theme=dark] .sa-fab{background:linear-gradient(135deg,#1e4a56,#2a6070);box-shadow:0 4px 20px #0006}[data-theme=dark] .sa-panel{box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff0f}[data-theme=dark] .sa-warning{background:#433617;color:#ffd666}@media(max-width:640px){.sa-panel{right:8px;bottom:80px;width:calc(100vw - 16px);max-height:calc(100vh - 100px);border-radius:var(--radius-md, 16px)}.sa-fab{bottom:16px;right:16px;width:48px;height:48px}}.lp{--c-accent: #d26a36;--c-accent-soft: rgba(210, 106, 54, .09);--c-dark: #0e1e24;--c-text: #1a2f38;--c-muted: #5e7078;--c-faint: #9aabb4;--c-bg: #f7f6f4;--c-surface: #fff;--c-border: rgba(14, 30, 36, .07);--c-green: #22c55e;--c-orange: #f97316;--c-red: #ef4444;--ff: "Source Sans 3", system-ui, sans-serif;--ff-display: "Space Grotesk", var(--ff);--max: 1080px;font-family:var(--ff);color:var(--c-text);background:var(--c-bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}.lp *,.lp *:before,.lp *:after{box-sizing:border-box}.lp-w{max-width:var(--max);margin:0 auto;padding:0 28px}.lp-nav{position:fixed;top:0;left:0;right:0;z-index:200;background:#f7f6f4d1;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5)}.lp-nav__row{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px}.lp-nav__right{display:flex;align-items:center;gap:12px}.lp-nav__brand{font-family:var(--ff-display);font-size:18px;font-weight:700;letter-spacing:-.03em;color:var(--c-dark)}.lp-nav__enter{background:none;border:1.5px solid var(--c-border);padding:6px 20px;border-radius:7px;font-size:13px;font-weight:600;font-family:var(--ff);color:var(--c-text);cursor:pointer;transition:border-color .15s,color .15s}.lp-nav__enter:hover{border-color:var(--c-accent);color:var(--c-accent)}.lp-btn-solid{display:inline-flex;align-items:center;padding:13px 30px;background:var(--c-dark);color:#fff;border:none;border-radius:10px;font:600 15px/1 var(--ff);cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .2s}.lp-btn-solid:hover{transform:translateY(-1px);box-shadow:0 8px 28px #0e1e2429}.lp-btn-ghost{display:inline-flex;align-items:center;padding:13px 30px;background:none;border:1.5px solid var(--c-border);border-radius:10px;font:600 15px/1 var(--ff);color:var(--c-text);cursor:pointer;text-decoration:none;transition:border-color .15s}.lp-btn-ghost:hover{border-color:#0e1e2438}.lp-ey{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--c-accent);margin:0 0 14px}.lp-ey--light{color:#d2a686e6}.lp-h2{font-family:var(--ff-display);font-size:clamp(26px,3.5vw,38px);font-weight:700;line-height:1.15;letter-spacing:-.025em;color:var(--c-dark);margin:0 0 14px}.lp-h2--light{color:#fff}.lp-sub{font-size:16px;color:var(--c-muted);max-width:560px;margin:0 0 40px;line-height:1.75}.lp-sub--light{color:#ffffff8c}.lp-hero{padding-top:120px}.lp-hero__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;padding-top:48px;padding-bottom:80px}.lp-hero__kicker{font-size:13px;font-weight:600;color:var(--c-accent);margin:0 0 18px;letter-spacing:.02em}.lp-hero__h1{font-family:var(--ff-display);font-size:clamp(32px,4vw,48px);font-weight:700;line-height:1.08;letter-spacing:-.035em;margin:0 0 22px;color:var(--c-dark)}.lp-hero__h1 em{font-style:normal;color:var(--c-accent)}.lp-hero__sub{font-size:16px;color:var(--c-muted);max-width:440px;line-height:1.75;margin:0 0 32px}.lp-hero__acts{display:flex;gap:12px;flex-wrap:wrap}.lp-hero__right{position:relative}.lp-hcurve{width:100%;height:auto;display:block}.lp-hcurve__line{stroke-dasharray:800;stroke-dashoffset:800;transition:stroke-dashoffset 1.8s cubic-bezier(.4,0,.2,1)}.lp-hcurve__line--on{stroke-dashoffset:0}.lp-hcurve__fill{opacity:0;transition:opacity 1s ease 1s}.lp-hcurve__fill--on{opacity:1}.lp-hcurve__dot{opacity:0;transform-origin:center;animation:none}.lp-hcurve__dot--on{animation:lp-dot-in .4s ease forwards}.lp-hcurve__tag{opacity:0}.lp-hcurve__tag--on{animation:lp-fade-in .5s ease forwards}@keyframes lp-dot-in{0%{opacity:0;r:0}to{opacity:1;r:4}}@keyframes lp-fade-in{0%{opacity:0}to{opacity:1}}.lp-section{padding:90px 0}.lp-section--dark{background:var(--c-dark);color:#fff}.lp-section--warm{background:linear-gradient(170deg,#fdf5ef 0%,var(--c-bg) 60%)}.lp-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}.lp-method{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:24px 22px}.lp-method__tag{display:inline-block;font-family:var(--ff-display);font-size:13px;font-weight:700;color:var(--c-accent);border:1px solid rgba(210,106,54,.3);padding:3px 12px;border-radius:6px;margin-bottom:12px}.lp-method p{font-size:14px;color:#ffffff8c;margin:0;line-height:1.7}.lp-methods__footer{display:flex;gap:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.06)}.lp-methods__stat-val{display:block;font-family:var(--ff-display);font-size:14px;font-weight:700;color:#fff;margin-bottom:2px}.lp-methods__stat-desc{font-size:12px;color:#ffffff61}.lp-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.lp-split--reverse{direction:rtl}.lp-split--reverse>*{direction:ltr}.lp-checks{list-style:none;padding:0;margin:0}.lp-checks li{position:relative;padding:8px 0 8px 22px;font-size:14px;color:var(--c-muted);line-height:1.6}.lp-checks li:before{content:"";position:absolute;left:0;top:15px;width:8px;height:8px;border-radius:50%;background:var(--c-accent-soft);border:2px solid var(--c-accent)}.lp-evo{background:var(--c-surface);border:1px solid var(--c-border);border-radius:16px;padding:28px 24px;box-shadow:0 16px 48px #0e1e240f}.lp-evo__row{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;margin-bottom:12px}.lp-evo__date{font-size:12px;font-weight:600;color:var(--c-faint)}.lp-evo__bar{height:32px;background:linear-gradient(90deg,#d26a3626,#d26a3614);border-radius:8px;display:flex;align-items:center;padding:0 14px;transition:width .6s ease}.lp-evo__bar--current{background:linear-gradient(90deg,#d26a3647,#d26a361f);border:1.5px solid rgba(210,106,54,.35)}.lp-evo__bar span{font-size:12px;font-weight:700;color:var(--c-accent);white-space:nowrap}.lp-evo__caption{font-size:12px;color:var(--c-faint);margin:16px 0 0;text-align:center}.lp-predictions{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.lp-pred{background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;padding:24px 18px;text-align:center}.lp-pred__dist{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-faint);margin-bottom:8px}.lp-pred__time{display:block;font-family:var(--ff-display);font-size:26px;font-weight:700;color:var(--c-dark);letter-spacing:-.02em;margin-bottom:6px}.lp-pred__range{font-size:11px;color:var(--c-faint)}.lp-pred__inputs{text-align:center;font-size:12px;color:var(--c-faint);font-style:italic}.lp-num{opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s;display:inline-block}.lp-num--vis{opacity:1;transform:translateY(0)}.lp-blocks-demo{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.lp-bk{padding:14px 16px;border:1px solid var(--c-border);border-radius:10px;background:var(--c-surface);transition:border-color .2s}.lp-bk--active{border-color:var(--c-accent);background:#d26a360a}.lp-bk__name{display:block;font-size:13px;font-weight:700;color:var(--c-dark);margin-bottom:2px}.lp-bk__when{font-size:11px;color:var(--c-faint)}.lp-gap-demo{background:var(--c-surface);border:1px solid var(--c-border);border-radius:16px;padding:28px 24px;box-shadow:0 16px 48px #0e1e240f}.lp-gap-demo__title{font-family:var(--ff-display);font-size:13px;font-weight:700;color:var(--c-faint);text-transform:uppercase;letter-spacing:.06em;margin:0 0 20px}.lp-gap-demo__row{display:grid;grid-template-columns:100px 1fr auto;gap:12px;align-items:center;margin-bottom:12px}.lp-gap-demo__label{font-size:12px;font-weight:600;color:var(--c-muted)}.lp-gap-demo__bar{height:24px;background:var(--c-accent);opacity:.2;border-radius:6px}.lp-gap-demo__bar--target{background:var(--c-green);opacity:.25}.lp-gap-demo__val{font-family:var(--ff-display);font-size:14px;font-weight:700;color:var(--c-dark)}.lp-gap-demo__gap{margin-top:16px;padding:12px 16px;background:#d26a360f;border-radius:8px;font-size:13px;color:var(--c-accent);line-height:1.5}.lp-gap-demo__dose{margin-top:8px;font-size:12px;color:var(--c-faint)}.lp-duo{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:8px}.lp-duo__col{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:28px 24px}.lp-duo__h3{font-family:var(--ff-display);font-size:18px;font-weight:700;color:#fff;margin:0 0 16px}.lp-duo__list{list-style:none;padding:0;margin:0}.lp-duo__list li{position:relative;padding:7px 0 7px 18px;font-size:14px;color:#ffffff80;line-height:1.6}.lp-duo__list li:before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:var(--c-accent);opacity:.6}.lp-strip{background:var(--c-surface);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);padding:40px 0}.lp-strip__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.lp-strip__item{text-align:center}.lp-strip__ref{display:block;font-family:var(--ff-display);font-size:14px;font-weight:700;color:var(--c-dark);margin-bottom:2px}.lp-strip__detail{font-size:11px;color:var(--c-faint);line-height:1.4}.lp-cta-section{padding:80px 0 100px;text-align:center}.lp-cta-section__inner{max-width:520px;margin:0 auto}.lp-cta-section .lp-sub{margin-left:auto;margin-right:auto}.lp-form{display:flex;gap:10px;max-width:440px;margin:0 auto}.lp-form__input{flex:1;padding:13px 18px;border:1.5px solid var(--c-border);border-radius:10px;background:var(--c-surface);font:15px var(--ff);color:var(--c-text);outline:none;transition:border-color .15s}.lp-form__input:focus{border-color:var(--c-accent)}.lp-form__input::placeholder{color:var(--c-faint)}.lp-done{background:var(--c-accent-soft);border-radius:12px;padding:18px 24px;font-weight:600;color:var(--c-accent);max-width:360px;margin:0 auto}.lp-foot{border-top:1px solid var(--c-border);padding:24px 0}.lp-foot__inner{display:flex;align-items:center;justify-content:space-between}.lp-foot__brand{font-family:var(--ff-display);font-weight:700;font-size:14px;color:var(--c-dark)}.lp-foot__line{font-size:12px;color:var(--c-faint)}.lp-hero{position:relative;overflow:hidden}.lp-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.18;pointer-events:none}.lp-hero__video:not([src]),.lp-hero__video[src=""]{display:none}.lp-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,#f7f6f4eb,#f7f6f4bf,#f7f6f4);z-index:1}.lp-hero__grid{position:relative;z-index:2}.lp-lang{position:relative}.lp-lang__btn{background:none;border:1.5px solid var(--c-border);padding:5px 12px;border-radius:6px;font:600 11px/1 var(--ff-display);color:var(--c-muted);cursor:pointer;letter-spacing:.04em;transition:border-color .15s}.lp-lang__btn:hover{border-color:var(--c-accent);color:var(--c-accent)}.lp-lang__drop{position:absolute;top:calc(100% + 6px);right:0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;padding:6px;box-shadow:0 12px 36px #0e1e241a;z-index:300;min-width:120px}.lp-lang__opt{display:block;width:100%;background:none;border:none;padding:7px 12px;border-radius:6px;font:500 13px var(--ff);color:var(--c-text);cursor:pointer;text-align:left;transition:background .1s}.lp-lang__opt:hover{background:var(--c-accent-soft)}.lp-lang__opt--on{color:var(--c-accent);font-weight:700}.ld{background:var(--c-surface);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}.ld-container{display:grid;grid-template-columns:340px 1fr;gap:28px;min-height:420px}.ld-input{display:flex;flex-direction:column}.ld-mode{display:flex;align-items:center;gap:10px;margin-bottom:16px}.ld-mode__label{font-size:11px;font-weight:600;color:var(--c-faint);text-transform:uppercase;letter-spacing:.06em}.ld-mode__btns{display:flex;gap:4px;background:var(--c-bg);border-radius:7px;padding:3px}.ld-mode__btn{background:none;border:none;padding:5px 14px;border-radius:5px;font:600 12px var(--ff);color:var(--c-muted);cursor:pointer;transition:all .15s}.ld-mode__btn--on{background:var(--c-surface);color:var(--c-accent);box-shadow:0 1px 4px #0e1e240f}.ld-row{display:grid;grid-template-columns:1fr 1fr 28px;gap:6px;margin-bottom:4px;align-items:center}.ld-row--head{margin-bottom:8px}.ld-row--head span{font-size:11px;font-weight:700;color:var(--c-faint);text-transform:uppercase;letter-spacing:.05em}.ld-rows{max-height:280px;overflow-y:auto;margin-bottom:12px}.ld-input__field{padding:8px 10px;border:1.5px solid var(--c-border);border-radius:7px;font:500 14px var(--ff-display);color:var(--c-text);background:var(--c-bg);outline:none;transition:border-color .15s;width:100%}.ld-input__field:focus{border-color:var(--c-accent)}.ld-input__field::placeholder{color:var(--c-faint);font-weight:400;font-family:var(--ff);font-size:12px}.ld-row__rm{background:none;border:none;color:var(--c-faint);font-size:16px;cursor:pointer;padding:0;line-height:1;opacity:.4;transition:opacity .15s,color .15s}.ld-row__rm:hover{opacity:1;color:var(--c-red)}.ld-actions{display:flex;gap:8px;margin-bottom:14px}.ld-actions__add,.ld-actions__reset{background:none;border:none;font:600 12px var(--ff);color:var(--c-accent);cursor:pointer;padding:4px 0;transition:opacity .15s}.ld-actions__reset{color:var(--c-faint);margin-left:auto}.ld-actions__add:hover,.ld-actions__reset:hover{opacity:.7}.ld-analyze{width:100%;margin-top:auto}.ld-result{display:flex;flex-direction:column;gap:20px;opacity:1;transform:translateY(0);transition:opacity .4s,transform .4s}.ld-result--show{opacity:1;transform:translateY(0)}.ld-svg{width:100%;height:auto;display:block}.ld-svg__line{stroke-dasharray:1000;stroke-dashoffset:1000;animation:ld-draw 1.2s ease forwards}@keyframes ld-draw{to{stroke-dashoffset:0}}.ld-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ld-metric{background:var(--c-bg);border-radius:10px;padding:14px 12px;text-align:center}.ld-metric--lt1{border-left:3px solid var(--c-green)}.ld-metric--lt2{border-left:3px solid var(--c-orange)}.ld-metric__label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-faint);margin-bottom:4px}.ld-metric__val{display:block;font-family:var(--ff-display);font-size:20px;font-weight:700;color:var(--c-dark);letter-spacing:-.02em}.ld-metric__sub{display:block;font-size:11px;color:var(--c-faint);margin-top:2px}.ld-zones{margin-top:-4px}.ld-zones__title{display:block;font-size:11px;font-weight:700;color:var(--c-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.ld-zones__bar{display:flex;height:28px;border-radius:7px;overflow:hidden}.ld-zones__seg{flex:1;display:flex;align-items:center;justify-content:center}.ld-zones__seg span{font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.ld-zones__labels{display:flex;margin-top:4px}.ld-zones__range{flex:1;text-align:center;font-size:10px;color:var(--c-faint)}.ld-save{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--c-accent-soft);border-radius:12px}.ld-save p{margin:0;font-size:14px;font-weight:500;color:var(--c-text);flex:1}.ld-save .lp-btn-solid{flex-shrink:0;padding:10px 22px;font-size:13px}.ld-hr-helper{font-size:11px;color:var(--c-faint);line-height:1.5;margin:0 0 8px}.ld-hr-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.ld-hr-row--3{grid-template-columns:1fr 1fr 1fr}.ld-hr-field{display:flex;flex-direction:column;align-items:center}.ld-hr-field__label{display:block;font-size:10px;font-weight:700;color:var(--c-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;white-space:nowrap;text-align:center}.ld-hr-field .ld-input__field{font-size:13px;width:100%}.ld-locked{position:relative;border-radius:12px;overflow:hidden}.ld-locked__content{filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.7;padding:16px;background:var(--c-bg);border-radius:12px}.ld-locked__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:#0e1e240a;cursor:pointer;border-radius:12px;border:1.5px dashed rgba(14,30,36,.12);transition:background .15s,border-color .15s;z-index:2}.ld-locked__overlay:hover{background:#d26a360f;border-color:var(--c-accent)}.ld-locked__overlay svg{color:var(--c-muted);flex-shrink:0}.ld-locked__overlay span{font-size:14px;font-weight:600;color:var(--c-text)}.ld-locked__overlay:hover svg{color:var(--c-accent)}.ld-locked__overlay:hover span{color:var(--c-accent)}.ld-preds{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.ld-preds__item{text-align:center;padding:12px 8px;background:var(--c-surface);border-radius:8px}.ld-preds__dist{display:block;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--c-faint);margin-bottom:4px}.ld-preds__time{font-family:var(--ff-display);font-size:18px;font-weight:700;color:var(--c-dark)}.ld-preds__time--blur{filter:blur(8px);-webkit-user-select:none;user-select:none}.ld-locked--preds{padding:16px;background:var(--c-bg);border-radius:12px}.ld-locked--preds .ld-locked__overlay--preds{top:auto;bottom:0;height:60%}.ld-vo2-locked{text-align:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--c-border)}.ld-vo2-locked .ld-metric__val{font-family:var(--ff-display);font-size:22px;font-weight:700;display:block}.ld-vo2-locked .ld-metric__label{display:block;font-size:10px;text-transform:uppercase;font-weight:700;color:var(--c-faint);margin-bottom:2px}.ld-vo2-locked .ld-metric__sub{display:block;font-size:11px;color:var(--c-faint)}.ld-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;gap:16px}.ld-placeholder p{font-size:14px;color:var(--c-faint);margin:0}.ld-input__field--warn{border-color:#d26a36!important;background:#d26a360a!important}.ld-hr-field__warn{display:block;font-size:11px;line-height:1.4;color:#b85a2a;margin-top:4px}.ld-hr-helper--sub{font-size:12px;color:var(--c-faint);margin:2px 0 0;opacity:.8}.ld-warning{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;background:#d26a360f;border:1px solid rgba(210,106,54,.18);border-radius:10px;margin-top:8px}.ld-warning__icon{flex-shrink:0;margin-top:1px}.ld-warning__text{font-size:13px;line-height:1.5;color:#7a4a2a;margin:0}.ld-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;gap:8px}.ld-preview .ld-svg--live{width:100%;max-width:480px;opacity:1;transition:opacity .3s ease}.ld-preview__hint{font-size:13px;color:var(--c-faint);margin:0;text-align:center;letter-spacing:.3px}.lp-anim{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}.lp-anim--in{opacity:1;transform:translateY(0)}.lp-nav__link{font-size:13px;font-weight:500;color:var(--c-muted);text-decoration:none;transition:color .15s}.lp-nav__link:hover{color:var(--c-accent)}.lp-hero__proof{display:flex;align-items:center;gap:20px;margin-top:36px;padding-top:24px;border-top:1px solid var(--c-border)}.lp-hero__proof-item{display:flex;flex-direction:column}.lp-hero__proof-val{font-family:var(--ff-display);font-size:20px;font-weight:700;color:var(--c-dark);letter-spacing:-.02em}.lp-hero__proof-label{font-size:11px;color:var(--c-faint);line-height:1.4;max-width:140px}.lp-hero__proof-sep{width:1px;height:32px;background:var(--c-border)}.lp-portal{margin-top:8px}.lp-portal__tabs{display:flex;gap:6px;margin-bottom:24px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.lp-portal__tabs::-webkit-scrollbar{display:none}.lp-portal__tab{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 18px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;cursor:pointer;transition:all .2s;min-width:100px;flex-shrink:0}.lp-portal__tab svg{opacity:.5;transition:opacity .2s}.lp-portal__tab--on{background:#d26a361f;border-color:#d26a364d}.lp-portal__tab--on svg{opacity:1}.lp-portal__tab-title{font-size:11px;font-weight:600;color:#ffffff80;white-space:nowrap}.lp-portal__tab--on .lp-portal__tab-title{color:#fff}.lp-portal__tabs--light .lp-portal__tab--light{background:var(--c-surface);border-color:var(--c-border)}.lp-portal__tab--light .lp-portal__tab-title{color:var(--c-muted)}.lp-portal__tab--light-on{background:#d26a360f!important;border-color:var(--c-accent)!important}.lp-portal__tab--light-on .lp-portal__tab-title{color:var(--c-dark)!important}.lp-portal__content{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:start}.lp-portal__card{padding:28px 24px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:16px}.lp-portal__card--light{background:var(--c-surface);border-color:var(--c-border);box-shadow:0 8px 28px #0e1e240f}.lp-portal__card-icon{margin-bottom:12px}.lp-portal__card-title{font-family:var(--ff-display);font-size:18px;font-weight:700;color:#fff;margin:0 0 10px}.lp-portal__card-title--light{color:var(--c-dark)}.lp-portal__card-desc{font-size:14px;color:#ffffff80;line-height:1.7;margin:0}.lp-portal__card-desc--light{color:var(--c-muted)}.lp-portal__mockup{border-radius:16px;overflow:hidden}.lp-mock{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:20px;font-size:13px;color:#fff9}.lp-mock--light{background:var(--c-surface);border-color:var(--c-border);color:var(--c-muted);box-shadow:0 8px 28px #0e1e240f}.lp-mock__header{display:flex;align-items:center;gap:8px;margin-bottom:14px}.lp-mock__dot{width:8px;height:8px;border-radius:50%}.lp-mock__dot--green{background:var(--c-green)}.lp-mock__title{font-family:var(--ff-display);font-size:13px;font-weight:700;color:#ffffffb3}.lp-mock--light .lp-mock__title{color:var(--c-dark)}.lp-mock__session{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#d26a3614;border-radius:10px;margin-bottom:14px}.lp-mock__badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.06em}.lp-mock__badge--key{background:#d26a3633;color:var(--c-accent)}.lp-mock__label{font-size:13px;font-weight:600;color:#fffc}.lp-mock__row{display:flex;gap:16px;align-items:center;margin-top:10px}.lp-mock__metric{display:flex;flex-direction:column;align-items:center;flex:1;padding:10px 6px;background:#ffffff0a;border-radius:8px}.lp-mock__metric-val{font-family:var(--ff-display);font-size:18px;font-weight:700;color:#fff}.lp-mock__metric-label{font-size:10px;color:#fff6;text-transform:uppercase;margin-top:2px}.lp-mock__block-tag{margin-top:14px;padding:8px 14px;background:#d26a3614;border-radius:8px;font-size:12px;font-weight:600;color:var(--c-accent);text-align:center}.lp-mock__block-tag--light{background:#d26a360f}.lp-mock__week-grid{display:flex;gap:6px;margin-bottom:14px}.lp-mock__day{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.lp-mock__day--today{background:#d26a361a;border-radius:8px;padding:4px 0}.lp-mock__day-label{font-size:10px;font-weight:700;color:#fff6}.lp-mock__day-bar{width:100%;height:28px;border-radius:4px;background:#ffffff0f}.lp-mock__day-bar--key{background:#d26a364d}.lp-mock__day-bar--easy{background:#22c55e33}.lp-mock__day-bar--long{background:#3b82f640}.lp-mock__week-summary{display:flex;gap:16px;font-size:11px;color:#fff6;font-weight:600}.lp-mock__chart{width:100%;height:auto;display:block;margin-bottom:8px}.lp-mock__trend-up{font-family:var(--ff-display);font-weight:700;font-size:16px;color:var(--c-green)}.lp-mock__trend-label{font-size:12px;color:#fff6}.lp-mock__ring-row{display:flex;align-items:center;gap:20px}.lp-mock__ring-metrics{display:flex;flex-direction:column;gap:6px}.lp-mock__mini-metric{font-size:12px;color:#ffffff80}.lp-mock__mini-val{font-family:var(--ff-display);font-weight:700;color:#fff;margin-right:6px}.lp-mock__connect-row{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.lp-mock__connect-label{font-size:14px;font-weight:600;color:var(--c-green)}.lp-mock__metrics-list{display:flex;flex-direction:column;gap:6px}.lp-mock__metric-toggle{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:4px 0}.lp-mock__toggle-on{width:28px;height:14px;border-radius:7px;background:var(--c-green);position:relative}.lp-mock__toggle-on:after{content:"";width:10px;height:10px;border-radius:50%;background:#fff;position:absolute;right:2px;top:2px}.lp-mock__athletes-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.lp-mock__athlete-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--c-bg);border-radius:8px}.lp-mock__athlete-name{font-weight:700;font-size:13px;color:var(--c-dark);min-width:70px}.lp-mock__athlete-lt2{font-family:var(--ff-display);font-size:13px;font-weight:600;color:var(--c-text);flex:1}.lp-mock__athlete-conf{font-family:var(--ff-display);font-size:12px;font-weight:700;padding:2px 8px;border-radius:6px}.lp-mock__athlete-conf--green{background:#22c55e1f;color:var(--c-green)}.lp-mock__athlete-conf--orange{background:#f973161f;color:var(--c-orange)}.lp-mock__alert-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f973160f;border:1px solid rgba(249,115,22,.15);border-radius:8px;font-size:12px;color:var(--c-orange);font-weight:500}.lp-mock__alert-dot{width:6px;height:6px;border-radius:50%;background:var(--c-orange);flex-shrink:0}.lp-mock__conf-badge{font-family:var(--ff-display);font-size:12px;font-weight:700;color:var(--c-green);padding:3px 10px;background:#22c55e1a;border-radius:6px}.lp-mock__method-count{font-size:12px;color:var(--c-faint)}.lp-mock__calendar-mini{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.lp-mock__cal-week{display:flex;align-items:center;gap:10px}.lp-mock__cal-week-label{font-size:11px;font-weight:700;color:var(--c-faint);min-width:24px}.lp-mock__cal-days{display:flex;gap:6px;flex:1}.lp-mock__cal-dot{width:20px;height:20px;border-radius:5px;background:var(--c-bg)}.lp-mock__cal-dot--filled{background:#d26a3640;border:1px solid rgba(210,106,54,.4)}.lp-mock__cal-dot--recovery{background:#22c55e1f}.lp-mock__lib-list{display:flex;flex-direction:column;gap:8px}.lp-mock__lib-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--c-bg);border-radius:8px}.lp-mock__lib-name{font-weight:600;font-size:13px;color:var(--c-dark)}.lp-mock__lib-step{font-size:11px;font-weight:600;color:var(--c-accent);padding:2px 8px;background:#d26a3614;border-radius:4px}.lp-mock__chat{display:flex;flex-direction:column;gap:10px}.lp-mock__chat-q{align-self:flex-end;background:#d26a3614;border-radius:10px 10px 2px;padding:10px 14px;font-size:12px;color:var(--c-text);max-width:85%}.lp-mock__chat-a{align-self:flex-start;background:var(--c-bg);border-radius:10px 10px 10px 2px;padding:10px 14px;font-size:12px;color:var(--c-text);line-height:1.6;max-width:90%}.lp-mock__chat-cite{display:block;font-size:10px;color:var(--c-faint);margin-top:6px;font-style:italic}.lp-compare{max-width:680px;margin:0 auto;border:1px solid var(--c-border);border-radius:16px;overflow:hidden;background:var(--c-surface)}.lp-compare__head{display:grid;grid-template-columns:1fr 120px 120px;gap:0;padding:14px 20px;background:var(--c-bg);border-bottom:1px solid var(--c-border)}.lp-compare__head .lp-compare__feature{font-size:0}.lp-compare__head .lp-compare__col{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted);text-align:center}.lp-compare__head .lp-compare__col--pa{color:var(--c-accent)}.lp-compare__row{display:grid;grid-template-columns:1fr 120px 120px;gap:0;padding:12px 20px;border-bottom:1px solid var(--c-border);align-items:center}.lp-compare__row:last-child{border-bottom:none}.lp-compare__feature{font-size:13px;color:var(--c-text);font-weight:500}.lp-compare__col{display:flex;justify-content:center}.lp-compare__yes{width:20px;height:20px;border-radius:50%;background:var(--c-green);position:relative}.lp-compare__yes:after{content:"";position:absolute;top:5px;left:5px;width:6px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.lp-compare__no{width:20px;height:20px;border-radius:50%;background:#0e1e240f;position:relative}.lp-compare__no:before,.lp-compare__no:after{content:"";position:absolute;top:50%;left:50%;width:10px;height:2px;background:var(--c-faint);border-radius:1px}.lp-compare__no:before{transform:translate(-50%,-50%) rotate(45deg)}.lp-compare__no:after{transform:translate(-50%,-50%) rotate(-45deg)}.lp-compare__partial{width:20px;height:20px;border-radius:50%;background:#f9731626;position:relative}.lp-compare__partial:after{content:"";position:absolute;top:50%;left:50%;width:10px;height:2px;background:var(--c-orange);border-radius:1px;transform:translate(-50%,-50%)}.lp-compare__note{text-align:center;font-size:12px;color:var(--c-faint);margin-top:20px;font-style:italic;max-width:600px;margin-left:auto;margin-right:auto}@media(max-width:900px){.lp-hero__grid{grid-template-columns:1fr;padding-top:32px;gap:32px}.lp-hero__sub{max-width:100%}.lp-hero__proof{flex-wrap:wrap;gap:14px}.lp-nav__link{display:none}.lp-methods{grid-template-columns:1fr}.lp-split{grid-template-columns:1fr;gap:32px}.lp-split--reverse{direction:ltr}.lp-predictions{grid-template-columns:repeat(2,1fr)}.lp-duo{grid-template-columns:1fr}.lp-strip__grid{grid-template-columns:repeat(3,1fr);gap:16px}.lp-methods__footer{flex-direction:column;gap:16px}.ld-container{grid-template-columns:1fr}.ld-metrics{grid-template-columns:repeat(2,1fr)}.lp-portal__content{grid-template-columns:1fr}.lp-portal__tabs{gap:4px}.lp-portal__tab{min-width:80px;padding:10px 12px}.lp-compare__head,.lp-compare__row{grid-template-columns:1fr 80px 80px;padding:10px 14px}.lp-compare__feature{font-size:12px}}@media(max-width:540px){.lp-hero__acts{flex-direction:column;align-items:flex-start}.lp-hero__proof{flex-direction:column;gap:12px}.lp-hero__proof-sep{width:40px;height:1px}.lp-predictions{grid-template-columns:1fr 1fr}.lp-blocks-demo{grid-template-columns:1fr}.lp-strip__grid{grid-template-columns:repeat(2,1fr)}.lp-form{flex-direction:column}.lp-gap-demo__row{grid-template-columns:80px 1fr auto}.ld-metrics{grid-template-columns:1fr 1fr}.ld-save{flex-direction:column;text-align:center}.lp-portal__tab{min-width:68px;padding:8px 10px}.lp-portal__tab svg{width:24px;height:24px}.lp-portal__tab-title{font-size:10px}.lp-mock__week-grid{gap:3px}.lp-mock__row{flex-wrap:wrap}.lp-compare__head,.lp-compare__row{grid-template-columns:1fr 60px 60px;padding:8px 12px}.lp-compare__feature{font-size:11px}.lp-compare__yes,.lp-compare__no,.lp-compare__partial{width:16px;height:16px}}
