thors1 commited on
Commit
357b6fd
·
verified ·
1 Parent(s): fe806ec

Initial DeepSite commit

Browse files
Files changed (2) hide show
  1. README.md +8 -5
  2. index.html +767 -19
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Deepsite Project Vyb6k
3
- emoji: 🌖
4
  colorFrom: purple
5
- colorTo: yellow
6
  sdk: static
7
- pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
1
  ---
2
+ title: DeepSite Project
 
3
  colorFrom: purple
4
+ colorTo: gray
5
  sdk: static
6
+ emoji: 🚧
7
+ tags:
8
+ - deepsite-v4
9
  ---
10
 
11
+ # DeepSite Project
12
+
13
+ This project has been created with [DeepSite](https://deepsite.hf.co) AI Vibe Coding.
index.html CHANGED
@@ -1,19 +1,767 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Clinic Admin - Add Patient</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="preconnect" href="https://fonts.googleapis.com">
9
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
11
+ <script src="https://unpkg.com/lucide@latest"></script>
12
+ <script>
13
+ tailwind.config = {
14
+ theme: {
15
+ extend: {
16
+ colors: {
17
+ primary: '#2563eb',
18
+ background: '#f8fafc',
19
+ border: '#e5e7eb',
20
+ },
21
+ fontFamily: {
22
+ sans: ['Inter', 'system-ui', 'sans-serif'],
23
+ },
24
+ },
25
+ },
26
+ }
27
+ </script>
28
+ <style>
29
+ * {
30
+ font-family: 'Inter', system-ui, sans-serif;
31
+ }
32
+
33
+ .sidebar-tooltip {
34
+ opacity: 0;
35
+ visibility: hidden;
36
+ transition: all 0.2s ease;
37
+ }
38
+
39
+ .sidebar-item:hover .sidebar-tooltip {
40
+ opacity: 1;
41
+ visibility: visible;
42
+ }
43
+
44
+ .custom-scrollbar::-webkit-scrollbar {
45
+ width: 6px;
46
+ height: 6px;
47
+ }
48
+
49
+ .custom-scrollbar::-webkit-scrollbar-track {
50
+ background: transparent;
51
+ }
52
+
53
+ .custom-scrollbar::-webkit-scrollbar-thumb {
54
+ background: #cbd5e1;
55
+ border-radius: 3px;
56
+ }
57
+
58
+ .custom-scrollbar::-webkit-scrollbar-thumb:hover {
59
+ background: #94a3b8;
60
+ }
61
+
62
+ .form-card {
63
+ background: white;
64
+ border-radius: 16px;
65
+ border: 1px solid #e5e7eb;
66
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
67
+ }
68
+
69
+ .input-field {
70
+ transition: all 0.2s ease;
71
+ }
72
+
73
+ .input-field:focus {
74
+ border-color: #2563eb;
75
+ box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.08);
76
+ }
77
+
78
+ .toggle-checkbox:checked {
79
+ right: 0;
80
+ border-color: #2563eb;
81
+ }
82
+
83
+ .toggle-checkbox:checked + .toggle-label {
84
+ background-color: #2563eb;
85
+ }
86
+
87
+ .tag-pill {
88
+ transition: all 0.15s ease;
89
+ }
90
+
91
+ .tag-pill:hover {
92
+ transform: translateY(-1px);
93
+ }
94
+
95
+ .dropdown-menu {
96
+ opacity: 0;
97
+ visibility: hidden;
98
+ transform: translateY(-8px) scale(0.98);
99
+ transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
100
+ }
101
+
102
+ .dropdown-menu.active {
103
+ opacity: 1;
104
+ visibility: visible;
105
+ transform: translateY(0) scale(1);
106
+ }
107
+
108
+ .avatar-menu {
109
+ opacity: 0;
110
+ visibility: hidden;
111
+ transform: translateY(-8px) scale(0.98);
112
+ transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
113
+ }
114
+
115
+ .avatar-menu.active {
116
+ opacity: 1;
117
+ visibility: visible;
118
+ transform: translateY(0) scale(1);
119
+ }
120
+ </style>
121
+ </head>
122
+ <body class="bg-[#f8fafc] text-slate-800">
123
+ <!-- Sticky Header -->
124
+ <header class="fixed top-0 left-0 right-0 h-16 bg-white border-b border-[#e5e7eb] z-50 flex items-center justify-between px-4 lg:px-6">
125
+ <!-- Left: Product Name -->
126
+ <div class="flex items-center gap-3">
127
+ <div class="w-8 h-8 bg-primary rounded-lg flex items-center justify-center">
128
+ <i data-lucide="heart-pulse" class="w-5 h-5 text-white"></i>
129
+ </div>
130
+ <span class="font-semibold text-lg text-slate-900">Clinic Admin</span>
131
+ </div>
132
+
133
+ <!-- Center: Global Search -->
134
+ <div class="hidden md:flex flex-1 max-w-xl mx-8">
135
+ <div class="relative w-full">
136
+ <i data-lucide="search" class="absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-400"></i>
137
+ <input
138
+ type="text"
139
+ placeholder="Search patients, appointments, invoices..."
140
+ class="w-full h-10 pl-10 pr-4 bg-slate-50 border border-[#e5e7eb] rounded-lg text-sm placeholder:text-slate-400 focus:outline-none focus:border-primary focus:ring-2 focus:ring-primary/10 transition-all"
141
+ >
142
+ <kbd class="absolute right-3 top-1/2 -translate-y-1/2 px-2 py-0.5 text-xs font-medium text-slate-400 bg-slate-100 rounded border border-slate-200">⌘K</kbd>
143
+ </div>
144
+ </div>
145
+
146
+ <!-- Right: Actions -->
147
+ <div class="flex items-center gap-2">
148
+ <!-- New Dropdown -->
149
+ <div class="relative" id="newDropdown">
150
+ <button onclick="toggleNewDropdown()" class="flex items-center gap-2 h-9 px-4 bg-primary hover:bg-blue-700 text-white text-sm font-medium rounded-lg transition-colors">
151
+ <i data-lucide="plus" class="w-4 h-4"></i>
152
+ <span class="hidden sm:inline">New</span>
153
+ <i data-lucide="chevron-down" class="w-4 h-4"></i>
154
+ </button>
155
+ <div id="newDropdownMenu" class="dropdown-menu absolute right-0 top-full mt-2 w-56 bg-white rounded-xl border border-[#e5e7eb] shadow-lg shadow-slate-200/50 py-1.5 z-50">
156
+ <button class="w-full flex items-center gap-3 px-4 py-2.5 text-sm text-slate-700 hover:bg-slate-50 transition-colors">
157
+ <i data-lucide="user-plus" class="w-4 h-4 text-primary"></i>
158
+ Add Patient
159
+ </button>
160
+ <button class="w-full flex items-center gap-3 px-4 py-2.5 text-sm text-slate-700 hover:bg-slate-50 transition-colors">
161
+ <i data-lucide="calendar-plus" class="w-4 h-4 text-emerald-500"></i>
162
+ Appointment
163
+ </button>
164
+ <button class="w-full flex items-center gap-3 px-4 py-2.5 text-sm text-slate-700 hover:bg-slate-50 transition-colors">
165
+ <i data-lucide="file-text" class="w-4 h-4 text-amber-500"></i>
166
+ Invoice
167
+ </button>
168
+ <div class="h-px bg-[#e5e7eb] my-1.5"></div>
169
+ <button class="w-full flex items-center gap-3 px-4 py-2.5 text-sm text-slate-700 hover:bg-slate-50 transition-colors">
170
+ <i data-lucide="upload" class="w-4 h-4 text-slate-400"></i>
171
+ Import Data
172
+ </button>
173
+ </div>
174
+ </div>
175
+
176
+ <!-- Notifications -->
177
+ <button class="relative w-9 h-9 flex items-center justify-center text-slate-500 hover:text-slate-700 hover:bg-slate-100 rounded-lg transition-colors">
178
+ <i data-lucide="bell" class="w-5 h-5"></i>
179
+ <span class="absolute top-2 right-2 w-2 h-2 bg-red-500 rounded-full border-2 border-white"></span>
180
+ </button>
181
+
182
+ <!-- User Avatar Menu -->
183
+ <div class="relative" id="avatarMenu">
184
+ <button onclick="toggleAvatarMenu()" class="flex items-center gap-2 p-1 hover:bg-slate-100 rounded-lg transition-colors">
185
+ <img src="http://static.photos/people/200x200/42" alt="Dr. Sarah Chen" class="w-8 h-8 rounded-lg object-cover">
186
+ <i data-lucide="chevron-down" class="w-4 h-4 text-slate-400 hidden sm:block"></i>
187
+ </button>
188
+ <div id="avatarDropdown" class="avatar-menu absolute right-0 top-full mt-2 w-56 bg-white rounded-xl border border-[#e5e7eb] shadow-lg shadow-slate-200/50 py-2 z-50">
189
+ <div class="px-4 py-3 border-b border-[#e5e7eb]">
190
+ <p class="text-sm font-medium text-slate-900">Dr. Sarah Chen</p>
191
+ <p class="text-xs text-slate-500">sarah.chen@clinic.com</p>
192
+ </div>
193
+ <button class="w-full flex items-center gap-3 px-4 py-2.5 text-sm text-slate-700 hover:bg-slate-50 transition-colors">
194
+ <i data-lucide="user" class="w-4 h-4 text-slate-400"></i>
195
+ Profile
196
+ </button>
197
+ <button class="w-full flex items-center gap-3 px-4 py-2.5 text-sm text-slate-700 hover:bg-slate-50 transition-colors">
198
+ <i data-lucide="settings" class="w-4 h-4 text-slate-400"></i>
199
+ Settings
200
+ </button>
201
+ <div class="h-px bg-[#e5e7eb] my-1.5"></div>
202
+ <button class="w-full flex items-center gap-3 px-4 py-2.5 text-sm text-red-600 hover:bg-red-50 transition-colors">
203
+ <i data-lucide="log-out" class="w-4 h-4"></i>
204
+ Logout
205
+ </button>
206
+ </div>
207
+ </div>
208
+ </div>
209
+ </header>
210
+
211
+ <!-- Sidebar -->
212
+ <aside class="fixed left-0 top-16 bottom-0 w-[72px] bg-white border-r border-[#e5e7eb] z-40 flex flex-col items-center py-4 gap-1">
213
+ <!-- Dashboard -->
214
+ <div class="sidebar-item relative w-full flex justify-center">
215
+ <button class="w-11 h-11 flex items-center justify-center text-slate-400 hover:text-slate-600 hover:bg-slate-100 rounded-xl transition-all">
216
+ <i data-lucide="layout-dashboard" class="w-5 h-5"></i>
217
+ </button>
218
+ <span class="sidebar-tooltip absolute left-full ml-2 px-2 py-1 bg-slate-800 text-white text-xs font-medium rounded-lg whitespace-nowrap z-50">Dashboard</span>
219
+ </div>
220
+
221
+ <!-- Patients (Active) -->
222
+ <div class="sidebar-item relative w-full flex justify-center">
223
+ <button class="w-11 h-11 flex items-center justify-center text-primary bg-blue-50 rounded-xl transition-all">
224
+ <i data-lucide="users" class="w-5 h-5"></i>
225
+ </button>
226
+ <span class="sidebar-tooltip absolute left-full ml-2 px-2 py-1 bg-slate-800 text-white text-xs font-medium rounded-lg whitespace-nowrap z-50">Patients</span>
227
+ </div>
228
+
229
+ <!-- Appointments -->
230
+ <div class="sidebar-item relative w-full flex justify-center">
231
+ <button class="w-11 h-11 flex items-center justify-center text-slate-400 hover:text-slate-600 hover:bg-slate-100 rounded-xl transition-all">
232
+ <i data-lucide="calendar" class="w-5 h-5"></i>
233
+ </button>
234
+ <span class="sidebar-tooltip absolute left-full ml-2 px-2 py-1 bg-slate-800 text-white text-xs font-medium rounded-lg whitespace-nowrap z-50">Appointments</span>
235
+ </div>
236
+
237
+ <!-- Encounters -->
238
+ <div class="sidebar-item relative w-full flex justify-center">
239
+ <button class="w-11 h-11 flex items-center justify-center text-slate-400 hover:text-slate-600 hover:bg-slate-100 rounded-xl transition-all">
240
+ <i data-lucide="stethoscope" class="w-5 h-5"></i>
241
+ </button>
242
+ <span class="sidebar-tooltip absolute left-full ml-2 px-2 py-1 bg-slate-800 text-white text-xs font-medium rounded-lg whitespace-nowrap z-50">Encounters</span>
243
+ </div>
244
+
245
+ <!-- Messages -->
246
+ <div class="sidebar-item relative w-full flex justify-center">
247
+ <button class="w-11 h-11 flex items-center justify-center text-slate-400 hover:text-slate-600 hover:bg-slate-100 rounded-xl transition-all relative">
248
+ <i data-lucide="message-square" class="w-5 h-5"></i>
249
+ <span class="absolute top-2 right-2 w-2 h-2 bg-primary rounded-full"></span>
250
+ </button>
251
+ <span class="sidebar-tooltip absolute left-full ml-2 px-2 py-1 bg-slate-800 text-white text-xs font-medium rounded-lg whitespace-nowrap z-50">Messages</span>
252
+ </div>
253
+
254
+ <!-- Tasks -->
255
+ <div class="sidebar-item relative w-full flex justify-center">
256
+ <button class="w-11 h-11 flex items-center justify-center text-slate-400 hover:text-slate-600 hover:bg-slate-100 rounded-xl transition-all">
257
+ <i data-lucide="check-square" class="w-5 h-5"></i>
258
+ </button>
259
+ <span class="sidebar-tooltip absolute left-full ml-2 px-2 py-1 bg-slate-800 text-white text-xs font-medium rounded-lg whitespace-nowrap z-50">Tasks</span>
260
+ </div>
261
+
262
+ <!-- Billing -->
263
+ <div class="sidebar-item relative w-full flex justify-center">
264
+ <button class="w-11 h-11 flex items-center justify-center text-slate-400 hover:text-slate-600 hover:bg-slate-100 rounded-xl transition-all">
265
+ <i data-lucide="credit-card" class="w-5 h-5"></i>
266
+ </button>
267
+ <span class="sidebar-tooltip absolute left-full ml-2 px-2 py-1 bg-slate-800 text-white text-xs font-medium rounded-lg whitespace-nowrap z-50">Billing</span>
268
+ </div>
269
+
270
+ <!-- Reports -->
271
+ <div class="sidebar-item relative w-full flex justify-center">
272
+ <button class="w-11 h-11 flex items-center justify-center text-slate-400 hover:text-slate-600 hover:bg-slate-100 rounded-xl transition-all">
273
+ <i data-lucide="bar-chart-3" class="w-5 h-5"></i>
274
+ </button>
275
+ <span class="sidebar-tooltip absolute left-full ml-2 px-2 py-1 bg-slate-800 text-white text-xs font-medium rounded-lg whitespace-nowrap z-50">Reports</span>
276
+ </div>
277
+
278
+ <div class="flex-1"></div>
279
+
280
+ <!-- Settings -->
281
+ <div class="sidebar-item relative w-full flex justify-center">
282
+ <button class="w-11 h-11 flex items-center justify-center text-slate-400 hover:text-slate-600 hover:bg-slate-100 rounded-xl transition-all">
283
+ <i data-lucide="settings" class="w-5 h-5"></i>
284
+ </button>
285
+ <span class="sidebar-tooltip absolute left-full ml-2 px-2 py-1 bg-slate-800 text-white text-xs font-medium rounded-lg whitespace-nowrap z-50">Settings</span>
286
+ </div>
287
+ </aside>
288
+
289
+ <!-- Main Content -->
290
+ <main class="ml-[72px] pt-16 min-h-screen">
291
+ <div class="max-w-[1280px] mx-auto p-6">
292
+ <!-- Page Header -->
293
+ <div class="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-6">
294
+ <div>
295
+ <h1 class="text-2xl font-semibold text-slate-900">Add Patient</h1>
296
+ <p class="text-sm text-slate-500 mt-1">Create a new patient record for the clinic.</p>
297
+ </div>
298
+ <div class="flex items-center gap-2">
299
+ <button class="h-10 px-4 text-sm font-medium text-slate-700 bg-white border border-[#e5e7eb] hover:bg-slate-50 rounded-lg transition-colors">
300
+ Cancel
301
+ </button>
302
+ <button class="h-10 px-4 text-sm font-medium text-slate-700 bg-white border border-[#e5e7eb] hover:bg-slate-50 rounded-lg transition-colors flex items-center gap-2">
303
+ <i data-lucide="calendar-plus" class="w-4 h-4"></i>
304
+ Save & Schedule
305
+ </button>
306
+ <button class="h-10 px-4 text-sm font-medium text-white bg-primary hover:bg-blue-700 rounded-lg transition-colors flex items-center gap-2">
307
+ <i data-lucide="save" class="w-4 h-4"></i>
308
+ Save Patient
309
+ </button>
310
+ </div>
311
+ </div>
312
+
313
+ <!-- Form Content -->
314
+ <div class="space-y-6">
315
+ <!-- Patient Identity Section -->
316
+ <div class="form-card p-6">
317
+ <div class="flex items-center gap-3 mb-6">
318
+ <div class="w-10 h-10 bg-blue-50 rounded-xl flex items-center justify-center">
319
+ <i data-lucide="user" class="w-5 h-5 text-primary"></i>
320
+ </div>
321
+ <div>
322
+ <h2 class="text-base font-semibold text-slate-900">Patient Identity</h2>
323
+ <p class="text-sm text-slate-500">Basic demographic information</p>
324
+ </div>
325
+ </div>
326
+
327
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5">
328
+ <!-- First Name -->
329
+ <div class="space-y-1.5">
330
+ <label class="text-sm font-medium text-slate-700">First Name <span class="text-red-500">*</span></label>
331
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="Enter first name">
332
+ </div>
333
+
334
+ <!-- Middle Name -->
335
+ <div class="space-y-1.5">
336
+ <label class="text-sm font-medium text-slate-700">Middle Name</label>
337
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="Enter middle name">
338
+ </div>
339
+
340
+ <!-- Last Name -->
341
+ <div class="space-y-1.5">
342
+ <label class="text-sm font-medium text-slate-700">Last Name <span class="text-red-500">*</span></label>
343
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="Enter last name">
344
+ </div>
345
+
346
+ <!-- Preferred Name -->
347
+ <div class="space-y-1.5">
348
+ <label class="text-sm font-medium text-slate-700">Preferred Name</label>
349
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="Enter preferred name">
350
+ </div>
351
+
352
+ <!-- Date of Birth -->
353
+ <div class="space-y-1.5">
354
+ <label class="text-sm font-medium text-slate-700">Date of Birth <span class="text-red-500">*</span></label>
355
+ <div class="relative">
356
+ <input type="date" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none">
357
+ <i data-lucide="calendar" class="absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-400 pointer-events-none"></i>
358
+ </div>
359
+ </div>
360
+
361
+ <!-- Sex at Birth -->
362
+ <div class="space-y-1.5">
363
+ <label class="text-sm font-medium text-slate-700">Sex at Birth <span class="text-red-500">*</span></label>
364
+ <select class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none appearance-none cursor-pointer">
365
+ <option value="">Select sex at birth</option>
366
+ <option value="male">Male</option>
367
+ <option value="female">Female</option>
368
+ <option value="other">Other</option>
369
+ <option value="unknown">Unknown</option>
370
+ </select>
371
+ </div>
372
+
373
+ <!-- Gender Identity -->
374
+ <div class="space-y-1.5">
375
+ <label class="text-sm font-medium text-slate-700">Gender Identity</label>
376
+ <select class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none appearance-none cursor-pointer">
377
+ <option value="">Select gender identity</option>
378
+ <option value="man">Man</option>
379
+ <option value="woman">Woman</option>
380
+ <option value="transgender-man">Transgender Man</option>
381
+ <option value="transgender-woman">Transgender Woman</option>
382
+ <option value="non-binary">Non-binary</option>
383
+ <option value="prefer-not-to-say">Prefer not to say</option>
384
+ </select>
385
+ </div>
386
+
387
+ <!-- Pronouns -->
388
+ <div class="space-y-1.5">
389
+ <label class="text-sm font-medium text-slate-700">Pronouns</label>
390
+ <select class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none appearance-none cursor-pointer">
391
+ <option value="">Select pronouns</option>
392
+ <option value="he-him">He/Him</option>
393
+ <option value="she-her">She/Her</option>
394
+ <option value="they-them">They/Them</option>
395
+ <option value="ze-zir">Ze/Zir</option>
396
+ <option value="other">Other</option>
397
+ </select>
398
+ </div>
399
+
400
+ <!-- Marital Status -->
401
+ <div class="space-y-1.5">
402
+ <label class="text-sm font-medium text-slate-700">Marital Status</label>
403
+ <select class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none appearance-none cursor-pointer">
404
+ <option value="">Select marital status</option>
405
+ <option value="single">Single</option>
406
+ <option value="married">Married</option>
407
+ <option value="divorced">Divorced</option>
408
+ <option value="widowed">Widowed</option>
409
+ <option value="separated">Separated</option>
410
+ <option value="domestic-partner">Domestic Partner</option>
411
+ </select>
412
+ </div>
413
+ </div>
414
+
415
+ <!-- Patient Status & Type Row -->
416
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-5 mt-5">
417
+ <!-- Patient Status -->
418
+ <div class="space-y-3">
419
+ <label class="text-sm font-medium text-slate-700">Patient Status</label>
420
+ <div class="flex gap-3">
421
+ <label class="flex items-center gap-2 cursor-pointer">
422
+ <input type="radio" name="patientStatus" value="active" checked class="w-4 h-4 text-primary border-[#e5e7eb] focus:ring-primary">
423
+ <span class="text-sm text-slate-700">Active</span>
424
+ </label>
425
+ <label class="flex items-center gap-2 cursor-pointer">
426
+ <input type="radio" name="patientStatus" value="inactive" class="w-4 h-4 text-primary border-[#e5e7eb] focus:ring-primary">
427
+ <span class="text-sm text-slate-700">Inactive</span>
428
+ </label>
429
+ </div>
430
+ </div>
431
+
432
+ <!-- Patient Type -->
433
+ <div class="space-y-3">
434
+ <label class="text-sm font-medium text-slate-700">Patient Type</label>
435
+ <div class="flex flex-wrap gap-3">
436
+ <label class="flex items-center gap-2 cursor-pointer">
437
+ <input type="radio" name="patientType" value="new" checked class="w-4 h-4 text-primary border-[#e5e7eb] focus:ring-primary">
438
+ <span class="text-sm text-slate-700">New Patient</span>
439
+ </label>
440
+ <label class="flex items-center gap-2 cursor-pointer">
441
+ <input type="radio" name="patientType" value="returning" class="w-4 h-4 text-primary border-[#e5e7eb] focus:ring-primary">
442
+ <span class="text-sm text-slate-700">Returning</span>
443
+ </label>
444
+ <label class="flex items-center gap-2 cursor-pointer">
445
+ <input type="radio" name="patientType" value="vip" class="w-4 h-4 text-primary border-[#e5e7eb] focus:ring-primary">
446
+ <span class="text-sm text-slate-700">VIP</span>
447
+ </label>
448
+ <label class="flex items-center gap-2 cursor-pointer">
449
+ <input type="radio" name="patientType" value="other" class="w-4 h-4 text-primary border-[#e5e7eb] focus:ring-primary">
450
+ <span class="text-sm text-slate-700">Other</span>
451
+ </label>
452
+ </div>
453
+ </div>
454
+ </div>
455
+
456
+ <!-- Language & Interpreter Row -->
457
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-5 mt-5">
458
+ <!-- Primary Language -->
459
+ <div class="space-y-1.5">
460
+ <label class="text-sm font-medium text-slate-700">Primary Language</label>
461
+ <select class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none appearance-none cursor-pointer">
462
+ <option value="">Select primary language</option>
463
+ <option value="english" selected>English</option>
464
+ <option value="spanish">Spanish</option>
465
+ <option value="french">French</option>
466
+ <option value="mandarin">Mandarin</option>
467
+ <option value="arabic">Arabic</option>
468
+ <option value="hindi">Hindi</option>
469
+ <option value="portuguese">Portuguese</option>
470
+ <option value="russian">Russian</option>
471
+ <option value="other">Other</option>
472
+ </select>
473
+ </div>
474
+
475
+ <!-- Interpreter Needed -->
476
+ <div class="flex items-center gap-4">
477
+ <div class="flex-1 space-y-1.5">
478
+ <label class="text-sm font-medium text-slate-700">Interpreter Needed</label>
479
+ <p class="text-xs text-slate-500">Request language interpretation services</p>
480
+ </div>
481
+ <label class="relative inline-flex items-center cursor-pointer">
482
+ <input type="checkbox" class="sr-only peer">
483
+ <div class="w-11 h-6 bg-slate-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-100 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary"></div>
484
+ </label>
485
+ </div>
486
+ </div>
487
+
488
+ <!-- Patient Tags -->
489
+ <div class="mt-5 space-y-3">
490
+ <label class="text-sm font-medium text-slate-700">Patient Tags</label>
491
+ <div class="flex flex-wrap gap-2" id="tagContainer">
492
+ <button type="button" onclick="toggleTag(this)" class="tag-pill px-3 py-1.5 text-sm font-medium text-slate-600 bg-slate-100 hover:bg-slate-200 rounded-full border border-transparent transition-all">
493
+ Diabetes
494
+ </button>
495
+ <button type="button" onclick="toggleTag(this)" class="tag-pill px-3 py-1.5 text-sm font-medium text-slate-600 bg-slate-100 hover:bg-slate-200 rounded-full border border-transparent transition-all">
496
+ Hypertension
497
+ </button>
498
+ <button type="button" onclick="toggleTag(this)" class="tag-pill px-3 py-1.5 text-sm font-medium text-slate-600 bg-slate-100 hover:bg-slate-200 rounded-full border border-transparent transition-all">
499
+ Allergies
500
+ </button>
501
+ <button type="button" onclick="toggleTag(this)" class="tag-pill px-3 py-1.5 text-sm font-medium text-slate-600 bg-slate-100 hover:bg-slate-200 rounded-full border border-transparent transition-all">
502
+ High Risk
503
+ </button>
504
+ <button type="button" onclick="toggleTag(this)" class="tag-pill px-3 py-1.5 text-sm font-medium text-slate-600 bg-slate-100 hover:bg-slate-200 rounded-full border border-transparent transition-all">
505
+ Medication Management
506
+ </button>
507
+ <button type="button" onclick="toggleTag(this)" class="tag-pill px-3 py-1.5 text-sm font-medium text-slate-600 bg-slate-100 hover:bg-slate-200 rounded-full border border-transparent transition-all">
508
+ Physical Therapy
509
+ </button>
510
+ <button type="button" class="tag-pill px-3 py-1.5 text-sm font-medium text-primary bg-blue-50 hover:bg-blue-100 rounded-full border border-dashed border-primary/30 transition-all flex items-center gap-1">
511
+ <i data-lucide="plus" class="w-3.5 h-3.5"></i>
512
+ Add Tag
513
+ </button>
514
+ </div>
515
+ </div>
516
+ </div>
517
+
518
+ <!-- Contact Information Section -->
519
+ <div class="form-card p-6">
520
+ <div class="flex items-center gap-3 mb-6">
521
+ <div class="w-10 h-10 bg-emerald-50 rounded-xl flex items-center justify-center">
522
+ <i data-lucide="phone" class="w-5 h-5 text-emerald-600"></i>
523
+ </div>
524
+ <div>
525
+ <h2 class="text-base font-semibold text-slate-900">Contact Information</h2>
526
+ <p class="text-sm text-slate-500">Phone, email, and address details</p>
527
+ </div>
528
+ </div>
529
+
530
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5">
531
+ <!-- Mobile Phone -->
532
+ <div class="space-y-1.5">
533
+ <label class="text-sm font-medium text-slate-700">Mobile Phone <span class="text-red-500">*</span></label>
534
+ <input type="tel" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="(555) 000-0000">
535
+ </div>
536
+
537
+ <!-- Home Phone -->
538
+ <div class="space-y-1.5">
539
+ <label class="text-sm font-medium text-slate-700">Home Phone</label>
540
+ <input type="tel" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="(555) 000-0000">
541
+ </div>
542
+
543
+ <!-- Work Phone -->
544
+ <div class="space-y-1.5">
545
+ <label class="text-sm font-medium text-slate-700">Work Phone</label>
546
+ <input type="tel" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="(555) 000-0000">
547
+ </div>
548
+
549
+ <!-- Email -->
550
+ <div class="space-y-1.5 md:col-span-2">
551
+ <label class="text-sm font-medium text-slate-700">Email Address</label>
552
+ <input type="email" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="patient@email.com">
553
+ </div>
554
+
555
+ <!-- Preferred Contact -->
556
+ <div class="space-y-1.5">
557
+ <label class="text-sm font-medium text-slate-700">Preferred Contact Method</label>
558
+ <select class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none appearance-none cursor-pointer">
559
+ <option value="mobile">Mobile Phone</option>
560
+ <option value="home">Home Phone</option>
561
+ <option value="work">Work Phone</option>
562
+ <option value="email">Email</option>
563
+ </select>
564
+ </div>
565
+ </div>
566
+
567
+ <!-- Address -->
568
+ <div class="mt-5 space-y-3">
569
+ <label class="text-sm font-medium text-slate-700">Address</label>
570
+ <div class="space-y-3">
571
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="Street address">
572
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="Apartment, suite, unit, etc. (optional)">
573
+ <div class="grid grid-cols-2 md:grid-cols-3 gap-3">
574
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="City">
575
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="State">
576
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none md:col-span-1 col-span-2" placeholder="ZIP code">
577
+ </div>
578
+ </div>
579
+ </div>
580
+ </div>
581
+
582
+ <!-- Emergency Contact Section -->
583
+ <div class="form-card p-6">
584
+ <div class="flex items-center gap-3 mb-6">
585
+ <div class="w-10 h-10 bg-amber-50 rounded-xl flex items-center justify-center">
586
+ <i data-lucide="shield-alert" class="w-5 h-5 text-amber-600"></i>
587
+ </div>
588
+ <div>
589
+ <h2 class="text-base font-semibold text-slate-900">Emergency Contact</h2>
590
+ <p class="text-sm text-slate-500">Primary emergency contact information</p>
591
+ </div>
592
+ </div>
593
+
594
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5">
595
+ <!-- Contact Name -->
596
+ <div class="space-y-1.5">
597
+ <label class="text-sm font-medium text-slate-700">Contact Name</label>
598
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="Full name">
599
+ </div>
600
+
601
+ <!-- Relationship -->
602
+ <div class="space-y-1.5">
603
+ <label class="text-sm font-medium text-slate-700">Relationship</label>
604
+ <select class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none appearance-none cursor-pointer">
605
+ <option value="">Select relationship</option>
606
+ <option value="spouse">Spouse</option>
607
+ <option value="parent">Parent</option>
608
+ <option value="child">Child</option>
609
+ <option value="sibling">Sibling</option>
610
+ <option value="friend">Friend</option>
611
+ <option value="other">Other</option>
612
+ </select>
613
+ </div>
614
+
615
+ <!-- Phone -->
616
+ <div class="space-y-1.5">
617
+ <label class="text-sm font-medium text-slate-700">Phone Number</label>
618
+ <input type="tel" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="(555) 000-0000">
619
+ </div>
620
+ </div>
621
+ </div>
622
+
623
+ <!-- Insurance Information Section -->
624
+ <div class="form-card p-6">
625
+ <div class="flex items-center gap-3 mb-6">
626
+ <div class="w-10 h-10 bg-violet-50 rounded-xl flex items-center justify-center">
627
+ <i data-lucide="shield-check" class="w-5 h-5 text-violet-600"></i>
628
+ </div>
629
+ <div>
630
+ <h2 class="text-base font-semibold text-slate-900">Insurance Information</h2>
631
+ <p class="text-sm text-slate-500">Primary insurance coverage details</p>
632
+ </div>
633
+ </div>
634
+
635
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5">
636
+ <!-- Insurance Provider -->
637
+ <div class="space-y-1.5">
638
+ <label class="text-sm font-medium text-slate-700">Insurance Provider</label>
639
+ <select class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none appearance-none cursor-pointer">
640
+ <option value="">Select provider</option>
641
+ <option value="aetna">Aetna</option>
642
+ <option value="blue-cross">Blue Cross Blue Shield</option>
643
+ <option value="cigna">Cigna</option>
644
+ <option value="humana">Humana</option>
645
+ <option value="kaiser">Kaiser Permanente</option>
646
+ <option value="medicare">Medicare</option>
647
+ <option value="medicaid">Medicaid</option>
648
+ <option value="united">UnitedHealthcare</option>
649
+ <option value="self-pay">Self Pay</option>
650
+ </select>
651
+ </div>
652
+
653
+ <!-- Policy Number -->
654
+ <div class="space-y-1.5">
655
+ <label class="text-sm font-medium text-slate-700">Policy Number</label>
656
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="Enter policy number">
657
+ </div>
658
+
659
+ <!-- Group Number -->
660
+ <div class="space-y-1.5">
661
+ <label class="text-sm font-medium text-slate-700">Group Number</label>
662
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="Enter group number">
663
+ </div>
664
+
665
+ <!-- Subscriber Name -->
666
+ <div class="space-y-1.5">
667
+ <label class="text-sm font-medium text-slate-700">Subscriber Name</label>
668
+ <input type="text" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none" placeholder="Enter subscriber name">
669
+ </div>
670
+
671
+ <!-- Subscriber DOB -->
672
+ <div class="space-y-1.5">
673
+ <label class="text-sm font-medium text-slate-700">Subscriber DOB</label>
674
+ <input type="date" class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none">
675
+ </div>
676
+
677
+ <!-- Relationship to Subscriber -->
678
+ <div class="space-y-1.5">
679
+ <label class="text-sm font-medium text-slate-700">Relationship to Subscriber</label>
680
+ <select class="input-field w-full h-11 px-3.5 bg-white border border-[#e5e7eb] rounded-lg text-sm focus:outline-none appearance-none cursor-pointer">
681
+ <option value="self">Self</option>
682
+ <option value="spouse">Spouse</option>
683
+ <option value="child">Child</option>
684
+ <option value="other">Other</option>
685
+ </select>
686
+ </div>
687
+ </div>
688
+ </div>
689
+
690
+ <!-- Bottom Actions -->
691
+ <div class="flex flex-col sm:flex-row items-center justify-between gap-4 pt-4 pb-8">
692
+ <button class="h-11 px-6 text-sm font-medium text-slate-600 hover:text-slate-800 transition-colors">
693
+ Save as Draft
694
+ </button>
695
+ <div class="flex items-center gap-3">
696
+ <button class="h-11 px-6 text-sm font-medium text-slate-700 bg-white border border-[#e5e7eb] hover:bg-slate-50 rounded-lg transition-colors">
697
+ Cancel
698
+ </button>
699
+ <button class="h-11 px-6 text-sm font-medium text-slate-700 bg-white border border-[#e5e7eb] hover:bg-slate-50 rounded-lg transition-colors flex items-center gap-2">
700
+ <i data-lucide="calendar-plus" class="w-4 h-4"></i>
701
+ Save & Schedule
702
+ </button>
703
+ <button class="h-11 px-6 text-sm font-medium text-white bg-primary hover:bg-blue-700 rounded-lg transition-colors flex items-center gap-2">
704
+ <i data-lucide="save" class="w-4 h-4"></i>
705
+ Save Patient
706
+ </button>
707
+ </div>
708
+ </div>
709
+ </div>
710
+ </div>
711
+ </main>
712
+
713
+ <script>
714
+ // Initialize Lucide icons
715
+ lucide.createIcons();
716
+
717
+ // Dropdown toggle functions
718
+ function toggleNewDropdown() {
719
+ const menu = document.getElementById('newDropdownMenu');
720
+ menu.classList.toggle('active');
721
+ }
722
+
723
+ function toggleAvatarMenu() {
724
+ const menu = document.getElementById('avatarDropdown');
725
+ menu.classList.toggle('active');
726
+ }
727
+
728
+ // Close dropdowns when clicking outside
729
+ document.addEventListener('click', function(e) {
730
+ const newDropdown = document.getElementById('newDropdown');
731
+ const avatarMenu = document.getElementById('avatarMenu');
732
+
733
+ if (!newDropdown.contains(e.target)) {
734
+ document.getElementById('newDropdownMenu').classList.remove('active');
735
+ }
736
+ if (!avatarMenu.contains(e.target)) {
737
+ document.getElementById('avatarDropdown').classList.remove('active');
738
+ }
739
+ });
740
+
741
+ // Tag toggle functionality
742
+ function toggleTag(button) {
743
+ const isSelected = button.classList.contains('bg-primary');
744
+ const isAddButton = button.textContent.includes('Add Tag');
745
+
746
+ if (isAddButton) return;
747
+
748
+ if (isSelected) {
749
+ button.classList.remove('bg-primary', 'text-white', 'border-primary');
750
+ button.classList.add('bg-slate-100', 'text-slate-600', 'border-transparent');
751
+ } else {
752
+ button.classList.remove('bg-slate-100', 'text-slate-600', 'border-transparent');
753
+ button.classList.add('bg-primary', 'text-white', 'border-primary');
754
+ }
755
+ }
756
+
757
+ // Keyboard shortcut for search
758
+ document.addEventListener('keydown', function(e) {
759
+ if ((e.metaKey || e.ctrlKey) && e.key === 'k') {
760
+ e.preventDefault();
761
+ document.querySelector('input[type="text"]').focus();
762
+ }
763
+ });
764
+ </script>
765
+ <script src="https://deepsite.hf.co/deepsite-badge.js"></script>
766
+ </body>
767
+ </html>