:root{
  --axora-primary:#00d9ff;
  --axora-primary-soft:rgba(0,217,255,.16);
  --axora-secondary:#04172a;
  --axora-secondary-2:#08233c;
  --axora-panel:#081a2d;
  --axora-panel-2:#0d2740;
  --axora-text:#ffffff;
  --axora-text-dark:#08131d;
  --axora-muted:#9bc3d7;
  --axora-border:rgba(80,214,255,.16);
  --axora-shadow:0 24px 80px rgba(0,0,0,.32);
}

#axora-chatbot-root{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:999999;
  font-family:Montserrat, Inter, Arial, sans-serif;
}

.axora-chatbot-toggle{
  position:relative;
  width:78px;
  height:78px;
  border:none !important;
  outline:none !important;
  border-radius:0;
  background:transparent !important;
  cursor:pointer;
  box-shadow:none !important;
  appearance:none;
  -webkit-appearance:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  overflow:visible;
  animation:axoraBotFloat 3s ease-in-out infinite;
}
.axora-chatbot-toggle:focus,
.axora-chatbot-toggle:focus-visible,
.axora-chatbot-toggle:active{
  outline:none !important;
  border:none !important;
  box-shadow:none !important;
  background:transparent !important;
}
.axora-chatbot-toggle::before,
.axora-chatbot-toggle::after{
  content:none;
}

.axora-chatbot-toggle.is-hidden{display:none;}
.axora-chatbot-toggle__pulse{
  position:absolute;
  inset:8px;
  border-radius:50%;
  border:1px solid rgba(0,217,255,.32);
  animation:axoraPulse 2.4s infinite;
  pointer-events:none;
}
.axora-chatbot-toggle__badge{
  position:absolute;
  top:8px;
  right:14px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#16f06a;
  box-shadow:0 0 0 4px rgba(22,240,106,.12), 0 0 12px rgba(22,240,106,.45);
  z-index:3;
}

.axora-chatbot-robot{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  pointer-events:none;
  display:flex;
  align-items:center;
  justify-content:center;
}
.axora-chatbot-robot svg{
  width:62px;
  height:62px;
  display:block;
  filter:drop-shadow(0 0 10px rgba(0,217,255,.20)) drop-shadow(0 8px 20px rgba(0,0,0,.18));
}
.axora-chatbot-robot__head,
.axora-chatbot-robot__body,
.axora-chatbot-robot__eye,
.axora-chatbot-robot__antenna,
.axora-chatbot-robot__mouth{
  stroke:#0ccfe6;
  stroke-width:1.8;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.axora-chatbot-robot__eye{animation:axoraBlinkGlow 3.2s infinite;}
.axora-chatbot-robot__eye--right{animation-delay:.15s;}

@keyframes axoraPulse{0%{transform:scale(.96);opacity:.85}70%{transform:scale(1.08);opacity:.18}100%{transform:scale(1.13);opacity:0}}
@keyframes axoraBotFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes axoraSweep{0%{transform:translateX(-30%) rotate(22deg)}100%{transform:translateX(230%) rotate(22deg)}}
@keyframes axoraBlinkGlow{0%,45%,100%{opacity:1}47%,49%{opacity:.18}}

.axora-chatbot-panel{
  width:min(400px, calc(100vw - 28px));
  height:min(680px, calc(100vh - 42px));
  background:#ffffff;
  border:1px solid rgba(6,32,51,.10);
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--axora-shadow);
}

