@svadmin/ui 0.42.2 → 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 (78) hide show
  1. package/dist/app.css +482 -840
  2. package/dist/app.theme.css +482 -840
  3. package/dist/components/ErrorPage.svelte +4 -56
  4. package/dist/components/Layout.svelte +1 -1
  5. package/dist/components/Sidebar.svelte +1 -0
  6. package/dist/components/TwoFactorAuthPage.svelte +44 -232
  7. package/dist/components/account/CompanyProfilePage.svelte +21 -142
  8. package/dist/components/account/GetStartedPage.svelte +33 -115
  9. package/dist/components/account/GetStartedPage.svelte.d.ts +1 -2
  10. package/dist/components/account/SecurityLogPage.svelte +16 -131
  11. package/dist/components/account/SettingsEnterprisePage.svelte +15 -275
  12. package/dist/components/account/SettingsPlainPage.svelte +10 -175
  13. package/dist/components/account/SettingsSidebarPage.svelte +11 -304
  14. package/dist/components/account/TeamMembersPage.svelte +18 -187
  15. package/dist/components/account/UserProfilePage.svelte +19 -196
  16. package/dist/components/account/UserProfilePage.svelte.d.ts +1 -2
  17. package/dist/components/content/ApiKeyList.svelte +13 -0
  18. package/dist/components/content/ApiKeyList.svelte.d.ts +16 -0
  19. package/dist/components/content/ContentPageHeader.svelte +31 -0
  20. package/dist/components/content/ContentPageHeader.svelte.d.ts +12 -0
  21. package/dist/components/content/ContentPageShell.svelte +39 -0
  22. package/dist/components/content/ContentPageShell.svelte.d.ts +14 -0
  23. package/dist/components/content/DataState.svelte +44 -0
  24. package/dist/components/content/DataState.svelte.d.ts +13 -0
  25. package/dist/components/content/DescriptionList.svelte +27 -0
  26. package/dist/components/content/DescriptionList.svelte.d.ts +14 -0
  27. package/dist/components/content/FileList.svelte +13 -0
  28. package/dist/components/content/FileList.svelte.d.ts +16 -0
  29. package/dist/components/content/FilterToolbar.svelte +24 -0
  30. package/dist/components/content/FilterToolbar.svelte.d.ts +11 -0
  31. package/dist/components/content/ImportDropzone.svelte +19 -0
  32. package/dist/components/content/ImportDropzone.svelte.d.ts +10 -0
  33. package/dist/components/content/IntegrationCard.svelte +16 -0
  34. package/dist/components/content/IntegrationCard.svelte.d.ts +15 -0
  35. package/dist/components/content/MemberList.svelte +16 -0
  36. package/dist/components/content/MemberList.svelte.d.ts +17 -0
  37. package/dist/components/content/MetricBlock.svelte +27 -0
  38. package/dist/components/content/MetricBlock.svelte.d.ts +13 -0
  39. package/dist/components/content/NetworkTable.svelte +18 -0
  40. package/dist/components/content/NetworkTable.svelte.d.ts +31 -0
  41. package/dist/components/content/NetworkTable.types.d.ts +4 -0
  42. package/dist/components/content/NetworkTable.types.js +1 -0
  43. package/dist/components/content/NetworkUserCard.svelte +17 -0
  44. package/dist/components/content/NetworkUserCard.svelte.d.ts +17 -0
  45. package/dist/components/content/OtpInput.svelte +22 -0
  46. package/dist/components/content/OtpInput.svelte.d.ts +10 -0
  47. package/dist/components/content/PageToolbar.svelte +18 -0
  48. package/dist/components/content/PageToolbar.svelte.d.ts +10 -0
  49. package/dist/components/content/ProjectCard.svelte +39 -0
  50. package/dist/components/content/ProjectCard.svelte.d.ts +20 -0
  51. package/dist/components/content/SectionHeader.svelte +18 -0
  52. package/dist/components/content/SectionHeader.svelte.d.ts +10 -0
  53. package/dist/components/content/SecurityEventTable.svelte +18 -0
  54. package/dist/components/content/SecurityEventTable.svelte.d.ts +15 -0
  55. package/dist/components/content/StatusBadge.svelte +19 -0
  56. package/dist/components/content/StatusBadge.svelte.d.ts +9 -0
  57. package/dist/components/content/SystemErrorState.svelte +18 -0
  58. package/dist/components/content/SystemErrorState.svelte.d.ts +10 -0
  59. package/dist/components/content/TeamCard.svelte +26 -0
  60. package/dist/components/content/TeamCard.svelte.d.ts +23 -0
  61. package/dist/components/content/TwoFactorStepper.svelte +11 -0
  62. package/dist/components/content/TwoFactorStepper.svelte.d.ts +8 -0
  63. package/dist/components/content/index.d.ts +32 -0
  64. package/dist/components/content/index.js +22 -0
  65. package/dist/components/network/TeamCrewTablePage.svelte +29 -181
  66. package/dist/components/network/UserCardsNFTPage.svelte +24 -137
  67. package/dist/components/profile/ActivityTimeline.svelte +17 -91
  68. package/dist/components/profile/ProfileCard.svelte +4 -4
  69. package/dist/components/profile/ProjectsGrid.svelte +28 -106
  70. package/dist/components/profile/ProjectsGrid.svelte.d.ts +2 -12
  71. package/dist/components/profile/PublicProfilePage.svelte +31 -181
  72. package/dist/components/profile/TeamsShowcase.svelte +12 -114
  73. package/dist/components/profile/TeamsShowcase.svelte.d.ts +2 -12
  74. package/dist/index.d.ts +36 -0
  75. package/dist/index.js +24 -0
  76. package/dist/reference-data.d.ts +171 -0
  77. package/dist/reference-data.js +39 -0
  78. 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;
