:root{--primary: #5b4dff;--primary-2: #7c6cff;--bg: #f4f6fb;--text: #1f2330;--muted: #8b90a0;--card: #ffffff;--danger: #f43f5e;--ok: #22c55e;--warn: #f59e0b}*{box-sizing:border-box}html,body,#app{margin:0;height:100%}body{font-family:PingFang SC,Microsoft YaHei,sans-serif;background:#e8eaf3;color:var(--text)}.phone-frame{min-height:100%;display:flex;justify-content:center;padding:16px 0}.phone{width:390px;min-height:844px;background:var(--bg);border-radius:28px;overflow:hidden;box-shadow:0 20px 50px #281e5a2e;position:relative}.page{min-height:844px;background:var(--bg);padding-bottom:88px}.status{height:44px;padding:12px 20px 0;display:flex;justify-content:space-between;font-size:14px;font-weight:600}.nav{height:46px;display:flex;align-items:center;justify-content:center;position:relative;font-size:17px;font-weight:700}.nav .back,.nav .right{position:absolute;top:0;height:46px;width:46px;display:flex;align-items:center;justify-content:center;color:#333;cursor:pointer}.nav .back{left:6px}.nav .right{right:6px}.card{background:#fff;border-radius:16px;padding:14px;box-shadow:0 8px 24px #463c780a}.btn{height:48px;border:none;border-radius:14px;width:100%;background:linear-gradient(90deg,#5b4dff,#6d5cff);color:#fff;font-size:16px;font-weight:700;cursor:pointer}.btn.ghost{background:#fff;color:#333;border:1px solid #ececf4}.btn.danger{background:linear-gradient(90deg,#fb7185,#f43f5e)}.input{height:48px;border:1px solid #ececf4;border-radius:12px;padding:0 12px;width:100%;background:#fbfbfe;font-size:15px}.tag{font-size:11px;padding:2px 8px;border-radius:8px;background:#f3f0ff;color:var(--primary)}.muted{color:var(--muted);font-size:12px}.row{display:flex;align-items:center}.tabbar{position:absolute;left:0;right:0;bottom:0;height:64px;background:#fff;display:flex;border-top:1px solid #f0f0f5}.tabbar .item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:#9aa0b4;cursor:pointer}.tabbar .item.on{color:var(--primary);font-weight:700}.badge{background:#f43f5e;color:#fff;border-radius:8px;font-size:10px;padding:0 5px;margin-left:4px}.purple-hero{background:linear-gradient(180deg,#5b4dff,#6e5cff 70%,#f4f6fb);color:#fff}.pad{padding:0 16px}.hero-blob{position:absolute;right:-40px;top:-30px;width:180px;height:180px;border-radius:50%;background:#ffffff1f}.seg{display:flex;background:#eceef8;border-radius:14px;padding:4px}.seg .opt{flex:1;text-align:center;padding:10px 0;border-radius:12px;font-size:14px;color:#666;cursor:pointer}.seg .opt.on{background:#fff;color:var(--primary);font-weight:700;box-shadow:0 4px 12px #5046a014}.hint-box{background:#f3f1ff;color:#5b4dff;border-radius:12px;padding:10px 12px;font-size:12px}.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#8b7cff,#5b4dff);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.chip{display:inline-flex;align-items:center;gap:4px;border-radius:20px;padding:4px 10px;font-size:11px;background:#f3f0ff;color:var(--primary)}.footer-note{text-align:center;color:#b0b4c4;font-size:11px;padding:12px 0 20px}.phone .page.full{padding-bottom:0}.stat4{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.stat4 .n{font-size:18px;font-weight:800}.stat4 .l{font-size:11px;color:var(--muted);margin-top:2px}.kv{display:flex;justify-content:space-between;padding:8px 0;font-size:13px}.kv .k{color:#8b90a0}.kv .v{color:#222;font-weight:600;text-align:right;max-width:62%}.sheet-btns{display:flex;gap:10px;padding:12px 16px 20px}.pill{border:1px solid #ececf4;background:#fff;border-radius:12px;padding:10px 12px;font-size:13px;cursor:pointer}.pill.on{border-color:var(--primary);color:var(--primary);background:#f5f3ff}textarea.input{height:auto;min-height:88px;padding:10px 12px;resize:none;font-family:inherit}.up-grid{display:flex;gap:8px;flex-wrap:wrap}.up-item,.up-add{width:72px;height:72px;border-radius:12px;background:#f6f7fb;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.up-item img{width:100%;height:100%;object-fit:cover}.up-add{border:1px dashed #d5d8e6;color:#8b90a0;font-size:11px;flex-direction:column;cursor:pointer}.msg-user{display:flex;justify-content:flex-end;margin:8px 0}.bubble-user{max-width:78%;background:linear-gradient(90deg,#5b4dff,#7a6cff);color:#fff;border-radius:16px 16px 4px;padding:10px 12px;font-size:14px}.msg-agent{margin:8px 0}.agent-tag{font-size:11px;color:#8b90a0;margin-bottom:4px}.bubble-agent{background:#fff;border-radius:4px 16px 16px;padding:12px;font-size:14px;box-shadow:0 8px 24px #463c780f}.quick{display:flex;gap:8px;overflow-x:auto;padding:8px 0}.quick span{flex-shrink:0;background:#fff;border:1px solid #ececf4;border-radius:18px;padding:6px 12px;font-size:12px;cursor:pointer}.type-card{border:1px solid #ececf4;border-radius:16px;padding:14px;margin-bottom:10px;background:#fff;cursor:pointer}.type-card.on{border-color:var(--primary);background:#f7f5ff}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.warn{background:#fff1f2;color:#e11d48;border-radius:12px;padding:10px 12px;font-size:12px}.ok-banner{background:#fff7e6;color:#b45309;border-radius:12px;padding:10px 12px;font-size:12px}.timeline{position:relative;padding-left:18px}.timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:#ececf4}.tl-item{position:relative;margin-bottom:14px}.tl-item .dot{position:absolute;left:-16px;top:4px;width:10px;height:10px;border-radius:50%;background:#d1d5e4}.tl-item.on .dot{background:#22c55e}.tl-item.cur .dot{background:#f59e0b}.filter-row{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px}.filter-row span{flex-shrink:0;padding:6px 12px;border-radius:16px;background:#eeeef6;font-size:12px;cursor:pointer}.filter-row span.on{background:var(--primary);color:#fff}.list-card{background:#fff;border-radius:16px;padding:12px;margin-bottom:10px}.risk-h{color:#e11d48;background:#fff1f2}.risk-m{color:#d97706;background:#fff7ed}.risk-l{color:#2563eb;background:#eff6ff}.card.purple{background:linear-gradient(135deg,#5b4dff,#7c6cff);color:#fff}.card.purple .muted{color:#ffffffc7}.big{font-size:32px;font-weight:800;line-height:1.1}.today,.rank{text-align:right;font-size:12px}.nav.lefty{justify-content:flex-start;padding-left:16px}.perms{padding-left:18px;font-size:13px;line-height:1.7;color:#444}
