/* ============================================
   Shared Print Styles for MangoApps
   ============================================ */

@media print {

    /* Hide non-printable elements */
    .d-print-none,
    nav,
    .navbar,
    .sidebar,
    .btn,
    button,
    .dropdown,
    .breadcrumb,
    footer,
    .alert {
        display: none !important;
    }

    /* Reset body and containers */
    body {
        margin: 0;
        padding: 0;
        background: white !important;
        color: black !important;
    }

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

    /* Print header styling */
    .print-header {
        display: block !important;
        text-align: center;
        margin-bottom: 25px;
        padding-bottom: 15px;
        border-bottom: 2px solid #000;
    }

    .print-header h1 {
        font-size: 22px;
        margin: 0 0 8px 0;
        font-weight: 700;
        color: #000;
    }

    .print-header .subtitle {
        font-size: 16px;
        font-weight: 600;
        color: #333;
        margin: 5px 0;
    }

    .print-header .meta {
        font-size: 11px;
        color: #666;
        margin-top: 8px;
    }

    /* Print summary section */
    .print-summary {
        display: block !important;
        margin-bottom: 20px;
        padding: 12px;
        background-color: #f5f5f5;
        border: 1px solid #333;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .print-summary h2,
    .print-summary h3 {
        font-size: 14px;
        margin: 0 0 10px 0;
        font-weight: 600;
        color: #000;
    }

    .print-summary .row {
        margin-bottom: 5px;
    }

    .print-summary strong {
        font-weight: 600;
    }

    /* Table styling */
    .table {
        width: 100%;
        border-collapse: collapse;
        font-size: 10px;
        margin-bottom: 15px;
    }

    .table thead {
        background-color: #e9ecef !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .table th {
        border: 1px solid #000 !important;
        padding: 6px 4px !important;
        font-weight: 600;
        text-align: left;
        background-color: #e9ecef !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .table td {
        border: 1px solid #666 !important;
        padding: 5px 4px !important;
        vertical-align: top;
    }

    .table tfoot td {
        font-weight: 600;
        background-color: #f8f9fa !important;
        border-top: 2px solid #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Badge styling */
    .badge {
        border: 1px solid #333 !important;
        padding: 2px 5px;
        font-size: 9px;
        display: inline-block;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .badge.bg-success {
        background-color: #d4edda !important;
        color: #155724 !important;
    }

    .badge.bg-warning {
        background-color: #fff3cd !important;
        color: #856404 !important;
    }

    .badge.bg-danger {
        background-color: #f8d7da !important;
        color: #721c24 !important;
    }

    .badge.bg-info {
        background-color: #d1ecf1 !important;
        color: #0c5460 !important;
    }

    .badge.bg-primary {
        background-color: #cce5ff !important;
        color: #004085 !important;
    }

    .badge.bg-secondary {
        background-color: #e2e3e5 !important;
        color: #383d41 !important;
    }

    /* Remove card styling */
    .card {
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .card-header,
    .card-body {
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    /* Text utilities */
    .text-muted {
        color: #666 !important;
    }

    small {
        font-size: 9px;
    }

    /* Icons in print */
    .fas,
    .far,
    .fab {
        font-size: 10px;
    }

    /* Page settings */
    @page {
        margin: 0.5in 0.75in;
        size: letter portrait;
    }

    /* Page breaks */
    .page-break-before {
        page-break-before: always;
    }

    .page-break-after {
        page-break-after: always;
    }

    .page-break-avoid {
        page-break-inside: avoid;
    }

    /* Table row breaks */
    tr {
        page-break-inside: avoid;
    }

    /* Print footer */
    .print-footer {
        display: block !important;
        margin-top: 20px;
        padding-top: 10px;
        border-top: 1px solid #666;
        font-size: 9px;
        text-align: center;
        color: #666;
    }

    /* Ensure content fits on page */
    * {
        overflow: visible !important;
    }

    img {
        max-width: 100%;
        page-break-inside: avoid;
    }
}

/* Hide print-only elements on screen */
@media screen {

    .print-header,
    .print-summary,
    .print-footer,
    .print-only {
        display: none !important;
    }
}