#utl-ai-root{--utl-accent:#111;position:fixed;right:22px;bottom:22px;z-index:999999;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}.utl-ai-launcher{border:0;border-radius:999px;background:var(--utl-accent);color:#fff;padding:14px 18px;box-shadow:0 10px 30px rgba(0,0,0,.22);cursor:pointer;font-weight:700;font-size:15px;display:flex;align-items:center;gap:9px}.utl-ai-launcher-icon{font-size:18px}.utl-ai-panel{position:absolute;right:0;bottom:64px;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100vh - 110px));background:#fff;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.25);display:none;overflow:hidden;border:1px solid rgba(0,0,0,.1)}.utl-ai-panel.is-open{display:flex;flex-direction:column}.utl-ai-header{background:var(--utl-accent);color:#fff;padding:16px 16px 14px;display:flex;justify-content:space-between;align-items:flex-start}.utl-ai-header strong{display:block;font-size:17px}.utl-ai-header small{display:block;opacity:.8;margin-top:3px;font-size:11px}.utl-ai-close{border:0;background:transparent;color:#fff;font-size:28px;line-height:20px;cursor:pointer}.utl-ai-messages{flex:1;overflow:auto;padding:16px;background:#f6f6f6}.utl-ai-bubble{max-width:84%;padding:10px 12px;border-radius:14px;margin:0 0 10px;white-space:pre-wrap;font-size:14px;line-height:1.45}.utl-ai-bubble.assistant{background:#fff;color:#151515;border:1px solid #e3e3e3;border-bottom-left-radius:5px}.utl-ai-bubble.user{background:var(--utl-accent);color:#fff;margin-left:auto;border-bottom-right-radius:5px}.utl-ai-typing{opacity:.65;font-style:italic}.utl-ai-quick{padding:10px 12px 4px;background:#fff;display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid #eee}.utl-ai-quick button{border:1px solid #ddd;background:#fff;border-radius:999px;padding:7px 9px;font-size:11px;cursor:pointer}.utl-ai-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;background:#fff}.utl-ai-form textarea{flex:1;resize:none;max-height:100px;min-height:42px;border:1px solid #d5d5d5;border-radius:12px;padding:10px 11px;font:inherit;font-size:14px;outline:none}.utl-ai-form textarea:focus{border-color:var(--utl-accent)}.utl-ai-form button{border:0;background:var(--utl-accent);color:#fff;border-radius:10px;padding:11px 13px;font-weight:700;cursor:pointer}.utl-ai-form button:disabled{opacity:.55}.utl-ai-footer{font-size:10px;color:#777;padding:0 12px 10px;background:#fff;text-align:center}.utl-ai-footer a{color:inherit;font-weight:700;text-decoration:none}@media(max-width:480px){#utl-ai-root{right:14px;bottom:14px}.utl-ai-panel{position:fixed;left:8px;right:8px;bottom:76px;width:auto;height:calc(100dvh - 95px);max-height:680px}.utl-ai-launcher-label{display:inline}}


/* v0.4.5 — polished launcher + WhatsApp clearance */
#utl-ai-launcher,
.utl-ai-launcher,
#utl-chat-toggle,
.utl-chat-toggle {
  bottom: var(--utl-chat-bottom, 96px) !important;
  right: 20px !important;
  min-width: 132px;
  min-height: 52px;
  padding: 0 18px !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.22), 0 2px 8px rgba(0,0,0,.14) !important;
  font-weight: 700 !important;
  letter-spacing: .1px;
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
  z-index: 999998 !important;
}

#utl-ai-launcher:hover,
.utl-ai-launcher:hover,
#utl-chat-toggle:hover,
.utl-chat-toggle:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0,0,0,.26), 0 4px 12px rgba(0,0,0,.16) !important;
}


@media (max-width: 782px) {
  #utl-ai-launcher,
  .utl-ai-launcher,
  #utl-chat-toggle,
  .utl-chat-toggle {
    right: 14px !important;
    bottom: var(--utl-chat-bottom-mobile, 96px) !important;
    min-width: 124px;
    min-height: 50px;
    padding: 0 16px !important;
  }
}

/* v0.4.6 — use the launcher's native icon only */
#utl-ai-launcher::before,
.utl-ai-launcher::before,
#utl-chat-toggle::before,
.utl-chat-toggle::before {
  content: none !important;
  display: none !important;
}


/* v0.4.7 — refreshed Messages-style launcher */
#utl-ai-launcher,
.utl-ai-launcher,
#utl-chat-toggle,
.utl-chat-toggle {
  right: 8px !important;
  background: #0A84FF !important;
  border: 0 !important;
  color: #fff !important;
  min-width: 126px;
  min-height: 52px;
  border-radius: 26px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.20), 0 2px 6px rgba(0,0,0,.12) !important;
}

#utl-ai-launcher:hover,
.utl-ai-launcher:hover,
#utl-chat-toggle:hover,
.utl-chat-toggle:hover {
  background: #007AFF !important;
  transform: translateY(-2px) scale(1.015);
}

#utl-ai-launcher svg,
.utl-ai-launcher svg,
#utl-chat-toggle svg,
.utl-chat-toggle svg {
  width: 23px !important;
  height: 23px !important;
  stroke-width: 2 !important;
  filter: none !important;
}

@media (max-width: 782px) {
  #utl-ai-launcher,
  .utl-ai-launcher,
  #utl-chat-toggle,
  .utl-chat-toggle {
    right: 6px !important;
    min-width: 122px;
    min-height: 50px;
    border-radius: 25px !important;
  }
}


