/* =========================================================
   Rabbit Assistant Floating V3
   Hub unico Chat/Assistente + posizione rialzata + no status dot
   ========================================================= */
:root{
  --ra-bg:#ffffff;
  --ra-ink:#0f172a;
  --ra-muted:#64748b;
  --ra-line:#e2e8f0;
  --ra-soft:#f8fafc;
  --ra-blue:#2563eb;
  --ra-teal:#0f766e;
  --ra-green:#10b981;
  --ra-purple:#7c3aed;
  --ra-orange:#f97316;
  --ra-shadow:0 28px 86px rgba(15,23,42,.22),0 12px 34px rgba(15,23,42,.12);
}

#rabbitUnifiedHub,
#rabbitAssistantPanel,
#rabbitUnifiedHub *,
#rabbitAssistantPanel *{
  box-sizing:border-box!important;
  font-family:Inter,Segoe UI,Roboto,system-ui,-apple-system,BlinkMacSystemFont,sans-serif!important;
}

/* Nasconde il vecchio bottone Chat: resta cliccabile via JS, ma non duplica la UI. */
#rc22Button.rc22-button,
button#rc22Button{
  opacity:0!important;
  pointer-events:none!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  max-width:1px!important;
  overflow:hidden!important;
  transform:scale(.01)!important;
  left:-9999px!important;
  right:auto!important;
  bottom:auto!important;
  z-index:-1!important;
}

