/* Stile dell' area «anagrafiche»: si carica dopo app.css e può ritoccarlo.
   Finestre «Contatto in rubrica» e «Prodotto/Servizio» ricalcate su Fattura24 (misure rilevate a vista). */

/* ---------- misure della finestra (solo da tablet in su: sul telefono resta a schermo intero) ---------- */
@media (min-width: 768px) {
  .fin.scheda.anag-contatto { width: 720px; height: min(722px, calc(100vh - 46px)); }
  .fin.scheda.anag-prodotto { width: 722px; height: min(612px, calc(100vh - 46px)); }
  .fin.anag .fin-schede { margin-left: -24px; margin-right: -24px; }
}

.fin.anag { background: #f8f8f8; }

/* ---------- testa: titolo, [id], libri, schede ---------- */
.fin.anag .fin-testa { padding: 14px 24px 0; align-items: center; gap: 0 14px; }
.fin.anag .fin-testa h2 { font: 400 30px/36px var(--font-titoli); color: #464d52; }
.fin.anag .an-id { font: 300 14px var(--font); color: #7d7d7f; white-space: nowrap; letter-spacing: .02em; }
.fin.anag .an-libri { display: inline-flex; color: #7d7d7f; }
.fin.anag .fin-schede { margin-top: 8px; }
.fin.anag .scheda-doc { padding: 0 24px; height: 41px; font: 400 15px var(--font); color: #9b9b9b; border-bottom: 2px solid transparent; margin-bottom: -1px; position: relative; z-index: 1; }
.fin.anag .scheda-doc:hover { color: #464d52; }
.fin.anag .scheda-doc.attiva { color: #464d52; border-bottom-color: #7d7d7f; }
.fin.anag .fin-corpo { padding: 0; background: #f8f8f8; border-top: 1px solid #eee; }

/* ---------- corpo: righe etichetta + campo ---------- */
.fin.anag .pannello { min-height: 100%; }
.fin.anag .griglia-campi { grid-template-columns: minmax(0, 1fr); gap: 11px; padding: 25px 24px 20px; }
.fin.anag .an-riga { display: grid; grid-template-columns: var(--col, 150px) minmax(0, 1fr); align-items: center; gap: 0; min-height: 35px; }
.fin.anag .an-riga.in-alto { align-items: start; }
.fin.anag .an-riga.in-alto .campo-et { padding-top: 7px; }
.fin.anag .an-riga .campo-et { display: flex; align-items: center; gap: 6px; font: 300 16px/1.2 var(--font-titoli); color: #464d52; padding-right: 4px; white-space: nowrap; }
.fin.anag .an-info { display: inline-flex; color: #5f6b75; cursor: help; flex: none; }
.fin.anag input[type=text], .fin.anag select, .fin.anag textarea { background-color: #fff; border-color: #dcdcdc; }
.fin.anag textarea { height: 169px; resize: none; }
.fin.anag input:disabled, .fin.anag select:disabled, .fin.anag textarea:disabled { background-color: #fff; color: #5c6367; opacity: 1; }
.fin.anag select:disabled { background-image: 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"); background-repeat: no-repeat; background-position: right 9px center; }
.fin.anag select.stretta { width: 72px; }
.fin.anag select.verde, .fin.anag select.verde:disabled { width: 82px; background-color: #4caf50; border-color: #4caf50; color: #fff; background-image: 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"); background-repeat: no-repeat; background-position: right 9px center; }
.fin.anag .an-fila { gap: 10px; }
.fin.anag .an-fila > * { min-width: 0; }

/* campo con pulsantino verde dentro (AZIONI, MAPPA) e lente */
.fin.anag .an-dentro { position: relative; }
.fin.anag .an-dentro input { padding-right: 92px; }
.fin.anag .an-mini { position: absolute; right: 5px; top: 5px; height: 25px; padding: 0 10px; border: 0; border-radius: 4px; background: #4caf50; color: #fff; font: 500 12px/1 var(--font); text-transform: uppercase; cursor: pointer; display: inline-flex; align-items: center; }
.fin.anag .an-mini:hover { background: #43a047; }
.fin.anag .an-lente input { padding-right: 30px; }
.fin.anag .an-lente-ico { position: absolute; right: 8px; top: 0; bottom: 0; display: flex; align-items: center; color: #555; pointer-events: none; }

/* titoli di sezione dentro la scheda e link «Vedi Indirizzo Secondario» */
.fin.anag .an-sezione { margin: 14px 0 0; padding: 0; border: 0; font: 500 13px/1.3 var(--font); color: #464d52; }
.fin.anag .an-sezione:first-child { margin-top: -6px; }
.fin.anag .an-secondario { text-align: center; margin-top: 15px; }
.fin.anag .an-link { background: none; border: 0; padding: 0; font: 400 14px var(--font); color: #8f8f8f; cursor: default; }

/* ---------- piede ---------- */
.fin.anag .fin-piede { padding: 10px 24px; background: #f8f8f8; border-top: 1px solid #eee; gap: 14px; }
.fin.anag .fin-piede .pul { height: 36px; font: 400 14px/1 var(--font); }
.fin.anag .fin-piede .pul.pericolo { background: #f44336; border-color: #f44336; color: #fff; font-size: 13px; padding: 0 12px; min-width: 70px; border-radius: 4px; }
.fin.anag .fin-piede .pul.pericolo:hover:not(:disabled) { background: #e53935; }
.fin.anag .fin-piede .pul.verde { min-width: 57px; padding: 0 12px; font-size: 13px; }
.fin.anag .fin-piede .pul.testo { color: #6e7a81; font-size: 13px; padding: 0 6px; min-width: 0; }
.fin.anag .fin-piede .an-estratto { background: #fff; border-color: #eee; color: #6d6d6d; font-size: 13px; padding: 0 14px; margin-left: -6px; box-shadow: 0 1px 2px rgba(0, 0, 0, .05); }
.fin.anag .an-freccia { display: inline-block; width: 0; height: 0; margin-left: 8px; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; }
.fin.anag .pul.pericolo[hidden] + .an-estratto { display: none; }

/* ---------- scheda Prezzo del prodotto: righe a strisce a tutta larghezza ---------- */
.fin.anag .pannello.prezzo { min-height: 100%; background: repeating-linear-gradient(to bottom, #f6f7f9 0, #f6f7f9 48px, #fff 48px, #fff 96px); }
.fin.anag .pannello.prezzo .griglia-campi { padding: 0; gap: 0; display: block; }
.fin.anag .an-listini { display: block; }
.fin.anag .an-riga-listino { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 24px; }
.fin.anag .an-aggiungi { justify-content: flex-start; }
.fin.anag .an-nome-listino { flex: 1; min-width: 0; border-color: transparent !important; background-color: transparent !important; padding-left: 0; font: 400 13px var(--font); color: #464d52; }
.fin.anag .an-nome-listino.base { font-weight: 500; }
.fin.anag .an-nome-listino:hover:not(:disabled), .fin.anag .an-nome-listino:focus { border-color: #dcdcdc !important; background-color: #fff !important; padding-left: 7px; }
.fin.anag .an-importo { position: relative; flex: 0 0 198px; display: block; }
.fin.anag .an-importo input { padding-right: 30px; text-align: right; height: 34px; }
.fin.anag .an-euro { position: absolute; right: 9px; top: 0; bottom: 0; display: flex; align-items: center; font: 400 15px var(--font); color: #333; pointer-events: none; }
.fin.anag .an-togli { flex: none; width: 26px; height: 26px; border: 0; background: none; color: #8a949a; cursor: pointer; border-radius: 4px; }
.fin.anag .an-togli:hover { color: var(--rosso); background: var(--rosso-chiaro); }

/* ---------- telefono: una colonna, etichetta sopra al campo, niente scorrimento laterale ---------- */
@media (max-width: 767px) {
  .fin.anag .griglia-campi { padding: 16px 12px; }
  .fin.anag .an-riga { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .fin.anag .an-riga.in-alto .campo-et { padding-top: 0; }
  .fin.anag .fin-schede { margin-left: -12px; margin-right: -12px; }
  .fin.anag .scheda-doc { padding: 0 14px; font-size: 14px; }
  .fin.anag .an-fila { flex-wrap: wrap; }
  .fin.anag .an-fila > * { flex: 1 1 140px !important; }
  .fin.anag .an-id { display: none; }
  .fin.anag .fin-testa h2 { font-size: 24px; }
  .fin.anag .fin-piede { gap: 8px; }
  .fin.anag .fin-piede .pul { flex: 1 1 auto; }
  .fin.anag .an-riga-listino { padding: 0 12px; }
  .fin.anag .an-importo { flex-basis: 140px; }
  .fin.anag .pannello.prezzo .griglia-campi { padding: 0; }
}
