diff --git a/src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte b/src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte
new file mode 100644
index 0000000..a178cf5
--- /dev/null
+++ b/src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte
@@ -0,0 +1,23 @@
+
+
+
+
+ More
+
diff --git a/src/lib/components/ui/breadcrumb/breadcrumb-item.svelte b/src/lib/components/ui/breadcrumb/breadcrumb-item.svelte
new file mode 100644
index 0000000..1a84c4c
--- /dev/null
+++ b/src/lib/components/ui/breadcrumb/breadcrumb-item.svelte
@@ -0,0 +1,20 @@
+
+
+
+ {@render children?.()}
+
diff --git a/src/lib/components/ui/breadcrumb/breadcrumb-link.svelte b/src/lib/components/ui/breadcrumb/breadcrumb-link.svelte
new file mode 100644
index 0000000..e6bc17d
--- /dev/null
+++ b/src/lib/components/ui/breadcrumb/breadcrumb-link.svelte
@@ -0,0 +1,31 @@
+
+
+{#if child}
+ {@render child({ props: attrs })}
+{:else}
+
+ {@render children?.()}
+
+{/if}
diff --git a/src/lib/components/ui/breadcrumb/breadcrumb-list.svelte b/src/lib/components/ui/breadcrumb/breadcrumb-list.svelte
new file mode 100644
index 0000000..1272a37
--- /dev/null
+++ b/src/lib/components/ui/breadcrumb/breadcrumb-list.svelte
@@ -0,0 +1,23 @@
+
+
+
+ {@render children?.()}
+
diff --git a/src/lib/components/ui/breadcrumb/breadcrumb-page.svelte b/src/lib/components/ui/breadcrumb/breadcrumb-page.svelte
new file mode 100644
index 0000000..5fb6979
--- /dev/null
+++ b/src/lib/components/ui/breadcrumb/breadcrumb-page.svelte
@@ -0,0 +1,23 @@
+
+
+
+ {@render children?.()}
+
diff --git a/src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte b/src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte
new file mode 100644
index 0000000..84106a1
--- /dev/null
+++ b/src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte
@@ -0,0 +1,27 @@
+
+
+svg]:size-3.5", className)}
+ {...restProps}
+>
+ {#if children}
+ {@render children?.()}
+ {:else}
+
+ {/if}
+
diff --git a/src/lib/components/ui/breadcrumb/breadcrumb.svelte b/src/lib/components/ui/breadcrumb/breadcrumb.svelte
new file mode 100644
index 0000000..8f8a3e6
--- /dev/null
+++ b/src/lib/components/ui/breadcrumb/breadcrumb.svelte
@@ -0,0 +1,21 @@
+
+
+
diff --git a/src/lib/components/ui/breadcrumb/index.ts b/src/lib/components/ui/breadcrumb/index.ts
new file mode 100644
index 0000000..dc914ec
--- /dev/null
+++ b/src/lib/components/ui/breadcrumb/index.ts
@@ -0,0 +1,25 @@
+import Root from "./breadcrumb.svelte";
+import Ellipsis from "./breadcrumb-ellipsis.svelte";
+import Item from "./breadcrumb-item.svelte";
+import Separator from "./breadcrumb-separator.svelte";
+import Link from "./breadcrumb-link.svelte";
+import List from "./breadcrumb-list.svelte";
+import Page from "./breadcrumb-page.svelte";
+
+export {
+ Root,
+ Ellipsis,
+ Item,
+ Separator,
+ Link,
+ List,
+ Page,
+ //
+ Root as Breadcrumb,
+ Ellipsis as BreadcrumbEllipsis,
+ Item as BreadcrumbItem,
+ Separator as BreadcrumbSeparator,
+ Link as BreadcrumbLink,
+ List as BreadcrumbList,
+ Page as BreadcrumbPage,
+};
diff --git a/src/lib/components/ui/input-otp/index.ts b/src/lib/components/ui/input-otp/index.ts
new file mode 100644
index 0000000..e9ae273
--- /dev/null
+++ b/src/lib/components/ui/input-otp/index.ts
@@ -0,0 +1,15 @@
+import Root from "./input-otp.svelte";
+import Group from "./input-otp-group.svelte";
+import Slot from "./input-otp-slot.svelte";
+import Separator from "./input-otp-separator.svelte";
+
+export {
+ Root,
+ Group,
+ Slot,
+ Separator,
+ Root as InputOTP,
+ Group as InputOTPGroup,
+ Slot as InputOTPSlot,
+ Separator as InputOTPSeparator,
+};
diff --git a/src/lib/components/ui/input-otp/input-otp-group.svelte b/src/lib/components/ui/input-otp/input-otp-group.svelte
new file mode 100644
index 0000000..9b311bc
--- /dev/null
+++ b/src/lib/components/ui/input-otp/input-otp-group.svelte
@@ -0,0 +1,20 @@
+
+
+
+ {@render children?.()}
+
diff --git a/src/lib/components/ui/input-otp/input-otp-separator.svelte b/src/lib/components/ui/input-otp/input-otp-separator.svelte
new file mode 100644
index 0000000..2c4fb4a
--- /dev/null
+++ b/src/lib/components/ui/input-otp/input-otp-separator.svelte
@@ -0,0 +1,19 @@
+
+
+
+ {#if children}
+ {@render children?.()}
+ {:else}
+
+ {/if}
+
diff --git a/src/lib/components/ui/input-otp/input-otp-slot.svelte b/src/lib/components/ui/input-otp/input-otp-slot.svelte
new file mode 100644
index 0000000..9d45382
--- /dev/null
+++ b/src/lib/components/ui/input-otp/input-otp-slot.svelte
@@ -0,0 +1,31 @@
+
+
+
+ {cell.char}
+ {#if cell.hasFakeCaret}
+
+ {/if}
+
diff --git a/src/lib/components/ui/input-otp/input-otp.svelte b/src/lib/components/ui/input-otp/input-otp.svelte
new file mode 100644
index 0000000..a9de2c4
--- /dev/null
+++ b/src/lib/components/ui/input-otp/input-otp.svelte
@@ -0,0 +1,22 @@
+
+
+
diff --git a/src/lib/components/ui/login-form/login-form.svelte b/src/lib/components/ui/login-form/login-form.svelte
index 52f83e7..6ddf3dc 100644
--- a/src/lib/components/ui/login-form/login-form.svelte
+++ b/src/lib/components/ui/login-form/login-form.svelte
@@ -36,7 +36,7 @@
diff --git a/src/routes/password-reset/+page.svelte b/src/routes/password-reset/+page.svelte
new file mode 100644
index 0000000..e60079b
--- /dev/null
+++ b/src/routes/password-reset/+page.svelte
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+ {#if estado === 'email'}
+
+ {:else if estado === 'otp'}
+
+ {:else if estado === 'nuevapass'}
+
+ {/if}
+
+
+
diff --git a/src/routes/password-reset/IngresarEmail.svelte b/src/routes/password-reset/IngresarEmail.svelte
new file mode 100644
index 0000000..61d370e
--- /dev/null
+++ b/src/routes/password-reset/IngresarEmail.svelte
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+ Ingresa tu correo electrónico
+ {#if checkeado == null}
+
+ {:else if checkeado == true}
+
+ {:else if esEmailExistente}
+
+ {:else}
+
+ {/if}
+
+
+
+
+
+
+
diff --git a/src/routes/password-reset/NuevaPass.svelte b/src/routes/password-reset/NuevaPass.svelte
new file mode 100644
index 0000000..7cf9f6b
--- /dev/null
+++ b/src/routes/password-reset/NuevaPass.svelte
@@ -0,0 +1,41 @@
+
+
+
+
+
+ Crear una Nueva Contraseña
+
+
+
+
diff --git a/src/routes/password-reset/Otp.svelte b/src/routes/password-reset/Otp.svelte
new file mode 100644
index 0000000..ab14abc
--- /dev/null
+++ b/src/routes/password-reset/Otp.svelte
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
Verificación de correo
+
+ Hemos enviado un código de verificación a tu correo electrónico.
+
+
+
+
+
+ {#snippet children({ cells })}
+
+ {#each cells as cell, i}
+
+ {/each}
+
+ {/snippet}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/routes/password-reset/Pasos.svelte b/src/routes/password-reset/Pasos.svelte
new file mode 100644
index 0000000..329ef5d
--- /dev/null
+++ b/src/routes/password-reset/Pasos.svelte
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+ Ingrese Email
+
+
+
+
+ Ingresar OTP
+
+
+
+
+ Nueva Contraseña
+
+
+
+
+