dolphincss 1.0.1 → 1.0.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.
- package/MainCss/badge.css +22 -0
- package/MainCss/card.css +17 -0
- package/MainCss/chartCard.css +146 -0
- package/MainCss/darkVariable.css +9 -0
- package/MainCss/form.css +202 -0
- package/MainCss/global.css +249 -0
- package/MainCss/glow.css +108 -0
- package/MainCss/gradient.css +13 -0
- package/MainCss/icon.css +41 -0
- package/MainCss/kpi.css +27 -0
- package/MainCss/layout.css +32 -0
- package/MainCss/nav.css +39 -0
- package/MainCss/radio.css +0 -0
- package/MainCss/size.css +6 -0
- package/MainCss/table.css +29 -0
- package/MainCss/variable.css +61 -0
- package/dolphin-css.css +2 -0
- package/package.json +8 -5
- package/src/App.jsx +100 -16
- package/src/dolphin-css/App.css +18 -0
- package/src/dolphin-css/index.css +1 -0
- package/src/main.jsx +1 -1
- package/vite.config.js +23 -4
- package/dist/dolphin-css.css +0 -1
- package/dist/index.html +0 -14
- package/dist/index.js +0 -49
- package/src/App.css +0 -362
- package/src/index.css +0 -29
package/MainCss/glow.css
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/* ===== Global Glowing Effects ===== */
|
|
2
|
+
.glow {
|
|
3
|
+
--glow-color: var(--color-primary);
|
|
4
|
+
--glow-intensity: 0.2;
|
|
5
|
+
--glow-spread: 15px;
|
|
6
|
+
--glow-blur: 8px;
|
|
7
|
+
@apply transition-all duration-300;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Glow on hover */
|
|
11
|
+
.glow:hover {
|
|
12
|
+
box-shadow: 0 0 var(--glow-spread) var(--glow-blur) color-mix(in oklch, var(--glow-color) calc(var(--glow-intensity) * 100%), transparent);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Glow on focus */
|
|
16
|
+
.glow:focus {
|
|
17
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--glow-color) 20%, transparent);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* Color variants */
|
|
21
|
+
.glow.primary {
|
|
22
|
+
--glow-color: var(--color-primary);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.glow.secondary {
|
|
26
|
+
--glow-color: var(--color-secondary);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.glow.success {
|
|
30
|
+
--glow-color: var(--color-success);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.glow.warning {
|
|
34
|
+
--glow-color: var(--color-warning);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.glow.danger {
|
|
38
|
+
--glow-color: var(--color-danger);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.glow.info {
|
|
42
|
+
--glow-color: var(--color-info);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* Intensity variants */
|
|
46
|
+
.glow.strong {
|
|
47
|
+
--glow-intensity: 0.4;
|
|
48
|
+
--glow-spread: 25px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.glow.subtle {
|
|
52
|
+
--glow-intensity: 0.15;
|
|
53
|
+
--glow-spread: 10px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* Pulsing glow */
|
|
57
|
+
.glow.pulse {
|
|
58
|
+
animation: dolphin-glow-pulse 3s ease-in-out infinite;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@keyframes dolphin-glow-pulse {
|
|
62
|
+
0%, 100% {
|
|
63
|
+
box-shadow: 0 0 5px 2px color-mix(in oklch, var(--glow-color) 15%, transparent);
|
|
64
|
+
}
|
|
65
|
+
50% {
|
|
66
|
+
box-shadow: 0 0 20px 8px color-mix(in oklch, var(--glow-color) 25%, transparent);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/* Wave glow */
|
|
71
|
+
.glow.wave {
|
|
72
|
+
animation: ocean-wave 4s ease-in-out infinite;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@keyframes ocean-wave {
|
|
76
|
+
0%, 100% {
|
|
77
|
+
box-shadow:
|
|
78
|
+
0 0 10px 3px color-mix(in oklch, var(--color-primary) 20%, transparent),
|
|
79
|
+
0 0 20px 6px color-mix(in oklch, var(--color-info) 15%, transparent);
|
|
80
|
+
}
|
|
81
|
+
50% {
|
|
82
|
+
box-shadow:
|
|
83
|
+
0 0 15px 5px color-mix(in oklch, var(--color-primary) 25%, transparent),
|
|
84
|
+
0 0 25px 8px color-mix(in oklch, var(--color-info) 20%, transparent);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* For inputs, we want to override the focus glow if the input has the glow class */
|
|
89
|
+
.floatinglabel-input.glow:focus {
|
|
90
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, var(--glow-color) 20%, transparent);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* Ensure that the glow effect is not applied to disabled elements */
|
|
94
|
+
.glow:disabled {
|
|
95
|
+
box-shadow: none !important;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/* Responsive glow - reduce on mobile */
|
|
99
|
+
@media (max-width: 768px) {
|
|
100
|
+
.glow:hover {
|
|
101
|
+
--glow-spread: 12px;
|
|
102
|
+
--glow-blur: 6px;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.glow:focus {
|
|
106
|
+
box-shadow: 0 0 0 2px color-mix(in oklch, var(--glow-color) 20%, transparent);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
/* ===== Gradient Background ===== */
|
|
3
|
+
@layer components {
|
|
4
|
+
.gradient-bg {
|
|
5
|
+
@apply transition-all duration-500 rounded-md bg-no-repeat text-(--color-text);
|
|
6
|
+
background-size: 200% 200%;
|
|
7
|
+
}
|
|
8
|
+
.gradient-bg.primary { background-image: var(--gradient-primary) !important; }
|
|
9
|
+
.gradient-bg.success { background-image: var(--gradient-success) !important; }
|
|
10
|
+
.gradient-bg.warning { background-image: var(--gradient-warning) !important; }
|
|
11
|
+
.gradient-bg.danger { background-image: var(--gradient-danger) !important; }
|
|
12
|
+
.gradient-bg.info { background-image: var(--gradient-info) !important; }
|
|
13
|
+
}
|
package/MainCss/icon.css
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/* Inputs with left icon */
|
|
2
|
+
@layer components {
|
|
3
|
+
.input-icon-left {
|
|
4
|
+
@apply relative w-full;
|
|
5
|
+
}
|
|
6
|
+
.input-icon-left > svg {
|
|
7
|
+
@apply absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-(--color-text-muted);
|
|
8
|
+
}
|
|
9
|
+
.input-icon-left > input,
|
|
10
|
+
.input-icon-left > select {
|
|
11
|
+
@apply w-full pl-10 pr-3 py-2 rounded-md transition-all duration-200;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* Inputs with right icon */
|
|
15
|
+
.input-icon-right {
|
|
16
|
+
@apply relative w-full;
|
|
17
|
+
}
|
|
18
|
+
.input-icon-right > svg {
|
|
19
|
+
@apply absolute right-3 top-1/2 -translate-y-1/2 w-5 h-5 text-(--color-text-muted);
|
|
20
|
+
}
|
|
21
|
+
.input-icon-right > input,
|
|
22
|
+
.input-icon-right > select {
|
|
23
|
+
@apply w-full pl-3 pr-10 py-2 rounded-md transition-all duration-200;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* Buttons with left icon */
|
|
27
|
+
.button-icon-left {
|
|
28
|
+
@apply relative inline-flex items-center justify-center gap-2;
|
|
29
|
+
}
|
|
30
|
+
.button-icon-left > svg {
|
|
31
|
+
@apply w-5 h-5;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* Buttons with right icon */
|
|
35
|
+
.button-icon-right {
|
|
36
|
+
@apply relative inline-flex items-center justify-center gap-2;
|
|
37
|
+
}
|
|
38
|
+
.button-icon-right > svg {
|
|
39
|
+
@apply w-5 h-5 order-last;
|
|
40
|
+
}
|
|
41
|
+
}
|
package/MainCss/kpi.css
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* ===== KPI Card System ===== */
|
|
2
|
+
@layer components {
|
|
3
|
+
.kpi-card {
|
|
4
|
+
@apply flex items-center justify-between p-4 rounded-xl shadow-md transition-all duration-300 hover:shadow-xl bg-(--color-surface) text-(--color-text);
|
|
5
|
+
}
|
|
6
|
+
.kpi-card .kpi-text { @apply flex flex-col; }
|
|
7
|
+
.kpi-card .kpi-text .kpi-title { @apply text-sm text-(--color-text-muted); }
|
|
8
|
+
.kpi-card .kpi-text .kpi-value { @apply text-2xl font-bold text-(--color-text); }
|
|
9
|
+
.kpi-card .kpi-text .kpi-change { @apply text-sm font-medium mt-1; }
|
|
10
|
+
.kpi-card .kpi-text .kpi-change.positive { @apply text-(--color-success); }
|
|
11
|
+
.kpi-card .kpi-text .kpi-change.negative { @apply text-(--color-danger); }
|
|
12
|
+
.kpi-card .kpi-chart {
|
|
13
|
+
@apply w-16 h-16 rounded-xl flex items-center justify-center transition-all duration-300 shadow-inner bg-(--color-primary) text-(--color-text);
|
|
14
|
+
position: relative;
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
}
|
|
17
|
+
.kpi-card .kpi-chart::before {
|
|
18
|
+
content: '';
|
|
19
|
+
@apply absolute bottom-1 left-1 w-[calc(100%-0.5rem)] h-1/2 bg-gradient-to-r from-(--color-gradient-start) to-(--color-gradient-end) rounded-sm;
|
|
20
|
+
}
|
|
21
|
+
.kpi-card:hover .kpi-chart { @apply shadow-lg; }
|
|
22
|
+
@media (max-width: 768px) {
|
|
23
|
+
.kpi-card { @apply flex-col items-start gap-3; }
|
|
24
|
+
.kpi-card .kpi-chart { @apply w-12 h-12; }
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
|
|
2
|
+
/* ===== Layout System ===== */
|
|
3
|
+
@layer components {
|
|
4
|
+
.row { @apply flex flex-wrap gap-4; }
|
|
5
|
+
.col { @apply flex-1 min-w-[200px]; }
|
|
6
|
+
.col-1 { @apply flex-[1_1_8%]; }
|
|
7
|
+
.col-2 { @apply flex-[1_1_16%]; }
|
|
8
|
+
.col-3 { @apply flex-[1_1_25%]; }
|
|
9
|
+
.col-4 { @apply flex-[1_1_33%]; }
|
|
10
|
+
.col-5 { @apply flex-[1_1_41%]; }
|
|
11
|
+
.col-6 { @apply flex-[1_1_50%]; }
|
|
12
|
+
.col-7 { @apply flex-[1_1_58%]; }
|
|
13
|
+
.col-8 { @apply flex-[1_1_66%]; }
|
|
14
|
+
.col-9 { @apply flex-[1_1_75%]; }
|
|
15
|
+
.col-10 { @apply flex-[1_1_83%]; }
|
|
16
|
+
.col-11 { @apply flex-[1_1_91%]; }
|
|
17
|
+
.col-12 { @apply flex-[1_1_100%]; }
|
|
18
|
+
@media (max-width: 1024px) {
|
|
19
|
+
.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
|
|
20
|
+
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12 { @apply flex-[1_1_45%]; }
|
|
21
|
+
}
|
|
22
|
+
@media (max-width: 768px) {
|
|
23
|
+
.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
|
|
24
|
+
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12 { @apply flex-[1_1_100%]; }
|
|
25
|
+
}
|
|
26
|
+
.gap-0 { @apply gap-0; }
|
|
27
|
+
.gap-1 { @apply gap-1; }
|
|
28
|
+
.gap-2 { @apply gap-2; }
|
|
29
|
+
.gap-3 { @apply gap-3; }
|
|
30
|
+
.gap-4 { @apply gap-4; }
|
|
31
|
+
.gap-5 { @apply gap-5; }
|
|
32
|
+
}
|
package/MainCss/nav.css
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/* ===== Navigation System ===== */
|
|
2
|
+
@layer components {
|
|
3
|
+
.nav-container {
|
|
4
|
+
@apply w-full flex items-center justify-between px-4 py-3 bg-(--color-surface) shadow-md transition-all duration-200;
|
|
5
|
+
}
|
|
6
|
+
.nav-brand { @apply text-lg font-bold text-(--color-text) select-none; }
|
|
7
|
+
.nav-ul { @apply flex gap-4 list-none m-0 p-0; }
|
|
8
|
+
.nav-ul-left { @apply flex-1 flex items-center; }
|
|
9
|
+
.nav-ul-right { @apply flex gap-4 items-center; }
|
|
10
|
+
.nav-li { @apply relative cursor-pointer transition-colors duration-200; }
|
|
11
|
+
.nav-li a {
|
|
12
|
+
@apply px-3 py-2 rounded-md text-(--color-text) hover:bg-(--color-primary) hover:text-(--color-text) transition-all duration-200;
|
|
13
|
+
}
|
|
14
|
+
.nav-li.active a { @apply bg-(--color-primary) text-(--color-text); }
|
|
15
|
+
.nav-dropdown {
|
|
16
|
+
@apply absolute top-full left-0 mt-1 bg-(--color-surface) shadow-lg rounded-md min-w-[8rem] opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50;
|
|
17
|
+
}
|
|
18
|
+
.nav-dropdown li {
|
|
19
|
+
@apply px-4 py-2 whitespace-nowrap hover:bg-(--color-primary) hover:text-(--color-text);
|
|
20
|
+
}
|
|
21
|
+
.nav-toggle { @apply block md:hidden cursor-pointer p-2 rounded-md hover:bg-(--color-border) transition-all duration-200; }
|
|
22
|
+
.nav-mobile { @apply hidden flex-col gap-2 mt-2 md:hidden; }
|
|
23
|
+
.nav-mobile.show { @apply flex; }
|
|
24
|
+
.nav-search-container { @apply relative flex items-center w-full max-w-xs transition-all duration-300; }
|
|
25
|
+
.nav-search-input {
|
|
26
|
+
@apply w-full pl-10 pr-10 py-2 rounded-full bg-(--color-surface) border border-(--color-border) text-(--color-text) focus:outline-none focus:ring-2 focus:ring-(--color-primary) focus:border-transparent transition-all duration-300 placeholder:text-(--color-text-muted);
|
|
27
|
+
}
|
|
28
|
+
.nav-search-icon {
|
|
29
|
+
@apply absolute left-3 top-1/2 -translate-y-1/2 text-(--color-text-muted) w-5 h-5;
|
|
30
|
+
}
|
|
31
|
+
.nav-search-clear {
|
|
32
|
+
@apply absolute right-3 top-1/2 -translate-y-1/2 text-(--color-text-muted) w-5 h-5 cursor-pointer opacity-0 transition-opacity duration-200 hover:text-(--color-primary);
|
|
33
|
+
}
|
|
34
|
+
.nav-search-input:not(:placeholder-shown) + .nav-search-clear { @apply opacity-100; }
|
|
35
|
+
@media (max-width: 768px) {
|
|
36
|
+
.nav-search-container { @apply max-w-full mt-2; }
|
|
37
|
+
.nav-search-input { @apply py-1.5 text-sm; }
|
|
38
|
+
}
|
|
39
|
+
}
|
|
File without changes
|
package/MainCss/size.css
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*===== Table System ===== */
|
|
2
|
+
@layer components {
|
|
3
|
+
.table {
|
|
4
|
+
@apply w-full border-collapse transition-all duration-200 text-(--color-text);
|
|
5
|
+
}
|
|
6
|
+
.table th, .table td {
|
|
7
|
+
@apply px-4 py-2 border border-(--color-border) text-left font-medium transition-all duration-200;
|
|
8
|
+
}
|
|
9
|
+
.table.filled th, .table.filled td { background-color: var(--color-surface); color: var(--color-text); }
|
|
10
|
+
.table.outlined th, .table.outlined td {
|
|
11
|
+
@apply border-2 border-(--color-border) bg-transparent text-(--color-text);
|
|
12
|
+
}
|
|
13
|
+
.table.primary.filled th, .table.primary.filled td { background-color: var(--color-primary); color: var(--color-text); border-color: var(--color-primary); }
|
|
14
|
+
.table.secondary.filled th, .table.secondary.filled td { background-color: var(--color-secondary); color: var(--color-text); border-color: var(--color-secondary); }
|
|
15
|
+
.table.success.filled th, .table.success.filled td { background-color: var(--color-success); color: var(--color-text); border-color: var(--color-success); }
|
|
16
|
+
.table.warning.filled th, .table.warning.filled td { background-color: var(--color-warning); color: var(--color-text); border-color: var(--color-warning); }
|
|
17
|
+
.table.danger.filled th, .table.danger.filled td { background-color: var(--color-danger); color: var(--color-text); border-color: var(--color-danger); }
|
|
18
|
+
.table.info.filled th, .table.info.filled td { background-color: var(--color-info); color: var(--color-text); border-color: var(--color-info); }
|
|
19
|
+
.table.striped tbody tr:nth-child(even) { background-color: color-mix(in oklch, var(--color-surface), 10% oklch(0% 0 0)); }
|
|
20
|
+
.table tbody tr:hover { opacity: 0.95; }
|
|
21
|
+
.table.filled.primary tbody tr:hover { background-color: color-mix(in oklch, var(--color-primary), 10% oklch(0% 0 0)); }
|
|
22
|
+
.table.filled.success tbody tr:hover { background-color: color-mix(in oklch, var(--color-success), 10% oklch(0% 0 0)); }
|
|
23
|
+
.table.filled.warning tbody tr:hover { background-color: color-mix(in oklch, var(--color-warning), 10% oklch(0% 0 0)); }
|
|
24
|
+
.table.filled.danger tbody tr:hover { background-color: color-mix(in oklch, var(--color-danger), 10% oklch(0% 0 0)); }
|
|
25
|
+
.table.filled.info tbody tr:hover { background-color: color-mix(in oklch, var(--color-info), 10% oklch(0% 0 0)); }
|
|
26
|
+
[data-theme="dark"] .table th, [data-theme="dark"] .table td { border-color: var(--color-border); color: var(--color-text); }
|
|
27
|
+
[data-theme="dark"] .table.filled th, [data-theme="dark"] .table.filled td { background-color: var(--color-surface); color: var(--color-text); }
|
|
28
|
+
.table-responsive { @apply overflow-x-auto w-full; }
|
|
29
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
@import "tailwindcss";
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
/* Primary Colors - Sea Blue */
|
|
5
|
+
--color-primary: oklch(55% 0.12 200); /* light sea blue */
|
|
6
|
+
--color-primary-dark: oklch(45% 0.14 200);
|
|
7
|
+
--color-secondary: oklch(60% 0.08 190); /* turquoise-ish */
|
|
8
|
+
|
|
9
|
+
/* Semantic Colors - Ocean Inspired */
|
|
10
|
+
--color-success: oklch(65% 0.12 160); /* sea green */
|
|
11
|
+
--color-warning: oklch(75% 0.15 80); /* coral-ish */
|
|
12
|
+
--color-danger: oklch(60% 0.15 10); /* reddish coral */
|
|
13
|
+
--color-info: oklch(70% 0.10 220); /* sky blue */
|
|
14
|
+
|
|
15
|
+
/* Neutral Colors */
|
|
16
|
+
--color-surface: oklch(96% 0.01 210); /* almost white sand */
|
|
17
|
+
--color-text: oklch(22% 0.03 210); /* deep ocean text */
|
|
18
|
+
--color-text-muted: oklch(45% 0.04 210); /* slightly softer but readable */
|
|
19
|
+
--color-border: oklch(85% 0.02 210);
|
|
20
|
+
--color-shadow: oklch(0% 0 0 / 0.2);
|
|
21
|
+
|
|
22
|
+
/* Gradients */
|
|
23
|
+
--gradient-primary: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
|
|
24
|
+
--gradient-success: linear-gradient(135deg, var(--color-success), oklch(60% 0.12 160));
|
|
25
|
+
--gradient-warning: linear-gradient(135deg, var(--color-warning), oklch(70% 0.15 80));
|
|
26
|
+
--gradient-danger: linear-gradient(135deg, var(--color-danger), oklch(55% 0.15 10));
|
|
27
|
+
--gradient-info: linear-gradient(135deg, var(--color-info), oklch(65% 0.11 220));
|
|
28
|
+
|
|
29
|
+
/* ===== Dolphin Specific Utility Classes ===== */
|
|
30
|
+
.dolphin-glow { box-shadow: var(--glow-primary); }
|
|
31
|
+
.dolphin-glow-success { box-shadow: var(--glow-success); }
|
|
32
|
+
.dolphin-glow-warning { box-shadow: var(--glow-warning); }
|
|
33
|
+
.dolphin-glow-danger { box-shadow: var(--glow-danger); }
|
|
34
|
+
.dolphin-glow-info { box-shadow: var(--glow-info); }
|
|
35
|
+
.dolphin-glow-secondary { box-shadow: var(--glow-secondary); }
|
|
36
|
+
|
|
37
|
+
.ocean-gradient { background: var(--gradient-ocean); }
|
|
38
|
+
.dolphin-gradient { background: var(--gradient-primary); }
|
|
39
|
+
.sea-foam { background-color: var(--color-surface); }
|
|
40
|
+
.deep-ocean { background-color: var(--color-surface-alt); }
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
[data-theme="dark"] {
|
|
44
|
+
/* Primary Colors */
|
|
45
|
+
--color-primary: oklch(45% 0.12 200); /* darker sea blue */
|
|
46
|
+
--color-primary-dark: oklch(35% 0.14 200);
|
|
47
|
+
--color-secondary: oklch(48% 0.08 190);
|
|
48
|
+
|
|
49
|
+
/* Semantic Colors */
|
|
50
|
+
--color-success: oklch(55% 0.12 160);
|
|
51
|
+
--color-warning: oklch(65% 0.15 80);
|
|
52
|
+
--color-danger: oklch(55% 0.15 10);
|
|
53
|
+
--color-info: oklch(60% 0.10 220);
|
|
54
|
+
|
|
55
|
+
/* Neutral Colors */
|
|
56
|
+
--color-surface: oklch(18% 0.02 210); /* dark ocean */
|
|
57
|
+
--color-text: oklch(98% 0 0); /* almost pure white text */
|
|
58
|
+
--color-text-muted: oklch(80% 0.02 210); /* dimmer, still visible */
|
|
59
|
+
--color-border: oklch(35% 0.03 210);
|
|
60
|
+
--color-shadow: oklch(0% 0 0 / 0.35);
|
|
61
|
+
}
|
package/dolphin-css.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.filled{border-radius:var(--radius-md);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex}.outlined{border-radius:var(--radius-md);border-style:var(--tw-border-style);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;-webkit-user-select:none;user-select:none;background-color:#0000;border-width:1px;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex}.plain{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;-webkit-user-select:none;user-select:none;background-color:#0000;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex}.primary.filled{background-color:var(--color-primary);color:var(--color-text)!important}.primary.outlined{border:2px solid var(--color-primary);color:var(--color-text)!important}.primary.plain{color:var(--color-text)!important}.secondary.filled{background-color:var(--color-secondary);color:var(--color-text)!important}.secondary.outlined{border:2px solid var(--color-secondary);color:var(--color-text)!important}.secondary.plain{color:var(--color-text)!important}.success.filled{background-color:var(--color-success);color:var(--color-text)!important}.success.outlined{border:2px solid var(--color-success);color:var(--color-text)!important}.success.plain{color:var(--color-text)!important}.warning.filled{background-color:var(--color-warning);color:var(--color-text)!important}.warning.outlined{border:2px solid var(--color-warning);color:var(--color-text)!important}.warning.plain{color:var(--color-text)!important}.danger.filled{background-color:var(--color-danger);color:var(--color-text)!important}.danger.outlined{border:2px solid var(--color-danger);color:var(--color-text)!important}.danger.plain{color:var(--color-text)!important}.info.filled{background-color:var(--color-info);color:var(--color-text)!important}.info.outlined{border:2px solid var(--color-info);color:var(--color-text)!important}.info.plain{color:var(--color-text)!important}.filled:hover,.outlined:hover,.plain:hover{opacity:.9}.filled:focus-visible,.outlined:focus-visible,.plain:focus-visible{outline:2px solid var(--color-border);outline-offset:2px;box-shadow:none}.filled:disabled,.outlined:disabled,.plain:disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.circle{cursor:pointer;--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;-webkit-user-select:none;user-select:none;border-radius:3.40282e38px;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex}@media (hover:hover){.circle:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.circle{color:var(--color-text);background-color:#0000}.circle.sm{height:calc(var(--spacing)*8);width:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.circle.md{height:calc(var(--spacing)*12);width:calc(var(--spacing)*12);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.circle.lg{height:calc(var(--spacing)*16);width:calc(var(--spacing)*16);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.circle.primary.filled{background-color:var(--color-primary);color:var(--color-text)!important}.circle.secondary.filled{background-color:var(--color-secondary);color:var(--color-text)!important}.circle.success.filled{background-color:var(--color-success);color:var(--color-text)!important}.circle.warning.filled{background-color:var(--color-warning);color:var(--color-text)!important}.circle.danger.filled{background-color:var(--color-danger);color:var(--color-text)!important}.circle.info.filled{background-color:var(--color-info);color:var(--color-text)!important}.circle.primary.outlined{border:2px solid var(--color-primary);color:var(--color-text)!important}.circle.secondary.outlined{border:2px solid var(--color-secondary);color:var(--color-text)!important}.circle.success.outlined{border:2px solid var(--color-success);color:var(--color-text)!important}.circle.warning.outlined{border:2px solid var(--color-warning);color:var(--color-text)!important}.circle.danger.outlined{border:2px solid var(--color-danger);color:var(--color-text)!important}.circle.info.outlined{border:2px solid var(--color-info);color:var(--color-text)!important}.circle.primary.plain,.circle.secondary.plain,.circle.success.plain,.circle.warning.plain,.circle.danger.plain,.circle.info.plain{background-color:#0000;color:var(--color-text)!important}.circle:hover{opacity:.9}.circle:disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.badge{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;-webkit-user-select:none;user-select:none;border-radius:3.40282e38px;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex}.badge.filled{color:var(--color-text)}.badge.outlined{border-style:var(--tw-border-style);color:var(--color-text);background-color:#0000;border-width:2px;border-color:currentColor}.badge.primary{background-color:var(--color-primary);color:var(--color-text)}.badge.secondary{background-color:var(--color-secondary);color:var(--color-text)}.badge.success{background-color:var(--color-success);color:var(--color-text)}.badge.warning{background-color:var(--color-warning);color:var(--color-text)}.badge.danger{background-color:var(--color-danger);color:var(--color-text)}.badge.primary.outlined{border-color:var(--color-primary);color:var(--color-text)}.badge.secondary.outlined{border-color:var(--color-secondary);color:var(--color-text)}.badge.success.outlined{border-color:var(--color-success);color:var(--color-text)}.badge.warning.outlined{border-color:var(--color-warning);color:var(--color-text)}.badge.danger.outlined{border-color:var(--color-danger);color:var(--color-text)}.badge.sm{padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.badge.md{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.badge.lg{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.badge-corner{top:calc(var(--spacing)*0);right:calc(var(--spacing)*0);--tw-translate-x:calc(1/2*100%);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,);position:absolute}.card{border-radius:var(--radius-md);background-color:var(--color-surface);padding:calc(var(--spacing)*4);color:var(--color-text);--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.card.primary{background-color:var(--color-primary);color:var(--color-text)}.card.secondary{background-color:var(--color-secondary);color:var(--color-text)}.card.success{background-color:var(--color-success);color:var(--color-text)}.card.warning{background-color:var(--color-warning);color:var(--color-text)}.card.danger{background-color:var(--color-danger);color:var(--color-text)}.card.info{background-color:var(--color-info);color:var(--color-text)}.card.gradient.primary{background-image:var(--gradient-primary);color:var(--color-text)}.card.gradient.success{background-image:var(--gradient-success);color:var(--color-text)}.card.gradient.warning{background-image:var(--gradient-warning);color:var(--color-text)}.card.gradient.danger{background-image:var(--gradient-danger);color:var(--color-text)}.card.gradient.info{background-image:var(--gradient-info);color:var(--color-text)}[data-theme=dark] .card.primary{background-color:var(--color-primary);color:var(--color-text)}[data-theme=dark] .card.secondary{background-color:var(--color-secondary);color:var(--color-text)}[data-theme=dark] .card.success{background-color:var(--color-success);color:var(--color-text)}[data-theme=dark] .card.warning{background-color:var(--color-warning);color:var(--color-text)}[data-theme=dark] .card.danger{background-color:var(--color-danger);color:var(--color-text)}[data-theme=dark] .card.info{background-color:var(--color-info);color:var(--color-text)}.radio-group{gap:calc(var(--spacing)*2);flex-direction:column;display:flex}.radio-item{cursor:pointer;align-items:center;gap:calc(var(--spacing)*2);-webkit-user-select:none;user-select:none;display:flex;position:relative}.radio-item input[type=radio]{height:calc(var(--spacing)*5);width:calc(var(--spacing)*5);appearance:none;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;border-radius:3.40282e38px;transition-duration:.2s}.radio-item input[type=radio]:checked{border-color:var(--color-primary);background-color:var(--color-primary)}.radio-item input[type=radio]:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary)}.radio-label{color:var(--color-text);-webkit-user-select:none;user-select:none}.radio-item input[type=radio]:disabled+.radio-label{cursor:not-allowed;opacity:.5}.radio-group.horizontal{gap:calc(var(--spacing)*4);flex-direction:row}input[type=checkbox]{margin:calc(var(--spacing)*0);height:calc(var(--spacing)*5);width:calc(var(--spacing)*5);cursor:pointer;appearance:none;border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-border);background-color:var(--color-surface);vertical-align:middle;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;border-radius:.25rem;transition-duration:.2s;position:relative}input[type=checkbox]:after{content:"";height:calc(var(--spacing)*2);width:calc(var(--spacing)*1);border-right-style:var(--tw-border-style);border-right-width:2px;border-bottom-style:var(--tw-border-style);border-bottom-width:2px;border-color:var(--color-surface);display:none;position:absolute;top:3px;left:6px;rotate:45deg}input[type=checkbox]:checked:after{display:block}input[type=checkbox].primary:checked{background-color:var(--color-primary);border-color:var(--color-primary)}input[type=checkbox].secondary:checked{background-color:var(--color-secondary);border-color:var(--color-secondary)}input[type=checkbox].success:checked{background-color:var(--color-success);border-color:var(--color-success)}input[type=checkbox].warning:checked{background-color:var(--color-warning);border-color:var(--color-warning)}input[type=checkbox].danger:checked{background-color:var(--color-danger);border-color:var(--color-danger)}input[type=checkbox].info:checked{background-color:var(--color-info);border-color:var(--color-info)}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.select-wrapper{width:100%;display:inline-block;position:relative}.select{cursor:pointer;appearance:none;border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-border);background-color:var(--color-surface);width:100%;padding:calc(var(--spacing)*2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:var(--color-text);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.select:focus{border-color:var(--color-primary);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.select:focus{--tw-ring-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.select:focus{--tw-outline-style:none;outline-style:none}.select:disabled{cursor:not-allowed;background-color:var(--color-surface);color:var(--color-border);opacity:.5}.select.primary{background-color:var(--color-primary);color:var(--color-text);border-color:var(--color-primary)}.select.secondary{background-color:var(--color-secondary);color:var(--color-text);border-color:var(--color-secondary)}.select.success{background-color:var(--color-success);color:var(--color-text);border-color:var(--color-success)}.select.warning{background-color:var(--color-warning);color:var(--color-text);border-color:var(--color-warning)}.select.danger{background-color:var(--color-danger);color:var(--color-text);border-color:var(--color-danger)}.select.info{background-color:var(--color-info);color:var(--color-text);border-color:var(--color-info)}.select.gradient.primary{background-image:var(--gradient-primary);color:var(--color-text);border:none}.select-wrapper:after{content:"";pointer-events:none;top:50%;right:calc(var(--spacing)*4);height:calc(var(--spacing)*2);width:calc(var(--spacing)*2);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);border-right-style:var(--tw-border-style);border-right-width:2px;border-bottom-style:var(--tw-border-style);border-bottom-width:2px;border-color:var(--color-text);position:absolute;rotate:45deg}.floatinglabel{width:100%;position:relative}.floatinglabel-input{border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-border);background-color:var(--color-surface);width:100%;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:var(--color-text);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.floatinglabel-input:focus{border-color:var(--color-primary);--tw-outline-style:none;box-shadow:0 0 0 2px var(--color-primary);outline-style:none}@supports (color:color-mix(in lab, red, red)){.floatinglabel-input:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary)20%,transparent)}}.floatinglabel-input:disabled{cursor:not-allowed;background-color:var(--color-surface);color:var(--color-border);opacity:.5}.floatinglabel-label{pointer-events:none;top:50%;left:calc(var(--spacing)*3);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:var(--color-text-muted);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;background-color:#0000;transition-duration:.2s;position:absolute}.floatinglabel-input:focus+.floatinglabel-label,.floatinglabel-input:not(:placeholder-shown)+.floatinglabel-label{top:calc(var(--spacing)*-2);--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.floatinglabel.primary .floatinglabel-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.floatinglabel.primary .floatinglabel-input:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary)20%,transparent)}}.floatinglabel.primary .floatinglabel-input:focus+.floatinglabel-label{color:var(--color-primary)}.floatinglabel.gradient.primary .floatinglabel-input:focus{background-image:var(--gradient-primary);--tw-border-style:none;color:var(--color-text);box-shadow:none;border-style:none}.floatinglabel.input-icon-left{position:relative}.floatinglabel.input-icon-left>svg{pointer-events:none;top:50%;left:calc(var(--spacing)*3);height:calc(var(--spacing)*5);width:calc(var(--spacing)*5);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);color:var(--color-text-muted);position:absolute}.floatinglabel.input-icon-left .floatinglabel-input{padding-left:calc(var(--spacing)*10)}.floatinglabel.input-icon-left .floatinglabel-label{left:2.75rem}.floatinglabel.input-icon-left .floatinglabel-input:focus+.floatinglabel-label,.floatinglabel.input-icon-left .floatinglabel-input:not(:placeholder-shown)+.floatinglabel-label{left:2.5rem}.floatinglabel.input-icon-right{position:relative}.floatinglabel.input-icon-right>svg{pointer-events:none;top:50%;right:calc(var(--spacing)*3);height:calc(var(--spacing)*5);width:calc(var(--spacing)*5);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);color:var(--color-text-muted);position:absolute}.floatinglabel.input-icon-right .floatinglabel-input{padding-right:calc(var(--spacing)*10)}.standardlabel{width:100%;padding-top:calc(var(--spacing)*5);position:relative}.standardlabel-input{border-style:var(--tw-border-style);border-width:0;border-bottom-style:var(--tw-border-style);border-bottom-width:2px;border-color:var(--color-border);width:100%;padding-inline:calc(var(--spacing)*0);padding-block:calc(var(--spacing)*1);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:var(--color-text);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;background-color:#0000;transition-duration:.2s}.standardlabel-input:focus{--tw-outline-style:none;border-bottom-color:var(--color-primary);outline-style:none}.standardlabel-input:disabled{cursor:not-allowed;color:var(--color-border);opacity:.5;border-bottom-color:var(--color-border)}.standardlabel-label{pointer-events:none;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:var(--color-text-muted);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s;position:absolute;top:1.25rem;left:.5rem}.standardlabel-input:focus+.standardlabel-label,.standardlabel-input:not(:placeholder-shown)+.standardlabel-label{top:calc(var(--spacing)*-1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-primary)}.standardlabel.input-icon-left{position:relative}.standardlabel.input-icon-left>svg{pointer-events:none;top:50%;left:calc(var(--spacing)*0);height:calc(var(--spacing)*5);width:calc(var(--spacing)*5);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);color:var(--color-text-muted);position:absolute}.standardlabel.input-icon-left .standardlabel-input{padding-left:calc(var(--spacing)*10)}.standardlabel.input-icon-left .standardlabel-label{left:2.75rem}.standardlabel.input-icon-left .standardlabel-input:focus+.standardlabel-label,.standardlabel.input-icon-left .standardlabel-input:not(:placeholder-shown)+.standardlabel-label{left:2.5rem}.standardlabel.input-icon-right{position:relative}.standardlabel.input-icon-right>svg{pointer-events:none;top:50%;right:calc(var(--spacing)*0);height:calc(var(--spacing)*5);width:calc(var(--spacing)*5);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);color:var(--color-text-muted);position:absolute}.standardlabel.input-icon-right .standardlabel-input{padding-right:calc(var(--spacing)*10)}.gradient-bg{border-radius:var(--radius-md);color:var(--color-text);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.5s;background-repeat:no-repeat;background-size:200% 200%;transition-duration:.5s}.gradient-bg.primary{background-image:var(--gradient-primary)!important}.gradient-bg.success{background-image:var(--gradient-success)!important}.gradient-bg.warning{background-image:var(--gradient-warning)!important}.gradient-bg.danger{background-image:var(--gradient-danger)!important}.gradient-bg.info{background-image:var(--gradient-info)!important}.input-icon-left{width:100%;position:relative}.input-icon-left>svg{top:50%;left:calc(var(--spacing)*3);height:calc(var(--spacing)*5);width:calc(var(--spacing)*5);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);color:var(--color-text-muted);position:absolute}.input-icon-left>input,.input-icon-left>select{border-radius:var(--radius-md);width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*3);padding-left:calc(var(--spacing)*10);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.input-icon-right{width:100%;position:relative}.input-icon-right>svg{top:50%;right:calc(var(--spacing)*3);height:calc(var(--spacing)*5);width:calc(var(--spacing)*5);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);color:var(--color-text-muted);position:absolute}.input-icon-right>input,.input-icon-right>select{border-radius:var(--radius-md);width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*10);padding-left:calc(var(--spacing)*3);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.button-icon-left{justify-content:center;align-items:center;gap:calc(var(--spacing)*2);display:inline-flex;position:relative}.button-icon-left>svg{height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}.button-icon-right{justify-content:center;align-items:center;gap:calc(var(--spacing)*2);display:inline-flex;position:relative}.button-icon-right>svg{height:calc(var(--spacing)*5);width:calc(var(--spacing)*5);order:9999}.kpi-card{border-radius:var(--radius-xl);background-color:var(--color-surface);padding:calc(var(--spacing)*4);color:var(--color-text);--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;justify-content:space-between;align-items:center;transition-duration:.3s;display:flex}@media (hover:hover){.kpi-card:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.kpi-card .kpi-text{flex-direction:column;display:flex}.kpi-card .kpi-text .kpi-title{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}.kpi-card .kpi-text .kpi-value{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-text)}.kpi-card .kpi-text .kpi-change{margin-top:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.kpi-card .kpi-text .kpi-change.positive{color:var(--color-success)}.kpi-card .kpi-text .kpi-change.negative{color:var(--color-danger)}.kpi-card .kpi-chart{height:calc(var(--spacing)*16);width:calc(var(--spacing)*16);border-radius:var(--radius-xl);background-color:var(--color-primary);color:var(--color-text);--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;justify-content:center;align-items:center;transition-duration:.3s;display:flex;position:relative;overflow:hidden}.kpi-card .kpi-chart:before{content:"";bottom:calc(var(--spacing)*1);left:calc(var(--spacing)*1);border-radius:var(--radius-sm);--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops));--tw-gradient-from:var(--color-gradient-start);--tw-gradient-to:var(--color-gradient-end);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position));width:calc(100% - .5rem);height:50%;position:absolute}.kpi-card:hover .kpi-chart{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (max-width:768px){.kpi-card{align-items:flex-start;gap:calc(var(--spacing)*3);flex-direction:column}.kpi-card .kpi-chart{height:calc(var(--spacing)*12);width:calc(var(--spacing)*12)}}.row{gap:calc(var(--spacing)*4);flex-wrap:wrap;display:flex}.col{flex:1;min-width:200px}.col-1{flex:8%}.col-2{flex:16%}.col-3{flex:25%}.col-4{flex:33%}.col-5{flex:41%}.col-6{flex:50%}.col-7{flex:58%}.col-8{flex:66%}.col-9{flex:75%}.col-10{flex:83%}.col-11{flex:91%}.col-12{flex:100%}@media (max-width:1024px){.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{flex:45%}}@media (max-width:768px){.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{flex:100%}}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.nav-container{background-color:var(--color-surface);width:100%;padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;justify-content:space-between;align-items:center;transition-duration:.2s;display:flex}.nav-brand{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-text);-webkit-user-select:none;user-select:none}.nav-ul{margin:calc(var(--spacing)*0);gap:calc(var(--spacing)*4);padding:calc(var(--spacing)*0);list-style-type:none;display:flex}.nav-ul-left{flex:1;align-items:center;display:flex}.nav-ul-right{align-items:center;gap:calc(var(--spacing)*4);display:flex}.nav-li{cursor:pointer;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s;position:relative}.nav-li a{border-radius:var(--radius-md);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);color:var(--color-text);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.nav-li a:hover{background-color:var(--color-primary);color:var(--color-text)}}.nav-li.active a{background-color:var(--color-primary);color:var(--color-text)}.nav-dropdown{visibility:hidden;top:100%;left:calc(var(--spacing)*0);z-index:50;margin-top:calc(var(--spacing)*1);border-radius:var(--radius-md);background-color:var(--color-surface);opacity:0;--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);min-width:8rem;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s;position:absolute}@media (hover:hover){.nav-dropdown:is(:where(.group):hover *){visibility:visible;opacity:1}}.nav-dropdown li{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);white-space:nowrap}@media (hover:hover){.nav-dropdown li:hover{background-color:var(--color-primary);color:var(--color-text)}}.nav-toggle{cursor:pointer;border-radius:var(--radius-md);padding:calc(var(--spacing)*2);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s;display:block}@media (hover:hover){.nav-toggle:hover{background-color:var(--color-border)}}@media (min-width:48rem){.nav-toggle{display:none}}.nav-mobile{margin-top:calc(var(--spacing)*2);gap:calc(var(--spacing)*2);flex-direction:column;display:none}@media (min-width:48rem){.nav-mobile{display:none}}.nav-mobile.show{display:flex}.nav-search-container{width:100%;max-width:var(--container-xs);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;align-items:center;transition-duration:.3s;display:flex;position:relative}.nav-search-input{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*10);padding-left:calc(var(--spacing)*10);color:var(--color-text);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;border-radius:3.40282e38px;transition-duration:.3s}.nav-search-input::placeholder{color:var(--color-text-muted)}.nav-search-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary);--tw-outline-style:none;border-color:#0000;outline-style:none}.nav-search-icon{top:50%;left:calc(var(--spacing)*3);height:calc(var(--spacing)*5);width:calc(var(--spacing)*5);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);color:var(--color-text-muted);position:absolute}.nav-search-clear{top:50%;right:calc(var(--spacing)*3);height:calc(var(--spacing)*5);width:calc(var(--spacing)*5);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);cursor:pointer;color:var(--color-text-muted);opacity:0;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s;position:absolute}@media (hover:hover){.nav-search-clear:hover{color:var(--color-primary)}}.nav-search-input:not(:placeholder-shown)+.nav-search-clear{opacity:1}@media (max-width:768px){.nav-search-container{margin-top:calc(var(--spacing)*2);max-width:100%}.nav-search-input{padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.sm{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.md{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.lg{padding-inline:calc(var(--spacing)*5);padding-block:calc(var(--spacing)*3);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.table{border-collapse:collapse;width:100%;color:var(--color-text);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.table th,.table td{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);text-align:left;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.table.filled th,.table.filled td{background-color:var(--color-surface);color:var(--color-text)}.table.outlined th,.table.outlined td{border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-border);color:var(--color-text);background-color:#0000}.table.primary.filled th,.table.primary.filled td{background-color:var(--color-primary);color:var(--color-text);border-color:var(--color-primary)}.table.secondary.filled th,.table.secondary.filled td{background-color:var(--color-secondary);color:var(--color-text);border-color:var(--color-secondary)}.table.success.filled th,.table.success.filled td{background-color:var(--color-success);color:var(--color-text);border-color:var(--color-success)}.table.warning.filled th,.table.warning.filled td{background-color:var(--color-warning);color:var(--color-text);border-color:var(--color-warning)}.table.danger.filled th,.table.danger.filled td{background-color:var(--color-danger);color:var(--color-text);border-color:var(--color-danger)}.table.info.filled th,.table.info.filled td{background-color:var(--color-info);color:var(--color-text);border-color:var(--color-info)}.table.striped tbody tr:nth-child(2n){background-color:var(--color-surface)}@supports (color:color-mix(in lab, red, red)){.table.striped tbody tr:nth-child(2n){background-color:color-mix(in oklch,var(--color-surface),10% oklch(0% 0 0))}}.table tbody tr:hover{opacity:.95}.table.filled.primary tbody tr:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.table.filled.primary tbody tr:hover{background-color:color-mix(in oklch,var(--color-primary),10% oklch(0% 0 0))}}.table.filled.success tbody tr:hover{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.table.filled.success tbody tr:hover{background-color:color-mix(in oklch,var(--color-success),10% oklch(0% 0 0))}}.table.filled.warning tbody tr:hover{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.table.filled.warning tbody tr:hover{background-color:color-mix(in oklch,var(--color-warning),10% oklch(0% 0 0))}}.table.filled.danger tbody tr:hover{background-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.table.filled.danger tbody tr:hover{background-color:color-mix(in oklch,var(--color-danger),10% oklch(0% 0 0))}}.table.filled.info tbody tr:hover{background-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.table.filled.info tbody tr:hover{background-color:color-mix(in oklch,var(--color-info),10% oklch(0% 0 0))}}[data-theme=dark] .table th,[data-theme=dark] .table td{border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .table.filled th,[data-theme=dark] .table.filled td{background-color:var(--color-surface);color:var(--color-text)}.table-responsive{width:100%;overflow-x:auto}}@layer utilities{.absolute{position:absolute}.relative{position:relative}.top-1\/2{top:50%}.right-3{right:calc(var(--spacing)*3)}.flex{display:flex}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-sm{max-width:var(--container-sm)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-5{gap:calc(var(--spacing)*5)}.gap-8{gap:calc(var(--spacing)*8)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-2{padding-block:calc(var(--spacing)*2)}.text-center{text-align:center}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\(--color-text-muted\){color:var(--color-text-muted)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}}.glow{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;transition-duration:.3s}.glow.btn:hover,.glow[class*=btn]:hover{box-shadow:0 0 20px 5px var(--glow-color,var(--color-primary))/25}.glow.card:hover,.glow[class*=card]:hover,.glow[class*=chart]:hover{box-shadow:0 0 25px 8px var(--glow-color,var(--color-primary))/15}.glow.input:focus,.glow[type=text]:focus,.glow[type=email]:focus,.glow[type=password]:focus,.glow.floatinglabel-input:focus,.glow.standardlabel-input:focus{box-shadow:var(--glow-input)!important}.dolphin-glow{box-shadow:var(--glow-primary)}.dolphin-glow-success{box-shadow:var(--glow-success)}.dolphin-glow-warning{box-shadow:var(--glow-warning)}.dolphin-glow-danger{box-shadow:var(--glow-danger)}.dolphin-glow-info{box-shadow:var(--glow-info)}.dolphin-glow-secondary{box-shadow:var(--glow-secondary)}.glow.strong:hover{box-shadow:0 0 35px 12px var(--glow-color,var(--color-primary))/25}.glow.subtle:hover{box-shadow:0 0 15px 3px var(--glow-color,var(--color-primary))/15}@keyframes dolphin-glow-pulse{}@keyframes ocean-wave{}.floatinglabel-input.glow:focus,.standardlabel-input.glow:focus{box-shadow:var(--glow-input)!important}.chart-card,.card{box-shadow:none!important}.glow:hover{transform:translateZ(0)}@media (max-width:768px){.glow:hover{box-shadow:0 0 15px 4px var(--glow-color,var(--color-primary))/15}}:root{--color-primary:oklch(55% .12 200);--color-primary-dark:oklch(45% .14 200);--color-secondary:oklch(60% .08 190);--color-success:oklch(65% .12 160);--color-warning:oklch(75% .15 80);--color-danger:oklch(60% .15 10);--color-info:oklch(70% .1 220);--color-surface:oklch(96% .01 210);--color-text:oklch(22% .03 210);--color-text-muted:oklch(45% .04 210);--color-border:oklch(85% .02 210);--color-shadow:oklch(0% 0 0/.2);--gradient-primary:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));--gradient-success:linear-gradient(135deg,var(--color-success),oklch(60% .12 160));--gradient-warning:linear-gradient(135deg,var(--color-warning),oklch(70% .15 80));--gradient-danger:linear-gradient(135deg,var(--color-danger),oklch(55% .15 10));--gradient-info:linear-gradient(135deg,var(--color-info),oklch(65% .11 220))}:root .dolphin-glow{box-shadow:var(--glow-primary)}:root .dolphin-glow-success{box-shadow:var(--glow-success)}:root .dolphin-glow-warning{box-shadow:var(--glow-warning)}:root .dolphin-glow-danger{box-shadow:var(--glow-danger)}:root .dolphin-glow-info{box-shadow:var(--glow-info)}:root .dolphin-glow-secondary{box-shadow:var(--glow-secondary)}:root .ocean-gradient{background:var(--gradient-ocean)}:root .dolphin-gradient{background:var(--gradient-primary)}:root .sea-foam{background-color:var(--color-surface)}:root .deep-ocean{background-color:var(--color-surface-alt)}[data-theme=dark]{--color-primary:oklch(45% .12 200);--color-primary-dark:oklch(35% .14 200);--color-secondary:oklch(48% .08 190);--color-success:oklch(55% .12 160);--color-warning:oklch(65% .15 80);--color-danger:oklch(55% .15 10);--color-info:oklch(60% .1 220);--color-surface:oklch(18% .02 210);--color-text:oklch(98% 0 0);--color-text-muted:oklch(80% .02 210);--color-border:oklch(35% .03 210);--color-shadow:oklch(0% 0 0/.35)}.chart-card{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;transition-duration:.3s;position:relative}@media (hover:hover){.chart-card:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.chart-card-header{padding:calc(var(--spacing)*4);padding-bottom:calc(var(--spacing)*2);justify-content:space-between;align-items:center;display:flex}.chart-card-title{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-text)}.chart-card-subtitle{margin-top:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}.chart-card-actions{align-items:center;gap:calc(var(--spacing)*1);display:flex}.chart-card-content{padding:calc(var(--spacing)*4);padding-top:calc(var(--spacing)*2)}.chart-card-footer{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-border);padding:calc(var(--spacing)*4);padding-top:calc(var(--spacing)*2);justify-content:space-between;align-items:center;display:flex}.chart-card-stats{align-items:center;gap:calc(var(--spacing)*4);display:flex}.chart-card-stat{flex-direction:column;display:flex}.chart-card-stat-value{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-text)}.chart-card-stat-label{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}.chart-card-trend{align-items:center;gap:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));display:flex}.chart-card-trend.positive{color:var(--color-success)}.chart-card-trend.negative{color:var(--color-danger)}.chart-card.primary{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.chart-card.primary{border-color:color-mix(in oklab,var(--color-primary)20%,transparent)}}.chart-card.secondary{border-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.chart-card.secondary{border-color:color-mix(in oklab,var(--color-secondary)20%,transparent)}}.chart-card.success{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.chart-card.success{border-color:color-mix(in oklab,var(--color-success)20%,transparent)}}.chart-card.warning{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.chart-card.warning{border-color:color-mix(in oklab,var(--color-warning)20%,transparent)}}.chart-card.danger{border-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.chart-card.danger{border-color:color-mix(in oklab,var(--color-danger)20%,transparent)}}.chart-card.info{border-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.chart-card.info{border-color:color-mix(in oklab,var(--color-info)20%,transparent)}}.chart-card.gradient.primary{background-image:var(--gradient-primary);--tw-border-style:none;color:var(--color-text);border-style:none}.chart-card.gradient.secondary{background-image:var(--gradient-secondary);--tw-border-style:none;color:var(--color-text);border-style:none}.chart-card.small{max-width:var(--container-sm)}.chart-card.medium{max-width:var(--container-md)}.chart-card.large{max-width:var(--container-lg)}.chart-card.full{width:100%}.chart-container{height:calc(var(--spacing)*48);justify-content:center;align-items:center;width:100%;display:flex}.chart-card.loading .chart-container{animation:var(--animate-pulse);background-color:var(--color-border);border-radius:.25rem}.chart-card .no-data{height:calc(var(--spacing)*48);color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.chart-legend{margin-top:calc(var(--spacing)*3);gap:calc(var(--spacing)*3);flex-wrap:wrap;display:flex}.chart-legend-item{align-items:center;gap:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));display:flex}.chart-legend-color{height:calc(var(--spacing)*3);width:calc(var(--spacing)*3);border-radius:3.40282e38px}.chart-tooltip{pointer-events:none;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);padding:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));opacity:0;--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s;position:absolute}.chart-card:hover .chart-tooltip{opacity:1}.glow{--glow-color:var(--color-primary);--glow-intensity:.2;--glow-spread:15px;--glow-blur:8px;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;transition-duration:.3s}.glow:hover{box-shadow:0 0 var(--glow-spread)var(--glow-blur)var(--glow-color)}@supports (color:color-mix(in lab, red, red)){.glow:hover{box-shadow:0 0 var(--glow-spread)var(--glow-blur)color-mix(in oklch,var(--glow-color)calc(var(--glow-intensity)*100%),transparent)}}.glow:focus{box-shadow:0 0 0 3px var(--glow-color)}@supports (color:color-mix(in lab, red, red)){.glow:focus{box-shadow:0 0 0 3px color-mix(in oklch,var(--glow-color)20%,transparent)}}.glow.primary{--glow-color:var(--color-primary)}.glow.secondary{--glow-color:var(--color-secondary)}.glow.success{--glow-color:var(--color-success)}.glow.warning{--glow-color:var(--color-warning)}.glow.danger{--glow-color:var(--color-danger)}.glow.info{--glow-color:var(--color-info)}.glow.strong{--glow-intensity:.4;--glow-spread:25px}.glow.subtle{--glow-intensity:.15;--glow-spread:10px}.glow.pulse{animation:3s ease-in-out infinite dolphin-glow-pulse}.glow.wave{animation:4s ease-in-out infinite ocean-wave}.floatinglabel-input.glow:focus{box-shadow:0 0 0 3px var(--glow-color)}@supports (color:color-mix(in lab, red, red)){.floatinglabel-input.glow:focus{box-shadow:0 0 0 3px color-mix(in oklch,var(--glow-color)20%,transparent)}}.glow:disabled{box-shadow:none!important}@media (max-width:768px){.glow:hover{--glow-spread:12px;--glow-blur:6px}.glow:focus{box-shadow:0 0 0 2px var(--glow-color)}@supports (color:color-mix(in lab, red, red)){.glow:focus{box-shadow:0 0 0 2px color-mix(in oklch,var(--glow-color)20%,transparent)}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@keyframes pulse{50%{opacity:.5}}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dolphincss",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "DolphinCSS - World-class TailwindCSS + React component library",
|
|
6
6
|
"main": "dolphin-css.css",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"dev": "vite",
|
|
9
|
-
|
|
10
|
-
"watch:css": "tailwindcss -i ./src/dolphin-css/App.css -o ./dolphin-css.css --watch",
|
|
9
|
+
"build:css": "npx @tailwindcss/cli -i ./src/dolphin-css/App.css -o ./dolphin-css.css --minify",
|
|
10
|
+
"watch:css": "npx @tailwindcss/cli -i ./src/dolphin-css/App.css -o ./dolphin-css.css --watch",
|
|
11
11
|
"build": "vite build && npm run build:css",
|
|
12
12
|
"lint": "eslint .",
|
|
13
13
|
"preview": "vite preview"
|
|
@@ -23,6 +23,8 @@
|
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@tailwindcss/vite": "^4.1.16",
|
|
26
|
+
"dolphincss": "^1.0.1",
|
|
27
|
+
"lucide-react": "^0.547.0",
|
|
26
28
|
"react": "^19.1.1",
|
|
27
29
|
"react-dom": "^19.1.1",
|
|
28
30
|
"tailwindcss": "^4.1.16"
|
|
@@ -33,9 +35,10 @@
|
|
|
33
35
|
"@types/react-dom": "^19.1.9",
|
|
34
36
|
"@vitejs/plugin-react": "^5.0.4",
|
|
35
37
|
"eslint": "^9.36.0",
|
|
38
|
+
"eslint-plugin-react": "^7.37.5",
|
|
36
39
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
37
|
-
"eslint-plugin-react-refresh": "^0.4.
|
|
40
|
+
"eslint-plugin-react-refresh": "^0.4.24",
|
|
38
41
|
"globals": "^16.4.0",
|
|
39
42
|
"vite": "^7.1.7"
|
|
40
43
|
}
|
|
41
|
-
}
|
|
44
|
+
}
|