diff --git a/assets_generados/dripzone_emblem.svg b/assets_generados/dripzone_emblem.svg
index 43bec47..c03d49e 100644
--- a/assets_generados/dripzone_emblem.svg
+++ b/assets_generados/dripzone_emblem.svg
@@ -1,160 +1,10 @@
-
\ No newline at end of file
diff --git a/assets_generados/dripzone_logo_app_icon.svg b/assets_generados/dripzone_logo_app_icon.svg
new file mode 100644
index 0000000..ec556c4
--- /dev/null
+++ b/assets_generados/dripzone_logo_app_icon.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets_generados/dripzone_logo_horizontal.svg b/assets_generados/dripzone_logo_horizontal.svg
index c581414..b9be269 100644
--- a/assets_generados/dripzone_logo_horizontal.svg
+++ b/assets_generados/dripzone_logo_horizontal.svg
@@ -1,124 +1,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DRIP
- ZONE
-
-
-
-
-
-
-
-
-
-
-
-
-
- ROPA URBANA Y ZAPATILLAS DEPORTIVAS
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/assets_generados/dripzone_splash_screen.svg b/assets_generados/dripzone_splash_screen.svg
new file mode 100644
index 0000000..a19a964
--- /dev/null
+++ b/assets_generados/dripzone_splash_screen.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/assets_generados/dripzone_wordmark.svg b/assets_generados/dripzone_wordmark.svg
index 57017dd..368b192 100644
--- a/assets_generados/dripzone_wordmark.svg
+++ b/assets_generados/dripzone_wordmark.svg
@@ -1,122 +1,3 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DRIP
-
-
- ZONE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ROPA URBANA Y ZAPATILLAS DEPORTIVAS
-
-
- ROPA URBANA Y ZAPATILLAS DEPORTIVAS
-
-
+
+
+
\ No newline at end of file
diff --git a/dripzone-app/public/dripzone_emblem.svg b/dripzone-app/public/dripzone_emblem.svg
index 43bec47..c03d49e 100644
--- a/dripzone-app/public/dripzone_emblem.svg
+++ b/dripzone-app/public/dripzone_emblem.svg
@@ -1,160 +1,10 @@
-
+
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/dripzone-app/public/dripzone_logo_app_icon.svg b/dripzone-app/public/dripzone_logo_app_icon.svg
new file mode 100644
index 0000000..ec556c4
--- /dev/null
+++ b/dripzone-app/public/dripzone_logo_app_icon.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dripzone-app/public/dripzone_logo_horizontal.svg b/dripzone-app/public/dripzone_logo_horizontal.svg
index c581414..b9be269 100644
--- a/dripzone-app/public/dripzone_logo_horizontal.svg
+++ b/dripzone-app/public/dripzone_logo_horizontal.svg
@@ -1,124 +1,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DRIP
- ZONE
-
-
-
-
-
-
-
-
-
-
-
-
-
- ROPA URBANA Y ZAPATILLAS DEPORTIVAS
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/dripzone-app/public/dripzone_splash_screen.svg b/dripzone-app/public/dripzone_splash_screen.svg
new file mode 100644
index 0000000..a19a964
--- /dev/null
+++ b/dripzone-app/public/dripzone_splash_screen.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/dripzone-app/public/dripzone_wordmark.svg b/dripzone-app/public/dripzone_wordmark.svg
index 57017dd..368b192 100644
--- a/dripzone-app/public/dripzone_wordmark.svg
+++ b/dripzone-app/public/dripzone_wordmark.svg
@@ -1,122 +1,3 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DRIP
-
-
- ZONE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ROPA URBANA Y ZAPATILLAS DEPORTIVAS
-
-
- ROPA URBANA Y ZAPATILLAS DEPORTIVAS
-
-
+
+
+
\ No newline at end of file
diff --git a/generate_exact_svgs.py b/generate_exact_svgs.py
new file mode 100644
index 0000000..b2ce4cc
--- /dev/null
+++ b/generate_exact_svgs.py
@@ -0,0 +1,124 @@
+import base64
+import os
+from PIL import Image
+import io
+
+ASSETS_DIR = r"c:\Users\Carlos\dev\almeira-web\assets_generados"
+PUBLIC_DIR = r"c:\Users\Carlos\dev\almeira-web\dripzone-app\public"
+
+# Rutas de las imagenes maestras
+SPLASH_IMG_PATH = os.path.join(ASSETS_DIR, "dripzone_splash_clean_1787718656035.jpg")
+ICON_IMG_PATH = os.path.join(ASSETS_DIR, "dripzone_app_icon_1787718672979.jpg")
+
+splash_img = Image.open(SPLASH_IMG_PATH)
+icon_img = Image.open(ICON_IMG_PATH)
+
+def to_base64(img, format="PNG"):
+ buffer = io.BytesIO()
+ img.save(buffer, format=format, quality=100)
+ return f"data:image/{format.lower()};base64," + base64.b64encode(buffer.getvalue()).decode('utf-8')
+
+print("-> Generando SVGs 100% identicos y exactos a las imagenes maestras...")
+
+# 1. dripzone_logo_app_icon.svg (El logo cuadrado 1:1 identico de la app)
+w, h = icon_img.size
+icon_b64 = to_base64(icon_img, "PNG")
+svg_icon = f'''
+
+
+
+
+
+
+
+
+
+'''
+
+with open(os.path.join(ASSETS_DIR, "dripzone_logo_app_icon.svg"), "w", encoding="utf-8") as f:
+ f.write(svg_icon)
+with open(os.path.join(PUBLIC_DIR, "dripzone_logo_app_icon.svg"), "w", encoding="utf-8") as f:
+ f.write(svg_icon)
+print(" [OK] dripzone_logo_app_icon.svg")
+
+
+# 2. dripzone_emblem.svg (El emblema 'D' Sneaker extraido exactamente del Splash)
+# Crop exacto del D-Emblem
+sw, sh = splash_img.size
+emblem_img = splash_img.crop((125, 230, 645, 750)).resize((600, 600), Image.Resampling.LANCZOS)
+emblem_b64 = to_base64(emblem_img, "PNG")
+
+svg_emblem = f'''
+
+
+
+
+
+
+
+
+'''
+
+with open(os.path.join(ASSETS_DIR, "dripzone_emblem.svg"), "w", encoding="utf-8") as f:
+ f.write(svg_emblem)
+with open(os.path.join(PUBLIC_DIR, "dripzone_emblem.svg"), "w", encoding="utf-8") as f:
+ f.write(svg_emblem)
+print(" [OK] dripzone_emblem.svg")
+
+
+# 3. dripzone_wordmark.svg (El texto DRIPZONE + ROPA URBANA Y ZAPATILLAS DEPORTIVAS recortado exacto)
+wordmark_img = splash_img.crop((80, 750, 688, 980))
+ww, wh = wordmark_img.size
+wordmark_b64 = to_base64(wordmark_img, "PNG")
+
+svg_wordmark = f'''
+
+'''
+
+with open(os.path.join(ASSETS_DIR, "dripzone_wordmark.svg"), "w", encoding="utf-8") as f:
+ f.write(svg_wordmark)
+with open(os.path.join(PUBLIC_DIR, "dripzone_wordmark.svg"), "w", encoding="utf-8") as f:
+ f.write(svg_wordmark)
+print(" [OK] dripzone_wordmark.svg")
+
+
+# 4. dripzone_splash_screen.svg (El Splash Screen vertical completo en SVG)
+splash_b64 = to_base64(splash_img, "PNG")
+svg_splash = f'''
+
+'''
+
+with open(os.path.join(ASSETS_DIR, "dripzone_splash_screen.svg"), "w", encoding="utf-8") as f:
+ f.write(svg_splash)
+with open(os.path.join(PUBLIC_DIR, "dripzone_splash_screen.svg"), "w", encoding="utf-8") as f:
+ f.write(svg_splash)
+print(" [OK] dripzone_splash_screen.svg")
+
+
+# 5. dripzone_logo_horizontal.svg (Composicion horizontal con emblema D a la izquierda y Wordmark a la derecha)
+canvas_w = 1200
+canvas_h = 420
+canvas_img = Image.new("RGBA", (canvas_w, canvas_h), (9, 9, 11, 255))
+
+# Pegar emblema escalado a la izquierda
+emb_resized = emblem_img.resize((380, 380), Image.Resampling.LANCZOS)
+canvas_img.paste(emb_resized, (30, 20), emb_resized if emb_resized.mode == 'RGBA' else None)
+
+# Pegar wordmark escalado a la derecha
+wm_resized = wordmark_img.resize((720, 280), Image.Resampling.LANCZOS)
+canvas_img.paste(wm_resized, (440, 70), wm_resized if wm_resized.mode == 'RGBA' else None)
+
+horizontal_b64 = to_base64(canvas_img, "PNG")
+
+svg_horizontal = f'''
+
+
+'''
+
+with open(os.path.join(ASSETS_DIR, "dripzone_logo_horizontal.svg"), "w", encoding="utf-8") as f:
+ f.write(svg_horizontal)
+with open(os.path.join(PUBLIC_DIR, "dripzone_logo_horizontal.svg"), "w", encoding="utf-8") as f:
+ f.write(svg_horizontal)
+print(" [OK] dripzone_logo_horizontal.svg")
+
+print("\n[EXITO COMPLETO] Todos los archivos SVG quedaron 100% identicos y fieles a las imagenes maestras.")