/**
 * print-ficha.css — TASK 9.2 (+ TASK 10.3 impresión QR)
 * Solo @media print (salvo .print-only en pantalla).
 * Impresión nativa del navegador; sin PDF ni dependencias.
 * body.print-mode-qr → pieza QR limitada (no ficha completa).
 */

/* Pantalla: elementos solo para impresión ocultos */
.print-only {
    display: none !important;
}

@media print {
    /* —— Chrome de aplicación: no imprimible —— */
    .navbar,
    .sidebar,
    .sidebar-overlay,
    .footer,
    .breadcrumbs,
    .flash,
    .alert,
    .no-print,
    [data-menu-toggle],
    [data-menu-overlay],
    [data-sidebar-collapse] {
        display: none !important;
    }

    .print-only {
        display: block !important;
    }

    /* Pieza QR: solo si el usuario eligió «Imprimir QR» */
    body:not(.print-mode-qr) .qr-print-sheet {
        display: none !important;
    }

    html,
    body {
        background: #fff !important;
        color: #000 !important;
        font-size: 11pt;
        line-height: 1.35;
    }

    .app-layout,
    .app-body,
    .main-content,
    .page-content {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: none !important;
        background: #fff !important;
        box-shadow: none !important;
        min-height: 0 !important;
    }

    /* —— Modo impresión QR (TASK 10.3) —— */
    body.print-mode-qr .ficha-print-header,
    body.print-mode-qr #ficha-asociado-consolidada,
    body.print-mode-qr .page-content > .card {
        display: none !important;
    }

    body.print-mode-qr .qr-print-sheet {
        display: block !important;
        max-width: 420px;
        margin: 0 auto;
        padding: 12mm 10mm;
        border: none !important;
        box-shadow: none !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    body.print-mode-qr .qr-print-sheet__header {
        text-align: center;
        margin: 0 0 1.25rem;
        padding-bottom: 0.75rem;
        border-bottom: 2px solid #000;
    }

    body.print-mode-qr .qr-print-sheet__institution {
        margin: 0 0 0.35rem;
        font-size: 11pt;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    body.print-mode-qr .qr-print-sheet__title {
        margin: 0 0 0.35rem;
        font-size: 16pt;
        font-weight: 700;
    }

    body.print-mode-qr .qr-print-sheet__system {
        margin: 0;
        font-size: 9pt;
        color: #333;
    }

    body.print-mode-qr .qr-print-sheet__body {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        text-align: center;
    }

    body.print-mode-qr .qr-print-sheet__img {
        width: 70mm;
        height: 70mm;
        max-width: 100%;
        image-rendering: pixelated;
        image-rendering: crisp-edges;
        background: #fff;
        border: 1px solid #000;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body.print-mode-qr .qr-print-sheet__meta {
        margin: 0;
        width: 100%;
        text-align: left;
    }

    body.print-mode-qr .qr-print-sheet__row {
        display: grid;
        grid-template-columns: 10rem 1fr;
        gap: 0.35rem 0.75rem;
        padding: 0.35rem 0;
        border-bottom: 1px solid #ccc;
        page-break-inside: avoid;
    }

    body.print-mode-qr .qr-print-sheet__row dt {
        margin: 0;
        font-weight: 700;
        font-size: 10pt;
    }

    body.print-mode-qr .qr-print-sheet__row dd {
        margin: 0;
        font-size: 12pt;
        font-weight: 600;
    }

    body.print-mode-qr a[href^="http"]::after {
        content: none !important;
    }

    /* —— Encabezado de impresión ficha (9.2; no en modo QR) —— */
    .ficha-print-header {
        margin: 0 0 1rem;
        padding-bottom: 0.75rem;
        border-bottom: 2px solid #000;
        page-break-after: avoid;
        break-after: avoid;
    }

    .ficha-print-header__institution {
        margin: 0 0 0.35rem;
        font-size: 11pt;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    .ficha-print-header__title {
        margin: 0 0 0.5rem;
        font-size: 16pt;
        font-weight: 700;
    }

    .ficha-print-header__meta {
        margin: 0;
        font-size: 11pt;
    }

    .ficha-print-header__meta span + span::before {
        content: " · ";
    }

    /* —— Ficha: secciones (impresión completa; omitidas en print-mode-qr) —— */
    #ficha-asociado-consolidada.page-header {
        margin-bottom: 0.75rem;
        page-break-after: avoid;
        break-after: avoid;
    }

    #ficha-asociado-consolidada .page-subtitle {
        margin: 0.25rem 0 0;
    }

    .card {
        break-inside: avoid;
        page-break-inside: avoid;
        margin-bottom: 0.85rem !important;
        border: 1px solid #333 !important;
        box-shadow: none !important;
        background: #fff !important;
        border-radius: 0 !important;
    }

    .card-header {
        background: #f0f0f0 !important;
        border-bottom: 1px solid #333 !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .card-title {
        color: #000 !important;
        font-size: 12pt;
    }

    .badge {
        border: 1px solid #333 !important;
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
    }

    .detail-list .detail-row {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .detail-list dt,
    .detail-list dd {
        color: #000 !important;
    }

    .table-container {
        overflow: visible !important;
    }

    .table {
        width: 100%;
        border-collapse: collapse;
    }

    .table th,
    .table td {
        border: 1px solid #333 !important;
        color: #000 !important;
        background: #fff !important;
    }

    .vehiculo-ficha-item {
        break-inside: avoid;
        page-break-inside: avoid;
        border-top-color: #333 !important;
    }

    a {
        color: #000 !important;
        text-decoration: underline;
    }

    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        word-break: break-all;
    }

    .card-header,
    .form-label,
    h1, h2, h3 {
        page-break-after: avoid;
        break-after: avoid;
    }
}
