Tamannathakur commited on
Commit
d1019e7
·
verified ·
1 Parent(s): 523620b

Update style.css

Browse files
Files changed (1) hide show
  1. style.css +21 -597
style.css CHANGED
@@ -26,10 +26,8 @@ body::before {
26
  radial-gradient(circle at 50% 70%, rgba(16, 185, 129, 0.08), transparent 50%),
27
  radial-gradient(circle at 10% 85%, rgba(236, 72, 153, 0.08), transparent 45%),
28
  linear-gradient(135deg, #0a0e27 0%, #1a1f3a 25%, #0f1629 50%, #1e2139 75%, #0d1425 100%) !important;
29
- /* animation: gridScroll 30s linear infinite; */
30
  }
31
 
32
- /* Hexagon pattern overlay */
33
  body::after {
34
  content: '';
35
  position: fixed;
@@ -45,11 +43,6 @@ body::after {
45
  opacity: 0.6;
46
  }
47
 
48
- /* ------------------------- */
49
- /* FORCE GRADIO TO NOT WRAP */
50
- /* ------------------------- */
51
-
52
- /* Outer Gradio container */
53
  .gradio-container,
54
  .gradio-container .wrap,
55
  .gradio-container .contain {
@@ -59,27 +52,16 @@ body::after {
59
  align-items: stretch !important;
60
  }
61
 
62
- /* Prevent Gradio auto-min-width */
63
  .gradio-container .contain>div[id^="component-"] {
64
  min-width: auto !important;
65
  flex: 1 !important;
66
  }
67
 
68
- /* Space between cards */
69
  .gradio-container .contain>div[id^="component-"]>.gr-group,
70
  .gradio-container .contain>div[id^="component-"]>div {
71
  margin: 10px 15px !important;
72
  }
73
 
74
-
75
- /* .gradio-container {
76
- max-width: 100% !important;
77
- width: 100% !important;
78
- margin: 0 !important;
79
- padding: 0 !important;
80
- background-color: #17203D !important;
81
- min-height: 100vh;
82
- } */
83
  .header-box {
84
  position: relative;
85
  padding: 0px 30px;
@@ -91,12 +73,9 @@ body::after {
91
  border-bottom-left-radius: 40px;
92
  border-bottom-right-radius: 40px;
93
  box-shadow: 0 50px 90px -20px rgba(0, 0, 0, 0.6);
94
-
95
  display: flex;
96
  justify-content: space-;
97
  align-items: center;
98
- /* width:100%; */
99
-
100
  }
101
 
102
  .header-title {
@@ -125,7 +104,6 @@ body::after {
125
  border: 1px solid #e0e0e0;
126
  }
127
 
128
- /* Compact Upload Box */
129
  .compact-upload-box {
130
  background-color: rgba(255, 255, 255, 0.95);
131
  padding: 12px;
@@ -153,21 +131,14 @@ body::after {
153
 
154
  .how-to-use {
155
  background: rgba(255, 255, 255, 0.12);
156
- /* frosted glass transparency */
157
  backdrop-filter: blur(12px) saturate(160%);
158
- /* glass blur effect */
159
  -webkit-backdrop-filter: blur(12px) saturate(160%);
160
-
161
  border-radius: 18px;
162
  border: 1px solid rgba(255, 255, 255, 0.25);
163
-
164
  margin-bottom: 20px;
165
  max-height: 196px;
166
  height: 100%;
167
-
168
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
169
- /* soft floating shadow */
170
-
171
  transition: all 0.3s ease;
172
  }
173
 
@@ -200,9 +171,6 @@ body::after {
200
  border-color: rgba(255, 255, 255, 0.35);
201
  }
202
 
203
-
204
-
205
- /* Floating Ask Me Button */
206
  button.floating-chat-btn,
207
  .floating-chat-btn {
208
  position: fixed !important;
@@ -237,7 +205,6 @@ button.floating-chat-btn:hover,
237
  border-color: rgba(255, 255, 255, 0.5) !important;
238
  }
239
 
240
- /* Chat Popup Container */
241
  .chat-popup-box {
242
  position: fixed !important;
243
  bottom: 110px !important;
@@ -257,14 +224,12 @@ button.floating-chat-btn:hover,
257
  opacity: 0;
258
  transform: translateY(20px);
259
  }
260
-
261
  to {
262
  opacity: 1;
263
  transform: translateY(0);
264
  }
265
  }
266
 
267
- /* Chat Header */
268
  .chat-header {
269
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
270
  padding: 20px 24px !important;
@@ -281,184 +246,34 @@ button.floating-chat-btn:hover,
281
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
282
  }
283
 
284
- /* Chat Content */
285
- .chat-content-area {
286
- padding: 20px !important;
287
- max-height: calc(75vh - 80px) !important;
288
- overflow-y: auto !important;
289
- background: transparent !important;
290
- pointer-events: auto !important;
291
- position: relative !important;
292
- z-index: 1 !important;
293
- }
294
-
295
- .chat-content-area>* {
296
- margin-bottom: 15px !important;
297
- }
298
-
299
- /* Sample Questions */
300
- .sample-questions-box {
301
- background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
302
- border-radius: 12px !important;
303
- padding: 15px 18px !important;
304
- margin-bottom: 18px !important;
305
- border: 1px solid rgba(102, 126, 234, 0.15) !important;
306
- }
307
-
308
- .sample-questions-box h4 {
309
- margin: 0 0 12px 0 !important;
310
- color: #333 !important;
311
- font-size: 15px !important;
312
- font-weight: 600 !important;
313
- }
314
-
315
- .sample-q-text {
316
- color: rgb(0, 0, 0) !important;
317
- font-size: 13px !important;
318
- margin: 0px !important;
319
- line-height: 1.15 !important;
320
- padding: 0px !important;
321
- }
322
-
323
- .sample-q-text p {
324
- color: rgb(0, 0, 0) !important;
325
- margin: 0px !important;
326
- padding: 0px !important;
327
- }
328
-
329
- /* Question Input */
330
- .question-input-box {
331
- margin-top: 20px !important;
332
- margin-bottom: 12px !important;
333
- }
334
-
335
- .question-input-box h4 {
336
- margin: 0 0 10px 0 !important;
337
- color: #333 !important;
338
- font-size: 15px !important;
339
- font-weight: 600 !important;
340
- }
341
-
342
- /* Minimal textbox styling - let Gradio handle rendering */
343
- .chat-content-area .chat-question-input {
344
- margin: 12px 0 !important;
345
- }
346
-
347
- .chat-content-area textarea,
348
- .chat-content-area input[type="text"] {
349
- background: #ffffff !important;
350
- border: 2px solid #667eea !important;
351
- border-radius: 10px !important;
352
- padding: 14px !important;
353
- font-size: 14px !important;
354
- }
355
-
356
- .chat-content-area textarea:focus,
357
- .chat-content-area input:focus {
358
- border-color: #764ba2 !important;
359
- box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.15) !important;
360
- outline: none !important;
361
- }
362
-
363
-
364
-
365
- /* Submit Button in Chat */
366
- .chat-submit-btn {
367
- width: 100% !important;
368
- padding: 14px !important;
369
- margin: 15px 0 !important;
370
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
371
- border: none !important;
372
  border-radius: 10px !important;
373
- color: white !important;
374
- font-size: 16px !important;
375
- font-weight: 600 !important;
376
- cursor: pointer !important;
377
- transition: all 0.3s ease !important;
378
- box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3) !important;
379
- }
380
-
381
- .chat-submit-btn:hover {
382
- transform: translateY(-2px) !important;
383
- box-shadow: 0 6px 18px rgba(102, 126, 234, 0.5) !important;
384
- }
385
-
386
-
387
- /* Response Section */
388
- .response-box {
389
- margin-top: 20px !important;
390
- border-top: 2px solid #e9ecef !important;
391
- padding-top: 20px !important;
392
- }
393
-
394
- .response-box h4 {
395
- margin: 0 0 15px 0 !important;
396
- color: #333 !important;
397
- font-size: 15px !important;
398
- font-weight: 600 !important;
399
  }
400
 
401
- /* Tabs in Chat */
402
- .chat-content-area .gr-tabs {
 
 
403
  background: transparent !important;
404
  border: none !important;
405
- }
406
-
407
- .chat-content-area .gr-tab {
408
- color: #555 !important;
409
- background: #f8f9fa !important;
410
- border: 1px solid #e9ecef !important;
411
- border-radius: 8px 8px 0 0 !important;
412
- padding: 10px 16px !important;
413
- margin-right: 4px !important;
414
- }
415
-
416
- .chat-content-area .gr-tab.selected {
417
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
418
  color: white !important;
419
- border-color: #667eea !important;
420
- }
421
-
422
- /* Output fields in chat */
423
- .chat-content-area .gr-textbox,
424
- .chat-content-area .gr-plot,
425
- .chat-content-area .gr-dataframe {
426
- background: #ffffff !important;
427
- border: 1px solid #e9ecef !important;
428
- border-radius: 10px !important;
429
- padding: 12px !important;
430
- }
431
-
432
- .chat-content-area .gr-textbox textarea {
433
- color: #333 !important;
434
- background: #f8f9fa !important;
435
- border: 1px solid #e9ecef !important;
436
- }
437
-
438
- /* Scrollbar for chat content */
439
- .chat-content-area::-webkit-scrollbar {
440
- width: 6px;
441
- }
442
-
443
- .chat-content-area::-webkit-scrollbar-track {
444
- background: rgba(0, 0, 0, 0.05);
445
- border-radius: 10px;
446
- }
447
-
448
- .chat-content-area::-webkit-scrollbar-thumb {
449
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
450
- border-radius: 10px;
451
  }
452
 
453
- .chat-content-area::-webkit-scrollbar-thumb:hover {
454
- background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
 
455
  }
456
 
457
- /* ------------------------- */
458
- /* FORCE GRADIO TO NOT WRAP */
459
- /* ------------------------- */
460
-
461
-
462
  .first-row,
463
  .gr-row,
464
  .gr-column {
@@ -468,7 +283,6 @@ button.floating-chat-btn:hover,
468
  align-items: stretch !important;
469
  }
470
 
471
- /* General card layout - VISIBLE BORDERS */
472
  .upload-section,
473
  .how-to-use,
474
  .card-box,
@@ -486,7 +300,6 @@ button.floating-chat-btn:hover,
486
  transition: 0.25s ease-in-out !important;
487
  }
488
 
489
- /* Hover effect */
490
  .upload-section:hover,
491
  .how-to-use:hover,
492
  .gr-group:hover {
@@ -495,19 +308,11 @@ button.floating-chat-btn:hover,
495
  background: rgba(255, 255, 255, 0.06) !important;
496
  }
497
 
498
- /* REMOVE borders from specific sections */
499
  .header-box,
500
  .header-box * {
501
  border: none !important;
502
  }
503
 
504
- /* Remove borders from Sample Questions markdown sections */
505
- .gr-markdown h3:contains("Sample Questions"),
506
- .gr-markdown:has(h3) {
507
- border: none !important;
508
- }
509
-
510
- /* Remove borders from Analysis Results and related output sections */
511
  [id*="output"],
512
  [id*="answer"],
513
  [id*="result"],
@@ -517,7 +322,6 @@ button.floating-chat-btn:hover,
517
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
518
  }
519
 
520
- /* TARGET THE EXACT 3 BOXES BY ID - WHITE BORDERS ONLY */
521
  #display-format-box,
522
  #analysis-type-box,
523
  #visualization-box {
@@ -526,10 +330,6 @@ button.floating-chat-btn:hover,
526
  padding: 20px !important;
527
  }
528
 
529
- /* ------------------------- */
530
- /* CARD SIZING & SPACING */
531
- /* ------------------------- */
532
-
533
  .first-row>div,
534
  .first-row>.gr-column,
535
  .first-row>.gr-group {
@@ -537,12 +337,10 @@ button.floating-chat-btn:hover,
537
  margin: 10px 15px !important;
538
  }
539
 
540
- /* Prevent shrinking */
541
  .gr-group {
542
  flex-shrink: 0 !important;
543
  }
544
 
545
- /* Upload + Display + How-to-use row fixes */
546
  .first-row {
547
  margin-top: 20px !important;
548
  padding: 0 25px !important;
@@ -550,25 +348,21 @@ button.floating-chat-btn:hover,
550
  min-height: 200px !important;
551
  }
552
 
553
- /* Second row - fixed spacing */
554
  .second-row {
555
  margin-top: 80px !important;
556
  padding: 0 25px !important;
557
  clear: both !important;
558
  }
559
 
560
- /* Ensure proper spacing between rows */
561
  .first-row .gr-group {
562
  margin-bottom: 20px !important;
563
  }
564
 
565
- /* Upload section dynamic height */
566
  #upload-wrapper {
567
  min-height: 180px !important;
568
  transition: height 0.3s ease !important;
569
  }
