/* ML Tree Service — AI chatbot widget */
.mlc-root{
  --mlc-green:#33610f; --mlc-green2:#4d7a15; --mlc-orange:#65971c;
  --mlc-cream:#f3f8ec; --mlc-ink:#1e3808; --mlc-muted:#5a6b4a; --mlc-line:#d2e8b0;
  position:fixed; bottom:22px; right:22px; z-index:2147483000;
  font-family:Arial,Helvetica,sans-serif;
}
.mlc-root *{box-sizing:border-box}

/* Floating launcher — a branded pill, not a plain bubble */
.mlc-fab{
  display:inline-flex; align-items:center; gap:10px; cursor:pointer;
  background:linear-gradient(135deg,var(--mlc-green),var(--mlc-green2));
  color:#fff; border:0; border-radius:999px; padding:13px 20px 13px 16px;
  font-size:15px; font-weight:900; letter-spacing:.01em;
  box-shadow:0 14px 34px rgba(30,56,8,.34);
  transition:transform .2s ease, box-shadow .2s ease;
  animation:mlc-pop .5s ease both;
}
.mlc-fab:hover{transform:translateY(-2px); box-shadow:0 18px 42px rgba(30,56,8,.42)}
.mlc-fab:active{transform:translateY(0) scale(.98)}
.mlc-fab .mlc-fab-icon{
  width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.18);
  display:grid; place-items:center; flex-shrink:0; animation:mlc-bob 2.6s ease-in-out infinite;
}
.mlc-fab svg{width:18px;height:18px;display:block}
.mlc-fab .mlc-fab-dot{
  position:absolute; top:-3px; right:-3px; width:14px; height:14px; border-radius:50%;
  background:#e23b2e; border:2px solid #fff;
}
.mlc-fab{position:relative}
.mlc-root.is-open .mlc-fab{display:none}

/* Proactive nudge bubble */
.mlc-nudge{
  position:absolute; bottom:64px; right:0; max-width:250px;
  background:#fff; color:var(--mlc-ink); border:1px solid var(--mlc-line);
  border-radius:16px 16px 4px 16px; padding:12px 14px; font-size:14px; line-height:1.35;
  box-shadow:0 14px 34px rgba(30,56,8,.2); cursor:pointer;
  animation:mlc-rise .3s ease both;
}
.mlc-nudge b{color:var(--mlc-green)}
.mlc-nudge .mlc-nudge-x{
  position:absolute; top:-8px; left:-8px; width:22px; height:22px; border-radius:50%;
  background:#fff; border:1px solid var(--mlc-line); color:var(--mlc-muted);
  display:grid; place-items:center; font-size:13px; cursor:pointer; line-height:1;
}

/* Panel */
.mlc-panel{
  position:absolute; bottom:0; right:0; width:380px; height:520px;
  background:var(--mlc-cream); border-radius:22px; overflow:hidden;
  display:none; flex-direction:column;
  box-shadow:0 26px 70px rgba(30,56,8,.34); border:1px solid var(--mlc-line);
  animation:mlc-rise .26s ease both;
}
.mlc-root.is-open .mlc-panel{display:flex}

