.assessment-title { margin: .2rem 0 0; border: 0; padding: 0; }
.assessment-workspace > .sub { margin: .8rem 0 1.2rem; }
.assessment-trend { padding: 1.2rem; }
.assessment-trend h3, .assessment-entry h3 { margin: .2rem 0; }
.assessment-metric { width: min(100%, 22rem); }
.assessment-trend-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.4rem 0 .8rem; }
.assessment-trend-summary > div { display: grid; gap: .3rem; }
.assessment-trend-summary span { font-size: 0.8125rem; color: var(--ink-3); }
.assessment-trend-summary strong { font-size: 1.4rem; font-weight: 600; }
.assessment-trend-summary small { font-size: 0.8125rem; color: var(--ink-3); font-weight: 400; }
.assessment-chart { display: block; width: 100%; height: auto; overflow: visible; }
.assessment-chart text { fill: var(--ink-3); font-family: var(--f-body); font-size: 11px; }
.assessment-chart-grid { stroke: var(--rule-2); }
.assessment-chart-line { fill: none; stroke: var(--gold-dp); stroke-width: 2.5; stroke-linejoin: round; }
.assessment-chart-hit { fill: transparent; }
.assessment-chart-point { fill: var(--card); stroke: var(--gold-dp); stroke-width: 2.5; }
.assessment-chart a:hover .assessment-chart-point, .assessment-chart a:focus .assessment-chart-point { fill: var(--gold-dp); stroke-width: 4; }
.assessment-chart a:focus { outline: none; }
.assessment-chart-caption { font-size: 0.8125rem; color: var(--ink-3); margin: .5rem 0 0; }
.assessment-history-heading { margin: 1.6rem 0 .65rem; }
.assessment-history-heading h3 { margin: 0; }
.assessment-history { padding: 0; overflow: hidden; }
.assessment-history-row { cursor: pointer; }
.assessment-history-row:hover { background: var(--gold-wash, #bfa16b0e); }
.assessment-date { border: 0; background: none; color: var(--ink); font: inherit; font-weight: 600; padding: .35rem 0; cursor: pointer; text-align: left; text-decoration: underline; text-underline-offset: .2em; }
.assessment-unit { font-size: 0.8125rem; color: var(--ink-3); }
.assessment-note-preview { display: block; max-width: 25ch; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.assessment-date-field { max-width: 17rem; margin: 1.1rem 0; }
.assessment-fieldset { min-width: 0; border: 1px solid var(--rule); border-radius: 10px; padding: 1rem; margin: 1.3rem 0; }
.assessment-fieldset legend { font-weight: 650; font-size: .9rem; padding: 0 .4rem; }
.assessment-fieldset > p { color: var(--ink-3); font-size: 0.8125rem; margin: 0 0 .85rem; }
.assessment-fieldset .grid { gap: .85rem; }
.assessment-entry-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--rule); }
.assessment-entry-footer > span { color: var(--ink-3); font-size: 0.8125rem; }
.assessment-detail-dialog { background: var(--card); color: var(--ink); border: 1px solid var(--rule); border-radius: 16px; padding: 0; width: min(760px, calc(100vw - 2rem)); max-height: 90dvh; overscroll-behavior: contain; box-shadow: 0 20px 100px #0004; }
.assessment-detail-dialog::backdrop { background: #1119; backdrop-filter: blur(3px); }
.assessment-detail-header { display: flex; justify-content: space-between; gap: 1rem; align-items: start; padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--rule); position: sticky; top: 0; background: var(--card); z-index: 1; }
.assessment-detail-header h2 { padding: 0; border: 0; margin: .25rem 0; }
.assessment-detail-header p { font-size: 0.8125rem; color: var(--ink-3); margin: .35rem 0 0; }
.assessment-detail-body { padding: 0 1.5rem 1.5rem; }
.assessment-detail-body section { margin-top: 1.5rem; }
.assessment-detail-body h3 { margin: 0 0 .65rem; font-size: .94rem; }
.assessment-results { margin: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.5rem; }
.assessment-results > div { padding: .65rem 0; border-bottom: 1px solid var(--rule-2); }
.assessment-results dt { font-size: 0.8125rem; color: var(--ink-3); margin-bottom: .25rem; }
.assessment-results dd { margin: 0; font-size: .86rem; }
.assessment-results dd span { font-size: 0.8125rem; }
.assessment-unrecorded { color: var(--ink-3); }
.assessment-detail-notes { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .85rem; line-height: 1.65; }
.assessment-derived { padding: 1rem; background: var(--gold-wash, #bfa16b0e); border: 1px solid var(--rule); border-radius: 8px; font-size: 0.8125rem; }
.assessment-derived small { color: var(--ink-3); line-height: 1.6; }
.assessment-zones { display: grid; grid-template-columns: repeat(4, 1fr); gap: .65rem; margin: .8rem 0; }
.assessment-zones > div { display: grid; gap: .25rem; }
.assessment-zones span { font-size: 0.8125rem; color: var(--ink-3); }
@media (max-width: 600px) {
  .assessment-trend { padding: .85rem; }
  .assessment-trend .spread { display: grid; gap: .85rem; }
  .assessment-metric { width: 100%; }
  .assessment-trend-summary { gap: .7rem; grid-template-columns: 1fr 1fr; }
  .assessment-trend-summary > div:last-child { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; }
  .assessment-trend-summary strong { font-size: 1.15rem; }
  .assessment-fieldset { padding: .85rem; }
  .assessment-fieldset .grid { grid-template-columns: 1fr 1fr; gap: .75rem; }
  .assessment-entry-footer { align-items: stretch; flex-direction: column; }
  .assessment-detail-header, .assessment-detail-body { padding: 1rem; }
  .assessment-detail-body { padding-top: 0; }
  .assessment-results { column-gap: 1rem; }
  .assessment-zones { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 360px) {
  .assessment-fieldset .grid { grid-template-columns: 1fr; }
  .assessment-results { grid-template-columns: 1fr; }
}

/* Latest values lead; the complete record stays one expansion away. */
.progress-record-actions { display:flex;flex-wrap:wrap;gap:8px; }
.progress-baseline { display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-block:1px solid var(--rule-2);margin-bottom:20px; }
.progress-baseline > div { display:grid;gap:4px;flex-shrink:0; }
.progress-baseline span,.progress-baseline p { font-size:.8125rem;color:var(--ink-2);margin:0; }
.progress-baseline .btn { text-align:left;min-height:44px;font-size:1rem; }
.progress-metric-group { margin-top:24px; }
.progress-metric-group h3 { font-size:1rem;margin:0 0 10px; }
.progress-metric-list { border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:var(--card); }
.progress-metric { border-bottom:1px solid var(--rule-2); }
.progress-metric:last-child { border-bottom:0; }
.progress-metric > summary { display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.6fr) 32px;gap:20px;min-height:82px;padding:16px 20px; }
.progress-metric > summary::after { width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--rule);border-radius:50%;font-size:1.25rem; }
.progress-metric-label { font-weight:600;line-height:1.5; }
.progress-metric-latest { text-align:right;font-size:.875rem; }
.progress-metric-latest b { font-size:1.2rem;font-weight:650; }
.progress-metric-latest small { display:block;margin-top:4px;font-size:.75rem;color:var(--ink-2); }
.progress-metric-latest > span { color:var(--ink-2); }
.progress-metric-content { padding:0 20px 20px;border-top:1px solid var(--rule-2); }
.progress-metric-comparison { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0; }
.progress-metric-comparison dt { color:var(--ink-2);font-size:.8125rem; }
.progress-metric-comparison dd { margin:6px 0 0;font-weight:600; }
.progress-graph-scroll { overflow-x:auto;overscroll-behavior-inline:contain; }
.progress-graph-scroll .assessment-chart { min-width:640px; }
.progress-graph-scroll .assessment-chart text { font-size:12px; }
.progress-metric-records { list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 20px; }
.progress-metric-records .btn { width:100%;justify-content:space-between;white-space:normal;text-align:left;gap:10px;min-height:44px; }
.progress-record-archive { margin:24px 0; }
.progress-record-archive > summary { font-weight:600; }
.progress-record-archive > summary > span { font-weight:400;color:var(--ink-2); }
.progress-photo-workspace { margin-top:28px; }
.progress-photo-workspace h2,.measurement-workspace h2 { margin:0;border:0;padding:0; }
.progress-photo-upload { margin:16px 0; }
.progress-photo-upload > .row { margin-top:16px;flex-wrap:wrap; }
.progress-photo-upload .f { min-width:0; }
.progress-photo-list { margin-top:16px;border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:var(--card); }
.progress-photo-pose { border-bottom:1px solid var(--rule-2); }
.progress-photo-pose:last-child { border-bottom:0; }
.progress-photo-pose > summary { gap:20px;padding:16px 20px; }
.progress-photo-preview { display:block;width:76px;height:96px;flex-shrink:0;overflow:hidden;border-radius:5px; }
.progress-photo-preview .photo { width:100%;height:100%;object-fit:cover; }
.progress-photo-label { display:grid;gap:6px;min-width:0; }
.progress-photo-label b { font-size:1rem; }
.progress-photo-label span,.progress-photo-label small { color:var(--ink-2);font-size:.8125rem; }
.progress-photo-content { padding:0 20px 20px;border-top:1px solid var(--rule-2); }
.progress-photo-content .photocard { margin:0; }
.progress-photo-content .cap { flex-wrap:wrap;gap:4px; }
@media(max-width:600px) {
 .progress-record-actions { display:grid;grid-template-columns:1fr 1fr; }
 .progress-record-actions .btn { padding:10px;font-size:.8125rem; }
 .progress-baseline { align-items:start;flex-direction:column;gap:8px; }
 .progress-metric > summary { grid-template-columns:minmax(0,1fr) minmax(80px,.7fr) 28px;gap:10px;padding:14px 12px; }
 .progress-metric-label { font-size:.875rem; }
 .progress-metric-latest b { font-size:1.05rem; }
 .progress-metric-latest { font-size:.75rem; }
 .progress-metric-content,.progress-photo-content { padding:0 12px 14px; }
 .progress-metric-comparison { grid-template-columns:1fr;gap:10px; }
 .progress-metric-comparison > div { display:flex;justify-content:space-between;gap:12px; }
 .progress-metric-comparison dd { margin:0;text-align:right; }
 .progress-photo-pose > summary { gap:12px;padding:14px 12px; }
 .progress-photo-preview { width:62px;height:82px; }
 .progress-photo-content > .spread { align-items:start;flex-direction:column;gap:8px;margin:12px 0; }
 .progress-photo-upload > .row { display:grid;grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
 .progress-record-actions { grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0; }
 .progress-record-actions .btn { min-width:0;white-space:normal; }
}

.progress-record-actions .btn:not(.gold):hover,
.progress-baseline .btn:hover,
.progress-metric-content .btn:hover,
.progress-photo-workspace .btn:not(.gold):hover { color:var(--ink);border-color:var(--rule); }