570
 
571
- /* When upload info is present, expand */
572
  #upload-wrapper .upload-info:not(:empty) {
573
  min-height: 60px !important;
574
  padding: 10px !important;
@@ -580,25 +374,16 @@ button.floating-chat-btn:hover,
580
  min-height: 165px !important;
581
  }
582
 
583
- /* Display Format card width */
584
  .display-format-card {
585
  min-width: 260px !important;
586
  }
587
 
588
- /* ------------------------- */
589
- /* SECOND ROW (Analysis, Viz, Handling) */
590
- /* ------------------------- */
591
-
592
  .gr-row:nth-of-type(2)>.gr-group {
593
  flex: 1 !important;
594
  margin: 10px 15px !important;
595
  min-height: 170px !important;
596
  }
597
 
598
- /* ------------------------- */
599
- /* DATA PREVIEW + ANALYSIS */
600
- /* ------------------------- */
601
-
602
  .gr-column>.gr-markdown,
603
  .gr-dataframe,
604
  .gr-plot,
@@ -609,7 +394,6 @@ button.floating-chat-btn:hover,
609
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
610
  }
611
 
612
- /* Improve titles */
613
  .gr-markdown h3,
614
  .gr-markdown h1,
615
  .gr-markdown h2,
@@ -620,23 +404,15 @@ button.floating-chat-btn:hover,
620
  text-shadow: 0 0 6px rgba(255, 255, 255, 0.3) !important;
