| Performance obligations [member] | en | http://www.xbrl.org/2003/role/label | http://www.xbrl.org/2003/role/link |
| This member stands for all performance obligations. A performance obligation is a promise in a contract with a customer to transfer to the customer either: (a) a good or service (or a bundle of goods or services) that is distinct; or (b) a series of distinct goods or services that are substantially the same and that have the same pattern of transfer to the customer. This member also represents the standard value for the 'Performance obligations' axis if no other member is used. | en | http://www.xbrl.org/2003/role/documentation | http://www.xbrl.org/2003/role/link |
| Obrigações de desempenho [member] | pt | http://www.xbrl.org/2003/role/label | http://www.xbrl.org/2003/role/link |
| Este membro representa todas as obrigações de desempenho. Uma obrigação de desempenho é uma promessa num contrato com um cliente para transferir para o cliente: (a) um bem ou serviço (ou um conjunto de bens ou serviços) distinto; ou (b) um conjunto de bens ou serviços distintos que são substancialmente os mesmos e que têm o mesmo padrão de transferência para o cliente. Além disso, este membro representa o valor padrão do eixo «Obrigações de desempenho» caso não seja utilizado outro membro. | pt | http://www.xbrl.org/2003/role/documentation | http://www.xbrl.org/2003/role/link |