/* Nexus AI Universal Chatbot */
:root{
  --nexus-ai-emerald:#50C878;
  --nexus-ai-deep:#053d2b;
  --nexus-ai-ink:#232147;
  --nexus-ai-paper:#f4fbf6;
  --nexus-ai-glass:rgba(255,255,255,.84);
}
.nexus-ai-chatbot{position:fixed;left:24px;bottom:24px;z-index:9998;font-family:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--nexus-ai-ink)}
.nexus-ai-chatbot *{box-sizing:border-box}
.nexus-ai-toggle{width:72px;height:72px;border:0;border-radius:26px;background:linear-gradient(135deg,#8ff23f 0%,#52d97c 44%,#00bfae 100%);box-shadow:0 26px 70px rgba(5,61,43,.28),0 0 0 12px rgba(80,200,120,.13);display:grid;place-items:center;cursor:pointer;transition:transform .28s ease,box-shadow .28s ease;border:1px solid rgba(255,255,255,.55);position:relative;overflow:hidden}
.nexus-ai-toggle::before{content:'';position:absolute;inset:-45%;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.52),transparent 70%);transform:translateX(-80%) rotate(15deg);transition:transform .7s ease}
.nexus-ai-toggle:hover{transform:translateY(-7px) scale(1.03);box-shadow:0 32px 90px rgba(5,61,43,.34),0 0 0 16px rgba(80,200,120,.17)}
.nexus-ai-toggle:hover::before{transform:translateX(75%) rotate(15deg)}
.nexus-ai-toggle svg{width:34px;height:34px;position:relative;z-index:1;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}
.nexus-ai-pulse{position:absolute;right:-2px;top:-2px;width:18px;height:18px;background:#fff;border-radius:999px;border:4px solid var(--nexus-ai-emerald);box-shadow:0 0 0 0 rgba(80,200,120,.7);animation:nexusAiPulse 1.9s infinite}
@keyframes nexusAiPulse{70%{box-shadow:0 0 0 16px rgba(80,200,120,0)}100%{box-shadow:0 0 0 0 rgba(80,200,120,0)}}
.nexus-ai-window{position:absolute;left:0;bottom:92px;width:min(430px,calc(100vw - 38px));height:min(660px,calc(100vh - 130px));border-radius:34px;background:linear-gradient(150deg,rgba(255,255,255,.94),rgba(236,250,241,.88));box-shadow:0 36px 120px rgba(10,32,25,.28);border:1px solid rgba(80,200,120,.28);overflow:hidden;display:flex;flex-direction:column;transform-origin:left bottom;transform:translateY(20px) scale(.94);opacity:0;pointer-events:none;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .25s ease;backdrop-filter:blur(24px)}
.nexus-ai-chatbot.is-open .nexus-ai-window{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}
.nexus-ai-header{padding:22px 22px 18px;background:radial-gradient(circle at top left,rgba(80,200,120,.28),transparent 46%),linear-gradient(135deg,rgba(5,61,43,.98),rgba(5,85,59,.9));color:#fff;position:relative;overflow:hidden}
.nexus-ai-header::after{content:'';position:absolute;right:-80px;top:-100px;width:220px;height:220px;border-radius:999px;background:rgba(80,200,120,.22);filter:blur(2px)}
.nexus-ai-headrow{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}
.nexus-ai-brand{display:flex;align-items:center;gap:13px;min-width:0}
.nexus-ai-orb{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,#f8fff8,#5ee78c 50%,#09b8a6);display:grid;place-items:center;box-shadow:0 12px 36px rgba(0,0,0,.18)}
.nexus-ai-orb svg{width:27px;height:27px}
.nexus-ai-title{font-size:16px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.25}
.nexus-ai-subtitle{font-size:12px;opacity:.78;margin-top:3px;line-height:1.4}
.nexus-ai-close{width:38px;height:38px;border-radius:15px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;cursor:pointer;font-size:20px;display:grid;place-items:center;transition:background .2s ease,transform .2s ease}
.nexus-ai-close:hover{background:rgba(255,255,255,.22);transform:rotate(90deg)}
.nexus-ai-body{padding:18px;overflow:auto;flex:1;background:radial-gradient(circle at 20% 0%,rgba(80,200,120,.13),transparent 34%),radial-gradient(circle at 90% 35%,rgba(0,191,174,.08),transparent 28%)}
.nexus-ai-message{max-width:88%;padding:13px 15px;border-radius:20px;margin:0 0 12px;line-height:1.55;font-size:14px;white-space:pre-wrap;box-shadow:0 12px 34px rgba(21,54,42,.08)}
.nexus-ai-message.bot{background:rgba(255,255,255,.9);border:1px solid rgba(80,200,120,.18);border-top-left-radius:8px;color:#29334a}
.nexus-ai-message.user{background:linear-gradient(135deg,#52d97c,#10c4ad);color:#fff;border-top-right-radius:8px;margin-left:auto;font-weight:600;box-shadow:0 16px 38px rgba(0,191,174,.22)}
.nexus-ai-message a{color:#006c4a;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.nexus-ai-actions{display:flex;flex-wrap:wrap;gap:9px;margin:4px 0 15px}
.nexus-ai-chip{border:1px solid rgba(80,200,120,.28);background:rgba(255,255,255,.76);color:#07543c;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.03em;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.nexus-ai-chip:hover{transform:translateY(-2px);background:#ecfff1;box-shadow:0 10px 28px rgba(80,200,120,.18)}
.nexus-ai-typing{display:flex;gap:5px;align-items:center;width:max-content;padding:13px 15px;border-radius:20px;background:rgba(255,255,255,.85);border:1px solid rgba(80,200,120,.16)}
.nexus-ai-typing span{width:7px;height:7px;border-radius:50%;background:#50C878;animation:nexusAiTyping 1s infinite ease-in-out}.nexus-ai-typing span:nth-child(2){animation-delay:.13s}.nexus-ai-typing span:nth-child(3){animation-delay:.26s}@keyframes nexusAiTyping{0%,80%,100%{transform:translateY(0);opacity:.35}40%{transform:translateY(-5px);opacity:1}}
.nexus-ai-form{padding:15px;background:rgba(255,255,255,.8);border-top:1px solid rgba(80,200,120,.18);display:flex;gap:10px;align-items:flex-end}
.nexus-ai-input{flex:1;border:1px solid rgba(80,200,120,.2);background:#fff;border-radius:18px;padding:13px 15px;min-height:48px;max-height:110px;resize:none;outline:none;font:inherit;font-size:14px;line-height:1.4;color:#1f2747;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.nexus-ai-input:focus{border-color:rgba(80,200,120,.72);box-shadow:0 0 0 5px rgba(80,200,120,.13)}
.nexus-ai-send{width:52px;height:52px;border:0;border-radius:18px;background:linear-gradient(135deg,#8ff23f,#13c5ab);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 16px 34px rgba(0,191,174,.22);transition:transform .2s ease,filter .2s ease}
.nexus-ai-send:hover{transform:translateY(-2px);filter:saturate(1.08)}
.nexus-ai-send svg{width:22px;height:22px}
.nexus-ai-footnote{padding:0 18px 14px;background:rgba(255,255,255,.8);font-size:11px;color:#6b756f;line-height:1.35}
@media (max-width:768px){.nexus-ai-chatbot{left:16px;bottom:18px}.nexus-ai-toggle{width:64px;height:64px;border-radius:22px}.nexus-ai-window{left:0;bottom:82px;width:calc(100vw - 32px);height:min(620px,calc(100vh - 112px));border-radius:28px}.nexus-ai-title{font-size:14px}.nexus-ai-subtitle{font-size:11px}.nexus-ai-message{max-width:94%;font-size:13px}.nexus-ai-body{padding:15px}.nexus-ai-form{padding:12px}.nexus-ai-footnote{padding:0 14px 12px}.nexus-ai-chip{font-size:11px;padding:8px 10px}}
@media (max-width:420px){.nexus-ai-chatbot{left:12px;bottom:14px}.nexus-ai-window{width:calc(100vw - 24px)}.nexus-ai-header{padding:18px 16px 15px}.nexus-ai-orb{width:42px;height:42px;border-radius:16px}.nexus-ai-close{width:34px;height:34px}.nexus-ai-actions{gap:7px}.nexus-ai-message{font-size:12.8px}.nexus-ai-input{font-size:13px}.nexus-ai-send{width:48px;height:48px}}
