.viewing-section { --viewing-sidebar-width: 240px; --viewing-column-gap: 40px; }
.viewing-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; gap: 40px; margin-bottom: 48px; }
.viewing-intro h2 { margin-top: 0; }
.viewing-download { padding-left: 32px; border-left: 1px solid var(--line); }
.viewing-download h2 { font-size: 21px; }
.viewing-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.viewing-download .viewing-actions { margin: 20px 0; }
.viewing-checklist .viewing-download p:last-child { margin-bottom: 0; }
.viewing-workspace { display: grid; grid-template-columns: var(--viewing-sidebar-width) minmax(0, 1fr); align-items: start; gap: var(--viewing-column-gap); }
.viewing-sidebar { position: sticky; top: 120px; }
.viewing-sidebar h2 { margin: 0 0 16px; font-size: 18px; }
.viewing-sidebar ul { margin: 0; padding: 0; list-style: none; }
.viewing-sidebar li + li { margin-top: 4px; }
.viewing-sidebar a { display: block; padding: 10px 0; color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.viewing-sidebar a:hover { color: var(--brand); }
.viewing-privacy { margin-top: 32px; padding-top: 24px; border-top: 1px solid #c5d3d9; }
.viewing-privacy h3 { margin: 0 0 10px; font-size: 16px; }
.viewing-checklist .viewing-privacy p { font-size: 14px; line-height: 1.7; }
.viewing-paper { min-width: 0; }
.viewing-visit { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 36px; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.viewing-checklist label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 650; }
.viewing-visit label span { font-weight: 400; color: var(--muted); }
.viewing-checklist input[type="text"],
.viewing-checklist textarea { width: 100%; min-height: 48px; border: 1px solid #8c9daa; border-radius: 8px; padding: 12px; background: #fff; color: var(--ink); font: inherit; font-size: 16px; }
.viewing-checklist textarea { min-height: 100px; resize: vertical; }
.viewing-checklist :is(input, textarea, summary):focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
.viewing-group { margin-bottom: 40px; }
.viewing-group h2 { margin: 0 0 24px; padding-bottom: 14px; border-bottom: 2px solid var(--aqua); font-size: 25px; scroll-margin-top: 120px; }
.viewing-question { min-width: 0; margin: 24px 0 0; padding: 0 0 20px; border: 0; border-bottom: 1px solid var(--line); }
.viewing-question:last-child { border-bottom: 0; padding-bottom: 0; }
.viewing-question legend { padding: 0; max-width: 100%; font-size: 17px; font-weight: 650; line-height: 1.65; }
.viewing-answer { position: relative; margin-top: 10px; }
.viewing-status { min-width: 0; margin: 0; padding: 0; border: 0; }
.viewing-status-options { padding-right: 120px; display: flex; flex-wrap: wrap; gap: 0 20px; }
.viewing-checklist .viewing-status-options label { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; margin: 0; font-size: 14px; font-weight: 400; cursor: pointer; }
.viewing-status input { width: 17px; height: 17px; margin: 0; accent-color: var(--brand); }
.viewing-status input:checked + span { color: var(--brand); }
.viewing-note-entry summary { position: absolute; top: 0; right: 0; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0; color: var(--brand); font-size: 14px; font-weight: 650; cursor: pointer; list-style: none; }
.viewing-note-entry summary::-webkit-details-marker { display: none; }
.viewing-note-entry summary::before { content: "+"; font-size: 20px; font-weight: 400; }
.viewing-note-entry[open] summary::before { content: "−"; }
.viewing-note-entry label { padding-top: 16px; }
.viewing-question-text .viewing-note-entry summary { position: static; }
.viewing-print-options,
.viewing-print-heading,
.viewing-print-value,
.viewing-print-note-label,
.viewing-print-footer { display: none; }
.viewing-finish { justify-content: flex-end; margin-bottom: 0; }
.viewing-feedback { min-height: 1.5em; }
.viewing-feedback:empty { min-height: 0; margin: 0; }
.viewing-section .viewing-closing { margin-top: 32px; margin-inline-start: calc(var(--viewing-sidebar-width) + var(--viewing-column-gap)); padding-top: 24px; border-top: 1px solid var(--line); }
.viewing-closing h2 { margin-bottom: 16px; font-size: 28px; line-height: 1.3; }
.viewing-closing ul { padding-left: 22px; }
.viewing-closing li + li { margin-top: 8px; }
.viewing-closing > :last-child { margin-bottom: 0; }
@media screen {
  .viewing-sheet:last-child .viewing-group:last-of-type { margin-bottom: 0; }
}
@media (max-width: 1050px) {
  .viewing-section { --viewing-sidebar-width: 200px; --viewing-column-gap: 24px; }
  .viewing-note-entry summary { position: static; }
  .viewing-status-options { padding-right: 0; }
}
@media (max-width: 800px) {
  .viewing-section { --viewing-sidebar-width: 0px; --viewing-column-gap: 0px; }
  .viewing-intro { grid-template-columns: 1fr; gap: 24px; margin-bottom: 32px; }
  .viewing-download { padding-left: 0; border-left: 0; }
  .viewing-workspace { grid-template-columns: 1fr; gap: 24px; }
  .viewing-sidebar { position: static; }
  .viewing-sidebar nav { display: none; }
  .viewing-privacy { margin: 0; padding: 0 0 8px; border: 0; }
  .viewing-checklist .viewing-privacy p { margin-bottom: 8px; }
}
@media (max-width: 480px) {
  .viewing-visit { grid-template-columns: 1fr; gap: 16px; }
  .viewing-group h2 { font-size: 23px; }
  .viewing-status-options { gap: 0 14px; }
}
@media print {
  @page { size: A4; margin: 13mm 15mm; }
  html,
  body { background: #fff !important; color: #142c47 !important; font-family: Arial, sans-serif !important; font-size: 9pt !important; }
  body > :not(main),
  .breadcrumbs,
  .page-listen,
  .inner-hero,
  .viewing-intro,
  .viewing-closing,
  .viewing-sidebar,
  .viewing-note-entry,
  .viewing-actions,
  .viewing-feedback,
  .viewing-status-options,
  .viewing-checklist input,
  .viewing-checklist select,
  .viewing-checklist textarea,
  .page-content > :not(.viewing-section) { display: none !important; }
  main,
  .page-content,
  .viewing-section,
  .viewing-section > .wrap,
  .viewing-workspace,
  .viewing-paper,
  .viewing-checklist { display: block !important; border: 0 !important; border-radius: 0 !important; max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
  .viewing-print-note-label { display: block; font-size: 8pt; font-weight: 650; line-height: 1.2; }
  .viewing-status { display: block; border: 0; padding: 0; margin: 0; }
  .viewing-notes { position: static; }
  .viewing-sheet { break-after: page; }
  .viewing-sheet:last-child { break-after: auto; }
  .viewing-print-heading,
  .viewing-print-value,
  .viewing-print-footer { display: block; }
  .viewing-print-heading { margin-bottom: 3mm; }
  .viewing-print-brand { display: flex; align-items: center; gap: 3mm; margin-bottom: 2mm; }
  .viewing-print-brand img { width: 14mm; height: 10mm; object-fit: contain; }
  .viewing-print-heading strong { font-size: 10pt; color: #2264c4; }
  .viewing-print-heading h2 { font-size: 20pt; margin: 2mm 0; }
  .viewing-print-heading p { margin: 0; font-size: 9pt; }
  .viewing-visit { padding: 0; border: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6mm; margin-bottom: 4mm; }
  .viewing-checklist label { margin: 0; font-size: 8pt; }
  .viewing-group { margin-bottom: 3mm; }
  .viewing-group h2 { font-size: 13pt; margin: 2mm 0; padding-bottom: 2mm; border-color: #8c9daa; break-after: avoid; }
  .viewing-question { padding: 0 0 1.5mm; border: 0; margin: 2.5mm 0 0; break-inside: avoid; }
  .viewing-question:last-child { padding-bottom: 1.5mm; }
  .viewing-question legend { font-size: 10pt; line-height: 1.35; }
  .viewing-answer { display: grid; grid-template-columns: 74mm minmax(0, 1fr); gap: 5mm; margin-top: 1.5mm; }
  .viewing-question.has-long-notes .viewing-answer { display: block; }
  .viewing-question.has-long-notes .viewing-status { margin-bottom: 2mm; }
  .viewing-checklist .viewing-print-value { min-height: 10mm; margin: 1mm 0 0; border-bottom: 1px solid #8c9daa; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 9pt; line-height: 1.4; }
  .viewing-visit .viewing-print-value { min-height: 8mm; }
  .viewing-status .viewing-print-value { display: none; }
  .viewing-print-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1mm 3mm; margin-top: 1mm; font-size: 9pt; line-height: 1.2; }
  .viewing-print-options > span { display: flex; align-items: baseline; gap: 2mm; }
  .viewing-answer-box { position: relative; display: inline-block; flex: 0 0 2.5mm; height: 2.5mm; border: 1px solid #536473; }
  .viewing-print-options [aria-checked="true"] .viewing-answer-box::after { content: ""; position: absolute; left: 0.65mm; top: 0.1mm; width: 0.9mm; height: 1.6mm; border: solid #142c47; border-width: 0 0.4mm 0.4mm 0; transform: rotate(45deg); }
  .viewing-question-text .viewing-answer { display: block; }
  .viewing-notes .viewing-print-value { min-height: 12mm; }
  .viewing-notes .viewing-print-value:empty::before { content: ""; display: block; height: 6mm; border-bottom: 1px solid #b0bec8; }
  .viewing-print-footer { font-size: 8pt; margin-top: 5mm; color: #536473; }
}
