/* AI Business Agent Pro — front-end widget (v2 design)
 * Scoped under #aiba-root with a defensive reset so host themes cannot bleed in.
 */
:root{
  --aiba-primary:#4f46e5;
  --aiba-primary-2:#3730b3;
  --aiba-bg:#ffffff;
  --aiba-fg:#0f172a;
  --aiba-muted:#64748b;
  --aiba-bubble-bot:#ffffff;
  --aiba-bubble-user:var(--aiba-primary);
  --aiba-body-bg:#eef1f8;
  --aiba-border:rgba(15,23,42,.08);
  --aiba-shadow:0 24px 60px rgba(2,6,23,.28);
}
#aiba-root.aiba-dark{
  --aiba-bg:#0b1220;--aiba-fg:#e5e7eb;--aiba-muted:#94a3b8;
  --aiba-bubble-bot:#1e293b;--aiba-body-bg:#0f172a;--aiba-border:rgba(255,255,255,.08);
  --aiba-shadow:0 24px 60px rgba(0,0,0,.6);
}

/* ---- Defensive reset ---- */
#aiba-root,#aiba-root *{box-sizing:border-box;}
#aiba-root{position:fixed;z-index:2147483000;line-height:1.5;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
#aiba-root button{margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;
  -webkit-appearance:none;appearance:none;min-width:0;min-height:0;line-height:1;
  text-transform:none;letter-spacing:normal;box-shadow:none;text-decoration:none;
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
#aiba-root button:hover,#aiba-root button:focus{box-shadow:none;outline:none;}
#aiba-root a{text-decoration:none;}
#aiba-root svg{display:block;width:auto;height:auto;max-width:none;fill:none;
  stroke:currentColor;vertical-align:middle;flex:0 0 auto;pointer-events:none;}
#aiba-root img{max-width:none;}
#aiba-root input,#aiba-root textarea{font-family:inherit;box-shadow:none;}

/* ---- Position ---- */
#aiba-root.aiba-pos-bottom-right{right:20px;bottom:20px;}
#aiba-root.aiba-pos-bottom-left{left:20px;bottom:20px;}

/* ---- Launcher + greeting teaser ---- */
.aiba-launch-wrap{position:relative;display:flex;align-items:center;justify-content:flex-end;}
.aiba-pos-bottom-left .aiba-launch-wrap{justify-content:flex-start;}
.aiba-launcher{position:relative;width:64px !important;height:64px !important;border-radius:50% !important;
  color:#fff !important;background:linear-gradient(135deg,var(--aiba-primary),var(--aiba-primary-2)) !important;
  box-shadow:var(--aiba-shadow) !important;transition:transform .2s ease;overflow:visible;}
