/* =============================================================
   PPM Report layout — web adaptation
   ============================================================= */

.doc-sheet {
  position: relative;
  width: 794px;
  max-width: 100%;
  height: auto;
  min-height: 1123px;
  background: var(--neutral-0);
  color: var(--fg-2);
  overflow: visible;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 6px rgba(36,62,73,0.10), 0 18px 50px rgba(36,62,73,0.16);
}
.doc-sheet .page__inner { margin-top: 22px; }

@media (max-width: 860px) {
  .deck { padding: 16px 0 40px; gap: 16px; }
  .doc-sheet .page__inner { margin: 22px 20px 24px; }
  .dochead h1 { font-size: 22px; }
  .dochead .dh-meta { grid-template-columns: 1fr; }
}

.dochead-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.dochead-row .dochead { flex: 1; min-width: 0; }
.dochead-row .lockup { flex: none; font-size: 40px; margin-top: 2px; }
@media (max-width: 860px) {
  .dochead-row { flex-direction: column; gap: 12px; }
  .dochead-row .lockup { font-size: 28px; }
}

.doc-copy { font-size: 12.5px; line-height: 1.62; color: var(--fg-2); font-weight: var(--w-medium); }
.doc-copy h2.sec:first-child { margin-top: 0; }
.doc-copy h3.subsec { margin-top: 18px; }
.doc-copy p { margin: 0 0 12px; }
.doc-copy ul, .doc-copy ol { margin: 0 0 12px; padding-left: 22px; }
.doc-copy li { margin-bottom: 4px; }
.doc-copy a { color: var(--color-link); }
.doc-copy hr { border: none; border-top: 1px solid var(--border-2); margin: 24px 0; }
.doc-copy code {
  font-family: var(--font-mono);
  font-size: 0.92em;
  background: var(--neutral-25);
  border: 1px solid var(--border-1);
  border-radius: 3px;
  padding: 0.05em 0.35em;
}
.doc-copy .rpt-table { margin: 14px 0 18px; }
.colophon .lockup { font-size: 24px; }

.doc-links { max-width: 794px; width: 100%; margin: 0 auto; padding: 4px 4px 0; font-size: 12.5px; color: var(--neutral-600); }
.doc-links a { color: var(--color-link); }

@media print {
  html, body { background: #fff; }
  .deck { padding: 0; gap: 0; }
  .doc-sheet { box-shadow: none; min-height: 0; }
  .doc-links { display: none; }
  .body table, .body tr, .body img { break-inside: avoid; }
  .body h2, .body h3 { break-after: avoid; }
  * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
}
