strapi-plugin-magic-sessionmanager 4.4.1 → 4.4.3

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 (24) hide show
  1. package/README.md +5 -0
  2. package/dist/_chunks/{Analytics-sX94t6D9.mjs → Analytics-CQNEZTUR.mjs} +50 -57
  3. package/dist/_chunks/{Analytics-tOOj5T92.js → Analytics-DDcZzOJc.js} +50 -57
  4. package/dist/_chunks/{App-D4qVym6y.js → App-DmXHGW6v.js} +93 -123
  5. package/dist/_chunks/{App-Cs4KKd3L.mjs → App-GrZxgdsa.mjs} +93 -123
  6. package/dist/_chunks/{License-CN5YpqIu.mjs → License-DJ2szRWp.mjs} +9 -9
  7. package/dist/_chunks/{License-kfVcskd3.js → License-U8nciB7B.js} +9 -9
  8. package/dist/_chunks/{OnlineUsersWidget-ytykP_tA.mjs → OnlineUsersWidget--050_ZKf.mjs} +2 -2
  9. package/dist/_chunks/{OnlineUsersWidget-Cg3R7602.js → OnlineUsersWidget-JvbLXkDK.js} +2 -2
  10. package/dist/_chunks/{Settings-XloJ-aHl.mjs → Settings-BKE3rMNU.mjs} +55 -61
  11. package/dist/_chunks/{Settings-DVRIrGho.js → Settings-CvYIqeue.js} +55 -61
  12. package/dist/_chunks/{StyledButtons-fbNVRlMY.mjs → StyledButtons-HrcisfdR.mjs} +47 -47
  13. package/dist/_chunks/{StyledButtons-D2EbG_Zw.js → StyledButtons-UnlRhqip.js} +47 -47
  14. package/dist/_chunks/{UpgradePage-D2FRalDz.js → UpgradePage-CCIXYVW3.js} +14 -14
  15. package/dist/_chunks/{UpgradePage-C441wvPX.mjs → UpgradePage-D8dw2eU6.mjs} +14 -14
  16. package/dist/_chunks/{index-Ij0JRf9W.mjs → index-CLfOD-6A.mjs} +30 -30
  17. package/dist/_chunks/{index-DtBfKBne.js → index-DcU_ELxj.js} +30 -30
  18. package/dist/_chunks/{useLicense-DJEDGSap.mjs → useLicense-Bi6skBLw.mjs} +1 -1
  19. package/dist/_chunks/{useLicense-NCFYHpDd.js → useLicense-qbK401y8.js} +1 -1
  20. package/dist/admin/index.js +1 -1
  21. package/dist/admin/index.mjs +1 -1
  22. package/dist/server/index.js +1 -1
  23. package/dist/server/index.mjs +1 -1
  24. package/package.json +1 -1
@@ -3,43 +3,13 @@ import { useState, useEffect } from "react";
3
3
  import { useIntl } from "react-intl";
4
4
  import { useFetchClient, useNotification } from "@strapi/strapi/admin";
5
5
  import styled, { css, keyframes } from "styled-components";
6
- import { p as parseUserAgent, a as pluginId, g as getTranslation } from "./index-Ij0JRf9W.mjs";
6
+ import { p as parseUserAgent, a as pluginId, g as getTranslation } from "./index-CLfOD-6A.mjs";
7
7
  import { Modal, Flex, Box, Typography, Divider, Button, Loader, SingleSelect, SingleSelectOption, Thead, Tr, Th, Tbody, Td, Table, TextInput } from "@strapi/design-system";
8
8
  import { Check, Information, Monitor, Server, Clock, Cross, Earth, Shield, Crown, Phone, Download, User, Eye, Trash, Search, Key } from "@strapi/icons";
9
- import { u as useLicense } from "./useLicense-DJEDGSap.mjs";
10
- import { S as ShowHideButton, T as TertiaryButton, D as DangerButton, I as IconButtonPrimary, a as IconButtonWarning, b as IconButtonDanger } from "./StyledButtons-fbNVRlMY.mjs";
9
+ import { u as useLicense } from "./useLicense-Bi6skBLw.mjs";
10
+ import { S as ShowHideButton, T as TertiaryButton, D as DangerButton, I as IconButtonPrimary, a as IconButtonWarning, b as IconButtonDanger } from "./StyledButtons-HrcisfdR.mjs";
11
11
  import { useNavigate } from "react-router-dom";
