@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
package/dist/app.css CHANGED
@@ -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
 
@@ -615,6 +543,10 @@ main {
615
543
  --radius-md: calc(var(--radius) - 2px);
616
544
  --radius-lg: var(--radius);
617
545
  --radius-xl: calc(var(--radius) + 4px);
546
+ --shadow-control: var(--svadmin-shadow-control);
547
+ --shadow-surface: var(--svadmin-shadow-surface);
548
+ --shadow-surface-hover: var(--svadmin-shadow-surface-hover);
549
+ --shadow-overlay: var(--svadmin-shadow-overlay);
618
550
  }
619
551
 
620
552
  /* ─── svadmin UI Components CSS ─────────────────────────────── */
@@ -673,657 +605,345 @@ main {
673
605
  font-weight: 600;
674
606
  }
675
607
 
676
- /* ─── High-Contrast Flat Layout Preset (clean-flat) ─── */
608
+ /* --- Stripe-first layout preset (clean-flat) --- */
609
+ /* Keep this public class for layoutPreset API compatibility. The preset only
610
+ * adjusts density and composition; color, focus, and elevation stay semantic. */
677
611
  .layout-clean-flat {
678
- --radius: 0.75rem;
612
+ --radius: 0.5rem;
613
+ --svadmin-content-width: 74rem;
614
+ --svadmin-surface: var(--card);
615
+ --svadmin-surface-muted: color-mix(in oklch, var(--muted) 72%, var(--card));
616
+ --svadmin-surface-hover: color-mix(in oklch, var(--primary) 4%, var(--card));
617
+ --svadmin-border: var(--border);
618
+ --svadmin-border-strong: color-mix(in oklch, var(--border) 74%, var(--foreground));
619
+ --svadmin-text: var(--foreground);
620
+ --svadmin-text-muted: var(--muted-foreground);
621
+ --svadmin-focus-ring: var(--ring);
622
+ --svadmin-control-shadow: var(--shadow-control);
623
+ --svadmin-surface-shadow: var(--shadow-surface);
624
+ --svadmin-surface-hover-shadow: var(--shadow-surface-hover);
625
+ --svadmin-floating-shadow: var(--shadow-overlay);
626
+ }
627
+
628
+ .layout-clean-flat [data-svadmin-main] {
629
+ background: var(--background);
630
+ color: var(--svadmin-text);
631
+ }
632
+
633
+ .layout-clean-flat [data-svadmin-main] > div,
634
+ .layout-clean-flat [data-svadmin-main] section,
635
+ .layout-clean-flat [data-svadmin-main] [data-slot="card-content"] {
636
+ min-width: 0;
679
637
  }
680
638
 