621
  }
622
 
623
- /* Force all headings white */
624
- h1,
625
- h2,
626
- h3,
627
- h4,
628
- h5,
629
- h6 {
630
  color: white !important;
631
  }
632
 
633
- /* Specific markdown content */
634
  .gr-group .gr-markdown,
635
  .gr-group .gr-markdown * {
636
  color: white !important;
637
  }
638
 
639
- /* Make internal elements visible with white text */
640
  .gr-textbox,
641
  .gr-textbox input,
642
  .gr-textbox textarea,
@@ -648,34 +424,10 @@ h6 {
648
  color: white !important;
649
  }
650
 
651
- .gr-dropdown:hover,
652
- .gr-textbox:hover,
653
- .gr-file:hover {
654
- background: rgba(255, 255, 255, 0.08) !important;
655
- border-color: rgba(255, 255, 255, 0.15) !important;
656
- }
657
-
658
- .gr-dropdown:focus-within,
659
- .gr-textbox:focus-within,
660
- .gr-file:focus-within {
661
- background: rgba(255, 255, 255, 0.1) !important;
662
- border-color: rgba(59, 130, 246, 0.4) !important;
663
- }
664
-
665
- /* Dropdown options */
666
- .gr-dropdown .dropdown-content,
667
- .gr-dropdown .dropdown-menu {
668
- background: rgba(30, 41, 59, 0.95) !important;
669
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
670
- backdrop-filter: blur(10px) !important;
671
- }
672
-
673
- /* Labels */
674
  .gr-form label {
675
  color: #d1d5db !important;
676
  }
