/* ============================================================
   Nimesh Hariya & Associates — Advisory Assistant (static FAQ bot)
   No AI / no live model — answers only from the fixed script in
   js/chatbot.js. Escalates to CA. Nimesh R. Hariya via WhatsApp,
   email, or the Client Login portal.
   ============================================================ */

.nha-chat-launcher{
  position:fixed;bottom:96px;right:28px;width:58px;height:58px;border-radius:50%;
  background:var(--navy-900,#0a1a33);color:var(--gold-400,#e8c766);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md,0 12px 32px rgba(10,26,51,.18));
  z-index:200;transition:transform .25s,background .25s;
}
.nha-chat-launcher:hover{background:var(--gold-500,#d4af37);color:var(--navy-950,#050b18);transform:scale(1.06);}
.nha-chat-launcher svg{width:26px;height:26px;}
.nha-chat-launcher .nha-chat-dot{
  position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;
  background:#25D366;border:2px solid #fff;
}

.nha-chat-panel{
  position:fixed;bottom:166px;right:28px;width:360px;max-width:calc(100vw - 32px);
  max-height:min(560px,calc(100vh - 200px));background:#fff;border-radius:18px;
  box-shadow:var(--shadow-lg,0 24px 60px rgba(10,26,51,.22));z-index:200;
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;transform:translateY(16px) scale(.98);pointer-events:none;transition:all .22s ease;
  border:1px solid var(--border,#e3e7ef);
}
.nha-chat-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}

.nha-chat-head{
  background:var(--navy-900,#0a1a33);color:#fff;padding:16px 18px;display:flex;align-items:center;gap:12px;flex:none;
}
.nha-chat-head .nha-chat-avatar{
  width:38px;height:38px;border-radius:50%;background:var(--gold-500,#d4af37);color:var(--navy-950,#050b18);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;flex:none;
}
.nha-chat-head-text h4{margin:0;font-size:.94rem;font-weight:700;}
.nha-chat-head-text p{margin:2px 0 0;font-size:.72rem;color:#c8d3e6;}
.nha-chat-close{margin-left:auto;background:none;border:none;color:#c8d3e6;cursor:pointer;padding:4px;line-height:1;}
.nha-chat-close:hover{color:#fff;}
.nha-chat-close svg{width:18px;height:18px;}

.nha-chat-body{
  flex:1;overflow-y:auto;padding:16px;background:var(--paper-soft,#f7f8fb);
  display:flex;flex-direction:column;gap:10px;
}
.nha-chat-msg{max-width:88%;font-size:.85rem;line-height:1.5;}
.nha-chat-msg.bot{align-self:flex-start;}
.nha-chat-msg.user{align-self:flex-end;}
.nha-chat-bubble{
  padding:10px 13px;border-radius:14px;background:#fff;color:var(--ink,#101828);
  border:1px solid var(--border,#e3e7ef);box-shadow:var(--shadow-sm,0 2px 8px rgba(10,26,51,.06));
}
.nha-chat-msg.user .nha-chat-bubble{background:var(--navy-900,#0a1a33);color:#fff;border-color:var(--navy-900,#0a1a33);}
.nha-chat-bubble .nha-chat-updated{
  display:block;margin-top:8px;font-size:.68rem;color:var(--ink-soft,#475467);
  border-top:1px dashed var(--border,#e3e7ef);padding-top:6px;
}
.nha-chat-msg.user .nha-chat-bubble .nha-chat-updated{color:#c8d3e6;border-top-color:rgba(255,255,255,.25);}

.nha-chat-options{display:flex;flex-direction:column;gap:8px;align-self:stretch;}
.nha-chat-opt{
  text-align:left;background:#fff;border:1px solid var(--border,#e3e7ef);border-radius:12px;
  padding:9px 12px;font-size:.82rem;color:var(--navy-800,#0f2547);cursor:pointer;transition:all .15s;font-family:var(--font);
}
.nha-chat-opt:hover{border-color:var(--gold-500,#d4af37);background:var(--gold-100,#faf3df);}

.nha-chat-escalate{
  display:flex;flex-direction:column;gap:8px;margin-top:2px;
}
.nha-chat-esc-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 12px;border-radius:12px;font-size:.82rem;font-weight:700;text-decoration:none;
  border:1px solid var(--border,#e3e7ef);color:var(--navy-900,#0a1a33);background:#fff;transition:all .15s;
}
.nha-chat-esc-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm,0 2px 8px rgba(10,26,51,.08));}
.nha-chat-esc-btn.wa{background:#25D366;border-color:#25D366;color:#fff;}
.nha-chat-esc-btn.mail{background:var(--navy-900,#0a1a33);border-color:var(--navy-900,#0a1a33);color:#fff;}
.nha-chat-esc-btn.portal{background:var(--gold-500,#d4af37);border-color:var(--gold-500,#d4af37);color:var(--navy-950,#050b18);}

.nha-chat-foot{
  flex:none;padding:10px 14px;border-top:1px solid var(--border,#e3e7ef);background:#fff;
  font-size:.68rem;color:var(--ink-soft,#475467);text-align:center;
}

/* ---------- Free-text input row (v2) ---------- */
.nha-chat-inputrow{
  flex:none;display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--border,#e3e7ef);
  background:#fff;
}
.nha-chat-input{
  flex:1;min-width:0;padding:10px 14px;border-radius:999px;border:1.5px solid var(--border,#e3e7ef);
  font-family:var(--font,inherit);font-size:.85rem;color:var(--ink,#101828);background:var(--paper-soft,#f7f8fb);
  transition:all .2s;
}
.nha-chat-input:focus{outline:none;border-color:var(--gold-500,#d4af37);background:#fff;}
.nha-chat-send{
  flex:none;width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;
  background:var(--navy-900,#0a1a33);color:var(--gold-400,#e8c766);display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.nha-chat-send:hover{background:var(--gold-500,#d4af37);color:var(--navy-950,#050b18);}
.nha-chat-send svg{width:17px;height:17px;}
.nha-chat-send:disabled{opacity:.5;cursor:not-allowed;}

/* ---------- Knowledge-base answer card (v2) ---------- */
.nha-kb-card{
  background:#fff;border:1px solid var(--border,#e3e7ef);border-radius:14px;padding:13px 15px;
  display:flex;flex-direction:column;gap:8px;
}
.nha-kb-primary{font-size:.85rem;line-height:1.55;color:var(--ink,#101828);margin:0;}
.nha-kb-legal{
  font-size:.76rem;line-height:1.5;color:var(--ink-soft,#475467);margin:0;
  border-left:2px solid var(--gold-500,#d4af37);padding-left:9px;
}
.nha-kb-ask{
  font-size:.76rem;line-height:1.5;color:var(--navy-800,#0f2547);margin:0;
  background:var(--gold-100,#faf3df);border-radius:8px;padding:8px 10px;
}
.nha-kb-meta{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:.68rem;color:var(--ink-soft,#475467);border-top:1px dashed var(--border,#e3e7ef);
  padding-top:7px;margin-top:2px;
}
.nha-kb-confidence{
  font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:6px;
}
.nha-kb-confidence.high{background:rgba(27,122,74,.12);color:var(--success,#1b7a4a);}
.nha-kb-confidence.moderate{background:rgba(212,175,55,.16);color:var(--gold-600,#b8892f);}
.nha-kb-confidence.low,.nha-kb-confidence.unknown{background:rgba(180,35,24,.1);color:#b42318;}
.nha-kb-escalate-note{
  font-size:.74rem;color:#b42318;background:rgba(180,35,24,.06);border-radius:8px;padding:8px 10px;
  margin:0;font-weight:600;
}
.nha-chat-typing{display:flex;gap:4px;padding:4px 2px;}
.nha-chat-typing span{
  width:6px;height:6px;border-radius:50%;background:var(--ink-soft,#475467);opacity:.5;
  animation:nhaTyping 1s infinite ease-in-out;
}
.nha-chat-typing span:nth-child(2){animation-delay:.15s;}
.nha-chat-typing span:nth-child(3){animation-delay:.3s;}
@keyframes nhaTyping{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-4px);opacity:1;}}

@media(max-width:480px){
  .nha-chat-panel{right:16px;left:16px;width:auto;bottom:150px;}
  .nha-chat-launcher{right:20px;bottom:88px;}
}
