:root{
  --primary:#6C63FF; --primary-d:#564ef0; --secondary:#FF6584;
  --success:#00B894; --warning:#F59E0B; --danger:#FF6B6B;
  --bg:#F0F0F3; --card:#FFFFFF; --text:#2D3436; --muted:#636E72; --line:#E6E8EF;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--bg);color:var(--text);line-height:1.5;padding-bottom:40px}
.wrap{max-width:720px;margin:0 auto;padding:0 16px}
.topbar{background:linear-gradient(135deg,var(--primary),var(--primary-d));color:#fff;
  padding:18px 16px;box-shadow:0 4px 14px rgba(108,99,255,.25)}
.topbar .in{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:10px}
.topbar .logo{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;font-size:20px}
.topbar h1{font-size:18px;margin:0;font-weight:700}
.topbar p{margin:2px 0 0;font-size:12px;opacity:.85}
.card{background:var(--card);border-radius:16px;padding:18px;margin:16px 0;
  box-shadow:0 2px 10px rgba(45,52,54,.06)}
.card h2{font-size:16px;margin:0 0 14px}
.muted{color:var(--muted);font-size:13px}
label{display:block;font-size:13px;color:var(--muted);margin:14px 0 6px;font-weight:600}
input,textarea,select{width:100%;padding:12px 14px;border:1.5px solid var(--line);
  border-radius:12px;font-size:15px;background:#FAFAFC;color:var(--text);outline:none;
  transition:border-color .15s;font-family:inherit}
input:focus,textarea:focus,select:focus{border-color:var(--primary)}
textarea{resize:vertical;min-height:74px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;cursor:pointer;
  background:var(--primary);color:#fff;padding:13px 18px;border-radius:12px;font-size:15px;
  font-weight:600;width:100%;transition:transform .08s,opacity .15s;font-family:inherit}
.btn:active{transform:scale(.98)}
.btn.ghost{background:#fff;color:var(--primary);border:1.5px solid var(--primary)}
.btn.sm{width:auto;padding:7px 12px;font-size:13px;border-radius:9px}
.btn.danger{background:var(--danger)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0}
.stat{background:var(--card);border-radius:14px;padding:12px 6px;text-align:center;
  box-shadow:0 2px 8px rgba(45,52,54,.05)}
.stat b{display:block;font-size:20px;line-height:1.2}
.stat span{font-size:11px;color:var(--muted)}
.stat.t-total b{color:var(--primary)} .stat.t-new b{color:#3B82F6}
.stat.t-following b{color:var(--warning)} .stat.t-won b{color:var(--success)}
.stat.t-lost b{color:var(--muted)}
.tabs{display:flex;gap:8px;overflow-x:auto;margin:14px 0;padding:2px}
.tab{flex:0 0 auto;padding:7px 14px;border-radius:20px;background:#fff;border:1.5px solid var(--line);
  font-size:13px;color:var(--muted);cursor:pointer;font-weight:600}
.tab.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.cust{background:var(--card);border-radius:14px;padding:14px;margin:10px 0;
  box-shadow:0 2px 8px rgba(45,52,54,.05)}
.cust .row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.cust .name{font-weight:700;font-size:15px}
.cust .meta{font-size:13px;color:var(--muted);margin-top:3px}
.cust .demand{font-size:13px;margin-top:8px;background:#F6F6FB;border-radius:9px;padding:8px 10px}
.badge{flex:0 0 auto;font-size:11px;padding:3px 9px;border-radius:20px;font-weight:600}
.b-new{background:#DBEAFE;color:#2563EB}
.b-following{background:#FEF3C7;color:#B45309}
.b-won{background:#D1FAE5;color:#047857}
.b-lost{background:#E5E7EB;color:#6B7280}
.src{font-size:11px;color:var(--muted);margin-top:6px}
.src .dot{color:var(--primary)}
.followups{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}
.fu{font-size:13px;padding:6px 0;border-bottom:1px dashed var(--line)}
.fu:last-child{border-bottom:none}
.fu .t{color:var(--muted);font-size:11px}
.fu-add{display:flex;gap:8px;margin-top:10px}
.fu-add input{flex:1}
.seg{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.seg button{flex:1 1 auto;padding:6px;font-size:12px;border-radius:8px;border:1.5px solid var(--line);
  background:#fff;cursor:pointer;color:var(--muted)}
.seg button.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.pagelink{background:#F6F6FB;border-radius:10px;padding:10px 12px;margin-top:8px;font-size:12px;
  word-break:break-all;display:flex;justify-content:space-between;align-items:center;gap:8px}
.pagelink a{color:var(--primary)}
.empty{text-align:center;color:var(--muted);padding:34px 0;font-size:14px}
.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#2D3436;color:#fff;
  padding:11px 20px;border-radius:24px;font-size:14px;opacity:0;transition:opacity .25s;z-index:99;
  pointer-events:none;max-width:88%;text-align:center}
.toast.show{opacity:.96}
.check{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--muted);margin-top:12px}
.check input{width:auto;margin-top:2px}
.success-box{text-align:center;padding:30px 10px}
.success-box .ic{width:72px;height:72px;border-radius:50%;background:#D1FAE5;color:var(--success);
  display:flex;align-items:center;justify-content:center;font-size:38px;margin:0 auto 16px}
