@visns-studio/visns-components 5.10.11 → 5.11.2

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.
Files changed (55) hide show
  1. package/README.md +85 -0
  2. package/package.json +7 -7
  3. package/src/components/cms/DataGrid.jsx +8 -8
  4. package/src/components/cms/DropZone.jsx +1 -1
  5. package/src/components/cms/Form.jsx +1 -1
  6. package/src/components/cms/Gallery.jsx +1 -1
  7. package/src/components/cms/sorting/Item.jsx +1 -1
  8. package/src/components/crm/Autocomplete.jsx +3 -3
  9. package/src/components/crm/Breadcrumb.jsx +4 -4
  10. package/src/components/crm/BusinessCardOcr.jsx +681 -95
  11. package/src/components/crm/DataGrid.jsx +34 -32
  12. package/src/components/crm/Field.jsx +12 -12
  13. package/src/components/crm/Form.jsx +2 -2
  14. package/src/components/crm/Navigation.jsx +11 -11
  15. package/src/components/crm/Notification.jsx +2 -2
  16. package/src/components/crm/QuickAction.jsx +3 -3
  17. package/src/components/crm/SectionHeader.jsx +1 -1
  18. package/src/components/crm/SwitchAccount.jsx +4 -4
  19. package/src/components/crm/auth/ClientLogin.jsx +2 -2
  20. package/src/components/crm/auth/ClientOTPVerify.jsx +2 -2
  21. package/src/components/crm/auth/Login.jsx +3 -3
  22. package/src/components/crm/auth/Reset.jsx +2 -2
  23. package/src/components/crm/auth/TwoFactorAuth.jsx +2 -2
  24. package/src/components/crm/columns/ColumnRenderers.jsx +320 -259
  25. package/src/components/crm/controls/DataGridSearch.jsx +5 -5
  26. package/src/components/crm/generic/AlternativeActionModal.jsx +100 -0
  27. package/src/components/crm/generic/ContactSelectorModal.jsx +423 -0
  28. package/src/components/crm/generic/DatePickerDialog.jsx +302 -0
  29. package/src/components/crm/generic/DateRangeSelectorModal.jsx +181 -0
  30. package/src/components/crm/generic/GenericClientPortal.jsx +1 -1
  31. package/src/components/crm/generic/GenericDashboard.jsx +4 -4
  32. package/src/components/crm/generic/GenericDetail.jsx +6 -6
  33. package/src/components/crm/generic/GenericDynamic.jsx +3 -3
  34. package/src/components/crm/generic/GenericEditableTable.jsx +4 -4
  35. package/src/components/crm/generic/GenericFormBuilder.jsx +6 -6
  36. package/src/components/crm/generic/GenericGrid.jsx +2888 -0
  37. package/src/components/crm/generic/GenericIndex.jsx +5 -1255
  38. package/src/components/crm/generic/GenericReport.jsx +966 -646
  39. package/src/components/crm/generic/GenericReportForm.jsx +194 -0
  40. package/src/components/crm/generic/NotificationList.jsx +1 -1
  41. package/src/components/crm/generic/ReasonCollectorModal.jsx +194 -0
  42. package/src/components/crm/generic/SortableQuoteItems.jsx +3 -3
  43. package/src/components/crm/generic/shared/formatters.js +231 -0
  44. package/src/components/crm/generic/shared/gridUtils.js +194 -0
  45. package/src/components/crm/generic/styles/AlternativeActionModal.css +127 -0
  46. package/src/components/crm/generic/styles/ContactSelectorModal.css +367 -0
  47. package/src/components/crm/generic/styles/DatePickerDialog.css +84 -0
  48. package/src/components/crm/generic/styles/DateRangeSelectorModal.css +115 -0
  49. package/src/components/crm/generic/styles/GenericIndex.module.scss +382 -0
  50. package/src/components/crm/generic/styles/GenericReport.module.scss +96 -0
  51. package/src/components/crm/generic/styles/ReasonCollectorModal.css +217 -0
  52. package/src/components/crm/modals/GalleryModal.jsx +2 -2
  53. package/src/components/crm/sorting/Item.jsx +3 -3
  54. package/src/components/crm/styles/BusinessCardOcr.module.scss +197 -4
  55. package/src/index.js +4 -0