12
12
  const theme = {
13
- colors: {
14
- primary: {
15
- 50: "#F0F9FF",
16
- 100: "#E0F2FE",
17
- 600: "#0284C7"
18
- },
19
- secondary: {
20
- 50: "#FAF5FF",
21
- 100: "#F3E8FF",
22
- 600: "#9333EA"
23
- },
24
- success: {
25
- 50: "#F0FDF4",
26
- 100: "#DCFCE7",
27
- 500: "#22C55E",
28
- 600: "#16A34A"
29
- },
30
- warning: {
31
- 50: "#FFFBEB",
32
- 100: "#FEF3C7",
33
- 500: "#F59E0B",
34
- 600: "#D97706"
35
- },
36
- danger: {
37
- 50: "#FEF2F2",
38
- 100: "#FEE2E2",
39
- 500: "#EF4444",
40
- 600: "#DC2626"
41
- }
42
- },
43
13
  shadows: {
44
14
  sm: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)",
45
15
  xl: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)"
@@ -77,10 +47,10 @@ const SectionTitle = styled(Typography)`
77
47
  letter-spacing: 0.5px;
78
48
  font-size: 11px;
79
49
  font-weight: 700;
80
- color: #374151;
50
+ color: var(--colors-neutral800);
81
51
  margin-bottom: 16px;
82
52
  padding-bottom: 8px;
83
- border-bottom: 2px solid #e5e7eb;
53
+ border-bottom: 2px solid rgba(128, 128, 128, 0.2);
84
54
  display: block;
85
55
  `;
86
56
  const Section = styled(Box)`
@@ -98,16 +68,16 @@ const ModalStatusBadge = styled.span`
98
68
  text-transform: uppercase;
99
69
 
100
70
  ${(props) => props.$online && `
101
- background: linear-gradient(135deg, #DCFCE7 0%, #BBF7D0 100%);
102
- color: #166534;
103
- border: 2px solid #86EFAC;
71
+ background: linear-gradient(135deg, rgba(22, 163, 74, 0.12) 0%, rgba(34, 197, 94, 0.3) 100%);
72
+ color: var(--colors-success600, #166534);
73
+ border: 2px solid rgba(34, 197, 94, 0.3);
104
74
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.2);
105
75
  `}
106
76
 
107
77
  ${(props) => !props.$online && `
108
- background: linear-gradient(135deg, #F3F4F6 0%, #E5E7EB 100%);
109
- color: #4B5563;
110
- border: 2px solid #D1D5DB;
78
+ background: linear-gradient(135deg, rgba(128, 128, 128, 0.08) 0%, rgba(128, 128, 128, 0.2) 100%);
79
+ color: var(--colors-neutral600);
80
+ border: 2px solid rgba(128, 128, 128, 0.2);
111
81
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
112
82
  `}
113
83
  `;
@@ -117,13 +87,13 @@ const StatusDot$1 = styled.span`
117
87
  border-radius: 50%;
118
88
 
119
89
  ${(props) => props.$online && `
120
- background: #22C55E;
90
+ background: var(--colors-success600, #22C55E);
121
91
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.6);
122
92
  animation: pulse-green 2s ease-in-out infinite;
123
93
  `}
124
94
 
125
95
  ${(props) => !props.$online && `
126
- background: #9CA3AF;
96
+ background: var(--colors-neutral500);
127
97
  `}
128
98
 
129
99
  @keyframes pulse-green {
@@ -239,7 +209,7 @@ const SessionDetailModal = ({ session, onClose, onSessionTerminated }) => {
239
209
  display: "flex",
240
210
  alignItems: "center",
241
211
  justifyContent: "center",
242
- background: "#f3f4f6",
212
+ background: "var(--colors-neutral100)",
243
213
  borderRadius: "8px",
244
214
  flexShrink: 0
245
215
  }, children: /* @__PURE__ */ jsx(Icon, { width: "18px", height: "18px" }) }),
