.gcb-launcher {
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: #1f6feb;
  color: #fff;
  border-radius: 999px;
  padding: 12px 16px;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,.15);
  z-index: 99998;
  font-weight: 600;
}
.gcb-panel {
  position: fixed;
  right: 20px;
  bottom: 80px;
  width: 360px;
  max-width: calc(100vw - 32px);
  height: 520px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(0,0,0,.2);
  display: none;
  flex-direction: column;
  overflow: hidden;
  z-index: 99999;
}
.gcb-panel.open { display: flex; }
.gcb-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 14px; background:#0b69ff; color:#fff;
}
.gcb-title { font-weight: 700; }
.gcb-close {
  border: none; background: transparent; color: #fff; font-size: 22px; cursor: pointer;
}
.gcb-body { flex: 1; display:flex; flex-direction: column; padding: 12px; gap: 10px; }
.gcb-messages {
  flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 8px;
  padding-right: 4px;
}
.gcb-message { display: flex; }
.gcb-message.gcb-user { justify-content: flex-end; }
.gcb-bubble {
  max-width: 78%;
  padding: 10px 12px;
  border-radius: 14px;
  white-space: pre-wrap;
  line-height: 1.35;
  word-wrap: break-word;
}
.gcb-user .gcb-bubble { background:#e6f0ff; }
.gcb-bot .gcb-bubble { background:#f2f2f2; }
.gcb-input { display:flex; gap:8px; border-top:1px solid #eee; padding: 10px; }
.gcb-input input { flex:1; padding:10px 12px; border-radius: 10px; border:1px solid #ddd; }
.gcb-btn { background:#0b69ff; color:#fff; border:none; padding: 10px 14px; border-radius:10px; cursor:pointer; }
.gcb-consent { background: #fff8e1; border:1px solid #ffe082; padding:10px; border-radius:10px; }
