@getcredify/credify-insurance-widget 1.31.1 → 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.
@@ -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 }], E = [
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
- ], v = {
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: E
233
+ SMSVerification: v
234
234
  };
235
235
  function C(e) {
236
- return v[e] ?? [];
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: "Liberty Mutual",
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: "Nationwide",
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 N() {
338
+ function V() {
339
339
  return { year: 2022, make: "Toyota", model: "Camry", bodyStyle: "Sedan" };
340
340
  }
341
- const r = "mock-quote-0001", u = "mock-jwt-token";
342
- let i = { quote_id: r };
343
- function V(e = {}) {
344
- i = { quote_id: r, ...e };
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: r } : { isVerified: !0, token: u };
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" ? N() : w({
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 V({ postal_code: t.postal_code }), { quoteId: r };
359
+ return N({ postal_code: t.postal_code }), { quoteId: i };
360
360
  case "/get-stages-for-quote":
361
- return { stages: p(i.product) };
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, i = { ...i, ...o }, { status: "success" };
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: i };
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-Cc8FkJkq.js.map
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}.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-\[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-V-MdQp2e.js.map
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"}