/* CRM v2 */
:root{
  --bg:#F7F5F2;--card:#FFFFFF;--card2:#FBFAF8;--soft:#EFECE7;--line:#E6E2DC;--line2:#D9D4CC;--ink:#141414;--muted:#4A4A4F;--sub:#6B6B72;
  --red:#E4001B;--red-dk:#B60016;--on-accent:#FFFFFF;--tint:#FCE6E8;--ok:#1E8A4C;--ok-t:#E6F5EC;--ok-dk:#16693A;--warn:#B45309;--warn-t:#FFF1DC;--warn-dk:#8A4A08;
  --inv:#141414;--inv2:#2A2A2E;--inv-fg:#FFFFFF;--inv-sub:#B9B9C0;--side-bg:#141414;--side-fg:#C9C5BE;--side-on:#2A2A2E;--side-h:#A8A39B;--focus:#2563EB;
  --wa:#25D366;--f-head:'Sora','Segoe UI',system-ui,sans-serif;--f-body:'Manrope','Segoe UI',system-ui,sans-serif;--f-data:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --shadow:0 1px 2px rgba(20,20,20,.04),0 8px 24px rgba(20,20,20,.06);--side:252px;
  --space-bg:#141414;--space-glow:#2A1216;--space-fg:#F4F2EE;--space-muted:#B3AEA6;
  --c-google:#3987e5;--c-instagram:#d95926;--c-whatsapp:#199e70;--c-website:#c98500;--c-ai:#9085e9;--c-referral:#E4001B;--c-portal:#6B6B72;
  color-scheme:light
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--f-head);margin:0;letter-spacing:-.01em}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
:focus-visible{outline:3px solid #2563EB;outline-offset:2px;border-radius:6px}
.muted{color:var(--sub)}.small{font-size:13px}
.sr{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
code{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:1px 5px}
.boot{min-height:100vh;display:flex;align-items:center;justify-content:center}
.loading{padding:28px;color:var(--sub);font-weight:600}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid transparent;font-weight:800;font-size:15px;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,filter .15s ease}
.btn svg{font-size:18px}
.btn-red{background:var(--red);color:var(--on-accent)}.btn-red:hover{filter:brightness(.92)}
.btn-ink{background:var(--inv);color:var(--inv-fg)}.btn-ink:hover{background:var(--inv2)}
.btn-ghost{background:var(--card);border-color:var(--line2)}.btn-ghost:hover{border-color:var(--ink)}
.btn-wa{background:var(--wa);color:#0A2E17}.btn-wa:hover{background:#1FBF5A}
.btn-sm{min-height:40px;padding:0 14px;font-size:14px;border-radius:10px}
.btn:disabled{opacity:.45;cursor:default;filter:none}
.btn[data-armed]{background:var(--red);color:var(--on-accent);border-color:var(--red)}
.is-busy{position:relative;color:transparent!important}.is-busy::after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
.btn-ghost.is-busy::after{border-color:var(--ink);border-right-color:transparent}
@keyframes spin{to{transform:rotate(360deg)}}
.icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--line2);background:var(--card);cursor:pointer;font-size:18px}
.icon-btn:hover{border-color:var(--ink)}.icon-btn:disabled{opacity:.35;cursor:default}
.link{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:800;color:var(--red-dk)}
.linkbtn{background:none;border:0;padding:0;color:var(--red-dk);font-weight:800;cursor:pointer}

