:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#20303d;background:#f4f6f8;font-synthesis:none;--green:#107764;--line:#e4e9ed;--muted:#788692;--orange:#bd7735}*{box-sizing:border-box}body{margin:0;min-height:100dvh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #58b6a3;outline-offset:2px}.loading{padding:32px;color:var(--muted)}.shell{max-width:1040px;min-height:100dvh;margin:auto;background:#f7f8fa;padding-bottom:84px}.topbar{display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line);height:64px;padding:0 26px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:9px;font-weight:750;font-size:17px}.logo{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--green);color:white;font-size:20px}.top-actions{display:flex;align-items:center;gap:12px}.sync-state{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.sync-dot{width:7px;height:7px;border-radius:50%;background:#a4adb5}.sync-dot.ok{background:#2b9a72}.sync-dot.err{background:#cb7f37}.icon-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;border-radius:9px;color:#536471;font-size:17px}.logout{border:0;background:none;color:#6c7985;font-size:12px}.content{padding:28px 28px 30px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:21px}.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:750;color:var(--green);margin:0 0 7px}h1{font-size:24px;line-height:1.25;margin:0;font-weight:720}.sub{font-size:12px;color:var(--muted);margin:6px 0 0}.overview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:21px}.metric{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 15px}.metric small{font-size:11px;color:var(--muted)}.metric b{display:block;font-size:24px;margin-top:5px;font-weight:700;font-variant-numeric:tabular-nums}.metric.primary{background:#e9f4f0;border-color:#d7eae3}.metric.primary b{color:var(--green)}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px}.section-bar h2{font-size:15px;margin:0}.section-bar small{font-size:11px;color:var(--muted)}.controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(138px,210px);gap:9px;margin-bottom:13px}.search{height:42px;padding:0 12px 0 36px;width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px}.search-wrap{position:relative}.search-icon{position:absolute;left:12px;top:9px;color:#85919b;font-size:19px}.controls select{height:42px;border:1px solid var(--line);border-radius:9px;padding:0 11px;background:#fff;color:#586674;font-size:12px;min-width:0}.filters{display:flex;gap:7px;overflow:auto;scrollbar-width:none;margin:0 0 14px}.filter{white-space:nowrap;border:1px solid var(--line);background:white;color:#697985;border-radius:8px;padding:7px 11px;font-size:11px}.filter.active{border-color:#cce3db;background:#e8f3ef;color:var(--green);font-weight:700}.lead-list{display:grid;gap:9px}.lead{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;text-align:left;color:inherit;width:100%;display:block}.lead:hover{border-color:#cbdcd6;box-shadow:0 3px 14px #263e3510}.lead-head,.lead-mid,.lead-foot{display:flex;align-items:center;justify-content:space-between;gap:9px}.account{font-size:11px;color:#5c6f79;display:flex;align-items:center;gap:7px;min-width:0}.acct-mark{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#eaf2ef;color:var(--green);font-size:10px;flex:none}.account span:last-child{overflow:hidden;text-overflow:ellipsis}.time{font-size:10px;color:#8b97a0;white-space:nowrap}.lead-mid{margin:11px 0 10px}.lead-name{font-size:15px;font-weight:680}.phone{font-size:12px;color:#73818c;margin-left:9px;font-weight:400}.tag{font-size:10px;padding:5px 8px;border-radius:6px;white-space:nowrap}.tag.pending{background:#fff2df;color:#a76c28}.tag.contacted{background:#edf3fb;color:#587aa5}.tag.interested{background:#e8f4ee;color:#147764}.tag.won{background:#f0ebf8;color:#765da0}.tag.invalid{background:#f0f2f4;color:#75818a}.lead-foot{border-top:1px solid #f0f2f4;padding-top:10px;font-size:11px;color:#74818b}.fresh{color:var(--green);font-weight:650}.foot-right{color:#9ba5ad;white-space:nowrap}.foot-right.due{color:var(--orange)}.empty{background:white;border:1px dashed #d6dfe4;border-radius:12px;text-align:center;padding:36px 16px}.empty b{font-size:13px}.empty p{font-size:11px;color:var(--muted)}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1040px);z-index:6;display:flex;background:#fffffff0;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:8px 10px max(10px,env(safe-area-inset-bottom))}.nav button{flex:1;border:0;background:none;color:#87939d;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px;font-size:11px}.nav button span{font-size:19px}.nav button.active{color:var(--green);font-weight:700}.detail{padding:22px;max-height:90dvh;overflow:auto;width:min(100%,600px)}dialog{border:0;border-radius:16px;padding:0;color:inherit;box-shadow:0 22px 80px #13273a3d;max-width:calc(100% - 20px)}dialog::backdrop{background:#14283b80;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.dialog-head small{font-size:10px;color:var(--green);font-weight:700}.close{height:31px;width:31px;border:0;border-radius:50%;background:#f0f2f4;color:#677580;font-size:18px}.detail h2{font-size:22px;margin:0 0 6px}.detail-meta{font-size:11px;color:#788590;margin:0 0 16px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f5f7f8;padding:13px;border-radius:10px}.detail-grid small{display:block;font-size:10px;color:#89949e;margin-bottom:5px}.detail-grid span{font-size:12px;overflow-wrap:anywhere}.field{display:block;font-size:12px;font-weight:650;margin:15px 0}.field input,.field select,.field textarea{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid var(--line);border-radius:8px;color:#45545f;background:white;font-size:12px}.field textarea{min-height:78px;resize:vertical}.primary{background:var(--green);border:0;color:white;border-radius:9px;width:100%;padding:12px;font-size:12px;font-weight:700}.timeline-title{font-size:12px;margin:20px 0 10px}.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:0 0 12px 13px;border-left:2px solid #dfebe5;margin-left:3px;font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.timeline time{display:block;font-size:10px;color:#929ca5;margin-bottom:3px}.account-list{display:grid;gap:9px}.account-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);background:white;border-radius:11px}.account-name{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:650}.account-count{font-size:10px;color:#74818b;white-space:nowrap}.status-pill{font-size:10px;color:#71808b;background:#f0f2f4;border-radius:5px;padding:5px 8px}.status-pill.ok{background:#e8f4ee;color:#137560}.status-pill.err{background:#fff2df;color:#a76c28}.info{font-size:11px;color:#70808c;line-height:1.7;background:#edf4f1;border:1px solid #dae9e3;border-radius:10px;padding:13px;margin:12px 0}.actions{display:flex;gap:9px;align-items:center}.secondary{border:1px solid #d3e1db;background:#fff;color:var(--green);border-radius:8px;padding:9px 11px;font-size:11px}#toast{position:fixed;left:50%;bottom:94px;transform:translate(-50%,8px);padding:11px 15px;background:#203d35;color:white;border-radius:10px;opacity:0;pointer-events:none;transition:.18s;z-index:20;font-size:11px;max-width:calc(100% - 24px)}#toast.show{opacity:1;transform:translate(-50%,0)}.login-page{min-height:100dvh;display:grid;place-items:center;padding:20px;background:#f3f6f7}.login-box{width:min(100%,380px);background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px}.login-box .brand{margin-bottom:26px}.login-box h1{font-size:21px}.login-box p{font-size:12px;color:var(--muted)}.login-box label{display:block;font-size:12px;font-weight:650;margin:18px 0 10px}.login-box input{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:8px}.login-box button{width:100%;border:0;border-radius:9px;padding:12px;background:var(--green);color:white;font-weight:700}.login-error{font-size:11px;color:#af6e34;margin-top:10px}.disclaimer{font-size:10px;color:#8f9aa3;line-height:1.6;margin:20px 0 0}.hidden{display:none!important}@media(max-width:560px){.topbar{height:58px;padding:0 15px}.content{padding:21px 15px 25px}.page-head{align-items:flex-start}.page-head h1{font-size:21px}.page-head .sub{font-size:11px}.overview{gap:7px}.metric{padding:11px 10px}.metric small{font-size:10px}.metric b{font-size:22px}.controls{grid-template-columns:minmax(0,1fr) 132px;gap:7px}.search{font-size:11px;padding-left:32px}.lead{padding:12px}.lead-name{font-size:14px}.phone{display:block;margin:4px 0 0}.top-actions{gap:6px}.sync-state{max-width:115px;font-size:10px}.account-row{padding:12px}.account-count{display:none}.nav button{flex-direction:column;gap:2px;font-size:10px}.nav button span{font-size:19px}.detail{padding:18px}.detail-grid{gap:10px}}
