@limpiolux/ui-styles 1.0.19 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/components.css +75 -37
  2. package/light.css +57 -16
  3. package/package.json +1 -1
package/components.css CHANGED
@@ -100,7 +100,8 @@
100
100
  .portal-panel,
101
101
  .portal-header-panel,
102
102
  .portal-card {
103
- @apply rounded-[28px] border border-white/10 bg-white/[0.045] shadow-2xl shadow-black/30 backdrop-blur-xl;
103
+ @apply rounded-[28px] border border-white/10 bg-white/[0.045] backdrop-blur-xl;
104
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 4px 20px -2px rgba(0, 0, 0, 0.22);
104
105
  transition:
105
106
  background-color 420ms ease,
106
107
  border-color 420ms ease,
@@ -133,15 +134,17 @@
133
134
  }
134
135
 
135
136
  .portal-app-card {
136
- @apply rounded-[28px] border border-white/10 bg-white/[0.045] shadow-2xl shadow-black/30 backdrop-blur-xl relative overflow-hidden p-5 transition duration-300;
137
+ @apply rounded-[28px] border border-white/10 bg-white/[0.045] backdrop-blur-xl relative overflow-hidden p-5 transition duration-300;
138
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 4px 20px -2px rgba(0, 0, 0, 0.22);
137
139
  }
138
140
 
139
141
  .portal-widget-grid {
140
- @apply grid gap-4 md:grid-cols-2 xl:grid-cols-4;
142
+ @apply grid gap-4 md:grid-cols-2 lg:grid-cols-4;
141
143
  }
142
144
 
143
145
  .portal-widget-card {
144
- @apply rounded-[24px] border border-white/10 bg-white/[0.045] p-4 shadow-2xl shadow-black/30 backdrop-blur-xl transition duration-300;
146
+ @apply rounded-[24px] border border-white/10 bg-white/[0.045] p-4 backdrop-blur-xl transition duration-300;
147
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 4px 20px -2px rgba(0, 0, 0, 0.22);
145
148
  }
146
149
 
147
150
  .portal-widget-card:hover {
@@ -198,41 +201,25 @@
198
201
  }
199
202
 
200
203
  .portal-launchpad-icon {
201
- @apply inline-flex h-20 w-20 items-center justify-center rounded-[28px] border sm:h-24 sm:w-24;
202
- border-color: rgba(255, 255, 255, 0.18);
203
- background:
204
- radial-gradient(ellipse at 28% 8%, rgba(255, 255, 255, 0.62), transparent 50%),
205
- radial-gradient(circle at bottom right, rgba(var(--color-brand) / 0.22), transparent 52%),
206
- linear-gradient(160deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.04) 100%);
207
- color: #f8fdff;
204
+ @apply inline-flex h-[62px] w-[62px] items-center justify-center rounded-[16px] sm:h-[70px] sm:w-[70px];
205
+ background: linear-gradient(160deg, rgb(var(--color-brand)) 0%, rgb(var(--color-brand-strong)) 100%);
206
+ color: #ffffff;
208
207
  box-shadow:
209
- inset 0 1px 0 rgba(255, 255, 255, 0.38),
210
- inset 0 -20px 28px -18px rgba(0, 0, 0, 0.2),
211
- 0 24px 48px -28px rgba(0, 117, 169, 0.52),
212
- 0 2px 8px -2px rgba(0, 0, 0, 0.18);
213
- backdrop-filter: blur(20px) saturate(2);
214
- -webkit-backdrop-filter: blur(20px) saturate(2);
215
- transition:
216
- transform 220ms ease,
217
- border-color 220ms ease,
218
- box-shadow 220ms ease,
219
- background 220ms ease;
208
+ 0 4px 14px -4px rgba(var(--color-brand) / 0.52),
209
+ 0 1px 4px rgba(0, 0, 0, 0.18);
210
+ transition: box-shadow 220ms ease;
220
211
  }
221
212
 
222
213
  .portal-launchpad-card:hover .portal-launchpad-icon,
