/* ==========================================================================
   สไตล์สำหรับการพิมพ์ (เอกสารราชการ) - กระดาษ A4 แนวนอน
   แปลงธีมสีเขียวธรรมชาติเป็นโทนขาว-ดำ-เทา ที่อ่านได้ชัดเมื่อพิมพ์ขาวดำ
   โดยใช้ "น้ำหนักเส้น" และ "ระดับสีเทา" แทนการใช้สีเพื่อสื่อความหมาย
   ========================================================================== */

/* ส่วนพิมพ์จะถูกสร้างขึ้นด้วย JavaScript และซ่อนไว้ระหว่างใช้งานปกติ */
#print-root {
    display: none;
}

@media print {
    @page {
        size: A4 landscape;
        margin: 12mm 10mm 16mm 10mm;

        /* รองรับ CSS Paged Media (เช่น การพิมพ์เป็น PDF ด้วยโปรแกรมที่รองรับ)
           สำหรับเบราว์เซอร์ที่ยังไม่รองรับ ให้เปิดตัวเลือก "หัวกระดาษและท้ายกระดาษ"
           ในหน้าต่างสั่งพิมพ์ เพื่อให้มีเลขหน้ากำกับ */
        @bottom-right {
            content: 'หน้า ' counter(page) ' / ' counter(pages);
            font-family: 'Sarabun', sans-serif;
            font-size: 9pt;
        }
    }

    html,
    body {
        background: #fff !important;
        color: #000 !important;
        font-size: 9pt;
        margin: 0;
    }

    /* ซ่อนทุกส่วนที่ไม่ต้องการพิมพ์ */
    .no-print,
    .app-header,
    .app-footer,
    .app-main {
        display: none !important;
    }

    #print-root {
        display: block !important;
    }

    /* ------------------------------------------------------ หัวเอกสาร */
    .pr-head {
        display: flex;
        align-items: center;
        gap: 10px;
        border-bottom: 2.5pt solid #000;
        padding-bottom: 5pt;
        margin-bottom: 6pt;
    }

    .pr-head__logo {
        height: 46px;
        width: auto;
        filter: grayscale(100%) contrast(140%);
    }

    .pr-head__title {
        margin: 0;
        font-size: 15pt;
        font-weight: 700;
        line-height: 1.2;
    }

    .pr-head__org {
        margin: 0;
        font-size: 9.5pt;
        font-weight: 400;
    }

    .pr-head__meta {
        margin-left: auto;
        text-align: right;
        font-size: 8.5pt;
        line-height: 1.45;
        white-space: nowrap;
    }

    /* ------------------------------------------ สรุปเงื่อนไขการค้นหา */
    .pr-criteria {
        border: .75pt solid #000;
        border-left-width: 3pt;
        padding: 4pt 6pt;
        margin-bottom: 6pt;
        font-size: 8.5pt;
        background: #F2F2F2 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .pr-criteria__title {
        font-weight: 700;
        margin: 0 0 2pt;
        text-decoration: underline;
    }

    .pr-criteria__list {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .pr-criteria__list li {
        margin: 0 0 1pt;
        line-height: 1.35;
    }

    .pr-criteria__label {
        font-weight: 700;
    }

    /* ------------------------------------------------------- ตารางข้อมูล */
    .pr-table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
        font-size: 8.5pt;
    }

    .pr-table thead th {
        border: .75pt solid #000;
        border-bottom-width: 1.75pt;
        background: #E0E0E0 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        padding: 3pt 4pt;
        font-weight: 700;
        text-align: left;
        vertical-align: middle;
    }

    .pr-table thead th.pr-num {
        text-align: right;
    }

    .pr-table tbody td {
        border: .5pt solid #666;
        padding: 2pt 4pt;
        vertical-align: top;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .pr-table tbody td.pr-num {
        text-align: right;
        font-variant-numeric: tabular-nums;
    }

    .pr-table tbody tr.pr-detail:nth-child(even) td {
        background: #FAFAFA !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* หัวกลุ่ม 7 ระดับ: ใช้น้ำหนักเส้นซ้าย + ระดับเทา + การเยื้อง แทนการใช้สี */
    .pr-group td {
        border: .5pt solid #000;
        padding: 2.5pt 4pt !important;
        font-weight: 700;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .pr-group .pr-group__label {
        font-weight: 400;
        font-style: italic;
    }

    .pr-group .pr-group__count {
        font-weight: 400;
    }

    .pr-group--l0 td {
        background: #D9D9D9 !important;
        border-left: 5pt solid #000;
        font-size: 10pt;
    }

    .pr-group--l1 td {
        background: #E2E2E2 !important;
        border-left: 4.5pt double #000;
        padding-left: 10pt !important;
    }

    .pr-group--l2 td {
        background: #E9E9E9 !important;
        border-left: 3.5pt solid #333;
        padding-left: 18pt !important;
    }

    .pr-group--l3 td {
        background: #EFEFEF !important;
        border-left: 2.5pt dashed #333;
        padding-left: 26pt !important;
    }

    .pr-group--l4 td {
        background: #F4F4F4 !important;
        border-left: 2pt solid #666;
        padding-left: 34pt !important;
    }

    .pr-group--l5 td {
        background: #F8F8F8 !important;
        border-left: 1.5pt dotted #666;
        padding-left: 42pt !important;
    }

    .pr-group--l6 td {
        background: #FCFCFC !important;
        border-left: 1pt solid #999;
        padding-left: 50pt !important;
        font-weight: 600;
    }

    /* ไม่ให้หัวกลุ่มค้างอยู่ท้ายหน้าโดยไม่มีข้อมูลตามมา */
    .pr-group {
        page-break-inside: avoid;
        break-inside: avoid;
        page-break-after: avoid;
        break-after: avoid;
    }

    .pr-detail {
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* ------------------------------------------------------ รวมทั้งสิ้น */
    .pr-total td {
        border: 1.75pt solid #000;
        border-left-width: 5pt;
        background: #D9D9D9 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        padding: 4pt !important;
        font-weight: 700;
        font-size: 10pt;
    }

    /* --------------------------------------------- ท้ายกระดาษทุกหน้า */
    .pr-foot {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        border-top: .75pt solid #000;
        padding-top: 2pt;
        font-size: 7.5pt;
        display: flex;
        justify-content: space-between;
        gap: 8pt;
    }

    .pr-note {
        margin-top: 6pt;
        font-size: 8pt;
        font-style: italic;
    }
}