308
297
  }
309
- [data-slot="button"]:active:not(:disabled),
310
- button:active:not(:disabled) {
311
- transform: scale(0.98);
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;
311
+ }
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;
346
+ ::-webkit-scrollbar-track {
347
+ background: transparent;
354
348
  }
355
- [data-slot="table-row"] {
356
- transition: background-color 0.15s ease;
357
- }
358
-
359
349
 
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,657 +604,345 @@ 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);
625
+ }
626
+
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;
678
636
  }
679
637
 
680
- /* Base card flat background overrides */
681
- .layout-clean-flat .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 .bg-card,
689
- .dark .layout-clean-flat .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 th {
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 th,
708
- .dark .layout-clean-flat th {
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 td {
716
- border-bottom: 1px solid #f1f3f7 !important;
717
- color: #5e6278 !important;
718
- font-size: 0.8125rem !important;
719
- }
720
- .dark.layout-clean-flat td,
721
- .dark .layout-clean-flat td {
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 tr:hover td {
728
- background-color: #f9f9f9 !important;
729
- }
730
- .dark.layout-clean-flat tr:hover td,
731
- .dark .layout-clean-flat tr:hover td {
732
- background-color: rgba(43, 43, 64, 0.3) !important;
733
- }
734
-
735
- /* Sidebar layout adjustments for clean-flat theme */
736
- .layout-clean-flat aside {
737
- background: #fafbfc !important;
738
- color: #181c32 !important;
739
- border-right-color: #f1f3f7 !important;
740
- box-shadow: none !important;
741
- }
742
- .dark.layout-clean-flat aside,
743
- .dark .layout-clean-flat aside {
744
- background: #1e1e2d !important;
745
- color: #a1a5b7 !important;
746
- border-right-color: #2b2b40 !important;
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;
781
668
  }
782
669
 
783
- /* Button & input styles override under clean-flat layout */
784
- .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;
791
- }
792
- .layout-clean-flat [data-slot="button"][data-variant="default"]:hover {
793
- background: #1880ff !important;
794
- }
795
-
796
- .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;
804
- }
805
- .layout-clean-flat [data-slot="button"][data-variant="outline"]:hover {
806
- background: #f5f8fa !important;
807
- border-color: #cbd5e1 !important;
808
- color: #181c32 !important;
809
- }
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;
820
- }
821
-
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;
828
- }
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;
832
- }
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;
838
- }
839
- .dark.layout-clean-flat [data-slot="input"]:focus,
840
- .dark .layout-clean-flat [data-slot="input"]:focus {
841
- border-color: #3e97ff !important;
842
- }
843
-
844
- /* svadmin flat list and edit surfaces */
845
- [data-svadmin-list-header],
846
- [data-svadmin-table-toolbar],
847
- [data-svadmin-table-card],
848
- [data-svadmin-form-header],
849
- [data-svadmin-form-card],
850
- [data-svadmin-form-actions] {
851
- box-shadow: none !important;
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);
852
677
  }
