/* Estilos de impresión de MAIA [FEAT-026].
   Se cargan en todas las páginas: al imprimir (o «Guardar como PDF») quedan
   fuera la navegación, los botones, los avisos y los controles de formulario,
   y el contenido se muestra completo (sin recortes de altura). Las vistas
   dedicadas (print_questionnaire.html, print_report.html) también lo usan. */

@media print {
    @page { margin: 18mm 16mm; }

    body { background: #fff; color: #000; font-size: 11pt; }
    .navbar, .footer, .alert, .form-actions, .admin-actions, .modal-overlay,
    .btn, button, .report-toggle, .no-print, .k-form, .outliers-form,
    .nav-links, .modal-spinner { display: none !important; }

    main.container { max-width: none; padding: 0; margin: 0; }

    /* El informe se muestra entero, sin la altura máxima del panel */
    .ai-report .report-body, .report-body { max-height: none !important; overflow: visible !important; }
    .ai-report .report-body::after { display: none !important; }
    .ai-report, .form-section, .report-sources { box-shadow: none; border: none; background: #fff; padding: 0; }

    /* Los enlaces llevan su dirección visible, que en papel es lo único que sirve */
    .report-markdown a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #444; word-break: break-all; }

    /* Cada cuadrante empieza sin cortar su cabecera */
    .quadrant-section, .print-quadrant { break-inside: avoid; page-break-inside: avoid; }
    h1, h2, h3 { break-after: avoid; page-break-after: avoid; }
    table { break-inside: auto; }
    tr { break-inside: avoid; page-break-inside: avoid; }

    /* Formulario público: escala para marcar a mano */
    input[type="number"], select, input[type="text"] { border: 1px solid #000; background: #fff; color: #000; }
}

/* ---- Vistas de impresión dedicadas (pantalla y papel) ---- */
.print-page { max-width: 820px; margin: 0 auto; font-family: Calibri, "Segoe UI", Arial, sans-serif; color: #111; line-height: 1.45; }
.print-toolbar { display: flex; gap: .6rem; justify-content: flex-end; margin: 0 0 1.2rem; }
.print-header { border-bottom: 2px solid #1B3A5C; padding-bottom: .6rem; margin-bottom: 1.2rem; }
.print-header h1 { margin: 0 0 .2rem; font-size: 1.6rem; color: #1B3A5C; }
.print-header .print-meta { color: #555; font-size: .9rem; }
.print-header .print-meta span + span::before { content: " · "; }
.print-section { margin: 0 0 1.2rem; }
.print-section h2 { font-size: 1.1rem; color: #1B3A5C; margin: 1.2rem 0 .5rem; border-bottom: 1px solid #CBD5E1; padding-bottom: .2rem; }
.print-instruction { color: #444; font-style: italic; margin: 0 0 .6rem; }
.print-demo { width: 100%; border-collapse: collapse; margin-bottom: .6rem; }
.print-demo td { padding: .35rem .3rem; border-bottom: 1px solid #CBD5E1; vertical-align: top; }
.print-demo td:first-child { width: 38%; font-weight: 600; }
.print-demo .print-options { color: #444; font-size: .9rem; }
.print-demo .print-line { display: inline-block; min-width: 55%; border-bottom: 1px solid #000; height: 1.1em; }
.print-quadrant { margin-bottom: 1.1rem; }
.print-quadrant h2 .print-box { display: inline-block; background: #1B3A5C; color: #fff; border-radius: 4px; padding: 0 .45rem; margin-right: .4rem; font-size: .9rem; }
.print-quadrant h2 small { color: #666; font-weight: normal; font-size: .8rem; margin-left: .4rem; }
.print-questions { width: 100%; border-collapse: collapse; }
.print-questions td { padding: .35rem .3rem; border-bottom: 1px solid #E2E8F0; vertical-align: top; }
.print-questions .print-qid { width: 3rem; color: #666; font-family: Consolas, monospace; }
.print-questions .print-scale { width: 15.5rem; white-space: nowrap; text-align: right; }
.print-scale span { display: inline-block; width: 1.25rem; height: 1.25rem; border: 1px solid #000; border-radius: 3px; margin-left: 2px; font-size: .65rem; text-align: center; line-height: 1.2rem; color: #666; }
.print-footer { margin-top: 1.5rem; color: #666; font-size: .8rem; border-top: 1px solid #CBD5E1; padding-top: .4rem; }
.print-page .report-markdown h2 { font-size: 1.1rem; color: #1B3A5C; margin: 1.2rem 0 .4rem; }
.print-page .report-markdown h3 { font-size: 1rem; margin: .9rem 0 .3rem; }
.print-page .report-markdown a { color: #1B3A5C; word-break: break-all; }
.print-page .report-sources { margin-top: 1.2rem; padding: .8rem 1rem; background: #FFFBEB; border-left: 4px solid #D69E2E; }
@media print { .print-toolbar { display: none !important; } .print-page { max-width: none; } }