.aiba-launcher:hover{transform:scale(1.06);}
.aiba-launcher svg{width:28px !important;height:28px !important;stroke:#fff !important;}
.aiba-launcher-img{width:64px !important;height:64px !important;border-radius:50% !important;
  object-fit:cover !important;display:block !important;border:2px solid #fff;}
.aiba-dot{position:absolute;top:3px;right:3px;width:15px;height:15px;border-radius:50%;
  background:#22c55e;border:3px solid #fff;}

.aiba-teaser{position:absolute;bottom:50%;right:78px;transform:translateY(50%) scale(.9);
  background:var(--aiba-bg);color:var(--aiba-fg);padding:14px 30px 14px 18px;border-radius:18px;
  border-bottom-right-radius:4px;box-shadow:var(--aiba-shadow);width:max-content;max-width:230px;
  font-size:14px;font-weight:500;opacity:0;pointer-events:none;
  transition:opacity .3s ease,transform .3s ease;border:1px solid var(--aiba-border);}
.aiba-pos-bottom-left .aiba-teaser{right:auto;left:78px;border-bottom-right-radius:18px;border-bottom-left-radius:4px;}
.aiba-teaser.show{opacity:1;transform:translateY(50%) scale(1);pointer-events:auto;}
.aiba-teaser span{cursor:pointer;}
.aiba-teaser-x{position:absolute !important;top:6px;right:6px;width:22px !important;height:22px !important;
  border-radius:50% !important;color:var(--aiba-muted) !important;background:transparent !important;}
.aiba-teaser-x svg{width:13px !important;height:13px !important;stroke:var(--aiba-muted) !important;}
.aiba-teaser-x:hover{background:var(--aiba-body-bg) !important;}

/* ---- Panel ---- */
.aiba-panel{position:absolute;bottom:82px;width:380px;max-width:calc(100vw - 32px);height:600px;
  max-height:calc(100vh - 130px);background:var(--aiba-body-bg);color:var(--aiba-fg);border-radius:22px;
  box-shadow:var(--aiba-shadow);display:flex;flex-direction:column;overflow:hidden;opacity:0;
  transform:translateY(16px) scale(.98);pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;border:1px solid var(--aiba-border);}
.aiba-pos-bottom-right .aiba-panel{right:0;}
.aiba-pos-bottom-left .aiba-panel{left:0;}
#aiba-root.aiba-open .aiba-panel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}

/* ---- Header ---- */
.aiba-head{padding:16px 16px;background:linear-gradient(135deg,var(--aiba-primary),var(--aiba-primary-2));
  color:#fff;display:flex;align-items:center;gap:13px;flex:0 0 auto;}
.aiba-head .aiba-avatar{position:relative;width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:18px;overflow:visible;flex:0 0 auto;border:2px solid rgba(255,255,255,.5);}
.aiba-head .aiba-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.aiba-avatar-dot{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:50%;
  background:#22c55e;border:2px solid var(--aiba-primary);}
.aiba-head .aiba-meta{min-width:0;flex:1 1 auto;}
.aiba-head .aiba-meta strong{display:block;font-size:16px;line-height:1.2;font-weight:700;}
.aiba-brandline{display:block;font-size:12.5px;opacity:.92;line-height:1.3;}
.aiba-online{display:flex;align-items:center;gap:5px;font-size:11.5px;opacity:.9;margin-top:1px;}
.aiba-online i{width:7px;height:7px;border-radius:50%;background:#4ade80;display:inline-block;
  box-shadow:0 0 0 0 rgba(74,222,128,.7);animation:aiba-onlinepulse 1.8s infinite;}
@keyframes aiba-onlinepulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.6);}70%{box-shadow:0 0 0 6px rgba(74,222,128,0);}100%{box-shadow:0 0 0 0 rgba(74,222,128,0);}}
.aiba-head .aiba-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.aiba-head-wa{width:36px !important;height:36px !important;border-radius:50% !important;
  background:rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center;color:#fff;
  transition:background .15s ease;}
.aiba-head-wa:hover{background:#25D366;}
.aiba-head-wa svg{width:20px !important;height:20px !important;fill:#fff !important;stroke:none !important;}
.aiba-head .aiba-min,.aiba-head .aiba-x{width:32px !important;height:32px !important;border-radius:9px !important;
  background:rgba(255,255,255,.14) !important;color:#fff !important;transition:background .15s ease;}
.aiba-head .aiba-min:hover,.aiba-head .aiba-x:hover{background:rgba(255,255,255,.3) !important;}
.aiba-head .aiba-min svg,.aiba-head .aiba-x svg{width:17px !important;height:17px !important;stroke:#fff !important;}

/* ---- Body ---- */
.aiba-body{flex:1 1 auto;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:2px;
  background:var(--aiba-body-bg);}
.aiba-datesep{text-align:center;margin:4px 0 12px;}
.aiba-datesep span{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;
  color:var(--aiba-muted);background:rgba(15,23,42,.06);padding:4px 12px;border-radius:20px;}
#aiba-root.aiba-dark .aiba-datesep span{background:rgba(255,255,255,.08);}

/* ---- Message rows ---- */
.aiba-row{display:flex;align-items:flex-end;gap:8px;margin-bottom:10px;max-width:100%;}
.aiba-row-bot{justify-content:flex-start;}
.aiba-row-user{justify-content:flex-end;}
.aiba-mini-avatar{width:30px;height:30px;border-radius:50%;flex:0 0 auto;overflow:hidden;
  background:var(--aiba-primary);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;align-self:flex-end;}
.aiba-mini-avatar img{width:100%;height:100%;object-fit:cover;}
.aiba-bubble-wrap{max-width:78%;display:flex;flex-direction:column;}
.aiba-row-user .aiba-bubble-wrap{align-items:flex-end;}
.aiba-msg{padding:11px 14px;border-radius:18px;font-size:14px;line-height:1.45;
  word-wrap:break-word;white-space:pre-wrap;}
.aiba-msg.bot{background:var(--aiba-bubble-bot);color:var(--aiba-fg) !important;
  border-bottom-left-radius:5px;box-shadow:0 2px 8px rgba(2,6,23,.08);}
.aiba-msg.user{background:var(--aiba-bubble-user);color:#fff !important;border-bottom-right-radius:5px;}
.aiba-time{font-size:10px;color:var(--aiba-muted);margin:3px 4px 0;display:flex;align-items:center;gap:3px;}
.aiba-ticks{display:inline-flex;align-items:center;color:#38bdf8;}
.aiba-ticks svg{width:13px !important;height:13px !important;stroke:#38bdf8 !important;}
.aiba-ticks svg:last-child{margin-left:-8px;}

.aiba-typing{background:var(--aiba-bubble-bot);padding:13px 15px;border-radius:18px;
  border-bottom-left-radius:5px;display:flex;gap:4px;box-shadow:0 2px 8px rgba(2,6,23,.08);}
.aiba-typing span{width:7px;height:7px;border-radius:50%;background:var(--aiba-muted);
  animation:aiba-blink 1.2s infinite both;}
.aiba-typing span:nth-child(2){animation-delay:.2s;}
.aiba-typing span:nth-child(3){animation-delay:.4s;}
@keyframes aiba-blink{0%,80%,100%{opacity:.3;}40%{opacity:1;}}

/* ---- Footer / input ---- */
.aiba-foot{padding:12px 14px;background:var(--aiba-bg);flex:0 0 auto;border-top:1px solid var(--aiba-border);}
.aiba-inputrow{display:flex;gap:9px;align-items:center;}
.aiba-inputrow textarea{flex:1 1 auto;resize:none;border:1.5px solid var(--aiba-border);border-radius:26px;
  padding:12px 18px;font-size:14px;line-height:1.4;max-height:110px;background:var(--aiba-bg) !important;
  color:var(--aiba-fg) !important;}
.aiba-inputrow textarea::placeholder{color:var(--aiba-muted) !important;opacity:1;}
.aiba-inputrow textarea:focus{outline:none;border-color:var(--aiba-primary);
  box-shadow:0 0 0 3px rgba(79,70,229,.14);}
.aiba-send,.aiba-mic{width:46px !important;height:46px !important;border-radius:50% !important;flex:0 0 auto;
  transition:transform .15s ease,filter .15s ease;}
.aiba-send{background:linear-gradient(135deg,var(--aiba-primary),var(--aiba-primary-2)) !important;
  color:#fff !important;box-shadow:0 6px 16px rgba(79,70,229,.4) !important;}
.aiba-send:hover{transform:translateY(-1px);filter:brightness(1.06);}
.aiba-send svg{stroke:#fff !important;}
.aiba-mic{background:var(--aiba-bg) !important;color:var(--aiba-primary) !important;
  border:1.5px solid var(--aiba-border) !important;}
.aiba-mic:hover{transform:translateY(-1px);}
.aiba-mic svg{stroke:var(--aiba-primary) !important;}
.aiba-mic.listening{background:#ef4444 !important;color:#fff !important;border-color:#ef4444 !important;
  animation:aiba-pulse 1.2s infinite;}
.aiba-mic.listening svg{stroke:#fff !important;}
@keyframes aiba-pulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.5);}70%{box-shadow:0 0 0 12px rgba(239,68,68,0);}100%{box-shadow:0 0 0 0 rgba(239,68,68,0);}}
.aiba-send svg,.aiba-mic svg{width:21px !important;height:21px !important;}

/* ---- Quick links (WhatsApp / Telegram pills) ---- */
.aiba-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 10px;}
.aiba-quick a{display:inline-flex !important;align-items:center;gap:7px;width:auto !important;
  max-width:max-content;font-size:12.5px !important;font-weight:600;line-height:1 !important;
  padding:8px 13px !important;border-radius:22px !important;text-decoration:none !important;
  border:1px solid var(--aiba-border);background:var(--aiba-bg);color:var(--aiba-fg);box-shadow:none !important;}
.aiba-quick a svg{width:16px !important;height:16px !important;fill:currentColor !important;stroke:none !important;flex:0 0 auto;}
.aiba-quick a.aiba-wa{background:#25D366 !important;color:#fff !important;border-color:#25D366 !important;}
.aiba-quick a.aiba-tg{background:#229ED9 !important;color:#fff !important;border-color:#229ED9 !important;}
.aiba-quick a.aiba-wa:hover{background:#1ebe5b !important;}
.aiba-quick a.aiba-tg:hover{background:#1b8dc2 !important;}

/* ---- Voice transcript ---- */
.aiba-transcript{display:none;align-items:center;gap:8px;font-size:12px;color:var(--aiba-muted);
  padding:6px 2px 8px;min-height:18px;}
.aiba-wave{display:flex;gap:3px;align-items:center;height:18px;flex:0 0 auto;}
.aiba-wave i{width:3px;background:var(--aiba-primary);border-radius:2px;animation:aiba-wave 1s infinite ease-in-out;}
.aiba-wave i:nth-child(2){animation-delay:.1s;}.aiba-wave i:nth-child(3){animation-delay:.2s;}
.aiba-wave i:nth-child(4){animation-delay:.3s;}.aiba-wave i:nth-child(5){animation-delay:.4s;}
@keyframes aiba-wave{0%,100%{height:5px;}50%{height:16px;}}

/* ---- Lead form ---- */
.aiba-lead{padding:14px;background:var(--aiba-bubble-bot);border-radius:16px;align-self:stretch;margin:4px 0 10px;
  box-shadow:0 2px 8px rgba(2,6,23,.08);}
.aiba-lead h4{margin:0 0 10px;font-size:14px;color:var(--aiba-fg);}
.aiba-lead input,.aiba-lead textarea{width:100%;margin-bottom:8px;padding:10px 12px;
  border:1px solid var(--aiba-border);border-radius:10px;font-size:13px;background:var(--aiba-bg) !important;
  color:var(--aiba-fg) !important;}
.aiba-lead input::placeholder,.aiba-lead textarea::placeholder{color:var(--aiba-muted) !important;opacity:1;}
.aiba-lead input:focus,.aiba-lead textarea:focus{outline:none;border-color:var(--aiba-primary);}
.aiba-lead button{width:100% !important;height:auto !important;border-radius:10px !important;
  background:linear-gradient(135deg,var(--aiba-primary),var(--aiba-primary-2)) !important;
  color:#fff !important;padding:11px !important;font-size:14px;font-weight:600;}

.aiba-foot-credit{text-align:center;font-size:10px;color:var(--aiba-muted);padding-top:9px;}
.aiba-foot-credit a{color:var(--aiba-muted);text-decoration:none;font-weight:600;}
.aiba-foot-credit a:hover{color:var(--aiba-primary);}

@media (max-width:480px){
  #aiba-root.aiba-pos-bottom-right,#aiba-root.aiba-pos-bottom-left{right:14px;left:14px;bottom:14px;}
  .aiba-panel{width:calc(100vw - 24px);height:calc(100dvh - 96px);}
  .aiba-launch-wrap{justify-content:flex-end;}
}
