| Precio de transacción asignado a las obligaciones de desempeño pendientes | es | http://www.xbrl.org/2003/role/label | http://www.xbrl.org/2003/role/link |
| Transaction price allocated to remaining performance obligations | en | http://www.xbrl.org/2003/role/label | http://www.xbrl.org/2003/role/link |
| Precio de transacción asignado a las obligaciones de desempeño pendientes | es | http://www.xbrl.org/2003/role/periodStartLabel | http://www.xbrl.org/2003/role/link |
| Precio de transacción asignado a las obligaciones de desempeño pendientes | es | http://www.xbrl.org/2003/role/periodEndLabel | http://www.xbrl.org/2003/role/link |