@page {
  size: auto;
  margin: 20mm 14mm 28mm;
}

@media print {
  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  body {
    min-width: 0;
    background: #fff !important;
    color: #000 !important;
    font-size: 10pt;
  }

  .app-masthead,
  .context-strip,
  .skip-link,
  footer,
  .view-nav,
  .claim-pane,
  .review-export-actions,
  .review-filters,
  .keyboard-help,
  .zoom-controls,
  #review-clear-filters,
  #review-save-retry,
  #route-announcer,
  /* Screen-only progressive disclosure: the same caveat prints from the print-only note
     below it, so the closed <details> is simply omitted rather than force-opened. */
  .verification-disclosure,
  /* Internal identifiers are a debugging aid, not part of the printed legal record. */
  .technical-reference {
    display: none !important;
  }

  .verification-print-note {
    display: block !important;
    margin-top: 3mm;
    padding-top: 2mm;
    border-top: 1px solid var(--print-rule);
    font-size: 8.5pt;
  }

  .verification-consequence {
    display: block !important;
    background: #fff !important;
    color: #000 !important;
  }

  main {
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  body:not([data-route="review"]) main > section:not([hidden]) {
    display: block;
  }

  body[data-route="review"] #review-workspace-view {
    display: block !important;
  }

  .review-case-header,
  .responsibility-notice,
  .provenance-band,
  .page-image-panel,
  .page-text-panel {
    border: 1px solid var(--print-rule) !important;
    background: #fff !important;
    color: #000 !important;
  }

  .review-case-header {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3mm;
    margin: 0 0 5mm;
    padding: 4mm;
  }

  .responsibility-notice {
    display: block !important;
    margin: 0 0 5mm;
    padding: 4mm;
    break-inside: avoid;
  }

  .completeness-warning {
    border-color: var(--print-rule) !important;
    background: #fff !important;
    color: #000 !important;
  }

  .review-grid {
    display: block !important;
  }

  .claim-detail-pane,
  .provenance-spine,
  #claim-detail {
    display: block !important;
    width: auto !important;
    max-width: none !important;
  }

  #claim-empty,
  #review-load-state,
  #review-load-error {
    display: none !important;
  }

  .provenance-band {
    margin: 0 0 5mm;
    padding: 4mm;
    break-inside: avoid-page;
  }

  .provenance-label,
  .status-badge,
  .message,
  .inline-status {
    background: #fff !important;
    color: #000 !important;
    border-color: var(--print-rule) !important;
  }

  .status-badge,
  .inline-status {
    border: 1px solid var(--print-rule) !important;
  }

  .page-source-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5mm;
  }

  .page-image-panel {
    break-inside: avoid-page;
  }

  .page-image-viewport,
  .page-image-stage,
  .page-text {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .page-image-viewport,
  .page-image-stage {
    background: #fff !important;
  }

  .page-image-stage {
    display: block !important;
    padding: 0 !important;
  }

  #page-image {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: 160mm !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    transform: none !important;
  }

  .page-tabs button:not([aria-selected="true"]) {
    display: none !important;
  }

  mark {
    color: #000 !important;
    background: transparent !important;
    outline: 1px solid var(--print-rule) !important;
    text-decoration: underline;
  }

  .review-status-buttons button:not([aria-pressed="true"]) {
    display: none !important;
  }

  .review-status-buttons button[aria-pressed="true"] {
    border: 1px solid var(--print-rule) !important;
    outline: 0 !important;
    background: #fff !important;
    color: #000 !important;
  }

  .save-state-row .action,
  .source-image-retry {
    display: none !important;
  }

  input,
  textarea {
    border: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #000 !important;
  }

  a {
    color: #000 !important;
    text-decoration: none !important;
  }
}
