:root{--bg: #0b0e14;--panel: #141924;--panel-2: #1b2231;--border: #26304180;--text: #e6eaf2;--muted: #8b95a7;--accent: #5b8cff;--green: #35c48a;--amber: #f2b34b;--red: #f2645b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{max-width:1200px;margin:0 auto;padding:24px}header.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}header.top h1{font-size:20px;margin:0}header.top .sub{color:var(--muted);font-size:13px}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel)}.badge .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot.live{background:var(--green)}.dot.mock{background:var(--amber)}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(4,1fr)}.two-col{grid-template-columns:1.4fr 1fr}@media (max-width: 900px){.kpis{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px}.card h3{margin:0 0 12px;font-size:14px;color:var(--muted);font-weight:600}.kpi .value{font-size:30px;font-weight:700}.kpi .label{color:var(--muted);font-size:13px;margin-top:2px}.kpi-sub{color:var(--muted);font-size:11px;margin-top:1px;opacity:.75}.kpi-hero{border-color:var(--green);background:linear-gradient(180deg,#35c48a14,var(--panel))}.kpi-hero .value{color:var(--green)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600}.pill{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.pill.new{color:var(--muted)}.pill.contacted{color:var(--accent)}.pill.replied{color:var(--amber)}.pill.meeting,.pill.won{color:var(--green)}.insight{border-left:3px solid var(--accent);padding-left:12px;margin-bottom:12px}.insight .rec{color:var(--green);margin-top:4px;font-size:13px}button{background:var(--accent);color:#fff;border:none;padding:8px 14px;border-radius:8px;font-size:13px;cursor:pointer}button.ghost{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}button:disabled{opacity:.5;cursor:default}.loading,.error{color:var(--muted);padding:40px;text-align:center}.error{color:var(--red)}.row{display:flex;gap:8px;align-items:center}.spacer{flex:1}button.small{padding:4px 10px;font-size:12px}.icp-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding:10px;border-radius:8px;background:var(--panel-2);border:1px solid var(--border)}.icp-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.icp-input,.icp-num{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:12px;font-family:inherit}.icp-input{flex:1;min-width:140px}.icp-num{width:56px}.icp-sep{width:1px;align-self:stretch;background:var(--border);margin:0 2px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0007;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50}.modal{width:min(520px,92vw);background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px}.modal textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px;font-family:inherit;font-size:13px;resize:vertical}.modal code{background:var(--panel-2);padding:1px 5px;border-radius:4px;font-size:12px}.notice{background:#f2b34b18;border:1px solid #f2b34b55;color:#f2c877;border-radius:8px;padding:10px;font-size:12px;margin-bottom:12px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.chip{font-size:12px;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:3px 10px}.chip strong{color:var(--text)}.timeline{display:flex;flex-direction:column;gap:8px;margin-top:6px}.tl-item{display:flex;gap:10px;align-items:flex-start}.tl-body{flex:1;min-width:0}.tl-detail{font-size:13px}.tl-text{color:var(--muted);font-size:12px;margin-top:2px;border-left:2px solid var(--border);padding-left:8px}.play{flex-shrink:0;width:68px;text-align:center;font-size:11px;padding:2px 0;border-radius:6px;border:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em}.play-prospect{color:var(--accent);background:#5b8cff18}.play-research{color:#b58cff;background:#b58cff18}.play-engage{color:var(--green);background:#35c48a18}.play-respond{color:var(--amber);background:#f2b34b18}.play-learn{color:#4ecbc4;background:#4ecbc418}.play-opener{color:var(--green);background:#35c48a18}.play-bump{color:var(--amber);background:#f2b34b18}.play-breakup{color:var(--muted);background:#8b95a718}.progress{display:inline-flex;align-items:center;gap:4px}.progress .dot{width:9px;height:9px;border-radius:50%;display:inline-block}.progress .dot.done{background:var(--green)}.progress .dot.pending{background:var(--border);border:1px solid #ffffff18}.progress-label{color:var(--muted);font-size:11px;margin-left:4px}.pill.enr-active{color:var(--accent)}.pill.enr-paused{color:var(--amber)}.pill.enr-completed{color:var(--muted)}.pill.out-booked{color:var(--green);background:#35c48a18}.pill.out-nurtured{color:#b58cff;background:#b58cff18}.pill.out-referred{color:var(--accent)}.pill.out-unsubscribed{color:var(--red)}.pill.out-replied,.pill.out-stopped,.pill.out-done{color:var(--muted)}.branch-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.branch-title{color:var(--muted);font-size:12px;margin-right:2px}.branch-chip{color:var(--muted);font-size:11px}.btn-link{display:inline-block;text-decoration:none;text-align:center;background:var(--panel-2);color:var(--text);border:1px solid var(--border);padding:8px 14px;border-radius:8px;font-size:13px}.btn-link.small{padding:4px 10px;font-size:12px}.tabs{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:0}.tab{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:8px 14px;font-size:14px}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.real-chip{margin-left:6px;color:var(--green);font-size:10px}.signal-chip{color:#b58cff;font-size:10px;margin-right:4px}.draft-preview{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:12.5px;white-space:pre-wrap;color:var(--text)}.signal-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--border)}.strength-bar{width:44px;height:6px;margin-top:6px;flex-shrink:0;background:var(--panel-2);border-radius:3px;overflow:hidden}.strength-bar div{height:100%;background:var(--accent);border-radius:3px}.mode-line{margin-top:12px;padding:8px 12px;border-radius:8px;font-size:12.5px;color:var(--muted);background:var(--panel-2);border:1px solid var(--border)}.flow{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;padding:20px 22px}.flow-step{flex:1;min-width:110px;text-align:center}.flow-value{font-size:34px;font-weight:800;line-height:1.1}.flow-label{font-size:13px;margin-top:4px;font-weight:600}.flow-sub{font-size:11px;color:var(--muted);margin-top:2px}.flow-arrow{align-self:center;color:var(--muted);font-size:20px}.flow-hero{border-left:none}.flow-hero .flow-value,.flow-hero .flow-label{color:var(--green)}.campaign-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.cpill{background:var(--panel);color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:13px}.cpill.active{color:var(--text);border-color:var(--accent);background:#5b8cff14}.section-toggle{width:100%;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:12px;color:var(--muted);font-size:14px;padding:12px 16px}.section-toggle:hover{color:var(--text)}.section-caret{color:var(--accent);margin-right:4px}
