/**
 * ═════════════════════════════════════════════════════════════════════════════
 * STUDIO D'IMPRESSION HAUTE DÉFINITION & EXPORT A4 — AICI ERP 2026
 * AGRILAND INDUSTRIES CÔTE D'IVOIRE — Azaguié
 * 
 * Support des modes A4 Portrait & A4 Paysage, En-tête et Pied de page officiels,
 * isolation de sections et stylisation typographique prestige Cacao & Or.
 * ═════════════════════════════════════════════════════════════════════════════
 */

/* ── 1. ÉLÉMENTS OFFICIELS (Masqués à l'écran, visibles uniquement à l'impression) ── */
#aici-print-official-header,
#aici-print-official-footer,
.aici-print-only {
    display: none !important;
}

/* ── 2. RÈGLES GLOBALES D'IMPRESSION (@media print) ── */
@media print {
    /* Configuration des pages & marges selon l'orientation */
    @page {
        size: A4 portrait;
        margin: 10mm 12mm 12mm 12mm;
    }

    body.aici-print-landscape {
        size: A4 landscape !important;
    }
    @page landscape {
        size: A4 landscape;
        margin: 8mm 10mm 10mm 10mm;
    }

    html, body {
        background: #FFFFFF !important;
        color: #1F130D !important;
        font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
        font-size: 11pt !important;
        line-height: 1.4 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* ── 2.1 Masquage impératif de tous les éléments d'interface ── */
    #sidebar,
    #topNavbar,
    footer,
    .no-print,
    .aici-ambient-mesh,
    .aici-ticker-wrap,
    .aici-export-bar,
    .btn-action,
    .actions-column,
    .dataTables_filter,
    .dataTables_length,
    .dataTables_paginate,
    .dataTables_info,
    nav[aria-label="Pagination"],
    button,
    .aici-btn-primary,
    .aici-btn-secondary,
    .aici-btn-ghost,
    form,
    input, select, textarea,
    .modal,
    #aiciModal,
    a[href*="_create.php"],
    a[href*="login.php"],
    a[href*="vitrine.php"],
    a[href*="vue="],
    a[href*="tab="],
    .aici-tabs,
    .btn-group,
    .aici-quick-link-btn,
    .flex.items-center.gap-2:has(button, a.aici-btn-primary) {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        width: 0 !important;
        overflow: hidden !important;
    }

    /* Réinitialisation des conteneurs parents */
    main, .flex-1, #main-content {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
    }

    /* ── 2.2 Mode Impression par Section Isolée ── */
    body.aici-print-section-only main > *:not(.aici-print-target):not(#aici-print-official-header):not(#aici-print-official-footer) {
        display: none !important;
    }
    body.aici-print-section-only .aici-print-target {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        border: none !important;
        box-shadow: none !important;
    }

    /* ── 2.3 En-tête Officiel d'Impression Prestige ── */
    #aici-print-official-header,
    .aici-print-only.print-header-block {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        padding-bottom: 12px !important;
        margin-bottom: 16px !important;
        border-bottom: 2.5pt solid #8D6A53 !important;
        position: relative !important;
        width: 100% !important;
    }

    .print-header-brand {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }

    .print-header-logo-box {
        width: 48px !important;
        height: 48px !important;
        background: #8D6A53 !important;
        border-radius: 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #FFFFFF !important;
        font-size: 22pt !important;
        border: 1pt solid #745540 !important;
    }

    .print-header-identity h1 {
        font-size: 15pt !important;
        font-weight: 900 !important;
        color: #332117 !important;
        margin: 0 !important;
        line-height: 1.15 !important;
        letter-spacing: -0.02em !important;
        text-transform: uppercase !important;
    }

    .print-header-identity .print-sub {
        font-size: 8.5pt !important;
        font-weight: 700 !important;
        color: #8D6A53 !important;
        margin-top: 2px !important;
        letter-spacing: 0.05em !important;
        text-transform: uppercase !important;
    }

    .print-header-identity .print-legal {
        font-size: 7.5pt !important;
        color: #64748B !important;
        margin-top: 1px !important;
    }

    .print-header-meta {
        text-align: right !important;
        max-width: 42% !important;
    }

    .print-header-badge-title {
        display: inline-block !important;
        background: #F4ECE4 !important;
        color: #5D4231 !important;
        border: 1pt solid #D6BFA8 !important;
        padding: 4px 10px !important;
        border-radius: 6px !important;
        font-size: 10.5pt !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
    }

    .print-header-meta-details {
        font-size: 8pt !important;
        color: #475569 !important;
        margin-top: 4px !important;
        line-height: 1.35 !important;
    }

    /* ── 2.4 Bandeau Horizontal des Cartes KPIs & Synthèse ── */
    .grid:has(> .aici-card),
    .grid:has(> .aici-kpi-card),
    .grid:has(> [class*="kpi"]),
    .grid:has(> .rounded-2xl + .rounded-2xl),
    .grid.grid-cols-1,
    .grid.grid-cols-2,
    .grid.grid-cols-3,
    .grid.grid-cols-4 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        gap: 8px !important;
        margin: 6px 0 14px 0 !important;
        width: 100% !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .grid > .aici-card,
    .grid > .aici-kpi-card,
    .grid > [class*="kpi"],
    .grid:has(> .aici-card) > .aici-card,
    .grid:has(> .aici-kpi-card) > .aici-kpi-card,
    .grid:has(> .rounded-2xl + .rounded-2xl) > .rounded-2xl {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        max-width: none !important;
        background: #FAF6F2 !important;
        border: 0.75pt solid #D9CCC1 !important;
        border-top: 2.5pt solid #8D6A53 !important;
        border-radius: 4px !important;
        box-shadow: none !important;
        padding: 6px 8px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        text-align: left !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    /* Masquage des icônes décoratives flottantes pour pureté d'impression */
    .grid > .aici-card .w-9.h-9,
    .grid > .aici-kpi-card .w-9.h-9,
    .grid > [class*="kpi"] .w-9.h-9,
    .grid:has(> .rounded-2xl) .w-9.h-9,
    .grid > * .fa-solid:not(.fa-circle-info) {
        display: none !important;
    }

    /* Libellé de l'indicateur (haut) */
    .aici-kpi-card span:first-child,
    .aici-card .text-xs.font-bold,
    .grid > * .text-\[11px\].font-bold,
    .grid > * span.uppercase {
        font-size: 7.5pt !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        color: #5D4231 !important;
        letter-spacing: 0.04em !important;
        display: block !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* Valeur chiffrée (centre) */
    .aici-kpi-card .text-2xl,
    .aici-card .text-2xl,
    .aici-card .text-xl,
    .grid > * .text-2xl,
    .grid > * .text-xl,
    .grid > * .font-black {
        font-size: 13pt !important;
        font-weight: 900 !important;
        color: #1F130D !important;
        line-height: 1.2 !important;
        margin: 2px 0 !important;
        font-family: 'Consolas', 'Monaco', monospace, sans-serif !important;
    }

    /* Sous-texte / hint (bas) */
    .aici-kpi-card .text-\[11px\].text-slate-400,
    .aici-card .text-\[11px\],
    .grid > * .text-\[11px\]:last-child {
        font-size: 6.5pt !important;
        color: #745540 !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        display: block !important;
    }

    /* ── 2.5 Tableaux de Données (Clairs, Zébrés & Aérés) ── */
    table {
        width: 100% !important;
        border-collapse: collapse !important;
        font-size: 8.5pt !important;
        margin-top: 10px !important;
        margin-bottom: 16px !important;
        background: #FFFFFF !important;
    }

    thead {
        display: table-header-group !important; /* Répète l'en-tête sur chaque page imprimée */
    }

    thead th {
        background: #F4EBE2 !important;
        color: #332117 !important;
        font-weight: 800 !important;
        font-size: 8pt !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        padding: 6px 8px !important;
        border-top: 1.5pt solid #8D6A53 !important;
        border-bottom: 1.5pt solid #8D6A53 !important;
        border-left: 0.5pt solid #E2D9CF !important;
        border-right: 0.5pt solid #E2D9CF !important;
        text-align: left !important;
    }

    thead th a {
        color: #332117 !important;
        text-decoration: none !important;
    }
    thead th i {
        display: none !important; /* Masque les icônes de tri interactif */
    }

    tbody tr {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        border-bottom: 0.5pt solid #E2D9CF !important;
    }

    tbody tr:nth-child(even) {
        background-color: #FAF6F2 !important;
    }

    tbody td {
        padding: 5px 8px !important;
        color: #1F130D !important;
        border-left: 0.5pt solid #EAE2D8 !important;
        border-right: 0.5pt solid #EAE2D8 !important;
        font-size: 8.5pt !important;
        vertical-align: middle !important;
    }

    /* Alignements numériques */
    tbody td.text-right, thead th.text-right, td.r {
        text-align: right !important;
        font-variant-numeric: tabular-nums !important;
        font-family: 'Consolas', 'Monaco', monospace !important;
    }

    tfoot {
        display: table-footer-group !important;
    }

    tfoot tr td {
        background: #F4EBE2 !important;
        font-weight: 800 !important;
        color: #1F130D !important;
        border-top: 1.5pt solid #8D6A53 !important;
        border-bottom: 2pt solid #8D6A53 !important;
        padding: 6px 8px !important;
    }

    /* Masquage de la dernière colonne si c'est la colonne Actions */
    th:last-child:has(i.fa-gear),
    th:last-child:has(i.fa-ellipsis),
    td:last-child:has(.aici-btn-action),
    td:last-child:has(button),
    .col-actions {
        display: none !important;
    }

    /* Badges imprimés */
    .rounded-full, .badge, [class*="bg-"][class*="-500/"] {
        background: #F1ECE6 !important;
        color: #332117 !important;
        border: 0.5pt solid #CBB8A8 !important;
        font-size: 7pt !important;
        font-weight: 700 !important;
        padding: 1px 5px !important;
    }

    /* ── 2.6 Pied de page Officiel d'Authentification ── */
    #aici-print-official-footer,
    .aici-print-only.print-footer-block {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-end !important;
        margin-top: 24px !important;
        padding-top: 10px !important;
        border-top: 1pt solid #D6BFA8 !important;
        font-size: 7.5pt !important;
        color: #64748B !important;
        width: 100% !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .print-footer-legal {
        max-width: 65% !important;
        line-height: 1.35 !important;
    }

    .print-footer-signature-box {
        border: 0.75pt dashed #8D6A53 !important;
        border-radius: 6px !important;
        padding: 8px 16px !important;
        text-align: center !important;
        min-width: 180px !important;
        background: #FAF6F2 !important;
    }

    .print-footer-signature-box .sig-title {
        font-weight: 800 !important;
        color: #332117 !important;
        font-size: 7.5pt !important;
        text-transform: uppercase !important;
        margin-bottom: 24px !important;
    }

    .print-footer-signature-box .sig-name {
        font-weight: 700 !important;
        color: #8D6A53 !important;
        font-size: 8pt !important;
    }
}
