codeboosterstech commited on
Commit
4141074
·
verified ·
1 Parent(s): 765b555

Update static/css/style.css

Browse files
Files changed (1) hide show
  1. static/css/style.css +328 -429
static/css/style.css CHANGED
@@ -1,135 +1,94 @@
1
- /* Main Theme Variables */
2
  :root {
3
- --primary-yellow: #FFC107;
4
- --primary-yellow-dark: #FFA000;
5
- --primary-yellow-light: #FFECB3;
6
- --secondary-blue: #2196F3;
7
- --secondary-purple: #9C27B0;
8
- --success-green: #10B981;
9
- --error-red: #EF4444;
10
- --warning-orange: #F59E0B;
11
- --info-blue: #3B82F6;
12
- --gray-50: #F9FAFB;
13
- --gray-100: #F3F4F6;
14
- --gray-200: #E5E7EB;
15
- --gray-300: #D1D5DB;
16
- --gray-400: #9CA3AF;
17
- --gray-500: #6B7280;
18
- --gray-600: #4B5563;
19
- --gray-700: #374151;
20
- --gray-800: #1F2937;
21
- --gray-900: #111827;
22
- --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
23
- --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
24
- --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
25
- --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
26
  --radius-sm: 0.375rem;
27
  --radius-md: 0.5rem;
28
  --radius-lg: 0.75rem;
29
- --radius-xl: 1rem;
30
  }
31
 
32
  /* Global Styles */
33
  body {
34
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
35
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
36
- min-height: 100vh;
37
  margin: 0;
38
- padding: 20px;
 
 
39
  }
40
 
41
  .gradio-container {
42
- max-width: 1400px !important;
43
  margin: 0 auto !important;
44
  background: white !important;
45
- border-radius: var(--radius-xl) !important;
46
- box-shadow: var(--shadow-xl) !important;
47
  overflow: hidden !important;
48
- min-height: 90vh !important;
 
49
  }
50
 
51
  /* Header Styles */
52
  .header-container {
53
- background: linear-gradient(90deg, var(--gray-900) 0%, var(--gray-800) 100%);
54
  color: white;
55
- padding: 2rem 2.5rem;
56
- position: relative;
57
- overflow: hidden;
58
- }
59
-
60
- .header-container::before {
61
- content: '';
62
- position: absolute;
63
- top: 0;
64
- right: 0;
65
- width: 300px;
66
- height: 300px;
67
- background: linear-gradient(45deg, var(--primary-yellow) 0%, transparent 70%);
68
- border-radius: 50%;
69
- opacity: 0.1;
70
  }
71
 
72
  .header-content {
73
  display: flex;
74
- justify-content: space-between;
75
  align-items: center;
76
- position: relative;
77
- z-index: 1;
78
  }
79
 
80
  .logo-section {
81
  display: flex;
82
  align-items: center;
83
- gap: 1.5rem;
84
  }
85
 
86
  .logo-icon {
87
- font-size: 3.5rem !important;
88
- color: var(--primary-yellow);
89
- background: rgba(255, 193, 7, 0.1);
90
- padding: 1rem;
91
- border-radius: var(--radius-lg);
92
- border: 2px solid rgba(255, 193, 7, 0.3);
93
  }
94
 
