@runfusion/fusion 0.44.0 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/README.md +2 -1
  2. package/dist/bin.js +6902 -2143
  3. package/dist/client/.vite/manifest.json +1115 -328
  4. package/dist/client/assets/AgentDetailView-CgbB51Iw.css +1 -0
  5. package/dist/client/assets/AgentDetailView-DJTi6hKC.js +18 -0
  6. package/dist/client/assets/{AgentPermissionPolicyEditor--YS4iMUY.js → AgentPermissionPolicyEditor-C5DR9dUS.js} +2 -2
  7. package/dist/client/assets/AgentsView-BNd90PSx.js +29 -0
  8. package/dist/client/assets/AgentsView-CzMa5Olf.css +1 -0
  9. package/dist/client/assets/ChatView-B7JaZCL_.js +19 -0
  10. package/dist/client/assets/ChatView-BtjkE0V7.css +1 -0
  11. package/dist/client/assets/CommandCenter-CHO21xEW.js +74 -0
  12. package/dist/client/assets/CommandCenter-Xs5Ftv8s.css +1 -0
  13. package/dist/client/assets/DevServerView-B_p91Mj_.css +1 -0
  14. package/dist/client/assets/DevServerView-H9OkT1ld.js +1 -0
  15. package/dist/client/assets/DirectoryPicker-DegxT8ia.js +1 -0
  16. package/dist/client/assets/DocumentsView-kVVQYISc.js +1 -0
  17. package/dist/client/assets/EvalsView-C9-iTSat.js +1 -0
  18. package/dist/client/assets/EvalsView-CTbgPUne.css +1 -0
  19. package/dist/client/assets/ExperimentalAgentOnboardingModal-3ZEFv8sr.css +1 -0
  20. package/dist/client/assets/ExperimentalAgentOnboardingModal-DjP_xNkc.js +1 -0
  21. package/dist/client/assets/GoalsView-CUh8JBnJ.css +1 -0
  22. package/dist/client/assets/GoalsView-VoIHJJ5l.js +2 -0
  23. package/dist/client/assets/InsightsView-BIZaUcpd.js +11 -0
  24. package/dist/client/assets/InsightsView-C7yRTMPn.css +1 -0
  25. package/dist/client/assets/MemoryView-7v7rv6ns.js +2 -0
  26. package/dist/client/assets/MemoryView-CBDUr2Jy.css +1 -0
  27. package/dist/client/assets/PiExtensionsManager-CB89rV4U.js +11 -0
  28. package/dist/client/assets/PluginManager-BNSuW_R4.js +1 -0
  29. package/dist/client/assets/PullRequestView-CI5jdKBL.js +6 -0
  30. package/dist/client/assets/PullRequestView-CpdE3Yo_.css +1 -0
  31. package/dist/client/assets/ResearchView-BT5dR_m8.js +1 -0
  32. package/dist/client/assets/ResearchView-DIVNQF4_.css +1 -0
  33. package/dist/client/assets/SecretsView-CvFioX7R.css +1 -0
  34. package/dist/client/assets/SecretsView-WPYI58Uo.js +1 -0
  35. package/dist/client/assets/SessionTerminal-C6gyOWLt.js +2 -0
  36. package/dist/client/assets/SessionTerminal-D4R3ScvQ.css +1 -0
  37. package/dist/client/assets/SettingsModal-BESN59Ao.css +1 -0
  38. package/dist/client/assets/SettingsModal-BZokaNyx.css +1 -0
  39. package/dist/client/assets/SettingsModal-Bq_3AbaB.js +1 -0
  40. package/dist/client/assets/SettingsModal-JHACoQJe.js +21 -0
  41. package/dist/client/assets/SetupWizardModal-CrgbnR_d.js +2 -0
  42. package/dist/client/assets/ShadcnColorPicker-1icHuwhC.js +11 -0
  43. package/dist/client/assets/ShadcnColorPicker-pqVWCC5-.css +1 -0
  44. package/dist/client/assets/SkillsView-CJ8snrma.css +1 -0
  45. package/dist/client/assets/SkillsView-byuSe3e0.js +1 -0
  46. package/dist/client/assets/TodoView-CIsL_uvQ.css +1 -0
  47. package/dist/client/assets/TodoView-CQ9GjYBg.js +6 -0
  48. package/dist/client/assets/WorkflowNodeEditor-DW7sJZUX.js +8 -0
  49. package/dist/client/assets/WorkflowNodeEditor-f_XPV5Jd.css +1 -0
  50. package/dist/client/assets/{addon-fit-SnYDEvGm.js → addon-fit-C1WQXRvu.js} +1 -1
  51. package/dist/client/assets/{addon-unicode11-s5GoZCpi.js → addon-unicode11-BVmNDUBM.js} +1 -1
  52. package/dist/client/assets/{addon-web-links-jjt2f_oV.js → addon-web-links-CkVew5xs.js} +1 -1
  53. package/dist/client/assets/{addon-webgl-Icn-RnEx.js → addon-webgl-uLc0RKcC.js} +1 -1
  54. package/dist/client/assets/agentSkills-CeytXLHF.js +1 -0
  55. package/dist/client/assets/{ExperimentalAgentOnboardingModal-CZ_jbgep.css → agentSkills-bQJ4X1gH.css} +1 -1
  56. package/dist/client/assets/agentsOrgChartLayout-BMvyuaLA.js +1 -0
  57. package/dist/client/assets/app-3wbZ08YC.js +13 -0
  58. package/dist/client/assets/app-7-5DWLtg.js +13 -0
  59. package/dist/client/assets/app-CSvE5Noc.js +13 -0
  60. package/dist/client/assets/app-CZ2LTFce.js +13 -0
  61. package/dist/client/assets/app-Cv9xEnll.js +13 -0
  62. package/dist/client/assets/app-x_yPcO5Y.js +13 -0
  63. package/dist/client/assets/arc-cxkkNsnK.js +1 -0
  64. package/dist/client/assets/architectureDiagram-3BPJPVTR-BRI0QwDf.js +36 -0
  65. package/dist/client/assets/band-CquvqAHh.js +1 -0
  66. package/dist/client/assets/blockDiagram-GPEHLZMM-BXkN8Hv_.js +132 -0
  67. package/dist/client/assets/c4Diagram-AAUBKEIU-C_Kcokep.js +10 -0
  68. package/dist/client/assets/channel-Clzpzu32.js +1 -0
  69. package/dist/client/assets/chunk-2J33WTMH-BGeuCz9C.js +1 -0
  70. package/dist/client/assets/chunk-4BX2VUAB-DcVdctr0.js +1 -0
  71. package/dist/client/assets/chunk-55IACEB6-Dg6gDigQ.js +1 -0
  72. package/dist/client/assets/chunk-727SXJPM-B9B-vlEb.js +206 -0
  73. package/dist/client/assets/chunk-AQP2D5EJ-LrWQ-2yi.js +231 -0
  74. package/dist/client/assets/chunk-FMBD7UC4-Bnd6hAED.js +15 -0
  75. package/dist/client/assets/chunk-ND2GUHAM-nAw93UB5.js +1 -0
  76. package/dist/client/assets/chunk-QZHKN3VN-CgprKcZo.js +1 -0
  77. package/dist/client/assets/classDiagram-4FO5ZUOK-CzYHP-af.js +1 -0
  78. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CzYHP-af.js +1 -0
  79. package/dist/client/assets/common-BDp2y6CF.js +1 -0
  80. package/dist/client/assets/common-BnEo5fLN.js +1 -0
  81. package/dist/client/assets/common-Bzr_Y8h4.js +1 -0
  82. package/dist/client/assets/common-CvwyFzfv.js +1 -0
  83. package/dist/client/assets/common-CztCXRkz.js +1 -0
  84. package/dist/client/assets/common-DPe2mbb7.js +1 -0
  85. package/dist/client/assets/cose-bilkent-S5V4N54A-Bhn0g_iK.js +1 -0
  86. package/dist/client/assets/cytoscape.esm-OyMbaexL.js +331 -0
  87. package/dist/client/assets/dagre-BM42HDAG-CP4kfwqd.js +4 -0
  88. package/dist/client/assets/{dashboard-view-B4LXCv5H.js → dashboard-view-CM6Xin_H.js} +1680 -1620
  89. package/dist/client/assets/dashboard-view-DV1nEhh9.js +1 -0
  90. package/dist/client/assets/dashboard-view-D_zsA-kz.css +1 -0
  91. package/dist/client/assets/defaultLocale-DX6XiGOO.js +1 -0
  92. package/dist/client/assets/diagram-2AECGRRQ-DPhzVEUf.js +43 -0
  93. package/dist/client/assets/diagram-5GNKFQAL-8QOC3K_L.js +10 -0
  94. package/dist/client/assets/diagram-KO2AKTUF-C1twgEch.js +3 -0
  95. package/dist/client/assets/diagram-LMA3HP47-3bEegSuf.js +24 -0
  96. package/dist/client/assets/diagram-OG6HWLK6-BJ_x0rm6.js +24 -0
  97. package/dist/client/assets/erDiagram-TEJ5UH35-DNiiS5q6.js +85 -0
  98. package/dist/client/assets/flowDiagram-I6XJVG4X-DoouPklt.js +162 -0
  99. package/dist/client/assets/{folder-open-33WGVnbp.js → folder-open-CuUs2W7f.js} +1 -1
  100. package/dist/client/assets/ganttDiagram-6RSMTGT7-BrR6VnP5.js +292 -0
  101. package/dist/client/assets/gitGraphDiagram-PVQCEYII-BV8_J6Ee.js +106 -0
  102. package/dist/client/assets/graph--OzhPTMs.js +1 -0
  103. package/dist/client/assets/index-BZBQ_KsL.css +1 -0
  104. package/dist/client/assets/index-CZcWjLAb.js +1459 -0
  105. package/dist/client/assets/infoDiagram-5YYISTIA-DGwIIFkR.js +2 -0
  106. package/dist/client/assets/init-Dmth1JHB.js +1 -0
  107. package/dist/client/assets/ishikawaDiagram-YF4QCWOH-D5dEH4RE.js +70 -0
  108. package/dist/client/assets/journeyDiagram-JHISSGLW-BuuSWPw5.js +139 -0
  109. package/dist/client/assets/kanban-definition-UN3LZRKU-DA34uUla.js +89 -0
  110. package/dist/client/assets/katex-HP8lGamR.js +257 -0
  111. package/dist/client/assets/layout-SsrduOYp.js +1 -0
  112. package/dist/client/assets/linear-dXivciGL.js +1 -0
  113. package/dist/client/assets/mermaid.core-Ch4HatqA.js +309 -0
  114. package/dist/client/assets/mindmap-definition-RKZ34NQL-DUCG-qD3.js +96 -0
  115. package/dist/client/assets/ordinal-DILIJJjt.js +1 -0
  116. package/dist/client/assets/pieDiagram-4H26LBE5-DWvFGiLa.js +30 -0
  117. package/dist/client/assets/quadrantDiagram-W4KKPZXB-OPTVW3WT.js +7 -0
  118. package/dist/client/assets/requirementDiagram-4Y6WPE33-D7feZvlU.js +84 -0
  119. package/dist/client/assets/sankeyDiagram-5OEKKPKP-AtnSsEX1.js +40 -0
  120. package/dist/client/assets/sequenceDiagram-3UESZ5HK-BZjHUeI5.js +162 -0
  121. package/dist/client/assets/{shield-alert-CqeGWBUK.js → shield-alert-CzaF9ROV.js} +1 -1
  122. package/dist/client/assets/stateDiagram-AJRCARHV-C8j23Pvn.js +1 -0
  123. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-CiZR_S5-.js +1 -0
  124. package/dist/client/assets/step-yuy0qJer.js +1 -0
  125. package/dist/client/assets/time-DoDTxsna.js +1 -0
  126. package/dist/client/assets/timeline-definition-PNZ67QCA-DvfNz25n.js +120 -0
  127. package/dist/client/assets/{upload-C11J2diI.js → upload-DTsYywhN.js} +1 -1
  128. package/dist/client/assets/{users-a-ELbyyZ.js → users-yAd09tKP.js} +1 -1
  129. package/dist/client/assets/{vendor-i18n-DYlSUfot.js → vendor-i18n-GF3RlKbq.js} +2 -2
  130. package/dist/client/assets/{vendor-react-BTgM5bbZ.js → vendor-react-SZ_qB27O.js} +1 -1
  131. package/dist/client/assets/vendor-reactflow-Bg-Qjzh8.js +15 -0
  132. package/dist/client/assets/{vendor-xterm-ea7-K05z.js → vendor-xterm-BNq00GSj.js} +1 -1
  133. package/dist/client/assets/vennDiagram-CIIHVFJN-CG2aMt3v.js +34 -0
  134. package/dist/client/assets/wardley-L42UT6IY-BnhBteen.js +173 -0
  135. package/dist/client/assets/wardleyDiagram-YWT4CUSO-DwqTzM3T.js +78 -0
  136. package/dist/client/assets/xychartDiagram-2RQKCTM6-5Cv2ZKMV.js +7 -0
  137. package/dist/client/assets/zoom-out-NWbVkreR.js +41 -0
  138. package/dist/client/index.html +30 -10
  139. package/dist/client/sw.js +1 -1
  140. package/dist/client/theme-data.css +3082 -206
  141. package/dist/client/version.json +1 -1
  142. package/dist/droid-cli/index.ts +56 -40
  143. package/dist/droid-cli/package.json +1 -1
  144. package/dist/droid-cli/src/__tests__/index.test.ts +47 -21
  145. package/dist/droid-cli/src/__tests__/process-manager.test.ts +50 -33
  146. package/dist/extension.js +4935 -827
  147. package/dist/pi-claude-cli/package.json +1 -1
  148. package/dist/pi-claude-cli/src/__tests__/process-manager.test.ts +25 -0
  149. package/dist/pi-claude-cli/src/process-manager.ts +11 -1
  150. package/dist/plugin-sdk/index.d.ts +126 -4
  151. package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
  152. package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
  153. package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
  154. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
  155. package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
  156. package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +68 -44
  157. package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
  158. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  159. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  160. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  161. package/dist/plugins/fusion-plugin-reports/package.json +1 -1
  162. package/dist/plugins/fusion-plugin-roadmap/bundled.js +5 -11
  163. package/dist/plugins/fusion-plugin-roadmap/manifest.json +1 -11
  164. package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
  165. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
  166. package/package.json +3 -3
  167. package/skill/fusion/SKILL.md +1 -1
  168. package/skill/fusion/references/cli-commands.md +2 -1
  169. package/skill/fusion/references/extension-tools.md +10 -0
  170. package/skill/fusion/references/fusion-capabilities.md +3 -1
  171. package/dist/client/assets/AgentDetailView-CanIeYHg.css +0 -1
  172. package/dist/client/assets/AgentDetailView-DxV8pFHX.js +0 -18
  173. package/dist/client/assets/AgentsView-BVILQjdS.css +0 -1
  174. package/dist/client/assets/AgentsView-CTzbcvhK.js +0 -29
  175. package/dist/client/assets/ChatView-COygcnyk.js +0 -6
  176. package/dist/client/assets/ChatView-DwJAd5G1.css +0 -1
  177. package/dist/client/assets/CommandCenter-CTaopaC0.css +0 -1
  178. package/dist/client/assets/CommandCenter-DoKX2HWm.js +0 -56
  179. package/dist/client/assets/DevServerView-Cyevyvqx.js +0 -1
  180. package/dist/client/assets/DevServerView-VTQY28P7.css +0 -1
  181. package/dist/client/assets/DirectoryPicker-DBdyXEhR.js +0 -1
  182. package/dist/client/assets/DocumentsView-BzSMyrns.js +0 -1
  183. package/dist/client/assets/DocumentsView-WfVoTZt8.css +0 -1
  184. package/dist/client/assets/EvalsView-CUNJ1TLc.css +0 -1
  185. package/dist/client/assets/EvalsView-ikz00o9g.js +0 -1
  186. package/dist/client/assets/ExperimentalAgentOnboardingModal-D-rzCCET.js +0 -499
  187. package/dist/client/assets/GoalsView-Bfu1Oy2-.js +0 -2
  188. package/dist/client/assets/GoalsView-rg9VSIza.css +0 -1
  189. package/dist/client/assets/InsightsView-Cgmf5nES.js +0 -11
  190. package/dist/client/assets/InsightsView-LMv1M1dU.css +0 -1
  191. package/dist/client/assets/MemoryView-DkEuDKQs.js +0 -2
  192. package/dist/client/assets/MemoryView-zaXewZzi.css +0 -1
  193. package/dist/client/assets/NodesView-7VInxyf_.css +0 -1
  194. package/dist/client/assets/NodesView-B_KYfS4o.js +0 -14
  195. package/dist/client/assets/PiExtensionsManager-Dz69kkKs.js +0 -11
  196. package/dist/client/assets/PluginManager-LHCVcduP.js +0 -1
  197. package/dist/client/assets/PullRequestView-3AdbS2a1.css +0 -1
  198. package/dist/client/assets/PullRequestView-DBJutLLl.js +0 -6
  199. package/dist/client/assets/ResearchView-DTh8FLUm.css +0 -1
  200. package/dist/client/assets/ResearchView-gpn1XcVy.js +0 -1
  201. package/dist/client/assets/SecretsView-B7YqIowt.js +0 -1
  202. package/dist/client/assets/SecretsView-Djo1rahi.css +0 -1
  203. package/dist/client/assets/SessionTerminal-9l4bdKcn.js +0 -2
  204. package/dist/client/assets/SessionTerminal-BNgtmXb3.css +0 -1
  205. package/dist/client/assets/SettingsModal-BGEK9_9A.js +0 -31
  206. package/dist/client/assets/SettingsModal-CKv0TJfM.css +0 -1
  207. package/dist/client/assets/SettingsModal-CXogw-Er.css +0 -1
  208. package/dist/client/assets/SettingsModal-DIIoHGUH.js +0 -1
  209. package/dist/client/assets/SetupWizardModal-BcVeMxeX.js +0 -1
  210. package/dist/client/assets/SetupWizardModal-CIqFbkrD.css +0 -1
  211. package/dist/client/assets/SkillsView-3bhGyWs1.css +0 -1
  212. package/dist/client/assets/SkillsView-BxSJ4PHL.js +0 -1
  213. package/dist/client/assets/StashRecoveryView-B_8WIQEo.css +0 -1
  214. package/dist/client/assets/StashRecoveryView-BhFQ2FsP.js +0 -1
  215. package/dist/client/assets/TodoView-7xIh-Fmi.css +0 -1
  216. package/dist/client/assets/TodoView-BZpewjy0.js +0 -6
  217. package/dist/client/assets/WorkflowNodeEditor-Yn1FRF2v.css +0 -1
  218. package/dist/client/assets/WorkflowNodeEditor-tWsgCdVt.js +0 -8
  219. package/dist/client/assets/app-BmGA0Hiz.js +0 -13
  220. package/dist/client/assets/app-CEVYlVuJ.js +0 -13
  221. package/dist/client/assets/app-CbBFax2C.js +0 -13
  222. package/dist/client/assets/app-DORKrGAz.js +0 -13
  223. package/dist/client/assets/app-DQibuQ9z.js +0 -13
  224. package/dist/client/assets/app-k76GrQP0.js +0 -13
  225. package/dist/client/assets/common-BRyX4VxB.js +0 -1
  226. package/dist/client/assets/common-CN9QPI2d.js +0 -1
  227. package/dist/client/assets/common-CNbjPELi.js +0 -1
  228. package/dist/client/assets/common-DFDqu_n0.js +0 -1
  229. package/dist/client/assets/common-DgWWKG8Z.js +0 -1
  230. package/dist/client/assets/common-X6PzBnVA.js +0 -1
  231. package/dist/client/assets/createLucideIcon-DmVITl5d.js +0 -21
  232. package/dist/client/assets/dashboard-view-BFoyhTYF.js +0 -3
  233. package/dist/client/assets/dashboard-view-Cxzm_eqc.js +0 -1
  234. package/dist/client/assets/dashboard-view-DdGlfuu-.css +0 -1
  235. package/dist/client/assets/dashboard-view-_8yfNwju.css +0 -1
  236. package/dist/client/assets/index-Bglw05rM.js +0 -791
  237. package/dist/client/assets/index-FYgnflWD.css +0 -1
  238. package/dist/client/assets/vendor-reactflow-ZasuEfF9.js +0 -15
  239. package/dist/client/assets/x-PItWc-wQ.js +0 -61
  240. package/dist/client/assets/zoom-out-CzlHv0Kj.js +0 -21
