:root{--shell-bg:#edeae5;--bg:#faf9f7;--bg-card:#ffffff;--bg-elevated:#f0eeeb;--border:#e8e5e1;--border-strong:#d8d3cc;--text:#1a1a1a;--text-dim:#8a857e;--accent:#e8654a;--accent-strong:#cf4f35;--accent-soft:rgba(232,101,74,0.12);--green:#15803d;--red:#dc2626;--amber:#a16207;--radius:20px;--nav-height:64px;--app-width:430px;--shadow-soft:0 16px 44px rgba(33,43,45,0.10)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden;background:var(--shell-bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0,rgba(232,101,74,.1),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.45),transparent 42%)}a{color:var(--accent);text-decoration:none}button{cursor:pointer}button,input,textarea{font-family:inherit}::selection{background:var(--accent-soft)}.phone-shell{position:relative;display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;margin:0 auto;background:var(--bg);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.phone-shell::-webkit-scrollbar{display:none}@media (min-width:560px){body{display:grid;place-items:center;padding:24px 0}.phone-shell{width:var(--app-width);height:min(900px,calc(100dvh - 48px));border-radius:40px;border:1px solid rgba(216,211,204,.9);box-shadow:0 0 0 8px rgba(29,37,39,.035),0 30px 80px rgba(33,43,45,.22)}}.page{position:relative;flex:1 0 auto;width:100%;padding:16px 16px 24px}.center-screen{flex:1 1;min-height:60dvh;display:grid;place-items:center}.card{background:var(--bg-card);border:1px solid rgba(232,229,225,.9);border-radius:var(--radius);padding:16px;box-shadow:0 8px 26px rgba(35,45,47,.06)}.card+.card{margin-top:12px}.asset-card{position:relative;display:block;overflow:hidden;background:radial-gradient(circle at 88% 12%,rgba(232,101,74,.14),transparent 28%),linear-gradient(135deg,#ffffff,#f7f4ec)}.asset-card:after{content:"";position:absolute;right:-34px;bottom:-42px;width:140px;height:140px;border-radius:50%;background:rgba(232,101,74,.08)}.section-title{font-size:12px;font-weight:700;color:var(--text-dim);margin:22px 0 10px;letter-spacing:.08em}.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.badge.green{color:var(--green);border-color:rgba(21,128,61,.35);background:#dcfce7}.badge.red{color:var(--red);border-color:rgba(220,38,38,.3);background:#fde8e8}.badge.amber{color:var(--amber);border-color:rgba(161,98,7,.3);background:#fef3c7}.badge.accent{color:var(--accent);border-color:rgba(232,101,74,.4)}.btn{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:10px;padding:8px 14px;font-size:13px;transition:opacity .15s,transform .12s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong));border-color:transparent;color:#fff}.btn.ghost{background:transparent;color:var(--text-dim)}.btn.danger{color:var(--red)}.btn.small{padding:5px 10px;font-size:12px;border-radius:8px}.page-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.page-header h1{flex:1 1;min-width:0;font-size:15px;font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu{position:relative;flex-shrink:0}.user-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:60;min-width:190px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px rgba(35,45,47,.16);padding:6px;animation:dropdown-in .12s ease}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-agent{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--border);margin-bottom:4px}.agent-avatar{position:relative;flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.user-dropdown-agent-name{display:block;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-agent-status{display:block;font-size:11px;color:var(--text-dim)}.user-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:9px;font-size:13px;color:var(--text);cursor:pointer;transition:background .12s ease}.user-dropdown-item:active,.user-dropdown-item:hover{background:var(--bg-elevated)}.user-dropdown-lang{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;color:var(--text)}.user-dropdown-lang-label{display:inline-flex;align-items:center;color:var(--text)}.user-dropdown-lang-options{display:inline-flex;flex:1 1;gap:2px;background:var(--bg-elevated);border-radius:8px;padding:2px}.user-dropdown-lang-options .user-dropdown-lang-option{flex:1 1;text-align:center}.user-dropdown-lang-option{border:none;background:transparent;border-radius:6px;font-size:12px;padding:3px 8px;color:var(--text-dim);cursor:pointer}.user-dropdown-lang-option.active{background:var(--bg-card);color:var(--text);font-weight:600;box-shadow:0 1px 3px rgba(35,45,47,.12)}.status-dot{flex:0 0 auto;width:7px;height:7px;border-radius:999px;background:#b8b2a8}.status-dot.online{background:var(--green);box-shadow:0 0 0 3px rgba(21,128,61,.12)}.user-avatar{border-radius:50%;cursor:pointer;border:1px solid var(--border);box-shadow:0 6px 18px rgba(35,45,47,.1);flex-shrink:0}.user-avatar-fallback{width:32px;height:32px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:14px;font-weight:700}.tabbar{position:-webkit-sticky;position:sticky;bottom:0;margin-top:auto;width:100%;height:calc(var(--nav-height) + env(safe-area-inset-bottom, 0px));padding:7px 12px calc(7px + env(safe-area-inset-bottom, 0px));background:rgba(251,251,250,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid rgba(232,229,225,.9);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:4px;gap:4px;z-index:50;box-shadow:0 -12px 28px rgba(35,45,47,.06);-moz-user-select:none;user-select:none;-webkit-user-select:none}.tabbar a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:16px;font-size:10px;font-weight:500;color:var(--text-dim);transition:color .15s ease,transform .15s ease}.tabbar a:active{transform:scale(.92)}.tabbar a.active{color:var(--accent);font-weight:600}.tabbar a .tab-icon{display:grid;place-items:center;width:40px;height:26px;border-radius:999px;transition:background .18s ease}.tabbar a.active .tab-icon{background:var(--accent-soft)}.tabbar a svg{display:block}.chat-messages{display:flex;flex-direction:column;gap:12px}.msg{max-width:86%;border-radius:14px;padding:10px 14px;font-size:14px;line-height:1.65;overflow-wrap:break-word}.msg.user{align-self:flex-end;background:var(--accent);color:#fff}.msg.agent{align-self:flex-start;background:var(--bg-elevated);border:1px solid var(--border)}.msg.system{align-self:center;background:transparent;color:var(--text-dim);font-size:12px;text-align:center;max-width:100%}.msg .md p+p{margin-top:8px}.msg .md ol,.msg .md ul{padding-left:20px;margin:6px 0}.msg .md code{background:rgba(0,0,0,.25);padding:1px 5px;border-radius:4px;font-size:.9em}.msg .md pre{background:rgba(0,0,0,.3);padding:10px;border-radius:8px;overflow-x:auto;margin:8px 0}.msg .md pre code{background:transparent;padding:0}.msg .md table{border-collapse:collapse;margin:8px 0;font-size:13px}.msg .md td,.msg .md th{border:1px solid var(--border);padding:4px 8px}.msg .md blockquote{border-left:3px solid var(--border);padding-left:10px;color:var(--text-dim);margin:6px 0}.msg .md h1,.msg .md h2,.msg .md h3,.msg .md h4{font-size:1.05em;margin:10px 0 4px}.msg-time{font-size:11px;color:var(--text-dim);margin-top:4px}.msg.user .msg-time{color:rgba(255,255,255,.78)}.ref-card{display:block;border:1px solid var(--border);background:var(--bg-card);border-radius:10px;padding:10px 12px;margin:8px 0;color:var(--text);font-size:13px}.audit-ref{display:inline-block;font-size:11px;color:var(--text-dim);border:1px solid var(--border);border-radius:6px;padding:0 6px;margin:0 2px;cursor:pointer;vertical-align:1px}.chat-input-bar{display:flex;align-items:flex-end;gap:8px;border:1px solid var(--border);background:var(--bg-card);border-radius:16px;padding:8px}.chat-input-bar textarea{flex:1 1;background:transparent;border:none;outline:none;color:var(--text);font-size:14px;line-height:1.5;resize:none;max-height:120px;padding:6px 4px}.icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);display:grid;place-items:center;font-size:16px;flex-shrink:0;transition:transform .12s ease}.icon-btn:active{transform:scale(.92)}.icon-btn svg{display:block}.icon-btn.recording{background:var(--red);border-color:var(--red);color:#fff;animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.typing-dots{display:inline-flex;gap:4px;padding:4px 0}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--text-dim);animation:blink 1.2s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,to{opacity:.25}50%{opacity:1}}.attach-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:4px 8px;margin:2px}.row-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text);transition:background .12s ease}a.row-link:active{background:var(--bg-elevated)}.row-link:last-child{border-bottom:none}.row-icon{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.list-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.num.pos{color:var(--green)}.num.neg{color:var(--red)}.empty-hint{color:var(--text-dim);font-size:13px;text-align:center;padding:24px 12px;line-height:1.7}