/* ==========================================================================
   الطباعة — المصدر الواحد لإخفاء كروم الشاشة
   ==========================================================================
   أي عنصر `position:fixed`/`sticky` جديد على صفحات اللوحة يتسجّل هنا.

   ⚠️ ده المصدر الواحد للصفحات اللي بتحمّل app.css بس (dashboard · auth ·
   portal · guardian-app · student-app). لسه فيه ١٦ قالب بقوايم `@media print`
   محلية بتاعتهم — دي على `layouts/print.php` (كروت وإيصالات وشهادات) وهو
   ماعندوش `wp_head()` ولا app.css فمفيش نقطة حقن. توحيدهم بند منفصل.

   ليه الملف ده موجود: القايمة كانت متكرّرة في أربع بلوكات جوّه app.css،
   ومفيش مصدر واحد يلزم أي عنصر عايم جديد إنه يتسجّل. فكل حاجة اتضافت
   بعد كده خرجت من الغطا وطلعت في ورق المدرّس: بانر «ثبّت التطبيق» ·
   التوست · مؤشّر «غير متصل» · شريط الحفظ · الشريط المتحرّك.

   بيتحمّل بـ`media="print"` بعد app.css وبعد كل ملفات الڤيندور عشان
   يكسب التعادل من غير ما يحتاج نوعية زيادة.
   ========================================================================== */

@media print {

    /* SweetAlert بيحطّ `aria-hidden="true"` على كل إخوة الديالوج وقت الفتح،
       وقاعدة الڤيندور في الطباعة بتخفيهم — يعني لو المدرّس طبع وديالوج
       مفتوح، الورقة بتطلع فاضية إلا من الديالوج.

       بنرجّع **حاوية المحتوى بس** — مش كل الإخوة.

       ⚠️ المحاولة الأولى كانت `> [aria-hidden="true"]:not(قايمة استثناءات)`
       وكانت غلط لسببين اتقاسوا فعلياً:
       (١) نوعيتها (0,3,1) أعلى من أي كلاس في قايمة الإخفاء (0,1,0)، والاتنين
           `!important` — والنوعية بتحسم قبل الترتيب. فترتيبها فوق أو تحت
           مابيغيّرش حاجة: `.st-bottomnav` كان بيرجع يبان في الـPDF.
       (٢) قايمة الاستثناءات دي = قايمة إخفاء تانية لازم تتحدّث مع الأولى —
           وده بالظبط العطل اللي الملف ده اتعمل عشان يشيله.

       `#main-wrapper` هو الابن الوحيد اللي فيه محتوى على صفحات اللوحة
       (متأكَّد بالقياس: باقي الأبناء = bottomnav وoverlay وpageLoader وسكربتات).
       والليّاوتات التانية مابتستخدمش SweetAlert، ولو استخدمته هتاخد سلوك
       الڤيندور زي ما كان — يعني مفيش انحدار جديد. */
    body.swal2-shown > #main-wrapper {
        display: revert !important;
    }

    /* --- كروم اللوحة: الجيل الأول (أسماء المصمّم) --- */
    .sidebar,
    .app-header,
    .bottom-nav,
    .action-bar,
    .filters,
    .pagination,

    /* --- كروم اللوحة: جيل sca- --- */
    .sca-sidebar,
    .sca-header,
    .sca-footer,
    .sca-btn,
    .btn,
    .no-print,
    form.row,
    .breadcrumb,
    .modal,
    .modal-backdrop,
    .sca-wa-status,

    /* --- كروم اللوحة: جيل st- --- */
    .st-bottomnav,
    .st-menu,
    .st-more,
    .st-navsearch,
    .st-details,
    .st-sheet-backdrop,
    .st-quickamt,
    .st-tip,

    /* --- أشرطة أدوات مرسومة جوّه القوالب --- */
    .card2-toolbar,
    .toolbar,
    .export-status,
    .sca-lch,

    /* --- الطبقات العايمة اللي كانت بره الغطا (سبب البلاغ) --- */
    /* البانر مرسوم بنفس الـid في تلات ليّاوتات وبكلاس مختلف في كل واحد،
       عشان كده بنمسك الآي دي والكلاسات مع بعض. */
    #pwa-install-banner,
    .pwa-install-banner,
    .gapp-install,
    .sapp-install,
    #toast-container,
    .swal2-container,
    .sca-overlay,
    .sca-page-loader,
    .sca-preloader,
    .sca-floating-elements,
    .st-savebar,
    .sca-marquee-bar,

    /* --- كروم تطبيقَي ولي الأمر والطالب (مكانش عندهم ولا قاعدة طباعة) --- */
    .gapp-bottomnav,
    .sapp-bottomnav {
        display: none !important;
    }

    /* مؤشّر «غير متصل» عنصر زائف على الـbody نفسه، فمستحيل يتخفي بقايمة
       سيليكتورات عادية — لازم قاعدة على العنصر الزائف بذاته. */
    body.is-offline::before {
        display: none !important;
    }
    /* والمساحة اللي كانت محجوزة له تتشال، وإلا الورقة بتبدأ بفراغ. */
    body.is-offline .sca-main {
        padding-top: 0 !important;
    }

    /* الشريطين العلويين في تطبيقَي ولي الأمر والطالب فيهم عنوان الصفحة،
       فبنشيل التثبيت بس ونسيب المحتوى يتطبع. */
    .gapp-topbar,
    .sapp-topbar {
        position: static !important;
        box-shadow: none !important;
    }

    /* يوتيليتي عام ممكن يتحطّ على محتوى حقيقي، فبنبطّل العَوَم بدل ما
       نخفي المحتوى نفسه. */
    .position-fixed,
    .position-sticky {
        position: static !important;
    }

    /* ترويسة الورقة — منقولة من app.css.
       بتشتغل ضد `style="display:none"` المكتوب inline في القالب، فالـ
       !important هنا مش تزيّن: من غيره الترويسة تختفي من ٢٠ شاشة. */
    .print-only {
        display: block !important;
    }

}
