/* =========================================================
   Rabbit v29 — Human Assistant Chat
   UX layer leggero: chatbot più umana, contestuale e guidata.
   Non modifica la logica AI/backend.
   ========================================================= */
:root{
  --rah-v29-ink:#071827;
  --rah-v29-muted:#64748b;
  --rah-v29-line:#dbe7f3;
  --rah-v29-panel:#ffffff;
  --rah-v29-soft:#f6f9fc;
  --rah-v29-blue:#2563eb;
  --rah-v29-teal:#12b9a6;
  --rah-v29-green:#16a34a;
  --rah-v29-orange:#f97316;
  --rah-v29-shadow:0 24px 74px rgba(15,35,60,.18),0 8px 20px rgba(15,35,60,.08);
}
body[data-rabbit-theme="dark"],
body.rabbit-theme-dark,
html[data-rabbit-theme="dark"]{
  --rah-v29-ink:#edf6ff;
  --rah-v29-muted:#9caec4;
  --rah-v29-line:#263c58;
  --rah-v29-panel:#0e1b2d;
  --rah-v29-soft:#13243b;
  --rah-v29-shadow:0 24px 74px rgba(0,0,0,.30),0 8px 20px rgba(0,0,0,.20);
}

/* Launcher più comprensibile: non solo “Rabbit”, ma assistente operativo. */
#rabbitHubMain{
  min-width:206px !important;
  border-radius:22px !important;
  box-shadow:0 18px 44px rgba(15,35,60,.14),0 8px 18px rgba(15,35,60,.06) !important;
}
#rabbitHubMain .rah-main-icon{
  border-radius:16px !important;
}
#rabbitHubMain .rah-main-text b::before{
  content:"Assistant";
}
#rabbitHubMain .rah-main-text b{
  font-size:0 !important;
}
#rabbitHubMain .rah-main-text b::before{
  font-size:13px !important;
  color:inherit !important;
}
#rabbitHubMain .rah-main-text small{
  font-size:0 !important;
}
#rabbitHubMain .rah-main-text small::before{
  content:"ti aiuto io";
  font-size:10px !important;
  color:inherit !important;
}

/* Panel: più leggibile, meno “tecnico”. */
#rabbitAssistantPanel{
  width:min(510px,calc(100vw - 34px)) !important;
  height:min(700px,calc(100vh - 220px)) !important;
  border-radius:30px !important;
  box-shadow:var(--rah-v29-shadow) !important;
  background:var(--rah-v29-panel) !important;
}
#rabbitAssistantPanel .ra-head{
  background:
    radial-gradient(circle at 88% 12%,rgba(18,185,166,.28),transparent 30%),
    radial-gradient(circle at 10% 100%,rgba(37,99,235,.30),transparent 32%),
    linear-gradient(135deg,#071827,#12325a 58%,#0f766e) !important;
  padding:18px 18px 14px !important;
}
#rabbitAssistantPanel .ra-title b{
  font-size:0 !important;
}
#rabbitAssistantPanel .ra-title b::before{
  content:"Ciao, sono Rabbit";
  font-size:18px !important;
  color:#fff !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
}
#rabbitAssistantPanel .ra-title small{
  font-size:0 !important;
}
#rabbitAssistantPanel .ra-title small::before{
  content:"Assistente operativo · sempre contestuale";
  font-size:11px !important;
  color:#dbeafe !important;
  font-weight:800 !important;
}
#rabbitAssistantPanel .ra-head-note{
  display:none !important;
}

.ra-human-context{
  display:grid;
  gap:12px;
  padding:14px;
  border-bottom:1px solid var(--rah-v29-line);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,249,252,.96));
}
body[data-rabbit-theme="dark"] .ra-human-context,
body.rabbit-theme-dark .ra-human-context,
html[data-rabbit-theme="dark"] .ra-human-context{
  background:linear-gradient(180deg,rgba(14,27,45,.96),rgba(19,36,59,.96));
}
.ra-human-card{
  border:1px solid var(--rah-v29-line);
  background:var(--rah-v29-panel);
  border-radius:22px;
  padding:14px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:start;
  box-shadow:0 10px 24px rgba(15,35,60,.055);
}
.ra-human-face{
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(18,185,166,.16));
  color:var(--rah-v29-blue);
  font-weight:1000;
  border:1px solid rgba(37,99,235,.15);
}
.ra-human-copy b{
  display:block;
  color:var(--rah-v29-ink);
  font-size:14px;
  line-height:1.2;
  letter-spacing:-.025em;
}
.ra-human-copy span{
  display:block;
  margin-top:5px;
  color:var(--rah-v29-muted);
  font-size:12px;
  line-height:1.42;
  font-weight:750;
}
.ra-human-actions{
  display:flex;
  gap:8px;
  overflow:auto;
  scrollbar-width:none;
}
.ra-human-actions::-webkit-scrollbar{display:none}
.ra-human-actions button{
  flex:0 0 auto;
  min-height:36px;
  border:1px solid var(--rah-v29-line);
  border-radius:999px;
  background:var(--rah-v29-panel);
  color:var(--rah-v29-ink);
  padding:0 12px;
  font-size:11px;
  font-weight:950;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:7px;
  transition:transform .14s ease,border-color .14s ease,background .14s ease;
}
.ra-human-actions button:hover{
  transform:translateY(-1px);
  border-color:rgba(37,99,235,.32);
}
.ra-human-actions button.primary{
  color:#fff;
  background:linear-gradient(135deg,var(--rah-v29-blue),var(--rah-v29-teal));
  border-color:transparent;
}
.ra-human-actions button i{
  font-style:normal;
  opacity:.92;
}

