:root{--bg:#f1f4f2;--surface:#fff;--surface-2:#f7f9f8;--sunk:#e7ece9;--line:#dce3df;--line-2:#c7d0cb;--ink:#15212a;--ink-2:#45525b;--muted:#74818a;--accent:#0c6a60;--accent-ink:#fff;--accent-soft:#ddefea;--accent-deep:#07463f;--good:#23784a;--good-soft:#e0f1e6;--warn:#a46100;--warn-soft:#fbefd8;--bad:#bd3a2b;--bad-soft:#fae4e0;--presale:#fff4cc;--presale-line:#e6c95c;--st-dev:#2c60c2;--st-comp:#a63f6d;--st-int:#6b44c0;--st-deal:#23784a;--st-churn:#b4532a;--st-inv:#85909a;--shadow:0 12px 40px #12222829;--shadow-sm:0 2px 8px #12222814;--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--accent-press:#095a51;--focus:var(--accent);--sans:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;--mono:ui-monospace,Consolas,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1517;--surface:#172023;--surface-2:#1b2528;--sunk:#0e1517;--line:#2c3a3e;--line-2:#3c4c52;--ink:#e5ece9;--ink-2:#b2bebb;--muted:#86948f;--accent:#43b8a7;--accent-ink:#06201c;--accent-soft:#16332f;--accent-deep:#0e2a27;--good:#5cc486;--good-soft:#16301f;--warn:#e0a24a;--warn-soft:#33260f;--bad:#f07a68;--bad-soft:#3a1c18;--presale:#3a3211;--presale-line:#8c7830;--st-dev:#79a3f0;--st-comp:#e07fab;--st-int:#a98ef0;--st-deal:#5cc486;--st-churn:#e8956a;--st-inv:#8e9aa3;--shadow:0 12px 40px #00000080;--shadow-sm:0 2px 8px #0006;--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--accent-press:#36998c;--focus:var(--accent)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1517;--surface:#172023;--surface-2:#1b2528;--sunk:#0e1517;--line:#2c3a3e;--line-2:#3c4c52;--ink:#e5ece9;--ink-2:#b2bebb;--muted:#86948f;--accent:#43b8a7;--accent-ink:#06201c;--accent-soft:#16332f;--accent-deep:#0e2a27;--good:#5cc486;--good-soft:#16301f;--warn:#e0a24a;--warn-soft:#33260f;--bad:#f07a68;--bad-soft:#3a1c18;--presale:#3a3211;--presale-line:#8c7830;--st-dev:#79a3f0;--st-comp:#e07fab;--st-int:#a98ef0;--st-deal:#5cc486;--st-churn:#e8956a;--st-inv:#8e9aa3;--shadow:0 12px 40px #00000080;--shadow-sm:0 2px 8px #0006;--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--accent-press:#36998c;--focus:var(--accent)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);margin:0;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--focus,var(--accent));outline-offset:2px}#appRoot{min-height:100dvh}#loginRoot{flex-direction:column;min-height:100dvh;display:flex}#loginRoot>.login{flex:1}.login{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100dvh;display:grid}.login-side{background:var(--accent-deep);color:#e8f3f0;flex-direction:column;justify-content:space-between;gap:36px;padding-block:44px;padding-inline:clamp(20px,5vw,72px);display:flex}.login-side .brand{color:#fff}.login-side .brand-mark{color:var(--accent-deep);background:#e8f3f0}.ls-head{text-wrap:balance;color:#fff;margin:0;font-size:clamp(24px,3vw,34px);font-weight:700;line-height:1.3}.ls-sub{color:#a9cbc4;max-width:34em;margin:10px 0 0}.ls-demo{background:#ffffff12;border:1px solid #ffffff24;border-radius:14px;flex-direction:column;gap:12px;max-width:420px;padding:16px 18px;display:flex}.ls-demo .row{grid-template-columns:78px 1fr 48px;align-items:center;gap:10px;font-size:13px;display:grid}.ls-demo .trk{background:#ffffff24;border-radius:3px;height:6px;overflow:hidden}.ls-demo .trk i{background:#7fd6c7;border-radius:3px;height:100%;display:block}.ls-demo .trk.miss i{background:#f0c070}.ls-demo .v{font-family:var(--mono);text-align:right}.ls-demo .cap{color:#a9cbc4;font-size:12px}.ls-foot{color:#86aaa3;font-size:12px}.login-main{background:var(--bg);place-items:center;padding-block:32px;padding-inline:16px;display:grid}.lcard{flex-direction:column;gap:18px;width:min(400px,100%);display:flex}.lcard h1{font-size:22px}.ltabs{border-bottom:1px solid var(--line);gap:20px;display:flex}.ltabs button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 0;font-size:15px}.ltabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:500}.lform{flex-direction:column;gap:14px;display:flex}.lf{flex-direction:column;gap:5px;display:flex}.lf label{color:var(--ink-2);font-size:13px}.lf input{border:1px solid var(--line-2);background:var(--surface);border-radius:9px;width:100%;min-width:0;height:42px;padding:0 12px}.lf input[aria-invalid=true]{border-color:var(--bad)}.lrow{gap:8px;display:flex}.lrow input{flex:1}.lrow .btn{height:42px}.cap-canvas{border:1px solid var(--line-2);cursor:pointer;background:var(--surface-2);border-radius:9px;flex:none;width:108px;height:42px}.pwwrap{position:relative}.pwwrap input{padding-right:52px}.pwwrap button{height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 8px;font-size:12px;position:absolute;top:6px;right:6px}.pwwrap button:hover{background:var(--surface-2);color:var(--ink)}.lopts{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.lopts label{color:var(--ink-2);align-items:center;gap:6px;display:flex}.linkbtn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.linkbtn:hover{text-underline-offset:3px;text-decoration:underline}.lsubmit{justify-content:center;height:44px;font-size:15px}.sms-mock{border:1px dashed var(--accent);background:var(--accent-soft);border-radius:10px;padding:10px 12px;font-size:13px}.sms-mock b{font-family:var(--mono);letter-spacing:.12em;font-size:16px}.demo-accts{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:14px;display:flex}.demo-accts .chips{flex-wrap:wrap;gap:6px;display:flex}.demo-accts button{border:1px solid var(--line-2);background:var(--surface);cursor:pointer;color:var(--ink-2);border-radius:16px;padding:4px 12px;font-size:12px}.demo-accts button:hover{border-color:var(--accent);color:var(--accent)}.lerr{color:var(--bad);min-height:1em;font-size:13px}.top{top:env(safe-area-inset-top,0px);z-index:30;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 20px;display:flex;position:sticky}.brand{letter-spacing:.02em;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.brand-mark{background:var(--accent);width:26px;height:26px;color:var(--accent-ink);border-radius:7px;place-items:center;font-size:13px;display:grid}.proto-tag{color:var(--warn);background:var(--warn-soft);border-radius:4px;padding:1px 7px;font-size:11px;font-weight:500}.top-sp{flex:1}.me{align-items:center;gap:10px;display:flex}.me .av{border-radius:50%;width:30px;height:30px;font-size:13px}.me-name{flex-direction:column;font-size:13px;font-weight:500;line-height:1.25;display:flex}.me-name small{color:var(--muted);font-size:11px;font-weight:400}.shell{grid-template-columns:196px minmax(0,1fr);min-height:calc(100dvh - 52px);display:grid}.nav{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:2px;padding:14px 10px;display:flex}.nav button{cursor:pointer;color:var(--ink-2);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;display:flex}.nav button svg{flex:none;width:18px;height:18px}.nav button:hover{background:var(--surface-2);color:var(--ink)}.nav button[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:500}.nav .badge{background:var(--bad);color:#fff;font-size:11px;font-family:var(--mono);border-radius:10px;margin-left:auto;padding:0 6px}.nav-foot{color:var(--muted);flex-direction:column;gap:6px;margin-top:auto;padding:12px;font-size:12px;display:flex}.nav-foot button{color:var(--muted);text-underline-offset:3px;padding:0;font-size:12px;text-decoration:underline}.nav-foot button:hover{color:var(--ink);background:0 0}.site-foot{z-index:40;height:24px;color:var(--muted);background:var(--surface);border-top:1px solid var(--line);justify-content:center;align-items:center;font-size:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.site-foot a{color:var(--muted);text-decoration:none}.site-foot a:hover{text-decoration:underline}.settings-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:28px;padding-top:14px;font-size:12px;display:flex}.settings-foot a{color:var(--muted);text-decoration:none}.settings-foot a:hover{text-decoration:underline}main{flex-direction:column;gap:18px;min-width:0;padding:22px 28px 48px;display:flex}h1{text-wrap:balance;margin:0;font-size:22px;font-weight:700}h2{margin:0;font-size:15px;font-weight:700}.sub{color:var(--muted);margin:2px 0 0;font-size:13px}.head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.btn{border:1px solid var(--line-2);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;display:inline-flex}.btn:hover{border-color:var(--ink-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:500}.btn.primary:hover{background:var(--accent-press);border-color:var(--accent-press)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{color:var(--bad)}.btn.sm{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);min-width:0;padding:16px 18px}.panel-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.panel-h .note{color:var(--muted);font-size:12px}.cols{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;display:grid}.banner{background:var(--warn-soft);color:var(--warn);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.banner .btn{margin-left:auto}.targets{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.tcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.tc-h{justify-content:space-between;align-items:baseline;font-weight:500;display:flex}.tc-h .per{color:var(--muted);font-size:12px;font-weight:400}.tc-n{align-items:baseline;gap:6px;display:flex}.tc-n b{font-family:var(--mono);font-size:34px;font-weight:500;line-height:1}.tc-n span{font-family:var(--mono);color:var(--muted);font-size:16px}.bar{background:var(--sunk);border-radius:3px;height:6px;overflow:hidden}.bar i{background:var(--warn);border-radius:3px;height:100%;display:block}.tcard.ok .bar i{background:var(--good)}.tc-s{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.state{white-space:nowrap;border-radius:10px;align-items:center;gap:4px;padding:1px 8px;font-size:12px;font-weight:500;display:inline-flex}.state.ok{background:var(--good-soft);color:var(--good)}.state.miss{background:var(--warn-soft);color:var(--warn)}.state.bad{background:var(--bad-soft);color:var(--bad)}.state.off{background:var(--sunk);color:var(--muted)}.kpis{background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;display:grid;overflow:hidden}.kpi{background:var(--surface);padding:14px 16px}.kpi .k{color:var(--muted);font-size:12px}.kpi .v{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:26px;font-weight:500;line-height:1.3}.kpi .v small{color:var(--muted);font-size:14px}.kpi.alert .v{color:var(--bad)}.pill{--c:var(--st-inv);background:color-mix(in srgb,var(--c) 13%,transparent);color:var(--c);white-space:nowrap;border-radius:10px;align-items:center;gap:5px;padding:1px 8px 1px 7px;font-size:12px;font-weight:500;display:inline-flex}.pill:before{content:"";background:var(--c);border-radius:50%;width:6px;height:6px}.pill[data-s=新开发]{--c:var(--st-dev)}.pill[data-s=竞对]{--c:var(--st-comp)}.pill[data-s=意向]{--c:var(--st-int)}.pill[data-s=已合作]{--c:var(--st-deal)}.pill[data-s=断约]{--c:var(--st-churn)}.pill[data-s=无效]{--c:var(--st-inv)}.pill[data-s=同事已签约]{--c:var(--warn)}.tag{background:var(--sunk);color:var(--ink-2);white-space:nowrap;border-radius:4px;padding:0 6px;font-size:11px;display:inline-block}.tag.presale{background:var(--presale-line);color:var(--ink)}.tag.good{background:var(--good-soft);color:var(--good)}.tag.bad{background:var(--bad-soft);color:var(--bad)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.days{font-family:var(--mono);white-space:nowrap;border-radius:4px;padding:1px 7px;font-size:12px}.days.warn{background:var(--warn-soft);color:var(--warn)}.days.bad{background:var(--bad-soft);color:var(--bad)}.days.calm{background:var(--sunk);color:var(--ink-2)}.rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rows li{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 10px;padding:10px 4px;display:grid}.rows li:first-child{border-top:0}.rows li:hover{background:var(--surface-2)}.rows .t{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.rows .m{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:2/4;min-width:0;font-size:12px;overflow:hidden}.kind{white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:11px}.kind.comp{background:color-mix(in srgb,var(--st-comp) 13%,transparent);color:var(--st-comp)}.kind.deal{background:color-mix(in srgb,var(--st-deal) 13%,transparent);color:var(--st-deal)}.kind.fu{background:var(--accent-soft);color:var(--accent)}.empty{color:var(--muted);text-align:center;padding:14px 4px;font-size:13px}.node{color:var(--accent);font-size:11px;font-weight:500}.stock{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.stock button{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.stock button:hover{border-color:var(--line-2)}.stock b{font-family:var(--mono);font-size:22px;font-weight:500}.table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{background:var(--surface-2);text-align:left;color:var(--ink-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 12px;font-size:12px;font-weight:500;position:sticky;top:0}th.sortable{cursor:pointer}th.sortable:hover{color:var(--ink)}td{border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle;padding:9px 12px}tr:last-child td{border-bottom:0}tbody tr.click,.kpi.click{cursor:pointer}.kpi.click:hover,tbody tr.click:hover td{background:var(--surface-2)}tbody tr.presale td{background:var(--presale)}tbody tr.off td{color:var(--muted)}td.clip{text-overflow:ellipsis;max-width:280px;overflow:hidden}td.n,th.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.score{font-family:var(--mono);border-radius:4px;padding:1px 7px;font-size:13px}.score.ok{color:var(--good);background:var(--good-soft)}.score.miss{color:var(--warn);background:var(--warn-soft)}.score.off{color:var(--muted);background:var(--sunk)}td.sub-row{background:var(--surface-2);white-space:normal}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar input,.toolbar select{border:1px solid var(--line-2);background:var(--surface);border-radius:8px;padding:7px 10px}.toolbar input[type=search]{flex:200px;min-width:0;max-width:320px}.pager{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;font-size:12px;display:flex}.legend-note{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.legend-note i{background:var(--presale);border:1px solid var(--presale-line);border-radius:3px;width:12px;height:12px}.seg{border:1px solid var(--line-2);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);cursor:pointer;color:var(--ink-2);border:0;padding:6px 14px;font-size:13px}.seg button+button{border-left:1px solid var(--line-2)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.hbars{flex-direction:column;gap:10px;display:flex}.hb{grid-template-columns:88px 1fr 92px;align-items:center;gap:10px;font-size:13px;display:grid}.hb .lab{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hb .track{background:var(--sunk);border-radius:4px;height:18px;position:relative}.hb .track i{background:var(--accent);border-radius:0 4px 4px 0;min-width:2px;position:absolute;top:0;bottom:0;left:0}.hb .track:hover i{filter:brightness(1.12)}.hb .val{font-family:var(--mono);text-align:right;white-space:nowrap}.hb .val small{color:var(--muted)}.funnel-step{color:var(--muted);margin:-4px 0;padding-left:98px;font-size:12px}.scrim{z-index:40;background:#0a141859;position:fixed;inset:0}.drawer{background:var(--surface);z-index:41;width:min(540px,100%);box-shadow:var(--shadow);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.d-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:16px 20px;display:flex}.d-head h2{font-size:17px}.d-body{flex-direction:column;gap:18px;padding:16px 20px 28px;display:flex;overflow-y:auto}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:6px;margin-left:auto;padding:2px 6px;font-size:22px;line-height:1}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.kv{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;display:grid}.kv div{min-width:0}.kv dt{color:var(--muted);font-size:12px}.kv dd{overflow-wrap:anywhere;margin:0}.acts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sect{flex-direction:column;gap:10px;display:flex}.sect>h3{color:var(--ink-2);margin:0;font-size:13px;font-weight:500}.timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timeline li{grid-template-columns:14px 1fr;gap:10px;padding-bottom:14px;display:grid;position:relative}.timeline li:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;margin-top:7px;margin-left:3px}.timeline li:after{content:"";background:var(--line);width:1px;position:absolute;top:18px;bottom:0;left:6.5px}.timeline li:last-child:after{display:none}.timeline li.sys:before{background:var(--line-2)}.timeline .meta{color:var(--muted);font-size:12px}.timeline .txt{overflow-wrap:anywhere}.boxed{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.fgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.fgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.f{flex-direction:column;gap:4px;min-width:0;display:flex}.f.wide{grid-column:1/-1}.f label,.f .lbl{color:var(--ink-2);font-size:12px}.req{color:var(--bad)}.f input,.f select,.f textarea{border:1px solid var(--line-2);background:var(--surface);border-radius:8px;width:100%;min-width:0;padding:8px 10px}.f textarea{resize:vertical;min-height:64px}[aria-invalid=true]{border-color:var(--bad)!important}.radios{flex-wrap:wrap;gap:8px 14px;padding:6px 0;display:flex}.radios label{color:var(--ink);white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:flex}.err{color:var(--bad);font-size:12px}.dup{border:1px solid var(--bad);background:var(--bad-soft);color:var(--bad);border-radius:8px;padding:10px 12px;font-size:13px}.hint{color:var(--muted);font-size:12px}.okmsg{color:var(--good);font-size:12px}.modal-bg{z-index:50;background:#0a141866;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;width:min(640px,100%);min-height:0;max-height:calc(100dvh - 32px);display:flex}.modal header{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:10px;padding:16px 20px;display:flex}.modal .m-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:14px;min-height:0;padding:16px 20px;display:flex;overflow-y:auto}.modal footer{border-top:1px solid var(--line);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px;display:flex}.msg{grid-template-columns:36px 1fr;gap:10px;display:grid}.av{background:var(--accent);width:36px;height:36px;color:var(--accent-ink);border-radius:8px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.av.bot{background:var(--st-int);color:#fff}.bubble{background:var(--surface);border:1px solid var(--line);border-radius:4px 12px 12px;flex-direction:column;gap:6px;min-width:0;padding:12px 14px;display:flex}.bubble .who{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.bubble .ttl{font-weight:700}.bubble ul{margin:0;padding-left:18px}.bubble .at{color:var(--accent);font-weight:500}.bubble .link{color:var(--accent);font-size:12px}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);z-index:60;box-shadow:var(--shadow);border-radius:10px;max-width:calc(100% - 32px);padding:10px 18px;font-size:13px;position:fixed;transform:translate(-50%)}.cfg-def{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.cfg-def .f{width:140px}.muted{color:var(--muted)}.chip-pending{color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:11px}td input.cin{border:1px solid var(--line-2);background:var(--surface);width:64px;font-family:var(--mono);border-radius:6px;padding:5px 8px}td input.cdate,td select.csel{border:1px solid var(--line-2);background:var(--surface);border-radius:6px;width:140px;padding:5px 8px}td input.cnote{border:1px solid var(--line-2);background:var(--surface);border-radius:6px;width:150px;padding:5px 8px}.log{flex-direction:column;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.log li{color:var(--ink-2)}.log .mono{color:var(--muted);margin-right:8px;font-size:12px}.set-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:18px;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-2);background:var(--surface);border-radius:14px;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:13px;display:inline-flex}.chip button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:50%;width:20px;height:20px;font-size:14px;line-height:1}.chip button:hover{background:var(--bad-soft);color:var(--bad)}.chip.lock{background:var(--surface-2);padding-right:10px}.addrow{gap:6px;margin-top:10px;display:flex}.addrow input{border:1px solid var(--line-2);background:var(--surface);border-radius:8px;flex:1;min-width:0;padding:6px 10px}.dict-block{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:14px 0;display:flex}.dict-block:first-of-type{border-top:0;padding-top:0}.dict-block h3{margin:0;font-size:13px;font-weight:500}.cal-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.cal-list li{border-bottom:1px dashed var(--line);align-items:center;gap:10px;padding:4px 0;display:flex}.cal-list li .mono{min-width:96px}.cal-list li button{margin-left:auto}.hook{font-family:var(--mono);font-size:12px}@media (width<=820px){.login{grid-template-columns:minmax(0,1fr)}.login-side{gap:16px;padding-block:24px}.login-side .hide-m{display:none}.top{padding:10px 16px}.me-name{display:none}.shell{grid-template-columns:minmax(0,1fr)}.nav{z-index:35;border-right:0;border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));flex-direction:row;justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.nav button{flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-size:11px;position:relative}.nav .badge{margin:0;position:absolute;top:0;right:18%}.nav-foot{display:none}.site-foot{bottom:env(safe-area-inset-bottom,0px)}main{padding:16px 16px 96px}.fgrid,.fgrid.three,.kv{grid-template-columns:minmax(0,1fr)}.hb{grid-template-columns:64px 1fr 84px}.funnel-step{padding-left:74px}}@media (prefers-reduced-motion:no-preference){.drawer{animation:.18s ease-out slide}@keyframes slide{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}}select:not([multiple]){appearance:none;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%23879199' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-position:right 9px center!important;background-repeat:no-repeat!important;background-size:12px 12px!important;padding-right:28px!important}select::-ms-expand{display:none}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,color-mix(in srgb,var(--line-2) 55%,var(--surface)) 37%,var(--surface-2) 63%);border-radius:var(--r-xs);background-size:400% 100%}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.2s ease-in-out infinite sk-shimmer}@keyframes sk-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.panel,.kpi.click{transition:background-color .15s ease-out,border-color .15s ease-out}tbody tr,.rows li{transition:background-color .12s ease-out}.toast{animation:.15s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}}.verdict{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:18px;padding:16px 20px;display:flex}.verdict.good{border-color:color-mix(in srgb,var(--good) 40%,var(--line))}.verdict.warn{background:color-mix(in srgb,var(--warn-soft) 38%,var(--surface));border-color:color-mix(in srgb,var(--warn) 50%,var(--line))}.verdict-main{align-items:center;gap:14px;display:flex}.verdict .k{color:var(--muted);font-size:13px}.verdict .v{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:44px;font-weight:600;line-height:1}.verdict.good .v{color:var(--good)}.verdict.warn .v{color:var(--warn)}.verdict .dot{background:var(--good);border-radius:50%;flex:none;width:12px;height:12px}.verdict.warn .dot{background:var(--warn)}.verdict-neutral .dot{background:var(--muted)}.verdict-note{flex-direction:column;gap:3px;font-size:13px;display:flex}.verdict-line{color:var(--muted)}.section-label{border-top:1px solid var(--line);align-items:baseline;gap:10px;margin-top:18px;padding-top:14px;display:flex}.section-label>span:first-child{font-size:14px;font-weight:700}.cols.dist .panel-h h2{color:var(--muted);font-size:13px;font-weight:600}.cols.dist .hb .track i{background:color-mix(in srgb,var(--accent) 42%,var(--sunk))}tbody tr.me-row{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}tbody tr.me-row td:first-child{color:var(--accent);font-weight:700}.me-tag{background:var(--accent);color:var(--accent-ink);vertical-align:middle;border-radius:8px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:500;display:inline-block}@media (width<=820px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis>.kpi:last-child:nth-child(odd){grid-column:1/-1}}@media (width<=560px){.verdict{gap:12px;padding:14px 16px}.verdict .v{font-size:36px}}@media (prefers-reduced-motion:no-preference){.verdict.warn .dot{animation:1.6s ease-in-out infinite dot-pulse}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--warn) 55%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--warn) 0%,transparent)}}}#app{flex-direction:column;min-height:100dvh;display:flex}#app>.login,#app>.login-main,#app>.shell{flex:1}.nav .nav-item{color:var(--ink-2);border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;text-decoration:none;display:flex;position:relative}.nav .nav-item svg{flex:none;width:18px;height:18px}.nav .nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav .nav-item[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:500}.mobile-only{display:none}.cap-btn{border:1px solid var(--line-2);cursor:pointer;background:#fff;border-radius:9px;flex:none;place-items:center;width:108px;height:42px;padding:0;display:grid;overflow:hidden}.cap-btn img{width:108px;height:42px;display:block}.pw-reveal{border:1px dashed var(--accent);background:var(--accent-soft);border-radius:10px;flex-wrap:wrap;gap:24px;padding:14px 16px;display:flex}.pw-reveal div{flex-direction:column;gap:2px;display:flex}.pw-reveal b{letter-spacing:.06em;font-size:20px}.toolbar label.legend-note input{border:1px solid var(--line-2);background:var(--surface);border-radius:8px;padding:6px 8px}.cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cards.mobile-only{display:none}.cards li{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.cards li.presale{background:var(--presale);border-color:var(--presale-line)}.card-h{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-h b{margin-right:auto;font-weight:500}.card-m{color:var(--muted);font-size:12px}.card-t{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.pool-cards{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.pool-card{cursor:default!important}.csel-inline{border:1px solid var(--line-2);background:var(--surface);border-radius:6px;padding:5px 8px}.msgs{flex-direction:column;gap:8px;max-width:760px;display:flex}.msg-item{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;grid-template-columns:10px 1fr;gap:10px;padding:12px 14px;display:grid}.msg-item:hover{border-color:var(--line-2)}.msg-item .dot{background:0 0;border-radius:50%;width:8px;height:8px;margin-top:7px}.msg-item.unread .dot{background:var(--accent)}.msg-item:not(.unread) .msg-title{color:var(--ink-2);font-weight:400}.msg-main{flex-direction:column;gap:3px;min-width:0;display:flex}.msg-meta{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.msg-body{white-space:pre-line;color:var(--ink-2);font-size:13px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.quick-links{gap:8px}a.btn{color:inherit;text-decoration:none}.chip.off{color:var(--muted);background:var(--surface-2);text-decoration:line-through}@media (width>=821px){.nav{top:var(--top-h,53px);height:calc(100vh - var(--top-h,53px));height:calc(100dvh - var(--top-h,53px));align-self:start;position:sticky;overflow-y:auto}}.tag.comp-tag{color:var(--st-comp);background:color-mix(in srgb, var(--st-comp) 14%, transparent);font-weight:500}.tag.comp-tag.soon{box-shadow:inset 0 0 0 1px var(--bad)}.cc-0{--cc:#2c60c2}.cc-1{--cc:#a63f6d}.cc-2{--cc:#6b44c0}.cc-3{--cc:#0f7d8c}.cc-4{--cc:#b35c00}.cc-5{--cc:#5d7a12}.cc-6{--cc:#8a5a3c}.cc-7{--cc:#c0367a}.cc-8{--cc:#3d4fb0}.cc-9{--cc:#2f7d4f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cc-0{--cc:#79a3f0}:root:not([data-theme=light]) .cc-1{--cc:#e07fab}:root:not([data-theme=light]) .cc-2{--cc:#a98ef0}:root:not([data-theme=light]) .cc-3{--cc:#4fc3d1}:root:not([data-theme=light]) .cc-4{--cc:#e8a25a}:root:not([data-theme=light]) .cc-5{--cc:#b0c95a}:root:not([data-theme=light]) .cc-6{--cc:#d0a07e}:root:not([data-theme=light]) .cc-7{--cc:#f07ab4}:root:not([data-theme=light]) .cc-8{--cc:#8f9cf0}:root:not([data-theme=light]) .cc-9{--cc:#6fcf96}}:root[data-theme=dark] .cc-0{--cc:#79a3f0}:root[data-theme=dark] .cc-1{--cc:#e07fab}:root[data-theme=dark] .cc-2{--cc:#a98ef0}:root[data-theme=dark] .cc-3{--cc:#4fc3d1}:root[data-theme=dark] .cc-4{--cc:#e8a25a}:root[data-theme=dark] .cc-5{--cc:#b0c95a}:root[data-theme=dark] .cc-6{--cc:#d0a07e}:root[data-theme=dark] .cc-7{--cc:#f07ab4}:root[data-theme=dark] .cc-8{--cc:#8f9cf0}:root[data-theme=dark] .cc-9{--cc:#6fcf96}.tag.comp-tag[class*=cc-]{color:var(--cc);background:color-mix(in srgb, var(--cc) 14%, transparent)}.churn-hot{color:var(--st-churn);font-weight:600}.churn-mid{color:var(--text)}.churn-old{color:var(--muted)}.st-fill{--c:var(--st-inv)}.st-fill[data-st=new_dev]{--c:var(--st-dev)}.st-fill[data-st=competitor]{--c:var(--st-comp)}.st-fill[data-st=intent]{--c:var(--st-int)}.st-fill[data-st=signed]{--c:var(--st-deal)}.st-fill[data-st=churned]{--c:var(--st-churn)}.st-fill[data-st=invalid]{--c:var(--st-inv)}.st-fill[data-st=peer_signed]{--c:var(--warn)}.st-fill{--fill:color-mix(in srgb, var(--c) 13%, var(--surface));background:var(--fill);border:1px solid var(--fill);border-radius:10px}.stock .st-fill button,.stock button.st-fill{background:0 0;border-color:#0000}.stock button.st-fill{border:1px solid var(--fill);background:var(--fill)}.stock .st-fill:hover{border-color:var(--c)}.st-fill b{color:var(--c);font-weight:700!important}.st-fill .pill{color:var(--c);background:0 0;padding-left:0;font-weight:600}.tabs{scrollbar-width:none;border-bottom:0;gap:8px;padding:2px 0 10px;display:flex;overflow:auto hidden}.tabs::-webkit-scrollbar{display:none}.tabs button{border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;margin:0;padding:5px 14px;font-size:14px;display:flex}.tabs button:hover{border-color:var(--accent);color:var(--accent)}.tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.tabs button[aria-selected=true] .c{color:inherit;opacity:.85}.tabs .c{font-family:var(--mono);color:var(--muted);font-size:12px}@media (prefers-reduced-motion:no-preference){.tabs button{transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out}}.tabs.wrap{flex-wrap:wrap}@media (width<=820px){.tabs.wrap{flex-wrap:nowrap}}.tabs.st-tabs button[aria-selected=true]{background:var(--c);border-color:var(--c);color:#fff}.tabs.st-tabs button:hover:not([aria-selected=true]){border-color:var(--c);color:var(--c)}.visit-list{color:var(--ink-2);margin:8px 0 0;padding-left:18px;font-size:13px}.visit-list li{margin:2px 0}.visit-list .linkbtn{color:var(--bad);margin-left:8px;font-size:12px}.visit-h{align-items:center;gap:8px;display:flex}.drag-h{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;color:var(--muted);background:0 0;border:0;padding:2px 4px;font-size:15px;line-height:1}.drag-h:active{cursor:grabbing}.dragging{outline:1px dashed var(--accent);background:var(--accent-soft)!important}.sort-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.sort-list li{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:4px;min-height:34px;padding:2px 4px 2px 2px;font-size:13px;display:flex}.sort-list li .lbl{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sort-list li .icon-sm{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:6px;width:24px;height:24px;font-size:12px}.sort-list li .icon-sm:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.sort-list li .icon-sm:disabled{opacity:.3;cursor:default}details.off-box{margin-top:8px;font-size:13px}details.off-box>summary{cursor:pointer;color:var(--muted);width:fit-content}details.off-box[open]>summary{margin-bottom:6px}details.off-box .sort-list li{background:var(--surface-2);color:var(--muted)}.radios.invalid{outline:1px solid var(--bad);border-radius:6px;padding-left:6px}@media (width<=820px){.desktop-only{display:none!important}.mobile-only{display:inline}.cards.mobile-only{display:flex}.nav .nav-item{flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-size:11px}.nav .nav-item .badge{margin:0;position:absolute;top:0;right:18%}.toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.nav-item[href=\/]{order:1}.nav-item[href=\/customers]{order:2}.nav-item[href=\/board]{order:3}.nav-item[href=\/pool]{order:4}.nav-item[href=\/messages]{order:5}.nav-item[href=\/settings]{order:6}}.install-steps{margin:0;padding-left:20px;line-height:1.8}