@@ -254,7 +224,7 @@ const SessionDetailModal = ({ session, onClose, onSessionTerminated }) => {
254
224
  width: "48px",
255
225
  height: "48px",
256
226
  borderRadius: "12px",
257
- background: isOnline ? "#dcfce7" : "#f3f4f6",
227
+ background: isOnline ? "rgba(22, 163, 74, 0.12)" : "var(--colors-neutral100)",
258
228
  display: "flex",
259
229
  alignItems: "center",
260
230
  justifyContent: "center"
@@ -392,15 +362,15 @@ const SessionDetailModal = ({ session, onClose, onSessionTerminated }) => {
392
362
  {
393
363
  padding: 5,
394
364
  style: {
395
- background: "linear-gradient(135deg, #fef3c7 0%, #fed7aa 100%)",
365
+ background: "linear-gradient(135deg, rgba(234, 179, 8, 0.12) 0%, rgba(234, 179, 8, 0.25) 100%)",
396
366
  borderRadius: "12px",
397
- border: "2px solid #fbbf24",
367
+ border: "2px solid rgba(234, 179, 8, 0.4)",
398
368
  textAlign: "center"
399
369
  },
400
370
  children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "center", gap: 3, children: [
401
- /* @__PURE__ */ jsx(Crown, { style: { width: "40px", height: "40px", color: "#d97706" } }),
402
- /* @__PURE__ */ jsx(Typography, { variant: "beta", style: { color: "#92400e", fontWeight: "700" }, children: t("modal.premium.title", "Location and Security Analysis") }),
403
- /* @__PURE__ */ jsx(Typography, { variant: "omega", style: { color: "#78350f", fontSize: "14px", lineHeight: "1.6" }, children: t("modal.premium.description", "Unlock premium features to get IP geolocation, security scoring, and VPN/Proxy detection for every session") }),
371
+ /* @__PURE__ */ jsx(Crown, { style: { width: "40px", height: "40px", color: "var(--colors-warning600, #d97706)" } }),
372
+ /* @__PURE__ */ jsx(Typography, { variant: "beta", style: { color: "var(--colors-warning600, #92400e)", fontWeight: "700" }, children: t("modal.premium.title", "Location and Security Analysis") }),
373
+ /* @__PURE__ */ jsx(Typography, { variant: "omega", style: { color: "var(--colors-warning600, #78350f)", fontSize: "14px", lineHeight: "1.6" }, children: t("modal.premium.description", "Unlock premium features to get IP geolocation, security scoring, and VPN/Proxy detection for every session") }),
404
374
  /* @__PURE__ */ jsx(
405
375
  PremiumButton,
406
376
  {
@@ -498,8 +468,8 @@ const Container = styled(Box)`
498
468
  `;
499
469
  const Header = styled(Box)`
500
470
  background: linear-gradient(135deg,
501
- ${theme.colors.primary[600]} 0%,
502
- ${theme.colors.secondary[600]} 100%
471
+ ${"var(--colors-primary600, #0284C7)"} 0%,
472
+ ${"#9333EA"} 100%
503
473
  );
504
474
  border-radius: ${theme.borderRadius.xl};
505
475
  padding: ${theme.spacing.xl} ${theme.spacing["2xl"]};
@@ -598,7 +568,7 @@ const StatsGrid = styled.div`
598
568
  }
599
569
  `;
600
570
  const StatCard = styled(Box)`
601
- background: ${(props) => props.theme.colors.neutral0};
571
+ background: var(--colors-neutral0, white);
602
572
  border-radius: ${theme.borderRadius.lg};
603
573
  padding: 28px ${theme.spacing.lg};
604
574
  position: relative;
@@ -607,7 +577,7 @@ const StatCard = styled(Box)`
607
577
  ${css`animation: ${fadeIn$1} ${theme.transitions.slow} backwards;`}
608
578
  animation-delay: ${(props) => props.$delay || "0s"};
609
579
  box-shadow: ${theme.shadows.sm};
610
- border: 1px solid ${(props) => props.theme.colors.neutral200};
580
+ border: 1px solid rgba(128, 128, 128, 0.2);
611
581
  min-width: 200px;
612
582
  flex: 1;
613
583
  text-align: center;
@@ -628,7 +598,7 @@ const StatCard = styled(Box)`
628
598
  &:hover {
629
599
  transform: translateY(-6px);
630
600
  box-shadow: ${theme.shadows.xl};
631
- border-color: ${(props) => props.$color || props.theme.colors.primary600};
601
+ border-color: ${(props) => props.$color || "var(--colors-primary600, #0284C7)"};
632
602
 
633
603
  .stat-icon {
634
604
  transform: scale(1.15) rotate(5deg);
@@ -636,7 +606,7 @@ const StatCard = styled(Box)`
636
606
 
637
607
  .stat-value {
638
608
  transform: scale(1.08);
639
- color: ${(props) => props.$color || props.theme.colors.primary600};
609
+ color: ${(props) => props.$color || "var(--colors-primary600, #0284C7)"};
640
610
  }
641
611
  }
642
612
  `;
@@ -647,7 +617,7 @@ const StatIcon = styled(Box)`
647
617
  display: flex;
648
618
  align-items: center;
649
619
  justify-content: center;
650
- background: ${(props) => props.$bg || props.theme.colors.primary100};
620
+ background: ${(props) => props.$bg || "rgba(2, 132, 199, 0.12)"};
651
621
  transition: all ${theme.transitions.normal};
652
622
  margin: 0 auto 20px;
653
623
  box-shadow: ${theme.shadows.sm};
@@ -655,7 +625,7 @@ const StatIcon = styled(Box)`
655
625
  svg {
656
626
  width: 34px;
657
627
  height: 34px;
658
- color: ${(props) => props.$color || props.theme.colors.primary600};
628
+ color: ${(props) => props.$color || "var(--colors-primary600, #0284C7)"};
659
629
  }
660
630
 
661
631
  @media screen and (max-width: ${breakpoints.mobile}) {
@@ -672,7 +642,7 @@ const StatIcon = styled(Box)`
672
642
  const StatValue = styled(Typography)`
673
643
  font-size: 2.75rem;
674
644
  font-weight: 700;
675
- color: ${(props) => props.theme.colors.neutral800};
645
+ color: var(--colors-neutral800);
676
646
  line-height: 1;
677
647
  margin-bottom: 10px;
678
648
  transition: all ${theme.transitions.normal};
@@ -685,7 +655,7 @@ const StatValue = styled(Typography)`
685
655
  `;
686
656
  const StatLabel = styled(Typography)`
687
657
  font-size: 0.95rem;
688
- color: ${(props) => props.theme.colors.neutral600};
658
+ color: var(--colors-neutral600);
689
659
  font-weight: 500;
690
660
  letter-spacing: 0.025em;
691
661
  text-align: center;
@@ -695,21 +665,21 @@ const StatLabel = styled(Typography)`
695
665
  }
696
666
  `;
697
667
  const DataTable = styled(Box)`
698
- background: ${(props) => props.theme.colors.neutral0};
668
+ background: var(--colors-neutral0, white);
699
669
  border-radius: ${theme.borderRadius.lg};
700
670
  overflow: hidden;
701
671
  box-shadow: ${theme.shadows.sm};
702
- border: 1px solid ${(props) => props.theme.colors.neutral200};
672
+ border: 1px solid rgba(128, 128, 128, 0.2);
703
673
  margin-bottom: ${theme.spacing.xl};
704
674
  `;
705
675
  const StyledTable = styled(Table)`
706
676
  thead {
707
- background: ${(props) => props.theme.colors.neutral100};
708
- border-bottom: 2px solid ${(props) => props.theme.colors.neutral200};
677
+ background: var(--colors-neutral100);
678
+ border-bottom: 2px solid rgba(128, 128, 128, 0.2);
709
679
 
710
680
  th {
711
681
  font-weight: 600;
712
- color: ${(props) => props.theme.colors.neutral800};
682
+ color: var(--colors-neutral800);
713
683
  font-size: 0.875rem;
714
684
  text-transform: uppercase;
715
685
  letter-spacing: 0.025em;
@@ -719,14 +689,14 @@ const StyledTable = styled(Table)`
719
689
 
720
690
  tbody tr {
721
691
  transition: all ${theme.transitions.fast};
722
- border-bottom: 1px solid ${(props) => props.theme.colors.neutral150};
692
+ border-bottom: 1px solid rgba(128, 128, 128, 0.15);
723
693
 
724
694
  &:last-child {
725
695
  border-bottom: none;
726
696
  }
727
697
 
728
698
  &:hover {
729
- background: ${(props) => props.theme.colors.primary100};
699
+ background: rgba(2, 132, 199, 0.12);
730
700
 
731
701
  .action-buttons {
732
702
  opacity: 1;
@@ -735,7 +705,7 @@ const StyledTable = styled(Table)`
735
705
 
736
706
  td {
737
707
  padding: ${theme.spacing.lg} ${theme.spacing.lg};
738
- color: ${(props) => props.theme.colors.neutral800};
708
+ color: var(--colors-neutral800);
739
709
  vertical-align: middle;
740
710
  }
741
711
  }
@@ -744,18 +714,18 @@ styled.div`
744
714
  width: 10px;
745
715
  height: 10px;
746
716
  border-radius: 50%;
747
- background: ${(props) => props.$online ? theme.colors.success[500] : props.theme.colors.neutral400};
717
+ background: ${(props) => props.$online ? "var(--colors-success600, #22C55E)" : "rgba(128, 128, 128, 0.4)"};
748
718
  display: inline-block;
749
719
  margin-right: 8px;
750
720
  ${css`animation: ${(props) => props.$online ? pulse : "none"} 2s ease-in-out infinite;`}
751
721
  `;
752
722
  const FilterBar = styled(Flex)`
753
- background: ${(props) => props.theme.colors.neutral0};
723
+ background: var(--colors-neutral0, white);
754
724
  padding: ${theme.spacing.md} ${theme.spacing.lg};
755
725
  border-radius: ${theme.borderRadius.lg};
756
726
  margin-bottom: ${theme.spacing.lg};
757
727
  box-shadow: ${theme.shadows.sm};
758
- border: 1px solid ${(props) => props.theme.colors.neutral200};
728
+ border: 1px solid rgba(128, 128, 128, 0.2);
759
729
  gap: ${theme.spacing.md};
760
730
  align-items: center;
761
731
  `;
@@ -770,27 +740,27 @@ const SearchIcon = styled(Search)`
770
740
  left: 12px;
771
741
  width: 16px;
772
742
  height: 16px;
773
- color: ${(props) => props.theme.colors.neutral600};
743
+ color: var(--colors-neutral600);
774
744
  pointer-events: none;
775
745
  `;
776
746
  const StyledSearchInput = styled.input`
777
747
  width: 100%;
778
748
  padding: ${theme.spacing.sm} ${theme.spacing.sm} ${theme.spacing.sm} 36px;
779
- border: 1px solid ${(props) => props.theme.colors.neutral200};
749
+ border: 1px solid rgba(128, 128, 128, 0.2);
780
750
  border-radius: ${theme.borderRadius.md};
781
751
  font-size: 0.875rem;
782
752
  transition: all ${theme.transitions.fast};
783
- background: ${(props) => props.theme.colors.neutral0};
784
- color: ${(props) => props.theme.colors.neutral800};
753
+ background: var(--colors-neutral0, white);
754
+ color: var(--colors-neutral800);
785
755
 
786
756
  &:focus {
787
757
  outline: none;
788
- border-color: ${(props) => props.theme.colors.primary600};
789
- box-shadow: 0 0 0 3px ${(props) => props.theme.colors.primary100};
758
+ border-color: var(--colors-primary600, #0284C7);
759
+ box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.12);
790
760
  }
791
761
 
792
762
  &::placeholder {
793
- color: ${(props) => props.theme.colors.neutral500};
763
+ color: var(--colors-neutral500);
794
764
  }
795
765
  `;
796
766
  const ActionButtons = styled(Flex)`
@@ -812,27 +782,27 @@ const StatusBadge = styled.span`
812
782
  transition: all 0.2s ease;
813
783
 
814
784
  ${(props) => props.$status === "active" && `
815
- background: linear-gradient(135deg, #DCFCE7 0%, #BBF7D0 100%);
816
- color: #15803D;
817
- border: 1px solid #86EFAC;
785
+ background: linear-gradient(135deg, rgba(22, 163, 74, 0.12) 0%, rgba(34, 197, 94, 0.3) 100%);
786
+ color: var(--colors-success700, #15803D);
787
+ border: 1px solid rgba(34, 197, 94, 0.3);
818
788
  `}
819
789
 
820
790
  ${(props) => props.$status === "idle" && `
821
- background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
822
- color: #A16207;
823
- border: 1px solid #FCD34D;
791
+ background: linear-gradient(135deg, rgba(234, 179, 8, 0.12) 0%, rgba(234, 179, 8, 0.4) 100%);
792
+ color: var(--colors-warning600, #A16207);
793
+ border: 1px solid rgba(234, 179, 8, 0.4);
824
794
  `}
825
795
 
826
796
  ${(props) => props.$status === "loggedout" && `
827
- background: linear-gradient(135deg, #FEE2E2 0%, #FECACA 100%);
828
- color: #B91C1C;
829
- border: 1px solid #FCA5A5;
797
+ background: linear-gradient(135deg, rgba(220, 38, 38, 0.12) 0%, rgba(239, 68, 68, 0.4) 100%);
798
+ color: var(--colors-danger600, #B91C1C);
799
+ border: 1px solid rgba(239, 68, 68, 0.4);
830
800
  `}
831
801
 
832
802
  ${(props) => props.$status === "terminated" && `
833
- background: linear-gradient(135deg, #F3F4F6 0%, #E5E7EB 100%);
834
- color: #4B5563;
835
- border: 1px solid #D1D5DB;
803
+ background: linear-gradient(135deg, var(--colors-neutral100) 0%, rgba(128, 128, 128, 0.2) 100%);
804
+ color: var(--colors-neutral600);
805
+ border: 1px solid rgba(128, 128, 128, 0.2);
836
806
  `}
837
807
  `;
838
808
  const StatusDot = styled.span`
@@ -842,21 +812,21 @@ const StatusDot = styled.span`
842
812
  flex-shrink: 0;
843
813
 
844
814
  ${(props) => props.$status === "active" && `
845
- background: #22C55E;
815
+ background: var(--colors-success600, #22C55E);
846
816
  box-shadow: 0 0 6px rgba(34, 197, 94, 0.6);
847
817
  animation: pulse-green 2s ease-in-out infinite;
848
818
  `}
849
819
 
850
820
  ${(props) => props.$status === "idle" && `
851
- background: #F59E0B;
821
+ background: var(--colors-warning600, #F59E0B);
852
822
  `}
853
823
 
854
824
  ${(props) => props.$status === "loggedout" && `
855
- background: #EF4444;
825
+ background: var(--colors-danger600, #EF4444);
856
826
  `}
857
827
 
858
828
  ${(props) => props.$status === "terminated" && `
859
- background: #9CA3AF;
829
+ background: var(--colors-neutral500);
860
830
  `}
861
831
 
862
832
  @keyframes pulse-green {
@@ -868,13 +838,13 @@ const ClickableRow = styled(Tr)`
868
838
  cursor: pointer;
869
839
 
870
840
  &:hover {
871
- background: ${(props) => props.theme.colors.primary100} !important;
841
+ background: rgba(2, 132, 199, 0.12) !important;
872
842
  }
873
843
  `;
874
844
  styled(Box)`
875
- background: ${(props) => props.theme.colors.neutral0};
845
+ background: var(--colors-neutral0, white);
876
846
  border-radius: ${theme.borderRadius.xl};
877
- border: 2px dashed ${(props) => props.theme.colors.neutral300};
847
+ border: 2px dashed rgba(128, 128, 128, 0.3);
878
848
  padding: 80px 32px;
879
849
  text-align: center;
880
850
  position: relative;
@@ -890,7 +860,7 @@ styled.div`
890
860
  left: 0;
891
861
  right: 0;
892
862
  bottom: 0;
893
- background: linear-gradient(135deg, ${theme.colors.primary[50]} 0%, ${theme.colors.secondary[50]} 100%);
863
+ background: linear-gradient(135deg, ${"rgba(2, 132, 199, 0.06)"} 0%, ${"rgba(147, 51, 234, 0.06)"} 100%);
894
864
  opacity: 0.3;
895
865
  z-index: 0;
896
866
  `;
@@ -1151,28 +1121,28 @@ const HomePage = () => {
1151
1121
  ] })
1152
1122
  ] }) }),
1153
1123
  /* @__PURE__ */ jsxs(StatsGrid, { children: [
1154
- /* @__PURE__ */ jsxs(StatCard, { $delay: "0.1s", $color: theme.colors.success[500], children: [
1155
- /* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: theme.colors.success[100], $color: theme.colors.success[600], children: /* @__PURE__ */ jsx(Check, {}) }),
1124
+ /* @__PURE__ */ jsxs(StatCard, { $delay: "0.1s", $color: "var(--colors-success600, #22C55E)", children: [
1125
+ /* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "rgba(22, 163, 74, 0.12)", $color: "var(--colors-success600, #16A34A)", children: /* @__PURE__ */ jsx(Check, {}) }),
1156
1126
  /* @__PURE__ */ jsx(StatValue, { className: "stat-value", children: activeSessions.length }),
1157
1127
  /* @__PURE__ */ jsx(StatLabel, { children: t("homepage.stats.active", "Active") })
1158
1128
  ] }),
1159
- /* @__PURE__ */ jsxs(StatCard, { $delay: "0.2s", $color: theme.colors.warning[500], children: [
1160
- /* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: theme.colors.warning[100], $color: theme.colors.warning[600], children: /* @__PURE__ */ jsx(Clock, {}) }),
1129
+ /* @__PURE__ */ jsxs(StatCard, { $delay: "0.2s", $color: "var(--colors-warning600, #F59E0B)", children: [
1130
+ /* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "rgba(234, 179, 8, 0.12)", $color: "var(--colors-warning600, #D97706)", children: /* @__PURE__ */ jsx(Clock, {}) }),
1161
1131
  /* @__PURE__ */ jsx(StatValue, { className: "stat-value", children: idleSessions.length }),
1162
1132
  /* @__PURE__ */ jsx(StatLabel, { children: t("homepage.stats.idle", "Idle") })
1163
1133
  ] }),
1164
- /* @__PURE__ */ jsxs(StatCard, { $delay: "0.3s", $color: theme.colors.danger[500], children: [
1165
- /* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: theme.colors.danger[100], $color: theme.colors.danger[600], children: /* @__PURE__ */ jsx(Cross, {}) }),
1134
+ /* @__PURE__ */ jsxs(StatCard, { $delay: "0.3s", $color: "var(--colors-danger600, #EF4444)", children: [
1135
+ /* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "rgba(220, 38, 38, 0.12)", $color: "var(--colors-danger600, #DC2626)", children: /* @__PURE__ */ jsx(Cross, {}) }),
1166
1136
  /* @__PURE__ */ jsx(StatValue, { className: "stat-value", children: loggedOutSessions.length }),
1167
1137
  /* @__PURE__ */ jsx(StatLabel, { children: t("homepage.stats.loggedOut", "Logged Out") })
1168
1138
  ] }),
1169
- /* @__PURE__ */ jsxs(StatCard, { $delay: "0.4s", $color: "#4B5563", children: [
1170
- /* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "#F3F4F6", $color: "#4B5563", children: /* @__PURE__ */ jsx(Cross, {}) }),
1139
+ /* @__PURE__ */ jsxs(StatCard, { $delay: "0.4s", $color: "var(--colors-neutral600)", children: [
1140
+ /* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "var(--colors-neutral100)", $color: "var(--colors-neutral600)", children: /* @__PURE__ */ jsx(Cross, {}) }),
1171
1141
  /* @__PURE__ */ jsx(StatValue, { className: "stat-value", children: terminatedSessions.length }),
1172
1142
  /* @__PURE__ */ jsx(StatLabel, { children: t("homepage.stats.terminated", "Terminated") })
1173
1143
  ] }),
1174
1144
  /* @__PURE__ */ jsxs(StatCard, { $delay: "0.5s", $color: "#A855F7", children: [
1175
- /* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "#EDE9FE", $color: "#9333EA", children: /* @__PURE__ */ jsx(User, {}) }),
1145
+ /* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "rgba(147, 51, 234, 0.12)", $color: "#9333EA", children: /* @__PURE__ */ jsx(User, {}) }),
1176
1146
  /* @__PURE__ */ jsx(StatValue, { className: "stat-value", children: sessions.length }),
1177
1147
  /* @__PURE__ */ jsx(StatLabel, { children: t("homepage.stats.total", "Total") })
1178
1148
  ] })
