:root{
  --webbot-primary:#2E8B57;
  --webbot-bg:#F5F5DC;
  --webbot-text:#1b1b1b;
  --webbot-muted:#5a5a5a;
  --webbot-border:#ece7d8;
}
.webbot-fab{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2200;
  width:68px;
  height:68px;
  border-radius:50%;
  border:0;
  background:linear-gradient(145deg,#37a866,#2E8B57);
  color:#fff;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(46,139,87,.45),0 2px 12px rgba(0,0,0,.18);
  font-size:30px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  animation:webbotFloat 2.2s ease-in-out infinite;
  transform-origin:center;
}
.webbot-fab:hover{transform:translateY(-2px) scale(1.03)}
.webbot-fab:focus-visible{outline:3px solid rgba(46,139,87,.28);outline-offset:2px}
@keyframes webbotFloat{
  0%{transform:translateY(0) rotate(-3deg);box-shadow:0 12px 28px rgba(46,139,87,.45),0 2px 12px rgba(0,0,0,.18)}
  50%{transform:translateY(-3px) rotate(3deg);box-shadow:0 16px 34px rgba(46,139,87,.52),0 2px 14px rgba(0,0,0,.2)}
  100%{transform:translateY(0) rotate(-3deg);box-shadow:0 12px 28px rgba(46,139,87,.45),0 2px 12px rgba(0,0,0,.18)}
}
@media (prefers-reduced-motion: reduce){.webbot-fab{animation:none}}
.webbot-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.38);
  z-index:2201;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,visibility .2s ease;
  padding:16px;
}
.webbot-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
.webbot-modal{
  width:min(645px,100%);
  height:min(82vh,760px);
  background:#fff;
  border:1px solid var(--webbot-border);
  border-radius:16px;
  margin:0;
  padding:0 !important;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.28);
}
.webbot-header{
  padding:6px 10px 8px;
  background:#f8f8f3;
  border-bottom:1px solid var(--webbot-border);
  display:flex;
  gap:8px;
  align-items:flex-start;
  justify-content:space-between;
}
.webbot-title-wrap{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.webbot-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.webbot-title{font-family:'Montserrat',system-ui,Arial,sans-serif;font-weight:700}
.webbot-material{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:10px 12px;
  border:1px solid rgba(46,139,87,.18);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(46,139,87,.08),rgba(255,255,255,.98));
}
.webbot-material[hidden]{display:none}
.webbot-material-kicker{
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--webbot-primary);
}
.webbot-material-title{
  font-family:'Montserrat',system-ui,Arial,sans-serif;
  font-size:17px;
  font-weight:700;
  line-height:1.35;
  color:var(--webbot-text);
}
.webbot-material-note{font-size:12px;line-height:1.4;color:var(--webbot-muted)}
.webbot-material-actions{display:flex;gap:8px;flex-wrap:wrap}
.webbot-auth{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.webbot-auth input{
  flex:1 1 142px;
  border:1px solid #d7d5cc;
  border-radius:10px;
  padding:9px 10px;
  font-size:14px;
  min-width:90px;
}
.mini-btn{
  padding:9px 10px;
  border-radius:10px;
  border:1px solid var(--webbot-primary);
  background:#fff;
  color:var(--webbot-primary);
  font-weight:700;
  cursor:pointer;
}
.mini-btn-primary{background:var(--webbot-primary);color:#fff}
.webbot-revoke-btn{display:none}
.webbot-email-note-wrap{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-left:auto;min-height:20px}
.webbot-email-note{font-size:12px;font-weight:400;line-height:1.35;color:#6b6558;text-align:right}
.webbot-logout-btn{display:none;font-size:12px;padding:6px 8px;line-height:1.2;font-weight:400}
.webbot-close{
  width:auto;
  height:auto;
  padding:6px 8px;
  border-radius:10px;
  border:1px solid var(--webbot-primary);
  background:#fff;
  color:var(--webbot-primary);
  cursor:pointer;
  font-size:12px;
  font-weight:400;
  line-height:1.2;
}
.webbot-messages{flex:1;overflow:auto;padding:12px 12px 140px;background:#fff}
.webbot-msg{
  max-width:92%;
  margin:0 0 8px;
  padding:10px 12px;
  border-radius:12px;
  font-size:14px;
  line-height:1.45;
  white-space:pre-wrap;
  word-break:break-word;
}
.webbot-msg-user{margin-left:auto;background:#e8f4ec;border:1px solid #d4e9db}
.webbot-msg-bot{margin-right:auto;background:#f5f5f1;border:1px solid var(--webbot-border)}
.webbot-msg-bot a{color:#236844;text-decoration:underline;text-underline-offset:2px}
.webbot-file-row{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#edf6ef;
  border:1px solid #d2e8d7;
  border-radius:9px;
  padding:6px 9px;
}
.webbot-file-link{font-weight:700;text-decoration:none}
.webbot-typing{display:inline-flex;align-items:center;gap:5px}
.webbot-dot{width:6px;height:6px;border-radius:50%;background:#7e7e7e;opacity:.35;animation:webbotTyping 1s infinite ease-in-out}
.webbot-dot:nth-child(2){animation-delay:.15s}
.webbot-dot:nth-child(3){animation-delay:.3s}
@keyframes webbotTyping{
  0%,80%,100%{transform:translateY(0);opacity:.3}
  40%{transform:translateY(-3px);opacity:.95}
}
.webbot-consents{
  padding:10px 14px 8px;
  background:#fcfbf7;
  border-top:1px solid #efeada;
}
.webbot-check{
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:12px;
  color:#3b3b3b;
  max-height:88px;
  opacity:1;
  overflow:hidden;
  transition:max-height .45s ease,opacity .45s ease,margin .45s ease;
}
.webbot-check input{margin-top:2px}
.webbot-check.is-accepted{max-height:0;opacity:0;margin:0;pointer-events:none}
.webbot-footer-wrap{padding:8px 10px 0;border-top:1px solid var(--webbot-border);background:#fff}
.webbot-footer{padding:0;display:flex;gap:8px;border-top:0}
.webbot-footer input{flex:1;border:1px solid #d7d5cc;border-radius:10px;padding:11px 12px;font-size:14px}
.webbot-footer button{padding:11px 14px;border-radius:10px;border:0;background:var(--webbot-primary);color:#fff;font-weight:700;cursor:pointer}
.webbot-footer-note{margin:8px 2px 0;padding-bottom:8px;font-size:11px;line-height:1.35;color:#6b6558}
.webbot-status{font-size:12px;color:#6b6558}
.webbot-status:empty{display:none}
.webbot-warning{color:#a3261e}
@media(max-width:640px){
  .webbot-overlay{padding:10px}
  .webbot-modal{height:min(86vh,760px)}
  .webbot-topbar,.webbot-auth,.webbot-footer{flex-direction:column;align-items:stretch}
  .webbot-email-note-wrap{justify-content:flex-start;text-align:left;margin-left:0}
  .webbot-footer button,.mini-btn{width:100%}
}
