@svadmin/ui 0.42.3 → 0.43.0

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 (76) hide show
  1. package/dist/app.css +462 -825
  2. package/dist/app.theme.css +462 -825
  3. package/dist/components/ErrorPage.svelte +4 -56
  4. package/dist/components/TwoFactorAuthPage.svelte +44 -232
  5. package/dist/components/account/CompanyProfilePage.svelte +21 -142
  6. package/dist/components/account/GetStartedPage.svelte +33 -115
  7. package/dist/components/account/GetStartedPage.svelte.d.ts +1 -2
  8. package/dist/components/account/SecurityLogPage.svelte +16 -131
  9. package/dist/components/account/SettingsEnterprisePage.svelte +15 -275
  10. package/dist/components/account/SettingsPlainPage.svelte +10 -175
  11. package/dist/components/account/SettingsSidebarPage.svelte +11 -304
  12. package/dist/components/account/TeamMembersPage.svelte +18 -187
  13. package/dist/components/account/UserProfilePage.svelte +19 -196
  14. package/dist/components/account/UserProfilePage.svelte.d.ts +1 -2
  15. package/dist/components/content/ApiKeyList.svelte +13 -0
  16. package/dist/components/content/ApiKeyList.svelte.d.ts +16 -0
  17. package/dist/components/content/ContentPageHeader.svelte +31 -0
  18. package/dist/components/content/ContentPageHeader.svelte.d.ts +12 -0
  19. package/dist/components/content/ContentPageShell.svelte +39 -0
  20. package/dist/components/content/ContentPageShell.svelte.d.ts +14 -0
  21. package/dist/components/content/DataState.svelte +44 -0
  22. package/dist/components/content/DataState.svelte.d.ts +13 -0
  23. package/dist/components/content/DescriptionList.svelte +27 -0
  24. package/dist/components/content/DescriptionList.svelte.d.ts +14 -0
  25. package/dist/components/content/FileList.svelte +13 -0
  26. package/dist/components/content/FileList.svelte.d.ts +16 -0
  27. package/dist/components/content/FilterToolbar.svelte +24 -0
  28. package/dist/components/content/FilterToolbar.svelte.d.ts +11 -0
  29. package/dist/components/content/ImportDropzone.svelte +19 -0
  30. package/dist/components/content/ImportDropzone.svelte.d.ts +10 -0
  31. package/dist/components/content/IntegrationCard.svelte +16 -0
  32. package/dist/components/content/IntegrationCard.svelte.d.ts +15 -0
  33. package/dist/components/content/MemberList.svelte +16 -0
  34. package/dist/components/content/MemberList.svelte.d.ts +17 -0
  35. package/dist/components/content/MetricBlock.svelte +27 -0
  36. package/dist/components/content/MetricBlock.svelte.d.ts +13 -0
  37. package/dist/components/content/NetworkTable.svelte +18 -0
  38. package/dist/components/content/NetworkTable.svelte.d.ts +31 -0
  39. package/dist/components/content/NetworkTable.types.d.ts +4 -0
  40. package/dist/components/content/NetworkTable.types.js +1 -0
  41. package/dist/components/content/NetworkUserCard.svelte +17 -0
  42. package/dist/components/content/NetworkUserCard.svelte.d.ts +17 -0
  43. package/dist/components/content/OtpInput.svelte +22 -0
  44. package/dist/components/content/OtpInput.svelte.d.ts +10 -0
  45. package/dist/components/content/PageToolbar.svelte +18 -0
  46. package/dist/components/content/PageToolbar.svelte.d.ts +10 -0
  47. package/dist/components/content/ProjectCard.svelte +39 -0
  48. package/dist/components/content/ProjectCard.svelte.d.ts +20 -0
  49. package/dist/components/content/SectionHeader.svelte +18 -0
  50. package/dist/components/content/SectionHeader.svelte.d.ts +10 -0
  51. package/dist/components/content/SecurityEventTable.svelte +18 -0
  52. package/dist/components/content/SecurityEventTable.svelte.d.ts +15 -0
  53. package/dist/components/content/StatusBadge.svelte +19 -0
  54. package/dist/components/content/StatusBadge.svelte.d.ts +9 -0
  55. package/dist/components/content/SystemErrorState.svelte +18 -0
  56. package/dist/components/content/SystemErrorState.svelte.d.ts +10 -0
  57. package/dist/components/content/TeamCard.svelte +26 -0
  58. package/dist/components/content/TeamCard.svelte.d.ts +23 -0
  59. package/dist/components/content/TwoFactorStepper.svelte +11 -0
  60. package/dist/components/content/TwoFactorStepper.svelte.d.ts +8 -0
  61. package/dist/components/content/index.d.ts +32 -0
  62. package/dist/components/content/index.js +22 -0
  63. package/dist/components/network/TeamCrewTablePage.svelte +29 -181
  64. package/dist/components/network/UserCardsNFTPage.svelte +24 -137
  65. package/dist/components/profile/ActivityTimeline.svelte +17 -91
  66. package/dist/components/profile/ProfileCard.svelte +4 -4
  67. package/dist/components/profile/ProjectsGrid.svelte +28 -106
  68. package/dist/components/profile/ProjectsGrid.svelte.d.ts +2 -12
  69. package/dist/components/profile/PublicProfilePage.svelte +31 -181
  70. package/dist/components/profile/TeamsShowcase.svelte +12 -114
  71. package/dist/components/profile/TeamsShowcase.svelte.d.ts +2 -12
  72. package/dist/index.d.ts +36 -0
  73. package/dist/index.js +24 -0
  74. package/dist/reference-data.d.ts +171 -0
  75. package/dist/reference-data.js +39 -0
  76. package/package.json +1 -1
@@ -1,16 +1,12 @@
1
- /* Typography — Inter font for clean, modern look */
1
+ /* @svadmin/ui - Stripe-first product tokens
2
+ * Imported by AdminApp and overridable by consumer CSS.
3
+ * Metronic references inform capability coverage, never visual styling.
4
+ */
2
5
 
3
6
  /* Tailwind v4 resolves this path relative to the published CSS file, so both
4
7
  * src/app.css in the workspace and dist/app*.css on npm scan real components. */
5
8
  @source "./components";
6
9
 
7
- /* @svadmin/ui — Design Tokens (clean admin shell)
8
- * Auto-imported by AdminApp. Can be overridden by consumer's CSS.
9
- *
10
- * Clean dashboard style: indigo primary, light glassmorphism,
11
- * professional admin aesthetic with subtle depth.
12
- */
13
-
14
10
  @layer base {
15
11
  /* Use the semantic token so consumers can normalize legacy channel-only
16
12
  * values without the base reset falling back to currentColor. */
@@ -21,86 +17,94 @@
21
17
  }
22
18
 
23
19
  :root {
24
- --radius: 0.75rem;
25
- --background: oklch(0.975 0.005 264);
26
- --foreground: oklch(0.13 0.02 265);
20
+ --radius: 0.5rem;
21
+ --background: oklch(0.982 0.003 264);
22
+ --foreground: oklch(0.205 0.012 264);
27
23
  --card: oklch(1 0 0);
28
- --card-foreground: oklch(0.13 0.02 265);
24
+ --card-foreground: oklch(0.205 0.012 264);
29
25
  --popover: oklch(1 0 0);
30
- --popover-foreground: oklch(0.13 0.02 265);
31
- --primary: oklch(0.488 0.243 264.376);
32
- --primary-foreground: oklch(0.985 0 0);
33
- --secondary: oklch(0.955 0.008 264);
34
- --secondary-foreground: oklch(0.2 0.04 265);
35
- --muted: oklch(0.955 0.005 264);
36
- --muted-foreground: oklch(0.45 0.03 260);
37
- --accent: oklch(0.955 0.008 264);
38
- --accent-foreground: oklch(0.2 0.04 265);
39
- --destructive: oklch(0.577 0.245 27.325);
40
- --destructive-foreground: oklch(0.985 0 0);
41
- --border: oklch(0.935 0.005 264);
42
- --input: oklch(0.935 0.005 264);
43
- --ring: oklch(0.488 0.243 264.376);
44
- --chart-1: oklch(0.488 0.243 264.376);
45
- --chart-2: oklch(0.6 0.118 184.704);
46
- --chart-3: oklch(0.398 0.07 227.392);
47
- --chart-4: oklch(0.828 0.189 84.429);
48
- --chart-5: oklch(0.769 0.188 70.08);
49
- --success: oklch(0.6 0.2 145);
50
- --success-foreground: oklch(0.985 0 0);
51
- --warning: oklch(0.75 0.18 85);
52
- --warning-foreground: oklch(0.3 0.08 60);
53
- --info: oklch(0.6 0.15 250);
54
- --info-foreground: oklch(0.985 0 0);
55
- --sidebar: oklch(0.985 0.002 264);
56
- --sidebar-foreground: oklch(0.23 0.02 265);
57
- --sidebar-primary: oklch(0.488 0.243 264.376);
58
- --sidebar-primary-foreground: oklch(0.985 0 0);
59
- --sidebar-accent: oklch(0.955 0.012 264);
60
- --sidebar-accent-foreground: oklch(0.33 0.17 264);
61
- --sidebar-border: oklch(0.935 0.005 264);
62
- --sidebar-ring: oklch(0.488 0.243 264.376);
26
+ --popover-foreground: oklch(0.205 0.012 264);
27
+ --primary: oklch(0.558 0.22 278);
28
+ --primary-foreground: oklch(0.99 0 0);
29
+ --secondary: oklch(0.965 0.004 264);
30
+ --secondary-foreground: oklch(0.265 0.014 264);
31
+ --muted: oklch(0.96 0.004 264);
32
+ --muted-foreground: oklch(0.493 0.018 264);
33
+ --accent: oklch(0.962 0.012 278);
34
+ --accent-foreground: oklch(0.34 0.105 278);
35
+ --destructive: oklch(0.58 0.22 27);
36
+ --destructive-foreground: oklch(0.99 0 0);
37
+ --border: oklch(0.914 0.006 264);
38
+ --input: oklch(0.88 0.008 264);
39
+ --ring: oklch(0.558 0.22 278);
40
+ --chart-1: oklch(0.558 0.22 278);
41
+ --chart-2: oklch(0.57 0.12 196);
42
+ --chart-3: oklch(0.56 0.13 244);
43
+ --chart-4: oklch(0.72 0.15 78);
44
+ --chart-5: oklch(0.62 0.17 19);
45
+ --success: oklch(0.55 0.16 151);
46
+ --success-foreground: oklch(0.99 0 0);
47
+ --warning: oklch(0.7 0.15 75);
48
+ --warning-foreground: oklch(0.25 0.04 60);
49
+ --info: oklch(0.58 0.14 244);
50
+ --info-foreground: oklch(0.99 0 0);
51
+ --sidebar: oklch(0.995 0.001 264);
52
+ --sidebar-foreground: oklch(0.265 0.014 264);
53
+ --sidebar-primary: oklch(0.558 0.22 278);
54
+ --sidebar-primary-foreground: oklch(0.99 0 0);
55
+ --sidebar-accent: oklch(0.962 0.012 278);
56
+ --sidebar-accent-foreground: oklch(0.34 0.105 278);
57
+ --sidebar-border: oklch(0.914 0.006 264);
58
+ --sidebar-ring: oklch(0.558 0.22 278);
59
+ --svadmin-shadow-control: 0 1px 2px rgb(15 23 42 / 0.05), 0 0 0 1px rgb(15 23 42 / 0.025);
60
+ --svadmin-shadow-surface: 0 1px 2px rgb(15 23 42 / 0.035), 0 1px 3px rgb(15 23 42 / 0.025);
61
+ --svadmin-shadow-surface-hover: 0 2px 5px rgb(15 23 42 / 0.055), 0 1px 2px rgb(15 23 42 / 0.035);
62
+ --svadmin-shadow-overlay: 0 18px 48px rgb(15 23 42 / 0.14), 0 4px 12px rgb(15 23 42 / 0.08);
63
63
  }