681
- /* Base card flat background overrides */
682
- .layout-clean-flat .bg-card,
683
- .layout-clean-flat [data-slot="card"] {
684
- background: #ffffff !important;
685
- border: 1px solid #f1f3f7 !important;
686
- box-shadow: none !important;
687
- border-radius: 0.5rem !important;
688
- }
689
- .dark.layout-clean-flat .bg-card,
690
- .dark .layout-clean-flat .bg-card,
691
- .dark.layout-clean-flat [data-slot="card"],
692
- .dark .layout-clean-flat [data-slot="card"] {
693
- background: #1e1e2d !important;
694
- border: 1px solid #2b2b40 !important;
695
- box-shadow: none !important;
696
- }
697
-
698
- /* Crisp table header styles */
699
- .layout-clean-flat th {
700
- background-color: #f9f9f9 !important;
701
- border-bottom: 1px solid #f1f3f7 !important;
702
- color: #181c32 !important;
703
- font-weight: 600 !important;
704
- font-size: 0.75rem !important;
705
- text-transform: uppercase !important;
706
- letter-spacing: 0.05em !important;
707
- }
708
- .dark.layout-clean-flat th,
709
- .dark .layout-clean-flat th {
710
- background-color: #1a1a27 !important;
711
- border-bottom: 1px solid #2b2b40 !important;
712
- color: #a1a5b7 !important;
713
- }
714
-
715
- /* Crisp table cell styles */
716
- .layout-clean-flat td {
717
- border-bottom: 1px solid #f1f3f7 !important;
718
- color: #5e6278 !important;
719
- font-size: 0.8125rem !important;
720
- }
721
- .dark.layout-clean-flat td,
722
- .dark .layout-clean-flat td {
723
- border-bottom: 1px solid rgba(43, 43, 64, 0.6) !important;
724
- color: #a1a5b7 !important;
725
- }
726
-
727
- /* Table row hover state */
728
- .layout-clean-flat tr:hover td {
729
- background-color: #f9f9f9 !important;
730
- }
731
- .dark.layout-clean-flat tr:hover td,
732
- .dark .layout-clean-flat tr:hover td {
733
- background-color: rgba(43, 43, 64, 0.3) !important;
734
- }
735
-
736
- /* Sidebar layout adjustments for clean-flat theme */
737
- .layout-clean-flat aside {
738
- background: #fafbfc !important;
739
- color: #181c32 !important;
740
- border-right-color: #f1f3f7 !important;
741
- box-shadow: none !important;
742
- }
743
- .dark.layout-clean-flat aside,
744
- .dark .layout-clean-flat aside {
745
- background: #1e1e2d !important;
746
- color: #a1a5b7 !important;
747
- border-right-color: #2b2b40 !important;
639
+ .layout-clean-flat [data-svadmin-sidebar] {
640
+ border-color: var(--sidebar-border);
641
+ background: var(--sidebar);
642
+ color: var(--sidebar-foreground);
643
+ box-shadow: inset -1px 0 0 var(--sidebar-border);
748
644
  }
749
645
 
750
646
  .layout-clean-flat .sidebar-menu-item {
751
- color: #5e6278 !important;
752
- border-radius: 0.5rem !important;
753
- transition: color 0.15s ease, background-color 0.15s ease !important;
754
- box-shadow: none !important;
647
+ border-radius: var(--radius-md);
648
+ color: var(--svadmin-text-muted);
649
+ box-shadow: none;
650
+ transition:
651
+ background-color 140ms ease,
652
+ color 140ms ease;
755
653
  }
756
654
 
757
655
  .layout-clean-flat .sidebar-menu-item:hover {
758
- background: transparent !important;
759
- color: #181c32 !important;
760
- }
761
- .dark.layout-clean-flat .sidebar-menu-item:hover,
762
- .dark .layout-clean-flat .sidebar-menu-item:hover {
763
- background: transparent !important;
764
- color: #f1f6ff !important;
656
+ background: color-mix(in oklch, var(--sidebar-accent) 72%, transparent);
657
+ color: var(--sidebar-foreground);
765
658
  }
766
659
 
767
660
  .layout-clean-flat .sidebar-menu-item-active {
768
- background: transparent !important;
769
- color: #3e97ff !important;
770
- font-weight: 600 !important;
771
- box-shadow: none !important;
772
- }
773
- .dark.layout-clean-flat .sidebar-menu-item-active,
774
- .dark .layout-clean-flat .sidebar-menu-item-active {
775
- background: transparent !important;
776
- color: #3e97ff !important;
661
+ background: var(--sidebar-accent);
662
+ color: var(--sidebar-primary);
663
+ font-weight: 600;
777
664
  }
778
665
 
779
666
  .layout-clean-flat .sidebar-menu-item-active svg {
780
- color: #3e97ff !important;
781
- opacity: 1 !important;
667
+ color: var(--sidebar-primary);
668
+ opacity: 1;
782
669
  }
783
670
 
784
- /* Button & input styles override under clean-flat layout */
785
- .layout-clean-flat [data-slot="button"][data-variant="default"] {
786
- background: #3e97ff !important;
787
- color: #ffffff !important;
788
- box-shadow: none !important;
789
- border-radius: 8px !important;
790
- font-weight: 600 !important;
791
- transition: all 0.15s ease !important;
792
- }
793
- .layout-clean-flat [data-slot="button"][data-variant="default"]:hover {
794
- background: #1880ff !important;
795
- }
796
-
797
- .layout-clean-flat [data-slot="button"][data-variant="outline"] {
798
- background: #ffffff !important;
799
- color: #5e6278 !important;
800
- border: 1px solid #e1e3ea !important;
801
- box-shadow: none !important;
802
- border-radius: 8px !important;
803
- font-weight: 600 !important;
804
- transition: all 0.15s ease !important;
805
- }
806
- .layout-clean-flat [data-slot="button"][data-variant="outline"]:hover {
807
- background: #f5f8fa !important;
808
- border-color: #cbd5e1 !important;
809
- color: #181c32 !important;
810
- }
811
- .dark.layout-clean-flat [data-slot="button"][data-variant="outline"],
812
- .dark .layout-clean-flat [data-slot="button"][data-variant="outline"] {
813
- background: #1e1e2d !important;
814
- color: #a1a5b7 !important;
815
- border-color: #2b2b40 !important;
816
- }
817
- .dark.layout-clean-flat [data-slot="button"][data-variant="outline"]:hover,
818
- .dark .layout-clean-flat [data-slot="button"][data-variant="outline"]:hover {
819
- background: #2b2b40 !important;
820
- color: #ffffff !important;
821
- }
822
-
823
- .layout-clean-flat [data-slot="input"] {
824
- border: 1px solid #e1e3ea !important;
825
- border-radius: 8px !important;
826
- box-shadow: none !important;
827
- outline: none !important;
828
- transition: all 0.15s ease !important;
829
- }
830
- .layout-clean-flat [data-slot="input"]:focus {
831
- border-color: #3e97ff !important;
832
- box-shadow: 0 0 0 4px rgba(62,151,255,0.1) !important;
833
- }
834
- .dark.layout-clean-flat [data-slot="input"],
835
- .dark .layout-clean-flat [data-slot="input"] {
836
- border-color: #2b2b40 !important;
837
- background: #151521 !important;
838
- color: #f1f6ff !important;
839
- }
840
- .dark.layout-clean-flat [data-slot="input"]:focus,
841
- .dark .layout-clean-flat [data-slot="input"]:focus {
842
- border-color: #3e97ff !important;
843
- }
844
-
845
- /* svadmin flat list and edit surfaces */
846
- [data-svadmin-list-header],
847
- [data-svadmin-table-toolbar],
848
- [data-svadmin-table-card],
849
- [data-svadmin-form-header],
850
- [data-svadmin-form-card],
851
- [data-svadmin-form-actions] {
852
- box-shadow: none !important;
671
+ .layout-clean-flat [data-svadmin-content-page] .bg-card,
672
+ .layout-clean-flat [data-slot="card"] {
673
+ min-width: 0;
674
+ border-color: var(--svadmin-border);
675
+ border-radius: var(--radius-lg);
676
+ background: var(--svadmin-surface);
677
+ box-shadow: var(--svadmin-surface-shadow);
853
678
  }
854
679
 
855
- .layout-clean-flat [data-svadmin-list-header],
856
- .layout-clean-flat [data-svadmin-table-toolbar],
857
- .layout-clean-flat [data-svadmin-table-card],
858
- .layout-clean-flat [data-svadmin-form-header],
859
- .layout-clean-flat [data-svadmin-form-card],
860
- .layout-clean-flat [data-svadmin-form-actions] {
861
- border-color: #f1f3f7 !important;
862
- background: #ffffff !important;
863
- border-radius: 0.5rem !important;
680
+ .layout-clean-flat [data-slot="card"][data-interactive="true"]:hover {
681
+ border-color: color-mix(in oklch, var(--primary) 24%, var(--svadmin-border));
682
+ box-shadow: var(--svadmin-surface-hover-shadow);
864
683
  }
865
684
 
866
- .layout-clean-flat [data-svadmin-list-actions] [data-slot="button"],
867
- .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"],
868
- .layout-clean-flat [data-svadmin-form-actions] [data-slot="button"] {
869
- height: 2.625rem !important;
870
- border-radius: 0.5rem !important;
685
+ .layout-clean-flat [data-slot="button"] {
686
+ border-radius: var(--radius-md);
687
+ box-shadow: var(--svadmin-control-shadow);
871
688
  }
872
689
 
873
- .layout-clean-flat [data-svadmin-table-toolbar] {
874
- padding: 0.875rem !important;
690
+ .layout-clean-flat [data-slot="button"][data-variant="default"] {
691
+ background: var(--primary);
692
+ color: var(--primary-foreground);
875
693
  }
876
694
 
877
- .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="input"] {
878
- height: 2.75rem !important;
879
- border-radius: 0.5rem !important;
880
- background: #f9f9f9 !important;
695
+ .layout-clean-flat [data-slot="button"][data-variant="default"]:hover {
696
+ background: color-mix(in oklch, var(--primary) 90%, var(--foreground));
881
697
  }
882
698
 
883
- [data-svadmin-datatable] {
884
- border-collapse: separate !important;
885
- border-spacing: 0 !important;
699
+ .layout-clean-flat [data-slot="button"][data-variant="outline"] {
700
+ border-color: var(--svadmin-border-strong);
701
+ background: var(--svadmin-surface);
702
+ color: var(--svadmin-text);
886
703
  }
887
704
 
888
- [data-svadmin-table-head] [data-slot="table-head"] {
889
- height: 3.25rem !important;
890
- border-bottom: 1px solid rgba(225, 227, 234, 0.78) !important;
891
- background: #f9f9f9 !important;
892
- color: #a1a5b7 !important;
893
- font-size: 0.6875rem !important;
894
- font-weight: 700 !important;
895
- letter-spacing: 0.08em !important;
896
- text-transform: uppercase !important;
705
+ .layout-clean-flat [data-slot="button"][data-variant="outline"]:hover {
706
+ border-color: color-mix(in oklch, var(--primary) 18%, var(--svadmin-border-strong));
707
+ background: var(--svadmin-surface-muted);
708
+ color: var(--svadmin-text);
709
+ }
710
+
711
+ .layout-clean-flat [data-slot="input"],
712
+ .layout-clean-flat [data-slot="textarea"],
713
+ .layout-clean-flat [data-slot="select"],
714
+ .layout-clean-flat [data-slot="select-trigger"] {
715
+ border-color: var(--svadmin-border-strong);
716
+ border-radius: var(--radius-md);
717
+ background: var(--svadmin-surface);
718
+ color: var(--svadmin-text);
719
+ box-shadow: var(--svadmin-control-shadow);
720
+ }
721
+
722
+ .layout-clean-flat [data-slot="input"]:focus-visible,
723
+ .layout-clean-flat [data-slot="textarea"]:focus-visible,
724
+ .layout-clean-flat [data-slot="select-trigger"]:focus-visible {
725
+ border-color: var(--svadmin-focus-ring);
726
+ outline-color: color-mix(in oklch, var(--svadmin-focus-ring) 48%, transparent);
727
+ }
728
+
729
+ .layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"] {
730
+ height: 3rem;
731
+ border-bottom-color: var(--svadmin-border);
732
+ background: var(--svadmin-surface-muted);
733
+ color: var(--svadmin-text-muted);
734
+ font-size: 0.75rem;
735
+ font-weight: 600;
736
+ letter-spacing: 0;
737
+ text-transform: none;
897
738
  }
898
739
 
899
- [data-svadmin-table-row] {
900
- border-bottom-color: rgba(241, 243, 247, 0.95) !important;
740
+ .layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"] {
741
+ height: 3.5rem;
742
+ border-bottom-color: var(--svadmin-border);
743
+ color: var(--svadmin-text);
744
+ font-size: 0.8125rem;
901
745
  }
902
746
 
903
- [data-svadmin-table-row] [data-slot="table-cell"] {
904
- height: 3.625rem !important;
905
- color: #5e6278 !important;
906
- font-size: 0.8125rem !important;
747
+ .layout-clean-flat [data-svadmin-table-row]:hover [data-slot="table-cell"] {
748
+ background: var(--svadmin-surface-hover);
907
749
  }
908
750
 
909
- [data-svadmin-table-row]:hover [data-slot="table-cell"] {
910
- background: #fbfcfd !important;
751
+ .layout-clean-flat [data-svadmin-list-header],
752
+ .layout-clean-flat [data-svadmin-form-header],
753
+ .layout-clean-flat [data-svadmin-page-header] {
754
+ border-top: 0;
755
+ border-right: 0;
756
+ border-left: 0;
757
+ border-radius: 0;
758
+ background: transparent;
759
+ padding-right: 0;
760
+ padding-left: 0;
911
761
  }
912
762
 
913
- [data-svadmin-pagination] {
914
- border-radius: 0.5rem;
915
- padding: 0.35rem 0.15rem;
763
+ .layout-clean-flat [data-svadmin-page-header] h1,
764
+ .layout-clean-flat [data-svadmin-list-header] h1,
765
+ .layout-clean-flat [data-svadmin-form-header] h1,
766
+ .layout-clean-flat [data-svadmin-resource-operations] h1 {
767
+ line-height: 1.2;
768
+ letter-spacing: 0;
916
769
  }
917
770
 
918
- [data-svadmin-form-content] {
919
- padding-top: 0 !important;
920
- padding-bottom: 0 !important;
771
+ .layout-clean-flat [data-svadmin-table-card],
772
+ .layout-clean-flat [data-svadmin-show-card],
773
+ .layout-clean-flat [data-svadmin-form-card] {
774
+ width: 100%;
775
+ max-width: 100%;
776
+ min-width: 0;
921
777
  }
922
778
 
923
- [data-svadmin-form-row] {
924
- border-bottom: 1px solid rgba(241, 243, 247, 0.95);
925
- padding: 1.35rem 0;
779
+ .layout-clean-flat [data-svadmin-table-toolbar] {
780
+ border-color: var(--svadmin-border);
781
+ border-radius: var(--radius-lg);
782
+ background: var(--svadmin-surface);
783
+ padding: 0.875rem;
784
+ box-shadow: var(--svadmin-surface-shadow);
926
785
  }
927
786
 
928
- [data-svadmin-form-row]:last-child {
929
- border-bottom: 0;
787
+ .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="input"] {
788
+ height: 2.625rem;
789
+ background: var(--svadmin-surface-muted);
930
790
  }
931
791
 
932
- [data-svadmin-field-label] {
933
- color: #3f4254 !important;
934
- font-weight: 600 !important;
792
+ .layout-clean-flat [data-svadmin-list-actions] [data-slot="button"],
793
+ .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"],
794
+ .layout-clean-flat [data-svadmin-form-actions] [data-slot="button"] {
795
+ height: 2.5rem;
796
+ flex-shrink: 0;
935
797
  }
936
798
 
937
- [data-svadmin-form-settings] [data-slot="input"],
938
- [data-svadmin-form-settings] textarea,
939
- [data-svadmin-form-settings] [data-slot="select-trigger"] {
940
- min-height: 2.75rem !important;
941
- border-radius: 0.5rem !important;
942
- background: #f9f9f9 !important;
799
+ .layout-clean-flat [data-svadmin-datatable] {
800
+ min-width: 0;
801
+ border-collapse: separate;
802
+ border-spacing: 0;
803
+ table-layout: fixed;
943
804
  }
944
805
 
945
- [data-svadmin-form-actions] {
946
- width: fit-content;
806
+ .layout-clean-flat [data-svadmin-table-scroll] {
947
807
  max-width: 100%;
808
+ min-width: 0;
809
+ scrollbar-gutter: stable both-edges;
948
810
  }
949
811
 
950
- @media (min-width: 768px) {
951
- [data-svadmin-form-settings] [data-svadmin-field] {
952
- display: grid !important;
953
- grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr) !important;
954
- align-items: start !important;
955
- column-gap: 2rem !important;
956
- row-gap: 0.35rem !important;
957
- }
958
-
959
- [data-svadmin-form-settings] [data-svadmin-field] > [data-svadmin-field-label] {
960
- padding-top: 0.8rem !important;
961
- }
962
-
963
- [data-svadmin-form-settings] [data-svadmin-field] > :not([data-svadmin-field-label]) {
964
- grid-column: 2 !important;
965
- }
966
- }
967
-
968
- .dark [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 [data-svadmin-table-row] {
975
- border-bottom-color: rgba(43, 43, 64, 0.82) !important;
976
- }
977
-
978
- .dark [data-svadmin-table-row] [data-slot="table-cell"] {
979
- color: #a1a5b7 !important;
812
+ .layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"],
813
+ .layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"] {
814
+ overflow: hidden;
815
+ text-overflow: ellipsis;
816
+ white-space: nowrap;
980
817
  }
981
818
 
982
- .dark [data-svadmin-table-row]:hover [data-slot="table-cell"] {
983
- background: rgba(43, 43, 64, 0.32) !important;
819
+ .layout-clean-flat [data-svadmin-pagination] {
820
+ border-top: 1px solid var(--svadmin-border);
821
+ border-radius: 0;
822
+ padding: 0.75rem 0.15rem 0.35rem;
984
823
  }
985
824
 
986
- .dark [data-svadmin-form-row] {
987
- border-bottom-color: rgba(43, 43, 64, 0.82);
825
+ .layout-clean-flat [data-svadmin-pagination] [data-slot="pagination-content"] {
826
+ flex-wrap: wrap;
827
+ justify-content: center;
988
828
  }
989
829
 
990
- /* ─── Flat workspace redesign pass: non-sidebar pages ─── */
991
- .layout-clean-flat main {
992
- background:
993
- linear-gradient(180deg, color-mix(in oklch, var(--background) 86%, white) 0%, var(--background) 34rem),
994
- var(--background) !important;
830
+ .layout-clean-flat [data-svadmin-form-content] {
831
+ padding-top: 0;
832
+ padding-bottom: 0;
995
833
  }
996
834
 
997
- .layout-clean-flat main > div {
998
- min-width: 0 !important;
835
+ .layout-clean-flat [data-svadmin-form-row] {
836
+ border-bottom: 1px solid var(--svadmin-border);
837
+ padding: 1.25rem 0;
999
838
  }
1000
839
 
1001
- .layout-clean-flat [data-svadmin-page-header],
1002
- .layout-clean-flat [data-svadmin-list-header],
1003
- .layout-clean-flat [data-svadmin-form-header] {
1004
- background: transparent !important;
1005
- border-radius: 0 !important;
1006
- border-left: 0 !important;
1007
- border-right: 0 !important;
1008
- border-top: 0 !important;
1009
- padding-left: 0 !important;
1010
- padding-right: 0 !important;
1011
- }
1012
-
1013
- .layout-clean-flat [data-svadmin-page-header] h1,
1014
- .layout-clean-flat [data-svadmin-list-header] h1,
1015
- .layout-clean-flat [data-svadmin-form-header] h1,
1016
- .layout-clean-flat [data-svadmin-resource-operations] h1 {
1017
- line-height: 1.12 !important;
1018
- letter-spacing: 0 !important;
840
+ .layout-clean-flat [data-svadmin-form-row]:last-child {
841
+ border-bottom: 0;
1019
842
  }
1020
843
 
1021
- .layout-clean-flat [data-slot="card"] {
1022
- border-color: color-mix(in oklch, var(--border) 82%, transparent) !important;
1023
- border-radius: 0.5rem !important;
1024
- box-shadow: none !important;
1025
- min-width: 0 !important;
844
+ .layout-clean-flat [data-svadmin-field-label] {
845
+ color: var(--svadmin-text);
846
+ font-weight: 600;
1026
847
  }
1027
848
 
1028
- .layout-clean-flat main section,
1029
- .layout-clean-flat main [class*="grid"],
1030
- .layout-clean-flat main [class*="flex"],
1031
- .layout-clean-flat main [data-slot="card-content"] {
1032
- min-width: 0;
849
+ .layout-clean-flat [data-svadmin-form-settings] [data-slot="input"],
850
+ .layout-clean-flat [data-svadmin-form-settings] textarea,
851
+ .layout-clean-flat [data-svadmin-form-settings] [data-slot="select-trigger"] {
852
+ min-height: 2.625rem;
853
+ background: var(--svadmin-surface);
1033
854
  }
1034
855
 
1035
- .layout-clean-flat main h1,
1036
- .layout-clean-flat main h2,
1037
- .layout-clean-flat main h3,
1038
- .layout-clean-flat main p,
1039
- .layout-clean-flat main [data-slot="badge"] {
856
+ .layout-clean-flat [data-svadmin-form-actions] {
857
+ width: fit-content;
1040
858
  max-width: 100%;
859
+ border-color: var(--svadmin-border);
860
+ border-radius: var(--radius-lg);
861
+ background: var(--svadmin-surface);
862
+ box-shadow: var(--svadmin-floating-shadow);
1041
863
  }
1042
864
 
1043
- .layout-clean-flat main h1,
1044
- .layout-clean-flat main h2,
1045
- .layout-clean-flat main h3,
1046
- .layout-clean-flat main [data-slot="card-title"] {
865
+ .layout-clean-flat [data-svadmin-main] h1,
866
+ .layout-clean-flat [data-svadmin-main] h2,
867
+ .layout-clean-flat [data-svadmin-main] h3,
868
+ .layout-clean-flat [data-svadmin-main] [data-slot="card-title"] {
869
+ max-width: 100%;
1047
870
  overflow-wrap: anywhere;
871
+ letter-spacing: 0;
1048
872
  }
1049
873
 
1050
- .layout-clean-flat main p,
1051
- .layout-clean-flat main [data-slot="card-description"] {
874
+ .layout-clean-flat [data-svadmin-main] p,
875
+ .layout-clean-flat [data-svadmin-main] [data-slot="card-description"] {
876
+ max-width: 100%;
1052
877
  overflow-wrap: break-word;
1053
878
  }
1054
879
 
1055
- .layout-clean-flat main > div[class*="space-y"] > section:first-child {
1056
- border-radius: 0 !important;
1057
- background: transparent !important;
1058
- }
1059
-
1060
- .layout-clean-flat main > div[class*="space-y"] > section:first-child [data-slot="card"],
1061
- .layout-clean-flat main > div[class*="space-y"] > section:first-child + [class*="grid"] [data-slot="card"],
1062
- .layout-clean-flat main [data-svadmin-ops-hero] [data-slot="card"] {
1063
- background: transparent !important;
1064
- border-color: color-mix(in oklch, var(--border) 72%, transparent) !important;
1065
- box-shadow: none !important;
1066
- }
1067
-
1068
- .layout-clean-flat main > div[class*="space-y"] > section:first-child [data-slot="card"]:has([data-slot="card"]),
1069
- .layout-clean-flat main [data-slot="card"]:has(> [data-slot="card-content"] [data-svadmin-table-card]) {
1070
- border: 0 !important;
1071
- background: transparent !important;
1072
- padding: 0 !important;
1073
- }
1074
-
1075
- .layout-clean-flat main [data-slot="card"] [data-slot="card"] {
1076
- background: color-mix(in oklch, var(--card) 88%, var(--background)) !important;
1077
- border-color: color-mix(in oklch, var(--border) 70%, transparent) !important;
1078
- }
1079
-
1080
- .layout-clean-flat main [data-slot="card-content"] > .flex,
1081
- .layout-clean-flat main [data-slot="card-content"] > .grid {
880
+ .layout-clean-flat [data-svadmin-main] [data-slot="badge"],
881
+ .layout-clean-flat [data-svadmin-main] [data-slot="tabs-trigger"] {
1082
882
  min-width: 0;
1083
- }
1084
-
1085
- .layout-clean-flat main [data-slot="card-content"] span[class*="h-10"][class*="w-10"],
1086
- .layout-clean-flat main [data-slot="card-content"] span[class*="h-11"][class*="w-11"],
1087
- .layout-clean-flat main [data-slot="card-content"] span[class*="h-12"][class*="w-12"] {
1088
- flex-shrink: 0;
1089
- }
1090
-
1091
- .layout-clean-flat main [data-slot="card-content"] [class*="text-2xl"],
1092
- .layout-clean-flat main [data-slot="card-content"] [class*="text-3xl"] {
1093
- line-height: 1.12;
1094
- }
1095
-
1096
- .layout-clean-flat main [data-slot="badge"] {
883
+ max-width: 100%;
1097
884
  overflow: hidden;
1098
885
  text-overflow: ellipsis;
1099
886
  white-space: nowrap;
1100
887
  }
1101
888
 
1102
- .layout-clean-flat main [data-slot="tabs-list"] {
889
+ .layout-clean-flat [data-svadmin-main] [data-slot="tabs-list"] {
1103
890
  min-width: 0;
1104
- border-radius: 0.5rem !important;
1105
- }
1106
-
1107
- .layout-clean-flat main [data-slot="tabs-trigger"] {
1108
- min-width: 0;
1109
- overflow: hidden;
1110
- text-overflow: ellipsis;
1111
- white-space: nowrap;
891
+ border-radius: var(--radius-md);
1112
892
  }
1113
893
 
1114
894
  .layout-clean-flat [data-svadmin-ops-hero] {
1115
895
  align-items: stretch;
1116
896
  }
1117
897
 
1118
- .layout-clean-flat [data-svadmin-metric-card],
1119
- .layout-clean-flat [data-svadmin-panel-card] {
1120
- background: color-mix(in oklch, var(--card) 92%, var(--background)) !important;
1121
- }
1122
-
1123
898
  .layout-clean-flat [data-svadmin-metric-card] [data-slot="card-content"] {
1124
- min-height: 8.25rem;
899
+ min-height: 8rem;
1125
900
  }
1126
901
 
1127
902
  .layout-clean-flat [data-svadmin-panel-card] [data-slot="card-content"] > * + * {
1128
- border-top: 1px solid color-mix(in oklch, var(--border) 78%, transparent);
903
+ border-top: 1px solid var(--svadmin-border);
1129
904
  }
1130
905
 
1131
- .layout-clean-flat [data-svadmin-table-card],
1132
- .layout-clean-flat [data-svadmin-show-card],
1133
- .layout-clean-flat [data-svadmin-form-card] {
1134
- border-left: 0 !important;
1135
- border-right: 0 !important;
1136
- border-radius: 0 !important;
1137
- min-width: 0 !important;
1138
- max-width: 100% !important;
1139
- }
1140
-
1141
- .layout-clean-flat [data-svadmin-table-toolbar] {
1142
- background: transparent !important;
1143
- border-left: 0 !important;
1144
- border-right: 0 !important;
1145
- border-top: 0 !important;
1146
- border-radius: 0 !important;
1147
- padding-left: 0 !important;
1148
- padding-right: 0 !important;
1149
- }
1150
-
1151
- .layout-clean-flat [data-svadmin-table-scroll] {
1152
- min-width: 0 !important;
1153
- max-width: 100% !important;
1154
- scrollbar-gutter: stable both-edges;
1155
- }
1156
-
1157
- .layout-clean-flat [data-svadmin-datatable] {
1158
- min-width: 0 !important;
1159
- table-layout: fixed !important;
1160
- }
1161
-
1162
- @media (min-width: 1024px) {
1163
- .layout-clean-flat [data-svadmin-datatable] {
1164
- min-width: 760px !important;
1165
- }
1166
- }
1167
-
1168
- .layout-clean-flat [data-svadmin-table-head] [data-slot="table-head"],
1169
- .layout-clean-flat [data-svadmin-table-row] [data-slot="table-cell"] {
1170
- overflow: hidden !important;
1171
- text-overflow: ellipsis !important;
1172
- white-space: nowrap !important;
1173
- }
1174
-
1175
- .layout-clean-flat [data-svadmin-list-actions] [data-slot="button"],
1176
- .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"] {
1177
- flex-shrink: 0 !important;
1178
- }
1179
-
1180
- .layout-clean-flat [data-svadmin-pagination] {
1181
- border-top: 1px solid color-mix(in oklch, var(--border) 82%, transparent);
1182
- border-radius: 0 !important;
1183
- padding-top: 0.75rem !important;
1184
- }
1185
-
1186
- .layout-clean-flat [data-svadmin-pagination] [data-slot="pagination-content"] {
1187
- flex-wrap: wrap !important;
1188
- justify-content: center !important;
1189
- }
1190
-
1191
- .layout-clean-flat [data-svadmin-form-actions] {
1192
- border-radius: 0.5rem !important;
1193
- box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
1194
- }
1195
-
1196
- @media (max-width: 767px) {
1197
- .layout-clean-flat main {
1198
- padding-left: 1rem !important;
1199
- padding-right: 1rem !important;
1200
- }
1201
-
1202
- .layout-clean-flat main h1 {
1203
- font-size: clamp(1.75rem, 1.55rem + 1vw, 2.125rem) !important;
1204
- }
1205
-
1206
- .layout-clean-flat main [data-slot="card"] {
1207
- border-left: 1px solid color-mix(in oklch, var(--border) 72%, transparent) !important;
1208
- border-right: 1px solid color-mix(in oklch, var(--border) 72%, transparent) !important;
1209
- border-radius: 0.5rem !important;
1210
- }
1211
-
1212
- .layout-clean-flat main [data-slot="card-header"],
1213
- .layout-clean-flat main [data-slot="card-content"],
1214
- .layout-clean-flat main [data-slot="card-footer"] {
1215
- padding-left: 1rem !important;
1216
- padding-right: 1rem !important;
1217
- }
1218
-
1219
- .layout-clean-flat main > div[class*="space-y"] > section:first-child {
1220
- padding-bottom: 1rem !important;
1221
- }
1222
-
1223
- .layout-clean-flat [data-svadmin-list-actions] [data-slot="button"],
1224
- .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"],
1225
- .layout-clean-flat [data-svadmin-form-actions] [data-slot="button"] {
1226
- min-width: 0 !important;
1227
- max-width: 100% !important;
1228
- }
1229
-
1230
- .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"] {
1231
- width: fit-content !important;
1232
- }
1233
-
1234
- .layout-clean-flat [data-svadmin-form-actions] {
1235
- width: 100% !important;
1236
- }
1237
-
1238
- .layout-clean-flat [data-svadmin-table-card],
1239
- .layout-clean-flat [data-svadmin-show-card],
1240
- .layout-clean-flat [data-svadmin-form-card] {
1241
- border-left: 1px solid color-mix(in oklch, var(--border) 72%, transparent) !important;
1242
- border-right: 1px solid color-mix(in oklch, var(--border) 72%, transparent) !important;
1243
- border-radius: 0.5rem !important;
1244
- }
1245
-
1246
- .layout-clean-flat [data-svadmin-table-card] [data-slot="card-header"],
1247
- .layout-clean-flat [data-svadmin-table-card] [data-slot="card-content"],
1248
- .layout-clean-flat [data-svadmin-show-card] [data-slot="card-header"],
1249
- .layout-clean-flat [data-svadmin-show-card] [data-slot="card-content"],
1250
- .layout-clean-flat [data-svadmin-form-card] [data-slot="card-header"],
1251
- .layout-clean-flat [data-svadmin-form-card] [data-slot="card-content"] {
1252
- padding-left: 1rem !important;
1253
- padding-right: 1rem !important;
1254
- }
1255
- }
1256
-
1257
- @media (min-width: 768px) and (max-width: 1023px) {
1258
- .layout-clean-flat main [class*="md:grid-cols"],
1259
- .layout-clean-flat main [class*="lg:grid-cols"],
1260
- .layout-clean-flat main [class*="xl:grid-cols"] {
1261
- grid-template-columns: minmax(0, 1fr) !important;
1262
- }
1263
-
1264
- .layout-clean-flat main [class*="lg:flex-row"],
1265
- .layout-clean-flat main [class*="xl:flex-row"] {
1266
- flex-direction: column !important;
1267
- align-items: stretch !important;
1268
- }
1269
- }
1270
-
1271
- /* svadmin content pages: profile/account/network/auth/error surfaces */
1272
906
  .layout-clean-flat [data-svadmin-content-page] {
1273
- --svadmin-content-border: color-mix(in oklch, var(--border) 78%, transparent);
1274
- --svadmin-content-muted: color-mix(in oklch, var(--muted) 58%, var(--background));
1275
- max-width: 1180px;
907
+ --svadmin-content-border: var(--svadmin-border);
908
+ --svadmin-content-muted: var(--svadmin-surface-muted);
909
+ width: min(100%, var(--svadmin-content-width));
1276
910
  margin-inline: auto;
1277
911
  }
1278
912
 
1279
- .layout-clean-flat [data-svadmin-content-page] > div:first-child:not([data-slot="card-content"]),
913
+ .layout-clean-flat [data-svadmin-content-page] > div:first-child,
1280
914
  .layout-clean-flat [data-svadmin-content-page] > .flex:first-child,
1281
915
  .layout-clean-flat [data-svadmin-content-page] > .relative:first-child {
1282
916
  min-width: 0;
1283
917
  }
1284
918
 
1285
- .layout-clean-flat [data-svadmin-content-page] > div:first-child:has(h2),
1286
- .layout-clean-flat [data-svadmin-content-page] > .flex:first-child:has(h2) {
1287
- border-bottom: 1px solid var(--svadmin-content-border);
1288
- padding-bottom: 1rem;
1289
- }
1290
-
1291
919
  .layout-clean-flat [data-svadmin-content-page] h1,
1292
920
  .layout-clean-flat [data-svadmin-content-page] h2 {
1293
- line-height: 1.15 !important;
1294
- letter-spacing: 0 !important;
921
+ line-height: 1.2;
922
+ letter-spacing: 0;
1295
923
  }
1296
924
 
1297
925
  .layout-clean-flat [data-svadmin-content-page] [data-slot="card"] {
1298
- border-color: var(--svadmin-content-border) !important;
1299
- border-radius: 0.625rem !important;
1300
- box-shadow: none !important;
1301
- background: var(--card) !important;
926
+ border-color: var(--svadmin-content-border);
927
+ border-radius: var(--radius-lg);
928
+ background: var(--svadmin-surface);
929
+ box-shadow: var(--svadmin-surface-shadow);
1302
930
  }
1303
931
 
1304
- .layout-clean-flat [data-svadmin-content-page] [data-slot="card"]:hover {
1305
- border-color: color-mix(in oklch, var(--border) 60%, var(--primary)) !important;
1306
- }
1307
-
1308
- .layout-clean-flat [data-svadmin-content-page] [class*="bg-gradient-to-r"] {
1309
- background: linear-gradient(90deg, var(--svadmin-content-muted), color-mix(in oklch, var(--primary) 8%, var(--background))) !important;
1310
- }
1311
-
1312
- .layout-clean-flat [data-svadmin-content-page] [class*="shadow"],
1313
- .layout-clean-flat [data-svadmin-content-page] [class*="ring-1"] {
1314
- box-shadow: none !important;
932
+ .layout-clean-flat [data-svadmin-content-page] [data-slot="card"][data-interactive="true"]:hover {
933
+ border-color: color-mix(in oklch, var(--primary) 24%, var(--svadmin-content-border));
934
+ box-shadow: var(--svadmin-surface-hover-shadow);
1315
935
  }
1316
936
 
1317
937
  .layout-clean-flat [data-svadmin-content-page] [data-slot="tabs-list"] {
1318
- background: transparent !important;
1319
- border-radius: 0 !important;
1320
938
  border-bottom: 1px solid var(--svadmin-content-border);
1321
- padding: 0 !important;
939
+ border-radius: 0;
940
+ background: transparent;
941
+ padding: 0;
1322
942
  }
1323
943
 
1324
944
  .layout-clean-flat [data-svadmin-content-page] [data-slot="tabs-trigger"] {
1325
- border-radius: 0 !important;
1326
945
  min-height: 2.5rem;
946
+ border-radius: 0;
1327
947
  }
1328
948
 
1329
949
  .layout-clean-flat [data-svadmin-content-page] table {
@@ -1337,35 +957,57 @@ main {
1337
957
 
1338
958
  .layout-clean-flat [data-svadmin-content-page="error"] [data-slot="card"],
1339
959
  .layout-clean-flat [data-svadmin-content-page="auth-2fa"] [data-slot="card"] {
1340
- max-width: 32rem;
1341
960
  width: 100%;
961
+ max-width: 32rem;
962
+ }
963
+
964
+ @media (min-width: 768px) {
965
+ .layout-clean-flat [data-svadmin-form-settings] [data-svadmin-field] {
966
+ display: grid;
967
+ grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr);
968
+ align-items: start;
969
+ column-gap: 2rem;
970
+ row-gap: 0.35rem;
971
+ }
972
+
973
+ .layout-clean-flat [data-svadmin-form-settings] [data-svadmin-field] > [data-svadmin-field-label] {
974
+ padding-top: 0.75rem;
975
+ }
976
+
977
+ .layout-clean-flat [data-svadmin-form-settings] [data-svadmin-field] > :not([data-svadmin-field-label]) {
978
+ grid-column: 2;
979
+ }
980
+ }
981
+
982
+ @media (min-width: 1024px) {
983
+ .layout-clean-flat [data-svadmin-datatable] {
984
+ min-width: 760px;
985
+ }
1342
986
  }
1343
987
 
1344
988
  @media (max-width: 767px) {
1345
- .layout-clean-flat [data-svadmin-content-page] {
989
+ .layout-clean-flat [data-svadmin-main] h1 {
990
+ font-size: 1.625rem;
991
+ }
992
+
993
+ .layout-clean-flat [data-svadmin-list-actions] [data-slot="button"],
994
+ .layout-clean-flat [data-svadmin-table-toolbar] [data-slot="button"],
995
+ .layout-clean-flat [data-svadmin-form-actions] [data-slot="button"] {
1346
996
  max-width: 100%;
997
+ min-width: 0;
1347
998
  }
1348
999
 
1349
- .layout-clean-flat [data-svadmin-content-page] > .flex:first-child:has(h2) {
1350
- flex-direction: column;
1351
- align-items: stretch;
1000
+ .layout-clean-flat [data-svadmin-form-actions] {
1001
+ width: 100%;
1352
1002
  }
1353
1003
 
1354
- .layout-clean-flat [data-svadmin-content-page] [data-slot="card"] {
1355
- border-left: 1px solid var(--svadmin-content-border) !important;
1356
- border-right: 1px solid var(--svadmin-content-border) !important;
1357
- border-radius: 0.5rem !important;
1004
+ .layout-clean-flat [data-svadmin-content-page] {
1005
+ width: 100%;
1358
1006
  }
1359
1007
 
1360
1008
  .layout-clean-flat [data-svadmin-content-page] [data-slot="card-content"],
1361
1009
  .layout-clean-flat [data-svadmin-content-page] [data-slot="card-header"] {
1362
- padding-left: 1rem !important;
1363
- padding-right: 1rem !important;
1364
- }
1365
-
1366
- .layout-clean-flat [data-svadmin-content-page="auth-2fa"] [data-slot="card-content"],
1367
- .layout-clean-flat [data-svadmin-content-page="error"] [data-slot="card-content"] {
1368
- padding-left: 1rem !important;
1369
- padding-right: 1rem !important;
1010
+ padding-right: 1rem;
1011
+ padding-left: 1rem;
1370
1012
  }
1371
1013
  }