1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1161,3868],{197:()=>{},2177:(e,t,a)=>{"use strict";a.d(t,{Fm:()=>i,Zs:()=>r});var o=a(69469);let n={en:{title:"Book an Appointment",subtitle:"GDPR & FHIR Compliant | Secure Email Verification | EUR Payments",stepPatient:"Patient",stepMedical:"Medical",stepAppointment:"Country & booking",stepConsent:"Consent & Verification",stepPayment:"Payment",patientDetails:"Patient Details",firstName:"First Name",lastName:"Last Name",dob:"Date of Birth",gender:"Gender",phone:"Phone",email:"Email",address:"Address",addressLine1:"Address Line 1",addressLine2:"Address Line 2 (optional)",city:"City",state:"State/Province",postalCode:"Postal Code (optional)",country:"Country",placeholderName:"e.g., Daniel",placeholderName2:"e.g., Wilson",placeholderEmail:"[email protected]",placeholderHouse:"House, street",placeholderApt:"Apartment, suite, etc.",placeholderCity:"e.g., Madrid",placeholderState:"e.g., Comunidad de Madrid",placeholderPostalCode:"e.g., 28001",placeholderSelect:"Select",placeholderSelectCountry:"Select country",female:"Female",male:"Male",other:"Other / Prefer not to say",medicalInfo:"Medical Information",knownAllergies:"Known Allergies",chronicConditions:"Chronic Conditions (optional)",currentMeds:"Current Treatments (optional)",preferredPharmacy:"Preferred Care Partner (optional)",primarySymptoms:"Primary Symptoms",symptomDuration:"Symptom Duration (optional)",urgency:"Urgency",placeholderAllergies:'e.g., Penicillin, Pollen (or type "None")',placeholderConditions:"e.g., Asthma, Hypertension",placeholderMeds:"e.g., Paracetamol, Atorvastatin",allergiesRequired:'Please list any known allergies, or type "None"',placeholderPharmacy:"e.g. Centro de Salud Central, or leave blank",placeholderSymptoms:"Describe your symptomsâ¦",routine:"Routine",soon:"Soon",urgent:"Urgent",under24h:"< 24 hours",days1_3:"1â3 days",days4_7:"4â7 days",over1w:"> 1 week",serviceAppointment:"Country, service & appointment",bookingFlowIntro:"Choose your country first, then a service, then a doctor. Appointment times use your countryâs timezone.",countryBookingHint:"Lists countries from our clinic network. This controls which services you can book and local slot times.",noServicesInCountry:"No services are listed for this country yet. Try another country or contact us.",selectCountryFirstSvc:"Select your country first to see services",selectService:"Select Service",selectDoctor:"Select Doctor",amount:"Amount (EUR)",preferredMode:"Preferred Mode",video:"Video",phoneMode:"Phone",otherMode:"Other",preferredDate:"Preferred Date",preferredTime:"Preferred Time",referralCode:"Referral Code (optional)",loading:"Loadingâ¦",failedToLoad:"Failed to load",chooseService:"Choose a service",loadingDoctors:"Loading doctors...",noDoctors:"No doctors available for this service",chooseDoctor:"Choose a doctor",selectDoctorFirst:"Select a doctor first",selectDate:"Select a date",ifAny:"If any",consentTitle:"Consent & Privacy (GDPR & FHIR Compliant)",gdprAlert:"GDPR & FHIR Compliance",gdprDesc:"Your data is processed according to GDPR regulations. Medical information is stored using FHIR standards for secure interoperability.",acceptPrivacy:"I accept the Privacy Policy (GDPR).",consentTreatment:"I give informed consent for Assessment & Treatment.",consentFHIR:"Allow sharing with providers using FHIR.",consentMarketing:"Receive service updates/promotions (optional).",paymentDetails:"Payment Details",service:"Service",totalAmount:"Total Amount",securePayment:"Secure Payment",securePaymentDesc:"Your payment information is encrypted and secure. We never store your card details.",cardDetails:"Card Details",agreeBilling:"I authorize charging my selected payment method and agree to the billing terms.",payWithCard:"Pay with Card",back:"Back",next:"Next",saveDraft:"Save Draft",clear:"Clear",draftSaved:"Your appointment draft has been securely saved. You can continue later on this device.",draftRestored:"Your previously saved appointment draft has been restored.",formCleared:"Appointment form has been cleared successfully.",clearConfirmTitle:"Clear Appointment Form",clearConfirmDesc:"Are you sure you want to clear this appointment form? All entered information, uploaded files, selected doctor, selected service, coupon, appointment details and saved draft will be permanently removed. This action cannot be undone.",clearConfirmOk:"Yes, Clear Form",chooseHowToProceed:"Choose How to Proceed",selectOptionToContinue:"Select an option to continue with your appointment booking",newRegistration:"New Registration",createVerifiedAccount:"Create a verified account with full access",continueAsGuest:"Continue as Guest",quickBookingGuest:"Quick booking with email verification only",cancel:"Cancel",guestVerification:"Guest Verification",emailVerification:"Email Verification",guestVerificationCode:"Guest Verification Code",registrationVerificationCode:"Registration Verification Code",checkEmailForCode:"Please check your email inbox (and spam folder) for the 6-digit verification code.",expires10min:"Expires in 10 minutes",guestNoPassword:"Guest Mode: No password required",afterVerifyCreatePassword:"After verification, you'll create your password",step2CreatePassword:"Step 2: Create Your Password",verifyingCode:"Verifying your co
1de...",processing:"Processing...",checkingEmail:"Checking Email...",proceedingAuto:"Proceeding Automatically...",pleaseEnterEmail:"Please enter your email first",pleaseSelectOption:"Please select an option",otpSent:"OTP sent successfully",checkEmailOtp:"Please check your email for the verification code",phoneRequired:"Phone is required",idPassport:"Passport no / ID card number",idPassportPlaceholder:"Enter passport or national ID card number",idPassportRequired:"Passport or ID card number is required",idPassportHint:"Required for medical records, prescriptions, and official documents.",emailRequired:"Email is required",validEmail:"Enter a valid email",selectCountryReq:"Please select your country",selectServiceReq:"Please select a service",selectDoctorReq:"Please select a doctor",youMustAcceptGdpr:"You must accept GDPR policy.",treatmentConsentRequired:"Treatment consent is required.",fhirConsentRequired:"FHIR consent is required.",acceptBillingTerms:"Please accept the billing terms."},es:{title:"Reservar cita",subtitle:"Conformidad GDPR y FHIR | Verificaci\xf3n por email | Pagos en EUR",stepPatient:"Paciente",stepMedical:"M\xe9dico",stepAppointment:"Pa\xeds y cita",stepConsent:"Consentimiento y verificaci\xf3n",stepPayment:"Pago",patientDetails:"Datos del paciente",firstName:"Nombre",lastName:"Apellidos",dob:"Fecha de nacimiento",gender:"G\xe9nero",phone:"Tel\xe9fono",email:"Correo electr\xf3nico",address:"Direcci\xf3n",addressLine1:"Direcci\xf3n l\xednea 1",addressLine2:"Direcci\xf3n l\xednea 2 (opcional)",city:"Ciudad",state:"Provincia",postalCode:"C\xf3digo postal (opcional)",country:"Pa\xeds",placeholderName:"ej., Daniel",placeholderName2:"ej., Garc\xeda",placeholderEmail:"[email protected]",placeholderHouse:"Calle, n\xfamero",placeholderApt:"Piso, puerta, etc.",placeholderCity:"ej., Madrid",placeholderState:"ej., Comunidad de Madrid",placeholderPostalCode:"ej., 28001",placeholderSelect:"Seleccionar",placeholderSelectCountry:"Seleccionar pa\xeds",female:"Mujer",male:"Hombre",other:"Otro / Prefiero no decir",medicalInfo:"Informaci\xf3n m\xe9dica",knownAllergies:"Alergias conocidas",chronicConditions:"Enfermedades cr\xf3nicas (opcional)",currentMeds:"Tratamiento actual (opcional)",preferredPharmacy:"Centro preferido (opcional)",primarySymptoms:"S\xedntomas principales",symptomDuration:"Duraci\xf3n de los s\xedntomas (opcional)",urgency:"Urgencia",placeholderAllergies:'ej., Penicilina, Polen (o escriba "Ninguna")',placeholderConditions:"ej., Asma, Hipertensi\xf3n",placeholderMeds:"ej., Paracetamol, Atorvastatina",allergiesRequired:'Indica tus alergias o escribe "Ninguna"',placeholderPharmacy:"ej. Centro de Salud Central, o dejar en blanco",placeholderSymptoms:"Describa sus s\xedntomasâ¦",routine:"Rutina",soon:"Pronto",urgent:"Urgente",under24h:"< 24 horas",days1_3:"1â3 d\xedas",days4_7:"4â7 d\xedas",over1w:"> 1 semana",serviceAppointment:"Pa\xeds, servicio y cita",bookingFlowIntro:"Primero elija su pa\xeds, luego un servicio y despu\xe9s un m\xe9dico. Los horarios usan la zona horaria de su pa\xeds.",countryBookingHint:"Pa\xedses de nuestra red. Esto define qu\xe9 servicios puede reservar y la hora local de las citas.",noServicesInCountry:"No hay servicios para este pa\xeds. Pruebe otro pa\xeds o cont\xe1ctenos.",selectCountryFirstSvc:"Seleccione primero su pa\xeds para ver servicios",selectService:"Seleccionar servicio",selectDoctor:"Seleccionar m\xe9dico",amount:"Importe (EUR)",preferredMode:"Modo preferido",video:"V\xeddeo",phoneMode:"Tel\xe9fono",otherMode:"Otro",preferredDate:"Fecha preferida",preferredTime:"Hora preferida",referralCode:"C\xf3digo de referencia (opcional)",loading:"Cargandoâ¦",failedToLoad:"Error al cargar",chooseService:"Elegir servicio",loadingDoctors:"Cargando m\xe9dicos...",noDoctors:"No hay m\xe9dicos para este servicio",chooseDoctor:"Elegir m\xe9dico",selectDoctorFirst:"Primero seleccione un m\xe9dico",selectDate:"Seleccionar fecha",ifAny:"Si tiene",consentTitle:"Consentimiento y privacidad (GDPR y FHIR)",gdprAlert:"Cumplimiento GDPR y FHIR",gd
1prDesc:"Sus datos se procesan seg\xfan el Reglamento GDPR. La informaci\xf3n m\xe9dica se almacena con est\xe1ndares FHIR.",acceptPrivacy:"Acepto la Pol\xedtica de privacidad (GDPR).",consentTreatment:"Doy mi consentimiento informado para valoraci\xf3n y tratamiento.",consentFHIR:"Permitir compartir con proveedores usando FHIR.",consentMarketing:"Recibir novedades y promociones (opcional).",paymentDetails:"Datos de pago",service:"Servicio",totalAmount:"Importe total",securePayment:"Pago seguro",securePaymentDesc:"Su informaci\xf3n de pago est\xe1 cifrada. No guardamos los datos de su tarjeta.",cardDetails:"Datos de la tarjeta",agreeBilling:"Autorizo el cargo en mi m\xe9todo de pago y acepto las condiciones de facturaci\xf3n.",payWithCard:"Pagar con tarjeta",back:"Atr\xe1s",next:"Siguiente",saveDraft:"Guardar borrador",clear:"Limpiar",draftSaved:"Su borrador de cita se ha guardado de forma segura. Puede continuar m\xe1s tarde en este dispositivo.",draftRestored:"Se ha restaurado su borrador de cita guardado anteriormente.",formCleared:"El formulario de cita se ha borrado correctamente.",clearConfirmTitle:"Borrar formulario de cita",clearConfirmDesc:"\xbfEst\xe1 seguro de que desea borrar este formulario de cita? Toda la informaci\xf3n introducida, archivos subidos, m\xe9dico seleccionado, servicio seleccionado, cup\xf3n, detalles de la cita y el borrador guardado se eliminar\xe1n permanentemente. Esta acci\xf3n no se puede deshacer.",clearConfirmOk:"S\xed, borrar formulario",chooseHowToProceed:"C\xf3mo continuar",selectOptionToContinue:"Elija una opci\xf3n para continuar con su cita",newRegistration:"Nueva inscripci\xf3n",createVerifiedAccount:"Crear cuenta verificada con acceso completo",continueAsGuest:"Continuar como invitado",quickBookingGuest:"Reserva r\xe1pida solo con verificaci\xf3n por email",cancel:"Cancelar",guestVerification:"Verificaci\xf3n invitado",emailVerification:"Verificaci\xf3n de email",guestVerificationCode:"C\xf3digo de verificaci\xf3n invitado",registrationVerificationCode:"C\xf3digo de verificaci\xf3n de registro",checkEmailForCode:"Revise su bandeja de entrada (y spam) para el c\xf3digo de 6 d\xedgitos.",expires10min:"Caduca en 10 minutos",guestNoPassword:"Modo invitado: no se requiere contrase\xf1a",afterVerifyCreatePassword:"Tras verificar, crear\xe1 su contrase\xf1a",step2CreatePassword:"Paso 2: Crear su contrase\xf1a",verifyingCode:"Verificando su c\xf3digo...",processing:"Procesando...",checkingEmail:"Comprobando email...",proceedingAuto:"Continuando autom\xe1ticamente...",pleaseEnterEmail:"Introduzca primero su email",pleaseSelectOption:"Seleccione una opci\xf3n",otpSent:"C\xf3digo enviado correctamente",checkEmailOtp:"Revise su email para el c\xf3digo de verificaci\xf3n",phoneRequired:"El tel\xe9fono es obligatorio",idPassport:"N.\xba de pasaporte / DNI",idPassportPlaceholder:"Introduzca el pasaporte o DNI",idPassportRequired:"El pasaporte o DNI es obligatorio",idPassportHint:"Obligatorio para historiales m\xe9dicos, recetas y documentos oficiales.",emailRequired:"El email es obligatorio",validEmail:"Introduzca un email v\xe1lido",selectCountryReq:"Seleccione su pa\xeds",selectServiceReq:"Seleccione un servicio",selectDoctorReq:"Seleccione un m\xe9dico",youMustAcceptGdpr:"Debe aceptar la pol\xedtica GDPR.",treatmentConsentRequired:"Se requiere consentimiento de tratamiento.",fhirConsentRequired:"Se requiere consentimiento FHIR.",acceptBillingTerms:"Acepte las condiciones de facturaci\xf3n."}};function i(){var e;let t=null==(e=window.localStorage)?void 0:e.getItem("site_lang");return t&&(0,o.D4)(t)&&n[t]?t:"es"}function r(e){return n[e]||n.es||n.en}},3757:(e,t,a)=>{"use strict";a.d(t,{BU:()=>p,Cb:()=>c,It:()=>d,g3:()=>r,kk:()=>l,oe:()=>o,yR:()=>s,zK:()=>n});let o="book-appointment-form",n="healthclino:book-service",i="/book-appointment";function r(e,t){let a=String(e||"").trim(),o=String(t||"").trim();if(!a&&!o)return i;let n=a?"".concat(i,"/").concat(encodeURIComponent(a)):i;if(!o)return n;let r=new URLSearchParams;return r.set("doctorId",o),"".concat(n,"?").concat(r.toString())}function s(e){let t=String(e||"").replace(/\/$/,"")||"/";return t===i||t.startsWith("".concat(i,"/"))}function l(e,t){try{var a,o;let n=String(e||"").replace(/\/$/,"")||"/";if(n.startsWith("".concat(i,"/"))){let e=decodeURIComponent(n.slice(i.length+1).split("/")[0]||"").trim();if(e)return e}let r=new URLSearchParams(t||"");return(null==(a=r.get("service"))?void 0:a.trim())||(null==(o=r.get("serviceId"))?void 0:o.trim())||null}catch(e){return null}}function c(){let e=document.getElementById(o);return e?(e.scrollIntoView({behavior:"smooth",block:"start"}),!0):(window.scrollTo({top:0,behavior:"smooth"}),!1)}function d(e){if(!s(window.location.pathname))return!1;let t=String(e||"").trim(),a=t?"".concat(i,"/").concat(encodeURIComponent(t)):i;if((String(window.location.pathname||"").replace(/\/$/,"")||"/")===(a.replace(/\/$/,"")||"/")&&!window.location.search)return!1;try{return window.history.replaceState(window.history.state,"",a),!0}catch(e){return!1}}function p(e){if(!s(window.location.pathname))return!1;let t=(String(window.location.pathname||"").replace(/\/$/,"")||"/").startsWith("".concat(i,"/")),a=!!(window.location.search&&window.location.search.length>1);if(!t&&!a)return!1;if(d(""))return!0;try{var o;null==e||null==(o=e.replace)||o.call(e,i,{scroll:!1})}catch(e){}return!0}},4978:(e,t,a)=>{"use strict";function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{window.dataLayer=window.dataLayer||[],e?window.dataLayer.push({event:e,page_path:i(),...t}):window.dataLayer.push(t)}catch(e){}}function n(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{try{window.dataLayer=window.dataLayer||[],window.dataLayer.push({ecommerce:null})}catch(e){}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:e,ecommerce:t,page_path:i(),...a})}catch(e){}}function i(){return window.location.pathname||""}a.d(t,{A3:()=>c,Bn:()=>m,DC:()=>u,IX:()=>x,Ii:()=>d,MN:()=>f,UQ:()=>o,Un:()=>g,VU:()=>b,_l:()=>r,fU:()=>h,j5:()=>l,rz:()=>i,uK:()=>s,xJ:()=>p});let r=["appointment","patient_medical","consent","payment"],s=["patient","medical","questions","consent","payment"];function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{value:t,currency:a="EUR",items:i,...r}=e;o("appointment_started",r),n("begin_checkout",{value:null!=t?t:0,currency:a,items:i||[]},{flow:r.flow||"appointment",...r})}function c(e){let{transaction_id:t,value:a,currency:i="EUR",items:r,coupon:s,...l}=e,c={transaction_id:t,value:a,currency:i,items:r||[],...s?{coupon:s}:{}};o("purchase",{transaction_id:t,value:a,currency:i,items:r,coupon:s,...l}),n("purchase",c,l)}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n("select_item",{items:e||[]},t)}function p(e){let{service_id:t,service_name:a,price:i,category:r,...s}=e;o("view_service",{service_id:t,service_name:a,price:i,category:r,...s}),t&&n("view_item",{currency:"EUR",value:Number(i)||0,items:[{item_id:String(t),item_name:a||"",price:Number(i)||0,item_category:r||"service"}]},s)}function m(e){let{doctor_id:t,doctor_name:a,specialization:i,fee:r,...s}=e;o("view_doctor",{doctor_id:t,doctor_name:a,specialization:i,fee:r,...s}),t&&n("view_item",{currency:"EUR",value:Number(r)||0,items:[{item_id:String(t),item_name:a||"",price:Number(r)||0,item_category:i||"doctor"}]},s)}function u(e){let{item_list_id:t,item_list_name:a,items:i,...r}=e;o("view_item_list",{item_list_id:t,item_list_name:a,...r}),n("view_item_list",{item_list_id:t,item_list_name:a,items:i||[]},r)}function f(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};o("appointment_step",{step:e,step_name:t,...a})}function g(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o("begin_payment",e)}function h(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=String(e||"").trim();n&&o("search",{search_term:n,search_location:t,...a})}function x(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o("contact_form_submit",e),o("generate_lead",{lead_type:"contact",...e})}function b(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={auth_mode:e||"unknown",verification_method:t,...a};o("email_verified",n),"register"===e?o("sign_up",{method:"email",...n}):"existing"===e&&o("login",{method:"email",...n})}},19977:()=>{},21866:()=>{},42750:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>eV});var o=a(95155),n=a(11518),i=a.n(n),r=a(12115),s=a(60838),l=a(27591),c=a(57867),d=a(164
167),p=a(58668),m=a(86446),u=a(98696),f=a(43536),g=a(77517),h=a(19361),x=a(74947),b=a(12320),_=a(75032),y=a(96093),v=a(40344),j=a(70175),w=a(47962),N=a(95108),A=a(48999),S=a(38629),C=a(94600),k=a(97555),E=a(90765),I=a(50274),P=a(81804),R=a(75584),D=a(45163),F=a(83873),T=a(27840),L=a(56203),z=a(30832),U=a.n(z),O=a(91027),M=a.n(O),B=a(39696),V=a.n(B),q=a(55028),G=a(35695),H=a(55855),Y=a(7368),X=a(53348);a(81292);var W=a(91161);U().extend(M()),U().extend(V());let Q="Europe/Madrid",$={spain:"Europe/Madrid",españa:"Europe/Madrid",ireland:"Europe/Dublin","united kingdom":"Europe/London",france:"Europe/Paris",portugal:"Europe/Lisbon",germany:"Europe/Berlin",italy:"Europe/Rome",netherlands:"Europe/Amsterdam",belgium:"Europe/Brussels",canada:"America/Toronto",thailand:"Asia/Bangkok",maldives:"Indian/Maldives",uruguay:"America/Montevideo","united states":"America/New_York",australia:"Australia/Sydney",utc:"UTC"};function J(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e)return Q;let a=String(e).trim(),o=t.find(e=>e&&e.name&&String(e.name).toLowerCase()===a.toLowerCase());return(null==o?void 0:o.timezone)?o.timezone:function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Q;if(e&&"string"==typeof e&&e.trim())return e.trim();let o=String(t||"").trim().toLowerCase();if(o&&$[o])return $[o];for(let[e,t]of Object.entries($))if(o===e||o.includes(e)||e.includes(o))return t;return a||Q}(null,a,null)||Q}let K=[["spain","espana"]];function Z(e){let t=String(e||"").trim().toLowerCase().normalize("NFD").replace(RegExp("\\p{M}","gu"),"");if(!t)return"";for(let e of K)if(e.includes(t))return e[0];return t}function ee(e,t){let a=Z(e),o=Z(t);return!!(a&&o&&a===o)}function et(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es",a=String(e||"").trim();return a?"es"===t&&"spain"===Z(a)?"Espa\xf1a":a:""}function ea(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=String(e||"").trim();if(!a)return a;let o=(Array.isArray(t)?t:[]).find(e=>(null==e?void 0:e.name)&&ee(e.name,a));return(null==o?void 0:o.name)||a}var eo=a(2177),en=a(54581),ei=a(71116),er=a(72110),es=a(66766),el=a(82105),ec=a(55558),ed=a(96787),ep=a(3757),em=a(85025),eu=a.n(em);function ef(e){let{briefDescription:t="",description:a="",title:n=""}=e,i=(0,r.useMemo)(()=>!function(e){let t=String(e||"").trim();return!!t&&(t.replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim().length>0||/<img\b/i.test(t))}(t)?"":function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return eu()(String(e||""),{allowedTags:["b","strong","i","em","u","a","p","br","ul","ol","li","h1","h2","h3","h4","blockquote","hr","span","img","figure","figcaption"],allowedAttributes:{a:["href","target","rel"],span:["style"],img:["src","alt","title","width","height","style","loading","decoding","class"],figure:["class","style"],figcaption:["class"]},allowedSchemes:["http","https"],allowedSchemesByTag:{img:["http","https"],a:["http","https","mailto"]},allowedStyles:{img:{width:[/^\d+(?:px|%)?$/i,/^auto$/i],height:[/^\d+(?:px|%)?$/i,/^auto$/i],"max-width":[/^\d+(?:px|%)?$/i,/^100%$/i]},figure:{"max-width":[/^\d+(?:px|%)?$/i,/^100%$/i],margin:[/^[\d\s.px%]+$/i]}},exclusiveFilter(e){if("img"===e.tag){var t;let a=String((null==(t=e.attribs)?void 0:t.src)||"").trim();return!a||!/^https?:\/\//i.test(a)}return!1},transformTags:{a:(e,t)=>({tagName:"a",attribs:{...t,target:"_blank",rel:"noopener noreferrer"}}),img:(e,t)=>({tagName:"img",attribs:{...t,src:String(t.src||"").trim(),alt:t.alt||"Article image",loading:t.loading||"lazy",decoding:t.decoding||"async"}})}})}(t),[t]),s=String(a||"").trim();return i||s?(0,o.jsxs)(en.default,{component:"section","aria-label":"Descripci\xf3n breve del servicio",className:"booking-service-brief",sx:{mt:{xs:4,md:6},mb:{xs:2,md:4},pt:{xs:3,md:4},pb:{xs:2,md:3},borderTop:"1px solid rgba(13,24,48,0.08)",maxWidth:720,width:"100%",mx:"auto",px:{xs:2,sm:3},textAlign:"center"},children:[(0,o.jsx)(ei.default,{component:"h2",sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontWeight:700,fontSize:{xs:"22px",md:"28px"},lineHeight:1.25,letterSpacing:"-0.02em",color:ec.Zf,mb:{xs:2,md:2.5},textAlign:"center"},children:"Sobre este servicio"}),i?(0,o.jsx)(en.default,{className:"booking-service-brief__body",sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontSize:{xs:"15px",md:"16px"},lineHeight:1.75,color:"rgba(13,24,48,0.78)",textAlign:"center",mx:"auto","& h1, & h2, & h3, & h4":{fontFamily:'"'.concat(el.m,'", sans-serif'),color:ec.Zf,fontWeight:700,lineHeight:1.3,letterSpacing:"-0.015em",margin:"1.35em 0 0.5em",textAlign:"center"},"& h1":{fontSize:{xs:"22px",md:"26px"}},"& h2":{fontSize:{xs:"20px",md:"22px"}},"& h3, & h4":{fontSize:{xs:"17px",md:"18px"}}
1,"& h1:first-child, & h2:first-child, & h3:first-child":{marginTop:0},"& p":{margin:"0 0 1em"},"& p:last-child":{marginBottom:0},"& ul, & ol":{margin:"0.5em auto 1.1em",paddingLeft:0,listStylePosition:"inside",display:"inline-block",textAlign:"left",maxWidth:"100%"},"& li":{marginBottom:"0.4em"},"& strong, & b":{color:ec.Zf,fontWeight:650},"& a":{color:"#0092FE"},"& img":{display:"block",maxWidth:"100%",height:"auto",borderRadius:"12px",margin:"1em auto"},"& figure":{margin:"1em auto"},"& blockquote":{margin:"1em auto",padding:"0.75em 1em",borderLeft:"3px solid rgba(0,146,254,0.35)",color:"rgba(13,24,48,0.7)",textAlign:"left",maxWidth:560},"& hr":{border:0,borderTop:"1px solid rgba(13,24,48,0.1)",margin:"1.5em auto",maxWidth:120}},dangerouslySetInnerHTML:{__html:i},"data-service-title":n||void 0}):(0,o.jsx)(ei.default,{component:"p",sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontSize:{xs:"15px",md:"16px"},lineHeight:1.75,color:"rgba(13,24,48,0.78)",textAlign:"center",m:0,maxWidth:640,mx:"auto"},children:s})]}):null}var eg=a(6874),eh=a.n(eg),ex=a(17775);function eb(e){let{title:t="",description:a="",imageUrl:n="",price:i,stepsCount:s=1,step:l=0,showStepBar:c=!1}=e,d=String(t||"").trim()||"Consulta online",p=String(a||"").trim(),m=function(e){let t=Number(e);return Number.isFinite(t)?new Intl.NumberFormat("es-ES",{style:"currency",currency:"EUR",minimumFractionDigits:2,maximumFractionDigits:2}).format(t):null}(i),u=String(n||"").trim(),[f,g]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{g(!1)},[u]),(0,o.jsxs)(en.default,{className:"booking-service-info",sx:{width:"100%",display:"flex",flexDirection:"column",gap:{xs:1.5,md:1.75}},children:[(0,o.jsx)(ei.default,{component:eh(),href:"/services",sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontSize:14,fontWeight:500,color:"rgba(13,24,48,0.62)",textDecoration:"none",width:"fit-content","&:hover":{color:ec.GO}},children:"â Todos los servicios"}),(0,o.jsx)(en.default,{sx:{display:"inline-flex",alignSelf:"flex-start",px:1.25,py:.5,borderRadius:"8px",bgcolor:"rgba(0,146,254,0.1)",color:ec.GO,fontFamily:'"'.concat(el.m,'", sans-serif'),fontSize:12,fontWeight:600,letterSpacing:"0.01em"},children:"Pedir consulta online"}),(0,o.jsx)(en.default,{sx:{position:"relative",width:"100%",aspectRatio:"16 / 10",borderRadius:{xs:"16px",md:"18px"},overflow:"hidden",bgcolor:"#E8EEF5"},children:u?(0,o.jsxs)(o.Fragment,{children:[f?null:(0,o.jsx)(ex.A,{variant:"rounded",animation:"wave",sx:{position:"absolute",inset:0,width:"100%",height:"100%",transform:"none",borderRadius:0}}),(0,o.jsx)(es.default,{src:u,alt:d,fill:!0,sizes:"(max-width: 900px) 100vw, 40vw",priority:!0,onLoad:()=>g(!0),style:{objectFit:"cover",objectPosition:"center",opacity:+!!f,transition:"opacity 0.2s ease"}})]}):(0,o.jsx)(en.default,{sx:{position:"absolute",inset:0,background:"linear-gradient(145deg, rgba(0,146,254,0.12) 0%, rgba(13,24,48,0.06) 100%)"}})}),(0,o.jsx)(ei.default,{component:"h2",sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontWeight:700,fontSize:{xs:"24px",md:"28px"},lineHeight:1.2,letterSpacing:"-0.02em",color:ec.Zf,m:0},children:d}),m?(0,o.jsxs)(ei.default,{component:"p",sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontWeight:600,fontSize:{xs:"15px",md:"16px"},color:"#0D9F8A",m:0,mt:-.5},children:[m," ",(0,o.jsx)(en.default,{component:"span",sx:{fontWeight:500,color:"rgba(13,159,138,0.9)"},children:"tarifa de consulta"})]}):null,p?(0,o.jsx)(ei.default,{component:"p",sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontSize:{xs:"14px",md:"15px"},lineHeight:1.65,color:"rgba(13,24,48,0.68)",m:0},children:p}):null,c?(0,o.jsxs)(en.default,{sx:{mt:1},children:[(0,o.jsx)(ei.default,{sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontSize:13,fontWeight:500,color:"rgba(13,24,48,0.5)",mb:1},children:"Paso ".concat(Math.min(l+1,s),"/").concat(s)}),(0,o.jsx)(en.default,{role:"progressbar","aria-valuemin":1,"aria-valuemax":s,"aria-valuenow":Math.min(l+1,s),sx:{display:"flex",gap:.75},children:Array.from({length:s}).map((e,t)=>(0,o.jsx)(en.default,{sx:{flex:1,height:4,borderRadius:999,bgcolor:t<=l?ec.Zf:"rgba(13,24,48,0.12)"}},t))})]}):null]})}function e_(){return(0,o.jsxs)(en.default,{className:"booking-service-info-skeleton","aria-busy":"true","aria-label":"Cargando detalles del servicio",sx:{width:"100%",display:"flex",flexDirection:"column",gap:{xs:1.5,md:1.75}},children:[(0,o.jsx)(ex.A,{variant:"text",width:110,height:20,sx:{borderRadius:1}}),(0,o.jsx)(ex.A,{variant:"rounded",width:180,height:26,sx:{borderRadius:"8px"}}),(0,o.jsx)(ex.A,{variant:"rounded",sx:{width:"100%",aspectRatio:"16 / 10",borderRadius:{xs:"16px",md:"18px"},transform:"none"}}),(0,o.jsx)(ex.A,{variant:"text",width:"78%",height:36,sx:{borderRadius:1}}),(0,o.jsx)(ex.A,{variant:"text",width:160,height:24,sx:{borderRadius:1}}),(0,o.jsx)(ex.A,{variant:"text",width:"100%",height:18,sx:{borderRadius:1}}),(0,o.jsx)(ex.A,{variant:"text",width:"92%",height:18,sx:{borderRadius:1}}),(0,o.jsx)(ex.A,{variant:"text",width:"88%",height:18,sx:{borderRadius:1}})]})}var ey=a(4978);U().extend(M()),U().extend(V());let ev=(0,q.default)(()=>a.e(8975).then(a.bind(a,8975)).then(e=>e.PhoneInput),{loadableGenerated:{webpack:()=>[null]},ssr:!1}),{Title:ej,Text:ew,Paragraph:eN}=l.A,{Option:eA}=c.A,eS="appointment_booking_draft_eur_final_v3",eC=["firstName","lastName","dob","gender","phone","email","nationalId","addressLine1","addressLine2","city","state","postalCode","allergies","conditions","meds","symptoms","symptomDuration","urgency","preferredPharmacyName","referralCode","notes","country","serviceId","doctorId","amount","preferredMode","slotDate","slotTime","consentGDPR","consentTreatment","consentShareFHIR","consentMarketing","agreeBilling"],ek="pk_live_51UDMsOQFavuaj4PvNszNUVTbGORr5Hgh8XpOkWSB75peJBo4or3Y3btsDZSODyVQpVSRUsl3QrTwwh5ks69sX53N00QVfOhOH9",eE=async e=>{let t=await fetch(e,{cache:"no-store"}),a=await t.json().catch(()=>({}));if(!t.ok)throw Error((null==a?void 0:a.error)||"Error al cargar");return a};function eI(e){let t=Error(e);return t.silent=!0,t}function eP(e){return new Intl.NumberFormat("en-IE",{style:"currency",currency:"EUR"}).format(Number(e||0))}function eR(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Algo ha salido mal. Int\xe9ntelo de nuevo.";if(!e)return t;if("string"==typeof e)return e;if("string"==typeof e.message&&e.message)return e.message;if(Array.isArray(e.errorFields)&&e.errorFields.length>0){let t=e.errorFields.map(e=>
1Array.isArray(e.errors)?e.errors[0]:null).filter(Boolean);if(1===t.length)return t[0];if(t.length>1)return t.slice(0,3).join(" \xb7 ")}if("string"==typeof e.error&&e.error)return e.error;try{let t=String(e);if(t&&"[object Object]"!==t)return t}catch(e){}return t}function eD(e){return Array.isArray(e)?e.filter(Boolean).map(e=>String(e).trim()).filter(Boolean):null==e?[]:String(e).split(",").map(e=>e.trim()).filter(Boolean)}function eF(e){return"string"==typeof e?e:Array.isArray(e)?e.filter(Boolean).join(", "):""}function eT(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Q;return e?U()(e).tz(t||Q,!0):null}function eL(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Q,a=eT(e,t);return a?["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][a.day()]:null}function ez(e,t){let a="/api/doctors/by-service/".concat(e),o=t&&String(t).trim();return o?"".concat(a,"?country=").concat(encodeURIComponent(o)):a}function eU(e){if(!e||"string"!=typeof e)return null;let[t,a]=e.split("-");if(!t||!a)return null;let[o,n]=t.split(":").map(Number),[i,r]=a.split(":").map(Number);return isNaN(o)||isNaN(n)||isNaN(i)||isNaN(r)?null:{start:60*o+n,end:60*i+r}}function eO(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Q;if(!e)return[];let n=o||Q,i=eT(e,n);if(!i)return[];let r=eL(e,n);if(!r)return[];let s=t.find(e=>e.dayOfWeek===r);if(!s||!s.timeRanges||0===s.timeRanges.length)return[];let l=U()().tz(n),c=i.format("YYYY-MM-DD")===l.format("YYYY-MM-DD"),d=s.timeRanges.map(eU).filter(Boolean);if(0===d.length)return[];let p=[],m=a&&a>=5&&a<=60?a:5;return d.forEach(e=>{let t=e.start,a=e.end;if(c){let e=l.add(10,"minute");t=Math.max(t,Math.ceil((60*e.hour()+e.minute())/m)*m)}for(let e=t;e<a;e+=m){let t=String(Math.floor(e/60)).padStart(2,"0"),a=String(e%60).padStart(2,"0");p.push("".concat(t,":").concat(a))}}),[...new Set(p)].sort()}let eM=X.A.map(e=>{var t;return null==(t=e.name)?void 0:t.common}).filter(Boolean).sort((e,t)=>e.localeCompare(t));function eB(){let[e,t]=(0,r.useState)(!1);return(0,o.jsx)(d.A,{spinning:!e,tip:"Cargando formulario de pago...",children:(0,o.jsx)("div",{style:{border:"1px solid #d9d9d9",borderRadius:8,padding:12,minHeight:52,opacity:e?1:.3},children:(0,o.jsx)(H.CardElement,{options:{hidePostalCode:!0,style:{base:{fontSize:"16px","::placeholder":{color:"#a0a0a0"}},invalid:{color:"#ff4d4f"}}},onReady:()=>t(!0)})})})}function eV(){var e,t;let{initialPatient:a=null,hideHeader:n=!1,initialServiceSlug:l="",initialService:z=null,serviceBookingLayout:O=!1,hidePriceNotice:M=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}
1,B=(0,G.useRouter)(),V=(0,G.usePathname)(),[q]=p.A.useForm(),[X,Q]=(0,r.useState)(!1),[$,K]=(0,r.useState)(null),[Z,em]=(0,r.useState)(0),[eu,eg]=(0,r.useState)([]),[eh,ex]=(0,r.useState)(""),[eN,eU]=(0,r.useState)(!1),[eV,eq]=m.Ay.useNotification({top:80,placement:"topRight",style:{zIndex:99999}}),eG=(0,r.useRef)(null),eH=(0,r.useRef)(null),eY=(0,r.useRef)(null),eX=(0,r.useRef)(!1),eW=(0,r.useRef)(!1),eQ=(0,r.useRef)(!1),[e$,eJ]=(0,r.useState)(),[eK,eZ]=(0,r.useState)(0),[e0,e2]=(0,r.useState)(!1),[e1,e4]=(0,r.useState)(),[e9,e5]=(0,r.useState)([]),[e6,e8]=(0,r.useState)(!1),[e7,e3]=(0,r.useState)([]),[te,tt]=(0,r.useState)(5),[ta,to]=(0,r.useState)(null),[tn,ti]=(0,r.useState)(""),[tr,ts]=(0,r.useState)(!1),[tl,tc]=(0,r.useState)(!1),[td,tp]=(0,r.useState)(!1),[tm,tu]=(0,r.useState)(!1),[tf,tg]=(0,r.useState)(!1),[th,tx]=(0,r.useState)(!1),[tb,t_]=(0,r.useState)(!1),[ty,tv]=(0,r.useState)(""),[tj,tw]=(0,r.useState)(""),[tN,tA]=(0,r.useState)(!1),[tS,tC]=(0,r.useState)(!1),[tk,tE]=(0,r.useState)(0),[tI,tP]=(0,r.useState)(!1),[tR,tD]=(0,r.useState)(!1),[tF,tT]=(0,r.useState)(!1),[tL,tz]=(0,r.useState)(!1),[tU,tO]=(0,r.useState)(""),[tM,tB]=(0,r.useState)(""),[tV,tq]=(0,r.useState)(""),[tG,tH]=(0,r.useState)(!1),[tY,tX]=(0,r.useState)(!1),[tW,tQ]=(0,r.useState)(null),[t$,tJ]=(0,r.useState)(!1),tK=(0,r.useRef)(!1),tZ=(0,r.useCallback)((e,t)=>{tK.current||(tK.current=!0,(0,ey.VU)(e,t,{flow:"appointment"}))},[]),t0=(0,r.useCallback)(e=>{let t=ey._l[e]||"step_".concat(e);(0,ey.MN)(e,t,{flow:"appointment"}),3===e&&(0,ey.Un)({flow:"appointment",step:e,step_name:t,value:Number(eK)||void 0,currency:"EUR"})},[eK]),[t2,t1]=(0,r.useState)("en");(0,r.useEffect)(()=>{let e=()=>t1((0,eo.Fm)());e();let t=t=>{"site_lang"===t.key&&t.newValue&&e()};return window.addEventListener("storage",t),window.addEventListener("site_lang_change",e),()=>{window.removeEventListener("storage",t),window.removeEventListener("site_lang_change",e)}},[]);let t4=(0,r.useMemo)(()=>(0,eo.Zs)(t2),[t2]);(0,r.useEffect)(()=>{tb&&tw("guest")},[tb]),(0,r.useEffect)(()=>{if(tk<=0)return;let e=window.setInterval(()=>{tE(e=>e<=1?0:e-1)},1e3);return()=>window.clearInterval(e)},[tk]);let{data:t9,isLoading:t5}=(0,s.Ay)("/api/countries",eE,{revalidateOnFocus:!1,dedupingInterval:6e4}),t6=(0,r.useMemo)(()=>Array.isArray(null==t9?void 0:t9.items)?t9.items:[],[t9]),t8=(0,r.useMemo)(()=>{let e=t6.filter(e=>null==e?void 0:e.name).map(e=>({value:e.name,label:et(e.name,"es")})).sort((e,t)=>e.label.localeCompare(t.label,"es"));return e.length>0?e:eM.map(e=>({label:et(e,"es"),value:e}))},[t6]),t7=p.A.useWatch("country",q),t3=p.A.useWatch("serviceId",q),ae=p.A.useWatch("doctorId",q),at=(0,r.useMemo)(()=>null!=t3&&""!==t3?t3:e$,[t3,e$]),aa=(0,r.useMemo)(()=>null!=ae&&""!==ae?ae:e1,[ae,e1]),ao=(0,r.useMemo)(()=>J(t7,t6),[t7,t6]);(0,r.useEffect)(()=>{if(!X||!t6.length)return;let e=q.getFieldValue("country");if(!e||!String(e).trim())return;let t=ea(e,t6);t&&t!==e&&q.setFieldsValue({country:t})},[X,t6,q]);let an=(0,r.useMemo)(()=>{let e=t7&&String(t7).trim();if(!e)return null;let t=new URLSearchParams;return t.set("enabled","true"),t.set("country",e),t.set("limit","100"),"/api/services?".concat(t.toString())},[t7]),{data:ai,error:ar,isLoading:as}=(0,s.Ay)(an,eE,{revalidateOnFocus:!1,keepPreviousData:!0}),al=(0,r.useRef)(void 0);(0,r.useEffect)(()=>{if(!X)return;let e=t7&&String(t7).trim()?String(t7).trim():void 0,t=al.current;void 0===t||void 0===e||t===e||ee(t,e)||((0,ey.UQ)("country_changed",{flow:"appointment",country_from:t,country_to:e,page_path:(0,ey.rz)()}),q.setFieldsValue({serviceId:void 0,doctorId:void 0,slotDate:void 0,slotTime:void 0}),eJ(void 0),eZ(0),e2(!1),e4(void 0),e5([]),e3([]),tt(5),eg([])),void 0!==e&&(al.current=e)},[t7,X,q]);let ac=(0,r.useMemo)(()=>{let e=(Array.isArray(null==ai?void 0:ai.items)?ai.items:Array.isArray(ai)?ai:[]).map(e=>({id:e._id||e.id,slug:e.slug||"",name:e.title||e.name,price:Number(e.price||0),description:e.description||"",briefDescription:e.briefDescription||"",imageUrl:e.imageUrl||"",category:e.category||""}));if(z&&(z._id||z.id)){let t=String(z._id||z.id);e.some(e=>String(e.id)===t)||e.unshift({id:t,slug:z.slug||"",name:z.title||z.name||"",price:Number(z.price||0),description:z.description||"",briefDescription:z.briefDescription||"",imageUrl:z.imageUrl||"",category:z.category||""})}return e},[ai,z]),ad=(0,r.useCallback)((e,t)=>{let a=String(t||"").trim();return!!a&&!!e&&(String(e.id)===a||String(e.slug||"")===a)},[]),ap=(0,r.useMemo)(()=>{let e=String(at||l||(null==z?void 0:z.slug)||(null==z?void 0:z._id)||"").trim();if(z&&(!e||String(z._id||z.id)===e||String(z.slug||"")===e)){let t={id:String(z._id||z.id||""),slug:z.slug||"",title:z.title||z.name||"",briefDescription:z.briefDescription||"",description:z.description||"",imageUrl:z.imageUrl||"",price:Number(z.price||0)};if(!e)return t;let a=ac.find(t=>ad(t,e));return a?{id:String(a.id),slug:a.slug||"",title:a.name||t.title,briefDescription:a.briefDescription||t.briefDescription,description:a.description||t.description,imageUrl:a.imageUrl||t.imageUrl,price:Number(a.price||t.price||0)}:t}if(!e)return null;let t=ac.find(t=>ad(t,e));return t?{id:String(t.id),slug:t.slug||"",title:t.name||"",briefDescription:t.briefDescription||"",description:t.description||"",imageUrl:t.imageUrl||"",price:Number(t.price||0)}:null},[at,l,z,ac,ad]),am=!!((l||at)&&!ap&&!z&&as),au=(0,r.useCallback)(e=>{let t=String(e||"").trim();if(!t)return;eH.current=t;let a=q.getFieldValue("country");if(!a||!String(a).trim()){let e=ea(ed.GW,t6);q.setFieldsValue({country:e||ed.GW})}em(0);let o=document.getElementById(ep.oe);null==o||o.scrollIntoView({behavior:"smooth",block:"start"}),window.requestAnimationFrame(()=>{var e;null==(e=eG.current)||e.scrollIntoView({behavior:"smooth",block:"start"})})},[q,t6]);(0,r.useEffect)(()=>{let e=e=>{var t;au(null==e||null==(t=e.detail)?void 0:t.serviceId)};return window.addEventListener(ep.zK,e),()=>window.removeEventListener(ep.zK,e)},[au]),(0,r.useEffect)(()=>{Q(!0),ek&&(0,Y.c)(ek).then(K).catch(()=>K(null))},[]),(0,r.useEffect)(()=>
1{if(X)try{var e,t,a,o;let n,i=localStorage.getItem(eS);if(!i){eX.current=!1;return}try{n=JSON.parse(i)}catch(e){localStorage.removeItem(eS),eX.current=!1,eW.current=!1;return}if(!((e=n)&&"object"==typeof e&&(e.firstName||e.email||e.phone||e.serviceId||e.country||e.doctorId||e.selectedDoctorId||e.slotDate||e.slotTime||"number"==typeof e.step&&e.step>0)))return;let r=(null==(t=n)?void 0:t.selectedDoctorId)||(null==t?void 0:t.doctorId)||null;if(!eW.current){if(q.setFieldsValue(function(e){let t={};for(let a of eC)void 0!==e[a]&&(t[a]=e[a]);e.dob&&(t.dob=U()(e.dob)),e.slotDate&&(t.slotDate=U()(e.slotDate));let a=e.selectedDoctorId||e.doctorId;return a&&!t.doctorId&&(t.doctorId=a),"number"==typeof e.amount&&(t.amount=e.amount),t}(n)),n.phone&&ex(n.phone),n.serviceId&&eJ(n.serviceId),"number"==typeof n.step&&n.step>=0&&n.step<=3&&em((a=n.step,o=n.schemaVersion,"number"!=typeof a||o>=5?a:0===a?1:1===a?0:a)),e2(!0===n.lockAmount),n.appliedCoupon&&"object"==typeof n.appliedCoupon){to(n.appliedCoupon),ti(n.couponInput||n.appliedCoupon.code||"");let e=Number(n.appliedCoupon.finalAmount);Number.isNaN(e)||(eZ(e),q.setFieldsValue({amount:e}))}else"number"==typeof n.amount&&eZ(n.amount);"number"==typeof n.step&&n.step>=2&&(n.authMode&&tv(n.authMode),n.isExistingUser&&tc(!0),n.isEmailVerified&&tp(!0),n.isPasswordSet&&tu(!0),n.emailChecked&&tz(!0)),eW.current=!0,eX.current=!0,(0,ey.UQ)("appointment_draft_restored",{flow:"appointment",step:"number"==typeof n.step?n.step:void 0,service_id:n.serviceId,page_path:(0,ey.rz)()}),eQ.current||(eQ.current=!0,eV.info({message:t4.draftRestored,placement:"bottomLeft"}))}if(n.serviceId&&(eJ(n.serviceId),fetch(ez(n.serviceId,n.country)).then(e=>e.json()).then(e=>{if(e.ok&&Array.isArray(e.doctors)&&(e5(e.doctors),r)){let t=e.doctors.find(e=>e._id===r);if(t){let e=t.availability||[];e4(r),e3(e);let a=t.slotDuration||5;if(tt(a),n.appliedCoupon&&"object"==typeof n.appliedCoupon){let e=Number(n.appliedCoupon.finalAmount);Number.isNaN(e)||(eZ(e),q.setFieldsValue({amount:e})),e2(!0)}else if(t.fee){let e=Number(t.fee);eZ(e),q.setFieldsValue({amount:e}),e2(!0)}if(n.slotDate){let t=J(n.country,t6),o=eO(n.slotDate,e,a,t);eg(o)}}}}).catch(e=>console.error("Failed to restore doctors:",e))),n.slotDate&&!r){let e=J(n.country,t6);eg(eO(n.slotDate,[],5,e))}}catch(e){console.error("Failed to restore appointment draft:",e),eX.current=!1,eW.current=!1;try{localStorage.removeItem(eS)}catch(e){}}},[X,q,t6]),(0,r.useEffect)(()=>{if(!X||eX.current)return;let e=String(l||"").trim(),t=(0,ep.kk)(window.location.pathname,window.location.search),a=e||t;a&&au(a)},[X,au,l]),(0,r.useEffect)(()=>{if(!X||!a)return;let e=q.getFieldsValue(["firstName","lastName","email","phone","dob","gender","nationalId","addressLine1","addressLine2","city","state","postalCode","country","allergies","conditions","meds"]),t={};!e.firstName&&a.firstName&&(t.firstName=a.firstName),!e.lastName&&a.lastName&&(t.lastName=a.lastName),!e.email&&a.email&&(t.email=a.email),!e.gender&&a.gender&&(t.gender=a.gender),!e.dob&&a.dob&&(t.dob=U()(a.dob)),!e.nationalId&&a.nationalId&&(t.nationalId=a.nationalId),!e.phone&&a.phone&&(t.phone=a.phone,eh||ex(a.phone));let o=a.address||{};!e.addressLine1&&o.line1&&(t.addressLine1=o.line1),!e.addressLine2&&o.line2&&(t.addressLine2=o.line2),!e.city&&o.city&&(t.city=o.city),!e.state&&o.state&&(t.state=o.state),!e.postalCode&&o.postalCode&&(t.postalCode=o.postalCode),!e.country&&o.country&&(t.country=o.country),!e.allergies&&Array.isArray(a.allergies)&&a.allergies.length>0&&(t.allergies=eF(a.allergies)),!e.conditions&&Array.isArray(a.conditions)&&a.conditions.length>0&&(t.conditions=eF(a.conditions)),!e.meds&&Array.isArray(a.medications)&&a.medications.length>0&&(t.meds=eF(a.medications)),Object.keys(t).length>0&&q.setFieldsValue(t)},[a,X,q,eh]);let af=()=>{q.resetFields(),eg([]),ex(""),localStorage.removeItem(eS),em(0),eJ(void 0),eZ(0),e2(!1),e4(void 0),e5([]),e3([]),tt(5),to(null),ti(""),ts(!1),eH.current=null,eX.current=!1,eW.current=!1,eQ.current=!1,al.current=void 0,tK.current=!1,tc(!1),tp(!1),tu(!1),tg(!1),tx(!1),t_(!1),tv(""),tw(""),tA(!1),tC(!1),tE(0),tP(!1),tD(!1),eU(!1),e8(!1),tH(!1),tT(!1),tz(!1),tO(""),tB(""),tq(""),tX(!1),tQ(null),eV.success({message:"Formulario restablecido",placement:"bottomLeft"}),eG.current&&eG.current.scrollIntoView({behavior:"smooth"})},ag=(0,r.useMemo)(()=>[{title:t4.stepAppointment},{title:"".concat(t4.stepPatient," & ").concat(t4.stepMedical)},{title:t4.stepConsent},{title:t4.stepPayment}],[t4]),ah=!!O,ax=!!(ah&&(ap||am));(0,r.useEffect)(()=>
1{if(!X)return;let e=q.getFieldValue("slotDate");e&&(eg(eO(e,e7,te,ao)),q.setFieldsValue({slotTime:void 0}))},[ao]);let ab=async e=>{try{let t=await fetch("/api/auth/check-email?email=".concat(encodeURIComponent(e))),a=await t.json();return{exists:a.exists||!1,isVerified:a.verified||!1,hasPassword:a.hasPassword||!1}}catch(e){return console.error("Check email error:",e),{exists:!1,isVerified:!1}}},a_=async()=>{if(tk>0||tN)return;let e=q.getFieldValue("email");if(!e)return void eV.error({message:t4.pleaseEnterEmail,placement:"bottomLeft"});tA(!0);try{let t=q.getFieldsValue(!0),a={firstName:t.firstName,lastName:t.lastName,email:e,phone:eh,dob:t.dob?U()(t.dob).format("YYYY-MM-DD"):void 0,gender:t.gender,nationalId:String(t.nationalId||"").trim()||void 0,address:{line1:t.addressLine1||null,line2:t.addressLine2||null,city:t.city||null,state:t.state||null,postalCode:t.postalCode||null,country:t.country},allergies:eD(t.allergies),conditions:eD(t.conditions),medications:eD(t.meds),consents:{gdpr:!!t.consentGDPR,treatment:!!t.consentTreatment,shareFHIR:!!t.consentShareFHIR,marketing:!!t.consentMarketing,consentDate:new Date}},o=await fetch("/api/patients/send-otp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,patientData:a})}),n=await o.json();if(!o.ok)throw Error(n.error||"Error al enviar el c\xf3digo");eV.success({message:t4.otpSent,description:t4.checkEmailOtp,placement:"bottomLeft"}),tg(!0),tE(30)}catch(e){eV.error({message:"Error al enviar el c\xf3digo",description:e.message,placement:"bottomLeft"})}finally{tA(!1)}},ay=e=>{tw(e)},av=()=>{tv(""),tw(""),tp(!1),tu(!1),tT(!1),tO(""),tB(""),tq(""),tA(!1),tC(!1),tE(0),tP(!1),tH(!1),tg(!1),tx(!1),t_(!0)},aj=async()=>{if(!tU||""===tU.trim())return void eV.error({message:"Introduzca el c\xf3digo OTP",placement:"bottomLeft"});if(6!==tU.length)return void eV.error({message:"El c\xf3digo debe tener 6 d\xedgitos",placement:"bottomLeft"});let e=q.getFieldValue("email");tC(!0);try{let t=await fetch("/api/patients/verify-otp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,otp:tU})}),a=await t.json();if(!t.ok)throw Error(a.error||"Error al verificar el c\xf3digo");eV.success({message:"\xa1Email verificado correctamente!",placement:"bottomLeft"}),tp(!0),tZ(ty||"guest","otp"),tg(!1),tO(""),"register"===ty?setTimeout(()=>{tx(!0)},500):"guest"===ty&&(eV.success({message:"â Verificaci\xf3n de invitado completada",description:"Continuando autom\xe1ticamente al pago...",placement:"topRight",duration:3}),tu(!0),tH(!0),setTimeout(()=>{em(e=>{let t=Math.min(e+1,ag.length-1);return t0(t),t}),tH(!1),eG.current&&eG.current.scrollIntoView({behavior:"smooth"})},1500))}catch(e){eV.error({message:"La verificaci\xf3n ha fallado",description:e.message,placement:"bottomLeft"})}finally{tC(!1)}},aw=async()=>{if(!tM||""===tM.trim())return void eV.error({message:"Introduzca la contrase\xf1a",placement:"bottomLeft"});if(!tV||""===tV.trim())return void eV.error({message:"Confirme la contrase\xf1a",placement:"bottomLeft"});if(tM!==tV)return void eV.error({message:"Las contrase\xf1as no coinciden",placement:"bottomLeft"});if(tM.length<8)return void eV.error({message:"La contrase\xf1a debe tener al menos 8 caracteres",placement:"bottomLeft"});let e=/[A-Z]/.test(tM),t=/[a-z]/.test(tM),a=/[0-9]/.test(tM),o=/[!@#$%^&*(),.?":{}|<>]/.test(tM);if(!e)return void eV.error({message:"La contrase\xf1a debe incluir al menos una may\xfascula",placement:"bottomLeft"});if(!t)return void eV.error({message:"La contrase\xf1a debe incluir al menos una min\xfascula",placement:"bottomLeft"});if(!a)return void eV.error({message:"La contrase\xf1a debe incluir al menos un n\xfamero",placement:"bottomLeft"});if(!o)return void eV.error({message:"La contrase\xf1a debe incluir al menos un car\xe1cter especial",placement:"bottomLeft"});let n=q.getFieldValue("email");tP(!0);try{let e=await fetch("/api/patients/set-password",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:n,password:tM,confirmPassword:tV})}),t=await e.json();if(!e.ok)throw Error(t.error||"Error al establecer la contrase\xf1a");eV.success({message:"\xa1Registro completado! \uD83C\uDF89",description:"Cuenta creada correctamente. Continuando al pago...",placement:"topRight",duration:3}),tu(!0),tx(!1),tB(""),tq(""),tH(!0),setTimeout(()=>{em(e=>{let t=Math.min(e+1,ag.length-1);return t0(t),t}),tH(!1),eG.current&&eG.current.scrollIntoView({behavior:"smooth"})},1500)}catch(e){eV.error({message:"Error al establecer la contrase\xf1a",description:e.message,placement:"bottomLeft"})}finally{tP(!1)}},aN=async e=>{if(await q.validateFields([["country","serviceId","doctorId","amount","preferredMode","slotDate","slotTime"],["firstName","lastName","dob","gender","email","phone","nationalId","addressLine1","city","allergies","symptoms","urgency"],["consentGDPR","consentTreatment","consentShareFHIR"],["agreeBilling"]][e]||[]),0===e){var t,a,o,n;let e=q.getFieldValue("country");if(!e||!String(e).trim())throw Error(t4.selectCountryReq);if(!(null!=(t=q.getFieldValue("serviceId"))?t:e$))throw Error(t4.selectServiceReq);if(!(null!=(a=q.getFieldValue("doctorId"))?a:e1))throw Error(t4.selectDoctorReq);let i=Number(null!=(n=null!=(o=q.getFieldValue("amount"))?o:eK)?n:0);if(!i||i<=0)throw Error(t4.selectDoctorReq)}if(2===e){let e=q.getFieldValue("email");if(!tl&&!td&&!ty&&!tL){tz(!0);let t=await ab(e);if(t.exists&&t.isVerified){tc(!0),tp(!0),tu(!0),tZ("existing","existing_account"),tH(!0),eV.success({message:"â
Email ya verificado",description:"\xa1Bienvenido de nuevo! No hace falta verificaci\xf3n. Continuando al pago...",placement:"topRight",duration:3}),setTimeout(()=>{em(e=>{let t=Math.min(e+1,ag.length-1);return t0(t),t}),tH(!1),eG.current&&eG.current.scrollIntoView({behavior:"smooth"})},1500);return}if(!t.exists||!t.isVerified)throw t_(!0),eI("Elija c\xf3mo continuar: Invitado o Registrarse")}if(tl&&td&&tm)return;if(ty&&!td)throw tf||tg(!0),eI("Complete la verificaci\xf3n del email");if("register"===ty&&td&&!tm)throw th||tx(!0),eI("Debe configurar una contrase\xf1a");
1if("register"===ty){if(!td)throw tf||tg(!0),eI("Complete la verificaci\xf3n del email");if(!tm)throw th||tx(!0),eI("Debe configurar una contrase\xf1a")}else if("guest"===ty){if(!td)throw tf||tg(!0),eI("Complete la verificaci\xf3n del email")}else throw tb||t_(!0),eI("Seleccione Invitado o Registrarse")}},aA=async()=>{tD(!0);try{await aN(Z);let e=Math.min(Z+1,ag.length-1);em(e),t0(e),2===e&&ek&&!$&&(0,Y.c)(ek).then(K).catch(e=>{console.error("Failed to preload Stripe:",e),eV.warning({message:"Cargando el sistema de pago en segundo plano...",placement:"bottomLeft",duration:2})}),eG.current&&eG.current.scrollIntoView({behavior:"smooth"})}catch(e){if(null==e?void 0:e.silent)return;eV.error({message:"Complete los campos obligatorios",description:eR(e,"Complete los campos destacados e int\xe9ntelo de nuevo."),placement:"bottomLeft"})}finally{tD(!1)}},aS=async e=>{eJ(e),e4(void 0),e5([]),e3([]),tt(5),eg([]),eZ(0),e2(!1),to(null),ti(""),e8(!0);try{var t;let a=null!=(t=q.getFieldValue("country"))?t:t7,o=await fetch(ez(e,a)),n=await o.json();n.ok&&Array.isArray(n.doctors)?e5(n.doctors):e5([])}catch(e){console.error("Failed to fetch doctors:",e),e5([])}finally{e8(!1)}q.setFieldsValue({serviceId:e,amount:0,doctorId:void 0});let a=ac.find(t=>String(t.id)===String(e));(null==a?void 0:a.slug)?(0,ep.yR)(V)&&(0,ep.It)(a.slug):e||(0,ep.BU)(B),(0,ey.UQ)("service_selected",{flow:"appointment",service_id:e,service_name:null==a?void 0:a.name,price:null==a?void 0:a.price,currency:"EUR",page_path:(0,ey.rz)()}),(0,ey.Ii)([{item_id:String(e),item_name:(null==a?void 0:a.name)||"",price:Number(null==a?void 0:a.price)||0,item_category:"service"}],{flow:"appointment"})};eY.current=aS,(0,r.useEffect)(()=>{var e,t;let a=eH.current;if(!a||!t7||!String(t7).trim()||as)return;let o=ac.find(e=>String(e.id)===a||String(e.slug||"")===a);if(!o){if(z&&(String(z._id||z.id)===a||String(z.slug||"")===a)){let e=String(z._id||z.id||"");e&&(eH.current=null,null==(t=eY.current)||t.call(eY,e),em(0));return}an&&!as&&(eH.current=null);return}let n=String(o.id);if(String(q.getFieldValue("serviceId")||"")===n){eH.current=null;return}eH.current=null,null==(e=eY.current)||e.call(eY,n),em(0)},[t7,ac,as,an,q,z]);let aC=async()=>{var e;if(ta)return void eV.info({message:"Cup\xf3n ya aplicado",description:"".concat(ta.code," ya est\xe1 activo en esta reserva. Elim\xednelo primero si desea usar otro c\xf3digo.")});let t=tn.trim();if(!t)return void eV.warning({message:"Cup\xf3n",description:"Introduzca un c\xf3digo de cup\xf3n"});let a=null!=(e=q.getFieldsValue(!0).doctorId)?e:e1,o=e9.find(e=>String(e._id)===String(a)),n=o?Number(o.fee||0):Number(eK||0);if(n<=0)return void eV.error({message:"Cup\xf3n",description:t4.selectDoctorFirst});ts(!0);try{let e=await fetch("/api/coupons/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:t,amount:n})}),a=await e.json().catch(()=>({}));if(!e.ok||!a.ok)throw Error(a.error||"Cup\xf3n no v\xe1lido");let o=Number(a.finalAmount);to({code:a.code,discountAmount:a.discountAmount,originalAmount:a.originalAmount,finalAmount:a.finalAmount}),ti(String(a.code||"").trim()),eZ(o),q.setFieldsValue({amount:o}),(0,ey.UQ)("coupon_applied",{flow:"appointment",coupon_code:a.code,discount_amount:a.discountAmount,original_amount:a.originalAmount,final_amount:a.finalAmount,currency:"EUR",page_path:(0,ey.rz)()}),eV.success({message:"Cup\xf3n aplicado",description:"You save ".concat(eP(a.discountAmount))})}catch(t){to(null);let e=e9.find(e=>{var t;return String(e._id)===String(null!=(t=q.getFieldValue("doctorId"))?t:e1)});if(e){let t=Number(e.fee||0);eZ(t),q.setFieldsValue({amount:t})}eV.error({message:"Cup\xf3n no aplicado",description:eR(t,"Cup\xf3n no v\xe1lido")})}finally{ts(!1)}};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i(),{id:"4925f27faf262090",children:".success-modal-compact .ant-modal-content{border-radius:16px;overflow:hidden;box-shadow:0 12px 48px rgba(0,0,0,.15)}.success-modal-compact .ant-modal-body{padding:24px 28px}.success-modal-compact .ant-modal-close-x{width:48px;height:48px;line-height:48px;font-size:18px}@keyframes bounce{0%,100%{transform:translatey(0)scale(1)}50%{transform:translatey(-12px)scale(1.05)}}@keyframes slideIn{from{opacity:0;transform:translatey(-20px)scale(.95)}to{opacity:1;transform:translatey(0)scale(1)}}.success-modal-compact .ant-modal-content{animation:slideIn.3s ease-out}.ant-modal-mask,.ant-modal-wrap{z-index:9000!important}.ant-notification{z-index:99999!important}.ant-message{z-index:99999!important}.ant-notification-notice{z-index:99999!important}.appointment-form-phone-wrap{width:100%;max-width:100%;min-width:0;position:relative;overflow:visible}.appointment-form-phone-wrap .react-international-phone-input-container{width:100%!important;max-width:100%;min-width:0;box-sizing:border-box;overflow:visible!important}.appointment-form-phone-wrap .react-international-phone-input{flex:1 1 0!important;min-width:0!important;width:auto}.appointment-form-shell .ant-form-item{margin-bottom:24px}.appointment-form-stepper{padding:18px 18px 14px;border-bottom:1px solid rgba(13,24,48,.08)}.appointment-form-stepper__title.ant-typography{margin:0 0 4px!important;font-size:20px!important;font-weight:700!important;color:#0d1830!important;line-height:1.25!important}
1.appointment-form-stepper__subtitle.ant-typography{display:block;margin-bottom:14px!important;font-size:12px!important;line-height:1.45!important;color:rgba(13,24,48,.55)!important}.appointment-form-stepper__steps{max-width:100%;margin:0 auto}.appointment-form-stepper__mobile{display:none}.appointment-form-stepper__steps .ant-steps-item-title{font-size:12px!important;line-height:1.3!important}.appointment-form-stepper__steps .ant-steps-item-process .ant-steps-item-icon{background:#0092fe;border-color:#0092fe}.appointment-form-stepper__steps .ant-steps-item-finish .ant-steps-item-icon{border-color:#0092fe}.appointment-form-stepper__steps .ant-steps-item-finish .ant-steps-item-icon>.ant-steps-icon{color:#0092fe}.appointment-form-stepper__steps .ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#0092fe}.appointment-form-shell.is-service-booking .appointment-form-body{padding:16px 18px 8px}@media(max-width:767px){.appointment-form-stepper{padding:12px 10px 10px}.appointment-form-shell.is-service-booking .appointment-form-body{padding:10px 10px 4px!important}.appointment-form-stepper__title.ant-typography{font-size:18px!important}.appointment-form-stepper__subtitle.ant-typography{margin-bottom:12px!important}.appointment-form-stepper__steps{display:none!important}.appointment-form-stepper__mobile{display:block}.appointment-form-stepper__mobile-label{font-size:15px;font-weight:600;color:#0d1830;margin-bottom:10px;line-height:1.35}.appointment-form-stepper__mobile-current{font-weight:500;color:rgba(13,24,48,.55)}.appointment-form-stepper__mobile-bars{display:flex;gap:8px}.appointment-form-stepper__mobile-bar{flex:1;height:4px;border-radius:999px;background:rgba(13,24,48,.12);transition:background-color.25s ease}.appointment-form-stepper__mobile-bar.is-active{background:#0d1830}}.appointment-form-shell .ant-form-item-label{padding:0 0 2px 0!important;line-height:20px!important;height:22px!important;display:flex;align-items:flex-end}.appointment-form-shell .ant-form-item-label>label{font-size:14px;font-weight:500;color:#0D1830;letter-spacing:0;height:20px!important;line-height:20px!important;display:inline-flex;align-items:center}.appointment-form-shell .ant-form-item-required::before{margin-right:4px!important;line-height:20px!important;display:inline-flex;align-items:center}.appointment-form-shell .ant-form-item-label>label::after{display:none}.appointment-form-shell .ant-form-item .ant-form-item-explain,.appointment-form-shell .ant-form-item .ant-form-item-explain-error,.appointment-form-shell .ant-form-item .ant-form-item-explain-warning,.appointment-form-shell .ant-form-item .ant-form-item-explain-connected,.appointment-form-shell .ant-form-item .ant-form-item-extra{font-size:12px;line-height:1.4!important;margin-top:5px!important;padding-top:0!important;min-height:0!important}.appointment-form-shell .ant-input,.appointment-form-shell .ant-input-affix-wrapper,.appointment-form-shell .ant-input-number,.appointment-form-shell .ant-input-number-input,.appointment-form-shell .ant-select:not(.ant-select-customize-input) .ant-select-selector,.appointment-form-shell .ant-picker,.appointment-form-shell .react-international-phone-input-container{height:56px!important;box-sizing:border-box!important;border-radius:12px!important;background-color:rgba(13,24,48,.06)!important;border:1px solid transparent!important;box-shadow:none!important;transition:background-color.18s ease,border-color.18s ease,box-shadow.18s ease}.appointment-form-shell .ant-select,.appointment-form-shell .ant-select-single{height:56px!important;box-sizing:border-box!important}.appointment-form-shell .ant-form-item-control-input{min-height:56px!important}.appointment-form-shell .ant-input,.appointment-form-shell .ant-input-number-input,.appointment-form-shell .ant-select:not(.ant-select-customize-input) .ant-select-selector,.appointment-form-shell .ant-picker{padding-left:20px!important;padding-right:20px!important}.appointment-form-shell .ant-input-affix-wrapper{padding:0 20px!important;display:flex;align-items:center}.appointment-form-shell .ant-input-affix-wrapper>.ant-input{background:transparent!important;border:0!important;padding:0 0 0 12px!important;height:100%!important;box-shadow:none!important}.appointment-form-shell .ant-input-affix-wrapper>.ant-input-prefix{color:rgba(13,24,48,.45);font-size:16px}.appointment-form-shell .ant-input,.appointment-form-shell .ant-input-number-input,.appointment-form-shell .ant-picker-input>input,.appointment-form-shell .ant-select-selection-item,.appointment-form-shell .ant-select-selection-
1placeholder,.appointment-form-shell .ant-input-affix-wrapper>.ant-input{font-size:15px;color:#0D1830}.appointment-form-shell .ant-input::placeholder,.appointment-form-shell .ant-input-number-input::placeholder,.appointment-form-shell .ant-picker-input>input::placeholder,.appointment-form-shell .ant-select-selection-placeholder{color:rgba(13,24,48,.4)!important}.appointment-form-shell .ant-select:not(.ant-select-customize-input) .ant-select-selector{display:flex!important;align-items:center!important;padding-top:0!important;padding-bottom:0!important}.appointment-form-shell .ant-select-single .ant-select-selector .ant-select-selection-item,.appointment-form-shell .ant-select-single .ant-select-selector .ant-select-selection-placeholder{line-height:1.4!important;display:flex;align-items:center;height:100%}.appointment-form-shell .ant-select-single .ant-select-selector .ant-select-selection-search{inset-inline-start:20px;inset-inline-end:40px;top:0;bottom:0;display:flex;align-items:center}.appointment-form-shell .ant-select-single .ant-select-selector .ant-select-selection-search-input{height:100%!important;line-height:1.4!important}.appointment-form-shell .ant-select-arrow{color:rgba(13,24,48,.55);right:18px;margin-top:0;top:50%;transform:translatey(-50%)}.appointment-form-shell .ant-select-multiple .ant-select-selector{padding:0 20px!important;min-height:56px!important}.appointment-form-shell .ant-select-multiple .ant-select-selection-overflow{align-items:center;min-height:56px}.appointment-form-shell .ant-select-multiple .ant-select-selection-placeholder{inset-inline-start:20px;inset-inline-end:40px;top:50%;transform:translatey(-50%);line-height:1.4}.appointment-form-shell .ant-select-multiple .ant-select-selection-search{margin-inline-start:0}.appointment-form-shell .ant-select-multiple .ant-select-selection-search-input{height:32px!important;line-height:32px!important}.appointment-form-shell .ant-picker-suffix{color:rgba(13,24,48,.55)}.appointment-form-shell .ant-picker-input>input{line-height:1.4}.appointment-form-shell .ant-input:hover,.appointment-form-shell .ant-input-affix-wrapper:hover,.appointment-form-shell .ant-input-number:hover,.appointment-form-shell .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):hover .ant-select-selector,.appointment-form-shell .ant-picker:not(.ant-picker-disabled):hover{background-color:rgba(13,24,48,.08)!important;border-color:transparent!important}.appointment-form-shell .ant-input:focus,.appointment-form-shell .ant-input-affix-wrapper-focused,.appointment-form-shell .ant-input-number-focused,.appointment-form-shell .ant-select-focused:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector,.appointment-form-shell .ant-picker-focused{background-color:#FFF!important;border-color:rgba(0,146,254,.5)!important;box-shadow:0 0 0 3px rgba(0,146,254,.15)!important}.appointment-form-shell textarea.ant-input{height:auto!important;min-height:96px;padding:16px 20px!important;line-height:1.5}.appointment-form-shell .react-international-phone-input-container{padding:0!important;position:relative}.appointment-form-shell .react-international-phone-input,.appointment-form-shell .react-international-phone-country-selector-button{height:56px!important;background:transparent!important;border:0!important;font-size:15px;color:#0D1830}.appointment-form-shell .react-international-phone-input{padding:0 16px 0 4px!important}.appointment-form-shell .react-international-phone-country-selector-button{padding:0 4px 0 16px!important}.appointment-form-shell .react-international-phone-country-selector-button__dropdown-arrow{margin-left:2px!important}.appointment-form-shell .react-international-phone-country-selector-button__button-content{gap:4px!important}.appointment-form-shell .react-international-phone-input-container .react-international-phone-country-selector{border-right:0!important}.appointment-form-shell .react-international-phone-country-selector-dropdown{position:absolute!important;top:calc(100% + 6px)!important;left:0!important;z-index:1300!important;width:min(360px,calc(100vw - 32px))!important;max-height:300px!important;overflow-y:auto!important;margin:0!important;padding:6px!important;background:#FFF!important;border:1px solid rgba(13,24,48,.08)!important;border-radius:12px!important;box-shadow:0 12px 32px rgba(13,24,48,.14),0 2px 6px rgba(13,24,48,.06)!important}.appointment-form-shell .react-international-phone-country-selector-dropdown__list-item{height:40px!important;min-height:40px!important;padding:0 10px!important;border-radius:8px!important;display:flex;align-items:center;gap:10px;font-size:14px;color:#0D1830;background:transparent!important;cursor:pointer}.appointment-form-shell .react-international-phone-country-selector-dropdown__list-item:hover,.appointment-form-shell .react-international-phone-country-selector-dropdown__list-item--focused{background:rgba(13,24,48,.06)!important}.appointment-form-shell .react-international-phone-country-selector-dropdown__list-item--selected{background:rgba(0,146,254,.1)!important;color:#0D1830}.appointment-form-shell .react-international-phone-country-selector-dropdown__list-item-flag-emoji,.appointment-form-shell .react-international-phone-country-selector-dropdown__list-item-country-name,.appointment-form-shell .react-international-phone-country-selector-dropdown__list-item-dial-code{font-size:14px!important;line-height:1.2!important}.appointment-form-shell .react-international-phone-country-selector-dropdown__list-item-dial-code{c
1olor:rgba(13,24,48,.55)!important;margin-left:auto}.appointment-form-shell .ant-btn-primary{background-color:#0092FE;border-color:#0092FE;height:48px;padding:0 28px;border-radius:999px;font-weight:500;box-shadow:0 4px 14px rgba(0,146,254,.25)}.appointment-form-shell .ant-btn-primary:hover,.appointment-form-shell .ant-btn-primary:focus{background-color:#007ED9!important;border-color:#007ED9!important}.appointment-form-shell .ant-btn-default{height:48px;padding:0 24px;border-radius:999px;border-color:rgba(13,24,48,.18);color:#0D1830;background:transparent}.appointment-form-shell .ant-btn-default:hover{border-color:rgba(13,24,48,.4)!important;color:#0D1830!important;background:rgba(13,24,48,.04)!important}.appointment-form-shell .ant-btn-link{color:#0D1830;font-weight:500}.appointment-form-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;width:100%}.appointment-form-actions__group{display:flex;align-items:center;gap:8px}.appointment-form-actions__group--start{flex-wrap:wrap}.appointment-form-actions__group--end{flex-wrap:wrap}@media(max-width:599px){.appointment-form-actions{flex-wrap:wrap;align-items:center;gap:8px}.appointment-form-actions__group--start,.appointment-form-actions__group--end{display:contents}.appointment-form-actions__back,.appointment-form-actions__save,.appointment-form-actions__next{flex:1 1 calc(33.333% - 6px);min-width:0;padding:0 10px!important;font-size:14px!important}.appointment-form-actions__back{order:1}.appointment-form-actions__save{order:2}.appointment-form-actions__next{order:3}.appointment-form-actions__clear{order:4;flex:0 0 100%;width:auto!important;height:auto!important;min-height:0!important;padding:0!important;margin-top:4px;border:none!important;background:transparent!important;box-shadow:none!important;color:rgba(13,24,48,.72)!important;font-weight:500!important;font-size:15px!important;justify-content:flex-start}.appointment-form-actions__clear:hover{color:#0D1830!important;background:transparent!important}}.appointment-form-clear-modal .ant-modal-confirm-title{font-size:20px!important;font-weight:600!important;color:#0D1830!important}.appointment-form-clear-modal .ant-modal-confirm-content{color:rgba(13,24,48,.72)!important;font-size:15px!important;line-height:1.55!important;margin-top:8px!important}.appointment-form-clear-modal .ant-modal-confirm-btns{margin-top:24px!important}.appointment-form-clear-modal .ant-modal-confirm-btns .ant-btn{height:44px;padding:0 22px;border-radius:999px;font-weight:500}.appointment-form-clear-modal .ant-modal-confirm-btns .ant-btn-default{border-color:rgba(13,24,48,.18);color:#0D1830}.appointment-form-clear-modal .ant-modal-confirm-btns .ant-btn-dangerous{border-radius:999px}.appointment-form-shell.ant-card{border:none!important;background:transparent!important;box-shadow:none!important}.appointment-form-shell .ant-card-body{padding:0!important}.appointment-form-shell .ant-divider{border-color:rgba(13,24,48,.1)}.appointment-form-body{padding:4px 0}@media(min-width:600px){.appointment-form-body{padding:8px 8px}}@media(min-width:900px){.appointment-form-body{padding:16px}}.appointment-form-shell h4.ant-typography,.appointment-form-shell .ant-typography h4{font-size:20px;font-weight:500;color:#0D1830;margin-top:0!important;margin-bottom:12px!important}.appointment-form-shell h5.ant-typography,.appointment-form-shell .ant-typography h5{font-size:17px;font-weight:500;color:#0D1830}.appointment-form-shell .payment-summary{background-color:#EBFFEB;border-radius:16px;padding:20px 22px;margin-bottom:16px}.appointment-form-shell .payment-summary__service{font-size:15px;color:#0D1830;margin-bottom:14px;line-height:1.4}.appointment-form-shell .payment-summary__service-label{font-weight:600}.appointment-form-shell .payment-summary__service-value{font-weight:500}.appointment-form-shell .payment-summary__total{font-size:16px;font-weight:600;color:#2BB800;margin-top:14px;line-height:1.3;letter-spacing:-.005em}.appointment-form-shell .payment-summary__total-label{color:#2BB800}.appointment-form-shell .payment-summary__total-value{font-weight:700}.appointment-form-shell .payment-summary__coupon-note{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13px;color:rgba(13,24,48,.7);margin:10px 0 0}.appointment-form-shell .payment-summary__coupon-old{text-decoration:line-through;color:rgba(13,24,48,.45)}.appointment-form-shell .payment-summary__coupon-saving{color:#2BB800;font-weight:600}.appointment-form-shell .payment-summary__coupon-remove.ant-btn-l
1ink{padding:0;height:auto;color:#D14343;font-weight:500}.appointment-form-shell .payment-summary__coupon-remove.ant-btn-link:hover{color:#A52929!important}.appointment-form-shell .payment-coupon{display:flex;align-items:stretch;background-color:#FFF;border-radius:12px;overflow:hidden;box-shadow:0 1px 0 rgba(13,24,48,.04)}.appointment-form-shell .payment-coupon .payment-coupon__input.ant-input,.appointment-form-shell .payment-coupon .payment-coupon__input.ant-input-affix-wrapper{flex:1;height:52px!important;background-color:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:0 18px!important;font-size:15px}.appointment-form-shell .payment-coupon .ant-input{height:100%!important;background-color:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.appointment-form-shell .payment-coupon__apply.ant-btn-link{flex:0 0 auto;height:52px;padding:0 28px;color:#0092FE;font-weight:600;font-size:15px;border-radius:0;border-left:1px solid rgba(13,24,48,.08)}.appointment-form-shell .payment-coupon__apply.ant-btn-link:hover:not(:disabled){color:#007ED9!important;background-color:rgba(0,146,254,.04)!important}.appointment-form-shell .payment-coupon__apply.ant-btn-link:disabled,.appointment-form-shell .payment-coupon__apply.ant-btn-link.ant-btn-disabled{color:rgba(13,24,48,.3)!important;background-color:transparent!important}.appointment-form-shell .payment-card-field{margin-bottom:8px}.appointment-form-shell .payment-card-field__label{display:block;font-size:14px;font-weight:600;color:#0D1830;margin-bottom:8px}.appointment-form-shell .payment-card-field>div>div{background-color:rgba(13,24,48,.04)!important;border-radius:12px!important;border:1px solid transparent!important;min-height:56px!important;padding:18px 18px!important;transition:background-color.18s ease,border-color.18s ease,box-shadow.18s ease}.appointment-form-shell .payment-card-field>div>div:focus-within{background-color:rgba(13,24,48,.06)!important;border-color:rgba(0,146,254,.5)!important;box-shadow:0 0 0 3px rgba(0,146,254,.12)!important}.appointment-form-shell .payment-authorize{margin-top:18px!important;margin-bottom:18px!important}.appointment-form-shell .payment-authorize .ant-form-item-control-input{min-height:auto!important}.appointment-form-shell .payment-authorize .ant-checkbox-wrapper{align-items:flex-start;font-size:14.5px;color:#0D1830;line-height:1.5}.appointment-form-shell .payment-authorize .ant-checkbox{top:2px;margin-right:8px}.appointment-form-shell .payment-authorize .ant-checkbox-inner{width:22px;height:22px;border-radius:6px;border-color:rgba(13,24,48,.25);background-color:#FFF}.appointment-form-shell .payment-authorize .ant-checkbox-wrapper:hover .ant-checkbox-inner{border-color:#0092FE}.appointment-form-shell .payment-authorize .ant-checkbox-checked .ant-checkbox-inner{background-color:#0092FE;border-color:#0092FE}.appointment-form-shell .payment-authorize .ant-checkbox-checked .ant-checkbox-inner::after{inset-inline-start:27%;width:7px;height:12px;border-color:#FFF}.appointment-form-shell .payment-authorize .ant-checkbox-wrapper a{color:#0092FE;font-weight:600;text-decoration:underline;text-underline-offset:3px}.appointment-form-shell .payment-authorize .ant-checkbox-wrapper a:hover{color:#007ED9}.appointment-form-shell .payment-authorize .ant-form-item-explain,.appointment-form-shell .payment-authorize .ant-form-item-explain-error{margin-top:8px!important;margin-bottom:12px!important;font-size:13px;line-height:1.45}.appointment-form-shell .payment-submit-btn.ant-btn-primary{height:56px;padding:0 24px;border-radius:999px;font-size:15px;font-weight:600;background-color:#0092FE;border-color:#0092FE;box-shadow:0 6px 18px rgba(0,146,254,.28)}.appointment-form-shell .payment-submit-btn.ant-btn-primary:not(:disabled):hover{background-color:#007ED9!important;border-color:#007ED9!important}.appointment-form-shell .payment-loading{text-align:center;padding:36px 16px 32px;background-color:rgba(13,24,48,.03);border-radius:16px;margin-bottom:16px}.appointment-form-shell .payment-loading__primary{margin:16px 0 4px;color:rgba(13,24,48,.7);font-size:14.5px}.appointment-form-shell .payment-loading__secondary{margin:0;color:rgba(13,24,48,.45);font-size:12.5px}@media(max-width:480px){.appointment-form-shell .payment-summary{padding:16px 18px}.appointment-form-shell .payment-summary__service{font-size:14.5px}.appointment-form-shell .payment-summary__total{font-size:15.5px}.appointment-form-shell .payment-coupon .payment-coupon__input.ant-input,.appointment-form-shell .payment-coupon .payment-coupon__input.ant-input-affix-wrapper,.appointment-form-shell .payment-coupon__apply.ant-btn-l
1ink{height:48px!important}.appointment-form-shell .payment-coupon__apply.ant-btn-link{padding:0 20px}.appointment-form-shell .payment-submit-btn.ant-btn-primary{height:52px;font-size:14.5px}}.auth-mode-dialog .ant-modal-content{border-radius:20px!important;padding:28px 0 16px!important;box-shadow:0 24px 64px rgba(13,24,48,.18)!important}.auth-mode-dialog .ant-modal-close{top:16px;inset-inline-end:16px;color:rgba(13,24,48,.5);transition:color.18s ease}.auth-mode-dialog .ant-modal-close:hover{color:#0D1830}.auth-mode-dialog .ant-modal-footer{border-top:none;padding:8px 28px 16px;margin-top:4px}.auth-mode-dialog__body{text-align:center;padding-top:0}.auth-mode-dialog__badge{width:56px;height:56px;margin:0 auto 14px;border-radius:999px;background:#E6F2FF;color:#0092FE;display:flex;align-items:center;justify-content:center}.auth-mode-dialog__title{font-size:20px;font-weight:600;color:#0D1830;margin:0 0 6px;line-height:1.25}.auth-mode-dialog__subtitle{font-size:14px;color:rgba(13,24,48,.6);margin:0 0 22px;line-height:1.5}.auth-mode-dialog__options{display:flex;flex-direction:column;gap:14px;margin-bottom:4px}.auth-mode-card{all:unset;display:block;width:100%;box-sizing:border-box;padding:16px 18px;background:#FFF;border:1.5px solid rgba(13,24,48,.1);border-radius:14px;text-align:left;cursor:pointer;transition:border-color.18s ease,background-color.18s ease,box-shadow.18s ease,transform.12s ease}.auth-mode-card:hover{border-color:rgba(0,146,254,.45);background:#F8FBFF}.auth-mode-card:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(0,146,254,.25)}.auth-mode-card.is-selected{border-color:#0092FE;background:#F0F7FF;box-shadow:0 4px 14px rgba(0,146,254,.12)}.auth-mode-card__head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.auth-mode-card__radio{flex:0 0 auto;width:20px;height:20px;border:1.5px solid rgba(13,24,48,.3);border-radius:999px;background:#FFF;display:flex;align-items:center;justify-content:center;transition:border-color.18s ease,background-color.18s ease}.auth-mode-card.is-selected .auth-mode-card__radio{border-color:#0092FE;background:#0092FE}.auth-mode-card__radio-dot{width:7px;height:7px;border-radius:999px;background:#FFF;opacity:0;transition:opacity.18s ease}.auth-mode-card.is-selected .auth-mode-card__radio-dot{opacity:1}.auth-mode-card__icon{flex:0 0 auto;color:rgba(13,24,48,.5);font-size:18px;display:inline-flex;align-items:center}.auth-mode-card.is-selected .auth-mode-card__icon{color:#0092FE}.auth-mode-card__title{font-size:16px;font-weight:600;color:#0D1830}.auth-mode-card__desc{margin:0 0 12px;font-size:13px;line-height:1.5;color:rgba(13,24,48,.6)}.auth-mode-card__features{list-style:none;margin:0;padding:0;display:grid;gap:6px}.auth-mode-card__features li{position:relative;padding-left:22px;font-size:13px;color:rgba(13,24,48,.78);line-height:1.45}.auth-mode-card__features li::before{content:\"\";position:absolute;left:4px;top:7px;width:6px;height:10px;border-right:1.8px solid#22C55E;border-bottom:1.8px solid#22C55E;transform:rotate(45deg);opacity:.75}.auth-mode-card.is-selected .auth-mode-card__features li::before{opacity:1}.auth-mode-card__features--muted li::before{border-color:rgba(13,24,48,.35)}.auth-mode-dialog__footer{display:flex;justify-content:flex-end;gap:10px;width:100%}.auth-mode-dialog__btn.ant-btn{height:44px;padding:0 22px;border-radius:999px;font-weight:500}.auth-mode-dialog__btn--ghost.ant-btn{background:transparent;border-color:rgba(13,24,48,.18);color:#0D1830}.auth-mode-dialog__btn--ghost.ant-btn:hover{background:rgba(13,24,48,.04)!important;border-color:rgba(13,24,48,.35)!important;color:#0D1830!important}.auth-mode-dialog__btn--primary.ant-btn-primary{background:#0092FE;border-color:#0092FE;box-shadow:0 4px 14px rgba(0,146,254,.25)}.auth-mode-dialog__btn--primary.ant-btn-primary:not(:disabled):hover{background:#007ED9!important;border-color:#007ED9!important}.auth-mode-dialog__btn--primary.ant-btn-primary:disabled{background:rgba(13,24,48,.08);border-color:transparent;color:rgba(13,24,48,.4);box-shadow:none}.otp-verify-dialog{max-width:calc(100vw - 24px)}.otp-verify-dialog .ant-modal-content{border-radius:20px!important;padding:22px 24px 18px!important;box-shadow:0 24px 64px rgba(13,24,48,.18)!important}.otp-verify-dialog .ant-modal-header{padding:0!important;margin-bottom:14px!important;background:transparent!important;border-bottom:none!important}.otp-verify-dialog .ant-modal-body{padding:0!important}.otp-verify-dialog .ant-modal-close{top:16px;inset-inline-end:16px;color:rgba(13,24,48,.5)}
1.otp-verify-dialog .ant-modal-close:hover{color:#0D1830}.otp-verify-dialog__title{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:600;color:#0D1830}.otp-verify-dialog__title-icon{color:#0092FE;font-size:22px}.otp-verify-dialog__field{margin-bottom:20px}.otp-verify-dialog__label{display:block;font-size:14px;font-weight:600;color:#0D1830;margin-bottom:8px}.otp-verify-dialog__field .ant-input-affix-wrapper{height:56px!important;box-sizing:border-box;border-radius:12px!important;background-color:rgba(13,24,48,.04)!important;border:1px solid transparent!important;box-shadow:none!important;padding:0 16px!important}.otp-verify-dialog__field .ant-input-affix-wrapper:hover,.otp-verify-dialog__field .ant-input-affix-wrapper:focus-within{background-color:rgba(13,24,48,.06)!important;border-color:rgba(0,146,254,.5)!important;box-shadow:0 0 0 3px rgba(0,146,254,.12)!important}.otp-verify-dialog__field .ant-input-affix-wrapper .ant-input{background:transparent!important;font-size:16px;letter-spacing:.18em}.otp-verify-dialog__field .ant-input-prefix{color:rgba(13,24,48,.45);margin-inline-end:10px}.otp-verify-dialog__resend-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:10px;padding-left:2px;font-size:13px;color:rgba(13,24,48,.6)}.otp-verify-dialog__resend-hint{color:rgba(13,24,48,.55)}.otp-verify-dialog__resend.ant-btn-link{padding:0;height:auto;color:#0092FE;font-weight:500;font-size:13px;font-variant-numeric:tabular-nums}.otp-verify-dialog__resend.ant-btn-link:hover:not(:disabled){color:#007ED9!important}.otp-verify-dialog__resend.ant-btn-link:disabled,.otp-verify-dialog__resend.ant-btn-link.ant-btn-disabled{color:rgba(13,24,48,.4)!important;cursor:not-allowed}.otp-verify-dialog__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:18px;margin-top:4px}@media(max-width:480px){.otp-verify-dialog .ant-modal-content{padding:20px 18px 16px!important}.otp-verify-dialog__actions .auth-mode-dialog__btn.ant-btn{flex:1;padding:0 14px;min-width:0}}.password-setup-dialog{max-width:calc(100vw - 24px)}.password-setup-dialog .ant-modal-content{border-radius:20px!important;padding:22px 24px 18px!important;box-shadow:0 24px 64px rgba(13,24,48,.18)!important}.password-setup-dialog .ant-modal-header{padding:0!important;margin-bottom:14px!important;background:transparent!important;border-bottom:none!important}.password-setup-dialog .ant-modal-body{padding:0!important}.password-setup-dialog .ant-modal-close{top:16px;inset-inline-end:16px;color:rgba(13,24,48,.5)}.password-setup-dialog .ant-modal-close:hover{color:#0D1830}.password-setup-dialog__title{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:600;color:#0D1830}.password-setup-dialog__title-icon{color:#0092FE;font-size:22px}.password-setup-dialog__field{margin-top:18px}.password-setup-dialog__label{display:block;font-size:14px;font-weight:600;color:#0D1830;margin-bottom:8px}.password-setup-dialog__field .ant-input-affix-wrapper{height:56px!important;box-sizing:border-box;border-radius:12px!important;background-color:rgba(13,24,48,.04)!important;border:1px solid transparent!important;box-shadow:none!important;padding:0 16px!important}.password-setup-dialog__field .ant-input-affix-wrapper:hover,.password-setup-dialog__field .ant-input-affix-wrapper:focus-within{background-color:rgba(13,24,48,.06)!important;border-color:rgba(0,146,254,.5)!important;box-shadow:0 0 0 3px rgba(0,146,254,.12)!important}.password-setup-dialog__field .ant-input-affix-wrapper .ant-input{background:transparent!important;font-size:15px}.password-setup-dialog__field .ant-input-prefix{color:rgba(13,24,48,.45);margin-inline-end:10px}.password-setup-dialog__match-error{margin:8px 0 0;font-size:13px;color:#DC2626}.password-setup-dialog__rules{margin:14px 0 4px;padding:14px 16px;list-style:none;background:rgba(13,24,48,.03);border-radius:12px;display:grid;gap:8px}.password-setup-dialog__rule{display:flex;align-items:center;gap:10px;font-size:13.5px;color:rgba(13,24,48,.7);transition:color.15s ease}.password-setup-dialog__rule-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:rgba(13,24,48,.12);color:#FFF;font-size:11px;font-weight:700;line-height:1;transition:background-color.15s ease}.password-setup-dialog__rule.is-met{color:#15803D;font-weight:500}.password-setup-dialog__rule.is-met .password-setup-dialog__rule-icon{background-color:#22C55E}.password-setup-dialog__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:20px;margin-top:4px}@media(max-width:480px){.password-setup-dialog .ant-modal-content{padding:20px 18px 16px!important}.password-setup-dialog__rules{padding:12px 14px}.password-setup-dialog__actions .auth-mode-dialog__btn.ant-btn{flex:1;padding:0 14px;min-width:0}}.booking-success-dialog{max-width:calc(100vw - 24px)}.booking-success-dialog .ant-modal-content{border-radius:20px!important;padding:26px 26px 22px!important;box-shadow:0 28px 72px rgba(13,24,48,.22)!important;overflow:hidden}.booking-success-dialog .ant-modal-body{padding:0!important}.booking-success-dialog .ant-modal-close{top:14px;inset-inline-end:14px;color:rgba(13,24,48,.45)}
1.booking-success-dialog .ant-modal-close:hover{color:#0D1830}.booking-success-dialog__body{display:flex;flex-direction:column;gap:18px}.booking-success-dialog__header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:4px}.booking-success-dialog__badge{width:64px;height:64px;border-radius:50%;background:radial-gradient(120%120%at 30%25%,rgba(255,255,255,.6)0%,rgba(255,255,255,0)60%),#22C55E;color:#FFF;display:inline-flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 12px 28px rgba(34,197,94,.32)}.booking-success-dialog__title{margin:0;font-size:20px;font-weight:700;color:#0D1830;letter-spacing:-.01em}.booking-success-dialog__subtitle{margin:0;font-size:14px;color:rgba(13,24,48,.65);display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.booking-success-dialog__dot{color:rgba(13,24,48,.3)}.booking-success-dialog__amount{color:#0D1830;font-weight:600}.booking-success-dialog__meeting{background:#E6F2FF;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px}.booking-success-dialog__meeting-header{display:flex;align-items:center;gap:10px;color:#0D1830;font-weight:600;font-size:14px}.booking-success-dialog__meeting-header .anticon{color:#0092FE;font-size:18px}.booking-success-dialog__meeting-url{background:#FFF;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;border:1px solid rgba(13,24,48,.06)}.booking-success-dialog__meeting-url-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:rgba(13,24,48,.5);font-weight:600}.booking-success-dialog__meeting-url-value{font-size:12.5px;font-family:\"SFMono-Regular\",Menlo,Consolas,monospace;color:#0D1830;word-break:break-all;line-height:1.45}.booking-success-dialog__meeting-actions{display:flex;gap:8px}.booking-success-dialog__join-btn.ant-btn-primary{flex:1 1 auto}.booking-success-dialog__copy-btn.ant-btn{flex:0 0 auto}.booking-success-dialog__meeting-hint{margin:0;font-size:12px;color:rgba(13,24,48,.55);text-align:center}.booking-success-dialog__actions{display:flex;flex-direction:column;gap:8px}.booking-success-dialog__action.ant-btn{width:100%;justify-content:flex-start;gap:10px;height:48px;padding:0 16px;font-weight:500}.booking-success-dialog__action.ant-btn .anticon{color:#0092FE;font-size:16px}.booking-success-dialog__secondary.ant-btn{height:40px;color:rgba(13,24,48,.65);font-weight:500}.booking-success-dialog__secondary.ant-btn:hover{color:#0092FE!important;background:transparent!important}.booking-success-dialog__confirmation{background:#E8F8EE;border-radius:12px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px}.booking-success-dialog__confirmation-icon{color:#22C55E;font-size:18px;margin-top:2px;flex:none}.booking-success-dialog__confirmation-title{margin:0;font-size:13.5px;color:#0D1830;font-weight:500;word-break:break-word}.booking-success-dialog__confirmation-meta{margin:4px 0 0;font-size:12px;color:rgba(13,24,48,.6);line-height:1.5}@media(max-width:480px){.booking-success-dialog .ant-modal-content{padding:22px 18px 18px!important}.booking-success-dialog__meeting{padding:14px}.booking-success-dialog__meeting-actions{flex-wrap:wrap}.booking-success-dialog__copy-btn.ant-btn{flex:1 1 auto}.booking-success-dialog__action.ant-btn{height:46px}}.appointment-form-shell .appointment-form-info-alert{background-color:#E6F2FF!important;border:none!important;border-radius:16px!important;padding:18px 20px!important;align-items:flex-start!important;box-shadow:none!important}.appointment-form-shell .appointment-form-info-alert .ant-alert-icon{color:#0092FE!important;font-size:22px!important;margin-right:14px!important;margin-top:2px!important}.appointment-form-shell .appointment-form-info-alert .ant-alert-message{color:#0D1830!important;font-weight:600!important;font-size:15px!important;margin-bottom:4px!important}.appointment-form-shell .appointment-form-info-alert .ant-alert-description{color:rgba(13,24,48,.7)!important;font-size:14px!important;line-height:1.5!important}.appointment-form-shell .appointment-form-info-alert--success{background-color:#E8F8EE!important}.appointment-form-shell .appointment-form-info-alert--success .ant-alert-icon{color:#22C55E!important}.appointment-form-shell .verification-status-card{margin-top:20px;padding:20px;background:linear-gradient(180deg,#F6F9FF 0%,#FFF 100%);border:1px solid rgba(13,24,48,.08);border-radius:16px;box-shadow:0 1px 2px rgba(13,24,48,.04)}.appointment-form-shell .verification-status-card__header{display:flex;align-items:center;gap:10px;color:#0D1830;font-weight:600;font-size:15px;margin-bottom:14px}.appointment-form-shell .verification-status-card__header-icon{color:#0092FE;font-size:18px}.appointment-form-shell .verification-status-card__body{color:rgba(13,24,48,.78)}.appointment-form-shell .verification-status-card__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.appointment-form-shell .verification-status-card__list li{position:relative;padding-left:24px;font-size:14px;line-height:1.5}.appointment-form-shell .verification-status-card__list li::before{content:\"\";position:absolute;
1left:0;top:4px;width:16px;height:16px;border-radius:50%;background-color:#22C55E;background-image:url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'><path d='M4 8.5L7 11L12 5.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>\");background-repeat:no-repeat;background-position:center;background-size:16px 16px}.appointment-form-shell .verification-status-card__note{margin:10px 0 0;font-size:12.5px;color:rgba(13,24,48,.55)}.appointment-form-shell .verification-status-card__proceeding{margin-top:14px;padding-top:12px;border-top:1px solid rgba(13,24,48,.08);display:flex;align-items:center;gap:10px;color:#0092FE;font-weight:600;font-size:14px}.appointment-form-shell .verification-status-card__progress{margin-top:14px;padding-top:12px;border-top:1px solid rgba(13,24,48,.08);display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13.5px;font-weight:500;color:rgba(13,24,48,.78)}.appointment-form-shell .verification-status-card__progress>span{flex:1 1 auto;min-width:0}.appointment-form-shell .verification-status-card__progress .ant-spin-dot-item{background-color:#0092FE}@media(max-width:600px){.appointment-form-shell .verification-status-card__progress{justify-content:flex-start}}.appointment-form-shell .verification-status-card__ready{margin-top:14px;padding-top:12px;border-top:1px solid rgba(13,24,48,.08);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;font-size:13.5px;color:rgba(13,24,48,.7)}.appointment-form-shell .verification-status-card__change-btn{padding:0!important;height:auto!important;font-weight:600!important;color:#0092FE!important}.appointment-form-shell .verification-status-card__change-btn:hover{color:#007ED9!important}@media(max-width:600px){.appointment-form-shell .verification-status-card{padding:16px}.appointment-form-shell .verification-status-card__ready{justify-content:flex-start}}.appointment-form-shell .appointment-form-consents .ant-form-item{margin-bottom:14px!important}.appointment-form-shell .appointment-form-consents .ant-form-item-control-input{min-height:auto!important}.appointment-form-shell .appointment-form-consents .ant-checkbox-wrapper{align-items:flex-start;font-size:15px;color:#0D1830;line-height:1.5}.appointment-form-shell .appointment-form-consents .ant-checkbox{top:2px;margin-right:6px}.appointment-form-shell .appointment-form-consents .ant-checkbox-inner{width:22px;height:22px;border-radius:6px;border-color:rgba(13,24,48,.25);background-color:#FFF;transition:all.18s ease}.appointment-form-shell .appointment-form-consents .ant-checkbox-wrapper:hover .ant-checkbox-inner{border-color:#0092FE}.appointment-form-shell .appointment-form-consents .ant-checkbox-checked .ant-checkbox-inner{background-color:#0092FE;border-color:#0092FE}.appointment-form-shell .appointment-form-consents .ant-checkbox-checked .ant-checkbox-inner::after{inset-inline-start:27%;width:7px;height:12px;border-color:#FFF}.appointment-form-shell .appointment-form-consents .ant-checkbox-wrapper a{color:#0092FE;font-weight:600;text-decoration:underline;text-underline-offset:3px}.appointment-form-shell .appointment-form-consents .ant-checkbox-wrapper a:hover{color:#007ED9}.appointment-form-radio-group{display:flex!important;flex-wrap:wrap;gap:12px 28px;padding:4px 0}.appointment-form-radio-group .ant-radio-wrapper{margin:0!important;font-size:15px;color:#0D1830;display:inline-flex;align-items:center}.appointment-form-radio-group .ant-radio{margin-right:4px}.appointment-form-radio-group .ant-radio-inner{width:20px;height:20px;border-color:rgba(13,24,48,.35);background-color:transparent}.appointment-form-radio-group .ant-radio-checked .ant-radio-inner{border-color:#0D1830;background-color:#0D1830}.appointment-form-radio-group .ant-radio-checked .ant-radio-inner::after{background-color:#FFF;transform:scale(.5)}.appointment-form-radio-group .ant-radio-wrapper:hover .ant-radio-inner{border-color:#0D1830}"}),(0,o.jsx)(en.default,{id:ep.oe,component:"section","aria-label":"Pedir cita",sx:{px:ah?{xs:"10px",sm:"16px",md:"36px",lg:"48px"}:{xs:"18px",sm:"38px",md:"44px",lg:"48px"},pt:n?{xs:3,md:5}:{xs:4,md:8},pb:{xs:4,md:8}},children:(0,o.jsxs)(en.default,{sx:{mx:"auto"},children:[n&&!M&&(!ah||!ap&&!am)&&(0,o.jsx)(en.default,{sx:{mb:{xs:2.5,md:3},maxWidth:720},children:(0,o.jsxs)(ei.default,{sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontSize:{xs:"14px",md:"15px"},color:"rgba(13,24,48,0.62)",lineHeight:1.55},children:["Las consultas desde ",ed.I8,". El precio exacto se confirma antes del pago â sin costes ocultos."]})}),!n&&(0,o.jsxs)(en.default,{sx:{mb:{xs:4,md:5},maxWidth:720},children:[(0,o.jsx)(ei.default,{sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),textTransform:"uppercase",letterSpacing:"0.22em",fontSize:{xs:"11px",md:"12px"},fontWeight:500,color:"rgba(13,24,48,0.55)",mb:{xs:1.25,md:1.5}},children:"PEDIR CITA"}),(0,o.jsx)(ei.default,{component:"h2",sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontWeight:500,fontSize:{xs:"30px",sm:"36px",md:"42px",lg:"48px"},lineHeight:1.1,letterSpacing:"-0.02em",color:ec.Zf,mb:{xs:1.25,md:1.5}},children:"Reserve su consulta m\xe9dica online."}),(0,o.jsxs)(ei.default,{sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontSize:{xs:"14px",md:"15px"},color:"rgba(13,24,48,0.6)",lineHeight:1.55,maxWidth:480},children:["Comparta unos datos, elija servicio y horario, y hable con un m\xe9dico colegiado en Espa\xf1a por videoconsulta segura â normalmente en minutos. Consultas ",ed.I8,"."]})]}),(0,o.jsxs)(er.default,{container:!0,rowSpacing:{xs:3,md:4},columnSpacing:{xs:0,md:4},alignItems:ax?"flex-start":"stretch",children:[(0,o.jsx)(er.default,{size:{xs:12,md:5},sx:{display:ax?{xs:"flex",md:"flex"}:{xs:"none",md:"flex"}}
1,children:ax&&ap?(0,o.jsx)(eb,{title:ap.title,description:ap.description,imageUrl:ap.imageUrl,price:Number.isFinite(Number(eK))&&Number(eK)>0?Number(eK):ap.price,step:Z,stepsCount:ag.length}):ax&&am?(0,o.jsx)(e_,{}):(0,o.jsxs)(en.default,{sx:{position:"relative",width:"100%",aspectRatio:{xs:"4 / 5",md:"auto"},minHeight:{md:"100%"},flex:{md:1},borderRadius:{xs:"18px",md:"22px"},overflow:"hidden",bgcolor:"#F6F6F7",alignSelf:"stretch"},children:[(0,o.jsx)(es.default,{src:"/images/landingpage/bookappointment.webp",alt:"M\xe9dico preparando una consulta online",fill:!0,sizes:"(max-width: 900px) 100vw, 40vw",style:{objectFit:"cover",objectPosition:"center"},priority:!1}),(0,o.jsx)(en.default,{"aria-hidden":!0,sx:{position:"absolute",left:0,right:0,bottom:0,height:"45%",background:"linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.55) 100%)",pointerEvents:"none"}}),(0,o.jsxs)(en.default,{sx:{position:"absolute",left:{xs:16,md:22},right:{xs:16,md:22},bottom:{xs:16,md:22},color:"#FFFFFF"},children:[(0,o.jsx)(ei.default,{sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontSize:{xs:"13px",md:"14px"},fontWeight:500,letterSpacing:"0.01em",mb:{xs:1.25,md:1.5}},children:"Step ".concat(Math.min(Z+1,ag.length),"/").concat(ag.length)}),(0,o.jsx)(en.default,{role:"progressbar","aria-label":"Appointment booking step ".concat(Math.min(Z+1,ag.length)," of ").concat(ag.length),"aria-valuemin":1,"aria-valuemax":ag.length,"aria-valuenow":Math.min(Z+1,ag.length),sx:{display:"flex",gap:{xs:.75,md:1}},children:ag.map((e,t)=>(0,o.jsx)(en.default,{sx:{flex:1,height:4,borderRadius:999,bgcolor:t<=Z?"#FFFFFF":"rgba(255,255,255,0.3)",transition:"background-color 0.3s ease"}},t))})]})]})}),(0,o.jsxs)(er.default,{size:{xs:12,md:7},children:[ah?null:(0,o.jsxs)(en.default,{sx:{display:{xs:"block",md:"none"},maxWidth:980,mx:"auto",mb:3},children:[(0,o.jsx)(ei.default,{sx:{fontFamily:'"'.concat(el.m,'", sans-serif'),fontSize:"18px",fontWeight:600,color:"#0D1830",mb:1.25},children:"Step ".concat(Math.min(Z+1,ag.length),"/").concat(ag.length)}),(0,o.jsx)(en.default,{role:"progressbar","aria-label":"Appointment booking step ".concat(Math.min(Z+1,ag.length)," of ").concat(ag.length),"aria-valuemin":1,"aria-valuemax":ag.length,"aria-valuenow":Math.min(Z+1,ag.length),sx:{display:"flex",gap:1},children:ag.map((e,t)=>(0,o.jsx)(en.default,{sx:{flex:1,height:4,borderRadius:999,bgcolor:t<=Z?"#0D1830":"rgba(13,24,48,0.12)",transition:"background-color 0.3s ease"}},t))})]}),(0,o.jsxs)(f.A,{variant:"borderless",className:"notranslate appointment-form-shell".concat(ah?" is-service-booking":""),style:{maxWidth:980,margin:"0 auto",borderRadius:12,background:ah?"#FFFFFF":"transparent",boxShadow:ax?"0 8px 28px rgba(13,24,48,0.06)":"none",border:ax?"1px solid rgba(13,24,48,0.08)":"none"},styles:{body:{padding:0}},children:[eq,ah?(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 appointment-form-stepper",children:[(0,o.jsx)(ej,{level:3,className:"appointment-form-stepper__title",children:t4.title}),(0,o.jsx)(ew,{type:"secondary",className:"appointment-form-stepper__subtitle",children:t4.subtitle}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 appointment-form-stepper__mobile",children:[(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 appointment-form-stepper__mobile-label",children:["Step ".concat(Math.min(Z+1,ag.length),"/").concat(ag.length),(null==(e=ag[Z])?void 0:e.title)?(0,o.jsxs)("span",{className:"jsx-4925f27faf262090 appointment-form-stepper__mobile-current",children:[" \xb7 ",ag[Z].title]}):null]}),(0,o.jsx)("div",{role:"progressbar","aria-label":"Appointment booking step ".concat(Math.min(Z+1,ag.length)," of ").concat(ag.length),"aria-valuemin":1,"aria-valuemax":ag.length,"aria-valuenow":Math.min(Z+1,ag.length),className:"jsx-4925f27faf262090 appointment-form-stepper__mobile-bars",children:ag.map((e,t)=>(0,o.jsx)("span",{className:"jsx-4925f27faf262090 "+((t<=Z?"appointment-form-stepper__mobile-bar is-active":"appointment-form-stepper__mobile-bar")||"")},t))})]}),(0,o.jsx)(g.A,{current:Z,items:ag,responsive:!1,size:"small",className:"appointment-form-stepper__steps"})]}):null,(0,o.jsx)("div",{ref:eG,className:"jsx-4925f27faf262090 appointment-form-body",children:(0,o.jsxs)(p.A,{form:q,layout:"vertical",requiredMark:!0,preserve:!0,scrollToFirstError:{behavior:"smooth",block:"center"},children:[(0,o.jsxs)("div",{style:{display:0===Z?"block":"none"},"aria-hidden":0!==Z,className:"jsx-4925f27faf262090",children:[(0,o.jsx)(ej,{level:4,style:{marginTop:4},children:t4.serviceAppointment}),(0,o.jsx)(ew,{type:"secondary",style:{display:"block",marginBottom:16},children:t4.bookingFlowIntro}),(0,o.jsxs)(h.A,{gutter:[16,16],style:{width:"100%"},children:[(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.country,name:"country",rules:[{required:!0,message:t4.selectCountryReq}],children:(0,o.jsx)(c.A,{showSearch:!0,optionFilterProp:"label",placeholder:t5?t4.loading:t4.placeholderSelectCountry,loading:t5,size:"large",style:{width:"100%"},options:t8,notFoundContent:t5?(0,o.jsx)(d.A,{size:"small"}):t4.placeholderSelectCountry})})}),(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.selectService,name:"serviceId",rules:[{required:!0,message:t4.selectServiceReq}],children:(0,o.jsx)(c.A,{showSearch:!0,optionFilterProp:"label",placeholder:t7&&String(t7).trim()?ar?t4.failedToLoad:as?t4.loading:0===(ac||[]).length?t4.noServicesInCountry:t4.chooseService:t4.selectCountryFirstSvc,onChange:aS,loading:as,disabled:!t7||!String(t7).trim()||!!ar||as||0===(ac||[]).length,size:"large",style:{width:"100%"},notFoundContent:as?(0,o.jsx)(d.A,{size:"small"}):null,options:(ac||[]).filter(e=>(null==e?void 0:e.id)&&(null==e?void 0:e.name)).map(e=>({value:e.id,label:e.name}))})})})]}),(0,o.jsxs)(h.A,{gutter:[16,16],style:{width:"100%"},children:[(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.selectDoctor,name:"doctorId",rules:[{required:!0,message:t4.selectDoctorReq}],children:(0,o.jsx)(c.A,{showSearch:!0,placeholder:at?e6?t4.loadingDoctors:0===e9.length?t4.noDoctors:t4.chooseDoctor:t4.chooseService,optionFilterProp:"children",onChange:e=>{e4(e),to(null),ti("");let t=e9.find(t=>t._id===e);if(t){var a;let o=Number(t.fee||0);eZ(o),e2(!0);let n=t.availability||[],i=t.slotDuration||5;e3(n),tt(i),q.setFieldsValue({doctorId:e,amount:o,slotDate:void 0,slotTime:void 0}),eg([]);let r=q.getFieldValue("slotDate");r&&eg(eO(r,n,i,ao)),(0,ey.UQ)("doctor_selected",{flow:"appointment",doctor_id:e,doctor_name:t.fullName,doctor_fee:o,service_id:null!=(a=q.getFieldValue("serviceId"))?a:e$,currency:"EUR",page_path:(0,ey.rz)()}),(0,ey.Ii)([{item_id:String(e),item_name:t.fullName||"",price:o,item_category:t.specialization||"doctor"}],{flow:"appointment"})}},loading:e6,disabled:!at||e6||0===e9.length,size:"large",style:{width:"100%"},notFoundContent:e6?(0,o.jsx)(d.A,{size:"small"}):t4.noDoctors,children:e9.map(e=>{var t,a,n;return(0,o.jsx)(eA,{value:e._id,children:(0,o.jsxs)(b.A,{children:[(0,o.jsx)(_.A,{src:null==(t=e.profilePhoto)?void 0:t.url,size:"small",style:{backgroundColor:"#1890ff"},children:null==(n=e.fullName)||null==(a=n.charAt(0))?void 0:a.toUpperCase()}),(0,o.jsxs)("span",{className:"jsx-4925f27faf262090",children:[(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:e.fullName}),e.specialization&&" - ".concat(e.specialization),(e.licenseNumber||e.licenseAuthority)&&(0,o.jsx)(ew,{type:"secondary",style:{marginLeft:8,fontSize:12}
1,children:[e.licenseNumber,e.licenseAuthority].filter(Boolean).join(" \xb7 ")}),(0,o.jsxs)(ew,{type:"secondary",style:{marginLeft:8},children:["(â¬",Number(e.fee||0).toFixed(2),")"]})]})]})},e._id)})})})}),(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.amount,name:"amount",rules:[{required:!0}],children:(0,o.jsx)(y.A,{min:0,step:.01,stringMode:!0,size:"large",onChange:e=>eZ(Number(e||0)),formatter:e=>"".concat(e),disabled:!0,style:{width:"100%"}})})})]}),(0,o.jsx)(p.A.Item,{label:t4.preferredMode,name:"preferredMode",rules:[{required:!0}],children:(0,o.jsxs)(v.Ay.Group,{size:"large",className:"appointment-form-radio-group",children:[(0,o.jsx)(v.Ay,{value:"video",children:t4.video}),(0,o.jsx)(v.Ay,{value:"phone",children:t4.phoneMode}),(0,o.jsx)(v.Ay,{value:"chat",children:t4.otherMode})]})}),(0,o.jsxs)(h.A,{gutter:[16,16],style:{width:"100%"},children:[(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.preferredDate,name:"slotDate",rules:[{required:!0}],children:(0,o.jsx)(j.A,{style:{width:"100%"},size:"large",disabledDate:e=>{if(!e)return!1;let t=eT(e,ao);if(!t)return!1;if(t.format("YYYY-MM-DD")<U()().tz(ao).format("YYYY-MM-DD"))return!0;if(aa&&e7.length>0){let t=eL(e,ao),a=e7.find(e=>e.dayOfWeek===t);if(!a||!a.timeRanges||0===a.timeRanges.length)return!0}return!1},onChange:e=>{eg(eO(e,e7,te,ao)),q.setFieldsValue({slotTime:void 0})},disabled:!aa,placeholder:aa?t4.selectDate:t4.selectDoctorFirst})})}),(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:"".concat(t4.preferredTime," (").concat(te,"-min)"),name:"slotTime",rules:[{required:!0}],children:(0,o.jsx)(c.A,{placeholder:aa?0===eu.length?t4.noDoctors:t4.placeholderSelect:t4.selectDoctorFirst,size:"large",style:{width:"100%"},disabled:!aa||!eu.length,showSearch:!0,popupMatchSelectWidth:!1,children:eu.map(e=>(0,o.jsx)(eA,{value:e,children:e},e))})})})]})]}),(0,o.jsxs)("div",{style:{display:1===Z?"block":"none"},"aria-hidden":1!==Z,className:"jsx-4925f27faf262090",children:[(0,o.jsx)(ej,{level:4,style:{marginTop:4},children:t4.patientDetails}),(0,o.jsxs)(h.A,{gutter:[16,16],style:{width:"100%"},children:[(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.firstName,name:"firstName",rules:[{required:!0}],children:(0,o.jsx)(w.A,{placeholder:t4.placeholderName,size:"large",style:{width:"100%"}})})}),(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.lastName,name:"lastName",rules:[{required:!0}],children:(0,o.jsx)(w.A,{placeholder:t4.placeholderName2,size:"large",style:{width:"100%"}})})})]}),(0,o.jsxs)(h.A,{gutter:[16,16],style:{width:"100%"},children:[(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.dob,name:"dob",rules:[{required:!0}],children:(0,o.jsx)(j.A,{style:{width:"100%"},size:"large",disabledDate:e=>!!e&&e.format("YYYY-MM-DD")>U()().tz(ao).format("YYYY-MM-DD")})})}),(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.gender,name:"gender",rules:[{required:!0}],children:(0,o.jsxs)(c.A,{placeholder:t4.placeholderSelect,size:"large",style:{width:"100%"},children:[(0,o.jsx)(eA,{value:"Female",children:t4.female}),(0,o.jsx)(eA,{value:"Male",children:t4.male}),(0,o.jsx)(eA,{value:"Other",children:t4.other})]})})})]}),(0,o.jsxs)(h.A,{gutter:[16,16],style:{width:"100%"},children:[(0,o.jsxs)(x.A,{xs:24,md:12,children:[(0,o.jsx)(p.A.Item,{label:t4.phone,required:!0,children:(0,o.jsx)("div",{style:{width:"100%",minWidth:0},className:"jsx-4925f27faf262090 appointment-form-phone-wrap",children:(0,o.jsx)(ev,{defaultCountry:"es",value:eh,onChange:e=>{ex(e),q.setFieldsValue({phone:e})},placeholder:"+34 XXX XXX XXX",style:{width:"100%",height:"40px"}})})}),(0,o.jsx)(p.A.Item,{name:"phone",hidden:!0,rules:[{required:!0,message:t4.phoneRequired}],children:(0,o.jsx)(w.A,{})})]}),(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.email,name:"email",rules:[{required:!0,message:t4.emailRequired},{type:"email",message:t4.validEmail}],children:(0,o.jsx)(w.A,{prefix:(0,o.jsx)(k.A,{}),placeholder:t4.placeholderEmail,size:"large",style:{width:"100%"}})})})]}),(0,o.jsx)(p.A.Item,{label:t4.idPassport,name:"nationalId",rules:[{required:!0,message:t4.idPassportRequired},{validator:async(e,t)=>{let a=String(t||"").trim();if(a&&(a.length<5||a.length>60))throw Error(t4.idPassportRequired)}}],normalize:e=>String(e||"").replace(/\s+/g," ").trimStart(),extra:(0,o.jsx)("span",{style:{display:"block",marginTop:2,fontSize:12,lineHeight:1.45,color:"rgba(13,24,48,0.55)"},className:"jsx-4925f27faf262090",children:t4.idPassportHint}),children:(0,o.jsx)(w.A,{placeholder:t4.idPassportPlaceholder,size:"large",autoComplete:"off",maxLength:60,style:{width:"100%"}})}),(0,o.jsxs)(h.A,{gutter:[16,16],style:{width:"100%"},children:[(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.addressLine1,name:"addressLine1",rules:[{required:!0}],children:(0,o.jsx)(w.A,{placeholder:t4.placeholderHouse,size:"large",style:{width:"100%"}})})}),(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.city,name:"city",rules:[{required:!0}],children:(0,o.jsx)(w.A,{placeholder:t4.placeholderCity,size:"large",style:{width:"100%"}})})})]}),(0,o.jsxs)(h.A,{gutter:[16,16],style:{width:"100%"},children:[(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.knownAllergies,name:"allergies",rules:[{required:!0,message:t4.allergiesRequired}],children:(0,o.jsx)(w.A,{placeholder:t4.placeholderAllergies,size:"large",autoComplete:"off"})})}),(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.currentMeds,name:"meds",children:(0,o.jsx)(w.A,{placeholder:t4.placeholderMeds,size:"large",autoComplete:"off"})})})]}),(0,o.jsx)(p.A.Item,{label:t4.primarySymptoms,name:"symptoms",rules:[{required:!0}],children:(0,o.jsx)(w.A.TextArea,{rows:4,placeholder:t4.placeholderSymptoms,size:"large"})}),(0,o.jsxs)(h.A,{gutter:[16,16],style:{width:"100%"},children:[(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.symptomDuration,name:"symptomDuration",children:(0,o.jsxs)(c.A,{placeholder:t4.placeholderSelect,size:"large",children:[(0,o.jsx)(eA,{value:"<24h",children:t4.under24h}),(0,o.jsx)(eA,{value:"1-3d",children:t4.days1_3}),(0,o.jsx)(eA,{value:"4-7d",children:t4.days4_7}),(0,o.jsx)(eA,{value:">1w",children:t4.over1w})]})})}),(0,o.jsx)(x.A,{xs:24,md:12,children:(0,o.jsx)(p.A.Item,{label:t4.urgency,name:"urgency",rules:[{required:!0}],children:(0,o.jsxs)(c.A,{placeholder:t4.placeholderSelect,size:"large",children:[(0,o.jsx)(eA,{value:"Routine",children:t4.routine}),(0,o.jsx)(eA,{value:"Soon",children:t4.soon}),(0,o.jsx)(eA,{value:"Urgent",children:t4.urgent})]})})})]})]}),(0,o.jsxs)("div",{style:{display:2===Z?"block":"none"},"aria-hidden":2!==Z,className:"jsx-4925f27faf262090",children:[(0,o.jsx)(ej,{level:4,style:{marginTop:4},children:t4.consentTitle}),(0,o.jsx)(N.A,{className:"appointment-form-info-alert",message:t4.gdprAlert,description:t4.gdprDesc,type:"info",showIcon:!0,style:{marginBottom:20}}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 appointment-form-consents",children:[(0,o.jsx)(p.A.Item,{name:"consentGDPR",valuePropName:"checked",rules:[{validator:(e,t)=>
1t?Promise.resolve():Promise.reject(Error(t4.youMustAcceptGdpr))}],children:(0,o.jsxs)(A.A,{children:["Acepto la"," ",(0,o.jsx)("a",{href:"/privacy-policy",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"jsx-4925f27faf262090",children:"Pol\xedtica de privacidad (GDPR)"}),"."]})}),(0,o.jsx)(p.A.Item,{name:"consentTreatment",valuePropName:"checked",rules:[{validator:(e,t)=>t?Promise.resolve():Promise.reject(Error(t4.treatmentConsentRequired))}],children:(0,o.jsxs)(A.A,{children:["Doy mi consentimiento informado para"," ",(0,o.jsx)("a",{href:"/terms-and-conditions",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"jsx-4925f27faf262090",children:"valoraci\xf3n y tratamiento"}),"."]})}),(0,o.jsx)(p.A.Item,{name:"consentShareFHIR",valuePropName:"checked",rules:[{validator:(e,t)=>t?Promise.resolve():Promise.reject(Error(t4.fhirConsentRequired))}],children:(0,o.jsxs)(A.A,{children:["Permitir compartir con proveedores usando"," ",(0,o.jsx)("a",{href:"/privacy-policy",target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"jsx-4925f27faf262090",children:"FHIR"}),"."]})}),(0,o.jsx)(p.A.Item,{name:"consentMarketing",valuePropName:"checked",children:(0,o.jsx)(A.A,{children:t4.consentMarketing})})]}),tl&&td&&tm&&(0,o.jsx)(N.A,{className:"appointment-form-info-alert appointment-form-info-alert--success",message:"Email ya verificado",description:(0,o.jsxs)("div",{className:"jsx-4925f27faf262090",children:[(0,o.jsxs)("p",{className:"jsx-4925f27faf262090",children:[(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:"\xa1Bienvenido de nuevo!"})," Su email ya est\xe1 verificado."]}),(0,o.jsxs)("p",{style:{marginBottom:0},className:"jsx-4925f27faf262090",children:["No hace falta verificaci\xf3n â pulse ",(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:'"Siguiente"'})," para continuar al pago."]})]}),type:"success",showIcon:!0,style:{marginBottom:20}}),!tl&&!tL&&!ty&&(0,o.jsx)(N.A,{className:"appointment-form-info-alert",message:"Listo para verificar",description:"Pulse \xabSiguiente\xbb para elegir c\xf3mo continuar y completar la verificaci\xf3n.",type:"info",showIcon:!0,style:{marginBottom:20}}),tL&&(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 verification-status-card",children:[(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 verification-status-card__header",children:[(0,o.jsx)(E.A,{className:"verification-status-card__header-icon"}),(0,o.jsx)("span",{className:"jsx-4925f27faf262090",children:"Estado de verificaci\xf3n de la cuenta"})]}),!tl&&!ty&&(0,o.jsx)(N.A,{className:"appointment-form-info-alert",message:t4.chooseHowToProceed,description:"Seleccione Invitado o Registrarse para continuar con la verificaci\xf3n.",type:"warning",showIcon:!0}),!tl&&ty&&!td&&(0,o.jsx)(N.A,{className:"appointment-form-info-alert",message:"".concat("guest"===ty?"Verificaci\xf3n invitado":"Registro"," pendiente"),description:(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 verification-status-card__body",children:[(0,o.jsxs)("p",{style:{margin:0},className:"jsx-4925f27faf262090",children:[(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:"Modo:"})," ","guest"===ty?"Invitado":"Registro"]}),(0,o.jsx)("p",{style:{margin:"6px 0 0"},className:"jsx-4925f27faf262090",children:"Complete lo siguiente:"}),(0,o.jsxs)("ol",{style:{margin:"6px 0 0",paddingInlineStart:20},className:"jsx-4925f27faf262090",children:[(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Verificaci\xf3n del email (c\xf3digo OTP)"}),"register"===ty&&(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Creaci\xf3n de contrase\xf1a"})]}),(0,o.jsx)("p",{style:{margin:"8px 0 0",color:"rgba(13, 24, 48, 0.6)"},className:"jsx-4925f27faf262090",children:(0,o.jsx)("em",{className:"jsx-4925f27faf262090",children:"Revise su email para el c\xf3digo OTP."})}),(0,o.jsxs)("div",{"aria-live":"polite",className:"jsx-4925f27faf262090 verification-status-card__progress",children:[(0,o.jsx)(d.A,{size:"small"}),(0,o.jsx)("span",{className:"jsx-4925f27faf262090",children:tN?"Enviando c\xf3digo de verificaci\xf3nâ¦":tS?"Verificando c\xf3digoâ¦":tI?"Guardando su contrase\xf1aâ¦":"Esperando verificaci\xf3nâ¦"}),(0,o.jsx)(u.Ay,{type:"link",size:"small",className:"verification-status-card__change-btn",onClick:av,disabled:tN||tS||tI,children:"Cambiar modo"})]})]}),type:"warning",showIcon:!0}),!tl&&"register"===ty&&td&&!tm&&(0,o.jsx)(N.A,{className:"appointment-form-info-alert",message:"Paso 1 de 2 completado â Email verificado",description:(0,o.jsxs)("div",{className:"jsx-4925f27faf262090",children:[(0,o.jsx)("p",{style:{margin:0},className:"jsx-4925f27faf262090",children:"Su email se ha verificado correctamente."}),(0,o.jsxs)("p",{style:{margin:"6px 0 0"},className:"jsx-4925f27faf262090",children:[(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:"Siguiente:"}
1)," establezca una contrase\xf1a para terminar de crear su cuenta."]})]}),type:"info",showIcon:!0,action:(0,o.jsx)(u.Ay,{size:"small",type:"primary",onClick:()=>tx(!0),children:"Establecer contrase\xf1a"})}),!tl&&"register"===ty&&td&&tm&&(0,o.jsx)(N.A,{className:"appointment-form-info-alert appointment-form-info-alert--success",message:"Registro completado",description:(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 verification-status-card__body",children:[(0,o.jsxs)("ul",{className:"jsx-4925f27faf262090 verification-status-card__list",children:[(0,o.jsxs)("li",{className:"jsx-4925f27faf262090",children:[(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:"Modo:"})," Registro"]}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Email verificado"}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Contrase\xf1a establecida"})]}),tG?(0,o.jsxs)("div",{"aria-live":"polite",className:"jsx-4925f27faf262090 verification-status-card__proceeding",children:[(0,o.jsx)(d.A,{size:"small"}),(0,o.jsx)("span",{className:"jsx-4925f27faf262090",children:"Continuando autom\xe1ticamente al pagoâ¦"})]}):(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 verification-status-card__ready",children:[(0,o.jsxs)("span",{className:"jsx-4925f27faf262090",children:["Todo listo â pulse ",(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:"Siguiente"})," para continuar al pago."]}),(0,o.jsx)(u.Ay,{type:"link",size:"small",className:"verification-status-card__change-btn",onClick:av,children:"Cambiar modo de verificaci\xf3n"})]})]}),type:"success",showIcon:!0}),!tl&&"guest"===ty&&td&&tm&&(0,o.jsx)(N.A,{className:"appointment-form-info-alert appointment-form-info-alert--success",message:"Verificaci\xf3n de invitado completada",description:(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 verification-status-card__body",children:[(0,o.jsxs)("ul",{className:"jsx-4925f27faf262090 verification-status-card__list",children:[(0,o.jsxs)("li",{className:"jsx-4925f27faf262090",children:[(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:"Modo:"})," Invitado"]}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Email verificado (sin contrase\xf1a)"})]}),(0,o.jsx)("p",{className:"jsx-4925f27faf262090 verification-status-card__note",children:(0,o.jsx)("em",{className:"jsx-4925f27faf262090",children:"Nota: en modo invitado no se crea una cuenta del portal del paciente."})}),tG?(0,o.jsxs)("div",{"aria-live":"polite",className:"jsx-4925f27faf262090 verification-status-card__proceeding",children:[(0,o.jsx)(d.A,{size:"small"}),(0,o.jsx)("span",{className:"jsx-4925f27faf262090",children:"Continuando autom\xe1ticamente al pagoâ¦"})]}):(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 verification-status-card__ready",children:[(0,o.jsxs)("span",{className:"jsx-4925f27faf262090",children:["Todo listo â pulse ",(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:"Siguiente"})," para continuar al pago."]}),(0,o.jsx)(u.Ay,{type:"link",size:"small",className:"verification-status-card__change-btn",onClick:av,children:"Cambiar modo de verificaci\xf3n"})]})]}),type:"success",showIcon:!0}),tl&&(0,o.jsx)(N.A,{className:"appointment-form-info-alert appointment-form-info-alert--success",message:"Email ya verificado",description:(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 verification-status-card__body",children:[(0,o.jsxs)("p",{style:{margin:0},className:"jsx-4925f27faf262090",children:[(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:"\xa1Bienvenido de nuevo!"})," Su email ya est\xe1 verificado y registrado."]}),(0,o.jsxs)("p",{style:{margin:"6px 0 0"},className:"jsx-4925f27faf262090",children:[(0,o.jsx)(I.A,{style:{marginRight:8}}),(0,o.jsx)("a",{href:W.I,target:"_blank",rel:"noopener noreferrer",style:{fontWeight:600},className:"jsx-4925f27faf262090",children:"Iniciar sesi\xf3n en el portal del paciente"})," ","para acceso completo."]}),tG?(0,o.jsxs)("div",{"aria-live":"polite",className:"jsx-4925f27faf262090 verification-status-card__proceeding",children:[(0,o.jsx)(d.A,{size:"small"}),(0,o.jsx)("span",{className:"jsx-4925f27faf262090",children:"Continuando autom\xe1ticamente al pagoâ¦"})]}):(0,o.jsx)("div",{className:"jsx-4925f27faf262090 verification-status-card__ready",children:(0,o.jsxs)("span",{className:"jsx-4925f27faf262090",children:["Pulse ",(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:"Siguiente"})," para continuar al pago."]})})]}),type:"success",showIcon:!0})]})]}
1),3===Z&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(ej,{level:4,style:{marginTop:4},children:t4.paymentDetails}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 payment-summary",children:[(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 payment-summary__service",children:[(0,o.jsxs)("span",{className:"jsx-4925f27faf262090 payment-summary__service-label",children:[t4.service,":"]})," ",(0,o.jsx)("span",{className:"jsx-4925f27faf262090 payment-summary__service-value",children:(null==(t=ac.find(e=>String(e.id)===String(at)))?void 0:t.name)||"N/A"})]}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 payment-coupon",children:[(0,o.jsx)(w.A,{className:"payment-coupon__input",placeholder:ta?"Cup\xf3n aplicado":"C\xf3digo de cup\xf3n",value:ta?ta.code:tn,onChange:e=>{ta||ti(e.target.value)},disabled:tr||!!ta,onPressEnter:()=>{ta||aC()},allowClear:!ta,variant:"borderless"}),(0,o.jsx)(u.Ay,{type:"link",className:"payment-coupon__apply",loading:tr,disabled:!!ta||!tn.trim(),onClick:aC,children:"Aplicar"})]}),ta&&(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 payment-summary__coupon-note",children:[(0,o.jsx)("span",{className:"jsx-4925f27faf262090 payment-summary__coupon-old",children:eP(ta.originalAmount)}),(0,o.jsxs)("span",{className:"jsx-4925f27faf262090 payment-summary__coupon-saving",children:["â",eP(ta.discountAmount)," (",ta.code,")"]}),(0,o.jsx)(u.Ay,{type:"link",className:"payment-summary__coupon-remove",onClick:()=>{to(null),ti("");let e=e9.find(e=>{var t;return String(e._id)===String(null!=(t=q.getFieldValue("doctorId"))?t:e1)}),t=e?Number(e.fee||0):(null==ta?void 0:ta.originalAmount)!=null?Number(ta.originalAmount):Number(q.getFieldValue("amount")||0);eZ(t),q.setFieldsValue({amount:t}),eV.success({message:"Cup\xf3n eliminado",description:"Total reverted to ".concat(eP(t),".")})},children:"Quitar"})]}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 payment-summary__total",children:[(0,o.jsxs)("span",{className:"jsx-4925f27faf262090 payment-summary__total-label",children:[t4.totalAmount,":"]})," ",(0,o.jsx)("span",{className:"jsx-4925f27faf262090 payment-summary__total-value",children:eP(eK)})]})]}),ek?$?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(N.A,{className:"appointment-form-info-alert",type:"info",showIcon:!0,message:t4.securePayment,description:t4.securePaymentDesc,style:{marginBottom:20}}),(0,o.jsxs)(H.Elements,{stripe:$,options:{appearance:{theme:"stripe"}},children:[(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 payment-card-field",children:[(0,o.jsx)("label",{htmlFor:"card-number",className:"jsx-4925f27faf262090 payment-card-field__label",children:t4.cardDetails}),(0,o.jsx)(eB,{})]}),(0,o.jsx)(p.A.Item,{name:"agreeBilling",valuePropName:"checked",className:"payment-authorize",rules:[{validator:(e,t)=>t?Promise.resolve():Promise.reject(Error(t4.acceptBillingTerms))}],children:(0,o.jsxs)(A.A,{children:["Autorizo el cargo en mi m\xe9todo de pago y acepto las"," ",(0,o.jsx)("a",{href:W.tl.POLICIES,target:"_blank",rel:"noopener noreferrer",className:"jsx-4925f27faf262090",children:"condiciones de facturaci\xf3n"}),"."]})}),(0,o.jsx)(function(){let e=(0,H.useStripe)(),t=(0,H.useElements)(),a=async()=>{var a,o,n,i,r,s,l,c,d,p;try{for(let e=0;e<ag.length;e++)try{await aN(e)}catch(t){throw e!==Z&&(em(e),t0(e),null==(a=eG.current)||a.scrollIntoView({behavior:"smooth",block:"start"})),t}}catch(e){(null==e?void 0:e.silent)||eV.error({message:"Complete los campos obligatorios",description:eR(e,"Complete los campos destacados e int\xe9ntelo de nuevo.")});return}if(!e||!t)return void eV.error({message:"Stripe no est\xe1 listo"});(0,ey.Un)({flow:"appointment",step:3,step_name:"payment",action:"pay_button_click",value:Number(eK)||void 0,currency:"EUR"}),eU(!0);let m=!1,u=!1;try{let a=null!=(n=q.getFieldsValue(!0).doctorId)?n:e1,l=e9.find(e=>String(e._id)===String(a)),c=l?Number(l.fee||0):0,d=Number(eK||0),p=ta?Number(ta.finalAmount):l&&c>0?c:d;!ta&&l&&c>0&&c!==d&&(console.warn("â ï¸ Amount mismatch! Using doctor fee:",c),eZ(c));let f=ta?Number(ta.finalAmount):p,g=Math.round(100*f);if(g<=0)throw Error("Importe de pago no v\xe1lido. Seleccione un m\xe9dico.");ta||p===d||eZ(p);let h=await fetch("/api/payments/create-intent",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({amount:g,currency:"eur"})});if(!h.ok){let e=(null==(i=await h.json().catch(()=>({})))?void 0:i.error)||"Error al crear el PaymentIntent";throw Error(e)}let{clientSecret:x}=await h.json(),b=t.getElement(H.CardElement);if(!b)throw Error("Falta el campo de la tarjeta");let{error:_,paymentIntent:y}=await e.confirmCardPayment(x,{payment_method:{card:b}});if(_){if("card_declined"===_.code||"card_error"===_.type){let e=_.decline_code||_.message||"Su tarjeta ha sido rechazada",t="Tarjeta rechazada: ".concat(e,". Compruebe los datos de su tarjeta o use otro m\xe9todo de pago.");
1throw eV.error({message:"\uD83D\uDCB3 Tarjeta rechazada",description:t,placement:"topRight",duration:8}),eU(!1),u=!0,(0,ey.UQ)("payment_failed",{flow:"appointment",error_message:t,stripe_code:_.code,page_path:(0,ey.rz)()}),Error(t)}throw _}if(!y)throw Error("Error al confirmar el pago. Int\xe9ntelo de nuevo.");if("succeeded"!==y.status){if("requires_payment_method"===y.status)throw Error("Pago fallido. Compruebe los datos de su tarjeta e int\xe9ntelo de nuevo.");if("requires_action"===y.status)throw Error("Se requiere autenticaci\xf3n adicional. Complete la verificaci\xf3n.");if("canceled"===y.status)throw Error("El pago se ha cancelado. Int\xe9ntelo de nuevo.");throw Error("Pago no completado. Estado: ".concat(y.status))}let v=ta?Number(ta.finalAmount):l?Number(l.fee||0):Number(eK||0);eV.success({message:"â
\xa1Pago realizado!",description:"Pago de ".concat(eP(v)," confirmado. Reservando su cita..."),placement:"topRight",duration:3});let j=q.getFieldsValue(!0);j.phone=eh;let w=null!=(r=j.serviceId)?r:e$,N=null!=(s=j.doctorId)?s:e1;if(!w)throw Error("Seleccione un servicio");let A=(null==(o=ac.find(e=>String(e.id)===String(w)))?void 0:o.name)||"N/A";(0,ey.A3)({flow:"appointment",transaction_id:y.id,value:v,currency:"EUR",coupon:null==ta?void 0:ta.code,service_id:w,service_name:A,doctor_id:N||void 0,items:[{item_id:String(w),item_name:A,price:v,quantity:1}]});let S=(j.preferredPharmacyName||"").trim(),C=e9.find(e=>String(e._id)===String(N)),k=C?Number(C.fee||0):Number(eK||0),E=ta?Number(ta.finalAmount):k,I={service:{id:w,name:A,amount:E,currency:"eur"},doctor:N?{id:N}:void 0,patient:{firstName:j.firstName,lastName:j.lastName,dob:j.dob?U()(j.dob).format("YYYY-MM-DD"):void 0,gender:j.gender,email:j.email,phone:j.phone,mrn:j.mrn||null,nationalId:String(j.nationalId||"").trim()||null,verified:"register"===ty&&td,registrationType:ty||(tl?"existing":"guest"),address:{line1:j.addressLine1||null,line2:j.addressLine2||null,city:j.city||null,state:j.state||null,postalCode:j.postalCode||null,country:j.country}},medical:{allergies:eD(j.allergies),conditions:eD(j.conditions),meds:eD(j.meds),symptoms:j.symptoms,symptomDuration:j.symptomDuration||null,urgency:j.urgency,pharmacy:S?{selectionType:"other",pharmacyName:S}:null},appointment:{preferredMode:j.preferredMode,date:j.slotDate?U()(j.slotDate).format("YYYY-MM-DD"):void 0,time:j.slotTime,referralCode:null,couponCode:(null==ta?void 0:ta.code)||null},consent:{gdpr:!!j.consentGDPR,treatment:!!j.consentTreatment,shareFHIR:!!j.consentShareFHIR,marketing:!!j.consentMarketing},payment:{provider:"stripe",paymentIntentId:y.id,amount:E,currency:"eur"},...ta?{coupon:{code:ta.code,originalAmount:ta.originalAmount,discountAmount:ta.discountAmount,finalAmount:ta.finalAmount}}:{}},P=await fetch("/api/appointments",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(I)});if(!P.ok){let e=await P.json().catch(()=>({})),t=(null==e?void 0:e.error)||(null==e?void 0:e.message)||"Error al guardar la cita o enviar los emails";throw(null==e?void 0:e.error)&&(e.error.toLowerCase().includes("card declined")||e.error.toLowerCase().includes("declined")||e.error.toLowerCase().includes("payment failed")||"declined"===e.paymentStatus||"failed"===e.paymentStatus)&&(t="\uD83D\uDCB3 Tarjeta rechazada: ".concat(e.error,". La verificaci\xf3n del pago ha fallado. Use otro m\xe9todo de pago.")),Error(t)}let R=await P.json().catch(()=>({})),D=(null==R?void 0:R.meetingCode)||null,F=(null==R?void 0:R.meetingLink)||null;(0,ey.UQ)("appointment_completed",{flow:"appointment",transaction_id:y.id,appointment_id:(null==R?void 0:R._id)||(null==R?void 0:R.id),value:E,currency:"EUR",service_id:w,service_name:A,doctor_id:N||void 0,meeting_code:D,registration_type:ty||(tl?"existing":"guest"),coupon:null==ta?void 0:ta.code,page_path:(0,ey.rz)()}),eV.success({message:"\uD83C\uDF89 \xa1Cita reservada correctamente!",description:"Su cita ha sido confirmada. Revise su email para m\xe1s detalles.",placement:"topRight",duration:5}),m=!0,tQ({meetingCode:D,meetingLink:F,email:j.email,firstName:j.firstName,lastName:j.lastName,amount:E,receiptUrl:(null==R?void 0:R.receiptUrl)||null,patientDashboardUrl:W.I}),eU(!1),setTimeout(()=>{tX(!0)},100)}catch(o){m||u||(0,ey.UQ)("payment_failed",{flow:"appointment",error_message:(null==o?void 0:o.message)||"Error en el pago/reserva",page_path:(0,ey.rz)()});let e="â Error en el pago/reserva",t="Ha ocurrido un error. Int\xe9ntelo de nuevo o contacte con soporte.";if(null==o?void 0:o.message)t=o.message;else if("string"==typeof o&&o.trim())t=o;else if(null==o?void 0:o.error)t="string"==typeof o.error?o.error:JSON.stringify(o.error);else if(null==o||null==(c=o.response)||null==(l=c.data)?void 0:l.error)t="string"==typeof o.response.data.error?o.response.data.error:JSON.stringify(o.response.data.error);else if(null==o||null==(p=o.response)||null==(d=p.data)?void 0:d.message)t=o.response.data.message;else if((null==o?void 0:o.toString)&&"[object Object]"!==o.toString())t=o.toString();else if("{}"!==JSON.stringify(o)){let e=Object.keys(o||{});e.length>0&&(t="Error: ".concat(e.join(", ")))}let a=t.toLowerCase();if((null==o?void 0:o.code)==="card_declined"||(null==o?void 0:o.type)==="card_error"||(null==o?void 0:o.decline_code)||a.includes("card declined")||a.includes("tarjeta rechazada")||a.includes("declined")||a.includes("rechazada")){e="\uD83D\uDCB3 Tarjeta rechazada";let a="";if(null==o?void 0:o.decline_code)a=o.decline_code;else if((null==o?void 0:o.message)&&(o.message.toLowerCase().includes("declined")||o.message.toLowerCase().includes("rechazada")))a=o.message;else if(t.toLowerCase().includes("card declined:")||t.toLowerCase().includes("tarjeta rechazada:")){let e=t.match(/(?:card declined|tarjeta rechazada):\s*(.+)/i);a=e?e[1]:t}t=a?"Tarjeta rechazada: ".concat(a,". Compruebe los datos de su tarjeta o use otro m\xe9todo de pago."):"Tarjeta rechazada. Compruebe los datos de su tarjeta o use otro m\xe9todo de pago."}else a.includes("payment declined")||a.includes("payment")&&a.includes("declined")?(e="\uD83D\uDCB3 Pago rechazado",t=t.includes("Tarjeta rechazada:")||t.includes("Card declined:")?t:"Pago rechazado: ".concat(t)):(null==o?void 0:o.code)==="insufficient_funds"||a.includes("insufficient funds")?(e="\uD83D\uDCB0 Fondos insuficientes",t="Su tarjeta no tiene fondos suficientes. Use otro m\xe9todo de pago."):(null==o?void 0:o.code)==="expired_card"||a.includes("expired card")||a.includes("card expired")?(e="\uD83D\uDCC5 Tarjeta caducada",t="Su tarjeta ha caducado. Use otro m\xe9todo de pago."):(null==o?void 0:o.code)==="invalid_number"||(null==o?void 0:o.code)==="incorrect_number"||a.includes("invalid card")||a.includes("invalid number")?(e="\uD83D\uDD22 N\xfamero de tarjeta no v\xe1lido",t="El n\xfamero de tarjeta no es v\xe1lido. Compru\xe9belo e int\xe9ntelo de nuevo."):(a.includes("payment failed")||a.includes("payment not completed")||a.includes("payment confirmation failed")||a.includes("pago fallido")||a.includes("pago no completado"))&&(e="\uD83D\uDCB3 Pago fallido");eV.error({message:e,description:t,placement:"topRight",duration:8})}finally{m||eU(!1)}};return(0,o.jsx)(u.Ay,{type:"primary",onClick:a,loading:eN,block:!0,size:"large",className:"payment-submit-btn",children:"Pagar ".concat(eP(eK)," y pedir cita")})},{className:"jsx-4925f27faf262090"})]})]}):(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 payment-loading",children:[(0,o.jsx)(d.A,{size:"large"}),(0,o.jsx)("p",{className:"jsx-4925f27faf262090 payment-loading__primary",children:"Inicializando el sistema de pago seguroâ¦"}),(0,o.jsx)("p",{className:"jsx-4925f27faf262090 payment-loading__secondary",children:"Cifrado bancario \xb7 Cumple PCI-DSS"})]}):(0,o.jsx)(N.A,{type:"warning",showIcon:!0,message:"Configure NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY para mostrar el campo de tarjeta."})]}),(0,o.jsx)(S.A,{className:"appointment-form-clear-modal",open:t$,title:t4.clearConfirmTitle,centered:!0,okText:t4.clearConfirmOk,cancelText:t4.cancel,okButtonProps:{danger:!0},cancelButtonProps:{type:"default"},onOk:()=>{tJ(!1),q.resetFields(),eg([]),ex(""),em(0),eJ(void 0),e4(void 0),e5([]),e3([]),tt(5),eZ(0),e2(!1),to(null),ti(""),ts(!1),tc(!1),tp(!1),tu(!1),tg(!1),tx(!1),t_(!1),tv(""),tw(""),tA(!1),tC(!1),tE(0),tP(!1),tD(!1),eU(!1),e8(!1),tH(!1),tT(!1),tz(!1),tO(""),tB(""),tq(""),tX(!1),tQ(null),tJ(!1),eH.current=null,eX.current=!1,eW.current=!1,eQ.
1current=!1,al.current=void 0,localStorage.removeItem(eS),(0,ep.yR)(V)?(0,ep.BU)(B):(0,ep.Cb)(),window.requestAnimationFrame(()=>{var e;null==(e=eG.current)||e.scrollIntoView({behavior:"smooth",block:"start"})}),eV.success({message:t4.formCleared,placement:"bottomLeft"})},onCancel:()=>tJ(!1),children:(0,o.jsx)("p",{style:{margin:0},className:"jsx-4925f27faf262090",children:t4.clearConfirmDesc})}),(0,o.jsx)(S.A,{className:"notranslate auth-mode-dialog",open:tb,onCancel:()=>{t_(!1),tw("")},footer:(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 auth-mode-dialog__footer",children:[(0,o.jsx)(u.Ay,{className:"auth-mode-dialog__btn auth-mode-dialog__btn--ghost",onClick:()=>{t_(!1),tw("")},children:t4.cancel}),(0,o.jsx)(u.Ay,{className:"auth-mode-dialog__btn auth-mode-dialog__btn--primary",type:"primary",onClick:()=>{if(!tj)return void eV.error({message:t4.pleaseSelectOption,placement:"bottomLeft"});tv(tj),t_(!1),tw(""),eV.info({message:"guest"===tj?"\uD83D\uDC64 Modo invitado seleccionado":"â Registro seleccionado",description:"guest"===tj?"Se requiere verificaci\xf3n por c\xf3digo. No hace falta contrase\xf1a.":"Se requiere verificaci\xf3n por c\xf3digo. A continuaci\xf3n crear\xe1 su contrase\xf1a.",placement:"topRight",duration:4}),setTimeout(()=>{a_()},500)},disabled:!tj,children:t4.next})]}),width:500,centered:!0,closable:!0,maskClosable:!1,zIndex:9e3,styles:{body:{padding:"8px 28px 4px",maxHeight:"72vh",overflowY:"auto"}},children:(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 auth-mode-dialog__body",children:[(0,o.jsx)("div",{"aria-hidden":!0,className:"jsx-4925f27faf262090 auth-mode-dialog__badge",children:(0,o.jsxs)("svg",{width:"26",height:"26",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-4925f27faf262090",children:[(0,o.jsx)("rect",{x:"4",y:"11",width:"16",height:"10",rx:"2.5",className:"jsx-4925f27faf262090"}),(0,o.jsx)("path",{d:"M8 11V8a4 4 0 1 1 8 0v3",className:"jsx-4925f27faf262090"}),(0,o.jsx)("circle",{cx:"12",cy:"16",r:"1.2",fill:"currentColor",stroke:"none",className:"jsx-4925f27faf262090"})]})}),(0,o.jsx)("h3",{className:"jsx-4925f27faf262090 auth-mode-dialog__title",children:t4.chooseHowToProceed}),(0,o.jsx)("p",{className:"jsx-4925f27faf262090 auth-mode-dialog__subtitle",children:t4.selectOptionToContinue}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 auth-mode-dialog__options",children:[(0,o.jsxs)("button",{type:"button",onClick:()=>ay("guest"),"aria-pressed":"guest"===tj,"aria-label":t4.continueAsGuest,className:"jsx-4925f27faf262090 "+"auth-mode-card".concat("guest"===tj?" is-selected":""),children:[(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 auth-mode-card__head",children:[(0,o.jsx)("span",{"aria-hidden":!0,className:"jsx-4925f27faf262090 auth-mode-card__radio",children:(0,o.jsx)("span",{className:"jsx-4925f27faf262090 auth-mode-card__radio-dot"})}),(0,o.jsx)("span",{"aria-hidden":!0,className:"jsx-4925f27faf262090 auth-mode-card__icon",children:(0,o.jsx)(P.A,{})}),(0,o.jsx)("span",{className:"jsx-4925f27faf262090 auth-mode-card__title",children:t4.continueAsGuest})]}),(0,o.jsx)("p",{className:"jsx-4925f27faf262090 auth-mode-card__desc",children:t4.quickBookingGuest}),(0,o.jsxs)("ul",{className:"jsx-4925f27faf262090 auth-mode-card__features auth-mode-card__features--muted",children:[(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Verificaci\xf3n por email obligatoria"}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"No se requiere contrase\xf1a"}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Limitado a una sola cita"}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Sin acceso al portal del paciente"}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Proceso r\xe1pido y sencillo"}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Ideal para visitas puntuales"})]})]}),(0,o.jsxs)("button",{type:"button",onClick:()=>ay("register"),"aria-pressed":"register"===tj,"aria-label":"Crear una cuenta y registrarse",className:"jsx-4925f27faf262090 "+"auth-mode-card".concat("register"===tj?" is-selected":""),children:[(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 auth-mode-card__head",children:[(0,o.jsx)("span",{"aria-hidden":!0,
1className:"jsx-4925f27faf262090 auth-mode-card__radio",children:(0,o.jsx)("span",{className:"jsx-4925f27faf262090 auth-mode-card__radio-dot"})}),(0,o.jsx)("span",{"aria-hidden":!0,className:"jsx-4925f27faf262090 auth-mode-card__icon",children:(0,o.jsx)(I.A,{})}),(0,o.jsx)("span",{className:"jsx-4925f27faf262090 auth-mode-card__title",children:t4.newRegistration})]}),(0,o.jsx)("p",{className:"jsx-4925f27faf262090 auth-mode-card__desc",children:t4.createVerifiedAccount}),(0,o.jsxs)("ul",{className:"jsx-4925f27faf262090 auth-mode-card__features",children:[(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Verificaci\xf3n del email mediante OTP"}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Cuenta protegida con contrase\xf1a"}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Acceso al portal del paciente"}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Consultar historial de citas e historiales"}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Gestionar notas y documentos de consulta"}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Descargar certificados m\xe9dicos"}),(0,o.jsx)("li",{className:"jsx-4925f27faf262090",children:"Reservar futuras citas f\xe1cilmente"})]})]})]})]})}),(0,o.jsx)(S.A,{className:"notranslate otp-verify-dialog",title:(0,o.jsxs)("span",{className:"jsx-4925f27faf262090 otp-verify-dialog__title",children:[(0,o.jsx)(k.A,{className:"otp-verify-dialog__title-icon"}),"guest"===ty?t4.guestVerification:t4.emailVerification]}),open:tf,onCancel:()=>{tS||(tg(!1),tO(""))},footer:null,closable:!tS,maskClosable:!0,keyboard:!0,width:500,centered:!0,zIndex:9e3,children:(0,o.jsxs)(d.A,{spinning:tS,tip:t4.verifyingCode,children:[(0,o.jsx)(N.A,{className:"appointment-form-info-alert",message:"guest"===ty?t4.guestVerificationCode:t4.registrationVerificationCode,description:(0,o.jsxs)("div",{className:"jsx-4925f27faf262090",children:[(0,o.jsx)("p",{className:"jsx-4925f27faf262090",children:t4.checkEmailForCode}),(0,o.jsx)("p",{className:"jsx-4925f27faf262090",children:(0,o.jsxs)("strong",{className:"jsx-4925f27faf262090",children:[t4.expires10min,"."]})}),"guest"===ty&&(0,o.jsx)("p",{className:"jsx-4925f27faf262090",children:(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:t4.guestNoPassword})}),"register"===ty&&(0,o.jsx)("p",{className:"jsx-4925f27faf262090",children:(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:t4.afterVerifyCreatePassword})})]}),type:"info",showIcon:!0,style:{marginBottom:20}}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 otp-verify-dialog__field",children:[(0,o.jsx)("label",{htmlFor:"otp-code-input",className:"jsx-4925f27faf262090 otp-verify-dialog__label",children:"Introducir c\xf3digo de verificaci\xf3n"}),(0,o.jsx)(w.A,{id:"otp-code-input",prefix:(0,o.jsx)(P.A,{}),placeholder:"Introduzca el OTP de 6 d\xedgitos",value:tU,onChange:e=>tO(e.target.value.replace(/\D/g,"")),maxLength:6,size:"large",onPressEnter:aj,autoFocus:!0,disabled:tS}),(0,o.jsxs)("div",{"aria-live":"polite",className:"jsx-4925f27faf262090 otp-verify-dialog__resend-row",children:[(0,o.jsx)("span",{className:"jsx-4925f27faf262090 otp-verify-dialog__resend-hint",children:"\xbfNo ha recibido el c\xf3digo?"}),(0,o.jsx)(u.Ay,{type:"link",className:"otp-verify-dialog__resend",onClick:a_,disabled:tN||tS||tk>0,loading:tN,children:tN?"Enviandoâ¦":tk>0?"Reenviar en ".concat(tk,"s"):"Reenviar OTP"})]})]}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 otp-verify-dialog__actions",children:[(0,o.jsx)(u.Ay,{className:"auth-mode-dialog__btn auth-mode-dialog__btn--ghost",onClick:()=>{tg(!1),tO("")},disabled:tS,children:t4.cancel}),(0,o.jsx)(u.Ay,{type:"primary",className:"auth-mode-dialog__btn auth-mode-dialog__btn--primary",onClick:aj,loading:tS,disabled:!tU||6!==tU.length||tS,children:tS?"Verificandoâ¦":"Verificar y continuar"})]})]})}),(()=>{let e={length:tM.length>=8,upper:/[A-Z]/.test(tM),lower:/[a-z]/.test(tM),number:/[0-9]/.test(tM),special:/[!@#$%^&*(),.?":{}|<>]/.test(tM)},t=Object.values(e).every(Boolean),a=tM.length>0&&tV.length>0&&tM===tV,n=t&&a&&!tI,i=[{id:"length",label:"Al menos 8 caracteres",met:e.length},{id:"upper",label:"Una letra may\xfascula (AâZ)",met:e.upper},{id:"lower",label:"Una letra min\xfascula (aâz)",met:e.lower},{id:"number",label:"Un n\xfamero (0â9)",met:e.number},{id:"special",label:"Un car\xe1cter especial (!@#$%^&*â¦)",met:e.special}],r=()=>{tI||(tx(!1),tB(""),tq(""))};return(0,o.jsx)(S.A,{className:"notranslate password-setup-dialog",title:(0,o.jsxs)("span",{className:"jsx-4925f27faf262090 password-setup-dialog__title",children:[(0,o.jsx)(R.A,{className:"password-setup-dialog__title-icon"}),(0,o.jsx)("span",{className:"jsx-4925f27faf262090",children:t4.step2CreatePassword})]}
1),open:th,onCancel:r,footer:null,closable:!tI,maskClosable:!tI,keyboard:!tI,width:480,centered:!0,zIndex:9e3,children:(0,o.jsxs)(d.A,{spinning:tI,tip:"Creando su cuenta de forma seguraâ¦",children:[(0,o.jsx)(N.A,{className:"appointment-form-info-alert appointment-form-info-alert--success",message:"Email verificado",description:"Termine de configurar su cuenta eligiendo una contrase\xf1a segura.",type:"success",showIcon:!0}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 password-setup-dialog__field",children:[(0,o.jsx)("label",{htmlFor:"password-create-input",className:"jsx-4925f27faf262090 password-setup-dialog__label",children:"Crear contrase\xf1a"}),(0,o.jsx)(w.A.Password,{id:"password-create-input",prefix:(0,o.jsx)(R.A,{}),placeholder:"Introduzca su contrase\xf1a",value:tM,onChange:e=>tB(e.target.value),size:"large",autoFocus:!0,disabled:tI,autoComplete:"new-password"})]}),(0,o.jsx)("ul",{"aria-label":"Requisitos de la contrase\xf1a",className:"jsx-4925f27faf262090 password-setup-dialog__rules",children:i.map(e=>(0,o.jsxs)("li",{className:"jsx-4925f27faf262090 "+"password-setup-dialog__rule".concat(e.met?" is-met":""),children:[(0,o.jsx)("span",{"aria-hidden":!0,className:"jsx-4925f27faf262090 password-setup-dialog__rule-icon",children:e.met?"â":"â¢"}),(0,o.jsx)("span",{className:"jsx-4925f27faf262090",children:e.label})]},e.id))}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 password-setup-dialog__field",children:[(0,o.jsx)("label",{htmlFor:"password-confirm-input",className:"jsx-4925f27faf262090 password-setup-dialog__label",children:"Confirmar contrase\xf1a"}),(0,o.jsx)(w.A.Password,{id:"password-confirm-input",prefix:(0,o.jsx)(R.A,{}),placeholder:"Vuelva a introducir su contrase\xf1a",value:tV,onChange:e=>tq(e.target.value),size:"large",onPressEnter:n?aw:void 0,disabled:tI,autoComplete:"new-password"}),tV.length>0&&!a&&(0,o.jsx)("p",{role:"alert",className:"jsx-4925f27faf262090 password-setup-dialog__match-error",children:"Las contrase\xf1as no coinciden."})]}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 password-setup-dialog__actions",children:[(0,o.jsx)(u.Ay,{className:"auth-mode-dialog__btn auth-mode-dialog__btn--ghost",onClick:r,disabled:tI,children:t4.cancel}),(0,o.jsx)(u.Ay,{type:"primary",className:"auth-mode-dialog__btn auth-mode-dialog__btn--primary",onClick:aw,loading:tI,disabled:!n,children:tI?"Creando cuentaâ¦":"Crear cuenta"})]})]})})})(),(0,o.jsx)(S.A,{open:tY,onCancel:af,footer:null,centered:!0,width:480,maskClosable:!0,keyboard:!0,closable:!0,destroyOnHidden:!0,className:"booking-success-dialog notranslate",zIndex:9e3,children:tW&&(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 booking-success-dialog__body",children:[(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 booking-success-dialog__header",children:[(0,o.jsx)("div",{"aria-hidden":!0,className:"jsx-4925f27faf262090 booking-success-dialog__badge",children:(0,o.jsx)(D.A,{})}),(0,o.jsx)("h3",{className:"jsx-4925f27faf262090 booking-success-dialog__title",children:"Cita confirmada"}),(0,o.jsxs)("p",{className:"jsx-4925f27faf262090 booking-success-dialog__subtitle",children:["".concat(tW.firstName||""," ").concat(tW.lastName||"").trim(),null!=tW.amount&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{"aria-hidden":!0,className:"jsx-4925f27faf262090 booking-success-dialog__dot",children:"\xb7"}),(0,o.jsx)("span",{className:"jsx-4925f27faf262090 booking-success-dialog__amount",children:eP(tW.amount)})]})]})]}),tW.meetingLink&&(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 booking-success-dialog__meeting",children:[(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 booking-success-dialog__meeting-header",children:[(0,o.jsx)(F.A,{"aria-hidden":!0}),(0,o.jsx)("span",{className:"jsx-4925f27faf262090",children:"Su videoconsulta"})]}),(0,o.jsxs)("div",{title:tW.meetingLink,className:"jsx-4925f27faf262090 booking-success-dialog__meeting-url",children:[(0,o.jsx)("span",{className:"jsx-4925f27faf262090 booking-success-dialog__meeting-url-label",children:"Enlace de la reuni\xf3n"}),(0,o.jsx)("span",{className:"jsx-4925f27faf262090 booking-success-dialog__meeting-url-value",children:tW.meetingLink})]}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 booking-success-dialog__meeting-actions",children:[(0,o.jsx)(u.Ay,{type:"primary",className:"auth-mode-dialog__btn auth-mode-dialog__btn--primary booking-success-dialog__join-btn",icon:(0,o.jsx)(F.A,{}),onClick:()=>window.open(tW.meetingLink,"_blank","noopener,noreferrer"),children:"Unirse a la reuni\xf3n"}),(0,o.jsx)(u.Ay,{className:"auth-mode-dialog__btn auth-mode-dialog__btn--ghost booking-success-dialog__copy-btn",icon:(0,o.jsx)(T.A,{}),onClick:async()=>{try{await navigator.clipboard.writeText(tW.meetingLink),eV.success({message:"Enlace de la reuni\xf3n copiado",placement:"topRight",duration:2})}catch(e){eV.warning({message:"No se pudo copiar el enlace autom\xe1ticamente",description:"Mantenga pulsado o haga clic derecho en el enlace para copiarlo.",placement:"topRight"})}},children:"Copiar"})]}),(0,o.jsx)("p",{className:"jsx-4925f27faf262090 booking-success-dialog__meeting-hint",children:"Tambi\xe9n le hemos enviado una copia de este enlace por email."})]}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 booking-success-dialog__actions",children:[tW.receiptUrl&&(0,o.jsx)(u.Ay,{className:"auth-mode-dialog__btn auth-mode-dialog__btn--ghost booking-success-dialog__action",icon:(0,o.jsx)(L.A,{}),onClick:()=>window.open(tW.receiptUrl,"_blank","noopener,noreferrer"),children:"Ver recibo de pago"}),(0,o.jsx)(u.Ay,{className:"auth-mode-dialog__btn auth-mode-dialog__btn--ghost booking-success-dialog__action",icon:(0,o.jsx)(I.A,{}),onClick:()=>window.open(tW.patientDashboardUrl||W.I,"_blank","noopener,noreferrer"),children:"Panel del paciente"}),(0,o.jsx)(u.Ay,{type:"text",className:"booking-success-dialog__secondary",onClick:af,children:"Pedir otra cita"})]}),tW.email&&(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 booking-success-dialog__confirmation",children:[(0,o.jsx)(E.A,{className:"booking-success-dialog__confirmation-icon"}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090",children:[(0,o.jsxs)("p",{className:"jsx-4925f27faf262090 booking-success-dialog__confirmation-title",children:["Confirmaci\xf3n enviada a ",(0,o.jsx)("strong",{className:"jsx-4925f27faf262090",children:tW.email})]}),(0,o.jsx)("p",{className:"jsx-4925f27faf262090 booking-success-dialog__confirmation-meta",children:"Recibo por email (PDF) \xb7 Acceda a su panel \xb7 Est\xe9 listo 5 min antes de la reuni\xf3n"})]})]})]})}),(0,o.jsx)(C.A,{}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 appointment-form-actions",children:[(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 appointment-form-actions__group a
1ppointment-form-actions__group--start",children:[(0,o.jsx)(u.Ay,{className:"appointment-form-actions__back",onClick:()=>{let e=Math.max(Z-1,0);em(e),t0(e),eG.current&&eG.current.scrollIntoView({behavior:"smooth"})},disabled:0===Z||tR||tG,children:t4.back}),(0,o.jsx)(u.Ay,{className:"appointment-form-actions__save",onClick:()=>{try{var e,t,a,o,n,i,r;let s=q.getFieldsValue(!0),l={},c=localStorage.getItem(eS);if(c)try{l=JSON.parse(c)}catch(e){l={}}let d=null!=(a=null!=(t=null!=(e=q.getFieldValue("doctorId"))?e:e1)?t:l.selectedDoctorId)?a:l.doctorId,p=null!=(n=null!=(o=q.getFieldValue("serviceId"))?o:e$)?n:l.serviceId,m=ta?Number(ta.finalAmount):"number"==typeof eK&&eK>0?eK:Number(null!=(r=null!=(i=s.amount)?i:l.amount)?r:0),u={schemaVersion:5,...function(e){let t={};for(let a of eC)void 0!==e[a]&&(t[a]=e[a]);return e.dob&&(t.dob=U()(e.dob).format("YYYY-MM-DD")),e.slotDate&&(t.slotDate=U()(e.slotDate).format("YYYY-MM-DD")),t}(s),phone:eh||s.phone||l.phone||"",step:Z,serviceId:p,selectedDoctorId:d,doctorId:d,amount:m,lockAmount:e0,appliedCoupon:ta||null,couponInput:tn||"",isEmailVerified:td,isPasswordSet:tm,authMode:ty||"",isExistingUser:tl,emailChecked:tL,uploadedFiles:Array.isArray(l.uploadedFiles)?l.uploadedFiles:[],savedAt:new Date().toISOString()};localStorage.setItem(eS,JSON.stringify(u)),eX.current=!0,(0,ey.UQ)("appointment_draft_saved",{flow:"appointment",step:Z,service_id:p,doctor_id:d,amount:m,page_path:(0,ey.rz)()}),eV.success({message:t4.draftSaved,placement:"bottomLeft"})}catch(e){console.error("Failed to save appointment draft:",e),eV.error({message:"No se pudo guardar el borrador",description:"Compruebe la configuraci\xf3n de almacenamiento del navegador e int\xe9ntelo de nuevo.",placement:"bottomLeft"})}},disabled:tR||tG,children:t4.saveDraft})]}),(0,o.jsxs)("div",{className:"jsx-4925f27faf262090 appointment-form-actions__group appointment-form-actions__group--end",children:[(0,o.jsx)(u.Ay,{className:"appointment-form-actions__clear",onClick:()=>{tJ(!0)},disabled:tR||tG,children:t4.clear}),Z<ag.length-1&&(0,o.jsx)(u.Ay,{className:"appointment-form-actions__next",type:"primary",onClick:aA,size:"large",loading:tR||tG,disabled:tR||tG,icon:tR||tG?null:void 0,children:tG?t4.proceedingAuto:tR?2===Z?t4.checkingEmail:t4.processing:t4.next})]})]})]})})]})]})]})]})}),ah&&ap?(0,o.jsx)(ef,{title:ap.title,briefDescription:ap.briefDescription,description:ap.description}):null]})}},49746:()=>{},55558:(e,t,a)=>{"use strict";a.d(t,{AV:()=>o,EM:()=>n,GO:()=>r,Zf:()=>i,uQ:()=>l,vz:()=>s});let o="#0e8187",n="#11afb6",i="#0D1830",r="#0092FE",s="#FFFFFF",l="#0D1830"},69469:(e,t,a)=>{"use strict";a.d(t,{D4:()=>d,F:()=>r,IN:()=>n,dD:()=>o,fJ:()=>f,mB:()=>p,v_:()=>c,yH:()=>l,zf:()=>u});let o="site_lang",n="googtrans",i="default",r="es",s=[{code:"es",label:"Espa\xf1ol",shortLabel:"ES",nativeLabel:"Espa\xf1ol",flag:"es"},{code:"en",label:"English",shortLabel:"EN",nativeLabel:"English",flag:"gb"}],l=s,c=s.map(e=>e.code).join(",");function d(e){return s.some(t=>t.code===e)}function p(e){return e===i||e===r}let m=new Set(["it","nl","fr","de","pt"]);function u(e){return e===i||e&&m.has(e)?r:e&&d(e)?e:r}function f(e){var t;let a=u(e)||r;return null!=(t=s.find(e=>e.code===a))?t:s[0]}},82105:(e,t,a)=>{"use strict";a.d(t,{m:()=>o});let o="Instrument Sans"},91161:(e,t,a)=>{"use strict";a.d(t,{I:()=>f,Pn:()=>B,U5:()=>m,gf:()=>M,mq:()=>u,tl:()=>et});var o=a(96787),n=a(49509);let i=n.env.NEXT_PUBLIC_BASE_URL||"",r=n.env.NEXT_PUBLIC_API_BASE_URL||"/api",s=n.env.NEXT_PUBLIC_ABOUT_URL||"/about-us",l=n.env.NEXT_PUBLIC_SERVICES_URL||"/services",c=n.env.NEXT_PUBLIC_QUICK_SERVICES_URL||"/quick-services",d=n.env.NEXT_PUBLIC_CONTACT_URL||"/contact-us",p=n.env.NEXT_PUBLIC_FAQS_URL||"/faqs",m=n.env.NEXT_PUBLIC_BLOGS_URL||"/blogs";function u(e){let t=String(e||"").trim().replace(/^\/+/,"");return t?"".concat(m,"/").concat(t):m}let f="/patient-login",g=n.env.NEXT_PUBLIC_PATIENT_SIGNUP_URL||"/patient-signup",h=n.env.NEXT_PUBLIC_PATIENT_APPOINTMENTS_URL||"/patient/appointments",x=n.env.NEXT_PUBLIC_PATIENT_PRESCRIPTIONS_URL||"/patient/prescriptions",b=n.env.NEXT_PUBLIC_PATIENT_MEDICAL_RECORDS_URL||"/patient/medical-records",_=n.env.
1NEXT_PUBLIC_PATIENT_PROFILE_URL||"/patient/profile",y=n.env.NEXT_PUBLIC_PATIENT_SETTINGS_URL||"/patient/settings",v=n.env.NEXT_PUBLIC_DOCTOR_APPOINTMENTS_URL||"/doctor/appointments",j=n.env.NEXT_PUBLIC_DOCTOR_PATIENTS_URL||"/doctor/patients",w=n.env.NEXT_PUBLIC_DOCTOR_PRESCRIPTIONS_URL||"/doctor/prescriptions",N=n.env.NEXT_PUBLIC_DOCTOR_SCHEDULE_URL||"/doctor/schedule",A=n.env.NEXT_PUBLIC_DOCTOR_PROFILE_URL||"/doctor/profile",S=n.env.NEXT_PUBLIC_DOCTOR_SETTINGS_URL||"/doctor/settings",C=n.env.NEXT_PUBLIC_DOCTOR_CONSULTATION_URL||"/doctor/consultation",k=n.env.NEXT_PUBLIC_ADMIN_LOGIN_URL||"/login",E=n.env.NEXT_PUBLIC_ADMIN_APPOINTMENTS_URL||"/admin/appointments",I=n.env.NEXT_PUBLIC_ADMIN_DOCTORS_URL||"/admin/doctors",P=n.env.NEXT_PUBLIC_ADMIN_PATIENTS_URL||"/admin/patients",R=n.env.NEXT_PUBLIC_ADMIN_SERVICES_URL||"/admin/services",D=n.env.NEXT_PUBLIC_ADMIN_USERS_URL||"/admin/users",F=n.env.NEXT_PUBLIC_ADMIN_POLICIES_URL||"/admin/policies",T=n.env.NEXT_PUBLIC_ADMIN_BLOGS_URL||"/admin/blogs",L=n.env.NEXT_PUBLIC_MEETING_JOIN_URL||"/meeting",z=n.env.NEXT_PUBLIC_FORGET_PASSWORD_URL||"/forget-password",U=n.env.NEXT_PUBLIC_RESET_PASSWORD_URL||"/reset-password",O=n.env.NEXT_PUBLIC_VERIFY_EMAIL_URL||"/verify-email",M=String("https://app.healthclino.es/patient-signup").replace(/\/+$/,""),B=String("https://app.healthclino.es/").replace(/\/+$/,""),V=n.env.NEXT_PUBLIC_FULL_HOME_URL||o.qP,q=n.env.NEXT_PUBLIC_FULL_PATIENT_LOGIN_URL||B,G=n.env.NEXT_PUBLIC_FULL_PATIENT_PORTAL_URL||"".concat(o.qP,"/patient/dashboard"),H=n.env.NEXT_PUBLIC_FULL_DOCTOR_PORTAL_URL||"".concat(o.qP,"/doctor/dashboard"),Y=n.env.NEXT_PUBLIC_FULL_ADMIN_PORTAL_URL||"".concat(o.qP,"/admin/dashboard"),X=n.env.NEXT_PUBLIC_FULL_MEETING_URL||"".concat(o.qP,"/meeting"),W=n.env.NEXT_PUBLIC_FULL_POLICIES_URL||"".concat(o.qP,"/policies"),Q=n.env.NEXT_PUBLIC_FULL_BOOK_APPOINTMENT_URL||"".concat(o.qP,"/book-appointment"),$=n.env.NEXT_PUBLIC_SUPPORT_EMAIL||o.W4,J=n.env.NEXT_PUBLIC_COMPANY_NAME||o.mt,K=n.env.NEXT_PUBLIC_COMPANY_ADDRESS||o.GW,Z=n.env.NEXT_PUBLIC_FACEBOOK_URL||o.eR,ee=n.env.NEXT_PUBLIC_TWITTER_URL||o.BA,et={BASE:i,API_BASE:r,HOME:"/",ABOUT:s,SERVICES:l,QUICK_SERVICES:c,CONTACT:d,POLICIES:"/policies",FAQS:p,BLOGS:m,BOOK_APPOINTMENT:"/book-appointment",PATIENT_LOGIN:f,PATIENT_SIGNUP:g,PATIENT_PORTAL:"/patient/dashboard",PATIENT_APPOINTMENTS:h,PATIENT_PRESCRIPTIONS:x,PATIENT_MEDICAL_RECORDS:b,PATIENT_PROFILE:_,PATIENT_SETTINGS:y,DOCTOR_LOGIN:"/login",DOCTOR_PORTAL:"/doctor/dashboard",DOCTOR_APPOINTMENTS:v,DOCTOR_PATIENTS:j,DOCTOR_PRESCRIPTIONS:w,DOCTOR_SCHEDULE:N,DOCTOR_PROFILE:A,DOCTOR_SETTINGS:S,DOCTOR_CONSULTATION:C,ADMIN_LOGIN:k,ADMIN_PORTAL:"/admin/dashboard",ADMIN_APPOINTMENTS:E,ADMIN_DOCTORS:I,ADMIN_PATIENTS:P,ADMIN_SERVICES:R,ADMIN_USERS:D,ADMIN_POLICIES:F,ADMIN_BLOGS:T,MEETING_BASE:"/meeting",MEETING_JOIN:L,PORTAL_PATIENT:M,PORTAL_PATIENT_SIGNUP:M,PORTAL_PATIENT_LOGIN:B,PORTAL_ADMIN:"https://app.healthclino.es/login",PORTAL_DOCTOR:"https://app.healthclino.es/staff-login",FORGET_PASSWORD:z,RESET_PASSWORD:U,VERIFY_EMAIL:O,FULL:{HOME:V,PATIENT_LOGIN:q,PATIENT_PORTAL:G,DOCTOR_PORTAL:H,ADMIN_PORTAL:Y,MEETING:X,POLICIES:W,BOOK_APPOINTMENT:Q},COMPANY:{NAME:J,EMAIL:$,ADDRESS:K},SOCIAL:{FACEBOOK:Z,TWITTER:ee,LINKEDIN:n.env.NEXT_PUBLIC_LINKEDIN_URL||o.i4,INSTAGRAM:n.env.NEXT_PUBLIC_INSTAGRAM_URL||o.Oc}}},96787:(e,t,a)=>{"use strict";a.d(t,{BA:()=>A,E7:()=>g,Fu:()=>l,GW:()=>_,I8:()=>j,Jx:()=>n,KN:()=>f,Ks:()=>k,MN:()=>w,Ml:()=>i,Oc:()=>S,P2:()=>c,PO:()=>y,RE:()=>v,W4:()=>p,Yl:()=>x,Zq:()=>h,bd:()=>d,eR:()=>N,ff:()=>u,i4:()=>C,mt:()=>o,qP:()=>r,xp:()=>b,zL:()=>s});let o="Health Clino",n="HealthClino",i="".concat(o," (").concat(n,")"),r="https://www.healthclino.es",s="healthclino.es",l="https://www.healthclino.eu";"".concat(r).concat("/logo.png");let c="espa\xf1ol",d="[email protected]",p="[email protected]",m="+447886257422".trim(),u=m,f=m.replace(/[\s\-()]/g,""),g=f?"https://wa.me/".concat(f.replace(/^\+/,"")):"",h="Espa\xf1a",x="Madrid",b="ES",_="Espa\xf1a",y=new Date().getFullYear();"\xa9 ".concat(y," ").concat(o,". Todos los derechos reservados.");let v="â¬".concat(30),j="desde ".concat(v),w=[o,n,"Health Clino","HealthClino","health clino","healthclino"],N="https://www.facebook.com/healthclino",A="https://www.twitter.com/healthclino",S="https://www.instagram.com/healthclino",C="https://www.linkedin.com/company/healthclino",k="1900px"}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.