677
 
678
- /* Make all text content white */
679
  .gr-markdown,
680
  .gr-markdown h1,
681
  .gr-markdown h2,
@@ -696,77 +448,6 @@ p {
696
  color: white !important;
697
  }
698
 
699
- /* Dropdown styling - Force white text */
700
- .gr-dropdown,
701
- .gr-dropdown select,
702
- .gr-dropdown .wrap,
703
- .gr-dropdown input,
704
- .gr-dropdown .selected-option {
705
- background: rgba(0, 0, 0, 0.3) !important;
706
- color: white !important;
707
- border: 1px solid rgba(255, 255, 255, 0.3) !important;
708
- font-weight: 500 !important;
709
- }
710
-
711
- /* Dropdown text visibility */
712
- .gr-dropdown * {
713
- color: white !important;
714
- }
715
-
716
- /* Dropdown options menu */
717
- .gr-dropdown .dropdown-content,
718
- .gr-dropdown .dropdown-menu,
719
- .gr-dropdown option,
720
- .gr-dropdown select option {
721
- background: rgba(30, 41, 59, 0.95) !important;
722
- color: white !important;
723
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
724
- }
725
-
726
- /* Force all dropdown text white - AGGRESSIVE */
727
- select,
728
- select option,
729
- .gr-dropdown select,
730
- .gr-dropdown select option,
731
- .gr-dropdown .wrap select,
732
- .gr-dropdown .wrap,
733
- .gr-dropdown input[type="text"],
734
- .gr-dropdown .selected-text,
735
- .gr-dropdown .current-selection {
736
- color: white !important;
737
- background: rgba(0, 0, 0, 0.6) !important;
738
- -webkit-text-fill-color: white !important;
739
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8) !important;
740
- }
741
-
742
- /* Gradio specific dropdown classes */
743
- .gr-dropdown .wrap>*,
744
- .gr-dropdown .wrap input,
745
- .gr-dropdown .wrap select,
746
- .gr-dropdown .wrap .selected,
747
- .gr-dropdown .wrap .value {
748
- color: white !important;
749
- background: rgba(0, 0, 0, 0.5) !important;
750
- -webkit-text-fill-color: white !important;
751
- }
752
-
753
- /* Override any theme colors */
754
- * [class*="dropdown"] {
755
- color: white !important;
756
- }
757
-
758
- * [class*="dropdown"] * {
759
- color: white !important;
760
- }
761
-
762
- /* File upload text */
763
- .gr-file .file-preview,
764
- .gr-file .upload-text {
765
- background: transparent !important;
766
- color: white !important;
767
- }
768
-
769
- /* Button text and borders - HIGHLY VISIBLE */
770
  .gr-button,
771
  button {
772
  background: rgba(255, 255, 255, 0.05) !important;
@@ -774,9 +455,6 @@ button {
774
  color: white !important;
775
  }
776
 
777
- /* ------------------------- */
778
- /* BUTTON ENHANCEMENTS */
779
- /* ------------------------- */
780
  .gr-button-primary,
781
  button[class*="primary"] {
782
  background: linear-gradient(135deg, #4f63e4, #7a3cff) !important;
@@ -806,10 +484,6 @@ button[class*="secondary"]:hover {
806
  border-color: rgba(255, 255, 255, 0.8) !important;
807
  }
808
 
809
- /* ------------------------- */
810
- /* FIX MISALIGNED ELEMENTS */
811
- /* ------------------------- */
812
-
813
  .gr-group>* {
814
  width: 100% !important;
815
  }
@@ -822,14 +496,10 @@ button[class*="secondary"]:hover {
822
  overflow: visible;
823
  }
824
 
825
- /* ---------- Upload wrapper: force size and glass style ---------- */
826
  #upload-wrapper {
827
  width: 100% !important;
828
- /* full width of its column */
829
  min-width: 360px !important;
830
- /* avoid collapsing on narrow screens */
831
  max-width: 520px !important;
832
- /* adjust as needed */
833
  display: flex !important;
834
  flex-direction: column !important;
835
  gap: 12px !important;
@@ -837,22 +507,18 @@ button[class*="secondary"]:hover {
837
  margin: 8px 12px !important;
838
  border-radius: 16px !important;
839
  background: transparent;
840
- /* border: 1px solid rgba(255,255,255,0.12) !important; */
841
  backdrop-filter: blur(18px) saturate(140%) !important;
842
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
843
  box-shadow: 0 12px 30px rgba(2, 6, 23, 0.45) inset, 0 8px 28px rgba(6, 12, 40, 0.45) !important;
844
  align-self: flex-start !important;
845
- /* keep it aligned inside row */
846
  }
847
 
848
- /* Make the title look consistent */
849
  #upload-wrapper .upload-title h3 {
850
  color: #e6f0ff !important;
851
  font-weight: 600 !important;
852
  margin: 0 0 6px 0 !important;
853
  }
854
 
855
- /* Make the file control visually large and centered */
856
  #upload-wrapper .upload-card,
857
  #upload-wrapper .gr-file,
858
  #upload-wrapper input[type="file"] {
@@ -865,7 +531,6 @@ button[class*="secondary"]:hover {
865
  box-shadow: 0 8px 20px rgba(12, 18, 40, 0.35) !important;
866
  }
867
 
868
- /* dataset info text area - BLACK TEXT FOR VISIBILITY */
869
  #upload-wrapper .upload-info,
870
  #upload-wrapper .gr-markdown {
871
  color: #000000 !important;
@@ -875,7 +540,6 @@ button[class*="secondary"]:hover {
875
  font-size: 13px !important;
876
  }
877
 
878
- /* Make the markdown text content black */
879
  #upload-wrapper .upload-info *,
880
  #upload-wrapper .gr-markdown *,
881
  .upload-info,
@@ -884,31 +548,26 @@ button[class*="secondary"]:hover {
884
  color: #000000 !important;
885
  }
886
 
887
- /* clear button alignment and style */
888
  #upload-wrapper .upload-clear-btn {
889
  align-self: flex-end !important;
890
  margin-top: 6px !important;
891
  }
892
 
893
- /* if Gradio wraps the file input in an inner container */
894
  #upload-wrapper [class*="file"],
895
  #upload-wrapper [class*="upload"] {
896
  width: 100% !important;
897
  }
