@getcredify/credify-insurance-widget 1.30.3 → 1.31.5
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/{backend-Cc8FkJkq.js → backend-BzU_aHv3.js} +18 -18
- package/dist/backend-BzU_aHv3.js.map +1 -0
- package/dist/credify-insurance-widget.css +1 -1
- package/dist/iframe/assets/{backend-V-MdQp2e.js → backend-DnJudeoy.js} +2 -2
- package/dist/iframe/assets/backend-DnJudeoy.js.map +1 -0
- package/dist/iframe/assets/iframe-CJuf7ZZS.css +1 -0
- package/dist/iframe/assets/{iframe-BFQadK_h.js → iframe-DXUe5bUy.js} +34 -34
- package/dist/iframe/assets/iframe-DXUe5bUy.js.map +1 -0
- package/dist/iframe/iframe.html +2 -2
- package/dist/index.es.js +2984 -2943
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +27 -27
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/dist/backend-Cc8FkJkq.js.map +0 -1
- package/dist/iframe/assets/backend-V-MdQp2e.js.map +0 -1
- package/dist/iframe/assets/iframe-BFQadK_h.js.map +0 -1
- package/dist/iframe/assets/iframe-DQ1Cy_my.css +0 -1
|
@@ -214,9 +214,9 @@ const s = ["Allstate", "State Farm", "GEICO", "Progressive", "Liberty Mutual", "
|
|
|
214
214
|
key: "order_credit_authorized",
|
|
215
215
|
required: !0
|
|
216
216
|
}
|
|
217
|
-
], M = [{ question: "Social Security Number", inputType: "text", key: "social_security_number", required: !1 }], b = [{ question: "What is your phone number?", inputType: "tel", key: "phone", required: !0 }],
|
|
217
|
+
], M = [{ question: "Social Security Number", inputType: "text", key: "social_security_number", required: !1 }], b = [{ question: "What is your phone number?", inputType: "tel", key: "phone", required: !0 }], v = [
|
|
218
218
|
{ question: "Please enter the code we sent to your phone number.", inputType: "text", key: "sms_code", required: !0 }
|
|
219
|
-
],
|
|
219
|
+
], E = {
|
|
220
220
|
Zip: _,
|
|
221
221
|
Email: m,
|
|
222
222
|
Product: q,
|
|
@@ -230,10 +230,10 @@ const s = ["Allstate", "State Farm", "GEICO", "Progressive", "Liberty Mutual", "
|
|
|
230
230
|
Demographics: g,
|
|
231
231
|
Ssn: M,
|
|
232
232
|
Phone: b,
|
|
233
|
-
SMSVerification:
|
|
233
|
+
SMSVerification: v
|
|
234
234
|
};
|
|
235
235
|
function C(e) {
|
|
236
|
-
return
|
|
236
|
+
return E[e] ?? [];
|
|
237
237
|
}
|
|
238
238
|
const P = [
|
|
239
239
|
{
|
|
@@ -279,7 +279,7 @@ const P = [
|
|
|
279
279
|
// with decline reasons + category. Drives the Not Quoted tab in mock mode.
|
|
280
280
|
{
|
|
281
281
|
quote_rate_id: "mock-nq-1",
|
|
282
|
-
carrier_name: "
|
|
282
|
+
carrier_name: "Travelers",
|
|
283
283
|
carrier_logo_base64: null,
|
|
284
284
|
carrier_quote_id: null,
|
|
285
285
|
premium_cents: 0,
|
|
@@ -309,7 +309,7 @@ const P = [
|
|
|
309
309
|
},
|
|
310
310
|
{
|
|
311
311
|
quote_rate_id: "mock-nq-3",
|
|
312
|
-
carrier_name: "
|
|
312
|
+
carrier_name: "Allstate",
|
|
313
313
|
carrier_logo_base64: null,
|
|
314
314
|
carrier_quote_id: null,
|
|
315
315
|
premium_cents: 0,
|
|
@@ -335,19 +335,19 @@ const P = [
|
|
|
335
335
|
function w(e) {
|
|
336
336
|
return e.make && e.model ? { ready: !0, bodyStyles: D } : e.make ? { ready: !0, models: I[e.make] ?? ["Base", "Sport", "Limited"] } : { ready: !0, makes: A };
|
|
337
337
|
}
|
|
338
|
-
function
|
|
338
|
+
function V() {
|
|
339
339
|
return { year: 2022, make: "Toyota", model: "Camry", bodyStyle: "Sedan" };
|
|
340
340
|
}
|
|
341
|
-
const
|
|
342
|
-
let
|
|
343
|
-
function
|
|
344
|
-
|
|
341
|
+
const i = "mock-quote-0001", u = "mock-jwt-token";
|
|
342
|
+
let r = { quote_id: i };
|
|
343
|
+
function N(e = {}) {
|
|
344
|
+
r = { quote_id: i, ...e };
|
|
345
345
|
}
|
|
346
346
|
function O(e) {
|
|
347
|
-
return e.action === "send" ? { success: !0 } : e.action === "resume" ? { isVerified: !0, token: u, quoteId:
|
|
347
|
+
return e.action === "send" ? { success: !0 } : e.action === "resume" ? { isVerified: !0, token: u, quoteId: i } : { isVerified: !0, token: u };
|
|
348
348
|
}
|
|
349
349
|
function H(e) {
|
|
350
|
-
return e.action === "vinDecode" ?
|
|
350
|
+
return e.action === "vinDecode" ? V() : w({
|
|
351
351
|
year: typeof e.year == "number" ? e.year : void 0,
|
|
352
352
|
make: typeof e.make == "string" ? e.make : void 0,
|
|
353
353
|
model: typeof e.model == "string" ? e.model : void 0
|
|
@@ -356,14 +356,14 @@ function H(e) {
|
|
|
356
356
|
function R(e, t) {
|
|
357
357
|
switch (e) {
|
|
358
358
|
case "/create-quote":
|
|
359
|
-
return
|
|
359
|
+
return N({ postal_code: t.postal_code }), { quoteId: i };
|
|
360
360
|
case "/get-stages-for-quote":
|
|
361
|
-
return { stages: p(
|
|
361
|
+
return { stages: p(r.product) };
|
|
362
362
|
case "/get-questions-by-stage":
|
|
363
363
|
return { questions: C(t.stage) };
|
|
364
364
|
case "/update-quote": {
|
|
365
365
|
const o = { ...t.payload ?? {} };
|
|
366
|
-
return delete o.current_stage,
|
|
366
|
+
return delete o.current_stage, r = { ...r, ...o }, { status: "success" };
|
|
367
367
|
}
|
|
368
368
|
case "/verify-quote":
|
|
369
369
|
return O(t);
|
|
@@ -372,7 +372,7 @@ function R(e, t) {
|
|
|
372
372
|
case "/get-rates":
|
|
373
373
|
return { rates: P };
|
|
374
374
|
case "/get-quote":
|
|
375
|
-
return { quote:
|
|
375
|
+
return { quote: r };
|
|
376
376
|
case "/get-vehicle-options":
|
|
377
377
|
return H(t);
|
|
378
378
|
case "/request-bind":
|
|
@@ -384,4 +384,4 @@ function R(e, t) {
|
|
|
384
384
|
export {
|
|
385
385
|
R as handleMockRequest
|
|
386
386
|
};
|
|
387
|
-
//# sourceMappingURL=backend-
|
|
387
|
+
//# sourceMappingURL=backend-BzU_aHv3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend-BzU_aHv3.js","sources":["../src/mock/fixtures/stages.ts","../src/mock/fixtures/questions.ts","../src/mock/fixtures/rates.ts","../src/mock/fixtures/vehicleOptions.ts","../src/mock/backend.ts"],"sourcesContent":["/**\n * Stage lists per product, copied verbatim from the real backend resolver\n * (packages/rating/packages/getStagesForQuote/src/index.ts). Keeping these in\n * lockstep is what makes the mocked flow reshape exactly like production: after\n * the Product stage is answered, `getStagesForQuote` returns the matching list\n * and the wizard rebuilds its step order.\n *\n * CanopyConnect is intentionally omitted because IS_CANOPY_CONNECT_ENABLED is\n * currently false in the backend; add it here if/when that flips.\n */\nimport type { Stage } from '@getcredify/credify-insurance-types';\n\n/** Pre-product-selection stages (also returned when there is no quote yet). */\nexport const DEFAULT_STAGES: Stage[] = ['Zip', 'Email', 'Product'];\n\nexport const STAGES_BY_PRODUCT: Record<'Auto' | 'Home' | 'Bundle', Stage[]> = {\n Auto: ['Zip', 'Email', 'Product', 'Name', 'Vehicle', 'Driver', 'AutoCurrentCarrier', 'Demographics', 'Ssn', 'Phone', 'SMSVerification'],\n Home: ['Zip', 'Email', 'Product', 'Name', 'Home', 'HomePolicy', 'Demographics', 'Ssn', 'Phone', 'SMSVerification'],\n Bundle: ['Zip', 'Email', 'Product', 'Name', 'Home', 'Vehicle', 'Driver', 'BundlePolicy', 'Demographics', 'Ssn', 'Phone', 'SMSVerification']\n};\n\n/** Resolve the stage list for a stored product value, falling back to defaults. */\nexport function resolveStages(product: unknown): Stage[] {\n if (product === 'Auto' || product === 'Home' || product === 'Bundle') {\n return STAGES_BY_PRODUCT[product];\n }\n return DEFAULT_STAGES;\n}\n","/**\n * Mock question definitions per stage.\n *\n * Keys, input types, options and conditional structure mirror the real backend\n * definitions (packages/rating/packages/getQuestionsByStage/src/const.ts) so the\n * mocked screens render and persist exactly like production. Option lists are\n * representative subsets (the real lists hold 100+ carriers/makes) — enough to\n * exercise every input type and the repeatable vehicle/driver sections for\n * design and flow verification. Vehicle make/model/body_style options are left\n * empty on purpose: the FormRenderer populates them via the (mocked) vehicle\n * options endpoint, just like production.\n *\n * Typed as `Question[]` so the discriminated `inputType`/`options` union is\n * enforced by the compiler and can never drift from the shared type's shape.\n */\nimport type { Question, Stage } from '@getcredify/credify-insurance-types';\n\nconst CARRIERS = ['Allstate', 'State Farm', 'GEICO', 'Progressive', 'Liberty Mutual', 'Nationwide', 'Farmers', 'NoPriorInsurance'];\nconst LIABILITY_LIMITS = ['25/50', '50/100', '100/300', '250/500'];\nconst VEHICLE_YEARS = Array.from({ length: 2024 - 1990 + 1 }, (_, i) => String(2024 - i));\n\nconst ZIP: Question[] = [{ question: \"What's your ZIP code?\", inputType: 'text', key: 'postal_code', required: true }];\n\nconst EMAIL: Question[] = [{ question: 'What is your email address?', inputType: 'email', key: 'email', required: true }];\n\nconst PRODUCT: Question[] = [\n { question: 'Do you want to quote auto, home, or both?', inputType: 'select', options: ['Auto', 'Home', 'Bundle'], key: 'product', required: true },\n { question: 'What is your property address?', inputType: 'address', key: 'address', required: true }\n];\n\nconst NAME: Question[] = [\n { question: 'What is your first name?', inputType: 'text', key: 'first_name', required: true },\n { question: 'What is your last name?', inputType: 'text', key: 'last_name', required: true },\n { question: 'What is your date of birth?', inputType: 'date', key: 'date_of_birth', required: true }\n];\n\nconst VEHICLE: Question[] = [\n {\n question: 'Add Vehicles',\n inputType: 'radio',\n options: ['Yes'],\n key: 'vehicles',\n required: true,\n conditionals: [\n {\n conditionalType: 'equals',\n conditionalValue: 'Yes',\n conditionalQuestionsAllowMultiple: true,\n conditionalQuestions: [\n { question: 'Vehicle Identification Number (VIN)', inputType: 'text', key: 'vin', required: false },\n { question: 'Year', inputType: 'select', options: VEHICLE_YEARS, key: 'year', required: true },\n { question: 'Make', inputType: 'select', options: [], key: 'make', required: true },\n { question: 'Model', inputType: 'select', options: [], key: 'model', required: true },\n { question: 'Body style', inputType: 'select', options: [], key: 'body_style', required: true },\n { question: 'Vehicle ownership type', inputType: 'select', options: ['Owned', 'Leased', 'Lien'], key: 'ownership_type', required: true },\n {\n question: 'What is the primary use of this vehicle?',\n inputType: 'select',\n options: ['Pleasure', 'To_FromWork', 'To_FromSchool', 'Business', 'Farming'],\n key: 'usage',\n required: true\n },\n { question: 'Annual mileage driven', inputType: 'number', key: 'annual_mileage', required: true }\n ]\n }\n ]\n }\n];\n\nconst DRIVER: Question[] = [\n {\n question: 'Add Drivers',\n inputType: 'radio',\n options: ['Yes'],\n key: 'drivers',\n required: true,\n conditionals: [\n {\n conditionalType: 'equals',\n conditionalValue: 'Yes',\n conditionalQuestionsAllowMultiple: true,\n conditionalQuestions: [\n { question: 'First Name', inputType: 'text', key: 'first_name', required: true },\n { question: 'Middle Name Initial', inputType: 'text', key: 'middle_name', required: false },\n { question: 'Last Name', inputType: 'text', key: 'last_name', required: true },\n { question: 'Date of Birth', inputType: 'date', key: 'date_of_birth', required: true },\n { question: 'Gender', inputType: 'select', options: ['Male', 'Female'], key: 'gender', required: true },\n {\n question: 'What is the relationship to Driver #1?',\n inputType: 'select',\n options: ['Spouse', 'Parent', 'Child', 'Domestic Partner', 'Relative', 'Employee', 'Other'],\n key: 'relationship_to_insured',\n required: true\n },\n {\n question: 'Marital status',\n inputType: 'select',\n options: ['Single', 'Married', 'Divorced', 'Widowed'],\n key: 'marital_status',\n required: true\n }\n ]\n }\n ]\n }\n];\n\nconst AUTO_CURRENT_CARRIER: Question[] = [\n { question: 'When do you need your insurance to begin?', inputType: 'date', key: 'effective_date', required: true },\n {\n question: 'Type of residence',\n inputType: 'select',\n options: ['Single Family Dwelling', 'Condo', 'Apartment', 'Townhouse', 'Mobile Home'],\n key: 'residence_type',\n required: true\n },\n {\n question: 'Please select your current auto insurance company',\n inputType: 'select',\n options: CARRIERS,\n key: 'auto_prior_carrier_name',\n required: true,\n conditionals: [\n {\n conditionalType: 'notEquals',\n conditionalValue: 'NoPriorInsurance',\n conditionalQuestions: [\n { question: 'Years with prior personal auto carrier', inputType: 'number', key: 'auto_prior_years', required: true },\n { question: 'Months with prior personal auto carrier', inputType: 'number', key: 'auto_prior_months', required: true },\n { question: 'When does the current policy expire?', inputType: 'date', key: 'auto_prior_expiration_date', required: true },\n {\n question: 'What is your current or most recent Bodily Injury Limit?',\n inputType: 'select',\n options: LIABILITY_LIMITS,\n key: 'auto_prior_liability_limit',\n required: true\n }\n ]\n }\n ]\n },\n {\n question: 'Has any auto insurance company cancelled, declined or refused to renew you in the last 5 years?',\n inputType: 'radio',\n options: ['Yes', 'No'],\n key: 'auto_cancelled_declined_refused_to_renew',\n required: true\n },\n { question: 'Bodily Injury liability', inputType: 'select', options: LIABILITY_LIMITS, key: 'policy_bi', required: true },\n { question: 'Property Damage Liability', inputType: 'select', options: ['25000', '50000', '100000'], key: 'policy_pd', required: true }\n];\n\nconst HOME: Question[] = [\n { question: 'Year built', inputType: 'number', key: 'year_built', required: true },\n { question: 'Total living area (sq ft)', inputType: 'number', key: 'total_area_sq_ft', required: true },\n {\n question: 'Dwelling type',\n inputType: 'select',\n options: ['Single Family', 'Condo', 'Townhouse', 'Multi-Family'],\n key: 'dwelling_type',\n required: true\n },\n {\n question: 'Construction type',\n inputType: 'select',\n options: ['Frame', 'Masonry', 'Masonry Veneer', 'Fire Resistive'],\n key: 'construction_type',\n required: true\n },\n {\n question: 'Roof material',\n inputType: 'select',\n options: ['Asphalt Shingle', 'Metal', 'Tile', 'Wood Shake', 'Slate'],\n key: 'roof_material_type',\n required: true\n },\n { question: 'Number of stories', inputType: 'select', options: ['1', '1.5', '2', '2.5', '3'], key: 'number_of_stories', required: true }\n];\n\nconst HOME_POLICY: Question[] = [\n { question: 'When do you need your insurance to begin?', inputType: 'date', key: 'effective_date', required: true },\n {\n question: 'Do you currently have a Homeowners policy?',\n inputType: 'radio',\n options: ['Yes', 'No'],\n key: 'home_has_prior_insurance',\n required: true,\n conditionals: [\n {\n conditionalType: 'equals',\n conditionalValue: 'Yes',\n conditionalQuestions: [\n {\n question: 'Which carrier currently insures the home?',\n inputType: 'select',\n options: CARRIERS,\n key: 'home_prior_carrier_name',\n required: true\n }\n ]\n }\n ]\n },\n {\n question: 'Personal liability limit',\n inputType: 'select',\n options: ['100000', '300000', '500000', '1000000'],\n key: 'home_personal_liability',\n required: true\n },\n {\n question: 'All-perils deductible',\n inputType: 'select',\n options: ['500', '1000', '2500', '5000'],\n key: 'home_all_perils_deductible',\n required: true\n }\n];\n\n// Bundle reuses the home policy questions plus the auto policy questions.\nconst BUNDLE_POLICY: Question[] = [...HOME_POLICY, ...AUTO_CURRENT_CARRIER];\n\nconst DEMOGRAPHICS: Question[] = [\n { question: 'Gender', inputType: 'radio', options: ['Male', 'Female'], key: 'gender', required: true },\n {\n question: 'Marital status',\n inputType: 'select',\n options: ['Single', 'Married', 'Divorced', 'Widowed', 'Domestic Partner'],\n key: 'marital_status',\n required: true\n },\n {\n question: 'Employment industry',\n inputType: 'select',\n options: ['Technology', 'Healthcare', 'Education', 'Finance', 'Retail', 'Construction', 'Other'],\n key: 'employment_industry',\n required: true\n },\n { question: 'How many occupants live in the household?', inputType: 'number', key: 'household_size', required: true },\n {\n question: 'Do you authorize us to check your credit?',\n inputType: 'radio',\n options: ['Yes', 'No'],\n key: 'order_credit_authorized',\n required: true\n }\n];\n\nconst SSN: Question[] = [{ question: 'Social Security Number', inputType: 'text', key: 'social_security_number', required: false }];\n\nconst PHONE: Question[] = [{ question: 'What is your phone number?', inputType: 'tel', key: 'phone', required: true }];\n\nconst SMS_VERIFICATION: Question[] = [\n { question: 'Please enter the code we sent to your phone number.', inputType: 'text', key: 'sms_code', required: true }\n];\n\nexport const QUESTIONS_BY_STAGE: Partial<Record<Stage, Question[]>> = {\n Zip: ZIP,\n Email: EMAIL,\n Product: PRODUCT,\n Name: NAME,\n Vehicle: VEHICLE,\n Driver: DRIVER,\n AutoCurrentCarrier: AUTO_CURRENT_CARRIER,\n Home: HOME,\n HomePolicy: HOME_POLICY,\n BundlePolicy: BUNDLE_POLICY,\n Demographics: DEMOGRAPHICS,\n Ssn: SSN,\n Phone: PHONE,\n SMSVerification: SMS_VERIFICATION\n};\n\nexport function resolveQuestions(stage: Stage): Question[] {\n return QUESTIONS_BY_STAGE[stage] ?? [];\n}\n","/**\n * Mock rate results, shaped exactly as the real `GetRatesResponse` (an array of\n * carrier quotes). Logos are null so the Rates UI falls back to its text/initial\n * treatment — no embedded base64 needed for design review.\n */\nimport type { GetRatesResponse } from '@getcredify/credify-insurance-types';\n\nexport const MOCK_RATES: GetRatesResponse = [\n {\n quote_rate_id: 'mock-rate-1',\n carrier_name: 'Progressive',\n carrier_logo_base64: null,\n carrier_quote_id: 'MOCK-PRG-001',\n premium_cents: 142800,\n monthly_premium_cents: 11900,\n term_months: 12,\n lob: 'auto',\n admitted_status: 'admitted',\n effective_date: '2026-07-01',\n policy_end_date: '2027-07-01'\n },\n {\n quote_rate_id: 'mock-rate-2',\n carrier_name: 'Nationwide',\n carrier_logo_base64: null,\n carrier_quote_id: 'MOCK-NW-002',\n premium_cents: 156000,\n monthly_premium_cents: 13000,\n term_months: 12,\n lob: 'auto',\n admitted_status: 'admitted',\n effective_date: '2026-07-01',\n policy_end_date: '2027-07-01'\n },\n {\n quote_rate_id: 'mock-rate-3',\n carrier_name: 'Liberty Mutual',\n carrier_logo_base64: null,\n carrier_quote_id: 'MOCK-LM-003',\n premium_cents: 173400,\n monthly_premium_cents: 14450,\n term_months: 12,\n lob: 'auto',\n admitted_status: 'non_admitted',\n effective_date: '2026-07-01',\n policy_end_date: '2027-07-01'\n },\n // \"Not Quoted\" carriers (Bolt declines) — shaped like real rows: no premium,\n // with decline reasons + category. Drives the Not Quoted tab in mock mode.\n {\n quote_rate_id: 'mock-nq-1',\n carrier_name: 'Travelers',\n carrier_logo_base64: null,\n carrier_quote_id: null,\n premium_cents: 0,\n monthly_premium_cents: null,\n term_months: 0,\n lob: 'auto',\n admitted_status: 'not_quoted',\n effective_date: null,\n policy_end_date: null,\n decline_category: 'Upfront Underwriting',\n decline_reasons: ['Consumer didn’t grant permission to review credit score.']\n },\n {\n quote_rate_id: 'mock-nq-2',\n carrier_name: 'NationalGeneral',\n carrier_logo_base64: null,\n carrier_quote_id: null,\n premium_cents: 0,\n monthly_premium_cents: null,\n term_months: 0,\n lob: 'auto',\n admitted_status: 'not_quoted',\n effective_date: null,\n policy_end_date: null,\n decline_category: 'Declinations',\n decline_reasons: ['Carrier requires credit report ordering. Please select Yes for Credit Check Authorized.', 'Monoline quoting is not allowed.']\n },\n {\n quote_rate_id: 'mock-nq-3',\n carrier_name: 'Allstate',\n carrier_logo_base64: null,\n carrier_quote_id: null,\n premium_cents: 0,\n monthly_premium_cents: null,\n term_months: 0,\n lob: 'auto',\n admitted_status: 'not_quoted',\n effective_date: null,\n policy_end_date: null,\n decline_category: 'Declinations',\n decline_reasons: ['This carrier will not quote if the credit disclosure is not accepted by the insured.']\n }\n];\n","/**\n * Mock vehicle-options data. The real `getVehicleOptions` endpoint progressively\n * resolves makes → models → body styles as the user drills in, and `decodeVin`\n * returns a full vehicle from a VIN. The mock reproduces that cascade with a\n * small representative dataset so the dependent dropdowns behave like production.\n */\n\nexport const VEHICLE_MAKES = ['Toyota', 'Honda', 'Ford', 'Chevrolet', 'Tesla', 'Subaru'];\n\nconst MODELS_BY_MAKE: Record<string, string[]> = {\n Toyota: ['Camry', 'Corolla', 'RAV4', 'Highlander', 'Tacoma'],\n Honda: ['Civic', 'Accord', 'CR-V', 'Pilot', 'Odyssey'],\n Ford: ['F-150', 'Escape', 'Explorer', 'Mustang', 'Bronco'],\n Chevrolet: ['Silverado', 'Equinox', 'Malibu', 'Tahoe', 'Camaro'], // cspell:disable-line\n Tesla: ['Model 3', 'Model Y', 'Model S', 'Model X'],\n Subaru: ['Outback', 'Forester', 'Crosstrek', 'Impreza'] // cspell:disable-line\n};\n\nconst BODY_STYLES = ['Sedan', 'SUV', 'Truck', 'Coupe', 'Hatchback', 'Minivan'];\n\n/** Resolve the cascading option set, mirroring the real endpoint's response shape. */\nexport function resolveVehicleOptions(params: { year?: number; make?: string; model?: string }): {\n ready: boolean;\n makes?: string[];\n models?: string[];\n bodyStyles?: string[];\n} {\n if (params.make && params.model) {\n return { ready: true, bodyStyles: BODY_STYLES };\n }\n if (params.make) {\n return { ready: true, models: MODELS_BY_MAKE[params.make] ?? ['Base', 'Sport', 'Limited'] };\n }\n return { ready: true, makes: VEHICLE_MAKES };\n}\n\n/** Mock VIN decode — returns a deterministic vehicle regardless of the VIN supplied. */\nexport function decodeVinMock(): { year: number; make: string; model: string; bodyStyle: string } {\n return { year: 2022, make: 'Toyota', model: 'Camry', bodyStyle: 'Sedan' };\n}\n","/**\n * In-memory mock backend for the widget.\n *\n * This is the chunk lazily loaded by installMockFetch when mock mode is active.\n * It holds a single quote's state in memory and answers each API endpoint from\n * fixtures, reproducing the parts of backend behaviour the wizard depends on —\n * most importantly the product-driven flow reshaping (`update-quote` records the\n * chosen product; `get-stages-for-quote` then returns that product's stage list).\n *\n * No network requests are made and there are no side effects beyond this module's\n * own state, which resets whenever a new quote is created.\n */\nimport { resolveStages } from './fixtures/stages';\nimport { resolveQuestions } from './fixtures/questions';\nimport { MOCK_RATES } from './fixtures/rates';\nimport { resolveVehicleOptions, decodeVinMock } from './fixtures/vehicleOptions';\n\nconst MOCK_QUOTE_ID = 'mock-quote-0001';\nconst MOCK_TOKEN = 'mock-jwt-token';\n\ntype Json = Record<string, unknown>;\n\n/** Mutable in-memory quote, accumulated across `update-quote` calls. */\nlet quote: Json = { quote_id: MOCK_QUOTE_ID };\n\nfunction resetQuote(seed: Json = {}): void {\n quote = { quote_id: MOCK_QUOTE_ID, ...seed };\n}\n\nfunction handleVerifyQuote(body: Json): Json {\n if (body.action === 'send') return { success: true };\n if (body.action === 'resume') return { isVerified: true, token: MOCK_TOKEN, quoteId: MOCK_QUOTE_ID };\n // Default: SMS code verification — any code passes in mock mode.\n return { isVerified: true, token: MOCK_TOKEN };\n}\n\nfunction handleVehicleOptions(body: Json): Json {\n if (body.action === 'vinDecode') return decodeVinMock();\n return resolveVehicleOptions({\n year: typeof body.year === 'number' ? body.year : undefined,\n make: typeof body.make === 'string' ? body.make : undefined,\n model: typeof body.model === 'string' ? body.model : undefined\n });\n}\n\n/**\n * Route a mocked request to its canned response. `pathname` is the API path\n * (e.g. `/create-quote`); `body` is the parsed JSON request body. Returns the\n * response payload object (serialized by the caller). Throws for unknown paths\n * so the interceptor can fall through to a 404-style response.\n */\nexport function handleMockRequest(pathname: string, body: Json): Json {\n switch (pathname) {\n case '/create-quote':\n resetQuote({ postal_code: body.postal_code });\n return { quoteId: MOCK_QUOTE_ID };\n\n case '/get-stages-for-quote':\n return { stages: resolveStages(quote.product) };\n\n case '/get-questions-by-stage':\n return { questions: resolveQuestions(body.stage as never) };\n\n case '/update-quote': {\n const rest = { ...((body.payload as Json) ?? {}) };\n // current_stage is navigation metadata, not a persisted quote field.\n delete rest.current_stage;\n quote = { ...quote, ...rest };\n return { status: 'success' };\n }\n\n case '/verify-quote':\n return handleVerifyQuote(body);\n\n case '/is-supported-state':\n return { isSupported: true };\n\n case '/get-rates':\n return { rates: MOCK_RATES };\n\n case '/get-quote':\n return { quote };\n\n case '/get-vehicle-options':\n return handleVehicleOptions(body);\n\n case '/request-bind':\n return { success: true };\n\n default:\n throw new Error(`No mock handler for ${pathname}`);\n }\n}\n"],"names":["DEFAULT_STAGES","STAGES_BY_PRODUCT","resolveStages","product","CARRIERS","LIABILITY_LIMITS","VEHICLE_YEARS","_","i","ZIP","EMAIL","PRODUCT","NAME","VEHICLE","DRIVER","AUTO_CURRENT_CARRIER","HOME","HOME_POLICY","BUNDLE_POLICY","DEMOGRAPHICS","SSN","PHONE","SMS_VERIFICATION","QUESTIONS_BY_STAGE","resolveQuestions","stage","MOCK_RATES","VEHICLE_MAKES","MODELS_BY_MAKE","BODY_STYLES","resolveVehicleOptions","params","decodeVinMock","MOCK_QUOTE_ID","MOCK_TOKEN","quote","resetQuote","seed","handleVerifyQuote","body","handleVehicleOptions","handleMockRequest","pathname","rest"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Spline+Sans:wght@400;500;700&display=swap";/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */@layer properties,theme,base,components,utilities;@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-emerald-600:oklch(59.6% .145 163.225);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-50:oklch(97% .014 254.604);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-widest:.1em;--leading-snug:1.375;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.right-4{right:calc(var(--spacing)*4)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.-mt-4{margin-top:calc(var(--spacing)*-4)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-screen{min-height:100vh}.\!w-auto{width:auto!important}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-60{width:calc(var(--spacing)*60)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[7rem\]{max-width:7rem}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[8\.5rem\]{min-width:8.5rem}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-lg{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-\[var\(--accent-color\)\]{border-color:var(--accent-color)}.border-amber-300{border-color:var(--color-amber-300)}.border-blue-600{border-color:var(--color-blue-600)}.border-cyan-500{border-color:var(--color-cyan-500)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-200{border-color:var(--color-red-200)}.border-red-500{border-color:var(--color-red-500)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.border-t-slate-600{border-top-color:var(--color-slate-600)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-red-50{background-color:var(--color-red-50)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pl-5{padding-left:calc(var(--spacing)*5)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-amber-800{color:var(--color-amber-800)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-600{color:var(--color-emerald-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.focus-within\:border-\[var\(--primary-color\)\]:focus-within{border-color:var(--primary-color)}@media (hover:hover){.hover\:bg-blue-600\/90:hover{background-color:#155dfce6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-600\/90:hover{background-color:color-mix(in oklab,var(--color-blue-600)90%,transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:text-amber-900:hover{color:var(--color-amber-900)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}.hover\:text-slate-800:hover{color:var(--color-slate-800)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-blue-600\/40:focus-visible{--tw-ring-color:#155dfc66}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-blue-600\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-blue-600)40%,transparent)}}.focus-visible\:ring-slate-400:focus-visible{--tw-ring-color:var(--color-slate-400)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-300:disabled{background-color:var(--color-slate-300)}.disabled\:text-slate-500:disabled{color:var(--color-slate-500)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}:root{--primary-color:#006aff;--secondary-color:#f0f4ff;--background-color:#fff;--text-primary:#1a202c;--text-secondary:#718096;--accent-color:#e2e8f0;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-3xl:1.75rem;--radius-full:9999px;--radio-dot-svg:url("data:image/svg+xml,%3csvg viewBox=%270 0 16 16%27 fill=%27%23006aff%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3ccircle cx=%278%27 cy=%278%27 r=%274%27/%3e%3c/svg%3e");--select-button-svg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24px' height='24px' fill='%23718096' viewBox='0 0 256 256'%3e%3cpath d='m215.39 92.94-80 80a8 8 0 0 1-11.32 0l-80-80a8 8 0 1 1 11.32-11.32L128 154.06l74.07-72.44a8 8 0 0 1 11.32 11.32Z'/%3e%3c/svg%3e")}#insurance-widget-root,#root{color:var(--text-primary);font-family:Spline Sans,ui-sans-serif,system-ui,sans-serif}#insurance-widget-root .backdrop,#root .backdrop{background:#00000080;position:fixed;inset:0}#insurance-widget-root .modal-panel,#root .modal-panel{border-radius:var(--radius-2xl);padding:1.5rem;box-shadow:0 24px 64px -20px #00000059;background:#fff!important}@media (min-width:640px){#insurance-widget-root .modal-panel,#root .modal-panel{padding:2rem}}@media (min-width:768px){#insurance-widget-root .modal-panel,#root .modal-panel{padding:2.5rem}}@media (max-width:767px){#insurance-widget-root .modal-panel,#root .modal-panel{width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;border-radius:0;position:fixed;inset:0}}#insurance-widget-root .h1-title,#root .h1-title{letter-spacing:-.01em;color:var(--text-primary);font-size:1.875rem;font-weight:700;line-height:2.25rem}@media (min-width:640px){#insurance-widget-root .h1-title,#root .h1-title{font-size:2.25rem;line-height:2.5rem}}#insurance-widget-root .p-subtitle,#root .p-subtitle{color:var(--text-secondary);margin-top:.5rem}#insurance-widget-root .form-label,#root .form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}#insurance-widget-root .form-input,#root .form-input{border-radius:var(--radius-lg);border:1px solid var(--accent-color);width:100%;color:var(--text-primary);background:#fff;outline:none;padding:.75rem 1rem;font-size:1rem;transition:box-shadow .15s,border-color .15s}#insurance-widget-root input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#insurance-widget-root input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#root input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#root input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#insurance-widget-root input[type=number],#root input[type=number]{-moz-appearance:textfield}#insurance-widget-root .form-input::placeholder,#root .form-input::placeholder{color:#94a3b8}#insurance-widget-root .form-input:focus,#root .form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}#insurance-widget-root .select-caret,#root .select-caret{background-image:var(--select-button-svg);appearance:none;background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem 1.25rem;padding-right:2.5rem}#insurance-widget-root .radio-card,#root .radio-card{border-radius:var(--radius-md);border:2px solid var(--accent-color);cursor:pointer;background:#fff;align-items:center;gap:.75rem;padding:1rem;transition:all .15s;display:flex}#insurance-widget-root .radio-card:hover,#root .radio-card:hover{border-color:#cfd8e3}#insurance-widget-root .radio-input,#root .radio-input{border:2px solid var(--accent-color);appearance:none;background:0 0;border-radius:9999px;outline:none;width:1.25rem;height:1.25rem}#insurance-widget-root .radio-input:checked,#root .radio-input:checked{border-color:var(--primary-color);background-image:var(--radio-dot-svg);background-position:50%;background-repeat:no-repeat}#insurance-widget-root .radio-card:has(.radio-input:checked),#root .radio-card:has(.radio-input:checked){border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color)}@supports (color:color-mix(in lab,red,red)){#insurance-widget-root .radio-card:has(.radio-input:checked),#root .radio-card:has(.radio-input:checked){box-shadow:0 0 0 2px color-mix(in oklab,var(--primary-color)20%,transparent)}}#insurance-widget-root .radio-label,#root .radio-label{color:var(--text-primary);font-size:1rem;font-weight:600}#insurance-widget-root .btn-primary,#root .btn-primary{border-radius:var(--radius-full);background:var(--primary-color);color:#fff;letter-spacing:.02em;justify-content:center;align-items:center;width:100%;height:3rem;font-weight:700;transition:opacity .15s;display:flex}#insurance-widget-root .btn-primary:hover,#root .btn-primary:hover{opacity:.9}#insurance-widget-root .btn-outline,#root .btn-outline{border-radius:var(--radius-full);width:100%;height:3rem;color:var(--text-primary);border:1px solid var(--accent-color);letter-spacing:.02em;background:#fff;justify-content:center;align-items:center;font-weight:700;transition:background .15s,color .15s,border-color .15s,opacity .15s;display:flex}#insurance-widget-root .btn-outline:hover,#root .btn-outline:hover{border-color:#cfd8e3}#insurance-widget-root .btn-primary,#root .btn-primary,#insurance-widget-root .btn-outline,#root .btn-outline{cursor:pointer}#insurance-widget-root .btn-primary:disabled,#root .btn-primary:disabled,#insurance-widget-root .btn-outline:disabled,#root .btn-outline:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(20%)}#insurance-widget-root .btn-primary:not(:disabled):hover,#root .btn-primary:not(:disabled):hover{opacity:.95}#insurance-widget-root .btn-outline:not(:disabled):hover,#root .btn-outline:not(:disabled):hover{border-color:#cfd8e3}#insurance-widget-root .quote-btn,#root .quote-btn{background-color:var(--color-blue-600);padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*3);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-white);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-radius:3.40282e38px}@media (hover:hover){:is(#insurance-widget-root .quote-btn,#root .quote-btn):hover{background-color:var(--color-blue-700)}}#insurance-widget-root .input-error,#root .input-error{border-color:#dc2626!important;box-shadow:0 0 0 1px #dc2626!important}#insurance-widget-root .checkbox-card,#root .checkbox-card{border-radius:var(--radius-md);border:2px solid var(--accent-color);cursor:pointer;background:#fff;align-items:center;gap:.75rem;padding:1rem;transition:all .15s;display:flex}#insurance-widget-root .checkbox-card:hover,#root .checkbox-card:hover{border-color:#cfd8e3}#insurance-widget-root .checkbox-input,#root .checkbox-input{border:2px solid var(--accent-color);appearance:none;background:#fff;border-radius:.375rem;outline:none;place-items:center;width:1.25rem;height:1.25rem;display:grid}#insurance-widget-root .checkbox-input:checked,#root .checkbox-input:checked{border-color:var(--primary-color);background-color:var(--primary-color);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 24 24'%3e%3cpath d='M20.285 6.709a1 1 0 0 1 0 1.414l-9.192 9.193a1 1 0 0 1-1.414 0L3.715 11.55a1 1 0 1 1 1.414-1.414l5.05 5.05 8.485-8.478a1 1 0 0 1 1.621.001z'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat}#insurance-widget-root .checkbox-card:has(.checkbox-input:checked),#root .checkbox-card:has(.checkbox-input:checked){border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color)}@supports (color:color-mix(in lab,red,red)){#insurance-widget-root .checkbox-card:has(.checkbox-input:checked),#root .checkbox-card:has(.checkbox-input:checked){box-shadow:0 0 0 2px color-mix(in oklab,var(--primary-color)20%,transparent)}}#insurance-widget-root .checkbox-label,#root .checkbox-label{color:var(--text-primary);font-size:1rem;font-weight:600}#insurance-widget-root .communications-consent-checkbox.checkbox-card,#root .communications-consent-checkbox.checkbox-card{border-width:2px;border-color:var(--primary-color);background:var(--primary-color);align-items:flex-start;gap:.875rem;padding:1rem 1.125rem}@supports (color:color-mix(in lab,red,red)){#insurance-widget-root .communications-consent-checkbox.checkbox-card,#root .communications-consent-checkbox.checkbox-card{background:color-mix(in oklab,var(--primary-color)7%,#fff)}}#insurance-widget-root .communications-consent-checkbox.checkbox-card,#root .communications-consent-checkbox.checkbox-card{box-shadow:0 0 0 1px var(--primary-color)}@supports (color:color-mix(in lab,red,red)){#insurance-widget-root .communications-consent-checkbox.checkbox-card,#root .communications-consent-checkbox.checkbox-card{box-shadow:0 0 0 1px color-mix(in oklab,var(--primary-color)20%,transparent)}}#insurance-widget-root .communications-consent-checkbox.checkbox-card:hover,#root .communications-consent-checkbox.checkbox-card:hover{border-color:var(--primary-color);background:var(--primary-color)}@supports (color:color-mix(in lab,red,red)){#insurance-widget-root .communications-consent-checkbox.checkbox-card:hover,#root .communications-consent-checkbox.checkbox-card:hover{background:color-mix(in oklab,var(--primary-color)11%,#fff)}}#insurance-widget-root .communications-consent-checkbox .checkbox-input,#root .communications-consent-checkbox .checkbox-input{border-width:3px;border-color:var(--primary-color);flex-shrink:0;width:1.625rem;height:1.625rem;margin-top:.0625rem}#insurance-widget-root .communications-consent-checkbox .checkbox-input:checked,#root .communications-consent-checkbox .checkbox-input:checked{background-size:1.125rem 1.125rem}#insurance-widget-root .communications-consent-checkbox .checkbox-label,#root .communications-consent-checkbox .checkbox-label{font-size:.875rem;font-weight:400;line-height:1.4}#insurance-widget-root .modal-scroll,#root .modal-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:min(90dvh,800px);overflow-y:auto}#insurance-widget-root .modal-scroll .h1-title,#root .modal-scroll .h1-title{z-index:1;background:#fff;padding-top:.25rem;padding-bottom:.75rem;position:sticky;top:0}#insurance-widget-root .panel-body,#root .panel-body{padding:4px;scroll-padding:4px}#insurance-widget-root .tel-input-wrapper:focus-within:not(.error),#root .tel-input-wrapper:focus-within:not(.error){outline:1px solid var(--primary-color);outline-offset:0px;z-index:1}#insurance-widget-root .tel-input-wrapper.error,#root .tel-input-wrapper.error{outline-offset:0px;z-index:1;outline:1px solid #ef4444}#insurance-widget-root .tel-input-wrapper:focus-within:after,#root .tel-input-wrapper:focus-within:after{content:"";border:1px solid var(--primary-color);pointer-events:none;z-index:10;border-radius:.75rem;position:absolute;inset:-1px}#insurance-widget-root .tel-input-wrapper.error:after,#root .tel-input-wrapper.error:after{content:"";pointer-events:none;z-index:10;border:1px solid #ef4444;border-radius:.75rem;position:absolute;inset:-1px}#insurance-widget-root .form-label:has(+input[aria-required=true]):after,#root .form-label:has(+input[aria-required=true]):after,#insurance-widget-root .form-label:has(+select[aria-required=true]):after,#root .form-label:has(+select[aria-required=true]):after,#insurance-widget-root .form-label:has(+textarea[aria-required=true]):after,#root .form-label:has(+textarea[aria-required=true]):after,#insurance-widget-root .legend-required:after,#root .legend-required:after{content:" *";color:#dc2626;margin-left:.25rem}#insurance-widget-root .scrollbar-hide,#root .scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}#insurance-widget-root .scrollbar-hide::-webkit-scrollbar{display:none}#root .scrollbar-hide::-webkit-scrollbar{display:none}#insurance-widget-root button.form-wizard-next-btn[data-widget-ctrl=next][type=button],#root button.form-wizard-next-btn[data-widget-ctrl=next][type=button],#insurance-widget-root button.form-wizard-next-btn[data-widget-ctrl=next][type=button]:disabled,#root button.form-wizard-next-btn[data-widget-ctrl=next][type=button]:disabled{visibility:visible!important;opacity:1!important;clip-path:none!important;pointer-events:auto!important;color:#fff!important;background-color:#2563eb!important;min-height:3rem!important;display:flex!important;position:relative!important;overflow:visible!important}#insurance-widget-root button.form-wizard-next-btn[data-widget-ctrl=next][type=button]:disabled,#root button.form-wizard-next-btn[data-widget-ctrl=next][type=button]:disabled{opacity:.5!important;background-color:#d1d5db!important}#insurance-widget-root .credify-link-underline,#root .credify-link-underline{color:var(--primary-color);text-decoration:underline}#insurance-widget-root .credify-link-underline:hover,#root .credify-link-underline:hover{color:#0052cc}#insurance-widget-root button.modal-close-btn[type=button],#root button.modal-close-btn[type=button]{appearance:none;background:0 0;border:none;padding:0;visibility:visible!important;opacity:1!important;cursor:pointer!important;clip-path:none!important;pointer-events:auto!important;display:inline-flex!important;overflow:visible!important}@media (max-width:767px){#insurance-widget-root button.modal-close-btn[type=button],#root button.modal-close-btn[type=button]{visibility:hidden!important;pointer-events:none!important;display:none!important}}#insurance-widget-root button.credify-btn-back[type=button],#root button.credify-btn-back[type=button],#insurance-widget-root button.credify-btn-back[type=button]:disabled,#root button.credify-btn-back[type=button]:disabled{transition:border-color .15s,background-color .15s;visibility:visible!important;opacity:1!important;clip-path:none!important;pointer-events:auto!important;box-sizing:border-box!important;border-radius:var(--radius-full)!important;color:#1a202c!important;text-align:center!important;cursor:pointer!important;background-color:#fff!important;border:1px solid #e2e8f0!important;place-content:center!important;place-items:center!important;height:3rem!important;min-height:3rem!important;margin:0!important;padding:0!important;font-size:1rem!important;font-weight:600!important;line-height:1!important;display:grid!important;overflow:visible!important}#insurance-widget-root button.credify-btn-back[type=button]:not(:disabled):hover,#root button.credify-btn-back[type=button]:not(:disabled):hover{background-color:#f9fafb!important;border-color:#cbd5e1!important}#insurance-widget-root button.credify-btn-back[type=button]:disabled,#root button.credify-btn-back[type=button]:disabled{opacity:.5!important;cursor:not-allowed!important;background-color:#f3f4f6!important}#insurance-widget-root button.credify-btn-back[type=button][data-testid=communications-consent-decline],#root button.credify-btn-back[type=button][data-testid=communications-consent-decline]{font-weight:400!important}#insurance-widget-root button.credify-btn-back-rates[type=button],#root button.credify-btn-back-rates[type=button]{margin-top:2rem!important}#insurance-widget-root button.credify-retry-btn[type=button],#root button.credify-retry-btn[type=button]{cursor:pointer;font:inherit;border:none;visibility:visible!important;color:var(--text-primary)!important;clip-path:none!important;pointer-events:auto!important;background:0 0!important;text-decoration:underline!important;display:inline!important;overflow:visible!important}#insurance-widget-root button.rates-bind-btn[type=button],#root button.rates-bind-btn[type=button],#insurance-widget-root button.rates-bind-btn[type=button]:disabled,#root button.rates-bind-btn[type=button]:disabled{visibility:visible!important;opacity:1!important;clip-path:none!important;pointer-events:auto!important;box-sizing:border-box!important;text-align:center!important;color:#fff!important;background-color:#2563eb!important;place-content:center!important;place-items:center!important;min-height:2.5rem!important;padding:0 1rem!important;line-height:1!important;display:grid!important;overflow:visible!important}#insurance-widget-root button.rates-bind-btn[type=button]:disabled,#root button.rates-bind-btn[type=button]:disabled{opacity:.5!important;background-color:#cbd5e1!important}#insurance-widget-root button.rates-bind-btn.rates-bind-btn-requested,#root button.rates-bind-btn.rates-bind-btn-requested{color:#fff!important;background-color:#10b981!important}#insurance-widget-root button.quote-btn[type=button],#root button.quote-btn[type=button]{visibility:visible!important;opacity:1!important;clip-path:none!important;pointer-events:auto!important;color:#fff!important;background-color:#2563eb!important;display:inline-flex!important;overflow:visible!important}#insurance-widget-root a.credify-link-underline[href],#root a.credify-link-underline[href]{color:var(--primary-color);visibility:visible!important;clip-path:none!important;pointer-events:auto!important;text-decoration:underline!important;display:inline!important;overflow:visible!important}#insurance-widget-root input.form-input,#root input.form-input,#insurance-widget-root select.form-input,#root select.form-input,#insurance-widget-root textarea.form-input,#root textarea.form-input{visibility:visible!important;opacity:1!important;clip-path:none!important;pointer-events:auto!important;display:block!important;overflow:visible!important}#insurance-widget-root button.btn-primary[type=button],#root button.btn-primary[type=button],#insurance-widget-root button.btn-primary[type=submit],#root button.btn-primary[type=submit],#insurance-widget-root button.btn-outline[type=button],#root button.btn-outline[type=button],#insurance-widget-root button.btn-primary[type=button]:disabled,#root button.btn-primary[type=button]:disabled,#insurance-widget-root button.btn-outline[type=button]:disabled,#root button.btn-outline[type=button]:disabled{visibility:visible!important;opacity:1!important;clip-path:none!important;pointer-events:auto!important;min-height:3rem!important;display:flex!important;overflow:visible!important}#insurance-widget-root button.btn-primary[type=button],#root button.btn-primary[type=button],#insurance-widget-root button.btn-primary[type=submit],#root button.btn-primary[type=submit]{color:#fff!important;background-color:#2563eb!important}#insurance-widget-root button.btn-outline[type=button],#root button.btn-outline[type=button]{color:var(--text-primary)!important;border:1px solid var(--accent-color)!important;background-color:#fff!important}#insurance-widget-root button.btn-primary[type=button]:disabled,#root button.btn-primary[type=button]:disabled,#insurance-widget-root button.btn-outline[type=button]:disabled,#root button.btn-outline[type=button]:disabled{opacity:.5!important}#insurance-widget-root button.btn-primary[type=button]:disabled,#root button.btn-primary[type=button]:disabled{color:#fff!important;background-color:#d1d5db!important}#insurance-widget-root button.btn-outline[type=button]:disabled,#root button.btn-outline[type=button]:disabled{color:var(--text-primary)!important;background-color:#f1f5f9!important}#insurance-widget-root .form-wizard-steps-header,#root .form-wizard-steps-header{visibility:visible!important;display:flex!important}#insurance-widget-root .form-wizard-steps,#root .form-wizard-steps{flex:1;align-items:center;gap:.5rem;min-width:0;margin:0;padding:0;font-size:.75rem;line-height:1rem;list-style:none;overflow-x:auto;display:flex!important}#insurance-widget-root .form-wizard-step-pill,#root .form-wizard-step-pill{white-space:nowrap;border:1px solid;border-radius:9999px;flex-shrink:0;padding:.25rem .625rem;visibility:visible!important;display:inline-flex!important}#insurance-widget-root .form-wizard-step-arrow,#root .form-wizard-step-arrow{color:#94a3b8;flex-shrink:0;visibility:visible!important;display:inline-flex!important}#insurance-widget-root .form-wizard-step-counter,#root .form-wizard-step-counter{color:#64748b;flex-shrink:0;font-size:.875rem;line-height:1.25rem;visibility:visible!important;display:block!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Spline+Sans:wght@400;500;700&display=swap";/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */@layer properties,theme,base,components,utilities;@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-emerald-600:oklch(59.6% .145 163.225);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-50:oklch(97% .014 254.604);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-widest:.1em;--leading-snug:1.375;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.right-4{right:calc(var(--spacing)*4)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.-mt-4{margin-top:calc(var(--spacing)*-4)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-screen{min-height:100vh}.\!w-auto{width:auto!important}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-60{width:calc(var(--spacing)*60)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[7rem\]{max-width:7rem}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[8\.5rem\]{min-width:8.5rem}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-lg{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-\[var\(--accent-color\)\]{border-color:var(--accent-color)}.border-amber-300{border-color:var(--color-amber-300)}.border-blue-600{border-color:var(--color-blue-600)}.border-cyan-500{border-color:var(--color-cyan-500)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-200{border-color:var(--color-red-200)}.border-red-500{border-color:var(--color-red-500)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.border-t-slate-600{border-top-color:var(--color-slate-600)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-red-50{background-color:var(--color-red-50)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pl-5{padding-left:calc(var(--spacing)*5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-amber-800{color:var(--color-amber-800)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-600{color:var(--color-emerald-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.focus-within\:border-\[var\(--primary-color\)\]:focus-within{border-color:var(--primary-color)}@media (hover:hover){.hover\:bg-blue-600\/90:hover{background-color:#155dfce6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-600\/90:hover{background-color:color-mix(in oklab,var(--color-blue-600)90%,transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:text-amber-900:hover{color:var(--color-amber-900)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}.hover\:text-slate-800:hover{color:var(--color-slate-800)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-blue-600\/40:focus-visible{--tw-ring-color:#155dfc66}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-blue-600\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-blue-600)40%,transparent)}}.focus-visible\:ring-slate-400:focus-visible{--tw-ring-color:var(--color-slate-400)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-300:disabled{background-color:var(--color-slate-300)}.disabled\:text-slate-500:disabled{color:var(--color-slate-500)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{--primary-color:#006aff;--secondary-color:#f0f4ff;--background-color:#fff;--text-primary:#1a202c;--text-secondary:#718096;--accent-color:#e2e8f0;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-3xl:1.75rem;--radius-full:9999px;--radio-dot-svg:url("data:image/svg+xml,%3csvg viewBox=%270 0 16 16%27 fill=%27%23006aff%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3ccircle cx=%278%27 cy=%278%27 r=%274%27/%3e%3c/svg%3e");--select-button-svg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24px' height='24px' fill='%23718096' viewBox='0 0 256 256'%3e%3cpath d='m215.39 92.94-80 80a8 8 0 0 1-11.32 0l-80-80a8 8 0 1 1 11.32-11.32L128 154.06l74.07-72.44a8 8 0 0 1 11.32 11.32Z'/%3e%3c/svg%3e")}#insurance-widget-root,#root{color:var(--text-primary);font-family:Spline Sans,ui-sans-serif,system-ui,sans-serif}#insurance-widget-root .backdrop,#root .backdrop{background:#00000080;position:fixed;inset:0}#insurance-widget-root .modal-panel,#root .modal-panel{border-radius:var(--radius-2xl);padding:1.5rem;box-shadow:0 24px 64px -20px #00000059;background:#fff!important}@media (min-width:640px){#insurance-widget-root .modal-panel,#root .modal-panel{padding:2rem}}@media (min-width:768px){#insurance-widget-root .modal-panel,#root .modal-panel{padding:2.5rem}}@media (max-width:767px){#insurance-widget-root .modal-panel,#root .modal-panel{width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;border-radius:0;position:fixed;inset:0}}#insurance-widget-root .h1-title,#root .h1-title{letter-spacing:-.01em;color:var(--text-primary);font-size:1.875rem;font-weight:700;line-height:2.25rem}@media (min-width:640px){#insurance-widget-root .h1-title,#root .h1-title{font-size:2.25rem;line-height:2.5rem}}#insurance-widget-root .p-subtitle,#root .p-subtitle{color:var(--text-secondary);margin-top:.5rem}#insurance-widget-root .form-label,#root .form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}#insurance-widget-root .form-input,#root .form-input{border-radius:var(--radius-lg);border:1px solid var(--accent-color);width:100%;color:var(--text-primary);background:#fff;outline:none;padding:.75rem 1rem;font-size:1rem;transition:box-shadow .15s,border-color .15s}#insurance-widget-root input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#insurance-widget-root input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#root input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#root input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#insurance-widget-root input[type=number],#root input[type=number]{-moz-appearance:textfield}#insurance-widget-root .form-input::placeholder,#root .form-input::placeholder{color:#94a3b8}#insurance-widget-root .form-input:focus,#root .form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}#insurance-widget-root .select-caret,#root .select-caret{background-image:var(--select-button-svg);appearance:none;background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem 1.25rem;padding-right:2.5rem}#insurance-widget-root .radio-card,#root .radio-card{border-radius:var(--radius-md);border:2px solid var(--accent-color);cursor:pointer;background:#fff;align-items:center;gap:.75rem;padding:1rem;transition:all .15s;display:flex}#insurance-widget-root .radio-card:hover,#root .radio-card:hover{border-color:#cfd8e3}#insurance-widget-root .radio-input,#root .radio-input{border:2px solid var(--accent-color);appearance:none;background:0 0;border-radius:9999px;outline:none;width:1.25rem;height:1.25rem}#insurance-widget-root .radio-input:checked,#root .radio-input:checked{border-color:var(--primary-color);background-image:var(--radio-dot-svg);background-position:50%;background-repeat:no-repeat}#insurance-widget-root .radio-card:has(.radio-input:checked),#root .radio-card:has(.radio-input:checked){border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color)}@supports (color:color-mix(in lab,red,red)){#insurance-widget-root .radio-card:has(.radio-input:checked),#root .radio-card:has(.radio-input:checked){box-shadow:0 0 0 2px color-mix(in oklab,var(--primary-color)20%,transparent)}}#insurance-widget-root .radio-label,#root .radio-label{color:var(--text-primary);font-size:1rem;font-weight:600}#insurance-widget-root .btn-primary,#root .btn-primary{border-radius:var(--radius-full);background:var(--primary-color);color:#fff;letter-spacing:.02em;justify-content:center;align-items:center;width:100%;height:3rem;font-weight:700;transition:opacity .15s;display:flex}#insurance-widget-root .btn-primary:hover,#root .btn-primary:hover{opacity:.9}#insurance-widget-root .btn-outline,#root .btn-outline{border-radius:var(--radius-full);width:100%;height:3rem;color:var(--text-primary);border:1px solid var(--accent-color);letter-spacing:.02em;background:#fff;justify-content:center;align-items:center;font-weight:700;transition:background .15s,color .15s,border-color .15s,opacity .15s;display:flex}#insurance-widget-root .btn-outline:hover,#root .btn-outline:hover{border-color:#cfd8e3}#insurance-widget-root .btn-primary,#root .btn-primary,#insurance-widget-root .btn-outline,#root .btn-outline{cursor:pointer}#insurance-widget-root .btn-primary:disabled,#root .btn-primary:disabled,#insurance-widget-root .btn-outline:disabled,#root .btn-outline:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(20%)}#insurance-widget-root .btn-primary:not(:disabled):hover,#root .btn-primary:not(:disabled):hover{opacity:.95}#insurance-widget-root .btn-outline:not(:disabled):hover,#root .btn-outline:not(:disabled):hover{border-color:#cfd8e3}#insurance-widget-root .quote-btn,#root .quote-btn{background-color:var(--color-blue-600);padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*3);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-white);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-radius:3.40282e38px}@media (hover:hover){:is(#insurance-widget-root .quote-btn,#root .quote-btn):hover{background-color:var(--color-blue-700)}}#insurance-widget-root .input-error,#root .input-error{border-color:#dc2626!important;box-shadow:0 0 0 1px #dc2626!important}#insurance-widget-root .checkbox-card,#root .checkbox-card{border-radius:var(--radius-md);border:2px solid var(--accent-color);cursor:pointer;background:#fff;align-items:center;gap:.75rem;padding:1rem;transition:all .15s;display:flex}#insurance-widget-root .checkbox-card:hover,#root .checkbox-card:hover{border-color:#cfd8e3}#insurance-widget-root .checkbox-input,#root .checkbox-input{border:2px solid var(--accent-color);appearance:none;background:#fff;border-radius:.375rem;outline:none;place-items:center;width:1.25rem;height:1.25rem;display:grid}#insurance-widget-root .checkbox-input:checked,#root .checkbox-input:checked{border-color:var(--primary-color);background-color:var(--primary-color);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 24 24'%3e%3cpath d='M20.285 6.709a1 1 0 0 1 0 1.414l-9.192 9.193a1 1 0 0 1-1.414 0L3.715 11.55a1 1 0 1 1 1.414-1.414l5.05 5.05 8.485-8.478a1 1 0 0 1 1.621.001z'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat}#insurance-widget-root .checkbox-card:has(.checkbox-input:checked),#root .checkbox-card:has(.checkbox-input:checked){border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color)}@supports (color:color-mix(in lab,red,red)){#insurance-widget-root .checkbox-card:has(.checkbox-input:checked),#root .checkbox-card:has(.checkbox-input:checked){box-shadow:0 0 0 2px color-mix(in oklab,var(--primary-color)20%,transparent)}}#insurance-widget-root .checkbox-label,#root .checkbox-label{color:var(--text-primary);font-size:1rem;font-weight:600}#insurance-widget-root .communications-consent-checkbox.checkbox-card,#root .communications-consent-checkbox.checkbox-card{border-width:2px;border-color:var(--primary-color);background:var(--primary-color);align-items:flex-start;gap:.875rem;padding:1rem 1.125rem}@supports (color:color-mix(in lab,red,red)){#insurance-widget-root .communications-consent-checkbox.checkbox-card,#root .communications-consent-checkbox.checkbox-card{background:color-mix(in oklab,var(--primary-color)7%,#fff)}}#insurance-widget-root .communications-consent-checkbox.checkbox-card,#root .communications-consent-checkbox.checkbox-card{box-shadow:0 0 0 1px var(--primary-color)}@supports (color:color-mix(in lab,red,red)){#insurance-widget-root .communications-consent-checkbox.checkbox-card,#root .communications-consent-checkbox.checkbox-card{box-shadow:0 0 0 1px color-mix(in oklab,var(--primary-color)20%,transparent)}}#insurance-widget-root .communications-consent-checkbox.checkbox-card:hover,#root .communications-consent-checkbox.checkbox-card:hover{border-color:var(--primary-color);background:var(--primary-color)}@supports (color:color-mix(in lab,red,red)){#insurance-widget-root .communications-consent-checkbox.checkbox-card:hover,#root .communications-consent-checkbox.checkbox-card:hover{background:color-mix(in oklab,var(--primary-color)11%,#fff)}}#insurance-widget-root .communications-consent-checkbox .checkbox-input,#root .communications-consent-checkbox .checkbox-input{border-width:3px;border-color:var(--primary-color);flex-shrink:0;width:1.625rem;height:1.625rem;margin-top:.0625rem}#insurance-widget-root .communications-consent-checkbox .checkbox-input:checked,#root .communications-consent-checkbox .checkbox-input:checked{background-size:1.125rem 1.125rem}#insurance-widget-root .communications-consent-checkbox .checkbox-label,#root .communications-consent-checkbox .checkbox-label{font-size:.875rem;font-weight:400;line-height:1.4}#insurance-widget-root .modal-scroll,#root .modal-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:min(90dvh,800px);overflow-y:auto}#insurance-widget-root .modal-scroll .h1-title,#root .modal-scroll .h1-title{z-index:1;background:#fff;padding-top:.25rem;padding-bottom:.75rem;position:sticky;top:0}#insurance-widget-root .panel-body,#root .panel-body{padding:4px;scroll-padding:4px}#insurance-widget-root .tel-input-wrapper:focus-within:not(.error),#root .tel-input-wrapper:focus-within:not(.error){outline:1px solid var(--primary-color);outline-offset:0px;z-index:1}#insurance-widget-root .tel-input-wrapper.error,#root .tel-input-wrapper.error{outline-offset:0px;z-index:1;outline:1px solid #ef4444}#insurance-widget-root .tel-input-wrapper:focus-within:after,#root .tel-input-wrapper:focus-within:after{content:"";border:1px solid var(--primary-color);pointer-events:none;z-index:10;border-radius:.75rem;position:absolute;inset:-1px}#insurance-widget-root .tel-input-wrapper.error:after,#root .tel-input-wrapper.error:after{content:"";pointer-events:none;z-index:10;border:1px solid #ef4444;border-radius:.75rem;position:absolute;inset:-1px}#insurance-widget-root .form-label:has(+input[aria-required=true]):after,#root .form-label:has(+input[aria-required=true]):after,#insurance-widget-root .form-label:has(+select[aria-required=true]):after,#root .form-label:has(+select[aria-required=true]):after,#insurance-widget-root .form-label:has(+textarea[aria-required=true]):after,#root .form-label:has(+textarea[aria-required=true]):after,#insurance-widget-root .legend-required:after,#root .legend-required:after{content:" *";color:#dc2626;margin-left:.25rem}#insurance-widget-root .scrollbar-hide,#root .scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}#insurance-widget-root .scrollbar-hide::-webkit-scrollbar{display:none}#root .scrollbar-hide::-webkit-scrollbar{display:none}#insurance-widget-root button.form-wizard-next-btn[data-widget-ctrl=next][type=button],#root button.form-wizard-next-btn[data-widget-ctrl=next][type=button],#insurance-widget-root button.form-wizard-next-btn[data-widget-ctrl=next][type=button]:disabled,#root button.form-wizard-next-btn[data-widget-ctrl=next][type=button]:disabled{visibility:visible!important;opacity:1!important;clip-path:none!important;pointer-events:auto!important;color:#fff!important;background-color:#2563eb!important;min-height:3rem!important;display:flex!important;position:relative!important;overflow:visible!important}#insurance-widget-root button.form-wizard-next-btn[data-widget-ctrl=next][type=button]:disabled,#root button.form-wizard-next-btn[data-widget-ctrl=next][type=button]:disabled{opacity:.5!important;background-color:#d1d5db!important}#insurance-widget-root .credify-link-underline,#root .credify-link-underline{color:var(--primary-color);text-decoration:underline}#insurance-widget-root .credify-link-underline:hover,#root .credify-link-underline:hover{color:#0052cc}#insurance-widget-root button.modal-close-btn[type=button],#root button.modal-close-btn[type=button]{appearance:none;background:0 0;border:none;padding:0;visibility:visible!important;opacity:1!important;cursor:pointer!important;clip-path:none!important;pointer-events:auto!important;display:inline-flex!important;overflow:visible!important}@media (max-width:767px){#insurance-widget-root button.modal-close-btn[type=button],#root button.modal-close-btn[type=button]{visibility:hidden!important;pointer-events:none!important;display:none!important}}#insurance-widget-root button.credify-btn-back[type=button],#root button.credify-btn-back[type=button],#insurance-widget-root button.credify-btn-back[type=button]:disabled,#root button.credify-btn-back[type=button]:disabled{transition:border-color .15s,background-color .15s;visibility:visible!important;opacity:1!important;clip-path:none!important;pointer-events:auto!important;box-sizing:border-box!important;border-radius:var(--radius-full)!important;color:#1a202c!important;text-align:center!important;cursor:pointer!important;background-color:#fff!important;border:1px solid #e2e8f0!important;place-content:center!important;place-items:center!important;height:3rem!important;min-height:3rem!important;margin:0!important;padding:0!important;font-size:1rem!important;font-weight:600!important;line-height:1!important;display:grid!important;overflow:visible!important}#insurance-widget-root button.credify-btn-back[type=button]:not(:disabled):hover,#root button.credify-btn-back[type=button]:not(:disabled):hover{background-color:#f9fafb!important;border-color:#cbd5e1!important}#insurance-widget-root button.credify-btn-back[type=button]:disabled,#root button.credify-btn-back[type=button]:disabled{opacity:.5!important;cursor:not-allowed!important;background-color:#f3f4f6!important}#insurance-widget-root button.credify-btn-back[type=button][data-testid=communications-consent-decline],#root button.credify-btn-back[type=button][data-testid=communications-consent-decline]{font-weight:400!important}#insurance-widget-root button.credify-btn-back-rates[type=button],#root button.credify-btn-back-rates[type=button]{margin-top:2rem!important}#insurance-widget-root button.credify-retry-btn[type=button],#root button.credify-retry-btn[type=button]{cursor:pointer;font:inherit;border:none;visibility:visible!important;color:var(--text-primary)!important;clip-path:none!important;pointer-events:auto!important;background:0 0!important;text-decoration:underline!important;display:inline!important;overflow:visible!important}#insurance-widget-root button.rates-bind-btn[type=button],#root button.rates-bind-btn[type=button],#insurance-widget-root button.rates-bind-btn[type=button]:disabled,#root button.rates-bind-btn[type=button]:disabled{visibility:visible!important;opacity:1!important;clip-path:none!important;pointer-events:auto!important;box-sizing:border-box!important;text-align:center!important;color:#fff!important;background-color:#2563eb!important;place-content:center!important;place-items:center!important;min-height:2.5rem!important;padding:0 1rem!important;line-height:1!important;display:grid!important;overflow:visible!important}#insurance-widget-root button.rates-bind-btn[type=button]:disabled,#root button.rates-bind-btn[type=button]:disabled{opacity:.5!important;background-color:#cbd5e1!important}#insurance-widget-root button.rates-bind-btn.rates-bind-btn-requested,#root button.rates-bind-btn.rates-bind-btn-requested{color:#fff!important;background-color:#10b981!important}#insurance-widget-root button.quote-btn[type=button],#root button.quote-btn[type=button]{visibility:visible!important;opacity:1!important;clip-path:none!important;pointer-events:auto!important;color:#fff!important;background-color:#2563eb!important;display:inline-flex!important;overflow:visible!important}#insurance-widget-root a.credify-link-underline[href],#root a.credify-link-underline[href]{color:var(--primary-color);visibility:visible!important;clip-path:none!important;pointer-events:auto!important;text-decoration:underline!important;display:inline!important;overflow:visible!important}#insurance-widget-root input.form-input,#root input.form-input,#insurance-widget-root select.form-input,#root select.form-input,#insurance-widget-root textarea.form-input,#root textarea.form-input{visibility:visible!important;opacity:1!important;clip-path:none!important;pointer-events:auto!important;display:block!important;overflow:visible!important}#insurance-widget-root button.btn-primary[type=button],#root button.btn-primary[type=button],#insurance-widget-root button.btn-primary[type=submit],#root button.btn-primary[type=submit],#insurance-widget-root button.btn-outline[type=button],#root button.btn-outline[type=button],#insurance-widget-root button.btn-primary[type=button]:disabled,#root button.btn-primary[type=button]:disabled,#insurance-widget-root button.btn-outline[type=button]:disabled,#root button.btn-outline[type=button]:disabled{visibility:visible!important;opacity:1!important;clip-path:none!important;pointer-events:auto!important;min-height:3rem!important;display:flex!important;overflow:visible!important}#insurance-widget-root button.btn-primary[type=button],#root button.btn-primary[type=button],#insurance-widget-root button.btn-primary[type=submit],#root button.btn-primary[type=submit]{color:#fff!important;background-color:#2563eb!important}#insurance-widget-root button.btn-outline[type=button],#root button.btn-outline[type=button]{color:var(--text-primary)!important;border:1px solid var(--accent-color)!important;background-color:#fff!important}#insurance-widget-root button.btn-primary[type=button]:disabled,#root button.btn-primary[type=button]:disabled,#insurance-widget-root button.btn-outline[type=button]:disabled,#root button.btn-outline[type=button]:disabled{opacity:.5!important}#insurance-widget-root button.btn-primary[type=button]:disabled,#root button.btn-primary[type=button]:disabled{color:#fff!important;background-color:#d1d5db!important}#insurance-widget-root button.btn-outline[type=button]:disabled,#root button.btn-outline[type=button]:disabled{color:var(--text-primary)!important;background-color:#f1f5f9!important}#insurance-widget-root .form-wizard-steps-header,#root .form-wizard-steps-header{visibility:visible!important;display:flex!important}#insurance-widget-root .form-wizard-steps,#root .form-wizard-steps{flex:1;align-items:center;gap:.5rem;min-width:0;margin:0;padding:0;font-size:.75rem;line-height:1rem;list-style:none;overflow-x:auto;display:flex!important}#insurance-widget-root .form-wizard-step-pill,#root .form-wizard-step-pill{white-space:nowrap;border:1px solid;border-radius:9999px;flex-shrink:0;padding:.25rem .625rem;visibility:visible!important;display:inline-flex!important}#insurance-widget-root .form-wizard-step-arrow,#root .form-wizard-step-arrow{color:#94a3b8;flex-shrink:0;visibility:visible!important;display:inline-flex!important}#insurance-widget-root .form-wizard-step-counter,#root .form-wizard-step-counter{color:#64748b;flex-shrink:0;font-size:.875rem;line-height:1.25rem;visibility:visible!important;display:block!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const d=["Zip","Email","Product"],c={Auto:["Zip","Email","Product","Name","Vehicle","Driver","AutoCurrentCarrier","Demographics","Ssn","Phone","SMSVerification"],Home:["Zip","Email","Product","Name","Home","HomePolicy","Demographics","Ssn","Phone","SMSVerification"],Bundle:["Zip","Email","Product","Name","Home","Vehicle","Driver","BundlePolicy","Demographics","Ssn","Phone","SMSVerification"]};function p(e){return e==="Auto"||e==="Home"||e==="Bundle"?c[e]:d}const s=["Allstate","State Farm","GEICO","Progressive","Liberty Mutual","Nationwide","Farmers","NoPriorInsurance"],n=["25/50","50/100","100/300","250/500"],y=Array.from({length:35},(e,t)=>String(2024-t)),_=[{question:"What's your ZIP code?",inputType:"text",key:"postal_code",required:!0}],m=[{question:"What is your email address?",inputType:"email",key:"email",required:!0}],q=[{question:"Do you want to quote auto, home, or both?",inputType:"select",options:["Auto","Home","Bundle"],key:"product",required:!0},{question:"What is your property address?",inputType:"address",key:"address",required:!0}],h=[{question:"What is your first name?",inputType:"text",key:"first_name",required:!0},{question:"What is your last name?",inputType:"text",key:"last_name",required:!0},{question:"What is your date of birth?",inputType:"date",key:"date_of_birth",required:!0}],T=[{question:"Add Vehicles",inputType:"radio",options:["Yes"],key:"vehicles",required:!0,conditionals:[{conditionalType:"equals",conditionalValue:"Yes",conditionalQuestionsAllowMultiple:!0,conditionalQuestions:[{question:"Vehicle Identification Number (VIN)",inputType:"text",key:"vin",required:!1},{question:"Year",inputType:"select",options:y,key:"year",required:!0},{question:"Make",inputType:"select",options:[],key:"make",required:!0},{question:"Model",inputType:"select",options:[],key:"model",required:!0},{question:"Body style",inputType:"select",options:[],key:"body_style",required:!0},{question:"Vehicle ownership type",inputType:"select",options:["Owned","Leased","Lien"],key:"ownership_type",required:!0},{question:"What is the primary use of this vehicle?",inputType:"select",options:["Pleasure","To_FromWork","To_FromSchool","Business","Farming"],key:"usage",required:!0},{question:"Annual mileage driven",inputType:"number",key:"annual_mileage",required:!0}]}]}],k=[{question:"Add Drivers",inputType:"radio",options:["Yes"],key:"drivers",required:!0,conditionals:[{conditionalType:"equals",conditionalValue:"Yes",conditionalQuestionsAllowMultiple:!0,conditionalQuestions:[{question:"First Name",inputType:"text",key:"first_name",required:!0},{question:"Middle Name Initial",inputType:"text",key:"middle_name",required:!1},{question:"Last Name",inputType:"text",key:"last_name",required:!0},{question:"Date of Birth",inputType:"date",key:"date_of_birth",required:!0},{question:"Gender",inputType:"select",options:["Male","Female"],key:"gender",required:!0},{question:"What is the relationship to Driver #1?",inputType:"select",options:["Spouse","Parent","Child","Domestic Partner","Relative","Employee","Other"],key:"relationship_to_insured",required:!0},{question:"Marital status",inputType:"select",options:["Single","Married","Divorced","Widowed"],key:"marital_status",required:!0}]}]}],a=[{question:"When do you need your insurance to begin?",inputType:"date",key:"effective_date",required:!0},{question:"Type of residence",inputType:"select",options:["Single Family Dwelling","Condo","Apartment","Townhouse","Mobile Home"],key:"residence_type",required:!0},{question:"Please select your current auto insurance company",inputType:"select",options:s,key:"auto_prior_carrier_name",required:!0,conditionals:[{conditionalType:"notEquals",conditionalValue:"NoPriorInsurance",conditionalQuestions:[{question:"Years with prior personal auto carrier",inputType:"number",key:"auto_prior_years",required:!0},{question:"Months with prior personal auto carrier",inputType:"number",key:"auto_prior_months",required:!0},{question:"When does the current policy expire?",inputType:"date",key:"auto_prior_expiration_date",required:!0},{question:"What is your current or most recent Bodily Injury Limit?",inputType:"select",options:n,key:"auto_prior_liability_limit",required:!0}]}]},{question:"Has any auto insurance company cancelled, declined or refused to renew you in the last 5 years?",inputType:"radio",options:["Yes","No"],key:"auto_cancelled_declined_refused_to_renew",required:!0},{question:"Bodily Injury liability",inputType:"select",options:n,key:"policy_bi",required:!0},{question:"Property Damage Liability",inputType:"select",options:["25000","50000","100000"],key:"policy_pd",required:!0}],f=[{question:"Year built",inputType:"number",key:"year_built",required:!0},{question:"Total living area (sq ft)",inputType:"number",key:"total_area_sq_ft",required:!0},{question:"Dwelling type",inputType:"select",options:["Single Family","Condo","Townhouse","Multi-Family"],key:"dwelling_type",required:!0},{question:"Construction type",inputType:"select",options:["Frame","Masonry","Masonry Veneer","Fire Resistive"],key:"construction_type",required:!0},{question:"Roof material",inputType:"select",options:["Asphalt Shingle","Metal","Tile","Wood Shake","Slate"],key:"roof_material_type",required:!0},{question:"Number of stories",inputType:"select",options:["1","1.5","2","2.5","3"],key:"number_of_stories",required:!0}],l=[{question:"When do you need your insurance to begin?",inputType:"date",key:"effective_date",required:!0},{question:"Do you currently have a Homeowners policy?",inputType:"radio",options:["Yes","No"],key:"home_has_prior_insurance",required:!0,conditionals:[{conditionalType:"equals",conditionalValue:"Yes",conditionalQuestions:[{question:"Which carrier currently insures the home?",inputType:"select",options:s,key:"home_prior_carrier_name",required:!0}]}]},{question:"Personal liability limit",inputType:"select",options:["100000","300000","500000","1000000"],key:"home_personal_liability",required:!0},{question:"All-perils deductible",inputType:"select",options:["500","1000","2500","5000"],key:"home_all_perils_deductible",required:!0}],S=[...l,...a],g=[{question:"Gender",inputType:"radio",options:["Male","Female"],key:"gender",required:!0},{question:"Marital status",inputType:"select",options:["Single","Married","Divorced","Widowed","Domestic Partner"],key:"marital_status",required:!0},{question:"Employment industry",inputType:"select",options:["Technology","Healthcare","Education","Finance","Retail","Construction","Other"],key:"employment_industry",required:!0},{question:"How many occupants live in the household?",inputType:"number",key:"household_size",required:!0},{question:"Do you authorize us to check your credit?",inputType:"radio",options:["Yes","No"],key:"order_credit_authorized",required:!0}],M=[{question:"Social Security Number",inputType:"text",key:"social_security_number",required:!1}],b=[{question:"What is your phone number?",inputType:"tel",key:"phone",required:!0}],E=[{question:"Please enter the code we sent to your phone number.",inputType:"text",key:"sms_code",required:!0}],v={Zip:_,Email:m,Product:q,Name:h,Vehicle:T,Driver:k,AutoCurrentCarrier:a,Home:f,HomePolicy:l,BundlePolicy:S,Demographics:g,Ssn:M,Phone:b,SMSVerification:E};function C(e){return v[e]??[]}const P=[{quote_rate_id:"mock-rate-1",carrier_name:"Progressive",carrier_logo_base64:null,carrier_quote_id:"MOCK-PRG-001",premium_cents:142800,monthly_premium_cents:11900,term_months:12,lob:"auto",admitted_status:"admitted",effective_date:"2026-07-01",policy_end_date:"2027-07-01"},{quote_rate_id:"mock-rate-2",carrier_name:"Nationwide",carrier_logo_base64:null,carrier_quote_id:"MOCK-NW-002",premium_cents:156e3,monthly_premium_cents:13e3,term_months:12,lob:"auto",admitted_status:"admitted",effective_date:"2026-07-01",policy_end_date:"2027-07-01"},{quote_rate_id:"mock-rate-3",carrier_name:"Liberty Mutual",carrier_logo_base64:null,carrier_quote_id:"MOCK-LM-003",premium_cents:173400,monthly_premium_cents:14450,term_months:12,lob:"auto",admitted_status:"non_admitted",effective_date:"2026-07-01",policy_end_date:"2027-07-01"},{quote_rate_id:"mock-nq-1",carrier_name:"Liberty Mutual",carrier_logo_base64:null,carrier_quote_id:null,premium_cents:0,monthly_premium_cents:null,term_months:0,lob:"auto",admitted_status:"not_quoted",effective_date:null,policy_end_date:null,decline_category:"Upfront Underwriting",decline_reasons:["Consumer didn’t grant permission to review credit score."]},{quote_rate_id:"mock-nq-2",carrier_name:"NationalGeneral",carrier_logo_base64:null,carrier_quote_id:null,premium_cents:0,monthly_premium_cents:null,term_months:0,lob:"auto",admitted_status:"not_quoted",effective_date:null,policy_end_date:null,decline_category:"Declinations",decline_reasons:["Carrier requires credit report ordering. Please select Yes for Credit Check Authorized.","Monoline quoting is not allowed."]},{quote_rate_id:"mock-nq-3",carrier_name:"Nationwide",carrier_logo_base64:null,carrier_quote_id:null,premium_cents:0,monthly_premium_cents:null,term_months:0,lob:"auto",admitted_status:"not_quoted",effective_date:null,policy_end_date:null,decline_category:"Declinations",decline_reasons:["This carrier will not quote if the credit disclosure is not accepted by the insured."]}],A=["Toyota","Honda","Ford","Chevrolet","Tesla","Subaru"],I={Toyota:["Camry","Corolla","RAV4","Highlander","Tacoma"],Honda:["Civic","Accord","CR-V","Pilot","Odyssey"],Ford:["F-150","Escape","Explorer","Mustang","Bronco"],Chevrolet:["Silverado","Equinox","Malibu","Tahoe","Camaro"],Tesla:["Model 3","Model Y","Model S","Model X"],Subaru:["Outback","Forester","Crosstrek","Impreza"]},D=["Sedan","SUV","Truck","Coupe","Hatchback","Minivan"];function w(e){return e.make&&e.model?{ready:!0,bodyStyles:D}:e.make?{ready:!0,models:I[e.make]??["Base","Sport","Limited"]}:{ready:!0,makes:A}}function N(){return{year:2022,make:"Toyota",model:"Camry",bodyStyle:"Sedan"}}const r="mock-quote-0001",u="mock-jwt-token";let i={quote_id:r};function V(e={}){i={quote_id:r,...e}}function O(e){return e.action==="send"?{success:!0}:e.action==="resume"?{isVerified:!0,token:u,quoteId:r}:{isVerified:!0,token:u}}function H(e){return e.action==="vinDecode"?N():w({year:typeof e.year=="number"?e.year:void 0,make:typeof e.make=="string"?e.make:void 0,model:typeof e.model=="string"?e.model:void 0})}function R(e,t){switch(e){case"/create-quote":return V({postal_code:t.postal_code}),{quoteId:r};case"/get-stages-for-quote":return{stages:p(i.product)};case"/get-questions-by-stage":return{questions:C(t.stage)};case"/update-quote":{const o={...t.payload??{}};return delete o.current_stage,i={...i,...o},{status:"success"}}case"/verify-quote":return O(t);case"/is-supported-state":return{isSupported:!0};case"/get-rates":return{rates:P};case"/get-quote":return{quote:i};case"/get-vehicle-options":return H(t);case"/request-bind":return{success:!0};default:throw new Error(`No mock handler for ${e}`)}}export{R as handleMockRequest};
|
|
2
|
-
//# sourceMappingURL=backend-
|
|
1
|
+
const d=["Zip","Email","Product"],c={Auto:["Zip","Email","Product","Name","Vehicle","Driver","AutoCurrentCarrier","Demographics","Ssn","Phone","SMSVerification"],Home:["Zip","Email","Product","Name","Home","HomePolicy","Demographics","Ssn","Phone","SMSVerification"],Bundle:["Zip","Email","Product","Name","Home","Vehicle","Driver","BundlePolicy","Demographics","Ssn","Phone","SMSVerification"]};function p(e){return e==="Auto"||e==="Home"||e==="Bundle"?c[e]:d}const s=["Allstate","State Farm","GEICO","Progressive","Liberty Mutual","Nationwide","Farmers","NoPriorInsurance"],n=["25/50","50/100","100/300","250/500"],y=Array.from({length:35},(e,t)=>String(2024-t)),_=[{question:"What's your ZIP code?",inputType:"text",key:"postal_code",required:!0}],m=[{question:"What is your email address?",inputType:"email",key:"email",required:!0}],q=[{question:"Do you want to quote auto, home, or both?",inputType:"select",options:["Auto","Home","Bundle"],key:"product",required:!0},{question:"What is your property address?",inputType:"address",key:"address",required:!0}],h=[{question:"What is your first name?",inputType:"text",key:"first_name",required:!0},{question:"What is your last name?",inputType:"text",key:"last_name",required:!0},{question:"What is your date of birth?",inputType:"date",key:"date_of_birth",required:!0}],T=[{question:"Add Vehicles",inputType:"radio",options:["Yes"],key:"vehicles",required:!0,conditionals:[{conditionalType:"equals",conditionalValue:"Yes",conditionalQuestionsAllowMultiple:!0,conditionalQuestions:[{question:"Vehicle Identification Number (VIN)",inputType:"text",key:"vin",required:!1},{question:"Year",inputType:"select",options:y,key:"year",required:!0},{question:"Make",inputType:"select",options:[],key:"make",required:!0},{question:"Model",inputType:"select",options:[],key:"model",required:!0},{question:"Body style",inputType:"select",options:[],key:"body_style",required:!0},{question:"Vehicle ownership type",inputType:"select",options:["Owned","Leased","Lien"],key:"ownership_type",required:!0},{question:"What is the primary use of this vehicle?",inputType:"select",options:["Pleasure","To_FromWork","To_FromSchool","Business","Farming"],key:"usage",required:!0},{question:"Annual mileage driven",inputType:"number",key:"annual_mileage",required:!0}]}]}],k=[{question:"Add Drivers",inputType:"radio",options:["Yes"],key:"drivers",required:!0,conditionals:[{conditionalType:"equals",conditionalValue:"Yes",conditionalQuestionsAllowMultiple:!0,conditionalQuestions:[{question:"First Name",inputType:"text",key:"first_name",required:!0},{question:"Middle Name Initial",inputType:"text",key:"middle_name",required:!1},{question:"Last Name",inputType:"text",key:"last_name",required:!0},{question:"Date of Birth",inputType:"date",key:"date_of_birth",required:!0},{question:"Gender",inputType:"select",options:["Male","Female"],key:"gender",required:!0},{question:"What is the relationship to Driver #1?",inputType:"select",options:["Spouse","Parent","Child","Domestic Partner","Relative","Employee","Other"],key:"relationship_to_insured",required:!0},{question:"Marital status",inputType:"select",options:["Single","Married","Divorced","Widowed"],key:"marital_status",required:!0}]}]}],a=[{question:"When do you need your insurance to begin?",inputType:"date",key:"effective_date",required:!0},{question:"Type of residence",inputType:"select",options:["Single Family Dwelling","Condo","Apartment","Townhouse","Mobile Home"],key:"residence_type",required:!0},{question:"Please select your current auto insurance company",inputType:"select",options:s,key:"auto_prior_carrier_name",required:!0,conditionals:[{conditionalType:"notEquals",conditionalValue:"NoPriorInsurance",conditionalQuestions:[{question:"Years with prior personal auto carrier",inputType:"number",key:"auto_prior_years",required:!0},{question:"Months with prior personal auto carrier",inputType:"number",key:"auto_prior_months",required:!0},{question:"When does the current policy expire?",inputType:"date",key:"auto_prior_expiration_date",required:!0},{question:"What is your current or most recent Bodily Injury Limit?",inputType:"select",options:n,key:"auto_prior_liability_limit",required:!0}]}]},{question:"Has any auto insurance company cancelled, declined or refused to renew you in the last 5 years?",inputType:"radio",options:["Yes","No"],key:"auto_cancelled_declined_refused_to_renew",required:!0},{question:"Bodily Injury liability",inputType:"select",options:n,key:"policy_bi",required:!0},{question:"Property Damage Liability",inputType:"select",options:["25000","50000","100000"],key:"policy_pd",required:!0}],f=[{question:"Year built",inputType:"number",key:"year_built",required:!0},{question:"Total living area (sq ft)",inputType:"number",key:"total_area_sq_ft",required:!0},{question:"Dwelling type",inputType:"select",options:["Single Family","Condo","Townhouse","Multi-Family"],key:"dwelling_type",required:!0},{question:"Construction type",inputType:"select",options:["Frame","Masonry","Masonry Veneer","Fire Resistive"],key:"construction_type",required:!0},{question:"Roof material",inputType:"select",options:["Asphalt Shingle","Metal","Tile","Wood Shake","Slate"],key:"roof_material_type",required:!0},{question:"Number of stories",inputType:"select",options:["1","1.5","2","2.5","3"],key:"number_of_stories",required:!0}],l=[{question:"When do you need your insurance to begin?",inputType:"date",key:"effective_date",required:!0},{question:"Do you currently have a Homeowners policy?",inputType:"radio",options:["Yes","No"],key:"home_has_prior_insurance",required:!0,conditionals:[{conditionalType:"equals",conditionalValue:"Yes",conditionalQuestions:[{question:"Which carrier currently insures the home?",inputType:"select",options:s,key:"home_prior_carrier_name",required:!0}]}]},{question:"Personal liability limit",inputType:"select",options:["100000","300000","500000","1000000"],key:"home_personal_liability",required:!0},{question:"All-perils deductible",inputType:"select",options:["500","1000","2500","5000"],key:"home_all_perils_deductible",required:!0}],S=[...l,...a],g=[{question:"Gender",inputType:"radio",options:["Male","Female"],key:"gender",required:!0},{question:"Marital status",inputType:"select",options:["Single","Married","Divorced","Widowed","Domestic Partner"],key:"marital_status",required:!0},{question:"Employment industry",inputType:"select",options:["Technology","Healthcare","Education","Finance","Retail","Construction","Other"],key:"employment_industry",required:!0},{question:"How many occupants live in the household?",inputType:"number",key:"household_size",required:!0},{question:"Do you authorize us to check your credit?",inputType:"radio",options:["Yes","No"],key:"order_credit_authorized",required:!0}],M=[{question:"Social Security Number",inputType:"text",key:"social_security_number",required:!1}],b=[{question:"What is your phone number?",inputType:"tel",key:"phone",required:!0}],E=[{question:"Please enter the code we sent to your phone number.",inputType:"text",key:"sms_code",required:!0}],v={Zip:_,Email:m,Product:q,Name:h,Vehicle:T,Driver:k,AutoCurrentCarrier:a,Home:f,HomePolicy:l,BundlePolicy:S,Demographics:g,Ssn:M,Phone:b,SMSVerification:E};function C(e){return v[e]??[]}const P=[{quote_rate_id:"mock-rate-1",carrier_name:"Progressive",carrier_logo_base64:null,carrier_quote_id:"MOCK-PRG-001",premium_cents:142800,monthly_premium_cents:11900,term_months:12,lob:"auto",admitted_status:"admitted",effective_date:"2026-07-01",policy_end_date:"2027-07-01"},{quote_rate_id:"mock-rate-2",carrier_name:"Nationwide",carrier_logo_base64:null,carrier_quote_id:"MOCK-NW-002",premium_cents:156e3,monthly_premium_cents:13e3,term_months:12,lob:"auto",admitted_status:"admitted",effective_date:"2026-07-01",policy_end_date:"2027-07-01"},{quote_rate_id:"mock-rate-3",carrier_name:"Liberty Mutual",carrier_logo_base64:null,carrier_quote_id:"MOCK-LM-003",premium_cents:173400,monthly_premium_cents:14450,term_months:12,lob:"auto",admitted_status:"non_admitted",effective_date:"2026-07-01",policy_end_date:"2027-07-01"},{quote_rate_id:"mock-nq-1",carrier_name:"Travelers",carrier_logo_base64:null,carrier_quote_id:null,premium_cents:0,monthly_premium_cents:null,term_months:0,lob:"auto",admitted_status:"not_quoted",effective_date:null,policy_end_date:null,decline_category:"Upfront Underwriting",decline_reasons:["Consumer didn’t grant permission to review credit score."]},{quote_rate_id:"mock-nq-2",carrier_name:"NationalGeneral",carrier_logo_base64:null,carrier_quote_id:null,premium_cents:0,monthly_premium_cents:null,term_months:0,lob:"auto",admitted_status:"not_quoted",effective_date:null,policy_end_date:null,decline_category:"Declinations",decline_reasons:["Carrier requires credit report ordering. Please select Yes for Credit Check Authorized.","Monoline quoting is not allowed."]},{quote_rate_id:"mock-nq-3",carrier_name:"Allstate",carrier_logo_base64:null,carrier_quote_id:null,premium_cents:0,monthly_premium_cents:null,term_months:0,lob:"auto",admitted_status:"not_quoted",effective_date:null,policy_end_date:null,decline_category:"Declinations",decline_reasons:["This carrier will not quote if the credit disclosure is not accepted by the insured."]}],A=["Toyota","Honda","Ford","Chevrolet","Tesla","Subaru"],I={Toyota:["Camry","Corolla","RAV4","Highlander","Tacoma"],Honda:["Civic","Accord","CR-V","Pilot","Odyssey"],Ford:["F-150","Escape","Explorer","Mustang","Bronco"],Chevrolet:["Silverado","Equinox","Malibu","Tahoe","Camaro"],Tesla:["Model 3","Model Y","Model S","Model X"],Subaru:["Outback","Forester","Crosstrek","Impreza"]},D=["Sedan","SUV","Truck","Coupe","Hatchback","Minivan"];function w(e){return e.make&&e.model?{ready:!0,bodyStyles:D}:e.make?{ready:!0,models:I[e.make]??["Base","Sport","Limited"]}:{ready:!0,makes:A}}function V(){return{year:2022,make:"Toyota",model:"Camry",bodyStyle:"Sedan"}}const i="mock-quote-0001",u="mock-jwt-token";let r={quote_id:i};function N(e={}){r={quote_id:i,...e}}function O(e){return e.action==="send"?{success:!0}:e.action==="resume"?{isVerified:!0,token:u,quoteId:i}:{isVerified:!0,token:u}}function H(e){return e.action==="vinDecode"?V():w({year:typeof e.year=="number"?e.year:void 0,make:typeof e.make=="string"?e.make:void 0,model:typeof e.model=="string"?e.model:void 0})}function R(e,t){switch(e){case"/create-quote":return N({postal_code:t.postal_code}),{quoteId:i};case"/get-stages-for-quote":return{stages:p(r.product)};case"/get-questions-by-stage":return{questions:C(t.stage)};case"/update-quote":{const o={...t.payload??{}};return delete o.current_stage,r={...r,...o},{status:"success"}}case"/verify-quote":return O(t);case"/is-supported-state":return{isSupported:!0};case"/get-rates":return{rates:P};case"/get-quote":return{quote:r};case"/get-vehicle-options":return H(t);case"/request-bind":return{success:!0};default:throw new Error(`No mock handler for ${e}`)}}export{R as handleMockRequest};
|
|
2
|
+
//# sourceMappingURL=backend-DnJudeoy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend-DnJudeoy.js","sources":["../../../src/mock/fixtures/stages.ts","../../../src/mock/fixtures/questions.ts","../../../src/mock/fixtures/rates.ts","../../../src/mock/fixtures/vehicleOptions.ts","../../../src/mock/backend.ts"],"sourcesContent":["/**\n * Stage lists per product, copied verbatim from the real backend resolver\n * (packages/rating/packages/getStagesForQuote/src/index.ts). Keeping these in\n * lockstep is what makes the mocked flow reshape exactly like production: after\n * the Product stage is answered, `getStagesForQuote` returns the matching list\n * and the wizard rebuilds its step order.\n *\n * CanopyConnect is intentionally omitted because IS_CANOPY_CONNECT_ENABLED is\n * currently false in the backend; add it here if/when that flips.\n */\nimport type { Stage } from '@getcredify/credify-insurance-types';\n\n/** Pre-product-selection stages (also returned when there is no quote yet). */\nexport const DEFAULT_STAGES: Stage[] = ['Zip', 'Email', 'Product'];\n\nexport const STAGES_BY_PRODUCT: Record<'Auto' | 'Home' | 'Bundle', Stage[]> = {\n Auto: ['Zip', 'Email', 'Product', 'Name', 'Vehicle', 'Driver', 'AutoCurrentCarrier', 'Demographics', 'Ssn', 'Phone', 'SMSVerification'],\n Home: ['Zip', 'Email', 'Product', 'Name', 'Home', 'HomePolicy', 'Demographics', 'Ssn', 'Phone', 'SMSVerification'],\n Bundle: ['Zip', 'Email', 'Product', 'Name', 'Home', 'Vehicle', 'Driver', 'BundlePolicy', 'Demographics', 'Ssn', 'Phone', 'SMSVerification']\n};\n\n/** Resolve the stage list for a stored product value, falling back to defaults. */\nexport function resolveStages(product: unknown): Stage[] {\n if (product === 'Auto' || product === 'Home' || product === 'Bundle') {\n return STAGES_BY_PRODUCT[product];\n }\n return DEFAULT_STAGES;\n}\n","/**\n * Mock question definitions per stage.\n *\n * Keys, input types, options and conditional structure mirror the real backend\n * definitions (packages/rating/packages/getQuestionsByStage/src/const.ts) so the\n * mocked screens render and persist exactly like production. Option lists are\n * representative subsets (the real lists hold 100+ carriers/makes) — enough to\n * exercise every input type and the repeatable vehicle/driver sections for\n * design and flow verification. Vehicle make/model/body_style options are left\n * empty on purpose: the FormRenderer populates them via the (mocked) vehicle\n * options endpoint, just like production.\n *\n * Typed as `Question[]` so the discriminated `inputType`/`options` union is\n * enforced by the compiler and can never drift from the shared type's shape.\n */\nimport type { Question, Stage } from '@getcredify/credify-insurance-types';\n\nconst CARRIERS = ['Allstate', 'State Farm', 'GEICO', 'Progressive', 'Liberty Mutual', 'Nationwide', 'Farmers', 'NoPriorInsurance'];\nconst LIABILITY_LIMITS = ['25/50', '50/100', '100/300', '250/500'];\nconst VEHICLE_YEARS = Array.from({ length: 2024 - 1990 + 1 }, (_, i) => String(2024 - i));\n\nconst ZIP: Question[] = [{ question: \"What's your ZIP code?\", inputType: 'text', key: 'postal_code', required: true }];\n\nconst EMAIL: Question[] = [{ question: 'What is your email address?', inputType: 'email', key: 'email', required: true }];\n\nconst PRODUCT: Question[] = [\n { question: 'Do you want to quote auto, home, or both?', inputType: 'select', options: ['Auto', 'Home', 'Bundle'], key: 'product', required: true },\n { question: 'What is your property address?', inputType: 'address', key: 'address', required: true }\n];\n\nconst NAME: Question[] = [\n { question: 'What is your first name?', inputType: 'text', key: 'first_name', required: true },\n { question: 'What is your last name?', inputType: 'text', key: 'last_name', required: true },\n { question: 'What is your date of birth?', inputType: 'date', key: 'date_of_birth', required: true }\n];\n\nconst VEHICLE: Question[] = [\n {\n question: 'Add Vehicles',\n inputType: 'radio',\n options: ['Yes'],\n key: 'vehicles',\n required: true,\n conditionals: [\n {\n conditionalType: 'equals',\n conditionalValue: 'Yes',\n conditionalQuestionsAllowMultiple: true,\n conditionalQuestions: [\n { question: 'Vehicle Identification Number (VIN)', inputType: 'text', key: 'vin', required: false },\n { question: 'Year', inputType: 'select', options: VEHICLE_YEARS, key: 'year', required: true },\n { question: 'Make', inputType: 'select', options: [], key: 'make', required: true },\n { question: 'Model', inputType: 'select', options: [], key: 'model', required: true },\n { question: 'Body style', inputType: 'select', options: [], key: 'body_style', required: true },\n { question: 'Vehicle ownership type', inputType: 'select', options: ['Owned', 'Leased', 'Lien'], key: 'ownership_type', required: true },\n {\n question: 'What is the primary use of this vehicle?',\n inputType: 'select',\n options: ['Pleasure', 'To_FromWork', 'To_FromSchool', 'Business', 'Farming'],\n key: 'usage',\n required: true\n },\n { question: 'Annual mileage driven', inputType: 'number', key: 'annual_mileage', required: true }\n ]\n }\n ]\n }\n];\n\nconst DRIVER: Question[] = [\n {\n question: 'Add Drivers',\n inputType: 'radio',\n options: ['Yes'],\n key: 'drivers',\n required: true,\n conditionals: [\n {\n conditionalType: 'equals',\n conditionalValue: 'Yes',\n conditionalQuestionsAllowMultiple: true,\n conditionalQuestions: [\n { question: 'First Name', inputType: 'text', key: 'first_name', required: true },\n { question: 'Middle Name Initial', inputType: 'text', key: 'middle_name', required: false },\n { question: 'Last Name', inputType: 'text', key: 'last_name', required: true },\n { question: 'Date of Birth', inputType: 'date', key: 'date_of_birth', required: true },\n { question: 'Gender', inputType: 'select', options: ['Male', 'Female'], key: 'gender', required: true },\n {\n question: 'What is the relationship to Driver #1?',\n inputType: 'select',\n options: ['Spouse', 'Parent', 'Child', 'Domestic Partner', 'Relative', 'Employee', 'Other'],\n key: 'relationship_to_insured',\n required: true\n },\n {\n question: 'Marital status',\n inputType: 'select',\n options: ['Single', 'Married', 'Divorced', 'Widowed'],\n key: 'marital_status',\n required: true\n }\n ]\n }\n ]\n }\n];\n\nconst AUTO_CURRENT_CARRIER: Question[] = [\n { question: 'When do you need your insurance to begin?', inputType: 'date', key: 'effective_date', required: true },\n {\n question: 'Type of residence',\n inputType: 'select',\n options: ['Single Family Dwelling', 'Condo', 'Apartment', 'Townhouse', 'Mobile Home'],\n key: 'residence_type',\n required: true\n },\n {\n question: 'Please select your current auto insurance company',\n inputType: 'select',\n options: CARRIERS,\n key: 'auto_prior_carrier_name',\n required: true,\n conditionals: [\n {\n conditionalType: 'notEquals',\n conditionalValue: 'NoPriorInsurance',\n conditionalQuestions: [\n { question: 'Years with prior personal auto carrier', inputType: 'number', key: 'auto_prior_years', required: true },\n { question: 'Months with prior personal auto carrier', inputType: 'number', key: 'auto_prior_months', required: true },\n { question: 'When does the current policy expire?', inputType: 'date', key: 'auto_prior_expiration_date', required: true },\n {\n question: 'What is your current or most recent Bodily Injury Limit?',\n inputType: 'select',\n options: LIABILITY_LIMITS,\n key: 'auto_prior_liability_limit',\n required: true\n }\n ]\n }\n ]\n },\n {\n question: 'Has any auto insurance company cancelled, declined or refused to renew you in the last 5 years?',\n inputType: 'radio',\n options: ['Yes', 'No'],\n key: 'auto_cancelled_declined_refused_to_renew',\n required: true\n },\n { question: 'Bodily Injury liability', inputType: 'select', options: LIABILITY_LIMITS, key: 'policy_bi', required: true },\n { question: 'Property Damage Liability', inputType: 'select', options: ['25000', '50000', '100000'], key: 'policy_pd', required: true }\n];\n\nconst HOME: Question[] = [\n { question: 'Year built', inputType: 'number', key: 'year_built', required: true },\n { question: 'Total living area (sq ft)', inputType: 'number', key: 'total_area_sq_ft', required: true },\n {\n question: 'Dwelling type',\n inputType: 'select',\n options: ['Single Family', 'Condo', 'Townhouse', 'Multi-Family'],\n key: 'dwelling_type',\n required: true\n },\n {\n question: 'Construction type',\n inputType: 'select',\n options: ['Frame', 'Masonry', 'Masonry Veneer', 'Fire Resistive'],\n key: 'construction_type',\n required: true\n },\n {\n question: 'Roof material',\n inputType: 'select',\n options: ['Asphalt Shingle', 'Metal', 'Tile', 'Wood Shake', 'Slate'],\n key: 'roof_material_type',\n required: true\n },\n { question: 'Number of stories', inputType: 'select', options: ['1', '1.5', '2', '2.5', '3'], key: 'number_of_stories', required: true }\n];\n\nconst HOME_POLICY: Question[] = [\n { question: 'When do you need your insurance to begin?', inputType: 'date', key: 'effective_date', required: true },\n {\n question: 'Do you currently have a Homeowners policy?',\n inputType: 'radio',\n options: ['Yes', 'No'],\n key: 'home_has_prior_insurance',\n required: true,\n conditionals: [\n {\n conditionalType: 'equals',\n conditionalValue: 'Yes',\n conditionalQuestions: [\n {\n question: 'Which carrier currently insures the home?',\n inputType: 'select',\n options: CARRIERS,\n key: 'home_prior_carrier_name',\n required: true\n }\n ]\n }\n ]\n },\n {\n question: 'Personal liability limit',\n inputType: 'select',\n options: ['100000', '300000', '500000', '1000000'],\n key: 'home_personal_liability',\n required: true\n },\n {\n question: 'All-perils deductible',\n inputType: 'select',\n options: ['500', '1000', '2500', '5000'],\n key: 'home_all_perils_deductible',\n required: true\n }\n];\n\n// Bundle reuses the home policy questions plus the auto policy questions.\nconst BUNDLE_POLICY: Question[] = [...HOME_POLICY, ...AUTO_CURRENT_CARRIER];\n\nconst DEMOGRAPHICS: Question[] = [\n { question: 'Gender', inputType: 'radio', options: ['Male', 'Female'], key: 'gender', required: true },\n {\n question: 'Marital status',\n inputType: 'select',\n options: ['Single', 'Married', 'Divorced', 'Widowed', 'Domestic Partner'],\n key: 'marital_status',\n required: true\n },\n {\n question: 'Employment industry',\n inputType: 'select',\n options: ['Technology', 'Healthcare', 'Education', 'Finance', 'Retail', 'Construction', 'Other'],\n key: 'employment_industry',\n required: true\n },\n { question: 'How many occupants live in the household?', inputType: 'number', key: 'household_size', required: true },\n {\n question: 'Do you authorize us to check your credit?',\n inputType: 'radio',\n options: ['Yes', 'No'],\n key: 'order_credit_authorized',\n required: true\n }\n];\n\nconst SSN: Question[] = [{ question: 'Social Security Number', inputType: 'text', key: 'social_security_number', required: false }];\n\nconst PHONE: Question[] = [{ question: 'What is your phone number?', inputType: 'tel', key: 'phone', required: true }];\n\nconst SMS_VERIFICATION: Question[] = [\n { question: 'Please enter the code we sent to your phone number.', inputType: 'text', key: 'sms_code', required: true }\n];\n\nexport const QUESTIONS_BY_STAGE: Partial<Record<Stage, Question[]>> = {\n Zip: ZIP,\n Email: EMAIL,\n Product: PRODUCT,\n Name: NAME,\n Vehicle: VEHICLE,\n Driver: DRIVER,\n AutoCurrentCarrier: AUTO_CURRENT_CARRIER,\n Home: HOME,\n HomePolicy: HOME_POLICY,\n BundlePolicy: BUNDLE_POLICY,\n Demographics: DEMOGRAPHICS,\n Ssn: SSN,\n Phone: PHONE,\n SMSVerification: SMS_VERIFICATION\n};\n\nexport function resolveQuestions(stage: Stage): Question[] {\n return QUESTIONS_BY_STAGE[stage] ?? [];\n}\n","/**\n * Mock rate results, shaped exactly as the real `GetRatesResponse` (an array of\n * carrier quotes). Logos are null so the Rates UI falls back to its text/initial\n * treatment — no embedded base64 needed for design review.\n */\nimport type { GetRatesResponse } from '@getcredify/credify-insurance-types';\n\nexport const MOCK_RATES: GetRatesResponse = [\n {\n quote_rate_id: 'mock-rate-1',\n carrier_name: 'Progressive',\n carrier_logo_base64: null,\n carrier_quote_id: 'MOCK-PRG-001',\n premium_cents: 142800,\n monthly_premium_cents: 11900,\n term_months: 12,\n lob: 'auto',\n admitted_status: 'admitted',\n effective_date: '2026-07-01',\n policy_end_date: '2027-07-01'\n },\n {\n quote_rate_id: 'mock-rate-2',\n carrier_name: 'Nationwide',\n carrier_logo_base64: null,\n carrier_quote_id: 'MOCK-NW-002',\n premium_cents: 156000,\n monthly_premium_cents: 13000,\n term_months: 12,\n lob: 'auto',\n admitted_status: 'admitted',\n effective_date: '2026-07-01',\n policy_end_date: '2027-07-01'\n },\n {\n quote_rate_id: 'mock-rate-3',\n carrier_name: 'Liberty Mutual',\n carrier_logo_base64: null,\n carrier_quote_id: 'MOCK-LM-003',\n premium_cents: 173400,\n monthly_premium_cents: 14450,\n term_months: 12,\n lob: 'auto',\n admitted_status: 'non_admitted',\n effective_date: '2026-07-01',\n policy_end_date: '2027-07-01'\n },\n // \"Not Quoted\" carriers (Bolt declines) — shaped like real rows: no premium,\n // with decline reasons + category. Drives the Not Quoted tab in mock mode.\n {\n quote_rate_id: 'mock-nq-1',\n carrier_name: 'Travelers',\n carrier_logo_base64: null,\n carrier_quote_id: null,\n premium_cents: 0,\n monthly_premium_cents: null,\n term_months: 0,\n lob: 'auto',\n admitted_status: 'not_quoted',\n effective_date: null,\n policy_end_date: null,\n decline_category: 'Upfront Underwriting',\n decline_reasons: ['Consumer didn’t grant permission to review credit score.']\n },\n {\n quote_rate_id: 'mock-nq-2',\n carrier_name: 'NationalGeneral',\n carrier_logo_base64: null,\n carrier_quote_id: null,\n premium_cents: 0,\n monthly_premium_cents: null,\n term_months: 0,\n lob: 'auto',\n admitted_status: 'not_quoted',\n effective_date: null,\n policy_end_date: null,\n decline_category: 'Declinations',\n decline_reasons: ['Carrier requires credit report ordering. Please select Yes for Credit Check Authorized.', 'Monoline quoting is not allowed.']\n },\n {\n quote_rate_id: 'mock-nq-3',\n carrier_name: 'Allstate',\n carrier_logo_base64: null,\n carrier_quote_id: null,\n premium_cents: 0,\n monthly_premium_cents: null,\n term_months: 0,\n lob: 'auto',\n admitted_status: 'not_quoted',\n effective_date: null,\n policy_end_date: null,\n decline_category: 'Declinations',\n decline_reasons: ['This carrier will not quote if the credit disclosure is not accepted by the insured.']\n }\n];\n","/**\n * Mock vehicle-options data. The real `getVehicleOptions` endpoint progressively\n * resolves makes → models → body styles as the user drills in, and `decodeVin`\n * returns a full vehicle from a VIN. The mock reproduces that cascade with a\n * small representative dataset so the dependent dropdowns behave like production.\n */\n\nexport const VEHICLE_MAKES = ['Toyota', 'Honda', 'Ford', 'Chevrolet', 'Tesla', 'Subaru'];\n\nconst MODELS_BY_MAKE: Record<string, string[]> = {\n Toyota: ['Camry', 'Corolla', 'RAV4', 'Highlander', 'Tacoma'],\n Honda: ['Civic', 'Accord', 'CR-V', 'Pilot', 'Odyssey'],\n Ford: ['F-150', 'Escape', 'Explorer', 'Mustang', 'Bronco'],\n Chevrolet: ['Silverado', 'Equinox', 'Malibu', 'Tahoe', 'Camaro'], // cspell:disable-line\n Tesla: ['Model 3', 'Model Y', 'Model S', 'Model X'],\n Subaru: ['Outback', 'Forester', 'Crosstrek', 'Impreza'] // cspell:disable-line\n};\n\nconst BODY_STYLES = ['Sedan', 'SUV', 'Truck', 'Coupe', 'Hatchback', 'Minivan'];\n\n/** Resolve the cascading option set, mirroring the real endpoint's response shape. */\nexport function resolveVehicleOptions(params: { year?: number; make?: string; model?: string }): {\n ready: boolean;\n makes?: string[];\n models?: string[];\n bodyStyles?: string[];\n} {\n if (params.make && params.model) {\n return { ready: true, bodyStyles: BODY_STYLES };\n }\n if (params.make) {\n return { ready: true, models: MODELS_BY_MAKE[params.make] ?? ['Base', 'Sport', 'Limited'] };\n }\n return { ready: true, makes: VEHICLE_MAKES };\n}\n\n/** Mock VIN decode — returns a deterministic vehicle regardless of the VIN supplied. */\nexport function decodeVinMock(): { year: number; make: string; model: string; bodyStyle: string } {\n return { year: 2022, make: 'Toyota', model: 'Camry', bodyStyle: 'Sedan' };\n}\n","/**\n * In-memory mock backend for the widget.\n *\n * This is the chunk lazily loaded by installMockFetch when mock mode is active.\n * It holds a single quote's state in memory and answers each API endpoint from\n * fixtures, reproducing the parts of backend behaviour the wizard depends on —\n * most importantly the product-driven flow reshaping (`update-quote` records the\n * chosen product; `get-stages-for-quote` then returns that product's stage list).\n *\n * No network requests are made and there are no side effects beyond this module's\n * own state, which resets whenever a new quote is created.\n */\nimport { resolveStages } from './fixtures/stages';\nimport { resolveQuestions } from './fixtures/questions';\nimport { MOCK_RATES } from './fixtures/rates';\nimport { resolveVehicleOptions, decodeVinMock } from './fixtures/vehicleOptions';\n\nconst MOCK_QUOTE_ID = 'mock-quote-0001';\nconst MOCK_TOKEN = 'mock-jwt-token';\n\ntype Json = Record<string, unknown>;\n\n/** Mutable in-memory quote, accumulated across `update-quote` calls. */\nlet quote: Json = { quote_id: MOCK_QUOTE_ID };\n\nfunction resetQuote(seed: Json = {}): void {\n quote = { quote_id: MOCK_QUOTE_ID, ...seed };\n}\n\nfunction handleVerifyQuote(body: Json): Json {\n if (body.action === 'send') return { success: true };\n if (body.action === 'resume') return { isVerified: true, token: MOCK_TOKEN, quoteId: MOCK_QUOTE_ID };\n // Default: SMS code verification — any code passes in mock mode.\n return { isVerified: true, token: MOCK_TOKEN };\n}\n\nfunction handleVehicleOptions(body: Json): Json {\n if (body.action === 'vinDecode') return decodeVinMock();\n return resolveVehicleOptions({\n year: typeof body.year === 'number' ? body.year : undefined,\n make: typeof body.make === 'string' ? body.make : undefined,\n model: typeof body.model === 'string' ? body.model : undefined\n });\n}\n\n/**\n * Route a mocked request to its canned response. `pathname` is the API path\n * (e.g. `/create-quote`); `body` is the parsed JSON request body. Returns the\n * response payload object (serialized by the caller). Throws for unknown paths\n * so the interceptor can fall through to a 404-style response.\n */\nexport function handleMockRequest(pathname: string, body: Json): Json {\n switch (pathname) {\n case '/create-quote':\n resetQuote({ postal_code: body.postal_code });\n return { quoteId: MOCK_QUOTE_ID };\n\n case '/get-stages-for-quote':\n return { stages: resolveStages(quote.product) };\n\n case '/get-questions-by-stage':\n return { questions: resolveQuestions(body.stage as never) };\n\n case '/update-quote': {\n const rest = { ...((body.payload as Json) ?? {}) };\n // current_stage is navigation metadata, not a persisted quote field.\n delete rest.current_stage;\n quote = { ...quote, ...rest };\n return { status: 'success' };\n }\n\n case '/verify-quote':\n return handleVerifyQuote(body);\n\n case '/is-supported-state':\n return { isSupported: true };\n\n case '/get-rates':\n return { rates: MOCK_RATES };\n\n case '/get-quote':\n return { quote };\n\n case '/get-vehicle-options':\n return handleVehicleOptions(body);\n\n case '/request-bind':\n return { success: true };\n\n default:\n throw new Error(`No mock handler for ${pathname}`);\n }\n}\n"],"names":["DEFAULT_STAGES","STAGES_BY_PRODUCT","resolveStages","product","CARRIERS","LIABILITY_LIMITS","VEHICLE_YEARS","_","i","ZIP","EMAIL","PRODUCT","NAME","VEHICLE","DRIVER","AUTO_CURRENT_CARRIER","HOME","HOME_POLICY","BUNDLE_POLICY","DEMOGRAPHICS","SSN","PHONE","SMS_VERIFICATION","QUESTIONS_BY_STAGE","resolveQuestions","stage","MOCK_RATES","VEHICLE_MAKES","MODELS_BY_MAKE","BODY_STYLES","resolveVehicleOptions","params","decodeVinMock","MOCK_QUOTE_ID","MOCK_TOKEN","quote","resetQuote","seed","handleVerifyQuote","body","handleVehicleOptions","handleMockRequest","pathname","rest"],"mappings":"AAaO,MAAMA,EAA0B,CAAC,MAAO,QAAS,SAAS,EAEpDC,EAAiE,CAC5E,KAAM,CAAC,MAAO,QAAS,UAAW,OAAQ,UAAW,SAAU,qBAAsB,eAAgB,MAAO,QAAS,iBAAiB,EACtI,KAAM,CAAC,MAAO,QAAS,UAAW,OAAQ,OAAQ,aAAc,eAAgB,MAAO,QAAS,iBAAiB,EACjH,OAAQ,CAAC,MAAO,QAAS,UAAW,OAAQ,OAAQ,UAAW,SAAU,eAAgB,eAAgB,MAAO,QAAS,iBAAiB,CAC5I,EAGO,SAASC,EAAcC,EAA2B,CACvD,OAAIA,IAAY,QAAUA,IAAY,QAAUA,IAAY,SACnDF,EAAkBE,CAAO,EAE3BH,CACT,CCVA,MAAMI,EAAW,CAAC,WAAY,aAAc,QAAS,cAAe,iBAAkB,aAAc,UAAW,kBAAkB,EAC3HC,EAAmB,CAAC,QAAS,SAAU,UAAW,SAAS,EAC3DC,EAAgB,MAAM,KAAK,CAAE,OAAQ,EAAc,EAAK,CAACC,EAAGC,IAAM,OAAO,KAAOA,CAAC,CAAC,EAElFC,EAAkB,CAAC,CAAE,SAAU,wBAAyB,UAAW,OAAQ,IAAK,cAAe,SAAU,GAAM,EAE/GC,EAAoB,CAAC,CAAE,SAAU,8BAA+B,UAAW,QAAS,IAAK,QAAS,SAAU,GAAM,EAElHC,EAAsB,CAC1B,CAAE,SAAU,4CAA6C,UAAW,SAAU,QAAS,CAAC,OAAQ,OAAQ,QAAQ,EAAG,IAAK,UAAW,SAAU,EAAA,EAC7I,CAAE,SAAU,iCAAkC,UAAW,UAAW,IAAK,UAAW,SAAU,EAAA,CAChG,EAEMC,EAAmB,CACvB,CAAE,SAAU,2BAA4B,UAAW,OAAQ,IAAK,aAAc,SAAU,EAAA,EACxF,CAAE,SAAU,0BAA2B,UAAW,OAAQ,IAAK,YAAa,SAAU,EAAA,EACtF,CAAE,SAAU,8BAA+B,UAAW,OAAQ,IAAK,gBAAiB,SAAU,EAAA,CAChG,EAEMC,EAAsB,CAC1B,CACE,SAAU,eACV,UAAW,QACX,QAAS,CAAC,KAAK,EACf,IAAK,WACL,SAAU,GACV,aAAc,CACZ,CACE,gBAAiB,SACjB,iBAAkB,MAClB,kCAAmC,GACnC,qBAAsB,CACpB,CAAE,SAAU,sCAAuC,UAAW,OAAQ,IAAK,MAAO,SAAU,EAAA,EAC5F,CAAE,SAAU,OAAQ,UAAW,SAAU,QAASP,EAAe,IAAK,OAAQ,SAAU,EAAA,EACxF,CAAE,SAAU,OAAQ,UAAW,SAAU,QAAS,CAAA,EAAI,IAAK,OAAQ,SAAU,EAAA,EAC7E,CAAE,SAAU,QAAS,UAAW,SAAU,QAAS,CAAA,EAAI,IAAK,QAAS,SAAU,EAAA,EAC/E,CAAE,SAAU,aAAc,UAAW,SAAU,QAAS,CAAA,EAAI,IAAK,aAAc,SAAU,EAAA,EACzF,CAAE,SAAU,yBAA0B,UAAW,SAAU,QAAS,CAAC,QAAS,SAAU,MAAM,EAAG,IAAK,iBAAkB,SAAU,EAAA,EAClI,CACE,SAAU,2CACV,UAAW,SACX,QAAS,CAAC,WAAY,cAAe,gBAAiB,WAAY,SAAS,EAC3E,IAAK,QACL,SAAU,EAAA,EAEZ,CAAE,SAAU,wBAAyB,UAAW,SAAU,IAAK,iBAAkB,SAAU,EAAA,CAAK,CAClG,CACF,CACF,CAEJ,EAEMQ,EAAqB,CACzB,CACE,SAAU,cACV,UAAW,QACX,QAAS,CAAC,KAAK,EACf,IAAK,UACL,SAAU,GACV,aAAc,CACZ,CACE,gBAAiB,SACjB,iBAAkB,MAClB,kCAAmC,GACnC,qBAAsB,CACpB,CAAE,SAAU,aAAc,UAAW,OAAQ,IAAK,aAAc,SAAU,EAAA,EAC1E,CAAE,SAAU,sBAAuB,UAAW,OAAQ,IAAK,cAAe,SAAU,EAAA,EACpF,CAAE,SAAU,YAAa,UAAW,OAAQ,IAAK,YAAa,SAAU,EAAA,EACxE,CAAE,SAAU,gBAAiB,UAAW,OAAQ,IAAK,gBAAiB,SAAU,EAAA,EAChF,CAAE,SAAU,SAAU,UAAW,SAAU,QAAS,CAAC,OAAQ,QAAQ,EAAG,IAAK,SAAU,SAAU,EAAA,EACjG,CACE,SAAU,yCACV,UAAW,SACX,QAAS,CAAC,SAAU,SAAU,QAAS,mBAAoB,WAAY,WAAY,OAAO,EAC1F,IAAK,0BACL,SAAU,EAAA,EAEZ,CACE,SAAU,iBACV,UAAW,SACX,QAAS,CAAC,SAAU,UAAW,WAAY,SAAS,EACpD,IAAK,iBACL,SAAU,EAAA,CACZ,CACF,CACF,CACF,CAEJ,EAEMC,EAAmC,CACvC,CAAE,SAAU,4CAA6C,UAAW,OAAQ,IAAK,iBAAkB,SAAU,EAAA,EAC7G,CACE,SAAU,oBACV,UAAW,SACX,QAAS,CAAC,yBAA0B,QAAS,YAAa,YAAa,aAAa,EACpF,IAAK,iBACL,SAAU,EAAA,EAEZ,CACE,SAAU,oDACV,UAAW,SACX,QAASX,EACT,IAAK,0BACL,SAAU,GACV,aAAc,CACZ,CACE,gBAAiB,YACjB,iBAAkB,mBAClB,qBAAsB,CACpB,CAAE,SAAU,yCAA0C,UAAW,SAAU,IAAK,mBAAoB,SAAU,EAAA,EAC9G,CAAE,SAAU,0CAA2C,UAAW,SAAU,IAAK,oBAAqB,SAAU,EAAA,EAChH,CAAE,SAAU,uCAAwC,UAAW,OAAQ,IAAK,6BAA8B,SAAU,EAAA,EACpH,CACE,SAAU,2DACV,UAAW,SACX,QAASC,EACT,IAAK,6BACL,SAAU,EAAA,CACZ,CACF,CACF,CACF,EAEF,CACE,SAAU,kGACV,UAAW,QACX,QAAS,CAAC,MAAO,IAAI,EACrB,IAAK,2CACL,SAAU,EAAA,EAEZ,CAAE,SAAU,0BAA2B,UAAW,SAAU,QAASA,EAAkB,IAAK,YAAa,SAAU,EAAA,EACnH,CAAE,SAAU,4BAA6B,UAAW,SAAU,QAAS,CAAC,QAAS,QAAS,QAAQ,EAAG,IAAK,YAAa,SAAU,EAAA,CACnI,EAEMW,EAAmB,CACvB,CAAE,SAAU,aAAc,UAAW,SAAU,IAAK,aAAc,SAAU,EAAA,EAC5E,CAAE,SAAU,4BAA6B,UAAW,SAAU,IAAK,mBAAoB,SAAU,EAAA,EACjG,CACE,SAAU,gBACV,UAAW,SACX,QAAS,CAAC,gBAAiB,QAAS,YAAa,cAAc,EAC/D,IAAK,gBACL,SAAU,EAAA,EAEZ,CACE,SAAU,oBACV,UAAW,SACX,QAAS,CAAC,QAAS,UAAW,iBAAkB,gBAAgB,EAChE,IAAK,oBACL,SAAU,EAAA,EAEZ,CACE,SAAU,gBACV,UAAW,SACX,QAAS,CAAC,kBAAmB,QAAS,OAAQ,aAAc,OAAO,EACnE,IAAK,qBACL,SAAU,EAAA,EAEZ,CAAE,SAAU,oBAAqB,UAAW,SAAU,QAAS,CAAC,IAAK,MAAO,IAAK,MAAO,GAAG,EAAG,IAAK,oBAAqB,SAAU,EAAA,CACpI,EAEMC,EAA0B,CAC9B,CAAE,SAAU,4CAA6C,UAAW,OAAQ,IAAK,iBAAkB,SAAU,EAAA,EAC7G,CACE,SAAU,6CACV,UAAW,QACX,QAAS,CAAC,MAAO,IAAI,EACrB,IAAK,2BACL,SAAU,GACV,aAAc,CACZ,CACE,gBAAiB,SACjB,iBAAkB,MAClB,qBAAsB,CACpB,CACE,SAAU,4CACV,UAAW,SACX,QAASb,EACT,IAAK,0BACL,SAAU,EAAA,CACZ,CACF,CACF,CACF,EAEF,CACE,SAAU,2BACV,UAAW,SACX,QAAS,CAAC,SAAU,SAAU,SAAU,SAAS,EACjD,IAAK,0BACL,SAAU,EAAA,EAEZ,CACE,SAAU,wBACV,UAAW,SACX,QAAS,CAAC,MAAO,OAAQ,OAAQ,MAAM,EACvC,IAAK,6BACL,SAAU,EAAA,CAEd,EAGMc,EAA4B,CAAC,GAAGD,EAAa,GAAGF,CAAoB,EAEpEI,EAA2B,CAC/B,CAAE,SAAU,SAAU,UAAW,QAAS,QAAS,CAAC,OAAQ,QAAQ,EAAG,IAAK,SAAU,SAAU,EAAA,EAChG,CACE,SAAU,iBACV,UAAW,SACX,QAAS,CAAC,SAAU,UAAW,WAAY,UAAW,kBAAkB,EACxE,IAAK,iBACL,SAAU,EAAA,EAEZ,CACE,SAAU,sBACV,UAAW,SACX,QAAS,CAAC,aAAc,aAAc,YAAa,UAAW,SAAU,eAAgB,OAAO,EAC/F,IAAK,sBACL,SAAU,EAAA,EAEZ,CAAE,SAAU,4CAA6C,UAAW,SAAU,IAAK,iBAAkB,SAAU,EAAA,EAC/G,CACE,SAAU,4CACV,UAAW,QACX,QAAS,CAAC,MAAO,IAAI,EACrB,IAAK,0BACL,SAAU,EAAA,CAEd,EAEMC,EAAkB,CAAC,CAAE,SAAU,yBAA0B,UAAW,OAAQ,IAAK,yBAA0B,SAAU,GAAO,EAE5HC,EAAoB,CAAC,CAAE,SAAU,6BAA8B,UAAW,MAAO,IAAK,QAAS,SAAU,GAAM,EAE/GC,EAA+B,CACnC,CAAE,SAAU,sDAAuD,UAAW,OAAQ,IAAK,WAAY,SAAU,EAAA,CACnH,EAEaC,EAAyD,CACpE,IAAKd,EACL,MAAOC,EACP,QAASC,EACT,KAAMC,EACN,QAASC,EACT,OAAQC,EACR,mBAAoBC,EACpB,KAAMC,EACN,WAAYC,EACZ,aAAcC,EACd,aAAcC,EACd,IAAKC,EACL,MAAOC,EACP,gBAAiBC,CACnB,EAEO,SAASE,EAAiBC,EAA0B,CACzD,OAAOF,EAAmBE,CAAK,GAAK,CAAA,CACtC,CC5QO,MAAMC,EAA+B,CAC1C,CACE,cAAe,cACf,aAAc,cACd,oBAAqB,KACrB,iBAAkB,eAClB,cAAe,OACf,sBAAuB,MACvB,YAAa,GACb,IAAK,OACL,gBAAiB,WACjB,eAAgB,aAChB,gBAAiB,YAAA,EAEnB,CACE,cAAe,cACf,aAAc,aACd,oBAAqB,KACrB,iBAAkB,cAClB,cAAe,MACf,sBAAuB,KACvB,YAAa,GACb,IAAK,OACL,gBAAiB,WACjB,eAAgB,aAChB,gBAAiB,YAAA,EAEnB,CACE,cAAe,cACf,aAAc,iBACd,oBAAqB,KACrB,iBAAkB,cAClB,cAAe,OACf,sBAAuB,MACvB,YAAa,GACb,IAAK,OACL,gBAAiB,eACjB,eAAgB,aAChB,gBAAiB,YAAA,EAInB,CACE,cAAe,YACf,aAAc,YACd,oBAAqB,KACrB,iBAAkB,KAClB,cAAe,EACf,sBAAuB,KACvB,YAAa,EACb,IAAK,OACL,gBAAiB,aACjB,eAAgB,KAChB,gBAAiB,KACjB,iBAAkB,uBAClB,gBAAiB,CAAC,0DAA0D,CAAA,EAE9E,CACE,cAAe,YACf,aAAc,kBACd,oBAAqB,KACrB,iBAAkB,KAClB,cAAe,EACf,sBAAuB,KACvB,YAAa,EACb,IAAK,OACL,gBAAiB,aACjB,eAAgB,KAChB,gBAAiB,KACjB,iBAAkB,eAClB,gBAAiB,CAAC,0FAA2F,kCAAkC,CAAA,EAEjJ,CACE,cAAe,YACf,aAAc,WACd,oBAAqB,KACrB,iBAAkB,KAClB,cAAe,EACf,sBAAuB,KACvB,YAAa,EACb,IAAK,OACL,gBAAiB,aACjB,eAAgB,KAChB,gBAAiB,KACjB,iBAAkB,eAClB,gBAAiB,CAAC,sFAAsF,CAAA,CAE5G,ECvFaC,EAAgB,CAAC,SAAU,QAAS,OAAQ,YAAa,QAAS,QAAQ,EAEjFC,EAA2C,CAC/C,OAAQ,CAAC,QAAS,UAAW,OAAQ,aAAc,QAAQ,EAC3D,MAAO,CAAC,QAAS,SAAU,OAAQ,QAAS,SAAS,EACrD,KAAM,CAAC,QAAS,SAAU,WAAY,UAAW,QAAQ,EACzD,UAAW,CAAC,YAAa,UAAW,SAAU,QAAS,QAAQ,EAC/D,MAAO,CAAC,UAAW,UAAW,UAAW,SAAS,EAClD,OAAQ,CAAC,UAAW,WAAY,YAAa,SAAS,CACxD,EAEMC,EAAc,CAAC,QAAS,MAAO,QAAS,QAAS,YAAa,SAAS,EAGtE,SAASC,EAAsBC,EAKpC,CACA,OAAIA,EAAO,MAAQA,EAAO,MACjB,CAAE,MAAO,GAAM,WAAYF,CAAA,EAEhCE,EAAO,KACF,CAAE,MAAO,GAAM,OAAQH,EAAeG,EAAO,IAAI,GAAK,CAAC,OAAQ,QAAS,SAAS,CAAA,EAEnF,CAAE,MAAO,GAAM,MAAOJ,CAAA,CAC/B,CAGO,SAASK,GAAkF,CAChG,MAAO,CAAE,KAAM,KAAM,KAAM,SAAU,MAAO,QAAS,UAAW,OAAA,CAClE,CCtBA,MAAMC,EAAgB,kBAChBC,EAAa,iBAKnB,IAAIC,EAAc,CAAE,SAAUF,CAAA,EAE9B,SAASG,EAAWC,EAAa,GAAU,CACzCF,EAAQ,CAAE,SAAUF,EAAe,GAAGI,CAAA,CACxC,CAEA,SAASC,EAAkBC,EAAkB,CAC3C,OAAIA,EAAK,SAAW,OAAe,CAAE,QAAS,EAAA,EAC1CA,EAAK,SAAW,SAAiB,CAAE,WAAY,GAAM,MAAOL,EAAY,QAASD,CAAA,EAE9E,CAAE,WAAY,GAAM,MAAOC,CAAA,CACpC,CAEA,SAASM,EAAqBD,EAAkB,CAC9C,OAAIA,EAAK,SAAW,YAAoBP,EAAA,EACjCF,EAAsB,CAC3B,KAAM,OAAOS,EAAK,MAAS,SAAWA,EAAK,KAAO,OAClD,KAAM,OAAOA,EAAK,MAAS,SAAWA,EAAK,KAAO,OAClD,MAAO,OAAOA,EAAK,OAAU,SAAWA,EAAK,MAAQ,MAAA,CACtD,CACH,CAQO,SAASE,EAAkBC,EAAkBH,EAAkB,CACpE,OAAQG,EAAA,CACN,IAAK,gBACH,OAAAN,EAAW,CAAE,YAAaG,EAAK,WAAA,CAAa,EACrC,CAAE,QAASN,CAAA,EAEpB,IAAK,wBACH,MAAO,CAAE,OAAQ/B,EAAciC,EAAM,OAAO,CAAA,EAE9C,IAAK,0BACH,MAAO,CAAE,UAAWX,EAAiBe,EAAK,KAAc,CAAA,EAE1D,IAAK,gBAAiB,CACpB,MAAMI,EAAO,CAAE,GAAKJ,EAAK,SAAoB,CAAA,CAAC,EAE9C,cAAOI,EAAK,cACZR,EAAQ,CAAE,GAAGA,EAAO,GAAGQ,CAAA,EAChB,CAAE,OAAQ,SAAA,CACnB,CAEA,IAAK,gBACH,OAAOL,EAAkBC,CAAI,EAE/B,IAAK,sBACH,MAAO,CAAE,YAAa,EAAA,EAExB,IAAK,aACH,MAAO,CAAE,MAAOb,CAAA,EAElB,IAAK,aACH,MAAO,CAAE,MAAAS,CAAA,EAEX,IAAK,uBACH,OAAOK,EAAqBD,CAAI,EAElC,IAAK,gBACH,MAAO,CAAE,QAAS,EAAA,EAEpB,QACE,MAAM,IAAI,MAAM,uBAAuBG,CAAQ,EAAE,CAAA,CAEvD"}
|