.progress-heading{margin-bottom:20px}
.progress-period-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.progress-period-row>span{color:var(--muted);font-size:12px;white-space:nowrap}
.progress-periods,.progress-metric-tabs{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--line);background:var(--surface);border-radius:12px;width:fit-content}
.progress-periods .button,.progress-metric-tabs .button{border:0;min-height:40px;margin:0;font-size:13px;padding:9px 15px;white-space:nowrap}
.progress-periods .selected,.progress-metric-tabs .selected{background:var(--ink);color:var(--surface);border-radius:9px}
.progress-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.progress-summary-card{padding:22px;text-align:left;min-width:0}
.progress-summary-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}
.progress-summary-card>div svg{width:17px;height:17px}
.progress-summary-card>strong{display:block;font-size:29px;line-height:1.25;letter-spacing:-.8px;margin:15px 0 10px;font-weight:650;font-variant-numeric:tabular-nums}
.progress-summary-card>small{display:block;font-size:11px;line-height:1.6;color:var(--muted)}
button.progress-summary-card:hover{border-color:var(--ink)}
.progress-observations{border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-soft);padding:16px 22px;margin-bottom:30px;display:grid;gap:15px}
.progress-observations>div,.progress-observations>button{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:0}
.progress-observations>button>.icon:last-child{margin-left:auto;align-self:center}
.progress-observations .icon{width:19px;height:19px;margin-top:2px}
.progress-observations p{font-size:13px;line-height:1.65}
.progress-observations small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.progress-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
.progress-section-head h2{font-size:18px;letter-spacing:-.25px}
.progress-section-head p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:5px}
.progress-section-head>.button{flex-shrink:0}
.progress-section-head>.icon{color:var(--muted);width:20px;height:20px;margin-top:4px}
.progress-my-exercises{margin:30px 0}
.progress-exercise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.progress-exercise-card{padding:20px;min-width:0;display:flex;flex-direction:column}
.progress-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.progress-card-head>button:first-child{flex:1;text-align:left;padding:0;min-width:0}
.progress-card-head h3{font-size:17px;line-height:1.45;overflow-wrap:anywhere;font-weight:620}
.progress-card-head small{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.progress-pin{width:40px;height:40px;flex-shrink:0;color:var(--muted)}
.progress-pin.is-pinned{color:var(--ink);background:var(--accent-soft)}
.progress-pin.is-pinned svg{fill:var(--accent)}
.progress-card-result{display:block;width:100%;text-align:left;margin-top:22px;padding:0}
.progress-card-result>span:first-child{display:block;font-size:11px;color:var(--muted)}
.progress-card-result>strong{display:block;font-size:21px;font-weight:630;letter-spacing:-.4px;line-height:1.45;margin:8px 0;font-variant-numeric:tabular-nums}
.progress-card-result>small{display:block;font-size:12px;color:var(--muted);min-height:38px;line-height:1.6}
.progress-spark{display:block;width:100%;height:58px;color:var(--ink);margin:12px 0}
.progress-spark-empty{display:grid;place-items:center;min-height:72px;font-size:12px;color:var(--muted)}
.progress-card-result>.progress-card-link{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink);margin:4px 0 12px}
.progress-card-link svg{width:16px;height:16px}
.progress-goal{border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
.progress-goal>span{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}
.progress-goal>strong{display:block;font-size:12px;line-height:1.65;font-weight:600}
.progress-goal>small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px}
.progress-empty-cards{font-size:13px;color:var(--muted);padding:20px;background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius)}
.progress-welcome{display:flex;gap:17px;margin-top:26px;padding:24px;border:1px solid var(--line);background:var(--accent-soft);border-radius:var(--radius)}
.progress-welcome>.icon{width:24px;height:24px;margin-top:2px}
.progress-welcome h2{font-size:17px}
.progress-welcome p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:7px;max-width:650px}
.progress-detail{padding:28px;margin-bottom:24px;scroll-margin-top:20px}
.progress-exercise-select,.progress-weight-select{display:block;font-size:12px;color:var(--muted);margin-bottom:18px}
.progress-exercise-select select,.progress-weight-select select{display:block;width:100%;font-size:16px;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:11px;min-height:48px;padding:10px 14px;margin-top:8px;text-overflow:ellipsis}
.progress-weight-select{max-width:260px;margin-top:18px;margin-bottom:0}
.progress-metric-tabs{background:var(--soft);border:0;max-width:100%;flex-wrap:wrap}
.progress-metric-tabs .selected{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #0001}
.progress-detail-values{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:25px 0 15px}
.progress-detail-values small{font-size:12px;color:var(--muted)}
.progress-detail-values strong{display:block;font-size:34px;letter-spacing:-.8px;line-height:1.3;font-weight:650;margin-top:5px;font-variant-numeric:tabular-nums}
.progress-detail-values strong span{font-size:14px;font-weight:450;color:var(--muted);letter-spacing:0}
.progress-detail-values p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:8px}
.progress-detail-values>div:last-child:not(:first-child){text-align:right}
.progress-detail-values>div:last-child:not(:first-child) strong{font-size:24px;margin-top:12px}
.progress-chart{margin:8px 0 14px;min-width:0}
.progress-chart svg{display:block;width:100%;max-height:310px;overflow:visible}
.progress-axis{fill:var(--muted);font-size:16px;font-family:inherit;font-variant-numeric:tabular-nums}
.progress-chart-line{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.progress-chart-point{fill:var(--surface);stroke:var(--ink);stroke-width:2}
.progress-chart a:hover .progress-chart-point,.progress-chart a:focus .progress-chart-point{fill:var(--accent);stroke-width:3}
.progress-chart-empty{min-height:210px;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;gap:10px;color:var(--muted);padding:25px}
.progress-chart-empty>.icon{width:28px;height:28px;opacity:.6}
.progress-chart-empty h3{font-weight:600;font-size:15px;color:var(--ink)}
.progress-chart-empty p{font-size:12px;line-height:1.7;max-width:380px}
.progress-metric-hint{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:22px}
.progress-detail>.progress-goal{padding:16px 18px;background:var(--accent-soft);border:1px solid var(--line);border-radius:12px;margin:20px 0}
.progress-history{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}
.progress-history h3{font-size:15px;margin-bottom:12px}
.progress-history h3>span{font-weight:450;color:var(--muted);margin-left:5px}
.progress-history-row{display:grid;grid-template-columns:75px minmax(0,1fr) 18px;gap:12px;align-items:center;width:100%;text-align:left;padding:15px 0;border-bottom:1px solid var(--line);min-height:54px}
.progress-history-row>span{font-size:12px;color:var(--muted)}
.progress-history-row strong{font-weight:500;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.progress-history-row>.icon{width:16px;height:16px;color:var(--muted)}
.progress-history>.button,.progress-records>.button{margin:18px 0 0;min-height:44px}
.progress-history>p{font-size:13px;padding:12px 0}
.progress-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.progress-records,.progress-distribution{padding:24px;min-width:0;scroll-margin-top:20px}
.progress-record-row{display:flex;align-items:flex-start;gap:12px;width:100%;padding:16px 0;text-align:left;border-bottom:1px solid var(--line)}
.progress-record-icon{display:grid;place-items:center;width:35px;height:35px;flex-shrink:0;border-radius:10px;background:var(--accent-soft)}
.progress-record-icon svg{width:17px;height:17px}
.progress-record-row>span:nth-child(2){flex:1;min-width:0}
.progress-record-row strong{display:block;font-size:14px;font-weight:600;line-height:1.5}
.progress-record-row small{display:block;font-size:11px;color:var(--muted);line-height:1.65;margin-top:4px}
.progress-record-row b{display:block;font-size:16px;font-weight:600;margin-top:7px;font-variant-numeric:tabular-nums}
.progress-record-row>.icon{width:16px;height:16px;color:var(--muted);align-self:center}
.progress-footnote,.progress-data-note{font-size:11px;color:var(--muted);line-height:1.75;margin-top:20px}
.progress-data-note{margin-top:24px}
.progress-small-empty{padding:14px 0 7px}
.progress-small-empty p{font-size:14px;font-weight:550;margin-bottom:9px}
.progress-small-empty small{font-size:12px;line-height:1.75;color:var(--muted)}
.progress-category-bars{display:grid;gap:19px;margin:24px 0}
.progress-category-bars>div{display:grid;grid-template-columns:1fr auto;gap:9px;font-size:13px}
.progress-category-bars strong{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.progress-category-bars strong small{color:var(--muted);font-weight:450;font-size:11px}
.progress-bar{grid-column:1/-1;height:7px;background:var(--soft);border-radius:20px;overflow:hidden}
.progress-bar>span{display:block;background:var(--ink);height:100%;border-radius:20px;min-width:3px}
.progress-pin-count{color:var(--muted);font-size:12px;margin:15px 0}
.progress-pin-choice{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:14px 8px;border-bottom:1px solid var(--line);text-align:left;min-height:68px}
.progress-pin-choice strong{display:block;font-size:15px;line-height:1.5;font-weight:550}
.progress-pin-choice small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.progress-pin-choice.selected{background:var(--accent-soft);border-radius:10px}
.progress-pins-modal .modal-body>p{font-size:13px;line-height:1.7}
@media(max-width:1180px){
 .progress-summary{gap:12px}.progress-summary-card{padding:18px}.progress-summary-card>strong{font-size:25px}
 .progress-exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-exercise-card:last-child:nth-child(odd){grid-column:1/-1}
 .progress-bottom-grid{gap:18px}
}
@media(max-width:760px){
 .progress-heading{margin-bottom:18px}
 .progress-period-row{align-items:stretch;flex-direction:column;gap:11px;margin-bottom:18px}
 .progress-periods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:2px;padding:3px}
 .progress-periods .button{font-size:12px;padding:9px 5px;min-height:42px;justify-content:center}
 .progress-period-row>span{font-size:11px}
 .progress-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
 .progress-summary-card{padding:16px 14px;min-height:135px}
 .progress-summary-card>div{font-size:11px;gap:5px}.progress-summary-card>div svg{width:15px;height:15px}
 .progress-summary-card>strong{font-size:25px;margin:12px 0 8px;letter-spacing:-.6px}
 .progress-summary-card>small{font-size:10px;line-height:1.6}
 .progress-observations{padding:16px;margin-bottom:24px;gap:16px}
 .progress-observations p{font-size:12px}.progress-observations small{font-size:10px}.progress-observations .icon{width:17px;height:17px}
 .progress-section-head{gap:12px;margin-bottom:16px}.progress-section-head h2{font-size:17px}.progress-section-head p{font-size:11px}
 .progress-my-exercises{margin:26px 0}.progress-my-exercises>.progress-section-head{align-items:flex-start}
 .progress-my-exercises>.progress-section-head>.button{font-size:11px;padding-inline:10px;min-height:42px;gap:5px}.progress-my-exercises .progress-section-head>.button svg{width:15px}
 .progress-exercise-grid{grid-template-columns:1fr;gap:12px}.progress-exercise-card:last-child:nth-child(odd){grid-column:auto}
 .progress-exercise-card{padding:20px}.progress-card-head h3{font-size:19px}.progress-card-result{margin-top:18px}
 .progress-card-result>strong{font-size:23px}.progress-card-result>small{min-height:0}.progress-spark{height:50px;margin-block:6px}
 .progress-card-result>.progress-card-link{margin-bottom:15px;min-height:25px}
 .progress-goal>strong{font-size:13px}.progress-goal>small{font-size:10px}
 .progress-detail{padding:20px 16px;scroll-margin-top:12px}
 .progress-detail-values{gap:12px}.progress-detail-values small{font-size:10px}.progress-detail-values strong{font-size:28px}.progress-detail-values>div:last-child:not(:first-child) strong{font-size:21px;margin-top:10px}.progress-detail-values strong span{font-size:12px}
 .progress-detail-values p{font-size:10px}.progress-metric-tabs .button{font-size:12px;min-height:42px;padding:9px 13px}
 .progress-axis{font-size:21px}.progress-chart{margin-inline:-8px}
 .progress-chart-empty{min-height:195px;padding:20px 10px}
 .progress-metric-hint{font-size:11px}.progress-weight-select{max-width:none}
 .progress-history-row{grid-template-columns:60px minmax(0,1fr) 15px;gap:9px}.progress-history-row strong{font-size:12px}.progress-history-row>span{font-size:11px}
 .progress-bottom-grid{grid-template-columns:1fr;gap:18px}.progress-records,.progress-distribution{padding:20px}
 .progress-record-row strong{font-size:14px}.progress-record-row{gap:11px}
 .progress-welcome{padding:20px;gap:12px}.progress-welcome p{font-size:12px}
}
