.report-tools { margin-block: 28px; min-width: 0; }
.product-site .report-download {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr); align-items: center; gap: 24px;
  margin-block: 0 24px; padding: 22px 24px; border: 1px solid var(--line-light); border-inline-start: 3px solid var(--lime-dark);
  border-radius: 6px; background: var(--paper); color: var(--ink);
}
.report-download-copy, .report-download-controls { min-width: 0; }
.product-site .report > .shell > .report-download { order: 0; }
.product-site .report-download h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.35; letter-spacing: -.02em; }
.product-site .report-download p { margin: 0; color: var(--muted-dark); font-size: 14px; line-height: 1.6; }
.report-download-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.product-site .report-download .button { min-height: 44px; padding: 12px 16px; font-size: 14px; }
.product-site .report-download #report-download-help { font-size: 12px; }
.product-site.checklist-view .report > .shell > .report-download { display: grid !important; }
.product-site.checklist-view .report-download #export-json { display: inline-flex !important; }
.finding-guide { margin-block: 10px; font-size: 14px; }
.finding-guide a { color: #2c6712; text-decoration: underline; text-underline-offset: 4px; }
.product-site .report-tool { border-block-start: 1px solid var(--line-light); padding: 0; }
.product-site .report-tool > summary { padding: 22px 0; font-size: 19px; font-weight: 650; cursor: pointer; }
.product-site .report-tool-body { padding: 0 0 24px; }
.report-tool-body > p, .workbench-note { color: var(--muted-dark); font-size: 14px; line-height: 1.6; }
.workbench-form { display: grid; gap: 10px; min-width: 0; }
.workbench-form label, .snippet-output > label, .checklist-filters label { font-size: 14px; font-weight: 600; }
.workbench-form input, .workbench-form textarea, .workbench-form select, .snippet-output select, .checklist-filters select {
  width: 100%; min-width: 0; max-width: 100%; padding: 12px; border: 1px solid var(--line-light); border-radius: 6px; background: var(--paper); color: var(--ink); font: inherit;
}
.workbench-form textarea { resize: vertical; }
.workbench-input-row { display: flex; gap: 12px; min-width: 0; }
.workbench-input-row input { flex: 1; }
.workbench-input-row button { flex: 0 0 auto; }
.snippet-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 28px; margin-top: 20px; }
.snippet-output { min-width: 0; }
.snippet-output select { display: block; width: auto; margin: 8px 0 16px; }
.snippet-preview { width: 100%; max-width: 600px; background: #fff; color: #30343b; border: 1px solid #c9d0d7; border-radius: 8px; padding: 20px; font-family: Arial, sans-serif; overflow: hidden; }
.snippet-preview.snippet-mobile { max-width: 360px; }
#snippet-preview-url { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#snippet-preview-title { color: #1939a8; font-size: 20px; line-height: 1.35; margin-block: 8px 5px; }
#snippet-preview-description { font-size: 14px; line-height: 1.6; }
#snippet-preview-title, #snippet-preview-description { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
#snippet-preview-title { -webkit-line-clamp: 2; }
#snippet-preview-description { -webkit-line-clamp: 3; }
.snippet-output .workbench-note { margin-top: 14px; }
.comparison-group { border-top: 1px solid var(--line-light); padding-block: 14px; }
.comparison-group summary { cursor: pointer; font-weight: 600; }
.comparison-group summary b { margin-left: 8px; font-variant-numeric: tabular-nums; }
.comparison-group p { font-size: 14px; }
.comparison-group ul { padding-left: 22px; }
.comparison-group li { padding-block: 10px; overflow-wrap: anywhere; }
.comparison-group li span, .comparison-group li a { display: block; font-size: 14px; margin-top: 4px; }
.checklist-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 16px; margin-block: 20px; }
.checklist-filters label { display: grid; gap: 6px; min-width: 190px; }
.checklist-filters p { font-size: 14px; margin: 0 0 12px; color: var(--muted-dark); }
.product-site .it-task:target, .product-site .it-task.task-highlight { outline: 2px solid var(--lime-dark); outline-offset: -2px; }
.it-task { scroll-margin-top: 110px; }
.product-site .it-task.completed { opacity: 1; }
.product-site .it-task.completed p { text-decoration: none; }
.task-copy-link { margin-top: 12px; }
.it-task-notes { margin-top: 14px; }
.it-task-notes summary { cursor: pointer; font-size: 14px; font-weight: 600; }
.it-task-notes label { display: block; margin-block: 12px 6px; font-size: 13px; color: var(--muted-dark); }
.it-task-notes textarea { display: block; width: 100%; min-height: 100px; resize: vertical; border: 1px solid var(--line-light); border-radius: 6px; background: var(--paper); color: var(--ink); padding: 12px; font: inherit; }
.it-task-note-print { display: none; white-space: pre-wrap; overflow-wrap: anywhere; }
.product-site.checklist-view .report > .shell > section.report-tools { display: block !important; }
@media (max-width: 760px) {
  .product-site .report-download { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 18px; }
  .product-site .report-download h3 { font-size: 18px; }
  .report-download-buttons .button { flex: 1 1 160px; }
  .snippet-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .workbench-input-row { flex-direction: column; }
  .checklist-filters { gap: 12px; }
  .checklist-filters label { min-width: 0; flex: 1 1 135px; }
  .checklist-filters p { flex-basis: 100%; }
  .product-site .report-tool > summary { font-size: 17px; }
}
@media print {
  .product-site .report-download, .product-site.checklist-view .report > .shell > .report-download { display: none !important; }
  .report-tools, .product-site.checklist-view .report > .shell > section.report-tools, .checklist-filters, #checklist-filter-empty, .task-copy-link, .it-task-notes { display: none !important; }
  .it-checklist .it-task[hidden] { display: grid !important; }
  .it-task-note-print:not(:empty) { display: block; }
  .product-site .it-task:target, .product-site .it-task.task-highlight { outline: none; }
}