/* Quick chips: meno lista tecnica, più “azioni che so fare”. */
#rabbitAssistantPanel .ra-quick{
  padding:10px 14px !important;
  background:var(--rah-v29-soft) !important;
  border-bottom:1px solid var(--rah-v29-line) !important;
}
#rabbitAssistantPanel .ra-chip{
  border-color:var(--rah-v29-line) !important;
  color:var(--rah-v29-ink) !important;
  background:var(--rah-v29-panel) !important;
  box-shadow:none !important;
}
#rabbitAssistantPanel .ra-chip.primary{
  color:#fff !important;
  background:linear-gradient(135deg,var(--rah-v29-blue),var(--rah-v29-teal)) !important;
}

/* Starter iniziale più umano e guidato. */
#rabbitAssistantPanel .ra-starter{
  border:1px solid var(--rah-v29-line) !important;
  background:var(--rah-v29-panel) !important;
  border-radius:22px !important;
  padding:14px !important;
  box-shadow:0 10px 24px rgba(15,35,60,.055) !important;
}
#rabbitAssistantPanel .ra-starter-title b{
  color:var(--rah-v29-ink) !important;
  font-size:14px !important;
}
#rabbitAssistantPanel .ra-starter-title small{
  color:var(--rah-v29-muted) !important;
}
#rabbitAssistantPanel .ra-starter-grid{
  grid-template-columns:1fr 1fr !important;
}
#rabbitAssistantPanel .ra-starter-card{
  min-height:88px !important;
  border-color:var(--rah-v29-line) !important;
  background:var(--rah-v29-soft) !important;
  border-radius:18px !important;
}
#rabbitAssistantPanel .ra-starter-card b{color:var(--rah-v29-ink) !important}
#rabbitAssistantPanel .ra-starter-card small{color:var(--rah-v29-muted) !important}

/* Messaggi: tono più naturale. */
#rabbitAssistantPanel .ra-messages{
  background:linear-gradient(180deg,var(--rah-v29-panel),var(--rah-v29-soft)) !important;
}
#rabbitAssistantPanel .ra-bubble{
  color:var(--rah-v29-ink) !important;
  background:var(--rah-v29-panel) !important;
  border-color:var(--rah-v29-line) !important;
}
#rabbitAssistantPanel .ra-bubble b{color:var(--rah-v29-ink) !important}
#rabbitAssistantPanel .ra-row,
#rabbitAssistantPanel .ra-answer-card,
#rabbitAssistantPanel .ra-empty,
#rabbitAssistantPanel .ra-mini-stat{
  background:var(--rah-v29-soft) !important;
  border-color:var(--rah-v29-line) !important;
}
#rabbitAssistantPanel .ra-row b,
#rabbitAssistantPanel .ra-answer-card b,
#rabbitAssistantPanel .ra-mini-stat b{color:var(--rah-v29-ink) !important}
#rabbitAssistantPanel .ra-row small,
#rabbitAssistantPanel .ra-answer-card small,
#rabbitAssistantPanel .ra-mini-stat small,
#rabbitAssistantPanel .ra-empty{color:var(--rah-v29-muted) !important}

.ra-human-typing{
  display:flex;
  align-items:center;
  gap:8px;
  margin:2px 0;
  color:var(--rah-v29-muted);
  font-size:12px;
  font-weight:850;
}
.ra-human-typing span{
  width:7px;height:7px;border-radius:50%;
  display:block;
  background:var(--rah-v29-teal);
  animation:rahHumanPulse .9s ease-in-out infinite;
}
.ra-human-typing span:nth-child(2){animation-delay:.12s}
.ra-human-typing span:nth-child(3){animation-delay:.24s}
@keyframes rahHumanPulse{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-3px);opacity:1}}

/* Compose più amichevole. */
#rabbitAssistantPanel .ra-compose{
  background:var(--rah-v29-panel) !important;
  border-top:1px solid var(--rah-v29-line) !important;
}
#rabbitAssistantPanel .ra-compose input{
  background:var(--rah-v29-soft) !important;
  color:var(--rah-v29-ink) !important;
  border-color:var(--rah-v29-line) !important;
}
#rabbitAssistantPanel .ra-compose input::placeholder{color:var(--rah-v29-muted) !important}
#rabbitAssistantPanel .ra-send{
  background:linear-gradient(135deg,var(--rah-v29-blue),var(--rah-v29-teal)) !important;
}

@media(max-width:640px){
  #rabbitHubMain{min-width:62px !important}
  #rabbitAssistantPanel{border-radius:24px !important}
  .ra-human-context{padding:12px}
  .ra-human-card{border-radius:20px}
  #rabbitAssistantPanel .ra-starter-grid{grid-template-columns:1fr !important}
}

/* =========================================================
   Rabbit v30 — Human Assistant Buttons Visibility Fix
   Evita che quick actions e suggerimenti vengano tagliati.
   ========================================================= */
#rabbitAssistantPanel{
  display:flex !important;
  flex-direction:column !important;
  height:min(760px,calc(100vh - 96px)) !important;
  max-height:calc(100vh - 96px) !important;
  overflow:hidden !important;
}
#rabbitAssistantPanel .ra-head{
  flex:0 0 auto !important;
}
#rabbitAssistantPanel .ra-human-context{
  flex:0 0 auto !important;
  padding:12px 14px 10px !important;
  gap:10px !important;
  overflow:visible !important;
}
#rabbitAssistantPanel .ra-human-card{
  padding:12px !important;
  gap:10px !important;
}
#rabbitAssistantPanel .ra-human-face{
  width:38px !important;
  height:38px !important;
  border-radius:14px !important;
}
#rabbitAssistantPanel .ra-human-copy b{
  font-size:13px !important;
  line-height:1.22 !important;
}
#rabbitAssistantPanel .ra-human-copy span{
  font-size:11px !important;
  line-height:1.34 !important;
}
#rabbitAssistantPanel .ra-human-actions{
  width:100% !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  gap:7px !important;
  overflow:visible !important;
  max-height:none !important;
  scrollbar-width:none !important;
}
#rabbitAssistantPanel .ra-human-actions button{
  flex:0 1 auto !important;
  max-width:100% !important;
  min-height:33px !important;
  padding:0 11px !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

