:root{--bg-canvas:#14161c;--bg-canvas-dot:#ffffff0d;--sidebar-bg:#191c24;--surface:#20232c;--surface-2:#262a35;--surface-hover:#2b2f3b;--border:#2d323f;--border-soft:#252932;--text:#e9eaef;--text-muted:#8b8f9c;--text-dim:#5c606c;--accent-begin:#7c8cff;--accent-gather:#f6ad55;--accent-boss:#fb7185;--accent-note:#4fd1c5;--accent-close:#34d399;--state-new:#60a5fa;--state-contacted:#f6ad55;--state-qualified:#4fd1c5;--state-negotiation:#a78bfa;--state-won:#34d399;--state-lost:#f87171;--radius:10px}*{box-sizing:border-box}html,body{background:var(--bg-canvas);height:100%;color:var(--text);margin:0;font-family:Inter,sans-serif}#app{height:100vh;display:flex;overflow:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#333844;border-radius:6px}::-webkit-scrollbar-track{background:0 0}.mono{font-family:JetBrains Mono,monospace}a{color:inherit}.gate-overlay{background:var(--bg-canvas);z-index:200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gate-box{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:360px;padding:28px}.gate-box h2{margin:0 0 4px;font-size:19px}.gate-box p{color:var(--text-muted);margin:0 0 20px;font-size:13px;line-height:1.5}.login-field{margin-bottom:12px}.login-field label{color:var(--text-muted);margin-bottom:6px;font-size:11.5px;font-weight:600;display:block}.login-field input{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;outline:none;padding:10px 12px;font-size:13.5px}.login-field input:focus{border-color:var(--accent-begin)}.login-error{color:var(--accent-boss);background:#fb71851f;border:1px solid #fb71854d;border-radius:8px;margin-bottom:14px;padding:9px 11px;font-size:12.5px}.login-submit{justify-content:center;width:100%;margin-top:4px;padding:11px;font-size:13.5px}.login-hint{border-top:1px solid var(--border-soft);color:var(--text-dim);margin-top:18px;padding-top:16px;font-size:11.5px;line-height:1.6}.login-hint b{color:var(--text-muted)}.modal-overlay{z-index:120;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:440px;max-width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 24px 60px #00000080}.modal-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-head h3{margin:0;font-size:16px}.modal-body{padding:20px 22px}.modal-foot{border-top:1px solid var(--border-soft);justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-field{margin-bottom:12px}.form-field.span2{grid-column:1/-1}.form-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.form-field input,.form-field select{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;outline:none;padding:9px 11px;font-family:Inter,sans-serif;font-size:13px}.form-field input:focus,.form-field select:focus{border-color:var(--accent-begin)}.collab-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.collab-avatar{color:#12131a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;font-weight:800;display:flex}.share-btn{border:1px dashed var(--text-dim);background:var(--surface);width:24px;height:24px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:flex}.share-btn:hover{border-color:var(--accent-begin);color:var(--accent-begin)}.share-list{flex-direction:column;gap:2px;display:flex}.share-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;padding:9px 4px;display:flex}.share-row:last-child{border-bottom:none}.share-row .name{flex:1;font-size:13px;font-weight:600}.share-row .toggle{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:5px 12px;font-size:11.5px;font-weight:600}.share-row .toggle.on{color:var(--accent-close);background:#34d39926;border-color:#34d3994d}.share-empty{color:var(--text-dim);text-align:center;padding:20px 0;font-size:12.5px}.user-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;padding:9px 4px;display:flex}.user-row:last-child{border-bottom:none}.user-row .name{flex:1;font-size:13px;font-weight:600}.role-pill{text-transform:uppercase;letter-spacing:.3px;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);border-radius:20px;padding:3px 8px;font-size:10px;font-weight:700}.role-pill.owner{color:var(--accent-begin);background:#7c8cff26;border-color:#7c8cff4d}.team-divider{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:16px 0 12px;font-size:11px;font-weight:700}.conn-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.conn-dot.connected{background:var(--accent-close);box-shadow:0 0 8px var(--accent-close)}.conn-dot.connecting{background:var(--accent-gather);box-shadow:0 0 8px var(--accent-gather)}.conn-dot.disconnected{background:var(--accent-boss);box-shadow:0 0 8px var(--accent-boss)}.conn-banner{background:var(--accent-boss);color:#2a0d10;text-align:center;z-index:150;padding:6px;font-size:12.5px;font-weight:600;position:fixed;top:0;left:0;right:0}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);flex-direction:column;width:290px;min-width:290px;display:flex}.sidebar-head{border-bottom:1px solid var(--border-soft);padding:20px 18px 14px}.brand-row{justify-content:space-between;align-items:center;display:flex}.brand{letter-spacing:.2px;align-items:center;gap:9px;font-size:15px;font-weight:800;display:flex}.brand .dot{background:var(--accent-begin);width:9px;height:9px;box-shadow:0 0 12px var(--accent-begin);border-radius:3px}.sub{color:var(--text-muted);margin-top:4px;font-size:12px}.presence-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.presence-avatar{color:#12131a;border:2px solid var(--sidebar-bg);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:9.5px;font-weight:800;display:flex}.presence-avatar.owner{box-shadow:0 0 0 1.5px var(--accent-begin)}.me-chip{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;font-size:11.5px;display:flex}.me-chip button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.search{margin:14px 18px 8px;position:relative}.search input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;outline:none;padding:8px 10px 8px 30px;font-size:13px}.search input:focus{border-color:var(--accent-begin)}.search svg{opacity:.4;position:absolute;top:8px;left:9px}.filters{flex-wrap:wrap;gap:6px;margin:8px 18px 12px;display:flex}.chip{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;padding:4px 9px;font-size:11px;transition:all .15s}.chip:hover{border-color:var(--text-dim);color:var(--text)}.chip.active{background:var(--surface-2);color:var(--text);border-color:var(--text-dim)}.lead-list{flex:1;padding:4px 10px 14px;overflow-y:auto}.lead-card{cursor:pointer;border:1px solid #0000;border-radius:9px;margin-bottom:4px;padding:11px 12px}.lead-card:hover{background:var(--surface)}.lead-card.active{background:var(--surface-2);border-color:var(--border)}.lead-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.lead-name{font-size:13.5px;font-weight:600}.lead-company{color:var(--text-muted);margin-top:1px;font-size:11.5px}.state-pill{white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;border-radius:20px;padding:2.5px 7px;font-size:10px;font-weight:600}.lead-meta{color:var(--text-dim);align-items:center;gap:6px;margin-top:7px;font-size:11px;display:flex}.add-lead-btn{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;margin:6px 18px 16px;padding:9px;font-size:12.5px;font-weight:500}.add-lead-btn:hover{border-color:var(--accent-begin);color:var(--text)}.empty-state{text-align:center;color:var(--text-dim);padding:40px 24px;font-size:12.5px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:#171a21;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 26px;display:flex}.topbar h1{margin:0;font-size:17px;font-weight:700}.topbar .lead-sub{color:var(--text-muted);margin-top:2px;font-size:12.5px}.topbar-actions{align-items:center;gap:10px;display:flex}.btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;display:flex}.btn:hover{background:var(--surface-hover)}.btn.primary{background:var(--accent-begin);border-color:var(--accent-begin);color:#12131a;font-weight:700}.btn.primary:hover{filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:not-allowed}select.state-select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 10px;font-size:12.5px}.view-toggle{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.view-toggle button{background:var(--surface-2);color:var(--text-muted);cursor:pointer;border:none;padding:8px 11px;font-size:12.5px;font-weight:500}.view-toggle button.active{background:var(--accent-begin);color:#12131a;font-weight:700}.view-toggle button:not(:last-child){border-right:1px solid var(--border)}.canvas-outer{flex:1;position:relative;overflow:hidden}.canvas-wrap{background-image:radial-gradient(var(--bg-canvas-dot) 1.4px, transparent 1.4px);cursor:grab;-webkit-user-select:none;user-select:none;background-size:22px 22px;position:absolute;inset:0;overflow:auto}.canvas-wrap.panning{cursor:grabbing}.canvas-inner{position:relative}.canvas-inner.flow-mode{width:6000px;height:4000px}.canvas-inner.grid-mode{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-content:start;gap:16px;min-height:100%;padding:28px;display:grid}.connector-svg{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.connector-svg path{fill:none;stroke:var(--text-dim);stroke-width:2px}.minimap{border:1px solid var(--border);z-index:20;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14161cd9;border-radius:10px;width:170px;height:120px;position:absolute;top:14px;right:14px;overflow:hidden;box-shadow:0 8px 24px #0006}.minimap-dot{border-radius:2px;width:6px;height:6px;position:absolute;transform:translate(-50%,-50%)}.minimap-dot.group{border:1px dashed var(--text-dim);border-radius:2px;width:8px;height:8px;background:0 0!important}.minimap-viewport{border:1.5px solid var(--accent-begin);pointer-events:none;background:#7c8cff1f;border-radius:2px;position:absolute}.minimap-label{color:var(--text-dim);letter-spacing:.3px;font-family:JetBrains Mono,monospace;font-size:9px;position:absolute;bottom:4px;left:7px}.node{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;width:220px;transition:border-color .12s,box-shadow .12s;position:relative}.node.node-flow{cursor:grab;position:absolute}.node.node-flow:active{cursor:grabbing}.node:hover{border-color:var(--text-dim);box-shadow:0 8px 24px #00000059}.node.selected{border-color:var(--accent-begin);box-shadow:0 0 0 1px var(--accent-begin), 0 8px 24px #0006}.node.wide{width:250px}.node.drag-target{border-color:var(--accent-close);box-shadow:0 0 0 2px #34d39966}.node-child-btn{background:var(--surface-2);border:1px solid var(--border);width:26px;height:26px;color:var(--text-muted);cursor:pointer;z-index:3;opacity:0;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:opacity .12s;display:flex;position:absolute;top:50%;right:-14px;transform:translateY(-50%)}.node:hover .node-child-btn{opacity:1}.node-child-btn:hover{border-color:var(--accent-begin);color:var(--accent-begin);background:var(--surface-hover)}.node-parent-btn{background:var(--surface-2);border:1px solid var(--border);width:26px;height:26px;color:var(--text-muted);cursor:pointer;z-index:3;opacity:0;border-radius:50%;justify-content:center;align-items:center;font-size:13px;transition:opacity .12s;display:flex;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}.node:hover .node-parent-btn{opacity:1}.node-parent-btn:hover{border-color:var(--accent-begin);color:var(--accent-begin);background:var(--surface-hover)}.node-parent-btn.unlink:hover{border-color:var(--accent-boss);color:var(--accent-boss)}.parent-picker{background:var(--surface-2);border:1px solid var(--border);z-index:70;border-radius:10px;min-width:220px;max-height:280px;padding:6px;position:fixed;overflow-y:auto;box-shadow:0 12px 30px #00000080}.parent-picker .pp-opt{cursor:pointer;border-radius:7px;align-items:center;gap:9px;padding:8px 9px;font-size:13px;display:flex}.parent-picker .pp-opt:hover{background:var(--surface-hover)}.parent-picker .pp-opt span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.parent-picker .pp-empty{color:var(--text-dim);text-align:center;padding:14px;font-size:12.5px}.parent-picker .pp-footer{border-top:1px solid var(--border-soft);margin-top:4px;padding-top:6px}.parent-picker .pp-footer .pp-opt{color:var(--accent-close);font-weight:600}.node-bar{border-radius:12px 12px 0 0;height:5px}.node-body{padding:12px 13px 13px}.node-type-row{align-items:center;gap:7px;margin-bottom:7px;display:flex}.node-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:flex}.node-type-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:10.5px;font-weight:700}.node-title{margin-bottom:6px;font-size:13.5px;font-weight:600;line-height:1.3}.node-preview{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.node-foot{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;display:flex}.node-time{color:var(--text-dim);font-size:10.5px}.node-attach{color:var(--text-dim);gap:8px;display:flex}.node-attach span{align-items:center;gap:3px;font-size:11px;display:flex}.node-status-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.status-pill{text-transform:uppercase;letter-spacing:.3px;cursor:pointer;border:1px solid #0000;border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:700;display:flex}.status-pill.todo{color:var(--text-muted);border-color:var(--border);background:#8b8f9c26}.status-pill.done{color:var(--accent-close);background:#34d39926;border-color:#34d3994d}.status-pill.lg{padding:6px 12px;font-size:11.5px}.milestone-badge{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:10.5px;display:flex;overflow:hidden}.milestone-badge.overdue{color:var(--accent-boss);background:#fb718526;border-color:#fb718559}.node-attachments{flex-direction:column;gap:6px;margin-top:10px;display:flex}.na-images{flex-wrap:wrap;gap:6px;display:flex}.na-thumb{border:1px solid var(--border);cursor:zoom-in;border-radius:7px;flex-shrink:0;width:52px;height:52px;overflow:hidden}.na-thumb:hover{border-color:var(--accent-begin)}.na-thumb img{object-fit:cover;width:100%;height:100%;display:block}.na-audio{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:6px 8px}.na-audio .na-audio-label{color:var(--text-dim);align-items:center;gap:5px;margin-bottom:4px;font-size:10.5px;display:flex}.na-audio audio{width:100%;height:28px;display:block}.na-link,.na-file{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:6px 8px;font-size:11.5px;text-decoration:none;display:flex}.na-link:hover,.na-file:hover{color:var(--text);border-color:var(--text-dim)}.na-link span,.na-file span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lightbox-overlay{z-index:90;background:#08090ccc;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.lightbox-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;max-width:min(80vw,720px);overflow:hidden;box-shadow:0 20px 60px #00000080}.lightbox-box img{background:#0b0c10;max-width:100%;max-height:64vh;margin:0 auto;display:block}.lightbox-foot{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.lightbox-foot .a-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.lightbox-actions{flex-shrink:0;gap:8px;display:flex}.lightbox-actions .btn{text-decoration:none}.add-node-slot{align-items:center;display:flex}.add-node-btn{border:1px dashed var(--text-dim);background:var(--surface);width:38px;height:38px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.add-node-btn:hover{border-color:var(--accent-begin);color:var(--accent-begin)}.btn.active-toggle{background:var(--accent-begin);border-color:var(--accent-begin);color:#12131a;font-weight:700}.node.selectable{cursor:pointer}.node-check{border:1.5px solid var(--text-dim);color:#0000;z-index:2;background:#14161cb3;border-radius:6px;justify-content:center;align-items:center;width:19px;height:19px;font-size:11px;display:flex;position:absolute;top:9px;right:9px}.node.multi-selected{border-color:var(--accent-begin);box-shadow:0 0 0 2px #7c8cff59}.node.multi-selected .node-check{background:var(--accent-begin);border-color:var(--accent-begin);color:#12131a}.selection-bar{background:var(--surface-2);border:1px solid var(--border);z-index:65;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000080}.selection-bar .count{color:var(--text-muted);font-weight:600}.node.group-card{background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%);border-style:dashed;position:relative}.node.group-card:before,.node.group-card:after{content:"";background:var(--surface);border:1px solid var(--border);z-index:-1;border-radius:12px;height:100%;position:absolute;top:0;left:6px;right:-6px}.node.group-card:before{opacity:.6;transform:translate(5px,5px)}.node.group-card:after{opacity:.3;transform:translate(9px,9px)}.group-icon-row{gap:4px;margin-bottom:8px;display:flex}.group-type-chip{border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:9.5px;display:flex}.group-count-badge{color:var(--text-dim);font-size:10px}.node.dimmed{opacity:.28;filter:grayscale(.4)}.node.search-hit{border-color:var(--accent-gather);box-shadow:0 0 0 2px #f6ad5559}mark{color:var(--text);background:#f6ad5566;border-radius:3px;padding:0 2px}.group-panel{border-left:1px solid var(--border);z-index:81;background:#191c24;flex-direction:column;width:380px;height:100vh;display:flex;position:fixed;top:0;right:0;box-shadow:-16px 0 40px #0006}.group-panel-head{border-bottom:1px solid var(--border-soft);padding:16px 20px}.group-panel-head-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.group-title-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:15px;font-weight:700}.group-panel-actions{gap:8px;display:flex}.group-member-list{flex:1;padding:8px 14px;overflow-y:auto}.group-member-row{cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:10px 8px;display:flex}.group-member-row:hover{background:var(--surface)}.group-member-row .gm-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.group-member-row .gm-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:13px}.group-member-row .gm-remove:hover{color:var(--accent-boss)}.lead-search{position:relative}.lead-search input{background:var(--surface-2);border:1px solid var(--border);width:180px;color:var(--text);border-radius:8px;outline:none;padding:8px 10px 8px 30px;font-size:12.5px}.lead-search input:focus{border-color:var(--accent-begin)}.lead-search svg{opacity:.4;pointer-events:none;position:absolute;top:9px;left:9px}.lead-search .match-count{color:var(--text-dim);font-size:10.5px;position:absolute;top:8px;right:8px}.global-search-box{width:560px;max-width:92vw;max-height:75vh}.global-search-input-row{border-bottom:1px solid var(--border-soft);padding:14px 18px}.global-search-input-row input{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:9px;outline:none;padding:11px 13px;font-size:14px}.global-search-input-row input:focus{border-color:var(--accent-begin)}.global-results{max-height:56vh;padding:8px;overflow-y:auto}.global-result-group{margin-bottom:6px}.global-result-lead{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);padding:9px 10px 4px;font-size:11px;font-weight:700}.global-result-row{cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;display:flex}.global-result-row:hover{background:var(--surface-2)}.global-result-row .gr-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex}.global-result-row .gr-text{flex:1;min-width:0}.global-result-row .gr-title{font-size:13px;font-weight:600}.global-result-row .gr-snippet{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.global-search-empty{text-align:center;color:var(--text-dim);padding:40px 20px;font-size:13px}.global-search-hint{color:var(--text-dim);border-top:1px solid var(--border-soft);padding:10px 18px;font-size:11px}.global-search-hint kbd{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,monospace}.type-menu{background:var(--surface-2);border:1px solid var(--border);z-index:70;border-radius:10px;min-width:200px;padding:6px;position:fixed;box-shadow:0 12px 30px #00000080}.type-menu .opt{cursor:pointer;border-radius:7px;align-items:center;gap:9px;padding:8px 9px;font-size:13px;display:flex}.type-menu .opt:hover{background:var(--surface-hover)}.type-menu .swatch{border-radius:3px;flex-shrink:0;width:9px;height:9px}.drawer{border-top:1px solid var(--border);z-index:61;background:#191c24;flex-direction:column;height:330px;display:flex;position:fixed;bottom:0;left:290px;right:0;box-shadow:0 -16px 36px #00000073}.drawer-head{border-bottom:1px solid var(--border-soft);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.drawer-head-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.type-switch{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-shrink:0;align-items:center;gap:7px;padding:5px 9px 5px 6px;display:flex}.type-switch:hover{border-color:var(--text-dim)}.type-switch .caret{color:var(--text-dim);margin-left:1px;font-size:9px}.drawer-title-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-size:16px;font-weight:700}.drawer-meta{color:var(--text-dim);white-space:nowrap;flex-shrink:0;font-size:11px}.drawer-controls-row{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;margin-bottom:14px;display:flex}.milestone-field{align-items:center;gap:7px;display:flex}.milestone-field label{color:var(--text-muted);font-size:11px;font-weight:600}.milestone-field input[type=datetime-local]{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;padding:6px 9px;font-family:Inter,sans-serif;font-size:12px}.milestone-field input[type=datetime-local]:focus{border-color:var(--accent-begin)}.milestone-clear{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12px}.assignee-field{align-items:center;gap:7px;display:flex}.assignee-chip{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:5px 10px 5px 6px;font-size:12px;font-weight:600;display:flex}.assignee-chip:hover{border-color:var(--accent-begin)}.assignee-chip .caret{color:var(--text-dim);margin-left:1px;font-size:9px}.assignee-avatar{color:#12131a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:8.5px;font-weight:800;display:flex}.assignee-badge{color:#12131a;border:1.5px solid var(--surface);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:19px;height:19px;margin-left:auto;font-size:8.5px;font-weight:800;display:flex}.assignee-placeholder{border:1.5px dashed var(--text-dim);width:19px;height:19px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:10px;display:flex}.assignee-placeholder:hover{border-color:var(--accent-begin);color:var(--accent-begin)}.canvas-inner.list-mode{min-height:100%;padding:20px 24px 40px}.list-table{border-collapse:separate;border-spacing:0 6px;width:100%}.list-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);padding:0 12px 8px;font-size:10px;font-weight:700}.list-row{background:var(--surface);cursor:pointer;transition:background .1s}.list-row:hover{background:var(--surface-hover)}.list-row.group-row{background:var(--surface);border-style:dashed}.list-row td{border-top:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 12px;font-size:13px}.list-row td:first-child{border-left:1px solid var(--border);border-radius:9px 0 0 9px}.list-row td:last-child{border-right:1px solid var(--border);border-radius:0 9px 9px 0}.list-type-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex}.list-title-cell{align-items:center;gap:9px;font-weight:600;display:flex}.list-note-cell{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:12px;overflow:hidden}.list-empty-col{color:var(--text-dim)}.picking-bar{background:var(--surface-2);border:1px solid var(--accent-close);z-index:65;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000080}.node.pick-invalid{opacity:.3;pointer-events:none}.node.pick-target{cursor:pointer}.node.pick-target:hover{border-color:var(--accent-close);box-shadow:0 0 0 3px #34d39966}.node.pick-source{border-color:var(--accent-begin);box-shadow:0 0 0 2px #7c8cff66}.milestone-clear:hover{color:var(--accent-boss)}.drawer-head-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:6px 8px;font-size:15px}.icon-btn:hover{color:var(--text);background:var(--surface)}.icon-btn.danger:hover{color:var(--accent-boss);background:#fb71851a}.drawer-body{flex:1;gap:20px;padding:16px 20px;display:flex;overflow:hidden}.field-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);flex-shrink:0;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.note-col{flex-direction:column;flex:1.6;min-width:0;display:flex}.note-area{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);resize:none;border-radius:9px;outline:none;flex:1;padding:11px;font-family:Inter,sans-serif;font-size:13.5px;line-height:1.5}.note-area:focus{border-color:var(--accent-begin)}.paste-zone{border:1.5px dashed var(--border);text-align:center;color:var(--text-dim);border-radius:9px;flex-shrink:0;margin-top:8px;padding:9px;font-size:11.5px}.paste-zone b{color:var(--text-muted)}.attach-col{border-left:1px solid var(--border-soft);flex-direction:column;flex:1;min-width:0;max-width:290px;padding-left:20px;display:flex}.attach-list{flex-direction:column;flex:1;gap:7px;display:flex;overflow-y:auto}.attach-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-shrink:0;align-items:center;gap:9px;padding:8px 10px;font-size:12.5px;display:flex}.attach-item .a-icon{background:var(--surface-2);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.attach-item .a-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.attach-item img{object-fit:cover;border-radius:6px;width:26px;height:26px}.attach-item .a-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:14px}.attach-item .a-remove:hover{color:var(--accent-boss)}.attach-actions{flex-shrink:0;gap:8px;margin-top:9px;display:flex}.small-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;padding:8px;font-size:12px;display:flex}.small-btn:hover{color:var(--text);border-color:var(--text-dim)}.uploading-note{color:var(--text-dim);margin-top:6px;font-size:11px}.activity-overlay{z-index:80;background:#0006;position:fixed;inset:0}.activity-panel{border-left:1px solid var(--border);z-index:81;background:#191c24;flex-direction:column;width:380px;height:100vh;display:flex;position:fixed;top:0;right:0;box-shadow:-16px 0 40px #0006}.activity-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.activity-head h3{margin:0;font-size:15px}.activity-list{flex:1;padding:10px 16px;overflow-y:auto}.activity-item{border-bottom:1px solid var(--border-soft);padding:10px 0;font-size:12.5px}.activity-item .a-line{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.activity-item .a-user{font-weight:700}.activity-item .a-action{color:var(--text-muted)}.activity-item .a-time{color:var(--text-dim);margin-top:3px;font-size:10.5px}.activity-empty{color:var(--text-dim);text-align:center;padding:30px 0;font-size:12.5px}.toast{background:var(--accent-boss);color:#2a0d10;z-index:300;border-radius:9px;padding:10px 18px;font-size:13px;font-weight:600;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}