898
 
899
- /* Ensure it doesn't collapse when Gradio enforces min-width elsewhere */
900
  #upload-wrapper>* {
901
  min-width: 0 !important;
902
  }
903
 
904
- /* Optional responsive tweak: allow it to expand on larger screens */
905
  @media (min-width: 1280px) {
906
  #upload-wrapper {
907
  max-width: 640px !important;
908
  }
909
  }
910
 
911
- /* How to Use Box - Top Right Corner */
912
  .how-to-use-sidebar {
913
  position: fixed !important;
914
  top: 150px !important;
@@ -960,256 +619,21 @@ button[class*="secondary"]:hover {
960
  opacity: 0.9 !important;
961
  }
962
 
963
- /* Main container - Full width to cover left area */
964
  .gradio-container {
965
  margin-left: 0 !important;
966
  padding-left: 20px !important;
967
  }
968
 
969
- /* Responsive: Remove margin on smaller screens */
970
  @media (max-width: 1200px) {
971
  .gradio-container {
972
  margin-left: 0 !important;
973
  padding-left: 0 !important;
974
  }
975
-
976
  .how-to-use-sidebar {
977
  display: none !important;
978
  }
979
  }
980
 
981
- /* Custom Dropdown Styling */
982
- .custom-dropdown {
983
- width: 100%;
984
- }
985
-
986
- .custom-dropdown label {
987
- color: white !important;
988
- font-size: 14px;
989
- margin-bottom: 8px;
990
- display: block;
991
- }
992
-
993
- .dropdown-container {
994
- position: relative;
995
- width: 100%;
996
- }
997
-
998
- .dropdown-button {
999
- background: white;
1000
- border: 1px solid rgba(255, 255, 255, 0.3);
1001
- border-radius: 8px;
1002
- padding: 12px 16px;
1003
- cursor: pointer;
1004
- display: flex;
1005
- justify-content: space-between;
1006
- align-items: center;
1007
- color: #333;
1008
- }
1009
-
1010
- .dropdown-button:hover {
1011
- border-color: rgba(59, 130, 246, 0.5);
1012
- }
1013
-
1014
- .dropdown-arrow {
1015
- color: #666;
1016
- font-size: 12px;
1017
- }
1018
-
1019
- .dropdown-menu {
1020
- display: none;
1021
- position: absolute;
1022
- top: 100%;
1023
- left: 0;
1024
- right: 0;
1025
- background: white;
1026
- border: 1px solid #ccc;
1027
- border-radius: 8px;
1028
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
1029
- max-height: 200px;
1030
- overflow-y: auto;
1031
- z-index: 1000;
1032
- }
1033
-
1034
- .dropdown-item {
1035
- padding: 12px 16px;
1036
- cursor: pointer;
1037
- color: #333;
1038
- border-bottom: 1px solid #eee;
1039
- }
1040
-
1041
- .dropdown-item:hover {
1042
- background: #f0f8ff;
1043
- }
1044
-
1045
- .dropdown-item.selected {
1046
- background: #3b82f6;
1047
- color: white;
1048
- }
1049
-
1050
- .selected-columns {
1051
- margin-top: 8px;
1052
- display: flex;
1053
- flex-wrap: wrap;
1054
- gap: 6px;
1055
- }
1056
-
1057
- .selected-tag {
1058
- background: #3b82f6;
1059
- color: white;
1060
- padding: 4px 8px;
1061
- border-radius: 6px;
1062
- font-size: 12px;
1063
- display: flex;
1064
- align-items: center;
1065
- gap: 4px;
1066
- }
1067
-
1068
- .selected-tag span {
1069
- cursor: pointer;
1070
- font-weight: bold;
1071
- opacity: 0.8;
1072
- }
1073
-
1074
- .selected-tag span:hover {
1075
- opacity: 1;
1076
- }
1077
-
1078
- /* ========================= */
1079
- /* FIX: Prevent Dropdown Text Input */
1080
- /* ========================= */
1081
-
1082
- /* Make dropdown input read-only - prevent typing */
1083
- .gr-dropdown input[type="text"] {
1084
- cursor: pointer !important;
1085
- user-select: none !important;
1086
- caret-color: transparent !important;
1087
- }
1088
-
1089
- /* Allow clicking on the dropdown container itself */
1090
- .gr-dropdown .wrap {
1091
- pointer-events: auto !important;
1092
- cursor: pointer !important;
1093
- }
1094
-
1095
- /* Ensure ALL dropdowns are clickable */
1096
- .gr-dropdown,
1097
- .gr-dropdown *,
1098
- .gr-dropdown button,
1099
- .gr-dropdown .wrap,
1100
- .gr-dropdown select {
1101
- pointer-events: auto !important;
1102
- cursor: pointer !important;
1103
- }
1104
-
1105
- /* Make sure dropdown button/arrow is visible and clickable */
1106
- .gr-dropdown button,
1107
- .gr-dropdown button svg,
1108
- .gr-dropdown .icon,
1109
- button[aria-label*="dropdown"],
1110
- button[class*="dropdown"] {
1111
- display: block !important;
1112
- visibility: visible !important;
1113
- opacity: 1 !important;
1114
- pointer-events: auto !important;
1115
- cursor: pointer !important;
1116
- }
1117
-
1118
- /* Ensure Group containers don't block dropdowns */
1119
- #display-format-box,
1120
- #analysis-type-box,
1121
- #visualization-box {
1122
- pointer-events: auto !important;
1123
- }
1124
-
1125
- #display-format-box *,
1126
- #analysis-type-box *,
1127
- #visualization-box * {
1128
- pointer-events: auto !important;
1129
- }
1130
-
1131
- /* Ensure column selector appears in correct order */
1132
- .gr-checkbox-group {
1133
- order: 0 !important;
1134
- }
1135
-
1136
-
1137
- /* FORCE Column Selector Labels to be BLACK - Very Specific */
1138
- [data-testid="checkbox-group"] label,
1139
- [data-testid="checkbox-group"] label span,
1140
- [data-testid="checkbox-group"] span,
1141
- .wrap[data-testid="checkbox-group"] label,
1142
- .wrap[data-testid="checkbox-group"] span,
1143
- label[class*="svelte"] span,
1144
- .checkbox-group label,
1145
- .checkbox-group span {
1146
- color: #000000 !important;
1147
- -webkit-text-fill-color: #000000 !important;
1148
- }
1149
-
1150
- /* Target any span inside checkbox labels */
1151
- input[type="checkbox"]+span,
1152
- input[type="checkbox"]~span,
1153
- label:has(input[type="checkbox"]) span {
1154
- color: #000000 !important;
1155
- -webkit-text-fill-color: #000000 !important;
1156
- }
1157
-
1158
- /* Force all spans near checkboxes to be black */
1159
- span[class*="svelte"] {
1160
- color: #000000 !important;
1161
- }
1162
-
1163
- /* Transparent background for checkbox container */
1164
- [data-testid="checkbox-group"],
1165
- [data-testid="checkbox-group"]>div {
1166
- background: transparent !important;
1167
- }
1168
-
1169
- /* Match wrap sizes for dropdowns */
1170
- div.wrap.svelte-vomtx {
1171
- min-height: auto !important;
1172
- height: auto !important;
1173
- }
1174
-
1175
- div.wrap.svelte-vomtx,
1176
- div.secondarywrap {
1177
- padding: 8px !important;
1178
- }
1179
-
1180
- /* Make dropdown labels white */
1181
- .gr-dropdown label,
1182
- .gr-dropdown .label {
1183
- color: white !important;
1184
- }
1185
-
1186
-
1187
- /* Display Format dropdown label - white text */
1188
- .gradio-container.gradio-container-4-20-0 .contain span[class*="svelte"] {
1189
- color: rgb(255, 255, 255) !important;
1190
- }
1191
-
1192
-
1193
-
1194
- /* ===========================================================
1195
- FIX: Force white text for the Gradio block-info label
1196
- =========================================================== */
1197
-
1198
- span[data-testid="block-info"],
1199
- .gradio-container span[data-testid="block-info"] {
1200
- color: #ffffff !important;
1201
- -webkit-text-fill-color: #ffffff !important;
1202
- }
1203
-
1204
- /* If the framework switches from <span> to <p>, also cover this */
1205
- p[data-testid="block-info"] {
1206
- color: #ffffff !important;
1207
- -webkit-text-fill-color: #ffffff !important;
1208
- }
1209
-
1210
-
1211
- .svelte-vomtxz.container {
1212
- border: 2px solid white !important;
1213
- border-radius: 8px !important;
1214
- padding: 10px !important;
1215
  }
 