/* Quick chips originali: da riga tagliata a contenitore leggibile. */
#rabbitAssistantPanel .ra-quick{
  flex:0 0 auto !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  gap:7px !important;
  max-height:none !important;
  overflow:visible !important;
  padding:9px 14px !important;
}
#rabbitAssistantPanel .ra-quick .ra-chip,
#rabbitAssistantPanel .ra-chip{
  flex:0 1 auto !important;
  max-width:100% !important;
  white-space:nowrap !important;
  min-height:32px !important;
  padding:0 11px !important;
  font-size:11px !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

/* Il contenuto chat prende lo spazio disponibile, senza schiacciare i bottoni/input. */
#rabbitAssistantPanel .ra-messages{
  flex:1 1 auto !important;
  min-height:160px !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
}
#rabbitAssistantPanel .ra-compose{
  flex:0 0 auto !important;
  position:sticky !important;
  bottom:0 !important;
  z-index:4 !important;
}

/* Evita tagli laterali quando il pannello è vicino al bordo destro. */
#rabbitAssistantPanel,
#rabbitAssistantPanel *{
  box-sizing:border-box !important;
}
#rabbitAssistantPanel .ra-body,
#rabbitAssistantPanel .ra-content{
  min-width:0 !important;
  overflow:hidden !important;
}

@media(max-width:980px){
  #rabbitAssistantPanel{
    width:min(520px,calc(100vw - 22px)) !important;
    right:11px !important;
    height:min(720px,calc(100vh - 82px)) !important;
    max-height:calc(100vh - 82px) !important;
  }
  #rabbitAssistantPanel .ra-human-actions,
  #rabbitAssistantPanel .ra-quick{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding-bottom:10px !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:thin !important;
  }
  #rabbitAssistantPanel .ra-human-actions button,
  #rabbitAssistantPanel .ra-quick .ra-chip,
  #rabbitAssistantPanel .ra-chip{
    flex:0 0 auto !important;
  }
}

@media(max-width:640px){
  #rabbitAssistantPanel{
    left:10px !important;
    right:10px !important;
    width:auto !important;
    height:min(78vh,calc(100vh - 86px)) !important;
    max-height:calc(100vh - 86px) !important;
  }
  #rabbitAssistantPanel .ra-human-context{
    padding:10px !important;
  }
  #rabbitAssistantPanel .ra-human-card{
    grid-template-columns:1fr !important;
  }
  #rabbitAssistantPanel .ra-human-face{
    display:none !important;
  }
}

/* =========================================================
   Rabbit v31 — Human Assistant "Oppure" Menu
   Riduce i bottoni visibili e raccoglie le funzioni secondarie
   in un mini-menù floating ordinato.
   ========================================================= */
#rabbitAssistantPanel .ra-human-context{
  position:relative !important;
  z-index:7 !important;
}

/* Nasconde la vecchia barra quick troppo affollata: le stesse funzioni
   sono ora nel menù “Oppure”. */
#rabbitAssistantPanel .ra-quick{
  display:none !important;
}

#rabbitAssistantPanel .ra-human-actions{
  position:relative !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  overflow:visible !important;
}

#rabbitAssistantPanel .ra-human-more-toggle{
  background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(18,185,166,.10)) !important;
  border-color:rgba(37,99,235,.22) !important;
  color:var(--rah-v29-ink) !important;
}
#rabbitAssistantPanel .ra-human-more-toggle[aria-expanded="true"]{
  color:#fff !important;
  background:linear-gradient(135deg,var(--rah-v29-blue),var(--rah-v29-teal)) !important;
  border-color:transparent !important;
}

#rabbitAssistantPanel .ra-human-more-menu{
  position:absolute !important;
  right:14px !important;
  top:calc(100% - 2px) !important;
  width:min(355px,calc(100% - 28px)) !important;
  max-height:min(390px,calc(100vh - 290px)) !important;
  overflow:auto !important;
  z-index:30 !important;
  padding:14px !important;
  border-radius:24px !important;
  border:1px solid var(--rah-v29-line) !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 26px 72px rgba(15,35,60,.20),0 8px 18px rgba(15,35,60,.08) !important;
  transform-origin:top right !important;
  animation:rahMoreIn .16s ease-out both !important;
}
body[data-rabbit-theme="dark"] #rabbitAssistantPanel .ra-human-more-menu,
body.rabbit-theme-dark #rabbitAssistantPanel .ra-human-more-menu,
html[data-rabbit-theme="dark"] #rabbitAssistantPanel .ra-human-more-menu{
  background:rgba(14,27,45,.98) !important;
  box-shadow:0 26px 72px rgba(0,0,0,.34),0 8px 18px rgba(0,0,0,.20) !important;
}

#rabbitAssistantPanel .ra-human-more-head{
  display:grid !important;
  gap:4px !important;
  margin-bottom:12px !important;
}
#rabbitAssistantPanel .ra-human-more-head b{
  color:var(--rah-v29-ink) !important;
  font-size:15px !important;
  letter-spacing:-.03em !important;
}
#rabbitAssistantPanel .ra-human-more-head span{
  color:var(--rah-v29-muted) !important;
  font-size:12px !important;
  font-weight:750 !important;
}