@@ -0,0 +1,84 @@
1
+ /* Compact Date Picker Dialog Styles */
2
+ .date-picker-dialog {
3
+ max-width: 90vw !important;
4
+ width: auto !important;
5
+ min-width: 300px !important;
6
+ box-sizing: border-box !important;
7
+ }
8
+
9
+ .date-picker-content {
10
+ overflow: hidden !important;
11
+ word-wrap: break-word !important;
12
+ max-width: 100% !important;
13
+ padding: 0 !important;
14
+ }
15
+
16
+ .date-picker-dialog .swal2-html-container {
17
+ max-width: 100% !important;
18
+ overflow: hidden !important;
19
+ margin: 0 !important;
20
+ padding: 0.5rem 0 !important;
21
+ }
22
+
23
+ .date-picker-dialog .swal2-title {
24
+ font-size: 1.1rem !important;
25
+ margin-bottom: 0.5rem !important;
26
+ padding: 0 !important;
27
+ }
28
+
29
+ .date-picker-dialog #swal-date-input {
30
+ width: 100% !important;
31
+ max-width: 100% !important;
32
+ box-sizing: border-box !important;
33
+ padding: 8px 10px !important;
34
+ border: 1px solid #d1d5db !important;
35
+ border-radius: 4px !important;
36
+ font-size: 13px !important;
37
+ font-family: inherit !important;
38
+ background-color: #ffffff !important;
39
+ outline: none !important;
40
+ transition: border-color 0.2s ease !important;
41
+ margin: 0 !important;
42
+ display: block !important;
43
+ overflow: hidden !important;
44
+ height: 34px !important;
45
+ }
46
+
47
+ .date-picker-dialog #swal-date-input:focus {
48
+ border-color: #4f46e5 !important;
49
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1) !important;
50
+ }
51
+
52
+ .date-picker-dialog #swal-date-input:hover {
53
+ border-color: #9ca3af !important;
54
+ }
55
+
56
+ /* Compact responsive adjustments */
57
+ @media (max-width: 480px) {
58
+ .date-picker-dialog {
59
+ width: 95vw !important;
60
+ max-width: 95vw !important;
61
+ min-width: 280px !important;
62
+ margin: 10px !important;
63
+ }
64
+
65
+ .date-picker-dialog #swal-date-input {
66
+ padding: 8px 10px !important;
67
+ font-size: 16px !important; /* Prevents zoom on iOS */
68
+ height: 36px !important;
69
+ }
70
+
71
+ .date-picker-dialog .swal2-title {
72
+ font-size: 1rem !important;
73
+ }
74
+ }
75
+
76
+ /* Fix for SweetAlert2 default input styles that might conflict */
77
+ .date-picker-dialog .swal2-input.swal2-inputerror {
78
+ border-color: #dc2626 !important;
79
+ }
80
+
81
+ .date-picker-dialog .swal2-input.swal2-inputerror:focus {
82
+ border-color: #dc2626 !important;
83
+ box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1) !important;
84
+ }
@@ -0,0 +1,115 @@
1
+ /* Date Range Selector Modal Styles */
2
+ .date-range-selector-modal {
3
+ text-align: center;
4
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
5
+ }
6
+
7
+ .date-range-message {
8
+ margin-bottom: 20px;
9
+ color: #4a5568;
10
+ font-size: 16px;
11
+ line-height: 1.5;
12
+ }
13
+
14
+ .date-range-inputs {
15
+ display: flex;
16
+ flex-direction: column;
17
+ gap: 15px;
18
+ margin: 20px 0;
19
+ }
20
+
21
+ .date-input-group {
22
+ display: flex;
23
+ flex-direction: column;
24
+ text-align: left;
25
+ }
26
+
27
+ .date-input-label {
28
+ font-weight: 600;
29
+ color: #2d3748;
30
+ margin-bottom: 5px;
31
+ font-size: 14px;
32
+ }
33
+
34
+ .date-range-input {
35
+ padding: 12px 16px;
36
+ border: 2px solid #e2e8f0;
37
+ border-radius: 8px;
38
+ font-size: 16px;
39
+ transition: all 0.2s ease;
40
+ background-color: #ffffff;
41
+ color: #2d3748;
42
+ width: 100%;
43
+ box-sizing: border-box;
44
+ }
45
+
46
+ .date-range-input:focus {
47
+ outline: none;
48
+ border-color: #4299e1;
49
+ box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1);
50
+ }
51
+
52
+ .date-range-input:hover {
53
+ border-color: #cbd5e0;
54
+ }
55
+
56
+ .date-range-input:invalid {
57
+ border-color: #e53e3e;
58
+ }
59
+
60
+ /* SweetAlert2 custom classes */
61
+ .date-range-swal-container {
62
+ z-index: 10000;
63
+ }
64
+
65
+ .date-range-swal-popup {
66
+ border-radius: 12px;
67
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
68
+ }
69
+
70
+ .date-range-swal-content {
71
+ padding: 20px;
72
+ }
73
+
74
+ .date-range-swal-confirm {
75
+ background-color: #4299e1 !important;
76
+ border: none !important;
77
+ border-radius: 8px !important;
78
+ font-weight: 600 !important;
79
+ padding: 12px 24px !important;
80
+ font-size: 14px !important;
81
+ }
82
+
83
+ .date-range-swal-confirm:hover {
84
+ background-color: #3182ce !important;
85
+ }
86
+
87
+ .date-range-swal-cancel {
88
+ background-color: #e2e8f0 !important;
89
+ color: #4a5568 !important;
90
+ border: none !important;
91
+ border-radius: 8px !important;
92
+ font-weight: 600 !important;
93
+ padding: 12px 24px !important;
94
+ font-size: 14px !important;
95
+ }
96
+
97
+ .date-range-swal-cancel:hover {
98
+ background-color: #cbd5e0 !important;
99
+ }
100
+
101
+ /* Responsive design */
102
+ @media (max-width: 640px) {
103
+ .date-range-inputs {
104
+ gap: 12px;
105
+ }
106
+
107
+ .date-range-input {
108
+ padding: 10px 12px;
109
+ font-size: 16px; /* Prevent zoom on iOS */
110
+ }
111
+
112
+ .date-input-label {
113
+ font-size: 13px;
114
+ }
115
+ }
@@ -405,6 +405,51 @@
405
405
  }
