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.
@@ -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
+ }
@@ -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
+ }
@@ -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
+ }
@@ -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
@@ -0,0 +1,6 @@
1
+ /* ===== Button Sizes ===== */
2
+ @layer components {
3
+ .sm { @apply text-xs px-3 py-1.5; }
4
+ .md { @apply text-sm px-4 py-2; }
5
+ .lg { @apply text-base px-5 py-3; }
6
+ }
@@ -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
+ }
@@ -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.1",
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
- "build:css": "tailwindcss -i ./src/dolphin-css/App.css -o ./dolphin-css.css --minify",
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.22",
40
+ "eslint-plugin-react-refresh": "^0.4.24",
38
41
  "globals": "^16.4.0",
39
42
  "vite": "^7.1.7"
40
43
  }
41
- }
44
+ }