/* =====================================================================
   PREVENTIVI — hardware, software e servizi
   Come assistenza.css usa solo le variabili del tema e riusa le classi
   già presenti (eti-layout, ass-offerta, ass-stato, ass-cliente…).
   ===================================================================== */

/* ---------- Voci del preventivo (editor) ---------- */
.prv-aggiungi {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.prv-aggiungi .btn {gap:7px}
.prv-righe {display:flex;flex-direction:column;gap:10px}
.prv-riga {--c:#2563eb;border:1.5px solid var(--border);border-left:4px solid var(--c);border-radius:12px;background:var(--surface);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.prv-riga[data-tipo=software] {--c:#7c3aed}
.prv-riga[data-tipo=servizio] {--c:#0891b2}
.prv-r1 {display:grid;grid-template-columns:140px 1fr auto;gap:8px;align-items:center}
.prv-r3 {display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.prv-r3 label {display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.3px}
.prv-r3 .form-control {width:104px;text-align:right;font-variant-numeric:tabular-nums}
.prv-r3 .prv-in-qta {width:76px}
.prv-r3 .prv-in-sconto {width:84px}
.prv-importo {margin-left:auto;text-align:right;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);min-width:110px}
.prv-importo small {display:block;font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.3px}
.prv-riga-azioni {display:flex;gap:2px}
.prv-vuoto {text-align:center;color:var(--text3);padding:22px 0;font-size:13px}
.prv-vuoto i {font-size:30px;display:block;margin-bottom:8px}

/* Catalogo prodotti */
.prv-cat {border:1.5px solid var(--border);border-radius:12px;background:var(--surface2);padding:12px;margin-bottom:14px}
.prv-cat .topbar-search {max-width:none}
.prv-cat .topbar-search input {width:100%}
.prv-cat-ris {margin-top:10px;max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.prv-cat-voce {display:flex;align-items:center;gap:10px;text-align:left;padding:8px 12px;border-radius:10px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}
.prv-cat-voce:hover {border-color:var(--primary);background:var(--primary-light)}
.prv-cat-voce > span {flex:1;min-width:0}
.prv-cat-voce strong {display:block;font-size:13px;overflow-wrap:anywhere}
.prv-cat-voce small {display:block;font-size:11px;color:var(--text2)}
.prv-cat-voce em {font-style:normal;font-weight:700;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--primary)}
.prv-cat-info {font-size:12px;color:var(--text2);padding:4px 2px}

/* ---------- Riepilogo laterale ---------- */
.prv-parziali {display:flex;flex-direction:column;gap:3px;margin-bottom:10px;font-size:12px}
.prv-parziali > div {display:flex;justify-content:space-between;gap:10px;color:var(--text2);font-variant-numeric:tabular-nums}
.prv-parziali i {width:16px;text-align:center;margin-right:4px}
.prv-cifre {display:flex;flex-direction:column;gap:4px;font-size:13px;font-variant-numeric:tabular-nums;margin-bottom:10px}
.prv-cifre > div {display:flex;justify-content:space-between;gap:10px}
.prv-cifre > div > span:first-child {color:var(--text2)}
.prv-cifre .prv-sconto {color:#dc2626}
.prv-tipo-chip {display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:2px 8px;border-radius:99px;margin:0 4px 2px 0;white-space:nowrap;
  color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent)}

/* ---------- Dettaglio ---------- */
.prv-det-tab {width:100%;border-collapse:collapse;font-size:13px}
.prv-det-tab th {text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--text2);padding:6px 8px;border-bottom:1.5px solid var(--border)}
.prv-det-tab th.r,.prv-det-tab td.r {text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.prv-det-tab td {padding:8px;border-bottom:1px solid var(--border);vertical-align:top}
.prv-det-tab td small {display:block;font-size:11px;color:var(--text2);margin-top:2px;overflow-wrap:anywhere}
.prv-det-tab tr.prv-gruppo td {background:var(--surface2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--c)}
.prv-det-tot {margin-left:auto;max-width:320px;margin-top:12px}

/* ---------- Schermi stretti ---------- */
@media (max-width:760px) {
  .prv-r1 {grid-template-columns:1fr auto}
  .prv-r1 .prv-tipo {grid-column:1 / -1}
  .prv-r3 {gap:8px}
  .prv-r3 label {flex:1 1 0;min-width:0}
  .prv-r3 .form-control,.prv-r3 .prv-in-qta,.prv-r3 .prv-in-sconto {width:100%}
  .prv-importo {flex:1 1 100%;text-align:right;min-width:0}
  .prv-det-tab th:nth-child(3),.prv-det-tab td:nth-child(3) {display:none}
}

/* Aggiungi altre voci (in fondo all'elenco) */
.prv-aggiungi-fondo {margin:12px 0 0;padding-top:12px;border-top:1px dashed var(--border);align-items:center}
.prv-aggiungi-lbl {font-size:12px;font-weight:700;color:var(--text2)}

/* Proposta: salva le voci nuove nel catalogo prodotti */
.prv-nuove {display:flex;flex-direction:column;gap:10px;max-height:52vh;overflow-y:auto}
.prv-nuova {border:1.5px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface);display:flex;flex-direction:column;gap:8px}
.prv-nuova-riga {display:grid;grid-template-columns:130px 1fr;gap:10px}
.prv-nuova-riga label {display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.3px}
@media (max-width:760px) {.prv-nuova-riga {grid-template-columns:1fr 1fr}}

/* ---------- Sezioni Hardware / Software / Servizi ---------- */
.prv-righe {gap:18px}
.prv-sez {border:1.5px solid color-mix(in srgb,var(--c) 35%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--c) 4%,var(--surface));padding:12px;display:flex;flex-direction:column;gap:10px}
.prv-sez-testa {display:flex;align-items:center;justify-content:space-between;gap:10px}
.prv-sez-testa h4 {margin:0;font-size:14px;display:flex;align-items:center;gap:8px;color:var(--c)}
.prv-sez-n {font-size:11px;font-weight:700;color:var(--text2);background:var(--surface2);border:1px solid var(--border);border-radius:99px;padding:1px 8px}
.prv-sez-n:empty {display:none}
.prv-sez-tot {font-size:15px;font-variant-numeric:tabular-nums}
.prv-sez-vuota {font-size:12px;color:var(--text3);padding:2px 2px 0}
.prv-sez-azioni {display:flex;flex-wrap:wrap;gap:8px}
.prv-sez-azioni .btn.attivo {border-color:var(--primary);background:var(--primary-light);color:var(--primary)}
.prv-sez .prv-riga {background:var(--surface)}
.prv-r1 {grid-template-columns:auto 1fr auto!important}
.prv-num {width:24px;height:24px;border-radius:50%;background:var(--c);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
@keyframes prv-evid {0% {box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 55%,transparent);background:color-mix(in srgb,var(--c) 14%,var(--surface))} 100% {box-shadow:0 0 0 10px transparent;background:var(--surface)}}
.prv-riga.prv-evid {animation:prv-evid 1.4s ease-out}
.prv-cat-gia {font-size:11px;font-weight:700;color:#16a34a;white-space:nowrap}
@media (max-width:760px) {.prv-r1 {grid-template-columns:auto 1fr auto!important} .prv-sez {padding:10px}}
