/* ==========================================
   Print Styles — Tables & Receipts
   ========================================== */

@media print {
    /* ---- Reset background for print ---- */
    *,
    *::before,
    *::after {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    html,
    body {
        background: #ffffff !important;
        color: #111 !important;
        font-family: var(--font-family-primary) !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        direction: rtl;
    }

    /* ---- Hide non-print elements ---- */
    .no-print,
    .main-header,
    .app-header,
    .main-navigation,
    .action-bar,
    .quick-search-filter,
    .quick-filters-buttons,
    .view-controls-modern,
    .tabs-container,
    .pagination-clean,
    .btn,
    .btn-print,
    .filter-card,
    .page-loader,
    .toast-container {
        display: none !important;
    }

    /* ---- Page layout ---- */
    .page-content,
    .page-container,
    .main-content {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* ---- Page header (title) ---- */
    .page-header,
    .page-header-card {
        box-shadow: none !important;
        border: none !important;
        padding: 0 0 12px 0 !important;
        margin-bottom: 12px !important;
        border-bottom: 2px solid #1e40af !important;
    }

    .page-title {
        font-size: 20px !important;
        color: #1e40af !important;
    }

    /* ---- Tables ---- */
    .table-responsive-clean,
    .table-container,
    .table-responsive {
        overflow: visible !important;
        box-shadow: none !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 0 !important;
    }

    .professional-table,
    .data-table,
    .table,
    .modern-table {
        width: 100% !important;
        border-collapse: collapse !important;
        font-size: 12px !important;
    }

    .professional-table th,
    .professional-table td,
    .data-table th,
    .data-table td,
    .table th,
    .table td,
    .modern-table th,
    .modern-table td {
        border: 1px solid #cbd5e1 !important;
        padding: 6px 8px !important;
        vertical-align: middle;
    }

    .professional-table th,
    .data-table th,
    .table th,
    .modern-table th {
        background: #eff6ff !important;
        color: #1e40af !important;
        font-weight: 800;
        position: static !important;
    }

    .professional-table tbody tr:nth-child(even),
    .data-table tbody tr:nth-child(even) {
        background: #f8fafc !important;
    }

    /* ---- Status pills in print ---- */
    .status-pill,
    .status-badge,
    .badge {
        border: 1px solid #cbd5e1 !important;
        padding: 2px 6px !important;
        font-size: 11px !important;
    }

    /* ---- Page breaks ---- */
    .page-break-before { page-break-before: always; break-before: page; }
    .page-break-after  { page-break-after: always; break-after: page; }
    .no-page-break     { page-break-inside: avoid; break-inside: avoid; }

    tr {
        page-break-inside: avoid;
    }

    /* ---- Print footer ---- */
    .print-footer {
        display: block !important;
        margin-top: 24px;
        padding-top: 12px;
        border-top: 1px solid #cbd5e1;
        font-size: 12px;
        color: #64748b;
        text-align: center;
    }

    /* ---- Stats / KPI cards in print ---- */
    .stats-grid,
    .stats-grid-modern,
    .stats-grid-dashboard,
    .kpi-cards-grid {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 8px !important;
        margin-bottom: 12px !important;
    }

    .stat-card,
    .kpi-card,
    .finance-card {
        box-shadow: none !important;
        border: 1px solid #cbd5e1 !important;
        break-inside: avoid;
        padding: 8px !important;
    }

    .stat-value,
    .kpi-value {
        font-size: 20px !important;
    }
}
