#aime-chat-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;color:#fff;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 16px rgba(99,102,241,.4);z-index:9999;transition:transform .3s,box-shadow .3s;display:flex;align-items:center;justify-content:center}
#aime-chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px rgba(99,102,241,.5)}
#aime-chat-fab .fab-icon{display:inline}#aime-chat-fab .fab-close{display:none;font-size:1.75rem}
#aime-chat-fab.open .fab-icon{display:none}#aime-chat-fab.open .fab-close{display:inline}
#aime-chat-panel{position:fixed;bottom:92px;right:24px;width:380px;max-height:560px;background:var(--color-surface,#1e293b);border:1px solid var(--color-border,#334155);border-radius:16px;box-shadow:0 12px 48px rgba(0,0,0,.4);z-index:9998;display:flex;flex-direction:column;overflow:hidden;transition:opacity .3s,transform .3s}
#aime-chat-panel.chat-panel-hidden{opacity:0;transform:translateY(16px) scale(.95);pointer-events:none}
.chat-panel-header{background:var(--color-bg,#0f172a);border-bottom:1px solid var(--color-border,#334155);padding:8px 12px;overflow-x:auto}
.chat-bot-tabs{display:flex;gap:4px}
.bot-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;border:2px solid transparent;border-radius:10px;background:transparent;cursor:pointer;transition:border-color .2s,background .2s;position:relative;min-width:56px}
.bot-tab:hover{background:rgba(255,255,255,.05)}.bot-tab.active{border-color:var(--color-primary,#6366f1);background:rgba(99,102,241,.1)}
.bot-tab.locked{opacity:.4;cursor:not-allowed}.bot-tab img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.bot-tab-name{font-size:.65rem;color:var(--color-text-muted,#94a3b8);font-weight:500;white-space:nowrap}
.bot-tab.active .bot-tab-name{color:var(--color-text,#e2e8f0);font-weight:600}
.lock-icon{position:absolute;top:2px;right:2px;font-size:.6rem}
.chat-bot-info{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--color-border,#334155);border-left:3px solid #6366f1}
.chat-bot-info .info-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}
.chat-bot-info .info-name{font-weight:700;font-size:.9rem;color:var(--color-text,#e2e8f0)}
.chat-bot-info .info-role{font-size:.75rem;color:var(--color-text-muted,#94a3b8)}
.chat-messages{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px;min-height:240px;max-height:320px;scroll-behavior:smooth}
.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-thumb{background:var(--color-border,#334155);border-radius:2px}
.chat-msg{display:flex;align-items:flex-start;gap:8px;max-width:85%}.chat-msg.user{align-self:flex-end;flex-direction:row-reverse}.chat-msg.bot{align-self:flex-start}
.msg-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;margin-top:2px}
.msg-bubble{padding:8px 12px;border-radius:12px;font-size:.85rem;line-height:1.5;word-wrap:break-word}
.msg-bubble.bot{background:var(--color-bg,#0f172a);color:var(--color-text-muted,#cbd5e1);border-top-left-radius:4px}
.msg-bubble.user{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;border-top-right-radius:4px;border-left:none!important}
.chat-typing{display:flex;align-items:center;gap:4px;padding:8px 16px}
.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--color-text-dim,#64748b);animation:typingBounce 1.2s infinite ease-in-out}
.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes typingBounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}
.chat-input-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--color-border,#334155);background:var(--color-bg,#0f172a)}
.chat-input-form input{flex:1;background:var(--color-surface,#1e293b);border:1px solid var(--color-border,#334155);color:var(--color-text,#e2e8f0);padding:8px 12px;border-radius:8px;font-size:.85rem;font-family:inherit;outline:none;transition:border-color .2s}
.chat-input-form input:focus{border-color:var(--color-primary,#6366f1)}.chat-input-form input::placeholder{color:var(--color-text-dim,#475569)}
.chat-input-form button{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:transform .2s}
.chat-input-form button:hover{transform:scale(1.05)}
.chat-footer{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;font-size:.7rem;border-top:1px solid var(--color-border,#334155)}
.chat-remaining{color:var(--color-text-dim,#64748b)}
.chat-clear{background:none;border:none;color:var(--color-text-dim,#64748b);cursor:pointer;font-size:.85rem;padding:2px 6px;border-radius:4px;transition:color .2s}.chat-clear:hover{color:#ef4444}
@media(max-width:480px){#aime-chat-panel{right:8px;left:8px;bottom:80px;width:auto;max-height:70vh}#aime-chat-fab{bottom:16px;right:16px;width:48px;height:48px;font-size:1.25rem}.bot-tab{min-width:48px;padding:4px 6px}.bot-tab img{width:28px;height:28px}.chat-messages{min-height:180px;max-height:50vh}}