223
214
  .portal-launchpad-card:focus-visible .portal-launchpad-icon {
224
- transform: translateY(-2px);
225
- border-color: rgba(var(--color-brand) / 0.32);
226
215
  box-shadow:
227
- inset 0 1px 0 rgba(255, 255, 255, 0.44),
228
- inset 0 -20px 28px -18px rgba(0, 0, 0, 0.16),
229
- 0 32px 56px -28px rgba(0, 117, 169, 0.64),
230
- 0 4px 14px -4px rgba(0, 0, 0, 0.2);
216
+ 0 8px 22px -6px rgba(var(--color-brand) / 0.64),
217
+ 0 2px 8px rgba(0, 0, 0, 0.18);
231
218
  }
232
219
 
233
220
  .portal-launchpad-title {
234
- @apply mt-3 text-sm font-semibold tracking-tight sm:text-base;
235
- color: #f4f4f5;
221
+ @apply mt-2.5 text-sm font-medium tracking-tight;
222
+ color: #d4d4d8;
236
223
  }
237
224
 
238
225
  .portal-launchpad-subtitle {
@@ -267,15 +254,17 @@
267
254
  }
268
255
 
269
256
  .portal-home-card {
270
- @apply rounded-[28px] border border-white/10 bg-white/[0.045] p-5 shadow-2xl shadow-black/30 backdrop-blur-xl;
257
+ @apply rounded-[28px] border border-white/10 bg-white/[0.045] p-5 backdrop-blur-xl;
258
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 4px 20px -2px rgba(0, 0, 0, 0.22);
271
259
  }
272
260
 
273
261
  .portal-dashboard-grid {
274
- @apply mt-5 grid gap-5 md:mt-8 md:gap-6 xl:grid-cols-[1.45fr_0.95fr];
262
+ @apply mt-5 grid gap-5 md:mt-8 md:gap-6 lg:grid-cols-[1.4fr_1fr];
275
263
  }
276
264
 
277
265
  .portal-dashboard-main {
278
- @apply rounded-[30px] border border-white/10 bg-white/[0.045] p-5 shadow-2xl shadow-black/30 backdrop-blur-xl md:p-6;
266
+ @apply rounded-[30px] border border-white/10 bg-white/[0.045] p-5 backdrop-blur-xl md:p-6;
267
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 4px 20px -2px rgba(0, 0, 0, 0.22);
279
268
  }
280
269
 
281
270
  .portal-dashboard-side {
@@ -283,7 +272,8 @@
283
272
  }
284
273
 
285
274
  .portal-side-card {
286
- @apply rounded-[28px] border border-white/10 bg-white/[0.045] p-5 shadow-2xl shadow-black/30 backdrop-blur-xl;
275
+ @apply rounded-[28px] border border-white/10 bg-white/[0.045] p-5 backdrop-blur-xl;
276
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 4px 20px -2px rgba(0, 0, 0, 0.22);
287
277
  }
288
278
 
289
279
  .portal-side-hero {
@@ -452,7 +442,8 @@
452
442
  }
453
443
 
454
444
  .auth-card {
455
- @apply rounded-[28px] border border-white/10 bg-white/[0.045] p-6 shadow-2xl shadow-black/30 backdrop-blur-xl md:p-8;
445
+ @apply rounded-[28px] border border-white/10 bg-white/[0.045] p-6 backdrop-blur-xl md:p-8;
446
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 4px 20px -2px rgba(0, 0, 0, 0.22);
456
447
  transition:
457
448
  background-color 420ms ease,
458
449
  border-color 420ms ease,
@@ -804,13 +795,19 @@
804
795
  }
805
796
 
806
797
  .portal-header-panel {
807
- @apply flex flex-col gap-4 p-5 md:flex-row md:items-end md:justify-between md:p-6;
798
+ @apply flex flex-col gap-3 p-4 sm:flex-row sm:items-center sm:justify-between md:items-end md:p-5 lg:p-6;
808
799
  }
809
800
 
810
801
  .portal-stat-card {
811
- @apply flex h-11 items-center rounded-2xl border px-3;
802
+ @apply hidden sm:flex h-9 items-center gap-1.5 rounded-xl border px-2.5;
812
803
  border-color: rgba(255, 255, 255, 0.1);
813
804
  background: rgba(255, 255, 255, 0.05);
805
+ color: #71717a;
806
+ }
807
+
808
+ .portal-stat-value {
809
+ @apply text-xs font-semibold;
810
+ color: #d4d4d8;
814
811
  }