@@ -333,6 +333,177 @@
333
333
  --accent-text: #fff;
334
334
  }
335
335
 
336
+ /*
337
+ FNXC:DashboardTheming 2026-06-19-15:39:
338
+ Air must be the calmest, flattest theme: near-monochrome tokens, a restrained blue-gray accent, a clean system sans stack, and faint color-mix borders.
339
+ The "remove unnecessary UI" requirement is intentionally CSS-only and scoped to [data-color-theme="air"] so shared DOM affordances remain present while borders, shadows, and decorative chrome flatten visually.
340
+
341
+ FNXC:DashboardTheming 2026-06-22-14:24:
342
+ Air should hide horizontal divider lines across headers, modal title bars, footers, and tab rails while preserving vertical pane dividers and component outlines. Keep this as theme CSS so the DOM and hit targets remain shared across themes.
343
+ */
344
+ [data-color-theme="air"] {
345
+ --bg: #0f1115;
346
+ --surface: #151820;
347
+ --card: #171a22;
348
+ --card-hover: color-mix(in srgb, var(--card) 92%, var(--text) 8%);
349
+ --text: #eef1f4;
350
+ --text-muted: #9aa3ad;
351
+ --border: color-mix(in srgb, var(--text) 8%, transparent);
352
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
353
+ --font-primary: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
354
+ --todo: #a5adba;
355
+ --in-progress: #b8c0cc;
356
+ --in-progress-rgb: 184, 192, 204;
357
+ --in-review: #c7ced8;
358
+ --triage: #8d96a3;
359
+ --done: #737d8a;
360
+ --color-success: #c7ced8;
361
+ --color-error: #d8a7a7;
362
+ --color-warning: #b7ad9a;
363
+ --color-info: #a8bfd8;
364
+ --cta-bg: #dbe5ef;
365
+ --cta-border: color-mix(in srgb, var(--cta-bg) 72%, transparent);
366
+ --cta-text: #111318;
367
+ --cta-bg-hover: #eef3f8;
368
+ --cta-border-hover: color-mix(in srgb, var(--cta-bg-hover) 82%, transparent);
369
+ --cta-glow: 0 0 0 transparent;
370
+ --logo-accent: var(--accent);
371
+ --accent: #a8bfd8;
372
+ --accent-text: #111318;
373
+ }
374
+
375
+ [data-color-theme="air"][data-theme="light"] {
376
+ --bg: #fbfbfa;
377
+ --surface: #ffffff;
378
+ --card: #ffffff;
379
+ --card-hover: color-mix(in srgb, var(--card) 96%, var(--text) 4%);
380
+ --text: #1f242b;
381
+ --text-muted: #69717c;
382
+ --border: color-mix(in srgb, var(--text) 8%, transparent);
383
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
384
+ --font-primary: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
385
+ --todo: #667085;
386
+ --in-progress: #4f5f73;
387
+ --in-progress-rgb: 79, 95, 115;
388
+ --in-review: #5f6f83;
389
+ --triage: #7a7368;
390
+ --done: #8a929f;
391
+ --color-success: #526273;
392
+ --color-error: #b45f5f;
393
+ --color-warning: #8a7760;
394
+ --color-info: #536b86;
395
+ --cta-bg: #26313d;
396
+ --cta-border: color-mix(in srgb, var(--cta-bg) 76%, transparent);
397
+ --cta-text: #ffffff;
398
+ --cta-bg-hover: #354253;
399
+ --cta-border-hover: color-mix(in srgb, var(--cta-bg-hover) 84%, transparent);
400
+ --cta-glow: 0 0 0 transparent;
401
+ --logo-accent: var(--accent);
402
+ --accent: #536b86;
403
+ --accent-text: #ffffff;
404
+ }
405
+
406
+ [data-color-theme="air"] .card,
407
+ [data-color-theme="air"] .column,
408
+ [data-color-theme="air"] .panel,
409
+ [data-color-theme="air"] .modal,
410
+ [data-color-theme="air"] .task-card {
411
+ border-color: var(--border);
412
+ box-shadow: 0 0 0 transparent;
413
+ background-image: none;
414
+ }
415
+
416
+ [data-color-theme="air"] .btn,
417
+ [data-color-theme="air"] .btn-icon,
418
+ [data-color-theme="air"] .input,
419
+ [data-color-theme="air"] input,
420
+ [data-color-theme="air"] textarea,
421
+ [data-color-theme="air"] select {
422
+ border-color: var(--border);
423
+ box-shadow: 0 0 0 transparent;
424
+ }
425
+
426
+ [data-color-theme="air"] .btn:hover,
427
+ [data-color-theme="air"] .btn-icon:hover,
428
+ [data-color-theme="air"] .card:hover,
429
+ [data-color-theme="air"] .task-card:hover {
430
+ box-shadow: 0 0 0 transparent;
431
+ }
432
+
433
+ [data-color-theme="air"] .badge,
434
+ [data-color-theme="air"] .pill,
435
+ [data-color-theme="air"] .tag {
436
+ border-color: var(--border);
437
+ box-shadow: 0 0 0 transparent;
438
+ }
439
+
440
+ [data-color-theme="air"] .view-header,
441
+ [data-color-theme="air"] .header,
442
+ [data-color-theme="air"] .modal-header,
443
+ [data-color-theme="air"] .modal-actions,
444
+ [data-color-theme="air"] .modal-footer,
445
+ [data-color-theme="air"] .floating-window-header,
446
+ [data-color-theme="air"] .settings-section-heading,
447
+ [data-color-theme="air"] .settings-section-divider,
448
+ [data-color-theme="air"] .runtime-card__tabs,
449
+ [data-color-theme="air"] .runtime-card__footer,
450
+ [data-color-theme="air"] .mailbox-thread-detail-header,
451
+ [data-color-theme="air"] .chat-sidebar-footer,
452
+ [data-color-theme="air"] .task-detail-tabs,
453
+ [data-color-theme="air"] .task-detail-section,
454
+ [data-color-theme="air"] .workflow-output-modal-header,
455
+ [data-color-theme="air"] .file-browser-modal-header,
456
+ [data-color-theme="air"] .activity-log-header {
457
+ border-top-color: transparent;
458
+ border-bottom-color: transparent;
459
+ }
460
+
461
+ /*
462
+ FNXC:DashboardTheming 2026-06-22-14:24:
463
+ Shadcn-family themes should read as seamless app shells: header and modal-title separators disappear, but vertical pane borders and local control outlines stay intact.
464
+ */
465
+ [data-color-theme^="shadcn"] .view-header,
466
+ [data-color-theme^="shadcn"] .header,
467
+ [data-color-theme^="shadcn"] .modal-header,
468
+ [data-color-theme^="shadcn"] .modal-actions,
469
+ [data-color-theme^="shadcn"] .modal-footer,
470
+ [data-color-theme^="shadcn"] .floating-window-header,
471
+ [data-color-theme^="shadcn"] .settings-section-heading,
472
+ [data-color-theme^="shadcn"] .settings-section-divider,
473
+ [data-color-theme^="shadcn"] .workflow-output-modal-header,
474
+ [data-color-theme^="shadcn"] .file-browser-modal-header,
475
+ [data-color-theme^="shadcn"] .activity-log-header {
476
+ border-top-color: transparent;
477
+ border-bottom-color: transparent;
478
+ }
479
+
480
+ /*
481
+ FNXC:DashboardTheming 2026-06-23-00:07:
482
+ All shadcn-family themes should use one UI font family across app chrome, forms, popovers, and buttons. Native controls do not reliably inherit the document font in every browser, so pin shadcn UI controls to --font-primary while preserving --font-mono for code-oriented text.
483
+ */
484
+ [data-color-theme^="shadcn"],
485
+ [data-color-theme^="shadcn"] body,
486
+ [data-color-theme^="shadcn"] button,
487
+ [data-color-theme^="shadcn"] input,
488
+ [data-color-theme^="shadcn"] select,
489
+ [data-color-theme^="shadcn"] textarea,
490
+ [data-color-theme^="shadcn"] optgroup,
491
+ [data-color-theme^="shadcn"] .btn,
492
+ [data-color-theme^="shadcn"] .input,
493
+ [data-color-theme^="shadcn"] .select,
494
+ [data-color-theme^="shadcn"] .modal,
495
+ [data-color-theme^="shadcn"] .card {
496
+ font-family: var(--font-primary);
497
+ }
498
+
499
+ [data-color-theme^="shadcn"] code,
500
+ [data-color-theme^="shadcn"] pre,
501
+ [data-color-theme^="shadcn"] kbd,
502
+ [data-color-theme^="shadcn"] samp,
503
+ [data-color-theme^="shadcn"] .font-mono {
504
+ font-family: var(--font-mono);
505
+ }
506
+
336
507
  /* GRAPHITE - Dark graphite blacks */
