#tab-jarvis{display:flex;flex-direction:column;height:calc(100vh - 280px);min-height:400px}
#jarvis-chat{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:12px;background:rgba(0,240,212,.02);border-radius:var(--r-lg);border:var(--glass-border)}
.jmsg{display:flex;flex-direction:column;max-width:85%}
.jmsg-user{align-self:flex-end;align-items:flex-end}
.jmsg-jarvis{align-self:flex-start;align-items:flex-start}
.jmsg-bubble{padding:10px 14px;border-radius:var(--r-lg);font-size:14px;line-height:1.5}
.jmsg-user .jmsg-bubble{background:var(--accent);color:var(--bg-base);border-bottom-right-radius:4px}
.jmsg-jarvis .jmsg-bubble{background:var(--bg-glass);border:var(--glass-border);color:var(--text-primary);border-bottom-left-radius:4px}
.jmsg-time{font-size:10px;color:var(--text-muted);margin-top:4px;font-family:var(--mono)}
.jarvis-empty{text-align:center;color:var(--text-muted);padding:3rem;font-size:14px}
#jarvis-loading{display:none;align-items:center;justify-content:center;gap:8px;padding:12px;color:var(--accent);font-size:13px}
#jarvis-loading .ai-dots span{background:var(--accent)}
.jarvis-input-row{display:flex;gap:8px;margin-top:12px}
#jarvis-input{flex:1;padding:12px 16px;background:var(--bg-glass);border:var(--glass-border);border-radius:var(--r-lg);color:var(--text-primary);font-family:var(--font);font-size:14px;outline:none}
#jarvis-input:focus{border-color:var(--accent)}
#jarvis-input::placeholder{color:var(--text-muted)}
.jarvis-btn{padding:12px 20px;border-radius:var(--r-lg);border:none;font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:all .3s}
#jarvis-mic-btn{background:var(--bg-glass);border:var(--glass-border);color:var(--text-primary)}
#jarvis-mic-btn:hover{border-color:var(--accent);color:var(--accent)}
#jarvis-mic-btn.listening{background:var(--rose);color:var(--bg-base);border-color:var(--rose);animation:pulse 1s infinite}
#jarvis-send-btn{background:linear-gradient(135deg,var(--accent),var(--teal));color:var(--bg-base)}
#jarvis-send-btn:hover{box-shadow:0 0 20px rgba(0,240,212,.3)}