815
812
 
816
813
  .portal-toolbar {
@@ -1939,4 +1936,45 @@
1939
1936
  .fade.show {
1940
1937
  opacity: 1;
1941
1938
  }
1939
+
1940
+ /* ── Portal footer ── */
1941
+
1942
+ .portal-footer {
1943
+ @apply mt-10 py-4 text-center text-xs tracking-wide;
1944
+ color: #52525b;
1945
+ border-top: 1px solid rgba(255, 255, 255, 0.06);
1946
+ }
1947
+
1948
+ /* ── User avatar ── */
1949
+
1950
+ .portal-user-avatar {
1951
+ @apply inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-xl text-xs font-semibold uppercase;
1952
+ background: rgba(var(--color-brand) / 0.16);
1953
+ border: 1px solid rgba(var(--color-brand) / 0.2);
1954
+ color: rgb(var(--color-brand-soft));
1955
+ }
1956
+
1957
+ /* ── Role / permission chips (toggle style) ── */
1958
+
1959
+ .portal-role-chip {
1960
+ @apply inline-flex cursor-pointer items-center gap-1.5 rounded-full border px-3 py-1 text-xs font-medium transition-colors;
1961
+ border-color: rgba(255, 255, 255, 0.1);
1962
+ background: rgba(255, 255, 255, 0.04);
1963
+ color: #71717a;
1964
+ }
1965
+
1966
+ .portal-role-chip:hover {
1967
+ background: rgba(255, 255, 255, 0.08);
1968
+ color: #a1a1aa;
1969
+ }
1970
+
1971
+ .portal-role-chip-active {
1972
+ border-color: rgba(var(--color-brand) / 0.32);
1973
+ background: rgba(var(--color-brand) / 0.12);
1974
+ color: #c6ecfb;
1975
+ }
1976
+
1977
+ .portal-role-chip-active:hover {
1978
+ background: rgba(var(--color-brand) / 0.18);
1979
+ }
1942
1980
  }
package/light.css CHANGED
@@ -361,6 +361,11 @@
361
361
  .light .portal-stat-card {
362
362
  border-color: rgba(212, 212, 216, 0.92);
363
363
  background: rgba(255, 255, 255, 0.82);
364
+ color: #71717a;
365
+ }
366
+
367
+ .light .portal-stat-value {
368
+ color: #18181b;
364
369
  }
365
370
 
