/* Modulo di creazione dei preventivi. Usa i token del tema Laio. */

.prev-builder{max-width:900px;margin-inline:auto}
.prev-sez{padding-block:1.75rem;border-top:1px solid var(--line,rgba(14,14,14,.12))}
.prev-sez:first-child{border-top:0}

.prev-form label{display:block;margin-bottom:1rem;
  font-family:var(--util,monospace);font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mute,#8C8C86)}
.prev-form input[type=text],
.prev-form input[type=number],
.prev-form textarea{
  display:block;width:100%;margin-top:.4rem;
  font-family:var(--body,system-ui);font-size:1rem;letter-spacing:0;text-transform:none;
  color:var(--ink,#0E0E0E);background:var(--paper,#fff);
  border:1px solid var(--line,rgba(14,14,14,.12));border-radius:12px;padding:.7rem .9rem;
  transition:border-color .25s ease,background .25s ease;
}
.prev-form textarea{line-height:1.5;resize:vertical}
.prev-form input:focus,.prev-form textarea:focus{
  outline:none;border-color:var(--ink,#0E0E0E);background:var(--paper-2,#F1F0EC)}

.prev-griglia{display:grid;gap:0 1rem}
@media(min-width:640px){.prev-griglia{grid-template-columns:1fr 1fr}}

.prev-hint{text-transform:none;letter-spacing:0;color:var(--mute,#8C8C86);font-size:.72rem}
.prev-etichetta{font-family:var(--util,monospace);font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mute,#8C8C86);margin:1.25rem 0 .6rem}
.prev-nota{font-size:.88rem;color:var(--mute,#8C8C86);margin-top:.5rem}

/* Modelli di partenza */
.prev-modelli{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.prev-modello{
  font-family:var(--util,monospace);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.6rem 1rem;border-radius:999px;cursor:pointer;
  border:1px solid var(--line,rgba(14,14,14,.12));background:transparent;color:inherit;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.prev-modello:hover,.prev-modello.attivo{
  background:var(--ink,#0E0E0E);color:var(--paper,#fff);border-color:var(--ink,#0E0E0E)}

/* Righe ripetibili */
.prev-lista{display:grid;gap:.75rem}
.prev-riga{
  position:relative;display:grid;gap:.5rem;
  border:1px solid var(--line,rgba(14,14,14,.12));border-radius:14px;
  padding:1rem 2.75rem 1rem 1rem;
}
.prev-riga input,.prev-riga textarea,.prev-riga select{margin-top:0}
.prev-riga--voce{grid-template-columns:1fr}
@media(min-width:760px){
  .prev-riga--voce{grid-template-columns:2fr 6rem 1.6fr auto;align-items:center}
}
.prev-importo{text-align:right}
.prev-check{display:flex!important;align-items:center;gap:.4rem;margin:0!important;white-space:nowrap}
.prev-check input{width:auto!important;margin:0!important}

.prev-togli{
  position:absolute;top:.6rem;right:.6rem;
  width:1.9rem;height:1.9rem;border-radius:999px;cursor:pointer;
  border:1px solid var(--line,rgba(14,14,14,.12));background:transparent;color:inherit;
  font-size:1rem;line-height:1;
  transition:background .25s ease,color .25s ease;
}
.prev-togli:hover{background:var(--signal,#FF3B1F);color:#fff;border-color:var(--signal,#FF3B1F)}

.prev-aggiungi{
  margin-top:.75rem;
  font-family:var(--util,monospace);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.55rem .95rem;border-radius:999px;cursor:pointer;
  border:1px dashed var(--line,rgba(14,14,14,.12));background:transparent;color:var(--mute,#8C8C86);
  transition:border-color .25s ease,color .25s ease;
}
.prev-aggiungi:hover{border-color:var(--ink,#0E0E0E);color:var(--ink,#0E0E0E);border-style:solid}

.prev-azioni{margin-top:2rem}
.prev-azioni--secondarie{margin-top:1rem}

/* Rate di pagamento */
.prev-form select{
  display:block;width:100%;margin-top:.4rem;
  font-family:var(--body,system-ui);font-size:1rem;letter-spacing:0;text-transform:none;
  color:var(--ink,#0E0E0E);background:var(--paper,#fff);
  border:1px solid var(--line,rgba(14,14,14,.12));border-radius:12px;padding:.7rem .9rem;
  transition:border-color .25s ease,background .25s ease;
}
.prev-form select:focus{outline:none;border-color:var(--ink,#0E0E0E);background:var(--paper-2,#F1F0EC)}

.prev-preset{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.prev-preset-btn{
  font-family:var(--util,monospace);font-size:.7rem;letter-spacing:.08em;
  padding:.5rem .9rem;border-radius:999px;cursor:pointer;
  border:1px solid var(--line,rgba(14,14,14,.12));background:transparent;color:inherit;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.prev-preset-btn:hover,.prev-preset-btn.attivo{
  background:var(--ink,#0E0E0E);color:var(--paper,#fff);border-color:var(--ink,#0E0E0E)}

.prev-riga--rata{grid-template-columns:1fr}
@media(min-width:900px){
  /* etichetta · valore · % o € · scadenza · giorni oppure testo.
     I due ultimi campi si alternano: quello nascosto esce dal flusso
     e l'altro scivola da solo nella quinta colonna. */
  .prev-riga--rata{grid-template-columns:1.4fr 5.5rem 4.5rem 1.7fr minmax(5.5rem,1.2fr);
    align-items:center}
  .prev-rata-gg{max-width:5.5rem}
}
.prev-riga--rata [hidden]{display:none!important}
.prev-rata-gg{text-align:right}

.prev-recap{
  margin-top:.9rem;padding:.75rem 1rem;border-radius:12px;
  background:var(--paper-2,#F1F0EC);
  font-family:var(--util,monospace);font-size:.76rem;letter-spacing:.02em;line-height:1.6;
}
.prev-recap--attenzione{
  background:transparent;color:var(--signal,#FF3B1F);
  border:1px dashed var(--signal,#FF3B1F)}

/* Esito */
.prev-fatto{
  background:var(--paper-2,#F1F0EC);border-radius:16px;
  padding:1.25rem 1.5rem;margin-bottom:2rem;
}
.prev-link-riga{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.6rem}
.prev-link-riga input{
  flex:1 1 18rem;font-family:var(--util,monospace);font-size:.8rem;
  border:1px solid var(--line,rgba(14,14,14,.12));border-radius:999px;padding:.6rem .9rem;
  background:var(--paper,#fff);color:inherit;
}

/* Elenco */
.prev-elenco table{width:100%;border-collapse:collapse;margin-top:.75rem}
.prev-elenco td{padding:.7rem 0;border-bottom:1px solid var(--line,rgba(14,14,14,.12));font-size:.95rem}
.prev-elenco .prev-data{font-family:var(--util,monospace);font-size:.75rem;color:var(--mute,#8C8C86);white-space:nowrap}
.prev-elenco td:last-child{text-align:right;white-space:nowrap}
.prev-elenco a{text-decoration:none;border-bottom:1px solid var(--signal,#FF3B1F);margin-left:.9rem}

.prev-login{text-align:center;padding-block:3rem}