/* HUB UNICO A SINISTRA */
#rabbitUnifiedHub{
  position:fixed!important;
  left:22px!important;
  bottom:155px!important;
  z-index:2147483906!important;
  display:grid!important;
  justify-items:start!important;
  gap:10px!important;
  pointer-events:auto!important;
}
#rabbitHubMain{
  min-width:168px!important;
  height:60px!important;
  border:0!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:0 17px 0 10px!important;
  background:linear-gradient(135deg,#101827,#2563eb 54%,#10b981)!important;
  color:#fff!important;
  box-shadow:0 24px 60px rgba(37,99,235,.28),0 12px 28px rgba(15,23,42,.20)!important;
  cursor:pointer!important;
  user-select:none!important;
  transition:transform .18s ease, box-shadow .18s ease!important;
}
#rabbitHubMain:hover{transform:translateY(-2px)!important;box-shadow:0 30px 76px rgba(37,99,235,.34),0 16px 38px rgba(15,23,42,.22)!important;}
#rabbitHubMain .rah-main-icon{
  width:42px!important;height:42px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.18)!important;
  font-size:20px!important;flex:0 0 auto!important;
}
#rabbitHubMain .rah-main-text{display:grid!important;gap:2px!important;text-align:left!important;line-height:1.05!important;}
#rabbitHubMain .rah-main-text b{color:#fff!important;font-size:13px!important;font-weight:950!important;letter-spacing:-.02em!important;}
#rabbitHubMain .rah-main-text small{color:rgba(255,255,255,.78)!important;font-size:10px!important;font-weight:800!important;}
#rabbitHubMain i{
  display:none!important;
}
.rah-menu{
  display:grid!important;
  gap:10px!important;
  opacity:0!important;
  transform:translateY(12px) scale(.96)!important;
  pointer-events:none!important;
  transition:opacity .2s ease, transform .2s cubic-bezier(.2,.8,.2,1)!important;
}
#rabbitUnifiedHub.open .rah-menu{opacity:1!important;transform:translateY(0) scale(1)!important;pointer-events:auto!important;}
.rah-choice{
  width:228px!important;
  min-height:72px!important;
  border:1px solid rgba(226,232,240,.96)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(16px)!important;
  box-shadow:0 20px 52px rgba(15,23,42,.16),0 8px 18px rgba(15,23,42,.07)!important;
  display:grid!important;
  grid-template-columns:46px 1fr!important;
  align-items:center!important;
  gap:11px!important;
  padding:12px!important;
  text-align:left!important;
  color:#0f172a!important;
  cursor:pointer!important;
  transform-origin:left bottom!important;
  transition:transform .18s ease, box-shadow .18s ease!important;
}
.rah-choice:hover{transform:translateX(4px)!important;box-shadow:0 26px 66px rgba(15,23,42,.19),0 10px 22px rgba(15,23,42,.08)!important;}
.rah-choice span{
  width:46px!important;height:46px!important;border-radius:17px!important;display:grid!important;place-items:center!important;
  font-size:20px!important;font-weight:950!important;
}
.rah-choice.assistant span{background:linear-gradient(135deg,#dbeafe,#ccfbf1)!important;color:#0f4c81!important;}
.rah-choice.chat span{background:linear-gradient(135deg,#ede9fe,#dbeafe)!important;color:#5b21b6!important;}
.rah-choice b{display:block!important;color:#0f172a!important;font-size:14px!important;font-weight:950!important;letter-spacing:-.03em!important;}
.rah-choice small{display:block!important;margin-top:3px!important;color:#64748b!important;font-size:11px!important;font-weight:750!important;}

/* PANNELLO ASSISTENTE */
#rabbitAssistantPanel{
  position:fixed!important;
  left:22px!important;
  bottom:232px!important;
  z-index:2147483907!important;
  width:min(465px,calc(100vw - 34px))!important;
  height:min(650px,calc(100vh - 258px))!important;
  min-height:480px!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:var(--ra-bg)!important;
  border:1px solid rgba(226,232,240,.96)!important;
  box-shadow:var(--ra-shadow)!important;
  display:grid!important;
  grid-template-rows:auto auto 1fr auto!important;
  opacity:0!important;
  transform:translateY(16px) scale(.96)!important;
  pointer-events:none!important;
  visibility:hidden!important;
  transition:opacity .22s ease, transform .22s cubic-bezier(.2,.8,.2,1), visibility .22s ease!important;
}
#rabbitAssistantPanel.open{opacity:1!important;transform:translateY(0) scale(1)!important;pointer-events:auto!important;visibility:visible!important;}
.ra-head{
  position:relative!important;
  padding:18px 18px 16px!important;
  color:#fff!important;
  background:radial-gradient(circle at 86% 10%,rgba(16,185,129,.24),transparent 28%),radial-gradient(circle at 15% 90%,rgba(37,99,235,.28),transparent 32%),linear-gradient(135deg,#06172b,#102b46 62%,#0d4f47)!important;
}
.ra-head::before{
  content:""!important;position:absolute!important;inset:0!important;opacity:.42!important;
  background:linear-gradient(to right,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.06) 1px,transparent 1px)!important;
  background-size:36px 36px!important;
}
.ra-head>*{position:relative!important;z-index:1!important;}
.ra-head-top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;}
.ra-title{display:flex!important;gap:12px!important;align-items:center!important;min-width:0!important;}
.ra-orb{width:42px!important;height:42px!important;border-radius:16px!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.13)!important;border:1px solid rgba(255,255,255,.18)!important;font-size:19px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;flex:0 0 auto!important;}
.ra-title b{display:block!important;font-size:17px!important;font-weight:950!important;letter-spacing:-.04em!important;color:#fff!important;}
.ra-title small{display:block!important;margin-top:3px!important;color:#cbd5e1!important;font-size:11px!important;font-weight:750!important;}
.ra-close{width:38px!important;height:38px!important;border:0!important;border-radius:14px!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.13)!important;color:#fff!important;font-size:20px!important;cursor:pointer!important;}
.ra-head-note{margin-top:14px!important;padding:12px!important;border-radius:18px!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.13)!important;color:#dbeafe!important;font-size:12px!important;line-height:1.35!important;font-weight:700!important;}
.ra-head-note b{color:#fff!important;}

.ra-quick{display:flex!important;gap:8px!important;overflow-x:auto!important;padding:12px 14px!important;background:#fbfdff!important;border-bottom:1px solid var(--ra-line)!important;scrollbar-width:none!important;}
.ra-quick::-webkit-scrollbar{display:none!important;}
.ra-chip{flex:0 0 auto!important;min-height:35px!important;border-radius:999px!important;border:1px solid #dbeafe!important;background:#fff!important;color:#1d4ed8!important;display:inline-flex!important;align-items:center!important;gap:7px!important;padding:0 11px!important;font-size:11px!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 6px 14px rgba(15,23,42,.04)!important;transition:transform .16s ease, background .16s ease!important;}
.ra-chip:hover{transform:translateY(-1px)!important;background:#eff6ff!important;}
.ra-chip.primary{background:linear-gradient(135deg,#2563eb,#10b981)!important;color:#fff!important;border-color:transparent!important;}

.ra-messages{overflow:auto!important;padding:14px!important;display:flex!important;flex-direction:column!important;gap:10px!important;background:linear-gradient(180deg,#ffffff,#f8fafc)!important;}
.ra-msg{display:flex!important;gap:9px!important;align-items:flex-end!important;}
.ra-msg.user{justify-content:flex-end!important;}
.ra-avatar{width:30px!important;height:30px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#dbeafe,#ccfbf1)!important;color:#0f4c81!important;font-size:11px!important;font-weight:950!important;flex:0 0 auto!important;}
.ra-bubble{max-width:86%!important;border-radius:19px!important;padding:11px 12px!important;background:#fff!important;border:1px solid #e6edf5!important;color:var(--ra-ink)!important;box-shadow:0 8px 20px rgba(15,23,42,.055)!important;font-size:13px!important;line-height:1.43!important;font-weight:650!important;}
.ra-msg.user .ra-bubble{background:linear-gradient(135deg,#2563eb,#0f766e)!important;color:#fff!important;border-color:transparent!important;border-bottom-right-radius:8px!important;}
.ra-bubble b{font-weight:950!important;}
.ra-bubble small{display:block!important;margin-top:7px!important;opacity:.72!important;font-size:10px!important;font-weight:800!important;}

.ra-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-top:10px!important;}
.ra-action{min-height:31px!important;border:0!important;border-radius:11px!important;padding:0 10px!important;font-size:11px!important;font-weight:900!important;background:#eef6ff!important;color:#1d4ed8!important;cursor:pointer!important;transition:transform .15s ease!important;}
.ra-action:hover{transform:translateY(-1px)!important;}
.ra-action.primary{background:#0f766e!important;color:#fff!important;}

.ra-starter{border:1px solid #e6edf5!important;background:#fff!important;border-radius:22px!important;padding:12px!important;box-shadow:0 10px 24px rgba(15,23,42,.055)!important;}
.ra-starter.compact{display:none!important;}
.ra-starter-title{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:10px!important;margin-bottom:10px!important;}
.ra-starter-title b{font-size:14px!important;letter-spacing:-.03em!important;color:#0f172a!important;}
.ra-starter-title small{color:#64748b!important;font-size:10.5px!important;font-weight:750!important;}
.ra-starter-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;}
.ra-starter-card{min-height:88px!important;border:1px solid #e2e8f0!important;border-radius:18px!important;background:#f8fafc!important;text-align:left!important;padding:11px!important;color:#0f172a!important;cursor:pointer!important;display:grid!important;align-content:start!important;gap:5px!important;transition:transform .16s ease, box-shadow .16s ease!important;}
.ra-starter-card:hover{transform:translateY(-2px)!important;box-shadow:0 14px 28px rgba(15,23,42,.08)!important;background:#fff!important;}
.ra-starter-card span{width:30px!important;height:30px!important;border-radius:11px!important;display:grid!important;place-items:center!important;font-weight:950!important;margin-bottom:2px!important;}
.ra-starter-card.blue span{background:#dbeafe!important;color:#1d4ed8!important;}
.ra-starter-card.orange span{background:#ffedd5!important;color:#c2410c!important;}
.ra-starter-card.green span{background:#dcfce7!important;color:#15803d!important;}
.ra-starter-card.purple span{background:#ede9fe!important;color:#6d28d9!important;}
.ra-starter-card b{font-size:12px!important;font-weight:950!important;}
.ra-starter-card small{font-size:10.5px!important;color:#64748b!important;line-height:1.25!important;font-weight:700!important;}

.ra-mini-stats{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin:10px 0 8px!important;}
.ra-mini-stat{display:grid!important;place-items:center!important;text-align:center!important;min-height:58px!important;border-radius:16px!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;}
.ra-mini-stat b{font-size:19px!important;color:#0f172a!important;line-height:1!important;}
.ra-mini-stat small{margin-top:4px!important;color:#64748b!important;font-size:9.5px!important;text-transform:uppercase!important;letter-spacing:.04em!important;}
.ra-mini-stat.blue{background:#eff6ff!important;border-color:#dbeafe!important;}
.ra-mini-stat.orange{background:#fff7ed!important;border-color:#fed7aa!important;}
.ra-mini-stat.green{background:#ecfdf5!important;border-color:#bbf7d0!important;}
.ra-guide-grid{display:grid!important;gap:8px!important;margin-top:10px!important;}
.ra-answer-card{display:grid!important;grid-template-columns:32px 1fr!important;gap:10px!important;padding:10px!important;border-radius:16px!important;background:#f8fafc!important;border:1px solid #e6edf5!important;}
.ra-answer-card>span{width:32px!important;height:32px!important;border-radius:12px!important;display:grid!important;place-items:center!important;font-weight:950!important;}
.ra-answer-card.blue>span{background:#dbeafe!important;color:#1d4ed8!important;}
.ra-answer-card.green>span{background:#dcfce7!important;color:#15803d!important;}
.ra-answer-card.purple>span{background:#ede9fe!important;color:#6d28d9!important;}
.ra-answer-card b{display:block!important;font-size:12px!important;color:#0f172a!important;}
.ra-answer-card small{margin:3px 0 0!important;font-size:10.5px!important;color:#64748b!important;line-height:1.28!important;}
.ra-list{display:grid!important;gap:7px!important;margin:8px 0 12px!important;}
.ra-row{padding:9px 10px!important;border-radius:14px!important;background:#f8fafc!important;border:1px solid #e6edf5!important;}
.ra-row.critical{background:#fff7ed!important;border-color:#fed7aa!important;}
.ra-row b{display:block!important;color:#0f172a!important;font-size:12px!important;}
.ra-row small{margin-top:4px!important;color:#64748b!important;font-size:10.5px!important;line-height:1.28!important;}
.ra-empty{margin:8px 0 12px!important;padding:10px!important;border-radius:14px!important;background:#f8fafc!important;border:1px dashed #cbd5e1!important;color:#64748b!important;font-size:12px!important;font-weight:750!important;}
.ra-typing{display:inline-flex!important;gap:4px!important;align-items:center!important;min-width:38px!important;}
.ra-typing i{width:7px!important;height:7px!important;border-radius:50%!important;background:#94a3b8!important;display:block!important;animation:raTyping 1s infinite ease-in-out!important;}
.ra-typing i:nth-child(2){animation-delay:.14s!important;}.ra-typing i:nth-child(3){animation-delay:.28s!important;}
@keyframes raTyping{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}

.ra-compose{display:grid!important;grid-template-columns:1fr auto!important;gap:9px!important;padding:12px!important;border-top:1px solid var(--ra-line)!important;background:#fff!important;}
.ra-compose input{min-height:45px!important;border:1px solid #dbe4ee!important;border-radius:16px!important;background:#f8fafc!important;padding:0 13px!important;color:#0f172a!important;outline:none!important;font-size:13px!important;font-weight:650!important;}
.ra-compose input:focus{border-color:#93c5fd!important;box-shadow:0 0 0 4px rgba(37,99,235,.10)!important;background:#fff!important;}
.ra-send{min-width:82px!important;min-height:45px!important;border:0!important;border-radius:16px!important;color:#fff!important;background:linear-gradient(135deg,#2563eb,#10b981)!important;font-size:12px!important;font-weight:950!important;cursor:pointer!important;}

#login.show ~ #rabbitUnifiedHub,
#login.show ~ #rabbitAssistantPanel{display:none!important;}

@media(max-width:640px){
  #rabbitUnifiedHub{left:14px!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;}
  #rabbitHubMain{min-width:62px!important;width:62px!important;height:62px!important;padding:0!important;}
  #rabbitHubMain .rah-main-text{display:none!important;}
  #rabbitHubMain .rah-main-icon{width:46px!important;height:46px!important;}
  .rah-menu{gap:8px!important;}
  .rah-choice{width:214px!important;min-height:66px!important;border-radius:22px!important;}
  #rabbitAssistantPanel{left:10px!important;right:10px!important;bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;width:auto!important;height:calc(100vh - 112px - env(safe-area-inset-bottom,0px))!important;min-height:0!important;border-radius:24px!important;}
  .ra-head{padding:15px!important;}
  .ra-head-note{display:none!important;}
  .ra-starter-grid{grid-template-columns:1fr!important;}
  .ra-mini-stats{grid-template-columns:1fr 1fr 1fr!important;}
  .ra-compose{grid-template-columns:1fr 68px!important;}
  .ra-send{min-width:68px!important;}
}