26
  radial-gradient(circle at 50% 70%, rgba(16, 185, 129, 0.08), transparent 50%),
27
  radial-gradient(circle at 10% 85%, rgba(236, 72, 153, 0.08), transparent 45%),
28
  linear-gradient(135deg, #0a0e27 0%, #1a1f3a 25%, #0f1629 50%, #1e2139 75%, #0d1425 100%) !important;
 
29
  }
30
 
 
31
  body::after {
32
  content: '';
33
  position: fixed;
 
43
  opacity: 0.6;
44
  }
45
 
 
 
 
 
 
46
  .gradio-container,
47
  .gradio-container .wrap,
48
  .gradio-container .contain {
 
52
  align-items: stretch !important;
53
  }
54
 
 
55
  .gradio-container .contain>div[id^="component-"] {
56
  min-width: auto !important;
57
  flex: 1 !important;
58
  }
59
 
 
60
  .gradio-container .contain>div[id^="component-"]>.gr-group,
61
  .gradio-container .contain>div[id^="component-"]>div {
62
  margin: 10px 15px !important;
63
  }
64
 
 
 
 
 
 
 
 
 
 
65
  .header-box {
66
  position: relative;
67
  padding: 0px 30px;
 
73
  border-bottom-left-radius: 40px;
74
  border-bottom-right-radius: 40px;
75
  box-shadow: 0 50px 90px -20px rgba(0, 0, 0, 0.6);
 
76
  display: flex;
77
  justify-content: space-;
78
  align-items: center;
 
 
79
  }
