/* ==========================================================
   ASSETRA - layout di stampa (A4)
   Caricato solo in stampa:  <link rel="stylesheet" href="stampa.css" media="print">
   - Testata con logo (file logo-stampa.png nella cartella principale), ripetuta su ogni pagina
   - Piè di pagina con numero di pagina (nei margini del foglio)
   - Menu, pulsanti e moduli nascosti: si stampano solo i dati
   - Tabelle adattate alla larghezza del foglio, con intestazione
     ripetuta su ogni pagina e righe mai spezzate a metà
   - Le pagine con tabelle larghe escono in A4 ORIZZONTALE
   Nella finestra di stampa del browser disattiva "Intestazioni e piè
   di pagina" per non sovrapporre le sue scritte a quelle di ASSETRA.
   ========================================================== */

/* ---------- Pagina A4 ---------- */
@page {
  size: A4 portrait;
  margin: 12mm 12mm 16mm 12mm;            /* alto / lati / basso (piè di pagina) */
  @bottom-left {
    content: "ASSETRA \00B7  Gestione patrimonio \2014  documento riservato, ad uso interno";
    font: 7.5pt Arial, Helvetica, sans-serif;
    color: #444;
  }
  @bottom-right {
    content: "Pagina " counter(page) " di " counter(pages);
    font: 8pt Arial, Helvetica, sans-serif;
    color: #444;
  }
}
@page orizzontale {
  size: A4 landscape;
  margin: 12mm 10mm 16mm 10mm;
  @bottom-left {
    content: "ASSETRA \00B7  Gestione patrimonio \2014  documento riservato, ad uso interno";
    font: 7.5pt Arial, Helvetica, sans-serif;
    color: #444;
  }
  @bottom-right {
    content: "Pagina " counter(page) " di " counter(pages);
    font: 8pt Arial, Helvetica, sans-serif;
    color: #444;
  }
}
body.stampa-orizzontale { page: orizzontale; }

/* ---------- Base ---------- */
* { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
html, body {
  height: auto !important;
  width: auto !important;
  display: block !important;
  background: #fff !important;
  color: #000 !important;
  font: 9.5pt/1.35 Arial, Helvetica, sans-serif !important;
}
a, a:visited { color: #000 !important; text-decoration: none !important; }

/* ---------- Cosa NON si stampa ---------- */
#banner, #menu, #laterale, #stato, #stampa-piede, .nota, .sotto-titolo, .msg, .avviso-admin, .no-stampa, .schede, button,
.pannello > .titolo a, th.no-stampa, td.az, td:has(> form), th:empty,
tr.totale th:empty, tr.totale td:empty,
.pannello:has(> .dati > form):not(.stampabile), .griglia.no-stampa {
  display: none !important;
}

/* ---------- Struttura: niente flex, il contenuto scorre sulle pagine ---------- */
#corpo, #contenuto { display: block !important; padding: 0 !important; overflow: visible !important; min-height: 0 !important; }
div[style*="overflow-x"] { overflow: visible !important; }
.griglia { display: block !important; }
.griglia > .pannello { margin-bottom: 5mm !important; }

.pannello {
  border: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
  margin: 0 0 5mm 0 !important;
}
.pannello > .titolo {
  background: none !important;
  color: #000 !important;
  border-bottom: 1.2pt solid #000;
  padding: 0 0 1mm 0 !important;
  font-size: 11pt;
  font-weight: bold;
  break-after: avoid;
  page-break-after: avoid;
}
.pannello > .dati { padding: 2mm 0 0 0 !important; }
.solo-stampa { display: block !important; margin: 0 0 2mm 0; font-size: 8.5pt; }

/* ---------- Tabelle ---------- */
table { width: 100% !important; border-collapse: collapse; table-layout: auto; font-size: 8.8pt; }
thead { display: table-header-group; }      /* intestazione ripetuta a ogni pagina */
tfoot { display: table-footer-group; }
tr, th, td { break-inside: avoid; page-break-inside: avoid; }
th {
  background: #e4e4e4 !important;
  color: #000 !important;
  border: 0.5pt solid #777 !important;
  padding: 1.2mm 1.8mm !important;
  text-align: left;
}
td {
  border: 0.5pt solid #aaa !important;
  padding: 1.1mm 1.8mm !important;
  overflow-wrap: break-word;       /* va a capo solo se la parola non entra */
}
tr:nth-child(even) td { background: #f6f6f6 !important; }
td.num, th.num { text-align: right !important; white-space: nowrap; }
td.neg, th.neg { color: #8b0000 !important; }
tr.totale th, tr.totale td { background: #d9d9d9 !important; font-weight: bold; }
td.scaduta, span.scaduta { color: #8b0000 !important; font-weight: bold; }
small { font-size: 7.5pt; }

/* Campi (es. budget): si stampa solo il valore */
input, select, textarea {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  width: auto !important;
  max-width: 100%;
  font: inherit !important;
  color: #000 !important;
  text-align: right;
}
input::placeholder { color: transparent !important; }

/* Barre di avanzamento */
.barra { width: 25mm !important; height: 2.6mm !important; border: 0.5pt solid #555 !important; background: #fff !important; }
.barra .riempi { background: #333 !important; }
.barra .riempi.sfora { background: #8b0000 !important; }

/* ---------- Involucro di pagina: la testata (thead) si ripete su OGNI pagina ---------- */
table.involucro { display: table !important; width: 100% !important; border: 0 !important; border-collapse: collapse; font-size: inherit; }
table.involucro > thead { display: table-header-group !important; }
table.involucro > tbody { display: table-row-group !important; }
table.involucro > thead > tr, table.involucro > tbody > tr { display: table-row !important; }
table.involucro > thead > tr > td, table.involucro > tbody > tr > td {
  display: table-cell !important;
  border: 0 !important;
  padding: 0 !important;
  background: none !important;
}
/* il contenuto puo' scorrere su piu' pagine */
table.involucro > tbody > tr, table.involucro > tbody > tr > td {
  break-inside: auto !important;
  page-break-inside: auto !important;
}

/* ---------- Testata ASSETRA (logo) ---------- */
#stampa-testata {
  display: flex !important;
  align-items: center;
  gap: 6mm;
  margin-bottom: 5mm;
  padding-bottom: 2mm;
  border-bottom: 1.2pt solid #000;
}
#stampa-testata img { max-height: 16mm; max-width: 55mm; object-fit: contain; }
#stampa-testata .st-titolo { flex: 1; line-height: 1.25; }
#stampa-testata .st-titolo b { display: block; font-size: 17pt; letter-spacing: 0.14em; }
#stampa-testata .st-titolo span { display: block; font-size: 10.5pt; color: #222; }
#stampa-testata .st-dati { text-align: right; font-size: 8pt; line-height: 1.45; color: #222; }

/* Le icone non si stampano */
img.icona { display: none !important; }
