optimized-react-component-library-xyz123 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1124 @@
1
+ /* ---------- GENERAL ---------- */
2
+
3
+ html {
4
+ font-size: 62.5%; /* 1rem = 10px */
5
+ }
6
+
7
+ body {
8
+ margin: 0;
9
+ font-family: Arial;
10
+ font-size: 1.6rem;
11
+ font-weight: 400;
12
+ background-color: #dddddd;
13
+ display: flex;
14
+ flex-direction: column;
15
+ min-height: 100vh;
16
+ }
17
+
18
+ body a {
19
+ text-decoration: underline;
20
+ text-underline-offset: 0.3rem;
21
+
22
+ display: inline-flex;
23
+ align-items: center;
24
+ color: #6e3282;
25
+ }
26
+
27
+ body a:hover {
28
+ text-decoration: underline 0.2rem;
29
+ }
30
+
31
+ h1,
32
+ h2,
33
+ h3 {
34
+ margin: 0;
35
+ margin-bottom: 3.6rem;
36
+ }
37
+
38
+ h1 {
39
+ font-size: 3rem;
40
+ }
41
+
42
+ h2 {
43
+ font-size: 2.4rem;
44
+ width: 100%;
45
+ }
46
+
47
+ h3 {
48
+ font-size: 1.6rem;
49
+ }
50
+
51
+ h4 {
52
+ margin: 0;
53
+ font-size: 1.6rem;
54
+ }
55
+
56
+ #main-content {
57
+ padding-top: 3.6rem;
58
+ padding-bottom: 6.4rem;
59
+ max-width: 860px;
60
+ margin-left: auto;
61
+ margin-right: auto;
62
+ }
63
+
64
+ section {
65
+ display: flex;
66
+ flex-direction: column;
67
+ background-color: #ffffff;
68
+ padding: 3.6rem;
69
+ margin-bottom: 1.6rem;
70
+ border-radius: 0.4rem;
71
+ margin-left: 0.8rem;
72
+ margin-right: 0.8rem;
73
+ }
74
+
75
+ .pts-first-category-section {
76
+ padding-top: 0;
77
+ border-top-left-radius: 0;
78
+ border-top-right-radius: 0;
79
+ }
80
+
81
+ .pts-form-step-header {
82
+ display: flex;
83
+ flex-direction: column;
84
+ background-color: #ffffff;
85
+ padding: 3.6rem;
86
+ margin-bottom: 0;
87
+ border-radius: 0.4rem;
88
+ margin-left: 0.8rem;
89
+ margin-right: 0.8rem;
90
+ padding-bottom: 0;
91
+ border-bottom-left-radius: 0;
92
+ border-bottom-right-radius: 0;
93
+ }
94
+
95
+ .pts-form-step-header p {
96
+ margin: 0px;
97
+ margin-bottom: 36px;
98
+ }
99
+
100
+ fieldset {
101
+ border: none;
102
+ padding: 0;
103
+ margin: 0;
104
+ }
105
+
106
+ .pts-root-question {
107
+ display: flex;
108
+ flex-direction: column;
109
+ margin-bottom: 1.6rem;
110
+ max-width: 624px;
111
+ }
112
+
113
+ .pts-root-categoryDescription,
114
+ .pts-root-stepDescription {
115
+ margin-bottom: 3.6rem;
116
+ }
117
+
118
+ .pts-root-question legend,
119
+ .pts-root-question label,
120
+ .pts-radio-option {
121
+ margin-bottom: 0.8rem;
122
+ }
123
+
124
+ .pts-root-about {
125
+ font-size: 1.4rem;
126
+ color: #545454;
127
+ margin: 0;
128
+ margin-bottom: 0.4rem;
129
+ }
130
+
131
+ .pts-root-question input[type='text']:focus,
132
+ .pts-root-question input[type='email']:focus,
133
+ .pts-root-question input[type='tel']:focus {
134
+ border: 0.2rem solid #6e3282;
135
+ }
136
+
137
+ .pts-root-error {
138
+ display: flex;
139
+ margin-top: 0.4rem;
140
+ }
141
+
142
+ .errorDot {
143
+ display: flex;
144
+ font-size: 1.6rem;
145
+ font-weight: 700;
146
+ width: 1.8rem;
147
+ height: 1.8rem;
148
+ border-radius: 1rem;
149
+ justify-content: center;
150
+ color: #ffffff;
151
+ background-color: #8e0039;
152
+ margin-right: 9px;
153
+ }
154
+
155
+ .errorText,
156
+ .pts-root-mandatoryAsterisk {
157
+ color: #8e0039;
158
+ }
159
+
160
+ .pts-root-question-input-error-border,
161
+ .pts-root-question-input-error-border,
162
+ .pts-root-question-input-error-border {
163
+ border: 0.2rem solid #8e0039 !important;
164
+ }
165
+
166
+ .sr-only {
167
+ position: absolute;
168
+ width: 1px;
169
+ height: 1px;
170
+ padding: 0;
171
+ margin: -1px;
172
+ overflow: hidden;
173
+ clip: rect(0, 0, 0, 0);
174
+ white-space: nowrap;
175
+ border: 0;
176
+ }
177
+
178
+ button:focus-visible,
179
+ a:focus-visible,
180
+ input:focus-visible,
181
+ textarea:focus-visible,
182
+ .filePickLabel:focus-visible {
183
+ outline-offset: 0 !important;
184
+ outline-style: solid !important;
185
+ outline-color: #fff !important;
186
+ outline-width: 2px !important;
187
+ box-shadow: 0 0 0 4px #000 !important;
188
+ }
189
+
190
+ .using-mouse input:focus-visible,
191
+ .using-mouse button:focus-visible,
192
+ .using-mouse textarea:focus-visible,
193
+ .using-mouse a:focus-visible,
194
+ .using-mouse .filePickLabel:focus-visible {
195
+ outline: none;
196
+ outline-width: 0px !important;
197
+ box-shadow: 0 0 0 0px #000 !important;
198
+ }
199
+
200
+ .pts-radioMultiple-container,
201
+ .pts-multipleCheckboxes-container {
202
+ padding-bottom: 2rem;
203
+ }
204
+
205
+ .pts-root-question input[type='text'],
206
+ .pts-root-question input[type='email'],
207
+ .pts-root-question input[type='tel'] {
208
+ max-width: 100%;
209
+ font-size: 1.6rem;
210
+ padding-left: 1.6rem;
211
+ padding-right: 1.6rem;
212
+ border-radius: 0.8rem;
213
+ border: 1px solid #545454;
214
+ height: 4.8rem;
215
+ }
216
+
217
+ /* ---------- SERVICE HEADLINE AND BODY ---------- */
218
+
219
+ .pts-serviceHeadlineAndBody-container li {
220
+ margin-bottom: 0.8rem;
221
+ }
222
+
223
+ .pts-serviceHeadlineAndBody-container ul {
224
+ padding-left: 2rem;
225
+ }
226
+
227
+ .pts-serviceHeadlineAndBody-container a {
228
+ margin-bottom: 2.8rem;
229
+ }
230
+
231
+ .pts-moreinfo-list {
232
+ margin: 0 !important;
233
+ list-style: none;
234
+ padding: 0 !important;
235
+ }
236
+
237
+ .pts-moreinfo-list svg {
238
+ width: 1.6rem;
239
+ height: 1.6rem;
240
+ background-color: #6e3282;
241
+ border-radius: 50%;
242
+ padding: 0.4rem;
243
+ flex-shrink: 0;
244
+ margin-right: 1.6rem;
245
+ }
246
+
247
+ /* ---------- STEPPER ---------- */
248
+
249
+ .pts-stepper-container {
250
+ display: flex;
251
+ width: 100%;
252
+ margin-top: 2rem;
253
+ }
254
+
255
+ .pts-stepper-step {
256
+ display: flex;
257
+ flex-direction: column;
258
+ align-items: center;
259
+ flex: 1;
260
+ position: relative;
261
+ }
262
+
263
+ .pts-stepperDot {
264
+ width: 2.4rem;
265
+ height: 2.4rem;
266
+ line-height: 2.4rem;
267
+ font-size: 1.8rem;
268
+ background-color: #747474;
269
+ color: #ffffff;
270
+ border-radius: 50%;
271
+ margin-bottom: 1.2rem;
272
+ display: flex;
273
+ justify-content: center;
274
+ align-items: center;
275
+ }
276
+
277
+ .pts-stepperDotActive {
278
+ background-color: #dc7d0a;
279
+ }
280
+
281
+ .pts-stepperDotDone {
282
+ background-color: #6e3282;
283
+ }
284
+
285
+ .pts-stepper-step:not(:last-child)::after {
286
+ content: '';
287
+ position: absolute;
288
+ top: 1.2rem;
289
+ left: calc(50% + 3.6rem);
290
+ right: calc(-50% + 3.6rem);
291
+ height: 0.2rem;
292
+ background-color: #747474;
293
+ }
294
+
295
+ /* ---------- STEPPER BUTTON ---------- */
296
+
297
+ .pts-stepperButtons-container {
298
+ display: flex;
299
+ justify-content: end;
300
+ margin-right: 0.8rem;
301
+ }
302
+
303
+ .pts-forwardButton,
304
+ .pts-backButton {
305
+ background-color: #6e3282;
306
+ border: 2px solid #6e3282;
307
+ color: #ffffff;
308
+ padding: 8px 20px;
309
+ border-radius: 8px;
310
+ font-size: 16px;
311
+ cursor: pointer;
312
+ margin-left: 1.6rem;
313
+ }
314
+
315
+ .pts-backButton:focus,
316
+ .pts-backButton:hover,
317
+ .pts-forwardButton:focus,
318
+ .pts-forwardButton:hover,
319
+ .btn-upload:focus,
320
+ .btn-upload:hover {
321
+ background-color: #ffffff;
322
+ border: 2px solid #6e3282;
323
+ color: #6e3282;
324
+ transition: 0.2s;
325
+ }
326
+
327
+ /* ---------- RADIO MULTIPLE ---------- */
328
+
329
+ .pts-radioMultiple-container input[type='radio'] {
330
+ appearance: none;
331
+ width: 1.8rem;
332
+ height: 1.8rem;
333
+ border: 1.5px solid #545454;
334
+ border-radius: 3.1rem;
335
+ margin: 0;
336
+ margin-right: 0.8rem;
337
+ vertical-align: -2px;
338
+ position: relative;
339
+ cursor: pointer;
340
+ }
341
+
342
+ .pts-radioMultiple-container input[type='radio']:checked::before {
343
+ content: '';
344
+ position: absolute;
345
+ top: 50%;
346
+ left: 50%;
347
+ transform: translate(-50%, -50%);
348
+ width: 1rem;
349
+ height: 1rem;
350
+ border-radius: 50%;
351
+ background-color: #6e3282;
352
+ }
353
+
354
+ .pts-radioMultiple-container label {
355
+ position: relative;
356
+ top: -1px;
357
+ cursor: pointer;
358
+ }
359
+
360
+ /* ---------- MULTIPLE CHECKBOXES ---------- */
361
+
362
+ .pts-multipleCheckboxes-container input[type='checkbox'] {
363
+ -webkit-appearance: none;
364
+
365
+ width: 1.8rem;
366
+ height: 1.8rem;
367
+ margin-right: 0.8rem;
368
+ flex-shrink: 0;
369
+
370
+ background-color: #ffffff;
371
+ border: 0.15rem solid #545454;
372
+ border-radius: 0.2rem;
373
+
374
+ cursor: pointer;
375
+ }
376
+
377
+ .pts-multipleCheckboxes-container input[type='checkbox']:checked {
378
+ background-color: #6e3282;
379
+ border: none;
380
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;
381
+ }
382
+
383
+ .pts-multipleCheckboxes-container label {
384
+ cursor: pointer;
385
+ margin: 0;
386
+ padding-top: 0.1rem;
387
+ }
388
+
389
+ .pts-multipleCheckboxes-container ul {
390
+ padding-left: unset;
391
+ margin-top: 0;
392
+ margin-bottom: 0.8rem;
393
+ }
394
+
395
+ .pts-multipleCheckboxes-container li {
396
+ display: flex;
397
+ margin-bottom: 0.8rem;
398
+ align-items: center;
399
+ }
400
+
401
+ /* ---------- HEADER ---------- */
402
+
403
+ .pts-skipLink-container a {
404
+ position: absolute;
405
+ top: -1000px;
406
+ left: 1.8rem;
407
+ transition: top 0.3s ease-in-out;
408
+ background-color: #ffffff;
409
+ color: #6e3282;
410
+ }
411
+
412
+ .pts-skipLink-container a:focus {
413
+ top: 1.8rem;
414
+ }
415
+
416
+ .pts-header-container {
417
+ display: flex;
418
+ height: 80px;
419
+ padding: 0px 70px;
420
+ align-items: center;
421
+ justify-content: space-between;
422
+ background-color: #ffffff;
423
+ }
424
+
425
+ .pts-languageButton {
426
+ display: flex;
427
+ background: transparent;
428
+ border: transparent;
429
+ color: #6e3282;
430
+ }
431
+
432
+ /* ---------- FOOTER ---------- */
433
+
434
+ .pts-footer-container {
435
+ display: flex;
436
+ height: 14rem;
437
+ align-items: center;
438
+ width: 100%;
439
+ background-color: #200827;
440
+ }
441
+
442
+ .pts-footer-logo {
443
+ width: 154.444px;
444
+ height: 40px;
445
+ padding-left: 70px;
446
+ flex-shrink: 0;
447
+ position: absolute;
448
+ }
449
+
450
+ .pts-footer-linkList {
451
+ flex: 1;
452
+ justify-content: center;
453
+ }
454
+
455
+ .pts-footer-linkList ul {
456
+ padding: 0;
457
+ padding-top: 15px;
458
+ margin: 0;
459
+ list-style: none;
460
+ display: flex;
461
+ justify-content: center;
462
+ line-height: 25px;
463
+ }
464
+
465
+ .pts-footer-linkList a {
466
+ color: #ffffff;
467
+ text-underline-offset: 3px;
468
+ }
469
+
470
+ .pts-footer-linkList a span {
471
+ padding-left: 36px;
472
+ padding-right: 36px;
473
+ color: #ffffff;
474
+ }
475
+
476
+ .pts-footer-container .pts-footer-linkList ul li:not(:last-child)::after {
477
+ content: '';
478
+ width: 1px;
479
+ height: 24px;
480
+ border: 0.5px solid;
481
+ color: #ffffff;
482
+ position: absolute;
483
+ box-sizing: border-box;
484
+ }
485
+
486
+ /* ---------- TEXTFIELD / TEXTAREA ABOUT ---------- */
487
+
488
+ .pts-question-hasAbout label {
489
+ margin-bottom: 0.4rem;
490
+ line-height: 1.4rem;
491
+ }
492
+
493
+ .pts-about {
494
+ margin-bottom: 0.4rem;
495
+ color: #545454;
496
+ font-size: 1.4rem;
497
+ }
498
+
499
+ /* ---------- TEXTAREA ---------- */
500
+
501
+ .pts-textArea-container textarea {
502
+ height: 16rem;
503
+ padding: 1.2rem 1.6rem;
504
+ flex-shrink: 0;
505
+ font-family: arial;
506
+ font-size: 1.6rem;
507
+ border-radius: 8px;
508
+ border: 0.1px solid #545454;
509
+ }
510
+
511
+ .pts-textArea-container textarea:focus {
512
+ border: 0.2rem solid #6e3282;
513
+ }
514
+
515
+ .pts-textarea-counter-error-container {
516
+ display: flex;
517
+ }
518
+
519
+ .pts-character-counter {
520
+ text-align: right;
521
+ width: 100%;
522
+ margin-top: 0.4rem;
523
+ }
524
+
525
+ .pts-textarea-counter-error-container .pts-root-error {
526
+ width: 100%;
527
+ }
528
+
529
+ /* ---------- EDIT PREVIEW LINK ---------- */
530
+
531
+ .pts-editPreviewLink-container {
532
+ display: flex;
533
+ justify-content: end;
534
+ width: 100%;
535
+ margin-left: 1rem;
536
+ align-self: flex-start;
537
+ }
538
+
539
+ .pts-editPreviewLink-container button {
540
+ display: flex;
541
+ align-items: center;
542
+ background-color: transparent;
543
+ color: #6e3282;
544
+ border: none;
545
+ cursor: pointer;
546
+ font-size: 1.3rem;
547
+ gap: 0.2rem;
548
+ }
549
+
550
+ .pts-editPreviewLink-container svg {
551
+ height: 1.6rem;
552
+ width: 1.6rem;
553
+ flex-shrink: 0;
554
+ }
555
+
556
+ /* ---------- GRANSKA ---------- */
557
+
558
+ .pts-question-preview,
559
+ .addFilesPreviewContainer {
560
+ display: flex;
561
+ justify-content: space-between;
562
+ border-bottom: 1px solid #ddd;
563
+ margin-bottom: 24px;
564
+ margin-top: 0;
565
+ }
566
+
567
+ .pts-question-preview h3,
568
+ .addFilesPreviewContainer h3 {
569
+ margin-bottom: 8px;
570
+ width: 33%;
571
+ padding-right: 3.6rem;
572
+ }
573
+
574
+ .pts-root-answer,
575
+ .answer {
576
+ width: 66%;
577
+ margin-bottom: 8px;
578
+ }
579
+
580
+ .pts-root-answer ul {
581
+ margin: 0;
582
+ padding: 0;
583
+ }
584
+
585
+ .pts-root-answer li {
586
+ margin-bottom: 0.8rem;
587
+ }
588
+
589
+ .stepInfoText {
590
+ margin: 0;
591
+ margin-bottom: 36px;
592
+ }
593
+
594
+ .h3andPreviewLink {
595
+ display: flex;
596
+ align-items: center;
597
+ justify-content: space-between;
598
+ width: 100%;
599
+ }
600
+
601
+ #section-heading-0 {
602
+ width: 100%;
603
+ }
604
+
605
+ .no-answer-preview-page {
606
+ color: #545454;
607
+ }
608
+
609
+ .pts-preview-header {
610
+ display: flex;
611
+ justify-content: space-between;
612
+ align-items: baseline;
613
+ }
614
+
615
+ /* ---------- TEXT HEADLINE AND BODY / SERVICE HEADLINE AND BODY ---------- */
616
+
617
+ .pts-textHeadlineAndBody-container .notFirstInList {
618
+ margin-top: 0.8rem;
619
+ }
620
+
621
+ .pts-serviceHeadlineAndBody-container .notFirstInList {
622
+ margin-top: 0.8rem;
623
+ }
624
+
625
+ /* ---------- MODAL ---------- */
626
+
627
+ .pts-modal-overlay {
628
+ position: fixed;
629
+ top: 0;
630
+ left: 0;
631
+ width: 100%;
632
+ height: 100%;
633
+ background-color: rgba(0, 0, 0, 0.5);
634
+ display: flex;
635
+ align-items: center;
636
+ justify-content: center;
637
+ z-index: 999;
638
+ }
639
+
640
+ .pts-modal-content {
641
+ background: white;
642
+ color: black;
643
+ padding: 3.7rem;
644
+ border-radius: 4px;
645
+ max-width: 600px;
646
+ width: 90%;
647
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
648
+ }
649
+
650
+ .pts-spinner-border {
651
+ display: block;
652
+ width: 9.4rem;
653
+ height: 9.4rem;
654
+ margin: 0 auto 0 auto;
655
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='94' height='94' viewBox='0 0 94 94' fill='none'%3e%3cpath d='M47 11.75C66.4682 11.75 82.25 27.532 82.25 47C82.25 66.4682 66.4682 82.25 47 82.25C27.532 82.25 11.75 66.4682 11.75 47C11.75 27.532 27.532 11.75 47 11.75Z' stroke='%236E3282' stroke-opacity='0.25' stroke-width='7.83333' stroke-linecap='round'/%3e%3cpath d='M47 11.75C66.4682 11.75 82.25 27.532 82.25 47' stroke='%236E3282' stroke-width='7.83333' stroke-linecap='round'/%3e%3c/svg%3e");
656
+ background-size: contain;
657
+ background-repeat: no-repeat;
658
+ background-position: center;
659
+ animation: pts-spinner-border 0.75s linear infinite;
660
+ }
661
+
662
+ .pts-modal-content h1 {
663
+ margin: 0;
664
+ margin-bottom: 0.8rem;
665
+ }
666
+
667
+ .pts-modal-content p {
668
+ margin: 0;
669
+ margin-bottom: 3.6rem;
670
+ }
671
+
672
+ @keyframes pts-spinner-border {
673
+ 100% {
674
+ transform: rotate(360deg);
675
+ }
676
+ }
677
+
678
+ /* ---------- ERROR SUMMARY ---------- */
679
+
680
+ .pts-errorSummary-container {
681
+ padding: 1.6rem 2.4rem 1.6rem 2.4rem;
682
+ margin-top: 3.6rem;
683
+ border-radius: 0.8rem;
684
+ border: 0.1rem solid #8e0039;
685
+ border-left: 4rem solid #8e0039;
686
+ position: relative;
687
+ }
688
+
689
+ .pts-errorSummary-container .errorDot {
690
+ position: absolute;
691
+ top: 2.1rem;
692
+ left: -2.8rem;
693
+ width: 1.6rem;
694
+ height: 1.6rem;
695
+ border-radius: 50%;
696
+ background-color: #ffffff;
697
+ color: #8e0039;
698
+ align-items: center;
699
+ font-size: 1.4rem;
700
+ }
701
+
702
+ .pts-errorSummary-container h2 {
703
+ margin-bottom: 0;
704
+ }
705
+
706
+ .pts-errorSummary-container ul {
707
+ padding: 0;
708
+ margin: 0;
709
+ }
710
+
711
+ .pts-errorSummary-container li {
712
+ display: flex;
713
+ cursor: pointer;
714
+ padding-top: 1.6rem;
715
+ }
716
+
717
+ .errorSummary-text {
718
+ color: #8e0039;
719
+ }
720
+
721
+ /* ---------- FILE UPLOAD ---------- */
722
+ .files-upload {
723
+ width: 100%;
724
+ max-width: 800px;
725
+ margin: 0 auto;
726
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
727
+ }
728
+
729
+ /* Drop Zone */
730
+ .files-drop-zone {
731
+ border: 2px dashed #6e3282;
732
+ border-radius: 12px;
733
+ padding: 3rem 2rem;
734
+ text-align: center;
735
+ transition: all 0.3s ease;
736
+ background-color: #fafafa;
737
+ cursor: pointer;
738
+ position: relative;
739
+ overflow: hidden;
740
+ }
741
+
742
+ .files-drop-zone:hover {
743
+ border-color: #6e3282;
744
+ background-color: #f5ebf8;
745
+ transform: translateY(-2px);
746
+ box-shadow: 0 4px 12px rgba(220, 148, 253, 0.15);
747
+ }
748
+
749
+ .files-drop-zone.drag-active {
750
+ border-color: #6e3282;
751
+ background-color: #f5ebf8;
752
+ transform: scale(1.02);
753
+ box-shadow: 0 8px 25px rgba(30, 167, 253, 0.2);
754
+ }
755
+
756
+ .files-drop-zone:focus {
757
+ /* border-color: #6e3282;
758
+ background-color: #f5ebf8;
759
+ transform: translateY(-2px);
760
+ box-shadow: 0 4px 12px rgba(220, 148, 253, 0.15);
761
+ transform: translateY(-3px);
762
+
763
+ animation: focusPulse 1s ease-in-out infinite;
764
+ box-shadow: inset 0 0 0 4px #6e3282;
765
+
766
+ border: none; */
767
+ border: 0.2rem solid #6e3282;
768
+ }
769
+
770
+ .files-drop-zone:focus-visible {
771
+ outline-offset: 0 !important;
772
+ outline-style: solid !important;
773
+ outline-color: #fff !important;
774
+ outline-width: 2px !important;
775
+ box-shadow: 0 0 0 4px #000 !important;
776
+ }
777
+
778
+ .files-drop-content {
779
+ pointer-events: none;
780
+ }
781
+
782
+ .files-icon {
783
+ font-size: 4rem;
784
+ margin-bottom: 1rem;
785
+ opacity: 0.7;
786
+ animation: float 3s ease-in-out infinite;
787
+ }
788
+
789
+ @keyframes float {
790
+ 0%,
791
+ 100% {
792
+ transform: translateY(0px);
793
+ }
794
+ 50% {
795
+ transform: translateY(-10px);
796
+ }
797
+ }
798
+
799
+ .files-drop-text {
800
+ font-size: 1.2rem;
801
+ margin-bottom: 0.5rem;
802
+ color: #333;
803
+ font-weight: 500;
804
+ }
805
+
806
+ .files-drop-info {
807
+ font-size: 0.9rem;
808
+ color: #666;
809
+ margin: 0;
810
+ }
811
+
812
+ .files-allowed-types {
813
+ font-size: 0.85rem;
814
+ color: #555;
815
+ margin: 0.75rem 0 0 0;
816
+ padding: 0.5rem;
817
+ background-color: rgba(146, 64, 252, 0.1);
818
+ border-radius: 6px;
819
+ border-left: 3px solid #ce95e0;
820
+ }
821
+
822
+ .files-allowed-types strong {
823
+ color: #6e3282;
824
+ }
825
+
826
+ .files-input-hidden {
827
+ display: none;
828
+ }
829
+
830
+ /* Summary */
831
+ .files-summary {
832
+ margin: 1.5rem 0;
833
+ padding: 1rem;
834
+ background-color: #f8f9fa;
835
+ border-radius: 8px;
836
+ border: 1px solid #e9ecef;
837
+ }
838
+
839
+ .files-summary-stats {
840
+ display: flex;
841
+ gap: 1rem;
842
+ margin-bottom: 1rem;
843
+ flex-wrap: wrap;
844
+ }
845
+
846
+ .stat {
847
+ padding: 0.5rem 1rem;
848
+ border-radius: 20px;
849
+ background-color: #e9ecef;
850
+ font-size: 0.9rem;
851
+ display: flex;
852
+ align-items: center;
853
+ gap: 0.5rem;
854
+ }
855
+
856
+ .stat.pending {
857
+ background-color: #fff3cd;
858
+ color: #856404;
859
+ }
860
+
861
+ .stat.completed {
862
+ background-color: #d1e7dd;
863
+ color: #0a3622;
864
+ }
865
+
866
+ .stat.error {
867
+ background-color: #f8d7da;
868
+ color: #721c24;
869
+ }
870
+
871
+ .files-summary-actions {
872
+ display: flex;
873
+ gap: 0.5rem;
874
+ flex-wrap: wrap;
875
+ }
876
+
877
+ .action-button {
878
+ padding: 0.75rem 1.5rem;
879
+ border: none;
880
+ border-radius: 6px;
881
+ cursor: pointer;
882
+ font-weight: 500;
883
+ transition: all 0.2s ease;
884
+ display: flex;
885
+ align-items: center;
886
+ gap: 0.5rem;
887
+ }
888
+
889
+ .action-button.primary {
890
+ background-color: #1ea7fd;
891
+ color: white;
892
+ }
893
+
894
+ .action-button.primary:hover {
895
+ background-color: #1890ff;
896
+ transform: translateY(-1px);
897
+ }
898
+
899
+ .action-button.secondary {
900
+ background-color: #6c757d;
901
+ color: white;
902
+ }
903
+
904
+ .action-button.secondary:hover {
905
+ background-color: #5a6268;
906
+ transform: translateY(-1px);
907
+ }
908
+
909
+ /* Files List */
910
+ .files-list {
911
+ margin-top: 1.5rem;
912
+ }
913
+
914
+ .files-list h4 {
915
+ margin-bottom: 1rem;
916
+ color: #333;
917
+ font-size: 1.1rem;
918
+ font-weight: 600;
919
+ }
920
+
921
+ .files-items {
922
+ list-style: none;
923
+ padding: 0;
924
+ margin: 0;
925
+ }
926
+
927
+ .file-item {
928
+ display: flex;
929
+ align-items: center;
930
+ gap: 1rem;
931
+ padding: 1rem;
932
+ border: 1px solid #e9ecef;
933
+ border-radius: 8px;
934
+ margin-bottom: 0.75rem;
935
+ background-color: white;
936
+ transition: all 0.2s ease;
937
+ position: relative;
938
+ }
939
+
940
+ .file-item:hover {
941
+ background-color: #f8f9fa;
942
+ border-color: #dee2e6;
943
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
944
+ }
945
+
946
+ .file-item.uploading {
947
+ background-color: #e6f7ff;
948
+ border-color: #91d5ff;
949
+ }
950
+
951
+ .file-item.completed {
952
+ background-color: #f6ffed;
953
+ border-color: #b7eb8f;
954
+ }
955
+
956
+ .file-item.error {
957
+ background-color: #fff2f0;
958
+ border-color: #ffccc7;
959
+ }
960
+
961
+ .file-icon-status {
962
+ font-size: 1.5rem;
963
+ min-width: 2rem;
964
+ text-align: center;
965
+ }
966
+
967
+ .file-info {
968
+ flex: 1;
969
+ min-width: 0;
970
+ }
971
+
972
+ .file-name {
973
+ font-weight: 500;
974
+ color: #333;
975
+ margin-bottom: 0.5rem;
976
+ word-break: break-word;
977
+ }
978
+
979
+ .file-details {
980
+ display: flex;
981
+ gap: 1rem;
982
+ font-size: 0.85rem;
983
+ color: #666;
984
+ flex-wrap: wrap;
985
+ }
986
+
987
+ .file-size {
988
+ color: #666;
989
+ }
990
+
991
+ .file-status {
992
+ color: #1ea7fd;
993
+ font-weight: 500;
994
+ }
995
+
996
+ .file-error {
997
+ color: #dc3545;
998
+ font-weight: 500;
999
+ }
1000
+
1001
+ .progress-bar {
1002
+ width: 100%;
1003
+ height: 4px;
1004
+ background-color: #e9ecef;
1005
+ border-radius: 2px;
1006
+ margin-top: 0.5rem;
1007
+ overflow: hidden;
1008
+ }
1009
+
1010
+ .progress-fill {
1011
+ height: 100%;
1012
+ background-color: #1ea7fd;
1013
+ transition: width 0.3s ease;
1014
+ border-radius: 2px;
1015
+ }
1016
+
1017
+ .file-actions {
1018
+ display: flex;
1019
+ gap: 0.5rem;
1020
+ }
1021
+
1022
+ .action-btn {
1023
+ background: none;
1024
+ border: 1px solid transparent;
1025
+ padding: 0.5rem;
1026
+ border-radius: 6px;
1027
+ cursor: pointer;
1028
+ font-size: 1rem;
1029
+ transition: all 0.2s ease;
1030
+ min-width: 2.5rem;
1031
+ height: 2.5rem;
1032
+ display: flex;
1033
+ align-items: center;
1034
+ justify-content: center;
1035
+ }
1036
+
1037
+ .action-btn.upload {
1038
+ color: #1ea7fd;
1039
+ border-color: #1ea7fd;
1040
+ }
1041
+
1042
+ .action-btn.upload:hover {
1043
+ background-color: #1ea7fd;
1044
+ color: white;
1045
+ }
1046
+
1047
+ .action-btn.retry {
1048
+ color: #fd7e14;
1049
+ border-color: #fd7e14;
1050
+ }
1051
+
1052
+ .action-btn.retry:hover {
1053
+ background-color: #fd7e14;
1054
+ color: white;
1055
+ }
1056
+
1057
+ .action-btn.remove {
1058
+ color: #6e3282;
1059
+ border-color: #6e3282;
1060
+ }
1061
+
1062
+ .action-btn.remove:hover {
1063
+ background-color: #6e3282;
1064
+ color: white;
1065
+ }
1066
+
1067
+ /* Responsive Design */
1068
+ @media (max-width: 768px) {
1069
+ .files-drop-zone {
1070
+ padding: 2rem 1rem;
1071
+ }
1072
+
1073
+ .files-icon {
1074
+ font-size: 3rem;
1075
+ }
1076
+
1077
+ .files-drop-text {
1078
+ font-size: 1rem;
1079
+ }
1080
+
1081
+ .files-summary-stats {
1082
+ flex-direction: column;
1083
+ gap: 0.5rem;
1084
+ }
1085
+
1086
+ .files-summary-actions {
1087
+ flex-direction: column;
1088
+ }
1089
+
1090
+ .action-button {
1091
+ justify-content: center;
1092
+ }
1093
+
1094
+ .file-item {
1095
+ flex-direction: column;
1096
+ align-items: flex-start;
1097
+ gap: 0.75rem;
1098
+ }
1099
+
1100
+ .file-details {
1101
+ flex-direction: column;
1102
+ gap: 0.25rem;
1103
+ }
1104
+
1105
+ .file-actions {
1106
+ align-self: flex-end;
1107
+ }
1108
+ }
1109
+
1110
+ @media (max-width: 480px) {
1111
+ .files-upload {
1112
+ padding: 0 0.5rem;
1113
+ }
1114
+
1115
+ .files-drop-zone {
1116
+ padding: 1.5rem 1rem;
1117
+ }
1118
+
1119
+ .file-item {
1120
+ padding: 0.75rem;
1121
+ }
1122
+ }
1123
+
1124
+ /* ---------- END FILE UPLOAD ---------- */