/* Practice evidence uses a readable report beside the dated activity record. */
.learner-progress .av-head .vd-meta { display: flex; justify-content: space-between; gap: var(--space-4); margin-block-end: var(--space-3); }
.learner-progress .vd-meta { font-size: var(--type-caption); color: var(--color-text-secondary); }
.learner-progress .progress-evidence-note { max-inline-size: var(--layout-prose); margin-block-end: var(--space-8); }
.learner-progress .progress-evidence-note > .vd-meta { display: none; }
.learner-progress .progress-evidence-note h2 { font-size: var(--type-h3); }
.learner-progress .progress-evidence-note p { margin-block-start: var(--space-2); color: var(--color-text-secondary); font-size: var(--type-body-sm); }
.learner-progress .av-report-sheet { inline-size: 100%; max-inline-size: 50rem; }
.learner-progress .av-first-practice { max-inline-size: var(--layout-prose); padding-block: var(--space-5); }
.learner-progress .av-first-practice > * + * { margin-block-start: var(--space-4); }
.learner-progress .av-first-practice p { color: var(--color-text-secondary); }
.learner-progress .vd-report { border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); }
.learner-progress .vdr-band { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); padding: var(--space-4) var(--space-5); border-block-end: 1px solid var(--color-border); font-size: var(--type-caption); color: var(--color-text-secondary); }
.learner-progress .vdr-id { padding: var(--space-3) var(--space-5); }
.learner-progress .vdr-id-row { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: var(--space-3); padding-block: var(--space-2); font-size: var(--type-body-sm); }
.learner-progress .vdr-id dt { color: var(--color-text-secondary); }
.learner-progress .vdr-id dd { margin: 0; overflow-wrap: anywhere; }
.learner-progress .av-practice-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); padding: var(--space-5); background: var(--color-bg-subtle); border-block: 1px solid var(--color-border); }
.learner-progress .av-practice-facts dt { color: var(--color-text-secondary); font-size: var(--type-caption); }
.learner-progress .av-practice-facts dd { margin: var(--space-2) 0 0; font-size: var(--type-h2); font-weight: 600; font-variant-numeric: tabular-nums; }
.learner-progress .vdr-domains { padding: var(--space-2) var(--space-5); }
.learner-progress .vdr-domain { display: grid; grid-template-columns: minmax(0, 1fr) 3rem minmax(0, 1.2fr); align-items: baseline; gap: var(--space-3); padding-block: var(--space-3); border-block-end: 1px solid var(--color-border); font-size: var(--type-body-sm); }
.learner-progress .vdr-domain:last-child { border: 0; }
.learner-progress .vdr-domain-name { font-weight: 600; }
.learner-progress .vdr-domain-fig { text-align: end; font-variant-numeric: tabular-nums; }
.learner-progress .vdr-domain-quote { color: var(--color-text-secondary); font-size: var(--type-caption); }
.learner-progress .vdr-result { padding: var(--space-5); border-block: 1px solid var(--color-border); }
.learner-progress .vdr-result-label { display: block; margin-block-end: var(--space-3); font-size: var(--type-label); font-weight: 600; }
.learner-progress .vd-evidence-coverage { font-size: var(--type-body-sm); }
.learner-progress .vd-rangebar-figures { margin-block-start: var(--space-3); font-size: var(--type-body-sm); font-variant-numeric: tabular-nums; }
.learner-progress .vd-rangebar-figures .sep { margin-inline: var(--space-2); color: var(--color-text-secondary); }
.learner-progress .vd-figure-caption { margin-block-start: var(--space-3); color: var(--color-text-secondary); font-size: var(--type-caption); }
.learner-progress .vdr-verdict { padding: var(--space-5); }
.learner-progress .vd-flag { font-size: var(--type-label); font-weight: 600; }
.learner-progress .vd-flag--ready { color: var(--color-success); }
.learner-progress .vd-flag-note { margin-block-start: var(--space-2); color: var(--color-text-secondary); font-size: var(--type-body-sm); }
.learner-progress .vdr-action { padding: var(--space-5); border-block-start: 1px solid var(--color-border); }
.learner-progress .vdr-action h2 { font-size: var(--type-h3); }
.learner-progress .vdr-action p { margin-block: var(--space-3) var(--space-4); font-size: var(--type-body-sm); color: var(--color-text-secondary); }
.learner-progress .vd-btn { display: inline-flex; align-items: center; justify-content: center; min-block-size: var(--control-height); gap: var(--space-2); padding: var(--space-2) var(--space-4); border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); color: var(--color-text); background: var(--color-surface); font: 600 var(--type-label)/1.4 var(--font-body); text-decoration: none; }
.learner-progress .vd-btn-primary { border-color: var(--color-brand); background: var(--color-brand); color: var(--color-text-inverse); }
.learner-progress .vd-btn:disabled { background: var(--color-disabled-bg); color: var(--color-disabled); }
.learner-progress .vdr-foot { padding: var(--space-4) var(--space-5); border-block-start: 1px solid var(--color-border); font-size: var(--type-caption); color: var(--color-text-secondary); }
.learner-progress .av-report-tools { margin-block-start: var(--space-3); }
.learner-progress .av-sec { margin-block-start: var(--space-10); }
.learner-progress .av-sec-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-3); padding-block-end: var(--space-4); border-block-end: 1px solid var(--color-border-strong); }
.learner-progress .av-sec-head h2 { font-size: var(--type-h3); }
.learner-progress .led-row { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); align-items: baseline; gap: var(--space-2) var(--space-4); padding-block: var(--space-4); border-block-end: 1px solid var(--color-border); text-decoration: none; }
.learner-progress .led-fig { grid-column: 1; font-size: var(--type-caption); color: var(--color-text-secondary); font-variant-numeric: tabular-nums; }
.learner-progress .led-row > div, .learner-progress .led-row > p { grid-column: 2; }
.learner-progress .led-name { font-size: var(--type-label); }
.learner-progress .led-desc { font-size: var(--type-caption); }
.learner-progress .led-desc { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.learner-progress .av-depth-row { grid-template-columns: minmax(0, 1fr); }
.learner-progress .av-depth-row > div, .learner-progress .av-depth-row > .led-val { grid-column: 1; }
.learner-progress .led-val { grid-column: 2; display: block; font-size: var(--type-caption); color: var(--color-brand); }
.learner-progress .led-val > .vd-meta { margin-inline-start: var(--space-1); }
.learner-progress .av-empty { padding-block: var(--space-5); color: var(--color-text-secondary); font-size: var(--type-body-sm); }
.learner-progress .av-empty > * + * { margin-block-start: var(--space-3); }
.learner-progress .av-loading { min-block-size: 35rem; padding: var(--space-5); background: var(--color-bg-subtle); color: var(--color-text-secondary); }
.learner-progress .vd-rangebar { padding-block-start: var(--space-5); }
.learner-progress .rb-track { position: relative; block-size: .5rem; background: var(--color-border); }
.learner-progress .rb-ci { position: absolute; inset-block: 0; inset-inline-start: var(--rb-lo); inline-size: calc(var(--rb-hi) - var(--rb-lo)); background: var(--color-text-secondary); }
.learner-progress .rb-dot { position: absolute; inset-block-start: -.125rem; inset-inline-start: var(--rb-x); inline-size: .75rem; block-size: .75rem; border: 2px solid var(--color-surface); border-radius: 50%; background: var(--color-text); translate: -50% 0; }
.learner-progress .rb-tick { position: absolute; inset-inline-start: var(--rb-t); inset-block-start: -.25rem; block-size: 1rem; border-inline-start: 2px solid var(--color-brand); }
.learner-progress .rb-tick-label { position: absolute; inset-block-end: calc(100% + var(--space-1)); inset-inline-end: 0; white-space: nowrap; color: var(--color-text-secondary); font-size: var(--type-caption); }
.learner-progress .rb-scale { display: flex; justify-content: space-between; margin-block-start: var(--space-2); font-size: var(--type-caption); color: var(--color-text-secondary); }
.learner-progress .vd-rangebar--mini { inline-size: 100%; padding-block: var(--space-3); }
@media (min-width: 1440px) {
  .learner-progress .av-main { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); column-gap: var(--layout-gap); align-items: start; }
  .learner-progress :is(.av-head, .progress-evidence-note, .av-foot, noscript) { grid-column: 1 / -1; }
  .learner-progress #report { grid-column: 1; }
  .learner-progress #evidence { grid-column: 2; grid-row: 3 / span 2; }
  .learner-progress #evidence .av-sec { margin-block-start: 0; }
  .learner-progress #archive { grid-column: 1; }
}
@media (max-width: 520px) {
  .learner-progress .vdr-id-row { grid-template-columns: 5.5rem minmax(0, 1fr); }
  .learner-progress .vdr-domain { grid-template-columns: minmax(0, 1fr) auto; }
  .learner-progress .vdr-domain-quote { grid-column: 1 / -1; }
}
@media (hover: hover) and (pointer: fine) {
  .learner-progress .vd-btn:hover:not(:disabled) { background: var(--color-bg-subtle); }
  .learner-progress .vd-btn-primary:hover:not(:disabled) { background: var(--color-brand-hover); border-color: var(--color-brand-hover); }
  .learner-progress a.led-row:hover .led-name { color: var(--color-brand); text-decoration: underline; }
}
@media print {
  @page { size: A5; margin: 10mm; }
  .learner-progress .av-main { display: block; padding: 0; }
  .learner-progress :is(.av-head, .progress-evidence-note, #evidence, #archive, .av-foot, .av-report-tools) { display: none; }
  .learner-progress .vd-report { border: 0; }
  .learner-progress .vd-report > * { break-inside: avoid; }
}
