:root{
    --bg:#0a0e1a;--bg2:#0f1525;--card:#131a2c;--card2:#172036;--line:rgba(255,255,255,.08);--txt:#eef2fb;--muted:#9aa6c2;
    --accent:#3b54d4;--accent2:#6478e6;--green:#10b981;--gold:#f5b544;--purple:#8b5cf6;--red:#ef4444;--navy:#3b5bdb;--wa:#25d366;
    --grad:linear-gradient(135deg,#3b54d4,#6478e6);
    --glass:rgba(255,255,255,.04);--glass2:rgba(255,255,255,.06);--glass-hover:rgba(255,255,255,.12);--sidebar:#0c1120;
    --opt-bg:#172036;--opt-tx:#eef2fb;
  }
  [data-theme="light"]{--bg:#eef1f6;--bg2:#e4e8f0;--card:#fff;--card2:#f4f6fb;--line:rgba(20,30,60,.15);--txt:#16203a;--muted:#465268;--glass:rgba(59,84,212,.045);--glass2:rgba(59,84,212,.08);--glass-hover:rgba(59,84,212,.13);--opt-bg:#fff;--opt-tx:#16203a;--sidebar:#ffffff;--accent2:#3147c4;}
  [data-theme="oled"]{--bg:#000;--bg2:#050506;--card:#0b0b0e;--card2:#131317;--line:rgba(255,255,255,.09);--txt:#f4f6fb;--muted:#98a2b6;--glass:rgba(255,255,255,.03);--glass2:rgba(255,255,255,.05);--glass-hover:rgba(255,255,255,.10);--sidebar:#000;--opt-bg:#0b0b0e;--opt-tx:#f4f6fb;}
  [data-theme="light"] aside{color:#1a1f36;border-right:1px solid rgba(30,20,70,.07);box-shadow:2px 0 30px rgba(123,97,255,.05)}
  [data-theme="light"] .navitem{color:#3f4a5e}
  [data-theme="light"] .navitem:hover{background:rgba(123,97,255,.09);color:#1a1f36}
  [data-theme="light"] .navitem.active{color:#fff}
  [data-theme="light"] .who{background:rgba(123,97,255,.07);border-color:rgba(30,20,70,.08)}
  [data-theme="light"] .who span,[data-theme="light"] .logo small{color:#525873}
  [data-theme="light"] .side-foot{border-top-color:rgba(30,20,70,.08)}
  [data-theme="light"] .navscroll{scrollbar-color:rgba(123,97,255,.3) transparent}
  [data-theme="light"] .navscroll::-webkit-scrollbar-thumb{background:rgba(123,97,255,.25)}
  [data-theme="light"] .navscroll::-webkit-scrollbar-thumb:hover{background:rgba(123,97,255,.4)}
  *{margin:0;padding:0;box-sizing:border-box}
  body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--txt);transition:.3s}
  a{text-decoration:none;color:inherit} button{font-family:inherit;cursor:pointer}
  input,select,textarea{font-family:inherit;font-size:14px;color:var(--txt);background:var(--glass);border:1px solid var(--line);border-radius:10px;padding:11px 13px}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
  select option{background:var(--opt-bg);color:var(--opt-tx)}
  .btn{border:none;background:var(--grad);color:#fff;font-weight:700;font-size:14px;padding:11px 18px;border-radius:10px;display:inline-flex;align-items:center;gap:7px;transition:.2s}
  .btn:hover{transform:translateY(-1px)}
  .btn-ghost{background:var(--glass2);color:var(--txt);border:1px solid var(--line)}
  .theme-btn{width:42px;height:42px;border-radius:11px;background:var(--glass2);border:1px solid var(--line);color:var(--txt);font-size:16px;display:grid;place-items:center;flex-shrink:0;transition:transform .15s ease,background .2s ease}
  .muted{color:var(--muted)}
  .view{display:none} .view.show{display:block}
  /* mobile nav + motion */
  *{-webkit-tap-highlight-color:transparent}
  button{touch-action:manipulation}
  .hamb{display:none;width:42px;height:42px;border-radius:11px;background:var(--glass2);border:1px solid var(--line);color:var(--txt);font-size:19px;place-items:center;flex-shrink:0;transition:transform .15s ease}
  .nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:89;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
  .nav-backdrop.show{opacity:1;visibility:visible}
  .btn:active,.navitem:active,.callbtn:active,.editbtn:active,.rowbtn:active,.svc:active,.theme-btn:active,.hamb:active,.tpl:active,.lbtn:active{transform:scale(.97)}
  @keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  #vBody.anim{animation:fadeUp .35s cubic-bezier(.2,.7,.2,1)}
  .stat,.chip,.group,.tpl,.auto{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}

  /* ===== LOGIN ===== */
  #login{min-height:100vh;display:none;place-items:center;padding:24px;position:relative;overflow:hidden}
  #login.show{display:grid}
  .blob{position:absolute;border-radius:50%;filter:blur(110px);opacity:.4;z-index:0}
  .b1{width:480px;height:480px;background:#7b61ff;top:-160px;right:-120px}.b2{width:420px;height:420px;background:#9d8bff;bottom:-180px;left:-140px;opacity:.3}
  .lshell{position:relative;z-index:2;width:100%;max-width:430px}
  .lbrand{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:800;font-size:24px;margin-bottom:22px}
  .lbrand .dot{width:34px;height:34px;border-radius:10px;background:var(--grad);display:grid;place-items:center;font-size:18px;color:#fff}
  .lcard{background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.4)}
  [data-theme="light"] .lcard{box-shadow:0 24px 70px rgba(123,97,255,.16)}
  [data-theme="light"] .blob{opacity:.28}
  .tabs{display:flex;gap:6px;background:var(--glass);border:1px solid var(--line);padding:5px;border-radius:13px;margin-bottom:22px}
  .tabs button{flex:1;border:none;background:none;color:var(--muted);font-weight:700;padding:11px;border-radius:9px;font-size:14px;transition:.2s}
  .tabs button.active{background:var(--grad);color:#fff}
  .lcard h2{font-size:20px;margin-bottom:4px}.lcard .sub{color:var(--muted);font-size:14px;margin-bottom:18px}
  .pane{display:none}.pane.show{display:block}
  .fld2{margin-bottom:14px}.fld2 label{font-size:13px;font-weight:600;color:var(--muted);display:block;margin-bottom:7px}
  .fld2 input,.fld2 select{width:100%}
  .lbtn{width:100%;justify-content:center;margin-top:4px}
  .hint{margin-top:16px;padding:12px 14px;border-radius:11px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.25);font-size:12.5px;color:#9fe3c6}
  [data-theme="light"] .hint{color:#1d7a55}
  .lback{display:block;text-align:center;margin-top:16px;color:var(--muted);font-size:13.5px}
  #login .theme-btn{position:absolute;top:20px;right:20px;z-index:3}

  /* ===== APP SHELL ===== */
  #app{display:none}
  #app.show{display:grid;grid-template-columns:236px 1fr;min-height:100vh}
  aside{background:var(--sidebar);border-right:1px solid rgba(255,255,255,.06);padding:20px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;color:#eef2fb;overflow:hidden}
  .navscroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:5px;margin-right:-7px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
  .navscroll::-webkit-scrollbar{width:7px}
  .navscroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:99px}
  .navscroll::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}
  .navscroll::-webkit-scrollbar-track{background:transparent}
  .logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:17px;padding:0 8px 10px}
  .logo .dot{width:28px;height:28px;border-radius:8px;background:var(--grad);display:grid;place-items:center;font-size:15px;color:#fff}
  .logo small{display:block;font-size:10px;color:#9aa6c2;letter-spacing:.05em}
  .who{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:11px 12px;margin:6px 0 14px;display:flex;align-items:center;gap:10px}
  .who .av{width:34px;height:34px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font-weight:800;color:#fff;font-size:14px}
  .who b{font-size:13.5px;display:block}.who span{font-size:11px;color:#9aa6c2}
  .navitem{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:#9aa6c2;font-weight:600;font-size:14px;margin-bottom:2px;transition:.2s;cursor:pointer}
  .navitem:hover{background:rgba(255,255,255,.05);color:#fff}
  .navitem.active{background:var(--grad);color:#fff}
  .navitem .em{font-size:16px;width:20px;text-align:center}
  :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .navitem:focus-visible,.who:focus-visible{outline:2px solid var(--accent2);outline-offset:-2px}
  .tour-ov{position:fixed;inset:0;z-index:400;background:rgba(10,8,30,.55);display:none;place-items:center;padding:20px}
  .tour-ov.show{display:grid}
  .tour-card{background:var(--card);border:1px solid var(--line);border-radius:18px;max-width:420px;width:100%;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.3);text-align:center;animation:fadeUp .3s ease both}
  .tour-emoji{font-size:46px;display:inline-block;animation:floaty 3s ease-in-out infinite}
  .tour-card h3{font-size:20px;margin:8px 0 6px}
  .tour-card p{color:var(--muted);font-size:14px;line-height:1.6}
  .tour-dots{display:flex;gap:6px;justify-content:center;margin:16px 0}
  .tour-dots i{width:7px;height:7px;border-radius:50%;background:var(--line);transition:.2s}
  .tour-dots i.on{background:var(--accent);width:18px;border-radius:99px}
  .tour-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}
  .tour-skip{background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer}
  .inproc{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;padding:2px 9px;border-radius:99px;background:rgba(245,181,68,.18);color:#caa23b;margin-left:8px;white-space:nowrap}
  .inproc::before{content:"";width:6px;height:6px;border-radius:50%;background:#f5b544;animation:pulseDot 1.1s ease-in-out infinite}
  .inproc.me{background:rgba(123,97,255,.16);color:var(--accent)}
  .inproc.me::before{background:var(--accent)}
  @keyframes pulseDot{0%,100%{transform:scale(.7);opacity:.5}50%{transform:scale(1.2);opacity:1}}
  .leadpops{position:fixed;top:14px;right:14px;z-index:350;display:flex;flex-direction:column;gap:8px;max-width:300px}
  .leadpop{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:11px;padding:11px 13px;box-shadow:0 14px 34px rgba(0,0,0,.25);font-size:13px;animation:fadeUp .3s ease both;cursor:pointer}
  .leadpop b{display:block;font-size:12px;color:var(--accent2);margin-bottom:2px}
  .pres{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:99px}
  .pres.on{background:rgba(22,192,152,.16);color:#16a87f}.pres.off{background:var(--glass2);color:var(--muted)}
  .pres-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 12px;padding:9px;border-radius:10px;border:1px solid var(--line);background:var(--glass2);color:var(--muted);font-weight:700;font-size:12.5px;cursor:pointer;transition:.15s}
  .pres-toggle .pdot{width:9px;height:9px;border-radius:50%;background:var(--muted);flex-shrink:0}
  .pres-toggle.on{background:rgba(22,192,152,.14);border-color:rgba(22,192,152,.4);color:#16a87f}
  .pres-toggle.on .pdot{background:#16c098;box-shadow:0 0 0 0 rgba(22,192,152,.5);animation:livePulse 1.6s ease-out infinite}
  @keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(22,192,152,.5)}100%{box-shadow:0 0 0 7px rgba(22,192,152,0)}}
  .side-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
  main{padding:22px 26px;min-width:0}
  .topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
  .topbar h1{font-size:22px}.topbar .muted{font-size:13px;margin-top:2px}
  .controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
  .controls input,.controls select{font-size:13.5px;padding:9px 12px}
  /* stats / chips */
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
  .stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
  .stat .l{font-size:12.5px;color:var(--muted)}.stat .n{font-size:26px;font-weight:800;margin-top:4px}.stat .d{font-size:12px;font-weight:700;margin-top:5px;color:var(--green)}
  .chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
  .chip{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 15px;font-size:12.5px;color:var(--muted);cursor:pointer}
  .chip:hover{border-color:rgba(123,97,255,.4)}
  .chip b{display:block;font-size:19px;color:var(--txt);font-weight:800}
  .chip-active{border-color:var(--accent);background:rgba(123,97,255,.16);color:var(--txt)}
  .sec-title{font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin:24px 0 12px;display:flex;align-items:center;gap:9px}
  .sec-title::before{content:"";width:3px;height:14px;border-radius:3px;background:var(--accent);flex:0 0 auto}
  .sec-title .sub{text-transform:none;letter-spacing:normal;font-weight:400}
  /* services */
  .services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .svc{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;transition:.25s;cursor:pointer;position:relative}
  .svc:hover{transform:translateY(-4px);border-color:rgba(123,97,255,.4);box-shadow:0 16px 40px rgba(0,0,0,.32)}
  .svc .ic{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;font-size:23px;margin-bottom:14px;color:#fff}
  .svc h3{font-size:17px;margin-bottom:7px}.svc p{color:var(--muted);font-size:13.5px;flex:1;line-height:1.5}
  .svc .go{margin-top:14px;font-weight:700;font-size:13.5px;color:var(--accent2)}
  .pill{position:absolute;top:14px;right:14px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:99px}
  .pill.live{background:rgba(16,185,129,.15);color:var(--green)}.pill.soon{background:rgba(245,181,68,.15);color:var(--gold)}
  /* plan */
  .plan-wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-bottom:26px}
  .plan-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px}
  .plan-card.current{border:1.5px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--grad) border-box}
  .plan-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:12px}
  .plan-name{font-size:21px;font-weight:800}.plan-price{font-size:14px;color:var(--muted);margin-top:3px}
  .plan-badge{font-size:11px;font-weight:700;padding:5px 12px;border-radius:99px;background:rgba(16,185,129,.15);color:var(--green);white-space:nowrap}
  .plan-feats,.up-feats{list-style:none;display:flex;flex-direction:column;gap:9px}
  .plan-feats li,.up-feats li{font-size:13.5px;color:#d7deef;display:flex;gap:9px}
  [data-theme="light"] .plan-feats li,[data-theme="light"] .up-feats li{color:#33405c}
  .plan-feats .ck{color:var(--green)}
  .up-card{background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid rgba(245,181,68,.4);border-radius:18px;padding:22px;display:flex;flex-direction:column}
  .up-card h3{font-size:17px;margin-bottom:3px}.up-card .sub{font-size:13px;color:var(--muted);margin-bottom:14px}
  .up-feats{margin-bottom:16px;flex:1}.up-feats .pl{color:var(--gold);font-weight:800}
  .btn-up{background:linear-gradient(135deg,#f5b544,#ef7e44);color:#2a1a05;border:none;font-weight:800;font-size:14px;padding:12px;border-radius:11px;text-align:center}
  /* groups (crm) */
  .group{background:var(--bg2);border:1px solid var(--line);border-radius:14px;margin-bottom:14px;overflow:hidden}
  .group-head{display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer;border-left:4px solid var(--accent)}
  .group-head:hover{background:var(--glass)}
  .group-head .gt{font-weight:800;font-size:14px;display:flex;align-items:center;gap:9px}
  .group-head .dotc{width:10px;height:10px;border-radius:50%}
  .group-head .cnt{background:var(--glass2);border-radius:99px;padding:2px 10px;font-size:12px;color:var(--muted)}
  .group-head .gs{font-size:12px;color:var(--muted)}
  .group-head .chev{margin-left:auto;color:var(--muted);font-size:13px;transition:.2s}
  .group.collapsed .chev{transform:rotate(-90deg)}.group.collapsed .group-body{display:none}
  .group-body{padding:6px 8px 10px;overflow-x:auto}
  .lhead,.lrow{display:grid;grid-template-columns:1.35fr 120px .8fr 1.25fr 1.2fr .85fr 1.75fr 46px;gap:10px;align-items:center;min-width:1010px}
  .lhead{padding:7px 12px 9px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}
  .lrow{padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--card);margin-bottom:7px;border-left:3px solid var(--accent);transition:.15s}
  .lrow:hover{border-color:rgba(123,97,255,.4)}
  .lrow .nm{font-weight:700;font-size:14px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
  .lrow .src{font-size:11px;color:var(--muted);margin-top:2px}
  .callbtn{background:rgba(16,185,129,.14);border:1px solid rgba(16,185,129,.3);color:#5fd6aa;font-weight:700;font-size:12px;padding:8px 10px;border-radius:9px;display:flex;flex-direction:column;align-items:center;gap:1px;width:100%}
  .callbtn small{font-size:10px;font-weight:600;color:var(--muted)}
  .cell-area{font-size:13px}.look b{font-size:13px}.look span{font-size:11.5px;color:var(--muted);display:block;margin-top:2px}
  .notecell{font-size:12px;color:var(--muted);background:var(--glass);border:1px dashed var(--line);border-radius:9px;padding:7px 9px;cursor:text;min-height:34px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .notecell:hover{border-color:var(--accent);color:var(--txt)}.notecell.has{color:var(--txt);border-style:solid}
  .rsel{width:100%;font-size:12.5px;padding:8px 9px}
  .editbtn{width:100%;background:var(--glass2);border:1px solid var(--line);color:var(--txt);font-size:14px;padding:8px;border-radius:9px}
  .editbtn:hover{background:var(--glass-hover)}
  .movebtns{display:flex;flex-wrap:wrap;gap:5px}
  .movebtn{font-size:11px;font-weight:700;padding:6px 9px;border-radius:8px;border:1px solid var(--mc);background:transparent;color:var(--mc);transition:transform .15s ease,background .15s ease,color .15s ease;cursor:pointer}
  .movebtn:hover{background:var(--mc);color:#06121f;transform:translateY(-1px)}
  .agstatic{font-size:12.5px;color:var(--muted);font-weight:600}
  .donetag{font-size:12px;color:var(--green);font-weight:700}
  .subnav{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 24px;border-radius:9px;color:#8794ad;font-weight:600;font-size:12.5px;cursor:pointer;transition:.15s;margin-bottom:1px}
  .subnav:hover{background:rgba(255,255,255,.05);color:#fff}
  .subnav.active{background:rgba(123,97,255,.16);color:#cfe0ff}
  .subnav .d{width:8px;height:8px;border-radius:50%;flex-shrink:0}
  .formnav-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#5f6c86;font-weight:700;padding:8px 12px 4px}
  .lnum{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:19px;padding:0 6px;border-radius:6px;background:var(--glass2);color:var(--muted);font-size:11px;font-weight:800;margin-right:8px;flex-shrink:0}
  .lchev{display:none}
  .wabtn{margin-top:6px;width:100%;background:rgba(37,211,102,.14);border:1px solid rgba(37,211,102,.35);color:#3ddc84;font-weight:700;font-size:11.5px;padding:7px 8px;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:.15s}
  .wabtn:hover{background:rgba(37,211,102,.24);transform:translateY(-1px)}
  .emailbtn{margin-top:6px;width:100%;background:rgba(123,97,255,.14);border:1px solid rgba(123,97,255,.35);color:#7fb0ff;font-weight:700;font-size:11.5px;padding:7px 8px;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:.15s}
  .emailbtn:hover{background:rgba(123,97,255,.24);transform:translateY(-1px)}
  .wa-connect{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
  .qr{width:150px;height:150px;border-radius:14px;background:#fff;display:grid;place-items:center;flex-shrink:0;padding:8px}
  .kit-btn{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--glass);cursor:pointer;margin-bottom:9px;transition:.15s;width:100%}
  .kit-btn:hover{background:var(--glass-hover);transform:translateY(-1px)}
  .kit-btn .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:18px;flex-shrink:0}
  .kit-btn b{font-size:13.5px;display:block}.kit-btn span{font-size:12px;color:var(--muted)}
  .inbox-item{display:flex;gap:11px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:11px;margin-bottom:8px;background:var(--glass)}
  .inbox-item .av{width:34px;height:34px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font-weight:700;color:#fff;font-size:13px;flex-shrink:0}
  .inbox-item b{font-size:13px}.inbox-item p{font-size:12.5px;color:var(--muted);margin-top:2px}
  .inbox-item .t{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}
  .wa-status{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:#3ddc84}
  .wa-dot{width:9px;height:9px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 0 rgba(37,211,102,.5);animation:pulse 1.8s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 8px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
  .hot{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:6px;background:rgba(245,181,68,.16);color:var(--gold)}
  .empty{color:var(--muted);font-size:12.5px;text-align:center;padding:16px}
  /* workflow */
  .wf{max-width:720px;margin:0 auto}
  .wf-note{background:rgba(123,97,255,.08);border:1px solid rgba(123,97,255,.25);border-radius:12px;padding:13px 16px;font-size:13.5px;color:var(--muted);margin-bottom:20px}
  .wf-step{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:13px 18px;margin:0 auto;max-width:520px}
  .wf-step h3{font-size:15px;display:flex;align-items:center;gap:9px}.wf-step p{font-size:13px;color:var(--muted);margin-top:4px;padding-left:30px}
  .wf-arrow{text-align:center;color:var(--muted);font-size:18px;margin:6px 0}
  .wf-branch{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:520px;margin:0 auto}
  .wf-emoji{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:14px;color:#fff;flex-shrink:0}
  .legend{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
  .legend span{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}.legend i{width:12px;height:12px;border-radius:4px}
  .wf-editor{max-width:780px;margin:0 auto}
  .wf-erow{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:14px 16px;margin-bottom:10px}
  .wf-efields{flex:1.2;min-width:220px;display:flex;flex-direction:column;gap:8px}
  .wf-erow input{background:var(--glass);border:1px solid var(--line);border-radius:9px;padding:9px 11px;color:var(--txt);font-family:inherit;font-size:13.5px;width:100%}
  .wf-erow input.wf-name{font-weight:700;font-size:14.5px}
  .wf-erow input:focus{outline:none;border-color:var(--accent)}
  .wf-agents{flex:1;min-width:200px}
  .wf-aglabel{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin-bottom:7px}
  .agchips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;min-height:8px}
  .agchip{display:inline-flex;align-items:center;gap:6px;background:rgba(123,97,255,.15);color:#7fb0ff;font-size:12px;font-weight:600;padding:5px 9px;border-radius:8px}
  .agchip button{background:none;border:none;color:#7fb0ff;cursor:pointer;font-size:15px;line-height:1;padding:0}
  .wf-addsel{font-size:12.5px;padding:8px 10px;border-radius:9px;background:var(--glass);border:1px solid var(--line);color:var(--txt);width:100%;max-width:210px}
  .wf-ctrl{display:flex;flex-direction:column;gap:5px;flex-shrink:0}
  .wf-cbtn{width:34px;height:28px;border:1px solid var(--line);background:var(--glass);color:var(--txt);border-radius:7px;cursor:pointer;font-size:12px;transition:.15s}
  .wf-cbtn:hover{background:var(--glass-hover)}
  .wf-cbtn:disabled{opacity:.3;cursor:default}
  .wf-cbtn.danger:hover{background:rgba(239,68,68,.15);color:#f59b9b;border-color:rgba(239,68,68,.4)}
  /* team chat */
  .chatwrap{display:flex;flex-direction:column;height:calc(100vh - 140px);max-width:760px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
  .chat-head{padding:14px 18px;border-bottom:1px solid var(--line);font-weight:800;font-size:15px;display:flex;align-items:center}
  .chat-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
  .cmsg{max-width:78%;padding:9px 13px;border-radius:13px;font-size:14px;line-height:1.45;word-wrap:break-word}
  .cmsg .who{font-size:11px;font-weight:700;color:var(--accent2);margin-bottom:3px}
  .cmsg .time{font-size:10px;color:var(--muted);margin-top:3px;text-align:right}
  .cmsg.me{align-self:flex-end;background:var(--grad);color:#04121f;border-bottom-right-radius:4px}
  .cmsg.me .time{color:rgba(4,18,31,.55)}
  .cmsg.them{align-self:flex-start;background:var(--glass2);border:1px solid var(--line);border-bottom-left-radius:4px}
  .chat-input{display:flex;gap:10px;padding:12px;border-top:1px solid var(--line)}
  .chat-input input{flex:1;background:var(--glass);border:1px solid var(--line);border-radius:11px;padding:12px 14px;color:var(--txt);font-family:inherit;font-size:14px}
  .chat-input input:focus{outline:none;border-color:var(--accent)}
  .nav-badge{margin-left:auto;background:var(--red);color:#fff;font-size:10.5px;font-weight:800;min-width:18px;height:18px;border-radius:99px;display:inline-grid;place-items:center;padding:0 5px}
  .chatnotif{position:fixed;top:18px;right:18px;z-index:300;display:flex;flex-direction:column;gap:8px;pointer-events:none}
  .chatnotif .cn{background:var(--card2);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:12px;padding:11px 14px;box-shadow:0 14px 40px rgba(0,0,0,.45);font-size:13.5px;max-width:300px;color:var(--txt);animation:cnIn .3s cubic-bezier(.2,.7,.2,1)}
  .chatnotif .cn b{display:block;font-size:12px;color:var(--accent2);margin-bottom:2px}
  @keyframes cnIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
  @media(max-width:560px){.chatnotif{left:12px;right:12px}.chatnotif .cn{max-width:none}}
  /* lead score + outcomes + leaderboard + tasks */
  .lscore{display:inline-flex;align-items:center;gap:2px;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:6px;margin-left:8px;flex-shrink:0}
  .lscore.hi{background:rgba(16,185,129,.18);color:#5fd6aa}
  .lscore.mid{background:rgba(245,181,68,.16);color:var(--gold)}
  .lscore.lo{background:var(--glass2);color:var(--muted)}
  .sharebtn{margin-top:6px;width:100%;background:rgba(139,92,246,.14);border:1px solid rgba(139,92,246,.35);color:#b69cf7;font-weight:700;font-size:11.5px;padding:7px 8px;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:.15s}
  .sharebtn:hover{background:rgba(139,92,246,.24);transform:translateY(-1px)}
  .outcomes{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
  .ocbtn{font-size:11px;font-weight:700;padding:6px 9px;border-radius:8px;border:1px solid var(--line);background:var(--glass);color:var(--txt);cursor:pointer;transition:.15s}
  .ocbtn:hover{background:var(--glass-hover)}
  .due-tag{font-size:11px;color:var(--gold);font-weight:700;margin-top:7px}
  @keyframes flashRow{0%{box-shadow:0 0 0 0 rgba(123,97,255,.65)}100%{box-shadow:0 0 0 16px rgba(123,97,255,0)}}
  .lrow.flash{animation:flashRow 1s ease 2}
  .lb{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
  .lbrow{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 16px}
  .lbrow .rank{font-size:20px;font-weight:800;width:38px;text-align:center;flex-shrink:0}
  .lbrow .av{width:40px;height:40px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font-weight:800;color:#fff;font-size:13px;flex-shrink:0}
  .lbrow .nm{font-weight:700;font-size:14.5px;flex:1;min-width:0}
  .lbrow .stat{text-align:center;min-width:50px}
  .lbrow .stat b{display:block;font-size:17px}.lbrow .stat span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
  .lbrow.top{border-color:rgba(245,181,68,.45);background:linear-gradient(160deg,rgba(245,181,68,.08),var(--card))}
  .task{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:12px;padding:11px 14px;margin-bottom:9px}
  .task .info{flex:1;min-width:0}.task .info b{font-size:14px}.task .info p{font-size:12px;color:var(--muted);margin-top:2px}
  @media(max-width:600px){.lbrow .stat{min-width:42px}.lbrow .stat b{font-size:15px}}
  /* accounts table */
  .panel{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
  .panel-head{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line);gap:12px;flex-wrap:wrap}
  .panel-head h2{font-size:16px}
  table{width:100%;border-collapse:collapse}
  th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:11px 18px;border-bottom:1px solid var(--line)}
  td{padding:12px 18px;border-bottom:1px solid var(--line);font-size:13.5px}
  tr:last-child td{border-bottom:none}tr:hover td{background:var(--glass)}
  .u{display:flex;align-items:center;gap:11px}.u .av{width:34px;height:34px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font-weight:800;color:#fff;font-size:13px;flex-shrink:0}
  .u b{font-size:13.5px;display:block}.u span{font-size:12px;color:var(--muted)}
  .role{font-size:11px;font-weight:700;padding:4px 10px;border-radius:99px}
  .role.Admin{background:rgba(123,97,255,.15);color:#7fb0ff}.role.Manager{background:rgba(139,92,246,.16);color:#b69cf7}.role.Agent{background:rgba(34,211,238,.14);color:#62d8ec}
  .badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:99px}.badge.on{background:rgba(16,185,129,.15);color:#5fd6aa}.badge.off{background:rgba(239,68,68,.14);color:#f59b9b}
  .rowbtn{border:1px solid var(--line);background:var(--glass);color:var(--txt);font-size:12px;font-weight:600;padding:6px 10px;border-radius:8px;margin-left:6px}
  .rowbtn:hover{background:var(--glass-hover)}.rowbtn.danger:hover{background:rgba(239,68,68,.15);color:#f59b9b}
  /* whatsapp */
  .wgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
  .wpanel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:18px}
  .wpanel h2{font-size:16px;margin-bottom:4px}.wpanel .sub{font-size:13px;color:var(--muted);margin-bottom:14px}
  .auto{display:flex;align-items:center;gap:14px;padding:13px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:var(--glass)}
  .auto .ic{width:38px;height:38px;border-radius:10px;background:rgba(37,211,102,.16);display:grid;place-items:center;font-size:18px;flex-shrink:0}
  .auto .info{flex:1}.auto .info b{font-size:14px}.auto .info p{font-size:12.5px;color:var(--muted)}
  .sw{width:44px;height:25px;border-radius:99px;background:var(--glass2);border:1px solid var(--line);position:relative;flex-shrink:0;transition:.2s}
  .sw::after{content:'';position:absolute;width:19px;height:19px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.2s}
  .sw.on{background:var(--wa);border-color:var(--wa)}.sw.on::after{left:21px}
  .wfield{margin-bottom:13px}.wfield label{font-size:12.5px;font-weight:600;color:var(--muted);display:block;margin-bottom:6px}
  .wfield input,.wfield select,.wfield textarea{width:100%}.wfield textarea{resize:vertical;min-height:90px}
  .preview{background:#0b141a;border-radius:14px;padding:16px;border:1px solid var(--line)}
  .bubble{background:#dcf8c6;color:#0b1a10;border-radius:10px 10px 10px 2px;padding:10px 12px;font-size:13.5px;max-width:90%;white-space:pre-wrap;word-wrap:break-word}
  .bubble .time{display:block;text-align:right;font-size:10px;color:#5a7a55;margin-top:4px}
  .tpl{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:11px;margin-bottom:9px;background:var(--glass);cursor:pointer}
  .tpl:hover{background:var(--glass-hover)}.tpl b{font-size:13px}.tpl p{font-size:12px;color:var(--muted)}
  .tag{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:99px;background:rgba(34,211,238,.14);color:#62d8ec}
  /* analytics bars */
  .agrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .bar{margin-bottom:13px}.bar .top{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}.bar .top span{color:var(--muted)}
  .track{height:11px;border-radius:99px;background:var(--glass2);overflow:hidden}.fill{height:100%;border-radius:99px;background:var(--grad)}
  .funnel .fstep{display:flex;align-items:center;gap:12px;margin-bottom:9px}
  .funnel .fbar{height:32px;border-radius:9px;display:flex;align-items:center;padding:0 12px;color:#fff;font-weight:700;font-size:13px;min-width:50px}
  .funnel .flbl{font-size:12.5px;color:var(--muted);width:120px;flex-shrink:0}
  .cols{display:flex;align-items:flex-end;gap:12px;height:170px;padding-top:10px}
  .colb{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;justify-content:flex-end}
  .colb .v{width:100%;max-width:40px;border-radius:8px 8px 0 0;background:var(--grad)}.colb small{font-size:11px;color:var(--muted)}
  /* modal */
  .overlay{position:fixed;inset:0;background:rgba(4,8,18,.66);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
  .overlay.show{display:flex}
  .modal{background:var(--card2);border:1px solid var(--line);border-radius:18px;width:100%;max-width:480px;box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden;animation:pop .2s ease}
  @keyframes pop{from{transform:translateY(12px) scale(.98);opacity:0}to{transform:none;opacity:1}}
  .modal-head{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.modal-head h3{font-size:17px}
  .x{background:none;border:none;color:var(--muted);font-size:23px;line-height:1}
  .modal-body{padding:20px;display:grid;gap:13px;max-height:72vh;overflow-y:auto}
  .fld label{font-size:12.5px;font-weight:600;color:var(--muted);display:block;margin-bottom:6px}.fld input,.fld select,.fld textarea{width:100%}.fld textarea{resize:vertical;min-height:80px}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .modal-foot{padding:15px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center}
  .del-link{background:none;border:none;color:#f59b9b;font-size:13px;font-weight:600}
  /* undo toast */
  .toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(24px);background:var(--card2);border:1px solid var(--line);border-radius:13px;padding:13px 14px 14px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 20px 50px rgba(0,0,0,.5);z-index:200;opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s cubic-bezier(.2,.7,.2,1),visibility .3s;font-size:14px;max-width:92vw;overflow:hidden}
  .toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
  .toast #toastMsg{color:var(--txt)}
  .toast-undo{background:var(--grad);color:#fff;border:none;font-weight:800;font-size:13px;padding:8px 15px;border-radius:9px;cursor:pointer;white-space:nowrap;transition:transform .15s ease}
  .toast-undo:hover{transform:translateY(-1px)}
  .toast-x{background:none;border:none;color:var(--muted);font-size:19px;line-height:1;cursor:pointer;padding:0 2px}
  .toast-bar{position:absolute;left:0;bottom:0;height:3px;background:var(--accent2);width:100%}
  .toast.show .toast-bar{animation:toastShrink 7s linear forwards}
  @keyframes toastShrink{from{width:100%}to{width:0}}
  @media(max-width:560px){.toast{left:12px;right:12px;bottom:12px;transform:translateY(24px);max-width:none}.toast.show{transform:translateY(0)}}
  @media(max-width:900px){.services{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.plan-wrap,.wgrid,.agrid{grid-template-columns:1fr}}
  @media(max-width:820px){
    #app.show{grid-template-columns:1fr}
    aside{position:fixed;top:0;left:0;z-index:90;width:240px;height:100vh;transform:translateX(-100%);transition:transform .32s cubic-bezier(.4,0,.2,1)}
    aside.open{transform:translateX(0);box-shadow:18px 0 60px rgba(0,0,0,.5)}
    .hamb{display:none}
    main{padding:16px 14px}
    .topbar h1{font-size:19px}
  }
  @media(max-width:760px){
    .lhead{display:none}
    .group-body{overflow-x:visible;padding:8px}
    .lrow{grid-template-columns:1fr;min-width:0;gap:0;padding:4px 14px}
    .lrow>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);min-width:0}
    .lrow>div:last-child{border-bottom:none}
    .lrow>div::before{content:attr(data-label);font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}
    .lrow .leadcell{text-align:right}
    .lrow .look{text-align:right}
    /* mobile accordion — collapse to the name, tap to expand */
    .lrow .lead-header{cursor:pointer;padding:13px 2px;border-bottom:none}
    .lrow .lead-header::before{display:none}
    .lrow .lead-header .leadcell{text-align:left;flex:1}
    .lrow .lchev{display:inline-block;color:var(--muted);font-size:13px;transition:transform .2s;flex-shrink:0}
    .lrow.open .lchev{transform:rotate(180deg)}
    .lrow.open .lead-header{border-bottom:1px solid var(--line)}
    .lrow:not(.open)>div:not(.lead-header){display:none}
    .callbtn{width:auto;flex-direction:row;gap:7px}.callbtn small{font-size:11px}
    .rsel{width:auto;min-width:150px;max-width:62%}
    .editbtn{width:auto;padding:8px 16px}
    .notecell{flex:1;-webkit-line-clamp:unset;text-align:left;margin-left:10px}
    /* multi-content cells: stack the label on top and let content use the full width */
    .lrow [data-label="Notes"]{flex-direction:column;align-items:stretch;gap:10px}
    .lrow [data-label="Notes"] .notecell{flex:none;width:100%;margin-left:0;min-height:42px;-webkit-line-clamp:unset}
    .lrow [data-label="Notes"] .outcomes{width:100%;margin-top:0}
    .lrow .outcomes .ocbtn{flex:1 1 calc(50% - 5px);display:inline-flex;align-items:center;justify-content:center}
    .lrow [data-label="Contact"]{flex-wrap:wrap;gap:7px}
    .lrow [data-label="Contact"]::before{flex-basis:100%}
    .lrow [data-label="Contact"]>button{flex:1 1 calc(50% - 5px);justify-content:center}
    .lrow [data-label="Contact"]>button.callbtn{flex-basis:100%}
    .lrow [data-label="Move to next step"]{flex-direction:column;align-items:stretch;gap:8px}
    .lrow [data-label="Move to next step"] .movebtns{width:100%}
    .lrow .movebtns .movebtn{flex:1 1 calc(50% - 5px);display:inline-flex;align-items:center;justify-content:center}
    .lrow [data-label="Agent"] .rsel,.lrow [data-label="Agent"] select{max-width:62%}
    .chips{gap:8px}.chip{flex:1 1 calc(33% - 8px)}
  }
  @media(max-width:560px){
    .services{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}
    .two{grid-template-columns:1fr}.modal{max-width:100%}
    .controls{width:100%}.controls input{flex:1;min-width:120px;width:auto!important}
    .chip{flex:1 1 calc(50% - 8px)}
    .lbrand{font-size:21px}
  }
  /* welcome tip */
  .welcome-tip{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,rgba(123,97,255,.14),rgba(34,211,238,.10));border:1px solid rgba(123,97,255,.32);border-radius:14px;padding:13px 15px;margin-bottom:16px;animation:fadeUp .4s ease both}
  .welcome-tip .wt-ic{font-size:20px;line-height:1.4}
  .welcome-tip .wt-body{font-size:13.5px;color:var(--txt);line-height:1.5}
  .welcome-tip .wt-x{display:inline-block;margin-left:6px;color:var(--accent2);font-weight:700;cursor:pointer;white-space:nowrap}
  .welcome-tip .wt-x:hover{text-decoration:underline}
  /* quick actions */
  .qa-row{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:18px}
  .qa{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--card);border:1px solid var(--line);color:var(--txt);font-weight:700;font-size:13.5px;padding:14px 10px;border-radius:13px;cursor:pointer;transition:transform .15s,border-color .15s,background .15s}
  .qa span{font-size:17px}
  .qa:hover{transform:translateY(-2px);border-color:var(--accent);background:var(--card2)}
  @media(max-width:680px){.qa-row{grid-template-columns:repeat(2,1fr)}.qa{padding:13px 8px;font-size:13px}}
  /* quick filters */
  .qfilters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:13px}
  .qf{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);color:var(--muted);font-weight:600;font-size:12.5px;padding:7px 13px;border-radius:99px;cursor:pointer;transition:.15s}
  .qf b{background:var(--glass2);color:var(--txt);border-radius:99px;padding:1px 7px;font-size:11.5px}
  .qf:hover{border-color:var(--accent);color:var(--txt)}
  .qf.on{background:var(--accent);border-color:var(--accent);color:#fff}
  .qf.on b{background:rgba(0,0,0,.18);color:#fff}
  .datebar{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 11px}
  .datebar .qf{background:var(--glass2)}
  .dbrange{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}
  .dbrange input[type=date]{font-size:12px;padding:6px 8px;border-radius:8px}
  [data-theme="light"] .datebar input[type=date]{color-scheme:light}
  .dbcount{font-size:12px;color:var(--muted);font-weight:700;margin-left:auto}
  .gsbox{background:var(--glass2);border:1px solid var(--line);border-radius:13px;padding:14px;margin-bottom:12px}
  .gs-pill{font-size:11px;font-weight:800;padding:2px 9px;border-radius:99px;background:var(--glass2);color:var(--muted);border:1px solid var(--line)}
  .gs-pill.on{background:rgba(22,192,152,.16);color:#16a87f;border-color:transparent}
  .gsbox input[type=text]{font-size:13px}
  .gsbox button[disabled]{opacity:.45;cursor:default}
  .impdiv{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:11.5px;margin:4px 0 12px}
  .impdiv span{padding:0 10px}
  .impdiv::before,.impdiv::after{content:"";flex:1;height:1px;background:var(--line)}
  /* activity timeline */
  .actlist{margin-top:7px;border-left:2px solid var(--line);padding-left:13px;display:flex;flex-direction:column;gap:11px;max-height:170px;overflow-y:auto}
  .actrow{display:flex;gap:10px;align-items:flex-start;position:relative}
  .actdot{width:9px;height:9px;border-radius:50%;background:var(--accent);margin-left:-18px;margin-top:4px;flex:0 0 auto;box-shadow:0 0 0 3px var(--bg)}
  .acttxt{font-size:13px;color:var(--txt)}
  .actts{font-size:11px;color:var(--muted);margin-top:1px}
  /* callback scheduler */
  .cbquick{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
  .cbquick button{flex:1 1 calc(50% - 8px);background:var(--glass2);border:1px solid var(--line);color:var(--txt);font-weight:600;font-size:12.5px;padding:10px;border-radius:10px;cursor:pointer;transition:.15s}
  .cbquick button:hover{border-color:var(--accent);background:var(--card2)}
  input[type=datetime-local]{color-scheme:dark}
  [data-theme="light"] input[type=datetime-local]{color-scheme:light}
  /* calendar */
  .calbar{display:flex;align-items:center;gap:9px;margin-bottom:15px;flex-wrap:wrap}
  .calrange{font-size:14px;color:var(--muted);margin-left:6px}
  .calrange b{color:var(--txt)}
  .calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}
  .calcol{background:var(--card);border:1px solid var(--line);border-radius:13px;min-height:150px;display:flex;flex-direction:column;overflow:hidden}
  .caltoday{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
  .calhd{display:flex;align-items:center;gap:5px;padding:9px 11px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
  .calhd b{color:var(--txt);font-size:13px}
  .calhd i{margin-left:auto;background:var(--accent);color:#fff;font-style:normal;font-weight:800;font-size:11px;min-width:19px;text-align:center;border-radius:99px;padding:1px 6px}
  .calbody{padding:8px;display:flex;flex-direction:column;gap:6px;flex:1}
  .calchip{background:var(--glass2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:6px 8px;font-size:11.5px;cursor:pointer;line-height:1.35;transition:.12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .calchip:hover{background:var(--card2);transform:translateX(2px)}
  .calchip.od{border-left-color:#ef4444}
  .calchip b{color:var(--txt)}
  .calchip .lscore{font-size:10px;padding:0 4px}
  .calempty{color:var(--muted);font-size:13px;text-align:center;opacity:.35;margin:auto}
  @media(max-width:760px){.calgrid{grid-template-columns:1fr;gap:7px}.calcol{min-height:auto}.calbody{flex-direction:row;flex-wrap:wrap}.calchip{flex:1 1 auto;white-space:normal}.calempty{margin:6px auto}}
  /* smoothness polish */
  html{scroll-behavior:smooth}
  .btn:active,.btn-ghost:active,.qa:active,.qf:active,.ocbtn:active,.movebtn:active,.cbquick button:active,.theme-btn:active,.callbtn:active,.wabtn:active,.emailbtn:active,.sharebtn:active,.editbtn:active{transform:scale(.95)}
  .navitem,.subnav,.svc,.qa,.qf,.calchip,.stat{will-change:transform}
  .svc:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.28)}
  .stat:hover{transform:translateY(-2px)}
  @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
  /* white-label branding */
  .brand-img{height:30px;width:30px;object-fit:contain;border-radius:8px;background:#fff;padding:2px;vertical-align:middle;flex-shrink:0}
  .lbrand .brand-img{height:34px;width:34px}
  .ltag{text-align:center;color:var(--muted);font-size:13px;margin:-6px 0 16px;font-weight:600}
  .setwrap{max-width:760px}
  .setrow{display:flex;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);align-items:flex-start}
  .setrow:last-child{border-bottom:none}
  .setlabel{width:140px;flex-shrink:0;font-size:13.5px;font-weight:700;padding-top:10px;color:var(--txt)}
  .setfield{flex:1;min-width:0}
  .setfield input[type=text]{width:100%;max-width:360px;background:var(--glass);border:1px solid var(--line);border-radius:10px;padding:11px 13px;color:var(--txt);font-size:14px;font-family:inherit;transition:.15s}
  .setfield input[type=text]:focus{outline:none;border-color:var(--accent)}
  .setfield input[type=color]{width:56px;height:42px;padding:3px;background:var(--glass);border:1px solid var(--line);border-radius:10px;cursor:pointer}
  .logo-prev{width:96px;height:96px;border:1px dashed var(--line);border-radius:16px;display:grid;place-items:center;margin-bottom:11px;background:var(--glass);overflow:hidden}
  .logo-prev img{max-width:84px;max-height:84px;object-fit:contain}
  .logo-prev span{color:var(--muted);font-size:12px}
  .swatches{display:flex;gap:7px;flex-wrap:wrap}
  .sw-dot{width:28px;height:28px;border-radius:8px;border:2px solid rgba(255,255,255,.22);cursor:pointer;transition:transform .12s}
  .sw-dot:hover{transform:scale(1.12)}
  .sw-dot.on{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--accent)}
  /* ===== profile / security ===== */
  .pfgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
  @media(max-width:760px){.pfgrid{grid-template-columns:1fr}}
  .pfcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px}
  .pfcard h2{font-size:16px;margin-bottom:6px}
  .pf-av{width:74px;height:74px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font-weight:800;color:#fff;font-size:25px;overflow:hidden;flex-shrink:0}
  .pf-av img{width:100%;height:100%;object-fit:cover}
  .pf-av-row{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
  .pffld{margin-bottom:13px}
  .pffld label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}
  .pffld input{width:100%}
  .pfkv{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
  .pfkv:last-child{border-bottom:0}
  .pill2{font-size:11px;font-weight:800;letter-spacing:.5px;padding:3px 10px;border-radius:999px}
  .pill2.on{background:rgba(22,192,152,.16);color:#16a87f}.pill2.off{background:var(--glass2);color:var(--muted)}
  .chip2{border:1px solid var(--line);background:var(--glass2);color:var(--txt);font-size:13px;font-weight:600;padding:8px 14px;border-radius:10px;cursor:pointer}
  .chip2.on{border-color:var(--accent);background:rgba(123,97,255,.14);color:var(--accent)}
  .ntf{display:flex;justify-content:space-between;align-items:center;padding:9px 2px;border-bottom:1px solid var(--line);font-size:14px;cursor:pointer}
  .ntf:last-child{border-bottom:0}.ntf input{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}
  .ntf-div{margin:12px 0 2px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
  .pf-revoke{border:1px solid rgba(239,68,68,.4);background:var(--glass2);color:#e0607a;font-size:12px;font-weight:600;padding:6px 11px;border-radius:8px;cursor:pointer}
  .pf-revoke:hover{background:rgba(239,68,68,.12)}
  .who{cursor:pointer}
  /* ===== motion graphics toolkit ===== */
  @media (prefers-reduced-motion: reduce){*{animation:none!important}}
  .vhero{width:46px;height:46px;border-radius:14px;background:var(--grad);background-size:180% 180%;display:grid;place-items:center;font-size:23px;flex-shrink:0;box-shadow:0 8px 22px rgba(123,97,255,.30);position:relative;overflow:hidden;animation:vheroShift 6s ease infinite}
  .vhero>span{position:relative;z-index:1;display:block;animation:vheroPop .45s cubic-bezier(.2,1.5,.4,1)}
  .vhero::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.4) 50%,transparent 65%);transform:translateX(-130%);animation:vheroSheen 5s ease-in-out infinite}
  @keyframes vheroShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
  @keyframes vheroSheen{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
  @keyframes vheroPop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
  @media(max-width:680px){.vhero{width:40px;height:40px;font-size:20px}}
  .emptyx{text-align:center;padding:42px 20px;display:flex;flex-direction:column;align-items:center;animation:fadeUp .4s ease both}
  .emptyx-art{position:relative;width:150px;height:118px;margin-bottom:8px}
  .emptyx-art svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
  .emptyx-emoji{position:absolute;inset:0;display:grid;place-items:center;font-size:46px;animation:floaty 3.2s ease-in-out infinite}
  @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
  .ex-ring{fill:none;stroke:var(--accent);stroke-width:2;transform-origin:75px 60px;animation:ringPulse 2.6s ease-out infinite}
  .ex-ring.r2{animation-delay:.85s}.ex-ring.r3{animation-delay:1.7s}
  @keyframes ringPulse{0%{transform:scale(.35);opacity:.4}70%{opacity:.05}100%{transform:scale(1.2);opacity:0}}
  .ex-dot{fill:var(--accent2);animation:floaty 4s ease-in-out infinite}
  .emptyx-t{font-weight:800;font-size:16px;margin-top:4px}
  .emptyx-s{color:var(--muted);font-size:13.5px;max-width:350px;margin-top:5px;line-height:1.5}
  .emptyx .ecta,.emptyx-cta{margin-top:14px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
  .av-ini{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;font-weight:800;font-size:13px;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.18);letter-spacing:.3px}
  .av-ini.lg{width:46px;height:46px;font-size:16px}.av-ini.sm{width:26px;height:26px;font-size:10.5px}
  .medal{font-size:22px;display:inline-block;animation:floaty 3s ease-in-out infinite;filter:drop-shadow(0 3px 4px rgba(0,0,0,.18))}
  .medal.m2{animation-delay:.3s}.medal.m3{animation-delay:.6s}
  .rankn{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--glass2);color:var(--muted);font-weight:800;font-size:12px}
  .funnel{display:flex;flex-direction:column;gap:9px}
  .fnl-row{display:flex;align-items:center;gap:12px}
  .fnl-lab{width:120px;font-size:13px;color:var(--muted);flex-shrink:0;text-align:right;font-weight:600}
  .fnl-track{flex:1;height:30px;background:var(--glass2);border-radius:9px;overflow:hidden}
  .fnl-bar{height:100%;border-radius:9px;background:var(--grad);display:flex;align-items:center;justify-content:flex-end;padding-right:10px;color:#fff;font-weight:800;font-size:12.5px;width:0;animation:fnlGrow 1s cubic-bezier(.2,.8,.2,1) forwards}
  @keyframes fnlGrow{from{width:0}}
  .gdonut .seg{transform-origin:center;animation:donutDraw 1.1s ease forwards}
  @keyframes donutDraw{from{stroke-dasharray:0 999}}
  .spark-poly{animation:sparkDraw 1.1s ease forwards}
  @keyframes sparkDraw{from{stroke-dashoffset:var(--len,300)}to{stroke-dashoffset:0}}
  .countup{display:inline-block}
  .dns-box{margin-top:16px;background:var(--glass);border:1px solid var(--line);border-radius:13px;padding:18px}
  .dns-box h3{font-size:14.5px;margin-bottom:11px}
  .dns-box ol{margin:0 0 10px 18px;line-height:2;font-size:13.5px;color:var(--txt)}
  .dns-box code{background:var(--card2);border:1px solid var(--line);padding:2px 8px;border-radius:6px;font-size:12.5px;color:var(--accent2)}
  @media(max-width:680px){.setrow{flex-direction:column;gap:8px}.setlabel{width:auto;padding-top:0}}
  /* tags */
  .tagrow{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}
  .ltagchip{font-size:10.5px;font-weight:700;background:rgba(139,92,246,.16);border:1px solid rgba(139,92,246,.34);color:#c4b1f7;border-radius:99px;padding:2px 8px;white-space:nowrap}
  [data-theme="light"] .ltagchip{background:rgba(139,92,246,.12);color:#6d3bd1}
  /* import / dupes */
  #impText{width:100%;background:var(--glass);border:1px solid var(--line);border-radius:10px;color:var(--txt);padding:10px}
  .imp-prev{font-size:13.5px;color:var(--txt)}
  .imp-sample{margin-top:8px;font-size:12.5px;color:var(--muted);line-height:1.7}
  .dupgrp{border:1px solid var(--line);border-radius:12px;margin-bottom:11px;overflow:hidden}
  .duphd{background:var(--glass2);padding:9px 13px;font-weight:700;font-size:13px}
  .duprow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border-top:1px solid var(--line)}
  .duprow .sub{font-size:11.5px}
  /* automation */
  .auto-row{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer}
  .auto-row:last-of-type{border-bottom:none}
  .auto-row input[type=checkbox]{width:auto;margin-top:3px}
  .auto-row input[type=number]{background:var(--glass);border:1px solid var(--line);border-radius:9px;color:var(--txt);padding:9px;font-size:14px}
  /* analytics date report */
  .anr-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
  .anr-inputs{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
  .anr-inputs input[type=date]{background:var(--glass);border:1px solid var(--line);border-radius:9px;color:var(--txt);padding:8px 10px;font-size:13px;color-scheme:dark}
  [data-theme="light"] .anr-inputs input[type=date]{color-scheme:light}
  .anr-top{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:10px}
  .anr-stat b{font-size:24px;font-weight:800;display:block;line-height:1.1}
  .anr-stat span{font-size:12px;color:var(--muted)}
  .anr-srcs{border-top:1px solid var(--line);padding-top:10px}
  .anr-row{display:flex;justify-content:space-between;padding:5px 0;font-size:13.5px;border-bottom:1px solid var(--line)}
  .anr-row:last-child{border-bottom:none}
  /* properties / inventory */
  .prop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
  .prop-card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:16px;display:flex;flex-direction:column;transition:.18s}
  .prop-card:hover{transform:translateY(-2px);border-color:var(--accent)}
  .pc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
  .pc-name{font-weight:800;font-size:15px}
  .pc-sub{font-size:12px;color:var(--muted);margin-top:3px}
  .pc-stat{font-size:10.5px;font-weight:700;background:var(--glass2);border:1px solid var(--line);border-radius:99px;padding:3px 9px;white-space:nowrap;color:var(--accent2)}
  .pc-meta{font-size:12.5px;color:var(--muted);margin-top:10px}
  .pc-price{font-size:17px;font-weight:800;margin-top:7px}
  .pc-notes{font-size:12.5px;color:var(--muted);margin-top:8px}
  .pc-acts{display:flex;gap:7px;margin-top:13px}
  .pc-acts .rowbtn.danger{color:#f59b9b;border-color:rgba(239,68,68,.4)}
  .propchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
  .propchip{font-size:11.5px;font-weight:600;background:var(--glass2);border:1px solid var(--line);color:var(--txt);border-radius:9px;padding:6px 11px;cursor:pointer;transition:.13s}
  .propchip:hover{border-color:var(--accent)}
  .propchip.on{background:rgba(34,211,238,.16);border-color:var(--accent2);color:var(--accent2)}
  .propchip.mini{padding:2px 8px;font-size:10.5px;cursor:default;background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.3);color:var(--accent2)}
  /* site visit feedback */
  .vsfb-row{display:flex;gap:8px;flex-wrap:wrap}
  .vsfb{flex:1 1 auto;background:var(--glass2);border:1px solid var(--line);color:var(--txt);font-weight:600;font-size:12.5px;padding:10px;border-radius:10px;cursor:pointer;transition:.13s}
  .vsfb.on{background:var(--accent);border-color:var(--accent);color:#fff}
  .vs-list{margin-top:7px;display:flex;flex-direction:column;gap:7px;max-height:140px;overflow:auto}
  .vs-item{background:var(--glass);border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:12.5px}
  input[type=date]{color-scheme:dark}
  [data-theme="light"] input[type=date]{color-scheme:light}
  .bc-banner{display:none;position:fixed;top:0;left:0;right:0;z-index:300;background:var(--grad);color:#fff;font-weight:700;font-size:13.5px;padding:9px 16px;align-items:center;justify-content:center;gap:12px;text-align:center}
  .bc-banner button{background:rgba(0,0,0,.18);border:none;color:#fff;font-weight:800;border-radius:6px;min-width:22px;height:22px;padding:0 8px;cursor:pointer;flex-shrink:0}
  .imp-banner{background:linear-gradient(135deg,#f5b544,#ef7e44)!important;z-index:301}
  .chat-attach{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--glass2);cursor:pointer;font-size:17px;flex-shrink:0}
  .chat-attach:hover{border-color:var(--accent)}
  .chat-img{max-width:200px;max-height:210px;border-radius:9px;margin-top:6px;display:block}
  .chat-vid{max-width:250px;border-radius:9px;margin-top:6px;display:block}
  .chat-file{display:inline-block;margin-top:6px;background:var(--glass2);border:1px solid var(--line);border-radius:8px;padding:7px 11px;color:var(--txt);text-decoration:none;font-size:13px}
  .sup-pending{font-size:12px;color:var(--muted);padding:0 4px 6px}.sup-pending button{background:none;border:none;color:#f59b9b;cursor:pointer;font-weight:700;font-size:12px}
  /* focus / power-call mode */
  .focus-wrap{max-width:560px;margin:0 auto}
  .focus-prog{margin-bottom:16px}
  .fp-bar{height:7px;background:var(--glass2);border-radius:99px;overflow:hidden}
  .fp-fill{height:100%;background:var(--grad);border-radius:99px;transition:width .4s ease}
  .fp-txt{text-align:center;font-size:12.5px;color:var(--muted);margin-top:7px;font-weight:600}
  .focus-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 14px 40px rgba(0,0,0,.22)}
  .fc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
  .fc-name{font-size:19px;font-weight:800}
  .fc-meta{font-size:13px;color:var(--muted);margin-top:5px}
  .fc-notes{background:var(--glass);border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:13.5px;margin-top:12px;color:var(--txt)}
  .fc-call{display:flex;align-items:center;justify-content:center;gap:9px;background:var(--grad);color:#fff;font-weight:800;font-size:16px;padding:15px;border-radius:13px;text-decoration:none;margin:16px 0 12px}
  .fc-call:active{transform:scale(.98)}
  .fc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .fc-actions .ocbtn{padding:11px;font-size:13px}
  .fc-snips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px}
  .snip{font-size:11.5px;font-weight:600;background:var(--glass2);border:1px solid var(--line);color:var(--txt);border-radius:99px;padding:5px 11px;cursor:pointer;transition:.13s}
  .snip:hover{border-color:var(--accent);background:var(--card2)}
  .focus-nav{display:flex;justify-content:space-between;gap:8px;margin-top:14px}
  .focus-nav .btn[disabled]{opacity:.4;pointer-events:none}
  .snip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
  /* command palette */
  .cmd-overlay{align-items:flex-start}
  .cmd-box{background:var(--card2);border:1px solid var(--line);border-radius:16px;width:100%;max-width:560px;margin-top:11vh;box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden;animation:pop .15s ease}
  #cmdInput{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);color:var(--txt);font-size:16px;padding:17px 19px;outline:none}
  .cmd-results{max-height:50vh;overflow-y:auto;padding:7px}
  .cmd-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-radius:10px;cursor:pointer;font-size:14px}
  .cmd-item.sel,.cmd-item:hover{background:var(--accent);color:#fff}
  .cmd-kind{font-size:10.5px;font-weight:700;opacity:.6;text-transform:uppercase}
  .cmd-empty{padding:18px;text-align:center;color:var(--muted);font-size:13.5px}
  .cmd-foot{border-top:1px solid var(--line);padding:9px 14px;font-size:11.5px;color:var(--muted)}
  /* bulk select */
  .lsel{width:17px;height:17px;flex-shrink:0;margin-right:8px;cursor:pointer;accent-color:var(--accent)}
  .bulkbar{display:none}
  .bulkbar.show{display:flex;flex-wrap:wrap;align-items:center;gap:9px;background:var(--card2);border:1px solid var(--accent);border-radius:12px;padding:11px 14px;margin-bottom:13px;position:sticky;top:8px;z-index:30;box-shadow:0 8px 24px rgba(0,0,0,.25)}
  .bulkbar b{font-size:13.5px;margin-right:4px}
  .bulkbar select,.bulkbar input{background:var(--glass);border:1px solid var(--line);border-radius:8px;color:var(--txt);padding:7px 9px;font-size:12.5px}
  .bulkbar .btn{padding:7px 12px;font-size:12.5px}
  .bulkbar .bulk-del{color:#f59b9b;border-color:rgba(239,68,68,.4)}
  .nav-badge.badge-od{background:#ef4444;color:#fff}
  .empty-cta .ecta{display:flex;gap:10px;justify-content:center;margin-top:14px;flex-wrap:wrap}
  /* onboarding checklist */
  .gs-card{background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(34,211,238,.08));border:1px solid rgba(16,185,129,.3);border-radius:14px;padding:15px 17px;margin-bottom:16px;animation:fadeUp .4s ease both}
  .gs-head{display:flex;justify-content:space-between;align-items:center;font-size:14.5px;margin-bottom:11px}
  .gs-steps{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  @media(max-width:620px){.gs-steps{grid-template-columns:1fr}}
  .gs-step{display:flex;align-items:center;gap:9px;background:var(--glass);border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:13.5px;font-weight:600;cursor:pointer;transition:.15s}
  .gs-step:hover{border-color:var(--accent);transform:translateX(2px)}
  .gs-step.done{opacity:.65}
  .gs-step.done .gs-ck{color:var(--green,#10b981)}
  .gs-ck{font-weight:800;color:var(--muted)}
  /* print */
  @media print{
    aside,header,.hamb,#vControls,.nav-backdrop,.toast,.chatnotif{display:none!important}
    main{display:block!important;width:100%!important}
    body,#app{background:#fff!important}
    .panel,.stat{break-inside:avoid}
    *{color:#000!important;box-shadow:none!important}
  }
  /* ================= Enterprise UI refinement layer (design tokens · type · motion · a11y) ================= */
  :root{--ease:cubic-bezier(.4,0,.2,1);--shadow-1:0 1px 2px rgba(8,12,24,.22);--shadow-2:0 4px 14px rgba(8,12,24,.30);--shadow-3:0 12px 32px rgba(8,12,24,.42);--ring:0 0 0 3px rgba(59,84,212,.38);--muted:#a7b3cd}
  [data-theme="light"]{--shadow-1:0 1px 2px rgba(20,30,60,.06);--shadow-2:0 6px 18px rgba(20,30,60,.09);--shadow-3:0 16px 40px rgba(20,30,60,.13)}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;text-rendering:optimizeLegibility}
  /* aligned tabular numerals wherever numbers matter (counts, money, scores) */
  .n,.kcnt,.kct,.chip b,.qf b,.kd b,.kstat-v,.stat b,.lnum,.plan-price,.anr-stat b,.lscore,.badge,.lb .stat b,.rank,.kstat-v{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
  /* one consistent easing curve on interactive elements (durations unchanged) */
  button,.btn,.navitem,.subnav,.chip,.qf,.kcard,.lrow,.stat,.svc,.panel,.kd,.movebtn,.ocbtn,.theme-btn,.sw,input,select,textarea{transition-timing-function:var(--ease)!important}
  /* elevation system + subtle hover lift */
  .stat,.svc,.wpanel,.plan-card{box-shadow:var(--shadow-1)}
  .kcard:hover,.svc:hover,.stat:hover,.btn:hover{box-shadow:var(--shadow-2)}
  /* accessible, consistent focus rings (WCAG) */
  :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  button:focus-visible,.btn:focus-visible,.navitem:focus-visible,.chip:focus-visible{outline:none;box-shadow:var(--ring)}
  input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring)}
  /* refined thin scrollbars + selection */
  *{scrollbar-width:thin;scrollbar-color:var(--glass-hover) transparent}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-thumb{background:var(--glass-hover);border-radius:20px;border:2px solid transparent;background-clip:content-box}
  ::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:content-box}
  ::selection{background:rgba(59,84,212,.30)}
  /* skeleton loader utility for perceived speed */
  .skeleton{position:relative;overflow:hidden;background:var(--glass2);border-radius:8px}
  .skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--glass-hover),transparent);animation:ohm-shimmer 1.3s infinite}
  @keyframes ohm-shimmer{100%{transform:translateX(100%)}}
  /* honour reduced-motion for accessibility */
  @media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
  /* compact density mode — more rows per screen for power users */
  html[data-density="compact"] body{font-size:13.5px}
  html[data-density="compact"] .stat{padding:12px 13px}
  html[data-density="compact"] .kcard{padding:8px 10px;margin-bottom:6px}
  html[data-density="compact"] .kc-head{gap:7px}
  html[data-density="compact"] .navitem{padding:7px 12px}
  html[data-density="compact"] .lrow{padding:8px 10px;margin-bottom:5px}
  html[data-density="compact"] .panel{padding:15px!important}
  html[data-density="compact"] .kstat{padding:9px 11px}
  html[data-density="compact"] .chip{padding:5px 9px}
  html[data-density="compact"] .sec-title{margin:12px 0 8px}
  html[data-density="compact"] .kstrip{gap:8px}
  /* enterprise data tables — zebra rows, hover, uppercase headers, sticky header when scrolled */
  .panel table thead th,.wpanel table thead th{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700;color:var(--muted);position:sticky;top:0;background:var(--card);z-index:1;white-space:nowrap;cursor:pointer;user-select:none}
  .panel table thead th[data-sort="asc"]::after{content:" ▲";font-size:8px;opacity:.75}
  .panel table thead th[data-sort="desc"]::after{content:" ▼";font-size:8px;opacity:.75}
  .wpanel table thead th[data-sort="asc"]::after{content:" ▲";font-size:8px;opacity:.75}
  .wpanel table thead th[data-sort="desc"]::after{content:" ▼";font-size:8px;opacity:.75}
  .panel table tbody tr,.wpanel table tbody tr{transition:background .14s var(--ease)}
  .panel table tbody tr:nth-child(even),.wpanel table tbody tr:nth-child(even){background:var(--glass)}
  .panel table tbody tr:hover,.wpanel table tbody tr:hover{background:var(--glass2)}
  .panel table td,.wpanel table td{font-variant-numeric:tabular-nums}
  /* mobile bottom tab bar — thumb-friendly nav for the most-used views */
  @media(max-width:768px){
    main{padding-bottom:74px}
    .mtab{flex:1;background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);font-size:10px;font-weight:600;padding:3px 2px;cursor:pointer;min-width:0;transition:color .15s var(--ease)}
    .mtab svg{width:21px;height:21px}
    .mtab.on{color:var(--accent)}
    .kfab{bottom:82px!important}
  }
  /* installable PWA prompt */
  .ohm-install{position:fixed;left:12px;right:12px;bottom:12px;z-index:120;display:flex;align-items:center;gap:12px;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow-3);animation:oi-in .3s var(--ease)}
  @media(max-width:768px){.ohm-install{bottom:86px}}
  .ohm-install .oi-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
  .ohm-install .oi-txt b{font-size:14px}
  .ohm-install .oi-txt span{font-size:12px;color:var(--muted)}
  .ohm-install .oi-act{display:flex;align-items:center;gap:8px;flex-shrink:0}
  .ohm-install .oi-x{background:none;border:0;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}
  @keyframes oi-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  /* deal-close celebration */
  .ohm-celebrate{position:fixed;inset:0;z-index:400;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 38%,rgba(16,185,129,.20),rgba(8,12,24,.74));backdrop-filter:blur(3px);animation:oc-fade .3s var(--ease)}
  .ohm-celebrate .oc-emoji{font-size:64px;animation:oc-pop .55s cubic-bezier(.2,1.4,.4,1)}
  .ohm-celebrate .oc-t{font-size:26px;font-weight:800;margin-top:6px;color:#fff;letter-spacing:-.02em}
  .ohm-celebrate .oc-amt{font-size:42px;font-weight:800;background:linear-gradient(90deg,#34d399,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent;margin-top:2px;font-variant-numeric:tabular-nums}
  .ohm-celebrate .oc-sub{color:#cbd5e1;font-size:14px;margin-top:6px;padding:0 24px}
  .oc-confetti{position:fixed;top:-14px;width:9px;height:14px;border-radius:2px;z-index:401;pointer-events:none;animation:oc-fall linear forwards}
  @keyframes oc-fall{to{transform:translateY(106vh) rotate(720deg);opacity:.85}}
  @keyframes oc-pop{from{transform:scale(0)}to{transform:scale(1)}}
  @keyframes oc-fade{from{opacity:0}to{opacity:1}}
  /* swipe call deck hint (Focus) */
  .fc-swipe-hint{display:none;text-align:center;font-size:11.5px;color:var(--muted);margin-top:12px;letter-spacing:.02em}
  @media(max-width:768px){.fc-swipe-hint{display:block}.focus-card{touch-action:pan-y;will-change:transform}}
  /* mobile bottom action sheet */
  .sheet-wrap{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;display:flex;align-items:flex-end}
  .sheet-wrap.show{opacity:1;visibility:visible}
  .sheet{width:100%;background:var(--card);border-radius:22px 22px 0 0;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 40px rgba(0,0,0,.4);transform:translateY(100%);transition:transform .28s cubic-bezier(.2,.9,.3,1.1)}
  .sheet-wrap.show .sheet{transform:none}
  .sheet-grab{width:40px;height:4px;border-radius:4px;background:var(--line);margin:8px auto 12px}
  .sheet-nm{font-size:18px;font-weight:800}
  .sheet-sub{font-size:12.5px;color:var(--muted);margin:2px 0 12px}
  .sheet-actions{display:flex;flex-direction:column;gap:8px}
  .sheet-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--glass);color:var(--txt);font-weight:700;font-size:15px;cursor:pointer;text-align:left}
  .sheet-btn:active{transform:scale(.98)}
  .sheet-btn.primary{background:var(--accent);color:#fff;border-color:transparent}
  .sheet-btn.wa{background:#25d366;color:#fff;border-color:transparent}
  .sheet-cancel{width:100%;margin-top:10px;padding:14px;border-radius:14px;border:0;background:var(--glass2);color:var(--muted);font-weight:700;font-size:15px;cursor:pointer}
  /* pull-to-refresh */
  .ptr{position:fixed;top:0;left:0;right:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:9px;height:0;opacity:0;overflow:hidden;z-index:70;pointer-events:none;transition:height .2s ease,opacity .2s ease}
  .ptr .ptr-spin{width:24px;height:24px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%}
  .ptr.spin .ptr-spin{animation:ptr-rot .7s linear infinite}
  @keyframes ptr-rot{to{transform:rotate(360deg)}}
  /* mobile CRM toolbar declutter — collapse tools behind Options */
  .crm-more{display:contents}
  .crm-opt{display:none}
  @media(max-width:768px){
    #vControls{gap:8px;width:100%;flex-wrap:wrap}
    #vControls #search{flex:1 1 150px;width:auto!important;min-width:130px}
    .crm-opt{display:inline-flex}
    .addlead-btn{display:none}
    .crm-more{display:none}
    .crm-more.open{display:flex;flex-direction:column;gap:9px;width:100%;margin-top:8px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-2);animation:oi-in .22s var(--ease)}
    .crm-more.open>*{width:100%!important;max-width:none!important;justify-content:flex-start}
    .crm-more.open select{padding:12px 13px}
  }
  /* WhatsApp templates + offline banner */
  .sheet-tpls{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
  .tpl-chip{border:1px solid var(--line);background:var(--glass);color:var(--txt);border-radius:20px;padding:9px 13px;font-weight:700;font-size:13px;cursor:pointer}
  .tpl-chip:active{transform:scale(.96)}
  .off-banner{position:fixed;left:0;right:0;bottom:0;z-index:150;background:#b45309;color:#fff;text-align:center;font-size:12.5px;font-weight:700;padding:9px 12px}
  @media(max-width:768px){.off-banner{bottom:64px}}
  /* quick lead switcher */
  .sw-ov{position:fixed;inset:0;z-index:220;background:rgba(0,0,0,.55);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;opacity:0;visibility:hidden;transition:opacity .2s}
  .sw-ov.show{opacity:1;visibility:visible}
  .sw-box{width:92%;max-width:520px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-3);overflow:hidden}
  .sw-box #swInp{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--txt);padding:15px 16px;font-size:15px;outline:none}
  .sw-list{max-height:52vh;overflow:auto}
  .sw-item{padding:11px 16px;border-bottom:1px solid var(--line);cursor:pointer;display:flex;flex-direction:column;gap:2px}
  .sw-item:hover{background:var(--glass)}
  .sw-item b{font-size:14px}.sw-item .sub{font-size:12px}
  .sw-empty{padding:16px;text-align:center}
  /* card hover polish (desktop) */
  .stat{transition:transform .18s var(--ease),box-shadow .2s var(--ease)}
  .stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
  .panel,.wpanel{transition:box-shadow .2s var(--ease)}
  .panel:hover,.wpanel:hover{box-shadow:var(--shadow-2)}
  .svc{transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
  .svc:hover{transform:translateY(-3px);box-shadow:var(--shadow-3)}
  /* profile page */
  .pf-wrap{max-width:820px}
  .pf-hero{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:18px;padding:18px;margin-bottom:18px;color:#fff;box-shadow:var(--shadow-2)}
  .pf-hero .pf-av,.pf-hero .av-ini{width:56px;height:56px;font-size:20px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:rgba(255,255,255,.2);font-weight:800}
  .pf-nm{font-size:20px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pf-role{font-size:13px;opacity:.9}
  .pfgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
  .pfcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow-1)}
  .pfcard h2{font-size:15px;margin-bottom:12px}
  .pf-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
  .pf-row:last-child{border-bottom:0}
  .pf-row span{color:var(--muted)}
  .pf-lbl{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:7px}
  .pf-segwrap{display:inline-flex;border:1px solid var(--line);border-radius:11px;overflow:hidden}
  .pf-seg{padding:9px 16px;border:0;background:transparent;color:var(--txt);font-weight:700;font-size:13px;cursor:pointer}
  .pf-seg.on{background:var(--accent);color:#fff}
  .pf-stats{display:flex;gap:18px}
  .pf-stats div{display:flex;flex-direction:column}
  .pf-stats b{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
  .pf-stats span{font-size:11.5px;color:var(--muted)}
  @media(max-width:768px){.pfgrid{grid-template-columns:1fr}}
  /* My Day agenda timeline */
  .day-tl{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:4px;margin-bottom:18px;box-shadow:var(--shadow-1)}
  .day-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}
  .day-row:last-child{border-bottom:0}
  .day-time{width:52px;flex:0 0 auto;font-size:12.5px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
  .day-od{color:var(--red);margin-left:3px;font-weight:800}
  .day-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
  .day-info{flex:1;min-width:0}
  .day-nm{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .day-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .day-call{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:0;background:var(--accent);color:#fff;display:grid;place-items:center;cursor:pointer}
  .day-call:active{transform:scale(.94)}
  /* targets, streaks & badges */
  .streak-card{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:18px;box-shadow:var(--shadow-1)}
  .ring-wrap{position:relative;flex:0 0 auto}
  .ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
  .ring-txt b{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
  .ring-txt span{font-size:11px;color:var(--muted)}
  .streak-mid{min-width:0}
  .streak-title{font-weight:700;font-size:14px;display:flex;align-items:center;gap:6px}
  .mini-edit{background:none;border:0;color:var(--muted);cursor:pointer;font-size:13px}
  .streak-flame{font-size:13px;color:var(--gold);font-weight:700;margin:3px 0 7px}
  .badge-row{display:flex;flex-wrap:wrap;gap:6px}
  .badge-chip{font-size:11px;font-weight:700;background:var(--glass2);border:1px solid var(--line);border-radius:20px;padding:3px 9px;white-space:nowrap}
  /* money-first closer hero (dashboard) */
  .closer-hero{background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:20px;padding:18px;margin-bottom:18px;color:#fff;box-shadow:var(--shadow-3)}
  .ch-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
  .ch-kpi{display:flex;flex-direction:column;gap:2px;min-width:0}
  .ch-k-v{font-size:20px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
  .ch-k-l{font-size:11px;opacity:.85}
  .ch-nb{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:14px}
  .ch-nb-empty{text-align:center;font-weight:600}
  .ch-nb-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
  .ch-nb-lab{font-size:12px;font-weight:700;opacity:.95}
  .ch-nb-score{font-size:12px;font-weight:800;background:rgba(0,0,0,.22);padding:3px 9px;border-radius:20px}
  .ch-nb-name{font-size:18px;font-weight:800;letter-spacing:-.01em}
  .ch-nb-meta{font-size:12.5px;opacity:.9;margin-bottom:12px}
  .ch-nb-act{display:flex;gap:10px}
  .ch-call,.ch-wa{flex:1;border:0;border-radius:12px;padding:12px;font-weight:800;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:transform .12s var(--ease)}
  .ch-call{background:#fff;color:var(--accent)}
  .ch-wa{background:#25d366;color:#fff}
  .ch-call:active,.ch-wa:active{transform:scale(.97)}
  @media(max-width:520px){.ch-kpis{grid-template-columns:repeat(2,1fr)}.ch-k-v{font-size:19px}}
  /* ============ Premium mobile skin (phones only) ============ */
  @media(max-width:768px){
    .topbar{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 12%,var(--card)),transparent);border-radius:0 0 20px 20px;padding:12px 14px 14px;margin:-4px -4px 6px}
    #vTitle{font-size:22px;letter-spacing:-.02em}
    .vhero{box-shadow:0 6px 18px rgba(59,84,212,.35)}
    .stat{border-radius:18px;box-shadow:var(--shadow-2);border:1px solid var(--line)}
    .stat .n{font-size:27px;letter-spacing:-.02em}
    .kstat{border-radius:14px}.kstat-v{font-size:22px}
    .panel,.wpanel,.plan-card{border-radius:18px}
    .kcard{border-radius:16px;box-shadow:var(--shadow-2);transition:transform .12s var(--ease),box-shadow .2s var(--ease)}
    .kcard:active{transform:scale(.975)}
    .btn{border-radius:13px}
    .btn:active{transform:scale(.96)}
    .addlead-btn{box-shadow:0 6px 18px rgba(59,84,212,.42)}
    .kfab{box-shadow:0 12px 28px rgba(59,84,212,.5)}
    .navitem,.subnav{border-radius:12px}
    .chip,.qf{border-radius:22px}
    .ocbtn,.movebtn{border-radius:11px}
    .ocbtn:active,.movebtn:active,.mtab:active{transform:scale(.94)}
    .mtab.on svg{transform:scale(1.14);transition:transform .2s var(--ease)}
    .lscore,.kc-stat{border-radius:20px}
  }

/* ===== premium-minimal motion & performance polish (v15) ===== */
:root{--ease-out:cubic-bezier(.22,.61,.36,1);--ease-soft:cubic-bezier(.4,0,.2,1);--m-fast:.12s;--m-med:.2s}
/* snappier, subtler view entrance */
.anim{animation:fadeUp .3s var(--ease-out) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
/* buttons: tactile press + smooth surface */
.btn,.addlead-btn,.theme-btn,.qa,.svc,.chip,.qf,.pf-seg,.navitem,.pres-toggle{transition:transform var(--m-fast) var(--ease-out),background var(--m-med) var(--ease-soft),color var(--m-med) var(--ease-soft),box-shadow var(--m-med) var(--ease-soft),border-color var(--m-med) var(--ease-soft)}
.btn:active,.addlead-btn:active,.theme-btn:active,.qa:active,.svc:active,.chip:active,.pf-seg:active,.navitem:active{transform:translateY(.5px) scale(.978)}
.btn:hover{box-shadow:0 4px 14px rgba(16,24,40,.10)}
/* cards: soft hover lift */
.panel,.pfcard,.lcard,.kcard,.qa,.svc{transition:transform var(--m-med) var(--ease-out),box-shadow var(--m-med) var(--ease-out),border-color var(--m-med) var(--ease-soft)}
.qa:hover,.svc:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(16,24,40,.10)}
/* inputs: gentle focus feedback */
input,select,textarea{transition:border-color var(--m-med) var(--ease-soft),box-shadow var(--m-med) var(--ease-soft),background var(--m-med) var(--ease-soft)}
/* honour reduced motion globally */
@media (prefers-reduced-motion: reduce){.anim{animation:none}.qa:hover,.svc:hover{transform:none}*{transition-duration:.001ms !important;animation-duration:.001ms !important}}

/* ===== shared-element modal: grows from where you tapped (v15) ===== */
.overlay.show{animation:ovIn .2s var(--ease-soft) both}
@keyframes ovIn{from{opacity:0}to{opacity:1}}
.modal{transform-origin:var(--pop-ox,50%) var(--pop-oy,50%);animation:popIn .24s var(--ease-out) both !important}
@keyframes popIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.overlay.show,.modal{animation:none !important}}

/* ===== Focus-mode WhatsApp quick-send + template editors (v16) ===== */
.fc-tpls{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.wtpl-btn{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:8px 12px;font-size:12.5px;font-weight:600;cursor:pointer;transition:transform .12s var(--ease-out),background .18s,border-color .18s}
.wtpl-btn:hover{border-color:var(--accent);background:var(--card2)}
.wtpl-btn:active{transform:scale(.97)}
.wt-wrap{display:grid;gap:11px;margin-top:8px}
.wt-ed{display:grid;gap:6px}
.wt-ed input,.wt-ed textarea{width:100%}
.wt-ed textarea{resize:vertical;min-height:52px}
.wt-help{font-size:12px;color:var(--muted);line-height:1.9}
.wt-help code{background:var(--card2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:11px}
.wt-act{display:flex;gap:8px;margin-top:2px}

.ar-acts{display:flex;gap:6px;flex:0 0 auto}
.cold-badge{background:#fee2e2;color:#b91c1c;border-radius:6px;padding:1px 7px;font-size:10.5px;font-weight:700;margin-left:5px;white-space:nowrap}
[data-theme="dark"] .cold-badge,[data-theme="oled"] .cold-badge{background:rgba(239,68,68,.18);color:#fca5a5}

/* ===== accessibility polish (v17) ===== */
.skip-link{position:fixed;top:-60px;left:12px;z-index:100000;background:var(--accent);color:#fff;padding:10px 16px;border-radius:0 0 10px 10px;font-weight:700;font-size:13px;text-decoration:none;transition:top .18s var(--ease-out,ease)}
.skip-link:focus{top:0;outline:2px solid #fff;outline-offset:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
button:focus-visible,a:focus-visible,.navitem:focus-visible,.qf:focus-visible,.chip:focus-visible,.kcard:focus-visible,[role="button"]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}
#vBody:focus{outline:none}

.wt-pdf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.wt-pdfbtn{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:5px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);cursor:pointer;color:var(--text)}
.wt-pdfbtn:hover{border-color:var(--accent)}
.wt-pdfname{font-size:11.5px;color:var(--muted)}
.wt-pdfx{background:none;border:0;color:#ef4444;font-size:11.5px;font-weight:600;cursor:pointer}

/* Focus-mode form switcher: single slidable row on mobile */
@media(max-width:768px){
 .fsw-row{flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding:2px 4px 6px;margin:0 -4px;scrollbar-width:none;-ms-overflow-style:none}
 .fsw-row::-webkit-scrollbar{display:none;height:0}
 .fsw-row>button{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}
}

/* ===== mobile bottom tab bar (native app feel) ===== */
.botnav{display:none}
.bn-more{position:fixed;inset:0;z-index:120;background:rgba(4,8,18,.5);display:none;align-items:flex-end}
.bn-more.show{display:flex}
.bn-more-inner{background:var(--card2,var(--card));width:100%;border-radius:18px 18px 0 0;max-height:76vh;overflow:auto;padding:6px 10px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -12px 34px rgba(0,0,0,.28)}
.bn-grab{width:42px;height:4px;border-radius:2px;background:var(--line);margin:8px auto 10px}
@media(max-width:768px){
 .botnav{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--card2,var(--card));border-top:1px solid var(--line);height:calc(58px + env(safe-area-inset-bottom));padding:6px 2px calc(6px + env(safe-area-inset-bottom))}
 .bn-item{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted);font-size:10.5px;font-weight:600;cursor:pointer;padding:4px 0;transition:color .15s,transform .1s}
 .bn-item .bi{font-size:20px;line-height:1}
 .bn-item:active{transform:scale(.94)}
 .bn-item.on{color:var(--accent)}
 .bn-fab{justify-self:center;width:50px;height:50px;margin-top:-24px;border-radius:50%;background:var(--accent);color:#fff;border:3px solid var(--card2,var(--card));font-size:26px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(16,24,40,.30);transition:transform .1s}
 .bn-fab:active{transform:scale(.92)}
.bn-item .bi{display:flex;align-items:center;justify-content:center;height:22px}
.bn-item .bi svg{width:23px;height:23px}
.mhome{display:none}
@media(max-width:768px){.mhome{display:block}.dhome{display:none}}
.mh-hscroll{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0}
.mh-hscroll::-webkit-scrollbar{display:none}
.mh-hscroll>*{scroll-snap-align:start}
.crm-searchbtn{display:none}
.crm-slot-t{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:2px 0 6px}
#crmFilterSlot .qfilters{flex-wrap:wrap;margin:0 0 10px}
#crmFilterSlot .kdist{flex-wrap:wrap;margin:2px 0 4px}
.fmob{max-width:520px;margin:0 auto}
.fm-top{display:flex;align-items:center;gap:10px;margin:2px 4px 12px}
.fm-prog{flex:1;height:6px;border-radius:6px;background:var(--card2);overflow:hidden}
.fm-fill{height:100%;background:linear-gradient(120deg,#7b61ff,#3b54d4);transition:width .3s}
.fm-count{font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap}
.fm-card{padding:16px!important;border-radius:22px!important;box-shadow:0 10px 30px rgba(20,16,50,.12)!important}
.fm-head{display:flex;align-items:center;gap:11px}
.fm-av{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex:0 0 auto}
.fm-id{flex:1;min-width:0}
.fm-nm{font-weight:800;font-size:16px;color:var(--txt);display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-hot{font-size:10px;color:#e0603a;background:rgba(224,96,58,.12);padding:2px 7px;border-radius:20px;display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}
.fm-hot svg{width:11px;height:11px}
.fm-sub{font-size:12px;color:var(--muted)}
.fm-score{position:relative;width:42px;height:42px;flex:0 0 auto}
.fm-sv{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.fm-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.fm-chips span{display:inline-flex;align-items:center;gap:4px;background:var(--card2);border-radius:8px;padding:5px 9px;font-size:11.5px;color:var(--txt)}
.fm-chips span svg{width:13px;height:13px}
.fm-note,.fm-due{background:var(--glass);border-radius:10px;padding:9px 11px;margin-top:10px;font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:flex-start}
.fm-note svg,.fm-due svg{width:14px;height:14px;flex:0 0 auto;margin-top:1px}
.fm-call{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;border-radius:14px;padding:15px;font-size:16px;font-weight:800;text-decoration:none;box-shadow:0 10px 24px rgba(59,84,212,.32)}
.fm-call svg{width:20px;height:20px}
.fm-sec{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:9px}
.fm-sec button{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:9px 4px;font-size:10.5px;font-weight:700;color:var(--txt);cursor:pointer}
.fm-sec button svg{width:18px;height:18px}
.fm-out{display:flex;gap:8px;margin-top:9px}
.fm-out button{flex:1;border-radius:11px;padding:11px;font-size:12.5px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.fm-out .fm-ok{border:1px solid rgba(20,154,90,.35);background:rgba(20,154,90,.10);color:#149a5a}
.fm-out .fm-no{border:1px solid var(--line);background:var(--card);color:var(--muted)}
.fm-out svg{width:15px;height:15px}
.fm-more{width:100%;margin-top:10px;background:none;border:0;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer}
.fm-extra{display:none;margin-top:6px}
.fm-card.exp .fm-extra{display:block}
.fm-tpls,.fm-snips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.fm-tpls button,.fm-snips button{border:1px solid var(--line);background:var(--card2);border-radius:8px;padding:6px 10px;font-size:11.5px;color:var(--txt);cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.fm-tpls button svg{width:13px;height:13px}
.fm-hint{text-align:center;font-size:11px;color:var(--muted);margin-top:12px}
.fm-nav{display:flex;justify-content:space-between;gap:10px;margin-top:12px}
.fm-nav button{flex:1;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:12.5px;font-weight:700;color:var(--txt);cursor:pointer}
.fm-nav button[disabled]{opacity:.4}
.fm-today{font-size:11px;font-weight:700;color:#149a5a;background:rgba(20,154,90,.10);border-radius:20px;padding:3px 9px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.fm-today svg{width:12px;height:12px}
.fm-vn{width:100%;margin:2px 0 8px;border:1px solid var(--line);background:var(--card2);border-radius:9px;padding:9px;font-size:12px;font-weight:700;color:var(--accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.fm-vn svg{width:15px;height:15px}
.fm-aa{color:var(--muted)!important;font-weight:700}
/* lead detail sheet */
.ls-sheet .ls-hero{background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;border-radius:18px;padding:16px;margin:0 0 12px}
.ls-head{display:flex;align-items:center;gap:12px}
.ls-av{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:19px;flex:0 0 auto}
.ls-id{flex:1;min-width:0}
.ls-nm{font-weight:800;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-sub{font-size:11.5px;opacity:.88}
.ls-score{text-align:center;flex:0 0 auto}
.ls-score b{font-size:17px;font-weight:800;display:block}
.ls-score span{font-size:9px;opacity:.85;letter-spacing:.05em}
.ls-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.ls-chips span{background:rgba(255,255,255,.2);border-radius:7px;padding:4px 9px;font-size:11px}
.ls-chips .ls-hot{background:#fff;color:#e0603a;font-weight:700}
.ls-prim{display:flex;gap:8px;margin-bottom:10px}
.ls-call{flex:2;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;border:0;border-radius:13px;padding:13px;font-weight:800;font-size:14px;cursor:pointer}
.ls-wa,.ls-cb{flex:1;display:inline-flex;align-items:center;justify-content:center;border-radius:13px;padding:13px;border:0;cursor:pointer}
.ls-wa{background:#22c55e;color:#fff}
.ls-cb{background:var(--card2);color:var(--accent);border:1px solid var(--line)}
.ls-call svg,.ls-wa svg,.ls-cb svg{width:17px;height:17px}
.ls-due,.ls-note{display:flex;gap:7px;align-items:flex-start;background:var(--glass);border-radius:10px;padding:9px 11px;margin-bottom:8px;font-size:12px;color:var(--muted)}
.ls-due svg,.ls-note svg{width:14px;height:14px;flex:0 0 auto;margin-top:1px}
.ls-h{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 2px 4px}
.ls-acts{margin-bottom:6px}
.ls-act{display:flex;gap:9px;padding:5px 0}
.ls-dot{width:6px;height:6px;border-radius:50%;background:var(--line);margin-top:6px;flex:0 0 auto}
.ls-dot.on{background:#5a44d6}
.ls-ax{flex:1;min-width:0}
.ls-at{font-size:12px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-ag{font-size:10px;color:var(--muted)}
.ls-more{width:100%;background:none;border:0;color:var(--accent);font-size:12.5px;font-weight:700;padding:10px;cursor:pointer}
.ls-extra{display:none}
.ls-sheet.exp .ls-extra{display:block}
.ls-bar{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:12px;margin-top:6px}
.ls-lost{flex:1;background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:12px;padding:12px;font-weight:700;font-size:12.5px;cursor:pointer}
.ls-next{flex:2;background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;border:0;border-radius:12px;padding:12px;font-weight:800;font-size:13px;cursor:pointer}
/* today's calls (mobile) */
.td-head{display:flex;align-items:center;gap:12px;margin:2px 2px 14px}
.td-ring{position:relative;width:52px;height:52px;flex:0 0 auto}
.td-rn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;color:var(--txt)}
.td-t{font-size:16px;font-weight:800;color:var(--txt)}
.td-s{font-size:11.5px;color:var(--muted)}
.td-h{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 2px 7px}
.td-h.od{color:#e0603a}
.td-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--card);border-radius:12px;padding:10px;margin-bottom:8px;cursor:pointer}
.td-av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:0 0 auto}
.td-info{flex:1;min-width:0}
.td-nm{font-weight:700;font-size:13px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td-sub{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td-sc{font-size:11.5px;font-weight:800;color:var(--muted);flex:0 0 auto}
.td-b{width:32px;height:32px;border-radius:50%;border:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer}
.td-b svg{width:15px;height:15px}
.td-b.call{background:rgba(123,97,255,.12);color:var(--accent)}
.td-b.wa{background:#22c55e;color:#fff}
.td-empty{text-align:center;color:var(--muted);font-size:13.5px;padding:40px 12px}
/* calendar (mobile) */
.cm-head{display:flex;align-items:center;justify-content:space-between;margin:2px 2px 12px}
.cm-mo{font-size:16px;font-weight:800;color:var(--txt)}
.cm-nav{display:flex;gap:6px}
.cm-nav button{border:1px solid var(--line);background:var(--card);color:var(--txt);border-radius:999px;min-width:32px;height:32px;padding:0 10px;font-size:12.5px;font-weight:700;cursor:pointer}
.cm-strip{display:flex;gap:5px;margin-bottom:12px}
.cm-day{flex:1;border:0;background:none;border-radius:12px;padding:8px 0;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;color:var(--txt)}
.cm-day.on{background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff}
.cm-w{font-size:9.5px;color:var(--muted)}
.cm-day.on .cm-w{color:rgba(255,255,255,.85)}
.cm-n{font-size:14px;font-weight:700}
.cm-dot{width:5px;height:5px;border-radius:50%;margin-top:2px}
.cm-dot.none{background:transparent}
.cm-dot.has{background:#5a44d6}
.cm-dot.od{background:#e0603a}
.cm-day.on .cm-dot.has,.cm-day.on .cm-dot.od{background:#fff}
.cm-h{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:6px 2px 8px}
.cm-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--card);border-radius:12px;padding:10px;margin-bottom:8px;cursor:pointer}
.cm-t{font-size:11px;font-weight:800;color:var(--accent);width:46px;flex:0 0 auto}
.cm-i{flex:1;min-width:0}
.cm-nm{font-size:13px;font-weight:700;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-s{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* leaderboard (mobile) */
.lm-head{margin:2px 2px 14px}
.lm-t{font-size:16px;font-weight:800;color:var(--txt)}
.lm-s{font-size:11px;color:var(--muted)}
.lm-pod{display:flex;align-items:flex-end;justify-content:center;gap:10px;margin-bottom:16px}
.lm-p{flex:1;text-align:center;min-width:0}
.lm-av{width:44px;height:44px;border-radius:50%;margin:0 auto 6px;background:var(--card2);color:var(--muted);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}
.lm-av.g{width:52px;height:52px;font-size:19px;background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff}
.lm-bar{background:var(--card2);border-radius:10px 10px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.lm-bar.g{background:linear-gradient(180deg,rgba(123,97,255,.18),rgba(123,97,255,.06));border:1px solid rgba(123,97,255,.3)}
.lm-m{font-size:15px}
.lm-pt{font-size:11.5px;font-weight:800;color:var(--txt)}
.lm-nm{font-size:10.5px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lm-nm.g{font-size:11.5px;font-weight:700;color:var(--txt)}
.lm-list{margin-top:4px}
.lm-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;margin-bottom:6px}
.lm-row.me{border:1px solid rgba(123,97,255,.35);background:var(--glass)}
.lm-r{width:24px;text-align:center;font-size:12px;font-weight:700;color:var(--muted);flex:0 0 auto}
.lm-row.me .lm-r{color:var(--accent)}
.lm-ra{width:32px;height:32px;border-radius:50%;background:var(--card2);color:var(--muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:0 0 auto}
.lm-ri{flex:1;min-width:0}
.lm-rn{font-size:13px;font-weight:700;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lm-rs{font-size:10.5px;color:var(--muted)}
.lm-rp{font-size:13px;font-weight:800;color:var(--muted);flex:0 0 auto}
.lm-row.me .lm-rp{color:var(--accent)}
.lm-reset{width:100%;margin-top:12px;background:none;border:1px solid var(--line);color:var(--muted);border-radius:12px;padding:12px;font-weight:700;font-size:12.5px;cursor:pointer}
/* team chat — mobile fix: dvh viewport, composer clears the tab bar, no iOS zoom */
.cmsg.me{border-radius:13px 13px 4px 13px}
.cmsg.them{border-radius:13px 13px 13px 4px}
@media(max-width:768px){
 .chatwrap{height:calc(100dvh - 200px);min-height:300px;max-width:100%;border-radius:14px}
 .chat-msgs{padding:12px;gap:8px}
 .cmsg{max-width:82%;font-size:13.5px}
 .chat-input{padding:10px;gap:8px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:var(--card)}
 .chat-input input{font-size:16px;padding:11px 13px;min-height:44px}
 .chat-input .btn{padding:11px 16px;min-height:44px}
 .stats{grid-template-columns:1fr 1fr}
}
/* ---- iOS correctness + accessibility pass ---- */
@supports (height:100dvh){
 #login{min-height:100dvh}
 #app.show{min-height:100dvh}
}
/* bottom sheets: never let the last row hide under the home indicator */
.bn-more-inner{max-height:80dvh;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
@media(max-width:768px){
 /* iOS Safari force-zooms the page on focus for any field under 16px */
 input,select,textarea,
 .controls input,.controls select,
 .os-bar input,
 .gsbox input[type=text],
 .setfield input[type=text],
 .dbrange input[type=date],
 .auto-row input[type=number],
 .wf-erow input{font-size:16px!important}
 aside{height:100dvh}
 /* comfortable tap targets */
 .kc-q{width:38px;height:38px}
 .kc-q svg{width:18px;height:18px}
 .td-b{width:38px;height:38px}
 .td-b svg{width:16px;height:16px}
}
/* full-screen add/edit lead form on phones */
@media(max-width:768px){
 #leadOverlay .modal{max-width:100%;width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0;display:flex;flex-direction:column;animation:none!important}
 #leadOverlay .modal-head{position:sticky;top:0;z-index:2;background:var(--card2)}
 #leadOverlay .modal-body{flex:1;max-height:none;padding:16px;gap:12px}
 #leadOverlay .modal-body input,#leadOverlay .modal-body select,#leadOverlay .modal-body textarea{min-height:46px;font-size:16px;border-radius:11px}
 #leadOverlay .modal-foot{position:sticky;bottom:0;z-index:2;background:var(--card2);padding-bottom:calc(15px + env(safe-area-inset-bottom))}
}
.mo-wrap{padding-bottom:8px}
.mo-prof{width:100%;display:flex;align-items:center;gap:12px;background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;border:0;border-radius:16px;padding:14px;cursor:pointer;margin-bottom:10px;text-align:left}
.mo-av{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:19px;flex:0 0 auto}
.mo-pi{flex:1;min-width:0;display:flex;flex-direction:column}
.mo-pi b{font-size:16px;font-weight:800}
.mo-pi span{font-size:11.5px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mo-prof .mo-chev{color:#fff;opacity:.9}
.mo-pres{width:100%;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:11px 13px;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;margin-bottom:10px}
.mo-pres .mo-pdot{width:9px;height:9px;border-radius:50%;background:var(--muted)}
.mo-pres.on{color:var(--txt)}
.mo-pres.on .mo-pdot{background:#16a34a}
.mo-sec{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 2px 8px}
.mo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.mo-tile{position:relative;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:13px 6px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;color:var(--txt)}
.mo-tile .mo-ic{color:var(--accent);display:flex}
.mo-tile .mo-ic svg{width:21px;height:21px}
.mo-tile .mo-tl{font-size:10.5px;font-weight:700}
.mo-bdg{position:absolute;top:7px;right:10px;background:#f0405f;color:#fff;font-size:9px;font-weight:800;border-radius:10px;padding:0 5px;min-width:16px;text-align:center}
.mo-list{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.mo-row{width:100%;display:flex;align-items:center;gap:11px;padding:12px 13px;background:var(--card);border:0;border-bottom:1px solid var(--line);cursor:pointer;color:var(--txt)}
.mo-row:last-child{border-bottom:0}
.mo-ric{color:var(--muted);display:flex;flex:0 0 auto}
.mo-ric svg{width:18px;height:18px}
.mo-rl{flex:1;text-align:left;font-size:13px;font-weight:600}
.mo-chev{color:var(--muted);opacity:.6;flex:0 0 auto}
.mo-foot{display:flex;gap:9px;margin-top:14px}
.mo-fbtn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:11px;font-size:12.5px;font-weight:700;color:var(--txt);cursor:pointer}
.mo-fbtn svg{width:16px;height:16px}
.mo-fbtn.danger{color:#d34b4b;border-color:rgba(211,75,75,.35)}
.mo-clear{width:100%;margin-top:9px;background:none;border:0;color:var(--muted);font-size:11.5px;cursor:pointer;padding:6px}
.no-wrap,.as-wrap{padding-bottom:10px}
.no-head{display:flex;align-items:center;justify-content:space-between;margin:2px 2px 10px}
.no-head b{font-size:16px;font-weight:800;color:var(--txt)}
.no-mark{background:none;border:0;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer}
.no-tabs{display:flex;gap:7px;margin-bottom:6px}
.no-tab{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:700;cursor:pointer}
.no-tab.on{background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;border-color:transparent}
.no-list{display:flex;flex-direction:column}
.no-row{display:flex;align-items:center;gap:11px;background:none;border:0;border-bottom:1px solid var(--line);padding:11px 2px;cursor:pointer;text-align:left;color:var(--txt);width:100%}
.no-row:last-child{border-bottom:0}
.no-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.no-ic svg{width:17px;height:17px}
.no-ic.nl{background:rgba(59,84,212,.12);color:#3b54d4}
.no-ic.cb{background:rgba(224,96,58,.12);color:#e0603a}
.no-ic.ap{background:rgba(20,154,90,.12);color:#149a5a}
.no-ic.ch{background:rgba(123,97,255,.12);color:#5a44d6}
.no-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.no-t{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.no-s{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.no-dot{width:8px;height:8px;border-radius:50%;background:#f0405f;flex:0 0 auto}
.no-empty{text-align:center;color:var(--muted);font-size:13px;padding:30px 10px}
.as-head{font-size:14px;font-weight:800;color:var(--txt);margin:2px 2px 12px}
.as-row{width:100%;display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:13px;margin-bottom:9px;cursor:pointer;text-align:left;color:var(--txt)}
.as-ic{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.as-ic svg{width:19px;height:19px}
.as-ic.p{background:rgba(123,97,255,.12);color:#5a44d6}
.as-ic.g{background:rgba(20,154,90,.12);color:#149a5a}
.as-ic.o{background:rgba(224,96,58,.12);color:#e0603a}
.as-ic.b{background:rgba(59,84,212,.12);color:#3b54d4}
.as-tx{display:flex;flex-direction:column}
.as-t{font-size:13.5px;font-weight:700}
.as-s{font-size:11px;color:var(--muted)}
.pm-wrap{padding-bottom:12px}
.pm-head{display:flex;gap:12px;align-items:flex-start;margin:2px 2px 14px}
.pm-hic{width:44px;height:44px;border-radius:12px;background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pm-hic svg{width:22px;height:22px}
.pm-head b{font-size:15.5px;font-weight:800;color:var(--txt);display:block}
.pm-head>div:last-child span{font-size:12px;color:var(--muted)}
.pm-row{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:13px;padding:12px;margin-bottom:9px}
.pm-ic{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pm-ic svg{width:18px;height:18px}
.pm-ic.p{background:rgba(123,97,255,.12);color:#5a44d6}
.pm-ic.o{background:rgba(224,96,58,.12);color:#e0603a}
.pm-ic.g{background:rgba(20,154,90,.12);color:#149a5a}
.pm-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.pm-t{font-size:13px;font-weight:700;color:var(--txt)}
.pm-s{font-size:11px;color:var(--muted)}
.pm-ok{color:#149a5a;flex:0 0 auto}
.pm-ok svg{width:18px;height:18px}
.pm-all{width:100%;margin-top:6px;background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;border:0;border-radius:13px;padding:14px;font-size:15px;font-weight:800;cursor:pointer}
.pm-later{width:100%;margin-top:9px;background:none;border:0;color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer;padding:6px}
.mo-perm{width:100%;margin-top:9px;background:none;border:0;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;padding:6px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.mo-perm svg{width:15px;height:15px}
/* global search */
.ohm-search{position:fixed;inset:0;z-index:400;background:var(--bg);transform:translateY(8px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;display:flex;flex-direction:column}
.ohm-search.show{opacity:1;transform:none;pointer-events:auto}
.os-bar{display:flex;align-items:center;gap:8px;padding:12px 12px calc(12px);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg)}
.os-bar input{flex:1;min-width:0;border:0;background:var(--card2);border-radius:12px;padding:12px 14px;font-size:15px;color:var(--txt)}
.os-back,.os-x{width:38px;height:38px;border-radius:50%;border:0;background:var(--card2);color:var(--txt);display:flex;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer}
.os-back svg,.os-x svg{width:17px;height:17px}
.os-body{flex:1;overflow-y:auto;padding:6px 12px 24px}
.os-h{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 2px 6px}
.os-row{width:100%;display:flex;align-items:center;gap:11px;background:none;border:0;border-bottom:1px solid var(--line);padding:11px 2px;cursor:pointer;text-align:left}
.os-av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex:0 0 auto}
.os-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.os-nm{font-size:13.5px;font-weight:700;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-sub{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-empty{text-align:center;color:var(--muted);font-size:13px;padding:34px 10px}
/* team pulse */
.tp-card{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:14px}
.tp-top{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-bottom:10px}
.tp-n{color:var(--txt);font-size:16px}
.tp-agents{display:flex;flex-wrap:wrap;gap:6px 12px;margin-bottom:8px}
.tp-agent{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--txt)}
.tp-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.tp-dot.on{background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.15)}
.tp-tick{border-top:1px dashed var(--line);padding-top:8px;margin-top:2px}
.tp-line{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:7px;padding:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-td{width:5px;height:5px;border-radius:50%;background:#5a44d6;flex:0 0 auto}
/* guided tour */
.tour-wrap{position:fixed;inset:0;z-index:420;background:rgba(10,12,24,.55);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}
.tour-wrap.show{opacity:1;pointer-events:auto}
.tour-card{width:100%;max-width:440px;background:var(--card);border-radius:22px 22px 0 0;padding:24px 22px calc(22px + env(safe-area-inset-bottom));text-align:center;transform:translateY(20px);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.tour-wrap.show .tour-card{transform:none}
.tour-ic{width:56px;height:56px;border-radius:16px;margin:0 auto 14px;background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;display:flex;align-items:center;justify-content:center}
.tour-ic svg{width:28px;height:28px}
.tour-t{font-size:18px;font-weight:800;color:var(--txt)}
.tour-d{font-size:13.5px;color:var(--muted);line-height:1.5;margin:6px 0 16px;max-width:320px;margin-left:auto;margin-right:auto}
.tour-dots{display:flex;gap:6px;justify-content:center;margin-bottom:16px}
.tour-dot{width:7px;height:7px;border-radius:50%;background:var(--line)}
.tour-dot.on{background:var(--accent);width:20px;border-radius:4px}
.tour-btns{display:flex;gap:10px}
.tour-skip{flex:0 0 auto;background:none;border:0;color:var(--muted);font-weight:700;font-size:13.5px;padding:12px 16px;cursor:pointer}
.tour-next{flex:1;background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;border:0;border-radius:13px;padding:13px;font-weight:800;font-size:15px;cursor:pointer}
/* biometric lock */
.bio-lock{position:fixed;inset:0;z-index:500;background:var(--bg);display:flex;align-items:center;justify-content:center}
.bio-inner{text-align:center;padding:24px;max-width:320px}
.bio-ic{width:64px;height:64px;border-radius:20px;margin:0 auto 16px;background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;display:flex;align-items:center;justify-content:center}
.bio-ic svg{width:30px;height:30px}
.bio-t{font-size:18px;font-weight:800;color:var(--txt)}
.bio-d{font-size:13px;color:var(--muted);margin:6px 0 18px;line-height:1.5}
.bio-btn{background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;border:0;border-radius:13px;padding:13px 32px;font-weight:800;font-size:15px;cursor:pointer}
/* home entrance animation */
@keyframes mhUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:768px){.mhome>div>*{animation:mhUp .4s cubic-bezier(.2,.7,.2,1) both}.mhome>div>*:nth-child(2){animation-delay:.04s}.mhome>div>*:nth-child(3){animation-delay:.08s}.mhome>div>*:nth-child(4){animation-delay:.12s}.mhome>div>*:nth-child(5){animation-delay:.16s}.mhome>div>*:nth-child(6){animation-delay:.2s}}
.bn-item.on .bi{animation:bnPop .32s cubic-bezier(.2,.8,.2,1)}
@keyframes bnPop{0%{transform:scale(.8)}55%{transform:scale(1.18)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.mhome>div>*,.bn-item.on .bi{animation:none!important}}
.chip-val{display:none}
.chip-top{display:inline-flex;align-items:center;gap:6px}
.crm-active{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 10px}
.ac-chip{border:1px solid var(--accent);color:var(--accent);background:var(--glass);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer}
.crm-opt.has-filter{position:relative}
.crm-opt.has-filter::after{content:"";position:absolute;top:6px;right:7px;width:7px;height:7px;border-radius:50%;background:#f0405f}
.kcount{text-align:center;color:var(--muted);font-size:11.5px;padding:8px 0}
.kc-score{font-weight:700;margin-left:6px}
.kc-cold{color:#e0603a;font-weight:700;margin-left:6px}
.kempty .ke-ic{opacity:.5;margin-bottom:8px}
.kempty .ke-ic svg{width:30px;height:30px}
.kempty .ke-t{font-size:13px;margin-bottom:12px}
.kempty .ke-a{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
@media(max-width:760px){
 .chip-val{display:block;font-size:11px;color:var(--muted);font-weight:700;margin-left:15px}
 .chip.chip-active .chip-val{color:rgba(255,255,255,.85)}
 #bulkbar.bulkbar.show{position:fixed;left:8px;right:8px;bottom:66px;top:auto;margin:0;z-index:120;border-radius:14px;box-shadow:0 -10px 40px rgba(0,0,0,.4)}
 main .topbar{position:sticky;top:0;z-index:40;background:var(--bg)}
}
@media(max-width:760px){
 .kstrip{display:none}
 .crm-searchbtn{display:inline-flex;align-items:center;justify-content:center}
 .controls #search{display:none}
 .controls.searchon #search{display:block;flex:1 1 100%;width:auto!important}
}
.qf svg,.chip svg,.kc-ph svg,.kdist svg,.kc-acts .ocbtn svg{width:16px;height:16px;vertical-align:-3px}
.sheet-btn svg,.tpl-chip svg{width:18px;height:18px;vertical-align:-4px}
.kc-chev svg{width:16px;height:16px;transition:transform .2s}
.kcard.open .kc-chev svg{transform:rotate(180deg)}
.kc-q{width:34px;height:34px;border-radius:50%;border:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer;margin-left:4px}
.kc-q svg{width:17px;height:17px}
.kc-q.call{background:rgba(123,97,255,.13);color:var(--accent)}
.kc-q.wa{background:#22c55e;color:#fff}
.kc-sub2{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.kSummary{display:none}
.kAddStage{width:100%;padding:11px;border:1px dashed var(--line);background:transparent;color:var(--accent);border-radius:11px;font-weight:700;font-size:12.5px;cursor:pointer;margin-top:2px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.kAddStage svg{width:15px;height:15px}
@media(max-width:760px){
 .chip{padding:8px 13px;font-size:12.5px;font-weight:600;border-radius:999px}
 .chip.chip-active{background:linear-gradient(120deg,#7b61ff,#3b54d4);color:#fff;border-color:transparent}
 .chip.chip-active b{color:#fff}
 .kc-av{width:38px;height:38px;font-size:15px}
 .kc-chev{display:none}
 .kSummary{display:flex;align-items:center;justify-content:space-between;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:9px 13px;margin:2px 0 10px;font-size:12.5px;color:var(--muted)}
 .kSummary b{color:var(--txt)}
 .kc-acts{display:grid;grid-template-columns:1fr 1fr;gap:7px}
 .kc-acts .ocbtn{min-height:44px}
 .crm-more.open{position:fixed;left:0;right:0;bottom:0;top:auto;margin:0;border-radius:18px 18px 0 0;z-index:130;max-height:72vh;overflow:auto;box-shadow:0 -18px 50px rgba(0,0,0,.35)}
 .crm-more.open::before{content:"";display:block;width:40px;height:4px;border-radius:3px;background:var(--line);margin:0 auto 10px}
}
 main{padding-bottom:74px !important}
}

/* ---- presence: sliding switch + floating offline chip ---- */
/* Dark + OLED are the default. Light theme overrides below. */
#presPill{flex:0 0 auto}
.pres-pill{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--glass2);border-radius:999px;padding:5px 13px 5px 5px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .3s ease,border-color .3s ease,transform .12s ease}
.pres-pill:active{transform:scale(.96)}
.pres-pill.on{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.50)}
.pp-track{position:relative;width:38px;height:22px;border-radius:999px;background:rgba(255,255,255,.22);flex:0 0 auto;transition:background .3s cubic-bezier(.2,.7,.2,1)}
.pres-pill.on .pp-track{background:#22c55e}
.pp-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.5);transition:transform .34s cubic-bezier(.34,1.56,.64,1)}
.pres-pill.on .pp-knob{transform:translateX(16px)}
/* pulse ring radiates from the knob while live */
.pres-pill.on .pp-track::after{content:"";position:absolute;top:3px;left:19px;width:16px;height:16px;border-radius:50%;border:2px solid rgba(74,222,128,.65);animation:presPulse 1.9s ease-out infinite}
@keyframes presPulse{0%{transform:scale(1);opacity:.85}80%{transform:scale(2.2);opacity:0}100%{transform:scale(2.2);opacity:0}}
/* labels cross-fade in place so the pill never changes width */
.pp-tx{position:relative;display:inline-block;min-width:46px;height:15px;font-size:11.5px;font-weight:800;line-height:15px}
.pp-on,.pp-off{position:absolute;left:0;top:0;white-space:nowrap;transition:opacity .26s ease,transform .26s ease}
.pp-off{color:var(--muted);opacity:1;transform:none}
.pp-on{color:#4ade80;opacity:0;transform:translateY(5px)}
.pres-pill.on .pp-off{opacity:0;transform:translateY(-5px)}
.pres-pill.on .pp-on{opacity:1;transform:none}

/* --- OLED: lift the pill off pure black --- */
[data-theme="oled"] .pres-pill{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.15)}
[data-theme="oled"] .pp-track{background:rgba(255,255,255,.26)}
[data-theme="oled"] .pres-pill.on{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.55)}

/* --- Light theme --- */
[data-theme="light"] .pres-pill{background:#f4f6fb;border-color:rgba(20,30,60,.16)}
[data-theme="light"] .pp-track{background:#c4cad6}
[data-theme="light"] .pp-knob{box-shadow:0 1px 3px rgba(0,0,0,.30)}
[data-theme="light"] .pres-pill.on{background:rgba(22,163,74,.10);border-color:rgba(22,163,74,.40)}
[data-theme="light"] .pres-pill.on .pp-track{background:#16a34a}
[data-theme="light"] .pres-pill.on .pp-track::after{border-color:rgba(22,163,74,.6)}
[data-theme="light"] .pp-on{color:#12805a}

/* floating offline chip: slides up, nudges when ignored */
.pres-chip{position:fixed;left:50%;bottom:calc(74px + env(safe-area-inset-bottom));z-index:95;display:inline-flex;align-items:center;gap:8px;background:#1e2233;color:#eef2fb;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:9px 15px 9px 11px;font-size:12px;font-weight:800;box-shadow:0 10px 26px rgba(0,0,0,.45);cursor:pointer;opacity:0;transform:translate(-50%,14px);transition:opacity .3s ease,transform .3s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.pres-chip.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.pres-chip .pc-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);flex:0 0 auto;transition:background .3s}
.pres-chip.nudge{animation:presNudge 2.2s ease-in-out infinite}
.pres-chip.nudge .pc-dot{background:#f97316}
@keyframes presNudge{0%,100%{transform:translate(-50%,0) scale(1)}50%{transform:translate(-50%,-4px) scale(1.04)}}
[data-theme="oled"] .pres-chip{background:#16161b;border-color:rgba(255,255,255,.17)}
[data-theme="light"] .pres-chip{background:#14121f;color:#fff;border-color:transparent;box-shadow:0 10px 26px rgba(0,0,0,.32)}
[data-theme="light"] .pres-chip .pc-dot{background:#c1c6d2}
[data-theme="light"] .pres-chip.nudge .pc-dot{background:#e0603a}
@media(min-width:769px){.pres-chip{display:none}}
@media(prefers-reduced-motion:reduce){.pres-pill.on .pp-track::after,.pres-chip.nudge{animation:none!important}.pp-knob{transition:none}}

/* ================= mobile motion pack (5 animations) ================= */

/* 1 — stage-advance flight */
.ohm-fly{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;box-shadow:0 18px 40px rgba(0,0,0,.34);overflow:hidden;will-change:transform,opacity}
.chip.chip-hit{animation:chipHit .56s cubic-bezier(.34,1.56,.64,1)}
@keyframes chipHit{0%{transform:scale(1)}38%{transform:scale(1.18)}100%{transform:scale(1)}}

/* 2 — swipe deck physics */
.fm-ghost{position:absolute;left:0;right:0;top:0;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:16px;transform:scale(.92) translateY(10px);opacity:.5;pointer-events:none;z-index:0;will-change:transform,opacity}
.fm-ghost .fg-nm{font-size:15px;font-weight:800;color:var(--txt)}
.fm-ghost .fg-sub{font-size:12px;color:var(--muted);margin-top:4px}
.focus-wrap.fmob{position:relative}
.focus-wrap.fmob .fm-card{position:relative;z-index:1}
.fm-ov{position:absolute;top:14px;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;padding:5px 11px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .12s linear;z-index:2}
.fm-ov svg{width:14px;height:14px}
.fm-ov-call{left:16px;background:#16a34a;color:#fff}
.fm-ov-skip{right:16px;background:#e24b4a;color:#fff}

/* 3 — FAB radial burst */
.fab-burst{position:fixed;inset:0;z-index:97;display:none}
.fab-burst .fb-scrim{position:absolute;inset:0;background:rgba(4,6,14,.5);opacity:0;pointer-events:none;transition:opacity .28s ease}
.fab-burst.show .fb-scrim{opacity:1}
.fb-a{position:absolute;left:50%;bottom:calc(5px + env(safe-area-inset-bottom));width:52px;height:52px;margin-left:-26px;display:flex;align-items:center;justify-content:center;background:none;border:0;padding:0;cursor:pointer;opacity:0;transform:translate(0,0) scale(.3);transition:transform .42s cubic-bezier(.34,1.56,.64,1),opacity .24s ease;-webkit-tap-highlight-color:transparent}
.fb-a.in{opacity:1;transform:translate(var(--x),var(--y)) scale(1)}
.fb-a.in:active{transform:translate(var(--x),var(--y)) scale(.92)}
.fb-ic{width:48px;height:48px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:var(--txt);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.4)}
.fb-ic svg{width:20px;height:20px}
.fb-l{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:10.5px;font-weight:800;white-space:nowrap;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.85)}
.bn-fab{transition:transform .4s cubic-bezier(.34,1.56,.64,1)!important}
.bn-fab.open{transform:rotate(135deg)}
.bn-fab.open:active{transform:rotate(135deg) scale(.94)}
[data-theme="light"] .fab-burst .fb-scrim{background:rgba(10,14,26,.42)}
[data-theme="oled"] .fb-ic{background:#131317}

/* 4 — cascade reveal */
.kban.reveal .kcard{animation:kcIn .34s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 45ms)}
@keyframes kcIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* 5 — new lead arrival */
.kcard{position:relative}
.kc-arrive{animation:kcDrop .58s cubic-bezier(.34,1.4,.64,1) both}
@keyframes kcDrop{0%{opacity:0;transform:translateY(-56px) scale(.96)}70%{opacity:1}100%{opacity:1;transform:none}}
.kc-sweep{position:absolute;inset:0;border-radius:12px;background:rgba(34,197,94,.32);opacity:0;pointer-events:none;animation:kcSweep 1.1s ease-out .34s both}
@keyframes kcSweep{0%{opacity:.85}100%{opacity:0}}
.num-roll{display:inline-block;animation:numRoll .64s cubic-bezier(.34,1.5,.64,1)}
@keyframes numRoll{0%{transform:translateY(10px);opacity:0}45%{opacity:1}100%{transform:none;opacity:1}}

@media(prefers-reduced-motion:reduce){
  .ohm-fly,.chip.chip-hit,.kban.reveal .kcard,.kc-arrive,.kc-sweep,.num-roll,.fb-a,.bn-fab{animation:none!important;transition:none!important}
  .fm-ov,.fm-ghost{transition:none!important}
}

/* mobile: tick boxes only in Multi-select mode */
@media(max-width:760px){
  .kcard .lsel{display:none}
  body.selmode .kcard .lsel{display:inline-block}
  body.selmode .kcard{border-color:var(--accent)}
  .qf-sel{margin-top:6px}
  .qf-sel.on{background:var(--accent);color:#fff;border-color:var(--accent)}
  .qf-sel.on svg{color:#fff}
}
