:root{--line-strong:oklch(0.85 0.009 260);--up:oklch(0.55 0.14 150);--live:oklch(0.68 0.17 150)}.dark{--line-strong:oklch(0.34 0.008 260);--up:oklch(0.7 0.15 150);--live:oklch(0.72 0.17 150)}.dashboard-widgets-masonry{column-count:2;column-gap:16px}.dashboard-widgets-masonry>*{page-break-inside:avoid;break-inside:avoid;margin-bottom:16px}.dashboard-recent-workouts-card{align-content:start}.workouts-table.dashboard-recent-workouts-table{min-width:0}.dashboard-home{display:grid;grid-gap:18px;gap:18px}.dashboard-widget-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.dashboard-widget-header>div{min-width:0}.dashboard-widget-header h2{font-size:14px;font-weight:700;letter-spacing:0}.dashboard-widget-header p{font-size:13px;line-height:1.45}.dashboard-analysis-preview-section,.dashboard-home-top-section{display:grid;grid-gap:16px;gap:16px}.dashboard-home-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:stretch}.dashboard-home-top-grid>*{min-width:0}.dashboard-account-status-widget,.dashboard-lactate-snapshot-widget,.dashboard-training-summary-widget,.dashboard-weekly-trend-widget{--dashboard-widget-week-control-size:32px;width:100%;max-width:333px;min-height:276px;align-content:space-between;gap:14px;border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--surface);box-shadow:0 12px 32px -24px rgba(15,23,42,.22)}.dashboard-account-status-widget .dashboard-widget-header,.dashboard-lactate-snapshot-widget .dashboard-widget-header,.dashboard-training-summary-widget .dashboard-widget-header,.dashboard-weekly-trend-widget .dashboard-widget-header{align-items:center}.dashboard-training-summary-widget .dashboard-widget-header{align-items:flex-start;flex-wrap:nowrap;gap:12px}.dashboard-training-summary-widget .dashboard-widget-header h2{white-space:nowrap}.dashboard-account-status-action{display:inline-flex;align-items:center;min-height:0;border:0;padding:0;background:transparent;color:var(--primary-strong);font-size:12px;font-weight:800;line-height:1;white-space:nowrap}.dashboard-account-status-action:hover{color:var(--primary);text-decoration:underline;text-underline-offset:3px}.dashboard-weekly-trend-range-label{font-size:12px;font-weight:800}.dashboard-lactate-snapshot-week-label,.dashboard-training-summary-week-label,.dashboard-weekly-trend-range-label{display:inline-flex;align-items:center;justify-content:center;min-height:var(--dashboard-widget-week-control-size);border:1px solid var(--line);border-radius:999px;padding:0 9px;background:var(--primary-subtle);color:var(--primary-strong);line-height:1;white-space:nowrap}.dashboard-lactate-snapshot-week-label,.dashboard-training-summary-week-label{min-width:0;font-size:13px;font-weight:700;text-align:center}.dashboard-lactate-snapshot-week-controls,.dashboard-training-summary-week-controls{display:grid;grid-template-columns:var(--dashboard-widget-week-control-size) minmax(0,max-content) var(--dashboard-widget-week-control-size);align-items:center;justify-content:end;grid-gap:6px;gap:6px;min-width:0}.dashboard-training-summary-week-controls{grid-template-columns:minmax(0,max-content) var(--dashboard-widget-week-control-size) var(--dashboard-widget-week-control-size);gap:6px}.dashboard-lactate-snapshot-week-controls button,.dashboard-training-summary-week-controls button{width:var(--dashboard-widget-week-control-size);min-width:var(--dashboard-widget-week-control-size);height:var(--dashboard-widget-week-control-size);min-height:var(--dashboard-widget-week-control-size);border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--text-1);font-size:14px;font-weight:800;line-height:1}.dashboard-lactate-snapshot-week-controls button:hover:not(:disabled),.dashboard-training-summary-week-controls button:hover:not(:disabled){border-color:var(--primary)}.dashboard-training-summary-widget,.dashboard-weekly-trend-widget{--dashboard-widget-week-control-size:24px}.dashboard-training-summary-widget .dashboard-training-summary-week-label{width:90px;min-height:var(--dashboard-widget-week-control-size);padding:0 8px;font-size:12px;font-weight:800}.dashboard-training-summary-widget .dashboard-training-summary-week-label-skeleton{width:100%}.dashboard-weekly-trend-widget .dashboard-weekly-trend-range-label{min-height:var(--dashboard-widget-week-control-size);padding:0 10px;font-size:12px;font-weight:800}.dashboard-training-summary-widget .dashboard-training-summary-week-controls button{border-radius:8px;padding:0;background:var(--surface);color:var(--text-2);font-size:14px;box-shadow:none}.dashboard-training-summary-widget .dashboard-training-summary-week-controls button:disabled{border-color:color-mix(in srgb,var(--line) 58%,transparent);background:color-mix(in srgb,var(--surface) 82%,var(--bg));color:var(--line-strong)}.dashboard-account-status-body,.dashboard-lactate-snapshot-body,.dashboard-training-summary-body,.dashboard-weekly-trend-body{min-height:170px;display:grid;align-items:stretch}.dashboard-account-status-content,.dashboard-lactate-snapshot-content,.dashboard-training-summary-content,.dashboard-weekly-trend-content{display:grid;grid-gap:14px;gap:14px}.dashboard-account-status-metrics,.dashboard-lactate-snapshot-metrics,.dashboard-training-summary-metrics,.dashboard-weekly-trend-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0}.dashboard-account-status-metric,.dashboard-lactate-snapshot-metric,.dashboard-training-summary-metric,.dashboard-weekly-trend-metric,.dashboard-widget-state{border:1px solid var(--line);border-radius:8px;background:var(--bg)}.dashboard-account-status-metric,.dashboard-lactate-snapshot-metric,.dashboard-training-summary-metric,.dashboard-weekly-trend-metric{display:grid;align-content:center;grid-gap:6px;gap:6px;height:78px;min-height:78px;padding:10px}.dashboard-account-status-metrics dt,.dashboard-lactate-snapshot-metrics dt,.dashboard-training-summary-metrics dt,.dashboard-weekly-trend-metrics dt{color:var(--text-2);font-size:12px;font-weight:700}.dashboard-account-status-metrics dd,.dashboard-lactate-snapshot-metrics dd,.dashboard-training-summary-metrics dd,.dashboard-weekly-trend-metrics dd{margin:0;color:var(--text-1);font-size:20px;font-weight:700;line-height:1.15}.dashboard-lactate-snapshot-metrics dd,.dashboard-weekly-trend-metrics dd{font-size:19px}.dashboard-account-status-metrics dd{font-size:18px}.dashboard-lactate-snapshot-status{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:var(--bg);color:var(--text-2);font-size:13px;font-weight:700}.dashboard-lactate-snapshot-status a{color:var(--primary);font-weight:800}.dashboard-lactate-snapshot-status a:hover{text-decoration:underline}.dashboard-widget-hero{display:flex;align-items:baseline;gap:8px;min-width:0}.dashboard-widget-hero .num{min-width:0;color:var(--text-1);font-size:44px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0;line-height:.9;overflow-wrap:anywhere}.dashboard-widget-hero .num.neon{color:var(--primary)}.dashboard-widget-hero .unit{color:var(--muted);font-size:14px;font-weight:700;white-space:nowrap}.dashboard-training-summary-widget .dashboard-widget-hero{gap:6px}.dashboard-training-summary-widget .dashboard-widget-hero .unit{color:var(--text-2);font-size:14px;font-weight:800}.dashboard-widget-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--text-2);font-size:12px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dashboard-widget-meta b{color:var(--text-1);font-weight:800}.dashboard-account-status-rows{display:grid;grid-gap:8px;gap:8px;margin:0}.dashboard-account-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:11px;padding:9px 11px;background:var(--bg);font-size:12.5px}.dashboard-account-status-row dt{color:var(--text-2);font-weight:700}.dashboard-account-status-row dd{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--text-1);font-weight:800}.dashboard-account-status-dot{width:7px;height:7px;flex-shrink:0;border-radius:999px;background:var(--live)}.dashboard-account-status-highlights{min-height:40px;display:flex;align-items:center;gap:5px;flex-wrap:wrap;border:0;border-radius:8px;padding:0;background:transparent;color:var(--text-2)}.dashboard-account-status-highlight{border-radius:999px;padding:4px 8px;background:var(--primary-subtle);color:var(--primary-strong);font-size:10.5px;font-weight:800;line-height:1.25}.dashboard-training-summary-skeleton,.dashboard-widget-skeleton{display:block;border-radius:999px;background:linear-gradient(90deg,var(--bg) 0,color-mix(in srgb,var(--line) 72%,var(--surface)) 50%,var(--bg) 100%);background-size:200% 100%;animation:dashboard-widget-skeleton 1.1s ease-in-out infinite}.dashboard-training-summary-metric-skeleton{width:min(68px,100%);height:22px}.dashboard-training-summary-hero-skeleton{width:132px;height:40px;border-radius:12px}.dashboard-training-summary-meta-skeleton{width:180px;height:16px}.dashboard-weekly-trend-metric-skeleton{width:min(66px,100%);height:22px}.dashboard-weekly-trend-hero-skeleton{width:120px;height:40px;border-radius:12px}.dashboard-weekly-trend-meta-skeleton{width:170px;height:16px}.dashboard-account-status-metric-skeleton{width:min(70px,100%);height:22px}.dashboard-account-status-hero-skeleton{width:110px;height:28px;border-radius:10px}.dashboard-account-status-highlight-skeleton{width:min(150px,100%);height:14px}.dashboard-lactate-snapshot-week-label-skeleton,.dashboard-training-summary-week-label-skeleton{width:92px;max-width:100%;height:14px}.dashboard-lactate-snapshot-metric-skeleton{width:min(66px,100%);height:22px}.dashboard-training-summary-histogram{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;grid-gap:7px;gap:7px;min-height:116px}.dashboard-training-summary-day{position:relative;display:grid;grid-template-rows:96px 14px;grid-gap:6px;gap:6px;height:116px;min-width:0;overflow:visible;text-align:center}.dashboard-training-summary-day-track{position:relative;display:flex;align-items:flex-end;justify-content:center;min-width:0;height:96px;border:0;border-radius:8px;overflow:visible;padding:0;background:transparent}.dashboard-training-summary-day-track-loading{align-items:flex-end}.dashboard-training-summary-histogram-skeleton{width:min(18px,100%);height:64px;border-radius:999px 999px 3px 3px}.dashboard-training-summary-day-bar{position:relative;width:100%;max-width:18px;min-height:2px;height:calc(8px + var(--dashboard-training-summary-bar-scale) * 88px);border-radius:999px 999px 3px 3px;background:linear-gradient(180deg,var(--primary-mid),var(--primary))}.dashboard-training-summary-day-bar[data-rest-day=true]{width:7px;max-width:7px;height:7px;border-radius:999px;background:var(--line-strong)}.dashboard-training-summary-day-track:hover .dashboard-training-summary-day-bar{filter:brightness(1.08)}.dashboard-training-summary-day-track:hover{z-index:10}.dashboard-training-summary-day-bar[data-tooltip]:hover{z-index:11}.dashboard-training-summary-day-bar[data-tooltip]:before{content:attr(data-tooltip);position:absolute;z-index:2;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);border-radius:8px;padding:5px 9px;background:var(--text-1);box-shadow:0 6px 18px -8px rgba(15,23,42,.5);color:var(--surface);font-size:11.5px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1;opacity:0;pointer-events:none;visibility:hidden;white-space:nowrap}.dashboard-training-summary-day-bar[data-tooltip]:after{content:"";position:absolute;z-index:2;bottom:calc(100% - 2px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--text-1);opacity:0;pointer-events:none;visibility:hidden}.dashboard-training-summary-day-bar[data-tooltip]:hover:after,.dashboard-training-summary-day-bar[data-tooltip]:hover:before{opacity:1;visibility:visible}.dashboard-training-summary-day-label{display:block;color:var(--text-2);font-size:11px;font-weight:700;line-height:1}.dashboard-weekly-trend-chart{position:relative;width:100%;min-height:96px}.dashboard-weekly-trend-chart svg{display:block;width:100%;height:auto;overflow:visible}.dashboard-weekly-trend-average-line{stroke:var(--line-strong);stroke-width:1.5;stroke-dasharray:6 4 1.5 4;stroke-linecap:round}.dashboard-weekly-trend-axis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));color:var(--muted);font-size:10px;font-weight:700;text-align:center}.dashboard-weekly-trend-axis span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-weekly-trend-axis .is-current{color:var(--primary-strong)}.dashboard-weekly-trend-tip{position:absolute;z-index:2;top:0;left:0;transform:translate(-50%,calc(-100% - 8px));border-radius:8px;padding:5px 9px;background:var(--text-1);box-shadow:0 6px 18px -8px rgba(15,23,42,.5);color:var(--surface);font-size:11.5px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1;opacity:0;pointer-events:none;visibility:hidden;white-space:nowrap}.dashboard-weekly-trend-chart[data-tip-visible=true] .dashboard-weekly-trend-tip{opacity:1;visibility:visible}.dashboard-weekly-trend-tip b{font-weight:800}.dashboard-weekly-trend-tip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--text-1)}.dashboard-weekly-trend-bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:7px;gap:7px;min-height:74px}.dashboard-weekly-trend-week{display:grid;grid-template-rows:48px auto;grid-gap:6px;gap:6px;min-width:0;text-align:center}.dashboard-weekly-trend-week-track{display:flex;align-items:flex-end;justify-content:center;min-width:0;height:48px;border:1px solid var(--line);border-radius:8px;padding:5px;background:var(--bg)}.dashboard-weekly-trend-week-track.is-current-week{border-color:color-mix(in srgb,var(--primary) 55%,var(--line))}.dashboard-weekly-trend-week-track-loading{align-items:center}.dashboard-weekly-trend-bar-skeleton{width:min(20px,100%);height:32px;border-radius:999px 999px 3px 3px}.dashboard-weekly-trend-week-bar{width:100%;max-width:20px;min-height:2px;height:calc(var(--dashboard-weekly-trend-bar-scale) * 36px);border-radius:999px 999px 3px 3px;background:var(--primary)}.dashboard-weekly-trend-week.is-current-week .dashboard-weekly-trend-week-bar{background:var(--primary-strong)}.dashboard-weekly-trend-week-label{color:var(--text-2);font-size:11px;font-weight:700;line-height:1}.dashboard-widget-state{min-height:118px;display:grid;place-items:center;grid-gap:10px;gap:10px;padding:16px;color:var(--text-2);text-align:center}.dashboard-widget-state p{color:var(--text-2)}.dashboard-widget-state button{justify-self:center}.dashboard-widget-state-error{border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.dashboard-upload-widget{gap:12px}.dashboard-upload-widget-header{gap:4px}.dashboard-upload-widget-section{gap:8px}.dashboard-upload-widget-section h4{margin:0;font-size:14px}.dashboard-upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px}.dashboard-upload-form button{min-width:100px}.dashboard-upload-form input[type=file]{padding:8px}.dashboard-recent-list-wrapper{overflow-x:auto}.dashboard-recent-list-table{width:100%;border-collapse:collapse}.dashboard-recent-list-table td,.dashboard-recent-list-table th{border-bottom:1px solid var(--line);padding:8px 4px;text-align:left;vertical-align:middle}.dashboard-recent-list-row{cursor:pointer}.dashboard-recent-list-row:hover{background:var(--bg)}.dashboard-upload-details-modal{width:min(760px,100%);max-height:90vh;overflow:auto}.dashboard-upload-details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.dashboard-upload-details-content{display:grid;grid-gap:12px;gap:12px}.dashboard-upload-results-grid{display:grid;grid-gap:6px;gap:6px}.dashboard-recent-list-table th{color:var(--muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.dashboard-recent-empty-row{color:var(--muted);text-align:center}.dashboard-recent-refresh-error{color:var(--muted);font-size:13px}@keyframes dashboard-widget-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.dashboard-training-summary-skeleton,.dashboard-widget-skeleton{animation:none}}@media (max-width:920px){.dashboard-home-top-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:520px){.dashboard-lactate-snapshot-week-label,.dashboard-training-summary-week-label{justify-content:center}.dashboard-lactate-snapshot-week-controls,.dashboard-training-summary-week-controls{width:100%;grid-template-columns:32px minmax(0,1fr) 32px;justify-content:stretch}.dashboard-lactate-snapshot-widget .dashboard-widget-header{align-items:stretch}.dashboard-training-summary-week-controls{grid-template-columns:minmax(0,1fr) 24px 24px}}@media (max-width:900px){.dashboard-upload-form{grid-template-columns:1fr}.dashboard-widgets-masonry{column-count:1}}