/* ============================================================
   print.css — قواعد مشترک چاپ صحیح (A4 / گزارش‌ها)
   باید بعد از app.css بارگذاری شود تا overflow/height را خنثی کند.
   ============================================================ */

@media print {
    /* ── ریست ریشه: بدون این، height:100% + overflow:hidden محتوا را می‌بُرد ── */
    html,
    body {
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
        background: #fff !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    #app,
    .mud-layout,
    .mud-main-content,
    .mud-container,
    .hnd-main-content,
    .hnd-print-root,
    .hnd-page,
    .page-wrapper,
    .doc-wrapper {
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
        position: static !important;
        box-shadow: none !important;
    }

    /* ── مخفی‌سازی UI برنامه ─────────────────────────────────────────────── */
    .no-print,
    .hnd-print-toolbar,
    .mud-appbar,
    .mud-drawer,
    .mud-drawer-content,
    .mud-overlay,
    .mud-snackbar-provider,
    .mud-dialog-container,
    .mud-popover,
    .mud-tooltip,
    .mud-tabs-toolbar,
    .mud-tabs-header,
    .mud-tabs-tabbar,
    .mud-table-pagination,
    .mud-data-grid-pager,
    .mud-table-pagination-toolbar {
        display: none !important;
    }

    /* ── فقط چاپ ─────────────────────────────────────────────────────────── */
    .print-only {
        display: block !important;
    }

    /*
      MudBlazor 9: پنل فعال tabs با display:contents است.
      Chrome/Edge هنگام چاپ contents را نادیده می‌گیرند → نتیجه گزارش خالی می‌شود.
    */
    .mud-tabs-tabbar {
        display: none !important;
    }

    .mud-tabs-panels > .mud-tab-panel {
        display: none !important;
    }

    .mud-tabs-panels > .mud-tab-panel.mud-tab-panel-active:not(.mud-tab-panel-hidden) {
        display: block !important;
    }

    .mud-tabs,
    .mud-tabs-panels {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* ── جداول / DataGrid: حذف اسکرول داخلی ──────────────────────────────── */
    .mud-data-grid,
    .mud-table,
    .mud-table-root,
    .mud-table-container,
    .mud-table-wrapper,
    .mud-paper,
    .mud-card,
    .doc-outer-box,
    .a4-page {
        overflow: visible !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
        max-height: none !important;
        height: auto !important;
        box-shadow: none !important;
    }

    .mud-table-container {
        width: 100% !important;
    }

    .mud-table-container table {
        width: 100% !important;
        table-layout: auto !important;
    }

    .mud-table-container th,
    .mud-table-container td {
        white-space: normal !important;
        word-break: break-word !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    /* ── sticky / fixed در چاپ باعث برش می‌شود ───────────────────────────── */
    .mud-appbar,
    .hnd-print-toolbar,
    [class*="sticky"] {
        position: static !important;
        top: auto !important;
    }

    /* ── برگه‌های سند / ارجاع ─────────────────────────────────────────────── */
    .a4-page,
    .doc-outer-box {
        border: none !important;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    /* دو a4-page جدا فقط برای صفحات غیر از ارجاع؛ ارجاع از referral-sheet استفاده می‌کند */
    .a4-page + .a4-page:not(.referral-half) {
        page-break-before: always;
        margin-top: 0 !important;
    }

    .referral-sheet {
        page-break-inside: avoid !important;
        page-break-after: avoid !important;
        overflow: hidden !important;
    }

    /* حاشیه منفی سکشن‌ها روی صفحه چاپ باعث برش می‌شود */
    .half-header,
    .doc-header {
        margin: 0 0 10px 0 !important;
        page-break-after: avoid;
    }

    .section-label {
        margin: 8px 0 6px 0 !important;
        page-break-after: avoid;
    }

    .half-footer,
    .doc-footer {
        margin: 10px 0 0 0 !important;
        page-break-before: avoid;
    }

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

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

    .print-table thead {
        display: table-header-group;
    }

    .print-table tr {
        page-break-inside: avoid;
    }

    a, .mud-link {
        color: #000 !important;
        text-decoration: none !important;
    }

    /* چیپ‌ها خوانا در چاپ */
    .mud-chip {
        height: auto !important;
        min-width: 0 !important;
        padding: 1px 5px !important;
        border: 1px solid #999 !important;
        box-shadow: none !important;
    }
}

/* نوار کنترل صفحات چاپ — فقط روی صفحه نمایش */
.hnd-print-toolbar {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    padding: 14px 20px;
    background: #efefef;
    border-bottom: 1px solid #ccc;
    position: sticky;
    top: 0;
    z-index: 10;
}

.hnd-print-root {
    font-family: Vazirmatn, Tahoma, sans-serif;
    background: #fff;
    min-height: 100vh;
}
