/* Dashboard Print Styles - shared across all dashboard pages */

/* Print-only elements - hidden on screen */
.print-header, .print-footer {
    display: none;
}

.print-filter-section {
    display: none;
}

@page {
    size: A4 landscape;
}

@media print {
    body {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
        zoom: 70%;
        padding: 0.5in 0.48in 0.8in 0.52in;
    }

    /* Hide nav, toolbar, filters, copyright, and interactive elements */
    .mud-nav-group,
    .mud-navmenu,
    .mud-appbar,
    .mud-drawer,
    .mud-overlay,
    .no-print,
    .mud-tabs,
    .table-filter-button,
    .mud-toolbar,
    .mud-pagination,
    .footer-copyright {
        display: none !important;
    }

    /* Make main content full width and remove overflow clipping so fixed footer works */
    .mud-main-content {
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .mud-layout {
        display: block !important;
        overflow: visible !important;
    }

    .mud-layout-content,
    .mud-drawer-container,
    .mud-main-content > * {
        overflow: visible !important;
    }

    /* Chart sizing for print */
    .mud-paper {
        box-shadow: none !important;
    }

    /* Prevent only the actual chart divs from splitting across pages */
    .chart-title-bg {
        page-break-inside: avoid;
    }

    /* Auto-size local filters panel in print (remove fixed height) */
    .mud-paper[style*="height:500px"][style*="flex-direction"] {
        height: auto !important;
    }

    /* Hide Highcharts export menu button in print */
    .highcharts-exporting-group,
    .highcharts-button,
    .highcharts-contextbutton {
        display: none !important;
        visibility: hidden !important;
    }

    /* Make chart + local-filters columns full-width in print */
    .mud-grid-item-md-8,
    .mud-grid-item-md-4 {
        max-width: 100% !important;
        flex-basis: 100% !important;
    }

    /* Show print header */
    .print-header {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        padding: 8px 0;
        margin-bottom: 8px;
        border-top: 1px solid #999;
        border-bottom: 1px solid #999;
    }

    .print-header-logo img {
        height: 40px;
    }

    .print-header-title {
        font-size: 35px;
        font-weight: bold;
        font-family: Arial, sans-serif;
        text-align: center;
        color: #000 !important;
        flex: 1;
    }

    .print-header-company {
        font-size: 35px;
        font-family: Arial, sans-serif;
        text-align: right;
        color: #000 !important;
    }

    /* Show print filter section */
    .print-filter-section {
        display: block !important;
        margin-bottom: 8px;
        font-size: 13px;
        font-family: Arial, sans-serif;
        page-break-inside: avoid;
    }

    .print-filter-item {
        display: inline-block;
        background: #e8f5e9;
        padding: 2px 8px;
        margin: 2px 4px;
        border-radius: 3px;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .print-filter-item.excluded {
        background: #ffebee;
    }

    /* Ensure bar chart container does not clip content */
    .mud-paper[style*="min-height"],
    .mud-paper[style*="height:500px"],
    .mud-paper[style*="height:400px"] {
        overflow: visible !important;
    }

    /* Show print footer - fixed to bottom of every printed page */
    .print-footer {
        display: flex !important;
        visibility: visible !important;
        position: fixed;
        bottom: -5px;
        left: 0;
        right: 0;
        font-size: 16px;
        font-family: Arial, Helvetica, sans-serif;
        color: #000 !important;
        padding: 8px 8px 4px 8px;
        border-top: 1px solid #999;
        justify-content: space-between;
        align-items: center;
        z-index: 99999;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
    }

    .print-footer-left {
        text-align: left;
        flex: 1;
    }

    .print-footer-center {
        text-align: center;
        flex: 1;
    }

    .print-footer-right {
        text-align: right;
        flex: 1;
    }
}
