/* RSV 1.18.95: paper output, loaded last with media="print". No screen styles. */
@page { size: A4; margin: 14mm; }
body.portal-active #app :is(.app-footer,.sidebar-edge-toggle) {display:none!important}
html { background:#fff!important; }
body.portal-active { background:#fff!important; color:#111!important; }
body.portal-active > main#app { display:block!important; }
/* The existing QR route must print the card only, not the underlying portal. */
body.portal-active:has(#modal[open] .qr-card) > main#app { display:none!important; }
body.portal-active > dialog[open]:not(:has(.qr-card)) { display:none!important; }
body.portal-active > dialog[open]:has(.qr-card) { margin:0 auto!important; padding:0!important; box-shadow:none!important; background:#fff!important; }
body.portal-active #app :is(.portal-shell,.portal-main,.portal-content,#content,.editor-page,#editor-body) {
 display:block!important; position:static!important; width:auto!important; max-width:none!important;
 min-width:0!important; height:auto!important; min-height:0!important; max-height:none!important;
 margin:0!important; padding:0!important; overflow:visible!important; transform:none!important;
 background:#fff!important; color:#111!important; box-shadow:none!important; border:0!important;
}
body.portal-active #app :is(.app-sidebar,.portal-header,.mobile-action-nav,.mobile-bottom-nav,.bottom-nav,.sidebar-backdrop,.editor-breadcrumb,.section-subnav,.message-tabs,.billing-view-switch,.admin-course-switch,.actions,.editor-save-bar,.bulk-bar,.bulk-actions,.billing-selection,.pagination,.rsv-form-guide,.rsv-form-help,button,a.button,input[type=checkbox]) { display:none!important; }
body.portal-active #app * { box-shadow:none!important; text-shadow:none!important; animation:none!important; transition:none!important; }
body.portal-active #app :focus { outline:0!important; }
body.portal-active #app :is(h1,h2,h3,p,small,dt,dd,th,td,strong,span,summary) { color:#111!important; }
body.portal-active #app :is(h1,h2,h3) { break-after:avoid; }
body.portal-active #app h1 { font-size:21pt!important; margin:0 0 8mm!important; }
body.portal-active #app h2 { font-size:15pt!important; }
body.portal-active #app :is(p,td,dd,.history li) { overflow-wrap:anywhere; }
body.portal-active #app :is(.scroll,.table-wrap,.entries-table-wrap) { overflow:visible!important; max-height:none!important; }
body.portal-active #app table { min-width:0!important; width:100%!important; font-size:9pt!important; table-layout:auto; }
body.portal-active #app :is(th,td) { padding:2.5mm 2mm!important; white-space:normal!important; border-color:#bbb!important; }
body.portal-active #app thead { display:table-header-group; }
body.portal-active #app tr { break-inside:avoid; }
body.portal-active #app :is(.badge,.rsv-proof-title,.rsv-proof-note,.rsv-correction,.card,.entry-history,.rsv-chart) { background:#fff!important; border-color:#aaa!important; }
body.portal-active #app .badge { white-space:normal; border:1px solid #999; }
body.portal-active #app .rsv-proof-facts { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; break-inside:avoid; }
body.portal-active #app .rsv-proof-facts > div { padding:3mm!important; }
body.portal-active #app :is(.rsv-proof-note,.entry-history,.history li) { break-inside:auto; }
body.portal-active #app .history { padding-left:5mm; font-size:9pt; }
body.portal-active #app .history li { break-inside:avoid; padding:2mm 0!important; font-size:9pt!important; }
body.portal-active #app :is(.history p,.history-meta,.history-status) { font-size:9pt!important; line-height:1.4!important; margin:1mm 0!important; }
body.portal-active #app .rsv-proof-note p { font-size:10pt!important; line-height:1.4!important; }
body.portal-active #app .entry-history > summary > span { display:none; }
body.portal-active #app .entry-history > summary::before { content:"Bearbeitungsverlauf"; font-weight:700; }
body.portal-active #app .entry-history:not(:has(li:nth-child(7))) { break-inside:avoid; }
body.portal-active #app :is(button.dashboard-metric,button.dashboard-event,button.dashboard-recent-row) { display:block!important; background:#fff!important; color:#111!important; border:1px solid #aaa!important; }
body.portal-active #app .dashboard-recent-row { margin:2mm 0; padding:2mm!important; break-inside:avoid; }
body.portal-active #app .dashboard-recent-row > :is(time,span) { display:block; white-space:normal; }
body.portal-active #app .dashboard-recent-row span > :is(strong,small) { display:block; }
body.portal-active #app :is(.work-dashboard,.rsv-admin-workspace,.dashboard-header,.dashboard-budget-cards) { display:block!important; min-height:0!important; height:auto!important; }
body.portal-active #app .dashboard-header { margin-bottom:4mm!important; padding:0!important; }
body.portal-active #app .dashboard-metrics { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:3mm!important; margin:4mm 0!important; }
body.portal-active #app .dashboard-metric { padding:3mm!important; min-height:0!important; }
body.portal-active #app .dashboard-metric > :is(span,strong,small) { display:block; }
body.portal-active #app .dashboard-event { padding:1.5mm!important; overflow:visible!important; white-space:normal!important; }
body.portal-active #app .dashboard-event :is(strong,small,span) { white-space:normal!important; overflow:visible!important; text-overflow:clip!important; -webkit-line-clamp:unset!important; }
body.portal-active #app .dashboard-calendar-day { min-height:20mm!important; }
body.portal-active #app .dashboard-calendar { overflow:visible!important; }
body.portal-active #app .dashboard-calendar-grid { display:block!important; }
body.portal-active #app .dashboard-weekday,
body.portal-active #app .dashboard-calendar-day:not(:has(.dashboard-event)) { display:none!important; }
body.portal-active #app .dashboard-calendar-day:has(.dashboard-event) { display:grid!important; grid-template-columns:28mm 1fr; gap:2mm; padding:2mm!important; min-height:0!important; break-inside:avoid; }
body.portal-active #app .dashboard-calendar-day > time::before { content:attr(datetime); font-weight:700; }
body.portal-active #app .dashboard-calendar-day > time > span { display:none!important; }
body.portal-active #app .dashboard-calendar-day > .dashboard-event { grid-column:2; }
body.portal-active #app :is(.dashboard-budget-card,.dashboard-task-row) { break-inside:avoid; }
body.portal-active #app .dashboard-budget-balance > :is(span,strong) { display:block; }
body.portal-active #app .rsv-chart-grid { display:block!important; }
body.portal-active #app .rsv-chart { margin:5mm 0!important; padding:4mm!important; break-inside:avoid; }
body.portal-active #app .rsv-chart-values summary { display:none; }
body.portal-active #app .rsv-chart-values { margin-top:3mm!important; }
body.portal-active #app meter { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
body.portal-active #app :is(.rsv-bar-chart li,.dashboard-metric) { break-inside:avoid; }
/* Use one readable table even when printing from a narrow mobile viewport. */
body.portal-active #app :is(.entries-table,.admin-entries-table) { display:block!important; }
body.portal-active #app .entries-table :is(th,td):nth-child(3),
body.portal-active #app .admin-entries-table :is(th,td):nth-child(5) { min-width:25mm; width:25mm; }
body.portal-active #app .badge { overflow-wrap:normal; word-break:normal; }
body.portal-active #app .filters { align-items:start; padding:3mm!important; }
body.portal-active #app .filters :is(input,select) { display:none!important; }
body.portal-active #app .rsv-print-value { display:block; font-size:9pt; font-weight:400; white-space:normal; overflow-wrap:anywhere; }
body.portal-active #app :is(.entry-card-list,.admin-entry-card-list) { display:none!important; }
body.portal-active #app [hidden] { display:none!important; }