80
 
81
  .header-title {
 
104
  border: 1px solid #e0e0e0;
105
  }
106
 
 
107
  .compact-upload-box {
108
  background-color: rgba(255, 255, 255, 0.95);
109
  padding: 12px;
 
131
 
132
  .how-to-use {
133
  background: rgba(255, 255, 255, 0.12);
 
134
  backdrop-filter: blur(12px) saturate(160%);
 
135
  -webkit-backdrop-filter: blur(12px) saturate(160%);
 
136
  border-radius: 18px;
137
  border: 1px solid rgba(255, 255, 255, 0.25);
 
138
  margin-bottom: 20px;
139
  max-height: 196px;
140
  height: 100%;
 
141
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
 
 
142
  transition: all 0.3s ease;
143
  }
144
 
 
171
  border-color: rgba(255, 255, 255, 0.35);
172
  }
173
 
 
 
 
174
  button.floating-chat-btn,
175
  .floating-chat-btn {
176
  position: fixed !important;
 
205
  border-color: rgba(255, 255, 255, 0.5) !important;
206
  }
207
 
 
208
  .chat-popup-box {
209
  position: fixed !important;
210
  bottom: 110px !important;
 
224
  opacity: 0;
225
  transform: translateY(20px);
226
  }
 
227
  to {
228
  opacity: 1;
229
  transform: translateY(0);
230
  }
231
  }
232
 
 
233
  .chat-header {
234
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
235
  padding: 20px 24px !important;
 
246
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
247
  }
248
 
249
+ /* Dropdown Borders - CRITICAL FIX */
250
+ .gr-dropdown,
251
+ .gr-dropdown .wrap,
252
+ .gr-dropdown .wrap-inner,
253
+ [data-testid="dropdown"],
254
+ select[class*="svelte"] {
255
+ border: 3px solid #ffffff !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
256
  border-radius: 10px !important;
257
+ background: rgba(255, 255, 255, 0.08) !important;
258
+ padding: 10px 14px !important;
259
+ box-sizing: border-box !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
260
  }
261
 
262
+ /* Ensure dropdown text is visible */
263
+ .gr-dropdown select,
264
+ .gr-dropdown input[type="text"],
265
+ .gr-dropdown .selected-option {
266
  background: transparent !important;
267
  border: none !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
268
  color: white !important;
269
+ font-weight: 500 !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
270
  }
271
 
272
+ /* Remove inner borders that conflict */
273
+ .gr-dropdown .wrap .wrap-inner {
274
+ border: none !important;
275
  }
276
 
 
 
 
 
 
277
  .first-row,
278
  .gr-row,
279
  .gr-column {
 
283
  align-items: stretch !important;
284
  }
285
 
 
286
  .upload-section,
287
  .how-to-use,
288
  .card-box,
 
300
  transition: 0.25s ease-in-out !important;
301
  }
302
 
 
303
  .upload-section:hover,
304
  .how-to-use:hover,
305
  .gr-group:hover {
 
308
  background: rgba(255, 255, 255, 0.06) !important;
309
  }
310
 
 
311
  .header-box,
312
  .header-box * {
313
  border: none !important;
314
  }
315
 
 
 
 
 
 
 
 
316
  [id*="output"],
317
  [id*="answer"],
318
  [id*="result"],
 
322
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
323
  }
324
 
 
325
  #display-format-box,
326
  #analysis-type-box,
327
  #visualization-box {
 
330
  padding: 20px !important;
331
  }
332
 
 
 
 
 
333
  .first-row>div,
334
  .first-row>.gr-column,
335
  .first-row>.gr-group {
 
337
  margin: 10px 15px !important;
338
  }
339
 
 
340
  .gr-group {
341
  flex-shrink: 0 !important;
342
  }
343
 
 
344
  .first-row {
345
  margin-top: 20px !important;
346
  padding: 0 25px !important;
 
348
  min-height: 200px !important;
349
  }
350
 
 
351
  .second-row {
352
  margin-top: 80px !important;
353
  padding: 0 25px !important;
354
  clear: both !important;
355
  }
