.report-downloads { margin: 18px 0; }
.report-download-actions { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; }
.report-download-actions > a { font-weight: 700; }
.report-download-actions .button { min-height: 44px; white-space: normal; }
.report-download-actions [aria-disabled="true"] { opacity: .6; cursor: wait; }
.report-download-status { margin: 8px 0 0; font-size: .9rem; line-height: 1.55; }
.report-download-status:empty { display: none; }
.report-download-status[data-error="true"] { color: var(--ktk-9c382b); }
.report-download-status a { text-decoration: underline; }
.report-download-note { margin: 12px 0 0; font-size: .85rem; line-height: 1.55; color: var(--kt-66736a); }
.report-downloads-compact { margin: 0; }
.report-downloads-compact .report-download-actions { gap: 8px; align-items: flex-start; flex-direction: column; }
.report-downloads-compact .report-download-actions > a { font-size: .85rem; }
.progress-report-export { margin: 28px 0; padding: clamp(18px, 3vw, 28px); background: var(--ks-fff); border: 1px solid var(--ks-d9e4dc); border-radius: 20px; }
.progress-report-export h2 { font-size: clamp(1.25rem, 3vw, 1.6rem); margin: 5px 0 10px; }
.progress-report-export > div > p:not(.revision-eyebrow) { max-width: 740px; margin-bottom: 18px; line-height: 1.65; }
.progress-report-fields { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(130px, 1fr) minmax(180px, 1.5fr); gap: 16px; margin: 18px 0; }
.progress-report-fields label { display: flex; flex-direction: column; gap: 8px; font-size: .95rem; font-weight: 700; min-width: 0; }
.progress-report-fields input, .progress-report-fields select { width: 100%; box-sizing: border-box; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid var(--ks-bccbc0); background: var(--ks-ffffff); color: inherit; border-radius: 10px; font: inherit; font-weight: 400; }
.progress-report-fields :focus-visible, .report-download-actions :focus-visible { outline: 3px solid var(--ks-32725c); outline-offset: 3px; }
.exercise-guide .report-download-actions { align-items: flex-start; flex-direction: column; }
.exercise-guide .report-download-actions .button { width: 100%; }
.attempt-report-slot .report-downloads { margin-bottom: 24px; }
.results-table td:last-child:has(.report-downloads) { min-width: 160px; max-width: 260px; }
@media (max-width: 600px) {
  .progress-report-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .progress-report-fields label:last-child { grid-column: 1 / -1; }
  .progress-report-export { padding: 18px 16px; }
  .report-download-actions { align-items: flex-start; flex-direction: column; }
  .report-download-actions > .button { width: 100%; }
}
