/* 「小七」数据助手 —— 独立命名空间 xa-，不影响其他模块 */
#xa-root{position:fixed;right:20px;bottom:20px;z-index:9999;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;--xa-teal:#0d9488;--xa-teal-700:#0f766e;--xa-border:#e3ebe9}
.xa-toggle{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#0f766e);border:none;cursor:pointer;box-shadow:0 6px 20px rgba(13,148,136,.42);display:flex;align-items:center;justify-content:center;position:relative;transition:transform .15s;color:#fff}
.xa-toggle:hover{transform:scale(1.06)}
.xa-toggle.xa-thinking::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid transparent;border-top-color:#0d9488;animation:xaSpin .8s linear infinite}
@keyframes xaSpin{to{transform:rotate(360deg)}}
.xa-panel{position:absolute;bottom:70px;right:0;width:360px;max-width:calc(100vw - 40px);height:480px;max-height:calc(100vh - 130px);background:#fff;border:1px solid var(--xa-border);border-radius:16px;box-shadow:0 18px 50px rgba(13,64,60,.25);display:none;flex-direction:column;overflow:hidden}
.xa-panel.open{display:flex}
.xa-head{background:linear-gradient(135deg,#0b3d3a,#0d9488);color:#fff;padding:13px 15px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.xa-name{font-weight:700;font-size:15px;line-height:1.2}
.xa-sub{font-size:11px;opacity:.85;margin-top:1px}
.xa-close{margin-left:auto;background:transparent;border:none;color:#fff;cursor:pointer;font-size:18px;line-height:1;padding:4px}
.xa-quick{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px 0;flex-shrink:0}
.xa-quick button{font-size:12px;padding:5px 11px;border-radius:999px;border:1px solid var(--xa-border);background:#fff;color:var(--xa-teal-700);cursor:pointer;transition:background .15s}
.xa-quick button:hover{background:#f0fdfa}
.xa-body{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:#f7faf9}
.xa-msg{max-width:86%;padding:9px 12px;border-radius:12px;font-size:13.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word}
.xa-msg.user{align-self:flex-end;background:var(--xa-teal);color:#fff;border-bottom-right-radius:4px}
.xa-msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--xa-border);border-bottom-left-radius:4px;color:#0f172a}
.xa-sql-wrap{margin-top:8px}
.xa-sql-wrap summary{cursor:pointer;font-size:12px;color:var(--xa-teal-700);font-weight:600}
.xa-sql{display:block;margin-top:6px;padding:8px;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:8px;font-family:Consolas,ui-monospace,Menlo,monospace;font-size:11.5px;color:var(--xa-teal-700);white-space:pre-wrap;word-break:break-all}
.xa-table{margin-top:8px;font-size:12px;width:100%;border-collapse:collapse}
.xa-table th,.xa-table td{border:1px solid var(--xa-border);padding:4px 6px;text-align:left;white-space:nowrap}
.xa-table th{background:#f0fdfa;color:var(--xa-teal-700)}
.xa-input{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--xa-border);background:#fff;flex-shrink:0}
.xa-input textarea{flex:1;resize:none;border:1px solid #cfdcda;border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;height:40px;line-height:1.5;outline:none}
.xa-input textarea:focus{border-color:var(--xa-teal);box-shadow:0 0 0 3px rgba(20,184,166,.14)}
.xa-input button{background:var(--xa-teal);color:#fff;border:none;border-radius:8px;padding:0 15px;cursor:pointer;font-size:13px;flex-shrink:0}
.xa-input button:hover{background:var(--xa-teal-700)}
.xa-typing{display:inline-flex;gap:3px;align-items:center;padding:3px 0}
.xa-typing span{width:6px;height:6px;border-radius:50%;background:#94a3b8;animation:xaTyping 1.2s infinite}
.xa-typing span:nth-child(2){animation-delay:.2s}
.xa-typing span:nth-child(3){animation-delay:.4s}
@keyframes xaTyping{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