366
371
  .light .portal-toolbar-icon {
@@ -378,6 +383,7 @@
378
383
  .light .portal-widget-card {
379
384
  border-color: rgba(212, 212, 216, 0.92);
380
385
  background: rgba(255, 255, 255, 0.84);
386
+ box-shadow: 0 2px 12px -4px rgba(15, 23, 42, 0.12);
381
387
  }
382
388
 
383
389
  .light .portal-widget-card:hover {
@@ -474,28 +480,22 @@
474
480
  }
475
481
 
476
482
  .light .portal-launchpad-icon {
477
- border-color: rgba(186, 230, 253, 0.92);
478
- background:
479
- radial-gradient(ellipse at 28% 8%, rgba(255, 255, 255, 0.98), transparent 48%),
480
- radial-gradient(circle at bottom right, rgba(56, 189, 248, 0.18), transparent 54%),
481
- linear-gradient(160deg, rgba(255, 255, 255, 0.94) 0%, rgba(224, 242, 254, 0.82) 100%);
482
- color: rgb(var(--color-brand-strong));
483
+ background: linear-gradient(160deg, rgb(var(--color-brand)) 0%, rgb(var(--color-brand-strong)) 100%);
484
+ color: #ffffff;
483
485
  box-shadow:
484
- inset 0 1px 0 rgba(255, 255, 255, 0.96),
485
- inset 0 -20px 28px -20px rgba(8, 47, 73, 0.07),
486
- 0 20px 40px -28px rgba(14, 116, 144, 0.36),
487
- 0 2px 8px -2px rgba(14, 116, 144, 0.12);
488
- backdrop-filter: blur(20px) saturate(1.6);
489
- -webkit-backdrop-filter: blur(20px) saturate(1.6);
486
+ 0 4px 14px -4px rgba(var(--color-brand) / 0.44),
487
+ 0 1px 4px rgba(14, 116, 144, 0.14);
490
488
  }
491
489
 
492
490
  .light .portal-launchpad-card:hover .portal-launchpad-icon,
493
491
  .light .portal-launchpad-card:focus-visible .portal-launchpad-icon {
494
- border-color: rgba(125, 211, 252, 0.98);
495
492
  box-shadow:
496
- inset 0 1px 0 rgba(255, 255, 255, 0.96),
497
- inset 0 -16px 24px -22px rgba(8, 47, 73, 0.06),
498
- 0 24px 42px -28px rgba(14, 116, 144, 0.38);
493
+ 0 8px 22px -6px rgba(var(--color-brand) / 0.56),
494
+ 0 2px 8px rgba(14, 116, 144, 0.16);
495
+ }
496
+
497
+ .light .portal-launchpad-title {
498
+ color: #27272a;
499
499
  }
500
500
 
501
501
  .light .portal-launchpad-title {
@@ -515,16 +515,19 @@
515
515
  .light .portal-home-card {
516
516
  border-color: rgba(212, 212, 216, 0.92);
517
517
  background: rgba(255, 255, 255, 0.84);
518
+ box-shadow: 0 2px 12px -4px rgba(15, 23, 42, 0.12);
518
519
  }
519
520
 
520
521
  .light .portal-dashboard-main {
521
522
  border-color: rgba(212, 212, 216, 0.92);
522
523
  background: rgba(255, 255, 255, 0.84);
524
+ box-shadow: 0 2px 12px -4px rgba(15, 23, 42, 0.12);
523
525
  }
524
526
 
525
527
  .light .portal-side-card {
526
528
  border-color: rgba(212, 212, 216, 0.92);
527
529
  background: rgba(255, 255, 255, 0.84);
530
+ box-shadow: 0 2px 12px -4px rgba(15, 23, 42, 0.12);
528
531
  }
529
532
 
530
533
  .light .portal-side-hero {
@@ -997,3 +1000,41 @@
997
1000
  .light .text-orange {
998
1001
  color: #c2410c !important;
999
1002
  }
1003
+
1004
+ /* ── Portal footer ── */
1005
+
1006
+ .light .portal-footer {
1007
+ color: #71717a;
1008
+ border-top-color: rgba(0, 0, 0, 0.08);
1009
+ }
1010
+
1011
+ /* ── User avatar ── */
1012
+
1013
+ .light .portal-user-avatar {
1014
+ background: rgba(var(--color-brand) / 0.1);
1015
+ border-color: rgba(var(--color-brand) / 0.18);
1016
+ color: rgb(var(--color-brand-strong));
1017
+ }
1018
+
1019
+ /* ── Role / permission chips ── */
1020
+
1021
+ .light .portal-role-chip {
1022
+ border-color: rgba(212, 212, 216, 0.92);
1023
+ background: rgba(255, 255, 255, 0.82);
1024
+ color: #52525b;
1025
+ }
1026
+
1027
+ .light .portal-role-chip:hover {
1028
+ background: #ffffff;
1029
+ color: #27272a;
1030
+ }
1031
+
1032
+ .light .portal-role-chip-active {
1033
+ border-color: rgba(var(--color-brand) / 0.3);
1034
+ background: rgba(var(--color-brand) / 0.1);
1035
+ color: rgb(var(--color-brand-strong));
1036
+ }
1037
+
1038
+ .light .portal-role-chip-active:hover {
1039
+ background: rgba(var(--color-brand) / 0.15);
1040
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limpiolux/ui-styles",
3
- "version": "1.0.19",
3
+ "version": "1.0.21",
4
4
  "description": "Shared design system — Limpiolux liquid glass theme with auth, portal and dark/light mode support",
5
5
  "type": "module",
6
6
  "exports": {