/* ── Chat widget styles ── */
@keyframes cwBounce  { 0%,60%,100%{transform:translateY(0)} 30%{transform:translateY(-5px)} }
@keyframes cwSlideUp { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
@keyframes cwPulse   { 0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.4)} 50%{box-shadow:0 0 0 6px rgba(16,185,129,0)} }

#cw-box { font-family:'Plus Jakarta Sans',system-ui,sans-serif; }

.cw-msg-row { display:flex; flex-direction:column; animation:cwSlideUp .2s ease; }
.cw-msg-row.out { align-items:flex-end; }
.cw-msg-row.in  { align-items:flex-start; }

.cw-bubble {
  max-width:82%;
  padding:10px 14px;
  font-size:13.5px;
  line-height:1.65;
  word-break:break-word;
}
.cw-bubble.out        { background:#10B981; color:#fff; border-radius:16px 4px 16px 16px; }
.cw-bubble.in         { background:#fff; color:#111827; border-radius:4px 16px 16px 16px; box-shadow:0 1px 4px rgba(0,0,0,.09); }
.cw-bubble.admin-reply { background:#EFF6FF; color:#1E40AF; border-radius:4px 16px 16px 16px; box-shadow:0 1px 4px rgba(59,130,246,.15); border-left:3px solid #3B82F6; }
.cw-bubble.note       { background:#FFFBEB; color:#92400E; border-radius:8px; font-size:12px; font-style:italic; border-left:3px solid #F59E0B; }

.cw-msg-meta { font-size:10.5px; color:#9CA3AF; margin-top:3px; display:flex; align-items:center; gap:5px; }
.cw-msg-meta.out { justify-content:flex-end; }
.cw-sender-tag { font-size:10px; font-weight:700; margin-bottom:3px; color:#6B7280; padding:0 2px; }
.cw-sender-tag.admin { color:#3B82F6; }

/* Handoff divider */
.cw-handoff { display:flex; align-items:center; gap:10px; padding:8px 0; margin:6px 0; }
.cw-handoff-line { flex:1; height:1px; background:#E5E7EB; }
.cw-handoff-label { font-size:11px; font-weight:700; color:#6B7280; background:#F3F4F6; padding:4px 10px; border-radius:99px; white-space:nowrap; }

/* Quick chips */
.cw-chips { display:flex; flex-wrap:wrap; gap:7px; padding:2px 0 8px; }
.cw-chip {
  padding:8px 16px; border:1.5px solid #10B981; border-radius:20px;
  background:#fff; color:#10B981; font-size:13px; font-weight:600;
  cursor:pointer; transition:all .15s; font-family:inherit;
  white-space:nowrap;
}
.cw-chip:hover { background:#10B981; color:#fff; }
.cw-chip.disabled { opacity:.4; pointer-events:none; }

/* Handoff notice */
.cw-handoff-notice {
  margin:8px 14px 4px;
  padding:10px 13px;
  background:linear-gradient(135deg,#EFF6FF,#DBEAFE);
  border-radius:10px;
  border:1px solid #BFDBFE;
  font-size:12px;
  color:#1E40AF;
  display:flex;
  align-items:center;
  gap:8px;
}
.cw-handoff-notice .dot {
  width:8px; height:8px; background:#3B82F6; border-radius:50%;
  animation:cwPulse 2s infinite; flex-shrink:0;
}
