/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/ChatWidget.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************/
/* ===== Widget Container ===== */
.ChatWidget_widgetContainer__DWPyI {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

/* ===== Launcher Container & Tooltip ===== */
.ChatWidget_launcherContainer__xUAE6 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.ChatWidget_tooltip__isgC7 {
  position: absolute;
  bottom: 80px; /* 64px (launcher height) + 16px (gap) */
  right: 0;
  background: #2b2b2b;
  color: #fff;
  padding: 9px 15px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 500;
  font-family: system-ui, -apple-system, sans-serif;
  white-space: nowrap;
  box-shadow: 0 10px 25px -5px rgba(0,0,0,0.3), 0 8px 10px -6px rgba(0,0,0,0.3);
  z-index: 100000;
  pointer-events: none;
  opacity: 0;
  transform-origin: bottom right;
  animation: 
    ChatWidget_fadeInTooltip__X_aP9 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.8s forwards,
    ChatWidget_floatTooltip__KQIN6 3s ease-in-out infinite alternate 1.2s;
}

.ChatWidget_tooltip__isgC7::after {
  content: "";
  position: absolute;
  bottom: -6px;
  right: 26px; /* Centered relative to the 64px wide launcher */
  border-width: 6px 6px 0;
  border-style: solid;
  border-color: #2b2b2b transparent;
  display: block;
  width: 0;
}

@keyframes ChatWidget_fadeInTooltip__X_aP9 {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.9);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes ChatWidget_floatTooltip__KQIN6 {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-4px);
  }
}