/* login */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 85% 10%,color-mix(in srgb,var(--red) 12%,transparent),transparent 40%),var(--bg)}
.login-card{width:100%;max-width:440px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}
.login-card h1{font-size:26px;margin-top:10px}
.login-card form{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.login-card label{font-weight:700;font-size:14px;color:var(--muted);margin-top:4px}
.login-card input{padding:13px 14px;border:1px solid var(--line2);border-radius:10px;font-size:16px;background:var(--card2)}
.login-card input:focus{outline:none;border-color:var(--ink);background:var(--card)}
.login-card .btn{margin-top:8px}
.login-err{color:var(--red-dk);font-weight:700;font-size:14px}

/* layout */
.layout{display:flex;min-height:100vh}
.side{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--card);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;z-index:40;overflow-y:auto}
.main{flex:1;min-width:0;margin-left:var(--side)}
.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}
.brand-dot{width:13px;height:13px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px var(--tint);flex-shrink:0}
.brand-name{font-family:var(--f-head);font-weight:700;font-size:17px;line-height:1.2;min-width:0}
.brand-pill{font-size:10.5px;font-weight:800;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 8px}
.nav{display:flex;flex-direction:column;gap:2px;flex:1}
.nav a{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;font-weight:700;font-size:14.5px;color:var(--muted);min-height:42px}
.nav a svg{font-size:18px}
.nav a:hover{background:var(--bg);color:var(--ink)}
.nav a.on{background:var(--side-on);color:#fff}
.nav a.on .nav-ic{background:rgba(255,255,255,.14);color:#fff}
.nav a span:last-child{min-width:0;line-height:1.25}
.nav-h{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sub);padding:16px 10px 6px}
.nav-ic{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.nav-ic svg{font-size:14px!important}
.side-foot{border-top:1px solid var(--line);padding-top:12px;margin-top:12px;display:flex;flex-direction:column;gap:8px}
.me{display:flex;align-items:center;gap:10px;padding:6px;border-radius:10px}
.me:hover,.me.on{background:var(--bg)}
.me span{display:flex;flex-direction:column;min-width:0}.me b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me small{font-size:12px;color:var(--sub)}
.scrim{display:none}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:12px 32px;background:rgba(247,245,242,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.menu-btn{display:none}
.top-r{display:flex;align-items:center;gap:10px;margin-left:auto}
.live{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--ok);background:var(--ok-t);border-radius:999px;padding:7px 12px}
.live i{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:pulse 1.6s infinite}
.live.stale{color:var(--warn);background:var(--warn-t)}.live.stale i{background:var(--warn);animation:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(30,138,76,.5)}70%{box-shadow:0 0 0 8px rgba(30,138,76,0)}100%{box-shadow:0 0 0 0 rgba(30,138,76,0)}}
.search{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:0 12px;min-height:42px;width:100%;max-width:440px}
.search svg{color:var(--sub)}
.search input{border:0;background:transparent;outline:none;width:100%;font-size:14.5px;min-width:0}

/* page */
.wrap{max-width:1400px;margin:0 auto;padding:24px 32px 56px}
.wrap.wide{max-width:none}.wrap.narrow{max-width:760px}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.head-r{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--red-dk);display:flex;align-items:center;gap:8px}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.page-head h1{font-size:30px;font-weight:800;margin:6px 0 4px}
.page-head p{max-width:760px}
.scope-note{display:inline-flex;align-items:center;gap:8px;background:#EAF1FB;color:#1D4ED8;font-weight:700;font-size:13.5px;border-radius:10px;padding:8px 12px;margin:-4px 0 16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow);min-width:0}
.card-h{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.card-h h2{font-size:18px}
.empty{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;padding:36px 16px;color:var(--sub);list-style:none}
.empty b{color:var(--ink);font-size:16px}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:16px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow);min-width:0;transition:transform .15s ease,border-color .15s ease}
a.tile:hover{border-color:var(--ink);transform:translateY(-1px)}
.t-l{font-size:11.5px;font-weight:800;letter-spacing:.05em;color:var(--sub);text-transform:uppercase}
.t-v{font-family:var(--f-head);font-size:30px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-v.t-sm{font-size:19px;line-height:1.45;white-space:normal}
.t-s{font-size:13px;color:var(--sub)}
.tile-red{background:var(--inv);border-color:var(--inv);color:var(--inv-fg)}.tile-red .t-l{color:#FF8A96}.tile-red .t-s{color:var(--inv-sub)}.tile-red .t-v{color:#FF4D5E}

/* dashboard */
.row2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin-bottom:16px;align-items:start}
.row2.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.row2 .span2{grid-column:1/-1}
.chart{width:100%;height:auto}
.chart .gl{stroke:var(--soft);stroke-width:1}.chart .ax{font-size:11px;fill:#6B6B72;stroke:none;font-family:var(--f-body);font-weight:500}.chart rect{stroke:none}
.chart .bar-a{fill:var(--red)}.chart .bar-b{fill:var(--ink)}
.legend{display:flex;gap:14px;font-size:13px;color:var(--muted)}
.legend span{display:flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.lg-a{background:var(--red)}.lg-b{background:var(--ink)}
.funnel{display:flex;flex-direction:column;gap:10px}
.fn-row{display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:10px;margin:-6px}
.fn-row:hover{background:var(--card2)}
.fn-top{display:flex;align-items:center;gap:10px}.fn-top>span:first-child{flex:1;min-width:0}
.fn-top b{font-family:var(--f-head);font-size:16px}
.fn-bar{height:8px;background:var(--soft);border-radius:99px;overflow:hidden}.fn-bar i{display:block;height:100%;border-radius:99px}
.svc-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.svc-card{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow);min-width:0}
.svc-card:hover{border-color:var(--ink)}
.svc-card .nav-ic{width:40px;height:40px;border-radius:12px;font-size:18px}.svc-card .nav-ic svg{font-size:18px!important}
.sc-t{flex:1;display:flex;flex-direction:column;min-width:0}.sc-t b{font-size:14.5px;line-height:1.3}.sc-t small{color:var(--sub);font-size:12.5px}
.svc-card>svg{color:var(--sub)}
.due{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.due li a{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px}
.due li a:hover{background:var(--card2)}
.due li+li{border-top:1px solid var(--soft)}
.due-t{flex:1;display:flex;flex-direction:column;min-width:0}.due-t b,.due-t small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.due-t small{color:var(--sub);font-size:12.5px}
.due-r{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.due-d{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;border-radius:6px;padding:2px 7px;white-space:nowrap}
.due-d.late{background:var(--tint);color:var(--red-dk)}.due-d.now{background:var(--warn-t);color:var(--warn)}.due-d.soon{background:var(--bg);color:var(--muted)}
.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:560px;overflow:auto}
.fi a{display:flex;gap:12px;padding:10px;border-radius:12px;align-items:flex-start}
.fi a:hover{background:var(--card2)}
.fi.new a{animation:flash 2.4s ease}
@keyframes flash{0%{background:#FFE9EC}100%{background:transparent}}
.fi-t{flex:1;min-width:0;font-size:14px;line-height:1.4}
.fi-t small{display:block;color:var(--sub);font-size:12.5px;margin-top:2px;overflow-wrap:anywhere}
.fi time{font-size:12px;color:var(--sub);white-space:nowrap}
.fi-ic,.ev-ic{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.fi-ic.sm{width:26px;height:26px;border-radius:8px;font-size:13px}
.k-sales{background:var(--tint);color:#B80016}.k-mkt{background:var(--warn-t);color:#B45309}.k-ops{background:#EAF1FB;color:#1D4ED8}.k-team{background:#F1EAFB;color:#6D28D9}
.k-ff{background:var(--soft);color:#4A4A4F}.k-conn{background:var(--ok-t);color:var(--ok)}.k-audit{background:var(--red);color:var(--on-accent)}.k-err{background:var(--warn-t);color:#B45309}.k-other{background:var(--soft);color:#4A4A4F}
.k-team-n{background:var(--inv);color:var(--inv-fg)}.k-stage{background:var(--card);color:var(--ink);border:1.5px solid var(--line2)}

/* shared bits */
.chip{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:var(--card);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.chip.sm{min-height:30px;padding:0 10px;font-size:12.5px}
.chip[aria-pressed="true"]{background:var(--inv);color:var(--inv-fg);border-color:var(--inv)}
.chip:hover{border-color:var(--ink)}
.filters{display:flex;gap:6px;flex-wrap:wrap}
.av{width:38px;height:38px;border-radius:50%;background:var(--inv);color:var(--inv-fg);display:flex;align-items:center;justify-content:center;font-style:normal;font-family:var(--f-head);font-weight:700;font-size:13px;flex-shrink:0}
.av.sm{width:24px;height:24px;font-size:10px}
.av.big{width:58px;height:58px;font-size:20px;background:var(--red)}
.flag{font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:var(--red);color:var(--on-accent);border-radius:6px;padding:2px 6px;margin-left:4px;white-space:nowrap}
.flag.gray{background:var(--soft);color:var(--muted)}
.sv{font-style:normal;font-size:11.5px;font-weight:800;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:2px 7px;white-space:nowrap}
.sv.big{font-size:13px;padding:4px 9px}a.sv:hover{border-color:var(--ink)}
.pill{display:inline-flex;font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;background:var(--bg);color:var(--muted);white-space:nowrap}
.pill.hot{background:var(--tint);color:#B80016}.pill.warm{background:var(--warn-t);color:var(--warn)}.pill.cold{background:#EAF1FB;color:#1D4ED8}.pill.good{background:var(--ok-t);color:var(--ok)}
.stg{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;padding:3px 9px 3px 7px;border-radius:999px;background:color-mix(in srgb,var(--c) 14%,var(--card));color:color-mix(in srgb,var(--c) 80%,var(--ink));white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.stg i{width:7px;height:7px;border-radius:50%;background:var(--c);flex-shrink:0}
.own{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;min-width:0}.own span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.own.none{color:var(--sub);font-weight:600;font-size:12.5px}
.wa{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:800;white-space:nowrap}.wa.ok{color:var(--ok)}.wa.bad{color:var(--warn)}
.st-dot{font-size:12px;font-weight:800;text-transform:uppercase}.st-dot.st-ok{color:var(--ok)}.st-dot.st-warn,.st-dot.st-error{color:var(--warn)}

/* leads table */
.filters-bar{display:flex;flex-direction:column;gap:12px;margin-bottom:6px}
.selects{display:flex;gap:10px;flex-wrap:wrap}
.sel{display:flex;flex-direction:column;gap:3px;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--sub)}
.sel select{min-height:38px;border:1px solid var(--line2);border-radius:10px;background:var(--card);padding:0 30px 0 10px;font-size:14px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--ink);min-width:150px;max-width:240px}
.q-note{font-size:14px;margin:8px 0}
.count{font-size:13px;color:var(--sub);font-weight:700;margin:10px 0 4px}
.tbl{display:flex;flex-direction:column}
.tr{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.6fr);gap:12px;align-items:center;padding:12px 10px;border-top:1px solid var(--soft);border-radius:10px}
a.tr:hover{background:var(--card2)}
.th{font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--sub);text-transform:uppercase;border-top:0;padding-top:4px}
.c-lead{display:flex;gap:10px;align-items:center;min-width:0}
.c-lead>span{display:flex;flex-direction:column;min-width:0}
.c-lead .nm{display:flex;flex-direction:row;align-items:center;gap:2px;min-width:0}
.c-lead b,.c-last b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14.5px;min-width:0}
.c-lead small,.c-last small{color:var(--sub);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-stage{display:flex;gap:4px;flex-wrap:wrap;align-items:center;min-width:0}
.c-last{display:flex;flex-direction:column;min-width:0}.c-last b{font-weight:600;font-size:13.5px}
.c-svc{display:flex;flex-wrap:wrap;gap:4px}
.c-val b{font-family:var(--f-head);font-size:14px}
.c-score{display:flex;align-items:center;gap:6px}.c-score b{font-family:var(--f-head);font-size:16px}
/* service tables */
.stbl .tr{grid-template-columns:110px minmax(0,1.3fr) repeat(calc(var(--n) - 2),minmax(0,1fr))}
.c-when,.c-who{display:flex;flex-direction:column;min-width:0}
.c-when b{font-size:13px}.c-when small,.c-who small{font-size:12px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-who b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-what{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;min-width:0}
.c-txt{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.svc{display:flex;flex-direction:column;gap:14px;margin-top:4px}
.svc-top{display:flex;justify-content:space-between;gap:10px;font-weight:700;font-size:14px;margin-bottom:6px}
.svc-top b{font-family:var(--f-head)}
.svc-bar{display:block;height:10px;background:var(--soft);border-radius:99px;overflow:hidden}
.svc-bar i{display:block;height:100%;background:var(--red);border-radius:99px;transition:width .6s ease}
.split{display:flex;height:16px;border-radius:99px;overflow:hidden;gap:3px;margin:6px 0 14px}
.sp-hot{background:#E4001B}.sp-warm{background:#F59E0B}.sp-cold{background:#3B82F6}
.split-l{display:flex;gap:18px;flex-wrap:wrap;font-size:14px}.split-l span{display:inline-flex;align-items:center;gap:6px}
.big-stat{display:flex;flex-direction:column;gap:6px}.big-stat b{font-family:var(--f-head);font-size:44px;line-height:1.1;color:var(--red)}.big-stat span{color:var(--muted);font-size:14px}

/* pipeline */
.board{position:relative;display:flex;gap:14px;overflow-x:auto;padding-bottom:12px;align-items:flex-start;scroll-snap-type:x proximity}
.col{flex:0 0 290px;background:var(--soft);border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:200px;scroll-snap-align:start;transition:background .15s ease,box-shadow .15s ease}
.col.over{background:color-mix(in srgb,var(--red) 10%,var(--soft));box-shadow:inset 0 0 0 2px var(--red)}
.col.st-won{background:#E3F3E9}.col.st-lost{background:#EDEDEF}
.col-h{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 6px;gap:8px}
.col-h span{display:flex;align-items:center;gap:8px;min-width:0}
.col-h i{width:9px;height:9px;border-radius:50%;background:var(--c);flex-shrink:0}
.col-h b{font-family:var(--f-head);font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.col-h em{font-style:normal;font-size:12px;font-weight:800;background:var(--card);border-radius:99px;padding:1px 8px}
.col-h small{font-weight:800;font-size:12.5px;color:var(--muted)}
.col-b{display:flex;flex-direction:column;gap:8px}
.col-empty{border:2px dashed #D9D4CC;border-radius:12px;padding:18px;text-align:center;color:var(--sub);font-size:13px;font-weight:600}
.col-more{text-align:center;font-size:13px;font-weight:800;color:var(--muted);padding:6px}
.kc{position:relative;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(20,20,20,.05);cursor:grab}
.kc:hover{border-color:var(--line2);box-shadow:0 4px 14px rgba(20,20,20,.08)}
.kc.dragging{opacity:.45}
.kc>a{display:flex;flex-direction:column;gap:6px;padding:11px 12px 8px}
.kc-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.kc-top b{font-size:14px;line-height:1.3}
.kc-v{font-family:var(--f-head);font-weight:700;font-size:13px;white-space:nowrap}
.kc small{color:var(--sub);font-size:12.5px;margin-top:-4px}
.kc-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.kc-tags .flag{margin-left:0}
.kc-foot{display:flex;justify-content:space-between;align-items:center;gap:6px}
.kc-move{display:block;border-top:1px solid var(--soft);padding:4px 8px 6px}
.kc-move select{width:100%;border:0;background:transparent;font-size:12.5px;font-weight:700;color:var(--muted);min-height:30px;cursor:pointer}

/* lead page */
.back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:700;font-size:14px;min-height:40px;margin-bottom:8px}
.lead-grid{display:grid;grid-template-columns:400px minmax(0,1fr);gap:16px;align-items:start}
.prof-col,.tl-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.prof{display:flex;flex-direction:column;gap:16px}
.prof-h{display:flex;gap:14px;align-items:center}
.prof-h h1{font-size:23px;line-height:1.2}
.prof-h p{font-weight:600}
.prof-act{display:flex;gap:8px;flex-wrap:wrap}
.prof-act .btn{flex:1;min-width:0;padding:0 8px;font-size:14px;gap:6px}
.prof-act .btn-wa{flex-basis:100%}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:14px}
.kv dt{color:var(--sub);font-weight:700}
.kv dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.prof-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.prof-stats div{background:var(--bg);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.prof-stats span{font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--sub);text-transform:uppercase}
.prof-stats b{font-family:var(--f-head);font-size:22px;line-height:1.1}
.prof-stats small{font-size:11.5px;color:var(--sub)}
.prof-svc{display:flex;flex-direction:column;gap:6px}.prof-svc div{display:flex;flex-wrap:wrap;gap:6px}
.prof-flag{display:flex;gap:8px;align-items:center;background:var(--red);color:var(--on-accent);border-radius:12px;padding:12px 14px;font-weight:700;font-size:14px}
.deal.is-dirty{border-color:var(--ink)}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fgrid .span2{grid-column:1/-1}
.fld{display:flex;flex-direction:column;gap:5px;min-width:0}
.fld>span{font-size:12.5px;font-weight:800;color:var(--muted)}
.fld input,.fld select,.fld textarea,.le input,.le select{width:100%;min-height:42px;border:1px solid var(--line2);border-radius:10px;background:var(--card2);padding:8px 11px;font-size:15px}
.fld textarea{resize:vertical;min-height:64px}
.fld input:focus,.fld select:focus,.fld textarea:focus,.le input:focus,.le select:focus{outline:none;border-color:var(--ink);background:var(--card)}
.fld input:disabled{color:var(--sub)}
.hint{font-size:12px;color:var(--sub)}
.quick .chip{color:var(--ink);background:var(--card)}
.quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:-4px}
.sub-h{font-size:14px;margin:18px 0 10px}
.contact{margin-top:16px;border-top:1px solid var(--soft);padding-top:12px}
.contact summary{cursor:pointer;font-weight:800;font-size:14px;color:var(--muted);min-height:32px;display:flex;align-items:center}
.contact .fgrid{margin-top:10px}
.save-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--soft)}
.deal.is-dirty #deal-msg{color:var(--red-dk);font-weight:800}
.danger{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:0 4px}
.composer{display:flex;flex-direction:column;gap:10px}
.seg{display:flex;gap:4px;background:var(--bg);border-radius:12px;padding:4px;flex-wrap:wrap}
.seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:0;background:transparent;border-radius:9px;font-weight:800;font-size:13.5px;color:var(--muted);cursor:pointer}
.seg button[aria-checked="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(20,20,20,.12)}
.composer textarea{width:100%;border:1px solid var(--line2);border-radius:12px;padding:12px;font-size:15px;resize:vertical;background:var(--card2);min-height:84px}
.composer textarea:focus{outline:none;border-color:var(--ink);background:var(--card)}
.comp-f{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.tl{position:relative;padding-left:4px}
.tl-day{font-family:var(--f-head);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--sub);margin:18px 0 10px 50px}
.tl-day:first-child{margin-top:0}
.ev{display:flex;gap:16px;position:relative;padding-bottom:12px}
.ev::before{content:"";position:absolute;left:15px;top:34px;bottom:0;width:2px;background:var(--soft)}
.ev-ic{position:relative;z-index:1}
.ev-card{flex:1;min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}
.ev.team .ev-card{background:var(--card2)}
.ev.st-warn .ev-card{border-color:#F5D7A8}.ev.st-error .ev-card{border-color:#F5D7A8;background:var(--card2)}
.ev-h{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:none;border:0;text-align:left;padding:12px 14px;cursor:pointer;color:inherit}
.ev-h:hover:not(.static){background:var(--card2)}
.ev-h.static{cursor:default}
.ev-t{display:flex;flex-direction:column;min-width:0}
.ev-t b{font-size:15px}
.ev-t small{color:var(--muted);font-size:13px;margin-top:2px}
.ev-note{white-space:pre-wrap;font-size:14.5px;margin-top:4px;overflow-wrap:anywhere}
.ev-m{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px;color:var(--sub)}
.ev-m svg{transition:transform .2s ease;font-size:16px}
.ev.open .ev-m svg{transform:rotate(180deg)}
.ev-b{display:none;padding:4px 14px 16px;border-top:1px solid var(--soft);flex-direction:column;gap:14px}
.ev.open .ev-b{display:flex}
.blk h4{font-family:var(--f-body);font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--red-dk);margin:10px 0 8px}
.blk h4 .muted{text-transform:none;letter-spacing:0;font-weight:600;color:var(--sub)}
.msg{background:#D9FDD3;border-radius:4px 14px 14px 14px;padding:10px 12px;white-space:pre-wrap;font-size:14px;line-height:1.5;margin-bottom:8px;max-width:640px;overflow-wrap:anywhere}
.msg.email{background:var(--bg);border:1px solid var(--line);border-radius:12px}
.msg-to{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#0F5130;margin-bottom:4px}
.msg.email .msg-to{color:var(--sub)}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.steps li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;background:var(--inv);color:var(--inv-fg);border-radius:10px}
.sd{width:22px;height:22px;border-radius:50%;background:#34D399;color:#06281A;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.steps li.warn .sd{background:#FBBF24;color:#3B2A05}
.st{flex:1;min-width:0;display:flex;flex-direction:column}
.st b{font-size:13.5px}
.st small{font-size:12.5px;color:#C9C9D1;overflow-wrap:anywhere}
.sm{font-size:12px;color:#A1A1AA;white-space:nowrap}
.src{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#FBBF24;border:1px solid #6B5310;border-radius:5px;padding:0 5px;margin-left:6px}

/* modal */
.modal{position:fixed;inset:0;background:rgba(20,20,20,.45);z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}
.modal-card{background:var(--card);border-radius:20px;width:100%;max-width:680px;padding:22px;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.modal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.modal-h h2{font-size:22px}
.modal-f{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.form-err{color:var(--red-dk);font-weight:700;font-size:14px;margin-top:10px}.form-err:empty{display:none}.form-err a{text-decoration:underline}
body.modal-open{overflow:hidden}

/* settings */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}
.tabs a{padding:10px 14px;font-weight:800;font-size:14px;color:var(--sub);border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs a:hover{color:var(--ink)}
.tabs a.on{color:var(--ink);border-color:var(--red)}
.set-card{margin-bottom:16px;display:flex;flex-direction:column;gap:12px}
.set-card h2{font-size:18px}.set-card h2.mt{margin-top:10px}
.set-f{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:4px}
.set-f.left{justify-content:flex-start}
.note{max-width:760px}
.color{display:flex;gap:8px}.color input[type=color]{width:52px;padding:4px;flex-shrink:0}
.le{display:grid;grid-template-columns:var(--le);gap:8px 10px;align-items:center}
.le-h,.le-row{display:contents}
.le-h span{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--sub)}
.le-c{display:flex;flex-direction:column;min-width:0}
.le-l{display:none}
.le-c.chk{flex-direction:row;align-items:center;gap:6px;font-weight:700;font-size:13.5px;min-height:42px}.le-c.chk input{width:20px;height:20px;min-height:0}
.le-na{min-height:1px}
.le-act{display:flex;gap:4px}
.le-act .icon-btn{width:36px;height:36px;font-size:15px}
.add-row{align-self:flex-start}
.roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.roles div{background:var(--bg);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;font-size:13px}.roles b{font-size:14px}.roles span{color:var(--sub)}
.ulist{display:flex;flex-direction:column}
.urow{display:grid;grid-template-columns:minmax(0,1.6fr) auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 4px;border-top:1px solid var(--soft)}
.urow.off{opacity:.6}
.u-main{display:flex;gap:10px;align-items:center;min-width:0}.u-main span{display:flex;flex-direction:column;min-width:0}.u-main b{font-size:14.5px}.u-main small{font-size:12.5px;color:var(--sub)}
.u-meta{font-size:13px;color:var(--sub);white-space:nowrap}.u-meta b{color:var(--ink);font-family:var(--f-head)}
.u-edit{grid-column:1/-1;background:var(--bg);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.u-edit[hidden]{display:none}
.chk-l{flex-direction:row!important;align-items:center;gap:8px;align-self:end;min-height:42px;font-weight:700}.chk-l input{width:20px;height:20px;min-height:0}
.copy-row{display:flex;gap:8px}.copy-row input{flex:1;min-width:0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13.5px}
.code{background:var(--inv);color:var(--inv-fg);border-radius:12px;padding:14px;font-size:12.5px;line-height:1.55;overflow:auto;margin:0;max-height:320px}
.bk{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.bk li{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:8px 0;border-top:1px solid var(--soft);flex-wrap:wrap}
.bk li>span:first-child{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.bk b{font-size:13.5px;font-family:ui-monospace,Menlo,Consolas,monospace;overflow:hidden;text-overflow:ellipsis}
.ver{text-align:center;margin-top:8px}

.toast{position:fixed;right:24px;bottom:24px;background:var(--inv);color:var(--inv-fg);padding:12px 18px;border-radius:12px;font-weight:700;font-size:14px;opacity:0;transform:translateY(10px);transition:all .25s ease;pointer-events:none;max-width:min(440px,calc(100% - 32px));z-index:80}
.toast.show{opacity:1;transform:none}
.toast.bad{background:var(--red-dk)}

@media (max-width:1300px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.lead-grid{grid-template-columns:360px minmax(0,1fr)}
  .tr{grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.5fr)}.leads-svc,.tr .c-svc{display:none}}
@media (max-width:1100px){.svc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.row2,.row2.even{grid-template-columns:1fr}.lead-grid{grid-template-columns:1fr}
  .stbl .tr{grid-template-columns:1fr 1fr;gap:6px 12px}.stbl .th{display:none}.stbl .tr>span[data-l]::before{content:attr(data-l);display:block;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--sub)}}
@media (max-width:900px){
  .side{transform:translateX(-100%);transition:transform .2s ease;box-shadow:0 0 40px rgba(0,0,0,.2);width:min(300px,86vw)}
  body.nav-open .side{transform:none}
  body.nav-open .scrim{display:block;position:fixed;inset:0;background:rgba(20,20,20,.4);z-index:35}
  .main{margin-left:0}
  .menu-btn{display:inline-flex;flex-shrink:0}
  .top{padding:10px 16px;gap:8px}.top-r{gap:8px}.top-r .btn span,.live span{display:none}.live{padding:8px}
  .top-r .btn{padding:0 11px}
  .wrap{padding:16px 16px 48px}
  .page-head h1{font-size:25px}
  .tr{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.th{display:none}
  .tr .c-own,.tr .c-svc,.tr .c-val{display:none}
  .tr .c-last{grid-column:1/-1;padding-left:48px}
  .tr .c-next{grid-column:2;grid-row:2;justify-self:end}
  .tr .c-stage{justify-content:flex-end}
  .fgrid{grid-template-columns:1fr}
  .roles{grid-template-columns:1fr}
  .urow{grid-template-columns:minmax(0,1fr) auto}.u-meta{display:none}
  .le{grid-template-columns:1fr}
  .le-h{display:none}
  .le-row{display:flex;flex-direction:column;gap:8px;background:var(--bg);border-radius:12px;padding:12px}
  .le-l{display:block;font-size:11.5px;font-weight:800;color:var(--sub);margin-bottom:3px}
  .le-act{justify-content:flex-end}
  .col{flex-basis:82vw}
  .toast{right:16px;bottom:16px}
  .modal{padding:12px}
  .sel select{min-width:0;width:100%}.selects .sel{flex:1 1 140px}
}
@media (max-width:560px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.t-v{font-size:24px}.svc-cards{grid-template-columns:1fr}.stbl .tr{grid-template-columns:1fr}
  .search{max-width:none}.ev-m .sv{display:none}.prof-stats b{font-size:19px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.sample-bar{display:block;background:#FFF8E6;border:1px solid #F5D98A;color:#6B4E00;border-radius:12px;padding:10px 14px;font-size:14px;font-weight:600;margin:-4px 0 16px}.sample-bar a{font-weight:800;text-decoration:underline}

/* ===================== v3: habits, money, team ===================== */
.nav-n{margin-left:auto;font-style:normal;background:var(--red);color:var(--on-accent);font-size:11.5px;font-weight:800;border-radius:99px;padding:1px 8px;min-width:22px;text-align:center}
.nav a.on .nav-n{background:var(--card);color:#141414}
.nav a.locked{opacity:.75}.nav a.locked:hover{opacity:1}
.k-lock{background:var(--soft);color:var(--muted)}.k-won{background:var(--ok);color:#fff}.k-kudos{background:#FEF3C7;color:#B45309}
.nav-ic.big{width:56px;height:56px;border-radius:16px;font-size:26px}.nav-ic.big svg{font-size:26px!important}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:90}
.ring{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.ring-bg{fill:none;stroke:var(--soft)}.ring-fg{fill:none;stroke:var(--red);stroke-linecap:round;transition:stroke-dashoffset .8s ease}
.ring-in{position:relative;display:flex;flex-direction:column;align-items:center;line-height:1.05}
.ring-in b{font-family:var(--f-head);font-size:24px}.ring-in small{font-size:11.5px;color:var(--sub);font-weight:700}
.ring-in svg{font-size:40px;color:var(--ok)}

/* Today */
.today-top{display:grid;grid-template-columns:1.35fr repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.tt-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow);min-width:0}
.tt-card>span:last-child{display:flex;flex-direction:column;min-width:0}
.tt-card small{color:var(--sub);font-size:12.5px;line-height:1.35}
.tt-card b{font-size:14.5px}
.tt-big{font-family:var(--f-head);font-size:26px!important;line-height:1.1}.tt-big em{font-style:normal;font-size:13px;color:var(--sub);font-family:var(--f-body);font-weight:700}
.tt-ic{width:42px;height:42px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.tt-warn .tt-ic{background:var(--tint);color:var(--red-dk)}.tt-warn .tt-big{color:var(--red-dk)}
.tt-ok .tt-ic{background:var(--ok-t);color:var(--ok)}
.tt-streak.on .tt-ic{background:#FFF1E0;color:#EA580C}
.tt-pts{background:#FEF3C7!important;color:#B45309}
.tt-level{background:var(--inv);border-color:var(--inv);color:var(--inv-fg)}.tt-level small{color:var(--inv-sub)}.tt-level .tt-big em{color:var(--inv-sub)}
.lv-name{font-size:11.5px!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#FF8A96!important}
.lv-bar{display:block;height:6px;background:rgba(255,255,255,.18);border-radius:99px;overflow:hidden;margin:6px 0 4px}.lv-bar i{display:block;height:100%;background:var(--red);border-radius:99px}
.today-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.today-side{display:flex;flex-direction:column;gap:16px}
.acts{display:flex;flex-direction:column;gap:10px}
.act{border:1px solid var(--line);border-left:4px solid var(--line2);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:opacity .35s ease,transform .35s ease;background:var(--card)}
.act.done{opacity:0;transform:translateX(24px)}
.act-h{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.act-who{display:flex;gap:10px;align-items:center;min-width:0}.act-who span{display:flex;flex-direction:column;min-width:0}.act-who small{color:var(--sub);font-size:12.5px}
.act-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.act-v{font-family:var(--f-head);font-size:14px}
.act-nba{display:flex;align-items:flex-start;gap:8px;font-weight:700;font-size:14.5px;margin:0}
.nba-dot{width:9px;height:9px;border-radius:50%;background:#9CA3AF;margin-top:6px;flex-shrink:0}
.nba-new,.nba-overdue{border-left-color:var(--red)}.nba-new .nba-dot,.nba-overdue .nba-dot{background:var(--red);box-shadow:0 0 0 4px var(--tint)}
.nba-today{border-left-color:#F59E0B}.nba-today .nba-dot{background:#F59E0B}
.nba-hot{border-left-color:#E4001B}.nba-hot .nba-dot{background:#E4001B}
.nba-untouched,.nba-nodate,.nba-quiet{border-left-color:#2563EB}.nba-untouched .nba-dot,.nba-nodate .nba-dot,.nba-quiet .nba-dot{background:#2563EB}
.act-f{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.oc{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-left:auto}
.oc-won{border-color:var(--ok);color:var(--ok)}.oc-won:hover{background:var(--ok);color:#fff}
.oc-lost{color:var(--sub)}
.won-in{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.won-in input{width:130px;min-height:36px;border:1px solid var(--line2);border-radius:10px;padding:0 10px}
.all-clear{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:36px 20px}
.all-clear h2{font-size:24px}.all-clear p{max-width:460px}
.kudos,.wins{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.kudos li,.wins li{display:flex;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--soft);font-size:14px}
.kudos li:first-child,.wins li:first-child{border-top:0}
.kudos li>svg{color:#D97706;font-size:18px}
.kudos span,.wins li>span{flex:1;min-width:0}.kudos small,.wins small{display:block;color:var(--sub);font-size:12px}
.wins small svg{color:#D97706}
.kudo-btn{min-height:32px;padding:0 10px;font-size:12.5px}.kudo-btn svg{color:#D97706}
.badges{display:flex;flex-wrap:wrap;gap:8px}
.badge{display:grid;grid-template-columns:auto 1fr;gap:0 8px;align-items:center;background:#FFFBEB;border:1px solid #FDE68A;border-radius:12px;padding:8px 10px;min-width:0;flex:1 1 150px}
.badge svg{grid-row:span 2;color:#D97706;font-size:20px}.badge b{font-size:13px}.badge small{font-size:11.5px;color:var(--muted)}

/* Money */
.money-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;background:var(--inv);color:var(--inv-fg);border-radius:20px;padding:24px 26px;margin-bottom:16px;box-shadow:var(--shadow)}
.mh-l{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#FF8A96}
.mh-v{display:block;font-family:var(--f-head);font-size:64px;line-height:1.05;color:var(--inv-fg);margin:4px 0}
.mh-s{color:#D4D4D8;font-size:15px;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.mh-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-content:center}
.mh-side span{background:rgba(255,255,255,.07);border-radius:14px;padding:14px;display:flex;flex-direction:column}
.mh-side b{font-family:var(--f-head);font-size:24px}.mh-side small{color:#B9B9C0;font-size:12.5px}
.info{border:0;background:none;padding:0 0 0 4px;cursor:pointer;color:var(--sub);display:inline-flex;vertical-align:middle;font-size:14px}.info.light{color:#B9B9C0}
.formula{font-size:12.5px;color:var(--muted);background:var(--bg);border-radius:8px;padding:8px 10px;margin-top:6px;line-height:1.45}
.formula.light{background:rgba(255,255,255,.08);color:#E4E4E7}
.tile-red .formula{background:rgba(255,255,255,.08);color:#E4E4E7}.tile-red .info{color:#FF8A96}
.ba{display:flex;flex-direction:column}
.ba-row{display:grid;grid-template-columns:minmax(0,1.6fr) 90px 24px minmax(0,1.1fr) 90px;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--soft)}
.ba-row:first-child{border-top:0}
.ba-l{font-weight:700;font-size:14px}.ba-b{color:var(--sub);text-decoration:line-through;font-weight:700;text-align:right}
.ba-arrow{color:var(--sub)}.ba-n{font-family:var(--f-head);font-size:18px}.ba-n.good{color:var(--ok)}.ba-n.bad{color:var(--warn)}.ba-n small{font-family:var(--f-body);font-size:12px;color:var(--sub);font-weight:600}
.ba-x{font-size:12px;font-weight:800;color:var(--ok);background:var(--ok-t);border-radius:99px;padding:3px 8px;justify-self:end;white-space:nowrap}.ba-x:empty{display:none}
.wbars{display:flex;align-items:flex-end;gap:10px;height:200px;padding-top:10px}
.wbar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.wbar i{display:block;width:100%;max-width:46px;background:var(--red);border-radius:8px 8px 3px 3px}
.wbar small{font-size:11.5px;color:var(--sub)}.wb-v{font-size:11.5px;font-weight:800;white-space:nowrap}
.hs{list-style:none;margin:0;padding:0}.hs li{display:grid;grid-template-columns:minmax(0,1fr) auto 60px;gap:10px;padding:10px 0;border-top:1px solid var(--soft);align-items:center;font-size:14px}.hs li:first-child{border-top:0}.hs b{text-align:right;font-family:var(--f-head)}
.srct .tr{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,.7fr)) minmax(0,1fr)}
.money-teaser{display:block}.money-teaser:hover{border-color:var(--ink)}
.mt-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mt-row span{display:flex;flex-direction:column;background:var(--bg);border-radius:12px;padding:12px}
.mt-row b{font-family:var(--f-head);font-size:22px}.mt-row small{font-size:12px;color:var(--sub)}
.mt-roi{color:var(--red)}.mt-cool b{color:var(--red-dk)}
.pulse-top{display:flex;gap:18px;align-items:center;margin-bottom:14px}
.pulse-r{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.pulse-d{align-self:flex-start;font-size:12.5px;font-weight:800;border-radius:99px;padding:3px 10px}.pulse-d.up{background:var(--ok-t);color:var(--ok)}.pulse-d.down{background:var(--warn-t);color:var(--warn)}
.spark{width:100%;height:40px}.spark polyline{fill:none;stroke:var(--red);stroke-width:2;vector-effect:non-scaling-stroke}
.pulse-tip{font-size:13.5px;color:var(--muted)}
.pulse-parts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pp-top{display:flex;justify-content:space-between;font-size:13px;font-weight:700;margin-bottom:5px}

/* Team board */
.season{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.season>div{display:flex;flex-direction:column}.season b{font-family:var(--f-head);font-size:16px}.season small{color:var(--sub);font-size:12.5px}
.season-act{flex-direction:row!important;gap:8px;margin-left:auto;flex-wrap:wrap}
.podium{display:flex;justify-content:center;align-items:flex-end;gap:14px;margin:8px 0 18px}
.pod{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:170px;text-align:center}
.pod .av.big{background:var(--ink)}.pod-1 .av.big{background:var(--red);width:70px;height:70px}
.pod small{color:var(--sub);font-weight:700;font-size:12px}.pod-pts{font-family:var(--f-head);font-weight:700}
.pod-rank{position:absolute;top:-6px;right:44px;width:26px;height:26px;border-radius:50%;background:#F59E0B;color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;z-index:1}
.pod-2 .pod-rank{background:#9CA3AF}.pod-3 .pod-rank{background:#B45309}
.pod-step{display:block;width:100%;border-radius:12px 12px 0 0;background:var(--soft);margin-top:6px}
.pod-1 .pod-step{height:90px;background:var(--ink)}.pod-2 .pod-step{height:60px}.pod-3 .pod-step{height:40px}
.pod.is-me b{color:var(--red-dk)}
.board-t .tr{grid-template-columns:40px minmax(0,2fr) minmax(0,1.2fr) minmax(0,.9fr) repeat(3,minmax(0,.7fr)) minmax(0,1fr)}
.board-t .tr.is-me{background:var(--tint)}
.rk{font-family:var(--f-head);font-weight:700;font-size:16px;text-align:center}
.pts{display:flex;flex-direction:column;gap:4px}.pts b{font-family:var(--f-head)}.pts .svc-bar{height:6px}
.bdg{display:flex;gap:2px;color:#D97706}
.how-pts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.how-pts li{display:flex;gap:10px;align-items:baseline}.how-pts b{min-width:62px;font-family:var(--f-head);color:var(--red-dk)}
.levels{display:flex;gap:8px;flex-wrap:wrap}.levels span{background:var(--bg);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column}.levels small{color:var(--sub);font-size:12px}
.offer{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.fgrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.days{display:flex;gap:6px;flex-wrap:wrap}.days label{display:inline-flex;gap:5px;align-items:center;background:var(--bg);border-radius:9px;padding:7px 10px;font-weight:700;font-size:13px}
.briefs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:12px}
.brief .msg{margin-top:6px;font-size:13px}
.nba-card{display:flex;flex-direction:column;gap:10px;border-left:5px solid #D9D4CC}
.nba-card.nba-new,.nba-card.nba-overdue{border-left-color:var(--red)}.nba-card.nba-today{border-left-color:#F59E0B}.nba-card.nba-hot{border-left-color:#E4001B}.nba-card.nba-planned{border-left-color:var(--ok)}
.ev-won .ev-card{border-color:#A7E3BD;background:#F3FBF6}

@media (max-width:1300px){.today-top{grid-template-columns:repeat(3,minmax(0,1fr))}.tt-goal{grid-column:span 1}.today-grid{grid-template-columns:1fr}.board-t .tr{grid-template-columns:34px minmax(0,2fr) minmax(0,1.2fr) minmax(0,.9fr) minmax(0,.7fr) minmax(0,1fr)}.board-t .tr>span:nth-child(6),.board-t .tr>span:nth-child(7){display:none}}
@media (max-width:1100px){.money-hero{grid-template-columns:1fr}.mt-row{grid-template-columns:repeat(2,minmax(0,1fr))}.fgrid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .today-top{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-goal{grid-column:1/-1}
  .oc{margin-left:0;width:100%}.act-f .btn span{display:inline}
  .mh-v{font-size:48px}.mh-side{grid-template-columns:1fr 1fr 1fr}
  .ba-row{grid-template-columns:minmax(0,1fr) auto 18px auto;gap:6px 8px}.ba-x{grid-column:1/-1;justify-self:start}
  .board-t .th{display:none}.board-t .tr{grid-template-columns:30px minmax(0,1fr) auto;gap:6px 10px}.board-t .tr>span:nth-child(n+4){display:none}
  .pod{width:31%}.pod-rank{right:18%}
  .season-act{margin-left:0;width:100%}
  .srct .tr{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,.6fr)) minmax(0,1fr)}.srct .tr>span:nth-child(4){display:none}
  .pulse-parts{grid-template-columns:1fr}
  .fgrid.four{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){.mh-side{grid-template-columns:1fr}.tt-big{font-size:22px!important}.tt-card{padding:12px}.today-top{gap:8px}.wbars{gap:4px}.wb-v{font-size:10px}.mt-row b{font-size:18px}}

.chip{color:var(--ink)}

/* =====================================================================
   CRM v4: themes, AI growth shell, home, arena, journey, inbox, calls
   ===================================================================== */
html[data-skin="night"]{--bg:#0E0E12;--card:#17171C;--card2:#1B1B21;--soft:#22222A;--line:#2C2C35;--line2:#3A3A44;--ink:#F4F2EE;--muted:#C9C5BE;--sub:#A8A39B;--red:#E4001B;--red-dk:#FF6B7A;--tint:#2A1216;--ok:#3DD68C;--ok-t:#123A28;--ok-dk:#7EE2A8;--warn:#F5A524;--warn-t:#3B2A0C;--warn-dk:#F5C06A;--inv:#26262E;--inv2:#30303A;--inv-fg:#F4F2EE;--inv-sub:#B3AEA6;--side-bg:#0A0A0D;--side-on:#22222A;--focus:#7FB2FF;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);--space-bg:#0B0B0E;--space-glow:#1C1418;color-scheme:dark}
html[data-skin="ocean"]{--bg:#F2F6FA;--card:#FFFFFF;--card2:#F8FAFD;--soft:#EAF0F7;--line:#D8E1EC;--line2:#C3D0E0;--ink:#0F1B2D;--muted:#44536A;--sub:#5E6B80;--red:#1D5FD1;--red-dk:#1A4FB0;--tint:#E7EFFC;--inv:#0F1B2D;--inv2:#1C2B44;--side-bg:#0F1B2D;--side-on:#1C2B44;--focus:#B45309;--space-bg:#0F1B2D;--space-glow:#12305E}
html[data-skin="emerald"]{--bg:#0B1411;--card:#111D18;--card2:#14221C;--soft:#172620;--line:#243A31;--line2:#2F4A3F;--ink:#EEF5F1;--muted:#C2D3CA;--sub:#A9BDB3;--red:#34D399;--red-dk:#5EE0AE;--on-accent:#062017;--tint:#0E2A20;--ok:#34D399;--ok-t:#0E2A20;--ok-dk:#7EE8BD;--warn:#F5A524;--warn-t:#33260C;--warn-dk:#F5C06A;--inv:#1E3129;--inv2:#26392F;--inv-fg:#EEF5F1;--inv-sub:#A9BDB3;--side-bg:#07100D;--side-on:#172620;--focus:#F5C06A;--shadow:0 8px 24px rgba(0,0,0,.3);--space-bg:#07100D;--space-glow:#0E2A20;color-scheme:dark}
html[data-skin="royal"]{--bg:#0D1022;--card:#141833;--card2:#171C3A;--soft:#1B2042;--line:#2A3060;--line2:#363D73;--ink:#F3F1EA;--muted:#CFCDDD;--sub:#B8B6C9;--red:#E8B64A;--red-dk:#F0C868;--on-accent:#1A1406;--tint:#2A2412;--ok:#3DD68C;--ok-t:#12302A;--ok-dk:#7EE2A8;--warn:#F5A524;--warn-t:#35280E;--warn-dk:#F5C06A;--inv:#232A55;--inv2:#2C3466;--inv-fg:#F3F1EA;--inv-sub:#B8B6C9;--side-bg:#080A18;--side-on:#1B2042;--focus:#7FB2FF;--shadow:0 8px 24px rgba(0,0,0,.3);--space-bg:#080A18;--space-glow:#221A3A;color-scheme:dark}
html[data-skin="contrast"]{--bg:#000;--card:#000;--card2:#0A0A0A;--soft:#111;--line:#FFFFFF;--line2:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;--sub:#E6E6E6;--red:#FFD400;--red-dk:#FFD400;--on-accent:#000;--tint:#1A1A00;--ok:#00E676;--ok-t:#002A14;--ok-dk:#00E676;--warn:#FFB300;--warn-t:#2A1E00;--warn-dk:#FFB300;--inv:#111;--inv2:#222;--inv-fg:#FFF;--inv-sub:#E6E6E6;--side-bg:#000;--side-on:#222;--focus:#00E5FF;--space-bg:#000;--space-glow:#1A1A00;color-scheme:dark}
html[data-skin="contrast"] .card,html[data-skin="contrast"] .tile{border-width:2px}
html[data-skin="brand"]{--red:var(--brand-accent,#E4001B);--red-dk:var(--brand-accent,#B60016);--side-bg:var(--brand-ink,#141414);--inv:var(--brand-ink,#141414);--space-bg:var(--brand-ink,#141414);--bg:var(--brand-bg,#F7F5F2)}
html[data-text="big"]{font-size:112.5%}
html[data-text="big"] body{font-size:16.5px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
body{background:var(--bg);color:var(--ink)}
input,select,textarea{background:var(--card);color:var(--ink);border-color:var(--line2)}
.num{font-family:var(--f-data);font-variant-numeric:tabular-nums}
.eyebrow{color:var(--red-dk)}

/* shell */
.side{background:var(--side-bg);border-right:0;color:var(--side-fg)}
.side .brand-name{color:#fff}.side .brand-pill{color:var(--side-h);border-color:#3A3A40}
.brand-logo{width:36px;height:36px;border-radius:11px;background:var(--red);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:800;font-size:14px;flex-shrink:0}
.brand-txt{display:flex;flex-direction:column;min-width:0}.brand-txt small{font-size:11.5px;color:var(--side-h)}
.nav a{color:var(--side-fg)}.nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.nav a.on{background:var(--side-on);color:#fff}.nav a.on svg{color:#FF4D5E}
html[data-skin="emerald"] .nav a.on svg,html[data-skin="royal"] .nav a.on svg,html[data-skin="contrast"] .nav a.on svg{color:var(--red)}
.nav a .nav-ic{background:transparent;color:inherit}
.nav-h{color:var(--side-h)!important}
.side-foot{border-top:1px solid rgba(255,255,255,.08)}
.side-foot .me b{color:#fff}.side-foot .me small{color:var(--side-h)}
.side-foot .btn-ghost{background:transparent;color:var(--side-fg);border-color:#3A3A40}
.side-help{background:rgba(255,255,255,.06);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:6px;margin:10px 4px}
.side-help b{font-size:12px;letter-spacing:.08em;color:#FF8A96}.side-help span{font-size:13px;color:#E6E2DC;line-height:1.45}
.side-help a{display:flex;align-items:center;justify-content:center;min-height:38px;border-radius:10px;background:#fff;color:#141414;font-weight:800;font-size:13px}
.top{gap:10px}
.ask{flex:1;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:0 6px 0 12px;min-height:46px;max-width:640px;position:relative}
.ask svg{color:var(--red-dk);font-size:18px}
.ask input{flex:1;border:0;background:transparent;font-size:15px;min-width:0;padding:10px 0}
.ask input:focus{outline:none}
.ask:focus-within{border-color:var(--ink)}
.ask-panel{position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.18);padding:16px;z-index:60;display:flex;flex-direction:column;gap:10px}
.ask-panel p{line-height:1.55}
.ask-sugg{display:flex;flex-wrap:wrap;gap:6px}
.ask-links{display:flex;flex-wrap:wrap;gap:6px}
.ask-src{font-size:12px;color:var(--sub)}
.theme-pop{position:absolute;right:0;top:calc(100% + 8px);width:min(340px,calc(100vw - 32px));background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.2);padding:14px;z-index:60}
.theme-pop fieldset{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.theme-pop legend{font-weight:800;font-size:14px;margin-bottom:8px;padding:0}
.th-opt{position:relative;display:flex;flex-direction:column;gap:6px;border:2px solid var(--line);border-radius:12px;padding:8px;cursor:pointer;font-size:13px;font-weight:700}
.th-opt input{position:absolute;opacity:0;pointer-events:none}
.th-opt:has(input:checked){border-color:var(--red)}
.th-opt:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.th-sw{display:flex;height:22px;border-radius:7px;overflow:hidden;border:1px solid rgba(128,128,128,.35)}.th-sw i{flex:1}
.th-more{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.rel{position:relative}
.show-bar{background:var(--inv);color:var(--inv-fg);display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 16px;font-size:13px}
.show-bar b{color:#FF8A96}
.show-bar select,.show-bar button{min-height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--inv-fg);font-weight:700;font-size:13px;padding:0 10px;cursor:pointer}
.show-bar select option{color:#141414}
.show-bar .sp{flex:1}
.bnav{display:none}
@media (max-width:900px){
  .bnav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--card);border-top:1px solid var(--line);padding:4px 4px calc(6px + env(safe-area-inset-bottom,0px))}
  .bnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:700;color:var(--sub);padding:6px 0;min-height:48px;justify-content:center}
  .bnav a svg{font-size:20px}.bnav a.on{color:var(--red-dk)}
  .main{padding-bottom:78px}
  .ask{max-width:none}
  .top .hide-sm{display:none}
}

/* shared v4 pieces */
.v4 .card{border-radius:18px}
.hero{background:var(--inv);color:var(--inv-fg);border-radius:24px;padding:26px 28px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;margin-bottom:18px;box-shadow:var(--shadow)}
.hero .eyebrow{color:#FF8A96}
.hero h1{font-size:clamp(24px,3vw,34px);line-height:1.15;color:var(--inv-fg)}
.hero p{color:var(--inv-sub)}
.hero-side{background:rgba(255,255,255,.05);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px}
.curve{width:100%;height:auto;display:block;overflow:visible}
.curve text{font-family:var(--f-body)}
.score-row{display:flex;align-items:center;gap:16px}
.score-parts{display:flex;flex-direction:column;gap:9px}
.sp-row{display:grid;grid-template-columns:128px minmax(0,1fr) 34px;gap:10px;align-items:center;font-size:13px}
.sp-row span{color:var(--inv-sub);font-weight:700}.sp-row b{text-align:right}
.sp-bar{height:8px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden}.sp-bar i{display:block;height:100%;border-radius:4px;background:#FF4D5E}
.pill-up{display:inline-flex;align-items:center;font-size:12px;font-weight:800;border-radius:999px;padding:3px 9px;background:#1D3B2A;color:#7EE2A8}
.pill-down{display:inline-flex;align-items:center;font-size:12px;font-weight:800;border-radius:999px;padding:3px 9px;background:#3B2A0C;color:#F5C06A}
.sec-h{display:flex;align-items:baseline;gap:12px;margin:22px 0 12px;flex-wrap:wrap}
.sec-h h2{font-size:19px;flex:1}
.sec-h span{font-size:14px;color:var(--muted)}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:1100px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.grid4,.grid3{grid-template-columns:minmax(0,1fr)}}
.prio{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.prio:first-child{background:var(--inv);color:var(--inv-fg);border-color:var(--inv)}
.prio-n{width:34px;height:34px;border-radius:10px;background:var(--tint);color:var(--red-dk);display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:800;flex-shrink:0}
.prio:first-child .prio-n{background:rgba(255,255,255,.1);color:#FF6B7A}
.prio p{font-size:14px;line-height:1.45}.prio a{font-weight:800}
.prio:first-child a{color:#FF8A96}
.agent{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:12px}
.agent-h{display:flex;align-items:center;gap:12px}
.agent-av{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:800;font-size:14px;flex-shrink:0;color:#fff}
.agent-now{display:flex;align-items:center;gap:10px;background:var(--soft);border-radius:12px;padding:10px 12px;min-height:44px;font-size:13px;font-weight:700}
.agent-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.agent-stats b{font-family:var(--f-head);font-size:20px;display:block}.agent-stats small{font-size:12px;color:var(--sub)}
.live-dot{width:10px;height:10px;border-radius:50%;background:var(--red);flex-shrink:0;animation:v4pulse 1.6s ease-out infinite;margin-left:auto}
@keyframes v4pulse{0%{box-shadow:0 0 0 0 rgba(228,0,27,.45)}100%{box-shadow:0 0 0 10px rgba(228,0,27,0)}}
.wave{display:flex;align-items:center;gap:3px;height:22px}
.wave i{display:block;width:4px;height:22px;border-radius:2px;background:var(--red);transform-origin:center;animation:v4wave 1s ease-in-out infinite}
.wave i:nth-child(2){animation-delay:.15s}.wave i:nth-child(3){animation-delay:.3s}.wave i:nth-child(4){animation-delay:.45s}.wave i:nth-child(5){animation-delay:.6s}
@keyframes v4wave{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.sol{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:10px}
.sol-h{display:flex;align-items:center;justify-content:space-between;gap:8px}.sol-h h3{font-size:16px}
.sol .lbl{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sub)}
.sol .lbl.red{color:var(--red-dk)}
.sol p{font-size:13.5px;line-height:1.45;color:var(--muted)}
.sol-res{margin-top:auto;background:var(--soft);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.sol-res .ba{display:flex;align-items:center;gap:8px}
.sol-res s{color:var(--sub);font-size:14px}.sol-res b{font-family:var(--f-head);font-size:22px}
.sol-res em{font-style:normal;font-size:12px;font-weight:800;color:var(--ok-dk)}
.tag-live{font-size:11px;font-weight:800;border-radius:6px;padding:3px 7px;background:var(--ok-t);color:var(--ok-dk)}
.tag-ai{font-size:11px;font-weight:800;border-radius:6px;padding:3px 7px;background:var(--inv);color:var(--inv-fg)}
.cmp{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;align-items:center;padding:6px 0}
.cmp > span{font-size:13px;font-weight:700;color:var(--muted)}
.cmp-bars{display:flex;flex-direction:column;gap:4px}
.cmp-bars div{display:flex;align-items:center;gap:8px;font-size:12px}
.cmp-bars i{display:block;height:10px;border-radius:5px;background:var(--line2)}.cmp-bars .now i{background:var(--red)}
.unlock{background:var(--red);color:var(--on-accent);border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.unlock .eyebrow{color:inherit;opacity:.85}
.unlock h2{font-size:20px;color:inherit}.unlock p{line-height:1.5}
.unlock a{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;background:var(--card);color:var(--ink);font-weight:800;font-size:14px}
.report ul{margin:0;padding-left:18px;line-height:1.7;font-size:14px;color:var(--muted)}
.feed-v4 .fi a{border-radius:12px}

/* arena */
.arena-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:1000px){.arena-grid{grid-template-columns:minmax(0,1fr)}}
.galaxy{position:relative;width:100%;aspect-ratio:1/1;max-width:100%;border-radius:20px;background:radial-gradient(circle at 50% 50%,var(--space-glow) 0%,var(--space-bg) 62%);overflow:hidden}
.galaxy canvas{display:block;width:100%;height:100%;cursor:crosshair}
.legend-ch{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--muted);margin-top:10px}
.legend-ch i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.target{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s,transform .2s}
.target[aria-current="true"]{border-color:var(--red);transform:translateX(-2px)}
.target-top{display:flex;align-items:center;gap:12px}
.chance{position:relative;width:52px;height:52px;flex-shrink:0}
.chance b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--f-data);font-size:13px}
.target .why{font-size:13px;color:var(--muted);line-height:1.45}
.boss{background:var(--card);border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.boss.hit{animation:v4shake .4s}
@keyframes v4shake{0%,100%{transform:none}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.hp{height:18px;border-radius:9px;background:var(--soft);overflow:hidden;border:1px solid var(--line)}
.hp i{display:block;height:100%;background:repeating-linear-gradient(135deg,var(--red) 0 10px,color-mix(in srgb,var(--red) 80%,#000) 10px 20px);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.dmg{position:absolute;right:24px;top:18px;font-family:var(--f-head);font-weight:800;font-size:28px;color:var(--red-dk);pointer-events:none;animation:v4float 1s ease-out forwards}
@keyframes v4float{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}
.quest{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px}
.quest-top{display:flex;align-items:center;gap:10px}.quest-top b{flex:1;font-size:14px}
.qbar{height:10px;border-radius:5px;background:var(--soft);overflow:hidden}.qbar i{display:block;height:100%;border-radius:5px;background:var(--red);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.quest.done .qbar i{background:var(--ok)}
.quest small{font-size:12px;color:var(--sub)}
.sim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:22px}
@media (max-width:900px){.sim{grid-template-columns:minmax(0,1fr)}}
.lever{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.lever-top{display:flex;justify-content:space-between;gap:8px;font-size:14px}.lever-top label{font-weight:700}
input[type=range]{width:100%;accent-color:var(--red);height:28px;background:transparent}
.big-n{font-family:var(--f-head);font-size:52px;font-weight:800;line-height:1}
.goal-pill{font-size:13px;font-weight:800;border-radius:999px;padding:5px 12px}
.goal-pill.hit{background:var(--ok-t);color:var(--ok-dk)}.goal-pill.miss{background:var(--warn-t);color:var(--warn-dk)}
.ai-note{display:flex;gap:12px;align-items:flex-start;background:var(--soft);border-radius:14px;padding:14px}
.ai-dot{width:34px;height:34px;border-radius:10px;background:var(--red);color:var(--on-accent);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:800;font-size:12px}
.chart-wrap{position:relative;overflow-x:auto}.chart-wrap svg{display:block;width:100%;height:auto;min-width:420px}
.tip{position:absolute;pointer-events:none;background:var(--inv);color:var(--inv-fg);border-radius:10px;padding:8px 10px;font-size:13px;white-space:nowrap;transform:translate(-50%,-115%);z-index:5}
.race .lane{display:grid;grid-template-columns:110px minmax(0,1fr) 72px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line)}
.race .lane:last-child{border-bottom:0}
.track{position:relative;height:30px;background:var(--soft);border-radius:15px}
.runner{position:absolute;top:3px;width:24px;height:24px;border-radius:50%;background:var(--inv);color:var(--inv-fg);transition:left .8s cubic-bezier(.2,.8,.2,1);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}
.lane.me .runner{background:var(--red);color:var(--on-accent)}
.track svg{position:absolute;right:6px;top:7px;width:16px;height:16px;color:var(--sub)}

/* journey */
.flow-svg{width:100%;height:auto;display:block}
.days-row{display:grid;grid-template-columns:190px minmax(0,1fr) 70px;gap:10px;align-items:center;font-size:13px;padding:5px 0}
.days-row span{font-weight:700;color:var(--muted)}
.days-bar{height:14px;background:var(--soft);border-radius:7px;overflow:hidden}.days-bar i{display:block;height:100%;border-radius:7px;background:var(--inv)}
.days-row.slow .days-bar i{background:var(--red)}.days-row.slow b{color:var(--red-dk)}
.src-t{width:100%;border-collapse:collapse;font-size:14px}
.src-t th,.src-t td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.src-t th{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--sub)}
.src-t .r{text-align:right}
.ch-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:0}
.seg-p{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px;gap:4px}
.seg-p button{border:0;background:transparent;min-height:36px;padding:0 14px;border-radius:9px;font-weight:800;font-size:13px;color:var(--muted);cursor:pointer}
.seg-p button[aria-pressed="true"]{background:var(--inv);color:var(--inv-fg)}

/* inbox and calls */
.inbox{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:16px;min-height:560px}
@media (max-width:900px){.inbox{grid-template-columns:minmax(0,1fr)}}
.threads{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;max-height:72vh;overflow-y:auto}
.thread{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer;background:transparent;border-left:0;border-right:0;border-top:0;text-align:left;width:100%;font:inherit;color:inherit}
.thread:hover{background:var(--soft)}
.thread[aria-current="true"]{background:var(--tint)}
.thread .t-b{flex:1;min-width:0}
.thread .t-b b{display:block;font-size:14px}
.thread .t-b small{display:block;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread time{font-size:11.5px;color:var(--sub);white-space:nowrap}
.needs{width:9px;height:9px;border-radius:50%;background:var(--red);display:inline-block;margin-left:6px}
.convo{background:var(--card);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;min-height:560px;max-height:72vh}
.convo-h{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.convo-b{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--card2)}
.bub{max-width:78%;border-radius:14px;padding:9px 12px;font-size:14px;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.bub small{display:block;font-size:11px;color:var(--sub);margin-top:4px}
.bub.in{align-self:flex-start;background:var(--card);border:1px solid var(--line)}
.bub.out{align-self:flex-end;background:#DCF8C6;color:#0A2E17}
.bub.out small{color:#3B6B4C}
.bub.ai{align-self:flex-end;background:var(--inv);color:var(--inv-fg)}
.bub.ai small{color:var(--inv-sub)}
.convo-f{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.convo-f textarea{flex:1;border:1px solid var(--line2);border-radius:12px;padding:10px;font:inherit;resize:none;min-height:44px}
.call-row{display:grid;grid-template-columns:120px minmax(0,1.3fr) minmax(0,2fr) 120px;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}
.call-row:last-child{border-bottom:0}
@media (max-width:800px){.call-row{grid-template-columns:minmax(0,1fr)}}
.oc-pill{font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px;display:inline-block}
.oc-booked{background:var(--ok-t);color:var(--ok-dk)}.oc-interested{background:#EAF0FE;color:#1D4ED8}.oc-no_answer{background:var(--soft);color:var(--muted)}.oc-not_now{background:var(--warn-t);color:var(--warn-dk)}
.tscript{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.tscript div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;font-size:13.5px;line-height:1.45}
.tscript b{color:var(--sub);font-size:12px;text-transform:uppercase;letter-spacing:.04em}

/* automations and channels */
.recipe{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:16px}
.recipe.sugg{border-color:var(--inv)}
.recipe p{font-size:15px;line-height:1.45}
.recipe .when{color:var(--sub);font-weight:700}
.recipe .meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px;font-size:13px;color:var(--muted)}
.chn{font-size:11px;font-weight:800;border-radius:6px;padding:3px 7px;background:var(--soft);color:var(--muted)}
.switch{flex-shrink:0;width:56px;height:32px;border-radius:999px;border:0;padding:3px;display:flex;background:var(--line2);cursor:pointer}
.switch[aria-checked="true"]{background:var(--red)}
.switch i{width:26px;height:26px;border-radius:50%;background:#fff;display:block;transition:transform .2s ease}
.switch[aria-checked="true"] i{transform:translateX(24px)}
.switch:disabled{opacity:.6;cursor:default}
.chan{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:14px}
.chan-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:800;font-size:13px;color:#fff;flex-shrink:0}
.st-on{background:var(--ok-t);color:var(--ok-dk)}.st-pending{background:var(--warn-t);color:var(--warn-dk)}.st-off{background:var(--soft);color:var(--muted)}
.st-pill{font-size:12px;font-weight:800;border-radius:999px;padding:5px 12px;flex-shrink:0}

/* lead page additions */
.jstrip{display:flex;align-items:flex-start;overflow-x:auto;padding:4px 2px 2px}
.jstep{flex:1 0 76px;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;text-align:center}
.jstep::after{content:"";position:absolute;top:15px;left:50%;width:100%;height:3px;background:var(--line)}
.jstep:last-child::after{display:none}
.jstep.done::after{background:var(--inv)}
.jdot{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;background:var(--card);border:2px dashed var(--line2);color:var(--sub)}
.jstep.done .jdot{background:var(--inv);color:var(--inv-fg);border:0}
.jstep.now .jdot{background:var(--red);color:var(--on-accent);border:0;animation:v4pulse 1.6s ease-out infinite}
.jstep b{font-size:12px}.jstep small{font-size:11px;color:var(--sub)}
.k-ai{background:#EAF0FE;color:#1D4ED8}.k-wa{background:var(--ok-t);color:var(--ok-dk)}.k-pay{background:var(--tint);color:var(--red-dk)}.k-auto{background:var(--inv);color:var(--inv-fg)}.k-rev{background:#FEF3C7;color:#B45309}
.chat-mini{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.login-v4{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--bg)}
@media (max-width:900px){.login-v4{grid-template-columns:minmax(0,1fr)}}
.login-art{background:#141414;color:#F4F2EE;padding:48px clamp(20px,5vw,64px);display:flex;flex-direction:column;justify-content:center;gap:18px}
.login-art h1{font-size:clamp(32px,4vw,52px);line-height:1.05;color:#fff}.login-art h1 em{font-style:normal;color:#FF4D5E}
.login-art p{color:#B3AEA6;font-size:17px;max-width:52ch;line-height:1.55}
.login-side{display:flex;align-items:center;justify-content:center;padding:32px 16px}
.show-card{background:#1F1F26;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px;max-width:520px}
.show-card b{color:#fff}
.show-card .roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.show-card button{min-height:48px;border-radius:12px;border:0;font-weight:800;cursor:pointer;font-size:14px}
.show-card .r-owner{background:#E4001B;color:#fff}.show-card .r-other{background:#fff;color:#141414}
.show-card fieldset{border:0;padding:0;margin:0;display:flex;gap:6px;flex-wrap:wrap}
.show-card legend{color:#B3AEA6;font-size:13px;font-weight:700;margin-bottom:6px;padding:0}
.show-card label{display:inline-flex;align-items:center;gap:6px;background:#2A2A2E;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer;color:#F4F2EE}
.show-card label:has(input:checked){background:#fff;color:#141414}
.show-card input[type=radio]{accent-color:#E4001B}
@media (prefers-reduced-motion:reduce){.live-dot,.wave i,.jstep.now .jdot,.boss.hit,.dmg{animation:none!important}}
.ibx-back{display:none}
@media (max-width:900px){.inbox{min-height:0}.inbox.show-convo .threads{display:none}.inbox:not(.show-convo) .convo{display:none}.ibx-back{display:inline-flex}.convo{min-height:70vh}}
[hidden]{display:none!important}
.cmp{grid-template-columns:minmax(110px,150px) minmax(0,1fr)}
.cmp-bars div{white-space:nowrap}
.cmp-bars i{max-width:calc(100% - 92px);flex-shrink:0}
.v4 .tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
@media (max-width:420px){.v4 .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.chance svg{width:52px;height:52px;display:block}
.v4 details.contact summary{cursor:pointer;padding:10px 0;display:flex;align-items:center;gap:6px}
.jstrip{padding:4px 10px 2px 2px}.jstep{flex:1 0 84px}.jstep b{line-height:1.25}
.ask{min-width:0}
@media (max-width:700px){.top{flex-wrap:wrap;padding:10px 16px}.top .ask{order:3;flex:1 1 100%;max-width:none}.top-r{margin-left:auto}.show-bar{padding:8px 12px}.show-bar > span:first-child{flex:1 1 100%}}
.top{background:color-mix(in srgb,var(--bg) 92%,transparent)}
.days-bar i{background:var(--ink)}
.track{border:1px solid var(--line)}
/* v4.0.1: data charts must not inherit the icon stroke (it smeared chart text and outlined every bar) */
.curve,.flow-svg,.chart-wrap svg,.boss svg,.chance svg,.ring svg,.galaxy svg{stroke:none;stroke-width:1;fill:none;font-size:inherit}
.curve text,.flow-svg text,.chart-wrap svg text{font-family:var(--f-body);stroke:none;paint-order:normal}
.boss svg{width:72px;height:72px}
