/* The invoice document is shared by the dialog, learner detail page and standalone print view. */
.ktvi-print-document { color:#182e3d; font:14px/1.55 'Times New Roman',serif; max-width:900px; margin:0 auto; }
.ktvi-print-document .ktvi-paper { background:#fff; }
.ktvi-print-document table { width:100%; table-layout:fixed; min-width:0; border-radius:0; margin:0; }
.ktvi-print-document .ktvi-document-header, .ktvi-print-document .ktvi-document-signatures { border:0; background:#fff; }
.ktvi .ktvi-print-document td, .ktvi .ktvi-print-document th, .ktvi-print-document td, .ktvi-print-document th { min-width:0; padding:6px; border-radius:0; white-space:normal; overflow-wrap:anywhere; color:#182e3d; vertical-align:top; }
.ktvi-print-document .ktvi-document-header h2 { font:700 20px/1.35 'Times New Roman',serif; margin:6px 0; }
.ktvi-print-document .ktvi-document-header td { padding:12px 5px; }
.ktvi-print-document .ktvi-document-number { text-align:left; font-size:14px; line-height:1.9; }
.ktvi-print-document .ktvi-document-party { margin:8px 0 12px; line-height:1.65; }
.ktvi-print-document hr { border:0; border-top:1px solid #4b6573; margin:8px 0; }
.ktvi-print-document .ktvi-document-lines, .ktvi-print-document .ktvi-document-totals { border:1px solid #576e7b; border-collapse:collapse; }
.ktvi-print-document .ktvi-document-lines th { text-align:center; background:#f6f9fa; border:1px solid #576e7b; font-size:12px; font-weight:700; }
.ktvi-print-document .ktvi-document-lines td, .ktvi-print-document .ktvi-document-totals td { border:1px solid #576e7b; font-size:13px; }
.ktvi-print-document .ktvi-document-lines tbody tr:last-child td { padding-bottom:32px; }
.ktvi-print-document .ktvi-document-totals { border-top:0; }
.ktvi-print-document .ktvi-document-totals tr:last-child td { text-align:left; }
.ktvi-print-document .ktvi-document-signatures { margin:15px 0 0; text-align:center; }
.ktvi-print-document .ktvi-signature { margin:18px auto 6px; padding:10px; max-width:100%; }
.ktvi-print-document .ktvi-watermark { font-family:Arial,sans-serif; padding:8px 10px; margin:0 0 14px; border:1px solid #b3844a; }
.ktvi-bank-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 20px; }
.ktvi-dialog:has(.ktvi-preview) { width:min(1000px,calc(100vw - 32px)); }
.ktvi-preview { overflow-x:auto; }
@media(max-width:700px) {
    .ktvi-bank-fields { grid-template-columns:1fr; gap:12px; }
    .ktvi-preview .ktvi-print-document, .ktvi-panel>.ktvi-print-document { min-width:620px; }
    .ktvi-panel:has(>.ktvi-print-document) { overflow-x:auto; }
    .ktvi-dialog:has(.ktvi-preview) { padding:18px 12px; width:calc(100vw - 16px); }
    .ktvi-dialog:has(.ktvi-preview) .ktvi-toolbar { position:sticky; left:0; }
}
@media print {
    @page { size:A4; margin:12mm; }
    .ktvi-print-document { max-width:none; min-width:0!important; width:100%; font-size:11px; }
    .ktvi-print-document .ktvi-document-lines td, .ktvi-print-document .ktvi-document-totals td { font-size:10px; }
    .ktvi-print-document .ktvi-document-header h2 { font-size:17px; }
    .ktvi-print-document .ktvi-document-number { font-size:11px; }
    .ktvi-print-document tr { break-inside:avoid; }
    .ktvi-print-document thead { display:table-header-group; }
    .ktvi-print-document .ktvi-document-totals, .ktvi-print-document .ktvi-document-signatures { break-inside:avoid; }
}

@media print {
    /* Hidden Moodle layout must not reserve blank printed pages behind the open guest preview. */
    body:has(.ktvi-dialog[open]) *:not(:has(.ktvi-dialog[open])):not(.ktvi-dialog):not(.ktvi-dialog *) { display:none!important; }
    body:has(.ktvi-dialog[open]), body:has(.ktvi-dialog[open]) *:has(.ktvi-dialog[open]) {
        display:block!important; margin:0!important; padding:0!important; border:0!important;
        min-height:0!important; height:auto!important; max-height:none!important; width:auto!important;
        max-width:none!important; overflow:visible!important; position:static!important;
    }
    .ktvi-dialog[open] { display:block!important; position:static!important; margin:0!important; padding:0!important; }
    .ktvi-dialog[open] .ktvi-preview { overflow:visible!important; }
}
