@solidxai/core-ui 0.1.5-beta.8 → 0.1.6

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 (300) hide show
  1. package/dist/components/auth/AuthTabs.d.ts +14 -0
  2. package/dist/components/auth/AuthTabs.d.ts.map +1 -0
  3. package/dist/components/auth/AuthTabs.js +19 -0
  4. package/dist/components/auth/AuthTabs.js.map +1 -0
  5. package/dist/components/auth/AuthTabs.tsx +38 -0
  6. package/dist/components/auth/GoogleAuthChecking.d.ts.map +1 -1
  7. package/dist/components/auth/GoogleAuthChecking.js +10 -10
  8. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  9. package/dist/components/auth/GoogleAuthChecking.tsx +8 -9
  10. package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
  11. package/dist/components/auth/SolidChangeForcePassword.js +9 -10
  12. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  13. package/dist/components/auth/SolidChangeForcePassword.tsx +6 -9
  14. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  15. package/dist/components/auth/SolidForgotPassword.js +8 -8
  16. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  17. package/dist/components/auth/SolidForgotPassword.tsx +6 -8
  18. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  19. package/dist/components/auth/SolidInitialLoginOtp.js +57 -57
  20. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  21. package/dist/components/auth/SolidInitialLoginOtp.tsx +10 -11
  22. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  23. package/dist/components/auth/SolidInitiateRegisterOtp.js +57 -57
  24. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  25. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +10 -11
  26. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  27. package/dist/components/auth/SolidLogin.js +12 -12
  28. package/dist/components/auth/SolidLogin.js.map +1 -1
  29. package/dist/components/auth/SolidLogin.tsx +11 -16
  30. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  31. package/dist/components/auth/SolidRegister.js +19 -19
  32. package/dist/components/auth/SolidRegister.js.map +1 -1
  33. package/dist/components/auth/SolidRegister.tsx +18 -23
  34. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  35. package/dist/components/auth/SolidResetPassword.js +15 -15
  36. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  37. package/dist/components/auth/SolidResetPassword.tsx +7 -8
  38. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  39. package/dist/components/common/GeneralSettings.js +87 -120
  40. package/dist/components/common/GeneralSettings.js.map +1 -1
  41. package/dist/components/common/GeneralSettings.tsx +12 -42
  42. package/dist/components/common/GlobalToast.d.ts +2 -0
  43. package/dist/components/common/GlobalToast.d.ts.map +1 -0
  44. package/dist/components/common/GlobalToast.js +25 -0
  45. package/dist/components/common/GlobalToast.js.map +1 -0
  46. package/dist/components/common/GlobalToast.tsx +25 -0
  47. package/dist/components/common/SolidErrorStatePage.d.ts +12 -0
  48. package/dist/components/common/SolidErrorStatePage.d.ts.map +1 -0
  49. package/dist/components/common/SolidErrorStatePage.js +16 -0
  50. package/dist/components/common/SolidErrorStatePage.js.map +1 -0
  51. package/dist/components/common/SolidErrorStatePage.tsx +55 -0
  52. package/dist/components/common/SolidExport.d.ts.map +1 -1
  53. package/dist/components/common/SolidExport.js +19 -31
  54. package/dist/components/common/SolidExport.js.map +1 -1
  55. package/dist/components/common/SolidExport.tsx +7 -19
  56. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  57. package/dist/components/common/SolidFormStepper.js +41 -41
  58. package/dist/components/common/SolidFormStepper.js.map +1 -1
  59. package/dist/components/common/SolidFormStepper.tsx +5 -6
  60. package/dist/components/core/chatter/SolidChatterDateDivider.d.ts.map +1 -1
  61. package/dist/components/core/chatter/SolidChatterDateDivider.js +4 -1
  62. package/dist/components/core/chatter/SolidChatterDateDivider.js.map +1 -1
  63. package/dist/components/core/chatter/SolidChatterDateDivider.tsx +5 -1
  64. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  65. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +9 -9
  66. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  67. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +8 -9
  68. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  69. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +8 -8
  70. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  71. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +7 -9
  72. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
  73. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +11 -11
  74. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
  75. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +10 -11
  76. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  77. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +9 -9
  78. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  79. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +8 -9
  80. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  81. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +7 -7
  82. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  83. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +6 -7
  84. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  85. package/dist/components/core/common/SolidGlobalSearchElement.js +78 -21
  86. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  87. package/dist/components/core/common/SolidGlobalSearchElement.tsx +65 -10
  88. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  89. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +6 -8
  90. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  91. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +5 -9
  92. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
  93. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +9 -11
  94. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  95. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +5 -10
  96. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.d.ts.map +1 -1
  97. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js +5 -6
  98. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js.map +1 -1
  99. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.tsx +5 -8
  100. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts.map +1 -1
  101. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +10 -12
  102. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  103. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +6 -11
  104. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
  105. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +11 -6
  106. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  107. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +13 -1
  108. package/dist/components/core/form/SolidFormUserViewLayout.d.ts.map +1 -1
  109. package/dist/components/core/form/SolidFormUserViewLayout.js +7 -8
  110. package/dist/components/core/form/SolidFormUserViewLayout.js.map +1 -1
  111. package/dist/components/core/form/SolidFormUserViewLayout.tsx +5 -7
  112. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  113. package/dist/components/core/form/SolidFormView.js +12 -21
  114. package/dist/components/core/form/SolidFormView.js.map +1 -1
  115. package/dist/components/core/form/SolidFormView.tsx +11 -33
  116. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  117. package/dist/components/core/form/fields/SolidMediaSingleField.js +22 -15
  118. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  119. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +14 -2
  120. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  121. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +37 -26
  122. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  123. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +38 -5
  124. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  125. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +11 -11
  126. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  127. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +9 -11
  128. package/dist/components/core/kanban/KanbanUserViewLayout.d.ts.map +1 -1
  129. package/dist/components/core/kanban/KanbanUserViewLayout.js +7 -8
  130. package/dist/components/core/kanban/KanbanUserViewLayout.js.map +1 -1
  131. package/dist/components/core/kanban/KanbanUserViewLayout.tsx +4 -6
  132. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  133. package/dist/components/core/kanban/SolidKanbanView.js +5 -7
  134. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  135. package/dist/components/core/kanban/SolidKanbanView.tsx +4 -9
  136. package/dist/components/core/list/PLAN.md +92 -0
  137. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  138. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +13 -13
  139. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  140. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +5 -6
  141. package/dist/components/core/list/SolidDataTable.d.ts +58 -0
  142. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -0
  143. package/dist/components/core/list/SolidDataTable.js +141 -0
  144. package/dist/components/core/list/SolidDataTable.js.map +1 -0
  145. package/dist/components/core/list/SolidDataTable.tsx +314 -0
  146. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  147. package/dist/components/core/list/SolidListView.js +20 -67
  148. package/dist/components/core/list/SolidListView.js.map +1 -1
  149. package/dist/components/core/list/SolidListView.tsx +9 -76
  150. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  151. package/dist/components/core/model/CreateModel.js +15 -25
  152. package/dist/components/core/model/CreateModel.js.map +1 -1
  153. package/dist/components/core/model/CreateModel.tsx +12 -32
  154. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  155. package/dist/components/core/model/FieldMetaData.js +6 -17
  156. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  157. package/dist/components/core/model/FieldMetaData.tsx +5 -26
  158. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  159. package/dist/components/core/model/ModelMetaData.js +48 -55
  160. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  161. package/dist/components/core/model/ModelMetaData.tsx +4 -22
  162. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  163. package/dist/components/core/module/CreateModule.js +42 -44
  164. package/dist/components/core/module/CreateModule.js.map +1 -1
  165. package/dist/components/core/module/CreateModule.tsx +13 -27
  166. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  167. package/dist/components/core/module/ModuleListViewData.js +11 -7
  168. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  169. package/dist/components/core/module/ModuleListViewData.tsx +10 -8
  170. package/dist/components/core/solid-ai/SolidAiChat.d.ts +3 -0
  171. package/dist/components/core/solid-ai/SolidAiChat.d.ts.map +1 -0
  172. package/dist/components/core/solid-ai/SolidAiChat.js +1043 -0
  173. package/dist/components/core/solid-ai/SolidAiChat.js.map +1 -0
  174. package/dist/components/core/solid-ai/SolidAiChat.module.css +1339 -0
  175. package/dist/components/core/solid-ai/SolidAiChat.tsx +1237 -0
  176. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  177. package/dist/components/core/tree/SolidTreeView.js +32 -69
  178. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  179. package/dist/components/core/tree/SolidTreeView.tsx +8 -47
  180. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  181. package/dist/components/core/users/CreateUser.js +24 -37
  182. package/dist/components/core/users/CreateUser.js.map +1 -1
  183. package/dist/components/core/users/CreateUser.tsx +8 -46
  184. package/dist/components/core/users/UserListView.d.ts.map +1 -1
  185. package/dist/components/core/users/UserListView.js +9 -16
  186. package/dist/components/core/users/UserListView.js.map +1 -1
  187. package/dist/components/core/users/UserListView.tsx +5 -21
  188. package/dist/components/layout/AdminLayout.d.ts.map +1 -1
  189. package/dist/components/layout/AdminLayout.js +4 -2
  190. package/dist/components/layout/AdminLayout.js.map +1 -1
  191. package/dist/components/layout/AdminLayout.tsx +4 -2
  192. package/dist/components/layout/AdminTopHeader.d.ts +2 -0
  193. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -0
  194. package/dist/components/layout/AdminTopHeader.js +80 -0
  195. package/dist/components/layout/AdminTopHeader.js.map +1 -0
  196. package/dist/components/layout/AdminTopHeader.tsx +165 -0
  197. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  198. package/dist/components/layout/AppSidebar.js +1 -2
  199. package/dist/components/layout/AppSidebar.js.map +1 -1
  200. package/dist/components/layout/AppSidebar.tsx +0 -2
  201. package/dist/components/layout/Layout.d.ts.map +1 -1
  202. package/dist/components/layout/Layout.js +2 -1
  203. package/dist/components/layout/Layout.js.map +1 -1
  204. package/dist/components/layout/Layout.tsx +2 -0
  205. package/dist/components/layout/SolidAiStudioLayout.d.ts +10 -0
  206. package/dist/components/layout/SolidAiStudioLayout.d.ts.map +1 -0
  207. package/dist/components/layout/SolidAiStudioLayout.js +159 -0
  208. package/dist/components/layout/SolidAiStudioLayout.js.map +1 -0
  209. package/dist/components/layout/SolidAiStudioLayout.tsx +333 -0
  210. package/dist/components/layout/navbar-one.d.ts.map +1 -1
  211. package/dist/components/layout/navbar-one.js +1 -2
  212. package/dist/components/layout/navbar-one.js.map +1 -1
  213. package/dist/components/layout/navbar-one.tsx +0 -2
  214. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  215. package/dist/components/layout/navbar-two-menu.js +50 -24
  216. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  217. package/dist/components/layout/navbar-two-menu.tsx +48 -30
  218. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts +24 -0
  219. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -0
  220. package/dist/components/shad-cn-ui/SolidAutocomplete.js +224 -0
  221. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -0
  222. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +339 -0
  223. package/dist/components/shad-cn-ui/SolidButton.d.ts +14 -0
  224. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -0
  225. package/dist/components/shad-cn-ui/SolidButton.js +36 -0
  226. package/dist/components/shad-cn-ui/SolidButton.js.map +1 -0
  227. package/dist/components/shad-cn-ui/SolidButton.tsx +54 -0
  228. package/dist/components/shad-cn-ui/SolidInput.d.ts +5 -0
  229. package/dist/components/shad-cn-ui/SolidInput.d.ts.map +1 -0
  230. package/dist/components/shad-cn-ui/SolidInput.js +35 -0
  231. package/dist/components/shad-cn-ui/SolidInput.js.map +1 -0
  232. package/dist/components/shad-cn-ui/SolidInput.tsx +12 -0
  233. package/dist/components/shad-cn-ui/SolidNumberInput.d.ts +10 -0
  234. package/dist/components/shad-cn-ui/SolidNumberInput.d.ts.map +1 -0
  235. package/dist/components/shad-cn-ui/SolidNumberInput.js +33 -0
  236. package/dist/components/shad-cn-ui/SolidNumberInput.js.map +1 -0
  237. package/dist/components/shad-cn-ui/SolidNumberInput.tsx +24 -0
  238. package/dist/components/shad-cn-ui/SolidSelect.d.ts +16 -0
  239. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -0
  240. package/dist/components/shad-cn-ui/SolidSelect.js +26 -0
  241. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -0
  242. package/dist/components/shad-cn-ui/SolidSelect.tsx +65 -0
  243. package/dist/components/shad-cn-ui/SolidTabs.d.ts +18 -0
  244. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -0
  245. package/dist/components/shad-cn-ui/SolidTabs.js +22 -0
  246. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -0
  247. package/dist/components/shad-cn-ui/SolidTabs.tsx +73 -0
  248. package/dist/components/shad-cn-ui/index.d.ts +7 -0
  249. package/dist/components/shad-cn-ui/index.d.ts.map +1 -0
  250. package/dist/components/shad-cn-ui/index.js +7 -0
  251. package/dist/components/shad-cn-ui/index.js.map +1 -0
  252. package/dist/components/shad-cn-ui/index.ts +6 -0
  253. package/dist/helpers/studioSandbox.d.ts +31 -0
  254. package/dist/helpers/studioSandbox.d.ts.map +1 -0
  255. package/dist/helpers/studioSandbox.js +104 -0
  256. package/dist/helpers/studioSandbox.js.map +1 -0
  257. package/dist/helpers/studioSandbox.ts +117 -0
  258. package/dist/index.d.ts +4 -0
  259. package/dist/index.d.ts.map +1 -1
  260. package/dist/index.js +3 -0
  261. package/dist/index.js.map +1 -1
  262. package/dist/index.ts +4 -0
  263. package/dist/redux/features/solidStudioSlice.d.ts +9 -0
  264. package/dist/redux/features/solidStudioSlice.d.ts.map +1 -0
  265. package/dist/redux/features/solidStudioSlice.js +72 -0
  266. package/dist/redux/features/solidStudioSlice.js.map +1 -0
  267. package/dist/redux/features/solidStudioSlice.ts +78 -0
  268. package/dist/redux/features/toastSlice.d.ts +15 -0
  269. package/dist/redux/features/toastSlice.d.ts.map +1 -0
  270. package/dist/redux/features/toastSlice.js +20 -0
  271. package/dist/redux/features/toastSlice.js.map +1 -0
  272. package/dist/redux/features/toastSlice.ts +35 -0
  273. package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
  274. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  275. package/dist/redux/store/defaultStoreConfig.js +2 -1
  276. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  277. package/dist/redux/store/defaultStoreConfig.ts +2 -0
  278. package/dist/resources/images/errors/error-astronaut-404.png +0 -0
  279. package/dist/resources/shadcn-base.css +4171 -0
  280. package/dist/routes/SolidLayoutRegistry.d.ts +51 -0
  281. package/dist/routes/SolidLayoutRegistry.d.ts.map +1 -0
  282. package/dist/routes/SolidLayoutRegistry.js +108 -0
  283. package/dist/routes/SolidLayoutRegistry.js.map +1 -0
  284. package/dist/routes/SolidLayoutRegistry.tsx +157 -0
  285. package/dist/routes/guards/AdminGuard.d.ts +2 -0
  286. package/dist/routes/guards/AdminGuard.d.ts.map +1 -0
  287. package/dist/routes/guards/AdminGuard.js +16 -0
  288. package/dist/routes/guards/AdminGuard.js.map +1 -0
  289. package/dist/routes/guards/AdminGuard.tsx +17 -0
  290. package/dist/routes/pages/studio/StudioHomePage.d.ts +2 -0
  291. package/dist/routes/pages/studio/StudioHomePage.d.ts.map +1 -0
  292. package/dist/routes/pages/studio/StudioHomePage.js +22 -0
  293. package/dist/routes/pages/studio/StudioHomePage.js.map +1 -0
  294. package/dist/routes/pages/studio/StudioHomePage.tsx +106 -0
  295. package/dist/routes/pages/studio/StudioLandingPage.d.ts +2 -0
  296. package/dist/routes/pages/studio/StudioLandingPage.d.ts.map +1 -0
  297. package/dist/routes/pages/studio/StudioLandingPage.js +78 -0
  298. package/dist/routes/pages/studio/StudioLandingPage.js.map +1 -0
  299. package/dist/routes/pages/studio/StudioLandingPage.tsx +320 -0
  300. package/package.json +1 -1
