.progress{max-width:48rem;color:var(--ink,#2a2520);margin:0 auto;padding:2.5rem 1.25rem 4rem}.progress__title{font-family:var(--font-display,Georgia, serif);margin:0 0 1.25rem;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:600}.progress__metrics{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin-bottom:2rem;display:grid}.progress__metric{text-align:center;background:var(--surface-raised,#fffaf2);border:1px solid var(--border,#e4d9c6);border-radius:9px;padding:.9rem 1rem}.progress__metric-value{font-variant-numeric:tabular-nums;color:var(--accent-ink,#0a4f4c);font-size:1.6rem;font-weight:700;display:block}.progress__metric-label{color:var(--ink-muted,#6b6256);margin-top:.2rem;font-size:.76rem;display:block}.progress__section{margin-bottom:1.75rem}.progress__section-heading{border-bottom:1px solid var(--border-subtle,#efe7d7);margin:0 0 .6rem;padding-bottom:.25rem;font-size:1.15rem;font-weight:600}.progress__bar{background:var(--surface-sunken,#f3ece0);border-radius:3px;height:.5rem;overflow:hidden}.progress__bar-fill{background:var(--accent,#0f6f6b);height:100%}.progress__table{border-collapse:collapse;width:100%;font-size:.88rem}.progress__table th,.progress__table td{text-align:left;border-bottom:1px solid var(--border-subtle,#efe7d7);padding:.4rem .5rem}.progress__reset{font:inherit;cursor:pointer;color:var(--danger,#b3261e);border:1px solid var(--border,#e4d9c6);background:0 0;border-radius:6px;margin-top:.5rem;padding:.4rem .8rem;font-size:.82rem}.progress__reset:focus-visible{outline:2px solid var(--accent,#0f6f6b)}.progress__empty{color:var(--ink-muted,#6b6256);font-style:italic}@media print{.progress__reset{display:none}}
