.app-header[data-v-eb903146]{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f8f4f5;border-bottom:1px solid #e1e7df;position:sticky;top:0}.header-row[data-v-eb903146]{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;max-width:1320px;min-height:76px;margin:0 auto;padding:0 32px;display:grid}.brand[data-v-eb903146]{white-space:nowrap}.primary-nav[data-v-eb903146]{align-self:stretch;gap:36px;display:flex}.primary-nav a[data-v-eb903146]{color:#667267;align-items:center;padding:0 4px;font-size:14px;text-decoration:none;display:flex;position:relative}.primary-nav a.selected[data-v-eb903146]{color:#278b7e;font-weight:650}.primary-nav a.selected[data-v-eb903146]:after{content:"";bottom:0;background:#3b9d91;border-radius:3px;height:3px;position:absolute;inset-inline:0}.header-tools[data-v-eb903146]{justify-content:end;align-items:center;gap:20px;display:flex}.connection-status[data-v-eb903146],.sync-indicator[data-v-eb903146]{color:#7f8a7c;white-space:nowrap;align-items:center;gap:6px;font-size:11px;text-decoration:none;display:flex}.connection-dot[data-v-eb903146]{background:#b5bcb2;border-radius:50%;width:6px;height:6px}.ready .connection-dot[data-v-eb903146],.connection-dot.active[data-v-eb903146]{background:#4e9b80}.account-link[data-v-eb903146]{color:#536450;white-space:nowrap;align-items:center;gap:9px;font-size:12px;text-decoration:none;display:flex}.account-avatar[data-v-eb903146]{color:#4c6b42;background:#e5eee0;border:1px solid #d5e2d4;border-radius:50%;place-items:center;width:32px;height:32px;font-size:13px;font-weight:650;display:grid}.account-name[data-v-eb903146]{text-overflow:ellipsis;max-width:120px;overflow:hidden}.secondary-nav[data-v-eb903146]{align-items:center;gap:10px;max-width:1120px;margin:0 auto;padding:14px 32px 16px;display:flex;overflow-x:auto}.secondary-nav a[data-v-eb903146]{color:#697665;white-space:nowrap;background:#fff;border:1px solid #dce3d7;border-radius:20px;padding:7px 18px;font-size:12px;text-decoration:none}.secondary-nav a.selected[data-v-eb903146]{color:#fff;background:#409e92;border-color:#409e92}a[data-v-eb903146]:focus-visible{outline-offset:4px;outline:2px solid #338d80}@media (width<=1000px){.brand span[data-v-eb903146]:last-child,.account-name[data-v-eb903146]{display:none}.primary-nav[data-v-eb903146]{gap:26px}}@media (width<=650px){.header-row[data-v-eb903146]{grid-template-columns:1fr auto;gap:0 12px;min-height:0;padding:12px 20px 0}.brand[data-v-eb903146]{font-size:14px}.brand-mark[data-v-eb903146]{font-size:21px}.header-tools[data-v-eb903146]{gap:12px}.connection-status[data-v-eb903146]{gap:0;font-size:0}.primary-nav[data-v-eb903146]{grid-area:2/1/auto/-1;justify-content:center;gap:48px;min-height:48px;margin-top:5px}.primary-nav a[data-v-eb903146]{font-size:14px}.secondary-nav[data-v-eb903146]{gap:8px;padding:12px 20px}.secondary-nav a[data-v-eb903146]{padding:7px 16px}}:root{color:#25332c;font-synthesis:none;font-variant-numeric:tabular-nums;background:#f7f8f4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:0 auto;padding:0 32px 40px}.brand{color:inherit;letter-spacing:1px;align-items:center;gap:12px;font-size:17px;font-weight:750;text-decoration:none;display:flex}.brand span:last-child{letter-spacing:0;color:#737d72;font-size:12px;font-weight:500}.brand-mark{color:#eef4dd;background:#354c3d;border-radius:9px;padding:4px 9px;font-size:25px}.status{color:#64705f;white-space:nowrap;background:#eceee8;border-radius:30px;padding:8px 12px;font-size:12px}.status.ready{color:#385a30;background:#e6efde}.intro{padding:76px 0 48px}.eyebrow{letter-spacing:2.5px;color:#66805b;font-size:11px;font-weight:700}h1{letter-spacing:-2px;margin:25px 0;font-size:clamp(42px,6vw,68px);font-weight:700;line-height:1.2}.description{color:#697466;font-size:16px;line-height:1.9}.stage{color:#75806d;align-items:center;gap:8px;margin-top:16px;font-size:12px;display:inline-flex}.dot{background:#75975b;border-radius:50%;width:6px;height:6px}.journey{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}article{background:#fff;border:1px solid #e2e6dc;border-radius:16px;padding:30px 26px}.number{color:#839475;letter-spacing:2px;font-size:12px}h2{margin:20px 0 12px;font-size:19px;font-weight:650}article p{color:#7a8473;min-height:54px;font-size:14px;line-height:1.9}.tag{color:#7c876f;border:1px solid #e7eadf;border-radius:6px;margin-top:10px;padding:5px 9px;font-size:11px;display:inline-block}.connection-panel{background:#eef1e8;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding:24px 26px;display:flex}.connection-panel h2{margin:0 0 8px;font-size:15px}.connection-panel p{color:#7c8574;margin:0;font-size:12px;line-height:1.8}button{color:#3c5934;cursor:pointer;font:inherit;background:#f9fbf5;border:1px solid #cdd7c2;border-radius:8px;padding:10px 15px;font-size:12px}button:hover{background:#e4ecd9}button:disabled{cursor:wait;opacity:.6}.connection-panel .error{color:#a04b32;flex-basis:100%}footer{color:#91998a;padding:32px 0;font-size:11px}@media (width<=650px){main{padding:0 20px}.brand{gap:7px;font-size:14px}.brand span:last-child{display:none}.intro{padding:48px 0 32px}.journey{grid-template-columns:1fr}article{padding:22px}article p{min-height:0}}.actions,.sync-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button{border-radius:8px;padding:11px 16px;font-size:12px;text-decoration:none;display:inline-block}.primary{color:#fff;background:#354c3d;border-color:#354c3d}.primary:hover{background:#48614f}.data-summary{flex-basis:100%;grid-template-columns:repeat(4,1fr);gap:20px;margin:8px 0;display:grid}.data-summary dt{color:#6d7b65;font-size:12px}.data-summary dd{margin:8px 0 0;font-size:28px;font-weight:650}.sync-controls,.job-progress{flex-basis:100%}.sync-controls label{color:#5e6c59;font-size:12px}select{font:inherit;color:#3c5934;background:#fff;border:1px solid #cdd7c2;border-radius:6px;margin:0 8px;padding:8px}.job-progress{border-top:1px solid #d9e0d0;padding-top:18px}.job-progress strong{margin-right:16px;font-size:13px}.job-progress span{font-size:12px}.job-progress p{margin-top:8px}.job-progress button{margin-top:12px}@media (width<=650px){.data-summary{grid-template-columns:repeat(2,1fr)}}.ride-library{margin-top:24px}.library-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.library-heading .eyebrow{margin:0 0 9px}.library-heading h1{letter-spacing:-.8px;margin:0;font-size:29px}.library-heading h1 small{color:#7c8773;letter-spacing:0;margin-left:12px;font-size:13px;font-weight:500}.exports{gap:12px;display:flex}.exports a{color:#52704a;border-bottom:1px solid #cad5c1;padding:7px 0;font-size:12px;text-decoration:none}.ride-filters{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:16px;display:flex}.ride-filters label{color:#6c7964;flex-direction:column;gap:7px;font-size:11px;display:flex}.ride-filters input,.ride-filters select{height:37px;font:inherit;color:#364b39;background:#fff;border:1px solid #dce2d5;border-radius:7px;margin:0;padding:8px 10px;font-size:12px}.search-filter{flex:1;min-width:150px}.ride-workspace{grid-template-columns:285px minmax(0,1fr);align-items:start;gap:16px;display:grid}.ride-list{flex-direction:column;gap:8px;display:flex}.ride-row{text-align:left;background:#fff;border:1px solid #e0e5d9;border-radius:12px;align-items:center;gap:12px;width:100%;padding:16px;display:flex}.ride-row-content{flex-direction:column;flex:1;align-items:start;gap:9px;min-width:0;display:flex}.route-thumbnail{color:#fff;background:#a9cc7e;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex;overflow:hidden}.route-thumbnail svg{width:100%;height:100%;display:block}.route-unavailable{color:#89947f;background:#eef1e9}.route-placeholder{font-size:9px}.ride-row.selected{background:#eff4e9;border-color:#95af87;box-shadow:inset 3px 0 #527348}.ride-row-date{color:#7d8978;font-size:10px}.ride-row strong{color:#344c38;overflow-wrap:anywhere;font-size:14px;line-height:1.6}.ride-row-stats{color:#6b7965;flex-wrap:wrap;gap:13px;font-size:11px;display:flex}.source-tag{color:#7d8577;background:#edf0e8;border-radius:5px;padding:4px 7px;font-size:10px;display:inline-block}.source-tag.meter{color:#486a3d;background:#e3eddc}.source-tag.estimated{color:#9b7940;background:#f5ebd5}.excluded-tag{color:#9a5b45;background:#f3e6e0;border-radius:5px;padding:4px 7px;font-size:10px;display:inline-block}.exports .export-note{color:#9aa38f;align-self:center;font-size:10px}.pagination{justify-content:space-between;align-items:center;gap:8px;margin:14px 0;display:flex}.pagination span{color:#89927f;font-size:11px}.pagination button{padding:8px 10px;font-size:11px}.ride-detail{background:#fff;border:1px solid #e0e5d9;border-radius:15px;min-width:0;padding:20px;scroll-margin-top:160px}.detail-heading .eyebrow{margin:0;font-size:9px}.detail-heading h2{overflow-wrap:anywhere;margin:6px 0 4px;font-size:22px;line-height:1.35}.detail-heading>p{color:#819077;margin:0;font-size:11px}.detail-tags{color:#859078;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:10px;display:flex}.exclusion-panel{color:#7d8776;background:#f7f9f4;border:1px solid #e6e9e0;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;font-size:11px;display:flex}.exclusion-panel.excluded{color:#8d5f4c;background:#fbf3ef;border-color:#ecd9d0}.exclusion-panel button{padding:6px 10px;font-size:11px}.exclusion-form{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:220px;display:flex}.exclusion-form input{min-width:160px;height:32px;font:inherit;border:1px solid #dce2d5;border-radius:7px;flex:1;padding:6px 9px;font-size:11px}.exclusion-notice{color:#4d6a44;overflow-wrap:anywhere;background:#f1f8ee;border:1px solid #d8e6d3;border-radius:9px;margin:0 0 16px;padding:11px 14px;font-size:12px;line-height:1.7}.exclusion-notice button{margin-left:10px;padding:5px 9px;font-size:11px}.writeback-panel{color:#5c6e75;background:#f6fafb;border:1px solid #dfe7ea;border-radius:9px;margin-top:8px;padding:9px 12px;font-size:11px}.writeback-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.writeback-heading strong{color:#40545c;font-size:12px}.writeback-quota{color:#8a9a9f;font-size:10px}.writeback-panel button{padding:6px 10px;font-size:11px}.writeback-blocked{color:#8a5b36;background:#fdf6ef;border:1px solid #ecd9c9;border-radius:7px;margin:8px 0;padding:8px 10px;line-height:1.7}.writeback-blocked a{margin-left:6px}.writeback-diff{margin:10px 0}.writeback-diff h4{color:#52686f;margin:0 0 6px;font-size:11px}.writeback-diff pre{color:#3f5259;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid #e1e9ec;border-radius:7px;max-height:220px;margin:0;padding:10px;font-family:inherit;font-size:11px;line-height:1.7;overflow:auto}.writeback-warnings{color:#6f5a36;margin:0 0 10px;padding-left:18px;line-height:1.7}.writeback-ack{color:#40545c;align-items:flex-start;gap:8px;margin:8px 0;line-height:1.6;display:flex}.writeback-ack input{margin-top:2px}.deletion-panel{margin-top:4px;font-size:11px}.danger-link{color:#9a5b45;background:0 0;border-color:#0000;padding:6px 0}.danger-link:hover{color:#743923;background:0 0;text-decoration:underline}.deletion-form{color:#7f4c39;background:#fff7f3;border:1px solid #edcfc4;border-radius:9px;padding:13px}.deletion-form>p{margin:0 0 10px;line-height:1.7}.deletion-form label{flex-direction:column;gap:7px;max-width:280px;display:flex}.deletion-form input{height:34px;font:inherit;background:#fff;border:1px solid #d9b8aa;border-radius:7px;padding:7px 9px}button.danger{color:#fff;background:#9d4c36;border-color:#9d4c36}button.danger:hover{background:#7f3927}.ride-metrics{border-block:1px solid #e8ece3;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0;padding:14px 0;display:grid}.ride-metrics dt{color:#87907f;font-size:10px}.ride-metrics dd{white-space:nowrap;margin:4px 0 0;font-size:20px;font-weight:650}.ride-metrics dd small{color:#8b9683;font-size:10px;font-weight:400}.secondary-metrics{color:#86937d;flex-wrap:wrap;gap:7px 16px;font-size:10px;line-height:1.6;display:flex}.secondary-metrics b{color:#5a7055;padding-left:4px;font-weight:500}.curve-section{margin-top:18px}.curve-title{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.curve-title h3{margin:0;font-size:14px}.range-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.range-form label{color:#7f8c76;font-size:10px}.range-form input{width:70px;font:inherit;color:#4b6645;border:1px solid #dbe2d3;border-radius:5px;padding:6px}.range-form button{padding:7px 10px;font-size:10px}.curve-note{color:#93a08b;margin:6px 0;font-size:10px;line-height:1.6}.ride-chart{color:#e0e7e9;background:#1d252a;border-radius:12px;margin-top:10px;padding:12px}.chart-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.chart-modes{flex-wrap:wrap;gap:4px;display:flex}.chart-modes button{color:#b9c6cc;background:0 0;border-color:#445158;padding:7px 9px;font-size:11px}.chart-modes button[aria-pressed=true]{color:#fff;background:#3a4b55;border-color:#687d87}.chart-modes button:hover{background:#32424b}.chart-axis-note{color:#9aadb7;font-size:10px}.chart-readout{border-block:1px solid #ffffff15;margin-top:10px;padding:8px 0 4px}.chart-position{flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:11px;display:flex}.chart-position strong{font-weight:500}.chart-position span{color:#a2b4be}.chart-readout dl{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 8px;margin:10px 0 7px;display:grid}.chart-readout dt{color:#bac7cd;font-size:10px}.chart-readout i{background:var(--metric-color);border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.chart-readout dd{color:var(--metric-color);margin:7px 0 0;font-size:17px}.chart-readout small{color:#9fb0ba;font-size:10px;font-weight:400}.chart-gap-note{color:#95a7b1;min-height:34px;margin:0;font-size:10px;line-height:1.7}.chart-canvas-wrap{margin-top:10px;position:relative}.ride-chart canvas{touch-action:pan-y;cursor:crosshair;width:100%;display:block}.ride-chart .chart-empty{text-align:center;color:#bcc9d0;pointer-events:none;background:#1d252af0;margin:0;padding:10px;font-size:11px;position:absolute;inset:40% 0 auto}.chart-missing{color:#c3ced4;margin:8px 0 0;font-size:11px;line-height:1.8}@media (width<=950px){.chart-readout dl{grid-template-columns:repeat(3,minmax(0,1fr))}.ride-chart{padding:12px}}.is-overlay .chart-readout dl{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-state{text-align:center;color:#8c997f;padding:30px 10px;font-size:12px;line-height:1.8}.list-loading{color:#819176;font-size:12px}.error{color:#a04b32;font-size:12px;line-height:1.8}.data-quality{border-top:1px solid #e6ece0;margin-top:14px;padding-top:10px}.data-quality summary{cursor:pointer;color:#728469;font-size:11px}.data-quality p{color:#8b977e;font-size:10px;line-height:1.8}.data-quality dl div{gap:12px;margin:9px 0;font-size:10px;display:flex}.data-quality dt{color:#6f8365;min-width:55px}.data-quality dd{color:#8a977e;margin:0}.detail-footnote{color:#a0aa96;border-top:1px solid #eef0e9;margin:12px 0 0;padding-top:8px;font-size:9px;line-height:1.7}@media (width<=950px){.ride-workspace{grid-template-columns:235px minmax(0,1fr)}.ride-detail{padding:20px}.ride-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.ride-workspace{grid-template-columns:1fr}.ride-detail{padding:14px}.ride-list{grid-template-columns:1fr;display:grid}.ride-row{padding:13px}.pagination{grid-column:1/-1}.library-heading{flex-wrap:wrap}.ride-filters label{flex:1}.ride-filters input{width:100%;min-width:0}.ride-metrics dd{font-size:20px}}.training-workspace{margin-top:42px}.training-workspace>.library-heading h1{letter-spacing:-.8px;margin:0;font-size:29px}.training-workspace>.library-heading .eyebrow{margin:0 0 9px}.setup-links{margin-top:8px;display:block}.setup-links a,.load-help a{color:#278b7e;text-underline-offset:3px}.page-loading{color:#73836d;padding:48px 0;font-size:13px}.connection-error{color:#9a5d3d;background:#fff5ed;border:1px solid #ebd6c5;border-radius:10px;margin-top:24px;padding:12px 16px;font-size:12px;line-height:1.8}.connection-error button{margin-left:10px}.login-panel{background:#fff;border:1px solid #dce5d5;border-radius:16px;margin:48px 0;padding:32px}.login-panel h1{letter-spacing:-1px;margin:14px 0;font-size:32px}.login-panel>p:not(.eyebrow){color:#73836d;font-size:14px;line-height:1.9}.login-panel .actions{margin-top:24px}.training-card{background:#fff;border:1px solid #e0e5d9;border-radius:15px;padding:24px}.training-card+.training-card{margin-top:16px}.training-card h2{margin:0 0 8px}.training-card .training-current{color:#405d3b;margin:16px 0}.training-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.training-form label{color:#6c7964;flex-direction:column;flex:1;gap:7px;min-width:150px;font-size:11px;display:flex}.training-form input,.training-form select{color:#364b39;width:100%;height:38px;font:inherit;background:#fff;border:1px solid #dce2d5;border-radius:7px;margin:0;padding:8px 10px;font-size:12px}.training-history{color:#61785b;margin-top:20px;font-size:12px}.training-history li{margin:8px 0;line-height:1.7}.availability-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.availability-day{background:#f7f9f4;border:1px solid #e4eade;border-radius:8px;flex-direction:column;gap:8px;min-width:0;padding:10px;font-size:11px;display:flex}.availability-day select,.availability-day input{color:#364b39;width:100%;font:inherit;background:#fff;border:1px solid #dce2d5;border-radius:5px;margin:0;padding:7px}.availability-day label{color:#6c7964}@media (width<=850px){.availability-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=520px){.availability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.training-warning{background:#fff3da;border-radius:8px;padding:12px;color:#8c6732!important}.plan-sessions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.plan-session{padding:18px}.plan-session-heading{justify-content:space-between;gap:10px;display:flex}.plan-session h3{margin:6px 0 0;font-size:16px}.plan-session-heading>strong{white-space:nowrap;color:#4d6c43;font-size:12px}.plan-session p{min-height:0;margin:12px 0}.plan-session ol{margin:0;padding:0;list-style:none}.plan-session li{color:#758373;border-top:1px solid #edf0e9;justify-content:space-between;gap:12px;padding:9px 0;font-size:11px;display:flex}.plan-session li strong{white-space:nowrap;color:#46613e;font-weight:600}@media (width<=650px){.plan-sessions{grid-template-columns:1fr}}.plan-edit-button{margin-top:12px}.plan-edit-form{border-top:1px solid #e3e9dd;gap:10px;margin-top:12px;padding-top:12px;display:grid}.plan-edit-form label{color:#71816c;flex-direction:column;gap:5px;font-size:11px;display:flex}.plan-edit-form input,.plan-edit-form select{color:#364b39;width:100%;font:inherit;background:#fff;border:1px solid #dce2d5;border-radius:5px;margin:0;padding:8px}.plan-review{border-top:1px solid #e3e9dd;margin-top:14px;padding-top:14px;font-size:11px}.plan-review form{gap:9px;display:grid}.plan-review label{color:#71816c;flex-direction:column;gap:5px;display:flex}.plan-review input,.plan-review select,.plan-review textarea{color:#364b39;width:100%;font:inherit;background:#fff;border:1px solid #dce2d5;border-radius:5px;margin:0;padding:7px}.review-boundary{grid-template-columns:1fr 80px 80px;align-items:center;gap:7px;display:grid}.review-result{background:#eff5e9;border-radius:8px;margin-top:13px;padding:12px;line-height:1.8}.review-result ul{padding-left:18px}.plan-adjustments{border-top:1px solid #dce8df;margin-top:24px;padding-top:18px}.plan-adjustments h3{margin:0 0 8px}.plan-adjustment{background:#f8fbf8;border:1px solid #dce8df;border-radius:12px;margin-top:14px;padding:16px}.plan-adjustment p{margin:8px 0}:root{--ink:#263b36;--muted:#71807b;--line:#e4ebe7;--accent:#248779;--wash:#f4f7f5}body{-webkit-font-smoothing:antialiased;line-height:1.5}button,input,select,textarea{font-variant-numeric:tabular-nums;font-family:inherit}a{color:var(--accent);text-underline-offset:3px}button,.button{font-size:13px;font-weight:500}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.training-workspace{min-width:0;margin:36px 0 48px}.training-workspace .library-heading h1{letter-spacing:-.5px;font-size:28px;font-weight:600;line-height:1.35}.training-workspace .eyebrow{color:#84948b;letter-spacing:2px;font-size:10px;font-weight:600}.page-description,.load-summary{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.8}.report-page>.load-summary{margin:-6px 0 24px}.training-card{border-color:var(--line);border-radius:14px;min-width:0;padding:26px 28px;box-shadow:0 2px 6px #233d3010}.training-card h2{letter-spacing:-.2px;color:var(--ink);font-size:17px;font-weight:600}.training-card p{color:var(--muted);font-size:13px;line-height:1.8}.training-card .error{color:#ac4d35}.training-card .success-message{color:#237666;background:#edf7f2;border-radius:8px;padding:12px 16px}.report-page .training-card+.training-card{margin-top:22px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.section-heading h2{margin:0}.section-heading p{margin:6px 0 0}.section-index{color:#c1cfc6;font-size:25px;font-weight:400;line-height:1}.subtle-badge{border:1px solid var(--line);color:var(--muted);background:#fafcfb;border-radius:6px;flex-shrink:0;padding:4px 9px;font-size:11px;display:inline-flex}.muted,.unit{color:var(--muted)}.unit{font-size:11px}.nowrap{white-space:nowrap}.text-link{font-size:12px;font-weight:500;line-height:1.8;text-decoration:none}.text-link:hover,.record-source:hover,.week-link:hover{text-decoration:underline}.load-windows{border:1px solid var(--line);background:#edf1ed;border-radius:10px;flex-wrap:wrap;align-items:center;gap:3px;padding:4px;display:inline-flex}.load-windows button{color:#758179;background:0 0;border:0;border-radius:7px;min-height:34px;padding:7px 14px;font-size:12px}.load-windows button.active{color:#266e61;background:#fff;font-weight:600;box-shadow:0 1px 4px #15392a15}.load-windows button:hover{color:var(--accent);background:#ffffff90}.report-toolbar{margin:0 0 24px}.report-toolbar .training-form{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:18px;padding:18px}.report-period{color:#5e7167;flex-wrap:wrap;gap:10px 18px;margin:0 0 16px;font-size:12px;display:flex}.report-period span{color:#86928b}.overview-stats{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 24px;padding:24px 0;display:grid}.overview-stats>div{border-right:1px solid var(--line);min-width:0;padding:0 24px}.overview-stats>div:last-child{border:0}.overview-stats dt{color:#63776a;font-size:12px}.overview-stats dd{color:var(--ink);letter-spacing:-.7px;margin:12px 0 9px;font-size:30px;font-weight:600;line-height:1.25}.overview-stats dd small{letter-spacing:0;color:var(--muted);font-size:12px;font-weight:400}.overview-stats .time-value{letter-spacing:-.7px;font-size:23px;line-height:1.63}.overview-stats>div>span{color:#8a958e;font-size:11px}.report-table-scroll{border:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#c7d4cc transparent;border-radius:10px;width:100%;max-width:100%;overflow:auto}.report-table{border-collapse:collapse;text-align:left;width:100%;min-width:620px;font-size:12px;line-height:1.65}.report-table th{color:#718077;white-space:nowrap;border-bottom:1px solid var(--line);background:#f5f8f6;padding:12px 16px;font-weight:500}.report-table td{color:#42564d;vertical-align:middle;border-bottom:1px solid #edf1ee;padding:17px 16px}.report-table tbody tr:last-child td{border-bottom:0}.report-table tbody tr:hover{background:#f9fbf9}.report-table strong{color:#263e33;font-weight:600}.report-table .numeric{text-align:right;white-space:nowrap}.report-table small{color:#8b988f;margin-top:3px;font-size:10px;font-weight:400;display:block}.report-table .muted{color:#839087}.weekly-table{min-width:960px}.week-link{color:#3b6356;white-space:nowrap;font-weight:500;text-decoration:none}.week-link>span{color:#91a096;margin-left:4px}.report-table .intensity-cell{min-width:160px;max-width:210px}.intensity-bar{background:#edf2ed;border-radius:5px;gap:2px;width:100%;height:7px;display:flex;overflow:hidden}.intensity-bar>span{height:100%;display:block}.intensity-legend{color:#839188;flex-wrap:wrap;gap:3px 9px;margin-top:8px;font-size:10px;display:flex}.intensity-legend>span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.intensity-legend i{border-radius:50%;width:5px;height:5px}.table-footnote{margin:14px 0 0;color:#87968c!important;font-size:11px!important}.record-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.power-record{border:1px solid var(--line);background:linear-gradient(135deg,#f7faf7,#fff);border-radius:10px;min-width:0;padding:20px}.record-duration{color:#637b6c;font-size:12px;font-weight:500;display:block}.training-card .record-value{letter-spacing:-1px;color:#284d3d;margin:12px 0 16px;font-size:34px;font-weight:600;line-height:1.1}.record-value small{letter-spacing:0;color:#7a8c80;font-size:12px;font-weight:400}.record-source{overflow-wrap:anywhere;color:#4b7160;margin-bottom:6px;font-size:12px;font-weight:500;text-decoration:none;display:block}.record-source>span{color:#95a69b}.record-meta{color:#87968a;font-size:11px;line-height:1.8;display:block}.coverage-summary{gap:40px;margin:0 0 16px;display:flex}.coverage-summary>div{align-items:center;gap:16px;display:flex}.coverage-summary strong{color:#334d40;font-size:25px;font-weight:500}.coverage-summary small{color:var(--muted);font-size:11px;font-weight:400}.status-badge{white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;font-weight:500;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px}.status-badge.used{color:#377a62;background:#edf6ef}.status-badge.skipped{color:#89754b;background:#f7f3e9}.status-badge.excluded{color:#9a5b45;background:#f3e6e0}.reason-chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.reason-chips>span{color:#827557;background:#faf7ef;border-radius:6px;padding:6px 10px;font-size:11px}.reason-chips b{margin-left:8px;font-weight:600}.bounded-table{max-height:400px}.bounded-table th{z-index:1;position:sticky;top:0}.activity-name{overflow-wrap:anywhere;min-width:160px;max-width:300px}.report-disclosure{border-top:1px solid var(--line);color:#617869;margin-top:20px;padding-top:16px;font-size:12px}.report-disclosure summary{cursor:pointer;font-weight:500;line-height:1.8}.report-disclosure summary span{color:#8a978e;margin-left:10px;font-size:11px;font-weight:400}.report-disclosure[open]>summary{margin-bottom:18px}.history-timeline{margin:0;padding:0;list-style:none}.history-timeline li{color:#8a988e;border-bottom:1px solid #edf1ee;flex-wrap:wrap;align-items:center;gap:16px;padding:13px 0;font-size:12px;display:flex}.history-timeline strong{color:#32513d;font-size:18px;font-weight:500}.history-timeline small{color:var(--muted);font-size:11px;font-weight:400}.coverage-list,.analysis-notes{color:#7d897c;padding-left:18px;font-size:12px;line-height:1.9}.settings-tabs{border-bottom:1px solid var(--line);gap:24px;margin:-4px 0 24px;display:flex}.settings-tabs a{color:#7a887d;white-space:nowrap;padding:13px 0;font-size:13px;text-decoration:none;position:relative}.settings-tabs a.active{color:#247c69;font-weight:600}.settings-tabs a.active:after{content:"";background:#388e76;height:2px;position:absolute;bottom:-1px;left:0;right:0}.report-page .settings-panel{padding:30px;margin-top:0!important}.metric-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 28px;display:grid}.metric-choices button{text-align:left;border:1px solid var(--line);background:#fbfcfa;border-radius:10px;padding:18px}.metric-choices button.selected{background:#f0f7f0;border-color:#70a590;box-shadow:inset 0 0 0 1px #70a59025}.metric-choices button>span{color:#708376;font-size:12px;display:block}.metric-choices button>strong{letter-spacing:-.5px;color:#2c503b;margin:12px 0;font-size:27px;font-weight:500;display:block}.metric-choices small{color:#7f8f82;letter-spacing:0;font-size:11px;font-weight:400}.metric-choices .choice-action{color:#8b9d8c;font-size:10px}.metric-choices .selected .choice-action{color:#3c8162}.training-form label{color:#637669;font-size:12px}.training-form input,.training-form select{color:#354c3d;border-color:#dce5df;border-radius:7px;min-height:42px;font-size:13px}.training-form input::placeholder{color:#a2ada5}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;max-width:700px;display:grid}.settings-form label{min-width:0}.settings-form .full-width,.settings-form .form-footer{grid-column:1/-1}.field-hint{color:#919f93;font-size:11px}.form-footer{flex-wrap:wrap;align-items:center;gap:16px;padding-top:4px;display:flex}.form-footer>span{color:#91a090;font-size:11px}.form-footer button{min-width:120px}.setting-values{background:#f6f9f5;border-radius:10px;gap:54px;margin:0 0 28px;padding:20px 24px;display:flex}.setting-values dt{color:#7a8c7d;font-size:12px}.setting-values dd{color:#2a4e38;margin:8px 0 0;font-size:28px;font-weight:500}.setting-values small{color:#8a988c;font-size:12px;font-weight:400}@media (width<=900px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0}.overview-stats>div:nth-child(2n){border-right:0}}@media (width<=650px){.training-workspace{margin-top:26px}.training-workspace .library-heading h1{font-size:25px}.training-card,.report-page .settings-panel{border-radius:12px;padding:20px 16px}.section-heading{gap:10px;margin-bottom:20px}.section-heading h2{font-size:16px}.section-heading p{font-size:12px}.subtle-badge{font-size:10px}.overview-stats{padding:20px 0}.overview-stats>div{padding:0 16px}.overview-stats dd{font-size:25px}.overview-stats .time-value{font-size:18px;line-height:1.74}.overview-stats>div>span{font-size:10px}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.power-record{padding:16px 12px}.training-card .record-value{font-size:29px}.record-source{font-size:11px}.record-meta{font-size:10px}.coverage-summary{gap:20px}.coverage-summary>div{gap:8px}.coverage-summary strong{font-size:22px}.metric-choices{gap:6px}.metric-choices button{padding:13px 9px}.metric-choices button>strong{font-size:22px}.metric-choices button>span{font-size:11px}.metric-choices small{margin-top:4px;font-size:10px;display:block}.settings-form{grid-template-columns:1fr;gap:16px}.settings-form input,.settings-form select{min-width:0;max-width:100%;font-size:16px}.settings-tabs{gap:24px}.setting-values{gap:30px;padding:16px}}.report-page .intensity-bar+.report-table-scroll{margin-top:20px}.report-page .load-chart-empty{text-align:center;background:#f7faf7;border-radius:10px;padding:28px 12px}.calendar-page{margin-top:32px}.calendar-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.calendar-view-switch{border:1px solid var(--line);background:#edf1ed;border-radius:9px;padding:3px;display:inline-flex}.calendar-view-switch button{background:0 0;border:0;border-radius:7px;padding:6px 14px;font-size:12px}.calendar-view-switch button.selected{color:#2f5f4a;background:#fff;box-shadow:0 1px 3px #1e3c2d1f}.calendar-nav{gap:6px;display:inline-flex}.calendar-nav button{padding:7px 11px;font-size:12px}.calendar-range{color:#40544a;font-size:14px}.calendar-workspace{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);align-items:start;gap:20px;display:grid}.calendar-month,.calendar-week{min-width:0}.calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px;display:grid}.calendar-weekdays span{text-align:center;color:#859078;font-size:11px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-cell{text-align:left;color:#52655a;background:#fff;border:1px solid #e3e9df;border-radius:9px;flex-direction:column;align-items:stretch;gap:3px;min-height:92px;padding:8px;font-size:11px;display:flex;overflow:hidden}.calendar-cell:hover{border-color:#b9cbb8}.calendar-cell.outside{color:#a6b1a3;background:#f6f8f4}.calendar-cell.today{border-color:#7fa98c;box-shadow:inset 0 0 0 1px #7fa98c}.calendar-cell.selected{background:#f1f8f2;border-color:#3f7a58;box-shadow:inset 0 0 0 1px #3f7a58}.calendar-cell.has-session{background:#f4f9f6}.calendar-cell.selected.has-session{background:#eaf5ed}.cell-top{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.cell-day{color:#33493d;font-size:14px;font-weight:650}.calendar-cell.outside .cell-day{color:#a6b1a3;font-weight:500}.cell-load{color:#6b7d70;white-space:nowrap;font-size:10px}.cell-line{color:#5c7a64;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.cell-dots{gap:3px;margin-top:1px;display:none}.cell-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.cell-dot.ride{background:#4f8a63}.cell-dot.excluded{background:#c08a6d}.cell-dot.session{background:#5b7fa6}.cell-session{color:#2f6247;white-space:nowrap;text-overflow:ellipsis;background:#e6f1e8;border-radius:5px;padding:2px 5px;font-size:10px;line-height:1.4;display:block;overflow:hidden}.cell-session.done{color:#46596b;background:#e9eef3}.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.week-column{background:#fff;border:1px solid #e3e9df;border-radius:9px;flex-direction:column;gap:6px;min-width:0;min-height:210px;padding:8px;display:flex}.week-column.today{border-color:#7fa98c}.week-column.selected{background:#f7fbf8;border-color:#3f7a58}.week-column-head{text-align:left;color:#859078;background:0 0;border:0;border-bottom:1px solid #eef2ec;flex-direction:column;gap:1px;padding:2px 2px 6px;font-size:10px;display:flex}.week-column-head strong{color:#33493d;font-size:13px}.week-item{color:#3f5c4a;text-align:left;overflow-wrap:anywhere;background:#f4f9f5;border:1px solid #dfe9e0;border-radius:7px;flex-direction:column;gap:1px;width:100%;padding:6px 7px;font-size:10px;text-decoration:none;display:flex}.week-item strong{font-size:11px;font-weight:600}.week-item.excluded{color:#8d5f4c;background:#fbf3ef;border-color:#ecd9d0}.week-item.session.done{color:#55677a;background:#f4f6f8;border-color:#dfe4ea}.week-empty{text-align:center;color:#b3bdb2;margin:0;font-size:11px}.calendar-day-panel{background:#fff;border:1px solid #e0e5d9;border-radius:15px;min-width:0;padding:20px;position:sticky;top:150px}.day-panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.day-panel-heading .eyebrow{margin:0;font-size:9px}.day-panel-heading h2{margin:8px 0 0;font-size:20px}.day-panel-heading h2 small{color:#35704c;background:#e9f3ea;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:11px;font-weight:400}.calendar-day-panel .text-link{white-space:nowrap;font-size:11px}.day-summary{border-block:1px solid #edf1ea;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;margin:16px 0 10px;padding:14px 0;display:grid}.day-summary dt{color:#859078;font-size:10px}.day-summary dd{color:#33493d;white-space:nowrap;margin:4px 0 0;font-size:16px;font-weight:650}.day-summary dd small{color:#8b9683;font-size:10px;font-weight:400}.day-status{color:#6b7d70;margin:0 0 14px;font-size:11px;line-height:1.7}.calendar-day-panel h3{margin:16px 0 8px;font-size:14px}.day-ride-list,.day-session-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.day-ride-list li{color:#52655a;border:1px solid #e6ece3;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 10px;font-size:11px;display:flex}.day-ride-list li.excluded{color:#8d5f4c;background:#fbf3ef;border-color:#ecd9d0}.day-ride-list a{color:#2f5f4a;font-size:12px;font-weight:600;text-decoration:none}.day-ride-list a:hover{text-decoration:underline}.day-session-list>li{color:#52655a;background:#f8fbf8;border:1px solid #e3ebe4;border-radius:8px;padding:10px 12px;font-size:11px}.session-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.session-head strong{color:#2f4a3b;font-size:13px}.day-session-list p{color:#62766a;margin:6px 0;line-height:1.7}.day-session-list .actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.day-session-list .actions button{padding:5px 9px;font-size:11px}.calendar-move-form{background:#fff;border:1px solid #dfe9e0;border-radius:8px;margin-top:10px;padding:11px}.calendar-move-form>p{color:#6b7d70;margin:0 0 8px;font-size:11px}.calendar-move-form label{color:#52655a;flex-direction:column;gap:5px;margin-bottom:8px;font-size:11px;display:flex}.calendar-move-form input{height:32px;font:inherit;border:1px solid #dce2d5;border-radius:7px;padding:6px 9px;font-size:12px}.calendar-notes{color:#7b877a;margin:16px 0 0;padding-left:18px;font-size:10px;line-height:1.7}@media (width<=1180px){.calendar-workspace{grid-template-columns:minmax(0,1fr)}.calendar-day-panel{position:static}.calendar-week{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.calendar-page{margin-top:20px}.calendar-toolbar{gap:8px}.calendar-range{flex-basis:100%}.calendar-cell{gap:2px;min-height:62px;padding:6px}.cell-day{font-size:12px}.cell-load,.cell-line,.cell-session{display:none}.cell-dots{display:inline-flex}.calendar-weekdays,.calendar-grid{gap:3px}.calendar-week{grid-template-columns:minmax(0,1fr)}.week-column{min-height:0}.calendar-day-panel{padding:14px}.day-summary{gap:10px 8px}.day-summary dd{font-size:14px}}.ftp-candidate{background:#f7faf6;border:1px solid #e3ebe4;border-radius:9px;margin:14px 0;padding:13px}.ftp-candidate-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.ftp-candidate-head h3{color:#2f4a3b;margin:0;font-size:14px}.ftp-candidate-value{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:9px 0 6px;display:flex}.ftp-candidate-value strong{color:#2f4a3b;font-size:20px}.ftp-candidate-value span{color:#75857a;font-size:11px}.ftp-candidate-evidence{color:#56695c;gap:3px;margin:6px 0;padding:0;font-size:11px;list-style:none;display:grid}.ftp-candidate-flags{color:#8a6a35;margin:7px 0;padding-left:18px;font-size:11px}.ftp-candidate-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.basis-cell{color:#637467;max-width:260px;font-size:11px}.tte-card{background:#f8faf7;border:1px solid #e3ebe4;border-radius:9px;margin:14px 0;padding:13px}.ability-notice{color:#5f7366;margin:8px 0 12px;font-size:12px}.ability-table .ability-bar-cell{width:28%}.ability-bar{background:#eaf0ea;border-radius:999px;height:8px;display:block;overflow:hidden}.ability-bar>span{background:#5f8f70;border-radius:999px;height:100%;display:block}.change-improved{color:#3f6a50}.change-declined{color:#a45a45}.change-stable{color:#75857a}.change-badge{background:#eef3ef;border-radius:999px;padding:2px 8px;font-size:11px;display:inline-block}.change-badge.change-improved{background:#e6f1e9}.change-badge.change-declined{background:#f6e9e4}.change-badge.change-stable{background:#f0f2ee}.change-record_change{color:#6d6a5c}.change-badge.change-record_change{background:#efece2}.comparability-notes{color:#6d6a5c;background:#faf8f0;border:1px solid #e7e3d6;border-radius:7px;gap:6px;margin:10px 0 0;padding:10px 12px;font-size:11px;line-height:1.7;display:grid}.ability-verdicts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:10px;display:grid}.ability-verdicts h3{color:#33473c;margin:0 0 5px;font-size:13px}.ability-verdicts ul{color:#56695c;gap:3px;margin:0;padding-left:17px;font-size:12px;display:grid}.ability-preference{gap:7px;margin:10px 0 4px;display:grid}.ability-preference-row{color:#56695c;grid-template-columns:58px minmax(120px,1fr) auto;align-items:center;gap:8px;font-size:12px;display:grid}.ability-preference-label{color:#33473c}.ability-preference-bar{background:#eef2ee;border-radius:999px;height:9px;overflow:hidden}.ability-preference-bar>span{border-radius:999px;height:100%;display:block}.ability-preference-value{color:#75857a;font-size:11px}.ability-notes ul{color:#637467;gap:4px;margin:6px 0;padding-left:18px;font-size:12px;display:grid}@media (width<=640px){.ability-preference-row{grid-template-columns:52px 1fr}.ability-preference-value{grid-column:2}}.cycle-section{border-top:1px solid #e6ece3;margin-top:18px;padding-top:14px}.cycle-head{justify-content:space-between;align-items:flex-start;gap:12px;margin:8px 0;display:flex}.cycle-head>div{flex-direction:column;gap:4px;display:flex}.cycle-head strong{color:#2f4a3b}.cycle-head span{color:#75857a;font-size:11px}.cycle-warnings{color:#8a6a35;gap:3px;margin:8px 0;padding-left:18px;font-size:12px;display:grid}.cycle-table small{color:#75857a;font-size:11px;display:block}.cycle-session{color:#56695c;font-size:11px;display:block}.cycle-risk{color:#8a6a35;align-items:flex-start;gap:7px;margin:10px 0;font-size:12px;display:flex}.cycle-actions{margin:10px 0}.cycle-baseline{background:#f8fbf7;border:1px solid #dde8df;border-radius:10px;margin:10px 0;padding:12px}.cycle-baseline-head{color:#2f4a3b;justify-content:space-between;gap:12px;display:flex}.cycle-baseline-head span{color:#75857a;font-size:11px}.cycle-baseline dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0;display:grid}.cycle-baseline dl>div{background:#eef5ed;border-radius:8px;padding:8px}.cycle-baseline dt{color:#75857a;font-size:11px}.cycle-baseline dd{color:#2f4a3b;margin:3px 0 0;font-weight:650}.cycle-baseline p{color:#56695c;margin:0;font-size:12px}@media (width<=640px){.cycle-baseline-head{flex-direction:column;gap:3px}.cycle-baseline dl{grid-template-columns:repeat(2,minmax(0,1fr))}}.cycle-banner{background:#f5f9f4;border:1px solid #dde8df;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 14px;padding:12px 14px;display:flex}.cycle-banner-main{color:#56695c;flex-direction:column;gap:4px;font-size:12px;display:flex}.cycle-banner-main strong{color:#2f4a3b;font-size:14px}.cycle-banner-side{color:#637467;text-align:right;flex-direction:column;align-items:flex-end;gap:5px;font-size:11px;display:flex}@media (width<=640px){.cycle-banner{flex-direction:column}.cycle-banner-side{text-align:left;align-items:flex-start}}.review-quality{background:#f7faf6;border:1px solid #e3ebe4;border-radius:8px;margin:8px 0;padding:10px}.review-quality-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:0 0 8px;display:grid}.review-quality-metrics dt{color:#75857a;font-size:11px}.review-quality-metrics dd{color:#2f4a3b;margin:2px 0 0;font-size:14px;font-weight:600}.review-quality-reasons{color:#8a6a35;gap:3px;margin:6px 0;padding-left:18px;font-size:12px;display:grid}.review-step-table td,.review-step-table th{font-size:11px}.plan-session,.plan-review,.review-result,.review-quality{min-width:0;max-width:100%}.review-result .report-table-scroll{max-width:100%;overflow-x:auto}.review-step-table{min-width:680px}.plan-weekly-guidance{background:#f7faf6;border:1px solid #dde8df;border-radius:10px;margin:16px 0;padding:12px}.plan-weekly-guidance h3{margin:0 0 6px;font-size:14px}.plan-weekly-item{background:#fff;border:1px solid #e3ebe4;border-radius:8px;margin-top:10px;padding:10px}.plan-weekly-item>strong{color:#2f4a3b}.guidance-basis{color:#56695c;gap:3px;margin:6px 0;padding-left:18px;font-size:11px;display:grid}.guidance-action{color:#56695c;background:#f5f9f4;border-left:3px solid #8fb6a0;flex-direction:column;gap:2px;margin:6px 0;padding:8px;font-size:11px;display:flex}.guidance-action strong{color:#2f4a3b;font-size:12px}.coach-card{margin:12px 0}.coach-head{color:#56695c;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;display:flex}.coach-summary{color:#2f4a3b;margin:8px 0;font-size:13px;line-height:1.7}.coach-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.coach-grid h3{color:#2f4a3b;margin:4px 0;font-size:12px}.coach-list{color:#56695c;gap:4px;margin:0;padding-left:18px;font-size:12px;display:grid}.coach-evidence{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px;margin:6px 0;padding:0;list-style:none;display:grid}.coach-evidence li{color:#56695c;border:1px solid #e3ebe4;border-radius:6px;flex-direction:column;gap:1px;padding:6px 8px;font-size:11px;display:flex}.coach-evidence strong{color:#2f4a3b;font-size:13px}.coach-evidence small{color:#8a9b8e}.vo2max-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.vo2max-head>div{flex-direction:column;gap:2px;display:flex}.vo2max-head span{color:#56695c;font-size:11px}.vo2max-value{color:#2f4a3b;font-size:24px}.vo2max-facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px;margin:8px 0;display:grid}.vo2max-facts div{background:#f7faf6;border:1px solid #e3ebe4;border-radius:6px;padding:6px 8px}.vo2max-facts dt{color:#75857a;font-size:11px}.vo2max-facts dd{color:#2f4a3b;overflow-wrap:anywhere;margin:2px 0 0;font-size:12px}.vo2max-flags{color:#8a6a35;gap:3px;margin:6px 0;padding-left:18px;font-size:11px;display:grid}.metabolism-card .vo2max-value{font-size:20px}.metabolism-table td,.metabolism-table th{font-size:11px}.effect-card{margin-top:12px}.effect-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:8px 0;display:grid}.effect-block{background:#f7faf6;border:1px solid #e3ebe4;border-radius:8px;padding:8px 10px}.effect-block h4{color:#2f4a3b;margin:0 0 4px;font-size:12px}.effect-block p{color:#56695c;overflow-wrap:anywhere;margin:4px 0;font-size:11px}.effect-pill{color:#2f4a3b;background:#e8efe9;border-radius:8px;padding:0 6px;font-size:10px;display:inline-block}.effect-pill.good{color:#2d5a35;background:#dcefdc}.effect-pill.moderate{color:#7a5b1f;background:#f3e8c8}.effect-pill.high{color:#7a3323;background:#f3d9d3}.effect-table td,.effect-table th,.predicted-table td,.predicted-table th{font-size:11px}.predicted-envs{gap:3px;margin:6px 0;display:grid}.predicted-envs p{color:#56695c;margin:0;font-size:11px}.lactate-layout{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:12px;display:grid}.lactate-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.lactate-form label,.lactate-report label{color:#56695c;flex-direction:column;gap:3px;font-size:11px;display:flex}.lactate-form input,.lactate-report select{min-width:0}.lactate-table input{width:100%;min-width:64px}.lactate-thresholds{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin:8px 0;display:grid}.lactate-thresholds div{background:#f7faf6;border:1px solid #e3ebe4;border-radius:6px;padding:6px 8px}.lactate-thresholds dt{color:#75857a;font-size:11px}.lactate-thresholds dd{color:#2f4a3b;margin:2px 0 0;font-size:12px}
