#jd-assistente {
  --jd-verde: #316737;
  --jd-verde-scuro: #006533;
  --jd-chiaro: #F5F8F5;
  --jd-bordo: #d8e2d8;
  --jd-testo: #23281f;
  --jd-basso: 90px;   /* spazio dal fondo (WhatsApp rimosso) */
  --jd-lato: 24px;
  position: fixed; right: var(--jd-lato); bottom: var(--jd-basso);
  z-index: 9998; font-family: Arial, Helvetica, sans-serif;
}
#jd-assistente * { box-sizing: border-box; }

#jd-avvia {
  display: flex; align-items: center; gap: 10px;
  background: var(--jd-verde); color: #ffff; border: 0;
  padding: 12px 18px 12px 14px; border-radius: 30px; cursor: pointer;
  font: 500 15px/1 Arial, Helvetica, sans-serif; letter-spacing: .01em;
  box-shadow: 0 2px 10px rgba(0,0,0,.18);
}
#jd-avvia:hover { background: var(--jd-verde-scuro); }
#jd-avvia:focus-visible { outline: 3px solid var(--jd-verde-scuro); outline-offset: 2px; }
#jd-avvia svg { flex: 0 0 auto; }

#jd-pannello {
  display: none; flex-direction: column;
  width: 372px; max-width: calc(100vw - 32px); height: 540px; max-height: calc(100vh - 140px);
  background: #fff; border: 1px solid var(--jd-bordo); border-radius: 10px;
  box-shadow: 0 10px 34px rgba(0,0,0,.22); overflow: hidden;
}
#jd-assistente.jd-aperto #jd-pannello { display: flex; }
#jd-assistente.jd-aperto #jd-avvia { display: none; }

#jd-testa {
  background: var(--jd-verde); color: #fff; padding: 14px 16px;
  display: flex; align-items: flex-start; gap: 10px;
}
#jd-testa h2 { margin: 0; font: 500 15px/1.3 Arial, Helvetica, sans-serif; color: #ffffff; }
#jd-testa p { margin: 3px 0 0; font-size: 12px; line-height: 1.4; opacity: .92; }
#jd-chiudi {
  margin-left: auto; background: none; border: 0; color: #fff; cursor: pointer;
  font-size: 22px; line-height: 1; padding: 0 2px;
}
#jd-chiudi:focus-visible { outline: 2px solid #fff; }

#jd-flusso { flex: 1; overflow-y: auto; padding: 16px; background: var(--jd-chiaro); }
.jd-riga { margin-bottom: 12px; display: flex; }
.jd-riga.jd-mio { justify-content: flex-end; }
.jd-bolla {
  max-width: 84%; padding: 9px 13px; border-radius: 10px;
  font-size: 14px; line-height: 1.5; color: var(--jd-testo); white-space: pre-wrap;
}
.jd-riga.jd-suo .jd-bolla { background: #fff; border: 1px solid var(--jd-bordo); }
.jd-riga.jd-mio .jd-bolla { background: var(--jd-verde); color: #fff; }
.jd-avviso {
  font-size: 12px; line-height: 1.5; color: #4a5a4a;
  background: #fff; border: 1px solid var(--jd-bordo); border-left: 3px solid var(--jd-verde);
  border-radius: 0; padding: 10px 12px; margin-bottom: 12px;
}
.jd-avviso a { color: var(--jd-verde-scuro); }

#jd-consenso { padding: 14px 16px; background: #fff; border-top: 1px solid var(--jd-bordo); }
#jd-consenso label { display: flex; gap: 8px; font-size: 12px; line-height: 1.5; color: #3c463c; cursor: pointer; }
#jd-consenso input { margin-top: 2px; flex: 0 0 auto; }
#jd-consenso button {
  margin-top: 10px; width: 100%; background: var(--jd-verde); color: #fff; border: 0;
  padding: 10px; border-radius: 6px; font: 500 14px Arial, Helvetica, sans-serif; cursor: pointer;
}
#jd-consenso button[disabled] { background: #b9c7b9; cursor: not-allowed; }

#jd-scrittura { display: none; padding: 0 16px 10px; font-size: 12px; color: #5c6a5c; background: var(--jd-chiaro); }

#jd-barra { display: none; border-top: 1px solid var(--jd-bordo); padding: 10px; gap: 8px; background: #fff; }
#jd-assistente.jd-pronto #jd-barra { display: flex; }
#jd-assistente.jd-pronto #jd-consenso { display: none; }
#jd-testo {
  flex: 1; resize: none; border: 1px solid var(--jd-bordo); border-radius: 6px;
  padding: 9px 10px; font: 14px/1.4 Arial, Helvetica, sans-serif; height: 42px; max-height: 96px;
  color: var(--jd-testo);
}
#jd-testo:focus { outline: 2px solid var(--jd-verde); outline-offset: -1px; }
#jd-invia {
  background: var(--jd-verde); color: #fff; border: 0; border-radius: 6px;
  padding: 0 16px; cursor: pointer; font: 500 14px Arial, Helvetica, sans-serif;
}
#jd-invia[disabled] { background: #b9c7b9; cursor: not-allowed; }

@media (max-width: 480px) {
  #jd-assistente { --jd-lato: 12px; --jd-basso: 20px; }
  #jd-pannello { height: calc(100vh - 120px); }
}
#jd-titolo { color: #FFFFFF; }