Contract liabilities (Tables) |
6 Months Ended | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Jun. 30, 2026 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Contract liabilities [Abstract] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Schedule of Contract liabilities | Amounts related to contract liabilities were as follows:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Schedule of Reconciliation of the Movement In Contract Liabilities | A reconciliation of the movement in contract liabilities is as follows:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||