
.ibic-ai-lead-box[hidden],
.ibic-ai-panel[hidden]{display:none!important}

.ibic-ai-root{
  --ibic-ai-color:#1f7a4d;
  --ibic-ai-color-dark:#17633e;
  --ibic-ai-surface:#ffffff;
  --ibic-ai-bg:#f5f7f6;
  position:fixed;
  bottom:22px;
  z-index:999999;
  font-family:Arial,sans-serif;
}

/* Widget position: controlled from Settings → Widget Position */
.ibic-ai-root.ibic-ai-pos-right{right:22px}
.ibic-ai-root.ibic-ai-pos-left{left:22px}
.ibic-ai-root.ibic-ai-pos-left .ibic-ai-panel{transform-origin:bottom left}
.ibic-ai-root.ibic-ai-pos-left .ibic-ai-launcher-label{right:auto;left:0;transform-origin:bottom left}
.ibic-ai-root.ibic-ai-pos-left .ibic-ai-launcher-label:after{right:auto;left:18px}
@media(max-width:600px){
  .ibic-ai-root.ibic-ai-pos-right{right:12px}
  .ibic-ai-root.ibic-ai-pos-left{left:12px}
}

.ibic-ai-toggle{
  width:60px;
  height:60px;
  border:0;
  border-radius:50%;
  background:linear-gradient(145deg,var(--ibic-ai-color),var(--ibic-ai-color-dark));
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 34px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.18) inset;
  transition:transform .2s ease,box-shadow .2s ease;
  position:relative;
}

.ibic-ai-toggle:before{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:50%;
  border:1px solid rgba(31,122,77,.22);
  opacity:0;
  transform:scale(.88);
}

.ibic-ai-toggle svg{width:28px;height:28px;display:block}
.ibic-ai-toggle:hover{transform:translateY(-2px) scale(1.035);box-shadow:0 16px 40px rgba(0,0,0,.22)}
.ibic-ai-toggle:active{transform:scale(.98)}
.ibic-ai-toggle:focus{outline:2px solid var(--ibic-ai-color);outline-offset:4px}

.ibic-ai-root:not(.is-open) .ibic-ai-toggle:before{
  animation:ibic-pulse 2.8s ease-out infinite;
}

@keyframes ibic-pulse{
  0%{opacity:0;transform:scale(.88)}
  25%{opacity:.75}
  70%{opacity:0;transform:scale(1.18)}
  100%{opacity:0;transform:scale(1.18)}
}

.ibic-ai-panel{
  width:390px;
  height:600px;
  background:var(--ibic-ai-surface);
  border-radius:22px;
  box-shadow:0 24px 80px rgba(15,35,25,.22),0 4px 18px rgba(0,0,0,.08);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(20,50,35,.08);
  transform-origin:bottom right;
  animation:ibic-chat-in .22s ease-out both;
}