#rabbitAssistantPanel .ra-human-more-group{
  display:grid !important;
  gap:8px !important;
  padding-top:10px !important;
  margin-top:10px !important;
  border-top:1px solid var(--rah-v29-line) !important;
}
#rabbitAssistantPanel .ra-human-more-group:first-of-type{
  border-top:0 !important;
  margin-top:0 !important;
  padding-top:0 !important;
}
#rabbitAssistantPanel .ra-human-more-group small{
  color:var(--rah-v29-muted) !important;
  font-size:10px !important;
  line-height:1 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  font-weight:1000 !important;
}
#rabbitAssistantPanel .ra-human-more-group > div{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}
#rabbitAssistantPanel .ra-human-more-menu button{
  min-width:0 !important;
  min-height:42px !important;
  width:100% !important;
  justify-content:flex-start !important;
  border:1px solid var(--rah-v29-line) !important;
  background:var(--rah-v29-soft) !important;
  color:var(--rah-v29-ink) !important;
  border-radius:16px !important;
  padding:0 11px !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  font-size:12px !important;
  font-weight:950 !important;
  cursor:pointer !important;
  transition:transform .14s ease,border-color .14s ease,background .14s ease !important;
}
#rabbitAssistantPanel .ra-human-more-menu button:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(37,99,235,.34) !important;
  background:var(--rah-v29-panel) !important;
}
#rabbitAssistantPanel .ra-human-more-menu button i{
  width:24px !important;
  height:24px !important;
  border-radius:10px !important;
  display:grid !important;
  place-items:center !important;
  flex:0 0 auto !important;
  background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(18,185,166,.12)) !important;
  color:var(--rah-v29-blue) !important;
  font-style:normal !important;
  font-size:12px !important;
}
#rabbitAssistantPanel .ra-human-more-menu button span{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

#rabbitAssistantPanel .ra-messages{
  position:relative !important;
  z-index:1 !important;
}

@keyframes rahMoreIn{
  from{opacity:0;transform:translateY(-6px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@media(max-width:980px){
  #rabbitAssistantPanel .ra-human-actions{
    flex-wrap:wrap !important;
    overflow:visible !important;
    padding-bottom:0 !important;
  }
  #rabbitAssistantPanel .ra-human-more-menu{
    left:10px !important;
    right:10px !important;
    width:auto !important;
    max-height:min(360px,calc(100vh - 260px)) !important;
  }
}
@media(max-width:520px){
  #rabbitAssistantPanel .ra-human-more-group > div{
    grid-template-columns:1fr !important;
  }
  #rabbitAssistantPanel .ra-human-more-menu{
    padding:12px !important;
    border-radius:22px !important;
  }
}


/* =========================================================
   Rabbit v32 — AIris Branding
   Rinomina la chatbot in AIris: "AI" in evidenza, niente label Assistant.
   ========================================================= */
.airis-brand{font-weight:850 !important;letter-spacing:-.02em !important;display:inline !important;}
.airis-brand strong{font-weight:1000 !important;color:inherit !important;}
#rabbitHubMain .rah-main-text b,
#rabbitAssistantPanel .ra-title b{font-size:13px !important;color:inherit !important;}
#rabbitAssistantPanel .ra-title b{font-size:18px !important;color:#fff !important;font-weight:950 !important;letter-spacing:-.04em !important;}
#rabbitHubMain .rah-main-text b::before,
#rabbitAssistantPanel .ra-title b::before,
#rabbitHubMain .rah-main-text small::before,
#rabbitAssistantPanel .ra-title small::before{content:none !important;display:none !important;}
#rabbitHubMain .rah-main-text small{font-size:10px !important;color:inherit !important;}
#rabbitAssistantPanel .ra-title small{font-size:11px !important;color:#dbeafe !important;font-weight:800 !important;}
#rabbitAssistantPanel .ra-title .airis-brand strong,
#rabbitHubMain .rah-main-text .airis-brand strong{font-weight:1000 !important;}
.rah-choice.assistant b{font-size:inherit !important;}


/* =========================================================
   Rabbit v33 — AIris Hub Menu Alignment Fix
   Allinea icona, titolo e sottotitolo del mini-hub floating,
   evitando sbordamenti e spaziature incoerenti.
   ========================================================= */
#rabbitUnifiedHub .rah-choice,
.rah-choice{
  grid-template-columns:46px minmax(0,1fr) !important;
  grid-template-areas:
    "icon title"
    "icon subtitle" !important;
  align-items:center !important;
  column-gap:12px !important;
  row-gap:3px !important;
}
#rabbitUnifiedHub .rah-choice > span,
.rah-choice > span{
  grid-area:icon !important;
  align-self:center !important;
  justify-self:center !important;
}
#rabbitUnifiedHub .rah-choice > b,
.rah-choice > b{
  grid-area:title !important;
  min-width:0 !important;
  margin:0 !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#rabbitUnifiedHub .rah-choice > small,
.rah-choice > small{
  grid-area:subtitle !important;
  min-width:0 !important;
  margin:0 !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
#rabbitUnifiedHub .rah-choice .airis-brand,
.rah-choice .airis-brand{
  display:inline-flex !important;
  align-items:baseline !important;
  gap:0 !important;
  white-space:nowrap !important;
}
#rabbitUnifiedHub .rah-choice .airis-brand strong,
.rah-choice .airis-brand strong{
  margin-right:0 !important;
}
#rabbitHubMain .rah-main-text,
#rabbitUnifiedHub .rah-main-text{
  min-width:0 !important;
}
#rabbitHubMain .rah-main-text b,
#rabbitHubMain .rah-main-text small{
  display:block !important;
  min-width:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}


/* =========================================================
   Rabbit v34 — AIris Cloud Full-Width Menu
   Usa tutta la larghezza utile delle card nel mini-hub floating.
   ========================================================= */
