/* ==========================================================================
   FORCE ZERO BROWSER MARGINS IN PRINT ENGINE
   Overrides Chrome/Edge/Firefox 'Default' margin behavior automatically.
   ========================================================================== */
@page {
    size: A4 portrait;
    margin: 0 !important; /* Forces browser default margins to zero */
}

@media print {
    html, body {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        background: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
        -webkit-text-stroke: 0.2px transparent; /* Neutralizes Edge DirectWrite heavy stem rendering */
    }

    /* Target all active print bodies */
    body[class*="print-"] {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    /* Template Containers must span 100% of printable A4 sheet */
    body[class*="print-"] #previewArea,
    body[class*="print-"] .template-container,
    body[class*="print-"] [id$="Preview"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
        box-shadow: none !important;
        border: none !important;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
        -webkit-text-stroke: 0.2px transparent; /* Neutralizes Edge DirectWrite heavy stem rendering */
    }

    /* Controlled internal printable padding (Standard 12mm Left/Right) */
    body[class*="print-"] .print-layout-table {
        width: 100% !important;
        max-width: 100% !important;
        border-collapse: collapse !important;
        margin: 0 !important;
    }

    body[class*="print-"] .print-layout-table td {
        padding-left: 12mm !important;
        padding-right: 12mm !important;
        box-sizing: border-box !important;
    }

    /* Prevent awkward element breaking */
    .print-layout-table tr,
    .print-layout-table td {
        page-break-inside: auto;
    }
}
