/* Finestra del PREVENTIVO (js/finestra-preventivo.js): misure e colori rilevati in Fattura24 il 14/11/2026
   (docs/progetto/2026-11-14-rilievo-preventivo-f24.md). Tutto riscritto qui, nessun file loro.
   Larghezza 1001 px, alta quanto la finestra del browser meno 66 px, fondo #F8F8F8. Si carica dopo app.css e documento.css. */

.fin.prev {
  --freccia: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0h10L5 6z' fill='%23333'/%3E%3C/svg%3E");
  --freccia-bianca: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0h10L5 6z' fill='%23fff'/%3E%3C/svg%3E");
  --f24-verde: #4caf50;
  --f24-bordo: #d3d7da;
  --f24-etichetta: #464d52;
  --f24-arancio: #f48a1f;
  width: min(1001px, 100%); height: calc(100vh - 66px); max-height: none;
  background: #f8f8f8; border: 0; border-radius: 4px; box-shadow: var(--ombra-fin);
}
.vela:has(> .fin.prev) { padding: 33px 12px; }

/* ---------- intestazione: titolo, [codice], libri, schede ---------- */
.fin.prev .fin-testa { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0; padding: 0; }
.fin.prev .fin-testa h2 { flex: 1 1 auto; min-width: 0; height: 53px; padding: 12px 0 0 25px; font: 400 30px/41px var(--font-titoli); color: var(--f24-etichetta); overflow-wrap: normal; }
.fin.prev .fin-testa h2 small { margin-left: 4px; font: 400 20px/1 var(--font-titoli); color: var(--f24-etichetta); }
.fin.prev .fin-stato { align-self: center; margin: 0 12px 0 0; padding: 2px 9px; border-radius: 10px; background: #e8eef7; font: 400 12px/1.4 var(--font); color: var(--f24-etichetta); }
.fin.prev .fin-id { align-self: center; margin-right: 14px; font: 400 14px var(--font-titoli); color: #6b7378; }
.fin.prev .fin-libri { align-self: center; height: 53px; margin: 0 21px 0 0; padding: 0; display: inline-flex; align-items: center; background: none; border: 0; color: #6d6d6d; cursor: pointer; }
.fin.prev .fin-schede { flex: 0 0 100%; margin: 0; padding-left: 1px; }
.fin.prev .schede-doc { overflow: visible; }
.fin.prev .scheda-doc { height: 48px; padding: 0 24px; font: 400 15px var(--font); color: #737171; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.fin.prev .scheda-doc:hover { color: var(--f24-etichetta); }
.fin.prev .scheda-doc.attiva { color: var(--f24-etichetta); border-bottom-color: #737171; }

.fin.prev .fin-corpo { padding: 0; background: #f8f8f8; border-top: 1px solid #e1e1e1; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #b9b9b7 transparent; }
.fin.prev .pannello:not([hidden]) { min-height: 100%; display: flex; flex-direction: column; }
.fin.prev .pannello.pv-dati:not([hidden]) { display: block; }

/* ---------- campi: bianchi, alti 34 px, testo 16/300 nero ---------- */
.fin.prev input[type=text], .fin.prev select, .fin.prev textarea {
  height: 34px; padding: 0 10px; background-color: #fff; border: 1px solid var(--f24-bordo); border-radius: 3px;
  font: 300 16px/32px var(--font-titoli); color: #000;
}
.fin.prev select { padding-right: 28px; background-image: var(--freccia); background-repeat: no-repeat; background-position: right 10px center; }
.fin.prev textarea { height: auto; padding: 6px 10px; line-height: 1.35; }
.fin.prev input::placeholder, .fin.prev textarea::placeholder { color: #a3a3a3; opacity: 1; }
.fin.prev .in-ic > input { padding-right: 32px; }
.fin.prev .in-ic .in-ic-svg { color: #333; }
.fin.prev .in-az > input { padding-right: 86px; }
.fin.prev .in-suf > input { padding-right: 26px; }
.fin.prev select.sel-ok { background-color: var(--f24-verde); border-color: var(--f24-verde); color: #fff; background-image: var(--freccia-bianca); }
.fin.prev select.sel-ok option { background: #fff; color: #000; }
.fin.prev .pul-az { height: 24px; min-width: 74px; padding: 0 8px; border-radius: 4px; background: var(--f24-verde); font: 400 11px/1 var(--font); }
.fin.prev .pul-az:hover { background: #43a047; }
.fin.prev .pv-et { font: 300 16px/20px var(--font-titoli); color: var(--f24-etichetta); }
.fin.prev .et-info { color: #737171; }

/* ---------- scheda DATI: testata ---------- */
.fin.prev .pv-testata { display: grid; grid-template-columns: 241px minmax(0, 1fr); column-gap: 44px; row-gap: 12px; align-items: start; padding: 21px 21px 0; }
.fin.prev .pv-sx, .fin.prev .pv-dx { display: grid; row-gap: 12px; min-width: 0; }
.fin.prev .pv-riga { display: grid; grid-template-columns: 100px minmax(0, 1fr); column-gap: 6px; align-items: center; min-height: 34px; min-width: 0; }
.fin.prev .pv-riga-dx { grid-template-columns: 79px minmax(0, 1fr); column-gap: 12px; }
.fin.prev .pv-riga-dx > .pv-et { text-align: right; justify-self: end; white-space: nowrap; }
.fin.prev .pv-causale { grid-column: 1 / -1; }
.fin.prev .pv-causale .pv-riga { grid-template-columns: 100px minmax(0, 1fr); }
.fin.prev .pv-causale textarea { height: 34px; min-height: 34px; overflow: hidden; resize: none; padding: 0 10px; line-height: 32px; }
.fin.prev .pv-g { display: grid; column-gap: 6px; min-width: 0; }
.fin.prev .pv-g-ind { grid-template-columns: minmax(0, 1fr) 85px; }
.fin.prev .pv-g-citta { grid-template-columns: minmax(0, 270px) minmax(0, 1fr) 85px; }
.fin.prev .pv-g-piva { grid-template-columns: minmax(0, 270px) minmax(0, 1fr); }
.fin.prev .pv-g-sdi { grid-template-columns: minmax(0, 241px) minmax(0, 1fr); }
.fin.prev .pv-num input::placeholder { color: #000; }
.fin.prev .pv-freccia { position: absolute; right: 2px; top: 1px; width: 28px; height: 32px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; color: #333; cursor: pointer; }

/* ---------- Beni/Servizi ---------- */
.fin.prev .beni-testa { display: block; margin: 37px 0 0; }
.fin.prev h3 { margin: 0; padding: 0 21px 10px; border-bottom: 1px solid #dedede; font: 300 26px/31px var(--font-titoli); color: var(--f24-etichetta); }
.fin.prev .righe { padding: 0 21px; }
.fin.prev .righe-lista { padding-top: 17px; }
.fin.prev .righe-vuoto { display: none; }
.fin.prev .riga-doc {
  position: relative; display: grid; align-items: start; gap: 0; padding: 0; border: 0;
  grid-template-columns: 36px minmax(0, 1fr) 161px; grid-template-areas: "sx l1 tot" "sx l2 ." "sx desc .";
  row-gap: 19px;
}
.fin.prev .riga-doc + .riga-doc { margin-top: 26px; padding-top: 26px; border-top: 1px solid #e1e1e1; }
.fin.prev .riga-doc.trascinata { background: #eef1f4; }
.fin.prev .riga-doc .cella { grid-area: auto; display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.fin.prev .riga-doc .et { min-height: 20px; font: 300 16px/20px var(--font-titoli); color: var(--f24-etichetta); }
.fin.prev .riga-doc .rd-sx { grid-area: sx; display: flex; flex-direction: column; align-items: flex-start; width: 36px; }
.fin.prev .riga-doc .mani { grid-area: auto; align-self: auto; font-size: 26px; line-height: 20px; color: #737171; text-align: left; }
.fin.prev .riga-doc .r-del { grid-area: auto; align-self: auto; width: 24px; height: 24px; min-width: 0; margin-top: 6px; padding: 0; font-size: 12px; opacity: 0; }
.fin.prev .riga-doc:hover .r-del, .fin.prev .riga-doc:focus-within .r-del { opacity: 1; }
.fin.prev .riga-doc .rd-l1 { grid-area: l1; display: grid; grid-template-columns: minmax(0, 140px) minmax(0, 101px) minmax(0, 99px) minmax(0, 90px) minmax(0, 1fr); gap: 6px; }
.fin.prev .riga-doc .rd-tot { grid-area: tot; position: relative; height: 63px; padding-left: 11px; min-width: 0; }
.fin.prev .riga-doc .rd-l2 { grid-area: l2; display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 272px) minmax(0, 1fr); gap: 6px; }
.fin.prev .riga-doc .rd-desc { grid-area: desc; margin-top: -7px; }
.fin.prev .riga-doc .rd-agg { display: none; }
.fin.prev .riga-doc input, .fin.prev .riga-doc select { background-color: #fff; }
.fin.prev .riga-doc select { background-image: var(--freccia); background-repeat: no-repeat; background-position: right 10px center; }
.fin.prev .riga-doc textarea { display: block; min-height: 110px; padding: 8px 10px; font: 300 16px/1.35 var(--font-titoli); resize: vertical; background: #fff; }
.fin.prev .riga-doc output { display: flex; align-items: center; justify-content: flex-end; height: 34px; padding: 0 10px; background: #efefef; border: 1px solid #dcdcdc; border-radius: 3px; font: 300 16px var(--font-titoli); color: #000; }
.fin.prev .riga-doc output.negativo, .fin.prev .riga-doc input.negativo { color: var(--rosso); }
.fin.prev .riga-doc .non-imp { position: absolute; left: 16px; top: 100%; margin: 7px 0 0; white-space: nowrap; font: 300 15px var(--font-titoli); color: #737171; }
.fin.prev .riga-doc .non-imp input { width: 15px; height: 15px; }
.fin.prev .righe-azioni { display: flex; flex-wrap: wrap; gap: 6px; margin: 23px 0 0; padding: 0 0 0 36px; }
.fin.prev .righe-azioni .pul { height: 36px; min-width: 96px; padding: 0 15px; letter-spacing: 0; background: var(--f24-verde); border-color: var(--f24-verde); border-radius: 4px; color: #fff; font: 400 14px/1 var(--font); }
.fin.prev .righe-azioni .pul:first-child { min-width: 195px; }
.fin.prev .righe-azioni .pul:hover:not(:disabled) { background: #43a047; }

/* ---------- Riepilogo conteggi ---------- */
.fin.prev .pv-riepilogo h3 { margin-top: 24px; }
.fin.prev .pv-tot { display: flex; flex-direction: column; align-items: flex-end; padding: 26px 21px 48px; }
.fin.prev .pv-tr { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-bottom: 11px; }
.fin.prev .pv-tr .pv-et { text-align: right; }
.fin.prev .pv-val { flex: none; width: 150px; height: 34px; padding: 0 10px; display: flex; align-items: center; justify-content: flex-end; gap: 6px; background: #efefef; border: 1px solid #dcdcdc; border-radius: 3px; font: 300 16px var(--font-titoli); color: #000; }
.fin.prev .pv-eur { font-size: 16px; color: #000; }
.fin.prev .pv-tot hr { width: 300px; max-width: 100%; margin: 7px 0 17px; border: 0; border-top: 1px solid #dcdcdc; }
.fin.prev .pv-link { margin: 0 0 15px; padding: 0; background: none; border: 0; font: 300 15px/20px var(--font-titoli); color: var(--f24-arancio); text-decoration: underline; cursor: pointer; }
.fin.prev .pv-tr + .pv-link { margin-top: -6px; }
.fin.prev .pv-tot .tab-iva { margin-top: 6px; width: 300px; max-width: 100%; }
.fin.prev .pv-tot .nota { text-align: right; color: var(--muto); }

/* ---------- scheda NOTE ---------- */
.fin.prev .pv-note { flex: 1; display: flex; flex-direction: column; padding: 21px 21px 21px; }
.fin.prev .pv-riga-note { flex: 1; align-items: stretch; }
.fin.prev .pv-riga-note > .pv-et { padding-top: 7px; }
.fin.prev .pv-riga-note textarea { height: auto; resize: none; min-height: 120px; font: 300 16px/1.35 var(--font-titoli); }

/* ---------- scheda ALLEGATI (il pannello è quello condiviso di allegati.js) ---------- */
.fin.prev .pannello-all { flex: 1; margin: 0; padding: 18px 0 0; }
.fin.prev .all-modello, .fin.prev .all-elenco-tit { padding: 0 21px; }
.fin.prev .all-modello select, .fin.prev .all-modello select:disabled { background-color: #fff; border: 1px solid var(--f24-bordo); color: #000; }
.fin.prev .all-elenco-tit { font: 300 16px/1.2 var(--font-titoli); color: var(--f24-etichetta); }
.fin.prev .sd-et { font: 300 16px/1.2 var(--font-titoli); color: var(--f24-etichetta); }
.fin.prev .all-elenco { margin: 0; }
.fin.prev .all-riga { padding: 0 21px; min-height: 40px; font: 400 13px/1.2 var(--font); }
.fin.prev .all-vuote { background: repeating-linear-gradient(to bottom, #fff 0, #fff 40px, #f6f8fa 40px, #f6f8fa 80px); }
.fin.prev .all-zona { margin: 0; height: 48px; font: 400 13px var(--font); background: #f8f8f8; }

/* ---------- scheda EMAIL (solo interfaccia) ---------- */
.fin.prev .pv-email { flex: 1; display: flex; flex-direction: column; gap: 12px; padding: 21px 21px 21px; }
.fin.prev .pv-em-riga { display: grid; grid-template-columns: 167px minmax(0, 1fr); align-items: center; min-width: 0; }
.fin.prev .pv-em-copia { grid-template-columns: 167px minmax(0, 1fr) auto 67px; }
.fin.prev .pv-et-nascosta { margin: 0 8px 0 12px; white-space: nowrap; }
.fin.prev .pv-em-oggetto { grid-template-columns: 167px minmax(0, 1fr) 111px; }
.fin.prev .pv-opzioni { width: 111px; height: 34px; margin-left: 6px; padding: 0 10px; font: 400 12px/1 var(--font); }
.fin.prev .pv-em-testo { flex: 1; align-items: stretch; min-height: 260px; }
.fin.prev .pv-em-testo > .pv-et { padding-top: 7px; }
.fin.prev .pv-con-ic { position: relative; display: block; min-width: 0; }
.fin.prev .pv-con-ic > input { padding-right: 36px; }
.fin.prev .pv-ic { position: absolute; right: 4px; top: 0; width: 28px; height: 34px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; color: #464d52; cursor: pointer; }
.fin.prev .pv-editor-box { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--f24-bordo); border-radius: 3px; background: #fff; }
.fin.prev .pv-barra { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; padding: 4px 6px; background: #f4f4f4; border-bottom: 1px solid var(--f24-bordo); }
.fin.prev .pv-barra .pv-stile { width: 92px; height: 26px; padding: 0 22px 0 6px; font: 400 12px var(--font); line-height: 24px; }
.fin.prev .pv-bt { width: 28px; height: 26px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; border-radius: 3px; font: 400 14px var(--font); color: #333; cursor: pointer; }
.fin.prev .pv-bt:hover { background: #e4e4e4; }
.fin.prev .pv-bt.b { font-weight: 700; }
.fin.prev .pv-bt.i { font-style: italic; }
.fin.prev .pv-bt.u { text-decoration: underline; }
.fin.prev .pv-editor { flex: 1; min-height: 200px; padding: 10px 12px; outline: none; font: 300 16px/1.4 var(--font-titoli); color: #000; overflow: auto; }

/* ---------- elenco prodotti (Altro ▾ › Aggiungi linee da lista Prodotti e Servizi) ---------- */
.pv-prodotti { margin-top: 10px; max-height: 50vh; overflow: auto; border: .5px solid var(--bordo-campo); border-radius: 4px; background: #fff; }
.pv-prod-riga { display: flex; align-items: center; gap: 10px; padding: 7px 12px; border-bottom: .5px solid var(--bordo); cursor: pointer; font-size: 14px; }
.pv-prod-riga:hover { background: #e8eef7; }
.pv-prod-nome { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.pv-prod-riga small { flex: none; color: var(--muto); }
.pv-vuoto { padding: 12px; color: var(--muto); }

/* ---------- piede: ingranaggio · ELIMINA · ESCI · AZIONI ▾ · SALVA ---------- */
.fin.prev .fin-piede { flex-wrap: nowrap; gap: 8px; padding: 12px 21px; background: #f8f8f8; border-top: 1px solid #e1e1e1; border-radius: 0 0 4px 4px; }
.fin.prev .fin-piede .pul { min-width: 0; height: 36px; padding: 0 12px; border-radius: 4px; box-shadow: none; font: 400 14px/1 var(--font); letter-spacing: 0; text-transform: uppercase; }
.fin.prev .fin-piede .pul.ingranaggio { width: 36px; padding: 0; background: none; border: 0; color: #5e676c; }
.fin.prev .fin-piede .pul.ingranaggio:hover:not(:disabled) { color: var(--testo); background: rgba(0, 0, 0, .05); }
.fin.prev .fin-piede .pul.pericolo { padding: 0 10px; background: var(--rosso); border-color: var(--rosso); color: #fff; }
.fin.prev .fin-piede .pul.testo { width: 45px; padding: 0; background: none; border-color: transparent; color: #6e7a81; }
.fin.prev .fin-piede .pul.verde { background: var(--f24-verde); border-color: var(--f24-verde); color: #fff; }
.fin.prev .fin-piede .pul.verde:hover:not(:disabled) { background: #43a047; }
.fin.prev .fin-piede .pul.azioni { width: 100px; padding: 0; }
.fin.prev .fin-piede .pul.salva { width: 57px; padding: 0; }
.fin.prev .fin-piede .pul.invia { padding: 0 12px; }

/* ---------- telefono: a schermo intero, campi impilati, niente scorrimento laterale ---------- */
@media (max-width: 767px) {
  .vela:has(> .fin.prev) { padding: 0; }
  .fin.prev { width: 100%; height: 100dvh; border-radius: 0; }
  .fin.prev .fin-testa h2 { height: 44px; padding: 8px 0 0 12px; font-size: 22px; line-height: 30px; }
  .fin.prev .fin-testa h2 small { font-size: 16px; }
  .fin.prev .fin-libri { height: 44px; margin-right: 12px; }
  .fin.prev .fin-schede { overflow-x: auto; scrollbar-width: none; }
  .fin.prev .scheda-doc { height: 42px; padding: 0 16px; font-size: 14px; }
  .fin.prev .pv-testata { grid-template-columns: minmax(0, 1fr); row-gap: 12px; padding: 14px 12px 0; }
  .fin.prev .pv-riga, .fin.prev .pv-riga-dx, .fin.prev .pv-causale .pv-riga, .fin.prev .pv-em-riga, .fin.prev .pv-em-copia, .fin.prev .pv-em-oggetto { grid-template-columns: minmax(0, 1fr); row-gap: 4px; }
  .fin.prev .pv-riga-dx > .pv-et { text-align: left; justify-self: start; }
  .fin.prev .pv-riga-dx > .pv-et:empty { display: none; }
  .fin.prev .pv-g-ind { grid-template-columns: minmax(0, 1fr) 80px; }
  .fin.prev .pv-g-citta { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 76px; }
  .fin.prev .pv-g-piva, .fin.prev .pv-g-sdi { grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
  .fin.prev .beni-testa { margin-top: 28px; }
  .fin.prev h3 { padding: 0 12px 8px; font-size: 24px; }
  .fin.prev .righe { padding: 0 12px; }
  .fin.prev .righe-lista { padding-top: 14px; }
  .fin.prev .riga-doc { grid-template-columns: minmax(0, 1fr); grid-template-areas: "sx" "l1" "tot" "l2" "desc"; row-gap: 12px; }
  .fin.prev .riga-doc .rd-sx { flex-direction: row; justify-content: space-between; align-items: center; width: 100%; }
  .fin.prev .riga-doc .r-del { margin-top: 0; opacity: 1; }
  .fin.prev .riga-doc .rd-l1 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
  .fin.prev .riga-doc .rd-l1 .c-iva { grid-column: 1 / -1; }
  .fin.prev .riga-doc .rd-tot { height: auto; padding-left: 0; }
  .fin.prev .riga-doc .non-imp { position: static; margin-top: 8px; }
  .fin.prev .riga-doc .rd-l2 { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .fin.prev .riga-doc .rd-desc { margin-top: 0; }
  .fin.prev .righe-azioni { padding-left: 0; }
  .fin.prev .pv-tot { padding: 20px 12px 32px; }
  .fin.prev .pv-tr { width: 100%; }
  .fin.prev .pv-tr .pv-et { flex: 1; }
  .fin.prev .pv-note, .fin.prev .pv-email { padding: 14px 12px; }
  .fin.prev .pv-et-nascosta { margin: 6px 0 0; }
  .fin.prev .pv-opzioni { width: 100%; margin: 4px 0 0; }
  .fin.prev .pv-em-testo { min-height: 320px; }
  .fin.prev .all-modello, .fin.prev .all-elenco-tit { padding: 0 12px; }
  .fin.prev .all-riga { padding: 0 12px; }
  .fin.prev .fin-piede { flex-wrap: wrap; gap: 6px; padding: 8px 12px; border-radius: 0; }
  .fin.prev .fin-piede .pul { flex: 1; width: auto; }
  .fin.prev .fin-piede .pul.ingranaggio { flex: none; }
  .fin.prev .fin-piede .pul.testo, .fin.prev .fin-piede .pul.azioni, .fin.prev .fin-piede .pul.salva { width: auto; }
}