#rabbitUnifiedHub .rah-menu{
  min-width: 236px !important;
}
#rabbitUnifiedHub .rah-choice,
.rah-choice{
  width:100% !important;
  max-width:none !important;
  padding:14px 16px !important;
  grid-template-columns:46px minmax(0,1fr) 20px !important;
  grid-template-areas:
    "icon title arrow"
    "icon subtitle arrow" !important;
  column-gap:12px !important;
  row-gap:3px !important;
  align-items:center !important;
}
#rabbitUnifiedHub .rah-choice::after,
.rah-choice::after{
  content:"→";
  grid-area:arrow;
  align-self:center;
  justify-self:end;
  font-size:18px;
  line-height:1;
  font-weight:900;
  color:#94a3b8;
  opacity:.88;
  transform:translateX(0);
  transition:transform .18s ease, color .18s ease, opacity .18s ease;
}
#rabbitUnifiedHub .rah-choice:hover::after,
.rah-choice:hover::after{
  transform:translateX(3px);
  color:#3b82f6;
  opacity:1;
}
#rabbitUnifiedHub .rah-choice > b,
.rah-choice > b,
#rabbitUnifiedHub .rah-choice > small,
.rah-choice > small{
  width:100% !important;
  text-align:left !important;
}
#rabbitUnifiedHub .rah-choice > b,
.rah-choice > b{
  padding-right:8px !important;
}
#rabbitUnifiedHub .rah-choice > small,
.rah-choice > small{
  padding-right:8px !important;
}
#rabbitUnifiedHub .rah-choice.assistant::after,
.rah-choice.assistant::after{
  color:#0f766e;
}
#rabbitUnifiedHub .rah-choice.chat::after,
.rah-choice.chat::after{
  color:#6366f1;
}
@media (max-width: 640px){
  #rabbitUnifiedHub .rah-menu{min-width:224px !important;}
  #rabbitUnifiedHub .rah-choice,
  .rah-choice{
    padding:13px 14px !important;
    grid-template-columns:42px minmax(0,1fr) 18px !important;
  }
}


/* =========================================================
   Rabbit v35 — AIris Tech/Futuristic Hub
   Rende il mini-hub AIris più tecnologico, premium e ordinato,
   senza animazioni pesanti o modifiche alla logica.
   ========================================================= */
#rabbitHubMain{
  min-width:194px !important;
  height:62px !important;
  background:
    radial-gradient(circle at 16% 14%, rgba(56,189,248,.22), transparent 28%),
    radial-gradient(circle at 88% 76%, rgba(20,184,166,.22), transparent 32%),
    linear-gradient(135deg, rgba(7,18,33,.96), rgba(15,35,60,.94) 58%, rgba(13,95,94,.92)) !important;
  color:#f8fbff !important;
  border:1px solid rgba(125,211,252,.34) !important;
  box-shadow:
    0 22px 56px rgba(8,47,73,.22),
    0 10px 24px rgba(15,23,42,.18),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
  backdrop-filter:blur(14px) !important;
}
#rabbitHubMain .rah-main-icon{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.42), transparent 34%),
    linear-gradient(135deg, rgba(37,99,235,.34), rgba(20,184,166,.28)) !important;
  color:#e0faff !important;
  border-color:rgba(125,211,252,.30) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), 0 0 0 7px rgba(56,189,248,.07) !important;
}
#rabbitHubMain .rah-main-text b,
#rabbitHubMain .rah-main-text small{
  color:#f8fbff !important;
}
#rabbitHubMain .rah-main-text small{
  color:rgba(219,234,254,.78) !important;
}
#rabbitHubMain .airis-brand strong,
#rabbitAssistantPanel .airis-brand strong,
#rabbitUnifiedHub .rah-choice .airis-brand strong{
  color:#67e8f9 !important;
  text-shadow:0 0 14px rgba(103,232,249,.20) !important;
}
#rabbitUnifiedHub .rah-menu{
  gap:10px !important;
}
#rabbitUnifiedHub .rah-choice,
.rah-choice{
  min-height:78px !important;
  border-radius:24px !important;
  background:
    linear-gradient(135deg, rgba(248,251,255,.96), rgba(241,248,255,.93)) !important;
  border:1px solid rgba(203,213,225,.88) !important;
  box-shadow:
    0 20px 50px rgba(15,23,42,.14),
    0 8px 18px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.80) !important;
  overflow:hidden !important;
  position:relative !important;
}
#rabbitUnifiedHub .rah-choice::before,
.rah-choice::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg, #38bdf8, #14b8a6) !important;
  opacity:.95;
}
#rabbitUnifiedHub .rah-choice::after,
.rah-choice::after{
  width:28px !important;
  height:28px !important;
  border-radius:12px !important;
  display:grid !important;
  place-items:center !important;
  content:"↗" !important;
  color:#0f766e !important;
  background:linear-gradient(135deg, rgba(56,189,248,.14), rgba(20,184,166,.14)) !important;
  border:1px solid rgba(20,184,166,.18) !important;
  font-size:14px !important;
}
#rabbitUnifiedHub .rah-choice:hover,
.rah-choice:hover{
  transform:translateX(-4px) translateY(-1px) !important;
  border-color:rgba(56,189,248,.52) !important;
  box-shadow:
    0 26px 64px rgba(15,23,42,.18),
    0 10px 24px rgba(8,47,73,.11),
    inset 0 1px 0 rgba(255,255,255,.90) !important;
}
#rabbitUnifiedHub .rah-choice > span,
.rah-choice > span{
  background:
    radial-gradient(circle at 32% 22%, rgba(255,255,255,.72), transparent 34%),
    linear-gradient(135deg, rgba(56,189,248,.20), rgba(20,184,166,.18)) !important;
  color:#0f766e !important;
  border:1px solid rgba(56,189,248,.26) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68) !important;
}
#rabbitUnifiedHub .rah-choice > b,
.rah-choice > b{
  color:#082f49 !important;
  letter-spacing:-.035em !important;
}
#rabbitUnifiedHub .rah-choice > small,
.rah-choice > small{
  color:#64748b !important;
  font-weight:850 !important;
}
#rabbitUnifiedHub .rah-choice.chat::before,
.rah-choice.chat::before{
  background:linear-gradient(180deg, #818cf8, #38bdf8) !important;
}
#rabbitUnifiedHub .rah-choice.chat > span,
.rah-choice.chat > span{
  background:
    radial-gradient(circle at 32% 22%, rgba(255,255,255,.72), transparent 34%),
    linear-gradient(135deg, rgba(129,140,248,.20), rgba(56,189,248,.18)) !important;
  color:#4f46e5 !important;
  border-color:rgba(129,140,248,.25) !important;
}
#rabbitUnifiedHub .rah-choice.chat::after,
.rah-choice.chat::after{
  color:#4f46e5 !important;
  background:linear-gradient(135deg, rgba(129,140,248,.12), rgba(56,189,248,.12)) !important;
  border-color:rgba(129,140,248,.18) !important;
}
body[data-rabbit-theme="dark"] #rabbitUnifiedHub .rah-choice,
body.rabbit-theme-dark #rabbitUnifiedHub .rah-choice,
html[data-rabbit-theme="dark"] #rabbitUnifiedHub .rah-choice{
  background:
    radial-gradient(circle at 20% 10%, rgba(56,189,248,.14), transparent 32%),
    linear-gradient(135deg, rgba(15,29,49,.96), rgba(7,18,33,.96)) !important;
  border-color:rgba(125,211,252,.22) !important;
  box-shadow:0 24px 62px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
body[data-rabbit-theme="dark"] #rabbitUnifiedHub .rah-choice > b,
body.rabbit-theme-dark #rabbitUnifiedHub .rah-choice > b,
html[data-rabbit-theme="dark"] #rabbitUnifiedHub .rah-choice > b{
  color:#f8fbff !important;
}
body[data-rabbit-theme="dark"] #rabbitUnifiedHub .rah-choice > small,
body.rabbit-theme-dark #rabbitUnifiedHub .rah-choice > small,
html[data-rabbit-theme="dark"] #rabbitUnifiedHub .rah-choice > small{
  color:#9caec4 !important;
}


