/* Print-friendly styles. Active for media=print on the regular layout,
   and as the only stylesheet on layout_print.php. */
@media print {
    body { background: #fff; color: #000; }
    .topbar, .stat-bar, .toolbar, .form-actions, .btn, nav, .tz-badge { display: none !important; }
    main { padding: 0; }
    table.data, .report-header, .report-q { background: #fff; color: #000; border-color: #999; }
    table.data th { background: #eee; color: #000; }
    .pill { border: 1px solid #999; color: #000 !important; background: #fff !important; }
    a { color: #000; text-decoration: none; }
}

body.print {
    margin: 0;
    padding: 16mm 14mm;
    font: 12pt/1.45 "Helvetica Neue", Arial, sans-serif;
    color: #000;
    background: #fff;
}
body.print h1 { font-size: 18pt; margin: 0 0 8pt; }
body.print .report-header { border: 1px solid #aaa; padding: 8pt 12pt; margin-bottom: 12pt; border-radius: 0; }
body.print .report-header dl.meta { display: grid; grid-template-columns: max-content 1fr; gap: 2pt 12pt; margin: 0; font-size: 10pt; }
body.print .report-header dl.meta dt { color: #555; }
body.print .report-q { display: grid; grid-template-columns: 40% 60%; gap: 8pt; padding: 4pt 0; border-bottom: 1px solid #ddd; }
body.print .report-q-label { color: #444; font-size: 10pt; }
body.print .report-q-value .ans-yes { font-weight: 700; }
body.print .report-q-value .ans-other { font-weight: 700; text-decoration: underline; }
body.print table.grid { width: 100%; border-collapse: collapse; font-size: 9pt; }
body.print table.grid th, body.print table.grid td { padding: 2pt 4pt; border: 1px solid #888; text-align: center; }
body.print ul.ans-checks { margin: 0; padding-left: 16pt; }
body.print .ans-long { white-space: pre-wrap; }
body.print .muted { color: #666; }
