/* Prajna IT Solutions — Chatbot widget styles */
#pjChatRoot{position:fixed;bottom:0;right:0;z-index:9999}

.pj-chat-launcher{position:fixed;bottom:22px;right:22px;width:58px;height:58px;border-radius:50%;background:var(--accent);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 28px rgba(26,86,255,0.38);transition:transform .2s,opacity .2s,box-shadow .2s;z-index:9999}
.pj-chat-launcher:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 12px 34px rgba(26,86,255,0.45)}
.pj-chat-launcher-hidden{opacity:0;pointer-events:none;transform:scale(.7)}

.pj-chat-panel{position:fixed;bottom:22px;right:22px;width:360px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 100px);background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(13,31,78,0.28);display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(16px) scale(.97);transition:opacity .2s,transform .2s;z-index:9999;font-family:var(--font-body,inherit)}
.pj-chat-panel.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}

.pj-chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--ink,#0d1f4e);color:#fff;flex-shrink:0}
.pj-chat-header-info{display:flex;align-items:center;gap:10px}
.pj-chat-avatar{width:34px;height:34px;border-radius:9px;background:var(--accent,#1a56ff);display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--font-display,inherit);flex-shrink:0}
.pj-chat-title{font-family:var(--font-display,inherit);font-size:14.5px;font-weight:700}
.pj-chat-subtitle{font-size:11.5px;color:rgba(255,255,255,.6)}
.pj-chat-close{background:none;border:none;color:rgba(255,255,255,.75);font-size:22px;line-height:1;cursor:pointer;padding:4px 6px;border-radius:6px;transition:background .15s,color .15s}
.pj-chat-close:hover{background:rgba(255,255,255,.12);color:#fff}

.pj-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--surface-alt,#f0f4ff)}
.pj-msg{max-width:86%;padding:10px 13px;border-radius:12px;font-size:13.5px;line-height:1.55;word-wrap:break-word}
.pj-msg-bot{align-self:flex-start;background:#fff;color:var(--ink,#0d1f4e);border:1px solid var(--border,#dde4f0);border-bottom-left-radius:4px}
.pj-msg-user{align-self:flex-end;background:var(--accent,#1a56ff);color:#fff;border-bottom-right-radius:4px}
.pj-msg-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.pj-msg-sources a{font-size:11px;font-weight:600;color:var(--accent,#1a56ff);background:var(--accent-glow,rgba(26,86,255,.1));padding:4px 9px;border-radius:100px;text-decoration:none}
.pj-msg-sources a:hover{background:var(--accent,#1a56ff);color:#fff}

.pj-typing{display:flex;gap:4px;align-items:center;padding:12px 14px}
.pj-typing span{width:6px;height:6px;border-radius:50%;background:var(--ink-muted,#6b7a99);animation:pjTypingBounce 1.2s infinite}
.pj-typing span:nth-child(2){animation-delay:.15s}
.pj-typing span:nth-child(3){animation-delay:.3s}
@keyframes pjTypingBounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}

.pj-chat-quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px;background:var(--surface-alt,#f0f4ff)}
.pj-chat-chip{font-size:12px;font-weight:600;color:var(--accent,#1a56ff);background:#fff;border:1.5px solid var(--accent,#1a56ff);padding:6px 12px;border-radius:100px;cursor:pointer;transition:all .15s}
.pj-chat-chip:hover{background:var(--accent,#1a56ff);color:#fff}

.pj-chat-form{display:flex;align-items:center;gap:8px;padding:12px;border-top:1px solid var(--border,#dde4f0);background:#fff;flex-shrink:0}
.pj-chat-form input{flex:1;border:1.5px solid var(--border,#dde4f0);border-radius:10px;padding:10px 13px;font-size:13.5px;font-family:inherit;outline:none;transition:border-color .15s}
.pj-chat-form input:focus{border-color:var(--accent,#1a56ff)}
.pj-chat-send{width:38px;height:38px;border-radius:10px;background:var(--accent,#1a56ff);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s}
.pj-chat-send:hover{background:#1a3ec9}

@media(max-width:480px){
  .pj-chat-panel{right:16px;bottom:16px;width:calc(100vw - 32px);height:calc(100vh - 90px)}
  .pj-chat-launcher{right:16px;bottom:16px}
}