356
 
 
357
  .first-row .gr-group {
358
  margin-bottom: 20px !important;
359
  }
360
 
 
361
  #upload-wrapper {
362
  min-height: 180px !important;
363
  transition: height 0.3s ease !important;
364
  }
365
 
 
366
  #upload-wrapper .upload-info:not(:empty) {
367
  min-height: 60px !important;
368
  padding: 10px !important;
 
374
  min-height: 165px !important;
375
  }
376
 
 
377
  .display-format-card {
378
  min-width: 260px !important;
379
  }
380
 
 
 
 
 
381
  .gr-row:nth-of-type(2)>.gr-group {
382
  flex: 1 !important;
383
  margin: 10px 15px !important;
384
  min-height: 170px !important;
385
  }
386
 
 
 
 
 
387
  .gr-column>.gr-markdown,
388
  .gr-dataframe,
389
  .gr-plot,
 
394
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
395
  }
396
 
 
397
  .gr-markdown h3,
398
  .gr-markdown h1,
399
  .gr-markdown h2,
 
404
  text-shadow: 0 0 6px rgba(255, 255, 255, 0.3) !important;
405
  }
406
 
407
+ h1, h2, h3, h4, h5, h6 {
 
 
 
 
 
 
408
  color: white !important;
409
  }
410
 
 
411
  .gr-group .gr-markdown,
412
  .gr-group .gr-markdown * {
413
  color: white !important;
414
  }
415
 
 
416
  .gr-textbox,
417
  .gr-textbox input,
418
  .gr-textbox textarea,
 
424
  color: white !important;
425
  }
426
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
427
  .gr-form label {
428
  color: #d1d5db !important;
429
  }
430
 
 
431
  .gr-markdown,
432
  .gr-markdown h1,
433
  .gr-markdown h2,
 
448
  color: white !important;
449
  }
450
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
451
  .gr-button,
452
  button {
453
  background: rgba(255, 255, 255, 0.05) !important;
 
455
  color: white !important;
456
  }
457
 
 
 
 
458
  .gr-button-primary,
459
  button[class*="primary"] {
460
  background: linear-gradient(135deg, #4f63e4, #7a3cff) !important;
 
484
  border-color: rgba(255, 255, 255, 0.8) !important;
485
  }
486
 
 
 
 
 
487
  .gr-group>* {
488
  width: 100% !important;
489
  }
 
496
  overflow: visible;
497
  }
498
 
 
499
  #upload-wrapper {
500
  width: 100% !important;
 
501
  min-width: 360px !important;
 
502
  max-width: 520px !important;
 
503
  display: flex !important;
504
  flex-direction: column !important;
505
  gap: 12px !important;
 
507
  margin: 8px 12px !important;
508
  border-radius: 16px !important;
509
  background: transparent;
 
510
  backdrop-filter: blur(18px) saturate(140%) !important;
511
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
512
  box-shadow: 0 12px 30px rgba(2, 6, 23, 0.45) inset, 0 8px 28px rgba(6, 12, 40, 0.45) !important;
513
  align-self: flex-start !important;
 
514
  }
515
 
 
516
  #upload-wrapper .upload-title h3 {
517
  color: #e6f0ff !important;
518
  font-weight: 600 !important;
519
  margin: 0 0 6px 0 !important;
520
  }
521
 
 
522
  #upload-wrapper .upload-card,
523
  #upload-wrapper .gr-file,
524
  #upload-wrapper input[type="file"] {
 
531
  box-shadow: 0 8px 20px rgba(12, 18, 40, 0.35) !important;
532
  }
533
 
 
534
  #upload-wrapper .upload-info,
535
  #upload-wrapper .gr-markdown {
536
  color: #000000 !important;
 
540
  font-size: 13px !important;
541
  }
542
 
 
543
  #upload-wrapper .upload-info *,
544
  #upload-wrapper .gr-markdown *,
545
  .upload-info,
 
548
  color: #000000 !important;
549
  }
550
 
 
551
  #upload-wrapper .upload-clear-btn {
552
  align-self: flex-end !important;
553
  margin-top: 6px !important;
554
  }
555
 
 
556
  #upload-wrapper [class*="file"],
557
  #upload-wrapper [class*="upload"] {
558
  width: 100% !important;
559
  }
560
 
 
561
  #upload-wrapper>* {
562
  min-width: 0 !important;
563
  }
564
 
 
565
  @media (min-width: 1280px) {
566
  #upload-wrapper {
567
  max-width: 640px !important;
568
  }
569
  }
570
 
 
571
  .how-to-use-sidebar {
572
  position: fixed !important;
573
  top: 150px !important;
 
619
  opacity: 0.9 !important;
620
  }
621
 
 
622
  .gradio-container {
623
  margin-left: 0 !important;
624
  padding-left: 20px !important;
625
  }
626
 
 
627
  @media (max-width: 1200px) {
628
  .gradio-container {
629
  margin-left: 0 !important;
630
  padding-left: 0 !important;
631
  }
 
632
  .how-to-use-sidebar {
633
  display: none !important;
634
  }
635
  }
636
 
637
+ .gradio-container {
638
+ background: linear-gradient(135deg, #0a0e27 0%, #1a1f3a 25%, #0f1629 50%, #1e2139 75%, #0d1425 100%) !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
639
  }