/* =========================================================
   Rabbit v36 — Dual Floating Buttons for AIris + Chat
   Sostituisce la vecchia nuvola combinata con due FAB separati,
   icon-only, puliti e più invitanti.
   ========================================================= */
#rabbitUnifiedHub{
  position:fixed !important;
  right:20px !important;
  bottom:calc(22px + env(safe-area-inset-bottom,0px)) !important;
  left:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:12px !important;
  width:auto !important;
  z-index:11010 !important;
}
#rabbitUnifiedHub .rah-menu,
#rabbitUnifiedHubMenu,
#rabbitUnifiedHub .rah-choice{
  display:none !important;
}
#rabbitHubMain,
#rabbitHubChat,
#rabbitUnifiedHub .rah-fab{
  position:relative !important;
  width:58px !important;
  min-width:58px !important;
  height:58px !important;
  min-height:58px !important;
  padding:0 !important;
  border-radius:20px !important;
  display:grid !important;
  place-items:center !important;
  overflow:visible !important;
  isolation:isolate !important;
  border:1px solid rgba(203,213,225,.85) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  box-shadow:0 20px 48px rgba(15,23,42,.18), 0 8px 20px rgba(15,23,42,.08) !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease !important;
}
#rabbitHubMain:hover,
#rabbitHubChat:hover,
#rabbitUnifiedHub .rah-fab:hover{
  transform:translateY(-2px) scale(1.03) !important;
}
#rabbitHubMain:focus-visible,
#rabbitHubChat:focus-visible,
#rabbitUnifiedHub .rah-fab:focus-visible{
  outline:none !important;
  box-shadow:0 0 0 4px rgba(56,189,248,.18), 0 20px 48px rgba(15,23,42,.18), 0 8px 20px rgba(15,23,42,.08) !important;
}
#rabbitHubMain::after,
#rabbitHubChat::after,
#rabbitUnifiedHub .rah-fab::after{
  content:attr(data-label);
  position:absolute;
  right:calc(100% + 10px);
  top:50%;
  transform:translate(8px,-50%);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  padding:8px 12px;
  border-radius:12px;
  font-size:12px;
  font-weight:900;
  letter-spacing:-.01em;
  color:#0f172a;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(203,213,225,.82);
  box-shadow:0 14px 34px rgba(15,23,42,.14);
  transition:opacity .16s ease, transform .16s ease;
}
#rabbitHubMain:hover::after,
#rabbitHubMain:focus-visible::after,
#rabbitHubChat:hover::after,
#rabbitHubChat:focus-visible::after,
#rabbitUnifiedHub .rah-fab:hover::after,
#rabbitUnifiedHub .rah-fab:focus-visible::after{
  opacity:1;
  transform:translate(0,-50%);
}
#rabbitHubMain{
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.34), transparent 32%),
    radial-gradient(circle at 76% 80%, rgba(45,212,191,.18), transparent 34%),
    linear-gradient(135deg, rgba(8,47,73,.98), rgba(14,116,144,.96) 54%, rgba(13,148,136,.92)) !important;
  color:#effcff !important;
  border-color:rgba(103,232,249,.38) !important;
  box-shadow:0 22px 54px rgba(8,47,73,.24), 0 8px 22px rgba(15,23,42,.12), 0 0 0 1px rgba(255,255,255,.05) inset !important;
}
#rabbitHubMain::before{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:24px;
  background:radial-gradient(circle, rgba(56,189,248,.24), transparent 70%);
  z-index:-1;
  filter:blur(8px);
}
#rabbitHubChat{
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,250,255,.94)) !important;
  color:#6d4df2 !important;
  border-color:rgba(196,181,253,.78) !important;
  box-shadow:0 18px 42px rgba(15,23,42,.14), 0 8px 18px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.88) !important;
}
#rabbitHubMain .rah-main-icon,
#rabbitHubChat .rah-main-icon,
#rabbitUnifiedHub .rah-fab .rah-main-icon{
  width:26px !important;
  height:26px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}