/* ===== Launcher Button ===== */
.ChatWidget_launcher__OtUkq {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--primary, #E8A317);
  color: #fff;
  border: none;
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.ChatWidget_launcher__OtUkq:hover {
  transform: scale(1.08);
}
.ChatWidget_launcher__OtUkq:active {
  transform: scale(0.95);
}

/* ===== App shell: floating popup ===== */
.ChatWidget_app__kNBIw {
  width: 340px;
  height: 540px;
  max-height: calc(100vh - 100px);
  max-width: calc(100vw - 32px);
  background: var(--bg);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  box-shadow: 0 8px 30px rgba(0,0,0,0.18);
  border-radius: 16px;
  margin-bottom: 16px;
  animation: ChatWidget_slideUp__f0Wtt 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@media (max-width: 768px) {
  .ChatWidget_widgetContainer__DWPyI {
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
  .ChatWidget_app__kNBIw {
    width: 100%;
    height: 100%;
    max-height: 100vh;
    max-width: 100vw;
    margin-bottom: 0;
    border-radius: 0;
    pointer-events: auto;
  }
  .ChatWidget_launcherContainer__xUAE6 {
    pointer-events: auto;
    position: absolute;
    bottom: 16px;
    right: 16px;
  }
}

@keyframes ChatWidget_slideUp__f0Wtt {
  from { opacity: 0; transform: translateY(20px) scale(0.95); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ===== Header ===== */
.ChatWidget_header__xcBN7 {
  position: relative;
  color: var(--on-primary);
  padding: 14px 16px 26px;
  background: var(--primary);
  overflow: hidden;
  flex-shrink: 0;
}
.ChatWidget_header__xcBN7::before {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, transparent 36%, rgba(0,0,0,.08) 37%, rgba(0,0,0,.08) 40%, transparent 41%);
  background-size: 32px 32px;
  opacity: .8;
  pointer-events: none;
}
.ChatWidget_header__xcBN7 > * { position: relative; z-index: 1; }

.ChatWidget_headerTop__FNaNm { display: flex; align-items: center; justify-content: space-between; gap: 10px; }

.ChatWidget_iconBtn__3tnr5 {
  width: 40px; height: 40px; border: none; cursor: pointer;
  border-radius: 12px; background: transparent;
  color: rgba(255,255,255,.9); display: grid; place-items: center;
  transition: background .18s, transform .12s;
}
.ChatWidget_iconBtn__3tnr5:hover { background: rgba(0,0,0,.08); }
.ChatWidget_iconBtn__3tnr5:active { transform: scale(.92); }

.ChatWidget_tabPill__tOGgg {
  display: inline-flex; align-items: center; gap: 9px;
  background: rgba(0,0,0,.15);
  border: 1px solid rgba(0,0,0,.08);
  padding: 10px 20px; border-radius: 999px;
  font-weight: 700; font-size: 15px; color: #fff;
}

.ChatWidget_sessionChip__Tuf_2 {
  position: absolute; top: 14px; left: 50%; transform: translateX(-50%);
  font-size: 11px; padding: 5px 12px; z-index: 2;
}

.ChatWidget_brand__SUuc5 { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 18px; }
.ChatWidget_logo__l_FQt {
  width: 54px; height: 54px; border-radius: 50%;
  background: #fff; display: grid; place-items: center;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
  color: var(--primary-deep); overflow: hidden;
  border: 2px solid #fff;
}
.ChatWidget_logo__l_FQt svg { width: 34px; height: 34px; }
.ChatWidget_doubleLogo___UqEQ {
  display: flex;
  align-items: center;
}
.ChatWidget_doubleLogo___UqEQ .ChatWidget_logo__l_FQt:nth-child(2) {
  margin-left: -12px;
}

.ChatWidget_status__5Uz22 { text-align: center; margin-top: 14px; }
.ChatWidget_status__5Uz22 h1 { font-size: 17px; font-weight: 700; letter-spacing: .2px; margin-bottom: 2px; }
.ChatWidget_reply__E2oXu { margin-top: 4px; font-size: 13px; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; opacity: .9; }
.ChatWidget_dot__N5ewq { width: 12px; height: 12px; display: inline-block; background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>') no-repeat center; background-size: contain; box-shadow: none; animation: none; }

/* ===== Messages ===== */
.ChatWidget_body__9Suo4 {
  flex: 1 1; overflow-y: auto; padding: 18px 14px 8px;
  display: flex; flex-direction: column; gap: 14px;
  scroll-behavior: smooth;
  background: #f8f9fa;
}
.ChatWidget_body__9Suo4::-webkit-scrollbar { width: 7px; }
.ChatWidget_body__9Suo4::-webkit-scrollbar-thumb { background: #e2e4ea; border-radius: 99px; }

.ChatWidget_row__XvLFH { display: flex; gap: 9px; align-items: flex-end; max-width: 86%; animation: ChatWidget_pop__HzslC .26s ease both; }
.ChatWidget_agent__2uhLs { align-self: flex-start; }
.ChatWidget_user__1IBJr { align-self: flex-end; flex-direction: row-reverse; }
@keyframes ChatWidget_pop__HzslC { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }

.ChatWidget_avatar__w4lCJ { width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0; background: #fff; display: grid; place-items: center; color: var(--primary); box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.ChatWidget_avatar__w4lCJ svg { width: 16px; height: 16px; }

.ChatWidget_msgCol__stkBp { display: flex; flex-direction: column; gap: 4px; max-width: 100%; }
.ChatWidget_agentName__aZZE9 { font-size: 11px; font-weight: 600; color: #7a8291; margin-left: 4px; }

.ChatWidget_bubble__YAWyp { padding: 12px 16px; border-radius: 14px; font-size: 14.5px; line-height: 1.5; word-break: break-word; position: relative; white-space: pre-wrap; }
.ChatWidget_agent__2uhLs .ChatWidget_bubble__YAWyp { background: #eef1f6; color: #2c3340; border-bottom-left-radius: 4px; }
.ChatWidget_user__1IBJr .ChatWidget_bubble__YAWyp {
  background: var(--primary);
  color: #fff; border-bottom-right-radius: 4px;
}
.ChatWidget_time__cpWV1 { font-size: 10.5px; color: var(--muted); margin-top: 5px; text-align: right; }
.ChatWidget_agent__2uhLs .ChatWidget_time__cpWV1 { text-align: left; }

.ChatWidget_photo__CyAHO { display: block; max-width: 220px; width: 100%; border-radius: 12px; margin: -2px 0; }

/* ===== Audio player ===== */
.ChatWidget_audio__AGVau { display: flex; align-items: center; gap: 11px; min-width: 200px; }
.ChatWidget_playBtn__kKPUM {
  width: 38px; height: 38px; border-radius: 50%; border: none; cursor: pointer;
  background: rgba(0,0,0,.12); color: inherit; display: grid; place-items: center; flex-shrink: 0;
  transition: transform .12s;
}
.ChatWidget_user__1IBJr .ChatWidget_playBtn__kKPUM { background: rgba(255,255,255,.4); }
.ChatWidget_playBtn__kKPUM:active { transform: scale(.9); }
.ChatWidget_wave__GRvNS { display: flex; align-items: center; gap: 2.5px; height: 30px; flex: 1 1; cursor: pointer; }
.ChatWidget_wave__GRvNS span { flex: 1 1; min-width: 2px; border-radius: 2px; background: currentColor; opacity: .28; transition: opacity .15s; }
.ChatWidget_wave__GRvNS span.ChatWidget_on__gweFa { opacity: .95; }
.ChatWidget_dur___I_iT { font-size: 11.5px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; opacity: .8; flex-shrink: 0; }

/* ===== Typing ===== */
.ChatWidget_typing__yBQj5 .ChatWidget_bubble__YAWyp { padding: 14px 16px; }
.ChatWidget_typingDots__ytAMx { display: flex; gap: 5px; }
.ChatWidget_typingDots__ytAMx i { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); animation: ChatWidget_blink__rNUSo 1.3s infinite both; }
.ChatWidget_typingDots__ytAMx i:nth-child(2) { animation-delay: .2s; }
.ChatWidget_typingDots__ytAMx i:nth-child(3) { animation-delay: .4s; }
@keyframes ChatWidget_blink__rNUSo { 0%,80%,100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }

/* ===== Footer / composer ===== */
.ChatWidget_footer__n_eVM { flex-shrink: 0; padding: 10px 14px 8px; border-top: none; background: #f8f9fa; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; }

.ChatWidget_attachPreview__APd2b { display: none; gap: 10px; padding: 8px; margin-bottom: 8px; }
.ChatWidget_attachPreview__APd2b.ChatWidget_show__EiiOo { display: flex; }
.ChatWidget_attachCard__TVqf_ {
  position: relative; border-radius: 12px; overflow: hidden; border: 1px solid var(--line);
  background: #fff; padding: 6px 12px 6px 6px; display: flex; align-items: center; gap: 9px;
  font-size: 12.5px; color: var(--muted);
}
.ChatWidget_attachCard__TVqf_ img { width: 42px; height: 42px; object-fit: cover; border-radius: 8px; }
.ChatWidget_x__MUECg { width: 22px; height: 22px; border-radius: 50%; border: none; cursor: pointer; background: rgba(0,0,0,.55); color: #fff; display: grid; place-items: center; flex-shrink: 0; }

.ChatWidget_composer__vLBNK {
  border: 1px solid var(--primary); border-radius: 18px;
  padding: 8px 6px 4px 14px; display: flex; flex-direction: column; gap: 2px;
  background: #fff;
}
.ChatWidget_composer__vLBNK:focus-within { box-shadow: 0 0 0 2px rgba(232,163,23,.2); }
.ChatWidget_composer__vLBNK textarea {
  border: none; outline: none; resize: none; font: inherit; font-size: 15px;
  width: 100%; max-height: 110px; line-height: 1.5; color: var(--ink);
  background: transparent; padding: 6px 0 0;
}
.ChatWidget_composer__vLBNK textarea::placeholder { color: #8b949e; }
.ChatWidget_tools__UM0Us { display: flex; align-items: center; gap: 2px; }
.ChatWidget_tool__RRKMF { width: 34px; height: 34px; border: none; cursor: pointer; background: transparent; color: #7a8291; border-radius: 8px; display: grid; place-items: center; transition: background .15s, color .15s; }
.ChatWidget_tool__RRKMF:hover { background: #f2f3f7; color: var(--primary-deep); }
.ChatWidget_tool__RRKMF.ChatWidget_danger__BsJtK { color: #e0454a; }
.ChatWidget_send__JgnUQ {
  margin-left: auto; width: 34px; height: 34px; border-radius: 8px; border: none; cursor: pointer;
  background: transparent;
  color: #a0a6b1; display: grid; place-items: center; transition: color .12s; flex-shrink: 0;
}
.ChatWidget_send__JgnUQ:hover:not(:disabled) { color: var(--primary); }
.ChatWidget_send__JgnUQ:active:not(:disabled) { transform: scale(.9); }
.ChatWidget_send__JgnUQ:disabled { opacity: 0.5; cursor: not-allowed; }

.ChatWidget_powered__RTZjt { text-align: center; font-size: 11.5px; color: #a0a6b1; padding: 8px 0 4px; display: flex; align-items: center; justify-content: center; gap: 4px; }
.ChatWidget_powered__RTZjt b { font-weight: 700; }

/* ===== Recording bar ===== */
.ChatWidget_recBar__N9yUf { display: none; align-items: center; gap: 12px; padding: 6px 6px 6px 14px; border: 2px solid #e0454a; border-radius: var(--radius); background: #fff5f5; }
.ChatWidget_recBar__N9yUf.ChatWidget_show__EiiOo { display: flex; }
.ChatWidget_recDot__uIT2g { width: 12px; height: 12px; border-radius: 50%; background: #e0454a; animation: ChatWidget_pulseRed__ac606 1s infinite; }
@keyframes ChatWidget_pulseRed__ac606 { 50% { opacity: .35; } }
.ChatWidget_recTime__qXv1m { font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; font-weight: 600; color: #c0383d; }
.ChatWidget_grow___HFgu { flex: 1 1; font-size: 13px; color: #c0383d; }

/* ===== Emoji panel ===== */
.ChatWidget_emojiPanel__iHSUT {
  position: absolute; bottom: 92px; left: 12px; right: 12px;
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 20px 50px -18px rgba(0,0,0,.35); padding: 12px;
  display: none; z-index: 20; max-height: 230px; overflow-y: auto;
}
.ChatWidget_emojiPanel__iHSUT.ChatWidget_show__EiiOo { display: block; animation: ChatWidget_pop__HzslC .2s ease; }
.ChatWidget_emojiGrid__txfBD { display: grid; grid-template-columns: repeat(8, 1fr); grid-gap: 2px; gap: 2px; }
.ChatWidget_emojiGrid__txfBD button { border: none; background: transparent; font-size: 22px; cursor: pointer; padding: 6px 0; border-radius: 9px; transition: background .12s, transform .1s; }
.ChatWidget_emojiGrid__txfBD button:hover { background: #f2f3f7; transform: scale(1.18); }
.ChatWidget_emojiCat__Fw7bb { font-size: 11px; color: var(--muted); font-weight: 600; margin: 8px 2px 4px; }

.ChatWidget_hiddenInput__XyKEi { display: none; }

/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/EmojiPicker.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
.EmojiPicker_panel__D5RhN {
  position: absolute;
  background: #fff;
  border: 1px solid var(--line, #ececf1);
  border-radius: 16px;
  box-shadow: 0 20px 50px -18px rgba(0, 0, 0, 0.35);
  padding: 12px;
  display: none;
  z-index: 30;
  max-height: 230px;
  overflow-y: auto;
}
.EmojiPicker_panel__D5RhN.EmojiPicker_show__onC_9 {
  display: block;
  animation: EmojiPicker_pop__bp9RP 0.2s ease;
}
@keyframes EmojiPicker_pop__bp9RP {
  from { opacity: 0; transform: translateY(8px) scale(0.98); }
  to { opacity: 1; transform: none; }
}

/* placement: full-screen customer widget */
.EmojiPicker_widget__qWRW7 { bottom: 92px; left: 12px; right: 12px; }
/* placement: admin composer (floats above the input row) */
.EmojiPicker_composer__nXhsG { bottom: 64px; left: 8px; right: 8px; max-width: 380px; }

.EmojiPicker_grid__WnfTs { display: grid; grid-template-columns: repeat(8, 1fr); grid-gap: 2px; gap: 2px; }
.EmojiPicker_grid__WnfTs button {
  border: none; background: transparent; font-size: 22px; cursor: pointer;
  padding: 6px 0; border-radius: 9px; transition: background 0.12s, transform 0.1s;
}
.EmojiPicker_grid__WnfTs button:hover { background: #f2f3f7; transform: scale(1.18); }
.EmojiPicker_cat__sZCxR { font-size: 11px; color: var(--muted, #8a93a6); font-weight: 600; margin: 8px 2px 4px; }