@keyframes ibic-chat-in{
  from{opacity:0;transform:translateY(10px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.ibic-ai-header{
  background:linear-gradient(135deg,var(--ibic-ai-color),var(--ibic-ai-color-dark));
  color:#fff;
  padding:16px 16px 15px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:72px;
  box-sizing:border-box;
}

.ibic-ai-brand{display:flex;align-items:center;gap:10px;min-width:0}
.ibic-ai-avatar{
  width:40px;height:40px;flex:0 0 40px;
  border-radius:13px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 5px 16px rgba(0,0,0,.1) inset;
}
.ibic-ai-avatar svg{width:24px!important;height:24px!important;max-width:none!important;display:block!important}
.ibic-ai-brand-copy{min-width:0}
.ibic-ai-header strong{
  display:block;
  font-size:15px;
  font-weight:700;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ibic-ai-header small{
  display:flex;
  align-items:center;
  gap:6px;
  opacity:.88;
  margin-top:4px;
  font-size:12px;
}
.ibic-ai-online-dot{
  width:7px;height:7px;border-radius:50%;
  background:#8df0b8;
  box-shadow:0 0 0 3px rgba(141,240,184,.14);
  flex:0 0 7px;
}

.ibic-ai-close{
  line-height:1;
  min-width:36px;
  min-height:36px;
  border:0;
  border-radius:11px;
  background:rgba(255,255,255,.08);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
  font-size:26px;
  padding:0;
}
.ibic-ai-close:hover{background:rgba(255,255,255,.18);transform:rotate(4deg)}
.ibic-ai-close:focus{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}

.ibic-ai-messages{
  flex:1;
  overflow:auto;
  padding:18px 15px 16px;
  background:
    radial-gradient(circle at 10% 5%,rgba(31,122,77,.045),transparent 28%),
    linear-gradient(#f7f9f8,#f4f7f5);
  scroll-behavior:smooth;
}
.ibic-ai-messages::-webkit-scrollbar{width:6px}
.ibic-ai-messages::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:10px}

.ibic-msg{
  max-width:82%;
  padding:10px 13px;
  border-radius:15px;
  margin:8px 0;
  line-height:1.55;
  font-size:14px;
  white-space:pre-wrap;
  opacity:0;
  transform:translateY(5px);
  transition:opacity .2s ease,transform .2s ease;
  word-break:break-word;
}
.ibic-msg.is-visible{opacity:1;transform:translateY(0)}
.ibic-msg.assistant{
  background:#fff;
  color:#28322e;
  border:1px solid rgba(30,60,45,.08);
  margin-right:auto;
  border-bottom-left-radius:5px;
  box-shadow:0 3px 12px rgba(20,50,35,.045);
}
.ibic-msg.user{
  background:linear-gradient(135deg,var(--ibic-ai-color),var(--ibic-ai-color-dark));
  color:#fff;
  margin-left:auto;
  border-bottom-right-radius:5px;
  box-shadow:0 5px 14px rgba(31,122,77,.15);
}

/* Animated "typing..." bubble */
.ibic-msg.ibic-typing{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:58px;
  width:max-content;
  padding:11px 13px;
  direction:ltr!important;
}
.ibic-typing-label{
  font-size:11px;
  color:#7a8580;
  opacity:.72;
  display:none;
}
.ibic-typing-dots{
  height:14px;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.ibic-typing-dots i{
  width:6px;
  height:6px;
  display:block;
  border-radius:50%;
  background:var(--ibic-ai-color);
  opacity:.28;
  transform:translateY(0) scale(.78);
  animation:ibic-dot-bounce 1.15s ease-in-out infinite;
}
.ibic-typing-dots i:nth-child(2){animation-delay:.16s}
.ibic-typing-dots i:nth-child(3){animation-delay:.32s}

@keyframes ibic-dot-bounce{
  0%,60%,100%{opacity:.25;transform:translateY(0) scale(.78)}
  30%{opacity:1;transform:translateY(-5px) scale(1)}
}

.ibic-ai-form{
  padding:11px 12px 12px;
  border-top:1px solid rgba(20,50,35,.07);
  background:rgba(255,255,255,.96);
}
.ibic-ai-input-wrap{
  display:flex;
  align-items:center;
  gap:7px;
  background:#f5f7f6;
  border:1px solid #e2e7e4;
  border-radius:16px;
  padding:4px 5px 4px 13px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.ibic-ai-input-wrap:focus-within{
  background:#fff;
  border-color:rgba(31,122,77,.45);
  box-shadow:0 0 0 3px rgba(31,122,77,.08);
}
.ibic-ai-form input{
  flex:1;
  min-width:0;
  border:0!important;
  background:transparent!important;
  padding:9px 2px!important;
  outline:0!important;
  box-shadow:none!important;
  font-size:14px;
  color:#28322e;
}
.ibic-ai-form input::placeholder{color:#9aa39f}
.ibic-ai-form input:disabled{opacity:.62;cursor:wait}
.ibic-ai-form button{
  box-sizing:border-box!important;
  width:39px!important;
  height:39px!important;
  min-width:39px!important;
  max-width:39px!important;
  min-height:39px!important;
  max-height:39px!important;
  flex:0 0 39px!important;
  margin:0!important;
  padding:0!important;
  border:0;
  border-radius:50%!important;
  background:linear-gradient(135deg,var(--ibic-ai-color),var(--ibic-ai-color-dark));
  color:#fff;
  display:flex!important;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(31,122,77,.32);
  transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease,opacity .18s ease;
}
.ibic-ai-form button svg{
  width:19px!important;
  height:19px!important;
  max-width:none!important;
  display:block!important;
  flex-shrink:0;
}
.ibic-ai-send-icon{transition:transform .18s ease}
.ibic-ai-form button:hover{transform:translateY(-2px) scale(1.06);box-shadow:0 8px 18px rgba(31,122,77,.4)}
.ibic-ai-form button:hover .ibic-ai-send-icon{transform:translateX(1px) translateY(-1px)}
.ibic-ai-form button:active{transform:scale(.92);box-shadow:0 2px 8px rgba(31,122,77,.35)}
.ibic-ai-form button:focus-visible{outline:2px solid var(--ibic-ai-color-dark);outline-offset:3px}
.ibic-ai-form button:disabled{opacity:.55;cursor:wait;transform:none;box-shadow:none}

.ibic-ai-lead-box{
  padding:14px 14px 12px;
  background:linear-gradient(180deg,#f7faf8,#ffffff);
  border-top:1px solid rgba(20,50,35,.08);
  animation:ibic-lead-in .25s ease-out both;
}
@keyframes ibic-lead-in{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
.ibic-ai-lead-title{font-weight:700;margin-bottom:8px;font-size:13.5px;color:#26332d}
.ibic-ai-lead-box input{
  width:100%;
  box-sizing:border-box;
  padding:9px 11px;
  margin:4px 0;
  border:1px solid #dfe5e2;
  border-radius:9px;
  font-size:13.5px;
  color:#28322e;
  background:#fff;
  transition:border-color .16s ease,box-shadow .16s ease,transform .12s ease;
}
.ibic-ai-lead-box input::placeholder{color:#9aa39f}
.ibic-ai-lead-box input:hover{border-color:#c9d3ce}
.ibic-ai-lead-box input:focus{
  outline:0;
  border-color:var(--ibic-ai-color);
  box-shadow:0 0 0 3px rgba(31,122,77,.12);
}
.ibic-ai-lead-box button{
  background:linear-gradient(135deg,var(--ibic-ai-color),var(--ibic-ai-color-dark));
  color:#fff;
  border:0;
  padding:10px 16px;
  border-radius:9px;
  margin-top:6px;
  font-weight:600;
  font-size:13.5px;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(31,122,77,.28);
  transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s ease,opacity .16s ease;
}
.ibic-ai-lead-box button:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(31,122,77,.36)}
.ibic-ai-lead-box button:active{transform:scale(.97)}
.ibic-ai-lead-box button:disabled{opacity:.6;cursor:wait;transform:none;box-shadow:none}
.ibic-ai-lead-box div:last-child{font-size:12px;margin-top:6px}

@media(max-width:600px){
  .ibic-ai-root{bottom:12px}
  .ibic-ai-panel{
    width:calc(100vw - 24px);
    height:calc(100vh - 90px);
    max-height:700px;
    border-radius:19px;
  }
  .ibic-ai-toggle{width:56px;height:56px}
  .ibic-msg{max-width:88%}
}

@media(prefers-reduced-motion:reduce){
  .ibic-ai-panel,.ibic-ai-toggle:before,.ibic-typing-dots i,.ibic-msg{animation:none!important;transition:none!important}
}

/* v1.3 conversation scrollbar: intentionally more visible for long chats */
.ibic-ai-messages{scrollbar-width:auto;scrollbar-color:rgba(31,122,77,.55) rgba(31,122,77,.08)}
.ibic-ai-messages::-webkit-scrollbar{width:10px}
.ibic-ai-messages::-webkit-scrollbar-track{background:rgba(31,122,77,.06);border-radius:10px}
.ibic-ai-messages::-webkit-scrollbar-thumb{background:rgba(31,122,77,.5);border:2px solid rgba(247,249,248,.95);border-radius:10px;min-height:45px}
.ibic-ai-messages::-webkit-scrollbar-thumb:hover{background:rgba(31,122,77,.75)}
.ibic-ai-avatar.has-logo{background:#fff;overflow:hidden;padding:4px;box-sizing:border-box;border:1px solid rgba(255,255,255,.5);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.ibic-ai-avatar.has-logo img{width:100%;height:100%;object-fit:contain;border-radius:9px;display:block}


/* v1.3.1 — launcher label + Instagram/story-style halo */
.ibic-ai-launcher-label{
  position:absolute;
  right:0;
  bottom:calc(100% + 10px);
  white-space:nowrap;
  max-width:220px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.98);
  color:#26332d;
  border:1px solid rgba(20,50,35,.08);
  box-shadow:0 8px 24px rgba(15,35,25,.13);
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  cursor:pointer;
  user-select:none;
  opacity:.98;
  transform-origin:bottom right;
  animation:ibic-label-in .35s ease-out both;
}
.ibic-ai-launcher-label:after{
  content:"";
  position:absolute;
  right:18px;
  top:100%;
  width:9px;
  height:9px;
  background:#fff;
  border-right:1px solid rgba(20,50,35,.08);
  border-bottom:1px solid rgba(20,50,35,.08);
  transform:translateY(-5px) rotate(45deg);
}
@keyframes ibic-label-in{
  from{opacity:0;transform:translateY(5px) scale(.94)}
  to{opacity:.98;transform:translateY(0) scale(1)}
}

/* Two soft rings around the launcher, inspired by story/status halos. */
.ibic-ai-toggle:after{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:50%;
  padding:3px;
  background:conic-gradient(
    from 210deg,
    rgba(31,122,77,.10),
    rgba(31,122,77,.55),
    rgba(116,220,145,.75),
    rgba(31,122,77,.16),
    rgba(31,122,77,.10)
  );
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.9;
  pointer-events:none;
  animation:ibic-story-ring 3.6s linear infinite;
}
.ibic-ai-toggle:before{
  inset:-12px;
  border:1px solid rgba(31,122,77,.14);
  opacity:.55;
  animation:ibic-story-outer 2.8s ease-in-out infinite;
}
@keyframes ibic-story-ring{
  to{transform:rotate(360deg)}
}
@keyframes ibic-story-outer{
  0%,100%{transform:scale(.96);opacity:.25}
  50%{transform:scale(1.03);opacity:.7}
}
.ibic-ai-root.is-open .ibic-ai-launcher-label{
  opacity:0;
  pointer-events:none;
}
.ibic-ai-root.is-open .ibic-ai-toggle:after,
.ibic-ai-root.is-open .ibic-ai-toggle:before{
  animation:none;
  opacity:0;
}
@media(max-width:600px){
  .ibic-ai-launcher-label{right:0;bottom:calc(100% + 8px);font-size:11px;padding:7px 10px}
}
@media(prefers-reduced-motion:reduce){
  .ibic-ai-launcher-label,.ibic-ai-toggle:after,.ibic-ai-toggle:before{animation:none!important}
}

/* v1.3.2 — validation feedback */
#ibic-lead-status{
  min-height:16px;
  color:#68736e;
  line-height:1.4;
}
#ibic-lead-status:empty{min-height:0}
.ibic-ai-lead-box input:invalid{
  border-color:#d7b3b3;
}


/* Header avatar (logo or fallback chat-bubble icon) */
.ibic-ai-avatar{
  position:relative;
  overflow:hidden;
  color:#fff;
}
.ibic-ai-avatar.has-logo{
  background:#fff;
}

/* v1.3.4 — branded launcher */
.ibic-ai-toggle{overflow:visible;position:relative}
.ibic-ai-launcher-logo{width:100%;height:100%;object-fit:contain;border-radius:50%;display:block;background:#fff;padding:5px;box-sizing:border-box;position:relative;z-index:2}
.ibic-ai-launcher-fallback{position:relative;width:28px;height:28px;display:flex;align-items:center;justify-content:center}
.ibic-ai-launcher-icon{
  width:28px!important;
  height:28px!important;
  max-width:none!important;
  display:block!important;
  flex-shrink:0;
  animation:ibic-launcher-breathe 2.4s ease-in-out infinite;
}
@keyframes ibic-launcher-breathe{
  0%,100%{transform:scale(1);opacity:.95}
  50%{transform:scale(1.08);opacity:1}
}
.ibic-ai-root.is-open .ibic-ai-toggle{display:none!important}
@media(prefers-reduced-motion:reduce){.ibic-ai-launcher-icon{animation:none!important}}
