/* ============================================================
   Shared print stylesheet — applies to ALL pages across the app.
   Handles:
     • Proper page margins (avoids edge-to-edge on non-borderless printers)
     • Layout chrome hiding (topbar, sidebar, nav)
     • d-print-* display utilities
     • Sensible table and font defaults for print
   Referenced in App.razor via _content/Shared.Components/css/multiserve-print.css
   ============================================================ */

@media print {

    /* ── Page setup ── */
    @page {
        margin: 12mm 15mm;   /* Safe margin — keeps content off the non-printable edge */
        size: A4 landscape;
    }

    html, body {
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    /* ── Hide layout chrome (MultiserveLayout.razor class names) ── */
    .multiserve-topbar,
    aside,
    .d-print-none {
        display: none !important;
    }

    /* ── Reset layout so printed content fills the page ── */
    .multiserve-layout {
        display: block !important;
    }

    main.multiserve-content {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    main.multiserve-content > .container-fluid {
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
    }

    /* ── Bootstrap d-print-* utilities ── */
    .d-print-block               { display: block  !important; }
    .d-print-flex                { display: flex   !important; }
    .d-print-inline              { display: inline !important; }
    .d-none.d-print-block        { display: block  !important; }
    .d-none.d-print-flex         { display: flex   !important; }
    .d-none.d-print-inline       { display: inline !important; }

    /* ── Typography ── */
    body {
        font-size: 10pt;
        color: #000;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* ── Tables ── */
    table {
        border-collapse: collapse;
        width: 100%;
    }

    th, td {
        border: 1px solid #ccc;
        padding: 3px 5px;
        font-size: 9pt;
    }

    thead {
        background: #eee !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* ── Page-break helpers ── */
    .page-break-after  { page-break-after:  always; break-after:  page; }
    .page-break-before { page-break-before: always; break-before: page; }
    .page-break-avoid  { page-break-inside: avoid;  break-inside: avoid; }

    /* Convenience: last block in a repeating list should not force a trailing blank page */
    .print-block-list > *:last-child {
        page-break-after: avoid;
        break-after: avoid;
    }
}