853
678
 
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;
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);
863
682
  }
864
683
 
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;
684
+ .layout-clean-flat [data-slot="button"] {
685
+ border-radius: var(--radius-md);
686
+ box-shadow: var(--svadmin-control-shadow);
870
687
  }
871
688
 
872
- .layout-clean-flat [data-svadmin-table-toolbar] {
873
- padding: 0.875rem !important;
689
+ .layout-clean-flat [data-slot="button"][data-variant="default"] {
690
+ background: var(--primary);
691
+ color: var(--primary-foreground);
874
692
  }
875
693
 
876
- .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;
694
+ .layout-clean-flat [data-slot="button"][data-variant="default"]:hover {
695
+ background: color-mix(in oklch, var(--primary) 90%, var(--foreground));
880
696
  }
881
697
 
882
- [data-svadmin-datatable] {
883
- border-collapse: separate !important;
884
- border-spacing: 0 !important;
698
+ .layout-clean-flat [data-slot="button"][data-variant="outline"] {
699
+ border-color: var(--svadmin-border-strong);
700
+ background: var(--svadmin-surface);
701
+ color: var(--svadmin-text);
885
702
  }
886
703
 
887
- [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;
704
+ .layout-clean-flat [data-slot="button"][data-variant="outline"]:hover {
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);
708
+ }
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);
719
+ }
720
+
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);
726
+ }
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;
896
737
  }
897
738
 
898
- [data-svadmin-table-row] {
899
- border-bottom-color: rgba(241, 243, 247, 0.95) !important;
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;
900
744
  }
901
745
 
