:root{--brand:#17181c;--lime:#c6f24e;--lime-ink:#17181c;--dark:#17181c;--dark-2:#1f2126;--dark-3:#26282e;--dark-line:#2c2e35;--dark-ink:#f2f3f5;--dark-muted:#9ba0ab;--dark-faint:#6b7079;--good:#22c55e;--good-bg:#e4f7ec;--warn:#f59e0b;--warn-bg:#fdf1dd;--bad:#ef4444;--bad-bg:#fbe6e6;--neutral:#6b7688;--accent:#2e58cc;--accent-soft:#eef2fb;--meta:#1877f2;--ground:#f4f3ee;--surface:#fff;--surface-2:#f7f6f1;--ink:#1a1b1e;--muted:#6b7280;--faint:#9aa0aa;--line:#eae8e1;--line-strong:#dbd9d1;--th-bg:#1f2126;--th-ink:#eaeef7;--donut-ink:#fff;--donut-sub:#fff9;--tone-blue:46, 88, 204;--tone-green:34, 197, 94;--tone-amber:245, 158, 11;--tone-purple:139, 92, 214;--shadow:0 1px 2px #1e1e190a, 0 2px 10px #1e1e190d;--radius:14px;--radius-sm:9px;--font:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace}:root[data-theme=dark]{--ground:#0d0e12;--surface:#17181c;--surface-2:#1f2126;--ink:#f2f3f5;--muted:#9ba0ab;--faint:#6b7079;--line:#26282e;--line-strong:#363a41;--accent:#5b84ec;--accent-soft:#1e2a4a;--good-bg:#12321f;--warn-bg:#35260f;--bad-bg:#341617;--shadow:0 1px 2px #0006, 0 6px 20px #0000004d}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}a{color:inherit}.ops-shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.ops-nav{background:var(--dark);color:var(--dark-ink);flex-direction:column;gap:24px;padding:20px 14px;display:flex}.ops-brand{letter-spacing:-.01em;padding:0 8px;font-weight:700}.ops-brand span{color:var(--dark-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:11px;font-weight:500;display:block}.ops-nav-list{flex-direction:column;gap:2px;display:flex}.ops-nav-link{color:var(--dark-muted);border-radius:8px;padding:8px 10px;font-weight:500;text-decoration:none;display:block}.ops-nav-link:hover{background:var(--dark-2);color:var(--dark-ink)}.ops-nav-link[aria-current=page]{background:var(--lime);color:var(--lime-ink);font-weight:600}.ops-nav-foot{color:var(--dark-faint);flex-direction:column;gap:8px;margin-top:auto;padding:0 8px;font-size:12px;display:flex}.ops-main{max-width:1280px;padding:28px 32px 64px}.ops-title{letter-spacing:-.02em;margin:0 0 4px;font-size:22px}.ops-sub{color:var(--muted);margin:0 0 24px}.ops-empty{border:1px dashed var(--line-strong);color:var(--muted);background:var(--surface);border-radius:12px;padding:32px}.btn{appearance:none;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;padding:8px 14px;font-weight:500}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--lime);border-color:var(--lime);color:var(--lime-ink);font-weight:600}.btn[disabled]{opacity:.55;cursor:not-allowed}.ops-signout{color:var(--dark-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.ops-login{background:var(--dark);place-items:center;min-height:100vh;padding:24px;display:grid}.ops-login-card{background:var(--surface);width:100%;max-width:340px;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:8px;padding:28px;display:flex}.ops-login-card h1{letter-spacing:-.02em;margin:0;font-size:20px}.ops-login-sub{color:var(--muted);margin:0 0 12px;font-size:13px}.ops-login-card label{color:var(--muted);font-size:12px;font-weight:600}.ops-login-card input{border:1px solid var(--line-strong);font:inherit;background:var(--surface);color:var(--ink);border-radius:8px;margin-bottom:6px;padding:9px 11px}.ops-login-msg{color:var(--muted);margin:4px 0 0;font-size:13px}@media (max-width:860px){.ops-shell{grid-template-columns:1fr}.ops-nav{flex-direction:row;align-items:center;gap:12px;overflow-x:auto}.ops-nav-list{flex-direction:row}.ops-nav-foot{margin-top:0}.ops-main{padding:20px 16px 48px}}.ops-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.ops-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;padding:16px;display:flex}.ops-card-link{flex-direction:column;gap:2px;text-decoration:none;display:flex}.ops-card-title{letter-spacing:-.01em;font-weight:600}.ops-card-meta{color:var(--muted);font-size:12px}.ops-card-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.ops-chip{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:12px}.pstats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:18px;display:grid}.pstat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.pstat .pv{letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.1}.pstat .pl{color:var(--faint);margin-top:4px;font-size:12px}.pstat.hot{border-color:color-mix(in srgb, var(--warn) 40%, var(--line))}.pstat.hot .pv{color:var(--warn)}.pseg{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.pseg button{color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:5px 12px;font-size:13px;font-weight:600}.pseg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.kanban{grid-auto-columns:minmax(248px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.kcol{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;min-height:180px;padding:10px;display:flex}.kcol.dragover{border-color:var(--accent);background:var(--accent-soft)}.kcol-head{color:var(--ink);align-items:center;gap:8px;padding:2px 4px;font-size:12.5px;font-weight:700;display:flex}.kcol-head .dot{border-radius:999px;width:9px;height:9px}.kcol-head .kcount{color:var(--faint);background:var(--surface);border:1px solid var(--line);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px}.kcard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);cursor:grab;border-radius:12px;gap:8px;padding:12px;display:grid}.kcard:hover{border-color:var(--line-strong)}.kcard.dragging{opacity:.5}.kcard-top{align-items:flex-start;gap:8px;display:flex}.kcard-name{font-size:13.5px;font-weight:600;line-height:1.25}.kcard-dom{color:var(--faint);font-size:11.5px}.kcard-meta{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.ptag{color:#fff;white-space:nowrap;border-radius:6px;padding:1px 7px;font-size:10px;font-weight:600}.ptag.soft{background:var(--surface-2);color:var(--faint);border:1px solid var(--line)}.kcard-dm{color:var(--muted);border-top:1px dashed var(--line);align-items:center;gap:6px;padding-top:7px;font-size:11.5px;display:flex}.oppdot{color:#fff;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:700}.pdrawer-ov{z-index:60;background:#0a0c126b;justify-content:flex-end;display:flex;position:fixed;inset:0}.pdrawer{background:var(--bg);border-left:1px solid var(--line);align-content:start;gap:16px;width:min(560px,94vw);height:100%;padding:20px 22px 40px;display:grid;overflow-y:auto;box-shadow:-18px 0 48px #0000002e}.pdrawer h3{text-transform:uppercase;letter-spacing:.04em;color:var(--faint);margin:0 0 8px;font-size:12px}.pdrawer-hd{align-items:flex-start;gap:12px;display:flex}.pdrawer-hd .nm{letter-spacing:-.01em;font-size:20px;font-weight:700}.pdrawer-x{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:32px;height:32px;color:var(--faint);border-radius:8px;margin-left:auto;font-size:16px}.pgrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pfield{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.pfield .fl{color:var(--faint);font-size:11px}.pfield .fv{margin-top:2px;font-size:14px;font-weight:600}.pdm{background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:3px;padding:10px 12px;display:grid}.pdm .dmn{font-size:13.5px;font-weight:600}.pdm .dmt{color:var(--faint);font-size:12px}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.pcard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;gap:12px;padding:16px;display:grid}.pcard-hd{align-items:center;gap:8px;display:flex}.pcard-name{letter-spacing:-.01em;font-size:16px;font-weight:700}.pcard-hd .ptag{margin-left:auto}.pcard-meta{gap:6px;display:grid}.pcard-meta>div{justify-content:space-between;font-size:12.5px;display:flex}.pcard-k{color:var(--faint)}.pcard-v{font-weight:600}.block{margin-bottom:40px}.block-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.block-head h2{letter-spacing:-.01em;margin:0;font-size:17px}.block-head .sub{color:var(--muted);font-size:12.5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card.pad{padding:16px}.chip{border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.chip.good{color:var(--good);background:var(--good-bg)}.chip.warn{color:var(--warn);background:var(--warn-bg)}.chip.bad{color:var(--bad);background:var(--bad-bg)}.chip.neutral{color:var(--neutral);background:var(--surface-2)}.tbl-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow-x:auto}table.data{border-collapse:collapse;width:100%;min-width:640px;font-size:13px}table.data thead th{background:var(--th-bg);color:var(--th-ink);text-align:right;white-space:nowrap;padding:11px 13px;font-size:12px;font-weight:600;position:sticky;top:0}table.data thead th:first-child{text-align:left}table.data tbody td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 13px}table.data tbody td:first-child{text-align:left;font-weight:500}table.data tbody tr:hover td{background:var(--surface-2)}.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong)}.ops-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.ops-crumb{color:var(--muted);margin:0 0 6px;font-size:12px}.ops-tabs{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;gap:2px;margin-bottom:18px;padding:3px;display:inline-flex}.ops-tabs button{appearance:none;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 12px;font-weight:500}.ops-tabs button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-weight:600}.ops-links{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.ops-links li{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.ops-linkx{appearance:none;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:12px;text-decoration:underline}.ops-linkform{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ops-linkform input,.ops-linkform select{border:1px solid var(--line-strong);font:inherit;background:var(--surface);color:var(--ink);border-radius:8px;padding:8px 10px}.ops-linkform input{min-width:200px}.bg-list{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.bg-item{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.bg-head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:12px 14px;display:flex}.bg-head:hover{background:var(--surface-2,#ffffff08)}.bg-name{font-weight:600}.bg-conf{opacity:.7;font-size:12px}.bg-swatches{gap:4px;margin-left:auto;display:inline-flex}.bg-swatches i{border:1px solid var(--line);border-radius:4px;width:16px;height:16px}.bg-body{border-top:1px solid var(--line);padding:4px 14px 16px}.bg-h3{text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin:16px 0 8px;font-size:13px}.bg-colors{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.bg-colors li{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.bg-colors i{border:1px solid var(--line);border-radius:6px;flex:none;width:26px;height:26px}.bg-colors b{font-size:13px}.bg-colors code{opacity:.7;margin-left:auto;font-size:12px}.bg-cmd{border:1px solid var(--line);background:var(--bg,#0b0b0c);border-radius:6px;margin:0;padding:8px 10px;font-size:13px;overflow-x:auto}.bg-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.calls-bar{align-items:center;gap:12px;margin:18px 0 10px;display:flex}.calls-bar .btn{margin-left:auto}.calls-form{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:10px;margin-bottom:18px;padding:14px;display:grid}.calls-form-row{grid-template-columns:2fr 1fr 2fr;gap:10px;display:grid}.calls-form input,.calls-form textarea{border:1px solid var(--line);background:var(--bg,#0b0b0c);width:100%;color:inherit;font:inherit;border-radius:8px;padding:8px 10px}.calls-form textarea{resize:vertical;font-size:13px;line-height:1.5}.calls-form .btn{justify-self:start}.calls-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.calls-item{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.calls-head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:11px 14px;display:flex}.calls-head:hover{background:var(--surface-2,#ffffff08)}.calls-date{font-variant-numeric:tabular-nums;opacity:.65;flex:none;min-width:92px;font-size:12px}.calls-name{font-weight:600}.calls-head .chip{margin-left:auto}.calls-head .ops-chip+.chip{margin-left:0}.calls-body{border-top:1px solid var(--line);padding:4px 14px 16px}.calls-attach{align-items:center;gap:10px;margin:10px 0 4px;display:flex}.calls-attach label{opacity:.75;font-size:13px}.calls-attach select{border:1px solid var(--line);background:var(--bg,#0b0b0c);color:inherit;font:inherit;border-radius:8px;padding:6px 8px}.calls-h3{text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin:16px 0 8px;font-size:13px}.calls-pre{border:1px solid var(--line);background:var(--bg,#0b0b0c);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:420px;margin:0;padding:10px 12px;font-size:12.5px;line-height:1.6;overflow-y:auto}.pseg a{color:var(--faint);border-radius:7px;padding:5px 12px;font-size:13px;font-weight:600;text-decoration:none}.pseg a.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.lead-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}@media (max-width:900px){.lead-grid{grid-template-columns:1fr}}.lead-dl{grid-template-columns:160px 1fr;gap:8px 14px;margin:0;font-size:14px;display:grid}.lead-dl dt{color:var(--faint)}.lead-dl dd{margin:0}.lead-timeline{margin:0;padding:0;font-size:13px;list-style:none}.lead-timeline li{border-bottom:1px solid var(--line);padding:8px 0}.lead-timeline time{color:var(--faint);font-size:12px;display:block}.lead-form{flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:14px;display:flex}.lead-form label .wx-ov{z-index:70;justify-content:center;align-items:center}.lead-form label .wx-dialog{background:var(--bg);border:1px solid var(--line);border-radius:14px;gap:14px;width:min(720px,100vw - 32px);max-height:calc(100vh - 48px);padding:20px 22px;display:grid;overflow-y:auto;box-shadow:0 24px 64px #00000038}.lead-form label .wx-sub{color:var(--faint);font-size:12px}.lead-form label .wx-msg{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 12px;font-size:13px}.lead-form label .wx-msg.warn{color:var(--warn)}.lead-form label .wx-msg.bad{color:var(--bad)}.lead-form label .wx-targets{grid-template-columns:1fr 1fr;gap:10px;display:grid}.lead-form label .wx-targets label{color:var(--faint);gap:4px;font-size:12px;display:grid}.lead-form label .lead-form select,.lead-form label .lead-form input{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:6px 8px}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-list{gap:10px;display:grid}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:6px;padding:12px;display:grid}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-row.off{opacity:.6}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-row-hd{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-row textarea{width:100%}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-pick{flex-wrap:wrap;gap:12px;font-size:12px;display:flex}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-check{align-items:center;gap:6px;font-size:12px;display:flex}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-count{color:var(--faint);text-align:right;font-size:11px}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-count.warn{color:var(--warn)}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-out{margin-left:auto;font-size:12px;font-weight:600}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-out.sent{color:var(--good)}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-out.duplicate,:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-out.sent-unrecorded,:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-out.unknown,:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-out.skipped{color:var(--warn)}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-out.failed{color:var(--bad)}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-foot{justify-content:flex-end;align-items:center;gap:8px;display:flex}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-foot .wx-sub{margin-right:auto}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-badge{background:var(--surface-2);color:var(--good);border-radius:6px;padding:1px 6px;font-size:10px;font-weight:700}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-badge.replied{color:var(--warn)}:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-pick-cell{width:28px}@media (max-width:560px){:is(.lead-form label .lead-form select,.lead-form label .lead-form input) .wx-targets{grid-template-columns:1fr}}