#rabbitHubMain .rah-main-icon svg,
#rabbitHubChat .rah-main-icon svg,
#rabbitUnifiedHub .rah-fab .rah-main-icon svg{
  width:24px !important;
  height:24px !important;
  display:block !important;
}
#rabbitHubMain .rah-main-text,
#rabbitHubMain i{
  display:none !important;
}
body[data-rabbit-theme="dark"] #rabbitHubMain::after,
body[data-rabbit-theme="dark"] #rabbitHubChat::after,
body.rabbit-theme-dark #rabbitHubMain::after,
body.rabbit-theme-dark #rabbitHubChat::after,
html[data-rabbit-theme="dark"] #rabbitHubMain::after,
html[data-rabbit-theme="dark"] #rabbitHubChat::after{
  color:#eff6ff;
  background:rgba(15,23,42,.92);
  border-color:rgba(71,85,105,.95);
}
body[data-rabbit-theme="dark"] #rabbitHubChat,
body.rabbit-theme-dark #rabbitHubChat,
html[data-rabbit-theme="dark"] #rabbitHubChat{
  background:linear-gradient(180deg, rgba(22,29,46,.96), rgba(15,23,42,.94)) !important;
  color:#c4b5fd !important;
  border-color:rgba(99,102,241,.34) !important;
}
@media (max-width: 640px){
  #rabbitUnifiedHub{
    right:14px !important;
    bottom:calc(14px + env(safe-area-inset-bottom,0px)) !important;
    gap:10px !important;
  }
  #rabbitHubMain,
  #rabbitHubChat,
  #rabbitUnifiedHub .rah-fab{
    width:54px !important;
    min-width:54px !important;
    height:54px !important;
    min-height:54px !important;
    border-radius:18px !important;
  }
  #rabbitHubMain::after,
  #rabbitHubChat::after,
  #rabbitUnifiedHub .rah-fab::after{
    display:none !important;
  }
}

/* =========================================================
   Rabbit v37 — Floating Safe Rail Fix
   Risolve sovrapposizioni tra AIris, Chat, input, invio e notifiche.
   ========================================================= */
:root{
  --rabbit-fab-edge: 20px;
  --rabbit-fab-size: 58px;
  --rabbit-fab-gap: 12px;
  --rabbit-fab-rail: 92px;
  --rabbit-fab-safe-bottom: 112px;
}

/* I due floating button restano in una rail dedicata, sopra la zona notifiche. */
#rabbitUnifiedHub{
  right:var(--rabbit-fab-edge) !important;
  bottom:calc(var(--rabbit-fab-safe-bottom) + env(safe-area-inset-bottom,0px)) !important;
  gap:var(--rabbit-fab-gap) !important;
  z-index:2147483908 !important;
  pointer-events:auto !important;
}
#rabbitHubMain,
#rabbitHubChat,
#rabbitUnifiedHub .rah-fab{
  width:var(--rabbit-fab-size) !important;
  min-width:var(--rabbit-fab-size) !important;
  height:var(--rabbit-fab-size) !important;
  min-height:var(--rabbit-fab-size) !important;
  flex:0 0 auto !important;
}

/* Il pannello AIris lascia libera la rail a destra: il tasto Invia non viene più coperto. */
#rabbitAssistantPanel{
  right:calc(var(--rabbit-fab-edge) + var(--rabbit-fab-rail)) !important;
  left:auto !important;
  bottom:calc(22px + env(safe-area-inset-bottom,0px)) !important;
  width:min(510px,calc(100vw - 140px)) !important;
  max-width:calc(100vw - 140px) !important;
  z-index:2147483906 !important;
}

/* Anche la chat aziendale lascia la stessa rail libera: AIris e Chat restano visibili. */
#rc22Panel.rc22-panel,
.rc22-panel{
  right:calc(var(--rabbit-fab-edge) + var(--rabbit-fab-rail)) !important;
  width:min(920px,calc(100vw - 140px)) !important;
  max-width:calc(100vw - 140px) !important;
  z-index:2147483001 !important;
}
#rc22Panel.rc22-panel.open{
  display:grid !important;
}

/* Toast / notifiche applicative: spostate fuori dalla rail dei floating button. */
.toast,
.toast.show{
  right:calc(var(--rabbit-fab-edge) + var(--rabbit-fab-rail)) !important;
  bottom:calc(22px + env(safe-area-inset-bottom,0px)) !important;
  max-width:min(440px,calc(100vw - 150px)) !important;
  z-index:2147482500 !important;
}
.nexa-official-toast,
.nexa-push-toast,
.rabbit-toast,
.rabbit-system-toast,
.mail-toast,
.maildesk-toast{
  right:calc(var(--rabbit-fab-edge) + var(--rabbit-fab-rail)) !important;
  bottom:calc(22px + env(safe-area-inset-bottom,0px)) !important;
  max-width:min(440px,calc(100vw - 150px)) !important;
}

/* Mantiene i tooltip leggibili senza invadere la rail. */
#rabbitHubMain::after,
#rabbitHubChat::after,
#rabbitUnifiedHub .rah-fab::after{
  right:calc(100% + 12px) !important;
  z-index:2147483909 !important;
}

@media (max-width: 900px){
  :root{
    --rabbit-fab-edge: 14px;
    --rabbit-fab-size: 54px;
    --rabbit-fab-rail: 76px;
    --rabbit-fab-safe-bottom: 96px;
  }
  #rabbitAssistantPanel{
    right:calc(var(--rabbit-fab-edge) + var(--rabbit-fab-rail)) !important;
    width:calc(100vw - 112px) !important;
    max-width:calc(100vw - 112px) !important;
  }
  #rc22Panel.rc22-panel,
  .rc22-panel{
    right:calc(var(--rabbit-fab-edge) + var(--rabbit-fab-rail)) !important;
    width:calc(100vw - 112px) !important;
    max-width:calc(100vw - 112px) !important;
  }
  .toast,
  .toast.show{
    right:calc(var(--rabbit-fab-edge) + var(--rabbit-fab-rail)) !important;
    max-width:calc(100vw - 122px) !important;
  }
}

