diff --git a/assets/css/custom.css b/assets/css/custom.css
new file mode 100644
index 0000000..8f8cbae
--- /dev/null
+++ b/assets/css/custom.css
@@ -0,0 +1,97 @@
+/* Inter Font */
+@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
+
+:root {
+ --primary-color: #4F46E5;
+ --secondary-color: #10B981;
+ --background-color: #F9FAFB;
+ --surface-color: #FFFFFF;
+ --text-color: #111827;
+ --text-muted-color: #6B7281;
+ --border-radius-sm: 0.375rem;
+ --border-radius-lg: 0.5rem;
+}
+
+body {
+ font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ background-color: var(--background-color);
+ color: var(--text-color);
+}
+
+.navbar {
+ border-bottom: 1px solid #E5E7EB;
+}
+
+.main-content {
+ min-height: calc(100vh - 100px);
+}
+
+.upload-section, .review-section {
+ max-width: 900px;
+ margin: auto;
+}
+
+.drop-zone {
+ border: 2px dashed #D1D5DB;
+ border-radius: var(--border-radius-lg);
+ padding: 4rem;
+ text-align: center;
+ cursor: pointer;
+ transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
+}
+
+.drop-zone.is-dragover {
+ background-color: #E0E7FF;
+ border-color: var(--primary-color);
+}
+
+.drop-zone-icon {
+ width: 48px;
+ height: 48px;
+ color: #9CA3AF;
+ margin: 0 auto 1rem;
+}
+
+.btn-primary {
+ background-color: var(--primary-color);
+ border-color: var(--primary-color);
+ border-radius: var(--border-radius-sm);
+ font-weight: 500;
+}
+.btn-primary:hover {
+ background-color: #4338CA;
+ border-color: #4338CA;
+}
+.btn-light {
+ border-radius: var(--border-radius-sm);
+ font-weight: 500;
+}
+
+.spinner-border {
+ width: 3rem;
+ height: 3rem;
+ color: var(--primary-color);
+}
+
+.review-card {
+ background-color: var(--surface-color);
+ border: 1px solid #E5E7EB;
+ border-radius: var(--border-radius-lg);
+ box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
+}
+
+.document-preview {
+ background-color: #F3F4F6;
+ border-radius: var(--border-radius-lg);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ min-height: 200px;
+ color: var(--text-muted-color);
+}
+.form-label {
+ font-weight: 500;
+}
+.form-control {
+ border-radius: var(--border-radius-sm);
+}
diff --git a/assets/js/main.js b/assets/js/main.js
new file mode 100644
index 0000000..50e2b5c
--- /dev/null
+++ b/assets/js/main.js
@@ -0,0 +1,79 @@
+document.addEventListener('DOMContentLoaded', function () {
+ const uploadSection = document.getElementById('uploadSection');
+ const reviewSection = document.getElementById('reviewSection');
+ const processingSection = document.getElementById('processingSection');
+ const dropZone = document.getElementById('dropZone');
+ const fileInput = document.getElementById('fileInput');
+ const startAutomationBtn = document.getElementById('startAutomationBtn');
+ const discardBtn = document.getElementById('discardBtn');
+ const uploadNewBtn = document.getElementById('uploadNewBtn');
+
+ function showSection(section) {
+ [uploadSection, reviewSection, processingSection].forEach(s => s.classList.add('d-none'));
+ section.classList.remove('d-none');
+ }
+
+ function handleFileSelect(file) {
+ if (!file) return;
+
+ showSection(processingSection);
+
+ // Simulate AI processing
+ setTimeout(() => {
+ // Mock data - in a real app, this would come from an API call
+ document.getElementById('firstName').value = 'Max';
+ document.getElementById('lastName').value = 'Mustermann';
+ document.getElementById('street').value = 'Musterstraße 1';
+ document.getElementById('zip').value = '12345';
+ document.getElementById('city').value = 'Berlin';
+ document.getElementById('dob').value = '1990-01-15';
+ showSection(reviewSection);
+ }, 2500);
+ }
+
+ // --- Event Listeners ---
+
+ dropZone.addEventListener('click', () => fileInput.click());
+
+ dropZone.addEventListener('dragover', (e) => {
+ e.preventDefault();
+ dropZone.classList.add('is-dragover');
+ });
+
+ dropZone.addEventListener('dragleave', (e) => {
+ e.preventDefault();
+ dropZone.classList.remove('is-dragover');
+ });
+
+ dropZone.addEventListener('drop', (e) => {
+ e.preventDefault();
+ dropZone.classList.remove('is-dragover');
+ if (e.dataTransfer.files.length) {
+ fileInput.files = e.dataTransfer.files;
+ handleFileSelect(fileInput.files[0]);
+ }
+ });
+
+ fileInput.addEventListener('change', () => {
+ if (fileInput.files.length) {
+ handleFileSelect(fileInput.files[0]);
+ }
+ });
+
+ startAutomationBtn.addEventListener('click', () => {
+ alert('This would start the automation process on the backend. This is just a UI mock-up for now!');
+ });
+
+ discardBtn.addEventListener('click', () => {
+ if(confirm('Are you sure you want to discard the extracted data?')) {
+ showSection(uploadSection);
+ }
+ });
+
+ uploadNewBtn.addEventListener('click', () => {
+ showSection(uploadSection);
+ });
+
+ // Initial state
+ showSection(uploadSection);
+});
diff --git a/index.php b/index.php
index 7205f3d..0145682 100644
--- a/index.php
+++ b/index.php
@@ -1,150 +1,119 @@
-
-
+
-
-
- New Style
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
Analyzing your requirements and generating your website…
-
- Loading…
-
-
= ($_SERVER['HTTP_HOST'] ?? '') === 'appwizzy.com' ? 'AppWizzy' : 'Flatlogic' ?> AI is collecting your requirements and applying the first changes.
-
This page will update automatically as the plan is implemented.
-
Runtime: PHP = htmlspecialchars($phpVersion) ?> — UTC = htmlspecialchars($now) ?>
-
-
-
+
+
+
+
+
+
+
+
+
Secure Document Upload
+
Upload your form (PDF, PNG, JPG) to begin the automated process.
+
+
+
+
+
Drag & drop your file here
+
or click to browse
+
PDF, PNG, or JPG (max 5MB)
+
+
+
+
+
+
+ Loading...
+
+ Extracting Data...
+ Our AI is analyzing your document. This may take a moment.
+
+
+
+
+
+
+
+
Review Extracted Data
+
Please verify the information below before starting the automation.
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+