406
406
  }
407
407
 
408
+ .multiselectContainer {
409
+ min-width: 200px;
410
+ }
411
+
412
+ // Override MultiSelect component styles to match our filter theme
413
+ :global(.react-select__control) {
414
+ border: 1px solid rgba(var(--primary-rgb, 0, 123, 255), 0.2) !important;
415
+ border-radius: 4px !important;
416
+ font-size: 0.85rem !important;
417
+ min-height: 34px !important;
418
+
419
+ &:hover {
420
+ border-color: rgba(var(--primary-rgb, 0, 123, 255), 0.4) !important;
421
+ }
422
+ }
423
+
424
+ :global(.react-select__control--is-focused) {
425
+ border-color: var(--primary-color, #007bff) !important;
426
+ box-shadow: 0 0 0 2px rgba(var(--primary-rgb, 0, 123, 255), 0.15) !important;
427
+ }
428
+
429
+ :global(.react-select__placeholder) {
430
+ font-size: 0.85rem !important;
431
+ color: rgba(var(--paragraph-rgb, 33, 37, 41), 0.6) !important;
432
+ }
433
+
434
+ :global(.react-select__multi-value) {
435
+ background-color: rgba(var(--primary-rgb, 0, 123, 255), 0.1) !important;
436
+ border-radius: 3px !important;
437
+ }
438
+
439
+ :global(.react-select__multi-value__label) {
440
+ color: var(--primary-color, #007bff) !important;
441
+ font-size: 0.8rem !important;
442
+ }
443
+
444
+ :global(.react-select__multi-value__remove) {
445
+ color: var(--primary-color, #007bff) !important;
446
+
447
+ &:hover {
448
+ background-color: var(--primary-color, #007bff) !important;
449
+ color: white !important;
450
+ }
451
+ }
452
+
408
453
  .clearFiltersButton {
409
454
  padding: 6px 12px;
410
455
  border-radius: 4px;
@@ -527,6 +572,37 @@
527
572
  max-width: 120px;
528
573
  display: inline-block;
529
574
  }
575
+ }
576
+
577
+ /* Date with contacts display */
578
+ .dateWithContacts {
579
+ display: flex;
580
+ flex-direction: column;
581
+ gap: 4px;
582
+ min-width: 140px;
583
+ }
584
+
585
+ .dateValue {
586
+ font-weight: 500;
587
+ color: var(--paragraph-color, #212529);
588
+ font-size: 0.9rem;
589
+ }
590
+
591
+ .contactsSummary {
592
+ font-size: 0.75rem;
593
+ color: var(--primary-color, #007bff);
594
+ background-color: rgba(var(--primary-rgb, 0, 123, 255), 0.1);
595
+ padding: 2px 6px;
596
+ border-radius: 12px;
597
+ display: flex;
598
+ align-items: center;
599
+ gap: 4px;
600
+ width: fit-content;
601
+ cursor: help;
602
+
603
+ &:hover {
604
+ background-color: rgba(var(--primary-rgb, 0, 123, 255), 0.2);
605
+ }
530
606
 
531
607
  &[data-type='datetime'] {
532
608
  min-width: 160px;
@@ -645,3 +721,309 @@
645
721
  color: rgba(var(--paragraph-color-rgb), 0.65);
646
722
  }
647
723
  }
724
+
725
+ // Enhanced Contact Tooltip Styles
726
+ .contactTooltip {
727
+ background: white;
728
+ border: 1px solid rgba(0, 0, 0, 0.1);
729
+ border-radius: 8px;
730
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
731
+ padding: 0;
732
+ min-width: 250px;
733
+ max-width: 350px;
734
+ font-size: 0.875rem;
735
+ line-height: 1.4;
736
+ position: relative;
737
+ animation: tooltipFadeIn 0.2s ease-out;
738
+ }
739
+
740
+ @keyframes tooltipFadeIn {
741
+ from {
742
+ opacity: 0;
743
+ transform: translateX(-50%) translateY(-100%) scale(0.95);
744
+ }
745
+ to {
746
+ opacity: 1;
747
+ transform: translateX(-50%) translateY(-100%) scale(1);
748
+ }
749
+ }
750
+
751
+ .contactTooltipHeader {
752
+ background: var(--primary-color, #007bff);
753
+ color: white;
754
+ padding: 8px 12px;
755
+ border-radius: 7px 7px 0 0;
756
+ font-size: 0.8rem;
757
+ font-weight: 600;
758
+ text-align: center;
759
+ }
760
+
761
+ .contactTooltipBody {
762
+ padding: 0;
763
+ max-height: 200px;
764
+ overflow-y: auto;
765
+ }
766
+
767
+ .contactTooltipItem {
768
+ padding: 10px 12px;
769
+ border-bottom: 1px solid rgba(0, 0, 0, 0.05);
770
+
771
+ &:last-child {
772
+ border-bottom: none;
773
+ }
774
+
775
+ &:hover {
776
+ background-color: rgba(var(--primary-rgb, 0, 123, 255), 0.03);
777
+ }
778
+ }
779
+
780
+ .contactName {
781
+ font-weight: 600;
782
+ color: var(--paragraph-color, #212529);
783
+ margin-bottom: 2px;
784
+ }
785
+
786
+ .contactEmail {
787
+ color: var(--primary-color, #007bff);
788
+ font-size: 0.8rem;
789
+ margin-bottom: 4px;
790
+ word-break: break-all;
791
+ }
792
+
793
+ .contactType {
794
+ font-size: 0.75rem;
795
+ color: var(--secondary-color, #6c757d);
796
+ text-transform: uppercase;
797
+ letter-spacing: 0.5px;
798
+ font-weight: 500;
799
+ }
800
+
801
+ .contactTooltipArrow {
802
+ position: absolute;
803
+ bottom: -6px;
804
+ left: 50%;
805
+ transform: translateX(-50%);
806
+ width: 0;
807
+ height: 0;
808
+ border-left: 6px solid transparent;
809
+ border-right: 6px solid transparent;
810
+ border-top: 6px solid white;
811
+
812
+ &::before {
813
+ content: '';
814
+ position: absolute;
815
+ bottom: 1px;
816
+ left: -7px;
817
+ width: 0;
818
+ height: 0;
819
+ border-left: 7px solid transparent;
820
+ border-right: 7px solid transparent;
821
+ border-top: 7px solid rgba(0, 0, 0, 0.1);
822
+ }
823
+ }
824
+
825
+ /* Status with Reason Styles */
826
+ .statusWithReason {
827
+ display: flex;
828
+ flex-direction: column;
829
+ align-items: flex-start;
830
+ gap: 4px;
831
+ }
832
+
833
+ .statusValue {
834
+ font-weight: 600;
835
+ font-size: 14px;
836
+ display: flex;
837
+ align-items: center;
838
+ gap: 6px;
839
+ }
840
+
841
+ .statusReason {
842
+ font-size: 12px;
843
+ color: #6b7280;
844
+ font-style: italic;
845
+ padding: 2px 6px;
846
+ background-color: #f3f4f6;
847
+ border-radius: 4px;
848
+ max-width: 200px;
849
+ word-wrap: break-word;
850
+ line-height: 1.3;
851
+ }
852
+
853
+ /* Date Range Styles */
854
+ .dateRange {
855
+ display: flex;
856
+ flex-direction: column;
857
+ align-items: flex-start;
858
+ gap: 2px;
859
+ }
860
+
861
+ .dateRangeDisplay {
862
+ font-size: 14px;
863
+ color: #374151;
864
+ font-weight: 500;
865
+ }
866
+
867
+ /* Enhanced Date with Contacts (reusing existing) */
868
+ .dateWithContacts {
869
+ display: flex;
870
+ flex-direction: column;
871
+ align-items: flex-start;
872
+ gap: 4px;
873
+ }
874
+
875
+ .dateValue {
876
+ font-size: 14px;
877
+ font-weight: 500;
878
+ color: #374151;
879
+ }
880
+
881
+ .contactsSummary {
882
+ font-size: 12px;
883
+ color: #6b7280;
884
+ padding: 2px 6px;
885
+ background-color: #f0f9ff;
886
+ border: 1px solid #bae6fd;
887
+ border-radius: 12px;
888
+ cursor: pointer;
889
+ transition: all 0.2s ease;
890
+
891
+ &:hover {
892
+ background-color: #e0f2fe;
893
+ border-color: #7dd3fc;
894
+ transform: scale(1.02);
895
+ }
896
+ }
897
+
898
+ /* Responsive adjustments for new components */
899
+ @media (max-width: 768px) {
900
+ .statusWithReason {
901
+ gap: 2px;
902
+ }
903
+
904
+ .statusValue {
905
+ font-size: 13px;
906
+ }
907
+
908
+ .statusReason {
909
+ font-size: 11px;
910
+ max-width: 150px;
911
+ }
912
+
913
+ .dateRangeDisplay {
914
+ font-size: 13px;
915
+ }
916
+
917
+ .contactsSummary {
918
+ font-size: 11px;
919
+ padding: 1px 4px;
920
+ }
921
+
922
+ .quarterStatusContainer {
923
+ gap: 2px;
924
+ }
925
+
926
+ .quarterDate,
927
+ .quarterNotSent {
928
+ font-size: 13px;
929
+ }
930
+
931
+ .quarterContactsBadge,
932
+ .quarterReasonBadge {
933
+ font-size: 11px;
934
+ padding: 1px 4px;
935
+ }
936
+ }
937
+
938
+ /* Quarter Status Styles */
939
+ .quarterStatusContainer {
940
+ display: flex;
941
+ flex-direction: column;
942
+ align-items: flex-start;
943
+ gap: 4px;
944
+ min-height: 40px;
945
+ }
946
+
947
+ .quarterDate {
948
+ font-size: 14px;
949
+ font-weight: 500;
950
+ color: #059669;
951
+ display: flex;
952
+ align-items: center;
953
+ gap: 4px;
954
+ }
955
+
956
+ .quarterNotSent {
957
+ font-size: 14px;
958
+ font-weight: 500;
959
+ color: #dc2626;
960
+ display: flex;
961
+ align-items: center;
962
+ gap: 4px;
963
+ }
964
+
965
+ .quarterContactsBadge {
966
+ font-size: 12px;
967
+ color: #1d4ed8;
968
+ background-color: #dbeafe;
969
+ border: 1px solid #93c5fd;
970
+ border-radius: 12px;
971
+ padding: 2px 8px;
972
+ cursor: pointer;
973
+ transition: all 0.2s ease;
974
+ white-space: nowrap;
975
+
976
+ &:hover {
977
+ background-color: #bfdbfe;
978
+ border-color: #60a5fa;
979
+ transform: scale(1.02);
980
+ }
981
+ }
982
+
983
+ .quarterReasonBadge {
984
+ font-size: 12px;
985
+ color: #b45309;
986
+ background-color: #fef3c7;
987
+ border: 1px solid #fbbf24;
988
+ border-radius: 12px;
989
+ padding: 2px 8px;
990
+ cursor: pointer;
991
+ transition: all 0.2s ease;
992
+ white-space: nowrap;
993
+ max-width: 200px;
994
+ word-wrap: break-word;
995
+
996
+ &:hover {
997
+ background-color: #fde68a;
998
+ border-color: #f59e0b;
999
+ transform: scale(1.02);
1000
+ }
1001
+ }
1002
+
1003
+ /* Quarter Cell Tooltip Styles */
1004
+ .quarterCellWithTooltip {
1005
+ cursor: help;
1006
+ display: inline-flex;
1007
+ align-items: center;
1008
+ gap: 4px;
1009
+ transition: all 0.2s ease;
1010
+
1011
+ &:hover {
1012
+ transform: scale(1.02);
1013
+ filter: brightness(1.1);
1014
+ }
1015
+ }
1016
+
1017
+ /* Global tooltip styles for quarter cells */
1018
+ :global(.quarter-cell-with-tooltip) {
1019
+ cursor: help;
1020
+ display: inline-flex;
1021
+ align-items: center;
1022
+ gap: 2px;
1023
+ transition: all 0.2s ease;
1024
+
1025
+ &:hover {
1026
+ transform: scale(1.02);
1027
+ filter: brightness(1.1);
1028
+ }
1029
+ }
@@ -2629,3 +2629,99 @@
2629
2629
  }
2630
2630
  }
2631
2631
  }
2632
+
2633
+ // Enhanced Help Modal CSS
2634
+ :global(.comprehensive-help-modal) {
2635
+ border-radius: 12px !important;
2636
+
2637
+ .swal2-title {
2638
+ font-size: 1.5rem !important;
2639
+ font-weight: 600 !important;
2640
+ margin-bottom: 1rem !important;
2641
+ }
2642
+
2643
+ // Custom scrollable content for help modal
2644
+ .swal2-html-container.help-content-scrollable {
2645
+ max-height: 70vh !important;
2646
+ overflow-y: auto !important;
2647
+ padding: 0 1rem !important;
2648
+ margin: 0 !important;
2649
+
2650
+ // Custom scrollbar styling
2651
+ &::-webkit-scrollbar {
2652
+ width: 6px;
2653
+ }
2654
+
2655
+ &::-webkit-scrollbar-track {
2656
+ background: #f1f5f9;
2657
+ border-radius: 3px;
2658
+ }
2659
+
2660
+ &::-webkit-scrollbar-thumb {
2661
+ background: #cbd5e1;
2662
+ border-radius: 3px;
2663
+
2664
+ &:hover {
2665
+ background: #94a3b8;
2666
+ }
2667
+ }
2668
+ }
2669
+
2670
+ // Action buttons styling
2671
+ .swal2-actions {
2672
+ gap: 0.75rem !important;
2673
+
2674
+ .swal2-confirm {
2675
+ font-weight: 600 !important;
2676
+ border-radius: 8px !important;
2677
+ padding: 0.75rem 1.5rem !important;
2678
+ font-size: 0.9rem !important;
2679
+ }
2680
+
2681
+ .swal2-cancel {
2682
+ font-weight: 500 !important;
2683
+ border-radius: 8px !important;
2684
+ padding: 0.75rem 1.5rem !important;
2685
+ font-size: 0.9rem !important;
2686
+ }
2687
+
2688
+ .swal2-deny {
2689
+ font-weight: 400 !important;
2690
+ border-radius: 8px !important;
2691
+ padding: 0.75rem 1rem !important;
2692
+ font-size: 0.85rem !important;
2693
+ opacity: 0.8;
2694
+
2695
+ &:hover {
2696
+ opacity: 1;
2697
+ }
2698
+ }
2699
+ }
2700
+
2701
+ // Responsive design for smaller screens
2702
+ @media (max-width: 768px) {
2703
+ width: 95% !important;
2704
+
2705
+ .swal2-html-container.help-content-scrollable {
2706
+ font-size: 12px !important;
2707
+ line-height: 1.4 !important;
2708
+ padding: 0 0.5rem !important;
2709
+ }
2710
+
2711
+ .swal2-title {
2712
+ font-size: 1.25rem !important;
2713
+ }
2714
+
2715
+ .swal2-actions {
2716
+ flex-direction: column !important;
2717
+ gap: 0.5rem !important;
2718
+
2719
+ .swal2-confirm,
2720
+ .swal2-cancel,
2721
+ .swal2-deny {
2722
+ width: 100% !important;
2723
+ margin: 0 !important;
2724
+ }
2725
+ }
2726
+ }
2727
+ }