/* ??????????????????????????????????????????????????????????????????????????? */
/* PRINT STYLESHEET - Dedicated print styles for Annual Dashboard             */
/* This file should be loaded LAST to override all other styles               */
/* ??????????????????????????????????????????????????????????????????????????? */

@media print {
    /* ??????????????????????????????????????????????????????????????????????? */
    /* 0. COVER PAGE STYLES - SIMPLE                                           */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    .cover-page {
        display: block !important;
        visibility: visible !important;
        page-break-after: always !important;
        break-after: page !important;
        height: 100vh !important;
        background: white !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .cover-content {
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        align-items: center !important;
        height: 100% !important;
        padding: 30mm 20mm !important;
        box-sizing: border-box !important;
    }
    
    .cover-logos {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
    }
    
    .cover-logo {
        max-height: 20mm !important;
        max-width: 50mm !important;
        object-fit: contain !important;
        print-color-adjust: exact !important;
        -webkit-print-color-adjust: exact !important;
    }
    
    .cover-center {
        text-align: center !important;
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
    }
    
    .cover-title {
        font-size: 36pt !important;
        font-weight: 600 !important;
        color: #333 !important;
        margin: 0 0 15mm 0 !important;
    }
    
    .cover-year {
        font-size: 80pt !important;
        font-weight: 700 !important;
        color: #0d6efd !important;
        line-height: 1 !important;
    }
    
    .cover-footer {
        text-align: center !important;
    }
    
    .cover-footer p {
        font-size: 10pt !important;
        color: #666 !important;
        margin: 0 !important;
    }

    /* ??????????????????????????????????????????????????????????????????????? */
    /* 1. RESET ALL LAYOUT CONTAINERS                                          */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    html {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        display: block !important;
    }
    
    body {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        display: block !important;
        width: 100% !important;
        position: static !important;
    }
    
    /* Blazor layout containers */
    .page,
    .page > main,
    .page > main > article,
    main,
    article {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
        display: block !important;
        position: static !important;
        flex: none !important;
    }
    
    /* Annual dashboard specific */
    .annual-dashboard,
    .annual-dashboard * {
        overflow: visible !important;
        max-height: none !important;
    }
    
    .container-fluid {
        height: auto !important;
        overflow: visible !important;
        max-width: 100% !important;
        padding: 8px !important;
        margin: 0 !important;
    }

    /* ??????????????????????????????????????????????????????????????????????? */
    /* 2. HIDE NON-PRINTABLE ELEMENTS                                          */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    .top-row,
    .sidebar,
    .navbar,
    .nav-menu,
    .no-print,
    .d-print-none,
    #blazor-error-ui,
    .btn,
    button,
    select,
    .form-select,
    .form-control {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        width: 0 !important;
        overflow: hidden !important;
    }
    
    /* Hide canvas elements (interactive charts) - use images instead */
    canvas {
        display: none !important;
        visibility: hidden !important;
    }
    
    /* Hide footer during print */
    footer {
        display: none !important;
    }

    /* ??????????????????????????????????????????????????????????????????????? */
    /* 3. SHOW PRINT-ONLY ELEMENTS                                             */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    .d-print-block,
    .d-print-only,
    .print-only {
        display: block !important;
        visibility: visible !important;
    }
    
    /* Report header */
    .report-header {
        display: block !important;
        visibility: visible !important;
        page-break-after: avoid;
    }
    
    /* Print-only sections (chart images) */
    .print-charts-section {
        display: block !important;
        visibility: visible !important;
    }
    
    .print-charts-section img {
        display: block !important;
        visibility: visible !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
    }
    
    /* Print-only machine dashboards */
    .print-machine-dashboard {
        display: block !important;
        visibility: visible !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        margin-bottom: 1rem !important;
    }

    /* ??????????????????????????????????????????????????????????????????????? */
    /* 4. TABLE HANDLING                                                       */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    .table-responsive {
        overflow: visible !important;
        max-height: none !important;
        height: auto !important;
    }
    
    table {
        width: 100% !important;
        page-break-inside: auto !important;
    }
    
    thead {
        display: table-header-group !important;
    }
    
    tfoot {
        display: table-footer-group !important;
    }
    
    tr {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
    
    td, th {
        overflow: visible !important;
    }
    
    /* Remove sticky positioning */
    .table-modern thead th,
    thead th {
        position: static !important;
    }

    /* ??????????????????????????????????????????????????????????????????????? */
    /* 5. CARDS AND SECTIONS                                                   */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    .card {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        overflow: visible !important;
    }
    
    .report-section {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        overflow: visible !important;
        display: block !important;
    }
    
    .report-section.page-break-before {
        page-break-before: always !important;
        break-before: page !important;
    }
    
    .avoid-break {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    /* ??????????????????????????????????????????????????????????????????????? */
    /* 6. PAGE SETUP                                                           */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    @page {
        size: A4 portrait;
        margin: 10mm;
    }
    
    @page :first {
        margin-top: 10mm;
    }

    /* ??????????????????????????????????????????????????????????????????????? */
    /* 7. COLORS AND BACKGROUNDS                                               */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }
    
    body {
        background: white !important;
        color: black !important;
    }
    
    .text-muted {
        color: #666 !important;
    }
    
    .badge {
        border: 1px solid currentColor !important;
        print-color-adjust: exact !important;
    }
    
    .bg-success, .bg-danger, .bg-warning, .bg-info, .bg-primary {
        print-color-adjust: exact !important;
    }

    /* ??????????????????????????????????????????????????????????????????????? */
    /* 8. PROGRESS BARS                                                          */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    .progress {
        height: 8px !important;
        overflow: visible !important;
        background-color: #e9ecef !important;
    }
    
    .progress-bar {
        print-color-adjust: exact !important;
    }

    /* ??????????????????????????????????????????????????????????????????????? */
    /* 9. KPI AND SUMMARY BOXES                                                */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    .report-kpi-item,
    .report-avg-card,
    .report-summary-box {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        border: 1px solid #ddd !important;
    }
    
    .row {
        page-break-inside: avoid !important;
    }

    /* ??????????????????????????????????????????????????????????????????????? */
    /* 10. TYPOGRAPHY FOR PRINT                                                */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    body {
        font-size: 10pt !important;
        line-height: 1.4 !important;
    }
    
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid !important;
        break-after: avoid !important;
    }
    
    .fs-2 {
        font-size: 16pt !important;
    }
    
    .fs-4 {
        font-size: 12pt !important;
    }
    
    .fs-5, .fs-6 {
        font-size: 10pt !important;
    }
    
    .small {
        font-size: 8pt !important;
    }

    /* ??????????????????????????????????????????????????????????????????????? */
    /* 11. CHART IMAGES FOR PRINT                                              */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    .print-chart-container {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        margin-bottom: 1rem !important;
        border: 1px solid #ddd !important;
        border-radius: 0.5rem !important;
        padding: 0.5rem !important;
        background: white !important;
    }
    
    .print-chart-container h6 {
        margin-bottom: 0.5rem !important;
        font-size: 10pt !important;
        font-weight: 600 !important;
        color: #333 !important;
    }
    
    .print-chart-container img {
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
    }
    
    /* Chart grid layout for print - NOT USED ANYMORE */
    .print-charts-grid {
        display: block !important;
    }
    
    .print-charts-grid .print-chart-container {
        width: 100% !important;
        margin-bottom: 1rem !important;
    }
    
    /* Full width charts */
    .print-chart-full {
        width: 100% !important;
    }
    
    /* Single chart per line for print */
    .print-chart-single {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        margin-bottom: 1.5rem !important;
        border: 1px solid #ddd !important;
        border-radius: 0.5rem !important;
        padding: 1rem !important;
        background: white !important;
        width: 100% !important;
    }
    
    .print-chart-single h6 {
        margin-bottom: 0.75rem !important;
        font-size: 11pt !important;
        font-weight: 600 !important;
        color: #333 !important;
        border-bottom: 1px solid #eee !important;
        padding-bottom: 0.5rem !important;
    }
    
    .print-chart-single img {
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 0 auto !important;
    }
    
    /* ??????????????????????????????????????????????????????????????????????? */
    /* 12. MACHINE DASHBOARD PRINT STYLES                                      */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    .print-machine-card {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        border: 1px solid #ccc !important;
        border-radius: 0.5rem !important;
        margin-bottom: 1rem !important;
        padding: 0.75rem !important;
        background: white !important;
    }
    
    .print-machine-card .machine-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        border-bottom: 1px solid #ddd !important;
        padding-bottom: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    .print-machine-card .machine-name {
        font-weight: 700 !important;
        font-size: 11pt !important;
        color: #0d6efd !important;
    }
    
    .print-machine-card .machine-type {
        color: #666 !important;
        font-size: 9pt !important;
    }
    
    .print-machine-card .machine-kpis {
        display: grid !important;
        grid-template-columns: repeat(6, 1fr) !important;
        gap: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    .print-machine-card .kpi-box {
        text-align: center !important;
        padding: 0.25rem !important;
        border: 1px solid #eee !important;
        border-radius: 0.25rem !important;
        background: #f8f9fa !important;
    }
    
    .print-machine-card .kpi-box .kpi-label {
        font-size: 7pt !important;
        color: #666 !important;
    }
    
    .print-machine-card .kpi-box .kpi-value {
        font-size: 9pt !important;
        font-weight: 600 !important;
    }
    
    .print-machine-card .machine-metrics {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 0.5rem !important;
    }
    
    .print-machine-card .metric-box {
        text-align: center !important;
        padding: 0.25rem !important;
        border: 1px solid #eee !important;
        border-radius: 0.25rem !important;
    }
    
    .print-machine-card .metric-box .metric-label {
        font-size: 7pt !important;
        color: #666 !important;
    }
    
    .print-machine-card .metric-box .metric-value {
        font-size: 9pt !important;
        font-weight: 600 !important;
    }
    
    /* Machine chart in print */
    .print-machine-card .print-machine-chart {
        margin-top: 0.5rem !important;
        border-top: 1px solid #eee !important;
        padding-top: 0.5rem !important;
    }
    
    .print-machine-card .print-machine-chart .chart-title {
        font-size: 9pt !important;
        font-weight: 600 !important;
        color: #333 !important;
        margin-bottom: 0.25rem !important;
    }
    
    .print-machine-card .print-machine-chart-img {
        display: block !important;
        visibility: visible !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 200px !important;
        margin: 0 auto !important;
    }
    
    /* ??????????????????????????????????????????????????????????????????????? */
    /* 13. MACHINE DASHBOARD FOR PRINT (1 per page, larger fonts)              */
    /* ??????????????????????????????????????????????????????????????????????? */
    
    .print-machine-dashboard {
        display: block !important;
        visibility: visible !important;
    }
    
    .print-machine-page {
        page-break-before: always !important;
        break-before: page !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        padding: 10mm 0 !important;
    }
    
    /* En-tête machine */
    .print-machine-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        border-bottom: 2px solid #0d6efd !important;
        padding-bottom: 8px !important;
        margin-bottom: 15px !important;
    }
    
    .print-machine-title {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }
    
    .print-machine-rank {
        font-weight: 700 !important;
        font-size: 16pt !important;
        color: #0d6efd !important;
    }
    
    .print-machine-name {
        font-weight: 700 !important;
        font-size: 16pt !important;
        color: #333 !important;
    }
    
    .print-machine-type {
        font-size: 12pt !important;
        color: #666 !important;
    }
    
    .print-machine-badges {
        display: flex !important;
        gap: 6px !important;
    }
    
    .print-machine-badges .badge {
        font-size: 10pt !important;
        padding: 4px 8px !important;
    }
    
    /* KPIs */
    .print-machine-kpis {
        margin-bottom: 15px !important;
    }
    
    .print-kpi-row {
        display: flex !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin-bottom: 8px !important;
    }
    
    .print-kpi-item {
        flex: 1 !important;
        text-align: center !important;
        padding: 8px 6px !important;
        background: #f8f9fa !important;
        border: 1px solid #dee2e6 !important;
        border-radius: 6px !important;
        print-color-adjust: exact !important;
        -webkit-print-color-adjust: exact !important;
    }
    
    .print-kpi-label {
        display: block !important;
        font-size: 9pt !important;
        color: #666 !important;
        margin-bottom: 2px !important;
    }
    
    .print-kpi-value {
        display: block !important;
        font-size: 14pt !important;
        font-weight: 700 !important;
    }
    
    /* Graphiques */
    .print-chart-block {
        border: 1px solid #dee2e6 !important;
        border-radius: 6px !important;
        padding: 10px !important;
        margin-bottom: 12px !important;
        background: white !important;
    }
    
    .print-chart-title {
        font-size: 11pt !important;
        font-weight: 600 !important;
        color: #333 !important;
        margin-bottom: 8px !important;
        padding-bottom: 4px !important;
        border-bottom: 1px solid #eee !important;
    }
    
    .print-chart-img {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        max-height: 180px !important;
        object-fit: contain !important;
    }
    
    /* Anciens styles compacts - supprimés car remplacés */
    .print-machine-card-compact,
    .machine-header-compact,
    .machine-title-compact,
    .machine-rank,
    .machine-name-compact,
    .machine-type-compact,
    .machine-badges-compact,
    .machine-kpis-compact,
    .kpi-item-compact,
    .kpi-value-compact,
    .kpi-label-compact,
    .machine-charts-row,
    .machine-chart-half,
    .chart-title-compact,
    .chart-img-compact {
        /* Styles non utilisés - gardés pour compatibilité */
    }
}
