/* =====================================================================
   Vista «estimate» (disegno «private»). Estimate Misto: il generatore di sempre con un vestito nuovo.
   Ogni regola è chiusa dentro [data-vista="estimate"].
   Dal prototipo: .est-g .gen .gen-t .emette .em-t .campi2 .numero-s .messaggi .voci-t .voce-r .gen-piede .arch-t .es .num-e
   (sezione Estimate e telefono). I campi usano input.campo di god.css.
   ===================================================================== */
[data-vista="estimate"] .est-g { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 20px; align-items: start; }

/* ---------- generatore ---------- */
[data-vista="estimate"] .gen { padding: 22px 24px; display: grid; gap: 16px; }
[data-vista="estimate"] .gen-t { display: flex; align-items: center; gap: 12px; }
[data-vista="estimate"] .gen-t h2 { font-family: var(--serif); font-size: 24px; line-height: 1.15; }
[data-vista="estimate"] .gen-t .tenue { display: block; margin-top: 2px; }
[data-vista="estimate"] .gen-t .stemma { width: 44px; height: 44px; }
[data-vista="estimate"] .gen-t .stemma svg { width: 19px; height: 19px; }
[data-vista="estimate"] .campo label, [data-vista="estimate"] .campo .lab { display: block; font-size: var(--t-s); font-weight: 600; margin-bottom: 7px; color: var(--ink); }
[data-vista="estimate"] .campo .aiuto { font-size: var(--t-xs); color: var(--ink-3); margin-top: 5px; min-height: 0; }
[data-vista="estimate"] .campo .aiuto:empty { display: none; }
[data-vista="estimate"] .emette { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
[data-vista="estimate"] .em-t { --c: var(--strategic); --t: var(--strategic-tinta); display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: center; padding: 14px; border-radius: 14px;
  border: 1px solid var(--filo-2); background: #fff; text-align: left; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
[data-vista="estimate"] .em-t.cdm { --c: var(--cdm); --t: var(--cdm-tinta); }
[data-vista="estimate"] .em-t:hover { border-color: var(--c); }
[data-vista="estimate"] .em-t .q { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: var(--c); font-family: var(--serif); font-weight: 600; font-size: 19px; }
[data-vista="estimate"] .em-t b { display: block; font-size: 15px; }
[data-vista="estimate"] .em-t small { display: block; font-size: var(--t-xs); color: var(--ink-3); }
[data-vista="estimate"] .em-t.si { border-color: var(--c); box-shadow: inset 0 0 0 1.5px var(--c), 0 0 0 4px var(--t); }
[data-vista="estimate"] .campi2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
[data-vista="estimate"] .lab-r { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 7px; }
[data-vista="estimate"] .lab-r label { margin: 0; }
[data-vista="estimate"] .numero-s input { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-weight: 700; letter-spacing: .02em; }
[data-vista="estimate"] .b-mano { background: var(--carta-2); color: var(--ink-2); }
[data-vista="estimate"] .messaggi textarea { min-height: 104px; }
[data-vista="estimate"] .interpreta { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 10px; }
[data-vista="estimate"] .interpreta .btn svg { color: var(--oro); }
[data-vista="estimate"] .voci-t { display: grid; gap: 8px; }
[data-vista="estimate"] .voci-testa { display: grid; grid-template-columns: minmax(0, 1fr) 70px 110px 100px 38px; gap: 8px; align-items: end; }
[data-vista="estimate"] .voci-testa .lab { grid-column: 1 / -1; font-size: var(--t-s); font-weight: 600; }
[data-vista="estimate"] .voci-testa .th { font-size: 12px; }
[data-vista="estimate"] .voci-testa .th.dx { text-align: right; }
[data-vista="estimate"] .voce-r { display: grid; grid-template-columns: minmax(0, 1fr) 70px 110px 100px 38px; gap: 8px; align-items: center; }
[data-vista="estimate"] .voce-r input.campo { min-height: 44px; padding: 9px 12px; font-size: var(--t-s); }
[data-vista="estimate"] .voce-r input.num { text-align: right; font-variant-numeric: tabular-nums; }
[data-vista="estimate"] .voce-r .tot { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
[data-vista="estimate"] .voce-r .tondo { width: 38px; height: 38px; }
[data-vista="estimate"] .voce-r .tondo svg { width: 16px; height: 16px; }
[data-vista="estimate"] #gAdd { justify-self: start; }
[data-vista="estimate"] #gAvv .avviso-mini { margin-top: 2px; }
[data-vista="estimate"] .gen-piede { display: flex; align-items: center; gap: 10px; padding-top: 16px; border-top: 1px solid var(--filo); }
[data-vista="estimate"] .gen-piede .totale { margin-left: auto; text-align: right; display: grid; gap: 2px; }
[data-vista="estimate"] .gen-piede .totale .cifra { font-size: 30px; }
[data-vista="estimate"] .gen-err { color: var(--scaduta); font-size: var(--t-s); font-weight: 600; }
[data-vista="estimate"] .gen-err:empty { display: none; }
[data-vista="estimate"] .esito-gen { display: grid; gap: 14px; justify-items: start; padding: 10px 0; }
[data-vista="estimate"] .eg-ico { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--pagata-tinta); color: var(--pagata); box-shadow: inset 0 0 0 1px #b9e2cd; }
[data-vista="estimate"] .eg-ico svg { width: 26px; height: 26px; }
[data-vista="estimate"] .eg-t h2 { font-family: var(--serif); font-size: 26px; margin: 2px 0 4px; font-variant-numeric: lining-nums; }
[data-vista="estimate"] .eg-t .cifra { font-size: 30px; }
[data-vista="estimate"] .eg-b { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

/* ---------- archivio ---------- */
[data-vista="estimate"] .arch .elenco-testa h3 { font-size: 19px; }
[data-vista="estimate"] .arch-t { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 16px 16px 6px; }
[data-vista="estimate"] .arch-t .v { padding: 12px 14px; border-radius: 12px; background: var(--carta); display: grid; gap: 4px; justify-items: start; border: 1px solid transparent; }
[data-vista="estimate"] .arch-t .v.si { background: var(--foglio-caldo); border-color: var(--oro-filo); }
[data-vista="estimate"] .arch-t .v.spento { opacity: .55; }
[data-vista="estimate"] .arch-t .v b { font-family: var(--serif); font-size: 28px; font-weight: 500; line-height: 1; font-variant-numeric: lining-nums; }
[data-vista="estimate"] .arch-t .v > span:last-child { font-size: var(--t-xs); color: var(--ink-3); font-variant-numeric: tabular-nums; }
[data-vista="estimate"] .arch-mesi { padding: 8px 16px 4px; }
[data-vista="estimate"] .am-t { display: flex; justify-content: space-between; gap: 8px; font-size: var(--t-xs); color: var(--ink-3); margin-bottom: 2px; }
[data-vista="estimate"] .am-t b { color: var(--ink-2); font-weight: 600; }
[data-vista="estimate"] .barre-mesi text { font-size: 12px; fill: var(--ink-3); }
[data-vista="estimate"] .arch-cerca { padding: 8px 16px 12px; }
[data-vista="estimate"] .arch-cl { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 12px; }
[data-vista="estimate"] .arch-cl .chip-cl { cursor: pointer; }
[data-vista="estimate"] .arch-cl .chip-cl .v { color: var(--ink-3); font-weight: 500; margin-left: 4px; }
[data-vista="estimate"] .arch-cl .chip-cl.si .v { color: var(--oro-2); }
[data-vista="estimate"] .es { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 12px; align-items: start; width: 100%; text-align: left; padding: 12px 16px; border-top: 1px solid var(--filo); cursor: pointer; background: var(--foglio); transition: background .15s; }
[data-vista="estimate"] .es:hover { background: var(--foglio-caldo); }
[data-vista="estimate"] .es-b.aperta .es { background: var(--foglio-caldo); box-shadow: inset 3px 0 0 var(--oro); }
[data-vista="estimate"] .es .q { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: #fff; font-family: var(--serif); font-weight: 600; background: var(--ink-3); }
[data-vista="estimate"] .es .q.strategic { background: var(--strategic); } [data-vista="estimate"] .es .q.cdm { background: var(--cdm); }
[data-vista="estimate"] .es-c { min-width: 0; display: grid; gap: 2px; }
[data-vista="estimate"] .es .num-e { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: var(--t-s); font-weight: 700; overflow-wrap: anywhere; }
[data-vista="estimate"] .es .num-e small { font-family: var(--sans); font-weight: 500; color: var(--ink-3); margin-left: 6px; font-size: var(--t-xs); }
[data-vista="estimate"] .es .og { font-size: var(--t-s); color: var(--ink-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
[data-vista="estimate"] .es .v .cifra { font-size: 17px; }
[data-vista="estimate"] .es-det { padding: 4px 16px 14px 62px; background: var(--foglio-caldo); display: grid; gap: 10px; }
[data-vista="estimate"] .es-st { font-size: var(--t-xs); color: var(--ink-3); }
[data-vista="estimate"] .es-st b { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; color: var(--ink); }
[data-vista="estimate"] .voci-d { display: grid; gap: 0; }
[data-vista="estimate"] .voci-d .vr { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; padding: 7px 0; border-bottom: 1px dotted var(--filo-2); font-size: var(--t-s); align-items: baseline; }
[data-vista="estimate"] .voci-d .vr:last-child { border-bottom: 0; }
[data-vista="estimate"] .voci-d .vr b { font-variant-numeric: tabular-nums; }
[data-vista="estimate"] .es-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: var(--t-xs); color: var(--ink-3); }
[data-vista="estimate"] .es-meta span { display: inline-flex; align-items: center; gap: 5px; }
[data-vista="estimate"] .es-meta svg { width: 14px; height: 14px; }
[data-vista="estimate"] .es-az { display: flex; gap: 8px; }
[data-vista="estimate"] .arch-vuoto { padding: 18px 16px; color: var(--ink-3); font-size: var(--t-s); border-top: 1px solid var(--filo); }
[data-vista="estimate"] .arch-err { padding: 14px; }
[data-vista="estimate"] .arch-err .stato-vuoto { border: 0; padding: 24px 12px; }
[data-vista="estimate"] button.elenco-piede { width: 100%; cursor: pointer; background: var(--foglio); }
[data-vista="estimate"] button.elenco-piede:hover { background: var(--foglio-caldo); }
[data-vista="estimate"] .arch .attesa { padding: 30px 18px; }

@media (max-width: 1180px) and (min-width: 761px) {
  [data-vista="estimate"] .est-g { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- telefono ---------- */
@media (max-width: 760px) {
  [data-vista="estimate"] .est-g { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  [data-vista="estimate"] .gen { padding: 16px 14px; gap: 14px; }
  [data-vista="estimate"] .gen-t h2 { font-size: 22px; }
  [data-vista="estimate"] .emette { gap: 8px; }
  [data-vista="estimate"] .em-t { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 12px; align-content: start; }
  [data-vista="estimate"] .em-t .q { width: 38px; height: 38px; font-size: 16px; }
  [data-vista="estimate"] .em-t b { font-size: 14.5px; line-height: 1.25; }
  [data-vista="estimate"] .campi2 { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  [data-vista="estimate"] input.campo, [data-vista="estimate"] textarea.campo { min-height: 46px; font-size: 16px; }
  [data-vista="estimate"] .numero-s input { font-size: 16px; }
  [data-vista="estimate"] .interpreta .btn { min-height: 44px; }
  [data-vista="estimate"] .voci-testa { display: block; }
  [data-vista="estimate"] .voce-r { grid-template-columns: 70px minmax(0, 1fr) auto 44px; grid-template-areas: "d d d d" "q r t x"; gap: 6px 8px; padding: 10px 0; border-bottom: 1px dashed var(--filo-2); }
  [data-vista="estimate"] .voce-r .desc { grid-area: d; }
  [data-vista="estimate"] .voce-r .gq { grid-area: q; } [data-vista="estimate"] .voce-r .gr { grid-area: r; } [data-vista="estimate"] .voce-r .tot { grid-area: t; } [data-vista="estimate"] .voce-r .tondo { grid-area: x; width: 44px; height: 44px; }
  [data-vista="estimate"] #gAdd { min-height: 44px; }
  [data-vista="estimate"] .gen-piede { flex-wrap: wrap; }
  [data-vista="estimate"] .gen-piede .totale { order: -1; width: 100%; display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 4px; }
  [data-vista="estimate"] .gen-piede .btn-primario { flex: 1; }
  [data-vista="estimate"] .gen-piede .btn-muto { min-height: 48px; }
  [data-vista="estimate"] .eg-b .btn { flex: 1 1 auto; }
  [data-vista="estimate"] .arch-t { padding: 14px 14px 6px; }
  [data-vista="estimate"] .arch-cerca { padding: 8px 14px 12px; }
  [data-vista="estimate"] .es { padding: 12px 14px; min-height: 64px; }
  [data-vista="estimate"] .es-det { padding: 4px 14px 14px 14px; }
  [data-vista="estimate"] .voci-d .vr { grid-template-columns: minmax(0, 1fr) auto; }
  [data-vista="estimate"] .voci-d .vr > span:first-child { grid-column: 1 / -1; }
  [data-vista="estimate"] .es-az .btn { flex: 1; min-height: 44px; }
  [data-vista="estimate"] button.elenco-piede { min-height: 48px; }
}
