/* ============================================================
   LA STAMPA

   Un solo posto in tutta l'applicazione stampa qualcosa: il preventivo
   che si da' al cliente. Il documento si disegna dentro alla pagina, in
   `#printArea`, e qui si dice che **in stampa si vede solo quello**.

   E' l'unico modo che rispetti la CSP (§7): aprire una finestra nuova e
   scriverci dentro dell'HTML vorrebbe dire portarsi dietro anche lo
   stile, e `style-src 'self'` non ammette regole scritte a mano. Un
   foglio di stile vero, servito da noi, invece si'.

   I colori qui sono scritti per esteso ed e' voluto, come nelle mail
   (§2): su carta non esiste il tema scuro, e un `var(--text)` che di
   notte e' quasi bianco stamperebbe una pagina vuota. E' la seconda e
   ultima eccezione alla regola dei token, per la stessa ragione della
   prima — quello che esce di qui non lo dipinge piu' il nostro CSS.
   ============================================================ */

#printArea { display: none; }

@media print {
  /* Via tutto il resto: barra laterale, testata, pulsanti. Quello che
     resta e' il documento. */
  body > * { display: none !important; }
  #printArea { display: block !important; }

  @page { margin: 18mm 16mm; }
  body { background: #ffffff; }

  /* **Il colore lo decide questo foglio, non l'applicazione.** `color`
     si eredita gia' calcolato, e quello che scende da `body` e'
     l'inchiostro del tema — un marrone scuro che su carta non c'entra
     niente, e che di notte sarebbe quasi bianco. Le regole qui sotto
     partono tutte da `#printArea` apposta: cosi' vincono su quelle
     dell'app senza doverle rincorrere una per una. */
  #printArea, #printArea * { color: #1a1a1a; }
  #printArea .qd {
    font-size: 11pt;
    line-height: 1.45;
  }
  .qd-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 2px solid #1a1a1a;
    padding-bottom: 8pt;
    margin-bottom: 16pt;
  }
  .qd-mitt { font-size: 15pt; font-weight: 700; }
  .qd-meta { text-align: right; font-size: 10pt; }
  .qd-num-big { font-size: 13pt; font-weight: 700; }
  .qd-dest { margin-bottom: 14pt; }
  #printArea .qd-lab { display: block; font-size: 9pt; color: #666666; text-transform: uppercase; letter-spacing: .06em; }

  .qd-tab { width: 100%; border-collapse: collapse; margin-bottom: 12pt; }
  #printArea .qd-tab th {
    text-align: left;
    font-size: 9pt;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #666666;
    border-bottom: 1px solid #999999;
    padding: 4pt 6pt;
  }
  .qd-tab td { padding: 6pt; border-bottom: 1px solid #dddddd; vertical-align: top; }
  /* Una riga non si spezza fra due pagine: mezza voce in fondo a un
     foglio e mezza in cima all'altro si legge come due cose diverse. */
  .qd-tab tr { page-break-inside: avoid; }
  .qd-num { text-align: right; white-space: nowrap; }
  #printArea .qd-det { font-size: 9.5pt; color: #555555; margin-top: 2pt; }
  #printArea .qd-vuoto { color: #666666; font-style: italic; }

  .qd-tot {
    display: flex;
    justify-content: space-between;
    border-top: 2px solid #1a1a1a;
    padding-top: 6pt;
    font-size: 13pt;
  }
  .qd-tot b { font-weight: 700; }
  #printArea .qd-tot-sub { text-align: right; font-size: 9.5pt; color: #666666; margin-top: 2pt; }

  .qd-cond { margin-top: 18pt; font-size: 10pt; }
  #printArea .qd-cond-note { color: #555555; margin-top: 3pt; }
  #printArea .qd-firma { margin-top: 26pt; font-size: 10pt; color: #555555; }
}