/* v0.4.8 — align launcher horizontally with far-right floating controls */
#utl-ai-launcher,
.utl-ai-launcher,
#utl-chat-toggle,
.utl-chat-toggle {
  right: 0 !important;
}

@media (max-width: 782px) {
  #utl-ai-launcher,
  .utl-ai-launcher,
  #utl-chat-toggle,
  .utl-chat-toggle {
    right: 0 !important;
  }
}


/* v0.4.9 — UTL launcher below WhatsApp */
#utl-ai-launcher,
.utl-ai-launcher,
#utl-chat-toggle,
.utl-chat-toggle {
  right: 8px !important;
  bottom: 18px !important;
}

@media (max-width: 782px) {
  #utl-ai-launcher,
  .utl-ai-launcher,
  #utl-chat-toggle,
  .utl-chat-toggle {
    right: 8px !important;
    bottom: 14px !important;
  }
}


/* v0.5.0 — entrance animation: rise into place on page load */
@keyframes utlLauncherRiseIn {
  0% {
    opacity: 0;
    transform: translateY(42px) scale(.96);
  }
  70% {
    opacity: 1;
    transform: translateY(-3px) scale(1.01);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

#utl-ai-launcher,
.utl-ai-launcher,
#utl-chat-toggle,
.utl-chat-toggle {
  animation: utlLauncherRiseIn .65s cubic-bezier(.2,.8,.2,1) .25s both;
  will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
  #utl-ai-launcher,
  .utl-ai-launcher,
  #utl-chat-toggle,
  .utl-chat-toggle {
    animation: none !important;
  }
}

/* v0.5.1 — no launcher rise animation; chat itself opens automatically */
#utl-ai-launcher,
.utl-ai-launcher,
#utl-chat-toggle,
.utl-chat-toggle {
  animation: none !important;
}

/* v0.7.2 — clean service menu + true 3D HELP message bubble */
/* Keep the HELP control centred over the normal bottom-right WhatsApp circle. */
#utl-ai-root{
  right:10px!important;
  bottom:var(--utl-chat-bottom,96px)!important;
}

.utl-ai-launcher{
  position:relative!important;
  box-sizing:border-box!important;
  width:86px!important;
  min-width:86px!important;
  height:54px!important;
  min-height:54px!important;
  padding:0 12px 1px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:27px!important;
  background:linear-gradient(180deg,#72d7ff 0%,#2aa9ff 34%,#0a84ff 68%,#086bd4 100%)!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  overflow:visible!important;
  cursor:pointer!important;
  box-shadow:
    inset 0 4px 4px rgba(255,255,255,.55),
    inset 0 -5px 8px rgba(0,45,120,.26),
    0 3px 0 #0757b4,
    0 9px 17px rgba(0,0,0,.32)!important;
  text-shadow:0 2px 2px rgba(0,45,105,.48)!important;
  transform:none!important;
  filter:none!important;
  isolation:isolate!important;
}
/* glossy top highlight */
.utl-ai-launcher::before{
  content:""!important;
  position:absolute!important;
  left:10px!important;
  right:10px!important;
  top:5px!important;
  height:17px!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,0))!important;
  pointer-events:none!important;
  z-index:1!important;
}
/* real speech-bubble tail, attached to the bottom-right edge */
.utl-ai-launcher::after{
  content:""!important;
  position:absolute!important;
  right:7px!important;
  bottom:-10px!important;
  width:25px!important;
  height:23px!important;
  background:linear-gradient(145deg,#0a84ff 8%,#0876e4 68%,#0757b4 100%)!important;
  border:0!important;
  border-radius:3px 4px 18px 4px!important;
  clip-path:polygon(0 0,100% 0,100% 100%,58% 78%,30% 58%)!important;
  transform:rotate(5deg)!important;
  box-shadow:2px 4px 5px rgba(0,0,0,.20)!important;
  pointer-events:none!important;
  z-index:-1!important;
}
.utl-ai-launcher-icon{display:none!important}
.utl-ai-launcher-label{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.35px!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.utl-ai-launcher:hover,.utl-ai-launcher:focus-visible{
  filter:brightness(1.05)!important;
  outline:none!important;
}
.utl-ai-launcher:active{
  transform:translateY(1px)!important;
  box-shadow:
    inset 0 3px 5px rgba(0,48,115,.22),
    inset 0 -3px 5px rgba(0,45,120,.22),
    0 1px 0 #0757b4,
    0 5px 10px rgba(0,0,0,.26)!important;
}

.utl-ai-panel{bottom:72px!important}
.utl-ai-quick{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  padding:12px!important;
  background:#fff!important;
  border-top:1px solid #eee!important;
}
.utl-ai-quick button{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:48px!important;
  width:100%!important;
  border:1px solid #dfe3e8!important;
  background:#fff!important;
  border-radius:10px!important;
  padding:10px 11px!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.25!important;
  text-align:left!important;
  cursor:pointer!important;
  box-shadow:0 1px 2px rgba(0,0,0,.04)!important;
}
.utl-ai-quick button:hover,.utl-ai-quick button:focus{
  border-color:#9aa3ad!important;
  background:#f8f9fa!important;
  outline:none!important;
}

@media(max-width:480px){
  #utl-ai-root{right:8px!important;bottom:var(--utl-chat-bottom-mobile,96px)!important}
  .utl-ai-launcher{
    width:82px!important;
    min-width:82px!important;
    height:52px!important;
    min-height:52px!important;
    border-radius:26px!important;
  }
  .utl-ai-launcher-label{font-size:13px!important}
  .utl-ai-panel{bottom:70px!important}
  .utl-ai-quick{grid-template-columns:1fr!important;gap:7px!important}
  .utl-ai-quick button{min-height:44px!important}
}