@@ -0,0 +1,4171 @@
1
+ :root {
2
+ --solid-surface-0: #f6f8fc;
3
+ --solid-surface-1: #ffffff;
4
+ --solid-surface-2: #eef2ff;
5
+ --solid-surface-3: #f8fafc;
6
+ --solid-surface-elevated: #ffffff;
7
+ --solid-text-primary: #0f172a;
8
+ --solid-text-secondary: #475569;
9
+ --solid-text-muted: #64748b;
10
+ --solid-border-default: #e2e8f0;
11
+ --solid-border-strong: #cbd5e1;
12
+ --solid-interactive-bg: #2563eb;
13
+ --solid-interactive-fg: #ffffff;
14
+ --solid-focus-ring: rgba(37, 99, 235, 0.35);
15
+ --background: #f6f8fc;
16
+ --foreground: #0f172a;
17
+ --card: #ffffff;
18
+ --card-foreground: #0f172a;
19
+ --border: #e2e8f0;
20
+ --muted: #64748b;
21
+ --muted-foreground: #475569;
22
+ --accent: #eef2ff;
23
+ --accent-foreground: #3730a3;
24
+ --primary: #2563eb;
25
+ --primary-foreground: #ffffff;
26
+ --ring: rgba(37, 99, 235, 0.35);
27
+ --sidebar-background: #f8fafc;
28
+ --sidebar-foreground: #0f172a;
29
+ --sidebar-border: #e2e8f0;
30
+ --sidebar-accent: #f1f5f9;
31
+ --sidebar-accent-foreground: #0f172a;
32
+ --sidebar-primary: #2563eb;
33
+ --sidebar-primary-foreground: #ffffff;
34
+ --sidebar-width: 272px;
35
+ --sidebar-width-collapsed: 76px;
36
+ --solid-sidebar-width: 272px;
37
+ --solid-studio-header-height: 0px;
38
+ --shadow-soft: 0 12px 28px rgba(15, 23, 42, 0.1);
39
+ --z-app: 1;
40
+ --z-overlay: 1000;
41
+ --z-studio: 9999;
42
+ }
43
+
44
+ html.dark,
45
+ [data-theme="dark"] {
46
+ --solid-surface-0: #090f1d;
47
+ --solid-surface-1: #111827;
48
+ --solid-surface-2: #172554;
49
+ --solid-surface-3: #020817;
50
+ --solid-surface-elevated: #111827;
51
+ --solid-text-primary: #f8fafc;
52
+ --solid-text-secondary: #cbd5e1;
53
+ --solid-text-muted: #94a3b8;
54
+ --solid-border-default: #1f2937;
55
+ --solid-border-strong: #374151;
56
+ --solid-interactive-bg: #60a5fa;
57
+ --solid-interactive-fg: #0b1220;
58
+ --solid-focus-ring: rgba(96, 165, 250, 0.35);
59
+ --background: #090f1d;
60
+ --foreground: #e5e7eb;
61
+ --card: #111827;
62
+ --card-foreground: #f8fafc;
63
+ --border: #1f2937;
64
+ --muted: #94a3b8;
65
+ --muted-foreground: #cbd5e1;
66
+ --accent: #172554;
67
+ --accent-foreground: #dbeafe;
68
+ --primary: #60a5fa;
69
+ --primary-foreground: #0b1220;
70
+ --ring: rgba(96, 165, 250, 0.35);
71
+ --sidebar-background: #020817;
72
+ --sidebar-foreground: #e2e8f0;
73
+ --sidebar-border: #111827;
74
+ --sidebar-accent: #0f172a;
75
+ --sidebar-accent-foreground: #f8fafc;
76
+ --sidebar-primary: #1d4ed8;
77
+ --sidebar-primary-foreground: #e5efff;
78
+ --shadow-soft: 0 18px 30px rgba(2, 6, 23, 0.6);
79
+ }
80
+
81
+ html,
82
+ body {
83
+ background: var(--background);
84
+ color: var(--foreground);
85
+ }
86
+
87
+ /* Studio Mode Sandbox Constraints */
88
+ #solid-studio-root {
89
+ position: relative;
90
+ height: 100vh;
91
+ overflow: hidden;
92
+ }
93
+
94
+ /* Studio Mode Sandbox Utility Overrides */
95
+ .h-screen {
96
+ height: calc(100vh - var(--solid-studio-header-height, 0px)) !important;
97
+ }
98
+
99
+ .min-h-screen {
100
+ min-height: calc(100vh - var(--solid-studio-header-height, 0px)) !important;
101
+ }
102
+
103
+ .max-h-screen {
104
+ max-height: calc(100vh - var(--solid-studio-header-height, 0px)) !important;
105
+ }
106
+
107
+ #solid-studio-app-container {
108
+ position: relative;
109
+ /* CRITICAL: creates containing block, scoping position: fixed elements inside it */
110
+ transform: translate(0, 0);
111
+ height: calc(100vh - 44px);
112
+ /* adjust for studio header */
113
+ margin-top: 44px;
114
+ overflow: auto;
115
+ /* prevent stacking issues */
116
+ isolation: isolate;
117
+ }
118
+
119
+ .solid-shell {
120
+ min-height: calc(100vh - var(--solid-studio-header-height, 0px));
121
+ background: radial-gradient(circle at 0 0, rgba(37, 99, 235, 0.08), transparent 38%), var(--background);
122
+ }
123
+
124
+ .solid-main {
125
+ min-height: calc(100vh - var(--solid-studio-header-height, 0px));
126
+ margin-left: var(--solid-sidebar-width);
127
+ transition: margin-left 200ms ease;
128
+ display: flex;
129
+ flex-direction: column;
130
+ }
131
+
132
+ .solid-main-content {
133
+ flex: 1;
134
+ min-height: 0;
135
+ display: flex;
136
+ flex-direction: column;
137
+ overflow: hidden;
138
+ }
139
+
140
+ .solid-admin-header {
141
+ position: sticky;
142
+ top: 0;
143
+ z-index: 58;
144
+ height: 46px;
145
+ border-bottom: 1px solid var(--border);
146
+ background: color-mix(in srgb, var(--background) 88%, transparent);
147
+ backdrop-filter: blur(8px);
148
+ }
149
+
150
+ .solid-admin-header-inner {
151
+ height: 100%;
152
+ display: flex;
153
+ align-items: center;
154
+ gap: 10px;
155
+ padding: 0 12px;
156
+ }
157
+
158
+ .solid-admin-sidebar-trigger {
159
+ width: 28px;
160
+ height: 28px;
161
+ border-radius: 8px;
162
+ border: 1px solid var(--border);
163
+ background: var(--card);
164
+ color: var(--card-foreground);
165
+ display: grid;
166
+ place-items: center;
167
+ }
168
+
169
+ .solid-admin-sidebar-trigger:hover,
170
+ .solid-admin-sidebar-trigger:focus-visible {
171
+ box-shadow: 0 0 0 3px var(--ring);
172
+ outline: none;
173
+ }
174
+
175
+ .solid-admin-header-sep {
176
+ width: 1px;
177
+ height: 16px;
178
+ background: var(--border);
179
+ }
180
+
181
+ .solid-admin-breadcrumbs {
182
+ display: flex;
183
+ align-items: center;
184
+ gap: 8px;
185
+ min-width: 0;
186
+ flex: 1;
187
+ }
188
+
189
+ .solid-admin-crumb {
190
+ display: inline-flex;
191
+ align-items: center;
192
+ gap: 8px;
193
+ font-size: 13px;
194
+ color: var(--muted-foreground);
195
+ white-space: nowrap;
196
+ }
197
+
198
+ .solid-admin-crumb:last-child {
199
+ color: var(--foreground);
200
+ }
201
+
202
+ .solid-admin-crumb-sep {
203
+ color: var(--muted);
204
+ }
205
+
206
+ .solid-admin-back-btn {
207
+ height: 28px;
208
+ border-radius: 8px;
209
+ border: 1px solid var(--border);
210
+ background: var(--card);
211
+ color: var(--card-foreground);
212
+ font-size: 12px;
213
+ padding: 0 10px;
214
+ }
215
+
216
+ .solid-admin-header-actions {
217
+ display: inline-flex;
218
+ align-items: center;
219
+ gap: 8px;
220
+ }
221
+
222
+ .solid-admin-theme-toggle {
223
+ width: 32px;
224
+ height: 32px;
225
+ border: 0;
226
+ border-radius: 8px;
227
+ background: transparent;
228
+ color: var(--muted-foreground);
229
+ display: inline-flex;
230
+ align-items: center;
231
+ justify-content: center;
232
+ cursor: pointer;
233
+ transition: background 120ms ease, color 120ms ease, box-shadow 120ms ease;
234
+ }
235
+
236
+ .solid-admin-theme-toggle:hover {
237
+ background: var(--accent);
238
+ color: var(--accent-foreground);
239
+ }
240
+
241
+ .solid-admin-theme-toggle:focus-visible {
242
+ outline: none;
243
+ box-shadow: 0 0 0 3px var(--ring);
244
+ }
245
+
246
+ .solid-sr-only {
247
+ position: absolute;
248
+ width: 1px;
249
+ height: 1px;
250
+ padding: 0;
251
+ margin: -1px;
252
+ overflow: hidden;
253
+ clip: rect(0, 0, 0, 0);
254
+ border: 0;
255
+ }
256
+
257
+ .solid-sidebar-backdrop {
258
+ position: fixed;
259
+ inset: 0;
260
+ background: rgba(2, 6, 23, 0.4);
261
+ z-index: 59;
262
+ }
263
+
264
+ .solid-sidebar-mobile-trigger {
265
+ position: fixed;
266
+ top: 14px;
267
+ left: 12px;
268
+ width: 38px;
269
+ height: 38px;
270
+ border-radius: 10px;
271
+ border: 1px solid var(--sidebar-border);
272
+ background: var(--card);
273
+ color: var(--card-foreground);
274
+ z-index: 61;
275
+ }
276
+
277
+ .solid-sidebar {
278
+ position: fixed;
279
+ inset: 0 auto 0 0;
280
+ top: 0;
281
+ height: calc(100vh - var(--solid-studio-header-height, 0px));
282
+ width: var(--sidebar-width);
283
+ background: var(--sidebar-background);
284
+ color: var(--sidebar-foreground);
285
+ border-right: 1px solid var(--sidebar-border);
286
+ z-index: 60;
287
+ display: flex;
288
+ flex-direction: column;
289
+ transition: width 200ms ease, transform 200ms ease, top 220ms ease, height 220ms ease;
290
+ box-shadow: var(--shadow-soft);
291
+ }
292
+
293
+ .solid-sidebar.is-collapsed {
294
+ transform: translateX(calc(-1 * var(--sidebar-width)));
295
+ box-shadow: none;
296
+ }
297
+
298
+ .solid-sidebar-header {
299
+ border-bottom: 0;
300
+ padding: 10px 10px 8px;
301
+ display: flex;
302
+ align-items: center;
303
+ gap: 10px;
304
+ }
305
+
306
+ .solid-workspace-switcher {
307
+ position: relative;
308
+ flex: 1;
309
+ }
310
+
311
+ .solid-workspace-trigger {
312
+ width: 100%;
313
+ border: 1px solid var(--sidebar-border);
314
+ background: var(--card);
315
+ color: var(--card-foreground);
316
+ min-height: 40px;
317
+ border-radius: 10px;
318
+ display: flex;
319
+ align-items: center;
320
+ gap: 9px;
321
+ padding: 6px 9px;
322
+ text-align: left;
323
+ }
324
+
325
+ .solid-workspace-avatar {
326
+ width: 24px;
327
+ height: 24px;
328
+ border-radius: 8px;
329
+ background: linear-gradient(135deg, var(--sidebar-primary), #6366f1);
330
+ color: var(--sidebar-primary-foreground);
331
+ display: grid;
332
+ place-items: center;
333
+ font-size: 12px;
334
+ font-weight: 700;
335
+ }
336
+
337
+ .solid-workspace-label-wrap {
338
+ display: flex;
339
+ flex-direction: column;
340
+ min-width: 0;
341
+ flex: 1;
342
+ }
343
+
344
+ .solid-workspace-label-top {
345
+ font-size: 10px;
346
+ text-transform: uppercase;
347
+ letter-spacing: 0.06em;
348
+ color: var(--muted);
349
+ line-height: 1.1;
350
+ }
351
+
352
+ .solid-workspace-label {
353
+ font-size: 13px;
354
+ font-weight: 600;
355
+ line-height: 1.2;
356
+ white-space: nowrap;
357
+ overflow: hidden;
358
+ text-overflow: ellipsis;
359
+ }
360
+
361
+ .solid-workspace-chevron-dual {
362
+ width: 26px;
363
+ height: 26px;
364
+ border-radius: 999px;
365
+ border: 1px solid var(--sidebar-border);
366
+ display: inline-flex;
367
+ align-items: center;
368
+ justify-content: center;
369
+ color: var(--muted-foreground);
370
+ transition: transform 140ms ease, color 140ms ease, border-color 140ms ease;
371
+ }
372
+
373
+ .solid-workspace-chevron-dual.is-open {
374
+ transform: rotate(180deg);
375
+ }
376
+
377
+ .solid-workspace-trigger:hover .solid-workspace-chevron-dual {
378
+ color: var(--foreground);
379
+ border-color: color-mix(in srgb, var(--sidebar-border) 70%, var(--primary));
380
+ }
381
+
382
+ .solid-workspace-menu {
383
+ position: absolute;
384
+ left: 0;
385
+ right: 0;
386
+ top: calc(100% + 6px);
387
+ border: 1px solid var(--sidebar-border);
388
+ background: var(--card);
389
+ border-radius: 12px;
390
+ padding: 6px;
391
+ box-shadow: var(--shadow-soft);
392
+ z-index: 80;
393
+ }
394
+
395
+ .solid-workspace-item {
396
+ width: 100%;
397
+ border: 0;
398
+ border-radius: 8px;
399
+ height: 34px;
400
+ background: transparent;
401
+ color: var(--card-foreground);
402
+ display: flex;
403
+ align-items: center;
404
+ gap: 8px;
405
+ padding: 0 8px;
406
+ text-align: left;
407
+ }
408
+
409
+ .solid-workspace-item:hover {
410
+ background: var(--sidebar-accent);
411
+ }
412
+
413
+ .solid-workspace-item.is-active {
414
+ background: var(--accent);
415
+ color: var(--accent-foreground);
416
+ }
417
+
418
+ .solid-workspace-item-avatar {
419
+ width: 18px;
420
+ height: 18px;
421
+ border-radius: 6px;
422
+ background: var(--sidebar-primary);
423
+ color: var(--sidebar-primary-foreground);
424
+ display: grid;
425
+ place-items: center;
426
+ font-size: 10px;
427
+ font-weight: 700;
428
+ }
429
+
430
+ .solid-workspace-item-label {
431
+ font-size: 12px;
432
+ }
433
+
434
+ .solid-sidebar-external-trigger {
435
+ position: fixed;
436
+ top: 14px;
437
+ left: calc(var(--solid-sidebar-width) + 8px);
438
+ width: 30px;
439
+ height: 30px;
440
+ border-radius: 8px;
441
+ border: 1px solid var(--sidebar-border);
442
+ background: var(--card);
443
+ color: var(--card-foreground);
444
+ display: grid;
445
+ place-items: center;
446
+ z-index: 61;
447
+ transition: left 200ms ease, box-shadow 150ms ease;
448
+ }
449
+
450
+ .solid-sidebar-external-trigger:hover {
451
+ box-shadow: 0 0 0 3px var(--ring);
452
+ }
453
+
454
+ .solid-sidebar-hotspot {
455
+ position: fixed;
456
+ top: 0;
457
+ left: 0;
458
+ width: 14px;
459
+ height: calc(100vh - var(--solid-studio-header-height, 0px));
460
+ border: 0;
461
+ background: transparent;
462
+ z-index: 61;
463
+ cursor: e-resize;
464
+ }
465
+
466
+ .solid-sidebar-hotspot::after {
467
+ content: "";
468
+ position: absolute;
469
+ top: 50%;
470
+ left: 4px;
471
+ transform: translateY(-50%);
472
+ width: 2px;
473
+ height: 88px;
474
+ border-radius: 999px;
475
+ background: rgba(100, 116, 139, 0.45);
476
+ opacity: 0;
477
+ transition: opacity 120ms ease;
478
+ }
479
+
480
+ .solid-sidebar-hotspot:hover::after {
481
+ opacity: 1;
482
+ }
483
+
484
+ .solid-sidebar-search-wrap {
485
+ padding: 8px 10px 6px;
486
+ }
487
+
488
+ .solid-sidebar-search {
489
+ width: 100%;
490
+ border: 1px solid var(--sidebar-border);
491
+ background: var(--card);
492
+ color: var(--card-foreground);
493
+ border-radius: 9px;
494
+ height: 34px;
495
+ padding: 0 10px;
496
+ outline: none;
497
+ font-size: 12px;
498
+ line-height: 1.2;
499
+ font-weight: 500;
500
+ letter-spacing: 0.01em;
501
+ }
502
+
503
+ .solid-sidebar-search::placeholder {
504
+ color: color-mix(in srgb, var(--muted-foreground) 82%, transparent);
505
+ font-size: 11.5px;
506
+ font-weight: 500;
507
+ }
508
+
509
+ .solid-sidebar-search:focus {
510
+ box-shadow: 0 0 0 3px var(--ring);
511
+ }
512
+
513
+ .solid-sidebar-tree-wrap {
514
+ padding: 2px 8px 8px;
515
+ overflow: auto;
516
+ flex: 1;
517
+ }
518
+
519
+ .solid-sidebar-tree-list {
520
+ list-style: none;
521
+ margin: 0;
522
+ padding: 0;
523
+ }
524
+
525
+ .solid-sidebar-tree-row {
526
+ min-height: 34px;
527
+ border-radius: 8px;
528
+ display: flex;
529
+ align-items: center;
530
+ gap: 8px;
531
+ }
532
+
533
+ .solid-sidebar-tree-row:hover {
534
+ background: var(--sidebar-accent);
535
+ }
536
+
537
+ .solid-sidebar-tree-row.is-active {
538
+ background: var(--accent);
539
+ color: var(--accent-foreground);
540
+ }
541
+
542
+ .solid-sidebar-tree-link {
543
+ color: inherit;
544
+ flex: 1;
545
+ min-width: 0;
546
+ }
547
+
548
+ .solid-sidebar-tree-parent {
549
+ border: 0;
550
+ background: transparent;
551
+ color: inherit;
552
+ flex: 1;
553
+ min-width: 0;
554
+ text-align: left;
555
+ height: 100%;
556
+ padding: 0;
557
+ cursor: pointer;
558
+ }
559
+
560
+ .solid-sidebar-tree-label {
561
+ font-size: 13px;
562
+ line-height: 1.2;
563
+ }
564
+
565
+ .solid-sidebar-tree-toggle {
566
+ border: 0;
567
+ background: transparent;
568
+ width: 26px;
569
+ height: 26px;
570
+ border-radius: 6px;
571
+ display: grid;
572
+ place-items: center;
573
+ }
574
+
575
+ .solid-sidebar-tree-toggle:hover {
576
+ background: rgba(148, 163, 184, 0.2);
577
+ }
578
+
579
+ .solid-tree-plusminus {
580
+ font-size: 16px;
581
+ line-height: 1;
582
+ font-weight: 500;
583
+ color: var(--muted);
584
+ }
585
+
586
+ .solid-sidebar-tree-children {
587
+ margin-top: 2px;
588
+ }
589
+
590
+ .solid-sidebar-collapsed-nav {
591
+ flex: 1;
592
+ display: flex;
593
+ flex-direction: column;
594
+ gap: 8px;
595
+ padding: 10px;
596
+ overflow: auto;
597
+ }
598
+
599
+ .solid-collapsed-item {
600
+ width: 40px;
601
+ height: 40px;
602
+ border-radius: 12px;
603
+ border: 1px solid transparent;
604
+ display: grid;
605
+ place-items: center;
606
+ font-size: 12px;
607
+ font-weight: 700;
608
+ color: var(--sidebar-foreground);
609
+ background: transparent;
610
+ margin-inline: auto;
611
+ }
612
+
613
+ .solid-collapsed-item:hover {
614
+ background: var(--sidebar-accent);
615
+ }
616
+
617
+ .solid-collapsed-item.is-active {
618
+ background: var(--sidebar-primary);
619
+ color: var(--sidebar-primary-foreground);
620
+ }
621
+
622
+ .solid-sidebar-footer {
623
+ border-top: 0;
624
+ padding: 6px 6px 8px;
625
+ }
626
+
627
+ .solid-user-menu {
628
+ position: relative;
629
+ }
630
+
631
+ .solid-sidebar-footer .userProfile {
632
+ display: block;
633
+ margin: 0;
634
+ text-align: left;
635
+ }
636
+
637
+ .solid-user-menu-trigger {
638
+ width: 100%;
639
+ border: 1px solid color-mix(in srgb, var(--sidebar-border) 88%, transparent);
640
+ background: color-mix(in srgb, var(--sidebar-accent) 52%, transparent);
641
+ color: var(--sidebar-foreground);
642
+ border-radius: 9px;
643
+ min-height: 38px;
644
+ display: flex;
645
+ align-items: center;
646
+ justify-content: space-between;
647
+ gap: 7px;
648
+ padding: 4px 8px;
649
+ cursor: pointer;
650
+ }
651
+
652
+ .solid-user-menu-trigger:hover {
653
+ background: color-mix(in srgb, var(--sidebar-accent) 75%, transparent);
654
+ border-color: color-mix(in srgb, var(--sidebar-border) 70%, var(--primary));
655
+ }
656
+
657
+ .solid-user-menu-trigger-left {
658
+ min-width: 0;
659
+ display: flex;
660
+ align-items: center;
661
+ gap: 8px;
662
+ }
663
+
664
+ .solid-user-menu-trigger-meta {
665
+ min-width: 0;
666
+ display: flex;
667
+ flex-direction: column;
668
+ }
669
+
670
+ .solid-user-menu-trigger-name {
671
+ font-size: 12.5px;
672
+ line-height: 1.1;
673
+ font-weight: 650;
674
+ white-space: nowrap;
675
+ overflow: hidden;
676
+ text-overflow: ellipsis;
677
+ }
678
+
679
+ .solid-user-menu-trigger-role {
680
+ font-size: 10.5px;
681
+ line-height: 1.1;
682
+ color: var(--muted);
683
+ }
684
+
685
+ .solid-user-avatar {
686
+ width: 30px;
687
+ height: 30px;
688
+ border-radius: 999px;
689
+ display: grid;
690
+ place-items: center;
691
+ color: #fff;
692
+ background: linear-gradient(135deg, #84cc16, #65a30d);
693
+ overflow: hidden;
694
+ }
695
+
696
+ .solid-user-avatar.is-compact {
697
+ width: 26px;
698
+ height: 26px;
699
+ }
700
+
701
+ .solid-user-avatar-image {
702
+ width: 100%;
703
+ height: 100%;
704
+ object-fit: cover;
705
+ display: block;
706
+ }
707
+
708
+ .solid-user-avatar-text {
709
+ font-size: 14px;
710
+ font-weight: 700;
711
+ line-height: 1;
712
+ }
713
+
714
+ .solid-user-menu-content {
715
+ position: absolute;
716
+ left: 2px;
717
+ right: auto;
718
+ bottom: calc(100% + 8px);
719
+ width: 232px;
720
+ max-width: min(232px, calc(100vw - 24px));
721
+ border: 1px solid var(--border);
722
+ border-radius: 10px;
723
+ background: var(--card);
724
+ color: var(--card-foreground);
725
+ box-shadow: 0 18px 42px rgba(2, 6, 23, 0.32);
726
+ padding: 5px;
727
+ z-index: 70;
728
+ }
729
+
730
+ .solid-user-menu-header {
731
+ display: flex;
732
+ align-items: center;
733
+ gap: 8px;
734
+ padding: 8px 8px;
735
+ }
736
+
737
+ .solid-user-menu-meta {
738
+ min-width: 0;
739
+ display: flex;
740
+ flex-direction: column;
741
+ gap: 2px;
742
+ }
743
+
744
+ .solid-user-menu-title {
745
+ font-size: 12.5px;
746
+ font-weight: 650;
747
+ line-height: 1.2;
748
+ white-space: nowrap;
749
+ overflow: hidden;
750
+ text-overflow: ellipsis;
751
+ }
752
+
753
+ .solid-user-menu-subtitle {
754
+ font-size: 10.5px;
755
+ color: var(--muted-foreground);
756
+ line-height: 1.2;
757
+ white-space: nowrap;
758
+ overflow: hidden;
759
+ text-overflow: ellipsis;
760
+ }
761
+
762
+ .solid-user-menu-sep {
763
+ height: 1px;
764
+ background: var(--border);
765
+ margin: 5px 0;
766
+ }
767
+
768
+ .solid-user-menu-item {
769
+ width: 100%;
770
+ border: 0;
771
+ background: transparent;
772
+ color: var(--card-foreground);
773
+ border-radius: 8px;
774
+ min-height: 31px;
775
+ display: flex;
776
+ align-items: center;
777
+ gap: 8px;
778
+ padding: 0 8px;
779
+ text-align: left;
780
+ font-size: 12.5px;
781
+ font-weight: 500;
782
+ cursor: pointer;
783
+ }
784
+
785
+ .solid-user-menu-item:hover {
786
+ background: var(--accent);
787
+ color: var(--accent-foreground);
788
+ }
789
+
790
+ .solid-user-menu-item i {
791
+ font-size: 12px;
792
+ }
793
+
794
+ .solid-user-menu-item svg {
795
+ flex: 0 0 auto;
796
+ color: inherit;
797
+ }
798
+
799
+ .solid-user-menu-item.is-danger {
800
+ color: #ef4444;
801
+ }
802
+
803
+ .solid-user-menu-item.is-danger:hover {
804
+ background: rgba(239, 68, 68, 0.12);
805
+ color: #ef4444;
806
+ }
807
+
808
+ .solid-inline-toast {
809
+ display: flex;
810
+ align-items: flex-start;
811
+ justify-content: space-between;
812
+ gap: 10px;
813
+ padding: 10px 11px;
814
+ border-radius: 10px;
815
+ border: 1px solid var(--border);
816
+ background: var(--card);
817
+ color: var(--card-foreground);
818
+ margin-bottom: 8px;
819
+ }
820
+
821
+ .solid-inline-toast.is-error {
822
+ border-color: color-mix(in srgb, #ef4444 45%, var(--border));
823
+ }
824
+
825
+ .solid-inline-toast.is-success {
826
+ border-color: color-mix(in srgb, #22c55e 45%, var(--border));
827
+ }
828
+
829
+ .solid-inline-toast.is-warn {
830
+ border-color: color-mix(in srgb, #f59e0b 45%, var(--border));
831
+ }
832
+
833
+ .solid-inline-toast.is-info {
834
+ border-color: color-mix(in srgb, var(--primary) 35%, var(--border));
835
+ }
836
+
837
+ .solid-inline-toast-body {
838
+ min-width: 0;
839
+ display: flex;
840
+ flex-direction: column;
841
+ gap: 2px;
842
+ }
843
+
844
+ .solid-inline-toast-title {
845
+ font-size: 12px;
846
+ font-weight: 650;
847
+ line-height: 1.25;
848
+ }
849
+
850
+ .solid-inline-toast-detail {
851
+ font-size: 12px;
852
+ color: var(--muted-foreground);
853
+ line-height: 1.25;
854
+ }
855
+
856
+ .solid-inline-toast-close {
857
+ width: 22px;
858
+ height: 22px;
859
+ border: 0;
860
+ border-radius: 6px;
861
+ background: transparent;
862
+ color: var(--muted-foreground);
863
+ font-size: 16px;
864
+ line-height: 1;
865
+ cursor: pointer;
866
+ }
867
+
868
+ .solid-inline-toast-close:hover {
869
+ background: var(--accent);
870
+ color: var(--accent-foreground);
871
+ }
872
+
873
+ .solid-dialog-backdrop {
874
+ position: fixed;
875
+ inset: 0;
876
+ background: rgba(2, 6, 23, 0.42);
877
+ backdrop-filter: blur(2px);
878
+ z-index: 1000;
879
+ display: grid;
880
+ place-items: center;
881
+ padding: 16px;
882
+ }
883
+
884
+ .solid-shadcn-confirm-dialog {
885
+ width: min(360px, calc(100vw - 32px));
886
+ border: 1px solid var(--border);
887
+ border-radius: 12px;
888
+ background: var(--card);
889
+ color: var(--card-foreground);
890
+ box-shadow: 0 18px 44px rgba(2, 6, 23, 0.35);
891
+ }
892
+
893
+ .solid-shadcn-dialog-head {
894
+ padding: 12px 14px;
895
+ }
896
+
897
+ .solid-shadcn-dialog-head h3 {
898
+ margin: 0;
899
+ font-size: 14px;
900
+ line-height: 1.2;
901
+ font-weight: 600;
902
+ }
903
+
904
+ .solid-shadcn-dialog-sep {
905
+ height: 1px;
906
+ background: var(--border);
907
+ }
908
+
909
+ .solid-shadcn-dialog-body {
910
+ padding: 14px;
911
+ }
912
+
913
+ .solid-shadcn-dialog-text {
914
+ margin: 0;
915
+ font-size: 13px;
916
+ color: var(--muted-foreground);
917
+ }
918
+
919
+ .solid-shadcn-dialog-actions {
920
+ display: flex;
921
+ justify-content: flex-end;
922
+ gap: 8px;
923
+ padding: 0 14px 14px;
924
+ }
925
+
926
+ .solid-popup-backdrop {
927
+ position: fixed;
928
+ inset: 0;
929
+ z-index: 1000;
930
+ background: rgba(2, 6, 23, 0.45);
931
+ backdrop-filter: blur(2px);
932
+ display: grid;
933
+ place-items: center;
934
+ padding: 16px;
935
+ }
936
+
937
+ .solid-popup-surface.solid-common-dialog {
938
+ max-width: min(92vw, 1100px);
939
+ max-height: calc(100vh - 32px);
940
+ overflow: auto;
941
+ border-radius: 8px;
942
+ border: 1px solid var(--border);
943
+ background: var(--card);
944
+ color: var(--card-foreground);
945
+ box-shadow: 0 18px 48px rgba(2, 6, 23, 0.35);
946
+ }
947
+
948
+ @media (max-width: 1199px) {
949
+ .solid-main {
950
+ margin-left: 0;
951
+ }
952
+
953
+ .solid-admin-header-inner {
954
+ padding-inline: 10px;
955
+ }
956
+
957
+ .solid-sidebar {
958
+ width: min(88vw, 320px);
959
+ transform: translateX(-104%);
960
+ }
961
+
962
+ .solid-sidebar.is-open {
963
+ transform: translateX(0);
964
+ }
965
+
966
+ .solid-sidebar.is-collapsed {
967
+ width: min(88vw, 320px);
968
+ }
969
+
970
+ .solid-sidebar-hotspot {
971
+ display: none;
972
+ }
973
+
974
+ .solid-user-menu-content {
975
+ left: 0;
976
+ right: auto;
977
+ width: min(270px, calc(100vw - 24px));
978
+ }
979
+
980
+ .solid-shadcn-confirm-dialog {
981
+ width: min(360px, calc(100vw - 24px));
982
+ }
983
+ }
984
+
985
+ /* Reusable Solid UI primitives */
986
+ .solid-btn {
987
+ --solid-btn-bg: var(--primary);
988
+ --solid-btn-fg: var(--primary-foreground);
989
+ --solid-btn-border: transparent;
990
+ height: 36px;
991
+ border-radius: 9px;
992
+ border: 1px solid var(--solid-btn-border);
993
+ background: var(--solid-btn-bg);
994
+ color: var(--solid-btn-fg);
995
+ display: inline-flex;
996
+ align-items: center;
997
+ justify-content: center;
998
+ gap: 8px;
999
+ padding: 0 12px;
1000
+ font-size: 13px;
1001
+ font-weight: 500;
1002
+ line-height: 1;
1003
+ cursor: pointer;
1004
+ transition: border-color 120ms ease, background 120ms ease, color 120ms ease, box-shadow 120ms ease;
1005
+ }
1006
+
1007
+ .solid-btn:hover {
1008
+ box-shadow: 0 0 0 3px var(--ring);
1009
+ }
1010
+
1011
+ .solid-btn:focus-visible {
1012
+ outline: none;
1013
+ box-shadow: 0 0 0 3px var(--ring);
1014
+ }
1015
+
1016
+ .solid-btn:disabled {
1017
+ opacity: 0.6;
1018
+ cursor: not-allowed;
1019
+ }
1020
+
1021
+ .solid-btn--sm {
1022
+ height: 32px;
1023
+ padding: 0 10px;
1024
+ border-radius: 8px;
1025
+ font-size: 12px;
1026
+ }
1027
+
1028
+ .solid-btn--lg {
1029
+ height: 40px;
1030
+ padding: 0 16px;
1031
+ border-radius: 10px;
1032
+ font-size: 14px;
1033
+ }
1034
+
1035
+ .solid-btn--full {
1036
+ width: 100%;
1037
+ }
1038
+
1039
+ .solid-btn--primary {
1040
+ --solid-btn-bg: var(--primary);
1041
+ --solid-btn-fg: var(--primary-foreground);
1042
+ --solid-btn-border: transparent;
1043
+ }
1044
+
1045
+ .solid-btn--secondary {
1046
+ --solid-btn-bg: var(--accent);
1047
+ --solid-btn-fg: var(--accent-foreground);
1048
+ --solid-btn-border: transparent;
1049
+ }
1050
+
1051
+ .solid-btn--ghost {
1052
+ --solid-btn-bg: transparent;
1053
+ --solid-btn-fg: var(--foreground);
1054
+ --solid-btn-border: transparent;
1055
+ }
1056
+
1057
+ .solid-btn--outline {
1058
+ --solid-btn-bg: var(--card);
1059
+ --solid-btn-fg: var(--card-foreground);
1060
+ --solid-btn-border: var(--border);
1061
+ }
1062
+
1063
+ .solid-btn--destructive {
1064
+ --solid-btn-bg: #ef4444;
1065
+ --solid-btn-fg: #fff;
1066
+ --solid-btn-border: transparent;
1067
+ }
1068
+
1069
+ .solid-btn-spinner {
1070
+ width: 14px;
1071
+ height: 14px;
1072
+ border-radius: 999px;
1073
+ border: 2px solid color-mix(in srgb, currentColor 45%, transparent);
1074
+ border-top-color: currentColor;
1075
+ animation: solid-spin 0.8s linear infinite;
1076
+ }
1077
+
1078
+ .solid-btn-icon {
1079
+ display: inline-flex;
1080
+ align-items: center;
1081
+ justify-content: center;
1082
+ }
1083
+
1084
+ .solid-btn-label {
1085
+ white-space: nowrap;
1086
+ }
1087
+
1088
+ .solid-select-wrap {
1089
+ position: relative;
1090
+ width: 100%;
1091
+ }
1092
+
1093
+ .solid-select {
1094
+ width: 100%;
1095
+ min-height: 32px;
1096
+ border-radius: 8px;
1097
+ border: 1px solid var(--border);
1098
+ background: var(--card);
1099
+ color: var(--card-foreground);
1100
+ font-size: 12px;
1101
+ line-height: 1.2;
1102
+ padding: 0 30px 0 10px;
1103
+ appearance: none;
1104
+ }
1105
+
1106
+ .solid-select:focus-visible {
1107
+ outline: none;
1108
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--ring) 28%, transparent);
1109
+ border-color: color-mix(in srgb, var(--ring) 56%, transparent);
1110
+ }
1111
+
1112
+ .solid-select:disabled {
1113
+ opacity: 0.6;
1114
+ cursor: not-allowed;
1115
+ }
1116
+
1117
+ .solid-select-icon {
1118
+ position: absolute;
1119
+ right: 8px;
1120
+ top: 50%;
1121
+ transform: translateY(-50%);
1122
+ pointer-events: none;
1123
+ color: color-mix(in srgb, var(--foreground) 62%, transparent);
1124
+ font-size: 10px;
1125
+ }
1126
+
1127
+ .solid-input {
1128
+ width: 100%;
1129
+ min-height: 32px;
1130
+ border-radius: 8px;
1131
+ border: 1px solid var(--border);
1132
+ background: var(--card);
1133
+ color: var(--card-foreground);
1134
+ font-size: 12px;
1135
+ line-height: 1.2;
1136
+ padding: 0 10px;
1137
+ }
1138
+
1139
+ .solid-input::placeholder {
1140
+ color: var(--muted-foreground);
1141
+ }
1142
+
1143
+ .solid-input:focus-visible {
1144
+ outline: none;
1145
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--ring) 28%, transparent);
1146
+ border-color: color-mix(in srgb, var(--ring) 56%, transparent);
1147
+ }
1148
+
1149
+ .solid-input:disabled {
1150
+ opacity: 0.6;
1151
+ cursor: not-allowed;
1152
+ }
1153
+
1154
+ .solid-autocomplete {
1155
+ position: relative;
1156
+ width: 100%;
1157
+ }
1158
+
1159
+ .solid-autocomplete-control {
1160
+ position: relative;
1161
+ display: flex;
1162
+ align-items: center;
1163
+ width: 100%;
1164
+ }
1165
+
1166
+ .solid-autocomplete-chip-control {
1167
+ min-height: 32px;
1168
+ border: 1px solid var(--border);
1169
+ border-radius: 8px;
1170
+ background: var(--card);
1171
+ padding: 2px 26px 2px 4px;
1172
+ gap: 4px;
1173
+ flex-wrap: wrap;
1174
+ }
1175
+
1176
+ .solid-autocomplete-chip-control.is-focused {
1177
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--ring) 28%, transparent);
1178
+ border-color: color-mix(in srgb, var(--ring) 56%, transparent);
1179
+ }
1180
+
1181
+ .solid-autocomplete-input {
1182
+ padding-right: 30px;
1183
+ }
1184
+
1185
+ .solid-autocomplete-inline-input {
1186
+ border: 0;
1187
+ box-shadow: none !important;
1188
+ background: transparent;
1189
+ min-height: 24px;
1190
+ height: 24px;
1191
+ flex: 1 1 110px;
1192
+ padding: 0 4px;
1193
+ }
1194
+
1195
+ .solid-autocomplete-inline-input:focus-visible {
1196
+ box-shadow: none;
1197
+ border-color: transparent;
1198
+ }
1199
+
1200
+ .solid-autocomplete-trigger {
1201
+ position: absolute;
1202
+ right: 2px;
1203
+ top: 2px;
1204
+ height: calc(100% - 4px);
1205
+ width: 24px;
1206
+ min-width: 24px;
1207
+ border: 0;
1208
+ border-radius: 6px;
1209
+ background: transparent;
1210
+ color: color-mix(in srgb, var(--foreground) 65%, transparent);
1211
+ cursor: pointer;
1212
+ }
1213
+
1214
+ .solid-autocomplete-trigger:hover {
1215
+ background: color-mix(in srgb, var(--accent) 66%, transparent);
1216
+ }
1217
+
1218
+ .solid-autocomplete-panel {
1219
+ position: absolute;
1220
+ top: calc(100% + 4px);
1221
+ left: 0;
1222
+ right: 0;
1223
+ z-index: 40;
1224
+ border: 1px solid var(--border);
1225
+ border-radius: 8px;
1226
+ background: var(--card);
1227
+ box-shadow: 0 12px 26px rgba(2, 6, 23, 0.16);
1228
+ max-height: 220px;
1229
+ overflow-y: auto;
1230
+ padding: 4px;
1231
+ }
1232
+
1233
+ .solid-autocomplete-option {
1234
+ width: 100%;
1235
+ text-align: left;
1236
+ border: 0;
1237
+ background: transparent;
1238
+ color: var(--foreground);
1239
+ font-size: 12px;
1240
+ border-radius: 6px;
1241
+ min-height: 26px;
1242
+ padding: 4px 8px;
1243
+ cursor: pointer;
1244
+ }
1245
+
1246
+ .solid-autocomplete-option:hover,
1247
+ .solid-autocomplete-option.is-active {
1248
+ background: color-mix(in srgb, var(--accent) 70%, transparent);
1249
+ }
1250
+
1251
+ .solid-autocomplete-chip {
1252
+ display: inline-flex;
1253
+ align-items: center;
1254
+ gap: 4px;
1255
+ min-height: 22px;
1256
+ border-radius: 999px;
1257
+ border: 1px solid color-mix(in srgb, var(--primary) 24%, transparent);
1258
+ background: color-mix(in srgb, var(--primary) 10%, transparent);
1259
+ color: color-mix(in srgb, var(--foreground) 90%, transparent);
1260
+ padding: 0 6px;
1261
+ font-size: 11px;
1262
+ }
1263
+
1264
+ .solid-autocomplete-chip-label {
1265
+ max-width: 130px;
1266
+ overflow: hidden;
1267
+ text-overflow: ellipsis;
1268
+ white-space: nowrap;
1269
+ }
1270
+
1271
+ .solid-autocomplete-chip-remove {
1272
+ border: 0;
1273
+ background: transparent;
1274
+ width: 14px;
1275
+ height: 14px;
1276
+ border-radius: 999px;
1277
+ padding: 0;
1278
+ display: inline-flex;
1279
+ align-items: center;
1280
+ justify-content: center;
1281
+ cursor: pointer;
1282
+ color: color-mix(in srgb, var(--foreground) 68%, transparent);
1283
+ }
1284
+
1285
+ .solid-autocomplete-chip-remove:hover {
1286
+ background: color-mix(in srgb, var(--accent) 76%, transparent);
1287
+ color: color-mix(in srgb, var(--foreground) 92%, transparent);
1288
+ }
1289
+
1290
+ .solid-autocomplete-chip-manage {
1291
+ border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
1292
+ background: color-mix(in srgb, var(--accent) 60%, transparent);
1293
+ color: color-mix(in srgb, var(--foreground) 82%, transparent);
1294
+ border-radius: 999px;
1295
+ min-height: 22px;
1296
+ padding: 0 6px;
1297
+ font-size: 10px;
1298
+ cursor: pointer;
1299
+ }
1300
+
1301
+ .solid-autocomplete-manager-panel {
1302
+ position: absolute;
1303
+ top: calc(100% + 4px);
1304
+ left: 0;
1305
+ width: min(360px, 100%);
1306
+ z-index: 45;
1307
+ border: 1px solid var(--border);
1308
+ border-radius: 8px;
1309
+ background: var(--card);
1310
+ box-shadow: 0 12px 26px rgba(2, 6, 23, 0.16);
1311
+ overflow: hidden;
1312
+ }
1313
+
1314
+ .solid-autocomplete-manager-header {
1315
+ display: flex;
1316
+ align-items: center;
1317
+ justify-content: space-between;
1318
+ border-bottom: 1px solid var(--border);
1319
+ padding: 8px 10px;
1320
+ }
1321
+
1322
+ .solid-autocomplete-manager-title {
1323
+ font-size: 11px;
1324
+ font-weight: 600;
1325
+ }
1326
+
1327
+ .solid-autocomplete-manager-clear {
1328
+ border: 0;
1329
+ background: transparent;
1330
+ font-size: 11px;
1331
+ color: color-mix(in srgb, var(--primary) 84%, var(--foreground) 16%);
1332
+ cursor: pointer;
1333
+ }
1334
+
1335
+ .solid-autocomplete-manager-body {
1336
+ padding: 8px 10px;
1337
+ display: flex;
1338
+ flex-wrap: wrap;
1339
+ gap: 6px;
1340
+ max-height: 220px;
1341
+ overflow-y: auto;
1342
+ }
1343
+
1344
+ .solid-tabs {}
1345
+
1346
+ .solid-tabs-list {
1347
+ display: inline-flex;
1348
+ }
1349
+
1350
+ .solid-tabs-trigger {}
1351
+
1352
+ .solid-tabs-panel {}
1353
+
1354
+ @keyframes solid-spin {
1355
+ to {
1356
+ transform: rotate(360deg);
1357
+ }
1358
+ }
1359
+
1360
+ .solid-error-page {
1361
+ min-height: calc(100vh - var(--solid-studio-header-height, 0px));
1362
+ display: grid;
1363
+ grid-template-columns: 1fr;
1364
+ background: var(--background);
1365
+ }
1366
+
1367
+ .solid-error-page__content {
1368
+ display: flex;
1369
+ align-items: center;
1370
+ justify-content: center;
1371
+ padding: 32px 28px;
1372
+ }
1373
+
1374
+ .solid-error-page__copy {
1375
+ text-align: center;
1376
+ max-width: 460px;
1377
+ }
1378
+
1379
+ .solid-error-page__eyebrow {
1380
+ margin: 0 0 12px;
1381
+ font-size: clamp(30px, 4vw, 52px);
1382
+ font-weight: 700;
1383
+ color: var(--foreground);
1384
+ }
1385
+
1386
+ .solid-error-page__title {
1387
+ margin: 0 0 8px;
1388
+ font-size: clamp(26px, 2.4vw, 34px);
1389
+ line-height: 1.2;
1390
+ color: var(--foreground);
1391
+ }
1392
+
1393
+ .solid-error-page__description {
1394
+ margin: 0 auto 20px;
1395
+ max-width: 420px;
1396
+ font-size: 15px;
1397
+ line-height: 1.55;
1398
+ color: var(--muted-foreground);
1399
+ }
1400
+
1401
+ .solid-error-page__cta {
1402
+ border-radius: 10px;
1403
+ }
1404
+
1405
+ .solid-error-page__visual {
1406
+ display: none;
1407
+ position: relative;
1408
+ padding: 32px 28px;
1409
+ align-items: center;
1410
+ justify-content: center;
1411
+ }
1412
+
1413
+ .solid-error-page__visual-card {
1414
+ width: min(100%, 620px);
1415
+ height: min(82vh, 640px);
1416
+ border-radius: 20px;
1417
+ background: #050505;
1418
+ display: flex;
1419
+ align-items: center;
1420
+ justify-content: center;
1421
+ position: relative;
1422
+ overflow: hidden;
1423
+ }
1424
+
1425
+ .solid-error-page__code {
1426
+ position: absolute;
1427
+ inset: 50% auto auto 50%;
1428
+ transform: translate(-50%, -50%);
1429
+ font-size: clamp(140px, 18vw, 270px);
1430
+ line-height: 0.9;
1431
+ font-weight: 800;
1432
+ letter-spacing: 0.02em;
1433
+ color: rgba(255, 255, 255, 0.18);
1434
+ user-select: none;
1435
+ }
1436
+
1437
+ .solid-error-page__icon {
1438
+ width: clamp(96px, 10vw, 160px);
1439
+ height: clamp(96px, 10vw, 160px);
1440
+ color: #ffffff;
1441
+ z-index: 1;
1442
+ }
1443
+
1444
+ @media (min-width: 1024px) {
1445
+ .solid-error-page {
1446
+ grid-template-columns: 1fr 1fr;
1447
+ }
1448
+
1449
+ .solid-error-page__visual {
1450
+ display: flex;
1451
+ }
1452
+ }
1453
+
1454
+ /* Auth (ShadCN-style shell while preserving existing auth logic) */
1455
+ .solid-auth-theme-wrapper {
1456
+ min-height: calc(100vh - var(--solid-studio-header-height, 0px));
1457
+ position: relative;
1458
+ display: grid;
1459
+ place-items: center;
1460
+ background:
1461
+ radial-gradient(900px 500px at 10% -20%, color-mix(in srgb, var(--primary) 18%, transparent), transparent),
1462
+ radial-gradient(700px 420px at 100% 0, color-mix(in srgb, var(--primary) 12%, transparent), transparent),
1463
+ var(--background);
1464
+ padding: 24px;
1465
+ }
1466
+
1467
+ .solid-auth-theme-wrapper.center {
1468
+ place-items: center;
1469
+ }
1470
+
1471
+ .solid-auth-theme-wrapper.left>.grid,
1472
+ .solid-auth-theme-wrapper.right>.grid {
1473
+ display: grid !important;
1474
+ grid-template-columns: 1fr 1fr;
1475
+ width: min(1180px, 100%);
1476
+ min-height: min(760px, calc(100vh - 48px));
1477
+ border: 1px solid var(--border);
1478
+ border-radius: 16px;
1479
+ overflow: hidden;
1480
+ background: var(--card);
1481
+ box-shadow: var(--shadow-soft);
1482
+ }
1483
+
1484
+ .solid-auth-theme-wrapper.left .solid-login-dark-bg,
1485
+ .solid-auth-theme-wrapper.right .solid-login-dark-bg {
1486
+ background: var(--card);
1487
+ color: var(--card-foreground);
1488
+ padding: 36px 44px;
1489
+ }
1490
+
1491
+ .solid-auth-theme-wrapper.left .solid-left-layout,
1492
+ .solid-auth-theme-wrapper.right .solid-right-layout {
1493
+ position: relative;
1494
+ background-size: cover;
1495
+ background-position: center;
1496
+ overflow: hidden;
1497
+ }
1498
+
1499
+ .solid-auth-theme-wrapper.left .solid-left-layout::after,
1500
+ .solid-auth-theme-wrapper.right .solid-right-layout::after {
1501
+ content: "";
1502
+ position: absolute;
1503
+ inset: 0;
1504
+ background: linear-gradient(180deg, rgba(2, 6, 23, 0.24), rgba(2, 6, 23, 0.48));
1505
+ }
1506
+
1507
+ .solid-auth-theme-wrapper.left .solid-left-layout>*,
1508
+ .solid-auth-theme-wrapper.right .solid-right-layout>* {
1509
+ position: relative;
1510
+ z-index: 1;
1511
+ }
1512
+
1513
+ .solid-auth-theme-wrapper.left .solid-logo.in_image_view,
1514
+ .solid-auth-theme-wrapper.right .solid-logo.in_image_view {
1515
+ top: 24px;
1516
+ left: 24px;
1517
+ right: auto;
1518
+ }
1519
+
1520
+ .solid-center-layout {
1521
+ width: min(460px, calc(100vw - 32px));
1522
+ }
1523
+
1524
+ .auth-container {
1525
+ width: 100%;
1526
+ max-width: 460px;
1527
+ border: 1px solid var(--border);
1528
+ border-radius: 14px;
1529
+ background: var(--card);
1530
+ color: var(--card-foreground);
1531
+ padding: 24px;
1532
+ box-shadow: 0 10px 30px rgba(2, 6, 23, 0.08);
1533
+ }
1534
+
1535
+ .auth-container.side {
1536
+ width: 100%;
1537
+ max-width: 460px;
1538
+ }
1539
+
1540
+ .solid-auth-title {
1541
+ font-size: 1.625rem;
1542
+ font-weight: 600;
1543
+ line-height: 1.15;
1544
+ letter-spacing: -0.01em;
1545
+ }
1546
+
1547
+ .solid-auth-input-label {
1548
+ font-size: 12.5px;
1549
+ font-weight: 500;
1550
+ color: var(--muted-foreground);
1551
+ }
1552
+
1553
+ .auth-container .p-inputtext,
1554
+ .auth-container .p-password .p-inputtext,
1555
+ .auth-container .p-password-input {
1556
+ width: 100%;
1557
+ height: 40px;
1558
+ border-radius: 10px;
1559
+ border: 1px solid var(--border);
1560
+ background: var(--background);
1561
+ color: var(--foreground);
1562
+ padding: 0 12px;
1563
+ box-shadow: none;
1564
+ }
1565
+
1566
+ .auth-container .p-password {
1567
+ width: 100%;
1568
+ }
1569
+
1570
+ .auth-container .p-inputtext:focus,
1571
+ .auth-container .p-password .p-inputtext:focus {
1572
+ border-color: color-mix(in srgb, var(--primary) 65%, var(--border));
1573
+ box-shadow: 0 0 0 3px var(--ring);
1574
+ }
1575
+
1576
+ .auth-container .p-password .p-password-toggle-mask-icon {
1577
+ color: var(--muted);
1578
+ }
1579
+
1580
+ .auth-container .p-message {
1581
+ border-radius: 8px;
1582
+ margin-top: 4px;
1583
+ padding: 8px 10px;
1584
+ }
1585
+
1586
+ .auth-container .p-message-text {
1587
+ font-size: 12px;
1588
+ }
1589
+
1590
+ .auth-submit-button.p-button,
1591
+ .auth-back-button.p-button {
1592
+ width: 100%;
1593
+ min-height: 40px;
1594
+ border-radius: 10px;
1595
+ font-weight: 500;
1596
+ }
1597
+
1598
+ .auth-submit-button.p-button .p-button-label,
1599
+ .auth-back-button.p-button .p-button-label {
1600
+ font-weight: 500;
1601
+ }
1602
+
1603
+ .auth-back-button.p-button.p-button-link {
1604
+ justify-content: flex-start;
1605
+ color: var(--muted-foreground);
1606
+ }
1607
+
1608
+ .auth-back-button.p-button.p-button-link:hover {
1609
+ color: var(--foreground);
1610
+ text-decoration: none;
1611
+ }
1612
+
1613
+ .solid-auth-tabs {
1614
+ margin-top: 10px;
1615
+ }
1616
+
1617
+ .solid-auth-tabs-list {
1618
+ display: grid;
1619
+ grid-template-columns: 1fr 1fr;
1620
+ gap: 4px;
1621
+ padding: 4px;
1622
+ border: 1px solid var(--border);
1623
+ border-radius: 10px;
1624
+ background: color-mix(in srgb, var(--muted) 12%, transparent);
1625
+ }
1626
+
1627
+ .solid-auth-tabs-trigger {
1628
+ border: 0;
1629
+ background: transparent;
1630
+ color: var(--muted-foreground);
1631
+ border-radius: 8px;
1632
+ height: 34px;
1633
+ font-size: 12.5px;
1634
+ font-weight: 500;
1635
+ cursor: pointer;
1636
+ }
1637
+
1638
+ .solid-auth-tabs-trigger.is-active {
1639
+ background: var(--card);
1640
+ color: var(--foreground);
1641
+ box-shadow: 0 1px 0 rgba(2, 6, 23, 0.08);
1642
+ }
1643
+
1644
+ .solid-auth-tabs-panel {
1645
+ margin-top: 8px;
1646
+ }
1647
+
1648
+ .auth-container .p-divider.p-divider-horizontal {
1649
+ margin: 18px 0 10px;
1650
+ }
1651
+
1652
+ .auth-container .p-divider .p-divider-content {
1653
+ border: 1px solid var(--border);
1654
+ border-radius: 999px;
1655
+ background: var(--card);
1656
+ color: var(--muted-foreground);
1657
+ font-size: 11px;
1658
+ font-weight: 600;
1659
+ letter-spacing: 0.08em;
1660
+ padding: 4px 10px;
1661
+ }
1662
+
1663
+ .google-auth-button {
1664
+ width: 100%;
1665
+ height: 40px;
1666
+ border-radius: 10px;
1667
+ border: 1px solid var(--border);
1668
+ background: var(--card);
1669
+ color: var(--card-foreground);
1670
+ display: inline-flex;
1671
+ align-items: center;
1672
+ justify-content: center;
1673
+ gap: 8px;
1674
+ font-size: 13px;
1675
+ font-weight: 500;
1676
+ transition: box-shadow 120ms ease, border-color 120ms ease, background 120ms ease;
1677
+ }
1678
+
1679
+ .google-auth-button:hover {
1680
+ border-color: color-mix(in srgb, var(--primary) 45%, var(--border));
1681
+ background: color-mix(in srgb, var(--accent) 55%, var(--card));
1682
+ }
1683
+
1684
+ .google-auth-button:focus-visible {
1685
+ outline: none;
1686
+ box-shadow: 0 0 0 3px var(--ring);
1687
+ }
1688
+
1689
+ .solid-auth-social-grid {
1690
+ display: grid;
1691
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1692
+ gap: 8px;
1693
+ }
1694
+
1695
+ .solid-auth-social-btn.solid-btn {
1696
+ width: 100%;
1697
+ height: 36px;
1698
+ min-height: 36px;
1699
+ border-radius: 8px;
1700
+ padding: 0;
1701
+ display: inline-flex;
1702
+ align-items: center;
1703
+ justify-content: center;
1704
+ border: 1px solid #2f2f37;
1705
+ background: #18181b;
1706
+ color: #f4f4f5;
1707
+ }
1708
+
1709
+ .solid-auth-social-btn.solid-btn:hover {
1710
+ background: #1f1f23;
1711
+ border-color: #3f3f46;
1712
+ }
1713
+
1714
+ .solid-auth-social-btn.solid-btn:focus-visible {
1715
+ box-shadow: 0 0 0 2px rgba(244, 244, 245, 0.08);
1716
+ }
1717
+
1718
+ .solid-shadcn-toast.p-toast-message {
1719
+ border: 1px solid #27272a;
1720
+ border-radius: 10px;
1721
+ background: #111113;
1722
+ color: #fafafa;
1723
+ box-shadow: 0 12px 30px rgba(2, 6, 23, 0.35);
1724
+ }
1725
+
1726
+ .solid-shadcn-toast .p-toast-message-content {
1727
+ padding: 10px 12px;
1728
+ }
1729
+
1730
+ .solid-shadcn-toast .p-toast-message-icon,
1731
+ .solid-shadcn-toast .p-toast-icon-close {
1732
+ color: #a1a1aa;
1733
+ }
1734
+
1735
+ .solid-shadcn-toast-content {
1736
+ display: flex;
1737
+ flex-direction: column;
1738
+ gap: 2px;
1739
+ }
1740
+
1741
+ .solid-shadcn-toast-title {
1742
+ font-size: 12px;
1743
+ font-weight: 600;
1744
+ line-height: 1.2;
1745
+ color: #fafafa;
1746
+ }
1747
+
1748
+ .solid-shadcn-toast-description {
1749
+ font-size: 11px;
1750
+ line-height: 1.3;
1751
+ color: #a1a1aa;
1752
+ }
1753
+
1754
+ .solid-auth-footer,
1755
+ .solid-auth-footer-2 {
1756
+ color: var(--muted-foreground);
1757
+ }
1758
+
1759
+ .solid-auth-theme-wrapper.left .solid-auth-footer,
1760
+ .solid-auth-theme-wrapper.left .solid-auth-footer-2,
1761
+ .solid-auth-theme-wrapper.right .solid-auth-footer,
1762
+ .solid-auth-theme-wrapper.right .solid-auth-footer-2 {
1763
+ width: min(1180px, 100%);
1764
+ left: 50%;
1765
+ transform: translateX(-50%);
1766
+ }
1767
+
1768
+ .solid-auth-image-title {
1769
+ font-size: clamp(2rem, 4vw, 3.5rem);
1770
+ line-height: 1.05;
1771
+ }
1772
+
1773
+ .solid-auth-image-subtitle {
1774
+ font-size: clamp(1.25rem, 2.4vw, 2rem);
1775
+ line-height: 1.1;
1776
+ }
1777
+
1778
+ .solid-auth-image-helper-text {
1779
+ font-size: 0.925rem;
1780
+ max-width: 40ch;
1781
+ }
1782
+
1783
+ @media (max-width: 1199px) {
1784
+ .solid-auth-theme-wrapper {
1785
+ padding: 14px;
1786
+ }
1787
+
1788
+ .solid-auth-theme-wrapper.left>.grid,
1789
+ .solid-auth-theme-wrapper.right>.grid {
1790
+ grid-template-columns: 1fr;
1791
+ min-height: auto;
1792
+ border-radius: 14px;
1793
+ }
1794
+
1795
+ .solid-auth-theme-wrapper.left .solid-left-layout,
1796
+ .solid-auth-theme-wrapper.right .solid-right-layout {
1797
+ display: none !important;
1798
+ }
1799
+
1800
+ .solid-auth-theme-wrapper.left .solid-login-dark-bg,
1801
+ .solid-auth-theme-wrapper.right .solid-login-dark-bg {
1802
+ padding: 16px;
1803
+ }
1804
+
1805
+ .auth-container {
1806
+ max-width: 100%;
1807
+ padding: 18px;
1808
+ }
1809
+
1810
+ .solid-center-layout {
1811
+ width: 100%;
1812
+ max-width: 460px;
1813
+ }
1814
+ }
1815
+
1816
+ /* Auth visual alignment (match shadcn login blocks) */
1817
+ .solid-auth-theme-wrapper {
1818
+ min-height: calc(100vh - var(--solid-studio-header-height, 0px));
1819
+ background: #020204;
1820
+ color: #f4f4f5;
1821
+ padding: 0;
1822
+ }
1823
+
1824
+ .solid-auth-theme-wrapper.center {
1825
+ display: grid;
1826
+ place-items: center;
1827
+ padding: 24px;
1828
+ }
1829
+
1830
+ .solid-auth-theme-wrapper.center .solid-center-layout {
1831
+ width: min(380px, calc(100vw - 28px));
1832
+ }
1833
+
1834
+ .solid-auth-theme-wrapper.center .auth-container {
1835
+ margin: 0 auto;
1836
+ }
1837
+
1838
+ .solid-auth-theme-wrapper.left>.grid,
1839
+ .solid-auth-theme-wrapper.right>.grid {
1840
+ width: 100%;
1841
+ min-height: calc(100vh - var(--solid-studio-header-height, 0px));
1842
+ display: grid !important;
1843
+ grid-template-columns: 1fr 1fr;
1844
+ border: 0;
1845
+ border-radius: 0;
1846
+ background: #020204;
1847
+ box-shadow: none;
1848
+ }
1849
+
1850
+ .solid-auth-theme-wrapper.left .solid-login-dark-bg,
1851
+ .solid-auth-theme-wrapper.right .solid-login-dark-bg {
1852
+ display: flex;
1853
+ align-items: flex-start;
1854
+ justify-content: center;
1855
+ padding: 36px 40px;
1856
+ background: #020204;
1857
+ }
1858
+
1859
+ .solid-auth-theme-wrapper.left .solid-left-layout,
1860
+ .solid-auth-theme-wrapper.right .solid-right-layout {
1861
+ background-color: #27272a;
1862
+ background-size: cover;
1863
+ background-position: center;
1864
+ border-left: 1px solid #18181b;
1865
+ }
1866
+
1867
+ .solid-auth-theme-wrapper.left .solid-left-layout::after,
1868
+ .solid-auth-theme-wrapper.right .solid-right-layout::after {
1869
+ content: "";
1870
+ position: absolute;
1871
+ inset: 0;
1872
+ background: rgba(24, 24, 27, 0.62);
1873
+ }
1874
+
1875
+ .solid-auth-theme-wrapper.left .solid-left-layout>*,
1876
+ .solid-auth-theme-wrapper.right .solid-right-layout>* {
1877
+ position: relative;
1878
+ z-index: 2;
1879
+ }
1880
+
1881
+ .solid-auth-theme-wrapper.left .solid-logo.in_image_view,
1882
+ .solid-auth-theme-wrapper.right .solid-logo.in_image_view {
1883
+ top: 24px;
1884
+ left: 24px;
1885
+ right: auto;
1886
+ }
1887
+
1888
+ .auth-container {
1889
+ width: 100%;
1890
+ max-width: 360px;
1891
+ border: 1px solid #27272a;
1892
+ border-radius: 14px;
1893
+ background: #111113;
1894
+ color: #f4f4f5;
1895
+ padding: 18px;
1896
+ box-shadow: none;
1897
+ }
1898
+
1899
+ .auth-container.side {
1900
+ max-width: 360px;
1901
+ }
1902
+
1903
+ .solid-auth-title {
1904
+ font-size: 1.2rem;
1905
+ font-weight: 700;
1906
+ line-height: 1.25;
1907
+ letter-spacing: -0.01em;
1908
+ color: #fafafa;
1909
+ text-align: left;
1910
+ }
1911
+
1912
+ .solid-auth-helper {
1913
+ font-size: 11px;
1914
+ line-height: 1.4;
1915
+ color: #a1a1aa;
1916
+ text-align: left;
1917
+ }
1918
+
1919
+ .solid-auth-input-label {
1920
+ color: #e4e4e7;
1921
+ font-size: 13px;
1922
+ font-weight: 500;
1923
+ }
1924
+
1925
+ .solid-auth-inline-link {
1926
+ color: #d4d4d8;
1927
+ font-size: 13px;
1928
+ text-decoration: none;
1929
+ }
1930
+
1931
+ .solid-auth-inline-link:hover {
1932
+ color: #fafafa;
1933
+ text-decoration: underline;
1934
+ }
1935
+
1936
+ .auth-container .p-inputtext,
1937
+ .auth-container .p-password .p-inputtext,
1938
+ .auth-container .p-password-input {
1939
+ width: 100%;
1940
+ height: 36px;
1941
+ border: 1px solid #27272a;
1942
+ border-radius: 10px;
1943
+ background: #18181b;
1944
+ color: #fafafa;
1945
+ }
1946
+
1947
+ .auth-container .p-inputtext::placeholder,
1948
+ .auth-container .p-password .p-inputtext::placeholder {
1949
+ color: #71717a;
1950
+ }
1951
+
1952
+ .auth-container .p-inputtext:focus,
1953
+ .auth-container .p-password .p-inputtext:focus {
1954
+ border-color: #3f3f46;
1955
+ box-shadow: 0 0 0 2px rgba(244, 244, 245, 0.08);
1956
+ }
1957
+
1958
+ .auth-container .p-password .p-password-toggle-mask-icon {
1959
+ color: #a1a1aa;
1960
+ }
1961
+
1962
+ .auth-container .p-message {
1963
+ background: rgba(239, 68, 68, 0.12);
1964
+ border-color: rgba(239, 68, 68, 0.3);
1965
+ color: #fca5a5;
1966
+ }
1967
+
1968
+ .solid-auth-tabs-list {
1969
+ border: 1px solid #27272a;
1970
+ background: #18181b;
1971
+ border-radius: 10px;
1972
+ padding: 4px;
1973
+ }
1974
+
1975
+ .solid-auth-tabs .solid-tabs-trigger {
1976
+ border: 0;
1977
+ background: transparent;
1978
+ color: #a1a1aa;
1979
+ border-radius: 8px;
1980
+ height: 30px;
1981
+ font-size: 11px;
1982
+ font-weight: 500;
1983
+ cursor: pointer;
1984
+ }
1985
+
1986
+ .solid-auth-tabs .solid-tabs-trigger.is-active {
1987
+ background: #27272a;
1988
+ color: #fafafa;
1989
+ box-shadow: none;
1990
+ }
1991
+
1992
+ .auth-submit-button.p-button {
1993
+ min-height: 36px;
1994
+ background: #f4f4f5;
1995
+ border-color: #f4f4f5;
1996
+ color: #09090b;
1997
+ }
1998
+
1999
+ .auth-submit-button.p-button .p-button-label {
2000
+ color: #09090b;
2001
+ font-weight: 600;
2002
+ }
2003
+
2004
+ .auth-submit-button.p-button:not(:disabled):hover {
2005
+ background: #e4e4e7;
2006
+ border-color: #e4e4e7;
2007
+ }
2008
+
2009
+ .auth-back-button.p-button.p-button-link {
2010
+ color: #a1a1aa;
2011
+ }
2012
+
2013
+ .auth-back-button.p-button.p-button-link:hover {
2014
+ color: #fafafa;
2015
+ }
2016
+
2017
+ .auth-container .p-divider {
2018
+ margin: 16px 0 10px;
2019
+ }
2020
+
2021
+ .auth-container .p-divider .p-divider-content {
2022
+ background: #111113;
2023
+ color: #a1a1aa;
2024
+ border: 0;
2025
+ border-radius: 0;
2026
+ padding: 0 10px;
2027
+ font-size: 12px;
2028
+ letter-spacing: 0;
2029
+ text-transform: none;
2030
+ }
2031
+
2032
+ .auth-container .p-divider.p-divider-horizontal::before {
2033
+ border-top-color: #27272a;
2034
+ }
2035
+
2036
+ .google-auth-button.solid-btn,
2037
+ .google-auth-button {
2038
+ width: 100%;
2039
+ height: 36px;
2040
+ border: 1px solid #27272a;
2041
+ border-radius: 10px;
2042
+ background: #18181b;
2043
+ color: #fafafa;
2044
+ font-size: 13px;
2045
+ font-weight: 500;
2046
+ box-shadow: none;
2047
+ }
2048
+
2049
+ .solid-auth-center-stack {
2050
+ display: flex;
2051
+ flex-direction: column;
2052
+ gap: 12px;
2053
+ }
2054
+
2055
+ .solid-auth-brand {
2056
+ display: inline-flex;
2057
+ align-items: center;
2058
+ gap: 8px;
2059
+ color: #e4e4e7;
2060
+ text-decoration: none;
2061
+ font-size: 13px;
2062
+ font-weight: 500;
2063
+ }
2064
+
2065
+ .solid-auth-brand.is-center {
2066
+ align-self: center;
2067
+ }
2068
+
2069
+ .solid-auth-brand-icon {
2070
+ width: 24px;
2071
+ height: 24px;
2072
+ border-radius: 7px;
2073
+ border: 1px solid #27272a;
2074
+ background: #18181b;
2075
+ display: grid;
2076
+ place-items: center;
2077
+ overflow: hidden;
2078
+ }
2079
+
2080
+ .solid-auth-brand-icon img {
2081
+ width: 100%;
2082
+ height: 100%;
2083
+ object-fit: contain;
2084
+ display: block;
2085
+ }
2086
+
2087
+ .solid-auth-brand-fallback {
2088
+ font-size: 12px;
2089
+ font-weight: 700;
2090
+ color: #fafafa;
2091
+ }
2092
+
2093
+ .solid-auth-brand-text {
2094
+ color: #f4f4f5;
2095
+ line-height: 1;
2096
+ }
2097
+
2098
+ .google-auth-button.solid-btn:hover,
2099
+ .google-auth-button:hover {
2100
+ background: #1f1f23;
2101
+ border-color: #3f3f46;
2102
+ box-shadow: none;
2103
+ }
2104
+
2105
+ .google-auth-button.solid-btn:focus-visible,
2106
+ .google-auth-button:focus-visible {
2107
+ box-shadow: 0 0 0 2px rgba(244, 244, 245, 0.08);
2108
+ }
2109
+
2110
+ .solid-auth-footer,
2111
+ .solid-auth-footer-2 {
2112
+ color: #a1a1aa;
2113
+ }
2114
+
2115
+ .solid-auth-subtitle a,
2116
+ .solid-auth-footer a,
2117
+ .solid-auth-footer-2 a {
2118
+ color: #d4d4d8;
2119
+ }
2120
+
2121
+ @media (max-width: 1199px) {
2122
+ .solid-auth-theme-wrapper.center {
2123
+ padding: 16px;
2124
+ }
2125
+
2126
+ .solid-auth-theme-wrapper.left>.grid,
2127
+ .solid-auth-theme-wrapper.right>.grid {
2128
+ grid-template-columns: 1fr;
2129
+ }
2130
+
2131
+ .solid-auth-theme-wrapper.left .solid-left-layout,
2132
+ .solid-auth-theme-wrapper.right .solid-right-layout {
2133
+ display: none !important;
2134
+ }
2135
+
2136
+ .solid-auth-theme-wrapper.left .solid-login-dark-bg,
2137
+ .solid-auth-theme-wrapper.right .solid-login-dark-bg {
2138
+ padding: 20px;
2139
+ }
2140
+
2141
+ .auth-container {
2142
+ max-width: 100%;
2143
+ padding: 20px;
2144
+ }
2145
+ }
2146
+
2147
+ /* Final auth isolation overrides against legacy global auth CSS */
2148
+ .solid-auth-theme-wrapper .auth-container,
2149
+ .solid-auth-theme-wrapper .auth-container.side {
2150
+ min-width: 0 !important;
2151
+ width: min(100%, 388px) !important;
2152
+ max-width: 388px !important;
2153
+ padding: 18px !important;
2154
+ border-radius: 12px !important;
2155
+ backdrop-filter: none !important;
2156
+ box-shadow: none !important;
2157
+ }
2158
+
2159
+ .solid-auth-theme-wrapper.left .auth-container,
2160
+ .solid-auth-theme-wrapper.right .auth-container {
2161
+ width: min(100%, 392px) !important;
2162
+ max-width: 392px !important;
2163
+ }
2164
+
2165
+ .solid-auth-theme-wrapper.center .solid-center-layout {
2166
+ width: min(388px, calc(100vw - 24px)) !important;
2167
+ }
2168
+
2169
+ .solid-auth-theme-wrapper .auth-container form .mt-3 {
2170
+ margin-top: 0.9rem !important;
2171
+ }
2172
+
2173
+ .solid-auth-theme-wrapper .auth-container form .mt-4 {
2174
+ margin-top: 1.1rem !important;
2175
+ }
2176
+
2177
+ .solid-auth-theme-wrapper .solid-auth-title {
2178
+ margin-top: 0 !important;
2179
+ font-size: 1rem !important;
2180
+ line-height: 1.25 !important;
2181
+ letter-spacing: -0.01em !important;
2182
+ }
2183
+
2184
+ .solid-auth-theme-wrapper .solid-auth-helper {
2185
+ margin-top: 0.5rem !important;
2186
+ margin-bottom: 0.5rem !important;
2187
+ font-size: 11px !important;
2188
+ line-height: 1.35 !important;
2189
+ }
2190
+
2191
+ .solid-auth-theme-wrapper .solid-auth-tabs-list {
2192
+ display: grid !important;
2193
+ grid-template-columns: 1fr 1fr !important;
2194
+ gap: 4px !important;
2195
+ padding: 3px !important;
2196
+ border-radius: 10px !important;
2197
+ border: 1px solid #27272a !important;
2198
+ background: #18181b !important;
2199
+ }
2200
+
2201
+ .solid-auth-theme-wrapper .solid-auth-tabs .solid-tabs-trigger {
2202
+ appearance: none;
2203
+ -webkit-appearance: none;
2204
+ border: 0 !important;
2205
+ outline: 0;
2206
+ box-shadow: none;
2207
+ min-height: 30px !important;
2208
+ padding: 0 8px !important;
2209
+ font-size: 12px !important;
2210
+ line-height: 1 !important;
2211
+ border-radius: 7px !important;
2212
+ background: transparent !important;
2213
+ color: #a1a1aa !important;
2214
+ font-weight: 500 !important;
2215
+ }
2216
+
2217
+ .solid-auth-theme-wrapper .solid-auth-tabs .solid-tabs-trigger.is-active {
2218
+ background: #2a2a2f !important;
2219
+ color: #fafafa !important;
2220
+ }
2221
+
2222
+ .solid-auth-theme-wrapper .auth-container .p-inputtext,
2223
+ .solid-auth-theme-wrapper .auth-container .p-password .p-inputtext,
2224
+ .solid-auth-theme-wrapper .auth-container .p-password-input {
2225
+ height: 36px !important;
2226
+ border-radius: 8px !important;
2227
+ padding: 0 10px !important;
2228
+ border: 1px solid #2f2f37 !important;
2229
+ border-color: #2f2f37 !important;
2230
+ border-top-color: #2f2f37 !important;
2231
+ border-right-color: #2f2f37 !important;
2232
+ border-bottom-color: #2f2f37 !important;
2233
+ border-left-color: #2f2f37 !important;
2234
+ background: #18181b !important;
2235
+ color: #fafafa !important;
2236
+ outline: 0 !important;
2237
+ box-shadow: none !important;
2238
+ }
2239
+
2240
+ .solid-auth-theme-wrapper .auth-container .p-inputtext:hover,
2241
+ .solid-auth-theme-wrapper .auth-container .p-password .p-inputtext:hover,
2242
+ .solid-auth-theme-wrapper .auth-container .p-password-input:hover {
2243
+ border-color: #2f2f37 !important;
2244
+ border-top-color: #2f2f37 !important;
2245
+ border-right-color: #2f2f37 !important;
2246
+ border-bottom-color: #2f2f37 !important;
2247
+ border-left-color: #2f2f37 !important;
2248
+ }
2249
+
2250
+ .solid-auth-theme-wrapper .auth-container .p-inputtext:focus,
2251
+ .solid-auth-theme-wrapper .auth-container .p-password .p-inputtext:focus,
2252
+ .solid-auth-theme-wrapper .auth-container .p-password-input:focus {
2253
+ border-color: #2f2f37 !important;
2254
+ border-top-color: #2f2f37 !important;
2255
+ border-right-color: #2f2f37 !important;
2256
+ border-bottom-color: #2f2f37 !important;
2257
+ border-left-color: #2f2f37 !important;
2258
+ box-shadow: none !important;
2259
+ }
2260
+
2261
+ .solid-auth-theme-wrapper .auth-container .p-inputtext.p-invalid,
2262
+ .solid-auth-theme-wrapper .auth-container .p-password.p-invalid .p-inputtext,
2263
+ .solid-auth-theme-wrapper .auth-container .p-password-input.p-invalid,
2264
+ .solid-auth-theme-wrapper .auth-container .p-inputtext.p-invalid:enabled:hover,
2265
+ .solid-auth-theme-wrapper .auth-container .p-password.p-invalid .p-inputtext:enabled:hover,
2266
+ .solid-auth-theme-wrapper .auth-container .p-password-input.p-invalid:enabled:hover {
2267
+ border-color: var(--solid-danger, #ef4444) !important;
2268
+ border-top-color: var(--solid-danger, #ef4444) !important;
2269
+ border-right-color: var(--solid-danger, #ef4444) !important;
2270
+ border-bottom-color: var(--solid-danger, #ef4444) !important;
2271
+ border-left-color: var(--solid-danger, #ef4444) !important;
2272
+ box-shadow: 0 0 0 3px var(--solid-danger-soft, rgba(239, 68, 68, 0.2)) !important;
2273
+ }
2274
+
2275
+ .solid-auth-theme-wrapper .auth-container .p-inputtext:enabled:hover,
2276
+ .solid-auth-theme-wrapper .auth-container .p-inputtext:enabled:focus,
2277
+ .solid-auth-theme-wrapper .auth-container .p-password .p-inputtext:enabled:hover,
2278
+ .solid-auth-theme-wrapper .auth-container .p-password .p-inputtext:enabled:focus,
2279
+ .solid-auth-theme-wrapper .auth-container .p-password-input:enabled:hover,
2280
+ .solid-auth-theme-wrapper .auth-container .p-password-input:enabled:focus {
2281
+ border-color: #2f2f37 !important;
2282
+ border-top-color: #2f2f37 !important;
2283
+ border-right-color: #2f2f37 !important;
2284
+ border-bottom-color: #2f2f37 !important;
2285
+ border-left-color: #2f2f37 !important;
2286
+ box-shadow: none !important;
2287
+ }
2288
+
2289
+ .solid-auth-theme-wrapper .auth-container .p-password.p-component {
2290
+ border: 0 !important;
2291
+ box-shadow: none !important;
2292
+ background: transparent !important;
2293
+ }
2294
+
2295
+ .solid-auth-theme-wrapper .auth-container .p-inputtext:-webkit-autofill,
2296
+ .solid-auth-theme-wrapper .auth-container .p-inputtext:-webkit-autofill:hover,
2297
+ .solid-auth-theme-wrapper .auth-container .p-inputtext:-webkit-autofill:focus,
2298
+ .solid-auth-theme-wrapper .auth-container .p-password .p-inputtext:-webkit-autofill,
2299
+ .solid-auth-theme-wrapper .auth-container .p-password .p-inputtext:-webkit-autofill:hover,
2300
+ .solid-auth-theme-wrapper .auth-container .p-password .p-inputtext:-webkit-autofill:focus {
2301
+ -webkit-text-fill-color: #fafafa !important;
2302
+ -webkit-box-shadow: 0 0 0 1000px #18181b inset !important;
2303
+ box-shadow: 0 0 0 1000px #18181b inset !important;
2304
+ border-color: #2f2f37 !important;
2305
+ }
2306
+
2307
+ .solid-auth-theme-wrapper .auth-submit-button.p-button,
2308
+ .solid-auth-theme-wrapper .google-auth-button.solid-btn,
2309
+ .solid-auth-theme-wrapper .google-auth-button {
2310
+ min-height: 36px !important;
2311
+ height: 36px !important;
2312
+ border-radius: 8px !important;
2313
+ }
2314
+
2315
+ .solid-auth-theme-wrapper .auth-container .p-message {
2316
+ margin-top: 6px !important;
2317
+ padding: 0 !important;
2318
+ background: transparent !important;
2319
+ border: 0 !important;
2320
+ box-shadow: none !important;
2321
+ min-height: unset !important;
2322
+ }
2323
+
2324
+ .solid-auth-theme-wrapper .auth-container .p-inline-message {
2325
+ margin-top: 6px !important;
2326
+ padding: 0 !important;
2327
+ background: transparent !important;
2328
+ border: 0 !important;
2329
+ box-shadow: none !important;
2330
+ min-height: unset !important;
2331
+ }
2332
+
2333
+ .solid-auth-theme-wrapper .auth-container .p-message-wrapper,
2334
+ .solid-auth-theme-wrapper .auth-container .p-inline-message-text {
2335
+ background: transparent !important;
2336
+ border: 0 !important;
2337
+ box-shadow: none !important;
2338
+ padding: 0 !important;
2339
+ }
2340
+
2341
+ .solid-auth-theme-wrapper .auth-container .p-message .p-message-text {
2342
+ font-size: 12px !important;
2343
+ line-height: 1.35 !important;
2344
+ color: var(--solid-danger, #ef4444) !important;
2345
+ font-weight: 500 !important;
2346
+ }
2347
+
2348
+ .solid-auth-theme-wrapper .auth-container .p-inline-message .p-inline-message-text,
2349
+ .solid-auth-theme-wrapper .auth-container .p-message-text,
2350
+ .solid-auth-theme-wrapper .auth-container .p-inline-message-text,
2351
+ .solid-auth-theme-wrapper .auth-container .p-message-content,
2352
+ .solid-auth-theme-wrapper .auth-container .p-message-content>* {
2353
+ color: var(--solid-danger, #ef4444) !important;
2354
+ }
2355
+
2356
+ .solid-auth-theme-wrapper .auth-container .text-red-500,
2357
+ .solid-auth-theme-wrapper .auth-container [class*="text-red"] {
2358
+ color: var(--solid-danger, #ef4444) !important;
2359
+ }
2360
+
2361
+ .solid-auth-theme-wrapper .auth-container .p-message .p-message-icon,
2362
+ .solid-auth-theme-wrapper .auth-container .p-message .p-inline-message-icon {
2363
+ display: none !important;
2364
+ }
2365
+
2366
+ /* Side auth layout shell (left/right) */
2367
+ .solid-auth-theme-wrapper.left,
2368
+ .solid-auth-theme-wrapper.right {
2369
+ padding: 0 !important;
2370
+ display: block !important;
2371
+ }
2372
+
2373
+ .solid-auth-theme-wrapper .solid-auth-split {
2374
+ width: 100%;
2375
+ min-height: calc(100vh - var(--solid-studio-header-height, 0px));
2376
+ display: grid;
2377
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
2378
+ background: #020204;
2379
+ }
2380
+
2381
+ .solid-auth-theme-wrapper .solid-auth-form-pane {
2382
+ display: flex;
2383
+ align-items: center;
2384
+ justify-content: center;
2385
+ padding: 36px 40px;
2386
+ background: #020204;
2387
+ }
2388
+
2389
+ .solid-auth-theme-wrapper .solid-auth-form-pane-inner {
2390
+ width: 100%;
2391
+ max-width: 440px;
2392
+ display: flex;
2393
+ flex-direction: column;
2394
+ align-items: stretch;
2395
+ }
2396
+
2397
+ .solid-auth-theme-wrapper.left .solid-auth-form-pane,
2398
+ .solid-auth-theme-wrapper.right .solid-auth-form-pane {
2399
+ align-items: center !important;
2400
+ justify-content: center !important;
2401
+ }
2402
+
2403
+ .solid-auth-theme-wrapper.left .solid-auth-form-pane .solid-auth-brand,
2404
+ .solid-auth-theme-wrapper.right .solid-auth-form-pane .solid-auth-brand {
2405
+ align-self: flex-start;
2406
+ margin-bottom: 10px;
2407
+ }
2408
+
2409
+ .solid-auth-theme-wrapper .solid-auth-image-pane {
2410
+ position: relative;
2411
+ min-height: calc(100vh - var(--solid-studio-header-height, 0px));
2412
+ background-color: #27272a;
2413
+ background-size: cover;
2414
+ background-position: center;
2415
+ overflow: hidden;
2416
+ }
2417
+
2418
+ .solid-auth-theme-wrapper .solid-auth-image-pane.pane-on-right {
2419
+ border-left: 1px solid #18181b;
2420
+ }
2421
+
2422
+ .solid-auth-theme-wrapper .solid-auth-image-pane.pane-on-left {
2423
+ border-right: 1px solid #18181b;
2424
+ }
2425
+
2426
+ @media (max-width: 1199px) {
2427
+ .solid-auth-theme-wrapper .solid-auth-split {
2428
+ grid-template-columns: 1fr;
2429
+ }
2430
+
2431
+ .solid-auth-theme-wrapper .solid-auth-image-pane {
2432
+ display: none;
2433
+ }
2434
+
2435
+ .solid-auth-theme-wrapper .solid-auth-form-pane {
2436
+ min-height: calc(100vh - var(--solid-studio-header-height, 0px));
2437
+ padding: 20px;
2438
+ }
2439
+ }
2440
+
2441
+ /* Auth theme contract (triggered by API value: authPagesTheme) */
2442
+ .solid-auth-theme-wrapper {
2443
+ --solid-surface-base: #020204;
2444
+ --solid-surface-pane: #020204;
2445
+ --solid-surface-image: #27272a;
2446
+ --solid-surface-card: #111113;
2447
+ --solid-surface-input: #18181b;
2448
+ --solid-surface-tab: #18181b;
2449
+ --solid-surface-tab-active: #2a2a2f;
2450
+ --solid-surface-social: #18181b;
2451
+ --solid-text-primary: #fafafa;
2452
+ --solid-text-secondary: #e4e4e7;
2453
+ --solid-text-muted: #a1a1aa;
2454
+ --solid-input-placeholder: #71717a;
2455
+ --solid-border-default: #27272a;
2456
+ --solid-border-strong: #2f2f37;
2457
+ --solid-image-border: #18181b;
2458
+ --solid-danger: #ef4444;
2459
+ --solid-danger-soft: rgba(239, 68, 68, 0.22);
2460
+ }
2461
+
2462
+ .solid-auth-theme-wrapper.auth-theme-light {
2463
+ --solid-surface-base: #f5f6f8;
2464
+ --solid-surface-pane: #f5f6f8;
2465
+ --solid-surface-image: #e5e7eb;
2466
+ --solid-surface-card: #ffffff;
2467
+ --solid-surface-input: #ffffff;
2468
+ --solid-surface-tab: #f3f4f6;
2469
+ --solid-surface-tab-active: #ffffff;
2470
+ --solid-surface-social: #ffffff;
2471
+ --solid-text-primary: #111827;
2472
+ --solid-text-secondary: #374151;
2473
+ --solid-text-muted: #6b7280;
2474
+ --solid-input-placeholder: #9ca3af;
2475
+ --solid-border-default: #d1d5db;
2476
+ --solid-border-strong: #cbd5e1;
2477
+ --solid-image-border: #d1d5db;
2478
+ --solid-danger: #ef4444;
2479
+ --solid-danger-soft: rgba(239, 68, 68, 0.18);
2480
+ }
2481
+
2482
+ .solid-auth-theme-wrapper.auth-theme-light,
2483
+ .solid-auth-theme-wrapper.auth-theme-dark {
2484
+ background: var(--solid-surface-base) !important;
2485
+ color: var(--solid-text-secondary) !important;
2486
+ }
2487
+
2488
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-split,
2489
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-split {
2490
+ background: var(--solid-surface-base) !important;
2491
+ }
2492
+
2493
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-form-pane,
2494
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-form-pane {
2495
+ background: var(--solid-surface-pane) !important;
2496
+ }
2497
+
2498
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-image-pane,
2499
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-image-pane {
2500
+ background-color: var(--solid-surface-image) !important;
2501
+ }
2502
+
2503
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-image-pane.pane-on-right,
2504
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-image-pane.pane-on-right {
2505
+ border-left-color: var(--solid-image-border) !important;
2506
+ }
2507
+
2508
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-image-pane.pane-on-left,
2509
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-image-pane.pane-on-left {
2510
+ border-right-color: var(--solid-image-border) !important;
2511
+ }
2512
+
2513
+ .solid-auth-theme-wrapper.auth-theme-light .auth-container,
2514
+ .solid-auth-theme-wrapper.auth-theme-dark .auth-container {
2515
+ background: var(--solid-surface-card) !important;
2516
+ border-color: var(--solid-border-default) !important;
2517
+ }
2518
+
2519
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-title,
2520
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-title {
2521
+ color: var(--solid-text-primary) !important;
2522
+ }
2523
+
2524
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-helper,
2525
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-helper,
2526
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-input-label,
2527
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-input-label,
2528
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-brand,
2529
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-brand,
2530
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-brand-text,
2531
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-brand-text {
2532
+ color: var(--solid-text-secondary) !important;
2533
+ }
2534
+
2535
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-inline-link,
2536
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-inline-link,
2537
+ .solid-auth-theme-wrapper.auth-theme-light .p-divider .p-divider-content,
2538
+ .solid-auth-theme-wrapper.auth-theme-dark .p-divider .p-divider-content {
2539
+ color: var(--solid-text-muted) !important;
2540
+ }
2541
+
2542
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-tabs-list,
2543
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-tabs-list {
2544
+ background: var(--solid-surface-tab) !important;
2545
+ border-color: var(--solid-border-default) !important;
2546
+ }
2547
+
2548
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-tabs .solid-tabs-trigger,
2549
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-tabs .solid-tabs-trigger {
2550
+ color: var(--solid-text-muted) !important;
2551
+ }
2552
+
2553
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-tabs .solid-tabs-trigger.is-active,
2554
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-tabs .solid-tabs-trigger.is-active {
2555
+ background: var(--solid-surface-tab-active) !important;
2556
+ color: var(--solid-text-primary) !important;
2557
+ }
2558
+
2559
+ .solid-auth-theme-wrapper.auth-theme-light .auth-container .p-inputtext,
2560
+ .solid-auth-theme-wrapper.auth-theme-dark .auth-container .p-inputtext,
2561
+ .solid-auth-theme-wrapper.auth-theme-light .auth-container .p-password .p-inputtext,
2562
+ .solid-auth-theme-wrapper.auth-theme-dark .auth-container .p-password .p-inputtext,
2563
+ .solid-auth-theme-wrapper.auth-theme-light .auth-container .p-password-input,
2564
+ .solid-auth-theme-wrapper.auth-theme-dark .auth-container .p-password-input {
2565
+ background: var(--solid-surface-input) !important;
2566
+ color: var(--solid-text-primary) !important;
2567
+ border-color: var(--solid-border-strong) !important;
2568
+ border-top-color: var(--solid-border-strong) !important;
2569
+ border-right-color: var(--solid-border-strong) !important;
2570
+ border-bottom-color: var(--solid-border-strong) !important;
2571
+ border-left-color: var(--solid-border-strong) !important;
2572
+ }
2573
+
2574
+ .solid-auth-theme-wrapper.auth-theme-light .auth-container .p-inputtext::placeholder,
2575
+ .solid-auth-theme-wrapper.auth-theme-dark .auth-container .p-inputtext::placeholder,
2576
+ .solid-auth-theme-wrapper.auth-theme-light .auth-container .p-password .p-inputtext::placeholder,
2577
+ .solid-auth-theme-wrapper.auth-theme-dark .auth-container .p-password .p-inputtext::placeholder {
2578
+ color: var(--solid-input-placeholder) !important;
2579
+ }
2580
+
2581
+ .solid-auth-theme-wrapper.auth-theme-light .solid-auth-social-btn.solid-btn,
2582
+ .solid-auth-theme-wrapper.auth-theme-dark .solid-auth-social-btn.solid-btn {
2583
+ background: var(--solid-surface-social) !important;
2584
+ border-color: var(--solid-border-strong) !important;
2585
+ color: var(--solid-text-primary) !important;
2586
+ }
2587
+
2588
+ .solid-auth-theme-wrapper .solid-auth-helper-emphasis {
2589
+ color: var(--solid-text-primary);
2590
+ font-weight: 600;
2591
+ }
2592
+
2593
+ .solid-auth-theme-wrapper .solid-auth-otp-field {
2594
+ display: flex;
2595
+ flex-direction: column;
2596
+ gap: 10px;
2597
+ margin-top: 12px;
2598
+ }
2599
+
2600
+ .solid-auth-theme-wrapper .solid-auth-otp-top {
2601
+ display: flex;
2602
+ align-items: center;
2603
+ justify-content: space-between;
2604
+ gap: 8px;
2605
+ }
2606
+
2607
+ .solid-auth-theme-wrapper .solid-auth-otp-resend.solid-btn {
2608
+ min-height: 28px;
2609
+ height: 28px;
2610
+ padding: 0 8px;
2611
+ border-radius: 6px;
2612
+ font-size: 11px;
2613
+ line-height: 1;
2614
+ gap: 6px;
2615
+ }
2616
+
2617
+ .solid-auth-theme-wrapper .solid-auth-otp-time {
2618
+ margin: 0;
2619
+ font-size: 11px;
2620
+ line-height: 1.3;
2621
+ color: var(--solid-text-muted);
2622
+ }
2623
+
2624
+ .solid-auth-theme-wrapper .solid-auth-otp-input.p-inputotp {
2625
+ display: flex;
2626
+ align-items: center;
2627
+ justify-content: center;
2628
+ gap: 8px;
2629
+ width: 100%;
2630
+ }
2631
+
2632
+ .solid-auth-theme-wrapper .solid-auth-otp-input.p-inputotp .p-inputotp-input {
2633
+ width: 42px;
2634
+ min-width: 42px;
2635
+ height: 46px;
2636
+ border-radius: 10px;
2637
+ border: 1px solid var(--solid-border-strong) !important;
2638
+ background: var(--solid-surface-input) !important;
2639
+ color: var(--solid-text-primary) !important;
2640
+ text-align: center;
2641
+ font-size: 1.15rem;
2642
+ font-weight: 600;
2643
+ }
2644
+
2645
+ .solid-auth-theme-wrapper .solid-auth-otp-input.p-inputotp .p-inputotp-input:focus {
2646
+ outline: none;
2647
+ border-color: var(--solid-border-strong) !important;
2648
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--solid-focus-ring) 60%, transparent);
2649
+ }
2650
+
2651
+ .solid-auth-theme-wrapper .solid-auth-otp-input.p-inputotp .p-inputotp-input:nth-child(3) {
2652
+ margin-right: 10px;
2653
+ }
2654
+
2655
+ .solid-auth-theme-wrapper .solid-auth-otp-input.p-inputotp .p-inputotp-input:nth-child(4) {
2656
+ margin-left: 10px;
2657
+ }
2658
+
2659
+ .solid-auth-theme-wrapper .solid-auth-otp-input.p-inputotp.p-invalid .p-inputotp-input {
2660
+ border-color: #ef4444 !important;
2661
+ }
2662
+
2663
+ @media (max-width: 480px) {
2664
+ .solid-auth-theme-wrapper .solid-auth-otp-input.p-inputotp {
2665
+ gap: 6px;
2666
+ }
2667
+
2668
+ .solid-auth-theme-wrapper .solid-auth-otp-input.p-inputotp .p-inputotp-input {
2669
+ width: 36px;
2670
+ min-width: 36px;
2671
+ height: 42px;
2672
+ font-size: 1rem;
2673
+ }
2674
+ }
2675
+
2676
+ .solid-auth-theme-wrapper.auth-theme-light .auth-container .p-divider .p-divider-content,
2677
+ .solid-auth-theme-wrapper.auth-theme-dark .auth-container .p-divider .p-divider-content {
2678
+ background: var(--solid-surface-card) !important;
2679
+ color: var(--solid-text-muted) !important;
2680
+ border: 0 !important;
2681
+ box-shadow: none !important;
2682
+ font-size: 12px !important;
2683
+ font-weight: 500 !important;
2684
+ letter-spacing: 0 !important;
2685
+ text-transform: none !important;
2686
+ }
2687
+
2688
+ .solid-auth-theme-wrapper.auth-theme-light .auth-container .p-divider.p-divider-horizontal::before,
2689
+ .solid-auth-theme-wrapper.auth-theme-dark .auth-container .p-divider.p-divider-horizontal::before {
2690
+ border-top: 1px solid var(--solid-border-default) !important;
2691
+ }
2692
+
2693
+ /* Unified ambient auth glow across center/left/right layouts */
2694
+ .solid-auth-theme-wrapper {
2695
+ isolation: isolate;
2696
+ overflow: hidden;
2697
+ }
2698
+
2699
+ .solid-auth-theme-wrapper::before,
2700
+ .solid-auth-theme-wrapper::after {
2701
+ content: "";
2702
+ position: absolute;
2703
+ pointer-events: none;
2704
+ z-index: 0;
2705
+ border-radius: 999px;
2706
+ filter: blur(6px);
2707
+ }
2708
+
2709
+ .solid-auth-theme-wrapper::before {
2710
+ width: min(280px, 36vw);
2711
+ height: min(280px, 36vw);
2712
+ top: -120px;
2713
+ left: -70px;
2714
+ background:
2715
+ radial-gradient(circle at center,
2716
+ color-mix(in srgb, #a855f7 78%, #c084fc 22%) 0%,
2717
+ color-mix(in srgb, #7c3aed 60%, transparent) 42%,
2718
+ transparent 72%);
2719
+ opacity: 0.9;
2720
+ }
2721
+
2722
+ .solid-auth-theme-wrapper::after {
2723
+ width: min(340px, 44vw);
2724
+ height: min(340px, 44vw);
2725
+ right: -130px;
2726
+ bottom: -170px;
2727
+ background:
2728
+ radial-gradient(circle at center,
2729
+ color-mix(in srgb, #9333ea 68%, #6366f1 32%) 0%,
2730
+ color-mix(in srgb, #6d28d9 58%, transparent) 46%,
2731
+ transparent 75%);
2732
+ opacity: 0.62;
2733
+ }
2734
+
2735
+ .solid-auth-theme-wrapper.auth-theme-light::before {
2736
+ opacity: 0.48;
2737
+ }
2738
+
2739
+ .solid-auth-theme-wrapper.auth-theme-light::after {
2740
+ opacity: 0.34;
2741
+ }
2742
+
2743
+ .solid-auth-theme-wrapper>* {
2744
+ position: relative;
2745
+ z-index: 1;
2746
+ }
2747
+
2748
+ /* List table (non-Prime table layer) */
2749
+ .solid-list-page-wrapper {
2750
+ height: calc(100dvh - var(--solid-studio-header-height, 0px) - 46px) !important;
2751
+ max-height: calc(100dvh - var(--solid-studio-header-height, 0px) - 46px) !important;
2752
+ min-height: 0;
2753
+ flex: 1 1 auto;
2754
+ overflow: hidden !important;
2755
+ background-color: var(--background) !important;
2756
+ padding: 12px;
2757
+ }
2758
+
2759
+ .solid-list-page-wrapper .page-header {
2760
+ flex-shrink: 0;
2761
+ }
2762
+
2763
+ .solid-list-content {
2764
+ display: flex;
2765
+ flex-direction: column;
2766
+ flex: 1 1 auto;
2767
+ min-height: 0;
2768
+ height: 100%;
2769
+ }
2770
+
2771
+ .solid-list-surface {
2772
+ width: 100%;
2773
+ height: 100%;
2774
+ min-height: 0;
2775
+ display: flex;
2776
+ flex-direction: column;
2777
+ flex: 1 1 auto;
2778
+ background: var(--card);
2779
+ border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
2780
+ border-radius: 12px;
2781
+ box-shadow: 0 8px 24px rgba(2, 6, 23, 0.08);
2782
+ overflow: hidden;
2783
+ }
2784
+
2785
+ .solid-list-toolbar {
2786
+ padding: 10px 12px;
2787
+ border-bottom: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
2788
+ background: color-mix(in srgb, var(--card) 94%, var(--background) 6%);
2789
+ }
2790
+
2791
+ .solid-list-toolbar .view-title {
2792
+ font-size: 15px;
2793
+ font-weight: 600;
2794
+ line-height: 1.2;
2795
+ color: var(--foreground);
2796
+ }
2797
+
2798
+ .solid-list-toolbar .solid-list-toolbar-actions {
2799
+ gap: 8px !important;
2800
+ }
2801
+
2802
+ .solid-list-toolbar .solid-global-search-element {
2803
+ height: 36px;
2804
+ border: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
2805
+ border-radius: 10px;
2806
+ background: var(--background);
2807
+ padding: 0 0 0 6px;
2808
+ }
2809
+
2810
+ .solid-list-toolbar .solid-global-search-element:focus-within {
2811
+ border-color: color-mix(in srgb, var(--ring) 60%, var(--border) 40%);
2812
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--ring) 18%, transparent);
2813
+ }
2814
+
2815
+ .solid-list-toolbar .solid-global-search-element-wrapper {
2816
+ width: min(460px, 42vw);
2817
+ }
2818
+
2819
+ .solid-list-toolbar .solid-global-search-element input {
2820
+ height: 34px;
2821
+ max-width: none !important;
2822
+ width: 100%;
2823
+ border: 0;
2824
+ background: transparent;
2825
+ font-size: 13px;
2826
+ color: var(--foreground);
2827
+ padding-left: 8px;
2828
+ padding-right: 40px;
2829
+ }
2830
+
2831
+ .solid-list-toolbar .solid-global-search-element input::placeholder {
2832
+ color: color-mix(in srgb, var(--muted-foreground) 78%, transparent);
2833
+ }
2834
+
2835
+ .solid-list-toolbar .custom-filter-button {
2836
+ border: 0;
2837
+ background: transparent;
2838
+ height: 34px;
2839
+ width: 34px;
2840
+ border-radius: 8px;
2841
+ right: 1px;
2842
+ }
2843
+
2844
+ .solid-list-toolbar .custom-filter-button:hover {
2845
+ background: color-mix(in srgb, var(--accent) 65%, transparent);
2846
+ }
2847
+
2848
+ .solid-list-toolbar .p-button {
2849
+ height: 32px;
2850
+ border-radius: 8px;
2851
+ font-size: 12px;
2852
+ font-weight: 500;
2853
+ }
2854
+
2855
+ .solid-list-toolbar .p-button.p-button-secondary,
2856
+ .solid-list-toolbar .p-button.p-button-outlined,
2857
+ .solid-list-toolbar .solid-icon-button {
2858
+ border: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
2859
+ background: var(--background);
2860
+ color: var(--foreground);
2861
+ }
2862
+
2863
+ .solid-list-toolbar .solid-icon-button {
2864
+ width: 32px !important;
2865
+ min-width: 32px !important;
2866
+ padding: 0 !important;
2867
+ }
2868
+
2869
+ .solid-list-table-area {
2870
+ display: flex;
2871
+ flex-direction: column;
2872
+ flex: 1;
2873
+ min-height: 0;
2874
+ padding: 0 10px 0;
2875
+ }
2876
+
2877
+ .solid-list-page-wrapper .solid-datatable-wrapper {
2878
+ height: 100% !important;
2879
+ min-height: 0;
2880
+ }
2881
+
2882
+ .solid-list-table-area>.solid-data-table-root {
2883
+ flex: 1 1 auto;
2884
+ min-height: 0;
2885
+ }
2886
+
2887
+ .solid-data-table-root {
2888
+ height: 100%;
2889
+ display: grid;
2890
+ grid-template-rows: minmax(0, 1fr) auto;
2891
+ min-height: 0;
2892
+ overflow: hidden;
2893
+ }
2894
+
2895
+ .solid-data-table-viewport {
2896
+ min-height: 0;
2897
+ height: 100%;
2898
+ overflow-y: auto;
2899
+ overflow-x: auto;
2900
+ }
2901
+
2902
+ .solid-datatable-wrapper table {
2903
+ width: 100%;
2904
+ min-width: max-content;
2905
+ table-layout: auto;
2906
+ }
2907
+
2908
+ .solid-datatable-wrapper th,
2909
+ .solid-datatable-wrapper td {
2910
+ font-size: 13px;
2911
+ line-height: 1.35;
2912
+ white-space: nowrap;
2913
+ color: var(--foreground);
2914
+ }
2915
+
2916
+ .solid-data-table-head {
2917
+ background: color-mix(in srgb, var(--card) 88%, var(--background) 12%);
2918
+ }
2919
+
2920
+ .solid-data-table-th {
2921
+ font-weight: 600;
2922
+ color: color-mix(in srgb, var(--foreground) 90%, transparent);
2923
+ border-bottom: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
2924
+ }
2925
+
2926
+ .solid-data-table-td {
2927
+ color: color-mix(in srgb, var(--foreground) 94%, transparent);
2928
+ }
2929
+
2930
+ .solid-data-table-row {
2931
+ border-top: 1px solid color-mix(in srgb, var(--border) 58%, transparent);
2932
+ transition: background-color 140ms ease;
2933
+ }
2934
+
2935
+ .solid-data-table-row:hover {
2936
+ background: color-mix(in srgb, var(--accent) 46%, transparent);
2937
+ }
2938
+
2939
+ .solid-table-density-compact .solid-data-table-th,
2940
+ .solid-table-density-compact .solid-data-table-td {
2941
+ height: 34px;
2942
+ padding: 0.3125rem 0.5625rem;
2943
+ }
2944
+
2945
+ .solid-table-density-cozy .solid-data-table-th,
2946
+ .solid-table-density-cozy .solid-data-table-td {
2947
+ height: 38px;
2948
+ padding: 0.375rem 0.625rem;
2949
+ }
2950
+
2951
+ .solid-table-density-comfortable .solid-data-table-th,
2952
+ .solid-table-density-comfortable .solid-data-table-td {
2953
+ height: 46px;
2954
+ padding: 0.5rem 0.875rem;
2955
+ }
2956
+
2957
+ .solid-data-table-selection-col {
2958
+ width: 48px;
2959
+ min-width: 48px;
2960
+ max-width: 48px;
2961
+ text-align: center;
2962
+ padding-left: 0.75rem !important;
2963
+ padding-right: 0.75rem !important;
2964
+ }
2965
+
2966
+ .solid-table-cell-numeric {
2967
+ text-align: right;
2968
+ font-variant-numeric: tabular-nums;
2969
+ }
2970
+
2971
+ .solid-table-header-numeric {
2972
+ text-align: right;
2973
+ font-variant-numeric: tabular-nums;
2974
+ }
2975
+
2976
+ .solid-table-header-button {
2977
+ all: unset;
2978
+ display: inline-flex;
2979
+ align-items: center;
2980
+ gap: 5px;
2981
+ font-weight: 600;
2982
+ color: inherit;
2983
+ font-size: 12px;
2984
+ line-height: 1.2;
2985
+ }
2986
+
2987
+ .solid-table-header-button.is-sortable {
2988
+ cursor: pointer;
2989
+ }
2990
+
2991
+ .solid-table-header-button i {
2992
+ font-size: 11px;
2993
+ }
2994
+
2995
+ .solid-data-table-root input[type="checkbox"] {
2996
+ width: 15px;
2997
+ height: 15px;
2998
+ accent-color: var(--primary);
2999
+ }
3000
+
3001
+ .solid-table-paginator {
3002
+ flex-shrink: 0;
3003
+ min-height: 44px;
3004
+ position: relative;
3005
+ z-index: 1;
3006
+ background: var(--card);
3007
+ border-color: color-mix(in srgb, var(--border) 86%, transparent) !important;
3008
+ border-bottom: 0;
3009
+ border-bottom-left-radius: 0;
3010
+ border-bottom-right-radius: 0;
3011
+ padding-top: 8px;
3012
+ padding-bottom: 8px;
3013
+ }
3014
+
3015
+ .solid-table-paginator-align-end {
3016
+ align-self: end;
3017
+ }
3018
+
3019
+ .solid-paginator-meta {
3020
+ align-items: center;
3021
+ }
3022
+
3023
+ .solid-paginator-label,
3024
+ .solid-paginator-report {
3025
+ font-size: 12px;
3026
+ line-height: 1;
3027
+ color: color-mix(in srgb, var(--foreground) 82%, transparent);
3028
+ font-weight: 500;
3029
+ }
3030
+
3031
+ .solid-paginator-select {
3032
+ height: 32px;
3033
+ min-width: 46px;
3034
+ border-radius: 8px;
3035
+ border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
3036
+ background: var(--background);
3037
+ color: var(--foreground);
3038
+ font-size: 12px;
3039
+ font-weight: 500;
3040
+ line-height: 1;
3041
+ padding: 0 26px 0 8px;
3042
+ }
3043
+
3044
+ .solid-paginator-btn {
3045
+ height: 32px;
3046
+ min-width: 72px;
3047
+ display: inline-flex;
3048
+ align-items: center;
3049
+ justify-content: center;
3050
+ border-radius: 8px;
3051
+ border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
3052
+ background: var(--background);
3053
+ color: var(--foreground);
3054
+ font-size: 12px;
3055
+ font-weight: 500;
3056
+ line-height: 1;
3057
+ padding: 0 12px;
3058
+ transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
3059
+ }
3060
+
3061
+ .solid-paginator-btn:hover:not(:disabled) {
3062
+ background: var(--accent);
3063
+ border-color: color-mix(in srgb, var(--border) 74%, transparent);
3064
+ }
3065
+
3066
+ .solid-paginator-btn:disabled {
3067
+ opacity: 0.46;
3068
+ cursor: not-allowed;
3069
+ }
3070
+
3071
+ .solid-data-table-viewport {
3072
+ scrollbar-width: thin;
3073
+ scrollbar-color: color-mix(in srgb, var(--foreground) 26%, transparent) color-mix(in srgb, var(--background) 86%, transparent);
3074
+ }
3075
+
3076
+ .solid-data-table-viewport::-webkit-scrollbar {
3077
+ width: 10px;
3078
+ height: 10px;
3079
+ }
3080
+
3081
+ .solid-data-table-viewport::-webkit-scrollbar-track {
3082
+ background: color-mix(in srgb, var(--background) 86%, transparent);
3083
+ border-radius: 999px;
3084
+ }
3085
+
3086
+ .solid-data-table-viewport::-webkit-scrollbar-thumb {
3087
+ background: color-mix(in srgb, var(--foreground) 26%, transparent);
3088
+ border-radius: 999px;
3089
+ border: 2px solid color-mix(in srgb, var(--background) 86%, transparent);
3090
+ }
3091
+
3092
+ .solid-data-table-viewport::-webkit-scrollbar-thumb:hover {
3093
+ background: color-mix(in srgb, var(--foreground) 36%, transparent);
3094
+ }
3095
+
3096
+ .solid-datatable-wrapper .greyed-out-row {
3097
+ opacity: 0.55;
3098
+ }
3099
+
3100
+ .solid-datatable-wrapper a {
3101
+ color: color-mix(in srgb, var(--primary) 84%, var(--foreground) 16%);
3102
+ font-weight: 500;
3103
+ }
3104
+
3105
+ .solid-list-external-link {
3106
+ border: 0;
3107
+ background: transparent;
3108
+ color: color-mix(in srgb, var(--primary) 84%, var(--foreground) 16%);
3109
+ display: inline-flex;
3110
+ align-items: center;
3111
+ gap: 6px;
3112
+ font-size: 13px;
3113
+ line-height: 1.25;
3114
+ font-weight: 500;
3115
+ padding: 0;
3116
+ cursor: pointer;
3117
+ }
3118
+
3119
+ .solid-list-external-link:hover {
3120
+ color: color-mix(in srgb, var(--primary) 94%, var(--foreground) 6%);
3121
+ }
3122
+
3123
+ .solid-list-external-link-text {
3124
+ white-space: nowrap;
3125
+ }
3126
+
3127
+ .solid-list-external-link-icon {
3128
+ opacity: 0.9;
3129
+ }
3130
+
3131
+ .solid-data-table-viewport {
3132
+ border-width: 1px !important;
3133
+ }
3134
+
3135
+ .solid-row-menu-trigger.p-button,
3136
+ .solid-row-menu-trigger {
3137
+ width: 28px;
3138
+ height: 28px;
3139
+ min-width: 28px;
3140
+ border-radius: 8px;
3141
+ border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
3142
+ background: var(--background);
3143
+ color: color-mix(in srgb, var(--foreground) 78%, transparent);
3144
+ display: inline-flex;
3145
+ align-items: center;
3146
+ justify-content: center;
3147
+ cursor: pointer;
3148
+ transition: background 120ms ease, color 120ms ease;
3149
+ }
3150
+
3151
+ .solid-row-menu-trigger.p-button:hover,
3152
+ .solid-row-menu-trigger:hover {
3153
+ background: var(--accent);
3154
+ color: var(--accent-foreground);
3155
+ }
3156
+
3157
+ .solid-row-menu-trigger .p-button-label {
3158
+ display: none;
3159
+ }
3160
+
3161
+ .solid-custom-overlay .p-overlaypanel-content {
3162
+ padding: 3px;
3163
+ border-radius: 8px;
3164
+ border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
3165
+ background: var(--card);
3166
+ box-shadow: 0 10px 24px color-mix(in srgb, hsl(222 47% 11%) 18%, transparent);
3167
+ }
3168
+
3169
+ .solid-row-actions-menu {
3170
+ min-width: 152px;
3171
+ }
3172
+
3173
+ .solid-row-action-button.p-button {
3174
+ width: 100%;
3175
+ justify-content: flex-start;
3176
+ border: 1px solid transparent;
3177
+ background: transparent;
3178
+ color: var(--foreground);
3179
+ border-radius: 6px;
3180
+ min-height: 27px;
3181
+ padding: 0 8px;
3182
+ font-size: 12px;
3183
+ font-weight: 500;
3184
+ line-height: 1.1;
3185
+ }
3186
+
3187
+ .solid-row-action-button.p-button .p-button-label {
3188
+ flex: 1;
3189
+ text-align: left;
3190
+ line-height: 1.1;
3191
+ }
3192
+
3193
+ .solid-row-action-button.p-button .p-button-icon {
3194
+ font-size: 11px;
3195
+ margin-right: 6px;
3196
+ }
3197
+
3198
+ .solid-row-action-button.p-button:hover {
3199
+ background: var(--accent);
3200
+ border-color: color-mix(in srgb, var(--border) 82%, transparent);
3201
+ }
3202
+
3203
+ .solid-row-action-button.p-button:focus-visible {
3204
+ outline: none;
3205
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 24%, transparent);
3206
+ }
3207
+
3208
+ .solid-row-action-button.p-button.solid-row-action-button-danger {
3209
+ color: hsl(0 72% 45%);
3210
+ }
3211
+
3212
+ .solid-row-action-button.p-button.solid-row-action-button-danger:hover {
3213
+ background: color-mix(in srgb, hsl(0 72% 45%) 11%, transparent);
3214
+ border-color: color-mix(in srgb, hsl(0 72% 45%) 40%, transparent);
3215
+ }
3216
+
3217
+ .solid-inline-row-button.p-button {
3218
+ min-height: 28px;
3219
+ border-radius: 8px;
3220
+ border: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
3221
+ background: transparent;
3222
+ color: var(--foreground);
3223
+ font-size: 12px;
3224
+ font-weight: 500;
3225
+ padding: 0 9px;
3226
+ }
3227
+
3228
+ .solid-inline-row-button.p-button:hover {
3229
+ background: var(--accent);
3230
+ border-color: color-mix(in srgb, var(--border) 78%, transparent);
3231
+ }
3232
+
3233
+ .solid-inline-row-button.solid-inline-row-button-icon.p-button {
3234
+ width: 28px;
3235
+ min-width: 28px;
3236
+ padding: 0;
3237
+ justify-content: center;
3238
+ }
3239
+
3240
+ /* ── SolidX Studio Mode ───────────────────────────────────────────────────── */
3241
+
3242
+ /* Global studio header — fixed full-width bar at top, z-index above everything */
3243
+ .solid-studio-header {
3244
+ position: fixed;
3245
+ top: 0;
3246
+ left: 0;
3247
+ right: 0;
3248
+ height: 44px;
3249
+ display: flex;
3250
+ align-items: center;
3251
+ justify-content: space-between;
3252
+ padding: 0 16px;
3253
+ background: #722ED1;
3254
+ color: #ffffff;
3255
+ z-index: 999999;
3256
+ gap: 12px;
3257
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
3258
+ }
3259
+
3260
+ .solid-studio-header-brand {
3261
+ display: flex;
3262
+ align-items: center;
3263
+ gap: 8px;
3264
+ font-size: 13px;
3265
+ font-weight: 600;
3266
+ letter-spacing: 0.01em;
3267
+ flex-shrink: 0;
3268
+ background: none;
3269
+ border: none;
3270
+ color: inherit;
3271
+ cursor: pointer;
3272
+ padding: 0;
3273
+ font-family: inherit;
3274
+ opacity: 1;
3275
+ transition: opacity 0.15s;
3276
+ }
3277
+
3278
+ .solid-studio-header-brand:hover {
3279
+ opacity: 0.8;
3280
+ }
3281
+
3282
+ .solid-studio-header-nav {
3283
+ display: flex;
3284
+ align-items: center;
3285
+ gap: 4px;
3286
+ }
3287
+
3288
+ .solid-studio-view-btn {
3289
+ display: inline-flex;
3290
+ align-items: center;
3291
+ font-size: 12px;
3292
+ font-weight: 500;
3293
+ font-family: inherit;
3294
+ padding: 0 14px;
3295
+ height: 28px;
3296
+ background: transparent;
3297
+ color: var(--primary-foreground);
3298
+ border: 1px solid rgba(255, 255, 255, 0.2);
3299
+ border-radius: 6px;
3300
+ cursor: pointer;
3301
+ transition: background 0.15s, border-color 0.15s;
3302
+ opacity: 0.75;
3303
+ }
3304
+
3305
+ .solid-studio-view-btn:hover {
3306
+ background: rgba(255, 255, 255, 0.12);
3307
+ opacity: 1;
3308
+ }
3309
+
3310
+ .solid-studio-view-btn.active {
3311
+ background: rgba(255, 255, 255, 0.2);
3312
+ border-color: rgba(255, 255, 255, 0.45);
3313
+ opacity: 1;
3314
+ }
3315
+
3316
+ .solid-studio-header-actions {
3317
+ display: flex;
3318
+ align-items: center;
3319
+ gap: 8px;
3320
+ flex-shrink: 0;
3321
+ }
3322
+
3323
+ /* Fixed AI chat panel — starts below the studio header */
3324
+ .solid-studio-panel-fixed {
3325
+ position: fixed;
3326
+ top: 44px;
3327
+ right: 0;
3328
+ width: 420px;
3329
+ height: calc(100vh - 44px);
3330
+ display: flex;
3331
+ flex-direction: column;
3332
+ border-left: 1px solid var(--border);
3333
+ background: var(--background);
3334
+ z-index: 1050;
3335
+ box-shadow: -4px 0 24px rgba(0, 0, 0, 0.08);
3336
+ transform: translateX(0);
3337
+ transition: transform 220ms ease;
3338
+ }
3339
+
3340
+ .solid-studio-panel-fixed.collapsed {
3341
+ transform: translateX(100%);
3342
+ }
3343
+
3344
+ .solid-studio-panel-body {
3345
+ flex: 1;
3346
+ min-height: 0;
3347
+ display: flex;
3348
+ flex-direction: column;
3349
+ overflow: hidden;
3350
+ }
3351
+
3352
+ .solid-studio-bar-badge {
3353
+ display: inline-flex;
3354
+ align-items: center;
3355
+ font-size: 10px;
3356
+ font-weight: 700;
3357
+ letter-spacing: 0.08em;
3358
+ text-transform: uppercase;
3359
+ padding: 2px 6px;
3360
+ background: rgba(255, 255, 255, 0.18);
3361
+ border-radius: 4px;
3362
+ }
3363
+
3364
+ /* 3-dot menu */
3365
+ .solid-studio-menu {
3366
+ position: relative;
3367
+ }
3368
+
3369
+ .solid-studio-menu-trigger {
3370
+ display: inline-flex;
3371
+ align-items: center;
3372
+ justify-content: center;
3373
+ width: 28px;
3374
+ height: 28px;
3375
+ background: transparent;
3376
+ color: var(--primary-foreground);
3377
+ /* adapts to both light (white fg) and dark (navy fg) primary backgrounds */
3378
+ border: 1px solid color-mix(in srgb, var(--primary-foreground) 25%, transparent);
3379
+ border-radius: 6px;
3380
+ cursor: pointer;
3381
+ transition: background 0.15s;
3382
+ font-family: inherit;
3383
+ }
3384
+
3385
+ .solid-studio-menu-trigger:hover {
3386
+ background: color-mix(in srgb, var(--primary-foreground) 12%, transparent);
3387
+ }
3388
+
3389
+ .solid-studio-menu-dropdown {
3390
+ position: absolute;
3391
+ top: calc(100% + 6px);
3392
+ right: 0;
3393
+ min-width: 168px;
3394
+ background: var(--card);
3395
+ border: 1px solid var(--border);
3396
+ border-radius: 8px;
3397
+ box-shadow: var(--shadow-soft);
3398
+ z-index: 1200;
3399
+ overflow: hidden;
3400
+ padding: 4px;
3401
+ }
3402
+
3403
+ .solid-studio-menu-item {
3404
+ display: flex;
3405
+ align-items: center;
3406
+ gap: 8px;
3407
+ width: 100%;
3408
+ padding: 7px 10px;
3409
+ font-size: 13px;
3410
+ font-weight: 500;
3411
+ font-family: inherit;
3412
+ background: none;
3413
+ border: none;
3414
+ border-radius: 6px;
3415
+ color: var(--card-foreground);
3416
+ cursor: pointer;
3417
+ text-align: left;
3418
+ transition: background 0.12s, color 0.12s;
3419
+ }
3420
+
3421
+ .solid-studio-menu-item:hover {
3422
+ background: var(--accent);
3423
+ color: var(--accent-foreground);
3424
+ }
3425
+
3426
+ /* danger uses a literal red that reads well on --card in both light and dark */
3427
+ .solid-studio-menu-item.danger {
3428
+ color: #ef4444;
3429
+ }
3430
+
3431
+ .solid-studio-menu-item.danger:hover {
3432
+ background: color-mix(in srgb, #ef4444 12%, var(--card));
3433
+ color: #ef4444;
3434
+ }
3435
+
3436
+ .solid-studio-panel-toggle-btn {
3437
+ display: inline-flex;
3438
+ align-items: center;
3439
+ justify-content: center;
3440
+ width: 28px;
3441
+ height: 28px;
3442
+ background: transparent;
3443
+ color: var(--primary-foreground);
3444
+ border: 1px solid rgba(255, 255, 255, 0.2);
3445
+ border-radius: 6px;
3446
+ cursor: pointer;
3447
+ transition: background 0.15s;
3448
+ flex-shrink: 0;
3449
+ }
3450
+
3451
+ .solid-studio-panel-toggle-btn:hover {
3452
+ background: rgba(255, 255, 255, 0.15);
3453
+ }
3454
+
3455
+ /* Drag handle on the left edge of the panel */
3456
+ .solid-studio-resize-handle {
3457
+ position: absolute;
3458
+ left: -4px;
3459
+ top: 0;
3460
+ width: 8px;
3461
+ height: 100%;
3462
+ cursor: col-resize;
3463
+ z-index: 10;
3464
+ }
3465
+
3466
+ .solid-studio-resize-handle::after {
3467
+ content: "";
3468
+ position: absolute;
3469
+ left: 3px;
3470
+ top: 50%;
3471
+ transform: translateY(-50%);
3472
+ width: 2px;
3473
+ height: 32px;
3474
+ border-radius: 2px;
3475
+ background: rgba(255, 255, 255, 0.0);
3476
+ transition: background 0.15s;
3477
+ }
3478
+
3479
+ .solid-studio-resize-handle:hover::after,
3480
+ .solid-studio-resize-handle.dragging::after {
3481
+ background: var(--primary);
3482
+ }
3483
+
3484
+ /* Studio trigger button in AdminTopHeader */
3485
+ .solid-studio-trigger-btn {
3486
+ display: inline-flex;
3487
+ align-items: center;
3488
+ gap: 6px;
3489
+ font-size: 12px;
3490
+ font-weight: 500;
3491
+ font-family: inherit;
3492
+ padding: 0 10px;
3493
+ height: 28px;
3494
+ background: var(--primary);
3495
+ color: var(--primary-foreground);
3496
+ border: none;
3497
+ border-radius: 6px;
3498
+ cursor: pointer;
3499
+ transition: opacity 0.15s;
3500
+ white-space: nowrap;
3501
+ }
3502
+
3503
+ .solid-studio-trigger-btn:hover {
3504
+ opacity: 0.85;
3505
+ }
3506
+
3507
+ /* ── Studio-active layout note ────────────────────────────────────────────────
3508
+ Layout shifts are handled via the --solid-studio-header-height CSS variable
3509
+ set on :root by SolidStudio when studio mode is active. All affected
3510
+ elements (sidebar, hotspot, admin header, shell, main) consume this variable
3511
+ directly in their base rules above — no class overrides needed. */
3512
+
3513
+ /* Studio home page — /studio */
3514
+ .solid-studio-home {
3515
+ min-height: 100%;
3516
+ display: flex;
3517
+ align-items: center;
3518
+ justify-content: center;
3519
+ padding: 48px 24px;
3520
+ }
3521
+
3522
+ .solid-studio-home-inner {
3523
+ width: 100%;
3524
+ max-width: 560px;
3525
+ display: flex;
3526
+ flex-direction: column;
3527
+ gap: 40px;
3528
+ }
3529
+
3530
+ .solid-studio-home-inner--wide {
3531
+ max-width: 840px;
3532
+ }
3533
+
3534
+ .solid-studio-home-inner--wider {
3535
+ max-width: 1080px;
3536
+ }
3537
+
3538
+ /* Landing page overrides — top-aligned, full-width, scrollable */
3539
+ .solid-studio-home--top {
3540
+ align-items: flex-start;
3541
+ justify-content: flex-start;
3542
+ padding: 28px 24px;
3543
+ height: calc(100vh - var(--solid-studio-header-height, 0px));
3544
+ overflow-y: auto;
3545
+ }
3546
+
3547
+ .solid-studio-home-inner--fluid {
3548
+ max-width: 100%;
3549
+ gap: 20px;
3550
+ }
3551
+
3552
+ /* Auto-fill: ≥5 cards per row on wide screens, shrinks gracefully */
3553
+ .solid-studio-home-cards--fluid {
3554
+ grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
3555
+ gap: 14px;
3556
+ }
3557
+
3558
+ .solid-studio-home-cards--3col {
3559
+ grid-template-columns: repeat(3, 1fr);
3560
+ }
3561
+
3562
+ @media (max-width: 860px) {
3563
+ .solid-studio-home-cards--3col {
3564
+ grid-template-columns: repeat(2, 1fr);
3565
+ }
3566
+ }
3567
+
3568
+ @media (max-width: 560px) {
3569
+ .solid-studio-home-cards--3col {
3570
+ grid-template-columns: 1fr;
3571
+ }
3572
+ }
3573
+
3574
+ .solid-studio-home-card-icon--list {
3575
+ background: color-mix(in srgb, hsl(158 64% 42%) 14%, transparent);
3576
+ color: hsl(158 64% 42%);
3577
+ border: 1px solid color-mix(in srgb, hsl(158 64% 42%) 22%, transparent);
3578
+ }
3579
+
3580
+ .solid-studio-home-card-icon--kanban {
3581
+ background: color-mix(in srgb, hsl(32 95% 48%) 14%, transparent);
3582
+ color: hsl(32 95% 48%);
3583
+ border: 1px solid color-mix(in srgb, hsl(32 95% 48%) 22%, transparent);
3584
+ }
3585
+
3586
+ .solid-studio-home-card-icon--form {
3587
+ background: color-mix(in srgb, hsl(270 65% 58%) 14%, transparent);
3588
+ color: hsl(270 65% 58%);
3589
+ border: 1px solid color-mix(in srgb, hsl(270 65% 58%) 22%, transparent);
3590
+ }
3591
+
3592
+ .solid-studio-home-card-icon--tree {
3593
+ background: color-mix(in srgb, hsl(199 89% 48%) 14%, transparent);
3594
+ color: hsl(199 89% 48%);
3595
+ border: 1px solid color-mix(in srgb, hsl(199 89% 48%) 22%, transparent);
3596
+ }
3597
+
3598
+ .solid-studio-home-card-icon--settings {
3599
+ background: color-mix(in srgb, hsl(215 25% 52%) 14%, transparent);
3600
+ color: hsl(215 25% 52%);
3601
+ border: 1px solid color-mix(in srgb, hsl(215 25% 52%) 22%, transparent);
3602
+ }
3603
+
3604
+ .solid-studio-home-card-thumb {
3605
+ width: 100%;
3606
+ height: 100%;
3607
+ display: block;
3608
+ }
3609
+
3610
+ /* Toolbar: title+subtitle on the left, toggle buttons on the right */
3611
+ .solid-studio-home-toolbar {
3612
+ display: flex;
3613
+ align-items: center;
3614
+ justify-content: space-between;
3615
+ gap: 16px;
3616
+ flex-wrap: wrap;
3617
+ }
3618
+
3619
+ .solid-studio-home-toolbar-left {
3620
+ display: flex;
3621
+ flex-direction: column;
3622
+ gap: 4px;
3623
+ }
3624
+
3625
+ .solid-studio-home-toolbar-right {
3626
+ display: flex;
3627
+ align-items: center;
3628
+ gap: 4px;
3629
+ }
3630
+
3631
+ .solid-studio-home-view-btn {
3632
+ display: inline-flex;
3633
+ align-items: center;
3634
+ justify-content: center;
3635
+ width: 32px;
3636
+ height: 32px;
3637
+ border-radius: 8px;
3638
+ border: 1px solid var(--border);
3639
+ background: transparent;
3640
+ color: var(--muted-foreground);
3641
+ cursor: pointer;
3642
+ transition: background 0.15s, color 0.15s, border-color 0.15s;
3643
+ font-family: inherit;
3644
+ padding: 0;
3645
+ }
3646
+
3647
+ .solid-studio-home-view-btn:hover {
3648
+ background: var(--accent);
3649
+ color: var(--accent-foreground);
3650
+ }
3651
+
3652
+ .solid-studio-home-view-btn--active {
3653
+ background: color-mix(in srgb, var(--primary) 12%, transparent);
3654
+ color: var(--primary);
3655
+ border-color: color-mix(in srgb, var(--primary) 28%, transparent);
3656
+ }
3657
+
3658
+ /* Heading area */
3659
+ .solid-studio-home-heading {
3660
+ text-align: center;
3661
+ display: flex;
3662
+ flex-direction: column;
3663
+ align-items: center;
3664
+ gap: 4px;
3665
+ }
3666
+
3667
+ .solid-studio-home-badge {
3668
+ display: inline-flex;
3669
+ align-items: center;
3670
+ font-size: 9px;
3671
+ font-weight: 700;
3672
+ letter-spacing: 0.05em;
3673
+ text-transform: uppercase;
3674
+ padding: 1px 6px;
3675
+ border-radius: 999px;
3676
+ background: color-mix(in srgb, var(--primary) 12%, transparent);
3677
+ color: var(--primary);
3678
+ border: 1px solid color-mix(in srgb, var(--primary) 22%, transparent);
3679
+ width: 105px;
3680
+ margin: auto;
3681
+ }
3682
+
3683
+ .solid-studio-home-heading h1 {
3684
+ font-size: 16px;
3685
+ font-weight: 600;
3686
+ color: var(--foreground);
3687
+ margin: 0;
3688
+ line-height: 1.3;
3689
+ letter-spacing: -0.01em;
3690
+ }
3691
+
3692
+ .solid-studio-home-heading p {
3693
+ font-size: 12.5px;
3694
+ color: var(--muted-foreground);
3695
+ margin: 0;
3696
+ }
3697
+
3698
+ /* List view */
3699
+ .solid-studio-home-cards--list {
3700
+ display: flex;
3701
+ flex-direction: column;
3702
+ gap: 8px;
3703
+ }
3704
+
3705
+ .solid-studio-home-card--list {
3706
+ flex-direction: row;
3707
+ align-items: center;
3708
+ border-radius: 10px;
3709
+ padding: 0;
3710
+ }
3711
+
3712
+ .solid-studio-home-card--list .solid-studio-home-card-image-wrap {
3713
+ display: none;
3714
+ }
3715
+
3716
+ .solid-studio-home-card--list .solid-studio-home-card-body {
3717
+ flex-direction: row;
3718
+ align-items: center;
3719
+ gap: 14px;
3720
+ padding: 12px 16px;
3721
+ }
3722
+
3723
+ .solid-studio-home-card--list .solid-studio-home-card-icon {
3724
+ width: 36px;
3725
+ height: 36px;
3726
+ border-radius: 9px;
3727
+ flex-shrink: 0;
3728
+ }
3729
+
3730
+ .solid-studio-home-card--list .solid-studio-home-card-content {
3731
+ flex-direction: row;
3732
+ align-items: baseline;
3733
+ gap: 10px;
3734
+ flex: 1;
3735
+ flex-wrap: wrap;
3736
+ }
3737
+
3738
+ .solid-studio-home-card--list .solid-studio-home-card-title {
3739
+ font-size: 13px;
3740
+ }
3741
+
3742
+ .solid-studio-home-card--list .solid-studio-home-card-desc {
3743
+ font-size: 11.5px;
3744
+ }
3745
+
3746
+ /* Cards grid */
3747
+ .solid-studio-home-cards {
3748
+ display: grid;
3749
+ gap: 20px;
3750
+ }
3751
+
3752
+ .solid-studio-home-cards--2col {
3753
+ grid-template-columns: repeat(2, 1fr);
3754
+ }
3755
+
3756
+ /* Card base */
3757
+ .solid-studio-home-card {
3758
+ display: flex;
3759
+ flex-direction: column;
3760
+ align-items: stretch;
3761
+ gap: 0;
3762
+ padding: 0;
3763
+ background: var(--card);
3764
+ border: 1px solid var(--border);
3765
+ border-radius: 14px;
3766
+ cursor: pointer;
3767
+ text-align: left;
3768
+ overflow: hidden;
3769
+ transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
3770
+ font-family: inherit;
3771
+ }
3772
+
3773
+ .solid-studio-home-card:hover {
3774
+ border-color: var(--primary);
3775
+ box-shadow: 0 4px 24px color-mix(in srgb, var(--primary) 16%, transparent), 0 0 0 3px color-mix(in srgb, var(--primary) 10%, transparent);
3776
+ transform: translateY(-2px);
3777
+ }
3778
+
3779
+ /* Card body (icon-only layout) */
3780
+ .solid-studio-home-card-body {
3781
+ display: flex;
3782
+ flex-direction: column;
3783
+ gap: 10px;
3784
+ padding: 16px;
3785
+ flex: 1;
3786
+ }
3787
+
3788
+ /* Colored icon badge */
3789
+ .solid-studio-home-card-icon {
3790
+ display: inline-flex;
3791
+ align-items: center;
3792
+ justify-content: center;
3793
+ width: 36px;
3794
+ height: 36px;
3795
+ border-radius: 9px;
3796
+ flex-shrink: 0;
3797
+ }
3798
+
3799
+ .solid-studio-home-card-icon--backend {
3800
+ background: color-mix(in srgb, #722ED1 12%, transparent);
3801
+ color: #722ED1;
3802
+ border: 1px solid color-mix(in srgb, #722ED1 22%, transparent);
3803
+ }
3804
+
3805
+ .solid-studio-home-card-icon--frontend {
3806
+ background: color-mix(in srgb, #9043e0 12%, transparent);
3807
+ color: #9043e0;
3808
+ border: 1px solid color-mix(in srgb, #9043e0 22%, transparent);
3809
+ }
3810
+
3811
+ /* Text content */
3812
+ .solid-studio-home-card-content {
3813
+ display: flex;
3814
+ flex-direction: column;
3815
+ gap: 5px;
3816
+ flex: 1;
3817
+ }
3818
+
3819
+ .solid-studio-home-card-title {
3820
+ font-size: 13px;
3821
+ font-weight: 600;
3822
+ color: var(--foreground);
3823
+ line-height: 1.3;
3824
+ }
3825
+
3826
+ .solid-studio-home-card-desc {
3827
+ font-size: 12px;
3828
+ color: var(--muted-foreground);
3829
+ line-height: 1.5;
3830
+ }
3831
+
3832
+ /* CTA row */
3833
+ .solid-studio-home-card-cta {
3834
+ display: inline-flex;
3835
+ align-items: center;
3836
+ gap: 4px;
3837
+ font-size: 12px;
3838
+ font-weight: 600;
3839
+ color: var(--primary);
3840
+ opacity: 0.7;
3841
+ transition: opacity 0.15s, gap 0.15s;
3842
+ }
3843
+
3844
+ .solid-studio-home-card:hover .solid-studio-home-card-cta {
3845
+ opacity: 1;
3846
+ gap: 7px;
3847
+ }
3848
+
3849
+ /* Studio landing placeholder page — /landing default */
3850
+ .solid-studio-landing {
3851
+ min-height: 100%;
3852
+ display: flex;
3853
+ align-items: center;
3854
+ justify-content: center;
3855
+ padding: 48px 24px;
3856
+ }
3857
+
3858
+ .solid-studio-landing-inner {
3859
+ width: 100%;
3860
+ max-width: 480px;
3861
+ display: flex;
3862
+ flex-direction: column;
3863
+ align-items: center;
3864
+ gap: 16px;
3865
+ text-align: center;
3866
+ }
3867
+
3868
+ .solid-studio-landing-icon {
3869
+ width: 52px;
3870
+ height: 52px;
3871
+ border-radius: 12px;
3872
+ background: var(--muted);
3873
+ display: grid;
3874
+ place-items: center;
3875
+ color: var(--muted-foreground);
3876
+ }
3877
+
3878
+ .solid-studio-landing-title {
3879
+ font-size: 18px;
3880
+ font-weight: 600;
3881
+ color: var(--foreground);
3882
+ margin: 0;
3883
+ }
3884
+
3885
+ .solid-studio-landing-desc {
3886
+ font-size: 14px;
3887
+ color: var(--muted-foreground);
3888
+ margin: 0;
3889
+ line-height: 1.6;
3890
+ }
3891
+
3892
+ .solid-studio-landing-desc code {
3893
+ font-family: monospace;
3894
+ font-size: 13px;
3895
+ background: var(--muted);
3896
+ padding: 1px 5px;
3897
+ border-radius: 4px;
3898
+ color: var(--foreground);
3899
+ }
3900
+
3901
+ .solid-studio-landing-snippet {
3902
+ width: 100%;
3903
+ background: color-mix(in srgb, var(--foreground) 5%, var(--card));
3904
+ border: 1px solid var(--border);
3905
+ border-radius: 10px;
3906
+ padding: 16px 18px;
3907
+ text-align: left;
3908
+ }
3909
+
3910
+ .solid-studio-landing-snippet pre {
3911
+ margin: 0;
3912
+ font-family: ui-monospace, "Cascadia Code", monospace;
3913
+ font-size: 12.5px;
3914
+ line-height: 1.7;
3915
+ color: var(--foreground);
3916
+ white-space: pre;
3917
+ overflow-x: auto;
3918
+ }
3919
+
3920
+ .solid-studio-landing-hint {
3921
+ font-size: 12px;
3922
+ color: var(--muted-foreground);
3923
+ margin: 0;
3924
+ opacity: 0.8;
3925
+ }
3926
+
3927
+ .solid-studio-landing-hint code {
3928
+ font-family: ui-monospace, "Cascadia Code", monospace;
3929
+ font-size: 11.5px;
3930
+ background: color-mix(in srgb, var(--primary) 8%, var(--card));
3931
+ border: 1px solid color-mix(in srgb, var(--primary) 15%, transparent);
3932
+ padding: 1px 5px;
3933
+ border-radius: 4px;
3934
+ color: var(--primary);
3935
+ }
3936
+
3937
+ .solid-studio-landing-empty {
3938
+ display: flex;
3939
+ flex-direction: column;
3940
+ align-items: center;
3941
+ gap: 20px;
3942
+ padding: 64px 24px 48px;
3943
+ text-align: center;
3944
+ width: 100%;
3945
+ max-width: 520px;
3946
+ margin: 0 auto;
3947
+ }
3948
+
3949
+ .solid-studio-landing-empty-icon {
3950
+ display: flex;
3951
+ align-items: center;
3952
+ justify-content: center;
3953
+ width: 60px;
3954
+ height: 60px;
3955
+ border-radius: 16px;
3956
+ background: var(--accent);
3957
+ color: var(--accent-foreground);
3958
+ flex-shrink: 0;
3959
+ }
3960
+
3961
+ .solid-studio-landing-empty-text {
3962
+ display: flex;
3963
+ flex-direction: column;
3964
+ gap: 8px;
3965
+ }
3966
+
3967
+ .solid-studio-landing-empty-title {
3968
+ font-size: 18px;
3969
+ font-weight: 700;
3970
+ color: var(--foreground);
3971
+ margin: 0;
3972
+ letter-spacing: -0.01em;
3973
+ }
3974
+
3975
+ .solid-studio-landing-empty-desc {
3976
+ font-size: 14px;
3977
+ color: var(--muted-foreground);
3978
+ margin: 0;
3979
+ line-height: 1.65;
3980
+ max-width: 380px;
3981
+ }
3982
+
3983
+ .solid-studio-landing-empty-desc code {
3984
+ font-family: ui-monospace, "Cascadia Code", monospace;
3985
+ font-size: 12px;
3986
+ background: color-mix(in srgb, var(--primary) 8%, var(--card));
3987
+ border: 1px solid color-mix(in srgb, var(--primary) 15%, transparent);
3988
+ padding: 1px 6px;
3989
+ border-radius: 4px;
3990
+ color: var(--primary);
3991
+ white-space: nowrap;
3992
+ }
3993
+
3994
+ /* --- Studio Empty State & Card Styles --- */
3995
+
3996
+ .solid-studio-card {
3997
+ background-color: var(--card);
3998
+ color: var(--card-foreground);
3999
+ border: 1px solid var(--border);
4000
+ border-radius: 12px;
4001
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
4002
+ overflow: hidden;
4003
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
4004
+ }
4005
+
4006
+ .solid-studio-card-header {
4007
+ padding: 24px 24px 16px;
4008
+ display: flex;
4009
+ flex-direction: column;
4010
+ }
4011
+
4012
+ .solid-studio-card-title {
4013
+ font-size: 20px;
4014
+ font-weight: 700;
4015
+ color: var(--foreground);
4016
+ margin: 0 0 8px;
4017
+ letter-spacing: -0.02em;
4018
+ }
4019
+
4020
+ .solid-studio-card-description {
4021
+ font-size: 14px;
4022
+ color: var(--muted-foreground);
4023
+ margin: 0;
4024
+ line-height: 1.5;
4025
+ }
4026
+
4027
+ .solid-studio-card-content {
4028
+ padding: 0 24px 24px;
4029
+ }
4030
+
4031
+ .solid-studio-card-footer {
4032
+ padding: 16px 24px;
4033
+ border-top: 1px solid var(--border);
4034
+ background-color: color-mix(in srgb, var(--card) 97%, var(--foreground));
4035
+ }
4036
+
4037
+ .solid-studio-landing-empty-container {
4038
+ display: flex;
4039
+ justify-content: center;
4040
+ align-items: center;
4041
+ padding: 48px 24px;
4042
+ min-height: 500px;
4043
+ }
4044
+
4045
+ .solid-studio-landing-empty-card {
4046
+ max-width: 560px;
4047
+ width: 100%;
4048
+ text-align: center;
4049
+ }
4050
+
4051
+ .solid-studio-landing-empty-header {
4052
+ align-items: center;
4053
+ }
4054
+
4055
+ .solid-studio-landing-empty-icon-box {
4056
+ width: 64px;
4057
+ height: 64px;
4058
+ border-radius: 16px;
4059
+ background-color: color-mix(in srgb, var(--primary) 10%, transparent);
4060
+ color: var(--primary);
4061
+ display: flex;
4062
+ align-items: center;
4063
+ justify-content: center;
4064
+ margin-bottom: 20px;
4065
+ }
4066
+
4067
+ .solid-studio-landing-empty-icon-box svg {
4068
+ width: 32px;
4069
+ height: 32px;
4070
+ opacity: 0.8;
4071
+ }
4072
+
4073
+ .solid-studio-landing-empty-primary-action {
4074
+ background-color: color-mix(in srgb, var(--primary) 5%, transparent);
4075
+ border: 1px dashed color-mix(in srgb, var(--primary) 30%, transparent);
4076
+ border-radius: 12px;
4077
+ padding: 24px;
4078
+ margin-bottom: 24px;
4079
+ display: flex;
4080
+ flex-direction: column;
4081
+ align-items: center;
4082
+ gap: 16px;
4083
+ }
4084
+
4085
+ .solid-studio-landing-empty-primary-action p {
4086
+ margin: 0;
4087
+ font-size: 14px;
4088
+ color: var(--foreground);
4089
+ }
4090
+
4091
+ .solid-studio-empty-cta-button {
4092
+ display: inline-flex;
4093
+ align-items: center;
4094
+ gap: 10px;
4095
+ height: 44px;
4096
+ padding: 0 20px;
4097
+ background-color: var(--primary);
4098
+ color: var(--primary-foreground);
4099
+ border: none;
4100
+ border-radius: 10px;
4101
+ font-size: 14px;
4102
+ font-weight: 600;
4103
+ cursor: pointer;
4104
+ transition: all 0.2s ease;
4105
+ box-shadow: 0 4px 10px color-mix(in srgb, var(--primary) 25%, transparent);
4106
+ }
4107
+
4108
+ .solid-studio-empty-cta-button:hover {
4109
+ background-color: color-mix(in srgb, var(--primary) 90%, black);
4110
+ transform: translateY(-2px);
4111
+ box-shadow: 0 6px 15px color-mix(in srgb, var(--primary) 35%, transparent);
4112
+ }
4113
+
4114
+ .solid-studio-empty-cta-button:active {
4115
+ transform: translateY(0);
4116
+ }
4117
+
4118
+ .solid-studio-landing-empty-divider {
4119
+ height: 1px;
4120
+ background-color: var(--border);
4121
+ margin: 24px 0;
4122
+ position: relative;
4123
+ }
4124
+
4125
+ .solid-studio-landing-empty-details {
4126
+ text-align: left;
4127
+ }
4128
+
4129
+ .solid-studio-landing-empty-instruction {
4130
+ font-size: 13px;
4131
+ color: var(--muted-foreground);
4132
+ margin-bottom: 12px;
4133
+ }
4134
+
4135
+ .solid-studio-landing-snippet {
4136
+ background-color: #0f172a;
4137
+ border-radius: 8px;
4138
+ padding: 16px;
4139
+ margin: 12px 0;
4140
+ font-family: 'JetBrains Mono', 'Fira Code', monospace;
4141
+ font-size: 12px;
4142
+ line-height: 1.6;
4143
+ color: #e2e8f0 !important;
4144
+ overflow-x: auto;
4145
+ border: 1px solid #1e293b;
4146
+ text-align: left;
4147
+ }
4148
+
4149
+ .solid-studio-landing-snippet pre,
4150
+ .solid-studio-landing-snippet code {
4151
+ margin: 0;
4152
+ color: inherit !important;
4153
+ font-family: inherit;
4154
+ background: transparent !important;
4155
+ padding: 0 !important;
4156
+ }
4157
+
4158
+ .solid-studio-landing-hint {
4159
+ font-size: 12px;
4160
+ color: var(--muted-foreground);
4161
+ background-color: var(--accent);
4162
+ padding: 8px 12px;
4163
+ border-radius: 6px;
4164
+ margin-top: 16px;
4165
+ }
4166
+
4167
+ .solid-studio-landing-hint code {
4168
+ background-color: color-mix(in srgb, var(--foreground) 10%, transparent);
4169
+ padding: 2px 4px;
4170
+ border-radius: 4px;
4171
+ }