.mlc-header{
  background:linear-gradient(135deg,var(--mlc-green),var(--mlc-green2)); color:#fff;
  padding:14px 16px; display:flex; align-items:center; gap:12px;
}
.mlc-header .mlc-avatar{
  width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.16);
  display:grid; place-items:center; flex-shrink:0;
}
.mlc-header svg{width:20px;height:20px}
.mlc-header-info{flex:1; min-width:0}
.mlc-header-info strong{display:block; font-size:15px; line-height:1.2}
.mlc-header-info span{font-size:12px; opacity:.85; display:flex; align-items:center; gap:5px}
.mlc-header-info span:before{content:""; width:8px; height:8px; border-radius:50%; background:#7ee27e; display:inline-block}
.mlc-header-close{
  background:rgba(255,255,255,.15); border:0; color:#fff; width:34px; height:34px;
  border-radius:50%; cursor:pointer; font-size:20px; line-height:1; display:grid; place-items:center;
  transition:background .2s ease;
}
.mlc-header-close:hover{background:rgba(255,255,255,.3)}

.mlc-messages{
  flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px;
}
.mlc-messages::-webkit-scrollbar{width:8px}
.mlc-messages::-webkit-scrollbar-thumb{background:var(--mlc-line); border-radius:999px}

.mlc-msg{max-width:82%; padding:10px 13px; border-radius:16px; font-size:14px; line-height:1.42; white-space:pre-wrap; word-wrap:break-word}
.mlc-msg.bot{align-self:flex-start; background:#fff; color:var(--mlc-ink); border:1px solid var(--mlc-line); border-bottom-left-radius:5px}
.mlc-msg.user{align-self:flex-end; background:linear-gradient(135deg,var(--mlc-green),var(--mlc-green2)); color:#fff; border-bottom-right-radius:5px}

.mlc-typing{align-self:flex-start; background:#fff; border:1px solid var(--mlc-line); border-radius:16px; border-bottom-left-radius:5px; padding:12px 14px; display:flex; gap:4px}
.mlc-typing span{width:7px; height:7px; border-radius:50%; background:var(--mlc-green2); opacity:.5; animation:mlc-blink 1.2s infinite}
.mlc-typing span:nth-child(2){animation-delay:.2s}
.mlc-typing span:nth-child(3){animation-delay:.4s}

/* Quick action chips */
.mlc-quick{display:flex; flex-wrap:wrap; gap:7px; padding:0 16px 10px}
.mlc-chip{
  background:#fff; border:1px solid var(--mlc-line); color:var(--mlc-green);
  border-radius:999px; padding:8px 12px; font-size:13px; font-weight:800; cursor:pointer;
  transition:background .15s ease, transform .15s ease, border-color .15s ease;
}
.mlc-chip:hover{background:var(--mlc-cream); border-color:var(--mlc-green2); transform:translateY(-1px)}

/* Inline lead form */
.mlc-leadform{margin:2px 0 4px; align-self:stretch; background:#fff; border:1px solid var(--mlc-line); border-radius:16px; padding:14px; display:grid; gap:8px}
.mlc-leadform strong{color:var(--mlc-green); font-size:14px}
.mlc-leadform input{border:1px solid var(--mlc-line); border-radius:10px; padding:10px 11px; font:inherit; font-size:14px; width:100%}
.mlc-leadform input:focus{outline:0; border-color:var(--mlc-green2); box-shadow:0 0 0 3px rgba(77,122,21,.16)}
.mlc-leadform button{border:0; background:var(--mlc-orange); color:#fff; border-radius:10px; padding:11px; font-weight:900; cursor:pointer; font-size:14px}
.mlc-leadform button:disabled{opacity:.6; cursor:default}
.mlc-leadform .mlc-lead-skip{background:none; color:var(--mlc-muted); padding:4px; font-weight:700; font-size:12px}

.mlc-input{display:flex; gap:8px; padding:12px 14px; background:#fff; border-top:1px solid var(--mlc-line)}
.mlc-input input{flex:1; border:1px solid var(--mlc-line); border-radius:999px; padding:11px 15px; font:inherit; font-size:14px}
.mlc-input input:focus{outline:0; border-color:var(--mlc-green2); box-shadow:0 0 0 3px rgba(77,122,21,.16)}
.mlc-send{border:0; background:linear-gradient(135deg,var(--mlc-green),var(--mlc-green2)); color:#fff; width:44px; height:44px; border-radius:50%; cursor:pointer; display:grid; place-items:center; flex-shrink:0; transition:transform .15s ease}
.mlc-send:hover{transform:scale(1.06)}
.mlc-send:disabled{opacity:.55; cursor:default; transform:none}
.mlc-send svg{width:19px; height:19px}

@keyframes mlc-pop{from{opacity:0; transform:scale(.7)} to{opacity:1; transform:scale(1)}}
@keyframes mlc-rise{from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:translateY(0)}}
@keyframes mlc-bob{0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)}}
@keyframes mlc-blink{0%,60%,100%{opacity:.3} 30%{opacity:1}}

/* Mobile: full screen */
@media (max-width:520px){
  .mlc-root{bottom:0; right:0; left:0}
  .mlc-fab{position:fixed; bottom:16px; right:16px}
  .mlc-panel{position:fixed; inset:0; width:100%; height:100%; height:100dvh; border-radius:0; border:0}
  .mlc-nudge{position:fixed; bottom:74px; right:16px; left:auto}
}

@media (prefers-reduced-motion:reduce){
  .mlc-fab,.mlc-panel,.mlc-nudge,.mlc-fab .mlc-fab-icon{animation:none}
  .mlc-fab:hover,.mlc-chip:hover,.mlc-send:hover{transform:none}
}