64
64
 
65
65
  .dark {
66
- --background: oklch(0.13 0.015 265);
67
- --foreground: oklch(0.985 0 0);
68
- --card: oklch(0.16 0.015 265);
69
- --card-foreground: oklch(0.985 0 0);
70
- --popover: oklch(0.16 0.015 265);
71
- --popover-foreground: oklch(0.985 0 0);
72
- --primary: oklch(0.585 0.233 264);
73
- --primary-foreground: oklch(0.15 0.04 265);
74
- --secondary: oklch(0.23 0.025 265);
75
- --secondary-foreground: oklch(0.985 0 0);
76
- --muted: oklch(0.23 0.025 265);
77
- --muted-foreground: oklch(0.7 0.02 260);
78
- --accent: oklch(0.23 0.025 265);
79
- --accent-foreground: oklch(0.985 0 0);
80
- --destructive: oklch(0.704 0.191 22.216);
81
- --destructive-foreground: oklch(0.985 0 0);
82
- --border: oklch(0.27 0.02 265);
83
- --input: oklch(0.27 0.02 265);
84
- --ring: oklch(0.55 0.18 264);
85
- --chart-1: oklch(0.585 0.233 264);
86
- --chart-2: oklch(0.696 0.17 162.48);
87
- --chart-3: oklch(0.769 0.188 70.08);
88
- --chart-4: oklch(0.627 0.265 303.9);
89
- --chart-5: oklch(0.645 0.246 16.439);
90
- --success: oklch(0.65 0.2 150);
91
- --success-foreground: oklch(0.985 0 0);
92
- --warning: oklch(0.8 0.15 85);
93
- --warning-foreground: oklch(0.25 0.05 60);
94
- --info: oklch(0.65 0.15 250);
95
- --info-foreground: oklch(0.985 0 0);
96
- --sidebar: oklch(0.17 0.015 265);
97
- --sidebar-foreground: oklch(0.92 0.005 264);
98
- --sidebar-primary: oklch(0.585 0.233 264);
99
- --sidebar-primary-foreground: oklch(0.985 0 0);
100
- --sidebar-accent: oklch(0.488 0.243 264.376 / 12%);
101
- --sidebar-accent-foreground: oklch(0.7 0.15 264);
102
- --sidebar-border: oklch(0.27 0.02 265);
103
- --sidebar-ring: oklch(0.55 0.18 264);
66
+ --background: oklch(0.15 0.01 264);
67
+ --foreground: oklch(0.96 0.004 264);
68
+ --card: oklch(0.185 0.012 264);
69
+ --card-foreground: oklch(0.96 0.004 264);
70
+ --popover: oklch(0.195 0.012 264);
71
+ --popover-foreground: oklch(0.96 0.004 264);
72
+ --primary: oklch(0.68 0.18 278);
73
+ --primary-foreground: oklch(0.15 0.03 278);
74
+ --secondary: oklch(0.235 0.012 264);
75
+ --secondary-foreground: oklch(0.94 0.004 264);
76
+ --muted: oklch(0.235 0.012 264);
77
+ --muted-foreground: oklch(0.7 0.012 264);
78
+ --accent: oklch(0.245 0.035 278);
79
+ --accent-foreground: oklch(0.84 0.09 278);
80
+ --destructive: oklch(0.68 0.19 24);
81
+ --destructive-foreground: oklch(0.98 0 0);
82
+ --border: oklch(0.3 0.012 264);
83
+ --input: oklch(0.335 0.014 264);
84
+ --ring: oklch(0.68 0.18 278);
85
+ --chart-1: oklch(0.68 0.18 278);
86
+ --chart-2: oklch(0.7 0.13 177);
87
+ --chart-3: oklch(0.72 0.13 230);
88
+ --chart-4: oklch(0.78 0.14 83);
89
+ --chart-5: oklch(0.72 0.16 22);
90
+ --success: oklch(0.68 0.15 151);
91
+ --success-foreground: oklch(0.15 0.03 151);
92
+ --warning: oklch(0.8 0.14 78);
93
+ --warning-foreground: oklch(0.22 0.04 60);
94
+ --info: oklch(0.7 0.13 244);
95
+ --info-foreground: oklch(0.15 0.03 244);
96
+ --sidebar: oklch(0.17 0.01 264);
97
+ --sidebar-foreground: oklch(0.9 0.006 264);
98
+ --sidebar-primary: oklch(0.68 0.18 278);
99
+ --sidebar-primary-foreground: oklch(0.15 0.03 278);
100
+ --sidebar-accent: oklch(0.245 0.035 278);
101
+ --sidebar-accent-foreground: oklch(0.84 0.09 278);
102
+ --sidebar-border: oklch(0.3 0.012 264);
103
+ --sidebar-ring: oklch(0.68 0.18 278);
104
+ --svadmin-shadow-control: 0 1px 2px rgb(0 0 0 / 0.24), 0 0 0 1px rgb(255 255 255 / 0.025);
105
+ --svadmin-shadow-surface: 0 1px 2px rgb(0 0 0 / 0.22), 0 1px 3px rgb(0 0 0 / 0.16);
106
+ --svadmin-shadow-surface-hover: 0 2px 5px rgb(0 0 0 / 0.28), 0 1px 2px rgb(0 0 0 / 0.2);
107
+ --svadmin-shadow-overlay: 0 20px 56px rgb(0 0 0 / 0.5), 0 4px 16px rgb(0 0 0 / 0.32);
104
108
  }
105
109
 
106
110
  /* ── Color Theme Overrides ──────────────────────────────
@@ -118,7 +122,7 @@
118
122
  --sidebar-primary: oklch(0.205 0.006 286);
119
123
  --sidebar-primary-foreground: oklch(0.985 0 0);
120
124
  --sidebar-ring: oklch(0.205 0.006 286);
121
- --chart-1: oklch(0.488 0.243 264.376);
125
+ --chart-1: oklch(0.558 0.22 278);
122
126
  }
123
127
  .dark[data-theme="neutral"],
124
128
  .dark [data-theme="neutral"] {
@@ -128,28 +132,28 @@
128
132
  --sidebar-primary: oklch(0.922 0.004 286);
129
133
  --sidebar-primary-foreground: oklch(0.205 0.006 286);
130
134
  --sidebar-ring: oklch(0.556 0.004 286);
131
- --chart-1: oklch(0.585 0.233 264);
135
+ --chart-1: oklch(0.68 0.18 278);
132
136
  }
133
137
 
134
138
  /* Indigo (default) */
135
139
  [data-theme="indigo"] {
136
- --primary: oklch(0.488 0.243 264.376);
140
+ --primary: oklch(0.558 0.22 278);
137
141
  --primary-foreground: oklch(0.985 0 0);
138
- --ring: oklch(0.488 0.243 264.376);
139
- --sidebar-primary: oklch(0.488 0.243 264.376);
142
+ --ring: oklch(0.558 0.22 278);
143
+ --sidebar-primary: oklch(0.558 0.22 278);
140
144
  --sidebar-primary-foreground: oklch(0.985 0 0);
141
- --sidebar-ring: oklch(0.488 0.243 264.376);
142
- --chart-1: oklch(0.488 0.243 264.376);
145
+ --sidebar-ring: oklch(0.558 0.22 278);
146
+ --chart-1: oklch(0.558 0.22 278);
143
147
  }
144
148
  .dark[data-theme="indigo"],
145
149
  .dark [data-theme="indigo"] {
146
- --primary: oklch(0.585 0.233 264);
150
+ --primary: oklch(0.68 0.18 278);
147
151
  --primary-foreground: oklch(0.15 0.04 265);
148
- --ring: oklch(0.55 0.18 264);
149
- --sidebar-primary: oklch(0.585 0.233 264);
152
+ --ring: oklch(0.68 0.18 278);
153
+ --sidebar-primary: oklch(0.68 0.18 278);
150
154
  --sidebar-primary-foreground: oklch(0.985 0 0);
151
- --sidebar-ring: oklch(0.55 0.18 264);
152
- --chart-1: oklch(0.585 0.233 264);
155
+ --sidebar-ring: oklch(0.68 0.18 278);
156
+ --chart-1: oklch(0.68 0.18 278);
153
157
  }
154
158
 
155
159
  /* Blue */
@@ -257,316 +261,240 @@
257
261
  --chart-1: oklch(0.541 0.281 293.009);
258
262
  }
259
263
 
