/* Formal printed report (print-doc.js). Hidden on screen; when printing, it is the only thing on the paper. */
#pdoc { display: none; }

@media print {
  html, body { background: #fff !important; color: #16181c !important; margin: 0 !important; padding: 0 !important; }
  body.has-pdoc > *:not(#pdoc) { display: none !important; }
  body.has-pdoc #pdoc { display: block !important; }
  #pdoc, #pdoc * { -webkit-print-color-adjust: exact; print-color-adjust: exact; box-sizing: border-box; }
  #pdoc { font: 9.4pt/1.42 Arial, Helvetica, sans-serif; color: #16181c; }

  /* title block (page 1) */
  .pd-title { border-bottom: 2.4pt solid #16181c; padding-bottom: 10pt; margin-bottom: 14pt; position: relative; }
  .pd-title::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6pt; height: 3pt; background: #ffd100; }
  .pd-brand { display: flex; align-items: center; gap: 10pt; margin-bottom: 12pt; }
  .pd-brand img { height: 30pt; width: auto; }
  .pd-org { font-size: 8pt; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #5b6068; }
  .pd-type { font-size: 10.5pt; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #16181c; }
  .pd-title h1 { font: 700 22pt/1.1 Arial, Helvetica, sans-serif; margin: 0 0 3pt; letter-spacing: -.01em; }
  .pd-subtitle { font-size: 10pt; color: #4a4f57; }
  .pd-meta { display: grid; grid-template-columns: repeat(var(--mc, 4), minmax(0, 1fr)); gap: 6pt 14pt; margin: 12pt 0 0; }
  .pd-meta div { border-left: 1.5pt solid #d4d7db; padding-left: 7pt; }
  .pd-meta dt { font-size: 7pt; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #6b7078; }
  .pd-meta dd { margin: 1pt 0 0; font-size: 9.2pt; font-weight: 700; }

  /* sections */
  .pd-sec { margin: 0 0 15pt; }
  .pd-sec.pd-keep { break-inside: avoid; page-break-inside: avoid; }
  .pd-sec.pd-newpage { break-before: page; page-break-before: always; }
  .pd-h { display: flex; align-items: baseline; gap: 8pt; font: 700 12.5pt/1.2 Arial, Helvetica, sans-serif; margin: 0 0 7pt; padding-bottom: 4pt; border-bottom: 1pt solid #16181c; break-after: avoid; page-break-after: avoid; }
  .pd-h small { margin-left: auto; font-size: 8pt; font-weight: 400; color: #6b7078; }
  .pd-n { display: inline-grid; place-items: center; min-width: 15pt; height: 15pt; padding: 0 3pt; background: #16181c; color: #ffd100; font-size: 8.5pt; border-radius: 2pt; }
  .pd-h3 { font: 700 9.5pt/1.2 Arial, Helvetica, sans-serif; margin: 9pt 0 5pt; text-transform: uppercase; letter-spacing: .06em; color: #3a3f47; break-after: avoid; }
  .pd-p { margin: 0 0 6pt; }
  .muted { color: #6b7078; }

  /* key figures */
  .pd-figs { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: 6pt; margin: 0 0 8pt; }
  .pd-fig { border: .8pt solid #c9ccd1; border-top: 2.4pt solid #16181c; padding: 6pt 8pt 7pt; break-inside: avoid; }
  .pd-fig.up { border-top-color: #1e7a3c; } .pd-fig.down { border-top-color: #b3261e; } .pd-fig.warn { border-top-color: #a26a00; }
  .pd-fig .k { font-size: 7pt; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #5b6068; }
  .pd-fig .v { font-size: 15pt; font-weight: 700; line-height: 1.15; margin-top: 2pt; }
  .pd-fig .s { font-size: 7.8pt; color: #4a4f57; margin-top: 2pt; }

  /* tables */
  .pd-h3 + .pd-table, .pd-h3 + .pd-figs { break-before: avoid; }
  .pd-table { width: 100%; border-collapse: collapse; margin: 0 0 6pt; font-size: 8.6pt; }
  .pd-table thead { display: table-header-group; }
  .pd-table tfoot { display: table-row-group; }
  .pd-table th { text-align: left; font-size: 7pt; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #3a3f47; background: #eef0f2; border-top: 1pt solid #16181c; border-bottom: .8pt solid #9aa0a8; padding: 4pt 6pt; vertical-align: bottom; }
  .pd-table td { padding: 3.6pt 6pt; border-bottom: .5pt solid #dcdfe3; vertical-align: top; }
  .pd-table tr { break-inside: avoid; page-break-inside: avoid; }
  .pd-table tbody tr:nth-child(even) td { background: #f8f9fa; }
  .pd-table .n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .pd-table tfoot td { font-weight: 700; border-top: 1pt solid #16181c; border-bottom: 0; background: #eef0f2; }
  .pd-table tr.hl td { background: #fff6cc !important; font-weight: 700; }
  .pd-table.compact { font-size: 7.6pt; } .pd-table.compact td { padding: 2.6pt 4pt; } .pd-table.compact th { padding: 3pt 4pt; font-size: 6.4pt; }
  .pd-table td small { display: block; color: #6b7078; font-size: 7pt; }

  /* changes and status words */
  .pd-d { font-weight: 700; white-space: nowrap; } .pd-d.up { color: #1e7a3c; } .pd-d.down { color: #b3261e; } .pd-d.flat { color: #5b6068; }
  .pd-st { display: inline-block; font-size: 7pt; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: 1pt 5pt; border: .8pt solid currentColor; border-radius: 2pt; white-space: nowrap; }
  .pd-st.good { color: #1e7a3c; } .pd-st.warn { color: #8a5a00; } .pd-st.bad { color: #b3261e; } .pd-st.info { color: #3a3f47; }

  /* lists, quotes, columns */
  .pd-list { margin: 0 0 6pt; padding-left: 13pt; } .pd-list li { margin: 0 0 2.5pt; }
  .pd-list.check { list-style: none; padding-left: 0; columns: 2; column-gap: 18pt; }
  .pd-list.check li { break-inside: avoid; padding-left: 13pt; position: relative; }
  .pd-list.check li::before { position: absolute; left: 0; font-weight: 700; }
  .pd-list.check li.ok::before { content: "✓"; color: #1e7a3c; } .pd-list.check li.no::before { content: "✗"; color: #b3261e; }
  .pd-q { margin: 0 0 6pt; padding: 5pt 8pt; border-left: 2pt solid #c9ccd1; background: #f8f9fa; break-inside: avoid; }
  .pd-q .m { font-size: 7.8pt; font-weight: 700; color: #3a3f47; margin-bottom: 2pt; }
  .pd-q p { margin: 0; font-size: 8.6pt; }
  .pd-cols { display: grid; grid-template-columns: var(--r, 1fr 1fr); gap: 14pt; break-inside: avoid; }
  .pd-cols > div { min-width: 0; display: flex; flex-direction: column; }
  .pd-cols > div > .pd-box:last-child { flex: 1; }
  .pd-box { border: .8pt solid #c9ccd1; padding: 7pt 9pt; margin: 0 0 7pt; break-inside: avoid; }
  .pd-box.good { border-left: 3pt solid #1e7a3c; } .pd-box.bad { border-left: 3pt solid #b3261e; } .pd-box.warn { border-left: 3pt solid #a26a00; } .pd-box.info { border-left: 3pt solid #16181c; }
  .pd-box h4 { margin: 0 0 3pt; font-size: 9pt; }
  .pd-box p { margin: 0; }

  /* charts (inline SVG) */
  .pd-svg { display: block; width: 100%; height: auto; margin: 2pt 0 6pt; break-inside: avoid; }
  .pd-svg text { font-family: Arial, Helvetica, sans-serif; }
  .pd-sl { font-size: 10px; fill: #2b2f36; }
  .pd-sv { font-size: 10px; font-weight: 700; fill: #16181c; }
  .pd-sa { font-size: 9px; fill: #6b7078; }
  .pd-legend { display: flex; flex-wrap: wrap; gap: 4pt 12pt; font-size: 7.6pt; color: #4a4f57; margin: 0 0 3pt; }
  .pd-legend i { display: inline-block; width: 9pt; height: 7pt; margin-right: 4pt; vertical-align: -1pt; }

  .pd-note { margin-top: 12pt; padding-top: 6pt; border-top: .8pt solid #c9ccd1; font-size: 7.6pt; color: #5b6068; }
  .pd-end { margin-top: 10pt; text-align: center; font-size: 7pt; letter-spacing: .2em; text-transform: uppercase; color: #9aa0a8; }
}
@media print {
  .pd-grouped tr.grp td { background: #e4e7ea !important; font-size: 7.4pt; letter-spacing: .06em; text-transform: uppercase; padding-top: 5pt; }
  .pd-heat td { text-align: center; } .pd-heat td:first-child { text-align: left; }
  .pd-hc { display: block; padding: 1pt 2pt; border-radius: 1.5pt; font-weight: 700; }
  .pd-hc.good { background: #d8efdf; color: #145a2c; } .pd-hc.warn { background: #f8e9c4; color: #6b4600; } .pd-hc.bad { background: #f6d5d2; color: #8f1d16; }
}
@media print {
  /* screen utility classes (.good, .bad, .muted…) must not colour the printed report */
  #pdoc .pd-box, #pdoc .pd-box p, #pdoc .pd-box li, #pdoc .pd-fig, #pdoc .pd-fig .v, #pdoc .pd-table td, #pdoc .pd-p { color: #16181c; }
  #pdoc .pd-box h4 { color: #16181c; }
  #pdoc .muted, #pdoc .pd-fig .s, #pdoc .pd-table td small { color: #6b7078; }
}
