adp-web-components 0.3.18 → 0.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/branch-slot-dropdown_15.cjs.entry.js +31 -31
- package/dist/cjs/dead-stock-lookup_3.cjs.entry.js +9 -9
- package/dist/cjs/flexible-container.cjs.entry.js +3 -3
- package/dist/cjs/form-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/form-date-picker.cjs.entry.js +5 -5
- package/dist/cjs/form-input_7.cjs.entry.js +17 -17
- package/dist/cjs/form-switch.cjs.entry.js +2 -2
- package/dist/cjs/form-time-picker.cjs.entry.js +6 -6
- package/dist/cjs/{functions-C9XsBzrL.js → functions-DL7oNhTD.js} +1 -1
- package/dist/cjs/general-form.cjs.entry.js +4 -4
- package/dist/cjs/general-inquiry-form.cjs.entry.js +4 -4
- package/dist/cjs/{get-local-language-BnUadlVY.js → get-local-language-BuK1vyX4.js} +1 -1
- package/dist/cjs/{get-mock-files-Dr5dpq1N.js → get-mock-files-D0TNQtTV.js} +1 -1
- package/dist/cjs/information-table.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/loading-spinner.cjs.entry.js +2 -2
- package/dist/cjs/manufacturer-part-lookup.cjs.entry.js +3 -3
- package/dist/cjs/part-lookup.cjs.entry.js +2 -2
- package/dist/cjs/service-booking-form.cjs.entry.js +4 -4
- package/dist/cjs/shift-accordion.cjs.entry.js +1 -1
- package/dist/cjs/shift-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/shift-components.cjs.js +1 -1
- package/dist/cjs/shift-slider.cjs.entry.js +2 -2
- package/dist/cjs/shift-switch.cjs.entry.js +1 -1
- package/dist/cjs/shift-tab-content.cjs.entry.js +2 -2
- package/dist/cjs/shift-tabs_2.cjs.entry.js +92 -34
- package/dist/cjs/ssc-lookup-form.cjs.entry.js +4 -4
- package/dist/cjs/test-drive-form.cjs.entry.js +4 -4
- package/dist/cjs/triangle-alert-CTvU1eGY.js +248 -0
- package/dist/cjs/vehicle-accessories_8.cjs.entry.js +177 -117
- package/dist/cjs/vehicle-lookup.cjs.entry.js +3 -3
- package/dist/cjs/vehicle-quotation-form.cjs.entry.js +4 -4
- package/dist/collection/components/components/flexible-container.css +1 -1
- package/dist/collection/components/components/flexible-container.js +2 -2
- package/dist/collection/components/components/information-table.css +1 -1
- package/dist/collection/components/components/loading-spinner.css +1 -1
- package/dist/collection/components/components/loading-spinner.js +1 -1
- package/dist/collection/components/components/shift-accordion.js +1 -1
- package/dist/collection/components/components/shift-checkbox.js +1 -1
- package/dist/collection/components/components/shift-portal.css +1 -1
- package/dist/collection/components/components/shift-select-dropdown.css +1 -1
- package/dist/collection/components/components/shift-select-dropdown.js +2 -2
- package/dist/collection/components/components/shift-select.css +1 -1
- package/dist/collection/components/components/shift-select.js +3 -3
- package/dist/collection/components/components/shift-slider.css +1 -1
- package/dist/collection/components/components/shift-slider.js +1 -1
- package/dist/collection/components/components/shift-switch.js +1 -1
- package/dist/collection/components/components/shift-tab-content.css +1 -1
- package/dist/collection/components/components/shift-tab-content.js +1 -1
- package/dist/collection/components/components/shift-tabs.css +1 -1
- package/dist/collection/components/components/shift-tabs.js +2 -2
- package/dist/collection/components/form-elements/branch-slot-dropdown.js +1 -1
- package/dist/collection/components/form-elements/branch-slot-picker.js +2 -2
- package/dist/collection/components/form-elements/form-checkbox.js +1 -1
- package/dist/collection/components/form-elements/form-date-picker-legacy.js +4 -4
- package/dist/collection/components/form-elements/form-dialog.js +1 -1
- package/dist/collection/components/form-elements/form-file.js +2 -2
- package/dist/collection/components/form-elements/form-input.js +2 -2
- package/dist/collection/components/form-elements/form-inputs.css +1 -1
- package/dist/collection/components/form-elements/form-picker-input.js +2 -2
- package/dist/collection/components/form-elements/form-shadow-input.js +1 -1
- package/dist/collection/components/form-elements/form-stepper-control.js +2 -2
- package/dist/collection/components/form-elements/form-stepper-submit.js +2 -2
- package/dist/collection/components/form-elements/form-stepper.js +1 -1
- package/dist/collection/components/form-elements/form-structure-error.js +1 -1
- package/dist/collection/components/form-elements/form-submit.js +2 -2
- package/dist/collection/components/form-elements/form-switch.js +1 -1
- package/dist/collection/components/form-elements/form-text-area.js +2 -2
- package/dist/collection/components/form-elements/form-time-picker-legacy.js +5 -5
- package/dist/collection/components/form-elements/form-vin-input.js +2 -2
- package/dist/collection/components/forms/general-form.js +2 -2
- package/dist/collection/components/forms/general-inquiry.js +2 -2
- package/dist/collection/components/forms/service-booking.js +2 -2
- package/dist/collection/components/forms/ssc-lookup.js +2 -2
- package/dist/collection/components/forms/test-drive.js +2 -2
- package/dist/collection/components/forms/vehicle-quotation.js +2 -2
- package/dist/collection/components/part-lookup/dead-stock-lookup.css +1 -1
- package/dist/collection/components/part-lookup/dead-stock-lookup.js +2 -2
- package/dist/collection/components/part-lookup/distributor-lookup.css +1 -1
- package/dist/collection/components/part-lookup/distributor-lookup.js +2 -2
- package/dist/collection/components/part-lookup/manufacturer-lookup.css +1 -1
- package/dist/collection/components/part-lookup/manufacturer-part-lookup.css +1 -1
- package/dist/collection/components/part-lookup/manufacturer-part-lookup.js +1 -1
- package/dist/collection/components/part-lookup/part-lookup.css +1 -1
- package/dist/collection/components/vehicle-lookup/components/claimable-item-popover.js +37 -29
- package/dist/collection/components/vehicle-lookup/components/claimable-trace-modal.js +6 -2
- package/dist/collection/components/vehicle-lookup/components/service-history-sub-row.js +3 -3
- package/dist/collection/components/vehicle-lookup/vehicle-accessories.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-accessories.js +2 -2
- package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.js +121 -70
- package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.js +89 -29
- package/dist/collection/components/vehicle-lookup/vehicle-lookup.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-paint-thickness.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-sale-information.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-sale-information.js +2 -2
- package/dist/collection/components/vehicle-lookup/vehicle-service-history.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-service-history.js +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-specification.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-specification.js +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-warranty-details.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-warranty-timeline.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-warranty-timeline.js +1 -1
- package/dist/collection/components/vin-extractor/vin-extractor.js +1 -1
- package/dist/collection/global/lib/overlay.js +154 -0
- package/dist/collection/templates/assets/adp-wordmark.svg +1 -0
- package/dist/collection/templates/harness-theme.js +44 -0
- package/dist/collection/templates/harness.js +264 -0
- package/dist/components/branch-slot-dropdown.js +1 -1
- package/dist/components/branch-slot-picker.js +1 -1
- package/dist/components/dead-stock-lookup.js +1 -1
- package/dist/components/distributor-lookup.js +1 -1
- package/dist/components/flexible-container.js +1 -1
- package/dist/components/form-checkbox.js +1 -1
- package/dist/components/form-date-picker.js +1 -1
- package/dist/components/form-dialog.js +1 -1
- package/dist/components/form-file.js +1 -1
- package/dist/components/form-input-preview.js +1 -1
- package/dist/components/form-input.js +1 -1
- package/dist/components/form-phone-number.js +1 -1
- package/dist/components/form-picker-input.js +1 -1
- package/dist/components/form-select.js +1 -1
- package/dist/components/form-shadow-input.js +1 -1
- package/dist/components/form-stepper-control.js +1 -1
- package/dist/components/form-stepper-submit.js +1 -1
- package/dist/components/form-stepper.js +1 -1
- package/dist/components/form-structure-error.js +1 -1
- package/dist/components/form-structure.js +1 -1
- package/dist/components/form-submit.js +1 -1
- package/dist/components/form-switch.js +1 -1
- package/dist/components/form-text-area.js +1 -1
- package/dist/components/form-time-picker.js +1 -1
- package/dist/components/form-vin-input.js +1 -1
- package/dist/components/general-form.js +1 -1
- package/dist/components/general-inquiry-form.js +1 -1
- package/dist/components/information-table.js +1 -1
- package/dist/components/loading-spinner.js +1 -1
- package/dist/components/manufacturer-lookup.js +1 -1
- package/dist/components/manufacturer-part-lookup.js +1 -1
- package/dist/components/{p-Dseg250d.js → p-1fzw9lBq.js} +1 -1
- package/dist/components/{p-BVdlf8rx.js → p-6RmAcc2q.js} +1 -1
- package/dist/components/p-7Gq_FyNj.js +5 -0
- package/dist/components/p-8jIkK-Kb.js +5 -0
- package/dist/components/{p-DG-IgRFW.js → p-B2w49gNR.js} +1 -1
- package/dist/components/{p-B0lK-5c_.js → p-B7G2HjX0.js} +1 -1
- package/dist/components/{p-BMnQwtNn.js → p-B8hl68AM.js} +1 -1
- package/dist/components/{p-TtDq4UV5.js → p-B9xLzbPr.js} +1 -1
- package/dist/components/{p-Bs5AIefE.js → p-BKzXBxxc.js} +1 -1
- package/dist/components/{p-Cg4l7ICV.js → p-BUepGDZV.js} +1 -1
- package/dist/components/{p-Ci6LbIzY.js → p-B__72-PA.js} +1 -1
- package/dist/components/{p-DgJ9CCPI.js → p-BaZAgTxG.js} +1 -1
- package/dist/components/p-Bb2xDuqh.js +5 -0
- package/dist/components/{p-DTdm5I7a.js → p-BbQAkWw4.js} +1 -1
- package/dist/components/{p-BmQrqnnJ.js → p-BdPZ7u2w.js} +1 -1
- package/dist/components/{p-k8G1hnHC.js → p-Bj3cvdzl.js} +1 -1
- package/dist/components/{p-Bb4mauUH.js → p-BvMcY9Sk.js} +1 -1
- package/dist/components/p-C-yTwaAA.js +5 -0
- package/dist/components/{p-C31A3MHr.js → p-C6U9Fs9H.js} +1 -1
- package/dist/components/{p-CNqcMKLv.js → p-C8B9jarP.js} +1 -1
- package/dist/components/p-C8S2P4sw.js +5 -0
- package/dist/components/{p-B6EgLMus.js → p-CC16uGpN.js} +1 -1
- package/dist/components/p-CCounVqq.js +5 -0
- package/dist/components/{p-Dhi7g1w3.js → p-CIPh05sT.js} +1 -1
- package/dist/components/{p-CCuYl9VQ.js → p-CKwgX_v0.js} +1 -1
- package/dist/components/{p-Be01Kv65.js → p-CL5G_ZDE.js} +1 -1
- package/dist/components/{p-C2trAVtF.js → p-CPBmhspv.js} +1 -1
- package/dist/components/p-ClT5CzCZ.js +5 -0
- package/dist/components/{p-gzdpekMI.js → p-Cm94OAx9.js} +1 -1
- package/dist/components/{p-l738xIxs.js → p-CwbJMZVZ.js} +1 -1
- package/dist/components/{p-oZMLGlUq.js → p-D7Sj02XY.js} +1 -1
- package/dist/components/{p-BogCz_yJ.js → p-DWjIts4C.js} +1 -1
- package/dist/components/p-DbnN292R.js +5 -0
- package/dist/components/{p-D9pKibY5.js → p-DcMgXNpe.js} +1 -1
- package/dist/components/{p-B_jDD5xI.js → p-Dd_Xnn2b.js} +1 -1
- package/dist/components/{p-CuTemmgW.js → p-DeipsN8N.js} +1 -1
- package/dist/components/{p-Bl_BMBad.js → p-DkagL-e-.js} +1 -1
- package/dist/components/{p-DlqfD7uh.js → p-DpXLfNHS.js} +1 -1
- package/dist/components/{p-BiaT4YFg.js → p-Dsk1SNut.js} +1 -1
- package/dist/components/{p-uPiGNvhQ.js → p-DtZM3yHS.js} +1 -1
- package/dist/components/p-G7teNuSi.js +5 -0
- package/dist/components/{p-Ci6k5mSb.js → p-LkNhSGDO.js} +1 -1
- package/dist/components/{p-B0tcNl8W.js → p-Qh1y1RV2.js} +1 -1
- package/dist/components/{p-DcB3e3j1.js → p-R_rAJ4hF.js} +1 -1
- package/dist/components/p-_apNp6J3.js +5 -0
- package/dist/components/{p-D7wRHBb3.js → p-l2FHTMzv.js} +1 -1
- package/dist/components/part-lookup.js +1 -1
- package/dist/components/service-booking-form.js +1 -1
- package/dist/components/shift-accordion.js +1 -1
- package/dist/components/shift-checkbox.js +1 -1
- package/dist/components/shift-portal.js +1 -1
- package/dist/components/shift-select-dropdown.js +1 -1
- package/dist/components/shift-select.js +1 -1
- package/dist/components/shift-slider.js +1 -1
- package/dist/components/shift-switch.js +1 -1
- package/dist/components/shift-tab-content.js +1 -1
- package/dist/components/shift-tabs.js +1 -1
- package/dist/components/ssc-lookup-form.js +1 -1
- package/dist/components/test-drive-form.js +1 -1
- package/dist/components/vehicle-accessories.js +1 -1
- package/dist/components/vehicle-claimable-items.js +1 -1
- package/dist/components/vehicle-item-claim-form.js +1 -1
- package/dist/components/vehicle-lookup.js +1 -1
- package/dist/components/vehicle-paint-thickness.js +1 -1
- package/dist/components/vehicle-quotation-form.js +1 -1
- package/dist/components/vehicle-sale-information.js +1 -1
- package/dist/components/vehicle-service-history.js +1 -1
- package/dist/components/vehicle-specification.js +1 -1
- package/dist/components/vehicle-warranty-details.js +1 -1
- package/dist/components/vehicle-warranty-timeline.js +1 -1
- package/dist/components/vin-extractor.js +1 -1
- package/dist/esm/branch-slot-dropdown_15.entry.js +31 -31
- package/dist/esm/dead-stock-lookup_3.entry.js +9 -9
- package/dist/esm/flexible-container.entry.js +3 -3
- package/dist/esm/form-checkbox.entry.js +2 -2
- package/dist/esm/form-date-picker.entry.js +5 -5
- package/dist/esm/form-input_7.entry.js +17 -17
- package/dist/esm/form-switch.entry.js +2 -2
- package/dist/esm/form-time-picker.entry.js +6 -6
- package/dist/esm/{functions-COLiDjnd.js → functions-Ccrile_u.js} +1 -1
- package/dist/esm/general-form.entry.js +4 -4
- package/dist/esm/general-inquiry-form.entry.js +4 -4
- package/dist/esm/{get-local-language-CACck9dv.js → get-local-language-oNw84Rsz.js} +1 -1
- package/dist/esm/{get-mock-files-BEIYZlS_.js → get-mock-files-C26lznN1.js} +1 -1
- package/dist/esm/information-table.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loading-spinner.entry.js +2 -2
- package/dist/esm/manufacturer-part-lookup.entry.js +3 -3
- package/dist/esm/part-lookup.entry.js +2 -2
- package/dist/esm/service-booking-form.entry.js +4 -4
- package/dist/esm/shift-accordion.entry.js +1 -1
- package/dist/esm/shift-checkbox.entry.js +1 -1
- package/dist/esm/shift-components.js +1 -1
- package/dist/esm/shift-slider.entry.js +2 -2
- package/dist/esm/shift-switch.entry.js +1 -1
- package/dist/esm/shift-tab-content.entry.js +2 -2
- package/dist/esm/shift-tabs_2.entry.js +92 -34
- package/dist/esm/ssc-lookup-form.entry.js +4 -4
- package/dist/esm/test-drive-form.entry.js +4 -4
- package/dist/esm/triangle-alert-BlnfPzWh.js +237 -0
- package/dist/esm/vehicle-accessories_8.entry.js +177 -117
- package/dist/esm/vehicle-lookup.entry.js +3 -3
- package/dist/esm/vehicle-quotation-form.entry.js +4 -4
- package/dist/integration-manifest.json +1 -1
- package/dist/locales/vehicleLookup/serviceHistory/en.json +2 -2
- package/dist/shift-components/{p-65aad39b.entry.js → p-09a0fd99.entry.js} +1 -1
- package/dist/shift-components/{p-6263bc0c.entry.js → p-0da97a29.entry.js} +1 -1
- package/dist/shift-components/{p-782fe0e1.entry.js → p-12e295ba.entry.js} +1 -1
- package/dist/shift-components/{p-48a9feb9.entry.js → p-1355934b.entry.js} +1 -1
- package/dist/shift-components/{p-e7a99998.entry.js → p-138af7f3.entry.js} +1 -1
- package/dist/shift-components/{p-bb172fc4.entry.js → p-30e84a3b.entry.js} +1 -1
- package/dist/shift-components/{p-829f24b9.entry.js → p-31718ec2.entry.js} +1 -1
- package/dist/shift-components/p-323ffb6e.entry.js +5 -0
- package/dist/shift-components/{p-c66b18c9.entry.js → p-327fddd8.entry.js} +1 -1
- package/dist/shift-components/p-34e9053b.entry.js +5 -0
- package/dist/shift-components/{p-a0d13479.entry.js → p-3aad8840.entry.js} +1 -1
- package/dist/shift-components/{p-cfcfdb20.entry.js → p-53cd54e8.entry.js} +1 -1
- package/dist/shift-components/{p-ec2a7d65.entry.js → p-63713eae.entry.js} +1 -1
- package/dist/shift-components/{p-fdf94f65.entry.js → p-68722c7b.entry.js} +1 -1
- package/dist/shift-components/{p-c4cf0a18.entry.js → p-729d8d4b.entry.js} +1 -1
- package/dist/shift-components/p-8374f629.entry.js +5 -0
- package/dist/shift-components/p-9b13a82b.entry.js +5 -0
- package/dist/shift-components/p-BkVfhjgg.js +5 -0
- package/dist/shift-components/{p-jmNTa9tM.js → p-BugYpTL6.js} +1 -1
- package/dist/shift-components/{p-f2b86186.entry.js → p-a15fdf1e.entry.js} +1 -1
- package/dist/shift-components/{p-D0Md1Xf7.js → p-awXOnuq1.js} +1 -1
- package/dist/shift-components/p-c25a6c0d.entry.js +5 -0
- package/dist/shift-components/{p-b1270d98.entry.js → p-c9ba7fd5.entry.js} +1 -1
- package/dist/shift-components/{p-537507ee.entry.js → p-d58404bd.entry.js} +1 -1
- package/dist/shift-components/{p-1923fdb9.entry.js → p-d59276b6.entry.js} +1 -1
- package/dist/shift-components/p-dacdff2a.entry.js +5 -0
- package/dist/shift-components/{p-853f1b8b.entry.js → p-e90c354a.entry.js} +1 -1
- package/dist/shift-components/{p-ac91d4ce.entry.js → p-eb265a3e.entry.js} +1 -1
- package/dist/shift-components/{p-b2048d87.entry.js → p-f2a546db.entry.js} +1 -1
- package/dist/shift-components/{p--JyU3LyU.js → p-urLq-GEs.js} +1 -1
- package/dist/shift-components/shift-components.esm.js +1 -1
- package/dist/stencil-docs.json +1 -1
- package/dist/types/components/vehicle-lookup/components/claimable-item-popover.d.ts +10 -1
- package/dist/types/components/vehicle-lookup/components/claimable-trace-modal.d.ts +3 -0
- package/dist/types/components/vehicle-lookup/vehicle-claimable-items.d.ts +14 -4
- package/dist/types/components/vehicle-lookup/vehicle-item-claim-form.d.ts +23 -3
- package/dist/types/global/lib/overlay.d.ts +61 -0
- package/package.json +10 -3
- package/dist/cjs/triangle-alert-BjQBwsRv.js +0 -92
- package/dist/components/p-BQHywBX6.js +0 -5
- package/dist/components/p-BUczNscD.js +0 -5
- package/dist/components/p-BvFDjUZZ.js +0 -5
- package/dist/components/p-CZWmJ1vV.js +0 -5
- package/dist/components/p-D0oXezbg.js +0 -5
- package/dist/components/p-DBKG_o1-.js +0 -5
- package/dist/components/p-Dlm9wHfQ.js +0 -5
- package/dist/components/p-DsMy6H9e.js +0 -5
- package/dist/components/p-EVz84xxv.js +0 -5
- package/dist/components/p-SnXklPq9.js +0 -5
- package/dist/esm/triangle-alert-Brtqhx2d.js +0 -86
- package/dist/shift-components/p-34dffc00.entry.js +0 -5
- package/dist/shift-components/p-6fa1121c.entry.js +0 -5
- package/dist/shift-components/p-9a6450f6.entry.js +0 -5
- package/dist/shift-components/p-B9kqtQjS.js +0 -5
- package/dist/shift-components/p-a91ed0fc.entry.js +0 -5
- package/dist/shift-components/p-c9a7e5ab.entry.js +0 -5
- package/dist/shift-components/p-fa7a961c.entry.js +0 -5
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { Host, h } from "@stencil/core";
|
|
6
6
|
import cn from "../../global/lib/cn";
|
|
7
7
|
import { scrollIntoContainerView } from "../../global/lib/scroll-into-container-view";
|
|
8
|
+
import { bindEscapeFallback, closeModalOverlay, demoteOverlay, openModalOverlay, promoteOverlayIfCaged } from "../../global/lib/overlay";
|
|
8
9
|
import { VehicleInfoLayout } from "../../features/vehicle-info-layout/index";
|
|
9
10
|
import { smartInvokable } from "../../features/blazor-ref/index";
|
|
10
11
|
import { setVehicleLookupData, setVehicleLookupErrorState } from "../../features/vehicle-lookup-component/index";
|
|
@@ -13,6 +14,9 @@ import { ClaimableItem } from "./components/claimable-item";
|
|
|
13
14
|
import { ClaimableItemPopover } from "./components/claimable-item-popover";
|
|
14
15
|
import { ClaimableTraceModal } from "./components/claimable-trace-modal";
|
|
15
16
|
import dynamicClaimSchema from "../../locales/vehicleLookup/claimableItems/type";
|
|
17
|
+
import { PrintIcon } from "../../global/assets/print-icon";
|
|
18
|
+
import { ActivationIcon } from "../../global/assets/activation-icon";
|
|
19
|
+
import { EmptyTableIcon } from "../../global/assets/empty-table-icon";
|
|
16
20
|
/**
|
|
17
21
|
* Whether an item is genuinely waiting to be claimed.
|
|
18
22
|
*
|
|
@@ -22,9 +26,6 @@ import dynamicClaimSchema from "../../locales/vehicleLookup/claimableItems/type"
|
|
|
22
26
|
* true of an item the customer was never able to claim.
|
|
23
27
|
*/
|
|
24
28
|
const isAwaitingClaim = (item) => item.status === 'pending' && !item.lock;
|
|
25
|
-
import { PrintIcon } from "../../global/assets/print-icon";
|
|
26
|
-
import { ActivationIcon } from "../../global/assets/activation-icon";
|
|
27
|
-
import { EmptyTableIcon } from "../../global/assets/empty-table-icon";
|
|
28
29
|
export class VehicleClaimableItems {
|
|
29
30
|
constructor() {
|
|
30
31
|
// #region Localization
|
|
@@ -51,7 +52,8 @@ export class VehicleClaimableItems {
|
|
|
51
52
|
this.popoverTarget = { centerX: 0, topY: 0, bottomY: 0 };
|
|
52
53
|
this.popoverHeight = 0;
|
|
53
54
|
this.popoverBodyContentHeight = 0;
|
|
54
|
-
this.
|
|
55
|
+
this.popoverSwapping = false;
|
|
56
|
+
this.popoverLayerKey = 0;
|
|
55
57
|
this.popoverFadingOut = false;
|
|
56
58
|
this.showTraceModal = false;
|
|
57
59
|
this.traceModalFadingOut = false;
|
|
@@ -210,20 +212,38 @@ export class VehicleClaimableItems {
|
|
|
210
212
|
if (!this.popoverAnchorEl)
|
|
211
213
|
return;
|
|
212
214
|
const { left, right, top, bottom } = this.popoverAnchorEl.getBoundingClientRect();
|
|
213
|
-
|
|
215
|
+
const centerX = (left + right) / 2;
|
|
216
|
+
// Writing @State re-renders the whole component, and scroll fires far more often than the anchor
|
|
217
|
+
// actually moves — most notably not at all while the popover is parked over a still page.
|
|
218
|
+
if (this.popoverTarget.centerX === centerX && this.popoverTarget.topY === top && this.popoverTarget.bottomY === bottom)
|
|
219
|
+
return;
|
|
220
|
+
this.popoverTarget = { centerX, topY: top, bottomY: bottom };
|
|
221
|
+
};
|
|
222
|
+
// The anchor outlives the popover, so scroll and resize would otherwise keep measuring it long
|
|
223
|
+
// after the card closed.
|
|
224
|
+
this.onViewportChange = () => {
|
|
225
|
+
if (!this.showClaimableItemPopover && !this.popoverFadingOut)
|
|
226
|
+
return;
|
|
227
|
+
this.updatePopoverLocation();
|
|
214
228
|
};
|
|
215
229
|
this.measurePopoverHeight = () => {
|
|
216
|
-
var _a;
|
|
230
|
+
var _a, _b;
|
|
217
231
|
const body = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.popover-body');
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
232
|
+
const content = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.popover-body-content');
|
|
233
|
+
const inner = this.currentPopoverInner();
|
|
234
|
+
if (!body || !content || !inner)
|
|
235
|
+
return;
|
|
236
|
+
// Mid-swap the content box is pinned to an animating height and the outgoing layer is still
|
|
237
|
+
// stacked behind the incoming one, so the body's own size is neither where it started nor where
|
|
238
|
+
// it is going. Take the chrome (padding + border) from the live box and the content height from
|
|
239
|
+
// the layer that will remain, which off a swap is exactly the body's scrollHeight anyway.
|
|
240
|
+
this.popoverHeight = Math.ceil(inner.getBoundingClientRect().height) + (body.offsetHeight - content.offsetHeight);
|
|
223
241
|
};
|
|
242
|
+
// Scoped to the current layer: during a cross-fade an outgoing copy of the card is mounted too,
|
|
243
|
+
// and an unscoped lookup would measure whichever of the two the vdom happened to put first.
|
|
244
|
+
this.currentPopoverInner = () => { var _a; return (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.popover-layer-current .popover-body-inner'); };
|
|
224
245
|
this.measurePopoverContentHeight = () => {
|
|
225
|
-
|
|
226
|
-
const inner = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.popover-body-inner');
|
|
246
|
+
const inner = this.currentPopoverInner();
|
|
227
247
|
if (!inner)
|
|
228
248
|
return 0;
|
|
229
249
|
// Use getBoundingClientRect for sub-pixel precision and ceil to avoid undershooting at
|
|
@@ -252,45 +272,65 @@ export class VehicleClaimableItems {
|
|
|
252
272
|
this.showClaimableItemPopover = true;
|
|
253
273
|
return;
|
|
254
274
|
}
|
|
255
|
-
clearTimeout(this.
|
|
275
|
+
clearTimeout(this.popoverSwapEndTimeoutRef);
|
|
256
276
|
if (wasActive) {
|
|
257
|
-
// Switching to a different item while still active
|
|
277
|
+
// Switching to a different item while still active. Both cards are mounted at once, stacked
|
|
278
|
+
// in one grid cell: pin the box to the height it has now, mount the incoming layer hidden,
|
|
279
|
+
// then release everything together next frame so the fade-out, the fade-in and the resize
|
|
280
|
+
// run on the same clock. The previous version faded the values out, swapped the DOM, and
|
|
281
|
+
// only then started resizing — which is what made the move read as two separate jerks, left
|
|
282
|
+
// labels and whole rows hard-swapping, and mounted/unmounted a claim button mid-move.
|
|
258
283
|
this.popoverBodyContentHeight = this.measurePopoverContentHeight();
|
|
259
|
-
this.
|
|
284
|
+
this.outgoingClaimItem = this.selectedClaimItem;
|
|
285
|
+
this.selectedClaimItem = claimableItem;
|
|
286
|
+
this.popoverLayerKey += 1;
|
|
287
|
+
this.popoverSwapping = true;
|
|
260
288
|
this.popoverFadingOut = false;
|
|
261
289
|
this.showClaimableItemPopover = true;
|
|
262
290
|
this.updatePopoverLocation();
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
291
|
+
// Two frames: the first lets Stencil render the incoming layer, the second lets the browser
|
|
292
|
+
// adopt its opacity:0 starting style. Flipping in the first frame would skip the transition.
|
|
293
|
+
requestAnimationFrame(() => requestAnimationFrame(() => {
|
|
294
|
+
this.popoverBodyContentHeight = this.measurePopoverContentHeight();
|
|
295
|
+
this.popoverSwapping = false;
|
|
296
|
+
this.measurePopoverHeight();
|
|
297
|
+
}));
|
|
298
|
+
this.popoverSwapEndTimeoutRef = setTimeout(() => {
|
|
299
|
+
this.outgoingClaimItem = undefined;
|
|
300
|
+
// Hand the height back to the content, so anything that changes it later (a claim landing,
|
|
301
|
+
// a resize) reflows instead of staying pinned to a stale measurement.
|
|
302
|
+
this.popoverBodyContentHeight = 0;
|
|
303
|
+
}, VehicleClaimableItems.POPOVER_SWAP_MS);
|
|
271
304
|
}
|
|
272
305
|
else {
|
|
273
306
|
// Truly fresh open. Two-frame dance: set position while still hidden, then flip aria-expanded
|
|
274
307
|
// next frame so the opacity fade-in doesn't drag a position transition along with it.
|
|
275
|
-
this.
|
|
308
|
+
this.popoverSwapping = false;
|
|
309
|
+
this.outgoingClaimItem = undefined;
|
|
276
310
|
this.popoverBodyContentHeight = 0;
|
|
277
311
|
this.selectedClaimItem = claimableItem;
|
|
278
312
|
this.updatePopoverLocation();
|
|
279
313
|
requestAnimationFrame(() => {
|
|
280
314
|
this.showClaimableItemPopover = true;
|
|
315
|
+
// Non-modal, and only when an ancestor would otherwise clip it: a hover card that took the
|
|
316
|
+
// top layer unconditionally would outrank the host's own toasts and nav for no reason, and
|
|
317
|
+
// a modal one would inert the very cards it is meant to be hovered between.
|
|
318
|
+
promoteOverlayIfCaged(this.popoverEl);
|
|
281
319
|
requestAnimationFrame(() => this.measurePopoverHeight());
|
|
282
320
|
});
|
|
283
321
|
}
|
|
284
322
|
}
|
|
285
323
|
else {
|
|
286
324
|
this.popoverCloseTimeoutRef = setTimeout(() => {
|
|
287
|
-
clearTimeout(this.
|
|
325
|
+
clearTimeout(this.popoverSwapEndTimeoutRef);
|
|
288
326
|
this.showClaimableItemPopover = false;
|
|
289
327
|
this.popoverFadingOut = true;
|
|
290
|
-
this.
|
|
328
|
+
this.popoverSwapping = false;
|
|
329
|
+
this.outgoingClaimItem = undefined;
|
|
291
330
|
this.popoverHideTimeoutRef = setTimeout(() => {
|
|
292
331
|
this.popoverFadingOut = false;
|
|
293
332
|
this.popoverBodyContentHeight = 0;
|
|
333
|
+
demoteOverlay(this.popoverEl);
|
|
294
334
|
}, VehicleClaimableItems.POPOVER_FADE_OUT_MS);
|
|
295
335
|
}, VehicleClaimableItems.POPOVER_CLOSE_DELAY_MS);
|
|
296
336
|
}
|
|
@@ -312,13 +352,18 @@ export class VehicleClaimableItems {
|
|
|
312
352
|
this.isLoadingTrace = true;
|
|
313
353
|
this.traceError = undefined;
|
|
314
354
|
this.traceHtml = undefined;
|
|
315
|
-
// Match the claim-form pattern:
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
355
|
+
// Match the claim-form pattern: the top layer clears the host page's stacking contexts and
|
|
356
|
+
// inerts everything behind it, so the only scrollbar is the iframe's.
|
|
357
|
+
const inTopLayer = openModalOverlay(this.traceDialogEl);
|
|
358
|
+
// What the top layer supplies for free, supplied by hand where it is unavailable.
|
|
359
|
+
if (!inTopLayer) {
|
|
360
|
+
document.body.style.overflow = 'hidden';
|
|
361
|
+
const release = bindEscapeFallback(this.onTraceCancel);
|
|
362
|
+
this.releaseTraceFallbacks = () => {
|
|
363
|
+
release();
|
|
364
|
+
document.body.style.overflow = '';
|
|
365
|
+
};
|
|
366
|
+
}
|
|
322
367
|
(_b = this.traceAbortController) === null || _b === void 0 ? void 0 : _b.abort();
|
|
323
368
|
this.traceAbortController = new AbortController();
|
|
324
369
|
try {
|
|
@@ -352,19 +397,26 @@ export class VehicleClaimableItems {
|
|
|
352
397
|
(_a = this.traceAbortController) === null || _a === void 0 ? void 0 : _a.abort();
|
|
353
398
|
this.showTraceModal = false;
|
|
354
399
|
this.traceModalFadingOut = true;
|
|
355
|
-
document.body.style.overflow = 'auto';
|
|
356
|
-
if (this.traceCloseListener) {
|
|
357
|
-
window.removeEventListener('keydown', this.traceCloseListener);
|
|
358
|
-
this.traceCloseListener = undefined;
|
|
359
|
-
}
|
|
360
400
|
clearTimeout(this.traceFadeOutTimeoutRef);
|
|
361
401
|
this.traceFadeOutTimeoutRef = setTimeout(() => {
|
|
402
|
+
var _a;
|
|
362
403
|
this.traceModalFadingOut = false;
|
|
363
404
|
this.isLoadingTrace = false;
|
|
364
405
|
this.traceError = undefined;
|
|
365
406
|
this.traceHtml = undefined;
|
|
407
|
+
// Last, so the panel is fully faded before it leaves the top layer.
|
|
408
|
+
if (this.showTraceModal)
|
|
409
|
+
return;
|
|
410
|
+
closeModalOverlay(this.traceDialogEl);
|
|
411
|
+
(_a = this.releaseTraceFallbacks) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
412
|
+
this.releaseTraceFallbacks = undefined;
|
|
366
413
|
}, VehicleClaimableItems.TRACE_FADE_OUT_MS);
|
|
367
414
|
};
|
|
415
|
+
/** Escape would drop the panel out of the top layer in one frame; close it through the fade. */
|
|
416
|
+
this.onTraceCancel = (event) => {
|
|
417
|
+
event.preventDefault();
|
|
418
|
+
this.closeTraceModal();
|
|
419
|
+
};
|
|
368
420
|
this.handleClaim = async (documents, payload) => {
|
|
369
421
|
try {
|
|
370
422
|
const formData = new FormData();
|
|
@@ -404,7 +456,6 @@ export class VehicleClaimableItems {
|
|
|
404
456
|
});
|
|
405
457
|
reject(new Error('Upload succeeded but response is not valid JSON'));
|
|
406
458
|
}
|
|
407
|
-
resolve();
|
|
408
459
|
}
|
|
409
460
|
else {
|
|
410
461
|
try {
|
|
@@ -418,10 +469,7 @@ export class VehicleClaimableItems {
|
|
|
418
469
|
}
|
|
419
470
|
}
|
|
420
471
|
};
|
|
421
|
-
xhr.onerror =
|
|
422
|
-
console.log(e);
|
|
423
|
-
reject(new Error('Network error'));
|
|
424
|
-
};
|
|
472
|
+
xhr.onerror = () => reject(new Error('Network error'));
|
|
425
473
|
xhr.send(formData);
|
|
426
474
|
});
|
|
427
475
|
}
|
|
@@ -429,7 +477,7 @@ export class VehicleClaimableItems {
|
|
|
429
477
|
// Show the claim-failure dialog, then re-throw: the rejection resets the
|
|
430
478
|
// claim form's loading state and keeps it open for retry.
|
|
431
479
|
this.claimForm.showError((error === null || error === void 0 ? void 0 : error.serverMessage) || this.locale.sharedLocales.errors.requestFailedPleaseTryAgainLater);
|
|
432
|
-
throw
|
|
480
|
+
throw error;
|
|
433
481
|
}
|
|
434
482
|
};
|
|
435
483
|
this.handleDevClaim = async (documents) => {
|
|
@@ -448,7 +496,7 @@ export class VehicleClaimableItems {
|
|
|
448
496
|
}
|
|
449
497
|
catch (error) {
|
|
450
498
|
this.claimForm.showError(this.locale.sharedLocales.errors.requestFailedPleaseTryAgainLater);
|
|
451
|
-
throw
|
|
499
|
+
throw error;
|
|
452
500
|
}
|
|
453
501
|
};
|
|
454
502
|
}
|
|
@@ -486,9 +534,9 @@ export class VehicleClaimableItems {
|
|
|
486
534
|
window.addEventListener('resize', this.onWindowResize);
|
|
487
535
|
document.addEventListener('visibilitychange', this.onVisibilityChange);
|
|
488
536
|
if (this.claimableItemsBox)
|
|
489
|
-
this.claimableItemsBox.addEventListener('scroll', this.
|
|
490
|
-
window.addEventListener('scroll', this.
|
|
491
|
-
window.addEventListener('resize', this.
|
|
537
|
+
this.claimableItemsBox.addEventListener('scroll', this.onViewportChange);
|
|
538
|
+
window.addEventListener('scroll', this.onViewportChange);
|
|
539
|
+
window.addEventListener('resize', this.onViewportChange);
|
|
492
540
|
requestAnimationFrame(() => this.measurePopoverHeight());
|
|
493
541
|
// A lookup can land before the component has finished loading, in which case the measurement
|
|
494
542
|
// it asked for is still owed.
|
|
@@ -498,22 +546,20 @@ export class VehicleClaimableItems {
|
|
|
498
546
|
this.takePendingProgressBarUpdate();
|
|
499
547
|
}
|
|
500
548
|
async disconnectedCallback() {
|
|
501
|
-
var _a;
|
|
549
|
+
var _a, _b;
|
|
502
550
|
window.removeEventListener('resize', this.onWindowResize);
|
|
503
551
|
document.removeEventListener('visibilitychange', this.onVisibilityChange);
|
|
504
552
|
if (this.claimableItemsBox)
|
|
505
|
-
this.claimableItemsBox.removeEventListener('scroll', this.
|
|
506
|
-
window.removeEventListener('scroll', this.
|
|
507
|
-
window.removeEventListener('resize', this.
|
|
553
|
+
this.claimableItemsBox.removeEventListener('scroll', this.onViewportChange);
|
|
554
|
+
window.removeEventListener('scroll', this.onViewportChange);
|
|
555
|
+
window.removeEventListener('resize', this.onViewportChange);
|
|
508
556
|
clearTimeout(this.popoverCloseTimeoutRef);
|
|
509
557
|
clearTimeout(this.popoverHideTimeoutRef);
|
|
510
|
-
clearTimeout(this.
|
|
558
|
+
clearTimeout(this.popoverSwapEndTimeoutRef);
|
|
511
559
|
clearTimeout(this.traceFadeOutTimeoutRef);
|
|
512
|
-
if (this.traceCloseListener)
|
|
513
|
-
window.removeEventListener('keydown', this.traceCloseListener);
|
|
514
560
|
(_a = this.traceAbortController) === null || _a === void 0 ? void 0 : _a.abort();
|
|
515
|
-
|
|
516
|
-
|
|
561
|
+
(_b = this.releaseTraceFallbacks) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
562
|
+
demoteOverlay(this.popoverEl);
|
|
517
563
|
}
|
|
518
564
|
async onVehicleChange() {
|
|
519
565
|
this.progressBarUpdatePending = true;
|
|
@@ -529,12 +575,10 @@ export class VehicleClaimableItems {
|
|
|
529
575
|
const pendingItemsBefore = serviceDataClone.slice(0, index).filter(x => isAwaitingClaim(x));
|
|
530
576
|
serviceDataClone[index].claimable = false;
|
|
531
577
|
serviceDataClone[index].status = 'processed';
|
|
532
|
-
pendingItemsBefore.forEach(
|
|
533
|
-
otherItem.status = 'cancelled';
|
|
534
|
-
});
|
|
578
|
+
pendingItemsBefore.forEach(otherItem => (otherItem.status = 'cancelled'));
|
|
535
579
|
const vehicleDataClone = JSON.parse(JSON.stringify(this.vehicleLookup));
|
|
536
580
|
vehicleDataClone.serviceItems = serviceDataClone;
|
|
537
|
-
this.vehicleLookup =
|
|
581
|
+
this.vehicleLookup = vehicleDataClone;
|
|
538
582
|
if (response.PrintURL)
|
|
539
583
|
this.showPrintBox = true;
|
|
540
584
|
this.lastSuccessfulClaimResponse = response;
|
|
@@ -551,6 +595,9 @@ export class VehicleClaimableItems {
|
|
|
551
595
|
render() {
|
|
552
596
|
var _a, _b, _c, _d, _e;
|
|
553
597
|
const serviceItems = this.getServiceItems();
|
|
598
|
+
// Only the first item still awaiting a claim wears its status colour; the rest are drawn plain.
|
|
599
|
+
// Hoisted out of the map below, where it used to be a findIndex per card.
|
|
600
|
+
const firstAwaitingIndex = serviceItems.findIndex(isAwaitingClaim);
|
|
554
601
|
const isNoServicesAvailable = !this.isLoading && this.vehicleLookup && !serviceItems.length;
|
|
555
602
|
const hideTabs = this.isLoading || this.isError || !this.tabs.length || !serviceItems.length;
|
|
556
603
|
const tabs = this.tabs.map(group => group.name);
|
|
@@ -560,19 +607,19 @@ export class VehicleClaimableItems {
|
|
|
560
607
|
const showActivationBox = showActivationRequired || showActivationBlocked || this.showPrintBox;
|
|
561
608
|
const isBlockedBox = showActivationBlocked && !this.showPrintBox;
|
|
562
609
|
const showActionButton = this.showPrintBox || showActivationRequired;
|
|
563
|
-
return (h(Host, { key: '
|
|
610
|
+
return (h(Host, { key: 'ffd120d827fdc348b24d50e698cfa1a5333170d7', translate: "no" }, h("vehicle-item-claim-form", { key: '648752a155603a255b4559c050e0f9acbfb63d7e', class: "vehicle-item-claim-form", maximumDocumentFileSizeInMb: this.maximumDocumentFileSizeInMb, uploadMultipleDocuments: this.uploadMultipleDocumentsAtTheForm, locale: Object.assign({ sharedLocales: this.locale.sharedLocales }, this.locale.claimForm) }), h(ClaimableItemPopover, { key: 'e8688af0517fcb6dd36781dd461994432fdbcbe7', locale: this.locale, claim: this.claim.bind(this), item: this.selectedClaimItem, showPopover: this.showClaimableItemPopover, target: this.popoverTarget, popoverHeight: this.popoverHeight, fadingOut: this.popoverFadingOut, swapping: this.popoverSwapping, outgoingItem: this.outgoingClaimItem, layerKey: this.popoverLayerKey, swapMs: VehicleClaimableItems.POPOVER_SWAP_MS, bodyContentHeight: this.popoverBodyContentHeight, onMouseEnter: this.onPopoverMouseEnter, onMouseLeave: this.onPopoverMouseLeave, rootRef: el => (this.popoverEl = el) }), h(ClaimableTraceModal, { key: 'afdf434f12639e8f43ccdc80133348f2103d2c79', isOpen: this.showTraceModal, fadingOut: this.traceModalFadingOut, isLoading: this.isLoadingTrace, errorMessage: this.traceError, vin: (_d = this.vehicleLookup) === null || _d === void 0 ? void 0 : _d.vin, traceHtml: this.traceHtml, locale: this.locale, onClose: this.closeTraceModal, onCancel: this.onTraceCancel, dialogRef: el => (this.traceDialogEl = el) }), h(VehicleInfoLayout, { key: 'f91fadc6f434933f85a6ea172f65bb428a670b08', isError: this.isError, coreOnly: this.coreOnly, header: (_e = this.vehicleLookup) === null || _e === void 0 ? void 0 : _e.vin, direction: this.locale.sharedLocales.direction, isLoading: this.isLoading || this.tabAnimationLoading, errorMessage: this.locale.sharedLocales.errors[this.errorMessage] || this.locale.sharedLocales.errors.wildCard, headerRight: this.showTrace && this.vehicleLookup && !this.isLoading && !this.tabAnimationLoading && !this.isError ? (h("button", { type: "button", class: "trace-trigger-button", title: this.locale.viewTrace, "aria-label": this.locale.viewTrace, onClick: this.openTraceModal }, h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("circle", { cx: "6", cy: "19", r: "3" }), h("path", { d: "M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15" }), h("circle", { cx: "18", cy: "5", r: "3" })))) : null }, h("div", { key: '32013b1f197121fa14cbdf34a3516f0877dbe0fe', dir: "ltr", class: cn('relative flex items-center h-[320px] transition-all duration-300', { loading: this.isLoading || this.tabAnimationLoading }) }, h("div", { key: '3dd20b19c8d3d023a6bf9a8ed08b9ae0ee7216e3', dir: this.locale.sharedLocales.direction, class: "absolute top-0 z-10 w-full pt-[16px]" }, h("div", { key: '729a58cf85cd80c126469c9056c14ccd2e576920', class: cn('duration-300', { 'translate-y-[-50%] opacity-0': hideTabs }) }, h("shift-tabs", { key: 'ef0606132214cec5544908c9f898fbc7c99cacf7', activeTabLabel: this.activeTab, changeActiveTab: this.onActiveTabChange, tabs: tabs }))), h("div", { key: '15706449382df4aa49f86bc18e23f01582319ad5', class: cn('absolute w-[calc(100%-60px)] left-[30px] progress-container-style opacity-0', { 'opacity-100': this.isLoading || this.tabAnimationLoading }) }, h("div", { key: '321fd03a11953e56da71ee07bb8757d033b69db1', class: "w-full h-full rounded-[4px] overflow-x-hidden absolute left-0 top-0" }, h("div", { key: 'b5796de2ea49e129f24efc21057771b173e39469', class: "absolute opacity-0 bg-[#1a1a1a] w-[150%] h-full" }), h("div", { key: 'e06bdaeb4c29414b5483f1e401c2e43b549428fb', class: "absolute h-full bg-[linear-gradient(to_bottom,_#428bca_0%,_#3071a9_100%)] lane-inc" }), h("div", { key: '1751fe5acdc2c801c4f73623e36340e414cef46c', class: "absolute h-full bg-[linear-gradient(to_bottom,_#428bca_0%,_#3071a9_100%)] lane-dec" }))), h("div", { key: 'dd1acad43036102e1e6586e90c4bc2c743b25c1b', dir: this.locale.sharedLocales.direction, class: cn('absolute w-[90%] z-10 pointer-events-none border opacity-0 translate-y-[-5px] scale-[70%] p-[25px] text-[16px] rounded-[6px] flex items-center justify-between left-1/2 -translate-x-1/2 h-10 bottom-[40px] transition duration-500', {
|
|
564
611
|
'text-[#8a6d3b] bg-[#fcf8e3] border-[#faebcc]': !isBlockedBox,
|
|
565
612
|
'text-[#58151c] bg-[#f7d7d8] border-[#f2aeb5]': isBlockedBox,
|
|
566
613
|
'opacity-100 pointer-events-auto translate-y-0 scale-100': !this.isLoading && this.vehicleLookup && !this.tabAnimationLoading && showActivationBox,
|
|
567
|
-
}) }, h("span", { key: '
|
|
614
|
+
}) }, h("span", { key: 'a9fed56b091b460e85a0d82733ed48e49265de83', class: "font-semibold" }, this.showPrintBox
|
|
568
615
|
? this.locale.successFulClaimMessage
|
|
569
616
|
: showActivationBlocked
|
|
570
617
|
? this.locale.activationBlockedNotAllocated
|
|
571
|
-
: this.locale.warrantyAndServicesNotActivated), showActionButton && (h("button", { key: '
|
|
618
|
+
: this.locale.warrantyAndServicesNotActivated), showActionButton && (h("button", { key: '32928643bebdd6b59b55cc5663838ca80e209437', class: "claim-button", onClick: this.showPrintBox ? this.printLastClaimResponse : this.activateClaimItem }, this.showPrintBox ? h(PrintIcon, { class: "size-[30px] duration-200" }) : h(ActivationIcon, { class: "size-[30px] duration-200" }), h("span", { key: '391139de4bec49d77883382911e7aefa0c65af59' }, this.showPrintBox ? this.locale.print : this.locale.activateNow)))), h("div", { key: 'd72ba857a0533009546afc29420d7cce2beef704', class: "claimable-items-box px-[30px] min-w-full relative overflow-x-scroll h-full overflow-y-hidden" }, h("div", { key: 'a1c69785f477216d88bfe961d693650bd4c86f57', class: "flex relative w-fit min-w-full items-center h-full [&_*]:shrink-0 gap-[250px] justify-between" }, h("div", { key: 'ff1abe3a3e66f2266492a189b9c1116d0dfd2ad0', class: cn('progress-container-style progress-lane absolute overflow-hidden w-[calc(100%-0px)] translate-y-0 opacity-100', {
|
|
572
619
|
'opacity-0': this.isLoading || this.tabAnimationLoading || isNoServicesAvailable || !this.vehicleLookup,
|
|
573
|
-
}) }, h("div", { key: '
|
|
620
|
+
}) }, h("div", { key: '21ab92a76e0b31075beba8f86c1a86d5845c3561', part: "progress-bar", class: "progress-bar transition-all w-1/2 h-full bg-[linear-gradient(to_bottom,_#428bca_0%,_#3071a9_100%)]" })), h("div", { key: '7939a72a28327c2f9614b2adc0fbfaedbf148393', class: "ml-[-125px]" }), serviceItems.map((item, idx) => (h(ClaimableItem, { item: item, locale: this.locale, setClaimableItemPopover: this.setClaimableItemPopover, addStatusClass: !isAwaitingClaim(item) || firstAwaitingIndex === idx }))), h("div", { key: '3e6a6a4fb68e2b16e375cc455d2da729f1461cc8', class: "ml-[-125px]" })), h("div", { key: '57e981019a148880047186c45ee9a7dc9a630325', dir: this.locale.sharedLocales.direction, class: cn('absolute top-0 left-0 pointer-events-none size-full box-content flex flex-col justify-center opacity-0 transition duration-500 items-center text-slate-700', {
|
|
574
621
|
'opacity-100 scale-100': isNoServicesAvailable,
|
|
575
|
-
}) }, h(EmptyTableIcon, { key: '
|
|
622
|
+
}) }, h(EmptyTableIcon, { key: '57b4187e1aee59d698305ac57fabdd60412c0f7a', class: "size-[90px]" }), h("div", { key: '40e478a35b70db2f417cea0f5b8db956f727d69f', class: "text-[22px]" }, this.locale.sharedLocales.errors.noServiceAvailable)))))));
|
|
576
623
|
}
|
|
577
624
|
static get is() { return "vehicle-claimable-items"; }
|
|
578
625
|
static get encapsulation() { return "shadow"; }
|
|
@@ -962,7 +1009,9 @@ export class VehicleClaimableItems {
|
|
|
962
1009
|
"popoverTarget": {},
|
|
963
1010
|
"popoverHeight": {},
|
|
964
1011
|
"popoverBodyContentHeight": {},
|
|
965
|
-
"
|
|
1012
|
+
"popoverSwapping": {},
|
|
1013
|
+
"outgoingClaimItem": {},
|
|
1014
|
+
"popoverLayerKey": {},
|
|
966
1015
|
"popoverFadingOut": {},
|
|
967
1016
|
"showTraceModal": {},
|
|
968
1017
|
"traceModalFadingOut": {},
|
|
@@ -1174,5 +1223,7 @@ export class VehicleClaimableItems {
|
|
|
1174
1223
|
}
|
|
1175
1224
|
VehicleClaimableItems.POPOVER_CLOSE_DELAY_MS = 200;
|
|
1176
1225
|
VehicleClaimableItems.POPOVER_FADE_OUT_MS = 500;
|
|
1177
|
-
|
|
1178
|
-
|
|
1226
|
+
/** Cross-fade + resize duration. Handed to the popover as --popover-swap, so this one number
|
|
1227
|
+
* drives both the CSS transitions and the timer that drops the outgoing layer. */
|
|
1228
|
+
VehicleClaimableItems.POPOVER_SWAP_MS = 500;
|
|
1229
|
+
VehicleClaimableItems.TRACE_FADE_OUT_MS = 420;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.uppercase{text-transform:uppercase}.outline{outline-style:solid}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter}.ease-in-out,.transition{transition-timing-function:cubic-bezier(.4,0,.2,1)}.image-viewer-overlay{background-color:rgba(0,0,0,.4);height:100dvh;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition-duration:.4s;transition-property:all;width:100dvw;z-index:50}.image-viewer-overlay.active{opacity:1;pointer-events:auto;transition-delay:.2s}.image-viewer-close-btn{align-items:center;cursor:pointer;display:flex;flex-direction:column;float:right;height:3rem;justify-content:center;margin-right:16px;margin-top:16px;width:3rem}.image-viewer-close-line{background-color:#fff;border-radius:9999px;height:.25rem;position:absolute;width:3rem}.image-viewer-close-line.first{transform:rotate(45deg)}.image-viewer-close-line.second{transform:rotate(-45deg)}.image-viewer-expanded-image{border-radius:.5rem;opacity:0;position:fixed;transition-property:all;z-index:50}:host{all:initial!important;display:block;font-family:inherit!important;font-family:Noto Kufi Arabic,Nunito,Roboto,Arial,sans-serif!important}*,:host *{font-family:inherit!important}.claim-scrim{--primary:#3071a9;--primary-dark:#275e8f;--primary-tint:#e8f1f8;--warn:#ff9100;--warn-tint:#fff4e5;--warn-border:#ffd28f;--warn-text:#663c00;--danger:#d92d20;--danger-tint:#fef3f2;--danger-border:#fda29b;--danger-text:#912018;--green:#32b267;--green-dark:#27ae60;--text:#1f2937;--muted:#6b7280;--hair:#ececec;--paper:#fff;--tear:#d9d2c6;--punch:#aab0b8;background:rgba(31,41,55,.38);color:var(--text);font-size:14px}.claim-scrim,.claim-scrim *{box-sizing:border-box}.stage{display:grid;min-height:100%;padding:18px;place-items:center}.voucher{background:var(--paper);border-radius:8px;box-shadow:0 10px 30px rgba(16,24,40,.16);max-width:100%;overflow:hidden;position:relative;width:1040px}.voucher.side{display:grid;grid-template-columns:1fr 372px}.voucher.bottom{width:700px}.btn-close{background:transparent;border:none;border-radius:50%;color:#9aa3ad;cursor:pointer;display:grid;height:28px;inset-inline-end:10px;padding:0;place-items:center;position:absolute;top:10px;transition:background .15s,color .15s,opacity .3s;width:28px;z-index:5}.btn-close:hover{background:#fde8e8;color:#c0392b}.btn-close:disabled{opacity:.4;pointer-events:none}.btn-close svg{height:22px;transform:rotate(45deg);width:22px}.v-body{display:flex;flex-direction:column;min-width:0;padding-block:22px 24px;padding-inline:28px 26px;position:relative}.voucher.bottom .v-body{padding-block-end:20px}.item-row{align-items:flex-start;border-bottom:1px solid var(--hair);display:grid;gap:12px;grid-template-columns:1fr auto;padding:4px 0 12px}.item-type{background:var(--primary-tint);border:1px solid #cfe0ef;border-radius:4px;color:var(--primary-dark);display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;margin-bottom:5px;padding:2px 7px;text-transform:uppercase}.item-name{font-size:17px;font-weight:700;letter-spacing:.005em;line-height:1.2;overflow-wrap:anywhere}.vin-stamp{text-align:end}.voucher.bottom .vin-stamp{padding-inline-end:26px}.vin-stamp .lab{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.vin-stamp .vin{color:var(--text);font-size:15px;font-weight:600;letter-spacing:.03em}.btn-print{align-items:center;background:var(--warn-tint);border:1px solid var(--warn-border);border-radius:6px;color:var(--warn-text);cursor:pointer;display:inline-flex;font:inherit;font-size:11px;font-weight:600;gap:6px;margin-top:7px;padding:4px 12px;transition:background .15s,border-color .15s}.btn-print:hover{background:#ffe9cc;border-color:var(--warn)}.btn-print svg{height:13px;width:13px}.specs{border-bottom:1.5px dashed var(--tear);display:grid;grid-template-columns:repeat(3,1fr);padding:10px 0 12px}.spec{min-width:0;padding-inline-end:14px}.spec+.spec{border-inline-start:1px solid var(--hair);padding-inline-start:14px}.spec .lab{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.spec .val{color:var(--text);font-size:14px;font-variant-numeric:tabular-nums;font-weight:600;margin-top:3px;overflow-wrap:anywhere}.spec.pkg .val{color:var(--primary-dark);letter-spacing:.03em}.notices{display:flex;flex-direction:column;gap:10px;margin-top:12px}.notice{background:#fff6f5;border:1px solid var(--hair);border-end-end-radius:5px;border-inline-start:3px solid var(--danger);border-start-end-radius:5px;padding-block:10px;padding-inline:13px 12px;position:relative}.notice.info{background:#fbfcfd;border-inline-start-color:#b9c4d0}.ntc-body{color:#44403c;flex:1;font-size:13px;line-height:1.5;min-width:0;overflow-wrap:anywhere}.notice.info .ntc-body{color:#475569}.ntc-body strong{color:var(--text);font-weight:700}.notice .ntc-body ul{display:flex;flex-wrap:wrap;gap:5px;list-style:none;margin:6px 0 0;padding:0}.notice .ntc-body ul li{align-items:center;background:var(--danger-tint);border:1px dashed var(--danger-border);border-radius:4px;color:var(--danger-text);display:inline-flex;font-size:12px;font-weight:600;gap:5px;letter-spacing:.03em;padding:2px 8px}.notice .ntc-body ul li:before{background:var(--danger);border-radius:50%;content:"";height:5px;width:5px}.notice.info .ntc-body ul{display:block;list-style:disc;margin:4px 0;padding:0;padding-inline-start:24px}.notice.info .ntc-body ul li{background:none;border:none;border-radius:0;color:inherit;display:list-item;font-size:inherit;font-weight:inherit;padding:0}.notice.info .ntc-body ul li:before{content:none}.ntc-body ol{list-style:decimal;margin:4px 0;padding:0;padding-inline-start:24px}.confirm{border-top:1px dashed var(--danger-border);margin-top:8px;padding-top:8px}.confirm label{align-items:center;color:var(--danger-text);cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:9px;transition:opacity .3s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.confirm label.disabled{opacity:.5;pointer-events:none}.cbx-face{background:#fff;border:1.5px solid var(--danger-border);border-radius:4px;color:#fff;display:grid;flex:0 0 auto;height:17px;place-items:center;width:17px}.cbx-face,.cbx-face svg{transition:all .14s ease}.cbx-face svg{height:12px;opacity:0;transform:scale(.6);width:12px}.confirm input:checked~.cbx-face{background:var(--danger);border-color:var(--danger)}.confirm input:checked~.cbx-face svg{opacity:1;transform:scale(1)}.confirm input:focus-visible~.cbx-face{box-shadow:0 0 0 3px rgba(217,45,32,.28)}.doc-row{align-items:flex-start;display:flex;gap:12px}.doc-thumb-btn{align-self:center;background:none;border:none;cursor:zoom-in;flex:0 0 auto;padding:0;position:relative}.doc-thumb{background:#fff;border:1px solid #e2ddd3;border-radius:4px;box-shadow:0 1px 2px rgba(16,24,40,.05);display:block;height:auto;max-height:112px;max-width:170px;padding:3px;transition:box-shadow .15s;width:auto}.doc-thumb-btn:hover .doc-thumb{box-shadow:0 3px 10px rgba(16,24,40,.18)}.thumb-overlay{align-items:center;background:rgba(0,0,0,.4);border-radius:4px;color:#fff;display:flex;flex-direction:column;font-size:11px;gap:4px;inset:0;justify-content:center;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s}.doc-thumb-btn:hover .thumb-overlay{opacity:1}.thumb-overlay img{width:22px}.stub{background:#f4f4f4;display:flex;flex-direction:column;position:relative}.voucher.side .stub{border-inline-start:1px dashed #cdc6ba;padding:24px 24px 22px}.voucher.bottom .stub{border-top:1px dashed #cdc6ba;padding-block:16px 18px;padding-inline:28px 26px}.perf{background-image:radial-gradient(circle at center,var(--tear) 1.4px,transparent 1.6px);position:absolute}.voucher.side .perf{background-repeat:repeat-y;background-size:2px 11px;bottom:0;inset-inline-start:-1px;top:0;width:2px}.voucher.bottom .perf{background-repeat:repeat-x;background-size:11px 2px;height:2px;inset-inline:0;top:-1px}.punch{background:var(--punch);border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);height:16px;position:absolute;width:16px;z-index:1}.voucher.side .punch{inset-inline-start:-8px}.voucher.side .punch.p1{top:-8px}.voucher.side .punch.p2{bottom:-8px}.voucher.bottom .punch{top:-8px}.voucher.bottom .punch.p1{inset-inline-start:-8px}.voucher.bottom .punch.p2{inset-inline-end:-8px}.field{min-width:0}.voucher.side .field{margin-bottom:12px}.voucher.bottom .field{flex:1}.field label,.field-label{color:var(--muted);display:block;font-size:11px;font-weight:500;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.field input{background:#fff;border:1px solid #d6dbe0;border-radius:6px;color:var(--text);font:inherit;font-size:13.5px;height:38px;padding:0 11px;transition:border-color .15s,opacity .3s;width:100%}.field input::-moz-placeholder{color:#aeb4bc}.field input::placeholder{color:#aeb4bc}.field input:focus{border-color:var(--primary);outline:none}.field input:disabled{background:#fafafa;opacity:.55}.claim-area{display:flex;min-width:0}.voucher.side .claim-area{align-items:stretch;flex:1;flex-direction:column}.voucher.bottom .claim-area{align-items:flex-end;flex-direction:row;flex-wrap:wrap;gap:14px}.scanzone{background:#fff;border:1.5px solid var(--primary);border-radius:8px;padding:14px 14px 12px;transition:opacity .3s}.voucher.side .scanzone{margin-bottom:12px}.voucher.bottom .scanzone{flex:1;min-width:240px}.scanzone.disabled{opacity:.55}.sz-row{align-items:center;display:flex;gap:11px}.qr-ic{background:var(--primary-tint);border-radius:7px;color:var(--primary-dark);display:grid;flex:0 0 auto;height:38px;place-items:center;width:38px}.qr-ic svg{height:22px;width:22px}.scanzone input{background:transparent;border:none;border-bottom:1.5px solid var(--primary);border-radius:0;color:var(--text);flex:1;font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:.03em;min-width:0;padding:7px 2px;width:100%}.scanzone input::-moz-placeholder{color:#aeb4bc}.scanzone input::placeholder{color:#aeb4bc}.scanzone input:focus{outline:none}.scan-hint{align-items:center;color:var(--primary-dark);display:flex;font-size:12px;gap:7px;margin-top:10px}.scan-hint .dot{animation:scan-pulse 1.6s ease-in-out infinite;background:var(--green);border-radius:50%;flex:0 0 auto;height:7px;width:7px}@keyframes scan-pulse{0%,to{box-shadow:0 0 0 2px rgba(50,178,103,.25)}50%{box-shadow:0 0 0 5px rgba(50,178,103,.08)}}.upload-wrap{display:flex;flex-direction:column}.upload{align-items:center;background:#fff;border:1.5px dashed #b9c4d0;border-radius:7px;cursor:pointer;display:flex;gap:10px;padding:11px 12px;transition:border-color .15s,background .15s,opacity .3s}.upload:hover{background:var(--primary-tint);border-color:var(--primary)}.upload.disabled{opacity:.55;pointer-events:none}.upload .ic{background:var(--primary-tint);border-radius:6px;color:var(--primary-dark);display:grid;flex:0 0 auto;height:30px;place-items:center;width:30px}.upload .ic svg{height:16px;width:16px}.upload-text{flex:1;min-width:0}.upload .ut{color:var(--text);display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload .ut .req{color:#c0392b;padding-inline-start:4px}.upload .us{color:var(--muted);display:block;font-size:12px;margin-top:1px}.upload-clear{background:transparent;border:none;border-radius:50%;color:var(--muted);cursor:pointer;display:grid;flex:0 0 auto;height:26px;place-items:center;transition:background .15s,color .15s;width:26px}.upload-clear:hover{background:#fde8e8;color:#c0392b}.upload-clear svg{height:18px;transform:rotate(45deg);width:18px}.upload-error{color:#c0392b;font-size:12.5px;padding-top:6px}.chips{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px}.chip{align-items:center;background:#fff;border:1px solid var(--hair);border-radius:4px;color:#475569;display:inline-flex;font-size:12.5px;gap:4px;max-width:100%;overflow:hidden;padding-inline-start:8px;transition:opacity .3s}.chip.disabled{opacity:.55;pointer-events:none}.chip span{overflow:hidden;padding-block:4px;text-overflow:ellipsis;white-space:nowrap}.chip button{background:transparent;border:none;color:var(--muted);cursor:pointer;display:grid;flex:0 0 auto;height:22px;place-items:center;transition:background .15s,color .15s;width:22px}.chip button:hover{background:#fde8e8;color:#c0392b}.chip button svg{height:14px;transform:rotate(45deg);width:14px}.stub-spacer{flex:1;min-height:18px}.voucher.bottom .stub-spacer{display:none}.btn-claim{align-items:center;background:var(--green);border:1px solid var(--green-dark);border-radius:5px;box-shadow:0 1px 2px rgba(16,24,40,.1);color:#fff;cursor:pointer;display:flex;font:inherit;font-size:15px;font-weight:700;height:38px;justify-content:center;letter-spacing:.04em;overflow:hidden;position:relative;text-transform:uppercase;transition:background .15s,transform .06s,opacity .3s}.voucher.side .btn-claim{padding:0 13px;width:100%}.voucher.bottom .btn-claim{flex:0 0 auto;padding:0 30px}.btn-claim:enabled:hover{background:var(--green-dark)}.btn-claim:enabled:active{transform:translateY(1px)}.btn-claim:disabled{cursor:default;opacity:.5}.btn-claim.loading{background:var(--green-dark);cursor:progress;opacity:1}.btn-claim .claim-label{align-items:center;display:flex;gap:9px;justify-content:center;position:relative;z-index:1}.btn-claim .claim-label svg{height:17px;width:17px}.claim-progress{background:hsla(0,0%,100%,.28);inset-block:0;inset-inline-start:0;position:absolute;transition:width .5s ease-out}.err-scrim{animation:err-fade .14s ease;background:rgba(31,41,55,.38);display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:20}.err-card{animation:err-pop .18s cubic-bezier(.2,.85,.3,1.18);background:var(--paper);border-end-end-radius:8px;border-inline-start:3px solid #c0392b;border-start-end-radius:8px;box-shadow:0 2px 6px rgba(16,24,40,.14),0 18px 44px rgba(16,24,40,.26);max-width:100%;padding:16px 18px 14px;position:relative;width:432px}@keyframes err-fade{0%{opacity:0}}@keyframes err-pop{0%{opacity:0;transform:translateY(7px) scale(.97)}}.err-head{align-items:center;border-bottom:1px dashed #ecc8c2;display:flex;gap:10px;margin-bottom:11px;padding-bottom:10px;padding-inline-end:26px}.err-ic{background:#fdecea;border-radius:50%;color:#c0392b;display:grid;flex:0 0 auto;height:31px;place-items:center;width:31px}.err-ic svg{height:17px;width:17px}.err-title{font-size:14.5px;font-weight:700;letter-spacing:.01em}.err-msg{color:#44403c;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.err-foot{display:flex;justify-content:flex-end;margin-top:14px}.btn-err-ok{background:#fdecea;border:1px solid #f1b8b0;border-radius:6px;color:#7f1d1d;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;padding:7px 26px;transition:background .15s,border-color .15s}.btn-err-ok:hover{background:#fbdbd7;border-color:#c0392b}.btn-err-ok:focus-visible{box-shadow:0 0 0 3px rgba(192,57,43,.22);outline:none}.compact .stage{padding:10px}.compact .v-body{padding-block:12px 14px;padding-inline:20px 18px}.compact .item-row{gap:10px;padding:2px 0 8px}.compact .item-name{font-size:15.5px}.compact .btn-print{margin-top:5px;padding:3px 10px}.compact .specs{padding:7px 0 8px}.compact .spec .val{font-size:13.5px;margin-top:2px}.compact .notices{gap:7px;margin-top:8px}.compact .notice{padding-block:7px;padding-inline:11px 10px}.compact .ntc-body{font-size:12.5px;line-height:1.45}.compact .ntc-body br+br{display:none}.compact .notice .ntc-body ul{margin-top:4px}.compact .confirm{margin-top:6px;padding-top:6px}.compact .doc-thumb{max-height:68px;max-width:120px}.compact .voucher.side .stub{padding:14px 16px}.compact .voucher.bottom .stub{padding-block:10px 12px;padding-inline:20px 18px}.compact .voucher.side .field{margin-bottom:8px}.compact .field label,.compact .field-label{margin-bottom:3px}.compact .field input{height:34px;padding:0 10px}.compact .scanzone{padding:9px 10px 8px}.compact .voucher.side .scanzone{margin-bottom:10px}.compact .qr-ic{height:30px;width:30px}.compact .qr-ic svg{height:17px;width:17px}.compact .scanzone input{font-size:14.5px;padding:5px 2px}.compact .scan-hint{margin-top:6px}.compact .upload{padding:8px 10px}.compact .stub-spacer{min-height:10px}.compact .btn-claim{font-size:14px;height:34px}.compact .voucher.side .btn-claim{padding:0 10px}.compact .voucher.bottom .btn-claim{padding:0 26px}@media (max-width:900px){.voucher.side{display:block;width:700px}.voucher.side .stub{border-inline-start:none;border-top:1px dashed #cdc6ba;padding-block:16px 18px;padding-inline:28px 26px}.voucher.side .perf{background-repeat:repeat-x;background-size:11px 2px;inset-inline:0;bottom:auto;height:2px;top:-1px;width:auto}.voucher.side .punch{bottom:auto;top:-8px}.voucher.side .punch.p1{inset-inline-start:-8px}.voucher.side .punch.p2{inset-inline-end:-8px;inset-inline-start:auto}}@media (max-width:560px){.doc-row{flex-direction:column}.doc-thumb-btn{align-self:center}.voucher.bottom .btn-claim{flex:1 1 100%}}.static{position:static}.h-\[200px\]{height:200px}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.text-\[26px\]{font-size:26px}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.bottom-\[40px\]{bottom:40px}.left-0{left:0}.left-1\/2{left:50%}.left-\[30px\]{left:30px}.top-0{top:0}.z-10{z-index:10}.ml-\[-125px\]{margin-left:-125px}.box-content{box-sizing:content-box}.size-\[30px\]{height:30px;width:30px}.size-\[90px\]{height:90px;width:90px}.size-full{height:100%;width:100%}.h-10{height:2.5rem}.h-\[320px\]{height:320px}.h-full{height:100%}.w-1\/2{width:50%}.w-\[150\%\]{width:150%}.w-\[90\%\]{width:90%}.w-\[calc\(100\%-0px\)\]{width:100%}.w-\[calc\(100\%-60px\)\]{width:calc(100% - 60px)}.w-fit{width:fit-content}.min-w-full{min-width:100%}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.translate-y-\[-50\%\],.translate-y-\[-5px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-5px\]{--tw-translate-y:-5px}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-\[70\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[70\%\]{--tw-scale-x:70%;--tw-scale-y:70%}.resize{resize:both}.flex-col{flex-direction:column}.justify-between{justify-content:space-between}.gap-\[250px\]{gap:250px}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-scroll{overflow-x:scroll}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.border-\[\#f2aeb5\]{--tw-border-opacity:1;border-color:rgb(242 174 181/var(--tw-border-opacity,1))}.border-\[\#faebcc\]{--tw-border-opacity:1;border-color:rgb(250 235 204/var(--tw-border-opacity,1))}.bg-\[\#1a1a1a\]{--tw-bg-opacity:1;background-color:rgb(26 26 26/var(--tw-bg-opacity,1))}.bg-\[\#f7d7d8\]{--tw-bg-opacity:1;background-color:rgb(247 215 216/var(--tw-bg-opacity,1))}.bg-\[\#fcf8e3\]{--tw-bg-opacity:1;background-color:rgb(252 248 227/var(--tw-bg-opacity,1))}.bg-\[linear-gradient\(to_bottom\2c _\#428bca_0\%\2c _\#3071a9_100\%\)\]{background-image:linear-gradient(180deg,#428bca,#3071a9)}.p-\[25px\]{padding:25px}.px-\[30px\]{padding-left:30px;padding-right:30px}.pt-\[16px\]{padding-top:16px}.text-\[16px\]{font-size:16px}.text-\[22px\]{font-size:22px}.font-semibold{font-weight:600}.text-\[\#58151c\]{--tw-text-opacity:1;color:rgb(88 21 28/var(--tw-text-opacity,1))}.text-\[\#8a6d3b\]{--tw-text-opacity:1;color:rgb(138 109 59/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.\[\&_\*\]\:shrink-0 *{flex-shrink:0}.mx-auto{margin-left:auto;margin-right:auto}.mt-\[4px\]{margin-top:4px}.max-w-\[460px\]{max-width:460px}.max-w-\[520px\]{max-width:520px}.translate-y-\[-4px\]{--tw-translate-y:-4px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{user-select:none}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.gap-\[12px\]{gap:12px}.gap-\[16px\]{gap:16px}.gap-\[2px\]{gap:2px}.overflow-auto{overflow:auto}.\!rounded-\[12px\]{border-radius:12px!important}.rounded-\[14px\]{border-radius:14px}.p-\[12px\]{padding:12px}.p-\[16px\]{padding:16px}.px-\[12px\]{padding-left:12px;padding-right:12px}.px-\[14px\]{padding-left:14px;padding-right:14px}.py-\[12px\]{padding-bottom:12px;padding-top:12px}.\!pb-0{padding-bottom:0!important}.text-center{text-align:center}.text-\[13\.5px\]{font-size:13.5px}.leading-\[1\.35\]{line-height:1.35}.text-amber-900\/90{color:rgba(120,53,15,.9)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (min-width:768px){.md\:justify-between{justify-content:space-between}}.\[\&\>div\]\:grow>div{flex-grow:1}.end-0{inset-inline-end:0}.top-full{top:100%}.my-auto{margin-bottom:auto;margin-top:auto}.me-\[16px\]{margin-inline-end:16px}.size-\[16px\]{height:16px;width:16px}.size-\[18px\]{height:18px;width:18px}.h-\[150px\]{height:150px}.w-\[84px\]{width:84px}.min-w-0{min-width:0}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.gap-\[4px\]{gap:4px}.gap-\[6px\]{gap:6px}.gap-\[8px\]{gap:8px}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.rounded-lg{border-radius:.5rem}.border-b{border-bottom-width:1px}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-\[6px\]{padding:6px}.px-\[16px\]{padding-left:16px;padding-right:16px}.px-\[24px\]{padding-left:24px;padding-right:24px}.py-\[10px\]{padding-bottom:10px;padding-top:10px}.py-\[15px\]{padding-bottom:15px;padding-top:15px}.py-\[16px\]{padding-bottom:16px;padding-top:16px}.py-\[6px\]{padding-bottom:6px;padding-top:6px}.py-\[8px\]{padding-bottom:8px;padding-top:8px}.text-\[17px\]{font-size:17px}.font-medium{font-weight:500}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.no-underline{text-decoration-line:none}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:border-amber-600:hover{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.hover\:bg-sky-100\/50:hover{background-color:rgba(224,242,254,.5)}.hover\:opacity-100:hover{opacity:1}.\[\&_div\]\:hover\:\!opacity-100:hover div{opacity:1!important}.\[\&_img\]\:hover\:shadow-lg:hover img{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.my-2{margin-bottom:.5rem;margin-top:.5rem}.grow{flex-grow:1}.mt-\[32px\]{margin-top:32px}.h-\[25px\]{height:25px}.h-\[50px\]{height:50px}.h-\[8px\]{height:8px}.bg-\[\#f6f6f6\]{--tw-bg-opacity:1;background-color:rgb(246 246 246/var(--tw-bg-opacity,1))}.pt-\[40px\]{padding-top:40px}.text-\[18px\]{font-size:18px}.font-bold{font-weight:700}.success-card{background-color:#d0e7de;border-color:#a2d0bb;color:#0b3521}.reject-card{background-color:#f7d7d8;border-color:#f2aeb5;color:#58151c}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.z-\[999\]{z-index:999}.h-\[100dvh\]{height:100dvh}.w-\[100dvw\]{width:100dvw}.scale-100,.scale-\[110\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[110\%\]{--tw-scale-x:110%;--tw-scale-y:110%}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.stroke-\[1\.5px\]{stroke-width:1.5px}.size-\[40px\]{height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.text-\[\#3071a9\]{--tw-text-opacity:1;color:rgb(48 113 169/var(--tw-text-opacity,1))}.visible{visibility:visible}
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter}.ease-in-out,.transition{transition-timing-function:cubic-bezier(.4,0,.2,1)}.image-viewer-overlay{background-color:rgba(0,0,0,.4);height:100dvh;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition-duration:.4s;transition-property:all;width:100dvw;z-index:50}.image-viewer-overlay.active{opacity:1;pointer-events:auto;transition-delay:.2s}.image-viewer-close-btn{align-items:center;cursor:pointer;display:flex;flex-direction:column;float:right;height:3rem;justify-content:center;margin-right:16px;margin-top:16px;width:3rem}.image-viewer-close-line{background-color:#fff;border-radius:9999px;height:.25rem;position:absolute;width:3rem}.image-viewer-close-line.first{transform:rotate(45deg)}.image-viewer-close-line.second{transform:rotate(-45deg)}.image-viewer-expanded-image{border-radius:.5rem;opacity:0;position:fixed;transition-property:all;z-index:50}:host{all:initial!important;display:block;font-family:inherit!important;font-family:Noto Kufi Arabic,Nunito,Roboto,Arial,sans-serif!important}*,:host *{font-family:inherit!important}.claim-dialog:not([open]){display:none}.claim-dialog{background:transparent;border:none;height:100%;inset:0;margin:0;max-height:none;max-width:none;overflow:visible;padding:0;pointer-events:none;position:fixed;width:100%}.claim-dialog::backdrop{background:transparent}.claim-scrim{--primary:#3071a9;--primary-dark:#275e8f;--primary-tint:#e8f1f8;--warn:#ff9100;--warn-tint:#fff4e5;--warn-border:#ffd28f;--warn-text:#663c00;--danger:#d92d20;--danger-tint:#fef3f2;--danger-border:#fda29b;--danger-text:#912018;--green:#32b267;--green-dark:#27ae60;--text:#1f2937;--muted:#6b7280;--hair:#ececec;--paper:#fff;--tear:#d9d2c6;background:rgba(31,41,55,.38);color:var(--text);font-size:14px}.claim-scrim,.claim-scrim *{box-sizing:border-box}.stage{display:grid;min-height:100%;padding:18px;place-items:center}.voucher{--punch-r:8px;--punch-edge:transparent calc(var(--punch-r) - 0.5px),#000 calc(var(--punch-r) + 0.5px);background:transparent;border-radius:8px;box-shadow:0 10px 30px rgba(16,24,40,.16);max-width:100%;overflow:hidden;position:relative;width:1040px}.voucher.side{display:grid;grid-template-columns:1fr 372px}.voucher.bottom{width:700px}.btn-close{background:transparent;border:none;border-radius:50%;color:#9aa3ad;cursor:pointer;display:grid;height:28px;inset-inline-end:10px;padding:0;place-items:center;position:absolute;top:10px;transition:background .15s,color .15s,opacity .3s;width:28px;z-index:5}.btn-close:hover{background:#fde8e8;color:#c0392b}.btn-close:disabled{opacity:.4;pointer-events:none}.btn-close svg{height:22px;transform:rotate(45deg);width:22px}.v-body{background:var(--paper);display:flex;flex-direction:column;min-width:0;padding-block:22px 24px;padding-inline:28px 26px;position:relative}.voucher.bottom .v-body{--punch-size:50% 100%;--punch-pos:left top,right top;--punch-a:left bottom;--punch-b:right bottom;padding-block-end:20px}.item-row{align-items:flex-start;border-bottom:1px solid var(--hair);display:grid;gap:12px;grid-template-columns:1fr auto;padding:4px 0 12px}.item-type{background:var(--primary-tint);border:1px solid #cfe0ef;border-radius:4px;color:var(--primary-dark);display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;margin-bottom:5px;padding:2px 7px;text-transform:uppercase}.item-name{font-size:17px;font-weight:700;letter-spacing:.005em;line-height:1.2;overflow-wrap:anywhere}.vin-stamp{text-align:end}.voucher.bottom .vin-stamp{padding-inline-end:26px}.vin-stamp .lab{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.vin-stamp .vin{color:var(--text);font-size:15px;font-weight:600;letter-spacing:.03em}.btn-print{align-items:center;background:var(--warn-tint);border:1px solid var(--warn-border);border-radius:6px;color:var(--warn-text);cursor:pointer;display:inline-flex;font:inherit;font-size:11px;font-weight:600;gap:6px;margin-top:7px;padding:4px 12px;transition:background .15s,border-color .15s}.btn-print:hover{background:#ffe9cc;border-color:var(--warn)}.btn-print svg{height:13px;width:13px}.specs{border-bottom:1.5px dashed var(--tear);display:grid;grid-template-columns:repeat(3,1fr);padding:10px 0 12px}.spec{min-width:0;padding-inline-end:14px}.spec+.spec{border-inline-start:1px solid var(--hair);padding-inline-start:14px}.spec .lab{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.spec .val{color:var(--text);font-size:14px;font-variant-numeric:tabular-nums;font-weight:600;margin-top:3px;overflow-wrap:anywhere}.spec.pkg .val{color:var(--primary-dark);letter-spacing:.03em}.notices{display:flex;flex-direction:column;gap:10px;margin-top:12px}.notice{background:#fff6f5;border:1px solid var(--hair);border-end-end-radius:5px;border-inline-start:3px solid var(--danger);border-start-end-radius:5px;padding-block:10px;padding-inline:13px 12px;position:relative}.notice.info{background:#fbfcfd;border-inline-start-color:#b9c4d0}.ntc-body{color:#44403c;flex:1;font-size:13px;line-height:1.5;min-width:0;overflow-wrap:anywhere}.notice.info .ntc-body{color:#475569}.ntc-body strong{color:var(--text);font-weight:700}.notice .ntc-body ul{display:flex;flex-wrap:wrap;gap:5px;list-style:none;margin:6px 0 0;padding:0}.notice .ntc-body ul li{align-items:center;background:var(--danger-tint);border:1px dashed var(--danger-border);border-radius:4px;color:var(--danger-text);display:inline-flex;font-size:12px;font-weight:600;gap:5px;letter-spacing:.03em;padding:2px 8px}.notice .ntc-body ul li:before{background:var(--danger);border-radius:50%;content:"";height:5px;width:5px}.notice.info .ntc-body ul{display:block;list-style:disc;margin:4px 0;padding:0;padding-inline-start:24px}.notice.info .ntc-body ul li{background:none;border:none;border-radius:0;color:inherit;display:list-item;font-size:inherit;font-weight:inherit;padding:0}.notice.info .ntc-body ul li:before{content:none}.ntc-body ol{list-style:decimal;margin:4px 0;padding:0;padding-inline-start:24px}.confirm{border-top:1px dashed var(--danger-border);margin-top:8px;padding-top:8px}.confirm label{align-items:center;color:var(--danger-text);cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:9px;transition:opacity .3s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.confirm label.disabled{opacity:.5;pointer-events:none}.cbx-face{background:#fff;border:1.5px solid var(--danger-border);border-radius:4px;color:#fff;display:grid;flex:0 0 auto;height:17px;place-items:center;width:17px}.cbx-face,.cbx-face svg{transition:all .14s ease}.cbx-face svg{height:12px;opacity:0;transform:scale(.6);width:12px}.confirm input:checked~.cbx-face{background:var(--danger);border-color:var(--danger)}.confirm input:checked~.cbx-face svg{opacity:1;transform:scale(1)}.confirm input:focus-visible~.cbx-face{box-shadow:0 0 0 3px rgba(217,45,32,.28)}.doc-row{align-items:flex-start;display:flex;gap:12px}.doc-thumb-btn{align-self:center;background:none;border:none;cursor:zoom-in;flex:0 0 auto;padding:0;position:relative}.doc-thumb{background:#fff;border:1px solid #e2ddd3;border-radius:4px;box-shadow:0 1px 2px rgba(16,24,40,.05);display:block;height:auto;max-height:112px;max-width:170px;padding:3px;transition:box-shadow .15s;width:auto}.doc-thumb-btn:hover .doc-thumb{box-shadow:0 3px 10px rgba(16,24,40,.18)}.thumb-overlay{align-items:center;background:rgba(0,0,0,.4);border-radius:4px;color:#fff;display:flex;flex-direction:column;font-size:11px;gap:4px;inset:0;justify-content:center;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s}.doc-thumb-btn:hover .thumb-overlay{opacity:1}.thumb-overlay img{width:22px}.stub{background:#f4f4f4;display:flex;flex-direction:column;position:relative}.voucher.side .stub{--punch-size:calc(100% + 2px) 50%;--punch-pos:right top,right bottom;--punch-a:2px top;--punch-b:2px bottom;border-inline-start:1px dashed #cdc6ba;padding:24px 24px 22px}.voucher.bottom .stub{--punch-size:50% calc(100% + 2px);--punch-pos:left bottom,right bottom;--punch-a:left 2px;--punch-b:right 2px;border-top:1px dashed #cdc6ba;padding-block:16px 18px;padding-inline:28px 26px}.perf{background-image:radial-gradient(circle at center,var(--tear) 1.4px,transparent 1.6px);position:absolute}.voucher.side .perf{background-repeat:repeat-y;background-size:2px 11px;bottom:0;inset-inline-start:-1px;top:0;width:2px}.voucher.bottom .perf{background-repeat:repeat-x;background-size:11px 2px;height:2px;inset-inline:0;top:-1px}.stub,.v-body{-webkit-mask-image:radial-gradient(circle var(--punch-r) at var(--punch-a),var(--punch-edge)),radial-gradient(circle var(--punch-r) at var(--punch-b),var(--punch-edge));mask-image:radial-gradient(circle var(--punch-r) at var(--punch-a),var(--punch-edge)),radial-gradient(circle var(--punch-r) at var(--punch-b),var(--punch-edge));-webkit-mask-position:var(--punch-pos);mask-position:var(--punch-pos);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:var(--punch-size);mask-size:var(--punch-size)}.voucher.side .v-body{--punch-size:100% 50%;--punch-pos:left top,left bottom;--punch-a:right top;--punch-b:right bottom}[dir=rtl] .voucher.side .v-body{--punch-a:left top;--punch-b:left bottom}[dir=rtl] .voucher.side .stub{--punch-pos:left top,left bottom;--punch-a:right 2px top 0;--punch-b:right 2px bottom 0}.field{min-width:0}.voucher.side .field{margin-bottom:12px}.voucher.bottom .field{flex:1}.field label,.field-label{color:var(--muted);display:block;font-size:11px;font-weight:500;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.field input{background:#fff;border:1px solid #d6dbe0;border-radius:6px;color:var(--text);font:inherit;font-size:13.5px;height:38px;padding:0 11px;transition:border-color .15s,opacity .3s;width:100%}.field input::-moz-placeholder{color:#aeb4bc}.field input::placeholder{color:#aeb4bc}.field input:focus{border-color:var(--primary);outline:none}.field input:disabled{background:#fafafa;opacity:.55}.claim-area{display:flex;min-width:0}.voucher.side .claim-area{align-items:stretch;flex:1;flex-direction:column}.voucher.bottom .claim-area{align-items:flex-end;flex-direction:row;flex-wrap:wrap;gap:14px}.scanzone{background:#fff;border:1.5px solid var(--primary);border-radius:8px;padding:14px 14px 12px;transition:opacity .3s}.voucher.side .scanzone{margin-bottom:12px}.voucher.bottom .scanzone{flex:1;min-width:240px}.scanzone.disabled{opacity:.55}.sz-row{align-items:center;display:flex;gap:11px}.qr-ic{background:var(--primary-tint);border-radius:7px;color:var(--primary-dark);display:grid;flex:0 0 auto;height:38px;place-items:center;width:38px}.qr-ic svg{height:22px;width:22px}.scanzone input{background:transparent;border:none;border-bottom:1.5px solid var(--primary);border-radius:0;color:var(--text);flex:1;font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:.03em;min-width:0;padding:7px 2px;width:100%}.scanzone input::-moz-placeholder{color:#aeb4bc}.scanzone input::placeholder{color:#aeb4bc}.scanzone input:focus{outline:none}.scan-hint{align-items:center;color:var(--primary-dark);display:flex;font-size:12px;gap:7px;margin-top:10px}.scan-hint .dot{animation:scan-pulse 1.6s ease-in-out infinite;background:var(--green);border-radius:50%;flex:0 0 auto;height:7px;width:7px}@keyframes scan-pulse{0%,to{box-shadow:0 0 0 2px rgba(50,178,103,.25)}50%{box-shadow:0 0 0 5px rgba(50,178,103,.08)}}.upload-wrap{display:flex;flex-direction:column}.upload{align-items:center;background:#fff;border:1.5px dashed #b9c4d0;border-radius:7px;cursor:pointer;display:flex;gap:10px;padding:11px 12px;transition:border-color .15s,background .15s,opacity .3s}.upload:hover{background:var(--primary-tint);border-color:var(--primary)}.upload.disabled{opacity:.55;pointer-events:none}.upload .ic{background:var(--primary-tint);border-radius:6px;color:var(--primary-dark);display:grid;flex:0 0 auto;height:30px;place-items:center;width:30px}.upload .ic svg{height:16px;width:16px}.upload-text{flex:1;min-width:0}.upload .ut{color:var(--text);display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload .ut .req{color:#c0392b;padding-inline-start:4px}.upload .us{color:var(--muted);display:block;font-size:12px;margin-top:1px}.upload-clear{background:transparent;border:none;border-radius:50%;color:var(--muted);cursor:pointer;display:grid;flex:0 0 auto;height:26px;overflow:hidden;place-items:center;transition:background .15s,color .15s,width .35s ease,opacity .35s ease,margin-inline-start .35s ease;width:26px}.upload-clear.is-hidden{margin-inline-start:-10px;opacity:0;pointer-events:none;width:0}.upload-clear:hover{background:#fde8e8;color:#c0392b}.upload-clear svg{height:18px;transform:rotate(45deg);width:18px}.upload-error{color:#c0392b;font-size:12.5px;padding-top:6px}.chips{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px}.chip{align-items:center;background:#fff;border:1px solid var(--hair);border-radius:4px;color:#475569;display:inline-flex;font-size:12.5px;gap:4px;max-width:100%;overflow:hidden;padding-inline-start:8px;transition:opacity .3s}.chip.disabled{opacity:.55;pointer-events:none}.chip span{overflow:hidden;padding-block:4px;text-overflow:ellipsis;white-space:nowrap}.chip button{background:transparent;border:none;color:var(--muted);cursor:pointer;display:grid;flex:0 0 auto;height:22px;place-items:center;transition:background .15s,color .15s;width:22px}.chip button:hover{background:#fde8e8;color:#c0392b}.chip button svg{height:14px;transform:rotate(45deg);width:14px}.stub-spacer{flex:1;min-height:18px}.voucher.bottom .stub-spacer{display:none}.btn-claim{align-items:center;background:var(--green);border:1px solid var(--green-dark);border-radius:5px;box-shadow:0 1px 2px rgba(16,24,40,.1);color:#fff;cursor:pointer;display:flex;font:inherit;font-size:15px;font-weight:700;height:38px;justify-content:center;letter-spacing:.04em;overflow:hidden;position:relative;text-transform:uppercase;transition:background .15s,transform .06s,opacity .3s}.voucher.side .btn-claim{padding:0 13px;width:100%}.voucher.bottom .btn-claim{flex:0 0 auto;padding:0 30px}.btn-claim:enabled:hover{background:var(--green-dark)}.btn-claim:enabled:active{transform:translateY(1px)}.btn-claim:disabled{cursor:default;opacity:.5}.btn-claim.loading{background:var(--green-dark);cursor:progress;opacity:1}.btn-claim .claim-label-stack{overflow:hidden;position:relative;transition:width .42s ease;z-index:1}.btn-claim .claim-label,.btn-claim .claim-label-stack{align-items:center;display:flex;justify-content:center}.btn-claim .claim-label{bottom:0;gap:9px;left:50%;opacity:0;position:absolute;top:0;transform:translateX(-50%);transition:opacity .28s ease;white-space:nowrap}.btn-claim .claim-label.active{bottom:auto;left:auto;opacity:1;position:relative;top:auto;transform:none}.btn-claim .claim-label svg{height:17px;width:17px}.btn-claim .claim-pct{font-variant-numeric:tabular-nums;padding-inline-start:.4em}.btn-claim .claim-pct-slot{display:inline-grid;justify-items:end}.btn-claim .claim-pct-slot>*{grid-area:1/1}.btn-claim .claim-pct-ghost{visibility:hidden}.claim-progress{background:hsla(0,0%,100%,.28);inset-block:0;inset-inline-start:0;position:absolute;transition:width .5s ease-out}.err-scrim{animation:err-fade .14s ease;background:rgba(31,41,55,.38);display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:20}.err-card{animation:err-pop .18s cubic-bezier(.2,.85,.3,1.18);background:var(--paper);border-end-end-radius:8px;border-inline-start:3px solid #c0392b;border-start-end-radius:8px;box-shadow:0 2px 6px rgba(16,24,40,.14),0 18px 44px rgba(16,24,40,.26);max-width:100%;padding:16px 18px 14px;position:relative;width:432px}@keyframes err-fade{0%{opacity:0}}@keyframes err-pop{0%{opacity:0;transform:translateY(7px) scale(.97)}}.err-head{align-items:center;border-bottom:1px dashed #ecc8c2;display:flex;gap:10px;margin-bottom:11px;padding-bottom:10px;padding-inline-end:26px}.err-ic{background:#fdecea;border-radius:50%;color:#c0392b;display:grid;flex:0 0 auto;height:31px;place-items:center;width:31px}.err-ic svg{height:17px;width:17px}.err-title{font-size:14.5px;font-weight:700;letter-spacing:.01em}.err-msg{color:#44403c;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.err-foot{display:flex;justify-content:flex-end;margin-top:14px}.btn-err-ok{background:#fdecea;border:1px solid #f1b8b0;border-radius:6px;color:#7f1d1d;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;padding:7px 26px;transition:background .15s,border-color .15s}.btn-err-ok:hover{background:#fbdbd7;border-color:#c0392b}.btn-err-ok:focus-visible{box-shadow:0 0 0 3px rgba(192,57,43,.22);outline:none}.compact .stage{padding:10px}.compact .v-body{padding-block:12px 14px;padding-inline:20px 18px}.compact .item-row{gap:10px;padding:2px 0 8px}.compact .item-name{font-size:15.5px}.compact .btn-print{margin-top:5px;padding:3px 10px}.compact .specs{padding:7px 0 8px}.compact .spec .val{font-size:13.5px;margin-top:2px}.compact .notices{gap:7px;margin-top:8px}.compact .notice{padding-block:7px;padding-inline:11px 10px}.compact .ntc-body{font-size:12.5px;line-height:1.45}.compact .ntc-body br+br{display:none}.compact .notice .ntc-body ul{margin-top:4px}.compact .confirm{margin-top:6px;padding-top:6px}.compact .doc-thumb{max-height:68px;max-width:120px}.compact .voucher.side .stub{padding:14px 16px}.compact .voucher.bottom .stub{padding-block:10px 12px;padding-inline:20px 18px}.compact .voucher.side .field{margin-bottom:8px}.compact .field label,.compact .field-label{margin-bottom:3px}.compact .field input{height:34px;padding:0 10px}.compact .scanzone{padding:9px 10px 8px}.compact .voucher.side .scanzone{margin-bottom:10px}.compact .qr-ic{height:30px;width:30px}.compact .qr-ic svg{height:17px;width:17px}.compact .scanzone input{font-size:14.5px;padding:5px 2px}.compact .scan-hint{margin-top:6px}.compact .upload{padding:8px 10px}.compact .stub-spacer{min-height:10px}.compact .btn-claim{font-size:14px;height:34px}.compact .voucher.side .btn-claim{padding:0 10px}.compact .voucher.bottom .btn-claim{padding:0 26px}@media (max-width:900px){.voucher.side{display:block;width:700px}.voucher.side .stub{border-inline-start:none;border-top:1px dashed #cdc6ba;padding-block:16px 18px;padding-inline:28px 26px}.voucher.side .perf{background-repeat:repeat-x;background-size:11px 2px;inset-inline:0;bottom:auto;height:2px;top:-1px;width:auto}.voucher.side .v-body,[dir=rtl] .voucher.side .v-body{--punch-size:50% 100%;--punch-pos:left top,right top;--punch-a:left bottom;--punch-b:right bottom}.voucher.side .stub,[dir=rtl] .voucher.side .stub{--punch-size:50% calc(100% + 2px);--punch-pos:left bottom,right bottom;--punch-a:left 2px;--punch-b:right 2px}}@media (max-width:560px){.doc-row{flex-direction:column}.doc-thumb-btn{align-self:center}.voucher.bottom .btn-claim{flex:1 1 100%}}.static{position:static}.h-\[200px\]{height:200px}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.text-\[26px\]{font-size:26px}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.pointer-events-none{pointer-events:none}.mx-auto{margin-left:auto;margin-right:auto}.size-\[100px\]{height:100px;width:100px}.size-full{height:100%;width:100%}.h-auto{height:auto}.max-h-\[100px\]{max-height:100px}.w-auto{width:auto}.w-fit{width:fit-content}.max-w-\[100px\]{max-width:100px}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.gap-\[4px\]{gap:4px}.overflow-x-auto{overflow-x:auto}.rounded-lg{border-radius:.5rem}.bg-black\/40{background-color:rgba(0,0,0,.4)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.opacity-0{opacity:0}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.hover\:opacity-100:hover{opacity:1}.\[\&_div\]\:hover\:\!opacity-100:hover div{opacity:1!important}.\[\&_img\]\:hover\:shadow-lg:hover img{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.end-0{inset-inline-end:0}.top-full{top:100%}.z-10{z-index:10}.my-auto{margin-bottom:auto;margin-top:auto}.me-\[16px\]{margin-inline-end:16px}.mt-\[4px\]{margin-top:4px}.size-\[16px\]{height:16px;width:16px}.size-\[18px\]{height:18px;width:18px}.h-\[150px\]{height:150px}.w-\[84px\]{width:84px}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.gap-\[16px\]{gap:16px}.gap-\[6px\]{gap:6px}.gap-\[8px\]{gap:8px}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-\[4px\]{border-radius:4px}.border-b{border-bottom-width:1px}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-\[12px\]{padding:12px}.p-\[6px\]{padding:6px}.px-\[16px\]{padding-left:16px;padding-right:16px}.px-\[24px\]{padding-left:24px;padding-right:24px}.py-\[10px\]{padding-bottom:10px;padding-top:10px}.py-\[15px\]{padding-bottom:15px;padding-top:15px}.py-\[16px\]{padding-bottom:16px;padding-top:16px}.py-\[6px\]{padding-bottom:6px;padding-top:6px}.py-\[8px\]{padding-bottom:8px;padding-top:8px}.text-center{text-align:center}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.no-underline{text-decoration-line:none}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:border-amber-600:hover{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.hover\:bg-sky-100\/50:hover{background-color:rgba(224,242,254,.5)}.pointer-events-auto{pointer-events:auto}.bottom-\[40px\]{bottom:40px}.left-0{left:0}.left-1\/2{left:50%}.left-\[30px\]{left:30px}.top-0{top:0}.ml-\[-125px\]{margin-left:-125px}.box-content{box-sizing:content-box}.size-\[30px\]{height:30px;width:30px}.size-\[90px\]{height:90px;width:90px}.h-10{height:2.5rem}.h-\[320px\]{height:320px}.h-full{height:100%}.w-1\/2{width:50%}.w-\[150\%\]{width:150%}.w-\[90\%\]{width:90%}.w-\[calc\(100\%-0px\)\]{width:100%}.w-\[calc\(100\%-60px\)\]{width:calc(100% - 60px)}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.translate-y-\[-50\%\],.translate-y-\[-5px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-5px\]{--tw-translate-y:-5px}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-\[70\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[70\%\]{--tw-scale-x:70%;--tw-scale-y:70%}.justify-between{justify-content:space-between}.gap-\[250px\]{gap:250px}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-scroll{overflow-x:scroll}.rounded-\[6px\]{border-radius:6px}.border-\[\#f2aeb5\]{--tw-border-opacity:1;border-color:rgb(242 174 181/var(--tw-border-opacity,1))}.border-\[\#faebcc\]{--tw-border-opacity:1;border-color:rgb(250 235 204/var(--tw-border-opacity,1))}.bg-\[\#1a1a1a\]{--tw-bg-opacity:1;background-color:rgb(26 26 26/var(--tw-bg-opacity,1))}.bg-\[\#f7d7d8\]{--tw-bg-opacity:1;background-color:rgb(247 215 216/var(--tw-bg-opacity,1))}.bg-\[\#fcf8e3\]{--tw-bg-opacity:1;background-color:rgb(252 248 227/var(--tw-bg-opacity,1))}.bg-\[linear-gradient\(to_bottom\2c _\#428bca_0\%\2c _\#3071a9_100\%\)\]{background-image:linear-gradient(180deg,#428bca,#3071a9)}.p-\[25px\]{padding:25px}.px-\[30px\]{padding-left:30px;padding-right:30px}.pt-\[16px\]{padding-top:16px}.text-\[22px\]{font-size:22px}.text-\[\#58151c\]{--tw-text-opacity:1;color:rgb(88 21 28/var(--tw-text-opacity,1))}.text-\[\#8a6d3b\]{--tw-text-opacity:1;color:rgb(138 109 59/var(--tw-text-opacity,1))}.opacity-100{opacity:1}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}.\[\&_\*\]\:shrink-0 *{flex-shrink:0}.max-w-\[460px\]{max-width:460px}.max-w-\[520px\]{max-width:520px}.translate-y-\[-4px\]{--tw-translate-y:-4px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{user-select:none}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.gap-\[12px\]{gap:12px}.gap-\[2px\]{gap:2px}.overflow-auto{overflow:auto}.\!rounded-\[12px\]{border-radius:12px!important}.rounded-\[14px\]{border-radius:14px}.p-\[16px\]{padding:16px}.px-\[12px\]{padding-left:12px;padding-right:12px}.px-\[14px\]{padding-left:14px;padding-right:14px}.py-\[12px\]{padding-bottom:12px;padding-top:12px}.\!pb-0{padding-bottom:0!important}.text-\[13\.5px\]{font-size:13.5px}.leading-\[1\.35\]{line-height:1.35}.text-amber-900\/90{color:rgba(120,53,15,.9)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (min-width:768px){.md\:justify-between{justify-content:space-between}}.\[\&\>div\]\:grow>div{flex-grow:1}.my-2{margin-bottom:.5rem;margin-top:.5rem}.grow{flex-grow:1}.mt-\[32px\]{margin-top:32px}.h-\[25px\]{height:25px}.h-\[50px\]{height:50px}.h-\[8px\]{height:8px}.bg-\[\#f6f6f6\]{--tw-bg-opacity:1;background-color:rgb(246 246 246/var(--tw-bg-opacity,1))}.pt-\[40px\]{padding-top:40px}.text-\[18px\]{font-size:18px}.font-bold{font-weight:700}.success-card{background-color:#d0e7de;border-color:#a2d0bb;color:#0b3521}.reject-card{background-color:#f7d7d8;border-color:#f2aeb5;color:#58151c}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.z-\[999\]{z-index:999}.h-\[100dvh\]{height:100dvh}.w-\[100dvw\]{width:100dvw}.scale-100,.scale-\[110\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[110\%\]{--tw-scale-x:110%;--tw-scale-y:110%}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.stroke-\[1\.5px\]{stroke-width:1.5px}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.size-\[40px\]{height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.text-\[\#3071a9\]{--tw-text-opacity:1;color:rgb(48 113 169/var(--tw-text-opacity,1))}
|