/* Nur beim Drucken aktiv: Oberflaeche ausblenden, nur den Beleg zeigen. */

@page{ size:A4 portrait; margin:0; }

html,body{background:#fff !important;margin:0 !important;padding:0 !important}

.app,.toast-root,#modalRoot{display:none !important}

.print-root{display:block !important}
.print-root .preview-shell{background:#fff;padding:0;display:block;overflow:visible}

/* Wichtig: Beim Drucken richten sich die Medienabfragen nach der Seitenbreite,
   nicht nach dem Fenster. A4 sind 794 Pixel – damit greift die Regel fuer
   schmale Bildschirme, die die Vorschau auf 46 Prozent verkleinert. Auf
   Papier landete der Beleg dadurch als Briefmarke in der linken oberen Ecke.
   Hier wird die Verkleinerung wieder aufgehoben. */
.print-root .preview-shell .sheet{
  /* Ausserdem der Hebel fuer „passt auf eine Seite": Reicht der Platz nicht,
     traegt beleg.js hier einen Wert unter 1 ein und der ganze Beleg wird
     entsprechend verkleinert. Ohne Eintrag bleibt es bei 1. */
  zoom:var(--druckzoom, 1) !important;
}

.sheet{
  /* Die Breite waechst gegenlaeufig zur Verkleinerung, damit der Beleg das
     Blatt trotzdem voll ausfuellt und nicht als Briefmarke oben links sitzt. */
  width:calc(210mm / var(--druckzoom, 1)) !important;
  /* Blatthoehe fuer den Normalfall: Passt ein Beleg auf eine Seite, steht die
     Fusszeile damit unten am Blatt und nicht in der Seitenmitte.
     Bewusst 292 statt 297 mm – stellt jemand im Druckdialog einen Seitenrand
     ein, bleibt trotzdem etwas Luft, sonst schiebt der Umbruch eine leere
     Seite hinterher. Laengere Belege wachsen darueber hinaus; dann greift die
     Umbruchregel weiter unten. */
  min-height:calc(292mm / var(--druckzoom, 1)) !important;
  box-shadow:none !important;
  margin:0 !important;
  break-after:page;
  page-break-after:always;
}
.sheet:last-child{break-after:auto;page-break-after:auto}

/* Fusszeile.

   Zwei Anlaeufe davor, beide falsch:
   1. `margin-top:auto` schob sie ans Ende des Blattes. Passte der Inhalt nicht
      auf eine Seite, stand sie allein auf der Folgeseite.
   2. `position:fixed` wiederholt sie zwar auf jeder Seite, legt sich in Chrome
      aber ueber den Text – ein fest positioniertes Element haelt im Satzspiegel
      keinen Platz frei.

   Jetzt laeuft sie im Text mit, mit festem Abstand zum letzten Absatz.
   `break-before:avoid` verbietet einen Seitenumbruch unmittelbar davor: Muss
   sie auf die naechste Seite, nimmt sie den vorangehenden Absatz mit. Damit
   kann keine Seite entstehen, auf der nichts als die Fusszeile steht. */
.doc-footer{
  break-inside:avoid;page-break-inside:avoid;
  break-before:avoid;page-break-before:avoid;
  /* Am Bildschirm haelt die Fusszeile 6 mm Abstand zur Blattkante. Auf Papier
     darf sie tiefer sitzen – der Drucker laesst am Rand ohnehin einen
     schmalen Streifen frei. */
  margin-bottom:2mm !important;
}

/* Mindestabstand zur Fusszeile. Er sitzt am Element davor – egal ob das die
   Schlussbemerkungen, der Summenblock oder der Zahlungshinweis ist. Auf dem
   Element selbst waere er wirkungslos: Die Fusszeile wird mit einem
   automatischen Aussenabstand ans Blattende geschoben, und der schluckt einen
   eigenen Abstand. So klebt sie auch auf einem vollen Blatt nicht am Text. */
.sheet > *:nth-last-child(2){margin-bottom:10mm}

/* Dasselbe fuer die Schlussbemerkungen ueber der Fusszeile – sonst reisst der
   Umbruch den Block auseinander, der zusammengehoert. */
.sheet .note{
  break-inside:avoid;page-break-inside:avoid;
  break-before:avoid;page-break-before:avoid;
}

*{-webkit-print-color-adjust:exact;print-color-adjust:exact}