337
508
  [data-color-theme="graphite"] {
338
509
  --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
@@ -700,254 +871,2955 @@
700
871
  --color-success: #859900;
701
872
  --color-error: #dc322f;
702
873
 
703
- --cta-bg: #719e00;
704
- --cta-border: #859900;
705
- --cta-text: #002b36;
706
- --cta-bg-hover: #859900;
707
- --cta-border-hover: #a4b800;
708
- --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
709
- --logo-accent: var(--todo);
710
- --color-info: #2aa198;
711
- --accent: #859900;
712
- --accent-text: #002b36;
874
+ --cta-bg: #719e00;
875
+ --cta-border: #859900;
876
+ --cta-text: #002b36;
877
+ --cta-bg-hover: #859900;
878
+ --cta-border-hover: #a4b800;
879
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
880
+ --logo-accent: var(--todo);
881
+ --color-info: #2aa198;
882
+ --accent: #859900;
883
+ --accent-text: #002b36;
884
+ }
885
+
886
+ [data-color-theme="solarized"][data-theme="light"] {
887
+ --bg: #fdf6e3;
888
+ --surface: #eee8d5;
889
+ --card: #f5efdc;
890
+ --card-hover: #e8e2d0;
891
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
892
+ --border: #93a1a1;
893
+ --text: #586e75;
894
+ --text-muted: #657b83;
895
+ --text-dim: #839496;
896
+
897
+ --todo: #268bd2;
898
+ --in-progress: #2aa198;
899
+ --in-progress-rgb: 42, 161, 152;
900
+ --in-review: #859900;
901
+ --triage: #b58900;
902
+ --done: #93a1a1;
903
+ --color-success: #859900;
904
+ --color-error: #dc322f;
905
+
906
+ --cta-bg: #6a8800;
907
+ --cta-border: #719e00;
908
+ --cta-text: #fdf6e3;
909
+ --cta-bg-hover: #719e00;
910
+ --cta-border-hover: #859900;
911
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
912
+ --logo-accent: var(--todo);
913
+ --color-info: #2aa198;
914
+ --accent: #637b00;
915
+ --accent-text: #fdf6e3;
916
+ }
917
+
918
+ /* FACTORY - Industrial Mission Control Theme
919
+ A comprehensive design theme that overrides fonts, spacing, and
920
+ component styling for an industrial sci-fi aesthetic.
921
+ */
922
+ [data-color-theme="factory"] {
923
+ --bg: #0a0a0a;
924
+ --surface: #111111;
925
+ --card: #1a1a1a;
926
+ --card-hover: #222222;
927
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
928
+ --border: #333333;
929
+
930
+ --text: #e5e5e5;
931
+ --text-muted: #888888;
932
+ --text-dim: #555555;
933
+
934
+ --todo: #f59e0b;
935
+ --in-progress: #06b6d4;
936
+ --in-progress-rgb: 6, 182, 212;
937
+ --in-review: #22c55e;
938
+ --triage: #ef4444;
939
+ --done: #6b7280;
940
+
941
+ --color-success: #22c55e;
942
+ --color-error: #ef4444;
943
+ --color-muted: #6b7280;
944
+
945
+ --font-primary: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
946
+ --font-mono: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
947
+
948
+ --space-xs: 2px;
949
+ --space-sm: 4px;
950
+ --space-md: 8px;
951
+ --space-lg: 12px;
952
+ --space-xl: 16px;
953
+ --space-2xl: 24px;
954
+
955
+ --radius-sm: 2px;
956
+ --radius-md: 4px;
957
+ --radius-lg: 6px;
958
+ --radius-xl: 8px;
959
+ --radius: var(--radius-md);
960
+
961
+ --btn-padding: 6px 12px;
962
+ --btn-border-width: 2px;
963
+ --card-padding: 8px 10px;
964
+ --modal-padding: var(--space-md) var(--space-lg);
965
+ --header-padding: var(--space-sm) var(--space-lg);
966
+ --column-gap: var(--space-sm);
967
+ --board-padding: var(--space-md) var(--space-lg);
968
+
969
+ --shadow-sm: 0 1px 1px color-mix(in srgb, #000000 50%, transparent);
970
+ --shadow-md: 0 2px 4px color-mix(in srgb, #000000 50%, transparent);
971
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 60%, transparent);
972
+ --shadow-glow: 0 0 6px color-mix(in srgb, var(--todo) 40%, transparent);
973
+ --glow-success: 0 0 8px color-mix(in srgb, var(--color-success) 35%, transparent);
974
+ --glow-warning: 0 0 8px color-mix(in srgb, var(--todo) 40%, transparent);
975
+ --glow-danger: 0 0 8px color-mix(in srgb, var(--color-error) 35%, transparent);
976
+ --focus-ring: 0 0 0 2px color-mix(in srgb, var(--todo) 18%, transparent);
977
+ --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--todo) 30%, transparent);
978
+ --shadow: var(--shadow-lg);
979
+
980
+ --transition-instant: 0.05s ease;
981
+ --transition-fast: 0.1s ease;
982
+ --transition-normal: 0.15s ease;
983
+ --transition-slow: 0.2s ease;
984
+
985
+ --cta-bg: #d97706;
986
+ --cta-border: #f59e0b;
987
+ --cta-text: #0a0a0a;
988
+ --cta-bg-hover: #f59e0b;
989
+ --cta-border-hover: #fbbf24;
990
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 40%, transparent);
991
+ --logo-accent: var(--todo);
992
+ --color-info: #2563eb;
993
+ --accent: #d97706;
994
+ --accent-text: #0a0a0a;
995
+ }
996
+
997
+ [data-color-theme="factory"][data-theme="light"] {
998
+ --bg: #f5f5f5;
999
+ --surface: #ffffff;
1000
+ --card: #fafafa;
1001
+ --card-hover: #f0f0f0;
1002
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1003
+ --border: #d4d4d4;
1004
+
1005
+ --text: #1a1a1a;
1006
+ --text-muted: #666666;
1007
+ --text-dim: #999999;
1008
+
1009
+ --todo: #d97706;
1010
+ --in-progress: #0891b2;
1011
+ --in-progress-rgb: 8, 145, 178;
1012
+ --in-review: #16a34a;
1013
+ --triage: #dc2626;
1014
+ --done: #4b5563;
1015
+
1016
+ --color-success: #16a34a;
1017
+ --color-error: #dc2626;
1018
+ --color-muted: #6b7280;
1019
+
1020
+ --shadow-sm: 0 1px 1px color-mix(in srgb, var(--text) 10%, transparent);
1021
+ --shadow-md: 0 2px 4px color-mix(in srgb, var(--text) 10%, transparent);
1022
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 15%, transparent);
1023
+ --shadow-glow: 0 0 6px color-mix(in srgb, var(--todo) 30%, transparent);
1024
+ --glow-success: 0 0 8px color-mix(in srgb, var(--color-success) 25%, transparent);
1025
+ --glow-warning: 0 0 8px color-mix(in srgb, var(--todo) 30%, transparent);
1026
+ --glow-danger: 0 0 8px color-mix(in srgb, var(--color-error) 22%, transparent);
1027
+ --focus-ring: 0 0 0 2px color-mix(in srgb, var(--todo) 14%, transparent);
1028
+ --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--todo) 24%, transparent);
1029
+ --shadow: var(--shadow-lg);
1030
+
1031
+ --cta-bg: #b45309;
1032
+ --cta-border: #d97706;
1033
+ --cta-text: #fff;
1034
+ --cta-bg-hover: #d97706;
1035
+ --cta-border-hover: #f59e0b;
1036
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
1037
+ --logo-accent: var(--todo);
1038
+ --color-info: #1d4ed8;
1039
+ --accent: #b45309;
1040
+ --accent-text: #fff;
1041
+ }
1042
+
1043
+ [data-color-theme="factory"] .card.agent-active {
1044
+ border-color: var(--todo);
1045
+ box-shadow:
1046
+ 0 0 6px color-mix(in srgb, #f59e0b 50%, transparent),
1047
+ 0 0 12px color-mix(in srgb, #f59e0b 20%, transparent);
1048
+ animation: agent-glow-factory 2s ease-in-out infinite;
1049
+ }
1050
+
1051
+ @keyframes agent-glow-factory {
1052
+ 0%,
1053
+ 100% {
1054
+ box-shadow:
1055
+ 0 0 6px color-mix(in srgb, #f59e0b 50%, transparent),
1056
+ 0 0 12px color-mix(in srgb, #f59e0b 20%, transparent);
1057
+ }
1058
+ 50% {
1059
+ box-shadow:
1060
+ 0 0 10px color-mix(in srgb, #f59e0b 70%, transparent),
1061
+ 0 0 20px color-mix(in srgb, #f59e0b 40%, transparent);
1062
+ }
1063
+ }
1064
+
1065
+ [data-color-theme="factory"][data-theme="light"] .card.agent-active {
1066
+ box-shadow:
1067
+ 0 0 6px color-mix(in srgb, #d97706 40%, transparent),
1068
+ 0 0 12px color-mix(in srgb, #d97706 15%, transparent);
1069
+ animation: agent-glow-factory-light 2s ease-in-out infinite;
1070
+ }
1071
+
1072
+ @keyframes agent-glow-factory-light {
1073
+ 0%,
1074
+ 100% {
1075
+ box-shadow:
1076
+ 0 0 6px color-mix(in srgb, #d97706 40%, transparent),
1077
+ 0 0 12px color-mix(in srgb, #d97706 15%, transparent);
1078
+ }
1079
+ 50% {
1080
+ box-shadow:
1081
+ 0 0 10px color-mix(in srgb, #d97706 60%, transparent),
1082
+ 0 0 20px color-mix(in srgb, #d97706 30%, transparent);
1083
+ }
1084
+ }
1085
+
1086
+ [data-color-theme="factory"] .btn {
1087
+ text-transform: uppercase;
1088
+ letter-spacing: 0.05em;
1089
+ font-weight: 600;
1090
+ }
1091
+
1092
+ [data-color-theme="factory"] .btn-primary,
1093
+ [data-color-theme="factory"] .btn-task-create {
1094
+ background: transparent;
1095
+ border-color: var(--todo);
1096
+ color: var(--todo);
1097
+ box-shadow: none;
1098
+ }
1099
+
1100
+ [data-color-theme="factory"] .btn-primary:hover,
1101
+ [data-color-theme="factory"] .btn-task-create:hover {
1102
+ background: var(--todo);
1103
+ color: var(--bg);
1104
+ box-shadow: var(--shadow-glow);
1105
+ }
1106
+
1107
+ [data-color-theme="factory"] .card,
1108
+ [data-color-theme="factory"] .column {
1109
+ border-width: 2px;
1110
+ }
1111
+
1112
+ [data-color-theme="factory"] .column-header h2 {
1113
+ text-transform: uppercase;
1114
+ letter-spacing: 0.1em;
1115
+ font-size: 0.75rem;
1116
+ }
1117
+
1118
+ [data-color-theme="factory"] .column-count,
1119
+ [data-color-theme="factory"] .card-id {
1120
+ font-family: var(--font-mono);
1121
+ font-weight: 700;
1122
+ }
1123
+
1124
+ /*
1125
+ FNXC:Theming 2026-06-19-00:00:
1126
+ Factory Mono is a monochrome Factory variant for FN-6724: keep the industrial monospace density, uppercase controls, and 2px border system while limiting color to red accents and removing pulsing glow effects.
1127
+ */
1128
+ [data-color-theme="factory-mono"] {
1129
+ --bg: #0a0a0a;
1130
+ --surface: #111111;
1131
+ --card: #1a1a1a;
1132
+ --card-hover: #222222;
1133
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1134
+ --border: #333333;
1135
+
1136
+ --text: #f5f5f5;
1137
+ --text-muted: #a3a3a3;
1138
+ --text-dim: #737373;
1139
+
1140
+ --todo: #d4d4d4;
1141
+ --in-progress: #a3a3a3;
1142
+ --in-progress-rgb: 163, 163, 163;
1143
+ --in-review: #e5e5e5;
1144
+ --triage: #737373;
1145
+ --done: #525252;
1146
+
1147
+ --color-success: #e5e5e5;
1148
+ --color-warning: #d4d4d4;
1149
+ --color-error: #ef4444;
1150
+ --color-muted: #737373;
1151
+
1152
+ --font-primary: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
1153
+ --font-mono: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
1154
+
1155
+ --space-xs: 2px;
1156
+ --space-sm: 4px;
1157
+ --space-md: 8px;
1158
+ --space-lg: 12px;
1159
+ --space-xl: 16px;
1160
+ --space-2xl: 24px;
1161
+
1162
+ --radius-sm: 2px;
1163
+ --radius-md: 4px;
1164
+ --radius-lg: 6px;
1165
+ --radius-xl: 8px;
1166
+ --radius: var(--radius-md);
1167
+
1168
+ --btn-padding: 6px 12px;
1169
+ --btn-border-width: 2px;
1170
+ --card-padding: 8px 10px;
1171
+ --modal-padding: var(--space-md) var(--space-lg);
1172
+ --header-padding: var(--space-sm) var(--space-lg);
1173
+ --column-gap: var(--space-sm);
1174
+ --board-padding: var(--space-md) var(--space-lg);
1175
+
1176
+ --shadow-sm: none;
1177
+ --shadow-md: 0 1px 0 color-mix(in srgb, #000000 60%, transparent);
1178
+ --shadow-lg: 0 1px 0 color-mix(in srgb, #000000 70%, transparent);
1179
+ --shadow-glow: none;
1180
+ --glow-success: none;
1181
+ --glow-warning: none;
1182
+ --glow-danger: none;
1183
+ --focus-ring: 0 0 0 var(--btn-border-width) color-mix(in srgb, var(--accent) 30%, transparent);
1184
+ --focus-ring-strong: 0 0 0 var(--btn-border-width) color-mix(in srgb, var(--accent) 45%, transparent);
1185
+ --shadow: var(--shadow-lg);
1186
+
1187
+ --transition-instant: 0.05s ease;
1188
+ --transition-fast: 0.1s ease;
1189
+ --transition-normal: 0.15s ease;
1190
+ --transition-slow: 0.2s ease;
1191
+
1192
+ --cta-bg: transparent;
1193
+ --cta-border: #ef4444;
1194
+ --cta-text: #ef4444;
1195
+ --cta-bg-hover: #ef4444;
1196
+ --cta-border-hover: #f87171;
1197
+ --cta-glow: none;
1198
+ --logo-accent: #ef4444;
1199
+ --color-info: #d4d4d4;
1200
+ --accent: #ef4444;
1201
+ --accent-text: #0a0a0a;
1202
+ }
1203
+
1204
+ [data-color-theme="factory-mono"][data-theme="light"] {
1205
+ --bg: #f5f5f5;
1206
+ --surface: #ffffff;
1207
+ --card: #fafafa;
1208
+ --card-hover: #f0f0f0;
1209
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1210
+ --border: #d4d4d4;
1211
+
1212
+ --text: #1a1a1a;
1213
+ --text-muted: #525252;
1214
+ --text-dim: #737373;
1215
+
1216
+ --todo: #525252;
1217
+ --in-progress: #737373;
1218
+ --in-progress-rgb: 115, 115, 115;
1219
+ --in-review: #404040;
1220
+ --triage: #a3a3a3;
1221
+ --done: #8a8a8a;
1222
+
1223
+ --color-success: #404040;
1224
+ --color-warning: #525252;
1225
+ --color-error: #dc2626;
1226
+ --color-muted: #737373;
1227
+
1228
+ --shadow-sm: none;
1229
+ --shadow-md: 0 1px 0 color-mix(in srgb, var(--text) 12%, transparent);
1230
+ --shadow-lg: 0 1px 0 color-mix(in srgb, var(--text) 18%, transparent);
1231
+ --shadow-glow: none;
1232
+ --glow-success: none;
1233
+ --glow-warning: none;
1234
+ --glow-danger: none;
1235
+ --focus-ring: 0 0 0 var(--btn-border-width) color-mix(in srgb, var(--accent) 25%, transparent);
1236
+ --focus-ring-strong: 0 0 0 var(--btn-border-width) color-mix(in srgb, var(--accent) 38%, transparent);
1237
+ --shadow: var(--shadow-lg);
1238
+
1239
+ --cta-bg: transparent;
1240
+ --cta-border: #dc2626;
1241
+ --cta-text: #dc2626;
1242
+ --cta-bg-hover: #dc2626;
1243
+ --cta-border-hover: #ef4444;
1244
+ --cta-glow: none;
1245
+ --logo-accent: #dc2626;
1246
+ --color-info: #525252;
1247
+ --accent: #dc2626;
1248
+ --accent-text: #ffffff;
1249
+ }
1250
+
1251
+ [data-color-theme="factory-mono"] .card.agent-active {
1252
+ border-color: var(--accent);
1253
+ box-shadow: none;
1254
+ animation: none;
1255
+ }
1256
+
1257
+ [data-color-theme="factory-mono"][data-theme="light"] .card.agent-active {
1258
+ border-color: var(--accent);
1259
+ box-shadow: none;
1260
+ animation: none;
1261
+ }
1262
+
1263
+ [data-color-theme="factory-mono"] .btn {
1264
+ text-transform: uppercase;
1265
+ letter-spacing: 0.05em;
1266
+ font-weight: 600;
1267
+ }
1268
+
1269
+ [data-color-theme="factory-mono"] .btn-primary,
1270
+ [data-color-theme="factory-mono"] .btn-task-create {
1271
+ background: transparent;
1272
+ border-color: var(--accent);
1273
+ color: var(--accent);
1274
+ box-shadow: none;
1275
+ }
1276
+
1277
+ [data-color-theme="factory-mono"] .btn-primary:hover,
1278
+ [data-color-theme="factory-mono"] .btn-task-create:hover {
1279
+ background: var(--accent);
1280
+ color: var(--accent-text);
1281
+ box-shadow: none;
1282
+ }
1283
+
1284
+ [data-color-theme="factory-mono"] .card,
1285
+ [data-color-theme="factory-mono"] .column {
1286
+ border-width: var(--btn-border-width);
1287
+ }
1288
+
1289
+ [data-color-theme="factory-mono"] .column-header h2 {
1290
+ text-transform: uppercase;
1291
+ letter-spacing: 0.1em;
1292
+ font-size: 0.75rem;
1293
+ }
1294
+
1295
+ [data-color-theme="factory-mono"] .column-count,
1296
+ [data-color-theme="factory-mono"] .card-id {
1297
+ font-family: var(--font-mono);
1298
+ font-weight: 700;
1299
+ }
1300
+
1301
+ /*
1302
+ FNXC:Theming 2026-06-19-15:35:
1303
+ The shadcn theme for FN-6747 approximates the shadcn/ui new-york zinc aesthetic with sans-serif typography, tokenized comfortable spacing, 1px borders, subtle flat shadows, neutralized glow tokens, and a solid primary button instead of Factory-style outlined uppercase controls.
1304
+
1305
+ FNXC:Theming 2026-06-20-00:00:
1306
+ FN-6758 makes the default shadcn highlight/accent orange for focus rings, active borders, links, and selection affordances while preserving the zinc-neutral surfaces, neutralized glows, and solid neutral primary button.
1307
+ */
1308
+ [data-color-theme="shadcn"] {
1309
+ --bg: #09090b;
1310
+ --surface: #0c0c0e;
1311
+ --card: #18181b;
1312
+ --card-hover: #1f1f23;
1313
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1314
+ --border: #27272a;
1315
+
1316
+ --text: #fafafa;
1317
+ --text-muted: #a1a1aa;
1318
+ --text-dim: #52525b;
1319
+
1320
+ --todo: #60a5fa;
1321
+ --in-progress: #38bdf8;
1322
+ --in-progress-rgb: 56, 189, 248;
1323
+ --in-review: #34d399;
1324
+ --triage: #f59e0b;
1325
+ --done: #71717a;
1326
+
1327
+ --color-success: #22c55e;
1328
+ --color-warning: #f59e0b;
1329
+ --color-error: #ef4444;
1330
+ --color-muted: #71717a;
1331
+
1332
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1333
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
1334
+
1335
+ --space-xs: 4px;
1336
+ --space-sm: 6px;
1337
+ --space-md: 10px;
1338
+ --space-lg: 16px;
1339
+ --space-xl: 20px;
1340
+ --space-2xl: 28px;
1341
+
1342
+ --radius-sm: 4px;
1343
+ --radius-md: 6px;
1344
+ --radius-lg: 8px;
1345
+ --radius-xl: 12px;
1346
+ --radius: var(--radius-md);
1347
+
1348
+ --btn-padding: 6px 12px;
1349
+ --btn-border-width: 1px;
1350
+ --card-padding: 10px 12px;
1351
+ --modal-padding: var(--space-md) var(--space-lg);
1352
+ --header-padding: var(--space-sm) var(--space-lg);
1353
+ --column-gap: var(--space-md);
1354
+ --board-padding: var(--space-md) var(--space-lg);
1355
+
1356
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
1357
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
1358
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
1359
+ --shadow-glow: none;
1360
+ --glow-success: none;
1361
+ --glow-warning: none;
1362
+ --glow-danger: none;
1363
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
1364
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
1365
+ --shadow: var(--shadow-lg);
1366
+
1367
+ --transition-instant: 0.05s ease;
1368
+ --transition-fast: 0.1s ease;
1369
+ --transition-normal: 0.15s ease;
1370
+ --transition-slow: 0.2s ease;
1371
+
1372
+ --cta-bg: #fafafa;
1373
+ --cta-border: #fafafa;
1374
+ --cta-text: #18181b;
1375
+ --cta-bg-hover: #e4e4e7;
1376
+ --cta-border-hover: #e4e4e7;
1377
+ --cta-glow: none;
1378
+ --logo-accent: var(--text);
1379
+ --color-info: #38bdf8;
1380
+ --accent: #f97316;
1381
+ --accent-text: #ffffff;
1382
+ }
1383
+
1384
+ [data-color-theme="shadcn"][data-theme="light"] {
1385
+ --bg: #ffffff;
1386
+ --surface: #ffffff;
1387
+ --card: #ffffff;
1388
+ --card-hover: #f4f4f5;
1389
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1390
+ --border: #e4e4e7;
1391
+
1392
+ --text: #09090b;
1393
+ --text-muted: #71717a;
1394
+ --text-dim: #a1a1aa;
1395
+
1396
+ --todo: #2563eb;
1397
+ --in-progress: #0284c7;
1398
+ --in-progress-rgb: 2, 132, 199;
1399
+ --in-review: #16a34a;
1400
+ --triage: #d97706;
1401
+ --done: #a1a1aa;
1402
+
1403
+ --color-success: #16a34a;
1404
+ --color-warning: #d97706;
1405
+ --color-error: #dc2626;
1406
+ --color-muted: #71717a;
1407
+
1408
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
1409
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
1410
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
1411
+ --shadow-glow: none;
1412
+ --glow-success: none;
1413
+ --glow-warning: none;
1414
+ --glow-danger: none;
1415
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
1416
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
1417
+ --shadow: var(--shadow-lg);
1418
+
1419
+ --cta-bg: #18181b;
1420
+ --cta-border: #18181b;
1421
+ --cta-text: #fafafa;
1422
+ --cta-bg-hover: #27272a;
1423
+ --cta-border-hover: #27272a;
1424
+ --cta-glow: none;
1425
+ --logo-accent: var(--text);
1426
+ --color-info: #0284c7;
1427
+ --accent: #ea580c;
1428
+ --accent-text: #ffffff;
1429
+ }
1430
+
1431
+ /*
1432
+ FNXC:Theming 2026-06-20-18:30:
1433
+ FN-6816 keeps shadcn-custom visually identical to the base shadcn theme until sanitized user token overrides are applied inline by the dashboard theme hook.
1434
+ */
1435
+ [data-color-theme="shadcn-custom"] {
1436
+ --bg: #09090b;
1437
+ --surface: #0c0c0e;
1438
+ --card: #18181b;
1439
+ --card-hover: #1f1f23;
1440
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1441
+ --border: #27272a;
1442
+
1443
+ --text: #fafafa;
1444
+ --text-muted: #a1a1aa;
1445
+ --text-dim: #52525b;
1446
+
1447
+ --todo: #60a5fa;
1448
+ --in-progress: #38bdf8;
1449
+ --in-progress-rgb: 56, 189, 248;
1450
+ --in-review: #34d399;
1451
+ --triage: #f59e0b;
1452
+ --done: #71717a;
1453
+
1454
+ --color-success: #22c55e;
1455
+ --color-warning: #f59e0b;
1456
+ --color-error: #ef4444;
1457
+ --color-muted: #71717a;
1458
+
1459
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1460
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
1461
+
1462
+ --space-xs: 4px;
1463
+ --space-sm: 6px;
1464
+ --space-md: 10px;
1465
+ --space-lg: 16px;
1466
+ --space-xl: 20px;
1467
+ --space-2xl: 28px;
1468
+
1469
+ --radius-sm: 4px;
1470
+ --radius-md: 6px;
1471
+ --radius-lg: 8px;
1472
+ --radius-xl: 12px;
1473
+ --radius: var(--radius-md);
1474
+
1475
+ --btn-padding: 6px 12px;
1476
+ --btn-border-width: 1px;
1477
+ --card-padding: 10px 12px;
1478
+ --modal-padding: var(--space-md) var(--space-lg);
1479
+ --header-padding: var(--space-sm) var(--space-lg);
1480
+ --column-gap: var(--space-md);
1481
+ --board-padding: var(--space-md) var(--space-lg);
1482
+
1483
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
1484
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
1485
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
1486
+ --shadow-glow: none;
1487
+ --glow-success: none;
1488
+ --glow-warning: none;
1489
+ --glow-danger: none;
1490
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
1491
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
1492
+ --shadow: var(--shadow-lg);
1493
+
1494
+ --transition-instant: 0.05s ease;
1495
+ --transition-fast: 0.1s ease;
1496
+ --transition-normal: 0.15s ease;
1497
+ --transition-slow: 0.2s ease;
1498
+
1499
+ --cta-bg: #fafafa;
1500
+ --cta-border: #fafafa;
1501
+ --cta-text: #18181b;
1502
+ --cta-bg-hover: #e4e4e7;
1503
+ --cta-border-hover: #e4e4e7;
1504
+ --cta-glow: none;
1505
+ --logo-accent: var(--text);
1506
+ --color-info: #38bdf8;
1507
+ --accent: #f97316;
1508
+ --accent-text: #ffffff;
1509
+ }
1510
+
1511
+ [data-color-theme="shadcn-custom"][data-theme="light"] {
1512
+ --bg: #ffffff;
1513
+ --surface: #ffffff;
1514
+ --card: #ffffff;
1515
+ --card-hover: #f4f4f5;
1516
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1517
+ --border: #e4e4e7;
1518
+
1519
+ --text: #09090b;
1520
+ --text-muted: #71717a;
1521
+ --text-dim: #a1a1aa;
1522
+
1523
+ --todo: #2563eb;
1524
+ --in-progress: #0284c7;
1525
+ --in-progress-rgb: 2, 132, 199;
1526
+ --in-review: #16a34a;
1527
+ --triage: #d97706;
1528
+ --done: #a1a1aa;
1529
+
1530
+ --color-success: #16a34a;
1531
+ --color-warning: #d97706;
1532
+ --color-error: #dc2626;
1533
+ --color-muted: #71717a;
1534
+
1535
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
1536
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
1537
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
1538
+ --shadow-glow: none;
1539
+ --glow-success: none;
1540
+ --glow-warning: none;
1541
+ --glow-danger: none;
1542
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
1543
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
1544
+ --shadow: var(--shadow-lg);
1545
+
1546
+ --cta-bg: #18181b;
1547
+ --cta-border: #18181b;
1548
+ --cta-text: #fafafa;
1549
+ --cta-bg-hover: #27272a;
1550
+ --cta-border-hover: #27272a;
1551
+ --cta-glow: none;
1552
+ --logo-accent: var(--text);
1553
+ --color-info: #0284c7;
1554
+ --accent: #ea580c;
1555
+ --accent-text: #ffffff;
1556
+ }
1557
+
1558
+ [data-color-theme="shadcn"] .card.agent-active,
1559
+ [data-color-theme="shadcn-custom"] .card.agent-active {
1560
+ border-color: var(--accent);
1561
+ box-shadow: none;
1562
+ animation: none;
1563
+ }
1564
+
1565
+ [data-color-theme="shadcn"][data-theme="light"] .card.agent-active,
1566
+ [data-color-theme="shadcn-custom"][data-theme="light"] .card.agent-active {
1567
+ border-color: var(--accent);
1568
+ box-shadow: none;
1569
+ animation: none;
1570
+ }
1571
+
1572
+ [data-color-theme="shadcn"] .btn,
1573
+ [data-color-theme="shadcn-custom"] .btn {
1574
+ text-transform: none;
1575
+ letter-spacing: normal;
1576
+ font-weight: 500;
1577
+ }
1578
+
1579
+ [data-color-theme="shadcn"] .btn-primary,
1580
+ [data-color-theme="shadcn"] .btn-task-create,
1581
+ [data-color-theme="shadcn-custom"] .btn-primary,
1582
+ [data-color-theme="shadcn-custom"] .btn-task-create {
1583
+ background: var(--cta-bg);
1584
+ border-color: var(--cta-border);
1585
+ color: var(--cta-text);
1586
+ box-shadow: none;
1587
+ }
1588
+
1589
+ [data-color-theme="shadcn"] .btn-primary:hover,
1590
+ [data-color-theme="shadcn"] .btn-task-create:hover,
1591
+ [data-color-theme="shadcn-custom"] .btn-primary:hover,
1592
+ [data-color-theme="shadcn-custom"] .btn-task-create:hover {
1593
+ background: var(--cta-bg-hover);
1594
+ border-color: var(--cta-border-hover);
1595
+ color: var(--cta-text);
1596
+ box-shadow: none;
1597
+ }
1598
+
1599
+ [data-color-theme="shadcn"] .card,
1600
+ [data-color-theme="shadcn"] .column,
1601
+ [data-color-theme="shadcn-custom"] .card,
1602
+ [data-color-theme="shadcn-custom"] .column {
1603
+ border-width: var(--btn-border-width);
1604
+ }
1605
+
1606
+ /*
1607
+ FNXC:Theming 2026-06-19-16:12:
1608
+ FN-6756 adds shadcn color-family themes as exact zinc-neutral shadcn variants with only primary/accent/CTA/info tokens changed for the named color. Shadcn Mono keeps red as the single accent while desaturating workflow statuses toward zinc gray, and Shadcn Black removes chroma from all status tokens for a pure black-and-white option.
1609
+ */
1610
+ [data-color-theme="shadcn-blue"] {
1611
+ --bg: #09090b;
1612
+ --surface: #0c0c0e;
1613
+ --card: #18181b;
1614
+ --card-hover: #1f1f23;
1615
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1616
+ --border: #27272a;
1617
+
1618
+ --text: #fafafa;
1619
+ --text-muted: #a1a1aa;
1620
+ --text-dim: #52525b;
1621
+
1622
+ --todo: #60a5fa;
1623
+ --in-progress: #38bdf8;
1624
+ --in-progress-rgb: 56, 189, 248;
1625
+ --in-review: #34d399;
1626
+ --triage: #f59e0b;
1627
+ --done: #71717a;
1628
+
1629
+ --color-success: #22c55e;
1630
+ --color-warning: #f59e0b;
1631
+ --color-error: #ef4444;
1632
+ --color-muted: #71717a;
1633
+
1634
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1635
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
1636
+
1637
+ --space-xs: 4px;
1638
+ --space-sm: 6px;
1639
+ --space-md: 10px;
1640
+ --space-lg: 16px;
1641
+ --space-xl: 20px;
1642
+ --space-2xl: 28px;
1643
+
1644
+ --radius-sm: 4px;
1645
+ --radius-md: 6px;
1646
+ --radius-lg: 8px;
1647
+ --radius-xl: 12px;
1648
+ --radius: var(--radius-md);
1649
+
1650
+ --btn-padding: 6px 12px;
1651
+ --btn-border-width: 1px;
1652
+ --card-padding: 10px 12px;
1653
+ --modal-padding: var(--space-md) var(--space-lg);
1654
+ --header-padding: var(--space-sm) var(--space-lg);
1655
+ --column-gap: var(--space-md);
1656
+ --board-padding: var(--space-md) var(--space-lg);
1657
+
1658
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
1659
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
1660
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
1661
+ --shadow-glow: none;
1662
+ --glow-success: none;
1663
+ --glow-warning: none;
1664
+ --glow-danger: none;
1665
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
1666
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
1667
+ --shadow: var(--shadow-lg);
1668
+
1669
+ --cta-bg: #3b82f6;
1670
+ --cta-border: #3b82f6;
1671
+ --cta-text: #ffffff;
1672
+ --cta-bg-hover: #2563eb;
1673
+ --cta-border-hover: #2563eb;
1674
+ --cta-glow: none;
1675
+ --logo-accent: var(--accent);
1676
+ --color-info: #3b82f6;
1677
+ --accent: #3b82f6;
1678
+ --accent-text: #ffffff;
1679
+ }
1680
+
1681
+ [data-color-theme="shadcn-blue"][data-theme="light"] {
1682
+ --bg: #ffffff;
1683
+ --surface: #ffffff;
1684
+ --card: #ffffff;
1685
+ --card-hover: #f4f4f5;
1686
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1687
+ --border: #e4e4e7;
1688
+
1689
+ --text: #09090b;
1690
+ --text-muted: #71717a;
1691
+ --text-dim: #a1a1aa;
1692
+
1693
+ --todo: #2563eb;
1694
+ --in-progress: #0284c7;
1695
+ --in-progress-rgb: 2, 132, 199;
1696
+ --in-review: #16a34a;
1697
+ --triage: #d97706;
1698
+ --done: #a1a1aa;
1699
+
1700
+ --color-success: #16a34a;
1701
+ --color-warning: #d97706;
1702
+ --color-error: #dc2626;
1703
+ --color-muted: #71717a;
1704
+
1705
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
1706
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
1707
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
1708
+ --shadow-glow: none;
1709
+ --glow-success: none;
1710
+ --glow-warning: none;
1711
+ --glow-danger: none;
1712
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
1713
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
1714
+ --shadow: var(--shadow-lg);
1715
+
1716
+ --cta-bg: #2563eb;
1717
+ --cta-border: #2563eb;
1718
+ --cta-text: #ffffff;
1719
+ --cta-bg-hover: #1d4ed8;
1720
+ --cta-border-hover: #1d4ed8;
1721
+ --cta-glow: none;
1722
+ --logo-accent: var(--accent);
1723
+ --color-info: #2563eb;
1724
+ --accent: #2563eb;
1725
+ --accent-text: #ffffff;
1726
+ }
1727
+
1728
+ [data-color-theme="shadcn-green"] {
1729
+ --bg: #09090b;
1730
+ --surface: #0c0c0e;
1731
+ --card: #18181b;
1732
+ --card-hover: #1f1f23;
1733
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1734
+ --border: #27272a;
1735
+
1736
+ --text: #fafafa;
1737
+ --text-muted: #a1a1aa;
1738
+ --text-dim: #52525b;
1739
+
1740
+ --todo: #60a5fa;
1741
+ --in-progress: #38bdf8;
1742
+ --in-progress-rgb: 56, 189, 248;
1743
+ --in-review: #34d399;
1744
+ --triage: #f59e0b;
1745
+ --done: #71717a;
1746
+
1747
+ --color-success: #22c55e;
1748
+ --color-warning: #f59e0b;
1749
+ --color-error: #ef4444;
1750
+ --color-muted: #71717a;
1751
+
1752
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1753
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
1754
+
1755
+ --space-xs: 4px;
1756
+ --space-sm: 6px;
1757
+ --space-md: 10px;
1758
+ --space-lg: 16px;
1759
+ --space-xl: 20px;
1760
+ --space-2xl: 28px;
1761
+
1762
+ --radius-sm: 4px;
1763
+ --radius-md: 6px;
1764
+ --radius-lg: 8px;
1765
+ --radius-xl: 12px;
1766
+ --radius: var(--radius-md);
1767
+
1768
+ --btn-padding: 6px 12px;
1769
+ --btn-border-width: 1px;
1770
+ --card-padding: 10px 12px;
1771
+ --modal-padding: var(--space-md) var(--space-lg);
1772
+ --header-padding: var(--space-sm) var(--space-lg);
1773
+ --column-gap: var(--space-md);
1774
+ --board-padding: var(--space-md) var(--space-lg);
1775
+
1776
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
1777
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
1778
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
1779
+ --shadow-glow: none;
1780
+ --glow-success: none;
1781
+ --glow-warning: none;
1782
+ --glow-danger: none;
1783
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
1784
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
1785
+ --shadow: var(--shadow-lg);
1786
+
1787
+ --cta-bg: #22c55e;
1788
+ --cta-border: #22c55e;
1789
+ --cta-text: #ffffff;
1790
+ --cta-bg-hover: #16a34a;
1791
+ --cta-border-hover: #16a34a;
1792
+ --cta-glow: none;
1793
+ --logo-accent: var(--accent);
1794
+ --color-info: #22c55e;
1795
+ --accent: #22c55e;
1796
+ --accent-text: #ffffff;
1797
+ }
1798
+
1799
+ [data-color-theme="shadcn-green"][data-theme="light"] {
1800
+ --bg: #ffffff;
1801
+ --surface: #ffffff;
1802
+ --card: #ffffff;
1803
+ --card-hover: #f4f4f5;
1804
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1805
+ --border: #e4e4e7;
1806
+
1807
+ --text: #09090b;
1808
+ --text-muted: #71717a;
1809
+ --text-dim: #a1a1aa;
1810
+
1811
+ --todo: #2563eb;
1812
+ --in-progress: #0284c7;
1813
+ --in-progress-rgb: 2, 132, 199;
1814
+ --in-review: #16a34a;
1815
+ --triage: #d97706;
1816
+ --done: #a1a1aa;
1817
+
1818
+ --color-success: #16a34a;
1819
+ --color-warning: #d97706;
1820
+ --color-error: #dc2626;
1821
+ --color-muted: #71717a;
1822
+
1823
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
1824
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
1825
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
1826
+ --shadow-glow: none;
1827
+ --glow-success: none;
1828
+ --glow-warning: none;
1829
+ --glow-danger: none;
1830
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
1831
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
1832
+ --shadow: var(--shadow-lg);
1833
+
1834
+ --cta-bg: #16a34a;
1835
+ --cta-border: #16a34a;
1836
+ --cta-text: #ffffff;
1837
+ --cta-bg-hover: #15803d;
1838
+ --cta-border-hover: #15803d;
1839
+ --cta-glow: none;
1840
+ --logo-accent: var(--accent);
1841
+ --color-info: #16a34a;
1842
+ --accent: #16a34a;
1843
+ --accent-text: #ffffff;
1844
+ }
1845
+
1846
+ [data-color-theme="shadcn-red"] {
1847
+ --bg: #09090b;
1848
+ --surface: #0c0c0e;
1849
+ --card: #18181b;
1850
+ --card-hover: #1f1f23;
1851
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1852
+ --border: #27272a;
1853
+
1854
+ --text: #fafafa;
1855
+ --text-muted: #a1a1aa;
1856
+ --text-dim: #52525b;
1857
+
1858
+ --todo: #60a5fa;
1859
+ --in-progress: #38bdf8;
1860
+ --in-progress-rgb: 56, 189, 248;
1861
+ --in-review: #34d399;
1862
+ --triage: #f59e0b;
1863
+ --done: #71717a;
1864
+
1865
+ --color-success: #22c55e;
1866
+ --color-warning: #f59e0b;
1867
+ --color-error: #ef4444;
1868
+ --color-muted: #71717a;
1869
+
1870
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1871
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
1872
+
1873
+ --space-xs: 4px;
1874
+ --space-sm: 6px;
1875
+ --space-md: 10px;
1876
+ --space-lg: 16px;
1877
+ --space-xl: 20px;
1878
+ --space-2xl: 28px;
1879
+
1880
+ --radius-sm: 4px;
1881
+ --radius-md: 6px;
1882
+ --radius-lg: 8px;
1883
+ --radius-xl: 12px;
1884
+ --radius: var(--radius-md);
1885
+
1886
+ --btn-padding: 6px 12px;
1887
+ --btn-border-width: 1px;
1888
+ --card-padding: 10px 12px;
1889
+ --modal-padding: var(--space-md) var(--space-lg);
1890
+ --header-padding: var(--space-sm) var(--space-lg);
1891
+ --column-gap: var(--space-md);
1892
+ --board-padding: var(--space-md) var(--space-lg);
1893
+
1894
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
1895
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
1896
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
1897
+ --shadow-glow: none;
1898
+ --glow-success: none;
1899
+ --glow-warning: none;
1900
+ --glow-danger: none;
1901
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
1902
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
1903
+ --shadow: var(--shadow-lg);
1904
+
1905
+ --cta-bg: #ef4444;
1906
+ --cta-border: #ef4444;
1907
+ --cta-text: #ffffff;
1908
+ --cta-bg-hover: #dc2626;
1909
+ --cta-border-hover: #dc2626;
1910
+ --cta-glow: none;
1911
+ --logo-accent: var(--accent);
1912
+ --color-info: #ef4444;
1913
+ --accent: #ef4444;
1914
+ --accent-text: #ffffff;
1915
+ }
1916
+
1917
+ [data-color-theme="shadcn-red"][data-theme="light"] {
1918
+ --bg: #ffffff;
1919
+ --surface: #ffffff;
1920
+ --card: #ffffff;
1921
+ --card-hover: #f4f4f5;
1922
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1923
+ --border: #e4e4e7;
1924
+
1925
+ --text: #09090b;
1926
+ --text-muted: #71717a;
1927
+ --text-dim: #a1a1aa;
1928
+
1929
+ --todo: #2563eb;
1930
+ --in-progress: #0284c7;
1931
+ --in-progress-rgb: 2, 132, 199;
1932
+ --in-review: #16a34a;
1933
+ --triage: #d97706;
1934
+ --done: #a1a1aa;
1935
+
1936
+ --color-success: #16a34a;
1937
+ --color-warning: #d97706;
1938
+ --color-error: #dc2626;
1939
+ --color-muted: #71717a;
1940
+
1941
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
1942
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
1943
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
1944
+ --shadow-glow: none;
1945
+ --glow-success: none;
1946
+ --glow-warning: none;
1947
+ --glow-danger: none;
1948
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
1949
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
1950
+ --shadow: var(--shadow-lg);
1951
+
1952
+ --cta-bg: #dc2626;
1953
+ --cta-border: #dc2626;
1954
+ --cta-text: #ffffff;
1955
+ --cta-bg-hover: #b91c1c;
1956
+ --cta-border-hover: #b91c1c;
1957
+ --cta-glow: none;
1958
+ --logo-accent: var(--accent);
1959
+ --color-info: #dc2626;
1960
+ --accent: #dc2626;
1961
+ --accent-text: #ffffff;
1962
+ }
1963
+
1964
+ [data-color-theme="shadcn-purple"] {
1965
+ --bg: #09090b;
1966
+ --surface: #0c0c0e;
1967
+ --card: #18181b;
1968
+ --card-hover: #1f1f23;
1969
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1970
+ --border: #27272a;
1971
+
1972
+ --text: #fafafa;
1973
+ --text-muted: #a1a1aa;
1974
+ --text-dim: #52525b;
1975
+
1976
+ --todo: #60a5fa;
1977
+ --in-progress: #38bdf8;
1978
+ --in-progress-rgb: 56, 189, 248;
1979
+ --in-review: #34d399;
1980
+ --triage: #f59e0b;
1981
+ --done: #71717a;
1982
+
1983
+ --color-success: #22c55e;
1984
+ --color-warning: #f59e0b;
1985
+ --color-error: #ef4444;
1986
+ --color-muted: #71717a;
1987
+
1988
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1989
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
1990
+
1991
+ --space-xs: 4px;
1992
+ --space-sm: 6px;
1993
+ --space-md: 10px;
1994
+ --space-lg: 16px;
1995
+ --space-xl: 20px;
1996
+ --space-2xl: 28px;
1997
+
1998
+ --radius-sm: 4px;
1999
+ --radius-md: 6px;
2000
+ --radius-lg: 8px;
2001
+ --radius-xl: 12px;
2002
+ --radius: var(--radius-md);
2003
+
2004
+ --btn-padding: 6px 12px;
2005
+ --btn-border-width: 1px;
2006
+ --card-padding: 10px 12px;
2007
+ --modal-padding: var(--space-md) var(--space-lg);
2008
+ --header-padding: var(--space-sm) var(--space-lg);
2009
+ --column-gap: var(--space-md);
2010
+ --board-padding: var(--space-md) var(--space-lg);
2011
+
2012
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2013
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2014
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2015
+ --shadow-glow: none;
2016
+ --glow-success: none;
2017
+ --glow-warning: none;
2018
+ --glow-danger: none;
2019
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2020
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2021
+ --shadow: var(--shadow-lg);
2022
+
2023
+ --cta-bg: #8b5cf6;
2024
+ --cta-border: #8b5cf6;
2025
+ --cta-text: #ffffff;
2026
+ --cta-bg-hover: #7c3aed;
2027
+ --cta-border-hover: #7c3aed;
2028
+ --cta-glow: none;
2029
+ --logo-accent: var(--accent);
2030
+ --color-info: #8b5cf6;
2031
+ --accent: #8b5cf6;
2032
+ --accent-text: #ffffff;
2033
+ }
2034
+
2035
+ [data-color-theme="shadcn-purple"][data-theme="light"] {
2036
+ --bg: #ffffff;
2037
+ --surface: #ffffff;
2038
+ --card: #ffffff;
2039
+ --card-hover: #f4f4f5;
2040
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2041
+ --border: #e4e4e7;
2042
+
2043
+ --text: #09090b;
2044
+ --text-muted: #71717a;
2045
+ --text-dim: #a1a1aa;
2046
+
2047
+ --todo: #2563eb;
2048
+ --in-progress: #0284c7;
2049
+ --in-progress-rgb: 2, 132, 199;
2050
+ --in-review: #16a34a;
2051
+ --triage: #d97706;
2052
+ --done: #a1a1aa;
2053
+
2054
+ --color-success: #16a34a;
2055
+ --color-warning: #d97706;
2056
+ --color-error: #dc2626;
2057
+ --color-muted: #71717a;
2058
+
2059
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2060
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2061
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2062
+ --shadow-glow: none;
2063
+ --glow-success: none;
2064
+ --glow-warning: none;
2065
+ --glow-danger: none;
2066
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2067
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2068
+ --shadow: var(--shadow-lg);
2069
+
2070
+ --cta-bg: #7c3aed;
2071
+ --cta-border: #7c3aed;
2072
+ --cta-text: #ffffff;
2073
+ --cta-bg-hover: #6d28d9;
2074
+ --cta-border-hover: #6d28d9;
2075
+ --cta-glow: none;
2076
+ --logo-accent: var(--accent);
2077
+ --color-info: #7c3aed;
2078
+ --accent: #7c3aed;
2079
+ --accent-text: #ffffff;
2080
+ }
2081
+
2082
+ [data-color-theme="shadcn-pink"] {
2083
+ --bg: #09090b;
2084
+ --surface: #0c0c0e;
2085
+ --card: #18181b;
2086
+ --card-hover: #1f1f23;
2087
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2088
+ --border: #27272a;
2089
+
2090
+ --text: #fafafa;
2091
+ --text-muted: #a1a1aa;
2092
+ --text-dim: #52525b;
2093
+
2094
+ --todo: #60a5fa;
2095
+ --in-progress: #38bdf8;
2096
+ --in-progress-rgb: 56, 189, 248;
2097
+ --in-review: #34d399;
2098
+ --triage: #f59e0b;
2099
+ --done: #71717a;
2100
+
2101
+ --color-success: #22c55e;
2102
+ --color-warning: #f59e0b;
2103
+ --color-error: #ef4444;
2104
+ --color-muted: #71717a;
2105
+
2106
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2107
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2108
+
2109
+ --space-xs: 4px;
2110
+ --space-sm: 6px;
2111
+ --space-md: 10px;
2112
+ --space-lg: 16px;
2113
+ --space-xl: 20px;
2114
+ --space-2xl: 28px;
2115
+
2116
+ --radius-sm: 4px;
2117
+ --radius-md: 6px;
2118
+ --radius-lg: 8px;
2119
+ --radius-xl: 12px;
2120
+ --radius: var(--radius-md);
2121
+
2122
+ --btn-padding: 6px 12px;
2123
+ --btn-border-width: 1px;
2124
+ --card-padding: 10px 12px;
2125
+ --modal-padding: var(--space-md) var(--space-lg);
2126
+ --header-padding: var(--space-sm) var(--space-lg);
2127
+ --column-gap: var(--space-md);
2128
+ --board-padding: var(--space-md) var(--space-lg);
2129
+
2130
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2131
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2132
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2133
+ --shadow-glow: none;
2134
+ --glow-success: none;
2135
+ --glow-warning: none;
2136
+ --glow-danger: none;
2137
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2138
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2139
+ --shadow: var(--shadow-lg);
2140
+
2141
+ --cta-bg: #ec4899;
2142
+ --cta-border: #ec4899;
2143
+ --cta-text: #ffffff;
2144
+ --cta-bg-hover: #db2777;
2145
+ --cta-border-hover: #db2777;
2146
+ --cta-glow: none;
2147
+ --logo-accent: var(--accent);
2148
+ --color-info: #ec4899;
2149
+ --accent: #ec4899;
2150
+ --accent-text: #ffffff;
2151
+ }
2152
+
2153
+ [data-color-theme="shadcn-pink"][data-theme="light"] {
2154
+ --bg: #ffffff;
2155
+ --surface: #ffffff;
2156
+ --card: #ffffff;
2157
+ --card-hover: #f4f4f5;
2158
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2159
+ --border: #e4e4e7;
2160
+
2161
+ --text: #09090b;
2162
+ --text-muted: #71717a;
2163
+ --text-dim: #a1a1aa;
2164
+
2165
+ --todo: #2563eb;
2166
+ --in-progress: #0284c7;
2167
+ --in-progress-rgb: 2, 132, 199;
2168
+ --in-review: #16a34a;
2169
+ --triage: #d97706;
2170
+ --done: #a1a1aa;
2171
+
2172
+ --color-success: #16a34a;
2173
+ --color-warning: #d97706;
2174
+ --color-error: #dc2626;
2175
+ --color-muted: #71717a;
2176
+
2177
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2178
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2179
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2180
+ --shadow-glow: none;
2181
+ --glow-success: none;
2182
+ --glow-warning: none;
2183
+ --glow-danger: none;
2184
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2185
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2186
+ --shadow: var(--shadow-lg);
2187
+
2188
+ --cta-bg: #db2777;
2189
+ --cta-border: #db2777;
2190
+ --cta-text: #ffffff;
2191
+ --cta-bg-hover: #be185d;
2192
+ --cta-border-hover: #be185d;
2193
+ --cta-glow: none;
2194
+ --logo-accent: var(--accent);
2195
+ --color-info: #db2777;
2196
+ --accent: #db2777;
2197
+ --accent-text: #ffffff;
2198
+ }
2199
+
2200
+ [data-color-theme="shadcn-orange"] {
2201
+ --bg: #09090b;
2202
+ --surface: #0c0c0e;
2203
+ --card: #18181b;
2204
+ --card-hover: #1f1f23;
2205
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2206
+ --border: #27272a;
2207
+
2208
+ --text: #fafafa;
2209
+ --text-muted: #a1a1aa;
2210
+ --text-dim: #52525b;
2211
+
2212
+ --todo: #60a5fa;
2213
+ --in-progress: #38bdf8;
2214
+ --in-progress-rgb: 56, 189, 248;
2215
+ --in-review: #34d399;
2216
+ --triage: #f59e0b;
2217
+ --done: #71717a;
2218
+
2219
+ --color-success: #22c55e;
2220
+ --color-warning: #f59e0b;
2221
+ --color-error: #ef4444;
2222
+ --color-muted: #71717a;
2223
+
2224
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2225
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2226
+
2227
+ --space-xs: 4px;
2228
+ --space-sm: 6px;
2229
+ --space-md: 10px;
2230
+ --space-lg: 16px;
2231
+ --space-xl: 20px;
2232
+ --space-2xl: 28px;
2233
+
2234
+ --radius-sm: 4px;
2235
+ --radius-md: 6px;
2236
+ --radius-lg: 8px;
2237
+ --radius-xl: 12px;
2238
+ --radius: var(--radius-md);
2239
+
2240
+ --btn-padding: 6px 12px;
2241
+ --btn-border-width: 1px;
2242
+ --card-padding: 10px 12px;
2243
+ --modal-padding: var(--space-md) var(--space-lg);
2244
+ --header-padding: var(--space-sm) var(--space-lg);
2245
+ --column-gap: var(--space-md);
2246
+ --board-padding: var(--space-md) var(--space-lg);
2247
+
2248
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2249
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2250
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2251
+ --shadow-glow: none;
2252
+ --glow-success: none;
2253
+ --glow-warning: none;
2254
+ --glow-danger: none;
2255
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2256
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2257
+ --shadow: var(--shadow-lg);
2258
+
2259
+ --cta-bg: #f97316;
2260
+ --cta-border: #f97316;
2261
+ --cta-text: #ffffff;
2262
+ --cta-bg-hover: #ea580c;
2263
+ --cta-border-hover: #ea580c;
2264
+ --cta-glow: none;
2265
+ --logo-accent: var(--accent);
2266
+ --color-info: #f97316;
2267
+ --accent: #f97316;
2268
+ --accent-text: #ffffff;
2269
+ }
2270
+
2271
+ [data-color-theme="shadcn-orange"][data-theme="light"] {
2272
+ --bg: #ffffff;
2273
+ --surface: #ffffff;
2274
+ --card: #ffffff;
2275
+ --card-hover: #f4f4f5;
2276
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2277
+ --border: #e4e4e7;
2278
+
2279
+ --text: #09090b;
2280
+ --text-muted: #71717a;
2281
+ --text-dim: #a1a1aa;
2282
+
2283
+ --todo: #2563eb;
2284
+ --in-progress: #0284c7;
2285
+ --in-progress-rgb: 2, 132, 199;
2286
+ --in-review: #16a34a;
2287
+ --triage: #d97706;
2288
+ --done: #a1a1aa;
2289
+
2290
+ --color-success: #16a34a;
2291
+ --color-warning: #d97706;
2292
+ --color-error: #dc2626;
2293
+ --color-muted: #71717a;
2294
+
2295
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2296
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2297
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2298
+ --shadow-glow: none;
2299
+ --glow-success: none;
2300
+ --glow-warning: none;
2301
+ --glow-danger: none;
2302
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2303
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2304
+ --shadow: var(--shadow-lg);
2305
+
2306
+ --cta-bg: #ea580c;
2307
+ --cta-border: #ea580c;
2308
+ --cta-text: #ffffff;
2309
+ --cta-bg-hover: #c2410c;
2310
+ --cta-border-hover: #c2410c;
2311
+ --cta-glow: none;
2312
+ --logo-accent: var(--accent);
2313
+ --color-info: #ea580c;
2314
+ --accent: #ea580c;
2315
+ --accent-text: #ffffff;
2316
+ }
2317
+
2318
+ [data-color-theme="shadcn-yellow"] {
2319
+ --bg: #09090b;
2320
+ --surface: #0c0c0e;
2321
+ --card: #18181b;
2322
+ --card-hover: #1f1f23;
2323
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2324
+ --border: #27272a;
2325
+
2326
+ --text: #fafafa;
2327
+ --text-muted: #a1a1aa;
2328
+ --text-dim: #52525b;
2329
+
2330
+ --todo: #60a5fa;
2331
+ --in-progress: #38bdf8;
2332
+ --in-progress-rgb: 56, 189, 248;
2333
+ --in-review: #34d399;
2334
+ --triage: #f59e0b;
2335
+ --done: #71717a;
2336
+
2337
+ --color-success: #22c55e;
2338
+ --color-warning: #f59e0b;
2339
+ --color-error: #ef4444;
2340
+ --color-muted: #71717a;
2341
+
2342
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2343
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2344
+
2345
+ --space-xs: 4px;
2346
+ --space-sm: 6px;
2347
+ --space-md: 10px;
2348
+ --space-lg: 16px;
2349
+ --space-xl: 20px;
2350
+ --space-2xl: 28px;
2351
+
2352
+ --radius-sm: 4px;
2353
+ --radius-md: 6px;
2354
+ --radius-lg: 8px;
2355
+ --radius-xl: 12px;
2356
+ --radius: var(--radius-md);
2357
+
2358
+ --btn-padding: 6px 12px;
2359
+ --btn-border-width: 1px;
2360
+ --card-padding: 10px 12px;
2361
+ --modal-padding: var(--space-md) var(--space-lg);
2362
+ --header-padding: var(--space-sm) var(--space-lg);
2363
+ --column-gap: var(--space-md);
2364
+ --board-padding: var(--space-md) var(--space-lg);
2365
+
2366
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2367
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2368
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2369
+ --shadow-glow: none;
2370
+ --glow-success: none;
2371
+ --glow-warning: none;
2372
+ --glow-danger: none;
2373
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2374
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2375
+ --shadow: var(--shadow-lg);
2376
+
2377
+ --cta-bg: #eab308;
2378
+ --cta-border: #eab308;
2379
+ --cta-text: #18181b;
2380
+ --cta-bg-hover: #ca8a04;
2381
+ --cta-border-hover: #ca8a04;
2382
+ --cta-glow: none;
2383
+ --logo-accent: var(--accent);
2384
+ --color-info: #eab308;
2385
+ --accent: #eab308;
2386
+ --accent-text: #18181b;
2387
+ }
2388
+
2389
+ [data-color-theme="shadcn-yellow"][data-theme="light"] {
2390
+ --bg: #ffffff;
2391
+ --surface: #ffffff;
2392
+ --card: #ffffff;
2393
+ --card-hover: #f4f4f5;
2394
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2395
+ --border: #e4e4e7;
2396
+
2397
+ --text: #09090b;
2398
+ --text-muted: #71717a;
2399
+ --text-dim: #a1a1aa;
2400
+
2401
+ --todo: #2563eb;
2402
+ --in-progress: #0284c7;
2403
+ --in-progress-rgb: 2, 132, 199;
2404
+ --in-review: #16a34a;
2405
+ --triage: #d97706;
2406
+ --done: #a1a1aa;
2407
+
2408
+ --color-success: #16a34a;
2409
+ --color-warning: #d97706;
2410
+ --color-error: #dc2626;
2411
+ --color-muted: #71717a;
2412
+
2413
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2414
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2415
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2416
+ --shadow-glow: none;
2417
+ --glow-success: none;
2418
+ --glow-warning: none;
2419
+ --glow-danger: none;
2420
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2421
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2422
+ --shadow: var(--shadow-lg);
2423
+
2424
+ --cta-bg: #ca8a04;
2425
+ --cta-border: #ca8a04;
2426
+ --cta-text: #18181b;
2427
+ --cta-bg-hover: #a16207;
2428
+ --cta-border-hover: #a16207;
2429
+ --cta-glow: none;
2430
+ --logo-accent: var(--accent);
2431
+ --color-info: #ca8a04;
2432
+ --accent: #ca8a04;
2433
+ --accent-text: #18181b;
2434
+ }
2435
+
2436
+ /*
2437
+ FNXC:DashboardTheming 2026-06-20-00:00:
2438
+ FN-6813 makes the shadcn mono theme a color family: shadcn-mono-red preserves the renamed legacy red accent while the other mono variants reuse the same zinc-neutral tokens and swap only accent/CTA values. Legacy stored shadcn-mono selections remap in bootstrap/theme hooks so users keep the red mono theme instead of falling back to default.
2439
+ */
2440
+ [data-color-theme="shadcn-mono-red"] {
2441
+ --bg: #09090b;
2442
+ --surface: #0c0c0e;
2443
+ --card: #18181b;
2444
+ --card-hover: #1f1f23;
2445
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2446
+ --border: #27272a;
2447
+
2448
+ --text: #fafafa;
2449
+ --text-muted: #a1a1aa;
2450
+ --text-dim: #52525b;
2451
+
2452
+ --todo: #a1a1aa;
2453
+ --in-progress: #71717a;
2454
+ --in-progress-rgb: 113, 113, 122;
2455
+ --in-review: #71717a;
2456
+ --triage: #a1a1aa;
2457
+ --done: #52525b;
2458
+
2459
+ --color-success: #71717a;
2460
+ --color-warning: #a1a1aa;
2461
+ --color-error: #ef4444;
2462
+ --color-muted: #71717a;
2463
+
2464
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2465
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2466
+
2467
+ --space-xs: 4px;
2468
+ --space-sm: 6px;
2469
+ --space-md: 10px;
2470
+ --space-lg: 16px;
2471
+ --space-xl: 20px;
2472
+ --space-2xl: 28px;
2473
+
2474
+ --radius-sm: 4px;
2475
+ --radius-md: 6px;
2476
+ --radius-lg: 8px;
2477
+ --radius-xl: 12px;
2478
+ --radius: var(--radius-md);
2479
+
2480
+ --btn-padding: 6px 12px;
2481
+ --btn-border-width: 1px;
2482
+ --card-padding: 10px 12px;
2483
+ --modal-padding: var(--space-md) var(--space-lg);
2484
+ --header-padding: var(--space-sm) var(--space-lg);
2485
+ --column-gap: var(--space-md);
2486
+ --board-padding: var(--space-md) var(--space-lg);
2487
+
2488
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2489
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2490
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2491
+ --shadow-glow: none;
2492
+ --glow-success: none;
2493
+ --glow-warning: none;
2494
+ --glow-danger: none;
2495
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2496
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2497
+ --shadow: var(--shadow-lg);
2498
+
2499
+ --cta-bg: #ef4444;
2500
+ --cta-border: #ef4444;
2501
+ --cta-text: #ffffff;
2502
+ --cta-bg-hover: #dc2626;
2503
+ --cta-border-hover: #dc2626;
2504
+ --cta-glow: none;
2505
+ --logo-accent: var(--accent);
2506
+ --color-info: #a1a1aa;
2507
+ --accent: #ef4444;
2508
+ --accent-text: #ffffff;
2509
+ }
2510
+
2511
+
2512
+ [data-color-theme="shadcn-mono-red"][data-theme="light"] {
2513
+ --bg: #ffffff;
2514
+ --surface: #ffffff;
2515
+ --card: #ffffff;
2516
+ --card-hover: #f4f4f5;
2517
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2518
+ --border: #e4e4e7;
2519
+
2520
+ --text: #09090b;
2521
+ --text-muted: #71717a;
2522
+ --text-dim: #a1a1aa;
2523
+
2524
+ --todo: #71717a;
2525
+ --in-progress: #71717a;
2526
+ --in-progress-rgb: 113, 113, 122;
2527
+ --in-review: #52525b;
2528
+ --triage: #71717a;
2529
+ --done: #a1a1aa;
2530
+
2531
+ --color-success: #71717a;
2532
+ --color-warning: #71717a;
2533
+ --color-error: #dc2626;
2534
+ --color-muted: #71717a;
2535
+
2536
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2537
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2538
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2539
+ --shadow-glow: none;
2540
+ --glow-success: none;
2541
+ --glow-warning: none;
2542
+ --glow-danger: none;
2543
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2544
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2545
+ --shadow: var(--shadow-lg);
2546
+
2547
+ --cta-bg: #dc2626;
2548
+ --cta-border: #dc2626;
2549
+ --cta-text: #ffffff;
2550
+ --cta-bg-hover: #b91c1c;
2551
+ --cta-border-hover: #b91c1c;
2552
+ --cta-glow: none;
2553
+ --logo-accent: var(--accent);
2554
+ --color-info: #71717a;
2555
+ --accent: #dc2626;
2556
+ --accent-text: #ffffff;
2557
+ }
2558
+
2559
+
2560
+ [data-color-theme="shadcn-mono-blue"] {
2561
+ --bg: #09090b;
2562
+ --surface: #0c0c0e;
2563
+ --card: #18181b;
2564
+ --card-hover: #1f1f23;
2565
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2566
+ --border: #27272a;
2567
+
2568
+ --text: #fafafa;
2569
+ --text-muted: #a1a1aa;
2570
+ --text-dim: #52525b;
2571
+
2572
+ --todo: #a1a1aa;
2573
+ --in-progress: #71717a;
2574
+ --in-progress-rgb: 113, 113, 122;
2575
+ --in-review: #71717a;
2576
+ --triage: #a1a1aa;
2577
+ --done: #52525b;
2578
+
2579
+ --color-success: #71717a;
2580
+ --color-warning: #a1a1aa;
2581
+ --color-error: #ef4444;
2582
+ --color-muted: #71717a;
2583
+
2584
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2585
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2586
+
2587
+ --space-xs: 4px;
2588
+ --space-sm: 6px;
2589
+ --space-md: 10px;
2590
+ --space-lg: 16px;
2591
+ --space-xl: 20px;
2592
+ --space-2xl: 28px;
2593
+
2594
+ --radius-sm: 4px;
2595
+ --radius-md: 6px;
2596
+ --radius-lg: 8px;
2597
+ --radius-xl: 12px;
2598
+ --radius: var(--radius-md);
2599
+
2600
+ --btn-padding: 6px 12px;
2601
+ --btn-border-width: 1px;
2602
+ --card-padding: 10px 12px;
2603
+ --modal-padding: var(--space-md) var(--space-lg);
2604
+ --header-padding: var(--space-sm) var(--space-lg);
2605
+ --column-gap: var(--space-md);
2606
+ --board-padding: var(--space-md) var(--space-lg);
2607
+
2608
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2609
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2610
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2611
+ --shadow-glow: none;
2612
+ --glow-success: none;
2613
+ --glow-warning: none;
2614
+ --glow-danger: none;
2615
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2616
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2617
+ --shadow: var(--shadow-lg);
2618
+
2619
+ --cta-bg: #3b82f6;
2620
+ --cta-border: #3b82f6;
2621
+ --cta-text: #ffffff;
2622
+ --cta-bg-hover: #2563eb;
2623
+ --cta-border-hover: #2563eb;
2624
+ --cta-glow: none;
2625
+ --logo-accent: var(--accent);
2626
+ --color-info: #a1a1aa;
2627
+ --accent: #3b82f6;
2628
+ --accent-text: #ffffff;
2629
+ }
2630
+
2631
+
2632
+ [data-color-theme="shadcn-mono-blue"][data-theme="light"] {
2633
+ --bg: #ffffff;
2634
+ --surface: #ffffff;
2635
+ --card: #ffffff;
2636
+ --card-hover: #f4f4f5;
2637
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2638
+ --border: #e4e4e7;
2639
+
2640
+ --text: #09090b;
2641
+ --text-muted: #71717a;
2642
+ --text-dim: #a1a1aa;
2643
+
2644
+ --todo: #71717a;
2645
+ --in-progress: #71717a;
2646
+ --in-progress-rgb: 113, 113, 122;
2647
+ --in-review: #52525b;
2648
+ --triage: #71717a;
2649
+ --done: #a1a1aa;
2650
+
2651
+ --color-success: #71717a;
2652
+ --color-warning: #71717a;
2653
+ --color-error: #dc2626;
2654
+ --color-muted: #71717a;
2655
+
2656
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2657
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2658
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2659
+ --shadow-glow: none;
2660
+ --glow-success: none;
2661
+ --glow-warning: none;
2662
+ --glow-danger: none;
2663
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2664
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2665
+ --shadow: var(--shadow-lg);
2666
+
2667
+ --cta-bg: #2563eb;
2668
+ --cta-border: #2563eb;
2669
+ --cta-text: #ffffff;
2670
+ --cta-bg-hover: #1d4ed8;
2671
+ --cta-border-hover: #1d4ed8;
2672
+ --cta-glow: none;
2673
+ --logo-accent: var(--accent);
2674
+ --color-info: #71717a;
2675
+ --accent: #2563eb;
2676
+ --accent-text: #ffffff;
2677
+ }
2678
+
2679
+
2680
+ [data-color-theme="shadcn-mono-green"] {
2681
+ --bg: #09090b;
2682
+ --surface: #0c0c0e;
2683
+ --card: #18181b;
2684
+ --card-hover: #1f1f23;
2685
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2686
+ --border: #27272a;
2687
+
2688
+ --text: #fafafa;
2689
+ --text-muted: #a1a1aa;
2690
+ --text-dim: #52525b;
2691
+
2692
+ --todo: #a1a1aa;
2693
+ --in-progress: #71717a;
2694
+ --in-progress-rgb: 113, 113, 122;
2695
+ --in-review: #71717a;
2696
+ --triage: #a1a1aa;
2697
+ --done: #52525b;
2698
+
2699
+ --color-success: #71717a;
2700
+ --color-warning: #a1a1aa;
2701
+ --color-error: #ef4444;
2702
+ --color-muted: #71717a;
2703
+
2704
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2705
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2706
+
2707
+ --space-xs: 4px;
2708
+ --space-sm: 6px;
2709
+ --space-md: 10px;
2710
+ --space-lg: 16px;
2711
+ --space-xl: 20px;
2712
+ --space-2xl: 28px;
2713
+
2714
+ --radius-sm: 4px;
2715
+ --radius-md: 6px;
2716
+ --radius-lg: 8px;
2717
+ --radius-xl: 12px;
2718
+ --radius: var(--radius-md);
2719
+
2720
+ --btn-padding: 6px 12px;
2721
+ --btn-border-width: 1px;
2722
+ --card-padding: 10px 12px;
2723
+ --modal-padding: var(--space-md) var(--space-lg);
2724
+ --header-padding: var(--space-sm) var(--space-lg);
2725
+ --column-gap: var(--space-md);
2726
+ --board-padding: var(--space-md) var(--space-lg);
2727
+
2728
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2729
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2730
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2731
+ --shadow-glow: none;
2732
+ --glow-success: none;
2733
+ --glow-warning: none;
2734
+ --glow-danger: none;
2735
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2736
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2737
+ --shadow: var(--shadow-lg);
2738
+
2739
+ --cta-bg: #22c55e;
2740
+ --cta-border: #22c55e;
2741
+ --cta-text: #ffffff;
2742
+ --cta-bg-hover: #16a34a;
2743
+ --cta-border-hover: #16a34a;
2744
+ --cta-glow: none;
2745
+ --logo-accent: var(--accent);
2746
+ --color-info: #a1a1aa;
2747
+ --accent: #22c55e;
2748
+ --accent-text: #ffffff;
2749
+ }
2750
+
2751
+
2752
+ [data-color-theme="shadcn-mono-green"][data-theme="light"] {
2753
+ --bg: #ffffff;
2754
+ --surface: #ffffff;
2755
+ --card: #ffffff;
2756
+ --card-hover: #f4f4f5;
2757
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2758
+ --border: #e4e4e7;
2759
+
2760
+ --text: #09090b;
2761
+ --text-muted: #71717a;
2762
+ --text-dim: #a1a1aa;
2763
+
2764
+ --todo: #71717a;
2765
+ --in-progress: #71717a;
2766
+ --in-progress-rgb: 113, 113, 122;
2767
+ --in-review: #52525b;
2768
+ --triage: #71717a;
2769
+ --done: #a1a1aa;
2770
+
2771
+ --color-success: #71717a;
2772
+ --color-warning: #71717a;
2773
+ --color-error: #dc2626;
2774
+ --color-muted: #71717a;
2775
+
2776
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2777
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2778
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2779
+ --shadow-glow: none;
2780
+ --glow-success: none;
2781
+ --glow-warning: none;
2782
+ --glow-danger: none;
2783
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2784
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2785
+ --shadow: var(--shadow-lg);
2786
+
2787
+ --cta-bg: #16a34a;
2788
+ --cta-border: #16a34a;
2789
+ --cta-text: #ffffff;
2790
+ --cta-bg-hover: #15803d;
2791
+ --cta-border-hover: #15803d;
2792
+ --cta-glow: none;
2793
+ --logo-accent: var(--accent);
2794
+ --color-info: #71717a;
2795
+ --accent: #16a34a;
2796
+ --accent-text: #ffffff;
2797
+ }
2798
+
2799
+
2800
+ [data-color-theme="shadcn-mono-purple"] {
2801
+ --bg: #09090b;
2802
+ --surface: #0c0c0e;
2803
+ --card: #18181b;
2804
+ --card-hover: #1f1f23;
2805
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2806
+ --border: #27272a;
2807
+
2808
+ --text: #fafafa;
2809
+ --text-muted: #a1a1aa;
2810
+ --text-dim: #52525b;
2811
+
2812
+ --todo: #a1a1aa;
2813
+ --in-progress: #71717a;
2814
+ --in-progress-rgb: 113, 113, 122;
2815
+ --in-review: #71717a;
2816
+ --triage: #a1a1aa;
2817
+ --done: #52525b;
2818
+
2819
+ --color-success: #71717a;
2820
+ --color-warning: #a1a1aa;
2821
+ --color-error: #ef4444;
2822
+ --color-muted: #71717a;
2823
+
2824
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2825
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2826
+
2827
+ --space-xs: 4px;
2828
+ --space-sm: 6px;
2829
+ --space-md: 10px;
2830
+ --space-lg: 16px;
2831
+ --space-xl: 20px;
2832
+ --space-2xl: 28px;
2833
+
2834
+ --radius-sm: 4px;
2835
+ --radius-md: 6px;
2836
+ --radius-lg: 8px;
2837
+ --radius-xl: 12px;
2838
+ --radius: var(--radius-md);
2839
+
2840
+ --btn-padding: 6px 12px;
2841
+ --btn-border-width: 1px;
2842
+ --card-padding: 10px 12px;
2843
+ --modal-padding: var(--space-md) var(--space-lg);
2844
+ --header-padding: var(--space-sm) var(--space-lg);
2845
+ --column-gap: var(--space-md);
2846
+ --board-padding: var(--space-md) var(--space-lg);
2847
+
2848
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2849
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2850
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2851
+ --shadow-glow: none;
2852
+ --glow-success: none;
2853
+ --glow-warning: none;
2854
+ --glow-danger: none;
2855
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2856
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2857
+ --shadow: var(--shadow-lg);
2858
+
2859
+ --cta-bg: #8b5cf6;
2860
+ --cta-border: #8b5cf6;
2861
+ --cta-text: #ffffff;
2862
+ --cta-bg-hover: #7c3aed;
2863
+ --cta-border-hover: #7c3aed;
2864
+ --cta-glow: none;
2865
+ --logo-accent: var(--accent);
2866
+ --color-info: #a1a1aa;
2867
+ --accent: #8b5cf6;
2868
+ --accent-text: #ffffff;
2869
+ }
2870
+
2871
+
2872
+ [data-color-theme="shadcn-mono-purple"][data-theme="light"] {
2873
+ --bg: #ffffff;
2874
+ --surface: #ffffff;
2875
+ --card: #ffffff;
2876
+ --card-hover: #f4f4f5;
2877
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2878
+ --border: #e4e4e7;
2879
+
2880
+ --text: #09090b;
2881
+ --text-muted: #71717a;
2882
+ --text-dim: #a1a1aa;
2883
+
2884
+ --todo: #71717a;
2885
+ --in-progress: #71717a;
2886
+ --in-progress-rgb: 113, 113, 122;
2887
+ --in-review: #52525b;
2888
+ --triage: #71717a;
2889
+ --done: #a1a1aa;
2890
+
2891
+ --color-success: #71717a;
2892
+ --color-warning: #71717a;
2893
+ --color-error: #dc2626;
2894
+ --color-muted: #71717a;
2895
+
2896
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2897
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2898
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2899
+ --shadow-glow: none;
2900
+ --glow-success: none;
2901
+ --glow-warning: none;
2902
+ --glow-danger: none;
2903
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2904
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2905
+ --shadow: var(--shadow-lg);
2906
+
2907
+ --cta-bg: #7c3aed;
2908
+ --cta-border: #7c3aed;
2909
+ --cta-text: #ffffff;
2910
+ --cta-bg-hover: #6d28d9;
2911
+ --cta-border-hover: #6d28d9;
2912
+ --cta-glow: none;
2913
+ --logo-accent: var(--accent);
2914
+ --color-info: #71717a;
2915
+ --accent: #7c3aed;
2916
+ --accent-text: #ffffff;
2917
+ }
2918
+
2919
+
2920
+ [data-color-theme="shadcn-mono-pink"] {
2921
+ --bg: #09090b;
2922
+ --surface: #0c0c0e;
2923
+ --card: #18181b;
2924
+ --card-hover: #1f1f23;
2925
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2926
+ --border: #27272a;
2927
+
2928
+ --text: #fafafa;
2929
+ --text-muted: #a1a1aa;
2930
+ --text-dim: #52525b;
2931
+
2932
+ --todo: #a1a1aa;
2933
+ --in-progress: #71717a;
2934
+ --in-progress-rgb: 113, 113, 122;
2935
+ --in-review: #71717a;
2936
+ --triage: #a1a1aa;
2937
+ --done: #52525b;
2938
+
2939
+ --color-success: #71717a;
2940
+ --color-warning: #a1a1aa;
2941
+ --color-error: #ef4444;
2942
+ --color-muted: #71717a;
2943
+
2944
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2945
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2946
+
2947
+ --space-xs: 4px;
2948
+ --space-sm: 6px;
2949
+ --space-md: 10px;
2950
+ --space-lg: 16px;
2951
+ --space-xl: 20px;
2952
+ --space-2xl: 28px;
2953
+
2954
+ --radius-sm: 4px;
2955
+ --radius-md: 6px;
2956
+ --radius-lg: 8px;
2957
+ --radius-xl: 12px;
2958
+ --radius: var(--radius-md);
2959
+
2960
+ --btn-padding: 6px 12px;
2961
+ --btn-border-width: 1px;
2962
+ --card-padding: 10px 12px;
2963
+ --modal-padding: var(--space-md) var(--space-lg);
2964
+ --header-padding: var(--space-sm) var(--space-lg);
2965
+ --column-gap: var(--space-md);
2966
+ --board-padding: var(--space-md) var(--space-lg);
2967
+
2968
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2969
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2970
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2971
+ --shadow-glow: none;
2972
+ --glow-success: none;
2973
+ --glow-warning: none;
2974
+ --glow-danger: none;
2975
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2976
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2977
+ --shadow: var(--shadow-lg);
2978
+
2979
+ --cta-bg: #ec4899;
2980
+ --cta-border: #ec4899;
2981
+ --cta-text: #ffffff;
2982
+ --cta-bg-hover: #db2777;
2983
+ --cta-border-hover: #db2777;
2984
+ --cta-glow: none;
2985
+ --logo-accent: var(--accent);
2986
+ --color-info: #a1a1aa;
2987
+ --accent: #ec4899;
2988
+ --accent-text: #ffffff;
2989
+ }
2990
+
2991
+
2992
+ [data-color-theme="shadcn-mono-pink"][data-theme="light"] {
2993
+ --bg: #ffffff;
2994
+ --surface: #ffffff;
2995
+ --card: #ffffff;
2996
+ --card-hover: #f4f4f5;
2997
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2998
+ --border: #e4e4e7;
2999
+
3000
+ --text: #09090b;
3001
+ --text-muted: #71717a;
3002
+ --text-dim: #a1a1aa;
3003
+
3004
+ --todo: #71717a;
3005
+ --in-progress: #71717a;
3006
+ --in-progress-rgb: 113, 113, 122;
3007
+ --in-review: #52525b;
3008
+ --triage: #71717a;
3009
+ --done: #a1a1aa;
3010
+
3011
+ --color-success: #71717a;
3012
+ --color-warning: #71717a;
3013
+ --color-error: #dc2626;
3014
+ --color-muted: #71717a;
3015
+
3016
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
3017
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
3018
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
3019
+ --shadow-glow: none;
3020
+ --glow-success: none;
3021
+ --glow-warning: none;
3022
+ --glow-danger: none;
3023
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
3024
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
3025
+ --shadow: var(--shadow-lg);
3026
+
3027
+ --cta-bg: #db2777;
3028
+ --cta-border: #db2777;
3029
+ --cta-text: #ffffff;
3030
+ --cta-bg-hover: #be185d;
3031
+ --cta-border-hover: #be185d;
3032
+ --cta-glow: none;
3033
+ --logo-accent: var(--accent);
3034
+ --color-info: #71717a;
3035
+ --accent: #db2777;
3036
+ --accent-text: #ffffff;
3037
+ }
3038
+
3039
+
3040
+ [data-color-theme="shadcn-mono-orange"] {
3041
+ --bg: #09090b;
3042
+ --surface: #0c0c0e;
3043
+ --card: #18181b;
3044
+ --card-hover: #1f1f23;
3045
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
3046
+ --border: #27272a;
3047
+
3048
+ --text: #fafafa;
3049
+ --text-muted: #a1a1aa;
3050
+ --text-dim: #52525b;
3051
+
3052
+ --todo: #a1a1aa;
3053
+ --in-progress: #71717a;
3054
+ --in-progress-rgb: 113, 113, 122;
3055
+ --in-review: #71717a;
3056
+ --triage: #a1a1aa;
3057
+ --done: #52525b;
3058
+
3059
+ --color-success: #71717a;
3060
+ --color-warning: #a1a1aa;
3061
+ --color-error: #ef4444;
3062
+ --color-muted: #71717a;
3063
+
3064
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
3065
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
3066
+
3067
+ --space-xs: 4px;
3068
+ --space-sm: 6px;
3069
+ --space-md: 10px;
3070
+ --space-lg: 16px;
3071
+ --space-xl: 20px;
3072
+ --space-2xl: 28px;
3073
+
3074
+ --radius-sm: 4px;
3075
+ --radius-md: 6px;
3076
+ --radius-lg: 8px;
3077
+ --radius-xl: 12px;
3078
+ --radius: var(--radius-md);
3079
+
3080
+ --btn-padding: 6px 12px;
3081
+ --btn-border-width: 1px;
3082
+ --card-padding: 10px 12px;
3083
+ --modal-padding: var(--space-md) var(--space-lg);
3084
+ --header-padding: var(--space-sm) var(--space-lg);
3085
+ --column-gap: var(--space-md);
3086
+ --board-padding: var(--space-md) var(--space-lg);
3087
+
3088
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
3089
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
3090
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
3091
+ --shadow-glow: none;
3092
+ --glow-success: none;
3093
+ --glow-warning: none;
3094
+ --glow-danger: none;
3095
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
3096
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
3097
+ --shadow: var(--shadow-lg);
3098
+
3099
+ --cta-bg: #f97316;
3100
+ --cta-border: #f97316;
3101
+ --cta-text: #ffffff;
3102
+ --cta-bg-hover: #ea580c;
3103
+ --cta-border-hover: #ea580c;
3104
+ --cta-glow: none;
3105
+ --logo-accent: var(--accent);
3106
+ --color-info: #a1a1aa;
3107
+ --accent: #f97316;
3108
+ --accent-text: #ffffff;
3109
+ }
3110
+
3111
+
3112
+ [data-color-theme="shadcn-mono-orange"][data-theme="light"] {
3113
+ --bg: #ffffff;
3114
+ --surface: #ffffff;
3115
+ --card: #ffffff;
3116
+ --card-hover: #f4f4f5;
3117
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
3118
+ --border: #e4e4e7;
3119
+
3120
+ --text: #09090b;
3121
+ --text-muted: #71717a;
3122
+ --text-dim: #a1a1aa;
3123
+
3124
+ --todo: #71717a;
3125
+ --in-progress: #71717a;
3126
+ --in-progress-rgb: 113, 113, 122;
3127
+ --in-review: #52525b;
3128
+ --triage: #71717a;
3129
+ --done: #a1a1aa;
3130
+
3131
+ --color-success: #71717a;
3132
+ --color-warning: #71717a;
3133
+ --color-error: #dc2626;
3134
+ --color-muted: #71717a;
3135
+
3136
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
3137
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
3138
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
3139
+ --shadow-glow: none;
3140
+ --glow-success: none;
3141
+ --glow-warning: none;
3142
+ --glow-danger: none;
3143
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
3144
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
3145
+ --shadow: var(--shadow-lg);
3146
+
3147
+ --cta-bg: #ea580c;
3148
+ --cta-border: #ea580c;
3149
+ --cta-text: #ffffff;
3150
+ --cta-bg-hover: #c2410c;
3151
+ --cta-border-hover: #c2410c;
3152
+ --cta-glow: none;
3153
+ --logo-accent: var(--accent);
3154
+ --color-info: #71717a;
3155
+ --accent: #ea580c;
3156
+ --accent-text: #ffffff;
3157
+ }
3158
+
3159
+
3160
+ [data-color-theme="shadcn-mono-yellow"] {
3161
+ --bg: #09090b;
3162
+ --surface: #0c0c0e;
3163
+ --card: #18181b;
3164
+ --card-hover: #1f1f23;
3165
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
3166
+ --border: #27272a;
3167
+
3168
+ --text: #fafafa;
3169
+ --text-muted: #a1a1aa;
3170
+ --text-dim: #52525b;
3171
+
3172
+ --todo: #a1a1aa;
3173
+ --in-progress: #71717a;
3174
+ --in-progress-rgb: 113, 113, 122;
3175
+ --in-review: #71717a;
3176
+ --triage: #a1a1aa;
3177
+ --done: #52525b;
3178
+
3179
+ --color-success: #71717a;
3180
+ --color-warning: #a1a1aa;
3181
+ --color-error: #ef4444;
3182
+ --color-muted: #71717a;
3183
+
3184
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
3185
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
3186
+
3187
+ --space-xs: 4px;
3188
+ --space-sm: 6px;
3189
+ --space-md: 10px;
3190
+ --space-lg: 16px;
3191
+ --space-xl: 20px;
3192
+ --space-2xl: 28px;
3193
+
3194
+ --radius-sm: 4px;
3195
+ --radius-md: 6px;
3196
+ --radius-lg: 8px;
3197
+ --radius-xl: 12px;
3198
+ --radius: var(--radius-md);
3199
+
3200
+ --btn-padding: 6px 12px;
3201
+ --btn-border-width: 1px;
3202
+ --card-padding: 10px 12px;
3203
+ --modal-padding: var(--space-md) var(--space-lg);
3204
+ --header-padding: var(--space-sm) var(--space-lg);
3205
+ --column-gap: var(--space-md);
3206
+ --board-padding: var(--space-md) var(--space-lg);
3207
+
3208
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
3209
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
3210
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
3211
+ --shadow-glow: none;
3212
+ --glow-success: none;
3213
+ --glow-warning: none;
3214
+ --glow-danger: none;
3215
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
3216
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
3217
+ --shadow: var(--shadow-lg);
3218
+
3219
+ --cta-bg: #eab308;
3220
+ --cta-border: #eab308;
3221
+ --cta-text: #18181b;
3222
+ --cta-bg-hover: #ca8a04;
3223
+ --cta-border-hover: #ca8a04;
3224
+ --cta-glow: none;
3225
+ --logo-accent: var(--accent);
3226
+ --color-info: #a1a1aa;
3227
+ --accent: #eab308;
3228
+ --accent-text: #18181b;
3229
+ }
3230
+
3231
+
3232
+ [data-color-theme="shadcn-mono-yellow"][data-theme="light"] {
3233
+ --bg: #ffffff;
3234
+ --surface: #ffffff;
3235
+ --card: #ffffff;
3236
+ --card-hover: #f4f4f5;
3237
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
3238
+ --border: #e4e4e7;
3239
+
3240
+ --text: #09090b;
3241
+ --text-muted: #71717a;
3242
+ --text-dim: #a1a1aa;
3243
+
3244
+ --todo: #71717a;
3245
+ --in-progress: #71717a;
3246
+ --in-progress-rgb: 113, 113, 122;
3247
+ --in-review: #52525b;
3248
+ --triage: #71717a;
3249
+ --done: #a1a1aa;
3250
+
3251
+ --color-success: #71717a;
3252
+ --color-warning: #71717a;
3253
+ --color-error: #dc2626;
3254
+ --color-muted: #71717a;
3255
+
3256
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
3257
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
3258
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
3259
+ --shadow-glow: none;
3260
+ --glow-success: none;
3261
+ --glow-warning: none;
3262
+ --glow-danger: none;
3263
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
3264
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
3265
+ --shadow: var(--shadow-lg);
3266
+
3267
+ --cta-bg: #ca8a04;
3268
+ --cta-border: #ca8a04;
3269
+ --cta-text: #18181b;
3270
+ --cta-bg-hover: #a16207;
3271
+ --cta-border-hover: #a16207;
3272
+ --cta-glow: none;
3273
+ --logo-accent: var(--accent);
3274
+ --color-info: #71717a;
3275
+ --accent: #ca8a04;
3276
+ --accent-text: #18181b;
3277
+ }
3278
+
3279
+
3280
+ [data-color-theme="shadcn-black"] {
3281
+ --bg: #09090b;
3282
+ --surface: #0c0c0e;
3283
+ --card: #18181b;
3284
+ --card-hover: #1f1f23;
3285
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
3286
+ --border: #27272a;
3287
+
3288
+ --text: #fafafa;
3289
+ --text-muted: #a1a1aa;
3290
+ --text-dim: #52525b;
3291
+
3292
+ --todo: #d4d4d8;
3293
+ --in-progress: #a1a1aa;
3294
+ --in-progress-rgb: 161, 161, 170;
3295
+ --in-review: #a1a1aa;
3296
+ --triage: #71717a;
3297
+ --done: #52525b;
3298
+
3299
+ --color-success: #a1a1aa;
3300
+ --color-warning: #71717a;
3301
+ --color-error: #d4d4d8;
3302
+ --color-muted: #71717a;
3303
+
3304
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
3305
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
3306
+
3307
+ --space-xs: 4px;
3308
+ --space-sm: 6px;
3309
+ --space-md: 10px;
3310
+ --space-lg: 16px;
3311
+ --space-xl: 20px;
3312
+ --space-2xl: 28px;
3313
+
3314
+ --radius-sm: 4px;
3315
+ --radius-md: 6px;
3316
+ --radius-lg: 8px;
3317
+ --radius-xl: 12px;
3318
+ --radius: var(--radius-md);
3319
+
3320
+ --btn-padding: 6px 12px;
3321
+ --btn-border-width: 1px;
3322
+ --card-padding: 10px 12px;
3323
+ --modal-padding: var(--space-md) var(--space-lg);
3324
+ --header-padding: var(--space-sm) var(--space-lg);
3325
+ --column-gap: var(--space-md);
3326
+ --board-padding: var(--space-md) var(--space-lg);
3327
+
3328
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
3329
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
3330
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
3331
+ --shadow-glow: none;
3332
+ --glow-success: none;
3333
+ --glow-warning: none;
3334
+ --glow-danger: none;
3335
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
3336
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
3337
+ --shadow: var(--shadow-lg);
3338
+
3339
+ --cta-bg: #fafafa;
3340
+ --cta-border: #fafafa;
3341
+ --cta-text: #18181b;
3342
+ --cta-bg-hover: #e4e4e7;
3343
+ --cta-border-hover: #e4e4e7;
3344
+ --cta-glow: none;
3345
+ --logo-accent: var(--accent);
3346
+ --color-info: #fafafa;
3347
+ --accent: #fafafa;
3348
+ --accent-text: #18181b;
3349
+ }
3350
+
3351
+ [data-color-theme="shadcn-black"][data-theme="light"] {
3352
+ --bg: #ffffff;
3353
+ --surface: #ffffff;
3354
+ --card: #ffffff;
3355
+ --card-hover: #f4f4f5;
3356
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
3357
+ --border: #e4e4e7;
3358
+
3359
+ --text: #09090b;
3360
+ --text-muted: #71717a;
3361
+ --text-dim: #a1a1aa;
3362
+
3363
+ --todo: #18181b;
3364
+ --in-progress: #3f3f46;
3365
+ --in-progress-rgb: 63, 63, 70;
3366
+ --in-review: #52525b;
3367
+ --triage: #71717a;
3368
+ --done: #a1a1aa;
3369
+
3370
+ --color-success: #3f3f46;
3371
+ --color-warning: #71717a;
3372
+ --color-error: #18181b;
3373
+ --color-muted: #71717a;
3374
+
3375
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
3376
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
3377
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
3378
+ --shadow-glow: none;
3379
+ --glow-success: none;
3380
+ --glow-warning: none;
3381
+ --glow-danger: none;
3382
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
3383
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
3384
+ --shadow: var(--shadow-lg);
3385
+
3386
+ --cta-bg: #09090b;
3387
+ --cta-border: #09090b;
3388
+ --cta-text: #fafafa;
3389
+ --cta-bg-hover: #27272a;
3390
+ --cta-border-hover: #27272a;
3391
+ --cta-glow: none;
3392
+ --logo-accent: var(--accent);
3393
+ --color-info: #09090b;
3394
+ --accent: #09090b;
3395
+ --accent-text: #fafafa;
3396
+ }
3397
+
3398
+ /*
3399
+ FNXC:DashboardTheming 2026-06-20-00:00:
3400
+ Shadcn Gray is the fully-neutral zinc variant: it keeps the shadcn surfaces and button treatment while using only zinc/gray accent, CTA, and info tokens instead of red, blue, or other chroma.
3401
+ */
3402
+ [data-color-theme="shadcn-gray"] {
3403
+ --bg: #09090b;
3404
+ --surface: #0c0c0e;
3405
+ --card: #18181b;
3406
+ --card-hover: #1f1f23;
3407
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
3408
+ --border: #27272a;
3409
+
3410
+ --text: #fafafa;
3411
+ --text-muted: #a1a1aa;
3412
+ --text-dim: #52525b;
3413
+
3414
+ --todo: #a1a1aa;
3415
+ --in-progress: #71717a;
3416
+ --in-progress-rgb: 113, 113, 122;
3417
+ --in-review: #71717a;
3418
+ --triage: #a1a1aa;
3419
+ --done: #52525b;
3420
+
3421
+ --color-success: #71717a;
3422
+ --color-warning: #a1a1aa;
3423
+ --color-error: #d4d4d8;
3424
+ --color-muted: #71717a;
3425
+
3426
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
3427
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
3428
+
3429
+ --space-xs: 4px;
3430
+ --space-sm: 6px;
3431
+ --space-md: 10px;
3432
+ --space-lg: 16px;
3433
+ --space-xl: 20px;
3434
+ --space-2xl: 28px;
3435
+
3436
+ --radius-sm: 4px;
3437
+ --radius-md: 6px;
3438
+ --radius-lg: 8px;
3439
+ --radius-xl: 12px;
3440
+ --radius: var(--radius-md);
3441
+
3442
+ --btn-padding: 6px 12px;
3443
+ --btn-border-width: 1px;
3444
+ --card-padding: 10px 12px;
3445
+ --modal-padding: var(--space-md) var(--space-lg);
3446
+ --header-padding: var(--space-sm) var(--space-lg);
3447
+ --column-gap: var(--space-md);
3448
+ --board-padding: var(--space-md) var(--space-lg);
3449
+
3450
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
3451
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
3452
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
3453
+ --shadow-glow: none;
3454
+ --glow-success: none;
3455
+ --glow-warning: none;
3456
+ --glow-danger: none;
3457
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
3458
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
3459
+ --shadow: var(--shadow-lg);
3460
+
3461
+ --cta-bg: #71717a;
3462
+ --cta-border: #71717a;
3463
+ --cta-text: #ffffff;
3464
+ --cta-bg-hover: #52525b;
3465
+ --cta-border-hover: #52525b;
3466
+ --cta-glow: none;
3467
+ --logo-accent: var(--accent);
3468
+ --color-info: #a1a1aa;
3469
+ --accent: #a1a1aa;
3470
+ --accent-text: #18181b;
713
3471
  }
714
3472
 
715
- [data-color-theme="solarized"][data-theme="light"] {
716
- --bg: #fdf6e3;
717
- --surface: #eee8d5;
718
- --card: #f5efdc;
719
- --card-hover: #e8e2d0;
3473
+ [data-color-theme="shadcn-gray"][data-theme="light"] {
3474
+ --bg: #ffffff;
3475
+ --surface: #ffffff;
3476
+ --card: #ffffff;
3477
+ --card-hover: #f4f4f5;
720
3478
  --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
721
- --border: #93a1a1;
722
- --text: #586e75;
723
- --text-muted: #657b83;
724
- --text-dim: #839496;
725
-
726
- --todo: #268bd2;
727
- --in-progress: #2aa198;
728
- --in-progress-rgb: 42, 161, 152;
729
- --in-review: #859900;
730
- --triage: #b58900;
731
- --done: #93a1a1;
732
- --color-success: #859900;
733
- --color-error: #dc322f;
3479
+ --border: #e4e4e7;
3480
+
3481
+ --text: #09090b;
3482
+ --text-muted: #71717a;
3483
+ --text-dim: #a1a1aa;
3484
+
3485
+ --todo: #71717a;
3486
+ --in-progress: #52525b;
3487
+ --in-progress-rgb: 82, 82, 91;
3488
+ --in-review: #52525b;
3489
+ --triage: #71717a;
3490
+ --done: #a1a1aa;
3491
+
3492
+ --color-success: #52525b;
3493
+ --color-warning: #71717a;
3494
+ --color-error: #3f3f46;
3495
+ --color-muted: #71717a;
3496
+
3497
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
3498
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
3499
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
3500
+ --shadow-glow: none;
3501
+ --glow-success: none;
3502
+ --glow-warning: none;
3503
+ --glow-danger: none;
3504
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
3505
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
3506
+ --shadow: var(--shadow-lg);
734
3507
 
735
- --cta-bg: #6a8800;
736
- --cta-border: #719e00;
737
- --cta-text: #fdf6e3;
738
- --cta-bg-hover: #719e00;
739
- --cta-border-hover: #859900;
740
- --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
741
- --logo-accent: var(--todo);
742
- --color-info: #2aa198;
743
- --accent: #637b00;
744
- --accent-text: #fdf6e3;
3508
+ --cta-bg: #52525b;
3509
+ --cta-border: #52525b;
3510
+ --cta-text: #ffffff;
3511
+ --cta-bg-hover: #3f3f46;
3512
+ --cta-border-hover: #3f3f46;
3513
+ --cta-glow: none;
3514
+ --logo-accent: var(--accent);
3515
+ --color-info: #52525b;
3516
+ --accent: #52525b;
3517
+ --accent-text: #ffffff;
745
3518
  }
746
3519
 
747
- /* FACTORY - Industrial Mission Control Theme
748
- A comprehensive design theme that overrides fonts, spacing, and
749
- component styling for an industrial sci-fi aesthetic.
3520
+ /*
3521
+ FNXC:Theming 2026-06-21-00:00:
3522
+ FN-6815 adds Shadcn Gray Blue as the slate-neutral shadcn variant: the whole surface ramp moves from zinc to blue-gray slate while CTA/accent tokens use muted slate-blue and the shadcn flat-shadow/no-glow treatment stays intact.
750
3523
  */
751
- [data-color-theme="factory"] {
752
- --bg: #0a0a0a;
753
- --surface: #111111;
754
- --card: #1a1a1a;
755
- --card-hover: #222222;
3524
+ [data-color-theme="shadcn-gray-blue"] {
3525
+ --bg: #020617;
3526
+ --surface: #0b1220;
3527
+ --card: #0f172a;
3528
+ --card-hover: #1e293b;
756
3529
  --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
757
- --border: #333333;
3530
+ --border: #1e293b;
758
3531
 
759
- --text: #e5e5e5;
760
- --text-muted: #888888;
761
- --text-dim: #555555;
3532
+ --text: #f8fafc;
3533
+ --text-muted: #94a3b8;
3534
+ --text-dim: #475569;
762
3535
 
763
- --todo: #f59e0b;
764
- --in-progress: #06b6d4;
765
- --in-progress-rgb: 6, 182, 212;
766
- --in-review: #22c55e;
767
- --triage: #ef4444;
768
- --done: #6b7280;
3536
+ --todo: #60a5fa;
3537
+ --in-progress: #38bdf8;
3538
+ --in-progress-rgb: 56, 189, 248;
3539
+ --in-review: #34d399;
3540
+ --triage: #f59e0b;
3541
+ --done: #64748b;
769
3542
 
770
3543
  --color-success: #22c55e;
3544
+ --color-warning: #f59e0b;
771
3545
  --color-error: #ef4444;
772
- --color-muted: #6b7280;
3546
+ --color-muted: #64748b;
773
3547
 
774
- --font-primary: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
775
- --font-mono: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
3548
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
3549
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
776
3550
 
777
- --space-xs: 2px;
778
- --space-sm: 4px;
779
- --space-md: 8px;
780
- --space-lg: 12px;
781
- --space-xl: 16px;
782
- --space-2xl: 24px;
3551
+ --space-xs: 4px;
3552
+ --space-sm: 6px;
3553
+ --space-md: 10px;
3554
+ --space-lg: 16px;
3555
+ --space-xl: 20px;
3556
+ --space-2xl: 28px;
783
3557
 
784
- --radius-sm: 2px;
785
- --radius-md: 4px;
786
- --radius-lg: 6px;
787
- --radius-xl: 8px;
3558
+ --radius-sm: 4px;
3559
+ --radius-md: 6px;
3560
+ --radius-lg: 8px;
3561
+ --radius-xl: 12px;
788
3562
  --radius: var(--radius-md);
789
3563
 
790
3564
  --btn-padding: 6px 12px;
791
- --btn-border-width: 2px;
792
- --card-padding: 8px 10px;
3565
+ --btn-border-width: 1px;
3566
+ --card-padding: 10px 12px;
793
3567
  --modal-padding: var(--space-md) var(--space-lg);
794
3568
  --header-padding: var(--space-sm) var(--space-lg);
795
- --column-gap: var(--space-sm);
3569
+ --column-gap: var(--space-md);
796
3570
  --board-padding: var(--space-md) var(--space-lg);
797
3571
 
798
- --shadow-sm: 0 1px 1px color-mix(in srgb, #000000 50%, transparent);
799
- --shadow-md: 0 2px 4px color-mix(in srgb, #000000 50%, transparent);
800
- --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 60%, transparent);
801
- --shadow-glow: 0 0 6px color-mix(in srgb, var(--todo) 40%, transparent);
802
- --glow-success: 0 0 8px color-mix(in srgb, var(--color-success) 35%, transparent);
803
- --glow-warning: 0 0 8px color-mix(in srgb, var(--todo) 40%, transparent);
804
- --glow-danger: 0 0 8px color-mix(in srgb, var(--color-error) 35%, transparent);
805
- --focus-ring: 0 0 0 2px color-mix(in srgb, var(--todo) 18%, transparent);
806
- --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--todo) 30%, transparent);
3572
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
3573
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
3574
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
3575
+ --shadow-glow: none;
3576
+ --glow-success: none;
3577
+ --glow-warning: none;
3578
+ --glow-danger: none;
3579
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
3580
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
807
3581
  --shadow: var(--shadow-lg);
808
3582
 
809
- --transition-instant: 0.05s ease;
810
- --transition-fast: 0.1s ease;
811
- --transition-normal: 0.15s ease;
812
- --transition-slow: 0.2s ease;
813
-
814
- --cta-bg: #d97706;
815
- --cta-border: #f59e0b;
816
- --cta-text: #0a0a0a;
817
- --cta-bg-hover: #f59e0b;
818
- --cta-border-hover: #fbbf24;
819
- --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 40%, transparent);
820
- --logo-accent: var(--todo);
821
- --color-info: #2563eb;
822
- --accent: #d97706;
823
- --accent-text: #0a0a0a;
3583
+ --cta-bg: #64748b;
3584
+ --cta-border: #64748b;
3585
+ --cta-text: #ffffff;
3586
+ --cta-bg-hover: #475569;
3587
+ --cta-border-hover: #475569;
3588
+ --cta-glow: none;
3589
+ --logo-accent: var(--accent);
3590
+ --color-info: #64748b;
3591
+ --accent: #64748b;
3592
+ --accent-text: #ffffff;
824
3593
  }
825
3594
 
826
- [data-color-theme="factory"][data-theme="light"] {
827
- --bg: #f5f5f5;
3595
+ [data-color-theme="shadcn-gray-blue"][data-theme="light"] {
3596
+ --bg: #ffffff;
828
3597
  --surface: #ffffff;
829
- --card: #fafafa;
830
- --card-hover: #f0f0f0;
3598
+ --card: #ffffff;
3599
+ --card-hover: #f1f5f9;
831
3600
  --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
832
- --border: #d4d4d4;
3601
+ --border: #e2e8f0;
833
3602
 
834
- --text: #1a1a1a;
835
- --text-muted: #666666;
836
- --text-dim: #999999;
3603
+ --text: #0f172a;
3604
+ --text-muted: #64748b;
3605
+ --text-dim: #94a3b8;
837
3606
 
838
- --todo: #d97706;
839
- --in-progress: #0891b2;
840
- --in-progress-rgb: 8, 145, 178;
3607
+ --todo: #2563eb;
3608
+ --in-progress: #0284c7;
3609
+ --in-progress-rgb: 2, 132, 199;
841
3610
  --in-review: #16a34a;
842
- --triage: #dc2626;
843
- --done: #4b5563;
3611
+ --triage: #d97706;
3612
+ --done: #94a3b8;
844
3613
 
845
3614
  --color-success: #16a34a;
3615
+ --color-warning: #d97706;
846
3616
  --color-error: #dc2626;
847
- --color-muted: #6b7280;
3617
+ --color-muted: #64748b;
848
3618
 
849
- --shadow-sm: 0 1px 1px color-mix(in srgb, var(--text) 10%, transparent);
850
- --shadow-md: 0 2px 4px color-mix(in srgb, var(--text) 10%, transparent);
851
- --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 15%, transparent);
852
- --shadow-glow: 0 0 6px color-mix(in srgb, var(--todo) 30%, transparent);
853
- --glow-success: 0 0 8px color-mix(in srgb, var(--color-success) 25%, transparent);
854
- --glow-warning: 0 0 8px color-mix(in srgb, var(--todo) 30%, transparent);
855
- --glow-danger: 0 0 8px color-mix(in srgb, var(--color-error) 22%, transparent);
856
- --focus-ring: 0 0 0 2px color-mix(in srgb, var(--todo) 14%, transparent);
857
- --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--todo) 24%, transparent);
3619
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
3620
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
3621
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
3622
+ --shadow-glow: none;
3623
+ --glow-success: none;
3624
+ --glow-warning: none;
3625
+ --glow-danger: none;
3626
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
3627
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
858
3628
  --shadow: var(--shadow-lg);
859
3629
 
860
- --cta-bg: #b45309;
861
- --cta-border: #d97706;
862
- --cta-text: #fff;
863
- --cta-bg-hover: #d97706;
864
- --cta-border-hover: #f59e0b;
865
- --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
866
- --logo-accent: var(--todo);
867
- --color-info: #1d4ed8;
868
- --accent: #b45309;
869
- --accent-text: #fff;
870
- }
871
-
872
- [data-color-theme="factory"] .card.agent-active {
873
- border-color: var(--todo);
874
- box-shadow:
875
- 0 0 6px color-mix(in srgb, #f59e0b 50%, transparent),
876
- 0 0 12px color-mix(in srgb, #f59e0b 20%, transparent);
877
- animation: agent-glow-factory 2s ease-in-out infinite;
878
- }
879
-
880
- @keyframes agent-glow-factory {
881
- 0%,
882
- 100% {
883
- box-shadow:
884
- 0 0 6px color-mix(in srgb, #f59e0b 50%, transparent),
885
- 0 0 12px color-mix(in srgb, #f59e0b 20%, transparent);
886
- }
887
- 50% {
888
- box-shadow:
889
- 0 0 10px color-mix(in srgb, #f59e0b 70%, transparent),
890
- 0 0 20px color-mix(in srgb, #f59e0b 40%, transparent);
891
- }
892
- }
893
-
894
- [data-color-theme="factory"][data-theme="light"] .card.agent-active {
895
- box-shadow:
896
- 0 0 6px color-mix(in srgb, #d97706 40%, transparent),
897
- 0 0 12px color-mix(in srgb, #d97706 15%, transparent);
898
- animation: agent-glow-factory-light 2s ease-in-out infinite;
899
- }
900
-
901
- @keyframes agent-glow-factory-light {
902
- 0%,
903
- 100% {
904
- box-shadow:
905
- 0 0 6px color-mix(in srgb, #d97706 40%, transparent),
906
- 0 0 12px color-mix(in srgb, #d97706 15%, transparent);
907
- }
908
- 50% {
909
- box-shadow:
910
- 0 0 10px color-mix(in srgb, #d97706 60%, transparent),
911
- 0 0 20px color-mix(in srgb, #d97706 30%, transparent);
912
- }
913
- }
914
-
915
- [data-color-theme="factory"] .btn {
916
- text-transform: uppercase;
917
- letter-spacing: 0.05em;
918
- font-weight: 600;
3630
+ --cta-bg: #475569;
3631
+ --cta-border: #475569;
3632
+ --cta-text: #ffffff;
3633
+ --cta-bg-hover: #334155;
3634
+ --cta-border-hover: #334155;
3635
+ --cta-glow: none;
3636
+ --logo-accent: var(--accent);
3637
+ --color-info: #475569;
3638
+ --accent: #475569;
3639
+ --accent-text: #ffffff;
919
3640
  }
920
3641
 
921
- [data-color-theme="factory"] .btn-primary,
922
- [data-color-theme="factory"] .btn-task-create {
923
- background: transparent;
924
- border-color: var(--todo);
925
- color: var(--todo);
3642
+ [data-color-theme="shadcn-blue"] .card.agent-active,
3643
+ [data-color-theme="shadcn-green"] .card.agent-active,
3644
+ [data-color-theme="shadcn-red"] .card.agent-active,
3645
+ [data-color-theme="shadcn-purple"] .card.agent-active,
3646
+ [data-color-theme="shadcn-pink"] .card.agent-active,
3647
+ [data-color-theme="shadcn-orange"] .card.agent-active,
3648
+ [data-color-theme="shadcn-yellow"] .card.agent-active,
3649
+ [data-color-theme="shadcn-mono-red"] .card.agent-active,
3650
+ [data-color-theme="shadcn-mono-blue"] .card.agent-active,
3651
+ [data-color-theme="shadcn-mono-green"] .card.agent-active,
3652
+ [data-color-theme="shadcn-mono-purple"] .card.agent-active,
3653
+ [data-color-theme="shadcn-mono-pink"] .card.agent-active,
3654
+ [data-color-theme="shadcn-mono-orange"] .card.agent-active,
3655
+ [data-color-theme="shadcn-mono-yellow"] .card.agent-active,
3656
+ [data-color-theme="shadcn-black"] .card.agent-active,
3657
+ [data-color-theme="shadcn-gray"] .card.agent-active,
3658
+ [data-color-theme="shadcn-gray-blue"] .card.agent-active {
3659
+ border-color: var(--accent);
3660
+ box-shadow: none;
3661
+ animation: none;
3662
+ }
3663
+
3664
+ [data-color-theme="shadcn-blue"][data-theme="light"] .card.agent-active,
3665
+ [data-color-theme="shadcn-green"][data-theme="light"] .card.agent-active,
3666
+ [data-color-theme="shadcn-red"][data-theme="light"] .card.agent-active,
3667
+ [data-color-theme="shadcn-purple"][data-theme="light"] .card.agent-active,
3668
+ [data-color-theme="shadcn-pink"][data-theme="light"] .card.agent-active,
3669
+ [data-color-theme="shadcn-orange"][data-theme="light"] .card.agent-active,
3670
+ [data-color-theme="shadcn-yellow"][data-theme="light"] .card.agent-active,
3671
+ [data-color-theme="shadcn-mono-red"][data-theme="light"] .card.agent-active,
3672
+ [data-color-theme="shadcn-mono-blue"][data-theme="light"] .card.agent-active,
3673
+ [data-color-theme="shadcn-mono-green"][data-theme="light"] .card.agent-active,
3674
+ [data-color-theme="shadcn-mono-purple"][data-theme="light"] .card.agent-active,
3675
+ [data-color-theme="shadcn-mono-pink"][data-theme="light"] .card.agent-active,
3676
+ [data-color-theme="shadcn-mono-orange"][data-theme="light"] .card.agent-active,
3677
+ [data-color-theme="shadcn-mono-yellow"][data-theme="light"] .card.agent-active,
3678
+ [data-color-theme="shadcn-black"][data-theme="light"] .card.agent-active,
3679
+ [data-color-theme="shadcn-gray"][data-theme="light"] .card.agent-active,
3680
+ [data-color-theme="shadcn-gray-blue"][data-theme="light"] .card.agent-active {
3681
+ border-color: var(--accent);
3682
+ box-shadow: none;
3683
+ animation: none;
3684
+ }
3685
+
3686
+ [data-color-theme="shadcn-blue"] .btn,
3687
+ [data-color-theme="shadcn-green"] .btn,
3688
+ [data-color-theme="shadcn-red"] .btn,
3689
+ [data-color-theme="shadcn-purple"] .btn,
3690
+ [data-color-theme="shadcn-pink"] .btn,
3691
+ [data-color-theme="shadcn-orange"] .btn,
3692
+ [data-color-theme="shadcn-yellow"] .btn,
3693
+ [data-color-theme="shadcn-mono-red"] .btn,
3694
+ [data-color-theme="shadcn-mono-blue"] .btn,
3695
+ [data-color-theme="shadcn-mono-green"] .btn,
3696
+ [data-color-theme="shadcn-mono-purple"] .btn,
3697
+ [data-color-theme="shadcn-mono-pink"] .btn,
3698
+ [data-color-theme="shadcn-mono-orange"] .btn,
3699
+ [data-color-theme="shadcn-mono-yellow"] .btn,
3700
+ [data-color-theme="shadcn-black"] .btn,
3701
+ [data-color-theme="shadcn-gray"] .btn,
3702
+ [data-color-theme="shadcn-gray-blue"] .btn {
3703
+ text-transform: none;
3704
+ letter-spacing: normal;
3705
+ font-weight: 500;
3706
+ }
3707
+
3708
+ [data-color-theme="shadcn-blue"] .btn-primary,
3709
+ [data-color-theme="shadcn-blue"] .btn-task-create,
3710
+ [data-color-theme="shadcn-green"] .btn-primary,
3711
+ [data-color-theme="shadcn-green"] .btn-task-create,
3712
+ [data-color-theme="shadcn-red"] .btn-primary,
3713
+ [data-color-theme="shadcn-red"] .btn-task-create,
3714
+ [data-color-theme="shadcn-purple"] .btn-primary,
3715
+ [data-color-theme="shadcn-purple"] .btn-task-create,
3716
+ [data-color-theme="shadcn-pink"] .btn-primary,
3717
+ [data-color-theme="shadcn-pink"] .btn-task-create,
3718
+ [data-color-theme="shadcn-orange"] .btn-primary,
3719
+ [data-color-theme="shadcn-orange"] .btn-task-create,
3720
+ [data-color-theme="shadcn-yellow"] .btn-primary,
3721
+ [data-color-theme="shadcn-yellow"] .btn-task-create,
3722
+ [data-color-theme="shadcn-mono-red"] .btn-primary,
3723
+ [data-color-theme="shadcn-mono-red"] .btn-task-create,
3724
+ [data-color-theme="shadcn-mono-blue"] .btn-primary,
3725
+ [data-color-theme="shadcn-mono-blue"] .btn-task-create,
3726
+ [data-color-theme="shadcn-mono-green"] .btn-primary,
3727
+ [data-color-theme="shadcn-mono-green"] .btn-task-create,
3728
+ [data-color-theme="shadcn-mono-purple"] .btn-primary,
3729
+ [data-color-theme="shadcn-mono-purple"] .btn-task-create,
3730
+ [data-color-theme="shadcn-mono-pink"] .btn-primary,
3731
+ [data-color-theme="shadcn-mono-pink"] .btn-task-create,
3732
+ [data-color-theme="shadcn-mono-orange"] .btn-primary,
3733
+ [data-color-theme="shadcn-mono-orange"] .btn-task-create,
3734
+ [data-color-theme="shadcn-mono-yellow"] .btn-primary,
3735
+ [data-color-theme="shadcn-mono-yellow"] .btn-task-create,
3736
+ [data-color-theme="shadcn-black"] .btn-primary,
3737
+ [data-color-theme="shadcn-black"] .btn-task-create,
3738
+ [data-color-theme="shadcn-gray"] .btn-primary,
3739
+ [data-color-theme="shadcn-gray"] .btn-task-create,
3740
+ [data-color-theme="shadcn-gray-blue"] .btn-primary,
3741
+ [data-color-theme="shadcn-gray-blue"] .btn-task-create {
3742
+ background: var(--cta-bg);
3743
+ border-color: var(--cta-border);
3744
+ color: var(--cta-text);
926
3745
  box-shadow: none;
927
3746
  }
928
3747
 
929
- [data-color-theme="factory"] .btn-primary:hover,
930
- [data-color-theme="factory"] .btn-task-create:hover {
931
- background: var(--todo);
932
- color: var(--bg);
933
- box-shadow: var(--shadow-glow);
934
- }
935
-
936
- [data-color-theme="factory"] .card,
937
- [data-color-theme="factory"] .column {
938
- border-width: 2px;
939
- }
940
-
941
- [data-color-theme="factory"] .column-header h2 {
942
- text-transform: uppercase;
943
- letter-spacing: 0.1em;
944
- font-size: 0.75rem;
3748
+ [data-color-theme="shadcn-blue"] .btn-primary:hover,
3749
+ [data-color-theme="shadcn-blue"] .btn-task-create:hover,
3750
+ [data-color-theme="shadcn-green"] .btn-primary:hover,
3751
+ [data-color-theme="shadcn-green"] .btn-task-create:hover,
3752
+ [data-color-theme="shadcn-red"] .btn-primary:hover,
3753
+ [data-color-theme="shadcn-red"] .btn-task-create:hover,
3754
+ [data-color-theme="shadcn-purple"] .btn-primary:hover,
3755
+ [data-color-theme="shadcn-purple"] .btn-task-create:hover,
3756
+ [data-color-theme="shadcn-pink"] .btn-primary:hover,
3757
+ [data-color-theme="shadcn-pink"] .btn-task-create:hover,
3758
+ [data-color-theme="shadcn-orange"] .btn-primary:hover,
3759
+ [data-color-theme="shadcn-orange"] .btn-task-create:hover,
3760
+ [data-color-theme="shadcn-yellow"] .btn-primary:hover,
3761
+ [data-color-theme="shadcn-yellow"] .btn-task-create:hover,
3762
+ [data-color-theme="shadcn-mono-red"] .btn-primary:hover,
3763
+ [data-color-theme="shadcn-mono-red"] .btn-task-create:hover,
3764
+ [data-color-theme="shadcn-mono-blue"] .btn-primary:hover,
3765
+ [data-color-theme="shadcn-mono-blue"] .btn-task-create:hover,
3766
+ [data-color-theme="shadcn-mono-green"] .btn-primary:hover,
3767
+ [data-color-theme="shadcn-mono-green"] .btn-task-create:hover,
3768
+ [data-color-theme="shadcn-mono-purple"] .btn-primary:hover,
3769
+ [data-color-theme="shadcn-mono-purple"] .btn-task-create:hover,
3770
+ [data-color-theme="shadcn-mono-pink"] .btn-primary:hover,
3771
+ [data-color-theme="shadcn-mono-pink"] .btn-task-create:hover,
3772
+ [data-color-theme="shadcn-mono-orange"] .btn-primary:hover,
3773
+ [data-color-theme="shadcn-mono-orange"] .btn-task-create:hover,
3774
+ [data-color-theme="shadcn-mono-yellow"] .btn-primary:hover,
3775
+ [data-color-theme="shadcn-mono-yellow"] .btn-task-create:hover,
3776
+ [data-color-theme="shadcn-black"] .btn-primary:hover,
3777
+ [data-color-theme="shadcn-black"] .btn-task-create:hover,
3778
+ [data-color-theme="shadcn-gray"] .btn-primary:hover,
3779
+ [data-color-theme="shadcn-gray"] .btn-task-create:hover,
3780
+ [data-color-theme="shadcn-gray-blue"] .btn-primary:hover,
3781
+ [data-color-theme="shadcn-gray-blue"] .btn-task-create:hover {
3782
+ background: var(--cta-bg-hover);
3783
+ border-color: var(--cta-border-hover);
3784
+ color: var(--cta-text);
3785
+ box-shadow: none;
945
3786
  }
946
3787
 
947
- [data-color-theme="factory"] .column-count,
948
- [data-color-theme="factory"] .card-id {
949
- font-family: var(--font-mono);
950
- font-weight: 700;
3788
+ [data-color-theme="shadcn-blue"] .card,
3789
+ [data-color-theme="shadcn-blue"] .column,
3790
+ [data-color-theme="shadcn-green"] .card,
3791
+ [data-color-theme="shadcn-green"] .column,
3792
+ [data-color-theme="shadcn-red"] .card,
3793
+ [data-color-theme="shadcn-red"] .column,
3794
+ [data-color-theme="shadcn-purple"] .card,
3795
+ [data-color-theme="shadcn-purple"] .column,
3796
+ [data-color-theme="shadcn-pink"] .card,
3797
+ [data-color-theme="shadcn-pink"] .column,
3798
+ [data-color-theme="shadcn-orange"] .card,
3799
+ [data-color-theme="shadcn-orange"] .column,
3800
+ [data-color-theme="shadcn-yellow"] .card,
3801
+ [data-color-theme="shadcn-yellow"] .column,
3802
+ [data-color-theme="shadcn-mono-red"] .card,
3803
+ [data-color-theme="shadcn-mono-red"] .column,
3804
+ [data-color-theme="shadcn-mono-blue"] .card,
3805
+ [data-color-theme="shadcn-mono-blue"] .column,
3806
+ [data-color-theme="shadcn-mono-green"] .card,
3807
+ [data-color-theme="shadcn-mono-green"] .column,
3808
+ [data-color-theme="shadcn-mono-purple"] .card,
3809
+ [data-color-theme="shadcn-mono-purple"] .column,
3810
+ [data-color-theme="shadcn-mono-pink"] .card,
3811
+ [data-color-theme="shadcn-mono-pink"] .column,
3812
+ [data-color-theme="shadcn-mono-orange"] .card,
3813
+ [data-color-theme="shadcn-mono-orange"] .column,
3814
+ [data-color-theme="shadcn-mono-yellow"] .card,
3815
+ [data-color-theme="shadcn-mono-yellow"] .column,
3816
+ [data-color-theme="shadcn-black"] .card,
3817
+ [data-color-theme="shadcn-black"] .column,
3818
+ [data-color-theme="shadcn-gray"] .card,
3819
+ [data-color-theme="shadcn-gray"] .column,
3820
+ [data-color-theme="shadcn-gray-blue"] .card,
3821
+ [data-color-theme="shadcn-gray-blue"] .column {
3822
+ border-width: var(--btn-border-width);
951
3823
  }
952
3824
 
953
3825
  /* AYU - Popular code editor theme with dark and light variants */
@@ -2774,8 +5646,13 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2774
5646
  }
2775
5647
 
2776
5648
  [data-color-theme="glass"] .modal-overlay {
2777
- backdrop-filter: blur(14px);
2778
- -webkit-backdrop-filter: blur(14px);
5649
+ /*
5650
+ FNXC:ModalChrome 2026-06-23-21:36:
5651
+ Even glass-style themes should keep modal overlays non-dimming/non-blurring; modal panels provide depth with shadows and their own translucent surfaces.
5652
+ */
5653
+ background: transparent;
5654
+ backdrop-filter: none;
5655
+ -webkit-backdrop-filter: none;
2779
5656
  }
2780
5657
 
2781
5658
  /* HORIZON - Warm sunset-inspired palette */
@@ -3979,4 +6856,3 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3979
6856
  --accent: #9a8050;
3980
6857
  --accent-text: #fff;
3981
6858
  }
3982
-