.chatbox { position: fixed; right: 20px; bottom: 20px; z-index: 2000; }
.chat-fab {
  width: 56px; height: 56px; border-radius: 50%;
  border: none; cursor: pointer; font-size: 20px;
  background: linear-gradient(135deg,#6a11cb,#2575fc); color:#fff;
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
}
.chat-panel {
  position: absolute; right: 0; bottom: 72px; width: 320px; max-height: 60vh;
  background: rgba(10,10,20,.96); color: #e5e7eb; border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px; box-shadow: 0 18px 40px rgba(0,0,0,.35);
  display: none; overflow: hidden; backdrop-filter: blur(6px);
}
.chatbox.open .chat-panel { display: flex; flex-direction: column; }

.chat-header { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.08); }
.chat-close { background:none; border:none; color:#fff; font-size:20px; cursor:pointer; }

.chat-log { padding: 10px; overflow:auto; gap:10px; display:flex; flex-direction:column; }
.msg { padding:8px 10px; border-radius:10px; max-width: 85%; line-height:1.4; }
.msg.user { align-self:flex-end; background:#334; }
.msg.assistant { align-self:flex-start; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); }

.chat-form { display:flex; gap:8px; padding:10px; border-top:1px solid rgba(255,255,255,.08); }
.chat-form input { flex:1; padding:10px 12px; border-radius:8px; border:1px solid #334; background:rgba(255,255,255,.03); color:#e5e7eb; }
.chat-send { border:none; padding:10px 12px; border-radius:8px; background:#00b4ff; color:#001018; font-weight:700; cursor:pointer; }
