*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}
.app{display:flex;min-height:100vh}
.nav{width:232px;flex:none;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 14px;background:var(--navbg,var(--panel));border-right:1px solid var(--line)}
.brand{font-family:var(--dfont);font-size:20px;letter-spacing:.18em;font-weight:700;padding:4px 10px 26px;color:var(--brandc,var(--text))}
.links{display:flex;flex-direction:column;gap:4px;flex:1}
.links a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--rs);color:var(--mute);cursor:pointer;transition:.15s}
.links a i{font-style:normal;width:18px;text-align:center}
.links a:hover{color:var(--text)}
.links a.on{color:var(--onc,var(--text));background:var(--onbg,rgba(127,127,127,.12))}
.extra{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.extra a{padding:7px 12px;font-size:13px}
.me{display:flex;align-items:center;gap:10px;padding:10px;color:var(--mute);font-size:13px}
main{flex:1;min-width:0;padding:30px 36px 60px;max-width:1240px}
.av{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--avbg,var(--acc));color:var(--avc,#000);font-size:11px;font-weight:700;margin-right:10px;flex:none;vertical-align:middle}
.av.xl{width:64px;height:64px;font-size:22px;margin-right:18px}
.ph{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.who{display:flex;align-items:center}
.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:6px;font-weight:600}
h1{font-family:var(--dfont);font-size:30px;font-weight:var(--h1w,700);letter-spacing:var(--h1ls,-.01em)}
h2{font-family:var(--dfont);font-size:22px;font-weight:600}
h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:8px}
h3 em{font-style:normal;background:var(--acc);color:var(--accc,#000);border-radius:20px;padding:1px 8px;font-size:11px;letter-spacing:0}
h3 .more{margin-left:auto;text-transform:none;letter-spacing:0;color:var(--acc)}
.sub{color:var(--mute);margin-top:4px;font-size:13px}
.ph-act{display:flex;gap:10px;align-items:center}
.btn{border:1px solid var(--line);background:transparent;padding:10px 16px;border-radius:var(--rs);cursor:pointer;font-weight:600;font-size:13px;display:inline-block}
.btn.pri{background:var(--acc);border-color:var(--acc);color:var(--accc,#000)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow,none)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;box-shadow:var(--shadow,none);position:relative;overflow:hidden}
.kpi .k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.kpi .v{font-family:var(--nfont,var(--dfont));font-size:32px;font-weight:700;margin:8px 0 6px}
.kpi .d{font-size:12px;color:var(--mute)}
.spark{width:100%;height:34px;display:block;margin-bottom:6px}.spark path{stroke:var(--acc);stroke-width:2}.spark .area{fill:var(--acc);opacity:.12;stroke:none}
.kpi-gauges .kpi{text-align:center}.gauge{width:100%;max-width:200px;margin:0 auto;display:block}
.g-bg{fill:none;stroke:var(--line);stroke-width:8}.g-red{fill:none;stroke:var(--acc2);stroke-width:8;opacity:.5}.g-val{fill:none;stroke:var(--acc);stroke-width:8;stroke-linecap:round}
.g-tick line{stroke:var(--mute);stroke-width:1.5}.g-needle{stroke:var(--text);stroke-width:2.5;stroke-linecap:round}.g-hub{fill:var(--acc)}.g-txt{fill:var(--text);font-family:var(--nfont,var(--dfont));font-size:17px;font-weight:700;text-anchor:middle}
.bat{height:12px;border-radius:7px;border:1px solid var(--line);position:relative;margin:4px 0 10px;overflow:hidden}.bat i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--acc2),var(--acc));border-radius:7px}.bat b{position:absolute;right:6px;top:-1px;font-size:10px;color:var(--text)}
.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-bottom:16px}
.pipe-row{display:flex;gap:6px;height:96px}
.stage{border-radius:var(--rs);padding:12px;display:flex;flex-direction:column;justify-content:space-between;min-width:60px;background:var(--acc);color:var(--accc,#000)}
.stage b{font-family:var(--nfont,var(--dfont));font-size:24px}.stage span{font-size:11px;font-weight:600;opacity:.85}
.stage.s0{opacity:.45}.stage.s1{opacity:.6}.stage.s2{opacity:.75}.stage.s3{opacity:.88}
.alert{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.alert:first-of-type{border-top:0}
.alert i{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:none;background:var(--mute)}
.alert.hot i{background:var(--acc2);box-shadow:0 0 10px var(--acc2)}.alert.warm i{background:#f5b041}.alert.ok i{background:var(--acc)}
.alert div{flex:1;min-width:0}.alert b{display:block;font-size:13px}.alert span{color:var(--mute);font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alert time{font-size:11px;color:var(--mute)}
table{width:100%;border-collapse:collapse}
th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);text-align:left;font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
tbody tr{cursor:pointer}tbody tr:hover{background:rgba(127,127,127,.07)}
td small{color:var(--mute);margin-left:2px}.r{text-align:right}.pos{color:var(--pos,#2ecc71)}
.pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;border:1px solid currentColor}
.pill.ok{color:var(--pos,#2ecc71)}.pill.done{color:var(--mute)}.pill.warm{color:#f5b041}.pill.info{color:var(--acc)}.pill.new{color:var(--acc2)}
.pill.big{padding:7px 14px;font-size:12px}
.deals{overflow-x:auto}
.cr{grid-template-columns:1.3fr 1fr}.stack{display:flex;flex-direction:column;gap:16px}
.carart{width:100%;max-height:170px;margin:14px 0}
.carart .body{fill:url(#cg)}.carart .c1{stop-color:var(--car1,var(--acc))}.carart .c2{stop-color:var(--car2,var(--acc2))}
.carart .glass{fill:var(--bg);opacity:.75}.carart .line{stroke:var(--bg);opacity:.35;stroke-width:1.5}.carart .wheel{fill:var(--bg);stroke:var(--mute);stroke-width:3}.carart .hub{fill:var(--mute)}
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--rs);overflow:hidden}
.specs.two{grid-template-columns:repeat(2,1fr)}
.specs div{background:var(--panel);padding:12px}.specs span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}.specs b{font-family:var(--nfont,var(--dfont));font-size:16px}
.docs{display:flex;flex-wrap:wrap;gap:8px}
.doc{display:flex;gap:6px;align-items:center;border:1px solid var(--line);background:transparent;padding:8px 12px;border-radius:var(--rs);cursor:pointer;font-size:12px}.doc i{font-style:normal}.doc:hover{border-color:var(--acc)}
.tl{list-style:none}.tl li{display:flex;gap:14px;padding:8px 0 8px 16px;border-left:2px solid var(--line);position:relative}.tl li:before{content:'';position:absolute;left:-5px;top:13px;width:8px;height:8px;border-radius:50%;background:var(--acc)}
.tl time{color:var(--mute);font-size:12px;width:80px;flex:none}
.chat{display:grid;grid-template-columns:330px 1fr;height:calc(100vh - 90px);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel);box-shadow:var(--shadow,none)}
.clist{border-right:1px solid var(--line);overflow:auto;padding:14px}
.ch-tabs{display:flex;gap:4px;margin-bottom:10px}.ch-tabs b{padding:6px 10px;border-radius:var(--rs);font-size:12px;color:var(--mute);cursor:pointer}.ch-tabs b.on{background:var(--acc);color:var(--accc,#000)}
.search{width:100%;padding:10px 12px;border-radius:var(--rs);border:1px solid var(--line);background:transparent;margin-bottom:8px}
.ci{display:flex;align-items:center;padding:10px;border-radius:var(--rs);cursor:pointer;gap:2px}.ci.on{background:var(--selbg,var(--onbg,rgba(127,127,127,.12)))}
.ci>div{flex:1;min-width:0}.ci b{display:block;font-size:13px}.ci span{display:block;font-size:12px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ci .meta{flex:none;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.ci time,.ci .chn{font-size:10px;color:var(--mute)}
.ci em{font-style:normal;background:var(--acc2);color:#fff;border-radius:10px;font-size:10px;padding:0 6px}
.thread{display:flex;flex-direction:column;min-width:0}.thread header{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.thread header small{display:block;color:var(--mute);font-size:12px}.thread header small a{color:var(--acc)}
.msgs{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:70%}.msg p{padding:10px 14px;border-radius:16px;background:var(--bubin,rgba(127,127,127,.14));line-height:1.4}.msg time{font-size:10px;color:var(--mute);margin:3px 6px;display:block}
.msg.out{align-self:flex-end;text-align:right}.msg.out p{background:var(--acc);color:var(--accc,#000);text-align:left}
.thread footer{display:flex;gap:8px;padding:14px;border-top:1px solid var(--line)}.thread footer input{flex:1;padding:11px 14px;border-radius:var(--rs);border:1px solid var(--line);background:transparent}
.specials{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.sp{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;position:relative;box-shadow:var(--shadow,none)}
.sp .carart{max-height:96px;margin:6px 0 10px}.sp h4{font-size:14px;font-weight:600}
.sp .pay b{font-family:var(--nfont,var(--dfont));font-size:30px}.sp .pay small{color:var(--mute)}.sp .terms{font-size:12px;color:var(--mute)}
.tag{position:absolute;top:14px;right:14px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--acc2);color:#fff;padding:3px 8px;border-radius:var(--rs)}
#modal{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);display:none;place-items:center;z-index:50}#modal.on{display:grid}
.mbox{width:min(720px,92vw);height:80vh;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden}
.mbox header{display:flex;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.mbox header button{background:none;border:0;cursor:pointer;font-size:16px}
.mdoc{flex:1;margin:20px;background:#fff;border-radius:6px;padding:40px;color:#888}.mdoc div{background:#e6e6e6;height:10px;border-radius:5px;margin-bottom:14px}.mdoc .ph1{height:22px;width:50%;margin-bottom:28px}.mdoc .s{width:60%}.mdoc p{margin-top:40px;font-size:12px}
.tabbar{display:none}
.concepts{position:fixed;right:14px;bottom:14px;font-size:11px;padding:6px 10px;border-radius:20px;background:var(--panel);border:1px solid var(--line);color:var(--mute);z-index:40}
/* top-nav variant */
body.nav-top .app{flex-direction:column}
body.nav-top .nav{width:auto;height:auto;flex-direction:row;align-items:center;padding:14px 36px;border-right:0;border-bottom:1px solid var(--line);z-index:30}
body.nav-top .brand{padding:0 32px 0 0}body.nav-top .links{flex-direction:row;flex:1}body.nav-top .extra{flex-direction:row;margin:0 0 0 auto;padding:0;border:0}
body.nav-top main{margin:0 auto;width:100%}
/* rail variant */
body.nav-rail .nav{width:84px;padding:20px 10px;align-items:center}body.nav-rail .brand{writing-mode:vertical-rl;transform:rotate(180deg);padding:0 0 22px;font-size:15px}
body.nav-rail .links a{flex-direction:column;gap:4px;padding:10px 6px;font-size:10px;text-align:center}body.nav-rail .links a i{font-size:18px}
body.nav-rail .extra{display:none}body.nav-rail .me span:last-child{display:none}body.nav-rail .me .av{margin:0}
@media (max-width:820px){
 .nav{display:none!important}main{padding:20px 16px 100px}
 .tabbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:30;background:var(--tabbg,var(--panel));border:1px solid var(--line);border-radius:22px;padding:8px;justify-content:space-around;backdrop-filter:blur(18px);box-shadow:0 10px 30px rgba(0,0,0,.3)}
 .tabbar a{display:flex;flex-direction:column;align-items:center;font-size:10px;color:var(--mute);padding:6px 10px;border-radius:14px;gap:2px}.tabbar a i{font-style:normal;font-size:18px}.tabbar a.on{color:var(--onc,var(--text));background:var(--onbg,rgba(127,127,127,.12))}
 h1{font-size:24px}.ph-act .btn.ghost{display:none}
 .kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:14px}.kpi .v{font-size:24px}
 .grid2,.cr{grid-template-columns:1fr}.specs{grid-template-columns:1fr 1fr}.specials{grid-template-columns:1fr}
 .deals th:nth-child(2),.deals td:nth-child(2){display:none}
 .chat{grid-template-columns:1fr;height:auto}.thread{display:none}
 .concepts{bottom:96px}
 .pipe-row{height:80px}.stage{min-width:0;padding:8px}.stage span{font-size:9px}
}

.pipe{display:flex;flex-direction:column}.bars{flex:1;min-height:120px;display:flex;align-items:flex-end;gap:10px}
.bars div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}
.bars i{width:100%;max-width:38px;background:var(--acc);opacity:.85;border-radius:var(--rs) var(--rs) 2px 2px}.bars div:last-child i{background:var(--acc2)}
.bars span{font-size:10px;color:var(--mute)}

.stage span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:820px){.stage b{font-size:18px}.stage span{font-size:8px}.concepts{opacity:.7}}