260
- /* Soft shadows — premium, multi-layered depth */
261
- [data-slot="button"],
262
- [data-slot="input"],
263
- [data-slot="select-trigger"],
264
- [data-slot="select"],
265
- [data-slot="textarea"] {
266
- /* Subtle interaction shadow */
267
- box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.04), 0 0 0 1px rgb(0 0 0 / 0.02);
268
- }
269
-
270
- /* Form inputs use card background instead of transparent */
271
- [data-slot="input"],
272
- [data-slot="textarea"],
273
- [data-slot="select"] {
274
- background-color: var(--card);
275
- }
276
-
277
- [data-slot="card"] {
278
- /* Classic soft shadow: faint ambient + directional drop */
279
- box-shadow: 0 2px 5px -1px rgb(0 0 0 / 0.04), 0 1px 1px -1px rgb(0 0 0 / 0.04), 0 0 0 1px rgb(0 0 0 / 0.02);
280
- }
281
-
282
- [data-slot="dialog-content"],
283
- [data-slot="sheet-content"] {
284
- /* Deep floating layer for modals */
285
- box-shadow: 0 10px 30px -5px rgb(0 0 0 / 0.08), 0 20px 40px -10px rgb(0 0 0 / 0.04);
286
- }
287
264
  }
288
265
 
289
266
  body {
267
+ background: var(--background);
268
+ color: var(--foreground);
290
269
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
270
+ font-size: 0.875rem;
271
+ line-height: 1.5;
291
272
  -webkit-font-smoothing: antialiased;
292
273
  -moz-osx-font-smoothing: grayscale;
293
274
  }
294
275
 