@@ -1242,26 +1212,26 @@ const HomePage = () => {
1242
1212
  const sessionStatus = getSessionStatus(session);
1243
1213
  const statusConfig = {
1244
1214
  active: {
1245
- bg: theme.colors.success[50],
1215
+ bg: "rgba(22, 163, 74, 0.06)",
1246
1216
  badgeColor: "success600",
1247
1217
  label: t("homepage.status.active", "Active"),
1248
1218
  indicator: true
1249
1219
  },
1250
1220
  idle: {
1251
- bg: theme.colors.warning[50],
1221
+ bg: "rgba(234, 179, 8, 0.06)",
1252
1222
  badgeColor: "warning600",
1253
1223
  label: t("homepage.status.idle", "Idle"),
1254
1224
  indicator: false
1255
1225
  },
1256
1226
  loggedout: {
1257
- bg: theme.colors.danger[50],
1227
+ bg: "rgba(220, 38, 38, 0.06)",
1258
1228
  badgeColor: "danger600",
1259
1229
  label: t("homepage.status.loggedOut", "Logged Out"),
1260
1230
  indicator: false,
1261
1231
  opacity: 0.7
1262
1232
  },
1263
1233
  terminated: {
1264
- bg: "#F3F4F6",
1234
+ bg: "var(--colors-neutral100)",
1265
1235
  badgeColor: "neutral600",
1266
1236
  label: t("homepage.status.terminated", "Terminated"),
1267
1237
  indicator: false,
@@ -1352,7 +1322,7 @@ const HomePage = () => {
1352
1322
  background: "neutral0",
1353
1323
  style: {
1354
1324
  borderRadius: theme.borderRadius.xl,
1355
- border: "2px dashed #E5E7EB",
1325
+ border: "2px dashed rgba(128, 128, 128, 0.2)",
1356
1326
  padding: "60px 32px",
1357
1327
  textAlign: "center",
1358
1328
  position: "relative",
@@ -1372,7 +1342,7 @@ const HomePage = () => {
1372
1342
  left: 0,
1373
1343
  right: 0,
1374
1344
  bottom: 0,
1375
- background: `linear-gradient(135deg, ${theme.colors.primary[50]} 0%, ${theme.colors.secondary[50]} 100%)`,
1345
+ background: `linear-gradient(135deg, ${"rgba(2, 132, 199, 0.06)"} 0%, ${"rgba(147, 51, 234, 0.06)"} 100%)`,
1376
1346
  opacity: 0.3,
1377
1347
  zIndex: 0
1378
1348
  }
@@ -1387,13 +1357,13 @@ const HomePage = () => {
1387
1357
  width: "100px",
1388
1358
  height: "100px",
1389
1359
  borderRadius: "50%",
1390
- background: `linear-gradient(135deg, ${theme.colors.primary[100]} 0%, ${theme.colors.secondary[100]} 100%)`,
1360
+ background: `linear-gradient(135deg, ${"rgba(2, 132, 199, 0.12)"} 0%, ${"rgba(147, 51, 234, 0.12)"} 100%)`,
1391
1361
  display: "flex",
1392
1362
  alignItems: "center",
1393
1363
  justifyContent: "center",
1394
1364
  boxShadow: theme.shadows.xl
1395
1365
  },
1396
- children: /* @__PURE__ */ jsx(Search, { style: { width: "50px", height: "50px", color: "#0284C7" } })
1366
+ children: /* @__PURE__ */ jsx(Search, { style: { width: "50px", height: "50px", color: "var(--colors-primary600, #0284C7)" } })
1397
1367
  }
1398
1368
  ),
1399
1369
  /* @__PURE__ */ jsx(
@@ -1434,7 +1404,7 @@ const HomePage = () => {
1434
1404
  background: "neutral0",
1435
1405
  style: {
1436
1406
  borderRadius: theme.borderRadius.xl,
1437
- border: "2px dashed #E5E7EB",
1407
+ border: "2px dashed rgba(128, 128, 128, 0.2)",
1438
1408
  padding: "80px 32px",
1439
1409
  textAlign: "center",
1440
1410
  position: "relative",
@@ -1454,7 +1424,7 @@ const HomePage = () => {
1454
1424
  left: 0,
1455
1425
  right: 0,
1456
1426
  bottom: 0,
1457
- background: `linear-gradient(135deg, ${theme.colors.primary[50]} 0%, ${theme.colors.secondary[50]} 100%)`,
1427
+ background: `linear-gradient(135deg, ${"rgba(2, 132, 199, 0.06)"} 0%, ${"rgba(147, 51, 234, 0.06)"} 100%)`,
1458
1428
  opacity: 0.3,
1459
1429
  zIndex: 0
1460
1430
  }
@@ -1468,13 +1438,13 @@ const HomePage = () => {
1468
1438
  width: "120px",
1469
1439
  height: "120px",
1470
1440
  borderRadius: "50%",
1471
- background: `linear-gradient(135deg, ${theme.colors.primary[100]} 0%, ${theme.colors.secondary[100]} 100%)`,
1441
+ background: `linear-gradient(135deg, ${"rgba(2, 132, 199, 0.12)"} 0%, ${"rgba(147, 51, 234, 0.12)"} 100%)`,
1472
1442
  display: "flex",
1473
1443
  alignItems: "center",
1474
1444
  justifyContent: "center",
1475
1445
  boxShadow: theme.shadows.xl
1476
1446
  },
1477
- children: /* @__PURE__ */ jsx(Monitor, { style: { width: "60px", height: "60px", color: "#0284C7" } })
1447
+ children: /* @__PURE__ */ jsx(Monitor, { style: { width: "60px", height: "60px", color: "var(--colors-primary600, #0284C7)" } })
1478
1448
  }
1479
1449
  ),
1480
1450
  /* @__PURE__ */ jsx(
@@ -1547,7 +1517,7 @@ const ModalOverlay = styled.div`
1547
1517
  padding: 20px;
1548
1518
  `;
1549
1519
  const ModalContent = styled(Box)`
1550
- background: white;
1520
+ background: var(--colors-neutral0, white);
1551
1521
  border-radius: 16px;
1552
1522
  width: 100%;
1553
1523
  max-width: 580px;
@@ -1862,7 +1832,7 @@ const LicenseGuard = ({ children }) => {
1862
1832
  padding: 4,
1863
1833
  style: {
1864
1834
  borderRadius: "8px",
1865
- border: "2px solid #BAE6FD",
1835
+ border: "2px solid rgba(14, 165, 233, 0.3)",
1866
1836
  width: "100%"
1867
1837
  },
1868
1838
  children: /* @__PURE__ */ jsx(Typography, { variant: "omega", style: { fontSize: "13px", lineHeight: "1.6" }, children: useExistingKey ? "Enter your email and license key to activate." : useAutoCreate && adminUser && adminUser.email ? `Click "Activate" to auto-create a license with your account (${adminUser.email})` : useAutoCreate ? 'Click "Activate" to auto-create a license with your admin account' : "A license will be created with the details below." })
@@ -1926,11 +1896,11 @@ const LicenseGuard = ({ children }) => {
1926
1896
  padding: 5,
1927
1897
  style: {
1928
1898
  borderRadius: "8px",
1929
- border: "2px solid #DCFCE7",
1899
+ border: "2px solid rgba(34, 197, 94, 0.3)",
1930
1900
  textAlign: "center"
1931
1901
  },
1932
1902
  children: [
1933
- /* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "bold", style: { marginBottom: "12px", display: "block" }, children: "Ready to activate with your account:" }),
1903
+ /* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "bold", style: { marginBottom: "12px", display: "block" }, children: "Ready to activate with your account" }),
1934
1904
  /* @__PURE__ */ jsxs(Typography, { variant: "pi", style: { marginBottom: "4px", display: "block" }, children: [
1935
1905
  adminUser.firstname || "Admin",
1936
1906
  " ",