/* Vego · crm.css — CRM screens: leads, calls, reminders, quotes, connections. Split from app.css (2.77.8); load order: base, crm, docs, accounts, projects. */
.addnote{display:flex;gap:8px;margin:8px 0}
.qsec h4{margin:0 0 8px;font-size:13px;color:var(--ink2);font-weight:600}
.qsec + .qsec{margin-top:-2px}
.ltbtn svg{flex-shrink:0}
.ltclear{border:0;width:32px;height:32px;border-radius:50%;background:var(--glass);color:var(--ink2);font-size:17px;cursor:pointer}
.ltrow{gap:12px}
.spendcard{background:var(--pane);border-radius:20px;box-shadow:var(--lift);padding:16px;margin:4px 0 6px}
.sphead{display:flex;justify-content:space-between;align-items:center;}
.mnav{display:flex;align-items:center;gap:6px;font-size:14px}
.mnav button{border:0;background:var(--glass);width:30px;height:30px;border-radius:10px;font-size:18px;cursor:pointer;color:var(--ink)}
.achev{width:18px;height:18px;color:var(--muted);flex-shrink:0;transition:transform .15s}
.accbody #assignsec{margin:0}
.perfcard{background:var(--pane);border-radius:20px;box-shadow:var(--lift);padding:16px}
.ptop{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.ptop b{display:block;font-size:16px;letter-spacing:-.02em}
.ptop span{font-size:12.5px;color:var(--muted)}
.pstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pstats div{background:var(--glass);border-radius:12px;padding:9px 10px;display:flex;flex-direction:column}
.pstats b{font-size:19px;font-weight:700;letter-spacing:-.03em}
.pstats span{font-size:11.5px;color:var(--muted);font-weight:600}
.tplrow b{font-size:14.5px}
.tplrow span{font-size:13px;color:#5A5F6B;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tplrow:active{transform:scale(.99)}
.checkin b{display:block;font-size:14.5px}
.checkin span{font-size:12.5px;color:var(--ink2)}
.stagepick{display:inline-flex;align-items:center;gap:4px;border:0;font-weight:700;cursor:pointer}
.stagepick svg{width:14px;height:14px}
.alertline{display:flex;gap:10px;align-items:center;border-radius:14px;padding:10px 12px;margin-bottom:10px;font-size:13.5px}
.alertline span{flex:1;min-width:0}
.notetext{font-size:14px;line-height:1.5;background:var(--glass);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.remquick{display:flex;flex-wrap:wrap;gap:6px;}
.remlist{display:flex;flex-direction:column;gap:8px}
.remmain{flex:1;min-width:0;cursor:pointer}
.remmain b{display:block;font-size:14.5px}
.remnote{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.remacts{display:flex;align-items:center;gap:6px;flex:none}
.remcal{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--glass);color:var(--ink2)}
.remcal svg{width:17px;height:17px}
.remtypes{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* reminder icons */
.remic{border-radius:12px}
.rt-meet{background:#EEE9FF;color:#5B3FD6}.rt-site{background:#E3F6EC;color:#13895A}.rt-quote{background:#FFEFE3;color:#1D3EC7}.rt-call{background:#E5F0FF;color:#1F5FD1}
.ltbtn{padding:6px 11px;font-size:12.5px}
.ltbtn svg{width:13px;height:13px}
.ltbtn span{display:none}

/* lead details */
.dhead{gap:12px;padding:14px 16px 10px}
.stagepick{padding:5px 10px;font-size:12px;border-radius:8px}
.remquick{margin-top:4px}
.acchead{padding:12px 14px}
.accbody{padding:10px 14px 14px}
/* call outcome + bulk sheets */
.conote-l{display:block;font-size:12.5px;font-weight:700;color:var(--ink2);margin:0 0 6px}
.conote{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:14px;background:var(--pane);color:var(--ink);font:inherit;font-size:15px;padding:11px 12px;resize:vertical;min-height:84px}
.cochips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px}.ctrow{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.2fr);gap:6px;margin-bottom:6px}.ctrow select,.ctrow input{min-width:0}
@media (max-width:520px){.ctrow{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.ctrow input[type=tel]{grid-column:1/-1}.ctrow+.ctrow{margin-top:10px}}
.ctlist{display:grid;gap:6px;margin:10px 0}.cti{flex:1;min-width:0}.cti b{display:block;font-size:14px}.cti small{font-size:12px;color:var(--muted)}#selbar b{font-size:13px;padding-inline-start:2px}
#selbar .selx{width:32px;height:32px;padding:0;font-size:18px}
/* duplicate warning */
.dupwarn{display:flex;align-items:center;gap:8px;margin-top:6px;padding:8px 10px;border-radius:10px;background:var(--warn-bg,#FFF6E5);color:var(--warn,#1A37B4);font-size:12.5px}
.dupwarn span{flex:1}
#selbar b,#selbar button{white-space:nowrap}
#selbar button{padding:8px 9px;font-size:12px}
#selbar{gap:5px}
.wahead{display:inline-flex;align-items:center;gap:8px}
.tplrow .wabadge{display:inline-flex!important;-webkit-line-clamp:unset;overflow:visible;color:#fff;font-size:0}

.geoh{display:flex;align-items:center;gap:6px;margin:14px 0 8px;font-size:13.5px}.geoh svg{color:#1A73E8}

.qlist{display:flex;flex-direction:column;gap:10px}
.qc-top{display:flex;align-items:center;gap:10px}
.qc-main{flex:1;min-width:0}
.qc-main b{display:block;font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qc-main span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.qc-acts{display:flex;flex-wrap:wrap;margin-block:10px 0;margin-inline:46px 0}
.qc-acts{gap:8px}
.ltbtn{min-height:32px;border-radius:999px}
.ctpick{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;border-radius:12px;border:1.5px dashed rgba(37,99,235,.45);background:rgba(37,99,235,.06);color:#1D4ED8;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.ctpick svg{width:18px;height:18px}
/* sales */
.qcard{border-radius:18px!important;box-shadow:0 1px 2px rgba(10,26,51,.05),0 6px 18px -10px rgba(10,26,51,.18),0 0 0 1px rgba(10,26,51,.05)!important;border:0!important}
.qc-acts{margin-inline-start:58px!important}
.wc-top{display:flex;align-items:center;gap:12px}
.wc-ic{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.16);flex:none}
.wc-ic svg{width:26px;height:26px}
.wc-t{flex:1;min-width:0;display:flex;flex-direction:column}.wc-t b{font-size:17px}.wc-t span{font-size:12.5px;opacity:.85}
.wc-ok{font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:#4ADE80;color:#064E3B}
.wc-list{margin:12px 0 14px;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px;opacity:.95}
.wc-list li::before{content:"✓";margin-inline-end:8px;font-weight:700;color:#86EFAC}
.wc-p{font-size:13px;opacity:.9;margin:12px 0}
.wc-go{width:100%;min-height:46px!important;background:#fff!important;color:#075E54!important;border:0!important;font-weight:700!important;gap:8px}
.wc-go svg{width:20px;height:20px;color:#25D366}
.wcopt[disabled]{opacity:.55;cursor:default}
.wcopt em{font-style:normal;font-size:11px;font-weight:700;color:#1A37B4;background:#FEF3C7;border-radius:999px;padding:2px 8px;align-self:flex-start;margin-top:4px}
/* Google Ads */
.gadshead{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:var(--pane,#fff);box-shadow:0 0 0 1px var(--line,rgba(10,26,51,.08));margin-bottom:6px}
.gadshead b{display:block;font-size:15px}.gadshead span{font-size:12.5px;color:var(--muted)}
.gico{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 1px rgba(10,26,51,.08);flex:none}
.gico svg{width:26px;height:26px}
.gconvs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.gconvs span{font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:#E8F0FE;color:#1A56DB;font-family:ui-monospace,Menlo,monospace}
.spch{display:flex;gap:2px;background:var(--glass,#EEF2F7);border-radius:10px;padding:3px;margin-inline-start:auto;margin-inline-end:8px}
.spch button{border:0;background:none;font:inherit;font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;color:var(--muted);cursor:pointer}
.spch button[aria-selected="true"]{background:var(--pane,#fff);color:var(--ink);box-shadow:0 1px 3px rgba(10,26,51,.15)}
.sphead{flex-wrap:wrap;gap:8px}
/* Lead sources */
.lsgrid{display:flex;flex-direction:column;gap:10px;margin:0 0 6px}
.lscard{display:flex;align-items:center;gap:12px;width:100%;border:0;text-align:start;font:inherit;color:var(--ink);background:var(--pane,#fff);border-radius:18px;padding:13px;cursor:pointer;box-shadow:0 1px 2px rgba(10,26,51,.05),0 6px 18px -10px rgba(10,26,51,.18),0 0 0 1px rgba(10,26,51,.05)}
.lscard:active{transform:scale(.985)}
.lsi{width:46px;height:46px;flex:none;border-radius:15px;display:grid;place-items:center;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 6px 14px -6px rgba(10,26,51,.45)}
.lsi svg{width:24px;height:24px}
.lsi-wa{background:linear-gradient(135deg,#25D366,#128C7E)}.lsi-g{background:#fff;box-shadow:0 0 0 1px rgba(10,26,51,.1)}.lsi-m{background:linear-gradient(135deg,#0866FF,#0040C1)}.lsi-f{background:linear-gradient(135deg,#2A12D6,#1800AD)}.lsi-r{background:linear-gradient(135deg,#14B8A6,#0F766E)}
.lsm{flex:1;min-width:0;display:flex;flex-direction:column}.lsm b{font-size:15px}.lsm span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lsr{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}
.lsr b{font-size:17px;line-height:1}.lsr small{font-size:10.5px;color:var(--muted)}
.embedcode{width:100%;font:12px/1.45 ui-monospace,Menlo,monospace;background:#0B1630;color:#C7D2FE;border-radius:12px;padding:10px;border:0;resize:none}

/* ---------- Sales: submitted quote cards (budget-card style, blue) ---------- */
.qcx{background:var(--pane)!important;box-shadow:0 1px 2px rgba(10,26,51,.04),0 10px 30px -14px rgba(10,26,51,.22)!important}
.qx-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.qx-lbl em{font-style:normal;overflow:hidden;text-overflow:ellipsis}
.qx-chip svg{width:14px;height:14px}
.qx-st-Lost .qx-chip{background:#8A909C;box-shadow:none}
.qx-amt{font-weight:750;letter-spacing:-.03em;color:var(--ink);line-height:1.1}
.qx-who{display:flex;min-width:0}
.qx-foot{display:flex;justify-content:space-between;gap:12px}
.qx-foot > div{display:flex;flex-direction:column;min-width:0}
.qx-foot > div:last-child{text-align:end}
.qx-foot small{color:#8A909C;font-weight:500}
.qx-foot b{font-weight:600;color:var(--ink);margin-top:1px}
.qx-acts{display:flex;}
.qx-main{flex:1;border:0;border-radius:30px;background:linear-gradient(180deg,#2E46E8 0%,#1800AD 100%);color:#fff;font:inherit;font-weight:600;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -2px 0 rgba(0,0,0,.18),0 8px 18px -8px rgba(24,0,173,.6)}
.qlist:has(> .qcx){display:flex;flex-direction:column;gap:14px}

/* compact + slide by slide */
.qxslide{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding:4px 16px 14px;scroll-padding:0 16px}
.qxslide::-webkit-scrollbar{display:none}
.qxslide > .qcx{flex:0 0 calc(100% - 28px);scroll-snap-align:start;scroll-snap-stop:always;margin:0!important}
.qxslide > .qcx:only-child{flex-basis:100%}
.qcx{padding:14px 15px 13px!important;border-radius:20px!important}
.qx-chip{height:26px;padding-block:0 0;padding-inline:10px 8px;font-size:11.5px;border-radius:8px}
.qx-amt{margin-top:6px;font-size:26px}
.qx-who{margin-top:2px;flex-direction:row;align-items:baseline;gap:6px}
.qx-who b{font-size:14.5px;flex:none;max-width:60%}
.qx-who span{font-size:12.5px;min-width:0}
.qx-who span::before{content:"· "}
.qx-bar{margin-top:10px;height:6px}
.qx-foot{margin-top:7px}
.qx-foot small{font-size:11.5px}
.qx-foot b{font-size:14.5px}
.qx-acts{margin-top:11px;gap:7px}
.qx-main{height:44px;font-size:15.5px}
.qx-main{white-space:nowrap;padding:0 18px!important;min-width:max-content}
.qxdots{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 0 6px}
.qxn{font-size:12px;font-weight:600;color:#8A909C;margin-inline-end:6px}
.hubic{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 4px 10px -5px rgba(10,26,51,.4)}
.hubic{color:#fff}.hubic svg{width:22px;height:22px}
.hubsoon{flex:none;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.03em;color:#6D28D9;background:rgba(109,40,217,.1);padding:4px 8px;border-radius:8px;text-transform:uppercase}
.dfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-block:0 10px;padding-inline:64px 14px;margin-top:-4px}
.dwhy{font-size:12px;color:var(--muted)}
.drback{border:0;background:#E8EEFF;color:#1A16B8;font:inherit;font-size:12.5px;font-weight:600;border-radius:999px;padding:6px 12px;cursor:pointer}
.mtc-ic svg{width:20px;height:20px}
.qexp{padding:12px;border-radius:14px;background:var(--warn-bg);margin:0 0 12px}.qexph{display:flex;align-items:center;gap:8px;margin-bottom:6px}.qexph svg{width:18px;height:18px;color:var(--warn)}
.qexr{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid color-mix(in srgb,var(--warn) 20%,transparent)}.qexm{flex:1;min-width:0;border:0;background:none;text-align:start;font:inherit;color:var(--ink);cursor:pointer;padding:0}.qexm b{display:block;font-size:14px}.qexm span{font-size:12px;color:var(--ink2)}
.roitbl{border:1px solid var(--line);border-radius:14px;background:var(--pane);overflow-x:auto;margin-bottom:6px}
.roih,.roir{display:grid;grid-template-columns:minmax(110px,1.6fr) repeat(6,minmax(58px,1fr));gap:6px;padding:9px 12px;align-items:center;min-width:560px}
.roih{background:var(--glass);font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase}.roih span:not(:first-child),.roir span:not(:first-child){text-align:end}
.roir{border-top:1px solid var(--line);font-size:13.5px}.roir small{display:block;font-size:11px;color:var(--muted);font-weight:500}
.tln{position:relative;padding-inline-start:4px}
.discov{position:fixed;inset:0;z-index:80;background:rgba(10,12,18,.5);display:flex;align-items:center;justify-content:center;padding:16px}
.discbox{background:var(--pane);border-radius:18px;padding:18px;max-width:380px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3)}.discbox b{font-size:16px}.discbox p{font-size:13.5px;color:var(--ink2)}
.discbox input{width:100%;height:42px;border-radius:10px;border:1px solid var(--line);padding:0 10px;font:inherit;background:var(--bg);color:var(--ink)}.discbt{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.ctlh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ctlh b{font-size:15px}
.ctlg{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.ctlb{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media (max-width:700px){.ctlg{grid-template-columns:repeat(3,1fr)}}
.lboard{display:flex;flex-direction:column;gap:8px}.lbr{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--pane);box-shadow:0 0 0 1px var(--line)}
.lbm{width:26px;text-align:center;font-size:18px;font-weight:800;color:var(--muted)}.lbt{flex:1;min-width:0}.lbt b{display:block;font-size:14px}.lbt small{font-size:12px;color:var(--ink2)}
.lbbar{height:6px;border-radius:999px;background:var(--glass);margin-top:5px;overflow:hidden}.lbbar i{display:block;height:100%;background:#16A34A;border-radius:999px}.lbp{font-size:15px}
.csrule{display:flex;gap:6px;margin-top:8px;align-items:center}.csrule select,.csrule input{height:38px;border-radius:10px;border:1px solid var(--line);padding:0 8px;font:inherit;font-size:13px;background:var(--bg);color:var(--ink);min-width:0}.csrule input{flex:1}
.halert[data-dk]{padding-inline-end:52px!important}
/* 2.76.1: Vegobot Drawings */
.adnocl{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.adnocl small{color:#5B6178;font-size:12.5px;line-height:1.35}
/* Cancel leads (22 Oct 2026): Leads → Select, the bar at the foot, the Cancelled leads folder */
.lhbtns{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lhbtns .btn em{font-style:normal;font-weight:700;margin-inline-start:4px;color:var(--brand-fg)}
.lselrow{gap:12px;padding:11px 14px}
.lselrow .meta{display:block;font-size:12.5px;color:var(--muted)}
.lselck{width:22px;height:22px;border-radius:7px;border:2px solid var(--line);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;font-weight:800;color:#fff}
.lselrow.on{background:var(--glass)}
.lselrow.on .lselck{background:#3461DC;border-color:#3461DC}
.lselkeep{font-style:normal;color:var(--brand-fg);font-weight:600}
#leadsel{margin-bottom:190px}
.lselbar{position:fixed;z-index:61;inset-inline:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--pane);border:1px solid var(--line);border-radius:16px;box-shadow:var(--lift);padding:10px 12px}
.lselbar .grow{flex:1}
.lselbar .btn.bad{background:#FDE8E8;color:#B91C1C}
.lselbar .btn[disabled]{opacity:.45}
@media (min-width:900px){.lselbar{bottom:16px;inset-inline-start:auto;width:min(560px,calc(100% - 32px))}}
.lcandl{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.lcanrow{gap:10px;padding:11px 14px;cursor:default}
.lcanrow .meta{display:block;font-size:12.5px;color:var(--muted)}
/* above Vegobot's "A drawing to finish" card (same place, z-index 60) while selecting; hidden under an open sheet */
body:has(#sheet.open) .lselbar{display:none}
/* CRM Home "Your work" (owner's sample, 23 Oct 2026): white card, title + View all, tiles in two columns, each its own soft
   colour, the name on the left and a picture on the right behind a slanted edge. No orange (owner's rule). */
.wkcard{background:var(--pane);border-radius:22px;padding:16px 14px 14px;margin:16px 0 12px;box-shadow:0 1px 0 rgba(16,24,40,.03),0 18px 36px -22px rgba(16,24,64,.28);border:1px solid var(--line)}
.wkhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 12px}
.wkh{font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.2}
.wkall{border:0;background:none;padding:6px 2px;font:inherit;font-size:14px;font-weight:600;color:var(--brand-fg);cursor:pointer}
.wkgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wkt{position:relative;display:flex;align-items:center;min-height:78px;border:0;border-radius:16px;padding:0;overflow:hidden;cursor:pointer;text-align:start;font:inherit;background:linear-gradient(135deg,var(--wa),var(--wb));color:var(--wi);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);transition:transform .12s}
.wkt:active{transform:scale(.97)}
.wkt:last-child:nth-child(odd){grid-column:1/-1}
.wkt-tx{position:relative;z-index:2;display:flex;flex-direction:column;gap:3px;padding:12px 0 12px 13px;width:64%;min-width:0}
.wkt-tx b{white-space:nowrap;font-size:15px;font-weight:700;line-height:1.15;letter-spacing:-.01em}
.wkt-tx small{font-size:11.5px;font-weight:600;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wkt-pic{position:absolute;inset-block:0;inset-inline-end:0;width:46%;z-index:1;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}
.wkt-pic::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 38%)}
.wkt-pic img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.wkt:last-child:nth-child(odd) .wkt-pic{width:42%}
[dir="rtl"] .wkt-tx{padding:12px 13px 12px 0}
[dir="rtl"] .wkt-pic{clip-path:polygon(0 0,70% 0,100% 100%,0 100%)}
[dir="rtl"] .wkt-pic::before{background:linear-gradient(260deg,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 38%)}
.wk-sky{--wa:#E3F1FF;--wb:#B9DBFF;--wi:#0B3A6E}
.wk-teal{--wa:#DDF6F1;--wb:#AEE7DC;--wi:#0B5149}
.wk-rose{--wa:#FDE6EA;--wb:#F7BFCB;--wi:#7A1F33}
.wk-indigo{--wa:#E7E8FF;--wb:#C3C6FF;--wi:#2A2C8A}
.wk-green{--wa:#E2F6E6;--wb:#B5E5BF;--wi:#155C2A}
.wk-blue{--wa:#E0E9FF;--wb:#B3C7FF;--wi:#173A9C}
:root[data-theme="dark"] .wkcard{box-shadow:none}
:root[data-theme="dark"] .wkt{--wi:#F2F3F6;box-shadow:none}
:root[data-theme="dark"] .wk-sky{--wa:#173452;--wb:#1E4A78}
:root[data-theme="dark"] .wk-teal{--wa:#103D39;--wb:#16564F}
:root[data-theme="dark"] .wk-rose{--wa:#431C27;--wb:#5E2737}
:root[data-theme="dark"] .wk-indigo{--wa:#23245A;--wb:#30327A}
:root[data-theme="dark"] .wk-green{--wa:#143A20;--wb:#1C5230}
:root[data-theme="dark"] .wk-blue{--wa:#1A2A5C;--wb:#24397D}
:root[data-theme="dark"] .wkt-pic::before{background:linear-gradient(100deg,rgba(0,0,0,.35) 0,rgba(0,0,0,0) 38%)}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .wkcard{box-shadow:none}
  :root:not([data-theme="light"]) .wkt{--wi:#F2F3F6;box-shadow:none}
  :root:not([data-theme="light"]) .wk-sky{--wa:#173452;--wb:#1E4A78}
  :root:not([data-theme="light"]) .wk-teal{--wa:#103D39;--wb:#16564F}
  :root:not([data-theme="light"]) .wk-rose{--wa:#431C27;--wb:#5E2737}
  :root:not([data-theme="light"]) .wk-indigo{--wa:#23245A;--wb:#30327A}
  :root:not([data-theme="light"]) .wk-green{--wa:#143A20;--wb:#1C5230}
  :root:not([data-theme="light"]) .wk-blue{--wa:#1A2A5C;--wb:#24397D}
  :root:not([data-theme="light"]) .wkt-pic::before{background:linear-gradient(100deg,rgba(0,0,0,.35) 0,rgba(0,0,0,0) 38%)}
}
/* CRM bottom bar in the owner's sample (iconly, 23 Oct 2026): outline grey icons; the chosen tab blue with a filled icon.
   Icons come from register.js (navIcons). 5.9.79 (merged 24 Oct): the bar itself and its + are not styled here — they stay
   the same as in every module (5.9.63, owner 23 Oct 15:17: "like Projects and Accounts"), so the sample's glass pill and
   bigger + were left out (light and dark). */
html body[data-mod="crm"] #bnav.bnav button{color:#8B909A!important;font-weight:500!important;background:transparent!important;box-shadow:none!important}
html body[data-mod="crm"] #bnav.bnav button span{font-size:12.5px!important;letter-spacing:0!important}
html body[data-mod="crm"] #bnav.bnav button:not(.axplus) svg{width:26px!important;height:26px!important;color:#8B909A!important;filter:none!important;transform:none!important}
html body[data-mod="crm"] #bnav.bnav button .nis{display:none}
html body[data-mod="crm"] #bnav.bnav button[aria-current="true"]{color:#2F6BFF!important;font-weight:600!important}
html body[data-mod="crm"] #bnav.bnav button[aria-current="true"]:not(.axplus) svg{color:#2F6BFF!important}
html body[data-mod="crm"] #bnav.bnav button[aria-current="true"] .nio{display:none}
html body[data-mod="crm"] #bnav.bnav button[aria-current="true"] .nis{display:block}
:root[data-theme="dark"] body[data-mod="crm"] #bnav.bnav button,:root[data-theme="dark"] body[data-mod="crm"] #bnav.bnav button:not(.axplus) svg{color:#8C93A3!important}
:root[data-theme="dark"] body[data-mod="crm"] #bnav.bnav button[aria-current="true"],:root[data-theme="dark"] body[data-mod="crm"] #bnav.bnav button[aria-current="true"]:not(.axplus) svg{color:#6E9BFF!important}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) body[data-mod="crm"] #bnav.bnav button,:root:not([data-theme="light"]) body[data-mod="crm"] #bnav.bnav button:not(.axplus) svg{color:#8C93A3!important}
  :root:not([data-theme="light"]) body[data-mod="crm"] #bnav.bnav button[aria-current="true"],:root:not([data-theme="light"]) body[data-mod="crm"] #bnav.bnav button[aria-current="true"]:not(.axplus) svg{color:#6E9BFF!important}
}
/* CRM list icons in the style of the owner's samples 1 and 2: a blue rounded square with a soft shine, the picture in
   frosted white (More and other lists built from tiles) */
html body[data-mod="crm"] .hubrow .axti:not(.vbot-ic){border-radius:14px!important;background:linear-gradient(160deg,#4C93FF 0%,#2F6BFF 52%,#1D55E0 100%)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -6px 12px rgba(10,40,140,.25),0 8px 16px -8px rgba(47,107,255,.65)!important;position:relative;overflow:hidden}
html body[data-mod="crm"] .hubrow .axti:not(.vbot-ic)::before{content:"";position:absolute;inset:0 0 50% 0;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0));pointer-events:none}
html body[data-mod="crm"] .hubrow .axti:not(.vbot-ic) svg{position:relative;width:25px;height:25px;color:#F4F8FF!important;filter:drop-shadow(0 2px 3px rgba(10,30,120,.35))}
/* 5.9.82 (owner 25 Oct, item 1): the WhatsApp inbox and the chat with a lead — the client's messages on the start side,
   the company's replies on the end side in a light blue, with who sent it, the time and Meta's ticks */
#sheet .sbody.wachat{display:flex;flex-direction:column;flex:1 1 auto;min-height:180px}
.wathread{display:flex;flex-direction:column;gap:8px;padding:2px 0 6px;margin-top:auto}
.wab{max-width:84%;align-self:flex-start;background:var(--pane);box-shadow:inset 0 0 0 1px var(--line);border-radius:16px 16px 16px 6px;padding:8px 12px 6px;font-size:14.5px;line-height:1.4;color:var(--ink)}
.wab.out{align-self:flex-end;background:color-mix(in srgb,var(--brand-fg) 14%,var(--pane));box-shadow:none;border-radius:16px 16px 6px 16px}
.wab.failed{box-shadow:inset 0 0 0 1px var(--bad)}
.wab .wat{white-space:pre-wrap;overflow-wrap:anywhere}
.wab small{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;align-items:center;font-size:11.5px;color:var(--muted);margin-top:3px}
.wab.in small{justify-content:flex-start}
.watick{font-size:11px;letter-spacing:-2px;color:var(--muted);padding-inline-end:2px}
.watick.read{color:var(--brand-fg)}
.watick.fail{color:var(--bad);letter-spacing:0;font-weight:700}
.waerr{display:block;font-style:normal;font-size:12px;color:var(--bad);margin-top:2px}
.waempty{color:var(--muted);text-align:center;margin:24px 0}
.wafoot{padding:10px 16px 12px;border-top:1px solid var(--line);background:var(--bg)}
.wacompose{display:flex;gap:8px;align-items:flex-end}
.wacompose textarea{flex:1;min-width:0;min-height:44px;max-height:140px;resize:none;border:1px solid var(--line);border-radius:22px;padding:11px 14px;font:inherit;font-size:15px;line-height:1.35;background:var(--pane);color:var(--ink)}
.wacompose .wasend{flex:none;height:44px;border-radius:22px;padding:0 18px}
.wacompose.off,.wacompose.closed{flex-direction:column;align-items:stretch;gap:8px}
.wacompose.off p,.wacompose.closed p{margin:0;font-size:13.5px;color:var(--ink2)}
.wacrow{display:flex;gap:8px;flex-wrap:wrap}
.wacrow.sm{margin-top:6px}
.watpl{background:var(--pane);border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);padding:12px 14px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.watpl b small{font-weight:500;color:var(--muted)}
.watpl p{margin:0;white-space:pre-wrap;font-size:14px}
.watplf{display:flex;align-items:center;gap:8px;width:100%}
.watplf span{min-width:18px;color:var(--muted);font-size:12px;text-align:center}
.watplf input{flex:1;min-width:0;height:38px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font:inherit;background:var(--bg);color:var(--ink)}
.wainrow .watime{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}
.wainrow .watime small{color:var(--muted);font-size:11.5px}
.wabadge2{font-style:normal;font-size:11px;font-weight:700;color:#fff;background:var(--brand-fg);border-radius:999px;padding:1px 8px}
.wainrow.wait .nm{font-weight:700}
.wachips .chip b{margin-inline-start:6px}
/* Meta Ads results (crm/connect/meta-ads.js) */
.macard{margin-top:14px;padding:12px;border-radius:16px;background:var(--glass)}
.macard .mahead{display:flex;flex-direction:column;margin-bottom:10px}.macard .mahead span{font-size:12px;color:var(--muted)}
.macard .spkpis{margin-top:0}.macard .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.malist{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.matable{margin-top:10px;display:flex;flex-direction:column}
.marow{display:grid;grid-template-columns:2fr 1fr .9fr .6fr 1fr;gap:6px;align-items:center;padding:8px 2px;border-top:1px solid var(--line);font-size:13px}
.marow.mah{font-size:11.5px;color:var(--muted);font-weight:700;border-top:0}.marow .man{font-weight:700;overflow-wrap:anywhere}
.marow.sub .man{font-weight:500;padding-inline-start:12px;color:var(--muted)}.marow .cpl{font-weight:700}.marow.hi .cpl{color:var(--bad)}
@media (max-width:520px){.marow{grid-template-columns:1.6fr 1fr .6fr 1fr}.marow > div:nth-child(3){display:none}}
/* CRM Home tidy (26 Oct 2026): the Updates bell beside View all, and the one small Vegobot card */
.wkr{display:inline-flex;align-items:center;gap:6px}
.wkupd{position:relative;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:12px;background:var(--glass);color:var(--brand-fg);cursor:pointer}
.wkupd svg{width:21px;height:21px}
.wkupd em{position:absolute;top:-4px;inset-inline-end:-4px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:#EF4444;color:#fff;font-style:normal;font-size:11px;font-weight:700;display:grid;place-items:center}
.botmini{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:0 0 14px;border-radius:18px;background:var(--pane);border:1px solid var(--line);box-shadow:0 10px 24px -18px rgba(16,24,64,.3)}
.botmini img{width:42px;height:42px;object-fit:contain;flex:none}
.bm-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.bm-tx b{font-size:15px;color:var(--ink)}
.bm-tx small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bm-acts{display:flex;gap:6px;flex:none}

/* More icons (owner, 26 Oct 2026): the owner's 3D icons, three in a row, label under */
.micogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 8px;margin:6px 0 20px}
.mico{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;background:none;border:0;padding:4px 2px;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mico img{width:62px;height:62px;border-radius:17px;box-shadow:0 6px 14px rgba(27,36,64,.14);transition:transform .15s}
.mico:active img{transform:scale(.92)}
.mico b{font-size:12.5px;font-weight:600;color:var(--ink,#1B2440);line-height:1.25;text-align:center}
:root[data-theme="dark"] .mico b{color:#E6E9F2}
:root[data-theme="dark"] .mico img{box-shadow:none}

/* Bottom bar 06 "Center FAB" (owner's sample, 26 Oct 2026): a white bar docked to the bottom with a round notch in the
   middle; the + sits raised in the notch as a blue circle (the app colour); the chosen tab blue with its filled icon. */
html body[data-mod="crm"] #bnav.bnav{left:0!important;right:0!important;inset-inline-start:0!important;inset-inline-end:0!important;bottom:0!important;height:calc(72px + env(safe-area-inset-bottom,0px))!important;padding:0 6px env(safe-area-inset-bottom,0px)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;align-items:flex-start!important;filter:drop-shadow(0 -3px 12px rgba(20,32,70,.10))}
html body[data-mod="crm"] #bnav.bnav::before{content:"";position:absolute;inset:0;border-radius:24px 24px 0 0;background:#fff;-webkit-mask:radial-gradient(circle 39px at 50% -6px,#0000 97%,#000 100%);mask:radial-gradient(circle 39px at 50% -6px,#0000 97%,#000 100%);pointer-events:none;z-index:0}
html body[data-mod="crm"] #bnav.bnav button{position:relative;z-index:1;height:64px!important;margin-top:4px!important}
html body[data-mod="crm"] #bnav.bnav button.axplus{flex:0 0 84px!important}
/* stronger than the shared rule that makes the + the same 52 button everywhere (velbil.css 5.9.63/5.9.80, 36 :not()s) */
html:not(#p0):not(#p1):not(#p2):not(#p3):not(#p4):not(#p5):not(#p6):not(#p7):not(#p8):not(#p9):not(#p10):not(#p11):not(#p12):not(#p13):not(#p14):not(#p15):not(#p16):not(#p17):not(#p18):not(#p19):not(#p20):not(#p21):not(#p22):not(#p23):not(#p24):not(#p25):not(#p26):not(#p27):not(#p28):not(#p29):not(#p30):not(#p31):not(#p32):not(#p33):not(#p34):not(#p35):not(#p36):not(#p37):not(#p38):not(#p39) body[data-mod="crm"] #bnav.bnav button.axplus .axplus-c{width:58px!important;height:58px!important;transform:translateY(-40px)!important;min-width:58px!important;min-height:58px!important;border-radius:50%!important;background:linear-gradient(160deg,#5C98FF 0%,#2F6BFF 55%,#1F55E0 100%)!important;box-shadow:0 10px 22px -4px rgba(47,107,255,.55)!important;color:#fff!important}
html:not(#p0):not(#p1):not(#p2):not(#p3):not(#p4):not(#p5):not(#p6):not(#p7):not(#p8):not(#p9):not(#p10):not(#p11):not(#p12):not(#p13):not(#p14):not(#p15):not(#p16):not(#p17):not(#p18):not(#p19):not(#p20):not(#p21):not(#p22):not(#p23):not(#p24):not(#p25):not(#p26):not(#p27):not(#p28):not(#p29):not(#p30):not(#p31):not(#p32):not(#p33):not(#p34):not(#p35):not(#p36):not(#p37):not(#p38):not(#p39) body[data-mod="crm"] #bnav.bnav button.axplus svg{color:#fff!important;width:28px!important;height:28px!important}
html:not(#p0):not(#p1):not(#p2):not(#p3):not(#p4):not(#p5):not(#p6):not(#p7):not(#p8):not(#p9):not(#p10):not(#p11):not(#p12):not(#p13):not(#p14):not(#p15):not(#p16):not(#p17):not(#p18):not(#p19):not(#p20):not(#p21):not(#p22):not(#p23):not(#p24):not(#p25):not(#p26):not(#p27):not(#p28):not(#p29):not(#p30):not(#p31):not(#p32):not(#p33):not(#p34):not(#p35):not(#p36):not(#p37):not(#p38):not(#p39) body[data-mod="crm"] #bnav.bnav button.axplus:active .axplus-c{transform:translateY(-37px) scale(.96)!important}
:root[data-theme="dark"] body[data-mod="crm"] #bnav.bnav::before{background:#171B24}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body[data-mod="crm"] #bnav.bnav::before{background:#171B24}}