295
- /* Premium Typography Refinements */
296
- h1, h2, h3 {
297
- letter-spacing: -0.025em;
298
- font-weight: 600;
299
- }
300
- h4, h5, h6 {
301
- letter-spacing: -0.01em;
276
+ h1,
277
+ h2,
278
+ h3,
279
+ h4,
280
+ h5,
281
+ h6,
282
+ [data-slot="card-title"] {
283
+ letter-spacing: 0;
302
284
  }
303
285
 
304
- /* Micro-interactions: Linear/Apple ecosystem click scales */
305
286
  [data-slot="button"],
306
- button {
307
- transition: transform 0.1s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.15s ease, box-shadow 0.15s ease;
287
+ [data-slot="input"],
288
+ [data-slot="select-trigger"],
289
+ [data-slot="select"],
290
+ [data-slot="textarea"] {
291
+ box-shadow: var(--shadow-control);
292
+ transition:
293
+ background-color 140ms ease,
294
+ border-color 140ms ease,
295
+ color 140ms ease,
296
+ box-shadow 140ms ease;
297
+ }
298
+
299
+ [data-slot="input"],
300
+ [data-slot="textarea"],
301
+ [data-slot="select"],
302
+ [data-slot="select-trigger"] {
303
+ background-color: var(--card);
304
+ }
305
+
306
+ [data-slot="card"] {
307
+ box-shadow: var(--shadow-surface);
308
+ transition:
309
+ border-color 160ms ease,
310
+ box-shadow 160ms ease;
308
311
  }
309
- [data-slot="button"]:active:not(:disabled),
310
- button:active:not(:disabled) {
311
- transform: scale(0.98);
312
+
313
+ [data-slot="card"][data-interactive="true"]:hover {
314
+ border-color: color-mix(in oklch, var(--primary) 24%, var(--border));
315
+ box-shadow: var(--shadow-surface-hover);
316
+ }
317
+
318
+ [data-slot="dialog-content"],
319
+ [data-slot="sheet-content"],
320
+ [data-slot="popover-content"],
321
+ [data-slot="dropdown-menu-content"],
322
+ [data-slot="context-menu-content"] {
323
+ box-shadow: var(--shadow-overlay);
312
324
  }
313
325
 
314
- /* Subtle glowing focus ring for inputs */
315
326
  [data-slot="button"]:focus-visible,
316
327
  [data-slot="input"]:focus-visible,
317
328
  [data-slot="textarea"]:focus-visible,
318
- [data-slot="select-trigger"]:focus-visible {
319
- box-shadow: 0 0 0 1px var(--color-background), 0 0 0 3px color-mix(in oklch, var(--color-primary) 20%, transparent) !important;
320
- border-color: var(--color-primary);
329
+ [data-slot="select-trigger"]:focus-visible,
330
+ .sidebar-menu-item:focus-visible {
331
+ border-color: var(--ring);
332
+ outline: 2px solid color-mix(in oklch, var(--ring) 48%, transparent);
333
+ outline-offset: 2px;
321
334
  }
322
335
 
323
- /* Base scrollbar styling (Firefox + Standard) */
324
336
  * {
337
+ scrollbar-color: color-mix(in oklch, var(--muted-foreground) 42%, transparent) transparent;
325
338
  scrollbar-width: thin;
326
- scrollbar-color: oklch(0.8 0 0) transparent;
327
- }
328
- .dark * {
329
- scrollbar-color: oklch(0.35 0 0) transparent;
330
339
  }
331
340
 
332
- /* Scrollbar styling (Webkit) */
333
- ::-webkit-scrollbar { width: 6px; height: 6px; }
334
- ::-webkit-scrollbar-track { background: transparent; }
335
- ::-webkit-scrollbar-thumb { background: oklch(0.8 0 0); border-radius: 3px; }
336
- ::-webkit-scrollbar-thumb:hover { background: oklch(0.65 0 0); }
337
- .dark ::-webkit-scrollbar-thumb { background: oklch(0.35 0 0); }
338
- .dark ::-webkit-scrollbar-thumb:hover { background: oklch(0.45 0 0); }
339
-
340
- /* Card Hover Elevation Lift — subtle float on hover */
341
- [data-slot="card"] {
342
- transition: box-shadow 0.2s ease, transform 0.2s ease;
343
- }
344
- @media (hover: hover) {
345
- [data-slot="card"]:hover {
346
- box-shadow: 0 6px 16px -4px rgb(0 0 0 / 0.06), 0 4px 8px -2px rgb(0 0 0 / 0.04), 0 0 0 1px rgb(0 0 0 / 0.02);
347
- transform: translateY(-1px);
348
- }
341
+ ::-webkit-scrollbar {
342
+ width: 6px;
343
+ height: 6px;
349
344
  }
350
345
 
351
- /* ② Table Row Hover — primary color tint instead of plain gray */
352
- [data-slot="table-row"]:hover {
353
- background-color: color-mix(in oklch, var(--primary) 4%, var(--background)) !important;
354
- }
355
- [data-slot="table-row"] {
356
- transition: background-color 0.15s ease;
346
+ ::-webkit-scrollbar-track {
347
+ background: transparent;
357
348
  }
358
349
 
359
-
360
- /* ④ Skeleton Shimmer — metallic light sweep instead of static pulse */
361
- @keyframes svadmin-shimmer {
362
- 0% { background-position: -200% 0; }
363
- 100% { background-position: 200% 0; }
364
- }
365
- [data-slot="skeleton"] {
366
- animation: svadmin-shimmer 1.5s ease-in-out infinite !important;
367
- background: linear-gradient(90deg, var(--muted) 25%, color-mix(in oklch, var(--muted) 60%, white) 50%, var(--muted) 75%) !important;
368
- background-size: 200% 100% !important;
369
- }
370
- .dark [data-slot="skeleton"] {
371
- background: linear-gradient(90deg, var(--muted) 25%, color-mix(in oklch, var(--muted) 60%, var(--foreground)) 50%, var(--muted) 75%) !important;
350
+ ::-webkit-scrollbar-thumb {
351
+ background: color-mix(in oklch, var(--muted-foreground) 42%, transparent);
352
+ border-radius: 3px;
372
353
  }
373
354
 
374
- /* ⑤ Route Page Transition — fade + subtle slide-up */
375
- @keyframes svadmin-page-enter {
376
- from {
377
- opacity: 0;
378
- transform: translateY(6px);
379
- }
380
- to {
381
- opacity: 1;
382
- transform: translateY(0);
383
- }
384
- }
385
- .svadmin-page-enter {
386
- animation: svadmin-page-enter 0.25s ease-out;
355
+ ::-webkit-scrollbar-thumb:hover {
356
+ background: color-mix(in oklch, var(--muted-foreground) 62%, transparent);
387
357
  }
388
358
 
389
- /* ⑥ Toast slide-in refinement (svelte-sonner) — tighter timing */
390
- [data-sonner-toaster] [data-sonner-toast] {
391
- transition-duration: 200ms !important;
392
- transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
359
+ [data-slot="table-row"] {
360
+ transition: background-color 140ms ease;
393
361
  }
394
362
 
395
- /* ⑦ Gradient Top Border on Cards — Vercel dashboard style */
396
- [data-slot="card"]::before {
397
- content: '';
398
- position: absolute;
399
- top: 0;
400
- left: 0;
401
- right: 0;
402
- height: 1px;
403
- background: linear-gradient(90deg, transparent, color-mix(in oklch, var(--primary) 20%, transparent), transparent);
404
- border-radius: inherit;
405
- pointer-events: none;
406
- }
407
- [data-slot="card"] {
408
- position: relative;
409
- overflow: hidden;
363
+ [data-slot="table-row"]:hover {
364
+ background-color: color-mix(in oklch, var(--primary) 4%, var(--background));
410
365
  }
411
366
 
412
- /* ⑧ Dark Mode Primary Glow — Linear-style neon accents */
413
- .dark [data-slot="button"][data-variant="default"],
414
- .dark [data-slot="badge"][data-variant="default"] {
415
- box-shadow: 0 0 12px -3px color-mix(in oklch, var(--primary) 40%, transparent);
367
+ @keyframes svadmin-skeleton-pulse {
368
+ 50% {
369
+ opacity: 0.62;
370
+ }
416
371
  }
417
372
 
418
- /* ⑨ Form Validation Shake Animation */
419
- @keyframes svadmin-shake {
420
- 0%, 100% { transform: translateX(0); }
421
- 20% { transform: translateX(-6px); }
422
- 40% { transform: translateX(5px); }
423
- 60% { transform: translateX(-4px); }
424
- 80% { transform: translateX(2px); }
425
- }
426
- .svadmin-shake {
427
- animation: svadmin-shake 0.4s ease-out;
373
+ [data-slot="skeleton"] {
374
+ animation: svadmin-skeleton-pulse 1.5s ease-in-out infinite;
375
+ background: var(--muted);
428
376
  }
429
377
 
430
- /* ⑩ Table Row Staggered Entrance */
431
- @keyframes svadmin-row-enter {
378
+ @keyframes svadmin-page-enter {
432
379
  from {
433
380
  opacity: 0;
434
- transform: translateY(4px);
435
381
  }
382
+
436
383
  to {
437
384
  opacity: 1;
438
- transform: translateY(0);
439
385
  }
440
386
  }
441
- [data-slot="table-body"] [data-slot="table-row"] {
442
- animation: svadmin-row-enter 0.3s ease-out both;
443
- }
444
- [data-slot="table-body"] [data-slot="table-row"]:nth-child(1) { animation-delay: 0s; }
445
- [data-slot="table-body"] [data-slot="table-row"]:nth-child(2) { animation-delay: 0.03s; }
446
- [data-slot="table-body"] [data-slot="table-row"]:nth-child(3) { animation-delay: 0.06s; }
447
- [data-slot="table-body"] [data-slot="table-row"]:nth-child(4) { animation-delay: 0.09s; }
448
- [data-slot="table-body"] [data-slot="table-row"]:nth-child(5) { animation-delay: 0.12s; }
449
- [data-slot="table-body"] [data-slot="table-row"]:nth-child(6) { animation-delay: 0.15s; }
450
- [data-slot="table-body"] [data-slot="table-row"]:nth-child(7) { animation-delay: 0.18s; }
451
- [data-slot="table-body"] [data-slot="table-row"]:nth-child(8) { animation-delay: 0.21s; }
452
- [data-slot="table-body"] [data-slot="table-row"]:nth-child(9) { animation-delay: 0.24s; }
453
- [data-slot="table-body"] [data-slot="table-row"]:nth-child(10) { animation-delay: 0.27s; }
454
-
455
- /* ⑪ Accessibility: Respect reduced motion preferences */
456
- @media (prefers-reduced-motion: reduce) {
457
- *, *::before, *::after {
458
- animation-duration: 0.01ms !important;
459
- animation-iteration-count: 1 !important;
460
- transition-duration: 0.01ms !important;
461
- scroll-behavior: auto !important;
462
- }
387
+
388
+ .svadmin-page-enter {
389
+ animation: svadmin-page-enter 180ms ease-out;
463
390
  }
464
391
 
465
- /* ⑫b Safe Area Inset — iPhone notch / Home Bar support */
466
- @supports (padding-bottom: env(safe-area-inset-bottom)) {
467
- main {
468
- padding-bottom: env(safe-area-inset-bottom);
469
- }
392
+ [data-sonner-toaster] [data-sonner-toast] {
393
+ transition-duration: 180ms;
394
+ transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
470
395
  }
471
396
 
472
- /* ⑫ Optimistic Delete — row fade-out visual feedback */
473
397
  @keyframes svadmin-row-delete {
474
- from {
475
- opacity: 1;
476
- transform: translateX(0);
477
- }
478
398
  to {
479
399
  opacity: 0;
480
- transform: translateX(20px);
400
+ transform: translateX(12px);
481
401
  height: 0;
482
402
  padding: 0;
483
403
  margin: 0;
484
404
  }
485
405
  }
406
+
486
407
  .svadmin-deleting {
487
- animation: svadmin-row-delete 0.3s ease-out forwards;
408
+ animation: svadmin-row-delete 240ms ease-out forwards;
488
409
  pointer-events: none;
489
410
  }
490
411
 
491
- /* ⑬ Popover & Dropdown — frosted glass backdrop + spring entrance */
492
- [data-slot="popover-content"],
493
- [data-slot="dropdown-menu-content"],
494
- [data-slot="context-menu-content"] {
495
- backdrop-filter: blur(8px);
496
- -webkit-backdrop-filter: blur(8px);
497
- }
498
-
499
- /* ⑭ Tooltip spring entrance */
500
412
  [data-slot="tooltip-content"] {
501
- animation: svadmin-tooltip-enter 0.15s cubic-bezier(0.16, 1, 0.3, 1);
413
+ animation: svadmin-tooltip-enter 120ms ease-out;
502
414
  }
415
+
503
416
  @keyframes svadmin-tooltip-enter {
504
417
  from {
505
418
  opacity: 0;
506
- transform: scale(0.96);
507
419
  }
420
+
508
421
  to {
509
422
  opacity: 1;
510
- transform: scale(1);
511
423
  }
512
424
  }
513
425
 
514
- /* ⑮ Smooth scrolling for content areas */
515
426
  main {
516
427
  scroll-behavior: smooth;
517
428
  }
518
429
 
519
- /* ⑯ RTL (Right-to-Left) Language Support */
520
430
  [dir="rtl"] {
521
431
  direction: rtl;
522
432
  }
433
+
523
434
  [dir="rtl"] aside {
524
435
  left: auto;
525
436
  right: 0;
526
437
  }
527
- /* Mirror sidebar margins for RTL */
438
+
528
439
  [dir="rtl"] .sidebar-content-expanded {
529
440
  margin-left: 0;
530
441
  margin-right: 252px;
531
442
  }
443
+
532
444
  [dir="rtl"] .sidebar-content-collapsed {
533
445
  margin-left: 0;
534
446
  margin-right: 70px;
535
447
  }
536
448
 
537
- /* ── Sidebar Menu Item Styles ── */
538
- .sidebar-menu-item {
449
+ .sidebar-menu-item,
450
+ .sidebar-menu-item-active {
539
451
  position: relative;
540
- cursor: pointer;
541
- -webkit-tap-highlight-color: transparent;
542
452
  }
543
453
 
544
- .sidebar-menu-item-active {
545
- position: relative;
454
+ .sidebar-menu-item {
455
+ cursor: pointer;
456
+ -webkit-tap-highlight-color: transparent;
546
457
  }
547
458
 
548
459
  .sidebar-scroll [data-radix-scroll-area-viewport] > div {
549
- min-height: 100%;
550
460
  display: flex;
461
+ min-height: 100%;
551
462
  flex-direction: column;
552
463
  }
553
464
 
554
- /* ⑰ Accessibility Minimum Touch Target — Apple HIG 44px minimum */
465
+ @media (prefers-reduced-motion: reduce) {
466
+ *,
467
+ *::before,
468
+ *::after {
469
+ animation-duration: 0.01ms !important;
470
+ animation-iteration-count: 1 !important;
471
+ scroll-behavior: auto !important;
472
+ transition-duration: 0.01ms !important;
473
+ }
474
+ }
475
+
476
+ @supports (padding-bottom: env(safe-area-inset-bottom)) {
477
+ main {
478
+ padding-bottom: env(safe-area-inset-bottom);
479
+ }
480
+ }
481
+
555
482
  @media (max-width: 640px) and (pointer: coarse) {
556
483
  [data-slot="button"] {
557
484
  position: relative;
558
485
  }
486
+
559
487
  [data-slot="button"]::after {
560
- content: '';
561
488
  position: absolute;
489
+ z-index: 1;
562
490
  top: 50%;
563
491
  left: 50%;
564
- transform: translate(-50%, -50%);
565
- min-width: 44px;
566
- min-height: 44px;
567
492
  width: 100%;
493
+ min-width: 44px;
568
494
  height: 100%;
569
- z-index: 1;
495
+ min-height: 44px;
496
+ content: '';
497
+ transform: translate(-50%, -50%);
570
498
  }
571
499
  }
572
500
 
@@ -614,6 +542,10 @@ main {
614
542
  --radius-md: calc(var(--radius) - 2px);
615
543
  --radius-lg: var(--radius);
616
544
  --radius-xl: calc(var(--radius) + 4px);
545
+ --shadow-control: var(--svadmin-shadow-control);
546
+ --shadow-surface: var(--svadmin-shadow-surface);
547
+ --shadow-surface-hover: var(--svadmin-shadow-surface-hover);
548
+ --shadow-overlay: var(--svadmin-shadow-overlay);
617
549
  }
618
550
 
619
551
  /* ─── svadmin UI Components CSS ─────────────────────────────── */
@@ -672,256 +604,236 @@ main {
672
604
  font-weight: 600;
673
605
  }
674
606
 
675
- /* ─── High-Contrast Flat Layout Preset (clean-flat) ─── */
607
+ /* --- Stripe-first layout preset (clean-flat) --- */
608
+ /* Keep this public class for layoutPreset API compatibility. The preset only
609
+ * adjusts density and composition; color, focus, and elevation stay semantic. */
676
610
  .layout-clean-flat {
677
- --radius: 0.75rem;
611
+ --radius: 0.5rem;
612
+ --svadmin-content-width: 74rem;
613
+ --svadmin-surface: var(--card);
614
+ --svadmin-surface-muted: color-mix(in oklch, var(--muted) 72%, var(--card));
615
+ --svadmin-surface-hover: color-mix(in oklch, var(--primary) 4%, var(--card));
616
+ --svadmin-border: var(--border);
617
+ --svadmin-border-strong: color-mix(in oklch, var(--border) 74%, var(--foreground));
618
+ --svadmin-text: var(--foreground);
619
+ --svadmin-text-muted: var(--muted-foreground);
620
+ --svadmin-focus-ring: var(--ring);
621
+ --svadmin-control-shadow: var(--shadow-control);
622
+ --svadmin-surface-shadow: var(--shadow-surface);
623
+ --svadmin-surface-hover-shadow: var(--shadow-surface-hover);
624
+ --svadmin-floating-shadow: var(--shadow-overlay);
678
625
  }
679
626
 
680
- /* Base card flat background overrides */
681
- .layout-clean-flat [data-svadmin-content-page] .bg-card,
682
- .layout-clean-flat [data-slot="card"] {
683
- background: #ffffff !important;
684
- border: 1px solid #f1f3f7 !important;
685
- box-shadow: none !important;
686
- border-radius: 0.5rem !important;
687
- }
688
- .dark.layout-clean-flat [data-svadmin-content-page] .bg-card,
689
- .dark .layout-clean-flat [data-svadmin-content-page] .bg-card,
690
- .dark.layout-clean-flat [data-slot="card"],
691
- .dark .layout-clean-flat [data-slot="card"] {
692
- background: #1e1e2d !important;
693
- border: 1px solid #2b2b40 !important;
694
- box-shadow: none !important;
695
- }
696
-
697
- /* Crisp table header styles */
698
- .layout-clean-flat [data-slot="table-head"] {
699
- background-color: #f9f9f9 !important;
700
- border-bottom: 1px solid #f1f3f7 !important;
701
- color: #181c32 !important;
702
- font-weight: 600 !important;
703
- font-size: 0.75rem !important;
704
- text-transform: uppercase !important;
705
- letter-spacing: 0.05em !important;
706
- }
707
- .dark.layout-clean-flat [data-slot="table-head"],
708
- .dark .layout-clean-flat [data-slot="table-head"] {
709
- background-color: #1a1a27 !important;
710
- border-bottom: 1px solid #2b2b40 !important;
711
- color: #a1a5b7 !important;
712
- }
713
-
714
- /* Crisp table cell styles */
715
- .layout-clean-flat [data-slot="table-cell"] {
716
- border-bottom: 1px solid #f1f3f7 !important;
717
- color: #5e6278 !important;
718
- font-size: 0.8125rem !important;
719
- }
720
- .dark.layout-clean-flat [data-slot="table-cell"],
721
- .dark .layout-clean-flat [data-slot="table-cell"] {
722
- border-bottom: 1px solid rgba(43, 43, 64, 0.6) !important;
723
- color: #a1a5b7 !important;
724
- }
725
-
726
- /* Table row hover state */
727
- .layout-clean-flat [data-slot="table-row"]:hover [data-slot="table-cell"] {
728
- background-color: #f9f9f9 !important;
729
- }
730
- .dark.layout-clean-flat [data-slot="table-row"]:hover [data-slot="table-cell"],
731
- .dark .layout-clean-flat [data-slot="table-row"]:hover [data-slot="table-cell"] {
732
- background-color: rgba(43, 43, 64, 0.3) !important;
733
- }
734
-
735
- /* Sidebar layout adjustments for clean-flat theme */
736
- .layout-clean-flat [data-svadmin-sidebar] {
737
- background: #fafbfc !important;
738
- color: #181c32 !important;
739
- border-right-color: #f1f3f7 !important;
740
- box-shadow: none !important;
627
+ .layout-clean-flat [data-svadmin-main] {
628
+ background: var(--background);
629
+ color: var(--svadmin-text);
630
+ }
631
+
632
+ .layout-clean-flat [data-svadmin-main] > div,
633
+ .layout-clean-flat [data-svadmin-main] section,
634
+ .layout-clean-flat [data-svadmin-main] [data-slot="card-content"] {
635
+ min-width: 0;
741
636
  }
742
- .dark.layout-clean-flat [data-svadmin-sidebar],
743
- .dark .layout-clean-flat [data-svadmin-sidebar] {
744
- background: #1e1e2d !important;
745
- color: #a1a5b7 !important;
746
- border-right-color: #2b2b40 !important;
637
+
638
+ .layout-clean-flat [data-svadmin-sidebar] {
639
+ border-color: var(--sidebar-border);
640
+ background: var(--sidebar);
641
+ color: var(--sidebar-foreground);
642
+ box-shadow: inset -1px 0 0 var(--sidebar-border);
747
643
  }
748
644
 
749
645
  .layout-clean-flat .sidebar-menu-item {
750
- color: #5e6278 !important;
751
- border-radius: 0.5rem !important;
752
- transition: color 0.15s ease, background-color 0.15s ease !important;
753
- box-shadow: none !important;
646
+ border-radius: var(--radius-md);
647
+ color: var(--svadmin-text-muted);
648
+ box-shadow: none;
649
+ transition:
650
+ background-color 140ms ease,
651
+ color 140ms ease;
754
652
  }
755
653
 
756
654
  .layout-clean-flat .sidebar-menu-item:hover {
757
- background: transparent !important;
758
- color: #181c32 !important;
759
- }
760
- .dark.layout-clean-flat .sidebar-menu-item:hover,
761
- .dark .layout-clean-flat .sidebar-menu-item:hover {
762
- background: transparent !important;
763
- color: #f1f6ff !important;
655
+ background: color-mix(in oklch, var(--sidebar-accent) 72%, transparent);
656
+ color: var(--sidebar-foreground);
764
657
  }
765
658
 
766
659
  .layout-clean-flat .sidebar-menu-item-active {
767
- background: transparent !important;
768
- color: #3e97ff !important;
769
- font-weight: 600 !important;
770
- box-shadow: none !important;
771
- }
772
- .dark.layout-clean-flat .sidebar-menu-item-active,
773
- .dark .layout-clean-flat .sidebar-menu-item-active {
774
- background: transparent !important;
775
- color: #3e97ff !important;
660
+ background: var(--sidebar-accent);
661
+ color: var(--sidebar-primary);
662
+ font-weight: 600;
776
663
  }
777
664
 
778
665
  .layout-clean-flat .sidebar-menu-item-active svg {
779
- color: #3e97ff !important;
780
- opacity: 1 !important;
666
+ color: var(--sidebar-primary);
667
+ opacity: 1;
668
+ }
669
+
670
+ .layout-clean-flat [data-svadmin-content-page] .bg-card,
671
+ .layout-clean-flat [data-slot="card"] {
672
+ min-width: 0;
673
+ border-color: var(--svadmin-border);
674
+ border-radius: var(--radius-lg);
675
+ background: var(--svadmin-surface);
676
+ box-shadow: var(--svadmin-surface-shadow);
677
+ }
678
+
679
+ .layout-clean-flat [data-slot="card"][data-interactive="true"]:hover {
680
+ border-color: color-mix(in oklch, var(--primary) 24%, var(--svadmin-border));
681
+ box-shadow: var(--svadmin-surface-hover-shadow);
682
+ }
683
+
684
+ .layout-clean-flat [data-slot="button"] {
685
+ border-radius: var(--radius-md);
686
+ box-shadow: var(--svadmin-control-shadow);
781
687
  }
782
688
 
783
- /* Button & input styles override under clean-flat layout */
784
689
  .layout-clean-flat [data-slot="button"][data-variant="default"] {
785
- background: #3e97ff !important;
786
- color: #ffffff !important;
787
- box-shadow: none !important;
788
- border-radius: 8px !important;
789
- font-weight: 600 !important;
790
- transition: all 0.15s ease !important;
690
+ background: var(--primary);
691
+ color: var(--primary-foreground);
791
692
  }
693
+
792
694
  .layout-clean-flat [data-slot="button"][data-variant="default"]:hover {
793
- background: #1880ff !important;
695
+ background: color-mix(in oklch, var(--primary) 90%, var(--foreground));
794
696
  }
795
697
 
796
698
  .layout-clean-flat [data-slot="button"][data-variant="outline"] {
797
- background: #ffffff !important;
798
- color: #5e6278 !important;
799
- border: 1px solid #e1e3ea !important;
800
- box-shadow: none !important;
801
- border-radius: 8px !important;
802
- font-weight: 600 !important;
803
- transition: all 0.15s ease !important;
699
+ border-color: var(--svadmin-border-strong);
700
+ background: var(--svadmin-surface);
701
+ color: var(--svadmin-text);
804
702
  }
703
+
805
704
  .layout-clean-flat [data-slot="button"][data-variant="outline"]:hover {
806
- background: #f5f8fa !important;
807
- border-color: #cbd5e1 !important;
808
- color: #181c32 !important;
705
+ border-color: color-mix(in oklch, var(--primary) 18%, var(--svadmin-border-strong));
706
+ background: var(--svadmin-surface-muted);
707
+ color: var(--svadmin-text);
809
708
  }
810
- .dark.layout-clean-flat [data-slot="button"][data-variant="outline"],
811
- .dark .layout-clean-flat [data-slot="button"][data-variant="outline"] {
812
- background: #1e1e2d !important;
813
- color: #a1a5b7 !important;
814
- border-color: #2b2b40 !important;
815
- }
816
- .dark.layout-clean-flat [data-slot="button"][data-variant="outline"]:hover,
817
- .dark .layout-clean-flat [data-slot="button"][data-variant="outline"]:hover {
818
- background: #2b2b40 !important;
819
- color: #ffffff !important;
709
+
710
+ .layout-clean-flat [data-slot="input"],
711
+ .layout-clean-flat [data-slot="textarea"],
712
+ .layout-clean-flat [data-slot="select"],
713
+ .layout-clean-flat [data-slot="select-trigger"] {
714
+ border-color: var(--svadmin-border-strong);
715
+ border-radius: var(--radius-md);
716
+ background: var(--svadmin-surface);
717
+ color: var(--svadmin-text);
718
+ box-shadow: var(--svadmin-control-shadow);
820
719
  }
821
720
 
822
- .layout-clean-flat [data-slot="input"] {
823
- border: 1px solid #e1e3ea !important;
824
- border-radius: 8px !important;
825
- box-shadow: none !important;
826
- outline: none !important;
827
- transition: all 0.15s ease !important;
721
+ .layout-clean-flat [data-slot="input"]:focus-visible,
722
+ .layout-clean-flat [data-slot="textarea"]:focus-visible,
723
+ .layout-clean-flat [data-slot="select-trigger"]:focus-visible {
724
+ border-color: var(--svadmin-focus-ring);
725
+ outline-color: color-mix(in oklch, var(--svadmin-focus-ring) 48%, transparent);
828
726
  }
829
- .layout-clean-flat [data-slot="input"]:focus {
830
- border-color: #3e97ff !important;
831
- box-shadow: 0 0 0 4px rgba(62,151,255,0.1) !important;
727
+
728
+ .layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"] {
729
+ height: 3rem;
730
+ border-bottom-color: var(--svadmin-border);
731
+ background: var(--svadmin-surface-muted);
732
+ color: var(--svadmin-text-muted);
733
+ font-size: 0.75rem;
734
+ font-weight: 600;
735
+ letter-spacing: 0;
736
+ text-transform: none;
832
737
  }
833
- .dark.layout-clean-flat [data-slot="input"],
834
- .dark .layout-clean-flat [data-slot="input"] {
835
- border-color: #2b2b40 !important;
836
- background: #151521 !important;
837
- color: #f1f6ff !important;
738
+
739
+ .layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"] {
740
+ height: 3.5rem;
741
+ border-bottom-color: var(--svadmin-border);
742
+ color: var(--svadmin-text);
743
+ font-size: 0.8125rem;
838
744
  }
839
- .dark.layout-clean-flat [data-slot="input"]:focus,
840
- .dark .layout-clean-flat [data-slot="input"]:focus {
841
- border-color: #3e97ff !important;
745
+
746
+ .layout-clean-flat [data-svadmin-table-row]:hover [data-slot="table-cell"] {
747
+ background: var(--svadmin-surface-hover);
842
748
  }
843
749
 
844
- /* svadmin flat list and edit surfaces */
845
750
  .layout-clean-flat [data-svadmin-list-header],
846
- .layout-clean-flat [data-svadmin-table-toolbar],
847
- .layout-clean-flat [data-svadmin-table-card],
848
751
  .layout-clean-flat [data-svadmin-form-header],
849
- .layout-clean-flat [data-svadmin-form-card],
850
- .layout-clean-flat [data-svadmin-form-actions] {
851
- box-shadow: none !important;
752
+ .layout-clean-flat [data-svadmin-page-header] {
753
+ border-top: 0;
754
+ border-right: 0;
755
+ border-left: 0;
756
+ border-radius: 0;
757
+ background: transparent;
758
+ padding-right: 0;
759
+ padding-left: 0;
852
760
  }
853
761
 
854
- .layout-clean-flat [data-svadmin-list-header],
855
- .layout-clean-flat [data-svadmin-table-toolbar],
856
- .layout-clean-flat [data-svadmin-table-card],
857
- .layout-clean-flat [data-svadmin-form-header],
858
- .layout-clean-flat [data-svadmin-form-card],
859
- .layout-clean-flat [data-svadmin-form-actions] {
860
- border-color: #f1f3f7 !important;
861
- background: #ffffff !important;
862
- border-radius: 0.5rem !important;
762
+ .layout-clean-flat [data-svadmin-page-header] h1,
763
+ .layout-clean-flat [data-svadmin-list-header] h1,
764
+ .layout-clean-flat [data-svadmin-form-header] h1,
765
+ .layout-clean-flat [data-svadmin-resource-operations] h1 {
766
+ line-height: 1.2;
767
+ letter-spacing: 0;
863
768
  }
864
769
 
865
- .layout-clean-flat [data-svadmin-list-actions] [data-slot="button"],
866
- .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"],
867
- .layout-clean-flat [data-svadmin-form-actions] [data-slot="button"] {
868
- height: 2.625rem !important;
869
- border-radius: 0.5rem !important;
770
+ .layout-clean-flat [data-svadmin-table-card],
771
+ .layout-clean-flat [data-svadmin-show-card],
772
+ .layout-clean-flat [data-svadmin-form-card] {
773
+ width: 100%;
774
+ max-width: 100%;
775
+ min-width: 0;
870
776
  }
871
777
 
872
778
  .layout-clean-flat [data-svadmin-table-toolbar] {
873
- padding: 0.875rem !important;
779
+ border-color: var(--svadmin-border);
780
+ border-radius: var(--radius-lg);
781
+ background: var(--svadmin-surface);
782
+ padding: 0.875rem;
783
+ box-shadow: var(--svadmin-surface-shadow);
874
784
  }
875
785
 
876
786
  .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="input"] {
877
- height: 2.75rem !important;
878
- border-radius: 0.5rem !important;
879
- background: #f9f9f9 !important;
787
+ height: 2.625rem;
788
+ background: var(--svadmin-surface-muted);
880
789
  }
881
790
 
882
- .layout-clean-flat [data-svadmin-datatable] {
883
- border-collapse: separate !important;
884
- border-spacing: 0 !important;
791
+ .layout-clean-flat [data-svadmin-list-actions] [data-slot="button"],
792
+ .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"],
793
+ .layout-clean-flat [data-svadmin-form-actions] [data-slot="button"] {
794
+ height: 2.5rem;
795
+ flex-shrink: 0;
885
796
  }
886
797
 
887
- .layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"] {
888
- height: 3.25rem !important;
889
- border-bottom: 1px solid rgba(225, 227, 234, 0.78) !important;
890
- background: #f9f9f9 !important;
891
- color: #a1a5b7 !important;
892
- font-size: 0.6875rem !important;
893
- font-weight: 700 !important;
894
- letter-spacing: 0.08em !important;
895
- text-transform: uppercase !important;
798
+ .layout-clean-flat [data-svadmin-datatable] {
799
+ min-width: 0;
800
+ border-collapse: separate;
801
+ border-spacing: 0;
802
+ table-layout: fixed;
896
803
  }
897
804
 
898
- .layout-clean-flat [data-svadmin-table-row] {
899
- border-bottom-color: rgba(241, 243, 247, 0.95) !important;
805
+ .layout-clean-flat [data-svadmin-table-scroll] {
806
+ max-width: 100%;
807
+ min-width: 0;
808
+ scrollbar-gutter: stable both-edges;
900
809
  }
901
810
 
811
+ .layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"],
902
812
  .layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"] {
903
- height: 3.625rem !important;
904
- color: #5e6278 !important;
905
- font-size: 0.8125rem !important;
813
+ overflow: hidden;
814
+ text-overflow: ellipsis;
815
+ white-space: nowrap;
906
816
  }
907
817
 
908
- .layout-clean-flat [data-svadmin-table-row]:hover [data-slot="table-cell"] {
909
- background: #fbfcfd !important;
818
+ .layout-clean-flat [data-svadmin-pagination] {
819
+ border-top: 1px solid var(--svadmin-border);
820
+ border-radius: 0;
821
+ padding: 0.75rem 0.15rem 0.35rem;
910
822
  }
911
823
 
912
- .layout-clean-flat [data-svadmin-pagination] {
913
- border-radius: 0.5rem;
914
- padding: 0.35rem 0.15rem;
824
+ .layout-clean-flat [data-svadmin-pagination] [data-slot="pagination-content"] {
825
+ flex-wrap: wrap;
826
+ justify-content: center;
915
827
  }
916
828
 
917
829
  .layout-clean-flat [data-svadmin-form-content] {
918
- padding-top: 0 !important;
919
- padding-bottom: 0 !important;
830
+ padding-top: 0;
831
+ padding-bottom: 0;
920
832
  }
921
833
 
922
834
  .layout-clean-flat [data-svadmin-form-row] {
923
- border-bottom: 1px solid rgba(241, 243, 247, 0.95);
924
- padding: 1.35rem 0;
835
+ border-bottom: 1px solid var(--svadmin-border);
836
+ padding: 1.25rem 0;
925
837
  }
926
838
 
927
839
  .layout-clean-flat [data-svadmin-form-row]:last-child {
@@ -929,175 +841,45 @@ main {
929
841
  }
930
842
 
931
843
  .layout-clean-flat [data-svadmin-field-label] {
932
- color: #3f4254 !important;
933
- font-weight: 600 !important;
844
+ color: var(--svadmin-text);
845
+ font-weight: 600;
934
846
  }
935
847
 
936
848
  .layout-clean-flat [data-svadmin-form-settings] [data-slot="input"],
937
849
  .layout-clean-flat [data-svadmin-form-settings] textarea,
938
850
  .layout-clean-flat [data-svadmin-form-settings] [data-slot="select-trigger"] {
939
- min-height: 2.75rem !important;
940
- border-radius: 0.5rem !important;
941
- background: #f9f9f9 !important;
851
+ min-height: 2.625rem;
852
+ background: var(--svadmin-surface);
942
853
  }
943
854
 
944
855
  .layout-clean-flat [data-svadmin-form-actions] {
945
856
  width: fit-content;
946
857
  max-width: 100%;
947
- }
948
-
949
- @media (min-width: 768px) {
950
- .layout-clean-flat [data-svadmin-form-settings] [data-svadmin-field] {
951
- display: grid !important;
952
- grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr) !important;
953
- align-items: start !important;
954
- column-gap: 2rem !important;
955
- row-gap: 0.35rem !important;
956
- }
957
-
958
- .layout-clean-flat [data-svadmin-form-settings] [data-svadmin-field] > [data-svadmin-field-label] {
959
- padding-top: 0.8rem !important;
960
- }
961
-
962
- .layout-clean-flat [data-svadmin-form-settings] [data-svadmin-field] > :not([data-svadmin-field-label]) {
963
- grid-column: 2 !important;
964
- }
965
- }
966
-
967
- .dark.layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"],
968
- .dark .layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"] {
969
- background: #1a1a27 !important;
970
- border-bottom-color: #2b2b40 !important;
971
- color: #a1a5b7 !important;
972
- }
973
-
974
- .dark.layout-clean-flat [data-svadmin-table-row],
975
- .dark .layout-clean-flat [data-svadmin-table-row] {
976
- border-bottom-color: rgba(43, 43, 64, 0.82) !important;
977
- }
978
-
979
- .dark.layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"],
980
- .dark .layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"] {
981
- color: #a1a5b7 !important;
982
- }
983
-
984
- .dark.layout-clean-flat [data-svadmin-table-row]:hover [data-slot="table-cell"],
985
- .dark .layout-clean-flat [data-svadmin-table-row]:hover [data-slot="table-cell"] {
986
- background: rgba(43, 43, 64, 0.32) !important;
987
- }
988
-
989
- .dark.layout-clean-flat [data-svadmin-form-row],
990
- .dark .layout-clean-flat [data-svadmin-form-row] {
991
- border-bottom-color: rgba(43, 43, 64, 0.82);
992
- }
993
-
994
- /* ─── Flat workspace redesign pass: non-sidebar pages ─── */
995
- .layout-clean-flat [data-svadmin-main] {
996
- background:
997
- linear-gradient(180deg, color-mix(in oklch, var(--background) 86%, white) 0%, var(--background) 34rem),
998
- var(--background) !important;
999
- }
1000
-
1001
- .layout-clean-flat [data-svadmin-main] > div {
1002
- min-width: 0 !important;
1003
- }
1004
-
1005
- .layout-clean-flat [data-svadmin-page-header],
1006
- .layout-clean-flat [data-svadmin-list-header],
1007
- .layout-clean-flat [data-svadmin-form-header] {
1008
- background: transparent !important;
1009
- border-radius: 0 !important;
1010
- border-left: 0 !important;
1011
- border-right: 0 !important;
1012
- border-top: 0 !important;
1013
- padding-left: 0 !important;
1014
- padding-right: 0 !important;
1015
- }
1016
-
1017
- .layout-clean-flat [data-svadmin-page-header] h1,
1018
- .layout-clean-flat [data-svadmin-list-header] h1,
1019
- .layout-clean-flat [data-svadmin-form-header] h1,
1020
- .layout-clean-flat [data-svadmin-resource-operations] h1 {
1021
- line-height: 1.12 !important;
1022
- letter-spacing: 0 !important;
1023
- }
1024
-
1025
- .layout-clean-flat [data-slot="card"] {
1026
- border-color: color-mix(in oklch, var(--border) 82%, transparent) !important;
1027
- border-radius: 0.5rem !important;
1028
- box-shadow: none !important;
1029
- min-width: 0 !important;
1030
- }
1031
-
1032
- .layout-clean-flat [data-svadmin-main] section,
1033
- .layout-clean-flat [data-svadmin-main] [class*="grid"],
1034
- .layout-clean-flat [data-svadmin-main] [class*="flex"],
1035
- .layout-clean-flat [data-svadmin-main] [data-slot="card-content"] {
1036
- min-width: 0;
1037
- }
1038
-
1039
- .layout-clean-flat [data-svadmin-main] h1,
1040
- .layout-clean-flat [data-svadmin-main] h2,
1041
- .layout-clean-flat [data-svadmin-main] h3,
1042
- .layout-clean-flat [data-svadmin-main] p,
1043
- .layout-clean-flat [data-svadmin-main] [data-slot="badge"] {
1044
- max-width: 100%;
858
+ border-color: var(--svadmin-border);
859
+ border-radius: var(--radius-lg);
860
+ background: var(--svadmin-surface);
861
+ box-shadow: var(--svadmin-floating-shadow);
1045
862
  }
1046
863
 
1047
864
  .layout-clean-flat [data-svadmin-main] h1,
1048
865
  .layout-clean-flat [data-svadmin-main] h2,
1049
866
  .layout-clean-flat [data-svadmin-main] h3,
1050
867
  .layout-clean-flat [data-svadmin-main] [data-slot="card-title"] {
868
+ max-width: 100%;
1051
869
  overflow-wrap: anywhere;
870
+ letter-spacing: 0;
1052
871
  }
1053
872
 
1054
873
  .layout-clean-flat [data-svadmin-main] p,
1055
874
  .layout-clean-flat [data-svadmin-main] [data-slot="card-description"] {
875
+ max-width: 100%;
1056
876
  overflow-wrap: break-word;
1057
877
  }
1058
878
 
1059
- .layout-clean-flat [data-svadmin-main] > div[class*="space-y"] > section:first-child {
1060
- border-radius: 0 !important;
1061
- background: transparent !important;
1062
- }
1063
-
1064
- .layout-clean-flat [data-svadmin-main] > div[class*="space-y"] > section:first-child [data-slot="card"],
1065
- .layout-clean-flat [data-svadmin-main] > div[class*="space-y"] > section:first-child + [class*="grid"] [data-slot="card"],
1066
- .layout-clean-flat [data-svadmin-main] [data-svadmin-ops-hero] [data-slot="card"] {
1067
- background: transparent !important;
1068
- border-color: color-mix(in oklch, var(--border) 72%, transparent) !important;
1069
- box-shadow: none !important;
1070
- }
1071
-
1072
- .layout-clean-flat [data-svadmin-main] > div[class*="space-y"] > section:first-child [data-slot="card"]:has([data-slot="card"]),
1073
- .layout-clean-flat [data-svadmin-main] [data-slot="card"]:has(> [data-slot="card-content"] [data-svadmin-table-card]) {
1074
- border: 0 !important;
1075
- background: transparent !important;
1076
- padding: 0 !important;
1077
- }
1078
-
1079
- .layout-clean-flat [data-svadmin-main] [data-slot="card"] [data-slot="card"] {
1080
- background: color-mix(in oklch, var(--card) 88%, var(--background)) !important;
1081
- border-color: color-mix(in oklch, var(--border) 70%, transparent) !important;
1082
- }
1083
-
1084
- .layout-clean-flat [data-svadmin-main] [data-slot="card-content"] > .flex,
1085
- .layout-clean-flat [data-svadmin-main] [data-slot="card-content"] > .grid {
879
+ .layout-clean-flat [data-svadmin-main] [data-slot="badge"],
880
+ .layout-clean-flat [data-svadmin-main] [data-slot="tabs-trigger"] {
1086
881
  min-width: 0;
1087
- }
1088
-
1089
- .layout-clean-flat [data-svadmin-main] [data-slot="card-content"] span[class*="h-10"][class*="w-10"],
1090
- .layout-clean-flat [data-svadmin-main] [data-slot="card-content"] span[class*="h-11"][class*="w-11"],
1091
- .layout-clean-flat [data-svadmin-main] [data-slot="card-content"] span[class*="h-12"][class*="w-12"] {
1092
- flex-shrink: 0;
1093
- }
1094
-
1095
- .layout-clean-flat [data-svadmin-main] [data-slot="card-content"] [class*="text-2xl"],
1096
- .layout-clean-flat [data-svadmin-main] [data-slot="card-content"] [class*="text-3xl"] {
1097
- line-height: 1.12;
1098
- }
1099
-
1100
- .layout-clean-flat [data-svadmin-main] [data-slot="badge"] {
882
+ max-width: 100%;
1101
883
  overflow: hidden;
1102
884
  text-overflow: ellipsis;
1103
885
  white-space: nowrap;
@@ -1105,229 +887,62 @@ main {
1105
887
 
1106
888
  .layout-clean-flat [data-svadmin-main] [data-slot="tabs-list"] {
1107
889
  min-width: 0;
1108
- border-radius: 0.5rem !important;
1109
- }
1110
-
1111
- .layout-clean-flat [data-svadmin-main] [data-slot="tabs-trigger"] {
1112
- min-width: 0;
1113
- overflow: hidden;
1114
- text-overflow: ellipsis;
1115
- white-space: nowrap;
890
+ border-radius: var(--radius-md);
1116
891
  }
1117
892
 
1118
893
  .layout-clean-flat [data-svadmin-ops-hero] {
1119
894
  align-items: stretch;
1120
895
  }
1121
896
 
1122
- .layout-clean-flat [data-svadmin-metric-card],
1123
- .layout-clean-flat [data-svadmin-panel-card] {
1124
- background: color-mix(in oklch, var(--card) 92%, var(--background)) !important;
1125
- }
1126
-
1127
897
  .layout-clean-flat [data-svadmin-metric-card] [data-slot="card-content"] {
1128
- min-height: 8.25rem;
898
+ min-height: 8rem;
1129
899
  }
1130
900
 
1131
901
  .layout-clean-flat [data-svadmin-panel-card] [data-slot="card-content"] > * + * {
1132
- border-top: 1px solid color-mix(in oklch, var(--border) 78%, transparent);
1133
- }
1134
-
1135
- .layout-clean-flat [data-svadmin-table-card],
1136
- .layout-clean-flat [data-svadmin-show-card],
1137
- .layout-clean-flat [data-svadmin-form-card] {
1138
- border-left: 0 !important;
1139
- border-right: 0 !important;
1140
- border-radius: 0 !important;
1141
- min-width: 0 !important;
1142
- max-width: 100% !important;
1143
- }
1144
-
1145
- .layout-clean-flat [data-svadmin-table-toolbar] {
1146
- background: transparent !important;
1147
- border-left: 0 !important;
1148
- border-right: 0 !important;
1149
- border-top: 0 !important;
1150
- border-radius: 0 !important;
1151
- padding-left: 0 !important;
1152
- padding-right: 0 !important;
902
+ border-top: 1px solid var(--svadmin-border);
1153
903
  }
1154
904
 
1155
- .layout-clean-flat [data-svadmin-table-scroll] {
1156
- min-width: 0 !important;
1157
- max-width: 100% !important;
1158
- scrollbar-gutter: stable both-edges;
1159
- }
1160
-
1161
- .layout-clean-flat [data-svadmin-datatable] {
1162
- min-width: 0 !important;
1163
- table-layout: fixed !important;
1164
- }
1165
-
1166
- @media (min-width: 1024px) {
1167
- .layout-clean-flat [data-svadmin-datatable] {
1168
- min-width: 760px !important;
1169
- }
1170
- }
1171
-
1172
- .layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"],
1173
- .layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"] {
1174
- overflow: hidden !important;
1175
- text-overflow: ellipsis !important;
1176
- white-space: nowrap !important;
1177
- }
1178
-
1179
- .layout-clean-flat [data-svadmin-list-actions] [data-slot="button"],
1180
- .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"] {
1181
- flex-shrink: 0 !important;
1182
- }
1183
-
1184
- .layout-clean-flat [data-svadmin-pagination] {
1185
- border-top: 1px solid color-mix(in oklch, var(--border) 82%, transparent);
1186
- border-radius: 0 !important;
1187
- padding-top: 0.75rem !important;
1188
- }
1189
-
1190
- .layout-clean-flat [data-svadmin-pagination] [data-slot="pagination-content"] {
1191
- flex-wrap: wrap !important;
1192
- justify-content: center !important;
1193
- }
1194
-
1195
- .layout-clean-flat [data-svadmin-form-actions] {
1196
- border-radius: 0.5rem !important;
1197
- box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
1198
- }
1199
-
1200
- @media (max-width: 767px) {
1201
- .layout-clean-flat [data-svadmin-main] {
1202
- padding-left: 1rem !important;
1203
- padding-right: 1rem !important;
1204
- }
1205
-
1206
- .layout-clean-flat [data-svadmin-main] h1 {
1207
- font-size: clamp(1.75rem, 1.55rem + 1vw, 2.125rem) !important;
1208
- }
1209
-
1210
- .layout-clean-flat [data-svadmin-main] [data-slot="card"] {
1211
- border-left: 1px solid color-mix(in oklch, var(--border) 72%, transparent) !important;
1212
- border-right: 1px solid color-mix(in oklch, var(--border) 72%, transparent) !important;
1213
- border-radius: 0.5rem !important;
1214
- }
1215
-
1216
- .layout-clean-flat [data-svadmin-main] [data-slot="card-header"],
1217
- .layout-clean-flat [data-svadmin-main] [data-slot="card-content"],
1218
- .layout-clean-flat [data-svadmin-main] [data-slot="card-footer"] {
1219
- padding-left: 1rem !important;
1220
- padding-right: 1rem !important;
1221
- }
1222
-
1223
- .layout-clean-flat [data-svadmin-main] > div[class*="space-y"] > section:first-child {
1224
- padding-bottom: 1rem !important;
1225
- }
1226
-
1227
- .layout-clean-flat [data-svadmin-list-actions] [data-slot="button"],
1228
- .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"],
1229
- .layout-clean-flat [data-svadmin-form-actions] [data-slot="button"] {
1230
- min-width: 0 !important;
1231
- max-width: 100% !important;
1232
- }
1233
-
1234
- .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"] {
1235
- width: fit-content !important;
1236
- }
1237
-
1238
- .layout-clean-flat [data-svadmin-form-actions] {
1239
- width: 100% !important;
1240
- }
1241
-
1242
- .layout-clean-flat [data-svadmin-table-card],
1243
- .layout-clean-flat [data-svadmin-show-card],
1244
- .layout-clean-flat [data-svadmin-form-card] {
1245
- border-left: 1px solid color-mix(in oklch, var(--border) 72%, transparent) !important;
1246
- border-right: 1px solid color-mix(in oklch, var(--border) 72%, transparent) !important;
1247
- border-radius: 0.5rem !important;
1248
- }
1249
-
1250
- .layout-clean-flat [data-svadmin-table-card] [data-slot="card-header"],
1251
- .layout-clean-flat [data-svadmin-table-card] [data-slot="card-content"],
1252
- .layout-clean-flat [data-svadmin-show-card] [data-slot="card-header"],
1253
- .layout-clean-flat [data-svadmin-show-card] [data-slot="card-content"],
1254
- .layout-clean-flat [data-svadmin-form-card] [data-slot="card-header"],
1255
- .layout-clean-flat [data-svadmin-form-card] [data-slot="card-content"] {
1256
- padding-left: 1rem !important;
1257
- padding-right: 1rem !important;
1258
- }
1259
- }
1260
-
1261
- @media (min-width: 768px) and (max-width: 1023px) {
1262
- .layout-clean-flat [data-svadmin-main] [class*="md:grid-cols"],
1263
- .layout-clean-flat [data-svadmin-main] [class*="lg:grid-cols"],
1264
- .layout-clean-flat [data-svadmin-main] [class*="xl:grid-cols"] {
1265
- grid-template-columns: minmax(0, 1fr) !important;
1266
- }
1267
-
1268
- .layout-clean-flat [data-svadmin-main] [class*="lg:flex-row"],
1269
- .layout-clean-flat [data-svadmin-main] [class*="xl:flex-row"] {
1270
- flex-direction: column !important;
1271
- align-items: stretch !important;
1272
- }
1273
- }
1274
-
1275
- /* svadmin content pages: profile/account/network/auth/error surfaces */
1276
905
  .layout-clean-flat [data-svadmin-content-page] {
1277
- --svadmin-content-border: color-mix(in oklch, var(--border) 78%, transparent);
1278
- --svadmin-content-muted: color-mix(in oklch, var(--muted) 58%, var(--background));
1279
- max-width: 1180px;
906
+ --svadmin-content-border: var(--svadmin-border);
907
+ --svadmin-content-muted: var(--svadmin-surface-muted);
908
+ width: min(100%, var(--svadmin-content-width));
1280
909
  margin-inline: auto;
1281
910
  }
1282
911
 
1283
- .layout-clean-flat [data-svadmin-content-page] > div:first-child:not([data-slot="card-content"]),
912
+ .layout-clean-flat [data-svadmin-content-page] > div:first-child,
1284
913
  .layout-clean-flat [data-svadmin-content-page] > .flex:first-child,
1285
914
  .layout-clean-flat [data-svadmin-content-page] > .relative:first-child {
1286
915
  min-width: 0;
1287
916
  }
1288
917
 
1289
- .layout-clean-flat [data-svadmin-content-page] > div:first-child:has(h2),
1290
- .layout-clean-flat [data-svadmin-content-page] > .flex:first-child:has(h2) {
1291
- border-bottom: 1px solid var(--svadmin-content-border);
1292
- padding-bottom: 1rem;
1293
- }
1294
-
1295
918
  .layout-clean-flat [data-svadmin-content-page] h1,
1296
919
  .layout-clean-flat [data-svadmin-content-page] h2 {
1297
- line-height: 1.15 !important;
1298
- letter-spacing: 0 !important;
920
+ line-height: 1.2;
921
+ letter-spacing: 0;
1299
922
  }
1300
923
 
1301
924
  .layout-clean-flat [data-svadmin-content-page] [data-slot="card"] {
1302
- border-color: var(--svadmin-content-border) !important;
1303
- border-radius: 0.625rem !important;
1304
- box-shadow: none !important;
1305
- background: var(--card) !important;
1306
- }
1307
-
1308
- .layout-clean-flat [data-svadmin-content-page] [data-slot="card"]:hover {
1309
- border-color: color-mix(in oklch, var(--border) 60%, var(--primary)) !important;
925
+ border-color: var(--svadmin-content-border);
926
+ border-radius: var(--radius-lg);
927
+ background: var(--svadmin-surface);
928
+ box-shadow: var(--svadmin-surface-shadow);
1310
929
  }
1311
930
 
1312
- .layout-clean-flat [data-svadmin-content-page] [class*="bg-gradient-to-r"] {
1313
- background: linear-gradient(90deg, var(--svadmin-content-muted), color-mix(in oklch, var(--primary) 8%, var(--background))) !important;
1314
- }
1315
-
1316
- .layout-clean-flat [data-svadmin-content-page] [class*="shadow"],
1317
- .layout-clean-flat [data-svadmin-content-page] [class*="ring-1"] {
1318
- box-shadow: none !important;
931
+ .layout-clean-flat [data-svadmin-content-page] [data-slot="card"][data-interactive="true"]:hover {
932
+ border-color: color-mix(in oklch, var(--primary) 24%, var(--svadmin-content-border));
933
+ box-shadow: var(--svadmin-surface-hover-shadow);
1319
934
  }
1320
935
 
1321
936
  .layout-clean-flat [data-svadmin-content-page] [data-slot="tabs-list"] {
1322
- background: transparent !important;
1323
- border-radius: 0 !important;
1324
937
  border-bottom: 1px solid var(--svadmin-content-border);
1325
- padding: 0 !important;
938
+ border-radius: 0;
939
+ background: transparent;
940
+ padding: 0;
1326
941
  }
1327
942
 
1328
943
  .layout-clean-flat [data-svadmin-content-page] [data-slot="tabs-trigger"] {
1329
- border-radius: 0 !important;
1330
944
  min-height: 2.5rem;
945
+ border-radius: 0;
1331
946
  }
1332
947
 
1333
948
  .layout-clean-flat [data-svadmin-content-page] table {
@@ -1341,35 +956,57 @@ main {
1341
956
 
1342
957
  .layout-clean-flat [data-svadmin-content-page="error"] [data-slot="card"],
1343
958
  .layout-clean-flat [data-svadmin-content-page="auth-2fa"] [data-slot="card"] {
1344
- max-width: 32rem;
1345
959
  width: 100%;
960
+ max-width: 32rem;
961
+ }
962
+
963
+ @media (min-width: 768px) {
964
+ .layout-clean-flat [data-svadmin-form-settings] [data-svadmin-field] {
965
+ display: grid;
966
+ grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr);
967
+ align-items: start;
968
+ column-gap: 2rem;
969
+ row-gap: 0.35rem;
970
+ }
971
+
972
+ .layout-clean-flat [data-svadmin-form-settings] [data-svadmin-field] > [data-svadmin-field-label] {
973
+ padding-top: 0.75rem;
974
+ }
975
+
976
+ .layout-clean-flat [data-svadmin-form-settings] [data-svadmin-field] > :not([data-svadmin-field-label]) {
977
+ grid-column: 2;
978
+ }
979
+ }
980
+
981
+ @media (min-width: 1024px) {
982
+ .layout-clean-flat [data-svadmin-datatable] {
983
+ min-width: 760px;
984
+ }
1346
985
  }
1347
986
 
1348
987
  @media (max-width: 767px) {
1349
- .layout-clean-flat [data-svadmin-content-page] {
988
+ .layout-clean-flat [data-svadmin-main] h1 {
989
+ font-size: 1.625rem;
990
+ }
991
+
992
+ .layout-clean-flat [data-svadmin-list-actions] [data-slot="button"],
993
+ .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"],
994
+ .layout-clean-flat [data-svadmin-form-actions] [data-slot="button"] {
1350
995
  max-width: 100%;
996
+ min-width: 0;
1351
997
  }
1352
998
 
1353
- .layout-clean-flat [data-svadmin-content-page] > .flex:first-child:has(h2) {
1354
- flex-direction: column;
1355
- align-items: stretch;
999
+ .layout-clean-flat [data-svadmin-form-actions] {
1000
+ width: 100%;
1356
1001
  }
1357
1002
 
1358
- .layout-clean-flat [data-svadmin-content-page] [data-slot="card"] {
1359
- border-left: 1px solid var(--svadmin-content-border) !important;
1360
- border-right: 1px solid var(--svadmin-content-border) !important;
1361
- border-radius: 0.5rem !important;
1003
+ .layout-clean-flat [data-svadmin-content-page] {
1004
+ width: 100%;
1362
1005
  }
1363
1006
 
1364
1007
  .layout-clean-flat [data-svadmin-content-page] [data-slot="card-content"],
1365
1008
  .layout-clean-flat [data-svadmin-content-page] [data-slot="card-header"] {
1366
- padding-left: 1rem !important;
1367
- padding-right: 1rem !important;
1368
- }
1369
-
1370
- .layout-clean-flat [data-svadmin-content-page="auth-2fa"] [data-slot="card-content"],
1371
- .layout-clean-flat [data-svadmin-content-page="error"] [data-slot="card-content"] {
1372
- padding-left: 1rem !important;
1373
- padding-right: 1rem !important;
1009
+ padding-right: 1rem;
1010
+ padding-left: 1rem;
1374
1011
  }
1375
1012
  }