:root{--midnight:#112629;--midnight-soft:#1d3a3d;--primary:#0e918c;--primary-dark:#08736f;--accent:#ffbf59;--canvas:#f3f7f6;--surface:#fff;--success:#16856a;--text:#16282c;--muted:#66787c;--line:#dfe8e6;--warmup:#24b6c2;--active:#e45f54;--recovery:#2eaa78;--repeat:#ed9f35;--cooldown:#3188a0;--danger:#d74f59;--shadow:0 12px 38px #1e2a4312;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,Geist,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--text);background:var(--canvas);margin:0;font-size:14px}button,input,select{color:inherit;font:inherit}button,select{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{min-height:100vh}.sidebar{z-index:20;color:#dce3f1;background:var(--midnight);flex-direction:column;width:214px;padding:26px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand-mark{color:#fff;letter-spacing:.035em;align-items:center;gap:10px;height:38px;padding:0 9px;display:flex}.brand-mark>span{width:28px;height:28px;color:var(--midnight);background:var(--accent);border-radius:9px;place-items:center;font-size:14px;font-weight:900;display:grid}.brand-mark strong{gap:1px;font-size:13px;font-weight:850;display:grid}.brand-mark strong small{color:#7f8a9c;letter-spacing:.04em;font-size:8px;font-weight:700}.side-nav{gap:5px;margin-top:42px;display:grid}.side-nav button{color:#aeb8ca;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:11px 12px;font-weight:620;display:flex}.side-nav button:hover{color:#fff;background:#ffffff0f}.side-nav button.active{color:#fff;background:var(--midnight-soft);box-shadow:inset 3px 0 0 var(--accent)}.side-nav button.locked{color:#647083}.side-nav button.locked:hover{color:#8792a4;background:#ffffff06}.side-nav button.locked>svg:last-child{opacity:.72;margin-left:auto}.profile-chip{color:#fff;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff1a;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;margin-top:auto;padding:10px 8px;display:grid}.profile-chip>span:first-child{width:34px;height:34px;color:var(--midnight);background:var(--accent);border-radius:50%;place-items:center;font-size:11px;font-weight:850;display:grid}.profile-chip>span:nth-child(2){gap:2px;display:grid}.profile-chip strong{font-size:12px}.profile-chip small{color:#8f9cb2;font-size:10px}.profile-chip.guest>span:first-child{color:#fff;background:#ffbf5938;box-shadow:inset 0 0 0 1px #ffbf598c}.profile-chip:hover{background:#ffffff09}.mobile-nav,.mobile-profile-fab,.mobile-menu-trigger,.mobile-menu-layer{display:none}.app-main{min-width:0;min-height:100vh;margin-left:214px}.topbar{z-index:15;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:0 30px;display:flex;position:sticky;top:0}.breadcrumbs{min-width:0;color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.breadcrumbs strong{max-width:38vw;color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-actions{align-items:center;gap:6px;display:flex}.save-state{color:var(--muted);align-items:center;gap:5px;margin-right:6px;font-size:11px;display:inline-flex}.save-state.saved{color:var(--success)}.icon-button{border:1px solid var(--line);background:var(--surface);border-radius:9px;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.icon-button:hover:not(:disabled){background:#f8f9fb;border-color:#c9cfdb}.icon-button.subtle{width:29px;height:29px;color:var(--muted);background:0 0;border-color:#0000}.icon-button.subtle:hover{color:var(--text);background:#f1f3f7}.icon-button.subtle.danger:hover{color:var(--danger);background:#fff0f2}.editor-page{width:min(1520px,100%);margin:0 auto;padding:34px 32px 52px}.editor-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:26px;display:flex}.eyebrow,.micro-label{color:var(--primary);letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:820;display:block}.workout-name{width:min(670px,65vw);color:var(--midnight);letter-spacing:-.045em;background:0 0;border:0;outline:0;margin:7px 0 10px;padding:0;font-size:clamp(27px,3vw,38px);font-weight:830;display:block}.workout-name:focus{box-shadow:0 2px 0 var(--primary)}.workout-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px 18px;font-size:12px;display:flex}.workout-meta span{align-items:center;gap:6px;display:inline-flex}.workout-meta select{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:5px 26px 5px 8px;font-weight:680}.heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.button{white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-weight:720;display:inline-flex}.button.primary{color:#fff;border-color:var(--primary);background:var(--primary)}.button.primary:hover:not(:disabled){border-color:var(--primary-dark);background:var(--primary-dark)}.button.secondary{border-color:var(--line);background:var(--surface)}.button.secondary:hover{background:#fafbfc;border-color:#c6ccd8}.button.danger-outline{color:#a5283a;background:#fff7f8;border-color:#efc7ce}.button.danger-outline:hover:not(:disabled){background:#fff0f2;border-color:#df9eaa}.auth-connection-notice{z-index:50;color:#82590f;max-width:360px;box-shadow:var(--shadow);background:#fff8ec;border:1px solid #efd39d;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:10px;display:flex;position:fixed;bottom:18px;right:18px}.inline-error{color:#a5283a;background:#fff4f5;border:1px solid #f3c4cb;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:-8px 0 18px;padding:10px 13px;display:flex}.inline-error button{color:inherit;background:0 0;border:0;place-items:center;padding:2px;display:grid}.editor-layout{grid-template-columns:190px minmax(480px,1fr) 235px;align-items:start;gap:16px;display:grid}.palette-panel,.canvas-panel,.preview-panel,.chart-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:15px}.palette-panel,.preview-panel{padding:17px}.canvas-panel{min-width:0;padding:20px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading h2{color:var(--midnight);letter-spacing:-.025em;margin:4px 0 0;font-size:18px}.panel-copy{color:var(--muted);margin:10px 0 16px;font-size:11px;line-height:1.5}.palette-list{gap:7px;display:grid}.palette-item{border:1px solid var(--line);text-align:left;touch-action:none;background:#fff;border-radius:10px;grid-template-columns:4px 18px 1fr auto;align-items:center;gap:9px;width:100%;min-height:43px;padding:0 9px 0 0;font-size:11px;font-weight:680;display:grid;position:relative;overflow:hidden}.palette-item:hover{border-color:#c6ccd8;box-shadow:0 5px 18px #1e2a4312}.palette-plus{color:#a1a9b8}.step-color{background:var(--active);border-radius:3px;align-self:stretch;width:4px}.step-warmup .step-color{background:var(--warmup)}.step-active .step-color{background:var(--active)}.step-recovery .step-color{background:var(--recovery)}.step-repeat .step-color{background:var(--repeat)}.step-cooldown .step-color{background:var(--cooldown)}.threshold-card{background:#eff8f7;border:1px solid #cfe7e4;border-radius:11px;grid-template-columns:34px 1fr;align-items:center;gap:9px;margin-top:18px;padding:11px;display:grid}.threshold-icon{width:34px;height:34px;color:var(--primary);background:#dcefed;border-radius:9px;place-items:center;display:grid}.threshold-card>div:nth-child(2){gap:2px;display:grid}.threshold-card span{color:var(--muted);font-size:9px}.threshold-card strong{font-size:11px}.threshold-card input{background:#fff;border:1px solid #b9d9d5;border-radius:6px;outline:0;width:100%;min-width:0;padding:3px 5px;font-size:10px;font-weight:720}.threshold-card input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #0e918c1f}.threshold-card button{color:var(--primary);background:0 0;border:0;grid-column:2;justify-self:start;padding:0;font-size:10px;font-weight:700}.drag-hint{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:inline-flex}.step-list{gap:9px;margin-top:17px;display:grid}.step-card{border:1px solid var(--line);background:#fff;border-radius:11px;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative;overflow:hidden}.step-card:hover{border-color:#ccd2dd;box-shadow:0 7px 24px #1b263d0f}.step-card>.step-color{width:5px;position:absolute;inset:0 auto 0 0}.step-card.dragging{z-index:5;opacity:.35}.step-card-heading{grid-template-columns:26px 28px minmax(105px,1fr) auto auto;align-items:center;gap:7px;min-height:50px;padding:6px 8px 6px 11px;display:grid}.drag-handle{color:#a3abba;cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;width:25px;height:30px;padding:0;display:grid}.drag-handle:active{cursor:grabbing}.step-icon{width:28px;height:28px;color:var(--active);background:#fcebea;border-radius:8px;place-items:center;display:grid}.step-warmup .step-icon{color:#179c9b;background:#e8fafa}.step-recovery .step-icon{color:#118363;background:#e7f7f1}.step-repeat .step-icon{color:#bb7403;background:#fff5df}.step-cooldown .step-icon{color:#24758c;background:#e6f3f6}.step-title-input,.child-title{background:0 0;border:1px solid #0000;border-radius:7px;outline:0;min-width:0;padding:5px 6px;font-size:12px;font-weight:760}.step-title-input:hover,.step-title-input:focus,.child-title:hover,.child-title:focus{border-color:var(--line);background:#fafbfc}.step-summary{color:var(--muted);white-space:nowrap;font-size:10px}.step-actions{align-items:center;display:flex}.step-fields{grid-template-columns:1.1fr .8fr 1fr 1.25fr;gap:9px;padding:0 12px 12px 74px;display:grid}.compact-field{gap:4px;min-width:0;display:grid}.compact-field>span:first-child{color:var(--muted);font-size:9px;font-style:normal;font-weight:650}.compact-field select,.compact-field input{border:1px solid var(--line);background:#fafbfc;border-radius:7px;outline:0;width:100%;min-width:0;height:31px;padding:0 7px;font-size:10px;font-weight:620}.compact-field select:focus,.compact-field input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #0e918c24}.input-with-suffix{display:block;position:relative}.input-with-suffix input{appearance:textfield;padding-right:20px}.input-with-suffix input::-webkit-inner-spin-button{appearance:none;margin:0}.input-with-suffix input::-webkit-outer-spin-button{appearance:none;margin:0}.input-with-suffix em{color:var(--muted);font-size:9px;font-style:normal;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.intensity-pair{grid-template-columns:1fr 1fr;gap:6px;min-width:0;display:grid}.repeat-content{grid-template-columns:96px 1fr;gap:10px;padding:0 12px 12px 74px;display:grid}.repeat-count{background:#fffaf0;border:1px solid #f2dfb9;border-radius:8px;padding:8px}.repeat-children{border-left:2px solid #f2c76f;gap:6px;padding-left:10px;display:grid}.child-step{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:4px 20px minmax(75px,1fr) 70px 126px 28px;align-items:center;gap:6px;min-width:0;padding:6px 5px 6px 0;display:grid;position:relative;overflow:hidden}.child-step .compact-field>span:first-child{display:none}.child-open-target{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.repeat-add-row{gap:6px;display:flex}.repeat-add-row button{color:var(--muted);background:#fafbfc;border:1px dashed #cdd3de;border-radius:7px;align-items:center;gap:4px;padding:5px 8px;font-size:9px;font-weight:680;display:inline-flex}.empty-workout{min-height:220px;color:var(--muted);text-align:center;border:1px dashed #cbd1dc;border-radius:11px;align-content:center;place-items:center;gap:7px;display:grid}.empty-workout strong{color:var(--text)}.summary-hero{background:radial-gradient(circle at 80% 15%,#ffbf5947,#0000 38%),#edf8f6;border-radius:12px;place-items:center;margin-top:16px;padding:20px 10px;display:grid}.sport-badge{color:#0a716d;background:#d9f1ef;border-radius:99px;padding:4px 8px;font-size:9px;font-weight:760}.sport-running{color:#9b6209;background:#fff0cf}.sport-swimming{color:#09767b;background:#dff8f8}.summary-hero strong{color:var(--midnight);letter-spacing:-.04em;margin-top:10px;font-size:30px}.summary-hero>span:last-child{color:var(--muted);font-size:9px}.stress-summary{background:#f4faf9;border:1px solid #cfe7e4;border-radius:10px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:10px;padding:9px 10px;display:grid}.stress-summary-icon{width:32px;height:32px;color:var(--primary);background:#dcefed;border-radius:9px;place-items:center;display:grid}.stress-summary>span:nth-child(2){gap:1px;min-width:0;display:grid}.stress-summary small{color:var(--muted);font-size:8px}.stress-summary>span:nth-child(2)>strong{color:var(--midnight);letter-spacing:-.03em;font-size:19px}.stress-summary strong em{color:var(--primary);letter-spacing:0;margin-left:4px;font-size:9px;font-style:normal}.stress-summary>small:last-child{text-align:right;max-width:62px;line-height:1.25}.summary-list{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:14px 0 0;padding:12px 0;display:grid}.summary-list div{border-right:1px solid var(--line);justify-items:center;gap:4px;display:grid}.summary-list div:last-child{border-right:0}.summary-list dt{color:var(--muted);font-size:8px}.summary-list dd{margin:0;font-size:11px;font-weight:780}.week-card{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding:10px;display:flex}.week-card>div{align-items:center;gap:8px;display:flex}.week-card>div>span{color:var(--muted);gap:2px;font-size:9px;display:grid}.week-card strong{color:var(--text);font-size:10px}.week-card button{color:var(--primary);background:0 0;border:0;padding:0;font-size:9px;font-weight:700}.prototype-note{color:var(--muted);margin:11px 0 0;font-size:9px;line-height:1.45}.chart-card{margin-top:16px;padding:17px 20px 12px}.chart-heading{justify-content:space-between;align-items:center;display:flex}.chart-heading>div{gap:3px;display:grid}.chart-heading strong{font-size:12px}.chart-legend{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:inline-flex}.chart-legend i{background:var(--primary);border-radius:50%;width:7px;height:7px}.chart-card svg{width:100%;height:160px;margin-top:6px;overflow:visible}.chart-grid{stroke:#e7eaf0;stroke-dasharray:3 5;stroke-width:1px}.chart-label{fill:#9aa3b3;font-size:9px}.chart-line{fill:none;stroke:var(--primary);stroke-linejoin:round;stroke-width:3px}.calendar-page{width:min(1600px,100%);margin:0 auto;padding:34px 30px 52px}.calendar-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.calendar-heading h1{color:var(--midnight);letter-spacing:-.045em;margin:7px 0 5px;font-size:clamp(29px,3vw,40px)}.calendar-heading p{color:var(--muted);margin:0;font-size:12px}.calendar-controls{justify-items:end;gap:10px;display:grid}.calendar-view-switcher{border:1px solid var(--line);background:#edf3f2;border-radius:11px;grid-template-columns:repeat(4,minmax(62px,1fr));gap:3px;padding:4px;display:inline-grid}.calendar-view-switcher button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:6px 11px;font-size:10px;font-weight:760;transition:color .14s,background .14s,box-shadow .14s}.calendar-view-switcher button:hover{color:var(--midnight);background:#ffffffa3}.calendar-view-switcher button.active{color:#fff;background:var(--primary);box-shadow:0 4px 11px #0d8f8933}.calendar-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.calendar-actions>.button:not(.calendar-today){padding-inline:11px}.calendar-week-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px;display:flex}.calendar-week-title>div{align-items:center;gap:9px;display:flex}.calendar-week-title strong{color:var(--midnight);font-size:15px}.calendar-week-title>span{color:var(--muted);font-size:11px;font-weight:680}.calendar-notice{color:#11775b;background:#effaf6;border:1px solid #bfe8d9;border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:9px 12px;font-size:11px;font-weight:650;display:flex}.calendar-notice button{color:inherit;background:0 0;border:0;margin-left:auto;padding:0 3px;font-size:18px}.calendar-layout{grid-template-columns:228px minmax(0,1fr);align-items:start;gap:14px;display:grid}.calendar-layout-year{grid-template-columns:1fr}.calendar-layout-with-summary.summary-expanded{grid-template-columns:228px minmax(0,1fr) 258px}.calendar-layout-with-summary.summary-collapsed{grid-template-columns:228px minmax(0,1fr) 46px}.calendar-week-summary{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:15px;padding:16px}.calendar-week-summary>header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.calendar-week-summary h2{color:var(--midnight);margin:5px 0 0;font-size:16px}.calendar-week-summary>header>button{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);background:#fff;border-radius:8px;place-items:center;padding:0;display:grid}.calendar-week-summary.collapsed{height:160px;padding:8px}.calendar-week-summary.collapsed>button{width:100%;height:100%;color:var(--primary);writing-mode:vertical-rl;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:8px;padding:0;display:flex}.calendar-week-summary.collapsed>button span{letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:780}.week-summary-totals{gap:8px;margin-top:15px;display:grid}.week-summary-total{border:1px solid var(--line);background:#f8faf9;border-radius:11px;gap:5px;padding:11px;display:grid}.week-summary-total>span{color:var(--muted);align-items:center;gap:5px;font-size:8.5px;font-weight:720;display:flex}.week-summary-total>span svg{color:var(--primary)}.week-summary-total strong{color:var(--midnight);font-size:15px}.week-summary-total strong small{color:var(--muted);font-size:9px;font-weight:650}.week-summary-total>i{background:#dfe9e7;border-radius:999px;height:5px;overflow:hidden}.week-summary-total>i>b{border-radius:inherit;background:var(--primary);height:100%;display:block}.week-summary-total em{color:var(--muted);font-size:7.5px;font-style:normal}.week-summary-sports{gap:7px;margin-top:12px;display:grid}.week-summary-sport{--sport-color:var(--primary);border:1px solid var(--line);border-radius:10px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;display:grid}.week-summary-sport .calendar-workout-icon{width:28px;height:28px}.week-summary-sport>div{gap:2px;min-width:0;display:grid}.week-summary-sport>div:last-child{justify-items:end}.week-summary-sport strong{color:var(--midnight);font-size:9px}.week-summary-sport small{color:var(--muted);font-size:7px}.week-summary-sport div span{color:var(--midnight);white-space:nowrap;font-size:8px;font-weight:720}.week-summary-note{color:var(--muted);margin:11px 1px 0;font-size:7.5px;line-height:1.45}.calendar-library,.calendar-board{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:15px}.calendar-library{padding:17px}.calendar-library .panel-heading>svg{color:var(--primary)}.calendar-library-list{gap:8px;display:grid}.calendar-library-card{--sport-color:var(--primary);border:1px solid var(--line);border-left:4px solid var(--sport-color);text-align:left;touch-action:none;background:#fff;border-radius:10px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:62px;padding:8px;display:grid}.calendar-library-card:hover{border-color:#c8ced9;box-shadow:0 7px 20px #1b263d12}.calendar-library-card>span:nth-child(2),.calendar-drag-overlay>span:nth-child(2){gap:3px;min-width:0;display:grid}.calendar-library-card strong,.calendar-drag-overlay strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.calendar-library-card small,.calendar-drag-overlay small{color:var(--muted);font-size:9px}.calendar-library-card>svg{color:#a2aaba}.calendar-workout-icon{width:30px;height:30px;color:var(--sport-color);background:color-mix(in srgb, var(--sport-color) 11%, white);border-radius:8px;place-items:center;display:grid}.sport-card-cycling{--sport-color:#0e918c}.sport-card-running{--sport-color:#e47a2e}.sport-card-swimming{--sport-color:#238fa8}.sport-card-strength{--sport-color:#d19a2d}.sport-card-mobility{--sport-color:#5c8c72}.calendar-edit-workout{border:0;border-top:1px solid var(--line);width:100%;color:var(--primary);background:0 0;justify-content:space-between;align-items:center;margin-top:14px;padding:10px 2px 2px;font-size:10px;font-weight:720;display:flex}.calendar-board{min-width:0;padding:8px;overflow-x:auto}.calendar-week-grid{grid-template-columns:repeat(7,minmax(132px,1fr));min-width:980px;display:grid}.calendar-day{border-right:1px solid var(--line);min-width:0}.calendar-day:last-child{border-right:0}.calendar-day>header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-content:center;gap:3px 8px;min-height:58px;padding:8px 10px;display:grid}.calendar-day>header>span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:750}.calendar-day>header>strong{color:var(--midnight);grid-area:1/2/span 2;align-self:center;font-size:13px}.calendar-day>header>small{color:var(--primary);font-size:8px;font-weight:760}.calendar-day.today>header{background:#e8f6f4}.calendar-day.today>header>strong{color:#fff;background:var(--primary);border-radius:7px;padding:4px 6px}.calendar-day-dropzone{background-image:repeating-linear-gradient(#0000 0 53px,#f0f2f6 54px);flex-direction:column;gap:8px;min-height:438px;padding:8px;transition:background-color .12s,box-shadow .12s;display:flex}.calendar-day-dropzone.is-over{box-shadow:inset 0 0 0 2px var(--accent);background-color:#ffbf5926}.calendar-empty-day{color:#a0a9b8;border:1px dashed #d6dbe4;border-radius:9px;align-content:center;place-items:center;gap:4px;min-height:64px;font-size:9px;display:grid}.calendar-day-dropzone.is-over .calendar-empty-day{color:#59751e;background:#ffffffad;border-color:#9dce3e}.calendar-day-view{min-width:520px}.calendar-day-day{border-right:0}.calendar-day-day>header{min-height:68px;padding-inline:16px}.calendar-day-day>header>span{font-size:11px}.calendar-day-day>header>strong{font-size:16px}.calendar-day-day .calendar-day-dropzone{min-height:520px;padding:14px}.calendar-day-day .scheduled-workout{width:min(520px,100%)}.calendar-month-view{min-width:920px}.calendar-month-weekdays,.calendar-month-grid{grid-template-columns:repeat(7,minmax(124px,1fr));display:grid}.calendar-month-weekdays{border-bottom:1px solid var(--line)}.calendar-month-weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;padding:11px 10px;font-size:9px;font-weight:780}.calendar-month-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-width:0;min-height:126px;padding:8px;transition:background-color .12s,box-shadow .12s}.calendar-month-day:nth-child(7n){border-right:0}.calendar-month-day:nth-last-child(-n+7){border-bottom:0}.calendar-month-day.outside{background:#fafbfc}.calendar-month-day.is-over{box-shadow:inset 0 0 0 2px var(--accent);background:#ffbf5924}.calendar-month-date{min-height:25px;color:var(--midnight);background:0 0;border:0;align-items:center;gap:6px;padding:2px;font-size:10px;font-weight:780;display:inline-flex}.calendar-month-date:hover{color:var(--primary)}.calendar-month-date small{color:var(--primary);font-size:8px}.calendar-month-day.today .calendar-month-date>span{color:#fff;background:var(--primary);border-radius:7px;place-items:center;width:23px;height:23px;display:grid}.calendar-month-day.outside .calendar-month-date{color:#adb5c2}.calendar-month-entries{gap:4px;margin-top:4px;display:grid}.calendar-month-workout{--sport-color:var(--primary);border:0;border-left:3px solid var(--sport-color);min-width:0;color:var(--midnight);background:color-mix(in srgb, var(--sport-color) 9%, white);text-align:left;touch-action:none;border-radius:6px;grid-template-columns:13px 30px minmax(0,1fr);align-items:center;gap:3px;padding:5px 6px;display:grid}.calendar-month-workout>svg{color:var(--sport-color)}.calendar-month-workout>span{color:var(--muted);font-size:8px}.calendar-month-workout>strong{text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:720;overflow:hidden}.calendar-month-workout.dragging{opacity:0}.calendar-month-empty{color:#b2bac6;opacity:0;border:1px dashed #0000;border-radius:7px;justify-content:center;align-items:center;gap:4px;min-height:44px;font-size:8px;transition:opacity .12s;display:flex}.calendar-month-day:hover .calendar-month-empty,.calendar-month-day.is-over .calendar-month-empty{opacity:1}.calendar-month-more{color:var(--primary);padding:2px 5px;font-size:8px;font-weight:720}.calendar-year-grid{grid-template-columns:repeat(3,minmax(250px,1fr));gap:10px;min-width:930px;padding:4px;display:grid}.calendar-year-month{border:1px solid var(--line);background:#fff;border-radius:11px;min-width:0;padding:12px}.calendar-year-month-heading{width:100%;color:var(--midnight);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:8px;padding:0 2px 9px;display:flex}.calendar-year-month-heading:hover strong{color:var(--primary)}.calendar-year-month-heading strong{text-transform:capitalize;font-size:12px}.calendar-year-month-heading span{color:var(--muted);font-size:8px;font-weight:650}.calendar-year-weekdays,.calendar-year-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-year-weekdays span{color:#a2abb8;text-align:center;padding:2px;font-size:7px;font-weight:780}.calendar-year-days>button,.calendar-year-days>span{aspect-ratio:1.18;min-width:0;position:relative}.calendar-year-days>button{color:#52606e;background:0 0;border:0;border-radius:5px;place-items:center;padding:0;font-size:8px;display:grid}.calendar-year-days>button:hover{color:var(--midnight);background:#edf5f4}.calendar-year-days>button.today{color:#fff;background:var(--primary);font-weight:780}.calendar-year-days>button.has-workout:not(.today){color:var(--midnight);background:#e8f6f4;font-weight:720}.calendar-year-days>button i{background:var(--accent);border-radius:50%;width:3px;height:3px;position:absolute;bottom:2px;right:3px}.scheduled-workout{z-index:1;background:#fbfcfc;border:1px solid #d8dee2;border-left:4px solid #c8d0d5;border-radius:9px;padding:8px;position:relative;overflow:hidden;box-shadow:0 5px 14px #1c273e12}.scheduled-workout-heading{grid-template-columns:16px 25px minmax(0,1fr) 20px;align-items:center;gap:5px;display:grid}.calendar-drag-handle,.scheduled-delete,.scheduled-workout-name{background:0 0;border:0;padding:0}.calendar-drag-handle{color:#a4acba;touch-action:none;place-items:center;display:grid}.scheduled-workout .calendar-workout-icon{border-radius:7px;width:25px;height:25px}.scheduled-workout-name{text-align:left;-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-column:1/-1;margin-top:3px;font-size:10.5px;font-weight:760;line-height:1.3;display:-webkit-box;overflow:hidden}.scheduled-workout-sport{min-width:0;color:var(--sport-color);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:7.5px;font-weight:780;display:block;overflow:hidden}.scheduled-workout-name:hover{color:var(--primary)}.scheduled-delete{color:#a1a9b8;place-items:center;display:grid}.scheduled-delete:hover{color:var(--danger)}.scheduled-workout-meta{color:var(--muted);border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:6px;margin-top:7px;padding-top:6px;font-size:9px;display:flex}.scheduled-workout-meta label{align-items:center;gap:3px;display:flex}.scheduled-workout-meta input{width:46px;color:var(--muted);background:0 0;border:0;outline:0;padding:0;font-size:9px}.scheduled-workout.linked{--match-color:#c78b25;border-color:color-mix(in srgb, var(--match-color) 55%, #d8dee2);border-left-color:var(--match-color);background:color-mix(in srgb, var(--match-color) 8%, white)}.scheduled-workout.missed{background:#fff0ed;border-color:#dc8f82 #dc8f82 #dc8f82 #c94f3d;box-shadow:0 5px 14px #a0382717}.scheduled-workout.missed .scheduled-workout-sport,.scheduled-workout.missed .scheduled-workout-meta{color:#b84736}.scheduled-workout.match-good{--match-color:#299264}.scheduled-workout.match-close{--match-color:#d19a2d}.scheduled-workout.match-low{--match-color:#cf694e}.scheduled-match{min-width:0;color:var(--match-color);align-items:center;gap:3px;font-size:8px;font-weight:760;display:flex}.scheduled-match>button{width:19px;height:19px;color:var(--muted);background:#ffffffb3;border:0;border-radius:5px;place-items:center;margin-left:2px;padding:0;display:grid}.workout-details-dialog{--sport-color:var(--primary);border:1px solid #fffc;border-top:5px solid var(--sport-color);background:#fff;border-radius:22px;width:min(610px,100%);max-height:calc(100dvh - 44px);padding:28px;position:relative;overflow-y:auto;box-shadow:0 30px 80px #08191c4d}.workout-details-heading{grid-template-columns:54px minmax(0,1fr);align-items:start;gap:15px;padding-right:40px;display:grid}.workout-details-icon{width:54px;height:54px;color:var(--sport-color);background:color-mix(in srgb, var(--sport-color) 11%, white);border-radius:15px;place-items:center;display:grid}.workout-details-heading h2{color:var(--midnight);letter-spacing:-.04em;margin:5px 0 4px;font-size:clamp(22px,4vw,30px);line-height:1.08}.workout-details-heading p,.workout-details-section p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.workout-details-metrics{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:24px;display:grid}.workout-details-metrics>div{border:1px solid var(--line);min-width:0;color:var(--sport-color);background:#f8faf9;border-radius:12px;align-items:center;gap:9px;padding:13px;display:flex}.workout-details-metrics span{gap:2px;min-width:0;display:grid}.workout-details-metrics small{color:var(--muted);font-size:8px}.workout-details-metrics strong{color:var(--midnight);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.workout-details-section{background:color-mix(in srgb, var(--sport-color) 6%, white);border-radius:14px;margin-top:18px;padding:18px}.workout-details-section h3{color:var(--midnight);margin:5px 0 6px;font-size:15px}.workout-detail-chip{color:var(--sport-color);background:#fff;border-radius:999px;margin:12px 5px 0 0;padding:5px 8px;font-size:9px;font-weight:750;display:inline-flex}.workout-details-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.workout-details-structure{margin-top:22px}.workout-details-structure>div:first-child h3{color:var(--midnight);margin:5px 0 0;font-size:15px}.workout-details-empty-structure{border:1px dashed var(--line);color:var(--muted);background:#f8faf9;border-radius:12px;margin:10px 0 0;padding:14px;font-size:10px}.workout-structure-preview{gap:12px;margin-top:10px;display:grid}.workout-structure-chart{border:1px solid var(--line);box-shadow:none;border-radius:13px;margin-top:0;padding:14px 15px 8px}.workout-structure-chart svg{height:125px}.workout-structure-list{gap:7px;display:grid}.workout-structure-step{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:5px minmax(0,1fr);gap:10px;padding:11px 12px 11px 0;display:grid;overflow:hidden}.workout-structure-step .step-color{border-radius:0 5px 5px 0;width:5px;height:100%;min-height:34px}.workout-structure-step>div{gap:3px;min-width:0;display:grid}.workout-structure-step strong{color:var(--midnight);font-size:10.5px}.workout-structure-step small{color:var(--muted);font-size:9px}.workout-structure-step p{color:var(--muted);margin:3px 0 0;font-size:9px;line-height:1.45}.workout-structure-children{color:var(--primary);flex-wrap:wrap;align-items:center;gap:5px;margin-top:5px;display:flex}.workout-structure-children span{color:var(--midnight);background:#f3f7f6;border-radius:7px;padding:5px 7px;font-size:8.5px}@media (max-width:620px){.workout-details-backdrop{align-items:end;padding:0}.workout-details-dialog{border-radius:22px 22px 0 0;width:100%;max-height:88dvh;padding:22px 18px}.workout-details-metrics{grid-template-columns:1fr}}.completed-garmin-activity{--sport-color:var(--primary);min-width:0;color:var(--midnight);text-align:left;background:#e1f5e9;border:1px solid #65b58b;border-left:4px solid #23865b;border-radius:9px;padding:0;display:block;position:relative}.completed-garmin-open{width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px;display:grid}.completed-garmin-activity:hover{border-color:#23865b;box-shadow:0 5px 14px #1c273e12}.completed-garmin-activity.link-target{outline:3px solid color-mix(in srgb, var(--accent) 72%, white);outline-offset:2px;transform:translateY(-1px)}.completed-garmin-activity.match-good,.completed-garmin-activity.match-close,.completed-garmin-activity.match-low{border-color:#65b58b #65b58b #65b58b #23865b}.completed-garmin-activity .calendar-workout-icon{color:#fff;background:#23865b;border-radius:7px;width:25px;height:25px}.completed-garmin-open>span:nth-child(2){gap:3px;min-width:0;display:grid}.completed-garmin-activity strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:760;overflow:hidden}.completed-garmin-open>span:nth-child(2) small,.completed-garmin-open>small{color:#237451;align-items:center;gap:3px;font-size:8px;font-weight:700;display:flex}.completed-garmin-activity .calendar-match-label{color:#176342;background:#ffffffad;border-radius:999px;width:fit-content;padding:3px 5px;font-weight:800}.completed-garmin-activity.match-close .calendar-match-label{color:#926313;background:#fff5d9}.completed-garmin-activity.match-low .calendar-match-label{color:#a73f30;background:#ffe5df}.completed-garmin-open>small{color:var(--muted);font-weight:650}.completed-garmin-activity .garmin-actual-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.completed-garmin-unlink{color:var(--muted);background:#ffffffa8;border:0;border-radius:6px;align-items:center;gap:4px;margin:-3px 8px 8px auto;padding:4px 6px;font-size:7.5px;font-weight:720;display:flex}.completed-garmin-unlink:hover{color:var(--danger);background:#fff}.completed-garmin-activity.compact{border:0;border-left:3px solid var(--sport-color);border-radius:6px;padding:0}.completed-garmin-activity.compact .completed-garmin-open{grid-template-columns:13px minmax(0,1fr);gap:3px;padding:5px 6px}.completed-garmin-activity.compact .calendar-workout-icon{color:#23865b;background:0 0;width:13px;height:13px}.completed-garmin-activity.compact strong{font-size:8px}.completed-garmin-activity.compact .completed-garmin-open>span:nth-child(2) small{display:none}.garmin-activity-dialog{width:min(760px,100%)}.garmin-activity-dialog-heading{align-items:flex-start;gap:13px;padding-right:38px;display:flex}.garmin-activity-dialog-heading .garmin-connect-icon{flex:none;width:44px;height:44px;margin:0}.garmin-activity-dialog-heading h2{margin:5px 0 4px}.garmin-activity-dialog-heading p{color:var(--muted);margin:0;font-size:11px}.garmin-activity-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:22px;display:grid}.garmin-activity-metrics>span{border:1px solid var(--line);background:#f8fbfb;border-radius:11px;gap:4px;min-width:0;padding:11px;display:grid}.garmin-activity-metrics svg{color:var(--primary)}.garmin-activity-metrics small,.garmin-activity-secondary-metrics{color:var(--muted);font-size:9px}.garmin-activity-metrics strong{color:var(--midnight);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.garmin-activity-secondary-metrics{flex-wrap:wrap;gap:8px 16px;margin-top:12px;display:flex}.garmin-activity-secondary-metrics span{gap:4px;display:flex}.garmin-activity-secondary-metrics strong{color:var(--midnight)}.garmin-activity-detail-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.garmin-performance-summary{border:1px solid var(--line);background:#fbfcfc;border-radius:12px;margin-top:18px;overflow:hidden}.garmin-performance-summary>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.garmin-performance-summary>header span,.garmin-power-bests>div:first-child{color:var(--midnight);align-items:center;gap:7px;font-size:11px;font-weight:760;display:flex}.garmin-performance-summary>header svg,.garmin-power-bests>div:first-child>svg{color:var(--primary)}.garmin-performance-summary>header>small,.garmin-power-bests small,.garmin-performance-facts small{color:var(--muted);font-size:8px}.garmin-performance-facts{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));display:grid}.garmin-performance-facts>span{border-right:1px solid var(--line);gap:4px;min-width:0;padding:11px 12px;display:grid}.garmin-performance-facts>span:last-child{border-right:0}.garmin-performance-facts strong,.garmin-power-bests strong{color:var(--midnight);font-size:11px}.garmin-power-bests{border-top:1px solid var(--line);background:#0e918c09;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:12px;padding:11px 12px;display:grid}.garmin-power-bests>div:first-child span{gap:2px;display:grid}.garmin-power-bests>div:last-child{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.garmin-power-bests>div:last-child>span{background:#fff;border:1px solid #0e918c21;border-radius:8px;gap:2px;min-width:0;padding:7px 8px;display:grid}@media (max-width:680px){.garmin-performance-summary>header{flex-direction:column;align-items:flex-start;gap:3px}.garmin-performance-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.garmin-performance-facts>span:nth-child(2n){border-right:0}.garmin-performance-facts>span:nth-child(n+3){border-top:1px solid var(--line)}.garmin-power-bests{grid-template-columns:1fr}.garmin-power-bests>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr))}}.garmin-activity-detail-actions small,.garmin-activity-loading,.garmin-activity-empty{color:var(--muted);margin:0;font-size:10px}.garmin-activity-loading{align-items:center;gap:6px;margin-top:14px;display:flex}.garmin-activity-profile{border:1px solid var(--line);background:#fbfcfc;border-radius:12px;margin-top:19px;padding:13px}.garmin-route-map{border:1px solid var(--line);background:#f7fbfa;border-radius:12px;margin-top:19px;overflow:hidden}.garmin-route-map>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.garmin-route-map>header span{color:var(--midnight);align-items:center;gap:6px;font-size:11px;font-weight:760;display:flex}.garmin-route-map>header svg{color:var(--primary)}.garmin-route-map>header small{color:var(--muted);font-size:9px}.garmin-route-map-canvas{aspect-ratio:640/300;position:relative;overflow:hidden}.garmin-route-map-canvas svg{width:100%;height:100%;display:block}.garmin-route-shadow,.garmin-route-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.garmin-route-shadow{stroke:#ffffffdb;stroke-width:8px}.garmin-route-line{stroke:var(--primary);stroke-width:4px}.garmin-route-start,.garmin-route-finish{stroke:#fff;stroke-width:2px}.garmin-route-start{fill:#4b9d62}.garmin-route-finish{fill:#df6638}.garmin-route-map-canvas a{color:#36494a;background:#ffffffdb;border-radius:4px;padding:2px 4px;font-size:7px;text-decoration:none;position:absolute;bottom:4px;right:5px}.garmin-activity-profile-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.garmin-activity-profile-heading>span{gap:2px;display:grid}.garmin-activity-profile-heading em{color:var(--primary);background:#0e918c17;border-radius:999px;padding:3px 7px;font-size:8px;font-style:normal;font-weight:780}.garmin-activity-profile strong{color:var(--midnight);font-size:11px}.elevation-profile strong{align-items:center;gap:6px;display:flex}.elevation-profile strong svg{width:15px;height:15px;color:var(--primary);margin:0}.garmin-activity-profile small{color:var(--muted);font-size:9px}.garmin-activity-profile svg{aspect-ratio:320/145;width:100%;height:auto;margin-top:6px;overflow:visible}.garmin-activity-chart-grid{fill:none;stroke:#e4ebeb;stroke-dasharray:3 4}.garmin-activity-chart-line{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.garmin-activity-chart-label{fill:#748486;font-size:8px;font-weight:650}.garmin-activity-chart-point{fill:#fff;stroke:var(--primary);stroke-width:1.8px}.garmin-elevation-chart-area{fill:#0e918c1f;stroke:none}.garmin-activity-splits{margin-top:19px}.garmin-activity-splits h3{color:var(--midnight);margin:0 0 9px;font-size:13px}.garmin-activity-split-table{border:1px solid var(--line);border-radius:11px;overflow-x:auto}.garmin-activity-split-head,.garmin-activity-split-row{grid-template-columns:52px repeat(5,minmax(82px,1fr));align-items:center;gap:6px;min-width:570px;padding:9px 11px;display:grid}.garmin-activity-split-head{color:var(--muted);text-transform:uppercase;background:#f5f8f8;font-size:8px;font-weight:780}.garmin-activity-split-row{border-top:1px solid var(--line);color:var(--midnight);font-size:10px}.garmin-activity-empty{margin-top:17px}.calendar-drag-overlay{border:1px solid #c8ceda;border-left:4px solid var(--sport-color);background:#fff;border-radius:10px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;width:210px;min-height:58px;padding:8px;display:grid;box-shadow:0 15px 40px #1720332e}.plans-page{width:min(1600px,100%);margin:0 auto;padding:34px 30px 56px}.plans-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.plans-heading h1{color:var(--midnight);letter-spacing:-.045em;margin:7px 0 5px;font-size:clamp(29px,3vw,40px)}.plans-heading p{color:var(--muted);margin:0;font-size:12px}.plans-heading-stat{border:1px solid var(--line);min-width:150px;color:var(--primary);background:var(--surface);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.plans-heading-stat>span{color:var(--muted);font-size:9px;display:grid}.plans-heading-stat strong{color:var(--midnight);font-size:17px}.plan-cycling{--plan-color:#0e918c}.plan-running{--plan-color:#e47a2e}.plan-swimming{--plan-color:#238fa8}.plan-triathlon{--plan-color:#e25e68}.active-plan-banner{border:1px solid color-mix(in srgb, var(--plan-color) 24%, var(--line));border-left:4px solid var(--plan-color);background:color-mix(in srgb, var(--plan-color) 4%, white);border-radius:12px;grid-template-columns:38px minmax(180px,1fr) minmax(180px,1.6fr) auto;align-items:center;gap:12px;margin-bottom:15px;padding:12px 14px;display:grid}.active-plan-banner>span:nth-child(2){gap:2px;display:grid}.active-plan-banner>span:nth-child(2) small{color:var(--plan-color);text-transform:uppercase;font-size:9px;font-weight:780}.active-plan-banner>span:nth-child(2) strong{font-size:12px}.active-plan-progress{color:var(--muted);grid-template-columns:minmax(60px,1fr);gap:5px;font-size:9px;display:grid}.active-plan-progress i{background:#e1e5ec;border-radius:99px;height:4px;overflow:hidden}.active-plan-progress i:after{border-radius:inherit;background:var(--plan-color);content:"";width:8.33%;height:100%;display:block}.plan-filters{gap:7px;margin-bottom:14px;display:flex}.plan-filters button{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:9px;align-items:center;gap:7px;padding:8px 10px;font-size:10px;font-weight:720;display:inline-flex}.plan-filters button span{color:#808b9e;background:#f0f2f6;border-radius:99px;min-width:19px;padding:2px 5px;font-size:8px}.plan-filters button.active{color:#fff;border-color:var(--primary);background:var(--primary)}.plan-filters button.active span{color:#fff;background:#ffffff2e}.plans-layout{grid-template-columns:minmax(0,1fr) 370px;align-items:start;gap:14px;display:grid}.plan-library-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.plan-template-card{border:1px solid var(--line);border-top:4px solid var(--plan-color);background:var(--surface);text-align:left;border-radius:13px;flex-direction:column;align-items:stretch;min-height:208px;padding:14px;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex;box-shadow:0 8px 24px #1e2a430b}.plan-template-card:hover{border-color:color-mix(in srgb, var(--plan-color) 36%, var(--line));transform:translateY(-2px);box-shadow:0 13px 30px #1e2a4317}.plan-template-card.selected{border-color:color-mix(in srgb, var(--plan-color) 54%, var(--line));box-shadow:0 0 0 2px color-mix(in srgb, var(--plan-color) 13%, transparent), 0 13px 30px #1e2a4314}.plan-card-heading{grid-template-columns:34px 1fr auto;align-items:center;gap:8px;margin-bottom:12px;display:grid}.plan-discipline-icon{width:34px;height:34px;color:var(--plan-color);background:color-mix(in srgb, var(--plan-color) 10%, white);border-radius:9px;place-items:center;display:grid}.plan-card-tags{align-items:center;gap:5px;display:flex}.plan-card-tags>small{color:var(--plan-color);background:color-mix(in srgb, var(--plan-color) 9%, white);border-radius:99px;padding:3px 6px;font-size:8px;font-weight:780}.plan-card-tags .active-plan-tag{color:#11775b;background:#e8f8f2;align-items:center;gap:2px;display:inline-flex}.plan-card-heading>svg{color:#a3abba}.plan-template-card>strong{color:var(--midnight);letter-spacing:-.02em;margin-bottom:7px;font-size:15px}.plan-template-card>span{min-height:44px;color:var(--muted);font-size:10px;line-height:1.45}.plan-template-card .plan-validation-label{color:#33786f;align-items:center;gap:4px;min-height:0;margin:8px 0 10px;font-size:7px;line-height:1.35;display:flex}.plan-template-card dl{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:auto 0 0;padding-top:12px;display:grid}.plan-template-card dl div{border-right:1px solid var(--line);gap:3px;padding:0 7px;display:grid}.plan-template-card dl div:first-child{padding-left:0}.plan-template-card dl div:last-child{border-right:0;padding-right:0}.plan-template-card dt{color:var(--muted);font-size:8px}.plan-template-card dd{color:var(--midnight);margin:0;font-size:9px;font-weight:760}.plan-detail{border:1px solid var(--line);border-top:4px solid var(--plan-color);background:var(--surface);max-height:calc(100vh - 92px);box-shadow:var(--shadow);border-radius:14px;padding:17px;position:sticky;top:76px;overflow-y:auto}.plan-detail-heading{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;display:grid}.plan-detail-heading h2{color:var(--midnight);letter-spacing:-.025em;margin:3px 0 0;font-size:18px}.plan-detail-description{color:var(--muted);margin:12px 0;font-size:10px;line-height:1.5}.plan-validation-status{color:#33786f;align-items:center;gap:5px;margin:-4px 0 10px;font-size:8px;font-weight:680;display:flex}.plan-audience{background:#f5f7fa;border-radius:9px;gap:3px;padding:9px 10px;display:grid}.plan-audience span{color:var(--muted);text-transform:uppercase;font-size:8px}.plan-audience strong{font-size:10px}.plan-week-picker{grid-template-columns:repeat(12,1fr);gap:3px;margin:15px 0;display:grid}.plan-week-picker button{border:1px solid var(--line);height:43px;color:var(--muted);background:#fff;border-radius:6px;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;padding:3px 2px;font-size:7px;display:flex}.plan-week-picker button i{background:#dfe3ea;border-radius:99px;width:4px;max-height:25px}.plan-week-picker button.active{color:#fff;border-color:var(--plan-color);background:var(--plan-color)}.plan-week-picker button.active i{background:#ffffffb8}.selected-week-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.selected-week-heading>div{gap:2px;display:grid}.selected-week-heading small{color:var(--plan-color);text-transform:uppercase;font-size:8px;font-weight:780}.selected-week-heading strong{font-size:12px}.selected-week-heading>span{color:var(--muted);align-items:center;gap:4px;font-size:9px;display:flex}.selected-week-objective{border-left:3px solid var(--plan-color);background:color-mix(in srgb, var(--plan-color) 5%, white);border-radius:7px;gap:3px;margin:-1px 0 10px;padding:8px 9px;display:grid}.selected-week-objective span{color:var(--plan-color);font-size:8px;font-weight:780}.selected-week-objective p{color:var(--muted);margin:0;font-size:8px;line-height:1.4}.plan-session-list{gap:5px;display:grid}.plan-session-block{gap:4px;display:grid}.plan-session{border:1px solid var(--line);border-left:3px solid var(--sport-color);border-radius:8px;grid-template-columns:25px 28px minmax(0,1fr) auto auto;align-items:center;gap:7px;min-height:43px;padding:5px 7px;display:grid}.plan-session-day{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:780}.plan-session .calendar-workout-icon{width:27px;height:27px}.plan-session>span:nth-child(3){gap:2px;min-width:0;display:grid}.plan-session>span:nth-child(3) strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.plan-session>span:nth-child(3) small{color:var(--muted);font-size:8px}.plan-session time{color:var(--muted);white-space:nowrap;font-size:8px}.plan-session-info{border:1px solid color-mix(in srgb, var(--sport-color) 25%, var(--line));width:25px;height:25px;color:var(--sport-color);background:color-mix(in srgb, var(--sport-color) 7%, white);border-radius:7px;place-items:center;padding:0;display:grid}.plan-session-info.active{color:#fff;border-color:var(--sport-color);background:var(--sport-color)}.plan-session-insight{color:#52696b;background:#fbfdfd;border:1px solid #dce6e5;border-radius:9px;gap:8px;margin:0 4px 4px;padding:9px 10px;font-size:8px;line-height:1.45;display:grid}.plan-session-insight>p{margin:0}.plan-session-insight>div:not(.session-fueling-card)>strong{color:var(--midnight);font-size:8px}.plan-session-insight ul{gap:3px;margin:5px 0 0;padding-left:16px;display:grid}.session-prescription{background:#f5fbfa;border:1px solid #cce5e2;border-radius:8px;gap:7px;padding:9px;display:grid}.session-prescription>header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.session-prescription>header span{gap:2px;display:grid}.session-prescription>header strong,.session-prescription>header em{color:var(--midnight);font-size:8px;font-style:normal}.session-prescription>header small{color:#537471;font-size:7px}.prescription-blocks{gap:4px;display:grid}.prescription-block{--zone-color:#47a69a;border-left:3px solid var(--zone-color);background:#ffffffc7;border-radius:6px;grid-template-columns:42px minmax(0,1fr);gap:7px;padding:6px;display:grid}.prescription-block.zone-moderate{--zone-color:#d6a23f}.prescription-block.zone-high{--zone-color:#e25e68}.prescription-block.zone-strength{--zone-color:#4575a8}.prescription-block.zone-mobility{--zone-color:#6f8e68}.prescription-block>span{color:var(--zone-color);background:color-mix(in srgb, var(--zone-color) 9%, white);text-align:center;border-radius:5px;align-self:start;padding:3px 4px;font-size:7px;font-weight:780}.prescription-block>div{gap:2px;display:grid}.prescription-block strong{color:var(--midnight);font-size:8px}.prescription-block small{color:var(--zone-color);font-size:7px;font-weight:700}.prescription-block p,.session-prescription .prescription-progression{color:#52696b;margin:0;font-size:7px;line-height:1.4}.structured-workout-preview{background:#fff;border:1px solid #c9dfdd;border-radius:7px;gap:6px;padding:7px;display:grid}.structured-workout-preview>header{justify-content:space-between;align-items:center;gap:6px;display:flex}.structured-workout-preview>header span{color:#137f7b;align-items:center;gap:4px;font-size:8px;font-weight:780;display:flex}.structured-workout-preview>header small{color:var(--muted);font-size:7px}.structured-workout-steps,.structured-step-children{gap:4px;display:grid}.structured-step{--step-color:#4b9892;border-left:3px solid var(--step-color);background:#f5faf9;border-radius:6px;grid-template-columns:43px minmax(0,1fr);gap:6px;padding:6px;display:grid}.structured-step-active{--step-color:#e48736}.structured-step-recovery,.structured-step-cooldown{--step-color:#6094a7}.structured-step-repeat{--step-color:#0e918c;background:#eef8f7}.structured-step.nested{background:#ffffffe0;grid-template-columns:39px minmax(0,1fr)}.structured-step-duration{color:var(--step-color);background:color-mix(in srgb, var(--step-color) 10%, white);text-align:center;border-radius:5px;align-self:start;padding:3px 4px;font-size:7px;font-weight:800}.structured-step>div{gap:2px;min-width:0;display:grid}.structured-step strong{color:var(--midnight);font-size:8px}.structured-step small{color:var(--step-color);font-size:7px;font-weight:700}.structured-step p{color:#5b7172;margin:0;font-size:7px;line-height:1.35}.structured-step-children{margin-top:4px}.structured-workout-open.button{justify-content:center;min-height:30px;font-size:8px}.structured-workout-hint{color:#657b7c;font-size:7px;line-height:1.4}.prescription-safety{color:#7d6a49;font-size:7px;line-height:1.4}.session-fueling-card{background:#fffaf0;border:1px solid #efdbae;border-radius:8px;gap:7px;padding:9px;display:grid}.session-fueling-card>header{justify-content:space-between;align-items:center;gap:6px;display:flex}.session-fueling-card>header span{color:#8f6017;align-items:center;gap:4px;font-weight:780;display:flex}.session-fueling-card>header small,.session-fueling-card>small{color:#967748;font-size:7px}.session-fueling-metrics{grid-template-columns:1fr 1fr;gap:5px;display:grid}.session-fueling-metrics>span{background:#ffffffbd;border-radius:7px;gap:1px;padding:6px;display:grid}.session-fueling-metrics small,.session-fueling-metrics em{color:#856f4b;font-size:7px;font-style:normal}.session-fueling-metrics strong{color:var(--midnight);font-size:9px}.session-fueling-card p{color:#705d3e;margin:0}.session-fueling-card p strong{color:#6e4b13}.plan-notice{color:#11775b;background:#effaf6;border:1px solid #bfe8d9;border-radius:8px;align-items:center;gap:6px;margin-top:10px;padding:8px 9px;font-size:9px;font-weight:650;display:flex}.plan-detail-actions{grid-template-columns:1fr auto;gap:7px;margin-top:12px;display:grid}.plan-deactivation-confirmation{color:#a53f31;background:#fff2ef;border:1px solid #e3a096;border-radius:12px;grid-template-columns:24px minmax(0,1fr);gap:10px;margin-top:12px;padding:14px;display:grid}.plan-deactivation-confirmation>div{gap:6px;display:grid}.plan-deactivation-confirmation strong{color:var(--midnight);font-size:11px}.plan-deactivation-confirmation p{color:#765650;margin:0;font-size:9.5px;line-height:1.5}.plan-deactivation-confirmation>div>div{flex-wrap:wrap;gap:7px;margin-top:4px;display:flex}.adaptive-plan-panel{background:linear-gradient(145deg,#f4fbfa,#fff);border:1px solid #cce5e2;border-radius:11px;gap:10px;margin:0 0 12px;padding:11px;display:grid}.adaptive-plan-panel>header,.ai-connection-panel summary{grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.adaptive-plan-icon{width:31px;height:31px;color:var(--primary);background:#e2f4f1;border-radius:8px;place-items:center;display:grid}.adaptive-plan-panel>header>span:nth-child(2),.ai-connection-panel summary>span:nth-child(2){gap:2px;display:grid}.adaptive-plan-panel>header strong,.ai-connection-panel summary strong{color:var(--midnight);font-size:10px}.adaptive-plan-panel>header small,.ai-connection-panel summary small{color:#33786f;align-items:center;gap:3px;font-size:8px;display:flex}.plan-fueling-profile{color:#456b68;text-align:left;background:#ffffffd1;border:1px solid #dbe7e6;border-radius:8px;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;padding:7px 8px;display:grid}.plan-fueling-profile>span{align-items:center;gap:3px;font-size:8px;font-weight:720;display:flex}.plan-fueling-profile small{color:var(--primary);justify-self:end;font-size:7px;font-weight:720}.athlete-baseline-panel{background:#ffffffc7;border:1px solid #dbe7e6;border-radius:8px}.athlete-baseline-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:7px;padding:8px;list-style:none;display:flex}.athlete-baseline-panel summary::-webkit-details-marker{display:none}.athlete-baseline-panel[open] summary>svg{transform:rotate(90deg)}.athlete-baseline-panel summary span{gap:1px;display:grid}.athlete-baseline-panel summary strong{color:var(--midnight);font-size:9px}.athlete-baseline-panel summary small,.athlete-baseline-panel>p{color:var(--muted);font-size:7px}.athlete-baseline-grid{border-top:1px solid #e3eceb;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px;display:grid}.athlete-baseline-grid .baseline-wide{grid-column:span 3}.athlete-baseline-grid label{min-width:0;color:var(--muted);gap:3px;font-size:7px;font-weight:680;display:grid}.athlete-baseline-grid input,.athlete-baseline-grid select{width:100%;min-width:0;height:32px;color:var(--midnight);font:inherit;background:#fff;border:1px solid #d7dfe2;border-radius:7px;padding:0 7px;font-size:8px}.athlete-baseline-panel>p{margin:0;padding:0 8px 8px;line-height:1.4}.adaptive-field-label{color:var(--muted);font-size:8px;font-weight:720}.plan-period-grid{background:#fffc;border:1px solid #dbe7e6;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;display:grid}.plan-period-grid label{min-width:0;color:var(--muted);gap:4px;font-size:7px;font-weight:700;display:grid}.plan-period-grid input{width:100%;min-width:0;height:33px;color:var(--midnight);font:inherit;background:#fff;border:1px solid #d7dfe2;border-radius:7px;padding:0 7px;font-size:8px}.plan-period-grid>small{color:#60777a;grid-column:1/-1;font-size:7px;line-height:1.4}.adaptive-weekday-picker{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.adaptive-weekday-picker button{color:#3b5558;background:#fff;border:1px solid #cfdadc;border-radius:7px;height:30px;padding:0;font-size:8px;font-weight:760}.adaptive-weekday-picker button.unavailable{color:#a04a3d;background:linear-gradient(135deg,#0000 43%,#e9a99d 44% 49%,#0000 50%),#fff6f4;border-color:#f0c7bf}.adaptive-weekday-picker button.double-session{color:#126f69;background:#e9f8f5;border-color:#8ed0c8;box-shadow:inset 0 -3px #42a79b}.adaptive-weekday-picker button.long-session{color:#805713;background:#fff8e9;border-color:#e9c77f;box-shadow:inset 0 -3px #e2ad42}.adaptive-weekday-picker button:disabled{opacity:.35;cursor:not-allowed}.weekly-slot-balance{color:#2f756e;background:#eaf7f4;border-radius:7px;align-items:center;gap:5px;padding:7px 8px;font-size:8px;font-weight:720;display:flex}.weekly-slot-balance.insufficient{color:#99463c;background:#fff1ef}.sport-frequency-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:8px;font-weight:720;display:flex}.sport-frequency-heading strong{color:var(--primary);font-size:8px}.sport-frequency-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.sport-frequency-grid label{color:var(--muted);gap:4px;font-size:7px;font-weight:690;display:grid}.sport-frequency-grid label>span{align-items:center;gap:3px;display:flex}.sport-frequency-grid select{width:100%;height:33px;color:var(--midnight);font:inherit;background:#fff;border:1px solid #d7dfe2;border-radius:8px;padding:0 7px;font-size:9px;font-weight:760}.frequency-threshold-note{color:#7d8a8d;justify-content:space-between;align-items:center;gap:5px;font-size:7px;display:flex}.frequency-threshold-note span{padding-left:7px;position:relative}.frequency-threshold-note span:before{content:"";background:#3a9c8e;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.frequency-threshold-note span:nth-child(2):before{background:#d6a23f}.frequency-threshold-note span:nth-child(3):before{background:#d46d5d}.frequency-threshold-note span:nth-child(4):before{background:#77808e}.adaptive-frequency-pause,.adaptive-frequency-warning{color:#805713;background:#fff9ed;border:1px solid #efd8a9;border-radius:7px;align-items:flex-start;gap:5px;padding:7px 8px;font-size:8px;line-height:1.4;display:flex}.adaptive-frequency-pause{color:#545e6c;background:#f5f6f8;border-color:#d7dce3}.adaptive-frequency-pause svg,.adaptive-frequency-warning svg{flex:none}.adaptive-limit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.adaptive-limit-grid.single{grid-template-columns:1fr}.adaptive-limit-grid label,.ai-connection-content>label{color:var(--muted);gap:4px;font-size:8px;font-weight:690;display:grid}.adaptive-limit-grid select,.ai-connection-content input,.ai-connection-content select{width:100%;height:34px;color:var(--midnight);font:inherit;background:#fff;border:1px solid #d7dfe2;border-radius:8px;padding:0 8px}.adaptive-preview-button{color:#fff;background:var(--primary);border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:35px;font-size:9px;font-weight:760;display:flex}.adaptive-preview-button:disabled{opacity:.65}.spinning{animation:.9s linear infinite spin}.adaptive-error{color:#9d3b31;background:#fff5f3;border:1px solid #efc8c3;border-radius:7px;align-items:flex-start;gap:5px;padding:7px 8px;font-size:8px;line-height:1.4;display:flex}.calendar-transfer-panel{background:#f4fbfa;border:1px solid #cce5e2;border-radius:10px;gap:9px;margin-top:9px;padding:10px;display:grid}.calendar-transfer-panel>header{grid-template-columns:31px minmax(0,1fr);align-items:center;gap:8px;display:grid}.calendar-transfer-panel>header>span:last-child{gap:2px;display:grid}.calendar-transfer-panel strong{color:var(--midnight);font-size:9px}.calendar-transfer-panel small,.calendar-transfer-panel p,.calendar-transfer-confirmation>span{color:var(--muted);margin:0;font-size:8px;line-height:1.45}.calendar-transfer-prepare{width:100%}.calendar-transfer-confirmation{background:#fff;border:1px solid #bfe0da;border-radius:8px;gap:5px;padding:9px;display:grid}.calendar-transfer-confirmation>div{grid-template-columns:auto 1fr;gap:6px;margin-top:3px;display:grid}.adaptive-error svg{flex:none}.adaptive-result{background:#effaf6;border:1px solid #bfe4d8;border-radius:8px;gap:5px;padding:8px;display:grid}.adaptive-result.warning{background:#fff9ed;border-color:#efd8a9}.adaptive-result>div:first-child{border-bottom:1px solid #27766129;gap:2px;padding-bottom:5px;display:grid}.adaptive-result>div:first-child strong{color:var(--midnight);font-size:9px}.adaptive-result>div:first-child span,.adaptive-result p{color:#397066;font-size:8px}.frequency-assessment-list{border-top:1px solid #27766129;gap:4px;margin-top:2px;padding-top:6px;display:grid}.frequency-assessment{color:#357267;background:#ffffffa3;border-radius:6px;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:5px;padding:5px 6px;display:grid}.frequency-assessment>svg{margin-top:2px}.frequency-assessment>span{gap:1px;display:grid}.frequency-assessment strong{color:var(--midnight);font-size:8px}.frequency-assessment small{color:#557a74;font-size:7px;line-height:1.35}.frequency-assessment.acceptable{color:#9a6916;background:#fffaf0}.frequency-assessment.warning{color:#aa493c;background:#fff5f3}.frequency-assessment.paused{color:#5d6673;background:#f3f4f6}.adaptive-result p{align-items:flex-start;gap:4px;margin:0;line-height:1.4;display:flex}.adaptive-result p svg{flex:none;margin-top:1px}.adaptive-result p.warning{color:#8b5b17}.entry-readiness-card{color:#327266;background:#ffffffb8;border-radius:7px;grid-template-columns:20px minmax(0,1fr);gap:6px;padding:7px;display:grid}.entry-readiness-card.foundation_required{color:#995d17;background:#fff7e8}.entry-readiness-card span{gap:2px;display:grid}.entry-readiness-card strong{color:var(--midnight);font-size:8px}.entry-readiness-card small{font-size:7px;line-height:1.35}.intensity-distribution-card{background:#ffffffc2;border-radius:7px;gap:5px;padding:8px;display:grid}.intensity-distribution-card header{justify-content:space-between;align-items:flex-start;gap:7px;display:flex}.intensity-distribution-card header span{gap:1px;display:grid}.intensity-distribution-card header strong{color:var(--midnight);font-size:8px}.intensity-distribution-card header small,.intensity-distribution-card header em,.intensity-distribution-card>small{color:var(--muted);font-size:7px;font-style:normal}.intensity-row{--zone-color:#47a69a;color:#52696b;grid-template-columns:48px minmax(0,1fr) 26px;align-items:center;gap:5px;font-size:7px;display:grid}.intensity-row.zone-moderate{--zone-color:#d6a23f}.intensity-row.zone-high{--zone-color:#e25e68}.intensity-row i{background:#e5e9ea;border-radius:99px;height:5px;overflow:hidden}.intensity-row b{border-radius:inherit;background:var(--zone-color);height:100%;display:block}.intensity-row strong{color:var(--midnight);text-align:right;font-size:7px}.ai-connection-panel{border:1px solid var(--line);background:#fbfcfd;border-radius:10px;margin-top:11px}.plan-checkin-panel{background:#f8fcfb;border:1px solid #cce5e2;border-radius:10px;margin-top:11px}.plan-checkin-panel summary{cursor:pointer;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;list-style:none;display:grid}.plan-checkin-panel summary::-webkit-details-marker{display:none}.plan-checkin-panel[open] summary>svg{transform:rotate(90deg)}.plan-checkin-panel summary>span:nth-child(2){gap:2px;display:grid}.plan-checkin-panel summary strong{color:var(--midnight);font-size:10px}.plan-checkin-panel summary small{color:#33786f;font-size:8px}.plan-checkin-content{border-top:1px solid #dbe7e6;gap:9px;padding:0 10px 10px;display:grid}.plan-checkin-content>p{color:var(--muted);margin:9px 0 0;font-size:8px;line-height:1.5}.checkin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.checkin-grid label,.checkin-notes{min-width:0;color:var(--muted);gap:3px;font-size:8px;font-weight:680;display:grid}.checkin-grid input,.checkin-grid select,.checkin-notes textarea{width:100%;min-width:0;color:var(--midnight);font:inherit;background:#fff;border:1px solid #d7dfe2;border-radius:7px;padding:0 8px}.checkin-grid input,.checkin-grid select{height:32px}.checkin-notes textarea{resize:vertical;padding-block:7px}.checkin-recommendation{background:#effaf6;border:1px solid #cce5e2;border-radius:8px;gap:6px;padding:9px;display:grid}.checkin-recommendation.status-medical_review,.checkin-recommendation.status-recover{background:#fff9ed;border-color:#efd8a9}.checkin-recommendation header{justify-content:space-between;align-items:flex-start;gap:7px;display:flex}.checkin-recommendation header span{gap:2px;display:grid}.checkin-recommendation strong{color:var(--midnight);font-size:9px}.checkin-recommendation small,.checkin-recommendation p{color:#52696b;margin:0;font-size:7px;line-height:1.4}.ai-connection-panel summary{cursor:pointer;padding:10px;list-style:none}.ai-connection-panel summary::-webkit-details-marker{display:none}.ai-connection-panel[open] summary>svg{transform:rotate(90deg)}.ai-connection-content{border-top:1px solid var(--line);gap:9px;padding:0 10px 10px;display:grid}.ai-connection-content>p{color:var(--muted);margin:9px 0 0;font-size:8px;line-height:1.5}.ai-connection-content>label>span{align-items:center;gap:4px;display:flex}.ai-connection-content .ai-enabled-row{align-items:center;gap:7px;display:flex}.ai-enabled-row input{width:15px;height:15px;accent-color:var(--primary)}.ai-function-policy{color:#326e66;background:#edf8f6;border-radius:8px;align-items:flex-start;gap:6px;padding:8px;font-size:8px;line-height:1.45;display:flex}.ai-function-policy svg{flex:none}.ai-connection-actions{align-items:center;gap:6px;display:flex}.ai-connection-actions .button{flex:1}.ai-connection-actions .icon-button.danger{color:var(--danger);background:#fff7f8;border-color:#efd2d6}.fueling-page{width:min(1600px,100%);margin:0 auto;padding:34px 30px 56px}.fueling-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.fueling-heading h1{color:var(--midnight);letter-spacing:-.045em;margin:7px 0 5px;font-size:clamp(29px,3vw,40px)}.fueling-heading p{color:var(--muted);margin:0;font-size:12px}.fueling-scope{border:1px solid var(--line);color:var(--primary);background:var(--surface);border-radius:11px;align-items:center;gap:10px;padding:11px 13px;display:flex}.fueling-scope>span{color:var(--muted);gap:2px;font-size:8px;display:grid}.fueling-scope strong{color:var(--midnight);font-size:10px}.fueling-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:14px;display:grid}.fueling-input-panel,.fueling-hero,.fueling-metrics,.substrate-card,.glycogen-card,.fuel-protocol-card,.pre-race-card,.hydration-card,.fueling-method{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:14px}.fueling-input-panel{padding:17px;position:sticky;top:76px}.fueling-input-panel .panel-heading>svg{color:var(--primary)}.fuel-input-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.fuel-number-field,.fuel-select-field{gap:5px;display:grid}.fuel-number-field>span:first-child,.fuel-select-field>span:first-child{color:var(--muted);font-size:9px;font-weight:680}.fuel-number-field>span:last-child{position:relative}.fuel-number-field input,.fuel-select-field select{border:1px solid var(--line);background:#fff;border-radius:8px;outline:0;width:100%;height:36px;padding:0 32px 0 9px;font-size:11px;font-weight:720}.fuel-number-field input{appearance:textfield}.fuel-number-field input::-webkit-inner-spin-button{appearance:none;margin:0}.fuel-number-field input::-webkit-outer-spin-button{appearance:none;margin:0}.fuel-number-field input:focus,.fuel-select-field select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #0e918c1f}.fuel-number-field em{color:var(--muted);font-size:8px;font-style:normal;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.fuel-select-field{margin-top:12px}.fuel-toggle{border:1px solid var(--line);background:#f8faf9;border-radius:9px;grid-template-columns:32px 1fr;align-items:center;gap:9px;margin-top:11px;padding:9px;display:grid}.fuel-toggle input{width:30px;height:18px;accent-color:var(--primary);margin:0}.fuel-toggle>span{gap:2px;display:grid}.fuel-toggle strong{font-size:9px}.fuel-toggle small{color:var(--muted);font-size:8px}.fueling-caution{color:#80550c;background:#fff7e8;border-radius:9px;grid-template-columns:18px 1fr;gap:7px;margin-top:12px;padding:9px;display:grid}.fueling-caution p{margin:0;font-size:8px;line-height:1.45}.fuel-elite-note{color:#80550c;background:#fff9ee;border:1px solid #f0cf91;border-radius:9px;grid-template-columns:17px 1fr;gap:7px;margin-top:9px;padding:9px;display:grid}.fuel-elite-note p{margin:0;font-size:8px;line-height:1.45}.fueling-results{min-width:0}.fueling-hero{background:radial-gradient(circle at 75% 5%,#ffbf5933,#0000 28%),#edf8f6;border-color:#badeda;grid-template-columns:minmax(220px,1.5fr) 1fr 1fr;align-items:stretch;display:grid;overflow:hidden}.fueling-hero>div{border-right:1px solid #0e918c26;min-width:0;padding:18px}.fueling-hero>div:last-child{border-right:0}.fueling-hero>div:first-child>strong{color:var(--midnight);letter-spacing:-.05em;margin-top:5px;font-size:37px;display:block}.fueling-hero>div:first-child>strong small{color:var(--primary);letter-spacing:0;margin-left:6px;font-size:13px}.fueling-hero p{color:var(--muted);margin:3px 0 0;font-size:8px;line-height:1.4}.fueling-hero-dose,.fueling-hero-total{color:var(--primary);align-items:center;gap:10px;display:flex}.fueling-hero-dose>span,.fueling-hero-total>span{gap:3px;display:grid}.fueling-hero-dose small,.fueling-hero-total small{color:var(--muted);font-size:8px}.fueling-hero-dose strong,.fueling-hero-total strong{color:var(--midnight);font-size:13px}.fueling-metrics{grid-template-columns:repeat(4,1fr);margin-top:12px;padding:11px;display:grid}.fueling-metrics>div{border-right:1px solid var(--line);align-items:center;gap:9px;padding:3px 12px;display:flex}.fueling-metrics>div:last-child{border-right:0}.fuel-metric-icon{width:32px;height:32px;color:var(--primary);background:#e6f4f2;border-radius:9px;place-items:center;display:grid}.fueling-metrics>div>span:last-child{gap:2px;display:grid}.fueling-metrics small{color:var(--muted);font-size:8px}.fueling-metrics strong{color:var(--midnight);font-size:11px}.fueling-detail-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.substrate-card,.glycogen-card,.fuel-protocol-card,.pre-race-card,.hydration-card{min-width:0;padding:15px}.fuel-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.fuel-card-heading h2{color:var(--midnight);letter-spacing:-.02em;margin:3px 0 0;font-size:14px}.fuel-card-heading>svg{color:var(--primary)}.substrate-bar{background:#e45f54;border-radius:8px;height:32px;margin:15px 0 12px;display:flex;overflow:hidden}.substrate-bar span{color:#fff;place-items:center;min-width:38px;font-size:8px;font-weight:780;display:grid}.substrate-bar span:first-child{background:#e9a33b}.substrate-bar span:last-child{flex:1}.substrate-values{grid-template-columns:1fr 1fr;gap:8px;display:grid}.substrate-values>div{background:#f6f8f8;border-radius:8px;gap:3px;padding:9px;display:grid}.substrate-values small,.substrate-values span{color:var(--muted);font-size:8px}.substrate-values strong{color:var(--midnight);font-size:12px}.fatmax-estimate{background:#f8fbfa;border:1px solid #d9e9e7;border-radius:9px;margin-top:10px;padding:10px}.fatmax-estimate>div:first-child{justify-content:space-between;align-items:end;gap:10px;display:flex}.fatmax-estimate>div:first-child>span:first-child{gap:2px;display:grid}.fatmax-estimate small,.fatmax-current,.fatmax-scale,.substrate-message span{color:var(--muted);font-size:8px}.fatmax-estimate strong{color:var(--midnight);font-size:10px}.fatmax-current{text-align:right}.fatmax-track{background:linear-gradient(90deg,#dbe7e5,#e5efed);border-radius:999px;height:10px;margin-top:11px;position:relative}.fatmax-zone{border-radius:inherit;background:linear-gradient(90deg,#e9a33b,#f1bd62);position:absolute;inset-block:0}.fatmax-marker{background:var(--primary);border:2px solid #fff;border-radius:999px;width:4px;height:18px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #052b2b4d}.fatmax-scale{justify-content:space-between;margin-top:4px;display:flex}.substrate-message{background:#eaf6f4;border-radius:7px;gap:2px;margin-top:7px;padding:7px 8px;display:grid}.substrate-message strong{color:var(--primary-dark);font-size:9px}.substrate-message.substrate-fat{background:#fff5e5}.substrate-message.substrate-fat strong{color:#8c5a0a}.substrate-message.substrate-carbohydrate{background:#fff0ed}.substrate-message.substrate-carbohydrate strong{color:#a33e36}.model-disclaimer{color:var(--muted);margin:10px 0 0;font-size:8px;line-height:1.45}.glycogen-balance{grid-template-columns:repeat(4,1fr);align-items:center;gap:5px;margin:15px 0 10px;display:grid}.glycogen-balance>div{text-align:center;background:#f6f8f8;border-radius:8px;gap:3px;padding:8px 6px;display:grid}.glycogen-balance span{color:var(--muted);font-size:8px}.glycogen-balance strong{color:var(--midnight);font-size:10px}.reserve-message{color:#11775b;background:#effaf6;border-radius:8px;grid-template-columns:18px 1fr;gap:7px;padding:9px;display:grid}.reserve-message>span{gap:2px;display:grid}.reserve-message strong{font-size:9px}.reserve-message small{color:inherit;font-size:8px;line-height:1.35}.reserve-tight .reserve-message{color:#8b5b09;background:#fff6e4}.reserve-critical .reserve-message{color:#a5283a;background:#fff0f2}.fuel-clock{grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0 10px;display:grid}.fuel-clock>div{background:#f2faf8;border:1px solid #cfe7e4;border-radius:8px;justify-items:center;gap:4px;padding:9px 4px;display:grid}.fuel-clock span{color:var(--primary);font-size:8px;font-weight:780}.fuel-clock strong{font-size:10px}.fuel-protocol-card>p,.pre-race-card>p,.hydration-card>p{color:var(--muted);margin:10px 0 0;font-size:9px;line-height:1.45}.fuel-protocol-card>small{color:var(--muted);margin-top:7px;font-size:8px;line-height:1.4;display:block}.pre-race-card>strong{color:var(--primary);letter-spacing:-.03em;margin-top:16px;font-size:20px;display:block}.hydration-card{background:#f3fafb;border-color:#cfe2e7}.hydration-card .fuel-card-heading>svg{color:#238fa8}.fueling-method{color:var(--muted);box-shadow:none;grid-column:1/-1;grid-template-columns:20px 1fr;gap:8px;padding:12px;display:grid}.fueling-method>div{gap:4px;display:grid}.fueling-method strong{color:var(--midnight);font-size:9px}.fueling-method p,.fueling-method span{margin:0;font-size:8px;line-height:1.45}.fueling-method a{color:var(--primary);font-weight:700}.overview-page,.statistics-page{padding:42px 30px 54px}.overview-heading,.statistics-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.overview-heading h1,.statistics-heading h1{color:var(--midnight);letter-spacing:-.045em;margin:7px 0 4px;font-size:36px}.overview-heading p,.statistics-heading p{color:var(--muted);margin:0;font-size:11px}.overview-kpis,.statistics-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.overview-kpis>article,.statistics-kpis>article,.overview-week-card,.overview-next-card,.overview-plan-card,.overview-balance-card,.volume-chart-card,.sport-distribution-card,.sport-detail-card,.statistics-insights-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:14px}.overview-kpis>article{align-items:center;gap:11px;min-width:0;padding:14px;display:flex}.overview-kpis>article>span:last-child{gap:1px;min-width:0;display:grid}.overview-kpis small,.overview-kpis em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-style:normal;overflow:hidden}.overview-kpis strong{color:var(--midnight);letter-spacing:-.03em;font-size:18px}.overview-kpi-icon{border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.overview-kpi-icon.icon-teal{color:var(--primary);background:#e7f5f3}.overview-kpi-icon.icon-amber{color:#a96808;background:#fff3df}.overview-kpi-icon.icon-coral{color:#b7463d;background:#fff0ed}.overview-kpi-icon.icon-blue{color:#267d96;background:#eaf5f8}.overview-grid{grid-template-columns:minmax(0,1.75fr) minmax(275px,.75fr);gap:12px;margin-top:12px;display:grid}.overview-week-card,.overview-next-card,.overview-plan-card,.overview-balance-card{min-width:0;padding:16px}.overview-card-heading,.statistics-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.overview-card-heading h2,.statistics-card-heading h2{color:var(--midnight);letter-spacing:-.025em;margin:3px 0 0;font-size:14px}.overview-card-heading>svg,.statistics-card-heading>svg{color:var(--primary)}.overview-card-heading>button,.overview-text-button{color:var(--primary);background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:9px;font-weight:750;display:flex}.overview-week-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:14px;display:grid}.overview-day{border:1px solid var(--line);background:#fafcfb;border-radius:10px;min-width:0;min-height:156px;overflow:hidden}.overview-day>header{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:baseline;padding:8px;display:flex}.overview-day>header span{text-transform:uppercase;font-size:8px;font-weight:720}.overview-day>header strong{color:var(--midnight);font-size:11px}.overview-day.today{border-color:var(--primary);background:#f4fbfa}.overview-day.today>header{color:var(--primary);background:#e8f6f4}.overview-day>div{gap:5px;padding:6px;display:grid}.overview-day-workout{text-align:left;border:0;border-left:3px solid;border-radius:7px;grid-template-columns:15px minmax(0,1fr);gap:2px 4px;min-width:0;padding:7px 6px;display:grid}.overview-day-workout>svg{grid-row:1/3}.overview-day-workout>span{color:var(--midnight);text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:750;overflow:hidden}.overview-day-workout>small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.overview-rest-day{color:#9caaad;place-items:center;min-height:95px;font-size:8px;display:grid}.overview-next-card{color:var(--midnight);background:radial-gradient(circle at 100% 0,#ffbf592e,#0000 32%),#fff}.overview-next-icon{border-radius:14px;place-items:center;width:50px;height:50px;margin-top:18px;display:grid}.overview-next-date{color:var(--primary);text-transform:capitalize;margin-top:12px;font-size:8px;font-weight:760;display:block}.overview-next-card h3{letter-spacing:-.03em;margin:5px 0 0;font-size:18px}.overview-next-meta{color:var(--muted);gap:11px;margin:10px 0 16px;display:flex}.overview-next-meta span{align-items:center;gap:4px;font-size:8px;display:flex}.overview-next-card>.button{width:100%}.overview-empty-next{min-height:205px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:7px;display:grid}.overview-empty-next>svg{color:var(--primary)}.overview-empty-next strong{color:var(--midnight);font-size:11px}.overview-empty-next p{max-width:190px;margin:0 0 4px;font-size:8px;line-height:1.45}.overview-plan-title{align-items:center;gap:9px;margin-top:15px;display:flex}.plan-discipline-dot{background:var(--primary);border-radius:999px;width:11px;height:38px}.plan-discipline-dot.plan-running{background:#e45f54}.plan-discipline-dot.plan-swimming{background:#3188a0}.plan-discipline-dot.plan-triathlon{background:linear-gradient(#3188a0 0 33%,#0e918c 33% 66%,#e45f54 66%)}.overview-plan-title>span:last-child{gap:3px;display:grid}.overview-plan-title strong{color:var(--midnight);font-size:11px}.overview-plan-title small,.overview-plan-progress small,.overview-plan-progress p{color:var(--muted);font-size:8px}.overview-plan-progress{margin-top:13px}.overview-plan-progress>span{justify-content:space-between;align-items:center;display:flex}.overview-plan-progress>span strong{color:var(--primary);font-size:10px}.overview-plan-progress>div{background:#e7efed;border-radius:999px;height:7px;margin-top:6px;overflow:hidden}.overview-plan-progress>div i{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #55b8af);height:100%;display:block}.overview-plan-progress p{margin:6px 0 0}.overview-no-plan{min-height:103px;color:var(--primary);background:#edf8f6;border-radius:9px;align-items:center;gap:10px;margin-top:10px;padding:12px;display:flex}.overview-no-plan>span{gap:3px;display:grid}.overview-no-plan strong{color:var(--midnight);font-size:10px}.overview-no-plan small{color:var(--muted);font-size:8px}.overview-text-button{margin-top:13px}.overview-sport-bars{gap:12px;margin-top:16px;display:grid}.overview-sport-bars>div{grid-template-columns:28px minmax(0,1fr) 52px;align-items:center;gap:8px;display:grid}.sport-dot{border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.sport-dot.sport-cycling{color:var(--primary);background:#e6f4f2}.sport-dot.sport-running{color:#b7463d;background:#fff0ed}.sport-dot.sport-swimming{color:#267d96;background:#eaf5f8}.overview-sport-bars>div>span:nth-child(2){gap:5px;display:grid}.overview-sport-bars>div>span:nth-child(2) strong{color:var(--midnight);font-size:9px}.overview-sport-bars i{background:#e8eeed;border-radius:999px;height:5px;overflow:hidden}.overview-sport-bars b{border-radius:inherit;background:var(--primary);height:100%;display:block}.overview-sport-bars>div:nth-child(2) b{background:#e45f54}.overview-sport-bars>div:nth-child(3) b{background:#3188a0}.overview-sport-bars>div>span:last-child{justify-items:end;gap:2px;display:grid}.overview-sport-bars>div>span:last-child strong{color:var(--midnight);font-size:9px}.overview-sport-bars>div>span:last-child small{color:var(--muted);font-size:7px}.statistics-range{border:1px solid var(--line);background:#fff;border-radius:9px;padding:3px;display:flex}.statistics-range button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:8px 11px;font-size:9px;font-weight:700}.statistics-range button.active{color:#fff;background:var(--midnight-soft)}.statistics-note{color:#397383;background:#f2fafb;border:1px solid #cfe2e7;border-radius:9px;grid-template-columns:18px 1fr;align-items:center;gap:7px;margin-bottom:11px;padding:9px 11px;font-size:8px;display:grid}.statistics-kpis>article{gap:4px;min-width:0;padding:14px;display:grid}.statistics-kpis>article>span{color:var(--muted);align-items:center;gap:6px;font-size:8px;font-weight:700;display:flex}.statistics-kpis>article>span svg{color:var(--primary)}.statistics-kpis strong{color:var(--midnight);letter-spacing:-.04em;font-size:21px}.statistics-kpis small{color:var(--muted);font-size:8px}.statistics-grid{grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:12px;margin-top:12px;display:grid}.volume-chart-card,.sport-distribution-card,.sport-detail-card,.statistics-insights-card{min-width:0;padding:16px}.volume-chart{grid-template-columns:44px minmax(0,1fr);gap:8px;height:235px;margin-top:15px;display:grid}.volume-chart-axis{color:var(--muted);text-align:right;flex-direction:column;justify-content:space-between;padding-bottom:23px;font-size:7px;display:flex}.volume-chart-bars{border-bottom:1px solid var(--line);background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 100% 50%;align-items:end;gap:8px;min-width:0;padding:16px 8px 0;display:grid}.volume-chart-bars>div{grid-template-rows:13px minmax(0,1fr) 20px;place-items:end center;min-width:0;height:100%;display:grid}.volume-chart-bars i{background:#8bd0ca;border-radius:6px 6px 2px 2px;width:min(34px,72%);min-height:2px;display:block}.volume-chart-bars .current-week i{background:linear-gradient(180deg, var(--primary), var(--primary-dark))}.volume-bar-value,.volume-chart-bars small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.volume-chart-bars .current-week small{color:var(--primary);font-weight:760}.volume-chart-footer{color:var(--muted);justify-content:space-between;gap:10px;margin-top:9px;font-size:7px;display:flex}.volume-chart-footer span{align-items:center;gap:5px;display:flex}.volume-chart-footer strong{color:var(--midnight);font-size:8px}.chart-legend-volume{background:var(--primary);border-radius:2px;width:8px;height:8px;display:inline-block}.sport-donut-wrap{justify-items:center;gap:15px;margin-top:16px;display:grid}.sport-donut{border-radius:50%;place-items:center;width:138px;height:138px;display:grid}.sport-donut>span{width:91px;height:91px;box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:50%;place-content:center;justify-items:center;display:grid}.sport-donut strong{color:var(--midnight);font-size:15px}.sport-donut small{color:var(--muted);font-size:8px}.sport-donut-legend{gap:8px;width:100%;display:grid}.sport-donut-legend>div{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.sport-donut-legend>div>span:nth-child(2){gap:2px;display:grid}.sport-donut-legend strong,.sport-donut-legend b{color:var(--midnight);font-size:9px}.sport-donut-legend small{color:var(--muted);font-size:7px}.sport-stat-table{gap:8px;margin-top:15px;display:grid}.sport-stat-table>div{background:#f7f9f9;border-radius:9px;grid-template-columns:30px minmax(120px,1.3fr) .7fr .7fr;align-items:center;gap:8px;padding:9px;display:grid}.sport-stat-table>div>span:not(.sport-dot){gap:2px;display:grid}.sport-stat-table strong{color:var(--midnight);font-size:9px}.sport-stat-table small{color:var(--muted);font-size:7px}.statistics-insights{gap:8px;margin-top:14px;display:grid}.statistics-insights>article{background:#f7f9f9;border-radius:9px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;padding:8px;display:grid}.insight-icon{width:34px;height:34px;color:var(--primary);background:#e6f4f2;border-radius:9px;place-items:center;display:grid}.statistics-insights>article>span:last-child{gap:2px;min-width:0;display:grid}.statistics-insights small,.statistics-insights em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-style:normal;overflow:hidden}.statistics-insights strong{color:var(--midnight);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.statistics-insights-card>.button{width:100%;margin-top:12px}.drag-overlay{background:#fff;border:1px solid #c8ceda;border-radius:10px;grid-template-columns:5px 1fr;align-items:center;gap:10px;min-width:160px;height:44px;padding-right:14px;font-size:11px;font-weight:740;display:grid;overflow:hidden;box-shadow:0 15px 40px #17203329}.dragging{opacity:.55}.garmin-connection-state{color:var(--muted);align-items:center;gap:7px;font-size:11px;font-weight:740;display:inline-flex}.garmin-connection-state i{background:#aeb8ba;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #aeb8ba29}.garmin-connection-state.connected{color:var(--success)}.garmin-connection-state.connected i{background:var(--success);box-shadow:0 0 0 4px #108b6821}.garmin-connection-state.pending{color:#94600a}.garmin-connection-state.pending i{background:#d49b36;box-shadow:0 0 0 4px #d49b3626}.garmin-page{gap:18px;display:grid}.garmin-account-overview,.garmin-sync-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:17px}.garmin-account-overview{grid-template-columns:minmax(0,1fr) auto;gap:26px;padding:28px;display:grid}.garmin-service-heading{align-items:flex-start;gap:17px;display:flex}.garmin-service-icon{color:#fff;background:var(--primary);border-radius:15px;flex:none;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 10px 24px #0e918c33}.garmin-service-heading h1{color:var(--midnight);letter-spacing:-.045em;margin:6px 0 7px;font-size:clamp(30px,3.2vw,42px);line-height:1}.garmin-service-heading p{max-width:680px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.garmin-account-actions{align-items:center;gap:8px;display:flex}.garmin-account-summary{background:#f6f9f9;border:1px solid #dde7e7;border-radius:12px;grid-column:1/-1;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:2px;padding:16px 18px;display:grid}.garmin-account-summary.connected{background:#f1faf7;border-color:#c9e5dc}.garmin-account-avatar{width:42px;height:42px;color:var(--primary-dark);background:#dff1ee;border-radius:50%;place-items:center;display:grid}.garmin-account-avatar.pending{color:#8b5d13;background:#fff0cf}.garmin-account-summary>span:nth-child(2),.garmin-account-readiness{gap:2px;display:grid}.garmin-account-summary small,.garmin-account-summary em{color:var(--muted);font-size:10px;font-style:normal}.garmin-account-summary strong{color:var(--midnight);font-size:15px}.garmin-account-readiness{text-align:right;justify-items:end}.garmin-account-readiness b{color:var(--success);font-size:11px}.garmin-account-summary:not(.connected) .garmin-account-readiness b{color:var(--midnight)}.garmin-sync-panel{gap:0;display:grid;overflow:hidden}.garmin-sync-heading{justify-content:space-between;align-items:center;gap:18px;padding:23px 25px 19px;display:flex}.garmin-sync-heading h2{color:var(--midnight);letter-spacing:-.025em;margin:5px 0 4px;font-size:22px}.garmin-sync-heading>div>p{color:var(--muted);margin:0;font-size:11px}.garmin-status-line{color:var(--muted);align-items:center;gap:7px;margin:0;font-size:11px;font-weight:700;display:flex}.garmin-status-line.connected{color:var(--success)}.garmin-status-line.pending{color:#94600a}.garmin-workout-row{border-block:1px solid var(--line);background:#fbfcfc;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;padding:18px 25px;display:grid}.garmin-workout-icon{--sport-color:var(--primary);width:48px;height:48px;color:var(--sport-color);background:color-mix(in srgb, var(--sport-color) 11%, white);border-radius:13px;place-items:center;display:grid}.garmin-workout-details{gap:3px;min-width:0;display:grid}.garmin-workout-details small{color:var(--primary-dark);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:780}.garmin-workout-details strong{color:var(--midnight);text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.garmin-workout-details>span{color:var(--muted);font-size:11px}.garmin-sync-controls{grid-template-columns:minmax(230px,1fr) auto;align-items:end;gap:20px;padding:20px 25px 23px;display:grid}.garmin-sync-controls>label{grid-template-columns:minmax(180px,250px) 1fr;align-items:center;gap:6px 12px;display:grid}.garmin-sync-controls>label>span{color:var(--midnight);align-items:center;gap:6px;font-size:11px;font-weight:740;display:flex}.garmin-sync-controls input{border:1px solid var(--line);width:100%;min-height:40px;color:var(--midnight);font:inherit;background:#fff;border-radius:9px;grid-row:2;padding:0 11px}.garmin-sync-controls input:disabled{color:#8f999b;background:#f2f5f5}.garmin-sync-controls>label small{color:var(--muted);grid-row:2;font-size:9px}.garmin-sync-controls>div{justify-items:end;gap:6px;display:grid}.garmin-sync-controls>div>span{color:var(--muted);align-items:center;gap:4px;font-size:9px;display:flex}.garmin-send-button{min-width:185px}.garmin-feedback{border-radius:9px;align-items:center;gap:7px;margin:0 25px 22px;padding:11px 12px;font-size:11px;display:flex}.garmin-feedback.error{color:#a5283a;background:#fff4f5}.garmin-feedback.success{color:#08634d;background:#eaf8f3}.garmin-bulk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.garmin-bulk-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:17px;align-content:start;gap:15px;padding:23px 25px;display:grid}.garmin-bulk-card>header{grid-template-columns:39px minmax(0,1fr);align-items:start;gap:11px;display:grid}.garmin-bulk-icon{width:39px;height:39px;color:var(--primary-dark);background:#dff3ef;border-radius:11px;place-items:center;display:grid}.garmin-bulk-icon.activity{color:#855816;background:#fff0ce}.garmin-bulk-card h2{color:var(--midnight);letter-spacing:-.025em;margin:5px 0;font-size:19px}.garmin-bulk-card header p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.garmin-range-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.garmin-range-fields label{color:var(--muted);gap:5px;font-size:9px;font-weight:760;display:grid}.garmin-range-fields input{border:1px solid var(--line);width:100%;min-height:39px;color:var(--midnight);font:inherit;background:#fff;border-radius:9px;padding:0 9px}.garmin-range-fields input:disabled{color:#8f999b;background:#f2f5f5}.garmin-bulk-card>.button{justify-self:start}.garmin-bulk-note{color:var(--muted);font-size:9px;line-height:1.45}.garmin-bulk-card .garmin-feedback{margin:0}.garmin-activity-list{border-top:1px solid var(--line);gap:0;margin:2px 0 0;padding:0;list-style:none;display:grid}.garmin-activity-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.garmin-activity-list li>span{gap:3px;min-width:0;display:grid}.garmin-activity-list strong{color:var(--midnight);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.garmin-activity-list small{color:var(--muted);text-align:right;font-size:9px}.garmin-activity-list li>span small{text-align:left}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1380px){.calendar-layout,.calendar-layout-with-summary.summary-expanded,.calendar-layout-with-summary.summary-collapsed{grid-template-columns:1fr}.calendar-week-summary.collapsed{height:auto}.calendar-week-summary.collapsed>button{writing-mode:initial;flex-direction:row;justify-content:center;min-height:34px}.calendar-library{overflow-x:auto}.calendar-library-list{grid-template-columns:repeat(4,minmax(170px,1fr))}.calendar-edit-workout{width:220px}.plans-layout{grid-template-columns:minmax(0,1fr) 350px}}@media (max-width:1180px){.editor-layout{grid-template-columns:180px minmax(460px,1fr)}.preview-panel{grid-column:1/-1;grid-template-columns:180px 1fr 220px;align-items:center;gap:18px;display:grid}.preview-panel>.panel-heading{display:none}.summary-hero{margin-top:0}.summary-list{margin:0}.prototype-note{grid-column:3}.plans-layout{grid-template-columns:1fr}.plan-detail{max-height:none;position:static}.fueling-layout{grid-template-columns:1fr}.fueling-input-panel{position:static}.fuel-input-grid{grid-template-columns:repeat(5,minmax(115px,1fr))}.overview-kpis,.statistics-kpis{grid-template-columns:repeat(2,1fr)}.overview-grid,.statistics-grid{grid-template-columns:1fr}}@media (max-width:900px){.sidebar{width:76px;padding-inline:11px}.brand-mark{justify-content:center}.brand-mark strong,.side-nav span,.profile-chip>span:nth-child(2),.profile-chip>svg{display:none}.side-nav button{justify-content:center;padding-inline:0}.profile-chip{grid-template-columns:1fr;justify-items:center;display:grid}.app-main{margin-left:76px}.editor-page{padding-inline:20px}.garmin-account-overview{grid-template-columns:1fr}.garmin-account-actions{grid-row:2}.garmin-account-summary{grid-column:1}.garmin-bulk-grid{grid-template-columns:1fr}.editor-heading{flex-direction:column;align-items:flex-start}.heading-actions{width:100%}.heading-actions .button{flex:1}.editor-layout{grid-template-columns:1fr}.calendar-page{padding-inline:20px}.calendar-heading{flex-direction:column;align-items:flex-start}.calendar-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;width:100%;display:flex}.calendar-layout{grid-template-columns:1fr}.calendar-library-list{grid-template-columns:repeat(4,minmax(150px,1fr))}.calendar-library{overflow-x:auto}.calendar-edit-workout{width:210px}.plans-page{padding-inline:20px}.plans-heading{flex-direction:column;align-items:flex-start}.plans-heading-stat{display:none}.fueling-page{padding-inline:20px}.fueling-heading{flex-direction:column;align-items:flex-start}.fueling-scope{display:none}.fueling-detail-grid{grid-template-columns:1fr}.fueling-method{grid-column:auto}.overview-page,.statistics-page{padding-inline:20px}.palette-panel{overflow-x:auto}.palette-list{grid-template-columns:repeat(5,minmax(128px,1fr))}.threshold-card{display:none}.preview-panel{grid-column:auto}}@media (max-width:680px){html,body{max-width:100%;overflow-x:clip}html.mobile-menu-open,html.mobile-menu-open body{overflow:hidden}.sidebar,.mobile-nav{display:none}.mobile-menu-trigger{z-index:52;top:calc(7px + env(safe-area-inset-top));border:1px solid var(--line);width:40px;height:40px;color:var(--midnight);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-radius:11px;place-items:center;padding:0;display:grid;position:fixed;left:10px;box-shadow:0 5px 18px #11262917}.mobile-menu-trigger[aria-expanded=true]{color:#fff;background:var(--midnight-soft);box-shadow:none;border-color:#ffffff1f}.mobile-menu-layer{z-index:45;display:block;position:fixed;inset:0}.mobile-menu-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#081c1e7a;border:0;width:100%;height:100%;animation:.16s ease-out mobile-menu-fade-in;position:absolute;inset:0}.mobile-menu-drawer{width:min(320px,100vw - 46px);height:100%;min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));color:#dce3f1;background:var(--midnight);flex-direction:column;animation:.19s ease-out mobile-menu-slide-in;display:flex;position:relative;box-shadow:18px 0 48px #07191b42}.mobile-menu-drawer .brand-mark{justify-content:flex-start;padding-left:52px}.mobile-menu-drawer .brand-mark strong{display:grid}.mobile-menu-nav{gap:5px;margin-top:34px;display:grid;overflow-y:auto}.mobile-menu-nav button{color:#aeb8ca;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:44px;padding:10px 12px;font-weight:650;display:grid}.mobile-menu-nav button.active{color:#fff;background:var(--midnight-soft);box-shadow:inset 3px 0 0 var(--accent)}.mobile-menu-nav button.locked{color:#647083}.mobile-menu-nav button.locked>svg:last-child{opacity:.7}.mobile-menu-profile{color:#fff;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff1a;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;margin-top:auto;padding:14px 8px 4px;display:grid}.mobile-menu-profile>span:first-child{width:36px;height:36px;color:var(--midnight);background:var(--accent);border-radius:50%;place-items:center;font-size:11px;font-weight:850;display:grid}.mobile-menu-profile>span:nth-child(2){gap:2px;min-width:0;display:grid}.mobile-menu-profile strong{font-size:12px}.mobile-menu-profile small{color:#8f9cb2;font-size:10px}.mobile-menu-profile.guest>span:first-child{color:#fff;background:#ffbf5938;box-shadow:inset 0 0 0 1px #ffbf598c}@keyframes mobile-menu-fade-in{0%{opacity:0}}@keyframes mobile-menu-slide-in{0%{transform:translate(-100%)}}.app-main{width:100%;min-width:0;max-width:100%;margin-left:0;overflow-x:clip}.app-main>*{min-width:0;max-width:100%}.topbar{min-height:54px;padding:0 12px 0 60px}.breadcrumbs>span,.breadcrumbs>svg{display:none}.breadcrumbs strong{max-width:52vw}.garmin-connection-state{flex:none;gap:0;font-size:0}.garmin-page{padding:20px 12px 36px}.garmin-account-overview{border-radius:14px;gap:20px;padding:20px 17px}.garmin-service-heading{gap:12px}.garmin-service-icon{border-radius:12px;width:46px;height:46px}.garmin-service-heading h1{font-size:31px}.garmin-account-actions .button{flex:1}.garmin-account-summary{grid-template-columns:38px minmax(0,1fr);padding:14px}.garmin-account-readiness,.garmin-account-summary>.button{text-align:left;grid-column:1/-1;justify-items:start}.garmin-sync-heading{flex-direction:column;align-items:flex-start;padding:20px 17px 16px}.garmin-workout-row{grid-template-columns:44px minmax(0,1fr);padding:16px 17px}.garmin-workout-icon{width:44px;height:44px}.garmin-edit-workout{grid-column:1/-1}.garmin-sync-controls{grid-template-columns:1fr;align-items:stretch;padding:17px}.garmin-sync-controls>label{grid-template-columns:1fr}.garmin-sync-controls input,.garmin-sync-controls>label small{grid-row:auto}.garmin-sync-controls>div{justify-items:stretch}.garmin-sync-controls>div>span{justify-content:center}.garmin-send-button{width:100%}.garmin-feedback{margin-inline:17px}.garmin-bulk-card{border-radius:14px;padding:20px 17px}.garmin-bulk-card>.button{width:100%}.save-state,.topbar-actions .icon-button:nth-of-type(3){display:none}.editor-page,.calendar-page{padding:24px 12px 36px}.calendar-heading{gap:18px}.calendar-heading h1{font-size:30px}.calendar-controls{justify-items:stretch;display:grid}.calendar-view-switcher{width:100%}.calendar-actions{grid-template-columns:42px repeat(4,minmax(0,1fr)) 42px;gap:8px;width:100%;display:grid}.calendar-actions .button{width:100%;min-width:0;padding-inline:8px}.calendar-actions .calendar-previous{grid-area:1/1}.calendar-actions .calendar-today{grid-area:1/2/auto/6}.calendar-actions .calendar-next{grid-area:1/6}.calendar-actions .calendar-garmin-sync{grid-area:2/1/auto/4}.calendar-actions .calendar-fit-import{grid-area:2/4/auto/7}.calendar-actions .button.primary{grid-area:3/1/auto/-1}.calendar-week-title{flex-wrap:wrap;align-items:flex-start}.calendar-week-title>span{margin-left:33px}.calendar-library-list{width:max-content;display:flex}.calendar-library-card{width:190px}.calendar-board,.calendar-library{border-radius:12px}.calendar-week-grid{min-width:910px}.calendar-day-view{min-width:0}.calendar-day-day .calendar-day-dropzone{min-height:430px}.calendar-month-view{min-width:720px}.calendar-month-weekdays,.calendar-month-grid{grid-template-columns:repeat(7,minmax(96px,1fr))}.calendar-year-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;min-width:0}.calendar-year-month{padding:14px}.calendar-year-days>button,.calendar-year-days>span{aspect-ratio:1.55}.calendar-day-dropzone{min-height:390px}.plans-page{padding:24px 12px 36px}.plans-heading{gap:15px}.plans-heading h1{font-size:29px}.active-plan-banner{grid-template-columns:34px minmax(0,1fr)}.active-plan-progress,.active-plan-banner .button{grid-column:1/-1}.plan-filters{padding-bottom:3px;overflow-x:auto}.plan-filters button{flex:none}.plan-library-grid{grid-template-columns:1fr}.plan-template-card{min-height:196px}.plan-detail{padding:14px 10px}.plan-week-picker{grid-template-columns:repeat(12,24px);padding-bottom:4px;overflow-x:auto}.plan-detail-actions{grid-template-columns:1fr}.fueling-page,.overview-page,.statistics-page{padding:24px 12px 36px}.overview-heading,.statistics-heading{flex-direction:column;align-items:flex-start;gap:15px}.overview-heading h1,.statistics-heading h1{font-size:29px}.overview-heading>.button,.statistics-range{width:100%}.statistics-range button{flex:1}.overview-kpis,.statistics-kpis{grid-template-columns:1fr 1fr}.overview-week-card{overflow-x:auto}.overview-week-card>.overview-card-heading,.overview-week-days{min-width:620px}.volume-chart{min-width:520px}.volume-chart-card{overflow-x:auto}.sport-stat-table>div{grid-template-columns:30px minmax(100px,1fr) .7fr .7fr}.fueling-heading{gap:15px}.fueling-heading h1{font-size:29px}.fuel-input-grid,.fueling-hero{grid-template-columns:1fr 1fr}.fueling-hero>div:first-child{border-bottom:1px solid #0e918c26;border-right:0;grid-column:1/-1}.fueling-hero>div:nth-child(2){border-right:1px solid #0e918c26}.fueling-metrics{grid-template-columns:1fr;gap:7px}.fueling-metrics>div{border-right:0;border-bottom:1px solid var(--line);padding-block:7px}.fueling-metrics>div:last-child{border-bottom:0}.substrate-values,.glycogen-balance{grid-template-columns:1fr}.workout-name{width:100%;font-size:29px}.editor-heading{gap:18px}.heading-actions{grid-template-columns:1fr 1fr;display:grid}.heading-actions .button.primary{grid-column:1/-1}.palette-panel,.canvas-panel,.preview-panel,.chart-card{border-radius:12px}.palette-panel{padding:14px}.palette-list{width:max-content;display:flex}.palette-item{width:130px}.canvas-panel{padding:14px 9px}.drag-hint{display:none}.step-card-heading{grid-template-columns:24px 27px minmax(90px,1fr) auto;gap:4px}.step-summary{display:none}.step-actions{grid-column:4}.step-fields{grid-template-columns:1fr 1fr;padding:0 9px 10px 67px}.repeat-content{grid-template-columns:1fr;padding:0 9px 10px 67px}.repeat-count{width:130px}.child-step{grid-template-columns:4px 20px minmax(70px,1fr) 58px 28px}.child-step .intensity-pair{grid-column:3/6;margin:0 4px 3px 0}.preview-panel{grid-template-columns:1fr;display:grid}.prototype-note{grid-column:auto}.chart-card{padding-inline:12px}.chart-card svg{height:120px}}.tools-page{width:min(1480px,100%);margin:0 auto;padding:34px 32px 52px}.tools-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px;display:flex}.tools-heading h1{color:var(--midnight);letter-spacing:-.045em;margin:6px 0 5px;font-size:clamp(28px,3vw,38px)}.tools-heading p{max-width:690px;color:var(--muted);margin:0;font-size:11px;line-height:1.5}.tools-heading-badge{min-width:155px;color:var(--primary);background:#f2faf8;border:1px solid #cbe3e0;border-radius:12px;align-items:center;gap:10px;padding:11px 13px;display:flex}.tools-heading-badge>span{gap:2px;display:grid}.tools-heading-badge small{color:var(--muted);font-size:8px}.tools-heading-badge strong{color:var(--midnight);font-size:11px}.tools-layout{grid-template-columns:245px minmax(0,1fr);align-items:start;gap:15px;display:grid}.tools-layout.tool-wide-layout{grid-template-columns:1fr}.tool-wide-layout>.tool-navigation{display:none}.tool-wide-layout .tool-mobile-navigation{gap:6px;margin-bottom:10px;padding-bottom:3px;display:flex;overflow-x:auto}.tool-wide-layout .tool-mobile-navigation button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:9px;flex:none;align-items:center;gap:6px;padding:8px 10px;font-size:9px;font-weight:700;display:inline-flex}.tool-wide-layout .tool-mobile-navigation button.active{color:#fff;border-color:var(--primary);background:var(--primary)}.tool-navigation{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:15px;gap:17px;padding:14px;display:grid;position:sticky;top:77px}.tool-navigation>section{gap:5px;display:grid}.tool-navigation>section>span{color:#94a3a6;letter-spacing:.1em;text-transform:uppercase;padding:0 7px 4px;font-size:8px;font-weight:780}.tool-navigation button{min-width:0;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:31px minmax(0,1fr) 13px;align-items:center;gap:8px;padding:8px;display:grid}.tool-navigation button>span:first-child{width:31px;height:31px;color:var(--primary);background:#e9f6f4;border-radius:8px;place-items:center;display:grid}.tool-navigation button>span:nth-child(2){gap:2px;min-width:0;display:grid}.tool-navigation button strong{color:var(--text);font-size:10px}.tool-navigation button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:7px;line-height:1.3;overflow:hidden}.tool-navigation button>svg{color:#a6b2b5}.tool-navigation button:hover{border-color:var(--line);background:#f8fbfa}.tool-navigation button.active{box-shadow:inset 3px 0 0 var(--primary);background:#edf8f6;border-color:#bcdedb}.tool-navigation button.active>svg{color:var(--primary)}.tool-workspace{min-width:0}.tool-mobile-navigation{display:none}.tool-content-stack,.tool-grid{gap:13px;display:grid}.tool-grid-input-result{grid-template-columns:minmax(360px,1.2fr) minmax(280px,.8fr)}.tool-card,.tool-metric-hero{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0;box-shadow:0 8px 26px #1e2a430b}.tool-card{padding:16px}.tool-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.tool-card-heading h3{color:var(--midnight);letter-spacing:-.025em;margin:3px 0 0;font-size:15px}.tool-card-heading>svg{color:var(--primary)}.tool-card-copy{max-width:610px;color:var(--muted);margin:9px 0 13px;font-size:9px;line-height:1.5}.tool-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tool-form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-field{gap:5px;min-width:0;display:grid}.tool-field>span:first-child{color:var(--muted);font-size:8px;font-weight:690}.tool-field input,.tool-field select,.todo-new-list input,.todo-add-item input{border:1px solid var(--line);background:#fafcfb;border-radius:9px;outline:0;width:100%;min-height:38px;padding:0 10px;font-size:11px;font-weight:680}.tool-field input:focus,.tool-field select:focus,.todo-new-list input:focus,.todo-add-item input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0e918c1a}.tool-input-suffix{display:block;position:relative}.tool-input-suffix input{padding-right:65px}.tool-input-suffix em{color:var(--muted);font-size:8px;font-style:normal;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.tool-validation{color:#a5283a;background:#fff2f3;border-radius:8px;margin:10px 0 0;padding:8px 9px;font-size:8px}.tool-formula{background:#f3f8f7;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:11px;padding:9px 10px;display:flex}.tool-formula span{color:var(--muted);font-size:8px}.tool-formula strong{color:var(--primary-dark);font-size:10px}.tool-metric-hero{background:radial-gradient(circle at 90% 0,#ffbf593b,#0000 34%),#edf8f6;border-color:#badeda;grid-template-columns:45px minmax(0,1fr);align-items:center;gap:13px;padding:20px;display:grid}.tool-metric-icon{color:#fff;background:var(--primary);border-radius:13px;place-items:center;width:45px;height:45px;display:grid}.tool-metric-hero>span:last-child{gap:3px;min-width:0;display:grid}.tool-metric-hero small{color:var(--primary-dark);text-transform:uppercase;font-size:8px;font-weight:750}.tool-metric-hero strong{color:var(--midnight);letter-spacing:-.055em;font-size:clamp(28px,4vw,42px)}.tool-metric-hero strong em{color:var(--primary);letter-spacing:0;font-size:11px;font-style:normal}.tool-metric-hero p{color:var(--muted);margin:0;font-size:8px;line-height:1.45}.zone-table{border:1px solid var(--line);border-radius:10px;margin-top:13px;overflow:hidden}.zone-table-head,.zone-row{grid-template-columns:minmax(190px,1.5fr) 1fr .8fr .8fr;align-items:center;gap:10px;display:grid}.zone-table-head{color:var(--muted);text-transform:uppercase;background:#f5f8f7;padding:8px 11px;font-size:7px;font-weight:760}.zone-row{--zone-color:var(--primary);border-top:1px solid var(--line);min-height:51px;padding:7px 11px;font-size:9px}.zone-row>strong{color:var(--midnight)}.zone-row>span:not(.zone-name){color:var(--muted)}.zone-name{grid-template-columns:5px minmax(0,1fr);align-items:center;gap:9px;min-width:0;display:grid}.zone-name>i{background:var(--zone-color);border-radius:99px;width:5px;height:29px}.zone-name>span{gap:2px;min-width:0;display:grid}.zone-name strong{color:var(--midnight);font-size:9px}.zone-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.zone-row.zone-recovery{--zone-color:#41a8b7}.zone-row.zone-endurance{--zone-color:#2eaa78}.zone-row.zone-tempo{--zone-color:#d99a34}.zone-row.zone-threshold{--zone-color:#e46e48}.zone-row.zone-vo2{--zone-color:#e45f54}.zone-row.zone-anaerobic{--zone-color:#bd4149}.tool-footnote{color:var(--muted);margin:11px 0 0;font-size:7px;line-height:1.5}.tool-segmented{border:1px solid var(--line);background:#f7f9f9;border-radius:9px;grid-template-columns:repeat(3,1fr);gap:3px;margin:12px 0;padding:3px;display:grid}.tool-segmented button{min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:5px 9px;font-size:9px;font-weight:720}.tool-segmented button.active{color:#fff;background:var(--midnight-soft);box-shadow:0 3px 9px #11262929}.tool-segmented-wide{width:min(530px,100%);margin-bottom:0}.tool-mode-card{flex-direction:column;display:flex}.tool-mode-options{grid-template-columns:1fr 1fr;gap:8px;margin-top:13px;display:grid}.tool-mode-options button{border:1px solid var(--line);min-height:94px;color:var(--muted);text-align:left;background:#fafcfb;border-radius:10px;align-content:center;gap:5px;padding:12px;display:grid}.tool-mode-options button strong{color:var(--midnight);font-size:11px}.tool-mode-options button span{font-size:8px;line-height:1.4}.tool-mode-options button.active{border-color:var(--primary);color:var(--primary-dark);background:#edf8f6;box-shadow:0 0 0 2px #0e918c14}.pace-zone-list{gap:6px;margin-top:13px;display:grid}.pace-zone-row{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden}.pace-zone-row summary{cursor:pointer;grid-template-columns:34px minmax(170px,1fr) auto;align-items:center;gap:9px;padding:9px 11px;list-style:none;display:grid}.pace-zone-row summary::-webkit-details-marker{display:none}.pace-zone-index{width:29px;height:29px;color:var(--primary);background:#e9f6f4;border-radius:8px;place-items:center;font-size:8px;font-weight:800;display:grid}.pace-zone-row summary>span:nth-child(2){gap:2px;min-width:0;display:grid}.pace-zone-row summary>span:nth-child(2) strong{color:var(--midnight);font-size:9px}.pace-zone-row summary small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.pace-zone-row summary>strong{color:var(--primary-dark);font-size:9px}.pace-repetition-grid{border-top:1px solid var(--line);background:#f8faf9;grid-template-columns:repeat(5,1fr);gap:5px;padding:8px 10px 10px 53px;display:grid}.pace-repetition-grid>span{background:#fff;border-radius:7px;gap:3px;padding:7px;display:grid}.pace-repetition-grid small{color:var(--muted);font-size:7px}.pace-repetition-grid strong{color:var(--midnight);font-size:8px}.tool-empty-result{min-height:130px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:6px;padding:20px;display:grid}.tool-empty-result>svg{color:var(--primary)}.tool-empty-result strong{color:var(--midnight);font-size:10px}.tool-empty-result span{font-size:8px}.distance-presets{flex-wrap:wrap;gap:5px;margin-top:11px;display:flex}.distance-presets button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:7px;padding:6px 8px;font-size:8px;font-weight:680}.distance-presets button.active{color:#fff;border-color:var(--primary);background:var(--primary)}.split-grid{grid-template-columns:repeat(6,1fr);gap:7px;margin-top:13px;display:grid}.split-grid>div{border:1px solid var(--line);background:#fafcfb;border-radius:9px;gap:4px;padding:10px;display:grid;position:relative}.split-grid span{color:var(--muted);font-size:7px}.split-grid strong{color:var(--midnight);font-size:11px}.split-grid svg{color:var(--primary);position:absolute;top:9px;right:8px}.race-predictor-layout{grid-template-columns:minmax(480px,1.25fr) minmax(300px,.75fr)}.race-reference-grid{gap:8px;display:grid}.race-reference-card{border:1px solid var(--line);background:#fafcfb;border-radius:10px;gap:9px;padding:10px;display:grid}.race-reference-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.race-reference-heading>strong{color:var(--midnight);font-size:9px}.race-reference-heading>span{color:var(--primary-dark);background:#e5f5f2;border-radius:99px;padding:3px 6px;font-size:7px;font-weight:760}.race-reference-heading>button{border:1px solid var(--line);width:25px;height:25px;color:var(--muted);background:#fff;border-radius:7px;place-items:center;display:grid}.race-reference-heading>button:hover{color:#a5283a;background:#fff5f6;border-color:#efc7ce}.race-add-reference{min-height:56px;color:var(--primary);background:#f5fbfa;border:1px dashed #a9d2ce;border-radius:10px;justify-content:center;align-items:center;gap:9px;padding:10px;display:flex}.race-add-reference>span{text-align:left;gap:2px;display:grid}.race-add-reference strong{color:var(--primary-dark);font-size:9px}.race-add-reference small{color:var(--muted);font-size:7px}.race-add-reference:hover{border-color:var(--primary);background:#ebf8f6}.race-prediction-hero{align-content:center;min-height:100%}.race-prediction-hero select{width:min(220px,100%);min-height:32px;color:var(--primary-dark);background:#ffffffb3;border:1px solid #b8dcd8;border-radius:8px;outline:0;margin:2px 0 5px;padding:0 9px;font-size:10px;font-weight:740}.race-prediction-hero select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0e918c1a}.race-prediction-hero strong{display:block}.race-prediction-table{border:1px solid var(--line);border-radius:10px;margin-top:13px;overflow:hidden}.race-prediction-head,.race-prediction-row{grid-template-columns:minmax(125px,1.15fr) minmax(110px,.9fr) minmax(105px,.8fr) minmax(100px,.75fr);align-items:center;gap:10px;padding:8px 11px;display:grid}.race-prediction-head{color:var(--muted);text-transform:uppercase;background:#f5f8f7;font-size:7px;font-weight:760}.race-prediction-row{border:0;border-top:1px solid var(--line);width:100%;min-height:43px;color:var(--muted);text-align:left;background:#fff}.race-prediction-row:hover{background:#f6fbfa}.race-prediction-row.active{box-shadow:inset 3px 0 0 var(--primary);background:#edf8f6}.race-prediction-row>strong:first-child{color:var(--midnight);font-size:9px}.race-prediction-row>strong:nth-child(2){color:var(--primary-dark);font-size:10px}.race-prediction-row>span{font-size:8px}.race-prediction-badges{flex-wrap:wrap;gap:4px;display:flex}.race-prediction-badges i{color:var(--primary-dark);text-transform:uppercase;background:#dff2ef;border-radius:99px;padding:3px 6px;font-size:6px;font-style:normal;font-weight:780}.water-balance-layout{grid-template-columns:minmax(500px,1.35fr) minmax(270px,.65fr)}.water-result-column{gap:10px;display:grid}.water-metric-hero{min-height:180px}.tool-submit{width:100%;margin-top:13px}.water-result-details{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.water-result-details>div{background:#f4f8f7;border-radius:8px;gap:3px;padding:8px;display:grid}.water-result-details small{color:var(--muted);font-size:7px}.water-result-details strong{color:var(--midnight);font-size:9px}.tool-info-note{color:#82590f;background:#fff8ec;border:1px solid #efd39d;border-radius:10px;grid-template-columns:19px 1fr;gap:8px;padding:10px;display:grid}.tool-info-note p{margin:0;font-size:8px;line-height:1.45}.water-average-grid{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:7px;margin-top:13px;display:grid}.water-average-grid>div{background:#f4faf9;border:1px solid #d4e9e6;border-radius:9px;gap:3px;padding:10px;display:grid}.water-average-grid span,.water-average-grid small{color:var(--muted);font-size:7px}.water-average-grid strong{color:var(--primary-dark);font-size:12px}.water-entry-list{gap:6px;margin-top:13px;display:grid}.water-entry-list article{border:1px solid var(--line);border-radius:9px;grid-template-columns:32px minmax(170px,1fr) auto 29px;align-items:center;gap:9px;padding:8px 9px;display:grid}.water-entry-icon{width:32px;height:32px;color:var(--primary);background:#e9f6f4;border-radius:8px;place-items:center;display:grid}.water-entry-list article>span:nth-child(2),.water-entry-list article>span:nth-child(3){gap:2px;display:grid}.water-entry-list article>span:nth-child(3){justify-items:end}.water-entry-list strong{color:var(--midnight);font-size:9px}.water-entry-list small{color:var(--muted);font-size:7px}.todo-layout{grid-template-columns:245px minmax(0,1fr);align-items:start;gap:13px;display:grid}.todo-list-sidebar{position:sticky;top:77px}.todo-list-picker{gap:5px;margin-top:13px;display:grid}.todo-list-picker>button{border:1px solid var(--line);color:var(--muted);text-align:left;background:#fff;border-radius:9px;grid-template-columns:minmax(0,1fr) 14px;align-items:center;gap:7px;padding:9px;display:grid}.todo-list-picker>button>span{gap:2px;min-width:0;display:grid}.todo-list-picker strong{color:var(--midnight);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.todo-list-picker small{font-size:7px}.todo-list-picker>button.active{color:var(--primary);background:#edf8f6;border-color:#bcdedb}.todo-new-list{grid-template-columns:minmax(0,1fr) 34px;gap:5px;margin-top:8px;display:grid}.todo-new-list input{min-height:34px;font-size:9px}.todo-new-list button{color:#fff;background:var(--primary);border:0;border-radius:9px;place-items:center;display:grid}.todo-workspace{min-height:470px}.todo-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.todo-heading>span{gap:3px;min-width:0;display:grid}.todo-heading input{width:min(500px,65vw);color:var(--midnight);letter-spacing:-.035em;background:0 0;border:0;outline:0;padding:0;font-size:20px;font-weight:800}.todo-progress{background:#f4f8f7;border-radius:9px;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:13px;margin:14px 0;padding:10px 12px;display:grid}.todo-progress>span{align-items:baseline;gap:6px;display:flex}.todo-progress strong{color:var(--primary);font-size:16px}.todo-progress small{color:var(--muted);font-size:7px}.todo-progress>i{background:#dfeae8;border-radius:99px;height:7px;overflow:hidden}.todo-progress b{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #61bdb5);height:100%;transition:width .18s;display:block}.todo-add-item{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.todo-items{gap:5px;margin-top:12px;display:grid}.todo-items article{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:27px minmax(0,1fr) 29px;align-items:center;gap:8px;padding:7px 8px;display:grid}.todo-check{color:#fff;background:0 0;border:2px solid #adc1be;border-radius:50%;place-items:center;width:25px;height:25px;padding:0;display:grid}.todo-items article.completed .todo-check{border-color:var(--primary);background:var(--primary)}.todo-items article>input{background:0 0;border:0;outline:0;min-width:0;padding:5px 0;font-size:10px;font-weight:650}.todo-items article.completed>input{color:#8c9b9e;text-decoration:line-through}.timer-layout{grid-template-columns:minmax(340px,.8fr) minmax(400px,1.2fr);align-items:stretch;gap:13px;display:grid}.timer-presets{grid-template-columns:repeat(3,1fr);gap:6px;margin:13px 0;display:grid}.timer-presets button{border:1px solid var(--line);color:var(--muted);text-align:left;background:#fafcfb;border-radius:9px;gap:3px;padding:9px;display:grid}.timer-presets strong{color:var(--midnight);font-size:9px}.timer-presets span{font-size:7px}.timer-toggles{grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;display:grid}.timer-toggles button{border:1px solid var(--line);color:var(--muted);text-align:left;background:#fff;border-radius:9px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;padding:8px;display:grid}.timer-toggles button>span{gap:2px;display:grid}.timer-toggles strong{color:var(--midnight);font-size:8px}.timer-toggles small{font-size:7px}.timer-toggles button.active{color:var(--primary);background:#edf8f6;border-color:#bcdedb}.timer-stage{background:radial-gradient(circle at 50% 38%,#0e918c14,#0000 34%),#fff;align-content:center;justify-items:center;gap:18px;min-height:500px;display:grid;position:relative;overflow:hidden}.timer-stage.timer-focus-mode{z-index:1000;width:100vw;height:100dvh;min-height:100vh;box-shadow:none;background:radial-gradient(circle at 50% 42%,#0e918c24,#0000 32%),#f8fbfa;border:0;border-radius:0;gap:clamp(18px,4vh,38px);padding:clamp(20px,4vw,54px);position:fixed;inset:0}.timer-focus-close{width:44px;height:44px;color:var(--muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd6;border:1px solid #cfdedc;border-radius:12px;place-items:center;display:grid;position:absolute;top:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px)}.timer-focus-mode .timer-rounds{width:min(620px,80vw)}.timer-focus-mode .timer-rounds>span{font-size:clamp(10px,1.3vw,15px)}.timer-focus-mode .timer-rounds i{width:clamp(20px,3vw,38px);height:6px}.timer-focus-mode .timer-dial{width:clamp(270px,48vh,430px);height:clamp(270px,48vh,430px)}.timer-focus-mode .timer-dial:before{width:calc(clamp(270px,48vh,430px) - 26px);height:calc(clamp(270px,48vh,430px) - 26px)}.timer-focus-mode .timer-dial small{font-size:clamp(11px,1.4vw,17px)}.timer-focus-mode .timer-dial strong{font-size:clamp(56px,8vw,92px)}.timer-focus-mode .timer-dial span{font-size:clamp(9px,1.2vw,14px)}.timer-focus-mode .timer-controls .button{min-height:48px;padding-inline:22px;font-size:12px}.timer-rounds{gap:7px;width:min(430px,90%);display:grid}.timer-rounds>span{color:var(--muted);text-align:center;font-size:8px}.timer-rounds>span strong{color:var(--primary)}.timer-rounds>div{justify-content:center;gap:4px;display:flex}.timer-rounds i{background:#dfe9e7;border-radius:99px;width:18px;height:4px}.timer-rounds i.active{background:var(--primary)}.timer-dial{background:conic-gradient(var(--primary) var(--timer-progress), #e2ecea var(--timer-progress));border-radius:50%;place-items:center;width:260px;height:260px;display:grid;box-shadow:0 14px 35px #0e918c21}.timer-dial:before{content:"";background:#fff;border-radius:50%;grid-area:1/1;width:232px;height:232px}.timer-dial>div{z-index:1;grid-area:1/1;justify-items:center;gap:4px;display:grid}.timer-dial small{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.timer-dial strong{color:var(--midnight);font-variant-numeric:tabular-nums;letter-spacing:-.055em;font-size:48px}.timer-dial span{color:var(--muted);font-size:8px}.timer-phase-rest .timer-dial{background:conic-gradient(var(--success) var(--timer-progress), #e2ecea var(--timer-progress))}.timer-phase-prepare .timer-dial{background:conic-gradient(var(--accent) var(--timer-progress), #e9ece4 var(--timer-progress))}.timer-phase-done .timer-dial{background:var(--primary)}.timer-controls{gap:7px;display:flex}.stopwatch-toolbar{justify-content:space-between;align-items:center;gap:14px;display:flex}.stopwatch-toolbar>span{color:var(--primary);align-items:center;gap:9px;display:flex}.stopwatch-toolbar>span>span{gap:3px;display:grid}.stopwatch-toolbar>span strong{color:var(--midnight);font-size:10px}.stopwatch-toolbar>span em{color:var(--muted);font-size:7px;font-style:normal}.stopwatch-toolbar>div{flex-wrap:wrap;gap:6px;display:flex}.stopwatch-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.stopwatch-athlete{padding:0;transition:border-color .15s,box-shadow .15s;overflow:hidden}.stopwatch-athlete.running{border-color:#8ccbc5;box-shadow:0 0 0 2px #0e918c14,0 10px 28px #1e2a430f}.stopwatch-athlete>header{border-bottom:1px solid var(--line);grid-template-columns:27px minmax(0,1fr) 27px;align-items:center;gap:6px;padding:7px 8px;display:grid}.stopwatch-athlete-number{width:27px;height:27px;color:var(--primary);background:#e9f6f4;border-radius:8px;place-items:center;font-size:8px;font-weight:800;display:grid}.stopwatch-athlete>header input{min-width:0;color:var(--midnight);background:0 0;border:0;outline:0;padding:4px 0;font-size:10px;font-weight:760}.stopwatch-time{background:radial-gradient(circle at 50% 0,#ffbf5921,#0000 42%),#fff;border:0;justify-items:center;gap:4px;width:100%;padding:14px 8px 11px;display:grid}.stopwatch-time small{color:var(--muted);text-transform:uppercase;font-size:7px;font-weight:730}.stopwatch-time strong{color:var(--midnight);font-variant-numeric:tabular-nums;letter-spacing:-.045em;font-size:clamp(23px,2.3vw,31px)}.stopwatch-athlete.running .stopwatch-time strong{color:var(--primary-dark)}.stopwatch-actions{grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) 30px;gap:4px;padding:0 8px 8px;display:grid}.stopwatch-actions .button{gap:4px;min-height:31px;padding-inline:5px;font-size:8px}.stopwatch-compact-laps{border-top:1px solid var(--line);background:#f7faf9;gap:3px;min-height:34px;padding:6px 8px 7px;display:grid}.stopwatch-compact-laps>span:not(.stopwatch-no-lap){justify-content:space-between;align-items:center;gap:10px;padding:2px 3px;display:flex}.stopwatch-compact-laps small{color:var(--muted);font-size:6px}.stopwatch-compact-laps strong{color:var(--midnight);font-variant-numeric:tabular-nums;font-size:8px}.stopwatch-no-lap{color:#98a7aa;justify-content:center;align-items:center;gap:5px;min-height:28px;font-size:6px;display:flex}.stopwatch-more-laps{text-align:right;display:block}@media (max-width:1180px){.tools-layout{grid-template-columns:210px minmax(0,1fr)}.tool-navigation{padding:10px}.tool-navigation button small{display:none}.tool-grid-input-result,.water-balance-layout,.timer-layout{grid-template-columns:1fr}.water-result-column{grid-template-columns:1.2fr 1fr}.water-result-column .tool-info-note{grid-column:1/-1}.split-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.tools-page{padding-inline:20px}.tools-layout{grid-template-columns:1fr}.tool-navigation{display:none}.tool-mobile-navigation{gap:6px;margin-bottom:10px;padding-bottom:3px;display:flex;overflow-x:auto}.tool-mobile-navigation button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:9px;flex:none;align-items:center;gap:6px;padding:8px 10px;font-size:9px;font-weight:700;display:inline-flex}.tool-mobile-navigation button.active{color:#fff;border-color:var(--primary);background:var(--primary)}.todo-layout{grid-template-columns:1fr}.todo-list-sidebar{position:static}.todo-list-picker{display:flex;overflow-x:auto}.todo-list-picker>button{min-width:170px}.pace-repetition-grid{grid-template-columns:repeat(5,minmax(100px,1fr));overflow-x:auto}}@media (max-width:680px){.tools-page{padding:24px 12px 36px}.tools-heading{flex-direction:column;align-items:flex-start;gap:13px}.tools-heading h1{font-size:29px}.tools-heading-badge{display:none}.tool-grid-input-result,.tool-form-grid,.tool-form-grid-three,.water-result-column,.timer-toggles{grid-template-columns:1fr}.tool-form-grid-three>span{display:none}.tool-metric-hero{min-height:150px}.zone-table{overflow-x:auto}.zone-table-head,.zone-row{min-width:650px}.tool-mode-options{grid-template-columns:1fr}.pace-zone-row summary{grid-template-columns:30px minmax(115px,1fr)}.pace-zone-row summary>strong{grid-column:2}.pace-repetition-grid{padding-left:10px}.split-grid{grid-template-columns:1fr 1fr}.race-prediction-table{overflow-x:auto}.race-prediction-head,.race-prediction-row{min-width:580px}.water-result-details{grid-template-columns:1fr}.water-entry-list article{grid-template-columns:32px minmax(0,1fr) 29px}.water-entry-list article>span:nth-child(3){grid-column:2;justify-items:start}.water-entry-list article>button{grid-area:1/3/3}.todo-heading input{width:100%}.todo-progress,.todo-add-item,.timer-presets{grid-template-columns:1fr}.timer-stage{min-height:450px}.timer-dial{width:225px;height:225px}.timer-dial:before{width:201px;height:201px}.timer-dial strong{font-size:42px}.stopwatch-toolbar{flex-direction:column;align-items:stretch}.stopwatch-toolbar>div{grid-template-columns:1fr 1fr;display:grid}.stopwatch-toolbar>div .button:last-child{grid-column:1/-1}.stopwatch-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}}.account-dialog-backdrop{z-index:2000;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#08191c9e;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.account-dialog{background:radial-gradient(circle at 100% 0,#ffbf592e,#0000 31%),#fff;border:1px solid #ffffffbf;border-radius:22px;width:min(620px,100%);max-height:calc(100dvh - 44px);padding:28px;position:relative;overflow-y:auto;box-shadow:0 30px 80px #08191c4d}.account-dialog-close{z-index:1;border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#ffffffd1;border-radius:9px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.account-dialog-heading{justify-items:start;display:grid}.account-dialog-icon{color:#fff;background:var(--primary);border-radius:14px;place-items:center;width:47px;height:47px;margin-bottom:15px;display:grid;box-shadow:0 10px 22px #0e918c33}.account-dialog h2{color:var(--midnight);letter-spacing:-.045em;margin:6px 0 8px;font-size:28px}.account-dialog-heading>p{max-width:500px;color:var(--muted);margin:0;font-size:11px;line-height:1.55}.garmin-connect-dialog{width:min(540px,100%)}.garmin-connect-icon{color:#fff;background:var(--primary);border-radius:14px;place-items:center;width:47px;height:47px;margin-bottom:15px;display:grid;box-shadow:0 10px 22px #0e918c33}.garmin-connect-icon.connected{color:var(--primary-dark);background:#dff3ef}.garmin-connect-form{margin-top:22px}.garmin-security-note{color:var(--primary);background:#edf8f6;border:1px solid #bfe1dc;border-radius:11px;grid-template-columns:22px minmax(0,1fr);gap:9px;margin-top:16px;padding:11px;display:grid}.garmin-security-note>span{gap:3px;display:grid}.garmin-security-note strong{color:var(--midnight);font-size:10px}.garmin-security-note small{color:var(--muted);font-size:8px;line-height:1.4}.garmin-connected-profile{text-align:center;justify-items:center;padding:8px 0 2px;display:grid}.garmin-connected-profile>p{max-width:420px;color:var(--muted);margin:-2px 0 8px;font-size:11px;line-height:1.55}.garmin-connected-profile>p strong{color:var(--midnight)}.garmin-connected-profile .garmin-security-note,.garmin-connected-profile .account-form-error{text-align:left;width:min(430px,100%)}.garmin-dialog-actions{gap:8px;margin-top:21px;display:flex}.auth-mode-switch{border:1px solid var(--line);background:#f5f8f7;border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;margin:22px 0 16px;padding:4px;display:grid}.auth-mode-switch button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-size:10px;font-weight:750;display:flex}.auth-mode-switch button.active{color:#fff;background:var(--midnight-soft);box-shadow:0 5px 14px #11262929}.account-form{gap:12px;display:grid}.account-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.account-form label{gap:5px;display:grid}.account-form label>span{color:var(--muted);font-size:9px;font-weight:700}.account-form input{border:1px solid var(--line);background:#fafcfb;border-radius:10px;outline:0;width:100%;min-height:43px;padding:0 12px;font-size:12px;font-weight:650}.account-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0e918c1a}.account-form label>small{color:#a5283a;font-size:8px;line-height:1.4}.account-form .button{min-height:44px;margin-top:3px}.account-form-error{color:#a5283a;background:#fff4f5;border:1px solid #f3c4cb;border-radius:9px;margin:0;padding:9px 10px;font-size:9px;line-height:1.45}.account-profile{text-align:center;justify-items:center;padding:8px 0 2px;display:grid}.account-profile-avatar{width:68px;height:68px;color:var(--midnight);background:var(--accent);border-radius:50%;place-items:center;margin-bottom:16px;font-size:20px;font-weight:900;display:grid}.account-profile>p{color:var(--muted);margin:-3px 0 18px;font-size:10px}.account-profile-status{width:min(430px,100%);color:var(--primary);text-align:left;background:#edf8f6;border:1px solid #bfe1dc;border-radius:11px;grid-template-columns:22px 1fr;gap:9px;margin-top:8px;padding:11px;display:grid}.account-profile-status.admin{color:#82590f;background:#fff8ec;border-color:#efd39d}.account-profile-status>span{gap:3px;display:grid}.account-profile-status strong{color:var(--midnight);font-size:10px}.account-profile-status small{color:var(--muted);font-size:8px;line-height:1.4}.account-profile-actions{gap:8px;margin-top:21px;display:flex}.admin-page{width:min(1480px,100%);margin:0 auto;padding:34px 32px 52px}.admin-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:20px;display:flex}.admin-heading h1{color:var(--midnight);letter-spacing:-.045em;margin:6px 0 5px;font-size:clamp(28px,3vw,38px)}.admin-heading p{max-width:680px;color:var(--muted);margin:0;font-size:11px;line-height:1.5}.admin-role-badge{color:#9a680d;background:#fff8ec;border:1px solid #efd39d;border-radius:12px;align-items:center;gap:10px;min-width:160px;padding:11px 13px;display:flex}.admin-role-badge>span{gap:2px;display:grid}.admin-role-badge small{color:var(--muted);font-size:8px}.admin-role-badge strong{color:var(--midnight);font-size:10px}.admin-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:13px;display:grid}.admin-summary article{border:1px solid var(--line);background:var(--surface);border-radius:13px;align-items:center;gap:11px;padding:14px;display:flex;box-shadow:0 8px 26px #1e2a430a}.admin-summary article>span{width:37px;height:37px;color:var(--primary);background:#e9f6f4;border-radius:10px;place-items:center;display:grid}.admin-summary article>div{gap:2px;display:grid}.admin-summary small{color:var(--muted);font-size:8px}.admin-summary strong{color:var(--midnight);font-size:20px}.admin-users-card{padding:0;overflow:hidden}.admin-users-toolbar{justify-content:space-between;align-items:center;gap:18px;padding:15px 16px;display:flex}.admin-users-toolbar h2{color:var(--midnight);margin:3px 0 0;font-size:15px}.admin-users-toolbar form{border:1px solid var(--line);width:min(390px,100%);color:var(--muted);background:#fafcfb;border-radius:10px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 4px 4px 10px;display:grid}.admin-users-toolbar input{background:0 0;border:0;outline:0;min-width:0;height:31px;font-size:10px}.admin-users-toolbar form button{color:#fff;background:var(--primary);border:0;border-radius:7px;height:31px;padding:0 11px;font-size:8px;font-weight:750}.admin-error{color:#a5283a;background:#fff4f5;border:1px solid #f3c4cb;border-radius:9px;margin:0 16px 13px;padding:9px 10px;font-size:9px}.admin-user-table{border-top:1px solid var(--line)}.admin-user-head,.admin-user-row{grid-template-columns:minmax(210px,1.35fr) minmax(130px,.8fr) minmax(110px,.65fr) minmax(80px,.5fr) minmax(220px,1.2fr);align-items:center;gap:12px;display:grid}.admin-user-head{color:var(--muted);text-transform:uppercase;background:#f5f8f7;padding:8px 13px;font-size:7px;font-weight:760}.admin-user-row{border-top:1px solid var(--line);min-height:68px;padding:9px 13px}.admin-user-row.inactive{opacity:.78;background:#fbf7f7}.admin-user-identity{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;min-width:0;display:grid}.admin-user-identity>i{width:36px;height:36px;color:var(--primary-dark);background:#e3f3f1;border-radius:50%;place-items:center;font-size:9px;font-style:normal;font-weight:850;display:grid}.admin-user-identity>span,.admin-user-data,.admin-user-activity{gap:3px;min-width:0;display:grid}.admin-user-row strong{color:var(--midnight);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.admin-user-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.admin-user-role i{color:#81580e;text-transform:uppercase;background:#fff1d8;border-radius:99px;padding:4px 7px;font-size:6px;font-style:normal;font-weight:790;display:inline-flex}.admin-user-role i.athlete{color:var(--primary-dark);background:#e2f3f0}.admin-user-role i.superuser{color:#fff;background:var(--midnight-soft)}.admin-user-actions{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.admin-user-actions>small{text-align:center;border-radius:99px;min-width:51px;padding:4px 6px;font-weight:760}.admin-user-actions>small.active{color:#19714f;background:#e8f7ef}.admin-user-actions>small.blocked{color:#a5283a;background:#fff0f2}.admin-user-actions button{border:1px solid var(--line);min-height:27px;color:var(--muted);background:#fff;border-radius:7px;align-items:center;gap:4px;padding:0 7px;font-size:7px;font-weight:700;display:inline-flex}.admin-user-actions button:hover:not(:disabled){color:var(--primary-dark);background:#edf8f6;border-color:#b9dcd8}.admin-user-actions button:disabled{opacity:.45}.admin-empty{min-height:180px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:6px;display:grid}.admin-empty>svg{color:var(--primary)}.admin-empty strong{color:var(--midnight);font-size:10px}.admin-empty span{font-size:8px}@media (max-width:1180px){.admin-user-table{overflow-x:auto}.admin-user-head,.admin-user-row{min-width:980px}}@media (max-width:900px){.admin-page{padding-inline:20px}.side-nav button.locked>svg:last-child{display:none}}@media (max-width:680px){.mobile-profile-fab{display:none}.mobile-profile-fab.guest{color:#fff;background:var(--midnight-soft)}.mobile-nav button.locked{color:#b1b9ba;opacity:.68}.account-dialog-backdrop{align-items:end;padding:0}.account-dialog{width:100%;max-height:92dvh;padding:24px 18px calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.account-dialog h2{font-size:25px}.account-form-grid{grid-template-columns:1fr}.account-profile-actions,.garmin-dialog-actions{flex-direction:column;width:100%}.admin-page{padding:24px 12px 36px}.admin-heading{flex-direction:column;align-items:flex-start;gap:13px}.admin-role-badge{display:none}.admin-summary{grid-template-columns:1fr}.admin-users-toolbar{flex-direction:column;align-items:stretch}.admin-users-toolbar form{width:100%}.auth-connection-notice{max-width:none;bottom:82px;left:12px;right:12px}}@media (max-width:900px){html,body{max-width:100%;overflow-x:clip}body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}html.mobile-menu-open,html.mobile-menu-open body{overflow:hidden}.sidebar,.mobile-menu-trigger,.mobile-profile-fab{display:none}.app-main{width:100%;min-width:0;max-width:100%;margin-left:0;overflow-x:clip}.app-main>*{min-width:0;max-width:100%}.mobile-nav{z-index:50;height:calc(66px + env(safe-area-inset-bottom));padding:4px 5px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;grid-template-columns:minmax(0,1fr) 62px;align-items:center;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -7px 24px #11262914}.mobile-nav-scroll{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:stretch;min-width:0;display:flex;overflow-x:auto}.mobile-nav-scroll::-webkit-scrollbar{display:none}.mobile-nav button{min-width:62px;min-height:56px;color:var(--muted);background:0 0;border:0;border-radius:12px;align-content:center;justify-items:center;gap:2px;padding:3px 4px 2px;font-size:7.5px;font-weight:700;line-height:1;transition:color .15s,background .15s,transform .15s;display:grid;position:relative}.mobile-nav-scroll button{scroll-snap-align:center;flex:0 0 66px}.mobile-nav button svg{width:20px;height:20px;transition:width .15s,height .15s,transform .15s}.mobile-nav button.active,.mobile-nav .mobile-more[aria-expanded=true]{color:var(--primary-dark);background:#e5f4f2;font-weight:820}.mobile-nav button.active svg,.mobile-nav .mobile-more[aria-expanded=true] svg{width:24px;height:24px;transform:translateY(-1px)}.mobile-nav button.active:before,.mobile-nav .mobile-more[aria-expanded=true]:before{background:var(--primary);content:"";border-radius:0 0 4px 4px;height:3px;position:absolute;top:-4px;left:14px;right:14px}.mobile-nav button.locked{color:#a7b0b2;opacity:.72}.mobile-nav .mobile-more{border-left:1px solid var(--line);border-radius:0 12px 12px 0;min-width:56px;margin-left:5px}.mobile-menu-layer{z-index:45;inset:0 0 calc(66px + env(safe-area-inset-bottom));display:block;position:fixed}.mobile-menu-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#081c1e7a;border:0;width:100%;height:100%;animation:.16s ease-out mobile-menu-fade-in;position:absolute;inset:0}.mobile-menu-drawer{width:min(340px,100vw - 46px);height:100%;min-height:0;padding:calc(18px + env(safe-area-inset-top)) 16px 18px;color:#dce3f1;background:var(--midnight);flex-direction:column;animation:.19s ease-out mobile-menu-slide-in;display:flex;position:relative;box-shadow:18px 0 48px #07191b42}.mobile-menu-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-menu-drawer .brand-mark{justify-content:flex-start;padding-left:0}.mobile-menu-drawer .brand-mark strong{display:grid}.mobile-menu-close{color:#fff;background:var(--midnight-soft);border:1px solid #ffffff1f;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;padding:0;display:grid}.mobile-menu-nav{gap:5px;margin-top:24px;display:grid;overflow-y:auto}.mobile-menu-nav button{color:#aeb8ca;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:44px;padding:10px 12px;font-weight:650;display:grid}.mobile-menu-nav button.active{color:#fff;background:var(--midnight-soft);box-shadow:inset 3px 0 0 var(--accent)}.mobile-menu-nav button.locked{color:#647083}.mobile-menu-nav button.locked>svg:last-child{opacity:.7}.mobile-menu-profile{color:#fff;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff1a;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;margin-top:auto;padding:14px 8px 4px;display:grid}.mobile-menu-profile>span:first-child{width:36px;height:36px;color:var(--midnight);background:var(--accent);border-radius:50%;place-items:center;font-size:11px;font-weight:850;display:grid}.mobile-menu-profile>span:nth-child(2){gap:2px;min-width:0;display:grid}.mobile-menu-profile strong{font-size:12px}.mobile-menu-profile small{color:#8f9cb2;font-size:10px}.mobile-menu-profile.guest>span:first-child{color:#fff;background:#ffbf5938;box-shadow:inset 0 0 0 1px #ffbf598c}}@media (max-width:680px){.topbar{padding:0 14px}.overview-week-card{overflow:hidden}.overview-week-card>.overview-card-heading{min-width:0}.overview-week-days{scroll-snap-type:x proximity;scrollbar-width:thin;grid-template-columns:repeat(7,minmax(92px,1fr));min-width:0;padding-bottom:5px;overflow-x:auto}.overview-day{scroll-snap-align:start;min-height:138px}}
