.progress-blocks{flex-direction:column;gap:16px;display:flex}.progress-tabs{border-radius:var(--radius-control,16px);background:var(--color-surface-muted,#2c2c2e);grid-template-columns:repeat(4,1fr);gap:4px;margin:0 0 16px;padding:4px;display:grid}.progress-tab{border-radius:calc(var(--radius-control,16px) - 4px);min-height:40px;color:var(--color-muted,#8e8e93);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.8125rem;font-weight:600;transition:background .12s,color .12s,box-shadow .12s}.progress-tab:hover{color:var(--color-ink,#fff)}.progress-tab--active{background:var(--color-accent,#a259ff);color:var(--color-accent-ink,#fff);box-shadow:0 1px 3px #0000004d,inset 0 0 0 1px #ffffff0f}.progress-tab--active:hover{color:var(--color-accent-ink,#fff)}.progress-stats{grid-template-columns:1fr 1fr;gap:16px;display:grid}.progress-stat{flex-direction:column;gap:4px;padding:16px;display:flex;container-type:inline-size}.progress-stat__label{opacity:.75;margin:0;font-size:.75rem;font-weight:500;line-height:1rem}.progress-stat__value{letter-spacing:-.02em;white-space:nowrap;margin:0;font-size:min(3rem,22cqw);font-weight:800;line-height:1.17}.progress-stat__unit{letter-spacing:0;opacity:.6;margin-left:.14em;font-size:.32em;font-weight:600;line-height:1}.progress-stat__delta{opacity:.85;margin:0;font-size:.75rem;font-weight:600;line-height:1rem}.progress-stat__delta--up{color:var(--color-success,#34d399);opacity:1}.progress-stat__delta--down{color:var(--color-danger,#f87171);opacity:1}.progress-section-title{text-transform:uppercase;letter-spacing:.05em;opacity:.75;margin:0 0 12px;font-size:.75rem;font-weight:700;line-height:1rem}.progress-panel-hint{opacity:.7;margin:-4px 0 12px;font-size:.75rem;line-height:1rem}.progress-muted{opacity:.75;margin:0}.progress-empty-cta{align-items:center;min-height:3rem;margin-top:12px;display:inline-flex}.progress-week{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:10px;display:grid}.progress-week__label{white-space:nowrap;opacity:.8;font-size:.8125rem;font-weight:600}.progress-week--now .progress-week__label{color:var(--color-accent,#a259ff);opacity:1}.progress-week__track{border-radius:var(--radius-sm,6px);background:var(--color-border,#3a3a3c);flex:1;height:10px;overflow:hidden}.progress-week__fill{background:var(--color-accent,#a259ff);height:100%}.progress-week__fill--lag{background:var(--color-danger,#f87171)}.progress-week__meta{white-space:nowrap;opacity:.8;font-size:.75rem;font-weight:500;line-height:1rem}.progress-part{margin-bottom:10px}.progress-part__top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:.8125rem;font-weight:600;display:flex}.progress-part__label{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:inline-flex}.progress-part__lag{border-radius:var(--radius-pill,999px);background:color-mix(in srgb, var(--color-danger) 14%, transparent);color:var(--color-danger,#f87171);align-items:center;padding:2px 8px;font-size:.6875rem;font-weight:700;line-height:1.2;display:inline-flex}.progress-part__pct{flex-shrink:0}.progress-lifts{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.progress-lift{justify-content:space-between;gap:12px;font-size:.875rem;display:flex}.progress-lift__name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.progress-lift__value{opacity:.8;flex-shrink:0}.progress-trends{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.progress-trend{justify-content:space-between;align-items:center;gap:12px;font-size:.875rem;display:flex}.progress-trend__name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.progress-trend__pill{border-radius:var(--radius-pill,999px);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:700;line-height:1rem;display:inline-flex}.progress-trend__pill--up{background:var(--color-success-bg,#34d39929);color:var(--color-success,#34d399)}.progress-trend__pill--down{background:color-mix(in srgb, var(--color-danger) 14%, transparent);color:var(--color-danger,#f87171)}