@media (max-width: 640px){
  /* Su smartphone la chat/AIris occupa lo schermo: la rail non deve rubare spazio utile. */
  #rabbitUnifiedHub{
    right:14px !important;
    bottom:calc(86px + env(safe-area-inset-bottom,0px)) !important;
  }
  #rabbitAssistantPanel{
    left:10px !important;
    right:10px !important;
    width:auto !important;
    max-width:none !important;
    bottom:calc(92px + env(safe-area-inset-bottom,0px)) !important;
  }
  #rc22Panel.rc22-panel,
  .rc22-panel{
    inset:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    border-radius:0 !important;
  }
  .toast,
  .toast.show{
    left:12px !important;
    right:12px !important;
    bottom:calc(16px + env(safe-area-inset-bottom,0px)) !important;
    max-width:none !important;
  }
}

/* =========================================================
   Rabbit v40 — Left Toasts + Lower Dual Floating Buttons
   Sposta le notifiche applicative a sinistra e libera il lato destro,
   così AIris e Chat possono tornare più in basso senza sovrapporsi.
   ========================================================= */
:root{
  --rabbit-fab-safe-bottom: 22px;
  --rabbit-left-toast-edge: 20px;
}

/* Floating AIris / Chat: più in basso perché la zona notifiche non è più a destra. */
#rabbitUnifiedHub{
  right:var(--rabbit-fab-edge,20px) !important;
  bottom:calc(var(--rabbit-fab-safe-bottom) + env(safe-area-inset-bottom,0px)) !important;
  gap:12px !important;
}

/* Toast principali spostati in basso a sinistra. */
#toast.toast,
.toast,
.toast.show,
.nexa-toast,
.nexa-toast.show,
.nexa-official-toast,
.nexa-official-toast.show,
.nexa-clean-toast,
.nexa-clean-toast.show,
.nexa-call-status-toast,
.nexa-call-status-toast.show,
.nexa-call-watchdog-toast,
.nexa-call-watchdog-toast.show,
.nexa-peer-fix-toast,
.nexa-peer-fix-toast.show,
.lk-toast,
.lk-toast.show,
.rabbit-toast,
.rabbit-toast.show,
.rabbit-system-toast,
.rabbit-system-toast.show,
.mail-toast,
.mail-toast.show,
.maildesk-toast,
.maildesk-toast.show{
  left:var(--rabbit-left-toast-edge) !important;
  right:auto !important;
  bottom:calc(22px + env(safe-area-inset-bottom,0px)) !important;
  max-width:min(440px,calc(100vw - 40px)) !important;
  z-index:2147482500 !important;
}

/* Il prompt permessi notifiche era già a sinistra: lo normalizziamo basso e coerente. */
#rabbitNotificationsPrompt{
  left:var(--rabbit-left-toast-edge) !important;
  right:auto !important;
  bottom:calc(22px + env(safe-area-inset-bottom,0px)) !important;
  width:min(390px,calc(100vw - 40px)) !important;
  z-index:2147482600 !important;
}

/* Pannelli sempre fuori dalla rail destra: nessuna copertura di input/invia. */
#rabbitAssistantPanel{
  right:calc(var(--rabbit-fab-edge,20px) + var(--rabbit-fab-rail,92px)) !important;
  bottom:calc(22px + env(safe-area-inset-bottom,0px)) !important;
}
#rc22Panel.rc22-panel,
.rc22-panel{
  right:calc(var(--rabbit-fab-edge,20px) + var(--rabbit-fab-rail,92px)) !important;
}

/* Disattiva l'effetto di rialzo basato sui toast: ora i toast sono a sinistra. */
body.rabbit-has-bottom-toast #rabbitUnifiedHub{
  bottom:calc(var(--rabbit-fab-safe-bottom) + env(safe-area-inset-bottom,0px)) !important;
}

@media (max-width:900px){
  :root{
    --rabbit-fab-safe-bottom: 18px;
    --rabbit-left-toast-edge: 14px;
  }
  #toast.toast,
  .toast,
  .toast.show,
  .nexa-toast,
  .nexa-toast.show,
  .nexa-official-toast,
  .nexa-official-toast.show,
  .nexa-clean-toast,
  .nexa-clean-toast.show,
  .nexa-call-status-toast,
  .nexa-call-status-toast.show,
  .nexa-call-watchdog-toast,
  .nexa-call-watchdog-toast.show,
  .nexa-peer-fix-toast,
  .nexa-peer-fix-toast.show,
  .lk-toast,
  .lk-toast.show,
  .rabbit-toast,
  .rabbit-toast.show,
  .rabbit-system-toast,
  .rabbit-system-toast.show,
  .mail-toast,
  .mail-toast.show,
  .maildesk-toast,
  .maildesk-toast.show,
  #rabbitNotificationsPrompt{
    left:14px !important;
    right:auto !important;
    bottom:calc(18px + env(safe-area-inset-bottom,0px)) !important;
    max-width:calc(100vw - 28px) !important;
  }
}

@media (max-width:640px){
  /* Su smartphone resta più sicuro non comprimere troppo i pannelli. */
  #rabbitUnifiedHub{
    right:14px !important;
    bottom:calc(76px + env(safe-area-inset-bottom,0px)) !important;
  }
  #rabbitAssistantPanel{
    left:10px !important;
    right:10px !important;
    bottom:calc(92px + env(safe-area-inset-bottom,0px)) !important;
  }
  #toast.toast,
  .toast,
  .toast.show,
  #rabbitNotificationsPrompt{
    left:12px !important;
    right:12px !important;
    bottom:calc(16px + env(safe-area-inset-bottom,0px)) !important;
    width:auto !important;
    max-width:none !important;
  }
}
