Tamannathakur commited on
Commit
371d2bb
·
verified ·
1 Parent(s): d1019e7

Update style.css

Browse files
Files changed (1) hide show
  1. style.css +597 -21
style.css CHANGED
@@ -26,8 +26,10 @@ 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
  }
30
 
 
31
  body::after {
32
  content: '';
33
  position: fixed;
@@ -43,6 +45,11 @@ body::after {
43
  opacity: 0.6;
44
  }
45
 
 
 
 
 
 
46
  .gradio-container,
47
  .gradio-container .wrap,
48
  .gradio-container .contain {
@@ -52,16 +59,27 @@ body::after {
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,9 +91,12 @@ body::after {
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,6 +125,7 @@ body::after {
104
  border: 1px solid #e0e0e0;
105
  }
106
 
 
107
  .compact-upload-box {
108
  background-color: rgba(255, 255, 255, 0.95);
109
  padding: 12px;
@@ -131,14 +153,21 @@ body::after {
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,6 +200,9 @@ body::after {
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,6 +237,7 @@ button.floating-chat-btn:hover,
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,12 +257,14 @@ button.floating-chat-btn:hover,
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,34 +281,184 @@ button.floating-chat-btn:hover,
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,6 +468,7 @@ select[class*="svelte"] {
283
  align-items: stretch !important;
284
  }
285
 
 
286
  .upload-section,
287
  .how-to-use,
288
  .card-box,
@@ -300,6 +486,7 @@ select[class*="svelte"] {
300
  transition: 0.25s ease-in-out !important;
301
  }
302
 
 
303
  .upload-section:hover,
304
  .how-to-use:hover,
305
  .gr-group:hover {
@@ -308,11 +495,19 @@ select[class*="svelte"] {
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,6 +517,7 @@ select[class*="svelte"] {
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,6 +526,10 @@ select[class*="svelte"] {
330
  padding: 20px !important;
331
  }
332
 
 
 
 
 
333
  .first-row>div,
334
  .first-row>.gr-column,
335
  .first-row>.gr-group {
@@ -337,10 +537,12 @@ select[class*="svelte"] {
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,21 +550,25 @@ select[class*="svelte"] {
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,16 +580,25 @@ select[class*="svelte"] {
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,6 +609,7 @@ select[class*="svelte"] {
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,15 +620,23 @@ select[class*="svelte"] {
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,10 +648,34 @@ h1, h2, h3, h4, h5, h6 {
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,6 +696,77 @@ p {
448
  color: white !important;
449
  }
450
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
451
  .gr-button,
452
  button {
453
  background: rgba(255, 255, 255, 0.05) !important;
@@ -455,6 +774,9 @@ button {
455
  color: white !important;
456
  }
457
 
 
 
 
458
  .gr-button-primary,
459
  button[class*="primary"] {
460
  background: linear-gradient(135deg, #4f63e4, #7a3cff) !important;
@@ -484,6 +806,10 @@ button[class*="secondary"]:hover {
484
  border-color: rgba(255, 255, 255, 0.8) !important;
485
  }
486
 
 
 
 
 
487
  .gr-group>* {
488
  width: 100% !important;
489
  }
@@ -496,10 +822,14 @@ button[class*="secondary"]:hover {
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,18 +837,22 @@ button[class*="secondary"]:hover {
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,6 +865,7 @@ button[class*="secondary"]:hover {
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,6 +875,7 @@ button[class*="secondary"]:hover {
540
  font-size: 13px !important;
541
  }
542
 
 
543
  #upload-wrapper .upload-info *,
544
  #upload-wrapper .gr-markdown *,
545
  .upload-info,
@@ -548,26 +884,31 @@ button[class*="secondary"]:hover {
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,21 +960,256 @@ button[class*="secondary"]:hover {
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
  }
 
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
  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
  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
  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
  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
 
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
  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
  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
  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
  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
  align-items: stretch !important;
469
  }
470
 
471
+ /* General card layout - VISIBLE BORDERS */
472
  .upload-section,
473
  .how-to-use,
474
  .card-box,
 
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
  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
  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
  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
  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
  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
  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
  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
  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
  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
  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
  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
  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
  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
  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
  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
  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
  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
  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
  }