@flowengage/react-chatbot 0.1.9 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -30,7 +30,7 @@ var d = Object.defineProperty, f = (e, t) => {
30
30
  let t = typeof crypto < "u" && crypto.randomUUID ? crypto.randomUUID() : `${Date.now()}-${Math.random().toString(16).slice(2)}`;
31
31
  return window.sessionStorage.setItem(m.chatId, t), t;
32
32
  }, re = () => te ? {
33
- isOpen: window.sessionStorage.getItem(m.isOpen) === "true",
33
+ isOpen: !1,
34
34
  activeScreen: window.sessionStorage.getItem(m.activeScreen) || "ai",
35
35
  isHumanHandled: window.sessionStorage.getItem(m.isHumanHandled) === "true",
36
36
  agentName: window.sessionStorage.getItem(m.agentName),
@@ -20892,28 +20892,157 @@ var ah = class extends Am {
20892
20892
  static startSession(e) {
20893
20893
  return e.textOnly ? qm.startSession(e) : Qm.startSession(e);
20894
20894
  }
20895
- }, oh = {
20895
+ };
20896
+ //#endregion
20897
+ //#region src/utils/voiceClientTools.js
20898
+ function oh(e) {
20899
+ if (e.labels && e.labels.length) return e.labels[0].textContent?.trim() || null;
20900
+ let t = e.id;
20901
+ if (t) try {
20902
+ let e = document.querySelector(`label[for="${CSS.escape(t)}"]`);
20903
+ if (e) return e.textContent?.trim() || null;
20904
+ } catch {
20905
+ let e = document.querySelector(`label[for="${t.replace(/"/g, "\\\"")}"]`);
20906
+ if (e) return e.textContent?.trim() || null;
20907
+ }
20908
+ let n = e.parentElement;
20909
+ for (let e = 0; e < 4 && n; e += 1) {
20910
+ if (n.tagName === "LABEL") return n.textContent?.trim() || null;
20911
+ n = n.parentElement;
20912
+ }
20913
+ return null;
20914
+ }
20915
+ function sh() {
20916
+ let e = Array.from(document.querySelectorAll("form")), t = [];
20917
+ return e.forEach((e, n) => {
20918
+ Array.from(e.querySelectorAll("input, select, textarea")).filter((e) => {
20919
+ let t = (e.type || "").toLowerCase();
20920
+ return ![
20921
+ "hidden",
20922
+ "submit",
20923
+ "button",
20924
+ "image"
20925
+ ].includes(t);
20926
+ }).forEach((e, r) => {
20927
+ t.push({
20928
+ formIndex: n,
20929
+ fieldIndex: r,
20930
+ tag: e.tagName,
20931
+ type: e.type || "text",
20932
+ name: e.name || null,
20933
+ id: e.id || null,
20934
+ label: oh(e),
20935
+ placeholder: e.placeholder || null
20936
+ });
20937
+ });
20938
+ }), t;
20939
+ }
20940
+ function ch(e, t) {
20941
+ let n = String(t || "").toLowerCase().trim();
20942
+ return n ? [
20943
+ e.name,
20944
+ e.id,
20945
+ e.placeholder,
20946
+ oh(e),
20947
+ e.getAttribute("aria-label")
20948
+ ].filter(Boolean).map((e) => String(e).toLowerCase()).some((e) => e.includes(n) || n.includes(e)) : !1;
20949
+ }
20950
+ function lh(e, t) {
20951
+ let n = e.tagName, r = (e.type || "").toLowerCase();
20952
+ return n === "SELECT" ? (e.value = String(t), e.dispatchEvent(new Event("input", { bubbles: !0 })), e.dispatchEvent(new Event("change", { bubbles: !0 })), !0) : r === "checkbox" || r === "radio" ? (e.checked = [
20953
+ "1",
20954
+ "true",
20955
+ "yes",
20956
+ "on"
20957
+ ].includes(String(t).toLowerCase().trim()), e.dispatchEvent(new Event("input", { bubbles: !0 })), e.dispatchEvent(new Event("change", { bubbles: !0 })), !0) : (e.value = String(t), e.dispatchEvent(new Event("input", { bubbles: !0 })), e.dispatchEvent(new Event("change", { bubbles: !0 })), !0);
20958
+ }
20959
+ function uh(e) {
20960
+ let t = e.siteId || null, n = (e.apiBaseUrl || "").replace(/\/$/, "");
20961
+ return {
20962
+ navigate_to_page: async (e) => {
20963
+ let t = e?.url, n = e?.section_text || e?.sectionText;
20964
+ if (!t || typeof t != "string") return "Missing url";
20965
+ if (await Zt(t), await new Promise((e) => setTimeout(e, 350)), n && typeof n == "string") {
20966
+ let e = Jt(null, n);
20967
+ e && Yt(e);
20968
+ }
20969
+ return `Navigated to ${t}`;
20970
+ },
20971
+ highlight_on_page: async (e) => {
20972
+ let t = e?.section_id || e?.sectionId, n = e?.section_text || e?.sectionText, r = Jt(t || null, n || null);
20973
+ return r ? (Yt(r), "Highlighted the section.") : "Could not find that section on the page.";
20974
+ },
20975
+ search_site_content: async (e) => {
20976
+ let r = e?.query;
20977
+ if (!r || typeof r != "string") return "Missing query parameter.";
20978
+ if (!t) return "Site is not configured for search.";
20979
+ if (!n) return "API base URL is missing; cannot search.";
20980
+ try {
20981
+ let e = await (await fetch(`${n}/api/site-tools/search`, {
20982
+ method: "POST",
20983
+ headers: { "Content-Type": "application/json" },
20984
+ body: JSON.stringify({
20985
+ siteId: t,
20986
+ query: r,
20987
+ currentUrl: typeof window < "u" ? window.location.href : ""
20988
+ })
20989
+ })).json();
20990
+ return e.success ? JSON.stringify(e.results || []) : e.error || "Search failed.";
20991
+ } catch (e) {
20992
+ return `Search error: ${e.message || "network"}`;
20993
+ }
20994
+ },
20995
+ list_page_forms: async () => JSON.stringify(sh()),
20996
+ fill_form_fields: async (e) => {
20997
+ let t = e?.fields;
20998
+ if (!Array.isArray(t) || t.length === 0) return "No fields provided. Use list_page_forms first.";
20999
+ let n = Array.from(document.querySelectorAll("input, select, textarea")).filter((e) => {
21000
+ let t = (e.type || "").toLowerCase();
21001
+ return ![
21002
+ "hidden",
21003
+ "submit",
21004
+ "button",
21005
+ "image"
21006
+ ].includes(t);
21007
+ }), r = [];
21008
+ for (let e of t) {
21009
+ let t = e?.field_key ?? e?.fieldKey, i = e?.value;
21010
+ if (t == null || i == null) continue;
21011
+ let a = n.find((e) => ch(e, t));
21012
+ a && (lh(a, i), r.push(String(t)));
21013
+ }
21014
+ return r.length ? `Filled fields: ${r.join(", ")}` : "Could not match any fields. Call list_page_forms and use matching field_key values.";
21015
+ }
21016
+ };
21017
+ }
21018
+ //#endregion
21019
+ //#region src/components/VoiceInterface.jsx
21020
+ var dh = {
20896
21021
  idle: "rgba(99,102,241,0.18)",
20897
21022
  listening: "rgba(16,185,129,0.25)",
20898
21023
  speaking: "rgba(245,158,11,0.25)",
20899
21024
  error: "rgba(239,68,68,0.2)"
20900
- }, sh = {
21025
+ }, fh = {
20901
21026
  idle: "#6366f1",
20902
21027
  listening: "#10b981",
20903
21028
  speaking: "#f59e0b",
20904
21029
  error: "#ef4444"
20905
21030
  };
20906
- function ch({ agentId: e, chatId: t, onEnd: r, historyRef: a, hasSyncedRef: c, onMessageSync: d, onStartSync: f }) {
20907
- let [p, m] = s("idle"), [ee, h] = s(null), [te, ne] = s(!1), [re, ie] = s([]), ae = o(null), g = o(null);
21031
+ function ph({ agentId: e, chatId: t, siteId: r, apiBaseUrl: a, onEnd: c, historyRef: d, hasSyncedRef: f, onMessageSync: p, onStartSync: m }) {
21032
+ let [ee, h] = s("idle"), [te, ne] = s(null), [re, ie] = s(!1), [ae, g] = s([]), oe = o(null), se = o(null);
20908
21033
  i(() => {
20909
21034
  let t = !1, n = null;
20910
21035
  return (async () => {
20911
21036
  try {
20912
21037
  if (await navigator.mediaDevices.getUserMedia({ audio: !0 }), t) return;
20913
- let r = await ah.startSession({
21038
+ let i = uh({
21039
+ siteId: r || null,
21040
+ apiBaseUrl: a || null
21041
+ }), o = await ah.startSession({
20914
21042
  agentId: e,
21043
+ clientTools: i,
20915
21044
  onModeChange: ({ mode: e }) => {
20916
- t || m(e === "speaking" ? "speaking" : "listening");
21045
+ t || h(e === "speaking" ? "speaking" : "listening");
20917
21046
  },
20918
21047
  onMessage: (e) => {
20919
21048
  if (t) return;
@@ -20924,43 +21053,55 @@ function ch({ agentId: e, chatId: t, onEnd: r, historyRef: a, hasSyncedRef: c, o
20924
21053
  message: r,
20925
21054
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
20926
21055
  };
20927
- a.current = [...a.current, i], ie((e) => [...e, i]);
21056
+ d.current = [...d.current, i], g((e) => [...e, i]);
20928
21057
  },
20929
21058
  onError: (e) => {
20930
- t || (console.error("[VoiceInterface] ElevenLabs error", e), m("error"), h("Voice session encountered an error."));
21059
+ t || (console.error("[VoiceInterface] ElevenLabs error", e), h("error"), ne("Voice session encountered an error."));
20931
21060
  },
20932
21061
  onDisconnect: () => {
20933
- t || (console.log("[VoiceInterface] session disconnected"), ne(!1), m("idle"));
21062
+ t || (console.log("[VoiceInterface] session disconnected"), ie(!1), h("idle"));
20934
21063
  }
20935
21064
  });
20936
21065
  if (t) {
20937
- r.endSession().catch(() => {});
21066
+ o.endSession().catch(() => {});
20938
21067
  return;
20939
21068
  }
20940
- n = r, ae.current = r, ne(!0), m("listening"), typeof f == "function" && f();
21069
+ n = o, oe.current = o, ie(!0), h("listening");
21070
+ try {
21071
+ let e = typeof window < "u" ? window.location.href : "", t = "";
21072
+ try {
21073
+ t = await i.list_page_forms();
21074
+ } catch {
21075
+ t = "[]";
21076
+ }
21077
+ o.sendContextualUpdate(`Current page URL: ${e}. Site ID: ${r || "unknown"}. Form fields JSON: ${t}`);
21078
+ } catch {}
21079
+ typeof m == "function" && m();
20941
21080
  } catch (e) {
20942
- t || (console.error("[VoiceInterface] startSession failed", e), m("error"), h("Could not start voice session. Please try again."));
21081
+ t || (console.error("[VoiceInterface] startSession failed", e), h("error"), ne("Could not start voice session. Please try again."));
20943
21082
  }
20944
21083
  })(), () => {
20945
- t = !0, n ? n.endSession().catch(() => {}) : ae.current && ae.current.endSession().catch(() => {});
21084
+ t = !0, n ? n.endSession().catch(() => {}) : oe.current && oe.current.endSession().catch(() => {});
20946
21085
  };
20947
21086
  }, [
20948
21087
  e,
21088
+ r,
20949
21089
  a,
20950
- f
21090
+ d,
21091
+ m
20951
21092
  ]);
20952
- let oe = n(async () => {
21093
+ let _ = n(async () => {
20953
21094
  try {
20954
- await ae.current?.endSession?.();
21095
+ await oe.current?.endSession?.();
20955
21096
  } catch {}
20956
- ae.current = null, ne(!1), m("idle"), typeof d == "function" && await d(a.current), typeof r == "function" && r();
21097
+ oe.current = null, ie(!1), h("idle"), typeof p == "function" && await p(d.current), typeof c == "function" && c();
20957
21098
  }, [
20958
- a,
20959
21099
  d,
20960
- r
20961
- ]), se = p === "listening" || p === "speaking", _ = sh[p] || sh.idle, ce = oh[p] || oh.idle;
21100
+ p,
21101
+ c
21102
+ ]), ce = ee === "listening" || ee === "speaking", v = fh[ee] || fh.idle, le = dh[ee] || dh.idle;
20962
21103
  return /* @__PURE__ */ u("div", {
20963
- ref: g,
21104
+ ref: se,
20964
21105
  style: {
20965
21106
  display: "flex",
20966
21107
  flexDirection: "column",
@@ -20982,19 +21123,19 @@ function ch({ agentId: e, chatId: t, onEnd: r, historyRef: a, hasSyncedRef: c, o
20982
21123
  justifyContent: "center"
20983
21124
  },
20984
21125
  children: [
20985
- se && /* @__PURE__ */ l("div", { style: {
21126
+ ce && /* @__PURE__ */ l("div", { style: {
20986
21127
  position: "absolute",
20987
21128
  inset: "-16px",
20988
21129
  borderRadius: "50%",
20989
- border: `2px solid ${_}`,
21130
+ border: `2px solid ${v}`,
20990
21131
  animation: "fe-orb-pulse 1.4s ease-in-out infinite",
20991
21132
  opacity: .6
20992
21133
  } }),
20993
- se && /* @__PURE__ */ l("div", { style: {
21134
+ ce && /* @__PURE__ */ l("div", { style: {
20994
21135
  position: "absolute",
20995
21136
  inset: "-8px",
20996
21137
  borderRadius: "50%",
20997
- border: `2px solid ${_}`,
21138
+ border: `2px solid ${v}`,
20998
21139
  animation: "fe-orb-pulse 1.4s ease-in-out 0.35s infinite",
20999
21140
  opacity: .4
21000
21141
  } }),
@@ -21003,18 +21144,18 @@ function ch({ agentId: e, chatId: t, onEnd: r, historyRef: a, hasSyncedRef: c, o
21003
21144
  width: "140px",
21004
21145
  height: "140px",
21005
21146
  borderRadius: "50%",
21006
- background: ce,
21007
- border: `3px solid ${_}`,
21147
+ background: le,
21148
+ border: `3px solid ${v}`,
21008
21149
  display: "flex",
21009
21150
  alignItems: "center",
21010
21151
  justifyContent: "center",
21011
21152
  transition: "all 0.35s ease",
21012
- transform: p === "speaking" ? "scale(1.08)" : "scale(1)",
21013
- boxShadow: `0 0 40px ${ce}, 0 8px 32px rgba(0,0,0,0.08)`
21153
+ transform: ee === "speaking" ? "scale(1.08)" : "scale(1)",
21154
+ boxShadow: `0 0 40px ${le}, 0 8px 32px rgba(0,0,0,0.08)`
21014
21155
  },
21015
21156
  children: /* @__PURE__ */ l(sn, {
21016
21157
  size: 44,
21017
- color: _
21158
+ color: v
21018
21159
  })
21019
21160
  })
21020
21161
  ]
@@ -21023,18 +21164,18 @@ function ch({ agentId: e, chatId: t, onEnd: r, historyRef: a, hasSyncedRef: c, o
21023
21164
  style: {
21024
21165
  fontSize: "15px",
21025
21166
  fontWeight: 600,
21026
- color: p === "error" ? "#ef4444" : "#374151",
21167
+ color: ee === "error" ? "#ef4444" : "#374151",
21027
21168
  letterSpacing: "0.01em",
21028
21169
  textAlign: "center"
21029
21170
  },
21030
21171
  children: [
21031
- p === "idle" && "Starting voice session…",
21032
- p === "listening" && "Listening…",
21033
- p === "speaking" && "AI is speaking…",
21034
- p === "error" && (ee || "Error")
21172
+ ee === "idle" && "Starting voice session…",
21173
+ ee === "listening" && "Listening…",
21174
+ ee === "speaking" && "AI is speaking…",
21175
+ ee === "error" && (te || "Error")
21035
21176
  ]
21036
21177
  }),
21037
- re.length > 0 && /* @__PURE__ */ l("div", {
21178
+ ae.length > 0 && /* @__PURE__ */ l("div", {
21038
21179
  style: {
21039
21180
  width: "100%",
21040
21181
  maxHeight: "160px",
@@ -21044,10 +21185,10 @@ function ch({ agentId: e, chatId: t, onEnd: r, historyRef: a, hasSyncedRef: c, o
21044
21185
  gap: "8px",
21045
21186
  padding: "0 4px"
21046
21187
  },
21047
- children: re.map((e, t) => /* @__PURE__ */ l("div", {
21188
+ children: ae.map((e, t) => /* @__PURE__ */ l("div", {
21048
21189
  style: {
21049
21190
  display: "flex",
21050
- justifyContent: e.role === "user" ? "flex-end" : "flex-start"
21191
+ justifyContent: e.sender === "user" ? "flex-end" : "flex-start"
21051
21192
  },
21052
21193
  children: /* @__PURE__ */ l("div", {
21053
21194
  style: {
@@ -21056,15 +21197,15 @@ function ch({ agentId: e, chatId: t, onEnd: r, historyRef: a, hasSyncedRef: c, o
21056
21197
  borderRadius: "14px",
21057
21198
  fontSize: "13px",
21058
21199
  lineHeight: 1.5,
21059
- background: e.role === "user" ? "var(--flowengage-primary)" : "#f3f4f6",
21060
- color: e.role === "user" ? "#fff" : "#111827"
21200
+ background: e.sender === "user" ? "var(--flowengage-primary)" : "#f3f4f6",
21201
+ color: e.sender === "user" ? "#fff" : "#111827"
21061
21202
  },
21062
21203
  children: e.message
21063
21204
  })
21064
21205
  }, t))
21065
21206
  }),
21066
21207
  /* @__PURE__ */ u("button", {
21067
- onClick: oe,
21208
+ onClick: _,
21068
21209
  style: {
21069
21210
  display: "flex",
21070
21211
  alignItems: "center",
@@ -21093,7 +21234,7 @@ function ch({ agentId: e, chatId: t, onEnd: r, historyRef: a, hasSyncedRef: c, o
21093
21234
  }
21094
21235
  //#endregion
21095
21236
  //#region src/components/FlowEngageWidget.jsx
21096
- var lh = [
21237
+ var mh = [
21097
21238
  {
21098
21239
  key: "become_client",
21099
21240
  label: "Become a Client"
@@ -21114,7 +21255,7 @@ var lh = [
21114
21255
  key: "looking_for_job",
21115
21256
  label: "Looking for a Job"
21116
21257
  }
21117
- ], uh = () => /* @__PURE__ */ l("div", {
21258
+ ], hh = () => /* @__PURE__ */ l("div", {
21118
21259
  className: "flex mb-3 justify-start",
21119
21260
  children: /* @__PURE__ */ u("div", {
21120
21261
  className: "px-4 py-3 rounded-[18px] bg-white text-gray-900 shadow-[0_2px_6px_rgba(0,0,0,0.04)]",
@@ -21137,7 +21278,7 @@ var lh = [
21137
21278
  } }, e)), /* @__PURE__ */ l("style", { children: "\n @keyframes fe-dot-bounce {\n 0%, 80%, 100% { transform: translateY(0); opacity: 0.5; }\n 40% { transform: translateY(-5px); opacity: 1; }\n }\n " })]
21138
21279
  })
21139
21280
  });
21140
- function dh() {
21281
+ function gh() {
21141
21282
  let { status: e, runtimeConfig: t, resolvedConfig: n, chatId: r, chatHistory: a, isOpen: o, activeScreen: c, isHumanHandled: d, agentName: f, isAgentTyping: p, isAiTyping: m, isLoading: ee, isVoiceMode: h, isRateLimited: te, rateLimitMessage: ne, isConversationEnded: re, incomingCall: ie, activeCallId: ae, callConnectionState: g, callConnectedAt: oe, isCallMuted: se, webRTCError: _, language: ce, historyRef: v, onMessageSync: le, endConversation: ue, acceptCall: y, rejectCall: de, endWebRTCCall: fe, toggleCallMute: pe, dismissCallError: me, openWidget: he, closeWidget: ge, sendMessage: _e, setVoiceMode: ve, startTyping: ye, stopTyping: be, updateTypingDraft: xe } = Kt(), [Se, Ce] = s(""), [we, Te] = s(null), [Ee, De] = s(null), [Oe, ke] = s(null), [Ae, b] = s(0), je = t?.widgetSettings || {}, Me = n?.widgetSettings || {}, x = {
21142
21283
  ...je.branding || {},
21143
21284
  ...Me.branding || {}
@@ -21158,15 +21299,8 @@ function dh() {
21158
21299
  border: "none",
21159
21300
  outline: "none",
21160
21301
  fontFamily: "ui-sans-serif, system-ui, sans-serif",
21161
- ...o ? {
21162
- inset: 0,
21163
- ...window.innerWidth >= 768 ? {
21164
- inset: "auto",
21165
- right: "1.5rem",
21166
- bottom: "1.5rem"
21167
- } : {}
21168
- } : Ie
21169
- }, Re = Me.recommendations?.[ce] || je.recommendations?.[ce] || lh, ze = Me.greetings?.[ce] || je.greetings?.[ce], Be = x.chatButtonText || "Chat with us", Ve = x.headerName || t?.websiteName || "OpenSense Labs", He = x.logoUrl || null, Ue = x.hideWatermark || !1, S = Me.elevenLabsAgentId || t?.elevenLabsAgentId || null, C = x.fallbackAgentName || "Agent", w = ie?.agentName || f || C;
21302
+ ...o ? {} : Ie
21303
+ }, Re = Me.recommendations?.[ce] || je.recommendations?.[ce] || mh, ze = Me.greetings?.[ce] || je.greetings?.[ce], Be = x.chatButtonText || "Chat with us", Ve = x.headerName || t?.websiteName || "OpenSense Labs", He = x.logoUrl || null, Ue = x.hideWatermark || !1, S = Me.elevenLabsAgentId || t?.elevenLabsAgentId || null, C = t?.siteId || n?.siteId || null, w = t?.apiBaseUrl || "", We = x.fallbackAgentName || "Agent", Ge = ie?.agentName || f || We;
21170
21304
  i(() => {
21171
21305
  if (!oe || g !== "connected") {
21172
21306
  b(0);
@@ -21206,13 +21340,34 @@ function dh() {
21206
21340
  be,
21207
21341
  xe
21208
21342
  ]);
21209
- let We = (e) => e ? {
21343
+ let Ke = (e) => e ? {
21210
21344
  replyTo: e.messageId || e.id || null,
21211
21345
  replyToContent: (e.replyToContent || e.message || "").replace(/<[^>]+>/g, "").trim().slice(0, 200),
21212
21346
  replyToSender: e.sender || null
21213
- } : null;
21347
+ } : null, qe = async (e) => {
21348
+ if (e.preventDefault(), !Se.trim() || re) return;
21349
+ let t = Se.trim(), n = Ke(Oe);
21350
+ Ce(""), ke(null), await _e(t, "", n);
21351
+ }, Je = async () => {
21352
+ if (h) {
21353
+ ve(!1);
21354
+ return;
21355
+ }
21356
+ De(null);
21357
+ try {
21358
+ Te(await navigator.mediaDevices.getUserMedia({ audio: !0 })), ve(!0);
21359
+ } catch (e) {
21360
+ De(e.message || "Could not access microphone.");
21361
+ }
21362
+ }, Ye = () => {
21363
+ we && (we.getTracks().forEach((e) => e.stop()), Te(null)), ve(!1);
21364
+ }, Xe = (e) => {
21365
+ let t = Math.floor(e / 60), n = e % 60;
21366
+ return `${t.toString().padStart(2, "0")}:${n.toString().padStart(2, "0")}`;
21367
+ };
21214
21368
  return e === "ready" ? /* @__PURE__ */ u("div", {
21215
21369
  className: "flowengage-shell",
21370
+ "data-open": o ? "true" : "false",
21216
21371
  style: Le,
21217
21372
  children: [/* @__PURE__ */ l(pn, {
21218
21373
  isOpen: o,
@@ -21221,13 +21376,14 @@ function dh() {
21221
21376
  primaryColor: Pe,
21222
21377
  posInline: Ie
21223
21378
  }), o && /* @__PURE__ */ u("div", {
21224
- className: `relative w-full h-full md:w-[min(423px,calc(100vw-40px))] md:h-[min(700px,calc(100vh-120px))] flex flex-col md:rounded-[24px] overflow-hidden shadow-[0_20px_50px_rgba(0,0,0,0.15)] border-none outline-none transition-all duration-300 ${a.length === 0 && !h ? "bg-gradient-to-b from-[var(--flowengage-primary)] from-0% via-[var(--flowengage-primary)] via-70% to-white to-85%" : "bg-white"}`,
21379
+ className: "flowengage-chat-panel",
21380
+ style: { background: a.length === 0 && !h ? `linear-gradient(to bottom, ${Pe} 0%, ${Pe} 70%, white 85%)` : "white" },
21225
21381
  children: [
21226
21382
  /* @__PURE__ */ l(gn, {
21227
21383
  logoUrl: He,
21228
21384
  brandName: Ve,
21229
21385
  agentName: f,
21230
- fallbackAgentName: C,
21386
+ fallbackAgentName: We,
21231
21387
  activeScreen: c,
21232
21388
  branding: x,
21233
21389
  isConversationEnded: re,
@@ -21237,14 +21393,14 @@ function dh() {
21237
21393
  }),
21238
21394
  /* @__PURE__ */ l("div", {
21239
21395
  className: "flex-1 overflow-y-auto flex flex-col",
21240
- children: h ? /* @__PURE__ */ l(ch, {
21396
+ children: h ? /* @__PURE__ */ l(ph, {
21241
21397
  agentId: S,
21242
21398
  chatId: r,
21399
+ siteId: C,
21400
+ apiBaseUrl: w,
21243
21401
  historyRef: v,
21244
21402
  onMessageSync: le,
21245
- onEnd: () => {
21246
- we && (we.getTracks().forEach((e) => e.stop()), Te(null)), ve(!1);
21247
- }
21403
+ onEnd: Ye
21248
21404
  }) : a.length === 0 ? /* @__PURE__ */ l(yn, {
21249
21405
  greetings: ze,
21250
21406
  recommendations: Re,
@@ -21254,7 +21410,7 @@ function dh() {
21254
21410
  isAiTyping: m,
21255
21411
  isAgentTyping: p,
21256
21412
  setReplyContext: ke,
21257
- TypingDots: uh
21413
+ TypingDots: hh
21258
21414
  })
21259
21415
  }),
21260
21416
  /* @__PURE__ */ l(Cn, {
@@ -21267,41 +21423,23 @@ function dh() {
21267
21423
  acceptCall: y,
21268
21424
  activeCallId: ae,
21269
21425
  callConnectionState: g,
21270
- formatCallDuration: (e) => {
21271
- let t = Math.floor(e / 60), n = e % 60;
21272
- return `${t.toString().padStart(2, "0")}:${n.toString().padStart(2, "0")}`;
21273
- },
21426
+ formatCallDuration: Xe,
21274
21427
  callDurationSeconds: Ae,
21275
21428
  endWebRTCCall: fe,
21276
21429
  isCallMuted: se,
21277
21430
  toggleCallMute: pe,
21278
21431
  isAIVoiceActive: h,
21279
- currentCallAgentName: w,
21432
+ currentCallAgentName: Ge,
21280
21433
  isRateLimited: te,
21281
21434
  rateLimitMessage: ne
21282
21435
  }),
21283
21436
  !h && /* @__PURE__ */ l(bn, {
21284
21437
  input: Se,
21285
21438
  setInput: Ce,
21286
- onSubmit: async (e) => {
21287
- if (e.preventDefault(), !Se.trim() || re) return;
21288
- let t = Se.trim(), n = We(Oe);
21289
- Ce(""), ke(null), await _e(t, "", n);
21290
- },
21439
+ onSubmit: qe,
21291
21440
  isConversationEnded: re,
21292
21441
  callUiActive: !!(ie || ae),
21293
- handleToggleVoice: async () => {
21294
- if (h) {
21295
- ve(!1);
21296
- return;
21297
- }
21298
- De(null);
21299
- try {
21300
- Te(await navigator.mediaDevices.getUserMedia({ audio: !0 })), ve(!0);
21301
- } catch (e) {
21302
- De(e.message || "Could not access microphone.");
21303
- }
21304
- },
21442
+ handleToggleVoice: Je,
21305
21443
  activeScreen: c,
21306
21444
  inputDisabled: ee || te || re,
21307
21445
  replyContext: Oe,
@@ -21331,4 +21469,4 @@ function dh() {
21331
21469
  }) : null;
21332
21470
  }
21333
21471
  //#endregion
21334
- export { an as FlowEngageProvider, dh as FlowEngageWidget, Kt as useFlowEngage };
21472
+ export { an as FlowEngageProvider, gh as FlowEngageWidget, Kt as useFlowEngage };
@@ -1,3 +1,3 @@
1
1
  /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
2
- @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}:root,:host{--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-500:oklch(62.3% .214 259.815);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-5{margin-inline:calc(var(--spacing) * 5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-\[30px\]{margin-top:30px}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-auto{margin-bottom:auto}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-\[34px\]{height:34px}.h-full{height:100%}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-\[34px\]{width:34px}.w-auto{width:auto}.w-full{width:100%}.max-w-\[88px\]{max-width:88px}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[14px\]{border-radius:14px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-\[inherit\]{border-top-left-radius:inherit;border-top-right-radius:inherit}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--flowengage-primary\)\]{border-color:var(--flowengage-primary)}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-red-100{border-color:var(--color-red-100)}.border-white\/80{border-color:#fffc}@supports (color:color-mix(in lab, red, red)){.border-white\/80{border-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-\[var\(--flowengage-primary\)\]{background-color:var(--flowengage-primary)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[var\(--flowengage-primary\)\]{--tw-gradient-from:var(--flowengage-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-0\%{--tw-gradient-from-position:0%}.via-\[var\(--flowengage-primary\)\]{--tw-gradient-via:var(--flowengage-primary);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-70\%{--tw-gradient-via-position:70%}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-85\%{--tw-gradient-to-position:85%}.object-contain{object-fit:contain}.p-\[2px\]{padding:2px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-\[18px\]{padding-inline:18px}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-\[3px\]{padding-block:3px}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-\[inherit\]{font-family:inherit}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[34px\]{font-size:34px}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.5px\]{--tw-tracking:.5px;letter-spacing:.5px}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\(--flowengage-primary\),.text-\[var\(--flowengage-primary\)\]{color:var(--flowengage-primary)}.text-amber-500{color:var(--color-amber-500)}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-emerald-500{color:var(--color-emerald-500)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-900{color:var(--color-gray-900)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-white{color:var(--color-white)}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-95{opacity:.95}.shadow-\[0_2px_6px_rgba\(0\,0\,0\,0\.04\)\]{--tw-shadow:0 2px 6px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_4px_12px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_8px_24px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_20px_50px_rgba\(0\,0\,0\,0\.15\)\]{--tw-shadow:0 20px 50px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:shadow-\[0_6px_16px_rgba\(0\,0\,0\,0\.1\)\]:hover{--tw-shadow:0 6px 16px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.enabled\:hover\:bg-\[var\(--flowengage-primary\)\]:enabled:hover{background-color:var(--flowengage-primary)}.enabled\:hover\:text-white:enabled:hover{color:var(--color-white)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-gray-300:disabled{border-color:var(--color-gray-300)}.disabled\:text-gray-300:disabled{color:var(--color-gray-300)}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=48rem){.md\:h-\[min\(700px\,calc\(100vh-120px\)\)\]{height:min(700px,100vh - 120px)}.md\:w-\[min\(423px\,calc\(100vw-40px\)\)\]{width:min(423px,100vw - 40px)}.md\:rounded-\[24px\]{border-radius:24px}}.\[\&\>svg\]\:h-full>svg{height:100%}.\[\&\>svg\]\:w-full>svg{width:100%}.flowengage-shell,.flowengage-shell *{font-family:inherit}.flowengage-logo-fallback{background:conic-gradient(from 180deg, var(--flowengage-primary) 0%, #2b70b5 50%, #f59e0b 100%)}.fe-bot-message p{margin:0 0 .5em}.fe-bot-message p:last-child{margin-bottom:0}.fe-bot-message ul,.fe-bot-message ol{margin:.4em 0 .4em 1.2em;padding:0}.fe-bot-message li{margin-bottom:.25em}.fe-bot-message strong{font-weight:600}.fe-bot-message a{color:var(--flowengage-primary);text-decoration:underline}.fe-bot-message a:hover{opacity:.8}.incoming-call-overlay{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a2ef2;justify-content:center;align-items:center;transition:all .3s ease-in-out;display:flex;position:absolute;left:0;right:0}.incoming-call-overlay.bottom-mode{border-top:2px solid #ffffff1a;min-height:120px;animation:.4s cubic-bezier(.16,1,.3,1) slideUpBanner;top:auto;bottom:0;box-shadow:0 -10px 30px #00000080}.incoming-call-overlay.header-mode{border-bottom:2px solid #ffffff1a;min-height:80px;animation:.4s cubic-bezier(.16,1,.3,1) slideDownBanner;top:0;bottom:auto;box-shadow:0 10px 30px #00000080}.incoming-call-container{justify-content:space-between;align-items:center;gap:14px;width:100%;padding:14px 16px;display:flex}.incoming-call-container.connected-layout{flex-direction:column;justify-content:center;align-items:stretch;gap:14px}.call-connected-top{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.call-connected-identity{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.call-icon-wrapper{color:#fff;z-index:1;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;margin-right:4px;display:flex;position:relative}.call-icon-wrapper.incoming{background:linear-gradient(135deg,#4caf50,#45a049);animation:1s ease-in-out infinite bounce}.call-icon-wrapper.connecting{background:linear-gradient(135deg,#2196f3,#1976d2)}.call-icon-wrapper.connected{background:linear-gradient(135deg,#4caf50,#45a049)}.call-pulse-animation{z-index:-1;background:#4caf504d;border-radius:50%;width:120px;height:120px;animation:1.5s ease-out infinite pulse;position:absolute}.call-connecting-animation{z-index:-1;border:3px solid #0000;border-top-color:#2196f3;border-radius:50%;width:100px;height:100px;animation:1s linear infinite spin;position:absolute}.call-info-group{flex-direction:column;flex:1;min-width:0;margin-right:8px;display:flex}.call-title{color:#fff;white-space:normal;text-overflow:clip;margin:0;font-size:16px;font-weight:700;line-height:1.2;overflow:visible}.call-subtitle{color:#ffffffb3;white-space:normal;text-overflow:clip;margin:4px 0 0;font-size:12px;line-height:1.35;overflow:visible}.call-timer{text-align:center;color:#fff;flex-shrink:0;min-width:54px;font-size:13px;font-weight:700}.call-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.call-actions.connected{justify-content:center;width:100%}.flowengage-call-btn{cursor:pointer;color:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:92px;padding:8px 12px;font-size:12px;font-weight:600;line-height:1;transition:transform .2s,box-shadow .2s,background .2s;display:flex}.flowengage-call-btn svg{flex-shrink:0;display:block}.flowengage-call-btn span{justify-content:center;align-items:center;line-height:1;display:flex}.flowengage-call-btn-accept{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 8px 24px #4caf5066}.flowengage-call-btn-reject,.flowengage-call-btn-end{background:linear-gradient(135deg,#f44336,#d32f2f);box-shadow:0 4px 12px #f4433666}.flowengage-call-btn-mute{background:#ffffff1a;border:2px solid #fff3}.flowengage-call-btn-mute.active{background:#f443364d;border-color:#f44336}.flowengage-call-btn:hover:not(:disabled){transform:scale(1.05)}.incoming-call-overlay.header-mode .flowengage-call-btn{border-radius:9999px!important;width:36px!important;min-width:36px!important;height:36px!important;padding:0!important}.incoming-call-overlay.header-mode .flowengage-call-btn span{display:none!important}.incoming-call-overlay.header-mode .call-icon-wrapper{width:40px;height:40px;margin-right:0}.incoming-call-overlay.header-mode .call-info-group{min-width:0}.incoming-call-overlay.header-mode .call-title,.incoming-call-overlay.header-mode .call-subtitle{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=640px){.incoming-call-container{align-items:flex-start;gap:10px;padding:12px 14px}.incoming-call-container.connected-layout{align-items:stretch}.call-connected-top{flex-direction:column;align-items:flex-start;gap:10px}.call-connected-identity{width:100%}.call-info-group{margin-right:0}.call-actions{flex-wrap:wrap;align-self:stretch;gap:6px}.call-actions.connected{justify-content:stretch}.call-actions.connected .flowengage-call-btn{flex:1}.flowengage-call-btn{min-width:78px;padding:8px 10px}}@keyframes slideUpBanner{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDownBanner{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes pulse{50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
2
+ @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}:root,:host{--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-500:oklch(62.3% .214 259.815);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-5{margin-inline:calc(var(--spacing) * 5)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-\[30px\]{margin-top:30px}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-auto{margin-bottom:auto}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-\[34px\]{height:34px}.h-full{height:100%}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-\[34px\]{width:34px}.w-auto{width:auto}.w-full{width:100%}.max-w-\[88px\]{max-width:88px}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[14px\]{border-radius:14px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-\[inherit\]{border-top-left-radius:inherit;border-top-right-radius:inherit}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--flowengage-primary\)\]{border-color:var(--flowengage-primary)}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-red-100{border-color:var(--color-red-100)}.border-white\/80{border-color:#fffc}@supports (color:color-mix(in lab, red, red)){.border-white\/80{border-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-\[var\(--flowengage-primary\)\]{background-color:var(--flowengage-primary)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.object-contain{object-fit:contain}.p-\[2px\]{padding:2px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-\[18px\]{padding-inline:18px}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-\[3px\]{padding-block:3px}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-\[inherit\]{font-family:inherit}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[34px\]{font-size:34px}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.5px\]{--tw-tracking:.5px;letter-spacing:.5px}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\(--flowengage-primary\),.text-\[var\(--flowengage-primary\)\]{color:var(--flowengage-primary)}.text-amber-500{color:var(--color-amber-500)}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-emerald-500{color:var(--color-emerald-500)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-900{color:var(--color-gray-900)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-white{color:var(--color-white)}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-95{opacity:.95}.shadow-\[0_2px_6px_rgba\(0\,0\,0\,0\.04\)\]{--tw-shadow:0 2px 6px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_4px_12px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_8px_24px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:shadow-\[0_6px_16px_rgba\(0\,0\,0\,0\.1\)\]:hover{--tw-shadow:0 6px 16px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.enabled\:hover\:bg-\[var\(--flowengage-primary\)\]:enabled:hover{background-color:var(--flowengage-primary)}.enabled\:hover\:text-white:enabled:hover{color:var(--color-white)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-gray-300:disabled{border-color:var(--color-gray-300)}.disabled\:text-gray-300:disabled{color:var(--color-gray-300)}.disabled\:opacity-50:disabled{opacity:.5}.\[\&\>svg\]\:h-full>svg{height:100%}.\[\&\>svg\]\:w-full>svg{width:100%}.flowengage-shell,.flowengage-shell *{font-family:inherit}.flowengage-chat-panel{border:none;border-radius:0;outline:none;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000026}@media (width>=768px){.flowengage-chat-panel{border-radius:24px;width:min(423px,100vw - 40px);height:min(700px,100vh - 120px)}}.flowengage-shell[data-open=true]{inset:0}@media (width>=768px){.flowengage-shell[data-open=true]{inset:auto 1.5rem 1.5rem auto}}.flowengage-logo-fallback{background:conic-gradient(from 180deg, var(--flowengage-primary) 0%, #2b70b5 50%, #f59e0b 100%)}.fe-bot-message p{margin:0 0 .5em}.fe-bot-message p:last-child{margin-bottom:0}.fe-bot-message ul,.fe-bot-message ol{margin:.4em 0 .4em 1.2em;padding:0}.fe-bot-message li{margin-bottom:.25em}.fe-bot-message strong{font-weight:600}.fe-bot-message a{color:var(--flowengage-primary);text-decoration:underline}.fe-bot-message a:hover{opacity:.8}.incoming-call-overlay{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a2ef2;justify-content:center;align-items:center;transition:all .3s ease-in-out;display:flex;position:absolute;left:0;right:0}.incoming-call-overlay.bottom-mode{border-top:2px solid #ffffff1a;min-height:120px;animation:.4s cubic-bezier(.16,1,.3,1) slideUpBanner;top:auto;bottom:0;box-shadow:0 -10px 30px #00000080}.incoming-call-overlay.header-mode{border-bottom:2px solid #ffffff1a;min-height:80px;animation:.4s cubic-bezier(.16,1,.3,1) slideDownBanner;top:0;bottom:auto;box-shadow:0 10px 30px #00000080}.incoming-call-container{justify-content:space-between;align-items:center;gap:14px;width:100%;padding:14px 16px;display:flex}.incoming-call-container.connected-layout{flex-direction:column;justify-content:center;align-items:stretch;gap:14px}.call-connected-top{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.call-connected-identity{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.call-icon-wrapper{color:#fff;z-index:1;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;margin-right:4px;display:flex;position:relative}.call-icon-wrapper.incoming{background:linear-gradient(135deg,#4caf50,#45a049);animation:1s ease-in-out infinite bounce}.call-icon-wrapper.connecting{background:linear-gradient(135deg,#2196f3,#1976d2)}.call-icon-wrapper.connected{background:linear-gradient(135deg,#4caf50,#45a049)}.call-pulse-animation{z-index:-1;background:#4caf504d;border-radius:50%;width:120px;height:120px;animation:1.5s ease-out infinite pulse;position:absolute}.call-connecting-animation{z-index:-1;border:3px solid #0000;border-top-color:#2196f3;border-radius:50%;width:100px;height:100px;animation:1s linear infinite spin;position:absolute}.call-info-group{flex-direction:column;flex:1;min-width:0;margin-right:8px;display:flex}.call-title{color:#fff;white-space:normal;text-overflow:clip;margin:0;font-size:16px;font-weight:700;line-height:1.2;overflow:visible}.call-subtitle{color:#ffffffb3;white-space:normal;text-overflow:clip;margin:4px 0 0;font-size:12px;line-height:1.35;overflow:visible}.call-timer{text-align:center;color:#fff;flex-shrink:0;min-width:54px;font-size:13px;font-weight:700}.call-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.call-actions.connected{justify-content:center;width:100%}.flowengage-call-btn{cursor:pointer;color:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:92px;padding:8px 12px;font-size:12px;font-weight:600;line-height:1;transition:transform .2s,box-shadow .2s,background .2s;display:flex}.flowengage-call-btn svg{flex-shrink:0;display:block}.flowengage-call-btn span{justify-content:center;align-items:center;line-height:1;display:flex}.flowengage-call-btn-accept{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 8px 24px #4caf5066}.flowengage-call-btn-reject,.flowengage-call-btn-end{background:linear-gradient(135deg,#f44336,#d32f2f);box-shadow:0 4px 12px #f4433666}.flowengage-call-btn-mute{background:#ffffff1a;border:2px solid #fff3}.flowengage-call-btn-mute.active{background:#f443364d;border-color:#f44336}.flowengage-call-btn:hover:not(:disabled){transform:scale(1.05)}.incoming-call-overlay.header-mode .flowengage-call-btn{border-radius:9999px!important;width:36px!important;min-width:36px!important;height:36px!important;padding:0!important}.incoming-call-overlay.header-mode .flowengage-call-btn span{display:none!important}.incoming-call-overlay.header-mode .call-icon-wrapper{width:40px;height:40px;margin-right:0}.incoming-call-overlay.header-mode .call-info-group{min-width:0}.incoming-call-overlay.header-mode .call-title,.incoming-call-overlay.header-mode .call-subtitle{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=640px){.incoming-call-container{align-items:flex-start;gap:10px;padding:12px 14px}.incoming-call-container.connected-layout{align-items:stretch}.call-connected-top{flex-direction:column;align-items:flex-start;gap:10px}.call-connected-identity{width:100%}.call-info-group{margin-right:0}.call-actions{flex-wrap:wrap;align-self:stretch;gap:6px}.call-actions.connected{justify-content:stretch}.call-actions.connected .flowengage-call-btn{flex:1}.flowengage-call-btn{min-width:78px;padding:8px 10px}}@keyframes slideUpBanner{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDownBanner{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes pulse{50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
3
3
  /*$vite$:1*/