/* ============================================================================
   print.css — regles d'impression communes a toute l'application.
   Chargee sur chaque page (voir partials/head.php) mais n'a AUCUN effet a
   l'ecran : tout est encapsule dans @media print. Objectif : quelle que soit
   la page imprimee (Ctrl+P), la navigation applicative (sidebar, topbar,
   boutons, filtres, modales) disparait et seul le contenu utile reste.

   Pour une page ponctuellement non desiree a l'impression malgre ces regles
   generales, ajouter la classe utilitaire "no-print" sur l'element concerne.
   Pour un formulaire dont le contenu doit rester visible a l'impression
   (rare — la plupart des formulaires ne sont que des filtres/actions),
   ajouter la classe "print-keep" sur ce formulaire.
   ============================================================================ */

@media print {
    @page {
        size: A4 portrait;
        margin: 1.5cm;
    }

    html, body {
        background: #fff !important;
        color: #000 !important;
    }

    /* Coquille applicative et elements de navigation/action */
    .app-sidebar,
    .app-topbar,
    .app-breadcrumb,
    .no-print,
    .btn,
    .btn-group,
    .dropdown-menu,
    .modal,
    .modal-backdrop,
    .alert,
    .pagination,
    .nav-tabs,
    .kpi-meta a,
    form:not(.print-keep) {
        display: none !important;
    }

    .app-main {
        margin-left: 0 !important;
        width: 100% !important;
    }

    .page-content {
        padding: 0 !important;
    }

    .container-fluid {
        padding: 0 !important;
        max-width: 100% !important;
    }

    /* Cartes et tableaux : bordures sobres en noir et blanc, pas d'ombre */
    .card {
        box-shadow: none !important;
        border: 1px solid #999 !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .kpi-card::after {
        display: none !important;
    }

    table {
        width: 100% !important;
        border-collapse: collapse !important;
    }

    thead {
        display: table-header-group; /* repete l'en-tete sur chaque page */
    }

    tr, td, th {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    table, th, td {
        border-color: #ccc !important;
    }

    a {
        color: inherit !important;
        text-decoration: none !important;
    }

    a[href]:after {
        content: "" !important; /* pas d'URL affichee entre parentheses */
    }

    .badge {
        border: 1px solid currentColor;
        color: #000 !important;
        background: transparent !important;
    }

    /* En-tete d'impression optionnel (voir partials/admin_top.php, param
       'imprimable') : masque a l'ecran (d-none), visible uniquement ici. */
    .print-header {
        display: block !important;
        margin-bottom: 1rem;
        border-bottom: 1px solid #000;
        padding-bottom: .5rem;
    }
}
