diff --git a/create_icons.py b/create_icons.py
new file mode 100644
index 0000000..08704a9
Binary files /dev/null and b/create_icons.py differ
diff --git a/gen_icons.js b/gen_icons.js
new file mode 100644
index 0000000..f6b3893
--- /dev/null
+++ b/gen_icons.js
@@ -0,0 +1,20 @@
+const fs = require('fs');
+const path = require('path');
+const iconsDir = path.join(__dirname, 'public', 'icons');
+if (!fs.existsSync(iconsDir)) fs.mkdirSync(iconsDir, { recursive: true });
+const icons = {
+ home: { path: 'M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z M9 22v-10l6 6v-10', label: 'Home' },
+ search: { d: 'circle cx=11 cy=11 r=8 line x1=21 y1=21 x2=16.65 y2=16.65', label: 'Search' },
+ user: { d: 'path d=M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2 circle cx=12 cy=7 r=4', label: 'User' },
+ folder: { d: 'path d=M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z', fill: true, label: 'Folder' },
+ file: { d: 'path d=M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z polyline points=14 2 14 8 20 8', label: 'File' },
+ settings: { d: 'circle cx=12 cy=12 r=3 path d=M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0', label: 'Settings' },
+ close: { d: 'line x1=18 y1=6 x2=6 y2=18 line x1=6 y1=6 x2=18 y2=18', label: 'Close' },
+ check: { d: 'polyline points=20 6 9 17 4 12', color: '#22c55e', label: 'Check' },
+ delete: { d: 'polyline points=3 6 5 6 21 6 path d=M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2', color: '#ef4444', label: 'Delete' },
+ add: { d: 'circle cx=12 cy=12 r=10 line x1=12 y1=8 x2=12 y2=16 line x1=8 y1=12 x2=16 y2=12', label: 'Add' },
+ download: { d: 'path d=M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4 polyline points=7 10 12 15 17 10 line x1=12 y1=15 x2=12 y2=3', label: 'Download' },
+ upload: { d: 'path d=M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4 polyline points=17 8 12 3 7 8 line x1=12 y1=3 x2=12 y2=15', label: 'Upload' },
+ share: { d: 'circle cx=18 cy=5 r=3 circle cx=6 cy=12 r=3 circle cx=18 cy=19 r=3 line x1=8.59 y1=13.51 x2=15.42 y2=17.49 line x1=15.41 y1=6.51 x2=8.59 y2=10.49', label: 'Share' },
+ favorite: { d: 'path d=M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z', fill: true, label: 'Favorite' },
+ cloud: { d: 'path d=M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z', label: 'Cloud' },
diff --git a/gen_icons.py b/gen_icons.py
new file mode 100644
index 0000000..800d5ce
--- /dev/null
+++ b/gen_icons.py
@@ -0,0 +1,175 @@
+# Icon Generator Script
+import os
+
+icons_dir = 'public/icons'
+os.makedirs(icons_dir, exist_ok=True)
+
+# Color scheme
+PRIMARY_COLOR = '#6366f1'
+SUCCESS_COLOR = '#22c55e'
+DANGER_COLOR = '#ef4444'
+
+def create_svg(filename, elements, color=PRIMARY_COLOR, fill=False):
+ """Create an SVG icon file"""
+ fill_attr = 'fill "{}"'.format(color) if fill else 'fill="none"'
+ svg_content = ''''''.format(fill_attr, color, '\n'.join(elements))
+
+ filepath = os.path.join(icons_dir, filename)
+ with open(filepath, 'w', encoding='utf-8') as f:
+ f.write(svg_content)
+ print(f'Created: {filename}')
+
+# Home icon
+create_svg('home.svg', [
+ '