.nova-chat{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1500;
  display:block!important;
  visibility:visible!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.nova-chat *{box-sizing:border-box}
.nova-chat-toggle{
  min-width:108px;
  height:54px;
  padding:0 17px 0 13px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  background:linear-gradient(135deg,#0891b2 0%,#2563eb 52%,#7c3aed 100%);
  color:#fff;
  box-shadow:0 16px 36px rgba(37,99,235,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.48rem;
  cursor:pointer;
  position:relative;
  font-weight:950;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.nova-chat-toggle:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 44px rgba(37,99,235,.36);
  filter:saturate(1.08);
}
.nova-chat-toggle:active{transform:translateY(0)}
.nova-chat-icon{
  font-size:1.18rem;
  line-height:1;
  filter:drop-shadow(0 2px 3px rgba(15,23,42,.18));
}
.nova-chat-label{
  font-size:.84rem;
  letter-spacing:.01em;
}
.nova-chat-badge{
  position:absolute;
  top:-7px;
  right:-5px;
  min-width:24px;
  height:24px;
  padding:0 5px;
  border-radius:999px;
  background:#10b981;
  color:#fff;
  border:2px solid #fff;
  font-size:.58rem;
  font-weight:950;
  display:flex;
  align-items:center;
  justify-content:center;
}
.nova-chat-panel{
  position:absolute;
  right:0;
  bottom:66px;
  width:min(360px,calc(100vw - 32px));
  height:min(520px,calc(100vh - 112px));
  height:min(520px,calc(100dvh - 112px));
  min-height:390px;
  background:#fff;
  border:1px solid rgba(15,23,42,.1);
  border-radius:20px;
  box-shadow:0 26px 72px rgba(15,23,42,.24);
  overflow:hidden;
  display:none;
  flex-direction:column;
}
.nova-chat.open .nova-chat-panel{
  display:flex;
  animation:novaChatIn .2s ease-out;
}
@keyframes novaChatIn{
  from{opacity:0;transform:translateY(10px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.nova-chat-head{
  padding:.78rem .82rem;
  background:linear-gradient(135deg,#0f172a,#164e63);
  color:#fff;
  display:flex;
  align-items:center;
  gap:.68rem;
  flex:0 0 auto;
}
.nova-chat-logo{
  width:39px;
  height:39px;
  border-radius:13px;
  background:linear-gradient(135deg,#ecfeff,#e0e7ff);
  border:1px solid rgba(255,255,255,.38);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
  box-shadow:0 6px 16px rgba(15,23,42,.2);
}
.nova-chat-title{flex:1;min-width:0}
.nova-chat-title strong{display:block;font-size:.94rem}
.nova-chat-title span{
  display:block;
  margin-top:.08rem;
  font-size:.7rem;
  color:rgba(255,255,255,.76);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nova-chat-close{
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.09);
  color:#fff;
  border-radius:11px;
  cursor:pointer;
  font-size:1.18rem;
  line-height:1;
}
.nova-chat-close:hover{background:rgba(255,255,255,.16)}
.nova-chat-body{
  flex:1 1 auto;
  min-height:150px;
  overflow:auto;
  overscroll-behavior:contain;
  padding:.76rem;
  background:linear-gradient(180deg,#f8fafc,#fff);
  scrollbar-width:thin;
  scrollbar-color:#cbd5e1 transparent;
}
.nova-chat-msg{
  display:flex;
  margin:.5rem 0;
  gap:.45rem;
}
.nova-chat-msg.user{justify-content:flex-end}
.nova-chat-avatar{
  width:26px;
  height:26px;
  border-radius:9px;
  background:linear-gradient(135deg,#ecfeff,#e0e7ff);
  border:1px solid rgba(37,99,235,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.82rem;
  flex:0 0 auto;
}
.nova-chat-bubble{
  max-width:88%;
  padding:.66rem .76rem;
  border-radius:14px;
  font-size:.81rem;
  line-height:1.46;
  box-shadow:0 7px 18px rgba(15,23,42,.055);
  overflow-wrap:anywhere;
}
.nova-chat-msg.bot .nova-chat-bubble{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  color:#334155;
  border-top-left-radius:5px;
}
.nova-chat-msg.user .nova-chat-bubble{
  background:linear-gradient(135deg,#0891b2,#4f46e5);
  color:#fff;
  border-top-right-radius:5px;
}
.nova-chat-small{
  display:block;
  color:#64748b;
  font-size:.75rem;
  line-height:1.38;
  margin-top:.3rem;
}
.nova-chat-quick{
  padding:.54rem .68rem;
  border-top:1px solid rgba(15,23,42,.08);
  background:#fff;
  flex:0 0 auto;
}
.nova-chat-chip-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.4rem;
  margin-top:.44rem;
  max-height:140px;
  overflow:auto;
  overscroll-behavior:contain;
  transition:max-height .2s ease,opacity .16s ease,margin .16s ease;
  scrollbar-width:thin;
}
.nova-chat-quick.is-collapsed{
  padding-bottom:.45rem;
}
.nova-chat-quick.is-collapsed .nova-chat-chip-grid{
  max-height:0;
  opacity:0;
  margin-top:0;
  overflow:hidden;
}
.nova-chat-options-toggle{
  width:100%;
  min-height:38px;
  border:1px solid rgba(37,99,235,.18);
  background:linear-gradient(180deg,#fff,#f8fafc);
  color:#1d4ed8;
  border-radius:10px;
  padding:.48rem .64rem;
  font-size:.73rem;
  font-weight:900;
  cursor:pointer;
}
.nova-chat-chip{
  min-height:38px;
  border:1px solid rgba(6,182,212,.22);
  background:rgba(6,182,212,.055);
  color:#0f766e;
  border-radius:11px;
  padding:.5rem .46rem;
  font-size:.71rem;
  font-weight:850;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease;
  text-align:center;
}
.nova-chat-chip:hover{
  background:linear-gradient(135deg,#0891b2,#4f46e5);
  border-color:transparent;
  color:#fff;
  transform:translateY(-1px);
}
.nova-chat-form{
  display:flex;
  gap:.46rem;
  padding:.66rem;
  border-top:1px solid rgba(15,23,42,.08);
  background:#fff;
  flex:0 0 auto;
}
.nova-chat-input{
  flex:1;
  min-width:0;
  min-height:42px;
  border:1px solid rgba(15,23,42,.14);
  border-radius:12px;
  padding:.66rem .75rem;
  font-size:.81rem;
  outline:none;
  color:#0f172a;
  background:#fff;
}
.nova-chat-input:focus{
  border-color:rgba(6,182,212,.62);
  box-shadow:0 0 0 4px rgba(6,182,212,.1);
}
.nova-chat-send{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#0891b2,#4f46e5);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 9px 20px rgba(6,182,212,.2);
}
.nova-chat-actions{
  display:flex;
  gap:.42rem;
  flex-wrap:wrap;
  margin-top:.58rem;
}
.nova-chat-action{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.3rem;
  text-decoration:none;
  border-radius:9px;
  padding:.48rem .6rem;
  font-size:.71rem;
  font-weight:900;
  background:#f1f5f9;
  color:#0f172a;
  border:1px solid rgba(15,23,42,.08);
  cursor:pointer;
}
.nova-chat-action.primary{
  background:linear-gradient(135deg,#0891b2,#4f46e5);
  color:#fff;
  border-color:transparent;
}
.nova-chat-note{
  font-size:.67rem;
  line-height:1.3;
  color:#64748b;
  padding:.3rem .75rem .05rem;
  background:#fff;
  text-align:center;
  flex:0 0 auto;
}
.nova-chat-typing{
  display:inline-flex;
  gap:4px;
  align-items:center;
}
.nova-chat-typing span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#94a3b8;
  animation:novaTyping 1s infinite ease-in-out;
}
.nova-chat-typing span:nth-child(2){animation-delay:.12s}
.nova-chat-typing span:nth-child(3){animation-delay:.24s}
@keyframes novaTyping{
  0%,80%,100%{opacity:.35;transform:translateY(0)}
  40%{opacity:1;transform:translateY(-3px)}
}
.nova-chat-fallback{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1500;
  padding:.82rem 1rem;
  border-radius:999px;
  background:linear-gradient(135deg,#0891b2,#4f46e5);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 18px 42px rgba(37,99,235,.28);
}
.nova-chat-toggle:focus-visible,
.nova-chat-close:focus-visible,
.nova-chat-options-toggle:focus-visible,
.nova-chat-chip:focus-visible,
.nova-chat-send:focus-visible,
.nova-chat-action:focus-visible{
  outline:3px solid #f59e0b;
  outline-offset:3px;
}
.sticky-quick-contact{
  left:50%!important;
  right:auto!important;
  bottom:18px!important;
  z-index:1100!important;
  display:flex!important;
  gap:.55rem!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  max-width:calc(100vw - 32px)!important;
  transform:translateX(-50%)!important;
  transition:opacity .24s ease,transform .24s ease,visibility .24s ease!important;
  padding:.42rem!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(226,232,240,.9)!important;
  box-shadow:0 20px 55px rgba(15,23,42,.20)!important;
  backdrop-filter:blur(18px) saturate(1.25)!important;
}
.sticky-quick-contact .btn{
  padding:.72rem 1.05rem!important;
  border-radius:14px!important;
  font-size:.8rem!important;
  font-weight:900!important;
  min-height:42px!important;
  min-width:136px!important;
  white-space:nowrap!important;
  justify-content:center!important;
}
.sticky-quick-contact .btn-outline{
  background:#0f172a!important;
  color:#fff!important;
  border-color:#0f172a!important;
}
.sticky-quick-contact.is-hidden,
body.nova-byte-chat-open .sticky-quick-contact{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate(-50%,120%)!important;
}
@media(max-width:640px){
  .nova-chat{right:12px;bottom:84px}
  .nova-chat-toggle{
    min-width:84px;
    height:50px;
    padding:0 13px 0 10px;
    gap:.35rem;
  }
  .nova-chat-icon{font-size:1.05rem}
  .nova-chat-label{font-size:.77rem}
  .nova-chat-panel{
    right:-2px;
    bottom:60px;
    width:calc(100vw - 20px);
    height:min(560px,calc(100vh - 118px));
    height:min(560px,calc(100dvh - 118px));
    min-height:360px;
    border-radius:18px;
  }
  .nova-chat-bubble{max-width:90%}
  .nova-chat-chip-grid{grid-template-columns:1fr 1fr;max-height:150px}
  .sticky-quick-contact{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    transform:none!important;
    max-width:none!important;
  }
  .sticky-quick-contact .btn{
    flex:1!important;
    min-width:0!important;
    padding:.68rem .5rem!important;
    font-size:.75rem!important;
  }
  .sticky-quick-contact.is-hidden,
  body.nova-byte-chat-open .sticky-quick-contact{
    transform:translateY(120%)!important;
  }
}
@media(min-width:641px) and (max-height:650px){
  .nova-chat-panel{
    height:calc(100vh - 96px);
    height:calc(100dvh - 96px);
    min-height:340px;
    bottom:62px;
  }
  .nova-chat-body{min-height:120px}
}
@media(prefers-reduced-motion:reduce){
  .nova-chat *,
  .nova-chat *::before,
  .nova-chat *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}
