/* NexusChat Pro — Widget Styles v1.1 */

/* Window container */
.nxc-window {
  background: #0f1117;
  border: 1px solid #2a3048;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 48px rgba(0,0,0,.7);
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 14px;
  animation: nxcPop .28s cubic-bezier(.4,0,.2,1);
}
@keyframes nxcPop {
  from { opacity:0; transform: translateY(16px) scale(.95); }
  to   { opacity:1; transform: none; }
}

/* Header */
.nxc-chd {
  padding: 13px 15px;
  background: linear-gradient(135deg,rgba(91,142,255,.15),rgba(139,92,246,.1));
  border-bottom: 1px solid #2a3048;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.nxc-cav {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--nxc-grad, linear-gradient(135deg,#5b8eff,#8b5cf6));
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; flex-shrink: 0;
}
.nxc-cname  { font-size: .88rem; font-weight: 700; color: #eef0f8; }
.nxc-cstatus{ font-size: .7rem; color: #06d6a0; display: flex; align-items: center; gap: 4px; }
.nxc-sdot   { width: 6px; height: 6px; border-radius: 50%; background: #06d6a0; animation: nxcBlink 1.5s ease-in-out infinite; }
@keyframes nxcBlink { 0%,100%{opacity:1} 50%{opacity:.3} }
.nxc-cx {
  cursor: pointer; color: #5c6480; font-size: 1rem; margin-left: auto;
  background: none; border: none; padding: 4px 6px; transition: color .2s;
  line-height: 1;
}
.nxc-cx:hover { color: #eef0f8; }

/* Messages area */
.nxc-msgs {
  flex: 1;
  overflow-y: auto;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 320px;
  min-height: 200px;
}
.nxc-msgs::-webkit-scrollbar { width: 3px; }
.nxc-msgs::-webkit-scrollbar-thumb { background: #2a3048; border-radius: 3px; }

/* Chat bubbles */
.nxc-msg { max-width: 82%; display: flex; flex-direction: column; gap: 2px; }
.nxc-msg.bot { align-self: flex-start; }
.nxc-msg.usr { align-self: flex-end; }
.nxc-mbub { padding: 8px 12px; border-radius: 14px; font-size: .83rem; line-height: 1.5; word-break: break-word; }
.nxc-msg.bot .nxc-mbub { background: #161921; color: #eef0f8; border-bottom-left-radius: 3px; }
.nxc-msg.usr .nxc-mbub { background: var(--nxc-grad,linear-gradient(135deg,#5b8eff,#8b5cf6)); color: #fff; border-bottom-right-radius: 3px; }
.nxc-msg.bot .nxc-mbub a { color: #5b8eff; }
.nxc-msg.usr .nxc-mbub a { color: #fff; }
.nxc-mtm { font-size: .62rem; color: #5c6480; padding: 0 4px; }
.nxc-msg.usr .nxc-mtm { text-align: right; }

/* Typing indicator */
.nxc-typing { display:flex; gap:4px; align-items:center; padding:8px 12px; background:#161921; border-radius:14px; border-bottom-left-radius:3px; width:fit-content; }
.nxc-td { width:5px; height:5px; border-radius:50%; background:#5c6480; animation:nxcBounce 1.2s ease-in-out infinite; }
.nxc-td:nth-child(2){animation-delay:.2s} .nxc-td:nth-child(3){animation-delay:.4s}
@keyframes nxcBounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px);background:#5b8eff} }

/* Quick replies */
.nxc-quick { display:flex; flex-wrap:wrap; gap:5px; padding:0 14px 8px; flex-shrink:0; }
.nxc-qbtn {
  background:#161921; border:1px solid #353d58; border-radius:20px;
  padding:5px 11px; font-size:.75rem; cursor:pointer; color:#9ba3c0;
  transition:.2s; font-family:inherit;
}
.nxc-qbtn:hover { background:rgba(91,142,255,.12); border-color:rgba(91,142,255,.5); color:#5b8eff; }

/* Satisfaction buttons */
.nxc-sat { display:flex; gap:8px; padding:0 14px 8px; flex-shrink:0; }
.nxc-sy, .nxc-sn {
  flex:1; padding:8px 10px; border-radius:8px; font-size:.78rem; font-weight:600;
  cursor:pointer; border:1px solid; transition:.2s; font-family:inherit;
  display:flex; align-items:center; justify-content:center; gap:5px;
}
.nxc-sy { background:rgba(6,214,160,.09); border-color:rgba(6,214,160,.3); color:#06d6a0; }
.nxc-sy:hover { background:rgba(6,214,160,.2); }
.nxc-sn { background:rgba(255,107,107,.09); border-color:rgba(255,107,107,.3); color:#ff6b6b; }
.nxc-sn:hover { background:rgba(255,107,107,.2); }

/* Input area */
.nxc-cia {
  border-top:1px solid #2a3048;
  padding:10px 14px;
  display:flex; gap:8px; align-items:center;
  flex-shrink:0;
}
.nxc-cinp {
  flex:1; background:#161921; border:1px solid #2a3048;
  border-radius:20px; padding:8px 14px; color:#eef0f8;
  font-size:.83rem; font-family:inherit; outline:none; transition:.2s;
}
.nxc-cinp:focus  { border-color:#5b8eff; }
.nxc-cinp::placeholder { color:#3a4060; }
.nxc-csend {
  width:34px; height:34px; border-radius:50%;
  background:var(--nxc-grad,linear-gradient(135deg,#5b8eff,#8b5cf6));
  border:none; color:#fff; cursor:pointer; font-size:.9rem;
  display:flex; align-items:center; justify-content:center; transition:.2s;
  flex-shrink:0;
}
.nxc-csend:hover { transform:scale(1.1); }

/* Powered by */
.nxc-cpw { text-align:center; font-size:.62rem; color:#3a4060; padding:5px; background:#0f1117; flex-shrink:0; }

/* AI loading */
.nxc-ai-loading { display:flex; align-items:center; gap:6px; font-size:.75rem; color:#5c6480; padding:4px 14px; }
.nxc-spin { width:12px; height:12px; border:2px solid #2a3048; border-top-color:#5b8eff; border-radius:50%; animation:nxcSpin .7s linear infinite; flex-shrink:0; }
@keyframes nxcSpin { to { transform:rotate(360deg); } }
