/* Documenti: anteprima tipografica e stampa. */
.doc-page { background: var(--color-surface); border: 1px solid var(--color-rule); border-radius: var(--radius-lg); padding: var(--s10) var(--s12); font-family: var(--font-document); font-size: 16px; line-height: 1.65; margin-bottom: var(--s6); }
.doc-page h1 { font-family: var(--font-document); font-size: 26px; margin-bottom: var(--s4); }
.doc-page h2 { font-family: var(--font-document); font-size: 19px; margin: var(--s6) 0 var(--s2); }
.doc-page h3 { font-family: var(--font-document); font-size: 17px; margin: var(--s4) 0 var(--s2); }
.doc-page table { width: 100%; border-collapse: collapse; font-family: var(--font-body); font-size: 13px; margin: var(--s3) 0 var(--s4); }
.doc-page th, .doc-page td { border: 1px solid var(--color-rule); padding: 6px 8px; text-align: left; vertical-align: top; }
.doc-page th { background: var(--color-soft); font-weight: 600; }
.doc-page blockquote { margin: var(--s3) 0; padding: var(--s3) var(--s4); border-left: 3px solid var(--color-accent); background: var(--color-paper); }
.doc-page mark.todo { background: var(--color-warning-bg); color: var(--color-warning); padding: 0 3px; border-radius: 3px; font-family: var(--font-body); font-size: .9em; }
.doc-meta { display: flex; gap: var(--s3); align-items: center; flex-wrap: wrap; margin-bottom: var(--s4); font-size: 13px; color: var(--color-muted); }
@media (max-width: 720px) { .doc-page { padding: var(--s5); font-size: 15px; } }
@media print {
  .sidebar, .main-head, .no-print, .topbar, .footer, .skip { display: none !important; }
  .workbench { display: block; }
  body { background: #fff; }
  .doc-page { border: 0; padding: 0; }
  .doc-page mark.todo { background: none; color: inherit; }
}
