
#betchat-container { position: fixed; bottom: 20px; right: 20px; width: 320px; max-height: 400px; background: #fff; border: 1px solid #ccc; box-shadow: 0 0 10px rgba(0,0,0,0.2); font-family: sans-serif; z-index: 9999; display: flex; flex-direction: column; }
.betchat-header { background: #f0f0f0; padding: 8px 10px; font-weight: bold; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.betchat-header .status-icon { width: 10px; height: 10px; background: green; border-radius: 50%; margin-left: 8px; }
.betchat-messages { flex: 1; overflow-y: auto; padding: 10px; display: block; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; }
.betchat-message { margin-bottom: 10px; }
.betchat-time { font-size: 10px; color: #999; }
.betchat-input-wrapper { padding: 10px; text-align: center; font-size: 13px; color: #666; background: #fafafa; }
#betchat-container.minimized .betchat-messages, #betchat-container.minimized .betchat-input-wrapper { display: none; }

/* Floating missed messages bubble */
#betchat-bubble {
  position: fixed;
  bottom: 85px;
  right: 35px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #e02424;
  color: #fff;
  font-weight: 600;
  font-size: 12px;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}


/* Live green blinking icon */
.live-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #22c55e; /* green */
  margin-right: 8px;
  vertical-align: middle;
  box-shadow: 0 0 0 0 rgba(34,197,94, 0.7);
  animation: livePulse 1.4s infinite;
}

@keyframes livePulse {
  0% { box-shadow: 0 0 0 0 rgba(34,197,94, 0.7); opacity: 1; }
  70% { box-shadow: 0 0 0 10px rgba(34,197,94, 0); opacity: .6; }
  100% { box-shadow: 0 0 0 0 rgba(34,197,94, 0); opacity: 1; }
}
