/* public/report-print.css - استایل تنظیم کاغذ کارنامه */

.student-report-page {
    background: #ffffff;
    width: 100%;
    max-width: 210mm; /* A4 Width */
    min-height: 296mm; /* A4 Height */
    margin: 0 auto 20mm auto;
    padding: 8mm 12mm; /* تنظیم دقیق پدینگ داخلی برای جا دادن جداول */
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    box-sizing: border-box;
    direction: rtl;
    font-family: 'B Nazanin', 'B Yekan', Tahoma, Arial, sans-serif;
    color: #000;
    overflow: hidden; /* جلوگیری از بیرون‌زدگی محتوا در پیش‌نمایش کامپیوتر */
}

/* رفع مشکل قرار گرفتن تقویم زیر کادرها */
jdp-container {
    z-index: 9999999 !important;
}

/* حل مشکل بیرون‌زدگی در پیش‌نمایش موبایل (Capacitor WebView) */
@media screen and (max-width: 768px) {
    #printContentArea {
        overflow-x: auto !important;
        white-space: nowrap !important;
        align-items: flex-start !important; /* جلوگیری از برش لبه‌ها هنگام اسکرول */
        padding: 15px !important;
    }
    
    .student-report-page {
        display: inline-block !important; /* کلیدی برای حفظ عرض A4 و اسکرول افقی */
        white-space: normal !important; /* برگرداندن رفتار متون به حالت عادی داخل کارنامه */
        margin-left: 15px !important;
    }
}

/* بهینه‌سازی دقیق در لحظه چاپ روی کاغذ */
@media print {
    @page { 
        size: A4 portrait; 
        /* ✨ حاشیه صفر برای حذف قطعی هدر، فوتر، تاریخ، ساعت و آدرس سایت در زمان چاپ */
        margin: 0mm !important; 
    }

    /* ۱. آزاد کردن ارتفاع کل بدنه برای جلوگیری از قیچی شدن صفحات در کروم */
    html, body {
        height: auto !important;
        min-height: 100% !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* ۲. مخفی کردن اصولی بقیه سایت به جای visibility که فضای خالی ایجاد می‌کرد */
    body > * { display: none !important; }

    /* ۳. برگرداندن مدال به جریان عادی (حذف absolute) تا مرورگر صفحات بعدی را گم نکند */
    #reportPreviewModal { 
        position: static !important; 
        display: block !important; 
        width: 100% !important;
        height: auto !important; 
        background: transparent !important; 
        overflow: visible !important;
    }
    
    .no-print { display: none !important; }
    
    #printContentArea { 
        display: block !important; 
        padding: 0 !important; 
        overflow: visible !important; 
        height: auto !important; 
    }
    
    /* ۴. شکستن قطعی صفحات (استفاده از فرمان Before به جای After برای دقت ۱۰۰ درصدی) */
    .student-report-page {
        position: static !important;
        margin: 0 !important; 
        padding: 0 !important; /* به دلیل تنظیم margin در @page، پدینگ داخلی صفر می‌شود تا فضای اضافی نگیرد */
        box-shadow: none !important; 
        border: 0 !important;
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        page-break-inside: avoid !important;
        
        /* فرمان قوی: هر کارنامه باید از بالای یک صفحه سفید جدید شروع شود */
        page-break-before: always !important;
        break-before: page !important;
    }
    
/* لغو فرمان شکستن صفحه فقط برای اولین کارنامه (که صفحه خالی اولش نیفتد) */
    .student-report-page:first-child { 
        page-break-before: auto !important;
        break-before: auto !important;
    }

    /* ✨ جلوگیری قطعی از نصف شدن ردیف‌های جدول در زمان پرینت (قفل کردن عناصر) */
    tr, td, th, table {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    /* ✨ فشرده‌سازی ظریف متن جداول فقط در زمان چاپ روی کاغذ برای مدیریت بهتر فضا */
    .student-report-page table td {
        padding: 3px 4px !important;
        font-size: 11px !important;
    }

    * { 
        -webkit-print-color-adjust: exact !important; 
        color-adjust: exact !important; 
        print-color-adjust: exact !important; 
    }
    
    /* ✨ خط مخرب background-color: inherit حذف شد تا رنگ زیبای هدرها در پرینت حفظ شود */
}