/* The report keeps text and links as HTML; only the existing map is frozen. */
body.pdf-report-open { overflow: hidden; }
.pdf-report-dialog {
  position: fixed; inset: 0; z-index: 10000; overflow: auto;
  background: #e9e5df; color: #23211d; padding: 0 16px 40px;
  overscroll-behavior: contain;
}
.pdf-report-toolbar {
  position: sticky; top: 0; z-index: 100; display: flex; flex-wrap: wrap;
  align-items: center; justify-content: space-between; gap: 14px;
  max-width: 1050px; margin: 0 auto 24px; padding: 16px 20px;
  background: #fff; border-bottom: 1px solid #d9cdbb; box-shadow: 0 3px 14px #372a1810;
}
.pdf-report-instructions strong { color: #514327; font-size: 18px; }
.pdf-report-instructions p { margin: 5px 0 0; font-size: 13px; line-height: 1.6; }
.pdf-report-toolbar-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pdf-report-toolbar button { width: auto; min-height: 42px; padding: 9px 14px; border: 1px solid #6b593b; border-radius: 6px; font: inherit; cursor: pointer; }
.pdf-report-print { background: #6b593b; color: #fff; font-weight: 700; }
.pdf-report-close, .pdf-report-details { background: #fff; color: #514327; }
.pdf-report-toolbar button:disabled { opacity: .45; cursor: wait; }
.pdf-report-loading { max-width: 760px; margin: 40px auto; padding: 24px; background: #fff; border-radius: 8px; }
.pdf-report-error { border-left: 4px solid #aa3d28; }
.pdf-report-document {
  width: 182mm; max-width: 100%; box-sizing: border-box; margin: 0 auto; padding: 0;
  background: #fff; box-shadow: 0 4px 24px #372a1820;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  font-size: 13px; line-height: 1.7; overflow-wrap: anywhere;
}
.pdf-report-document[hidden] { display: none; }
.pdf-report-document > section { padding: 20px 24px; }
.pdf-report-document > section + section { border-top: 1px solid #d9cdbb; }
.pdf-report-document .pdf-report-overview { padding: 24px 0 20px; }
.pdf-report-overview > :not(.pdf-report-map-section) { margin-left: 24px; margin-right: 24px; }
.pdf-report-header { border-bottom: 3px solid #6b593b; padding-bottom: 15px; margin-bottom: 18px; }
.pdf-report-logo { display: block; width: 205px; max-width: 70%; height: auto; margin-bottom: 16px; }
.pdf-report-eyebrow { margin: 0 0 3px; color: #6b593b; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.pdf-report-document h1 { font-size: 25px; line-height: 1.4; margin: 0 0 10px; color: #23211d; }
.pdf-report-document h2 { font-size: 17px; line-height: 1.5; color: #514327; margin: 0 0 10px; }
.pdf-report-document h3 { font-size: 15px; line-height: 1.5; }
.pdf-report-document p { margin-top: 0; }
.pdf-report-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 3px 20px; font-size: 12px; }
.pdf-report-meta p { margin: 0; }
.pdf-report-input { margin-bottom: 16px; }
.pdf-report-location { padding: 0; margin: 0; list-style: none; font-size: 12px; }
.pdf-report-location li { margin: 3px 0; }
.pdf-report-map-section h2, .pdf-map-attribution, .pdf-map-layers, .pdf-map-status, .pdf-report-map-section > .pdf-report-small { margin-left: 24px; margin-right: 24px; }
.pdf-map-frame { width: 100%; height: var(--pdf-map-screen-height, 350px); position: relative; overflow: hidden; background: #f2f0eb; }
.pdf-map-snapshot { position: absolute; left: 0; top: 0; transform-origin: top left; transform: scale(var(--pdf-map-screen-scale, 1)); pointer-events: none; }
.pdf-map-snapshot > * { margin: 0 !important; border-radius: 0 !important; }
.pdf-map-attribution { font-size: 9px; line-height: 1.5; margin-top: 6px; margin-bottom: 8px; }
.pdf-map-attribution .leaflet-control-attribution { float: none !important; margin: 0 !important; background: transparent !important; }
.pdf-map-layers { font-size: 11px; line-height: 1.7; margin-bottom: 6px; }
.pdf-map-status { font-size: 11px; padding-left: 18px; margin-top: 5px; margin-bottom: 8px; }
.pdf-report-small { font-size: 11px; color: #59534b; line-height: 1.65; }
.pdf-report-scope { background: #f5f0e8; border-left: 3px solid #6b593b; padding: 10px 12px; margin-top: 14px; margin-bottom: 0; font-size: 11px; }
.pdf-report-document .pdf-report-cards { display: block; }
.pdf-report-document .pdf-report-card { margin: 0 0 12px; padding: 14px; border: 1px solid #d9cdbb; border-radius: 6px; background: #fff; box-shadow: none; }
.pdf-report-document .pdf-report-card ul { max-height: none !important; overflow: visible !important; }
.pdf-report-document .result-card h3 { margin-top: 0; }
.pdf-report-document .card-actions, .pdf-report-document .forest-actions { display: flex; flex-wrap: wrap; gap: 7px 12px; }
.pdf-report-document .card-actions a, .pdf-report-document .forest-actions a { font-size: 11px; }
.pdf-report-document .airport-links, .pdf-report-document .airport-links a { max-width: 100%; }
.pdf-report-document .forest-results { border: 0; box-shadow: none; padding: 0; margin: 0; }
.pdf-report-document .forest-office { margin: 10px 0; }
.pdf-report-document details { margin: 8px 0; }
.pdf-report-document summary { cursor: default; list-style: none; font-weight: 700; }
.pdf-report-document summary::-webkit-details-marker { display: none; }
.pdf-report-document details::details-content { content-visibility: visible; }
.pdf-report-document a { color: #514327; text-underline-offset: 2px; }
.pdf-report-sources ul { padding-left: 18px; font-size: 10px; }
.pdf-report-sources li { margin-bottom: 5px; }
.pdf-report-warning { padding: 16px 24px; color: #9a3827; }
@media (max-width: 600px) {
  .pdf-report-dialog { padding: 0 8px 24px; }
  .pdf-report-toolbar { margin-bottom: 12px; padding: 12px; gap: 10px; }
  .pdf-report-toolbar button { font-size: 12px; padding: 8px 10px; }
  .pdf-report-instructions strong { font-size: 16px; }
  .pdf-report-document > section { padding: 16px; }
  .pdf-report-document .pdf-report-overview { padding: 18px 0; }
  .pdf-report-overview > :not(.pdf-report-map-section), .pdf-report-map-section h2, .pdf-map-attribution, .pdf-map-layers, .pdf-map-status, .pdf-report-map-section > .pdf-report-small { margin-left: 16px; margin-right: 16px; }
}
@page { size: A4; margin: 14mm; }
@media print {
  html, body, body.pdf-report-open { width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: #fff !important; }
  body.pdf-report-open > :not(#pdf-report-dialog) { display: none !important; }
  body:not(.pdf-report-open) #pdf-report-dialog { display: none !important; }
  #pdf-report-dialog { position: static !important; inset: auto !important; display: block !important; width: auto !important; height: auto !important; max-height: none !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: #fff !important; }
  #pdf-report-dialog .pdf-report-toolbar, #pdf-report-dialog .pdf-report-loading { display: none !important; }
  #pdf-report-dialog .pdf-report-document { width: 182mm !important; max-width: none !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; font-size: 9pt; line-height: 1.6; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  #pdf-report-dialog .pdf-report-document > section { padding: 5mm 0; }
  #pdf-report-dialog .pdf-report-document > .pdf-report-overview { padding: 0 0 4mm; break-after: page; page-break-after: always; }
  #pdf-report-dialog .pdf-report-overview > :not(.pdf-report-map-section), #pdf-report-dialog .pdf-report-map-section h2, #pdf-report-dialog .pdf-map-attribution, #pdf-report-dialog .pdf-map-layers, #pdf-report-dialog .pdf-map-status, #pdf-report-dialog .pdf-report-map-section > .pdf-report-small { margin-left: 0; margin-right: 0; }
  #pdf-report-dialog .pdf-report-header { padding-bottom: 3mm; margin-bottom: 4mm; }
  #pdf-report-dialog .pdf-report-logo { width: 48mm; margin-bottom: 3mm; }
  #pdf-report-dialog .pdf-report-document h1 { font-size: 19pt; }
  #pdf-report-dialog .pdf-report-document h2 { font-size: 12pt; break-after: avoid; }
  #pdf-report-dialog .pdf-report-document h3 { font-size: 10.5pt; break-after: avoid; }
  #pdf-report-dialog .pdf-report-meta, #pdf-report-dialog .pdf-report-location { font-size: 8.5pt; }
  #pdf-report-dialog .pdf-report-input { margin-bottom: 4mm; }
  #pdf-report-dialog .pdf-map-frame { display: block !important; width: 182mm !important; height: var(--pdf-map-print-height) !important; break-inside: avoid; }
  #pdf-report-dialog .pdf-map-snapshot { transform: scale(var(--pdf-map-print-scale)) !important; }
  #pdf-report-dialog .pdf-map-snapshot .leaflet-pane, #pdf-report-dialog .pdf-map-snapshot .leaflet-control-container, #pdf-report-dialog .pdf-map-snapshot canvas, #pdf-report-dialog .pdf-map-snapshot svg { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  #pdf-report-dialog .pdf-map-snapshot img { max-width: none !important; }
  #pdf-report-dialog .pdf-map-attribution { font-size: 6.5pt; }
  #pdf-report-dialog .pdf-map-layers, #pdf-report-dialog .pdf-map-status, #pdf-report-dialog .pdf-report-small, #pdf-report-dialog .pdf-report-scope { font-size: 7.5pt; }
  #pdf-report-dialog .pdf-report-cards { display: block !important; }
  #pdf-report-dialog .pdf-report-card { padding: 3mm; margin-bottom: 3mm; break-inside: avoid; page-break-inside: avoid; }
  #pdf-report-dialog .forest-office { break-inside: avoid; }
  #pdf-report-dialog .pdf-report-long-card { break-inside: auto !important; page-break-inside: auto !important; }
  #pdf-report-dialog .pdf-report-document ul, #pdf-report-dialog .pdf-report-document .forest-results, #pdf-report-dialog .pdf-report-document .result-card { max-height: none !important; overflow: visible !important; }
  #pdf-report-dialog .card-actions, #pdf-report-dialog .forest-actions { display: block !important; }
  #pdf-report-dialog .pdf-report-document .text-button { display: inline !important; }
  #pdf-report-dialog .card-actions a, #pdf-report-dialog .forest-actions a { display: block; margin-top: 2mm; font-size: 7.5pt; }
  #pdf-report-dialog .pdf-report-checks a[href]::after, #pdf-report-dialog .pdf-report-section:not(.pdf-report-overview):not(.pdf-report-sources) .forest-results a[href]::after, #pdf-report-dialog .emergency-status a[href]::after { content: " (" attr(href) ")"; font-size: 6.5pt; font-weight: 400; overflow-wrap: anywhere; }
  #pdf-report-dialog .pdf-report-sources { break-inside: avoid; }
  #pdf-report-dialog .pdf-report-sources ul { font-size: 7pt; }
  #pdf-report-dialog p, #pdf-report-dialog li { orphans: 3; widows: 3; }
}
