.tree-node{user-select:none}.tree-node-row{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);padding-left:calc(var(--space-md) + var(--depth,0) * 18px);cursor:pointer;border-radius:0;transition:background var(--transition-fast);position:relative;min-height:32px}.tree-node-row:hover{background:var(--bg-hover)}.tree-node-row.active{background:var(--bg-active);border-left:2px solid var(--brand-orange)}.tree-node-row.active .tree-node-name{color:var(--text-primary);font-weight:var(--font-weight-medium)}.tree-caret{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;color:var(--text-muted);transition:transform var(--transition-fast),color var(--transition-fast)}.tree-caret svg{width:12px;height:12px}.tree-caret.expanded{transform:rotate(90deg)}.tree-caret.hidden{visibility:hidden}.tree-node-row:hover .tree-caret{color:var(--text-secondary)}.tree-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.tree-icon svg{width:16px;height:16px}.tree-icon.folder{color:var(--brand-orange)}.tree-icon.file{color:var(--text-secondary)}.tree-node-name{flex:1;font-size:var(--font-size-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition-fast)}.tree-node-row:hover .tree-node-name{color:var(--text-primary)}.tree-children{overflow:hidden;transition:max-height var(--transition-normal)}.tree-children.collapsed{max-height:0!important}.tree-rename-input{flex:1;background:var(--bg-secondary);border:1px solid var(--brand-blue);border-radius:var(--radius-sm);padding:1px 4px;font-size:var(--font-size-sm);color:var(--text-primary);outline:0;min-width:0}.tree-node-actions{display:none;align-items:center;gap:2px;flex-shrink:0}.tree-node-row:hover .tree-node-actions{display:flex}.tree-node-action{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition-fast)}.tree-node-action:hover{background:rgba(255,255,255,.1);color:var(--text-primary)}.tree-node-action svg{width:13px;height:13px}.tree-node-row.drag-over{background:var(--bg-active);box-shadow:inset 0 -2px 0 var(--brand-blue)}.tree-share-badge{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;color:var(--color-success);opacity:.7}.tree-share-badge svg{width:11px;height:11px}