902
- [data-svadmin-table-row] [data-slot="table-cell"] {
903
- height: 3.625rem !important;
904
- color: #5e6278 !important;
905
- font-size: 0.8125rem !important;
746
+ .layout-clean-flat [data-svadmin-table-row]:hover [data-slot="table-cell"] {
747
+ background: var(--svadmin-surface-hover);
906
748
  }
907
749
 
908
- [data-svadmin-table-row]:hover [data-slot="table-cell"] {
909
- background: #fbfcfd !important;
750
+ .layout-clean-flat [data-svadmin-list-header],
751
+ .layout-clean-flat [data-svadmin-form-header],
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;
910
760
  }
911
761
 
912
- [data-svadmin-pagination] {
913
- border-radius: 0.5rem;
914
- padding: 0.35rem 0.15rem;
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;
915
768
  }
916
769
 
917
- [data-svadmin-form-content] {
918
- padding-top: 0 !important;
919
- padding-bottom: 0 !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;
920
776
  }
921
777
 
922
- [data-svadmin-form-row] {
923
- border-bottom: 1px solid rgba(241, 243, 247, 0.95);
924
- padding: 1.35rem 0;
778
+ .layout-clean-flat [data-svadmin-table-toolbar] {
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);
925
784
  }
926
785
 
927
- [data-svadmin-form-row]:last-child {
928
- border-bottom: 0;
786
+ .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="input"] {
787
+ height: 2.625rem;
788
+ background: var(--svadmin-surface-muted);
929
789
  }
930
790
 
931
- [data-svadmin-field-label] {
932
- color: #3f4254 !important;
933
- font-weight: 600 !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;
934
796
  }
935
797
 
936
- [data-svadmin-form-settings] [data-slot="input"],
937
- [data-svadmin-form-settings] textarea,
938
- [data-svadmin-form-settings] [data-slot="select-trigger"] {
939
- min-height: 2.75rem !important;
940
- border-radius: 0.5rem !important;
941
- background: #f9f9f9 !important;
798
+ .layout-clean-flat [data-svadmin-datatable] {
799
+ min-width: 0;
800
+ border-collapse: separate;
801
+ border-spacing: 0;
802
+ table-layout: fixed;
942
803
  }
943
804
 
944
- [data-svadmin-form-actions] {
945
- width: fit-content;
805
+ .layout-clean-flat [data-svadmin-table-scroll] {
946
806
  max-width: 100%;
807
+ min-width: 0;
808
+ scrollbar-gutter: stable both-edges;
947
809
  }
948
810
 
949
- @media (min-width: 768px) {
950
- [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
- [data-svadmin-form-settings] [data-svadmin-field] > [data-svadmin-field-label] {
959
- padding-top: 0.8rem !important;
960
- }
961
-
962
- [data-svadmin-form-settings] [data-svadmin-field] > :not([data-svadmin-field-label]) {
963
- grid-column: 2 !important;
964
- }
965
- }
966
-
967
- .dark [data-svadmin-table-head] [data-slot="table-head"] {
968
- background: #1a1a27 !important;
969
- border-bottom-color: #2b2b40 !important;
970
- color: #a1a5b7 !important;
971
- }
972
-
973
- .dark [data-svadmin-table-row] {
974
- border-bottom-color: rgba(43, 43, 64, 0.82) !important;
975
- }
976
-
977
- .dark [data-svadmin-table-row] [data-slot="table-cell"] {
978
- color: #a1a5b7 !important;
811
+ .layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"],
812
+ .layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"] {
813
+ overflow: hidden;
814
+ text-overflow: ellipsis;
815
+ white-space: nowrap;
979
816
  }
980
817
 
981
- .dark [data-svadmin-table-row]:hover [data-slot="table-cell"] {
982
- background: rgba(43, 43, 64, 0.32) !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;
983
822
  }
984
823
 
985
- .dark [data-svadmin-form-row] {
986
- border-bottom-color: rgba(43, 43, 64, 0.82);
824
+ .layout-clean-flat [data-svadmin-pagination] [data-slot="pagination-content"] {
825
+ flex-wrap: wrap;
826
+ justify-content: center;
987
827
  }
988
828
 
989
- /* ─── Flat workspace redesign pass: non-sidebar pages ─── */
990
- .layout-clean-flat main {
991
- background:
992
- linear-gradient(180deg, color-mix(in oklch, var(--background) 86%, white) 0%, var(--background) 34rem),
993
- var(--background) !important;
829
+ .layout-clean-flat [data-svadmin-form-content] {
830
+ padding-top: 0;
831
+ padding-bottom: 0;
994
832
  }
995
833
 
996
- .layout-clean-flat main > div {
997
- min-width: 0 !important;
834
+ .layout-clean-flat [data-svadmin-form-row] {
835
+ border-bottom: 1px solid var(--svadmin-border);
836
+ padding: 1.25rem 0;
998
837
  }
999
838
 
1000
- .layout-clean-flat [data-svadmin-page-header],
1001
- .layout-clean-flat [data-svadmin-list-header],
1002
- .layout-clean-flat [data-svadmin-form-header] {
1003
- background: transparent !important;
1004
- border-radius: 0 !important;
1005
- border-left: 0 !important;
1006
- border-right: 0 !important;
1007
- border-top: 0 !important;
1008
- padding-left: 0 !important;
1009
- padding-right: 0 !important;
1010
- }
1011
-
1012
- .layout-clean-flat [data-svadmin-page-header] h1,
1013
- .layout-clean-flat [data-svadmin-list-header] h1,
1014
- .layout-clean-flat [data-svadmin-form-header] h1,
1015
- .layout-clean-flat [data-svadmin-resource-operations] h1 {
1016
- line-height: 1.12 !important;
1017
- letter-spacing: 0 !important;
839
+ .layout-clean-flat [data-svadmin-form-row]:last-child {
840
+ border-bottom: 0;
1018
841
  }
1019
842
 
1020
- .layout-clean-flat [data-slot="card"] {
1021
- border-color: color-mix(in oklch, var(--border) 82%, transparent) !important;
1022
- border-radius: 0.5rem !important;
1023
- box-shadow: none !important;
1024
- min-width: 0 !important;
843
+ .layout-clean-flat [data-svadmin-field-label] {
844
+ color: var(--svadmin-text);
845
+ font-weight: 600;
1025
846
  }
1026
847
 
1027
- .layout-clean-flat main section,
1028
- .layout-clean-flat main [class*="grid"],
1029
- .layout-clean-flat main [class*="flex"],
1030
- .layout-clean-flat main [data-slot="card-content"] {
1031
- min-width: 0;
848
+ .layout-clean-flat [data-svadmin-form-settings] [data-slot="input"],
849
+ .layout-clean-flat [data-svadmin-form-settings] textarea,
850
+ .layout-clean-flat [data-svadmin-form-settings] [data-slot="select-trigger"] {
851
+ min-height: 2.625rem;
852
+ background: var(--svadmin-surface);
1032
853
  }
1033
854
 
1034
- .layout-clean-flat main h1,
1035
- .layout-clean-flat main h2,
1036
- .layout-clean-flat main h3,
1037
- .layout-clean-flat main p,
1038
- .layout-clean-flat main [data-slot="badge"] {
855
+ .layout-clean-flat [data-svadmin-form-actions] {
856
+ width: fit-content;
1039
857
  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);
1040
862
  }
1041
863
 
1042
- .layout-clean-flat main h1,
1043
- .layout-clean-flat main h2,
1044
- .layout-clean-flat main h3,
1045
- .layout-clean-flat main [data-slot="card-title"] {
864
+ .layout-clean-flat [data-svadmin-main] h1,
865
+ .layout-clean-flat [data-svadmin-main] h2,
866
+ .layout-clean-flat [data-svadmin-main] h3,
867
+ .layout-clean-flat [data-svadmin-main] [data-slot="card-title"] {
868
+ max-width: 100%;
1046
869
  overflow-wrap: anywhere;
870
+ letter-spacing: 0;
1047
871
  }
1048
872
 
1049
- .layout-clean-flat main p,
1050
- .layout-clean-flat main [data-slot="card-description"] {
873
+ .layout-clean-flat [data-svadmin-main] p,
874
+ .layout-clean-flat [data-svadmin-main] [data-slot="card-description"] {
875
+ max-width: 100%;
1051
876
  overflow-wrap: break-word;
1052
877
  }
1053
878
 
1054
- .layout-clean-flat main > div[class*="space-y"] > section:first-child {
1055
- border-radius: 0 !important;
1056
- background: transparent !important;
1057
- }
1058
-
1059
- .layout-clean-flat main > div[class*="space-y"] > section:first-child [data-slot="card"],
1060
- .layout-clean-flat main > div[class*="space-y"] > section:first-child + [class*="grid"] [data-slot="card"],
1061
- .layout-clean-flat main [data-svadmin-ops-hero] [data-slot="card"] {
1062
- background: transparent !important;
1063
- border-color: color-mix(in oklch, var(--border) 72%, transparent) !important;
1064
- box-shadow: none !important;
1065
- }
1066
-
1067
- .layout-clean-flat main > div[class*="space-y"] > section:first-child [data-slot="card"]:has([data-slot="card"]),
1068
- .layout-clean-flat main [data-slot="card"]:has(> [data-slot="card-content"] [data-svadmin-table-card]) {
1069
- border: 0 !important;
1070
- background: transparent !important;
1071
- padding: 0 !important;
1072
- }
1073
-
1074
- .layout-clean-flat main [data-slot="card"] [data-slot="card"] {
1075
- background: color-mix(in oklch, var(--card) 88%, var(--background)) !important;
1076
- border-color: color-mix(in oklch, var(--border) 70%, transparent) !important;
1077
- }
1078
-
1079
- .layout-clean-flat main [data-slot="card-content"] > .flex,
1080
- .layout-clean-flat 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"] {
1081
881
  min-width: 0;
1082
- }
1083
-
1084
- .layout-clean-flat main [data-slot="card-content"] span[class*="h-10"][class*="w-10"],
1085
- .layout-clean-flat main [data-slot="card-content"] span[class*="h-11"][class*="w-11"],
1086
- .layout-clean-flat main [data-slot="card-content"] span[class*="h-12"][class*="w-12"] {
1087
- flex-shrink: 0;
1088
- }
1089
-
1090
- .layout-clean-flat main [data-slot="card-content"] [class*="text-2xl"],
1091
- .layout-clean-flat main [data-slot="card-content"] [class*="text-3xl"] {
1092
- line-height: 1.12;
1093
- }
1094
-
1095
- .layout-clean-flat main [data-slot="badge"] {
882
+ max-width: 100%;
1096
883
  overflow: hidden;
1097
884
  text-overflow: ellipsis;
1098
885
  white-space: nowrap;
1099
886
  }
1100
887
 
1101
- .layout-clean-flat main [data-slot="tabs-list"] {
888
+ .layout-clean-flat [data-svadmin-main] [data-slot="tabs-list"] {
1102
889
  min-width: 0;
1103
- border-radius: 0.5rem !important;
1104
- }
1105
-
1106
- .layout-clean-flat main [data-slot="tabs-trigger"] {
1107
- min-width: 0;
1108
- overflow: hidden;
1109
- text-overflow: ellipsis;
1110
- white-space: nowrap;
890
+ border-radius: var(--radius-md);
1111
891
  }
1112
892
 
1113
893
  .layout-clean-flat [data-svadmin-ops-hero] {
1114
894
  align-items: stretch;
1115
895
  }
1116
896
 
1117
- .layout-clean-flat [data-svadmin-metric-card],
1118
- .layout-clean-flat [data-svadmin-panel-card] {
1119
- background: color-mix(in oklch, var(--card) 92%, var(--background)) !important;
1120
- }
1121
-
1122
897
  .layout-clean-flat [data-svadmin-metric-card] [data-slot="card-content"] {
1123
- min-height: 8.25rem;
898
+ min-height: 8rem;
1124
899
  }
1125
900
 
1126
901
  .layout-clean-flat [data-svadmin-panel-card] [data-slot="card-content"] > * + * {
1127
- border-top: 1px solid color-mix(in oklch, var(--border) 78%, transparent);
902
+ border-top: 1px solid var(--svadmin-border);
1128
903
  }
1129
904
 
1130
- .layout-clean-flat [data-svadmin-table-card],
1131
- .layout-clean-flat [data-svadmin-show-card],
1132
- .layout-clean-flat [data-svadmin-form-card] {
1133
- border-left: 0 !important;
1134
- border-right: 0 !important;
1135
- border-radius: 0 !important;
1136
- min-width: 0 !important;
1137
- max-width: 100% !important;
1138
- }
1139
-
1140
- .layout-clean-flat [data-svadmin-table-toolbar] {
1141
- background: transparent !important;
1142
- border-left: 0 !important;
1143
- border-right: 0 !important;
1144
- border-top: 0 !important;
1145
- border-radius: 0 !important;
1146
- padding-left: 0 !important;
1147
- padding-right: 0 !important;
1148
- }
1149
-
1150
- .layout-clean-flat [data-svadmin-table-scroll] {
1151
- min-width: 0 !important;
1152
- max-width: 100% !important;
1153
- scrollbar-gutter: stable both-edges;
1154
- }
1155
-
1156
- .layout-clean-flat [data-svadmin-datatable] {
1157
- min-width: 0 !important;
1158
- table-layout: fixed !important;
1159
- }
1160
-
1161
- @media (min-width: 1024px) {
1162
- .layout-clean-flat [data-svadmin-datatable] {
1163
- min-width: 760px !important;
1164
- }
1165
- }
1166
-
1167
- .layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"],
1168
- .layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"] {
1169
- overflow: hidden !important;
1170
- text-overflow: ellipsis !important;
1171
- white-space: nowrap !important;
1172
- }
1173
-
1174
- .layout-clean-flat [data-svadmin-list-actions] [data-slot="button"],
1175
- .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"] {
1176
- flex-shrink: 0 !important;
1177
- }
1178
-
1179
- .layout-clean-flat [data-svadmin-pagination] {
1180
- border-top: 1px solid color-mix(in oklch, var(--border) 82%, transparent);
1181
- border-radius: 0 !important;
1182
- padding-top: 0.75rem !important;
1183
- }
1184
-
1185
- .layout-clean-flat [data-svadmin-pagination] [data-slot="pagination-content"] {
1186
- flex-wrap: wrap !important;
1187
- justify-content: center !important;
1188
- }
1189
-
1190
- .layout-clean-flat [data-svadmin-form-actions] {
1191
- border-radius: 0.5rem !important;
1192
- box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
1193
- }
1194
-
1195
- @media (max-width: 767px) {
1196
- .layout-clean-flat main {
1197
- padding-left: 1rem !important;
1198
- padding-right: 1rem !important;
1199
- }
1200
-
1201
- .layout-clean-flat main h1 {
1202
- font-size: clamp(1.75rem, 1.55rem + 1vw, 2.125rem) !important;
1203
- }
1204
-
1205
- .layout-clean-flat main [data-slot="card"] {
1206
- border-left: 1px solid color-mix(in oklch, var(--border) 72%, transparent) !important;
1207
- border-right: 1px solid color-mix(in oklch, var(--border) 72%, transparent) !important;
1208
- border-radius: 0.5rem !important;
1209
- }
1210
-
1211
- .layout-clean-flat main [data-slot="card-header"],
1212
- .layout-clean-flat main [data-slot="card-content"],
1213
- .layout-clean-flat main [data-slot="card-footer"] {
1214
- padding-left: 1rem !important;
1215
- padding-right: 1rem !important;
1216
- }
1217
-
1218
- .layout-clean-flat main > div[class*="space-y"] > section:first-child {
1219
- padding-bottom: 1rem !important;
1220
- }
1221
-
1222
- .layout-clean-flat [data-svadmin-list-actions] [data-slot="button"],
1223
- .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"],
1224
- .layout-clean-flat [data-svadmin-form-actions] [data-slot="button"] {
1225
- min-width: 0 !important;
1226
- max-width: 100% !important;
1227
- }
1228
-
1229
- .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"] {
1230
- width: fit-content !important;
1231
- }
1232
-
1233
- .layout-clean-flat [data-svadmin-form-actions] {
1234
- width: 100% !important;
1235
- }
1236
-
1237
- .layout-clean-flat [data-svadmin-table-card],
1238
- .layout-clean-flat [data-svadmin-show-card],
1239
- .layout-clean-flat [data-svadmin-form-card] {
1240
- border-left: 1px solid color-mix(in oklch, var(--border) 72%, transparent) !important;
1241
- border-right: 1px solid color-mix(in oklch, var(--border) 72%, transparent) !important;
1242
- border-radius: 0.5rem !important;
1243
- }
1244
-
1245
- .layout-clean-flat [data-svadmin-table-card] [data-slot="card-header"],
1246
- .layout-clean-flat [data-svadmin-table-card] [data-slot="card-content"],
1247
- .layout-clean-flat [data-svadmin-show-card] [data-slot="card-header"],
1248
- .layout-clean-flat [data-svadmin-show-card] [data-slot="card-content"],
1249
- .layout-clean-flat [data-svadmin-form-card] [data-slot="card-header"],
1250
- .layout-clean-flat [data-svadmin-form-card] [data-slot="card-content"] {
1251
- padding-left: 1rem !important;
1252
- padding-right: 1rem !important;
1253
- }
1254
- }
1255
-
1256
- @media (min-width: 768px) and (max-width: 1023px) {
1257
- .layout-clean-flat main [class*="md:grid-cols"],
1258
- .layout-clean-flat main [class*="lg:grid-cols"],
1259
- .layout-clean-flat main [class*="xl:grid-cols"] {
1260
- grid-template-columns: minmax(0, 1fr) !important;
1261
- }
1262
-
1263
- .layout-clean-flat main [class*="lg:flex-row"],
1264
- .layout-clean-flat main [class*="xl:flex-row"] {
1265
- flex-direction: column !important;
1266
- align-items: stretch !important;
1267
- }
1268
- }
1269
-
1270
- /* svadmin content pages: profile/account/network/auth/error surfaces */
1271
905
  .layout-clean-flat [data-svadmin-content-page] {
1272
- --svadmin-content-border: color-mix(in oklch, var(--border) 78%, transparent);
1273
- --svadmin-content-muted: color-mix(in oklch, var(--muted) 58%, var(--background));
1274
- 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));
1275
909
  margin-inline: auto;
1276
910
  }
1277
911
 
1278
- .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,
1279
913
  .layout-clean-flat [data-svadmin-content-page] > .flex:first-child,
1280
914
  .layout-clean-flat [data-svadmin-content-page] > .relative:first-child {
1281
915
  min-width: 0;
1282
916
  }
1283
917
 
1284
- .layout-clean-flat [data-svadmin-content-page] > div:first-child:has(h2),
1285
- .layout-clean-flat [data-svadmin-content-page] > .flex:first-child:has(h2) {
1286
- border-bottom: 1px solid var(--svadmin-content-border);
1287
- padding-bottom: 1rem;
1288
- }
1289
-
1290
918
  .layout-clean-flat [data-svadmin-content-page] h1,
1291
919
  .layout-clean-flat [data-svadmin-content-page] h2 {
1292
- line-height: 1.15 !important;
1293
- letter-spacing: 0 !important;
920
+ line-height: 1.2;
921
+ letter-spacing: 0;
1294
922
  }
1295
923
 
1296
924
  .layout-clean-flat [data-svadmin-content-page] [data-slot="card"] {
1297
- border-color: var(--svadmin-content-border) !important;
1298
- border-radius: 0.625rem !important;
1299
- box-shadow: none !important;
1300
- background: var(--card) !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);
1301
929
  }
1302
930
 
1303
- .layout-clean-flat [data-svadmin-content-page] [data-slot="card"]:hover {
1304
- border-color: color-mix(in oklch, var(--border) 60%, var(--primary)) !important;
1305
- }
1306
-
1307
- .layout-clean-flat [data-svadmin-content-page] [class*="bg-gradient-to-r"] {
1308
- background: linear-gradient(90deg, var(--svadmin-content-muted), color-mix(in oklch, var(--primary) 8%, var(--background))) !important;
1309
- }
1310
-
1311
- .layout-clean-flat [data-svadmin-content-page] [class*="shadow"],
1312
- .layout-clean-flat [data-svadmin-content-page] [class*="ring-1"] {
1313
- 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);
1314
934
  }
1315
935
 
1316
936
  .layout-clean-flat [data-svadmin-content-page] [data-slot="tabs-list"] {
1317
- background: transparent !important;
1318
- border-radius: 0 !important;
1319
937
  border-bottom: 1px solid var(--svadmin-content-border);
1320
- padding: 0 !important;
938
+ border-radius: 0;
939
+ background: transparent;
940
+ padding: 0;
1321
941
  }
1322
942
 
1323
943
  .layout-clean-flat [data-svadmin-content-page] [data-slot="tabs-trigger"] {
1324
- border-radius: 0 !important;
1325
944
  min-height: 2.5rem;
945
+ border-radius: 0;
1326
946
  }
1327
947
 
1328
948
  .layout-clean-flat [data-svadmin-content-page] table {
@@ -1336,35 +956,57 @@ main {
1336
956
 
1337
957
  .layout-clean-flat [data-svadmin-content-page="error"] [data-slot="card"],
1338
958
  .layout-clean-flat [data-svadmin-content-page="auth-2fa"] [data-slot="card"] {
1339
- max-width: 32rem;
1340
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
+ }
1341
985
  }
1342
986
 
1343
987
  @media (max-width: 767px) {
1344
- .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"] {
1345
995
  max-width: 100%;
996
+ min-width: 0;
1346
997
  }
1347
998
 
1348
- .layout-clean-flat [data-svadmin-content-page] > .flex:first-child:has(h2) {
1349
- flex-direction: column;
1350
- align-items: stretch;
999
+ .layout-clean-flat [data-svadmin-form-actions] {
1000
+ width: 100%;
1351
1001
  }
1352
1002
 
1353
- .layout-clean-flat [data-svadmin-content-page] [data-slot="card"] {
1354
- border-left: 1px solid var(--svadmin-content-border) !important;
1355
- border-right: 1px solid var(--svadmin-content-border) !important;
1356
- border-radius: 0.5rem !important;
1003
+ .layout-clean-flat [data-svadmin-content-page] {
1004
+ width: 100%;
1357
1005
  }
1358
1006
 
1359
1007
  .layout-clean-flat [data-svadmin-content-page] [data-slot="card-content"],
1360
1008
  .layout-clean-flat [data-svadmin-content-page] [data-slot="card-header"] {
1361
- padding-left: 1rem !important;
1362
- padding-right: 1rem !important;
1363
- }
1364
-
1365
- .layout-clean-flat [data-svadmin-content-page="auth-2fa"] [data-slot="card-content"],
1366
- .layout-clean-flat [data-svadmin-content-page="error"] [data-slot="card-content"] {
1367
- padding-left: 1rem !important;
1368
- padding-right: 1rem !important;
1009
+ padding-right: 1rem;
1010
+ padding-left: 1rem;
1369
1011
  }
1370
1012
  }