/* ============================================================
   Focus Planner Kit 2.0 — foglio di stampa

   Il PDF si fa da qui: "Salva come PDF" nella finestra di stampa del
   browser. Niente jsPDF, niente html2canvas — il risultato è vettoriale,
   nitido, e si può stampare davvero su carta.
   ============================================================ */

@page {
  size: A4 landscape;      /* le schede sono orizzontali, come il prodotto stampabile */
  margin: 20mm 10mm 14mm;  /* il margine alto lascia spazio all'intestazione fissa */
}

/* via tutto quello che è interfaccia e non contenuto */
header,
nav,
footer,
.avvisi,
.wm,
.toolbar,
.guide,
.modale,
.tendina,
.navscrim,
.onboarding,
.instancebar,
.system-hero,
.path-footer,
.calopts,
.agendaviste,
.filtri,
.kadd,
.vbdrop,
#fpkq-segnaposto {
  display: none !important;
}

html, body {
  background: #fff !important;
  margin: 0;
  padding: 0;
}

/* il min-height a tutto schermo, in stampa, produce una pagina bianca in testa */
.wrap { display: block !important; min-height: 0 !important; }

main {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Intestazione ripetuta su ogni pagina: nome dell'istanza e titolo della scheda.
   È `fixed` apposta — in stampa gli elementi fissi si ripetono su tutte le pagine
   (Chrome e Safari; Firefox la stampa solo sulla prima, e pazienza). */
#intestazione-stampa {
  display: block !important;
  position: fixed;
  top: 0; left: 0; right: 0;
  font-size: 9pt;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #1B5E66;
  border-bottom: 1px solid #CFE2DC;
  padding-bottom: 2mm;
}

/* Non si spezzano a metà i blocchi interni: una card, un box, una riga di tabella.
   La scheda intera no: le schede alte (agenda, calendario) devono poter continuare
   sulla pagina dopo, altrimenti il browser lascia pagine bianche per far posto. */
.card,
.box,
.tot,
.daycol,
.kcol,
.grafico,
.cifra,
.premio,
.contratto,
.blocco,
tr {
  break-inside: avoid;
  page-break-inside: avoid;
}

.sheet {
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.sheet::after { display: none !important; }   /* il watermark in stampa è solo inchiostro sprecato */

.sheet-head {
  margin-bottom: 4mm !important;
  break-after: avoid;            /* il titolo non resta solo in fondo alla pagina */
  page-break-after: avoid;
}
.sheet-head h1 {
  font-size: 15pt;
  color: #1B5E66;
  max-width: none;
}

/* Su carta i campi si stringono: una scheda deve stare in una pagina.
   A schermo servono alti per scriverci dentro, in stampa no. */
textarea { min-height: 16mm !important; height: auto; }
.card .body { padding: 3mm; }
.card > h3, .boxtitle { padding: 2mm 3mm; font-size: 8.5pt; }
.grid2, .grid3, .grid4, .stack, .fingrid, .wheelwrap, .radarwrap { gap: 4mm; }
.ck { margin-bottom: 2.5mm; }
.rows { gap: 2mm; }
.box { padding: 3mm; }
.arrow { margin: 2mm 0 1mm; font-size: 14pt; }
.headbar { padding: 2mm 4mm; }
.premio h3 { padding: 2mm; }
.wheel, .radar { max-width: 110mm; }

/* i grigi diventano neri: su carta il grigio chiaro sparisce */
.hint, .helper, .muted, .rassicura, .vbpeso, .tot .lbl, .conta {
  color: #000 !important;
}
body, .gpagina p, .gpagina li { color: #000 !important; }

/* i campi si stampano come testo, non come moduli */
input, textarea, select {
  border: 0 !important;
  border-bottom: 1px solid #CFE2DC !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #000 !important;
  -webkit-appearance: none;
  appearance: none;
}
textarea { resize: none; overflow: visible; }
input[type=checkbox] {
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid #123238 !important;
  width: 12px; height: 12px;
}
input[type=checkbox]:checked { background: #123238 !important; }

/* le griglie larghe non devono uscire dal foglio */
.calwrap, .weekwrap, .agendawrap { overflow: visible !important; }
.cal, .cal.settimane, .week, .agenda.settimana { min-width: 0 !important; width: 100% !important; }
.cell textarea { min-height: 14mm; }

table { page-break-inside: auto; }
tr { page-break-inside: avoid; }

/* --- stampa di una scheda sola --- */
body.stampa-scheda #stampa-tutto { display: none !important; }

/* --- stampa del percorso consigliato --- */
body.stampa-tutto-attiva main { display: none !important; }
#stampa-tutto { display: none; }
body.stampa-tutto-attiva #stampa-tutto { display: block !important; }
.blocco-stampa {
  break-after: page;
  page-break-after: always;
  padding-bottom: 6mm;
}
.blocco-stampa:last-child { break-after: auto; page-break-after: auto; }