.axora-chatbot-header{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:18px 18px 16px;
  border-bottom:1px solid rgba(6,32,51,.08);
  background:linear-gradient(180deg, rgba(9,31,52,.98), rgba(5,20,35,.98));
}
.axora-chatbot-header::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(0,217,255,.45), transparent);
}
.axora-chatbot-title{margin:0;color:#ffffff;font-size:18px;font-weight:700;}
.axora-chatbot-subtitle{margin:4px 0 0;color:#b8d5e4;font-size:12px;}
.axora-chatbot-close{
  border:none;
  background:rgba(255,255,255,.07);
  color:#ffffff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  width:34px;
  height:34px;
  border-radius:12px;
}

.axora-chatbot-body{
  display:flex;
  flex-direction:column;
  gap:12px;
  height:calc(100% - 147px);
  min-height:0;
  padding:14px;
  background:#ffffff;
  overflow:hidden;
}

.axora-chatbot-messages{
  flex:1;
  min-height:0;
  overflow-y:auto;
  padding-right:4px;
}
.axora-chatbot-message{display:flex;margin-bottom:12px;}
.axora-chatbot-message--bot{justify-content:flex-start;}
.axora-chatbot-message--user{justify-content:flex-end;}
.axora-chatbot-bubble{
  max-width:86%;
  padding:12px 14px;
  border-radius:18px;
  font-size:14px;
  line-height:1.55;
  word-break:break-word;
  color:#111111;
}
.axora-chatbot-message--bot .axora-chatbot-bubble{
  background:#f7f9fb;
  color:#111111;
  border:1px solid rgba(6,32,51,.08);
}
.axora-chatbot-message--user .axora-chatbot-bubble{
  background:#eafcff;
  color:#111111;
  border:1px solid rgba(0,217,255,.22);
  font-weight:600;
}
.axora-chatbot-bubble a{color:#067d92;font-weight:700;text-decoration:none;}

.axora-chatbot-actions{display:flex;flex-wrap:wrap;gap:8px;}
.axora-chatbot-chip{
  border:1px solid rgba(6,32,51,.10);
  background:#ffffff;
  color:#111111;
  border-radius:999px;
  padding:9px 13px;
  font-size:12px;
  cursor:pointer;
  transition:.2s ease;
}
.axora-chatbot-chip:hover{background:#eefcff;border-color:rgba(0,217,255,.36);transform:translateY(-1px);}

.axora-chatbot-inputbar{
  display:flex;
  gap:10px;
  padding:14px;
  border-top:1px solid rgba(6,32,51,.08);
  background:#ffffff;
}
.axora-chatbot-input{
  flex:1;
  min-width:0;
  border:1px solid rgba(6,32,51,.12);
  background:#ffffff;
  color:#111111;
  border-radius:14px;
  padding:12px 14px;
  outline:none;
}
.axora-chatbot-input:focus,
.axora-chatbot-lead-form input:focus,
.axora-chatbot-lead-form textarea:focus,
.axora-chatbot-lead-form select:focus{
  border-color:rgba(0,217,255,.45);
  box-shadow:0 0 0 4px rgba(0,217,255,.10);
}
.axora-chatbot-input::placeholder{color:#65717b;}
.axora-chatbot-send,
.axora-chatbot-form-actions button[type="submit"]{
  border:none;
  background:linear-gradient(135deg,#00d9ff,#72efff);
  color:#07131f;
  font-weight:700;
  border-radius:14px;
  padding:12px 16px;
  cursor:pointer;
  box-shadow:0 10px 20px rgba(0,217,255,.16);
}

.axora-chatbot-lead-form{
  border:1px solid rgba(6,32,51,.10);
  background:#ffffff;
  border-radius:18px;
  padding:14px;
  max-height:100%;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.axora-chatbot-lead-form h4{margin:0 0 12px;color:#111111;}
.axora-chatbot-lead-form input,
.axora-chatbot-lead-form textarea,
.axora-chatbot-lead-form select{
  width:100%;
  margin-bottom:10px;
  border:1px solid rgba(6,32,51,.12);
  background:#ffffff;
  color:#111111;
  border-radius:12px;
  padding:11px 12px;
  box-sizing:border-box;
}
.axora-chatbot-lead-form textarea{resize:vertical;}
.axora-chatbot-form-actions{display:flex;gap:10px;}
.axora-chatbot-form-cancel{
  border:1px solid rgba(6,32,51,.12);
  background:#ffffff;
  color:#111111;
  border-radius:14px;
  padding:12px 16px;
  cursor:pointer;
}

.axora-chatbot-typing .axora-chatbot-bubble{display:flex;gap:5px;align-items:center;background:#f4f7f8;}
.axora-chatbot-typing span{
  width:8px;height:8px;border-radius:50%;background:var(--axora-primary);display:inline-block;animation:axoraTyping 1.2s infinite ease-in-out;
}
.axora-chatbot-typing span:nth-child(2){animation-delay:.15s}
.axora-chatbot-typing span:nth-child(3){animation-delay:.3s}
@keyframes axoraTyping{0%,80%,100%{transform:scale(.7);opacity:.45}40%{transform:scale(1);opacity:1}}

@media (max-width: 1024px){
  #axora-chatbot-root{right:18px;bottom:18px;}
  .axora-chatbot-toggle{width:68px;height:68px;border-radius:22px;}
  .axora-chatbot-toggle::before{border-radius:21px;}
}

@media (max-width: 767px){
  #axora-chatbot-root{right:12px;bottom:max(12px, env(safe-area-inset-bottom));}
  .axora-chatbot-panel{
    position:fixed;
    right:10px;
    left:10px;
    bottom:10px;
    width:auto;
    height:min(78vh, 620px);
    border-radius:24px;
  }
  .axora-chatbot-body{height:calc(100% - 144px);padding:12px;}
  .axora-chatbot-toggle{width:62px;height:62px;border-radius:20px;}
  .axora-chatbot-toggle::before{border-radius:19px;}
  .axora-chatbot-robot svg{width:34px;height:34px;}
  .axora-chatbot-bubble{max-width:90%;font-size:13px;}
  .axora-chatbot-inputbar{padding:12px;gap:8px;}
  .axora-chatbot-input,.axora-chatbot-send{padding:11px 12px;}
  .axora-chatbot-actions{gap:6px;}
  .axora-chatbot-chip{font-size:11px;padding:8px 11px;}
  .axora-chatbot-form-actions{flex-direction:column;}
}

@media (max-width: 480px){
  .axora-chatbot-header{padding:16px 16px 14px;}
  .axora-chatbot-title{font-size:16px;}
  .axora-chatbot-subtitle{font-size:11px;}
  .axora-chatbot-panel{height:min(76vh, 580px);}
}

.axora-chatbot-form-actions{
  display:flex;
  gap:10px;
  position:sticky;
  bottom:-14px;
  background:#ffffff;
  padding-top:10px;
}
.axora-chatbot-form-cancel{
  border:1px solid rgba(6,32,51,.12);
  background:#ffffff;
  color:#111111;
  font-weight:600;
  border-radius:14px;
  padding:12px 16px;
  cursor:pointer;
}
@media (max-width: 767px){
  #axora-chatbot-root{
    right:14px;
    bottom:14px;
  }
  .axora-chatbot-toggle{
    width:68px;
    height:68px;
  }
  .axora-chatbot-robot svg{
    width:54px;
    height:54px;
  }
  .axora-chatbot-panel{
    width:min(100vw - 16px, 390px);
    height:min(100vh - 24px, 680px);
    border-radius:22px;
  }
}