95
  .logo-text h1 {
96
  margin: 0;
97
- font-size: 2.25rem;
98
- font-weight: 700;
99
- background: linear-gradient(90deg, var(--primary-yellow) 0%, #FFD700 100%);
100
- -webkit-background-clip: text;
101
- -webkit-text-fill-color: transparent;
102
- background-clip: text;
103
  }
104
 
105
  .tagline {
106
- margin: 0.5rem 0 0 0;
107
  color: var(--gray-300);
108
- font-size: 1.1rem;
109
  font-weight: 400;
110
  }
111
 
112
- .header-badge {
 
113
  display: flex;
114
- align-items: center;
115
- gap: 0.5rem;
116
- background: rgba(255, 193, 7, 0.1);
117
- padding: 0.75rem 1.5rem;
118
- border-radius: var(--radius-lg);
119
- border: 1px solid rgba(255, 193, 7, 0.3);
120
- font-weight: 600;
121
- color: var(--primary-yellow);
122
- }
123
-
124
- .header-badge .material-icons {
125
- font-size: 1.25rem;
126
- }
127
-
128
- .header-divider {
129
- height: 4px;
130
- background: linear-gradient(90deg, var(--primary-yellow) 0%, var(--secondary-blue) 50%, var(--secondary-purple) 100%);
131
- margin-top: 1.5rem;
132
- border-radius: 2px;
133
  }
134
 
135
  /* Sidebar Styles */
@@ -137,67 +96,52 @@ body {
137
  background: var(--gray-50);
138
  padding: 2rem 1.5rem !important;
139
  border-right: 1px solid var(--gray-200);
140
- height: 100%;
141
- min-height: calc(90vh - 200px);
142
  }
143
 
144
  .steps-container {
145
- margin: 2rem 0;
146
  }
147
 
148
  .step {
149
- display: flex;
150
- align-items: center;
151
- gap: 1rem;
152
- padding: 1.25rem;
153
- margin-bottom: 1rem;
154
  background: white;
155
- border-radius: var(--radius-lg);
156
  border: 1px solid var(--gray-200);
157
- transition: all 0.3s ease;
158
- cursor: pointer;
159
- }
160
-
161
- .step:hover {
162
- transform: translateY(-2px);
163
- box-shadow: var(--shadow-md);
164
- border-color: var(--primary-yellow);
165
  }
166
 
167
  .step.active {
168
- background: linear-gradient(135deg, var(--primary-yellow-light) 0%, #FFF8E1 100%);
169
- border-color: var(--primary-yellow);
170
- border-left: 4px solid var(--primary-yellow);
 
171
  }
172
 
173
  .step-number {
174
- width: 2.5rem;
175
- height: 2.5rem;
176
- display: flex;
177
- align-items: center;
178
- justify-content: center;
179
- background: var(--gray-100);
180
  color: var(--gray-700);
181
  border-radius: 50%;
182
- font-weight: 700;
183
- font-size: 1.1rem;
184
- transition: all 0.3s ease;
 
 
185
  }
186
 
187
  .step.active .step-number {
188
- background: var(--primary-yellow);
189
  color: white;
190
  }
191
 
192
- .step-content {
193
- flex: 1;
194
- }
195
-
196
  .step-title {
197
  font-weight: 600;
198
  color: var(--gray-800);
199
- margin-bottom: 0.25rem;
200
- font-size: 1.1rem;
201
  }
202
 
203
  .step.active .step-title {
@@ -207,33 +151,40 @@ body {
207
  .step-description {
208
  font-size: 0.875rem;
209
  color: var(--gray-600);
 
 
210
  }
211
 
 
212
  .tips-container {
213
- margin: 2rem 0;
 
 
 
 
 
 
 
 
 
 
214
  }
215
 
216
  .tip {
217
  display: flex;
218
  align-items: flex-start;
219
- gap: 1rem;
220
- padding: 1rem;
221
  margin-bottom: 1rem;
222
- background: white;
223
- border-radius: var(--radius-lg);
224
- border: 1px solid var(--gray-200);
225
  }
226
 
227
- .tip-icon {
228
- color: var(--primary-yellow);
229
- font-size: 1.5rem !important;
230
- margin-top: 0.25rem;
231
  }
232
 
233
- .tip-content strong {
234
- display: block;
235
- color: var(--gray-800);
236
- margin-bottom: 0.25rem;
237
  }
238
 
239
  .tip-content p {
@@ -243,329 +194,306 @@ body {
243
  line-height: 1.5;
244
  }
245
 
246
- .requirements ul {
247
- margin: 0;
248
- padding-left: 1.5rem;
249
- }
250
-
251
- .requirements li {
252
- margin-bottom: 0.5rem;
253
- color: var(--gray-700);
254
- font-size: 0.875rem;
255
- }
256
-
257
- /* API Guide Styles */
258
- .api-guide {
259
  padding: 1.5rem;
260
- background: var(--gray-50);
261
- border-radius: var(--radius-lg);
262
- margin: 1rem 0;
263
  }
264
 
265
- .api-guide h4 {
266
- margin-top: 0;
 
 
267
  color: var(--gray-800);
268
- border-bottom: 2px solid var(--primary-yellow);
269
- padding-bottom: 0.5rem;
270
- }
271
-
272
- .api-guide ol {
273
- margin: 1rem 0 1.5rem 0;
274
- padding-left: 1.5rem;
275
  }
276
 
277
- .api-guide li {
278
- margin-bottom: 0.75rem;
279
- color: var(--gray-700);
280
- line-height: 1.6;
281
  }
282
 
283
- .api-guide code {
284
- background: var(--gray-200);
285
- padding: 0.125rem 0.375rem;
286
- border-radius: var(--radius-sm);
287
- font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
288
  font-size: 0.875rem;
289
  }
290
 
291
- .note {
292
- display: flex;
293
- align-items: flex-start;
294
- gap: 0.75rem;
295
- padding: 1rem;
296
- background: rgba(59, 130, 246, 0.1);
297
- border-radius: var(--radius-md);
298
- border-left: 4px solid var(--info-blue);
299
- margin: 1.5rem 0;
300
- }
301
-
302
- .note .material-icons {
303
- color: var(--info-blue);
304
- margin-top: 0.125rem;
305
- }
306
-
307
- .note p {
308
- margin: 0;
309
- color: var(--gray-700);
310
- font-size: 0.875rem;
311
  }
312
 
313
- .security-tip {
314
- display: flex;
315
- align-items: flex-start;
316
- gap: 1rem;
317
- padding: 1rem;
318
- margin-bottom: 1rem;
319
  background: white;
320
- border-radius: var(--radius-md);
 
 
321
  border: 1px solid var(--gray-200);
322
  }
323
 
324
- .security-tip .material-icons {
325
- color: var(--primary-yellow);
326
- font-size: 1.5rem !important;
327
- margin-top: 0.125rem;
 
328
  }
329
 
330
- .security-tip strong {
331
- display: block;
332
- color: var(--gray-800);
333
- margin-bottom: 0.25rem;
334
  }
335
 
336
- .security-tip p {
337
- margin: 0;
 
 
 
338
  font-size: 0.875rem;
339
- color: var(--gray-600);
340
- line-height: 1.5;
341
  }
342
 
343
- .resources h5 {
344
- margin: 1.5rem 0 0.75rem 0;
 
 
 
 
 
 
345
  color: var(--gray-800);
346
  }
347
 
348
- .resources ul {
349
- margin: 0;
350
- padding-left: 1.5rem;
 
351
  }
352
 
353
- .resources li {
354
- margin-bottom: 0.5rem;
355
  }
356
 
357
- .resources a {
358
- color: var(--secondary-blue);
359
- text-decoration: none;
360
- transition: color 0.2s ease;
 
 
 
 
 
361
  }
362
 
363
- .resources a:hover {
364
- color: var(--primary-yellow);
365
- text-decoration: underline;
 
366
  }
367
 
368
- /* Download Section Styles */
369
- .download-section {
370
- padding: 2rem !important;
 
 
 
 
 
 
 
371
  }
372
 
373
- .file-download {
374
- margin-bottom: 0.5rem !important;
 
375
  }
376
 
377
- .file-info {
 
378
  display: flex;
379
- align-items: center;
380
- gap: 0.5rem;
381
- padding: 0.75rem;
382
- background: var(--gray-50);
383
- border-radius: var(--radius-md);
384
- font-size: 0.875rem;
385
- color: var(--gray-700);
386
  }
387
 
388
- .file-info .material-icons {
389
- color: var(--primary-yellow);
390
- font-size: 1.125rem !important;
 
 
 
 
 
391
  }
392
 
393
- .full-download {
394
- margin-top: 1rem !important;
 
 
395
  }
396
 
397
- .package-info {
398
- display: flex;
399
- align-items: center;
400
- gap: 0.5rem;
401
- padding: 1rem;
402
- background: linear-gradient(135deg, var(--primary-yellow-light) 0%, #FFF8E1 100%);
403
  border-radius: var(--radius-md);
404
- border: 2px solid var(--primary-yellow);
405
- font-weight: 600;
406
- color: var(--gray-800);
407
- margin-top: 0.5rem;
408
  }
409
 
410
- .package-info .material-icons {
411
- color: var(--primary-yellow);
412
- font-size: 1.5rem !important;
413
  }
414
 
415
- /* Status Messages */
416
- .status-container {
417
- padding: 1.5rem;
418
- border-radius: var(--radius-lg);
419
- margin: 1.5rem 0;
420
- background: var(--gray-50);
421
- border: 1px solid var(--gray-200);
 
 
422
  }
423
 
 
424
  .status-message {
425
- display: flex;
426
- align-items: center;
427
- padding: 1rem 1.25rem;
428
  border-radius: var(--radius-md);
429
- background: white;
430
  border-left: 4px solid;
431
- margin-bottom: 1rem;
432
- animation: slideIn 0.3s ease;
433
- }
434
-
435
- @keyframes slideIn {
436
- from {
437
- opacity: 0;
438
- transform: translateY(-10px);
439
- }
440
- to {
441
- opacity: 1;
442
- transform: translateY(0);
443
- }
444
  }
445
 
446
  .status-message.success {
447
- border-left-color: var(--success-green);
 
448
  }
449
 
450
  .status-message.error {
451
- border-left-color: var(--error-red);
 
452
  }
453
 
454
  .status-message.warning {
455
- border-left-color: var(--warning-orange);
 
456
  }
457
 
458
  .status-message.info {
459
- border-left-color: var(--info-blue);
460
- }
461
-
462
- .status-message .material-icons {
463
- font-size: 1.5rem !important;
464
- margin-right: 0.75rem;
465
  }
466
 
467
- .error-message {
468
- padding: 1.5rem;
469
- background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgba(239, 68, 68, 0.05) 100%);
470
- border-radius: var(--radius-lg);
471
- border: 1px solid var(--error-red);
472
- margin: 1.5rem 0;
473
- }
474
-
475
- .error-message h4 {
476
- margin-top: 0;
477
- color: var(--error-red);
478
  display: flex;
479
  align-items: center;
480
- gap: 0.5rem;
481
- }
482
-
483
- .error-message ul {
484
- margin: 0.75rem 0 0 0;
485
- padding-left: 1.5rem;
486
  }
487
 
488
- .error-message li {
489
- margin-bottom: 0.5rem;
490
- color: var(--gray-700);
 
491
  }
492
 
493
- /* Button Styles */
494
- button {
495
- transition: all 0.3s ease !important;
496
  }
497
 
498
- button:hover {
499
- transform: translateY(-2px) !important;
500
- box-shadow: var(--shadow-md) !important;
501
  }
502
 
503
- button.primary {
504
- background: linear-gradient(90deg, var(--primary-yellow) 0%, var(--primary-yellow-dark) 100%) !important;
505
- border: none !important;
506
- color: var(--gray-900) !important;
507
- font-weight: 600 !important;
508
  }
509
 
510
- button.secondary {
511
- background: white !important;
512
- border: 2px solid var(--gray-300) !important;
513
- color: var(--gray-700) !important;
514
- font-weight: 600 !important;
515
  }
516
 
517
- /* Form Styles */
518
- input, textarea, select {
519
- border-radius: var(--radius-md) !important;
520
- border: 1px solid var(--gray-300) !important;
521
- transition: all 0.3s ease !important;
 
 
 
 
 
522
  }
523
 
524
- input:focus, textarea:focus, select:focus {
525
- border-color: var(--primary-yellow) !important;
526
- box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.1) !important;
527
- outline: none !important;
528
  }
529
 
530
- /* Tab Styles */
531
- .tab-nav {
532
- border-bottom: 2px solid var(--gray-200) !important;
 
 
533
  }
534
 
535
- .tab-nav button {
536
- border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
537
- margin-right: 0.25rem !important;
 
538
  }
539
 
540
- .tab-nav button.selected {
541
- background: linear-gradient(135deg, var(--primary-yellow-light) 0%, #FFF8E1 100%) !important;
542
- border-color: var(--primary-yellow) !important;
543
- border-bottom-color: transparent !important;
544
- color: var(--gray-900) !important;
545
- font-weight: 600 !important;
546
  }
547
 
548
- /* Code Editor */
549
- #code_editor {
550
- font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace !important;
551
- font-size: 0.875rem !important;
552
- line-height: 1.6 !important;
553
- background: var(--gray-50) !important;
554
- border: 1px solid var(--gray-300) !important;
555
- border-radius: var(--radius-lg) !important;
556
- padding: 1.5rem !important;
557
  }
558
 
559
  /* Responsive Design */
560
  @media (max-width: 1024px) {
 
 
 
 
 
 
 
 
 
 
561
  .gradio-container {
562
  padding: 0.5rem !important;
563
  }
564
-
 
 
565
  .header-content {
566
  flex-direction: column;
567
- gap: 1.5rem;
568
  text-align: center;
 
569
  }
570
 
571
  .logo-section {
@@ -573,92 +501,63 @@ input:focus, textarea:focus, select:focus {
573
  text-align: center;
574
  }
575
 
576
- .sidebar {
577
- padding: 1rem !important;
578
  }
579
 
580
- .step {
581
- flex-direction: column;
582
- text-align: center;
583
  padding: 1rem;
584
  }
585
-
586
- .step-number {
587
- margin-bottom: 0.5rem;
588
- }
589
  }
590
 
591
- @media (max-width: 768px) {
592
- body {
593
- padding: 10px;
594
- }
595
-
596
- .logo-text h1 {
597
- font-size: 1.75rem;
598
- }
599
-
600
- .header-badge {
601
- width: 100%;
602
- justify-content: center;
603
- }
604
-
605
- .api-guide {
606
- padding: 1rem;
607
- }
608
  }
609
 
610
- /* Animation for success states */
611
- @keyframes pulse {
612
- 0%, 100% {
613
- opacity: 1;
614
- }
615
- 50% {
616
- opacity: 0.8;
617
- }
618
  }
619
 
620
- .success-pulse {
621
- animation: pulse 2s infinite;
 
622
  }
623
 
624
- /* Loading State */
625
- .loading {
626
- position: relative;
627
- pointer-events: none;
628
  }
629
 
630
- .loading::after {
631
- content: '';
632
- position: absolute;
633
- top: 0;
634
- left: 0;
635
- right: 0;
636
- bottom: 0;
637
- background: rgba(255, 255, 255, 0.8);
638
- display: flex;
639
- align-items: center;
640
- justify-content: center;
641
- border-radius: inherit;
642
- z-index: 10;
643
- }
644
-
645
- .loading::before {
646
- content: '';
647
- position: absolute;
648
- top: 50%;
649
- left: 50%;
650
- width: 2.5rem;
651
- height: 2.5rem;
652
- margin: -1.25rem 0 0 -1.25rem;
653
- border: 3px solid var(--gray-300);
654
- border-top-color: var(--primary-yellow);
655
- border-radius: 50%;
656
- animation: spin 1s linear infinite;
657
- z-index: 11;
658
  }
659
 
660
- @keyframes spin {
661
- to {
662
- transform: rotate(360deg);
663
- }
664
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Simplified Professional CSS */
2
  :root {
3
+ --primary-color: #2563eb;
4
+ --primary-dark: #1d4ed8;
5
+ --primary-light: #dbeafe;
6
+ --secondary-color: #475569;
7
+ --success-color: #10b981;
8
+ --error-color: #ef4444;
9
+ --warning-color: #f59e0b;
10
+ --gray-50: #f8fafc;
11
+ --gray-100: #f1f5f9;
12
+ --gray-200: #e2e8f0;
13
+ --gray-300: #cbd5e1;
14
+ --gray-400: #94a3b8;
15
+ --gray-500: #64748b;
16
+ --gray-600: #475569;
17
+ --gray-700: #334155;
18
+ --gray-800: #1e293b;
19
+ --gray-900: #0f172a;
20
+ --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
21
+ --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
22
+ --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
 
 
 
23
  --radius-sm: 0.375rem;
24
  --radius-md: 0.5rem;
25
  --radius-lg: 0.75rem;
 
26
  }
27
 
28
  /* Global Styles */
29
  body {
30
+ font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
31
+ background-color: #f8fafc;
 
32
  margin: 0;
33
+ padding: 0;
34
+ color: var(--gray-800);
35
+ line-height: 1.5;
36
  }
37
 
38
  .gradio-container {
39
+ max-width: 1200px !important;
40
  margin: 0 auto !important;
41
  background: white !important;
42
+ border-radius: var(--radius-lg) !important;
43
+ box-shadow: var(--shadow-lg) !important;
44
  overflow: hidden !important;
45
+ min-height: 100vh !important;
46
+ font-family: 'Inter', sans-serif !important;
47
  }
48
 
49
  /* Header Styles */
50
  .header-container {
51
+ background: linear-gradient(135deg, var(--gray-900) 0%, var(--gray-800) 100%);
52
  color: white;
53
+ padding: 2rem;
54
+ border-bottom: 1px solid var(--gray-700);
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  }
56
 
57
  .header-content {
58
  display: flex;
 
59
  align-items: center;
60
+ justify-content: space-between;
 
61
  }
62
 
63
  .logo-section {
64
  display: flex;
65
  align-items: center;
66
+ gap: 1rem;
67
  }
68
 
69
  .logo-icon {
70
+ font-size: 2.5rem;
71
+ color: white;
 
 
 
 
72
  }
73
 
74
  .logo-text h1 {
75
  margin: 0;
76
+ font-size: 1.875rem;
77
+ font-weight: 600;
78
+ color: white;
 
 
 
79
  }
80
 
81
  .tagline {
82
+ margin: 0.25rem 0 0 0;
83
  color: var(--gray-300);
84
+ font-size: 1rem;
85
  font-weight: 400;
86
  }
87
 
88
+ /* Main Layout */
89
+ .main-container {
90
  display: flex;
91
+ min-height: 600px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  }
93
 
94
  /* Sidebar Styles */
 
96
  background: var(--gray-50);
97
  padding: 2rem 1.5rem !important;
98
  border-right: 1px solid var(--gray-200);
99
+ width: 280px;
 
100
  }
101
 
102
  .steps-container {
103
+ margin-bottom: 2rem;
104
  }
105
 
106
  .step {
107
+ padding: 1rem;
108
+ margin-bottom: 0.75rem;
 
 
 
109
  background: white;
110
+ border-radius: var(--radius-md);
111
  border: 1px solid var(--gray-200);
112
+ transition: all 0.2s ease;
 
 
 
 
 
 
 
113
  }
114
 
115
  .step.active {
116
+ background: white;
117
+ border-color: var(--primary-color);
118
+ border-left: 4px solid var(--primary-color);
119
+ box-shadow: var(--shadow-sm);
120
  }
121
 
122
  .step-number {
123
+ display: inline-block;
124
+ width: 24px;
125
+ height: 24px;
126
+ background: var(--gray-200);
 
 
127
  color: var(--gray-700);
128
  border-radius: 50%;
129
+ text-align: center;
130
+ line-height: 24px;
131
+ font-size: 0.875rem;
132
+ font-weight: 500;
133
+ margin-right: 0.75rem;
134
  }
135
 
136
  .step.active .step-number {
137
+ background: var(--primary-color);
138
  color: white;
139
  }
140
 
 
 
 
 
141
  .step-title {
142
  font-weight: 600;
143
  color: var(--gray-800);
144
+ display: inline-block;
 
145
  }
146
 
147
  .step.active .step-title {
 
151
  .step-description {
152
  font-size: 0.875rem;
153
  color: var(--gray-600);
154
+ margin-top: 0.25rem;
155
+ margin-left: 2.5rem;
156
  }
157
 
158
+ /* Tips Section */
159
  .tips-container {
160
+ background: white;
161
+ border-radius: var(--radius-md);
162
+ border: 1px solid var(--gray-200);
163
+ padding: 1.5rem;
164
+ }
165
+
166
+ .tips-container h4 {
167
+ margin: 0 0 1rem 0;
168
+ font-size: 1rem;
169
+ font-weight: 600;
170
+ color: var(--gray-800);
171
  }
172
 
173
  .tip {
174
  display: flex;
175
  align-items: flex-start;
176
+ gap: 0.75rem;
 
177
  margin-bottom: 1rem;
 
 
 
178
  }
179
 
180
+ .tip:last-child {
181
+ margin-bottom: 0;
 
 
182
  }
183
 
184
+ .tip-icon {
185
+ color: var(--primary-color);
186
+ font-size: 1.25rem;
187
+ flex-shrink: 0;
188
  }
189
 
190
  .tip-content p {
 
194
  line-height: 1.5;
195
  }
196
 
197
+ /* Requirements */
198
+ .requirements {
199
+ background: white;
200
+ border-radius: var(--radius-md);
201
+ border: 1px solid var(--gray-200);
 
 
 
 
 
 
 
 
202
  padding: 1.5rem;
203
+ margin-top: 1.5rem;
 
 
204
  }
205
 
206
+ .requirements h4 {
207
+ margin: 0 0 1rem 0;
208
+ font-size: 1rem;
209
+ font-weight: 600;
210
  color: var(--gray-800);
 
 
 
 
 
 
 
211
  }
212
 
213
+ .requirements ul {
214
+ margin: 0;
215
+ padding-left: 1.25rem;
 
216
  }
217
 
218
+ .requirements li {
219
+ margin-bottom: 0.5rem;
220
+ color: var(--gray-600);
 
 
221
  font-size: 0.875rem;
222
  }
223
 
224
+ /* Main Content Area */
225
+ .main-content {
226
+ flex: 1;
227
+ padding: 2rem;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  }
229
 
230
+ .step-group {
 
 
 
 
 
231
  background: white;
232
+ border-radius: var(--radius-lg);
233
+ padding: 2rem;
234
+ margin-bottom: 1.5rem;
235
  border: 1px solid var(--gray-200);
236
  }
237
 
238
+ .step-group h3 {
239
+ margin: 0 0 1.5rem 0;
240
+ font-size: 1.25rem;
241
+ font-weight: 600;
242
+ color: var(--gray-900);
243
  }
244
 
245
+ /* Form Elements */
246
+ .form-group {
247
+ margin-bottom: 1.5rem;
 
248
  }
249
 
250
+ .form-group label {
251
+ display: block;
252
+ margin-bottom: 0.5rem;
253
+ font-weight: 500;
254
+ color: var(--gray-700);
255
  font-size: 0.875rem;
 
 
256
  }
257
 
258
+ input, textarea, select {
259
+ width: 100%;
260
+ padding: 0.75rem 1rem;
261
+ border: 1px solid var(--gray-300);
262
+ border-radius: var(--radius-md);
263
+ font-family: 'Inter', sans-serif;
264
+ font-size: 0.875rem;
265
+ transition: all 0.2s ease;
266
  color: var(--gray-800);
267
  }
268
 
269
+ input:focus, textarea:focus, select:focus {
270
+ outline: none;
271
+ border-color: var(--primary-color);
272
+ box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
273
  }
274
 
275
+ input::placeholder, textarea::placeholder {
276
+ color: var(--gray-400);
277
  }
278
 
279
+ /* Button Styles */
280
+ button {
281
+ font-family: 'Inter', sans-serif !important;
282
+ font-weight: 500 !important;
283
+ font-size: 0.875rem !important;
284
+ padding: 0.75rem 1.5rem !important;
285
+ border-radius: var(--radius-md) !important;
286
+ transition: all 0.2s ease !important;
287
+ border: 1px solid transparent !important;
288
  }
289
 
290
+ button.primary {
291
+ background: var(--primary-color) !important;
292
+ color: white !important;
293
+ border: none !important;
294
  }
295
 
296
+ button.primary:hover {
297
+ background: var(--primary-dark) !important;
298
+ transform: translateY(-1px) !important;
299
+ box-shadow: var(--shadow-md) !important;
300
+ }
301
+
302
+ button.secondary {
303
+ background: white !important;
304
+ color: var(--gray-700) !important;
305
+ border: 1px solid var(--gray-300) !important;
306
  }
307
 
308
+ button.secondary:hover {
309
+ background: var(--gray-50) !important;
310
+ border-color: var(--gray-400) !important;
311
  }
312
 
313
+ /* Tabs */
314
+ .tab-nav {
315
  display: flex;
316
+ border-bottom: 1px solid var(--gray-200);
317
+ margin-bottom: 1.5rem;
 
 
 
 
 
318
  }
319
 
320
+ .tab-nav button {
321
+ padding: 0.75rem 1.5rem !important;
322
+ background: none !important;
323
+ border: none !important;
324
+ border-bottom: 2px solid transparent !important;
325
+ color: var(--gray-600) !important;
326
+ border-radius: 0 !important;
327
+ margin-bottom: -1px !important;
328
  }
329
 
330
+ .tab-nav button.selected {
331
+ color: var(--primary-color) !important;
332
+ border-bottom-color: var(--primary-color) !important;
333
+ font-weight: 600 !important;
334
  }
335
 
336
+ /* File Inputs */
337
+ .file-input-container {
338
+ border: 2px dashed var(--gray-300);
 
 
 
339
  border-radius: var(--radius-md);
340
+ padding: 2rem;
341
+ text-align: center;
342
+ background: var(--gray-50);
343
+ transition: all 0.2s ease;
344
  }
345
 
346
+ .file-input-container:hover {
347
+ border-color: var(--primary-color);
348
+ background: var(--gray-100);
349
  }
350
 
351
+ /* Code Editor */
352
+ .code-editor {
353
+ font-family: 'JetBrains Mono', 'Consolas', 'Monaco', monospace !important;
354
+ font-size: 0.875rem !important;
355
+ line-height: 1.6 !important;
356
+ background: var(--gray-50) !important;
357
+ border: 1px solid var(--gray-300) !important;
358
+ border-radius: var(--radius-md) !important;
359
+ padding: 1rem !important;
360
  }
361
 
362
+ /* Status Messages */
363
  .status-message {
364
+ padding: 1rem;
 
 
365
  border-radius: var(--radius-md);
366
+ margin: 1rem 0;
367
  border-left: 4px solid;
368
+ background: var(--gray-50);
369
+ font-size: 0.875rem;
 
 
 
 
 
 
 
 
 
 
 
370
  }
371
 
372
  .status-message.success {
373
+ border-left-color: var(--success-color);
374
+ background: #f0fdf4;
375
  }
376
 
377
  .status-message.error {
378
+ border-left-color: var(--error-color);
379
+ background: #fef2f2;
380
  }
381
 
382
  .status-message.warning {
383
+ border-left-color: var(--warning-color);
384
+ background: #fffbeb;
385
  }
386
 
387
  .status-message.info {
388
+ border-left-color: var(--primary-color);
389
+ background: #eff6ff;
 
 
 
 
390
  }
391
 
392
+ /* File Downloads */
393
+ .file-download-item {
 
 
 
 
 
 
 
 
 
394
  display: flex;
395
  align-items: center;
396
+ justify-content: space-between;
397
+ padding: 1rem;
398
+ border: 1px solid var(--gray-200);
399
+ border-radius: var(--radius-md);
400
+ margin-bottom: 0.75rem;
401
+ background: var(--gray-50);
402
  }
403
 
404
+ .file-download-item .file-info {
405
+ display: flex;
406
+ align-items: center;
407
+ gap: 0.75rem;
408
  }
409
 
410
+ .file-download-item .file-icon {
411
+ color: var(--primary-color);
412
+ font-size: 1.25rem;
413
  }
414
 
415
+ .file-download-item .file-name {
416
+ font-weight: 500;
417
+ color: var(--gray-800);
418
  }
419
 
420
+ .file-download-item .file-size {
421
+ font-size: 0.75rem;
422
+ color: var(--gray-500);
 
 
423
  }
424
 
425
+ /* Accordion */
426
+ .accordion {
427
+ border: 1px solid var(--gray-200);
428
+ border-radius: var(--radius-md);
429
+ margin: 1.5rem 0;
430
  }
431
 
432
+ .accordion-header {
433
+ padding: 1rem 1.5rem;
434
+ background: var(--gray-50);
435
+ border-bottom: 1px solid var(--gray-200);
436
+ font-weight: 600;
437
+ color: var(--gray-800);
438
+ cursor: pointer;
439
+ display: flex;
440
+ justify-content: space-between;
441
+ align-items: center;
442
  }
443
 
444
+ .accordion-content {
445
+ padding: 1.5rem;
446
+ background: white;
 
447
  }
448
 
449
+ /* Radio and Checkbox */
450
+ .radio-group, .checkbox-group {
451
+ display: flex;
452
+ flex-direction: column;
453
+ gap: 0.75rem;
454
  }
455
 
456
+ .radio-item, .checkbox-item {
457
+ display: flex;
458
+ align-items: center;
459
+ gap: 0.75rem;
460
  }
461
 
462
+ .radio-item input[type="radio"],
463
+ .checkbox-item input[type="checkbox"] {
464
+ width: auto;
465
+ margin: 0;
 
 
466
  }
467
 
468
+ /* Divider */
469
+ .divider {
470
+ height: 1px;
471
+ background: var(--gray-200);
472
+ margin: 1.5rem 0;
 
 
 
 
473
  }
474
 
475
  /* Responsive Design */
476
  @media (max-width: 1024px) {
477
+ .main-container {
478
+ flex-direction: column;
479
+ }
480
+
481
+ .sidebar {
482
+ width: 100%;
483
+ border-right: none;
484
+ border-bottom: 1px solid var(--gray-200);
485
+ }
486
+
487
  .gradio-container {
488
  padding: 0.5rem !important;
489
  }
490
+ }
491
+
492
+ @media (max-width: 768px) {
493
  .header-content {
494
  flex-direction: column;
 
495
  text-align: center;
496
+ gap: 1rem;
497
  }
498
 
499
  .logo-section {
 
501
  text-align: center;
502
  }
503
 
504
+ .step-group {
505
+ padding: 1.5rem;
506
  }
507
 
508
+ .main-content {
 
 
509
  padding: 1rem;
510
  }
 
 
 
 
511
  }
512
 
513
+ /* Loading Animation */
514
+ @keyframes spin {
515
+ from { transform: rotate(0deg); }
516
+ to { transform: rotate(360deg); }
 
 
 
 
 
 
 
 
 
 
 
 
 
517
  }
518
 
519
+ .loading-spinner {
520
+ display: inline-block;
521
+ width: 16px;
522
+ height: 16px;
523
+ border: 2px solid var(--gray-300);
524
+ border-top-color: var(--primary-color);
525
+ border-radius: 50%;
526
+ animation: spin 1s linear infinite;
527
  }
528
 
529
+ /* Utility Classes */
530
+ .text-sm {
531
+ font-size: 0.875rem;
532
  }
533
 
534
+ .text-xs {
535
+ font-size: 0.75rem;
 
 
536
  }
537
 
538
+ .font-medium {
539
+ font-weight: 500;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
540
  }
541
 
542
+ .font-semibold {
543
+ font-weight: 600;
544
+ }
545
+
546
+ .text-gray-600 {
547
+ color: var(--gray-600);
548
+ }
549
+
550
+ .text-gray-700 {
551
+ color: var(--gray-700);
552
+ }
553
+
554
+ .mt-1 { margin-top: 0.25rem; }
555
+ .mt-2 { margin-top: 0.5rem; }
556
+ .mt-3 { margin-top: 0.75rem; }
557
+ .mt-4 { margin-top: 1rem; }
558
+ .mb-1 { margin-bottom: 0.25rem; }
559
+ .mb-2 { margin-bottom: 0.5rem; }
560
+ .mb-3 { margin-bottom: 0.75rem; }
561
+ .mb-4 { margin-bottom: 1rem; }
562
+ .ml-2 { margin-left: 0.5rem; }
563
+ .mr-2 { margin-right: 0.5rem; }