/* ═══════════════ ورقة الطباعة — als-print.css ═══════════════
   يُحمَّل **آخر** ملفّ في <head> ليعلو على قواعد الطباعة الموروثة من AMS
   (crud-unified.css فيه ثلاث كتل @media print تخفي الأزرار وحدها).

   المبدأ: الشاشة تعرض **أدوات** لأن المستخدم سيتفاعل معها — فلاتر وتبويبات
   وأزرار وترقيم. والورقة لا يتفاعل معها أحد، فكلّ أداة عليها ضوضاء تسرق
   مساحةً من البيانات. لكن ثلاثة أشياء تجب على الورقة ولا تجب على الشاشة:
   **مَن طبعها ومتى وبأي نطاق رؤية** — لأن الورقة تُقرأ بعد شهر خارج سياقها،
   و«40 قضية» على ورقة محامٍ يرى ثلاثاً وثيقةٌ كاذبة.

   ⚠️ ملف الشاشة لا يتأثّر: كل ما هنا داخل @media print عدا صنفين مساعدين. */

/* يظهر على الورق فقط — ويُخفى عن قارئ الشاشة على الشاشة */
.als-print-only { display: none !important; }

/* ═══════════════════════════════════════════════════════════ */
@media print {

    @page {
        size: A4;
        margin: 12mm 10mm 14mm;
    }

    /* ── ما لا يُطبع ───────────────────────────────────────── */

    /* هيكل التطبيق: قائمة جانبية وترويسة وجرس وطبقة تعتيم */
    .als-sidebar,
    .als-header,
    .als-overlay,
    .als-bell,
    .als-confirm-backdrop,

    /* أدوات التفاعل: أزرار وشريط الترقيم/التصدير وأعمدة الإجراءات */
    .crud-btn,
    .crud-actions,
    .crud-header-actions,
    .crud-form-actions,
    .als-page-header-actions,
    .als-tablebar,
    .als-pager,
    .als-pagesize,

    /* التبويبات: أشرطتها أدوات، ومحتواها يُطبع كاملاً (أسفل) */
    .als-tabs,

    /* بطاقة الفلاتر — يعلّمها als-print.js لأنها لا تحمل صنفاً خاصاً */
    .als-no-print,

    /* رسائل تشغيلية لحظتها انتهت بانتهاء الطلب */
    .als-alert,
    .crud-alert,

    /* عناصر رفع الملفات وأزرار كشف كلمة المرور */
    [data-als-file],
    .als-pw-toggle,

    /* تذييل الإصدار */
    .als-sidebar-foot {
        display: none !important;
    }

    /* عمود الإجراءات: الأزرار مخفيّة بـ .crud-btn لكن الخليّة تبقى
       فيُطبع عمودٌ فارغ يأكل عُشر عرض الورقة. يعلّمه als-print.js. */
    [data-als-noprint-col] { display: none !important; }

    /* ── الهيكل ────────────────────────────────────────────── */

    html, body {
        background: #fff !important;
        font-size: 11pt;
    }

    /* القائمة fixed والهامش يقابلها — بلا هذا تُطبع الورقة بثلث فارغ */
    .als-body,
    .als-sidebar.collapsed ~ .als-body {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .als-main { padding: 0 !important; }
    .als-shell { display: block !important; }

    /* البطاقة على الورق ليست بطاقة: لا ظلّ ولا زوايا ولا خلفية */
    .crud-card,
    .als-panel {
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        margin: 0 0 .5rem !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .crud-card-body,
    .als-panel-body {
        padding: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .crud-card-header,
    .als-panel-head {
        background: transparent !important;
        border-bottom: 1px solid #999 !important;
        padding: 0 0 .2rem !important;
        margin-bottom: .4rem !important;
    }

    /* ── ترويسة الورقة ─────────────────────────────────────── */

    .als-print-only { display: block !important; }

    .als-print-header {
        display: block !important;
        border-bottom: 2px solid #0E2038;
        padding-bottom: .5rem;
        margin-bottom: .8rem;
    }

    .als-print-header .als-print-office {
        font-size: 9pt;
        color: #8A6E33;
        font-weight: 700;
    }

    .als-print-header .als-print-doc-title {
        font-family: 'Amiri', serif;
        font-size: 16pt;
        font-weight: 700;
        color: #0E2038;
        line-height: 1.5;
    }

    /* ⚠️ ليست زينة: ورقةٌ بلا تاريخ ولا مستخرِج ولا نطاق تُقرأ بعد شهر
       على أنها كشف المكتب كله، وقد تكون كشف محامٍ يرى ثلاث قضايا. */
    .als-print-header .als-print-meta {
        font-size: 8.5pt;
        color: #4b5563;
        margin-top: .25rem;
        display: flex;
        flex-wrap: wrap;
        gap: .15rem 1.2rem;
    }

    /* ترويسة الشاشة تُختصر: العنوان في ترويسة الورقة أصلاً */
    .als-page-header {
        border: none !important;
        padding: 0 !important;
        margin: 0 0 .4rem !important;
        background: transparent !important;
    }

    /* العنوان مذكورٌ في ترويسة الورقة أصلاً — تكراره يزيح البيانات سطرين
       لأسفل بلا فائدة. العنوان الفرعي يبقى: فيه العدد والنطاق. */
    .als-page-header-icon,
    .als-page-title { display: none !important; }
    .als-page-subtitle { font-size: 8.5pt !important; margin: 0 !important; }

    /* ── حالة الفراغ ──
       تبقى مطبوعة عمداً: «لا أطراف» معلومةٌ في ملفّ قضية لا فراغٌ يُحذف.
       لكنها تُختصر إلى سطر — أيقونةٌ بحجم راحة اليد على ورقة تأخذ ثلثها. */
    .crud-empty-state {
        padding: .15rem 0 !important;
        min-height: 0 !important;
        text-align: right !important;
    }

    .crud-empty-icon { display: none !important; }

    .crud-empty-title {
        font-size: 9pt !important;
        font-weight: 600;
        margin: 0 !important;
        color: #4b5563 !important;
    }

    .crud-empty-text,
    .crud-empty-desc { font-size: 8pt !important; margin: 0 !important; }

    /* ── الجداول ───────────────────────────────────────────── */

    /* الغلاف له تمرير أفقي وارتفاع أقصى على الشاشة — كلاهما يقصّ الورق */
    .crud-table-wrapper,
    .index-table-scroll {
        overflow: visible !important;
        max-height: none !important;
        margin: 0 !important;
        border: none !important;
    }

    .crud-table,
    .als-report-table {
        width: 100% !important;
        font-size: 8.5pt !important;
        border-collapse: collapse !important;
        table-layout: auto !important;   /* العمود يتّسع لمحتواه لا لنسبة ثابتة */
    }

    /* ⚠️ الشاشات تكتب عرض الأعمدة بالبكسل في السمة style (مثال:
       Case/Index يثبّت 190px+130px+150px+140px+120px = 730px). وهي مقاسة
       لشاشة عريضة؛ على ورقة A4 (نحو 700px مطبوعة) لا يبقى للموضوع والموكّل
       شيء فينهار النصّ إلى حرفٍ في السطر. تُلغى هنا ليوزّع المتصفّح العرض
       على المحتوى الفعلي مع table-layout: auto. */
    .crud-table th[style],
    .crud-table td[style],
    .crud-table th,
    .crud-table td { width: auto !important; min-width: 0 !important; }

    .crud-table th,
    .crud-table td {
        padding: 3pt 4pt !important;
        border: .5pt solid #9ca3af !important;
        vertical-align: top;
        white-space: normal !important;
        word-break: normal;
    }

    /* الالتفاف داخل الكلمة للبيانات وحدها (رقم قومي طويل لا يمدّ الورقة)،
       أمّا رؤوس الأعمدة فتلتفّ عند المسافات فقط — «التوكيل» مقطوعةً إلى
       «التوكي / ل» تُقرأ خطأً مطبعياً لا عموداً ضيّقاً. */
    .crud-table td { overflow-wrap: anywhere; }
    .crud-table th { overflow-wrap: normal; }

    /* الشارة تلتفّ بدل أن يفيض نصّها خارج حدّها */
    .crud-badge, .badge { white-space: normal !important; }

    .crud-table thead th {
        background: #E7ECF3 !important;
        color: #0E2038 !important;
        font-weight: 700;
    }

    /* الطباعة تُخرج الكشف كاملاً لا الصفحة المعروضة — als-table.js يخفي
       بقية الصفحات بـ display:none، وورقةٌ فيها 25 صفّاً من 300 تُقرأ كشفاً تامّاً */
    .crud-table tbody tr { display: table-row !important; }

    /* الصفّ لا يُقصّ بين ورقتين — نصفُ صفٍّ يُقرأ بياناً ناقصاً */
    .crud-table tr,
    .als-report-table tr {
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* الترويسة تتكرّر في أعلى كل ورقة: ورقةٌ منزوعة من الكشف بلا
       أسماء أعمدة لا يُعرف ما الذي فيها */
    .crud-table thead,
    .als-report-table thead { display: table-header-group; }

    /* ── الحقول تُطبع قيمتها لا صندوقها ────────────────────── */
    /* شاشة تعديل مطبوعة بحدود الحقول تُقرأ **نموذجاً فارغاً يُملأ باليد**،
       وهي في الحقيقة بيانات مسجَّلة. نزع الصندوق يترك النصّ وحده. */

    .crud-form-control,
    .crud-input-wrapper,
    input[type="text"], input[type="number"], input[type="date"],
    input[type="email"], input[type="tel"], input[type="search"],
    textarea, select {
        border: none !important;
        border-bottom: .5pt dotted #9ca3af !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        color: #111827 !important;
        font-size: 10pt !important;
        -webkit-appearance: none;
        appearance: none;
    }

    textarea {
        resize: none !important;
        overflow: visible !important;
    }

    .crud-form-label {
        font-size: 8pt !important;
        color: #6b7280 !important;
        margin-bottom: 0 !important;
    }

    .crud-form-group { margin-bottom: .45rem !important; }

    /* ── قائمة als-select ──
       ⚠️ فخّ: القيمة المختارة تعيش داخل **زرّ** (.als-ms-btn > span).
       وقاعدةٌ عامّة تخفي الأزرار على الورق تمحو الجواب وتُبقي السؤال —
       فيخرج «نوع الموكّل: ______» على ورقةٍ فيها النوع مسجَّل فعلاً.
       فالمخفيّ هنا القائمةُ والبحث والسهم، والزرّ يُسطَّح ويبقى نصّه. */
    .als-ms-menu,
    .als-ms-search,
    .als-ms-options,
    .als-ms-footer,
    .als-ms-hint,
    .als-ms-btn .arrow { display: none !important; }

    .als-ms-btn {
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        width: auto !important;
        color: #111827 !important;
        font-size: 10pt !important;
        justify-content: flex-start !important;
        text-align: right !important;
    }

    .als-ms,
    .als-ms-control {
        border: none !important;
        border-bottom: .5pt dotted #9ca3af !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
        min-height: 0 !important;
    }

    /* السهم يُرسم بـ ::after على الحاوية لا كعنصر مستقلّ */
    .als-ms-control::after,
    .als-ms-control::before { display: none !important; }

    .als-ms-tag {
        border: none !important;
        background: transparent !important;
        padding: 0 !important;
        font-size: 10pt !important;
        color: #111827 !important;
    }

    /* مفاتيح التبديل: الدائرة المتحرّكة بلا معنى على الورق — يبقى نصّ الحالة */
    .crud-switch input,
    .crud-switch-slider { display: none !important; }

    .crud-switch,
    .crud-switch-wrapper {
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        min-height: 0 !important;
    }

    /* حقل نصّ فارغ لا يترك ثلث ورقة بياضاً */
    textarea:placeholder-shown,
    textarea:not(:placeholder-shown) { min-height: 0 !important; height: auto !important; }

    /* ── تبويبات ملفّ القضية ───────────────────────────────── */
    /* ⚠️ تُطبع **كل** الألواح لا اللوح المفتوح وحده.
       المطبوع هو «ملفّ القضية» يُحمل إلى الجلسة، وملفٌّ فيه بياناتُ الدعوى
       بلا جلساتها ولا أحكامها ولا مواعيد طعنها ليس ملفّاً.
       (نفس مبدأ «التصدير يشمل كل الصفوف لا الصفحة المعروضة».) */
    [data-als-tab-panel] {
        display: block !important;
        page-break-before: auto;
    }

    [data-als-tab-panel][hidden] { display: block !important; }

    .als-print-panel-title {
        display: block !important;
        font-family: 'Amiri', serif;
        font-size: 12pt;
        font-weight: 700;
        color: #0E2038;
        border-bottom: 1px solid #C0A062;
        padding-bottom: .15rem;
        margin: .9rem 0 .45rem;
        break-after: avoid;
        page-break-after: avoid;
    }

    /* ── تفاصيل بصرية ──────────────────────────────────────── */

    /* الرابط على الورق نصّ: اللون والتسطير يوحيان بفعلٍ لا يقع */
    a { color: #111827 !important; text-decoration: none !important; }

    /* الشارات معلومة لا زينة — تُطبع بألوانها، لكن بحدٍّ يميّزها لو طُبع أبيض/أسود */
    .crud-badge, .badge, .als-chip {
        border: .5pt solid #9ca3af !important;
        padding: 0 3pt !important;
    }

    /* الألوان تُطبع فعلاً — الصفّ الأحمر في لوحة المواعيد معلومةٌ لا تزيين */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* السجلّ الزمني: لا يُقصّ قيدٌ بين ورقتين */
    .als-timeline-item { break-inside: avoid; page-break-inside: avoid; }

    /* عدّاد الميعاد: شريط النسبة يُطبع، فهو المعلومة نفسها */
    .als-counter { break-inside: avoid; page-break-inside: avoid; }
}
