:root{--bg:#f8fafc;--card:#fff;--line:#e2e8f0;--line2:#f1f5f9;--ink:#0f172a;--ink2:#334155;--mute:#64748b;--mute2:#94a3b8;--dark:#0f172a;--green:#059669;--greenbg:#ecfdf5;--greenring:#a7f3d0;--rose:#e11d48;--rosebg:#fff1f2}
*,*:before,*:after{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:13px;line-height:1.4;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}
#root{height:100%}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
button:disabled{cursor:not-allowed;opacity:.5}
a{color:inherit;text-decoration:none}
svg{width:16px;height:16px;flex-shrink:0}
input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid #6366f1;outline-offset:1px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.muted{color:var(--mute)}
.app{display:flex;height:100vh;overflow:hidden}
.side{width:240px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}
.brand{height:56px;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--line)}
.logo{width:32px;height:32px;border-radius:8px;background:var(--dark);color:#fff;display:grid;place-items:center}
.brand-n{font-weight:600;font-size:13px;line-height:1.2}
.brand-s{font-size:11px;color:var(--mute);line-height:1.2}
.nav{padding:12px;display:grid;gap:2px}
.nav-i{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border-radius:6px;padding:6px 10px;font-weight:500;color:#475569}
.nav-i:hover{background:#f1f5f9}
.nav-i.on{background:var(--dark);color:#fff}
.nav-c{margin-left:auto;font-size:11px;font-variant-numeric:tabular-nums;color:var(--mute2)}
.nav-i.on .nav-c{color:#cbd5e1}
.me{margin-top:auto;padding:12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}
.avatar{width:32px;height:32px;border-radius:999px;background:#e2e8f0;color:var(--ink2);display:grid;place-items:center;font-size:11px;font-weight:600;flex-shrink:0}
.me-t{min-width:0;line-height:1.25}
.me-n{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}
.me-r{font-size:11px;color:var(--mute)}
.icon-btn{margin-left:auto;width:28px;height:28px;border-radius:6px;display:grid;place-items:center;color:var(--mute2)}
.icon-btn:hover{background:#f1f5f9;color:var(--ink)}
.main{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh;overflow:hidden}
.view{flex:1;min-height:0;display:flex;flex-direction:column}
.view.hidden{display:none}
.top{height:56px;flex-shrink:0;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 24px}
.top h1{font-size:15px;font-weight:600;margin:0;line-height:1.25}
.sub{font-size:11.5px;color:var(--mute);margin:0;line-height:1.3}
.search{margin-left:auto;position:relative}
.search-ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--mute2);display:flex}
.search-ico svg{width:14px;height:14px}
.search input{height:32px;width:280px;border:1px solid var(--line);background:#f8fafc;border-radius:6px;padding:0 40px 0 32px;font-size:12.5px;outline:none}
.search input:focus{background:#fff;border-color:#a5b4fc;box-shadow:0 0 0 3px #eef2ff}
.search input::placeholder{color:var(--mute2)}
.search input::-webkit-search-cancel-button{display:none}
.search kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--mute2);border:1px solid var(--line);border-radius:4px;padding:0 4px;background:#fff;font-family:inherit}
.bar{flex-shrink:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 24px;display:flex;align-items:center;gap:12px}
.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}
.filters-ico{color:var(--mute2);display:flex;margin-right:2px}
.filters-ico svg{width:14px;height:14px}
.chip-wrap{position:relative}
.chip{display:inline-flex;align-items:center;height:28px;border:1px solid var(--line);background:#fff;border-radius:6px;box-shadow:0 1px 2px rgba(15,23,42,.05);font-size:12px}
.chip-body{display:inline-flex;align-items:center;gap:4px;height:100%;padding:0 4px 0 8px;border-radius:6px 0 0 6px}
.chip-body:not(.static):hover{background:#f8fafc}
.chip-k{color:var(--mute)}
.chip-v{font-weight:500;color:var(--ink)}
.chip-x{height:100%;padding:0 6px 0 2px;color:var(--mute2);display:flex;align-items:center}
.chip-x:hover{color:var(--ink2)}
.chip-x svg{width:12px;height:12px}
.chip-add{display:inline-flex;align-items:center;gap:4px;height:28px;border:1px dashed #cbd5e1;border-radius:6px;padding:0 8px;font-size:12px;color:var(--mute)}
.chip-add:hover{border-color:var(--mute2);color:var(--ink);background:#f8fafc}
.chip-add svg{width:12px;height:12px}
.clear-all{font-size:12px;color:var(--mute);padding:0 6px}
.clear-all:hover{color:var(--ink)}
.pop{position:absolute;top:34px;left:0;z-index:40;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px rgba(15,23,42,.12);padding:10px;min-width:200px}
.pop-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--mute2);margin:0 2px 8px}
.state-grid{display:grid;grid-template-columns:repeat(6,44px);gap:4px;max-height:260px;overflow:auto}
.st{display:flex;align-items:center;justify-content:center;height:26px;border:1px solid var(--line);border-radius:5px;font-size:11.5px;font-weight:500;cursor:pointer;color:var(--ink2)}
.st input{position:absolute;opacity:0;pointer-events:none}
.st:hover{background:#f8fafc}
.st.on{background:var(--dark);border-color:var(--dark);color:#fff}
.pop-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}
.range{display:flex;gap:10px}
.range label{display:grid;gap:4px;font-size:11.5px;color:var(--mute)}
.range select{height:30px;border:1px solid var(--line);border-radius:6px;padding:0 8px;background:#fff;min-width:70px}
.opts{display:grid;gap:2px}
.opt{text-align:left;padding:6px 8px;border-radius:5px;font-size:12.5px}
.opt:hover{background:#f1f5f9}
.opt.on{background:#eef2ff;color:#3730a3;font-weight:500}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:6px;font-weight:500;font-size:12.5px;white-space:nowrap}
.btn.sm{height:28px;padding:0 10px;font-size:12px}
.btn svg{width:14px;height:14px}
.btn.dark{background:var(--dark);color:#fff}
.btn.dark:hover:not(:disabled){background:#1e293b}
.btn.ghost{border:1px solid var(--line);background:#fff;color:var(--ink2);box-shadow:0 1px 2px rgba(15,23,42,.04)}
.btn.ghost:hover:not(:disabled){background:#f8fafc}
.count{flex-shrink:0;font-size:12.5px;color:var(--mute);font-variant-numeric:tabular-nums;white-space:nowrap}
.count b{color:var(--ink);font-weight:600}
.alert{margin:10px 24px 0;padding:8px 12px;border:1px solid #fecdd3;background:var(--rosebg);color:#9f1239;border-radius:6px;display:flex;align-items:center;gap:10px;font-size:12.5px}
.alert .btn{margin-left:auto}
.table-scroll{position:relative;flex:1;min-height:0;overflow:auto;background:#fff;transition:opacity .15s}
.table-scroll.busy{opacity:.55}
table.grid{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
table.grid thead th{position:sticky;top:0;z-index:10;background:#f8fafc;border-bottom:1px solid var(--line);height:34px;padding:0 8px;text-align:left;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);white-space:nowrap}
table.grid thead th:first-child,table.grid tbody td:first-child{padding-left:24px}
table.grid th.num{text-align:right}
.th-btn{display:inline-flex;align-items:center;gap:4px;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500;color:var(--mute)}
.th-btn:hover,.th-btn.on{color:var(--ink)}
th.num .th-btn{flex-direction:row}
.th-ico{display:flex;color:#cbd5e1}
.th-btn.on .th-ico{color:var(--ink2)}
.th-ico svg{width:11px;height:11px}
table.grid tbody td{height:34px;padding:0 8px;border-bottom:1px solid var(--line2);vertical-align:middle;white-space:nowrap}
table.grid tbody tr:hover td{background:#f8fafc}
td.num{text-align:right;font-variant-numeric:tabular-nums}
td.strong{font-weight:500}
.co{display:flex;align-items:center;gap:8px;max-width:250px;min-width:0}
.ini{width:20px;height:20px;border-radius:5px;display:grid;place-items:center;font-size:9px;font-weight:600;flex-shrink:0}
.co-n{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:175px}
.co-d{font-size:11.5px;color:var(--mute2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.t-violet{background:#ede9fe;color:#6d28d9}.t-sky{background:#e0f2fe;color:#0369a1}.t-emerald{background:#d1fae5;color:#047857}.t-amber{background:#fef3c7;color:#b45309}.t-rose{background:#ffe4e6;color:#be123c}.t-teal{background:#ccfbf1;color:#0f766e}.t-indigo{background:#e0e7ff;color:#4338ca}.t-orange{background:#ffedd5;color:#c2410c}
.c-loc{color:#475569}
.c-loc .city{display:inline-block;max-width:120px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
.c-loc b{color:var(--ink);font-weight:500}
.tel{display:inline-flex;align-items:center;gap:6px;color:var(--ink2);font-variant-numeric:tabular-nums}
.tel-i{width:18px;height:18px;border-radius:4px;display:grid;place-items:center;background:var(--greenbg);color:var(--green);box-shadow:inset 0 0 0 1px var(--greenring)}
.tel-i svg{width:10px;height:10px}
.tel:hover{color:var(--ink)}
.tel:hover .tel-i{background:var(--green);color:#fff}
.c-em a{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;color:#475569}
.c-em a:hover{color:var(--ink);text-decoration:underline}
.c-ow{color:var(--ink2);max-width:125px;overflow:hidden;text-overflow:ellipsis}
th.act,td.act{width:1%;text-align:right;padding-right:24px!important}
.dnc-btn{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 6px;border-radius:5px;color:var(--mute2);font-size:11.5px;font-weight:500}
.dnc-btn svg{width:13px;height:13px}
.dnc-btn:hover{background:var(--rosebg);color:var(--rose)}
td.empty{text-align:center;color:var(--mute);height:120px!important}
.pager{flex-shrink:0;height:48px;border-top:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:12px;font-variant-numeric:tabular-nums}
.pager-b{display:flex;gap:6px}
.checking{padding:24px;color:var(--mute)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:100%;max-width:380px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 3px rgba(15,23,42,.06);padding:24px}
.login-brand{height:auto;padding:0 0 18px;border:0}
.login-card h1{font-size:17px;font-weight:600;margin:0 0 6px}
.login-card .alert{margin:8px 0}
.login-form{display:grid;gap:12px;margin-top:14px}
.login-form label{display:grid;gap:5px;font-size:12px;font-weight:500;color:var(--ink2)}
.login-form input{height:36px;border:1px solid var(--line);border-radius:6px;padding:0 10px;outline:none}
.login-form input:focus{border-color:#a5b4fc;box-shadow:0 0 0 3px #eef2ff}
.login-form .btn{height:36px;margin-top:4px}
.login-form .pw-wrap{position:relative;display:block}
.login-form .pw-wrap input{width:100%;padding-right:36px}
.login-form .pw-toggle{position:absolute;right:2px;top:0;width:32px;height:36px;display:grid;place-items:center;color:var(--mute);border-radius:6px}
.login-form .pw-toggle:hover{color:var(--ink)}
.work{flex:1;min-height:0;display:flex}
.work .table-scroll{flex:1;min-width:0}
table.grid tbody tr.row{cursor:pointer}
table.grid tbody tr.row.on td{background:#eef2ff}
table.grid tbody tr.row.on td:first-child{box-shadow:inset 3px 0 0 #6366f1}
table.grid.narrow th:nth-child(n+4):nth-child(-n+7),table.grid.narrow td:nth-child(n+4):nth-child(-n+7){display:none}
.panel{width:460px;flex-shrink:0;border-left:1px solid var(--line);background:#fff;overflow-y:auto;display:flex;flex-direction:column}
.p-head{display:flex;align-items:flex-start;gap:12px;padding:16px 20px 14px;position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid var(--line2)}
.p-ini{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:600;flex-shrink:0}
.p-ini.skel,.skel-line{background:#f1f5f9}
.p-title{min-width:0;flex:1}
.p-title h2{margin:0;font-size:16px;font-weight:600;line-height:1.3;color:var(--ink)}
.p-dba{font-size:12px;color:var(--mute);margin-top:1px}
.p-meta{font-size:12px;color:var(--mute);margin-top:2px;font-variant-numeric:tabular-nums}
.p-close{margin-left:0}
.p-alert{margin:12px 20px 0}
.p-empty{padding:20px;color:var(--mute)}
.p-body{display:flex;flex-direction:column}
.p-sum{margin:14px 20px 4px;padding:10px 12px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;font-size:12.5px;line-height:1.5;color:var(--ink2)}
.p-sec{padding:14px 20px;border-bottom:1px solid var(--line2)}
.p-sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.p-sec h3{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
.asof{font-size:11px;color:var(--mute2);text-align:right}
.person{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.avatar.sm{width:28px;height:28px;font-size:10px}
.person-n{font-weight:600;color:var(--ink)}
.person-r{font-size:11.5px;color:var(--mute)}
.p-actions{display:grid;grid-template-columns:1.6fr 1fr;gap:8px}
.p-actions .btn{height:36px;font-size:13px}
.btn.disabled{opacity:.45;cursor:not-allowed}
.p-line{margin-top:10px;font-size:12px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kv{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 0;font-size:12.5px}
.kv-k{color:var(--mute)}
.kv-v{text-align:right;color:var(--ink);font-weight:500;display:flex;flex-direction:column;align-items:flex-end}
.kv-h{font-size:11px;font-weight:400;color:var(--mute2)}
.tab{font-variant-numeric:tabular-nums}
.dash{color:var(--mute2);font-weight:400}
.badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;font-size:11.5px;font-weight:500;background:#f1f5f9;color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line)}
.badge.ok{background:var(--greenbg);color:#047857;box-shadow:inset 0 0 0 1px var(--greenring)}
.badge.warn{background:#fffbeb;color:#b45309;box-shadow:inset 0 0 0 1px #fde68a}
.crash{display:inline-flex;align-items:center;gap:5px;color:#c2410c}
.crash svg{width:13px;height:13px}
.p-foot{padding:14px 20px 20px}
.dnc-wide:hover{background:var(--rosebg)!important;color:var(--rose);border-color:#fecdd3}
.skel-line{height:12px;border-radius:4px;margin:14px 20px 0}
.skel-line.short{width:50%}
@media (max-width:1100px){.panel{width:400px}}
/* step 3: CRM */
.small{font-size:12px}
.nav-c.hot{color:#e11d48;font-weight:600}
.nav-i.on .nav-c.hot{color:#fecdd3}
.sdot{width:7px;height:7px;border-radius:99px;background:#94a3b8;display:inline-block;flex-shrink:0}
.st-slate .sdot,.sdot.st-slate{background:#94a3b8}.st-sky .sdot,.sdot.st-sky{background:#0ea5e9}.st-violet .sdot,.sdot.st-violet{background:#8b5cf6}
.st-amber .sdot,.sdot.st-amber{background:#f59e0b}.st-indigo .sdot,.sdot.st-indigo{background:#6366f1}.st-teal .sdot,.sdot.st-teal{background:#14b8a6}
.st-emerald .sdot,.sdot.st-emerald,.st-ok .sdot,.sdot.st-ok{background:#10b981}.st-warn .sdot,.sdot.st-warn{background:#f97316}.st-bad .sdot,.sdot.st-bad{background:#e11d48}.st-plain .sdot,.sdot.st-plain{background:#64748b}
.p-crm{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}
.stage-btn{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 7px;border-radius:5px;font-size:11.5px;white-space:nowrap;font-weight:500;background:#f5f3ff;color:#5b21b6;box-shadow:inset 0 0 0 1px #ddd6fe}
.stage-btn svg{width:12px;height:12px}
.stage-btn.empty{background:#fff;color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line)}
.stage-btn.st-sky{background:#f0f9ff;color:#0369a1;box-shadow:inset 0 0 0 1px #bae6fd}.stage-btn.st-slate{background:#f8fafc;color:#334155;box-shadow:inset 0 0 0 1px #e2e8f0}
.stage-btn.st-amber{background:#fffbeb;color:#b45309;box-shadow:inset 0 0 0 1px #fde68a}.stage-btn.st-indigo{background:#eef2ff;color:#4338ca;box-shadow:inset 0 0 0 1px #c7d2fe}
.stage-btn.st-teal{background:#f0fdfa;color:#0f766e;box-shadow:inset 0 0 0 1px #99f6e4}.stage-btn.st-ok{background:#ecfdf5;color:#047857;box-shadow:inset 0 0 0 1px #a7f3d0}
.stage-btn.st-warn{background:#fff7ed;color:#c2410c;box-shadow:inset 0 0 0 1px #fed7aa}.stage-btn.st-bad{background:#fff1f2;color:#be123c;box-shadow:inset 0 0 0 1px #fecdd3}
.stage-btn.st-plain{background:#f1f5f9;color:#334155;box-shadow:inset 0 0 0 1px #e2e8f0}
.stage-pop{min-width:220px}
.stage-pop .opt{display:flex;align-items:center;gap:8px;width:100%}
.pop-title.sub{margin-top:8px}
.opt.danger{color:var(--rose);margin-top:6px;border-top:1px solid var(--line2);border-radius:0 0 5px 5px}
.tags{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.tag{display:inline-flex;align-items:center;gap:2px;height:22px;padding:0 4px 0 7px;border-radius:5px;font-size:11.5px;background:#fff;color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line)}
.tag button{display:flex;color:var(--mute2);padding:1px}
.tag button:hover{color:var(--rose)}
.tag button svg{width:11px;height:11px}
.tag.sm{height:19px;padding:0 6px;font-size:10.5px}
.tag-add{display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 7px;border-radius:5px;font-size:11.5px;color:var(--mute);border:1px dashed #cbd5e1}
.tag-add svg{width:11px;height:11px}
.tag-add:hover{color:var(--ink);border-color:var(--mute2)}
.tag-in{height:22px;width:110px;border:1px solid #a5b4fc;border-radius:5px;padding:0 6px;font-size:11.5px;outline:none}
.outcomes{display:flex;flex-wrap:wrap;gap:6px}
.oc{height:28px;padding:0 10px;border-radius:6px;font-size:12px;font-weight:500;color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line);background:#fff}
.oc:hover{background:#f8fafc}
.oc.on{background:var(--greenbg);color:#047857;box-shadow:inset 0 0 0 1px #6ee7b7}
.note-in{width:100%;margin-top:10px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;font:inherit;font-size:12.5px;resize:vertical;outline:none;min-height:64px}
.note-in:focus{border-color:#a5b4fc;box-shadow:0 0 0 3px #eef2ff}
.fu-row{display:flex;align-items:center;gap:5px;margin-top:10px}
.fu-row .btn.sm{padding:0 8px}
.fu-pick{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 6px;white-space:nowrap;border:1px solid var(--line);border-radius:6px;font-size:12px;color:var(--ink2)}
.fu-pick svg{width:13px;height:13px;color:var(--mute)}
.fu-pick input{border:0;outline:none;font-size:12px;width:98px;background:transparent;padding:0}
.btn.ghost.on{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}
.fu-row .save{margin-left:auto}
.hint{min-height:16px;margin-top:6px;font-size:11px;color:var(--mute2)}
.deal{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.deal label{display:grid;gap:4px;font-size:11.5px;color:var(--mute)}
.deal input{height:32px;border:1px solid var(--line);border-radius:6px;padding:0 8px;font-size:12.5px;font-weight:500;color:var(--ink);outline:none;min-width:0;width:100%}
.deal input:focus{border-color:#a5b4fc;box-shadow:0 0 0 3px #eef2ff}
.feed{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.feed-i{display:flex;gap:10px}
.fi{width:26px;height:26px;border-radius:99px;display:grid;place-items:center;flex-shrink:0;background:#f1f5f9;color:var(--mute)}
.fi svg{width:13px;height:13px}
.fi.call{background:var(--greenbg);color:var(--green)}.fi.stage{background:#f5f3ff;color:#7c3aed}.fi.fu{background:#fff7ed;color:#ea580c}.fi.done{background:#ecfdf5;color:#059669}
.feed-t{min-width:0;flex:1}
.feed-h{display:flex;justify-content:space-between;gap:8px;font-size:12.5px}
.feed-h b{font-weight:600;color:var(--ink)}
.feed-h time{font-size:11px;color:var(--mute2);white-space:nowrap;font-variant-numeric:tabular-nums}
.feed-t p{margin:2px 0 0;font-size:12.5px;color:var(--ink2);white-space:pre-wrap;word-break:break-word}
.feed-by{font-size:11px;color:var(--mute2);margin-top:1px}
.top-r{margin-left:auto}
.sum{display:flex;gap:8px}
.sum-c{border:1px solid var(--line);border-radius:8px;padding:5px 12px;min-width:104px;background:#fff}
.sum-k{font-size:11px;color:var(--mute)}
.sum-v{font-size:15px;font-weight:600;line-height:1.25;font-variant-numeric:tabular-nums}
.sum-s{font-size:10.5px;color:var(--mute2)}
.top:has(.sum){height:72px}
.board-scroll{flex:1;min-width:0;overflow:auto;background:var(--bg);position:relative}
.board{display:flex;gap:10px;padding:14px 16px;min-height:100%;align-items:flex-start}
.board-empty{margin:14px 16px 0;padding:10px 12px;border:1px dashed #cbd5e1;border-radius:8px;color:var(--mute);background:#fff;font-size:12.5px}
.bcol{flex:1 0 156px;min-width:156px;max-width:240px;display:flex;flex-direction:column}
.bcol-h{display:flex;align-items:center;gap:6px;padding:2px 4px 8px;font-size:12px}
.bcol-h b{font-weight:600}
.bcol-b{display:flex;flex-direction:column;gap:8px;min-height:120px;border-radius:8px;padding:4px;transition:background .1s}
.bcol-b.over,.bgroup.over{background:#e0e7ff;box-shadow:inset 0 0 0 2px #a5b4fc}
.bcol-b.closed{gap:10px;padding:0}
.bgroup{display:flex;flex-direction:column;gap:8px;min-height:44px;border-radius:8px;padding:4px;background:#f1f5f9}
.bgroup-h{display:flex;align-items:center;gap:6px;padding:2px 2px 0;font-size:11.5px}
.badge.bad{background:var(--rosebg);color:#be123c;box-shadow:inset 0 0 0 1px #fecdd3}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 9px;box-shadow:0 1px 2px rgba(15,23,42,.05);cursor:grab;display:grid;gap:6px}
.card:hover{border-color:#cbd5e1}
.card.on{border-color:#a5b4fc;box-shadow:0 0 0 2px #e0e7ff}
.card.dragging{opacity:.45}
.card-h{display:flex;align-items:center;gap:7px;min-width:0}
.card-n{font-weight:600;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-m{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink2)}
.cm{display:inline-flex;align-items:center;gap:3px}
.cm svg{width:12px;height:12px;color:var(--mute2)}
.due{display:inline-flex;align-items:center;gap:3px;margin-left:auto;font-size:11px;color:var(--mute);white-space:nowrap}
.due svg{width:11px;height:11px}
.due.today{color:#ea580c;font-weight:600}.due.soon{color:#d97706;font-weight:500}.due.over{color:#e11d48;font-weight:600}
.card-tags{display:flex;gap:4px;flex-wrap:wrap}
.card-dnc{font-size:10.5px;color:var(--rose)}
.c-stage{max-width:130px;overflow:hidden;text-overflow:ellipsis}
.c-stage-h{font-weight:500}
.stage-pill{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:500;background:#f5f3ff;color:#5b21b6;box-shadow:inset 0 0 0 1px #ddd6fe;max-width:130px;overflow:hidden;text-overflow:ellipsis}
.stage-pill.st-sky{background:#f0f9ff;color:#0369a1;box-shadow:inset 0 0 0 1px #bae6fd}.stage-pill.st-slate{background:#f8fafc;color:#334155;box-shadow:inset 0 0 0 1px #e2e8f0}
.stage-pill.st-amber{background:#fffbeb;color:#b45309;box-shadow:inset 0 0 0 1px #fde68a}.stage-pill.st-indigo{background:#eef2ff;color:#4338ca;box-shadow:inset 0 0 0 1px #c7d2fe}
.stage-pill.st-teal{background:#f0fdfa;color:#0f766e;box-shadow:inset 0 0 0 1px #99f6e4}.stage-pill.st-ok{background:#ecfdf5;color:#047857;box-shadow:inset 0 0 0 1px #a7f3d0}
.stage-pill.st-warn{background:#fff7ed;color:#c2410c;box-shadow:inset 0 0 0 1px #fed7aa}.stage-pill.st-bad{background:#fff1f2;color:#be123c;box-shadow:inset 0 0 0 1px #fecdd3}
.stage-pill.st-plain{background:#f1f5f9;color:#334155;box-shadow:inset 0 0 0 1px #e2e8f0}
.fu-scroll{flex:1;min-width:0;overflow:auto;padding:16px 24px;background:var(--bg)}
.fu-g{margin-bottom:18px}
.fu-g h2{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);margin:0 0 8px;display:flex;gap:8px}
.fu-over h2{color:#e11d48}
.fu-list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:8px}
.fu-i{display:grid;grid-template-columns:minmax(200px,1.4fr) 110px minmax(100px,1fr) auto auto;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line2)}
.fu-i:last-child{border-bottom:0}
.fu-i.on{background:#eef2ff}
.fu-co{display:flex;align-items:center;gap:8px;text-align:left;min-width:0}
.fu-ct{display:grid;min-width:0}
.fu-ct b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fu-ct .muted{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fu-i .due{margin-left:0}
.fu-note{font-size:12px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.empty-p{color:var(--mute)}
.work.open .fu-i{grid-template-columns:minmax(160px,1fr) 100px auto auto}
.work.open .fu-note{display:none}
@media (max-width:900px){.side{width:64px}.brand>div:last-child,.nav-i span,.me-t{display:none}.nav-i{justify-content:center}.me{flex-direction:column}.search input{width:180px}.bar{flex-wrap:wrap}}
/* fix pass 2 */
table.grid.narrow th:nth-child(n+3):nth-child(-n+7),table.grid.narrow td:nth-child(n+3):nth-child(-n+7),table.grid.narrow th.act,table.grid.narrow td.act{display:none}
table.grid.narrow .co{max-width:none}
table.grid.narrow .co-n{max-width:180px}
table.co-grid th.act,table.co-grid td.act{position:sticky;right:0;z-index:1;background:#fff;box-shadow:inset 1px 0 0 var(--line2)}
table.co-grid thead th.act{z-index:11;background:#f8fafc}
table.grid tbody tr.row.cur td{background:#f1f5f9}
table.grid tbody tr.row.cur td:first-child{box-shadow:inset 3px 0 0 #94a3b8}
@media (max-width:1499px){.co{max-width:230px}.co-n{max-width:160px}.c-em a{max-width:130px}.c-ow{max-width:110px}}
@media (max-width:1399px){table.co-grid th:nth-child(4),table.co-grid td:nth-child(4){display:none}}
@media (max-width:1299px){.co{max-width:200px}.co-n{max-width:150px}.co-d{display:none}.c-em a{max-width:120px}.c-ow{max-width:100px}table.co-grid.with-stage .c-stage{max-width:110px}}
@media (min-width:1700px){.co{max-width:340px}.co-n{max-width:230px}.c-em a{max-width:220px}.c-ow{max-width:180px}.c-stage{max-width:170px}}
.copy-btn{display:inline-flex;align-items:center;height:20px;padding:0 6px;margin-left:6px;border-radius:5px;font-size:11px;font-weight:500;color:var(--mute);box-shadow:inset 0 0 0 1px var(--line);background:#fff;vertical-align:middle;flex-shrink:0}
.copy-btn:hover{color:var(--ink);background:#f8fafc}
.copy-btn.ok{color:#047857;box-shadow:inset 0 0 0 1px var(--greenring);background:var(--greenbg)}
.p-line{display:flex;align-items:center;min-width:0}
.p-line .p-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.p-line+.p-line{margin-top:6px}
.p-next{margin-top:6px;font-size:11.5px}
.p-next .due{margin-left:0;font-size:11.5px}
.tag-more{height:22px;padding:0 6px;border-radius:5px;font-size:11.5px;color:#4338ca;font-weight:500}
.tag-more:hover{background:#eef2ff}
.outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.oc{padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fu-row{flex-wrap:wrap;row-gap:6px}
.fu-save{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.fu-save .hint{margin:0;min-width:0}
.fu-save .save{flex-shrink:0;padding:0 16px}
.offer{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:8px 10px;border-radius:8px;background:#f0f9ff;box-shadow:inset 0 0 0 1px #bae6fd;font-size:12px;color:#075985}
.offer span{flex:1 1 180px}
.kv-i{display:inline-grid;place-items:center;width:13px;height:13px;margin-left:4px;border-radius:99px;font-size:9px;font-weight:600;color:var(--mute);box-shadow:inset 0 0 0 1px #cbd5e1;cursor:help;vertical-align:1px}
.work.overlay{position:relative}
@media (max-width:1699px){.work.overlay .panel{position:absolute;top:0;right:0;bottom:0;z-index:30;box-shadow:-10px 0 28px rgba(15,23,42,.14)}}
.board-wrap{flex:1;min-width:0;position:relative;display:flex}
.board-wrap::before,.board-wrap::after{content:"";position:absolute;top:0;bottom:0;width:28px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:3}
.board-wrap::before{left:0;background:linear-gradient(90deg,var(--bg),rgba(248,250,252,0))}
.board-wrap::after{right:0;background:linear-gradient(270deg,var(--bg),rgba(248,250,252,0))}
.board-wrap.more-l::before,.board-wrap.more-r::after{opacity:1}
@media (max-width:1439px){.bcol{flex-basis:132px;min-width:132px}}
.fu-i{grid-template-columns:minmax(180px,1.4fr) 128px minmax(80px,1fr) 190px 140px 76px}
.work.open .fu-i{grid-template-columns:minmax(180px,1.4fr) 128px minmax(80px,1fr) 190px 140px 76px}
.work.open .fu-note{display:block}
.fu-due{min-width:0}
.fu-ph{display:flex;align-items:center;min-width:0}
.fu-ph .copy-btn{margin-left:4px}
.fu-snz{display:flex;gap:4px;justify-content:flex-end}
.fu-snz .btn.sm{padding:0 8px}
.fu-done{justify-content:center}
@media (max-width:1279px){.fu-i,.work.open .fu-i{grid-template-columns:minmax(170px,1fr) 124px 190px 140px 76px}.fu-note,.work.open .fu-note{display:none}}
@media (min-width:1700px){.work.open:not(.x) .fu-i{grid-template-columns:minmax(170px,1fr) 124px 190px 140px 76px}.work.open .fu-note{display:none}}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:8px 10px 8px 14px;border-radius:8px;background:var(--dark);color:#fff;font-size:12.5px;box-shadow:0 8px 24px rgba(15,23,42,.25);z-index:50}
.toast .btn{background:#fff}
.dnc-t{display:grid;min-width:0}
.dnc-t .muted{font-size:11.5px}
@media (max-width:1399px){table.grid.narrow .co-d{display:none}}
@media (max-width:1249px){.co{max-width:180px}.co-n{max-width:135px}.c-em a{max-width:105px}.c-ow{max-width:90px}}
@media (max-width:1199px){table.co-grid .c-loc .city{display:none}.c-em a{max-width:90px}.c-ow{max-width:80px}table.co-grid.with-stage .c-stage{max-width:96px}table.grid tbody td,table.grid thead th{padding:0 6px}}
@media (max-width:1099px){.co{max-width:165px}.co-n{max-width:120px}}
.p-line>.muted{margin:0 5px}
table.grid.narrow .c-stage{max-width:150px}
.stage-pill{display:inline-block;line-height:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.c-stage{text-overflow:clip}
.bcol-h b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.bcol-h .muted{margin-left:auto}
@media (max-width:1299px){.bcol{flex-basis:96px;min-width:96px}.board{gap:6px;padding:12px 8px}.bcol-b{padding:3px}.card{padding:7px 7px}.card-m{flex-wrap:wrap;row-gap:2px}}
@media (max-width:1199px){table.grid.narrow .co-n{max-width:150px}table.grid.narrow .c-stage{max-width:130px}}
.refresh-line{margin-top:auto;padding:8px 16px;font-size:11.5px;color:var(--mute);border-top:1px solid var(--line)}
.refresh-line.bad{color:#be123c}
.refresh-line+.me{margin-top:0}
@media (max-width:900px){.refresh-line{display:none}.refresh-line+.me{margin-top:auto}}
.dropped{font-size:11.5px;color:#b45309;margin-top:2px}
.dropped.sm{font-size:10.5px;margin-top:0}
.fu-ct .dropped{display:block}
.info-wrap{position:relative;display:inline-block;vertical-align:1px;margin-left:6px}
.info-btn{width:15px;height:15px;padding:0;border-radius:50%;border:1px solid var(--mute2);background:#fff;color:var(--mute);font:600 10px/13px Georgia,"Times New Roman",serif;font-style:italic;text-align:center;cursor:pointer}
.info-btn:hover,.info-btn[aria-expanded=true]{border-color:var(--ink2);color:var(--ink)}
.info-btn:focus-visible{outline:2px solid var(--dark);outline-offset:2px}
.info-pop{top:22px;left:-10px;width:340px;max-width:calc(100vw - 32px);z-index:60;padding:12px 14px;color:var(--ink2);font-size:12px;line-height:1.45;white-space:normal;text-align:left;cursor:auto}
.info-pop .info-h{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px}
.info-pop p{margin:0 0 6px}
.info-pop ul{margin:0 0 8px;padding-left:18px}
.info-pop li{margin:2px 0}
.info-pop p:last-child{margin-bottom:0}
@media (max-width:600px){.info-pop{position:fixed;top:60px;left:16px;right:16px;width:auto;max-width:none}}
@media (max-width:600px){.top,.top:has(.sum){height:auto;min-height:56px;padding-top:8px;padding-bottom:8px}}
.bar-r{position:relative;margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}
.bar-r .btn:disabled{opacity:.45;cursor:not-allowed}
.ss-save-pop{left:auto;right:0;width:280px}
.ss-form{display:grid;gap:6px}
.ss-form .pop-title{margin-bottom:0}
.ss-in{height:32px;border:1px solid var(--line);border-radius:6px;padding:0 10px;font-size:12.5px;color:var(--ink);background:#fff;width:100%}
.ss-in:focus{outline:2px solid #c7d2fe;border-color:#a5b4fc}
.ss-err{font-size:12px;color:var(--rose)}
.ss{padding:4px 12px 8px}
.ss-h{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--mute2);padding:8px 10px 4px}
.ss-l{display:grid;gap:1px}
.ss-i{position:relative;display:flex;align-items:center;border-radius:6px}
.ss-i:hover{background:#f1f5f9}
.ss-a{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:5px 4px 5px 10px;font-size:12.5px;color:var(--mute);text-align:left;border-radius:6px}
.ss-a.on{color:var(--ink);font-weight:500}
.ss-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.ss-dot.d-sky{background:#0ea5e9}.ss-dot.d-violet{background:#8b5cf6}.ss-dot.d-amber{background:#f59e0b}.ss-dot.d-emerald{background:#10b981}.ss-dot.d-rose{background:#f43f5e}.ss-dot.d-teal{background:#14b8a6}.ss-dot.d-indigo{background:#6366f1}.ss-dot.d-orange{background:#f97316}
.ss-more{width:24px;height:24px;flex-shrink:0;display:grid;place-items:center;border-radius:5px;color:var(--mute2);opacity:0}
.ss-i:hover .ss-more,.ss-more:focus-visible,.ss-more[aria-expanded=true]{opacity:1}
.ss-more:hover{background:#e2e8f0;color:var(--ink)}
.ss-more svg{width:14px;height:14px}
.ss-pop{top:28px;left:0;right:auto;width:250px;max-width:calc(100vw - 24px);z-index:45}
.ss-q{margin:0;font-size:12.5px;color:var(--ink2);line-height:1.45}
.ss-drop{margin-top:4px}
.ss-form+.ss-drop{margin-top:12px;padding-top:10px;border-top:1px solid var(--line2)}
.ss-drop .ss-more{opacity:1}
.exp-line{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:6px 24px;background:#f8fafc;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink2);font-variant-numeric:tabular-nums}
@media (max-width:900px){.ss{display:none}}
.bar-r .chip-wrap{position:static}
.ss-save-pop{max-width:calc(100vw - 24px)}
.ss-badge{flex-shrink:0;height:18px;padding:0 6px;margin-right:2px;border-radius:9px;background:var(--greenbg);color:var(--green);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px var(--greenring);cursor:pointer}
.ss-badge:hover{background:var(--green);color:#fff}
.opt.ss-sw{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
.sw{position:relative;width:28px;height:16px;border-radius:8px;background:#cbd5e1;flex-shrink:0;transition:background .15s}
.sw i{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .15s}
.sw.on{background:var(--green)}.sw.on i{left:14px}
.ss-pop[role=menu]{width:260px}
.new-line{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:6px 24px;background:var(--greenbg);border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink2)}
.new-line b{color:var(--ink);font-weight:600}
.linkish{color:var(--ink);font-weight:500;text-decoration:underline;text-underline-offset:2px;font-size:12.5px}
.ss-pop[role=menu]{display:grid;gap:1px}
.bk-src{flex-shrink:0;padding:6px 24px;background:#f8fafc;border-bottom:1px solid var(--line);font-size:12px;color:var(--mute);line-height:1.4}
.bk-co{color:var(--ink);font-weight:500;text-decoration:none}
.bk-co:hover{text-decoration:underline;text-underline-offset:2px}
.bk-filed{white-space:nowrap;font-variant-numeric:tabular-nums}
.bk-tag{display:inline-block;flex-shrink:0;padding:1px 6px;border-radius:9px;background:#fffbeb;color:#92400e;box-shadow:inset 0 0 0 1px #fde68a;font-size:11px;font-weight:500;white-space:nowrap}
.bk-m{display:inline-flex;align-items:center;gap:6px;text-align:left;padding:0;background:none;border:0;cursor:pointer}
.bk-ms{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.bk-ms{padding:6px 0}
/* BUGFIX Nov 12: 2 Bankruptcies table fits (wrap Company/Court/match) */
table.bk-grid tbody td{white-space:normal;line-height:1.3;padding-top:6px;padding-bottom:6px}
table.bk-grid tbody td:nth-child(1){min-width:150px;max-width:260px;overflow-wrap:anywhere}
table.bk-grid tbody td:nth-child(3){max-width:120px}
table.bk-grid tbody td:nth-child(4),table.bk-grid tbody td:nth-child(5){white-space:nowrap}
table.bk-grid .bk-m{flex-wrap:wrap;row-gap:2px}
table.bk-grid .bk-m .linkish{white-space:normal;overflow-wrap:anywhere}
/* BUGFIX Nov 12: 3/4 phone layout */
@media (max-width:600px){
.top{flex-wrap:wrap;row-gap:8px;padding-left:16px;padding-right:16px}
.top>div:first-child{flex:1 1 auto;min-width:0}
.top .search{margin-left:0;flex:1 0 100%;min-width:0}
.top .search input{width:100%}
.bar{flex-wrap:wrap;padding-left:16px;padding-right:16px;row-gap:8px}
.bar .filters{flex:1 0 100%}
.filters .chip,.filters .chip-add{white-space:nowrap;flex-shrink:0}
.bar .count{margin-right:auto}
.panel{width:100%}
.work.overlay .panel{left:0;right:0;width:auto}
}
