.record-progress{--progress-color:var(--cyan);padding:28px;overflow:hidden}.record-progress.progress-pink{--progress-color:var(--pink)}.record-progress.progress-yellow{--progress-color:var(--yellow)}
.progress-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.progress-heading h3{margin:0;font-size:var(--fs-xl);line-height:1.35}.progress-heading .eyebrow{font-size:var(--fs-xs);margin-bottom:12px}.progress-heading p{font-size:var(--fs-md);line-height:1.6;max-width:420px;margin:12px 0 0;color:var(--muted)}
.progress-metrics{display:flex;flex-shrink:0;border:1px solid var(--line);padding:4px;background:var(--deep);border-radius:var(--r-md);gap:4px}.progress-metrics button{border:0;border-radius:var(--r-sm);color:var(--muted);background:transparent;min-height:40px;padding:8px 12px;font-size:var(--fs-sm);font-weight:var(--fw-bold);white-space:nowrap}.progress-metrics button[aria-pressed=true]{background:var(--surface);color:var(--progress-color)}.progress-metrics button:hover{color:var(--text)}.progress-metrics button:focus-visible,.progress-data summary:focus-visible{outline:2px solid var(--progress-color);outline-offset:3px}
.progress-total{display:flex;align-items:baseline;gap:12px;margin-top:28px;flex-wrap:wrap}.progress-total strong{font-size:var(--fs-4xl);letter-spacing:-1px;color:var(--progress-color);font-variant-numeric:tabular-nums}.progress-total span{font-size:var(--fs-sm);color:var(--muted)}.progress-chart{display:block;width:100%;height:auto;margin:20px 0 0;overflow:visible}.progress-grid{stroke:var(--line);stroke-width:1}.progress-zero{stroke:var(--muted);stroke-width:1;stroke-dasharray:4 5;opacity:.65}.progress-axis{fill:var(--muted);font-size:var(--fs-xs);font-family:inherit}.progress-line{fill:none;stroke:var(--progress-color);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.progress-dot{fill:var(--progress-color);stroke:var(--surface);stroke-width:2;vector-effect:non-scaling-stroke}.progress-range{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:var(--fs-xs);line-height:1.5;margin:12px 0 24px}.progress-range span:nth-child(2){text-align:center}.progress-range span:last-child{text-align:right}
.progress-data{border-top:1px solid var(--line);padding-top:16px}.progress-data summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-size:var(--fs-sm);color:var(--muted);list-style:none;min-height:32px}.progress-data summary::-webkit-details-marker{display:none}.progress-data summary>span{font-size:var(--fs-lg);color:var(--progress-color)}.progress-data[open] summary>span{transform:rotate(45deg)}.progress-table-wrap{margin-top:12px;overflow-x:auto}.progress-data table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.progress-data caption{text-align:left;color:var(--muted);font-size:var(--fs-xs);padding:8px 0 16px}.progress-data th,.progress-data td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;line-height:1.5}.progress-data thead th{color:var(--muted);font-weight:var(--fw-semibold)}.progress-data tbody th{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.progress-data .numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.progress-data td:nth-child(2){color:var(--muted)}.progress-empty{padding:44px 0 24px}.progress-empty strong{display:block;font-size:var(--fs-lg)}.progress-empty p{color:var(--muted);font-size:var(--fs-md);line-height:1.7;max-width:440px;margin:12px 0}
@media(max-width:1100px){.progress-heading{flex-direction:column;gap:20px}.progress-metrics{align-self:flex-start}}
@media(max-width:600px){.record-progress{padding:20px}.progress-heading h3{font-size:var(--fs-xl)}.progress-heading p{font-size:var(--fs-sm)}.progress-metrics{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr}.progress-metrics button{padding:8px 8px;min-height:44px}.progress-total{margin-top:24px;gap:8px}.progress-total strong{font-size:var(--fs-3xl)}.progress-chart{min-height:155px}.progress-range{font-size:var(--fs-xs);gap:8px}.progress-data th,.progress-data td{padding:12px 4px;font-size:var(--fs-xs)}.progress-data td:nth-child(2){max-width:76px}.progress-empty{padding-top:32px}}
