@hasna/connectors 0.2.2 → 0.2.4

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 (324) hide show
  1. package/README.md +5 -3
  2. package/bin/index.js +1073 -47
  3. package/bin/mcp.js +161 -6
  4. package/bin/serve.js +379 -9
  5. package/connectors/connect-anthropic/AGENTS.md +1 -1
  6. package/connectors/connect-anthropic/CLAUDE.md +1 -1
  7. package/connectors/connect-anthropic/GEMINI.md +1 -1
  8. package/connectors/connect-anthropic/README.md +2 -2
  9. package/connectors/connect-anthropic/src/utils/config.ts +2 -2
  10. package/connectors/connect-aws/AGENTS.md +2 -2
  11. package/connectors/connect-aws/CLAUDE.md +2 -2
  12. package/connectors/connect-aws/GEMINI.md +2 -2
  13. package/connectors/connect-aws/README.md +2 -2
  14. package/connectors/connect-aws/src/utils/config.ts +2 -2
  15. package/connectors/connect-brandsight/AGENTS.md +2 -2
  16. package/connectors/connect-brandsight/CLAUDE.md +2 -2
  17. package/connectors/connect-brandsight/GEMINI.md +2 -2
  18. package/connectors/connect-brandsight/README.md +3 -3
  19. package/connectors/connect-brandsight/src/utils/config.ts +1 -1
  20. package/connectors/connect-brandsight/src/utils/contacts.ts +1 -1
  21. package/connectors/connect-cloudflare/AGENTS.md +1 -1
  22. package/connectors/connect-cloudflare/CLAUDE.md +1 -1
  23. package/connectors/connect-cloudflare/GEMINI.md +1 -1
  24. package/connectors/connect-cloudflare/README.md +2 -2
  25. package/connectors/connect-cloudflare/src/utils/config.ts +2 -2
  26. package/connectors/connect-discord/AGENTS.md +2 -2
  27. package/connectors/connect-discord/CLAUDE.md +2 -2
  28. package/connectors/connect-discord/GEMINI.md +2 -2
  29. package/connectors/connect-discord/README.md +2 -2
  30. package/connectors/connect-discord/src/utils/config.ts +2 -2
  31. package/connectors/connect-docker/AGENTS.md +2 -2
  32. package/connectors/connect-docker/CLAUDE.md +2 -2
  33. package/connectors/connect-docker/GEMINI.md +2 -2
  34. package/connectors/connect-docker/README.md +2 -2
  35. package/connectors/connect-docker/src/utils/config.ts +2 -2
  36. package/connectors/connect-e2b/AGENTS.md +1 -1
  37. package/connectors/connect-e2b/CLAUDE.md +1 -1
  38. package/connectors/connect-e2b/GEMINI.md +1 -1
  39. package/connectors/connect-e2b/README.md +2 -2
  40. package/connectors/connect-e2b/src/utils/config.ts +2 -2
  41. package/connectors/connect-elevenlabs/AGENTS.md +1 -1
  42. package/connectors/connect-elevenlabs/CLAUDE.md +1 -1
  43. package/connectors/connect-elevenlabs/GEMINI.md +1 -1
  44. package/connectors/connect-elevenlabs/README.md +2 -2
  45. package/connectors/connect-elevenlabs/src/utils/config.ts +2 -2
  46. package/connectors/connect-exa/AGENTS.md +1 -1
  47. package/connectors/connect-exa/CLAUDE.md +1 -1
  48. package/connectors/connect-exa/GEMINI.md +1 -1
  49. package/connectors/connect-exa/README.md +2 -2
  50. package/connectors/connect-exa/src/utils/config.ts +2 -2
  51. package/connectors/connect-figma/AGENTS.md +2 -2
  52. package/connectors/connect-figma/CLAUDE.md +2 -2
  53. package/connectors/connect-figma/GEMINI.md +2 -2
  54. package/connectors/connect-figma/README.md +2 -2
  55. package/connectors/connect-figma/src/utils/config.ts +2 -2
  56. package/connectors/connect-firecrawl/AGENTS.md +1 -1
  57. package/connectors/connect-firecrawl/CLAUDE.md +1 -1
  58. package/connectors/connect-firecrawl/GEMINI.md +1 -1
  59. package/connectors/connect-firecrawl/README.md +2 -2
  60. package/connectors/connect-firecrawl/src/utils/config.ts +2 -2
  61. package/connectors/connect-github/AGENTS.md +2 -2
  62. package/connectors/connect-github/CLAUDE.md +2 -2
  63. package/connectors/connect-github/GEMINI.md +2 -2
  64. package/connectors/connect-github/README.md +2 -2
  65. package/connectors/connect-github/src/utils/config.ts +2 -2
  66. package/connectors/connect-gmail/AGENTS.md +2 -2
  67. package/connectors/connect-gmail/CLAUDE.md +2 -2
  68. package/connectors/connect-gmail/GEMINI.md +2 -2
  69. package/connectors/connect-gmail/README.md +2 -2
  70. package/connectors/connect-gmail/src/utils/config.ts +2 -2
  71. package/connectors/connect-google/AGENTS.md +1 -1
  72. package/connectors/connect-google/CLAUDE.md +1 -1
  73. package/connectors/connect-google/GEMINI.md +1 -1
  74. package/connectors/connect-google/README.md +2 -2
  75. package/connectors/connect-google/src/utils/config.ts +2 -2
  76. package/connectors/connect-googlecalendar/AGENTS.md +2 -2
  77. package/connectors/connect-googlecalendar/CLAUDE.md +2 -2
  78. package/connectors/connect-googlecalendar/GEMINI.md +2 -2
  79. package/connectors/connect-googlecalendar/README.md +2 -2
  80. package/connectors/connect-googlecalendar/src/utils/config.ts +2 -2
  81. package/connectors/connect-googlecloud/AGENTS.md +2 -2
  82. package/connectors/connect-googlecloud/CLAUDE.md +2 -2
  83. package/connectors/connect-googlecloud/GEMINI.md +2 -2
  84. package/connectors/connect-googlecloud/README.md +2 -2
  85. package/connectors/connect-googlecloud/src/utils/config.ts +2 -2
  86. package/connectors/connect-googlecontacts/AGENTS.md +4 -4
  87. package/connectors/connect-googlecontacts/CLAUDE.md +4 -4
  88. package/connectors/connect-googlecontacts/GEMINI.md +4 -4
  89. package/connectors/connect-googlecontacts/README.md +2 -2
  90. package/connectors/connect-googlecontacts/src/utils/config.ts +2 -2
  91. package/connectors/connect-googledocs/AGENTS.md +1 -1
  92. package/connectors/connect-googledocs/CLAUDE.md +1 -1
  93. package/connectors/connect-googledocs/GEMINI.md +1 -1
  94. package/connectors/connect-googledocs/README.md +2 -2
  95. package/connectors/connect-googledocs/src/utils/config.ts +2 -2
  96. package/connectors/connect-googledrive/AGENTS.md +1 -1
  97. package/connectors/connect-googledrive/CLAUDE.md +6 -6
  98. package/connectors/connect-googledrive/GEMINI.md +1 -1
  99. package/connectors/connect-googledrive/README.md +2 -2
  100. package/connectors/connect-googledrive/src/utils/config.ts +2 -2
  101. package/connectors/connect-googlegemini/AGENTS.md +2 -2
  102. package/connectors/connect-googlegemini/CLAUDE.md +2 -2
  103. package/connectors/connect-googlegemini/GEMINI.md +2 -2
  104. package/connectors/connect-googlegemini/README.md +2 -2
  105. package/connectors/connect-googlegemini/src/utils/config.ts +1 -1
  106. package/connectors/connect-googlemaps/AGENTS.md +1 -1
  107. package/connectors/connect-googlemaps/CLAUDE.md +1 -1
  108. package/connectors/connect-googlemaps/GEMINI.md +1 -1
  109. package/connectors/connect-googlemaps/README.md +2 -2
  110. package/connectors/connect-googlemaps/package.json +1 -0
  111. package/connectors/connect-googlemaps/src/utils/config.ts +1 -1
  112. package/connectors/connect-googlesheets/AGENTS.md +1 -1
  113. package/connectors/connect-googlesheets/CLAUDE.md +1 -1
  114. package/connectors/connect-googlesheets/GEMINI.md +1 -1
  115. package/connectors/connect-googlesheets/README.md +2 -2
  116. package/connectors/connect-googlesheets/src/utils/config.ts +2 -2
  117. package/connectors/connect-googletasks/AGENTS.md +1 -1
  118. package/connectors/connect-googletasks/CLAUDE.md +1 -1
  119. package/connectors/connect-googletasks/GEMINI.md +1 -1
  120. package/connectors/connect-googletasks/README.md +2 -2
  121. package/connectors/connect-googletasks/src/utils/config.ts +1 -1
  122. package/connectors/connect-hedra/AGENTS.md +2 -2
  123. package/connectors/connect-hedra/CLAUDE.md +2 -2
  124. package/connectors/connect-hedra/GEMINI.md +2 -2
  125. package/connectors/connect-hedra/README.md +2 -2
  126. package/connectors/connect-hedra/src/utils/config.ts +2 -2
  127. package/connectors/connect-heygen/AGENTS.md +2 -2
  128. package/connectors/connect-heygen/CLAUDE.md +2 -2
  129. package/connectors/connect-heygen/GEMINI.md +2 -2
  130. package/connectors/connect-heygen/README.md +2 -2
  131. package/connectors/connect-heygen/src/utils/config.ts +2 -2
  132. package/connectors/connect-huggingface/AGENTS.md +2 -2
  133. package/connectors/connect-huggingface/CLAUDE.md +2 -2
  134. package/connectors/connect-huggingface/GEMINI.md +2 -2
  135. package/connectors/connect-huggingface/README.md +2 -2
  136. package/connectors/connect-huggingface/src/utils/config.ts +2 -2
  137. package/connectors/connect-icons8/AGENTS.md +2 -2
  138. package/connectors/connect-icons8/CLAUDE.md +2 -2
  139. package/connectors/connect-icons8/GEMINI.md +2 -2
  140. package/connectors/connect-icons8/README.md +2 -2
  141. package/connectors/connect-icons8/src/utils/config.ts +2 -2
  142. package/connectors/connect-maropost/AGENTS.md +1 -1
  143. package/connectors/connect-maropost/CLAUDE.md +1 -1
  144. package/connectors/connect-maropost/GEMINI.md +1 -1
  145. package/connectors/connect-maropost/README.md +2 -2
  146. package/connectors/connect-maropost/src/utils/config.ts +2 -2
  147. package/connectors/connect-mercury/AGENTS.md +1 -1
  148. package/connectors/connect-mercury/CLAUDE.md +1 -1
  149. package/connectors/connect-mercury/GEMINI.md +1 -1
  150. package/connectors/connect-mercury/README.md +2 -2
  151. package/connectors/connect-mercury/src/utils/config.ts +2 -2
  152. package/connectors/connect-meta/AGENTS.md +1 -1
  153. package/connectors/connect-meta/CLAUDE.md +1 -1
  154. package/connectors/connect-meta/GEMINI.md +1 -1
  155. package/connectors/connect-meta/README.md +2 -2
  156. package/connectors/connect-meta/src/utils/config.ts +2 -2
  157. package/connectors/connect-midjourney/AGENTS.md +2 -2
  158. package/connectors/connect-midjourney/CLAUDE.md +2 -2
  159. package/connectors/connect-midjourney/GEMINI.md +2 -2
  160. package/connectors/connect-midjourney/README.md +2 -2
  161. package/connectors/connect-midjourney/src/utils/config.ts +2 -2
  162. package/connectors/connect-mistral/AGENTS.md +1 -1
  163. package/connectors/connect-mistral/CLAUDE.md +1 -1
  164. package/connectors/connect-mistral/GEMINI.md +1 -1
  165. package/connectors/connect-mistral/README.md +2 -2
  166. package/connectors/connect-mistral/src/utils/config.ts +2 -2
  167. package/connectors/connect-mixpanel/AGENTS.md +2 -2
  168. package/connectors/connect-mixpanel/CLAUDE.md +2 -2
  169. package/connectors/connect-mixpanel/GEMINI.md +2 -2
  170. package/connectors/connect-mixpanel/README.md +2 -2
  171. package/connectors/connect-mixpanel/src/utils/config.ts +2 -2
  172. package/connectors/connect-notion/CLAUDE.md +2 -2
  173. package/connectors/connect-notion/src/utils/config.ts +2 -2
  174. package/connectors/connect-openai/AGENTS.md +1 -1
  175. package/connectors/connect-openai/CLAUDE.md +1 -1
  176. package/connectors/connect-openai/GEMINI.md +1 -1
  177. package/connectors/connect-openai/README.md +2 -2
  178. package/connectors/connect-openai/src/utils/config.ts +2 -2
  179. package/connectors/connect-openweathermap/AGENTS.md +1 -1
  180. package/connectors/connect-openweathermap/CLAUDE.md +1 -1
  181. package/connectors/connect-openweathermap/GEMINI.md +1 -1
  182. package/connectors/connect-openweathermap/README.md +2 -2
  183. package/connectors/connect-openweathermap/src/utils/config.ts +1 -1
  184. package/connectors/connect-pandadoc/AGENTS.md +1 -1
  185. package/connectors/connect-pandadoc/CLAUDE.md +1 -1
  186. package/connectors/connect-pandadoc/GEMINI.md +1 -1
  187. package/connectors/connect-pandadoc/README.md +2 -2
  188. package/connectors/connect-pandadoc/src/utils/config.ts +2 -2
  189. package/connectors/connect-quo/AGENTS.md +1 -1
  190. package/connectors/connect-quo/CLAUDE.md +1 -1
  191. package/connectors/connect-quo/GEMINI.md +1 -1
  192. package/connectors/connect-quo/README.md +2 -2
  193. package/connectors/connect-quo/src/utils/config.ts +2 -2
  194. package/connectors/connect-reddit/AGENTS.md +2 -2
  195. package/connectors/connect-reddit/CLAUDE.md +2 -2
  196. package/connectors/connect-reddit/GEMINI.md +2 -2
  197. package/connectors/connect-reddit/README.md +2 -2
  198. package/connectors/connect-reddit/src/utils/config.ts +2 -2
  199. package/connectors/connect-reducto/AGENTS.md +1 -1
  200. package/connectors/connect-reducto/CLAUDE.md +1 -1
  201. package/connectors/connect-reducto/GEMINI.md +1 -1
  202. package/connectors/connect-reducto/README.md +2 -2
  203. package/connectors/connect-reducto/src/utils/config.ts +1 -1
  204. package/connectors/connect-resend/AGENTS.md +1 -1
  205. package/connectors/connect-resend/CLAUDE.md +1 -1
  206. package/connectors/connect-resend/GEMINI.md +1 -1
  207. package/connectors/connect-resend/README.md +2 -2
  208. package/connectors/connect-resend/src/utils/config.ts +2 -2
  209. package/connectors/connect-revolut/AGENTS.md +2 -2
  210. package/connectors/connect-revolut/CLAUDE.md +2 -2
  211. package/connectors/connect-revolut/GEMINI.md +2 -2
  212. package/connectors/connect-revolut/README.md +2 -2
  213. package/connectors/connect-revolut/src/utils/config.ts +2 -2
  214. package/connectors/connect-sedo/AGENTS.md +1 -1
  215. package/connectors/connect-sedo/CLAUDE.md +1 -1
  216. package/connectors/connect-sedo/GEMINI.md +1 -1
  217. package/connectors/connect-sedo/README.md +2 -2
  218. package/connectors/connect-sedo/src/utils/config.ts +1 -1
  219. package/connectors/connect-sentry/AGENTS.md +2 -2
  220. package/connectors/connect-sentry/CLAUDE.md +2 -2
  221. package/connectors/connect-sentry/GEMINI.md +2 -2
  222. package/connectors/connect-sentry/README.md +2 -2
  223. package/connectors/connect-sentry/src/utils/config.ts +2 -2
  224. package/connectors/connect-shadcn/AGENTS.md +2 -2
  225. package/connectors/connect-shadcn/CLAUDE.md +2 -2
  226. package/connectors/connect-shadcn/GEMINI.md +2 -2
  227. package/connectors/connect-shadcn/README.md +2 -2
  228. package/connectors/connect-shadcn/src/utils/config.ts +2 -2
  229. package/connectors/connect-shopify/AGENTS.md +2 -2
  230. package/connectors/connect-shopify/CLAUDE.md +2 -2
  231. package/connectors/connect-shopify/GEMINI.md +2 -2
  232. package/connectors/connect-shopify/README.md +2 -2
  233. package/connectors/connect-shopify/package.json +1 -0
  234. package/connectors/connect-shopify/src/utils/config.ts +2 -2
  235. package/connectors/connect-snap/AGENTS.md +1 -1
  236. package/connectors/connect-snap/CLAUDE.md +1 -1
  237. package/connectors/connect-snap/GEMINI.md +1 -1
  238. package/connectors/connect-snap/README.md +2 -2
  239. package/connectors/connect-snap/src/utils/config.ts +2 -2
  240. package/connectors/connect-stabilityai/AGENTS.md +1 -1
  241. package/connectors/connect-stabilityai/CLAUDE.md +1 -1
  242. package/connectors/connect-stabilityai/GEMINI.md +1 -1
  243. package/connectors/connect-stabilityai/README.md +2 -2
  244. package/connectors/connect-stabilityai/src/utils/config.ts +2 -2
  245. package/connectors/connect-stripe/AGENTS.md +2 -2
  246. package/connectors/connect-stripe/CLAUDE.md +2 -2
  247. package/connectors/connect-stripe/GEMINI.md +2 -2
  248. package/connectors/connect-stripe/README.md +2 -2
  249. package/connectors/connect-stripe/src/utils/config.ts +2 -2
  250. package/connectors/connect-stripeatlas/AGENTS.md +2 -2
  251. package/connectors/connect-stripeatlas/CLAUDE.md +2 -2
  252. package/connectors/connect-stripeatlas/GEMINI.md +2 -2
  253. package/connectors/connect-stripeatlas/README.md +2 -2
  254. package/connectors/connect-stripeatlas/src/utils/config.ts +2 -2
  255. package/connectors/connect-substack/AGENTS.md +2 -2
  256. package/connectors/connect-substack/CLAUDE.md +2 -2
  257. package/connectors/connect-substack/GEMINI.md +2 -2
  258. package/connectors/connect-substack/README.md +2 -2
  259. package/connectors/connect-substack/src/utils/config.ts +2 -2
  260. package/connectors/connect-tiktok/AGENTS.md +1 -1
  261. package/connectors/connect-tiktok/CLAUDE.md +1 -1
  262. package/connectors/connect-tiktok/GEMINI.md +1 -1
  263. package/connectors/connect-tiktok/README.md +2 -2
  264. package/connectors/connect-tiktok/src/utils/config.ts +2 -2
  265. package/connectors/connect-tinker/AGENTS.md +2 -2
  266. package/connectors/connect-tinker/CLAUDE.md +2 -2
  267. package/connectors/connect-tinker/GEMINI.md +2 -2
  268. package/connectors/connect-tinker/README.md +2 -2
  269. package/connectors/connect-tinker/src/utils/config.ts +2 -2
  270. package/connectors/connect-twilio/AGENTS.md +1 -1
  271. package/connectors/connect-twilio/CLAUDE.md +1 -1
  272. package/connectors/connect-twilio/GEMINI.md +1 -1
  273. package/connectors/connect-twilio/README.md +2 -2
  274. package/connectors/connect-twilio/src/utils/config.ts +3 -3
  275. package/connectors/connect-uspto/AGENTS.md +1 -1
  276. package/connectors/connect-uspto/CLAUDE.md +1 -1
  277. package/connectors/connect-uspto/GEMINI.md +1 -1
  278. package/connectors/connect-uspto/README.md +2 -2
  279. package/connectors/connect-uspto/src/utils/config.ts +2 -2
  280. package/connectors/connect-webflow/AGENTS.md +2 -2
  281. package/connectors/connect-webflow/CLAUDE.md +2 -2
  282. package/connectors/connect-webflow/GEMINI.md +2 -2
  283. package/connectors/connect-webflow/README.md +2 -2
  284. package/connectors/connect-webflow/package.json +1 -0
  285. package/connectors/connect-webflow/src/utils/config.ts +2 -2
  286. package/connectors/connect-wix/AGENTS.md +2 -2
  287. package/connectors/connect-wix/CLAUDE.md +2 -2
  288. package/connectors/connect-wix/GEMINI.md +2 -2
  289. package/connectors/connect-wix/README.md +2 -2
  290. package/connectors/connect-wix/package.json +1 -0
  291. package/connectors/connect-wix/src/utils/config.ts +2 -2
  292. package/connectors/connect-x/AGENTS.md +1 -1
  293. package/connectors/connect-x/CLAUDE.md +1 -1
  294. package/connectors/connect-x/GEMINI.md +1 -1
  295. package/connectors/connect-x/README.md +2 -2
  296. package/connectors/connect-x/src/utils/config.ts +2 -2
  297. package/connectors/connect-xads/AGENTS.md +2 -2
  298. package/connectors/connect-xads/CLAUDE.md +2 -2
  299. package/connectors/connect-xads/GEMINI.md +2 -2
  300. package/connectors/connect-xads/README.md +2 -2
  301. package/connectors/connect-xads/src/utils/config.ts +1 -1
  302. package/connectors/connect-xai/AGENTS.md +1 -1
  303. package/connectors/connect-xai/CLAUDE.md +1 -1
  304. package/connectors/connect-xai/GEMINI.md +1 -1
  305. package/connectors/connect-xai/README.md +2 -2
  306. package/connectors/connect-xai/src/utils/config.ts +2 -2
  307. package/connectors/connect-youtube/AGENTS.md +1 -1
  308. package/connectors/connect-youtube/CLAUDE.md +1 -1
  309. package/connectors/connect-youtube/GEMINI.md +1 -1
  310. package/connectors/connect-youtube/README.md +2 -2
  311. package/connectors/connect-youtube/src/utils/config.ts +2 -2
  312. package/connectors/connect-zoom/AGENTS.md +2 -2
  313. package/connectors/connect-zoom/CLAUDE.md +2 -2
  314. package/connectors/connect-zoom/GEMINI.md +2 -2
  315. package/connectors/connect-zoom/README.md +2 -2
  316. package/connectors/connect-zoom/src/utils/config.ts +2 -2
  317. package/dashboard/dist/assets/index-DmR_QNtT.css +1 -0
  318. package/dashboard/dist/assets/index-Dp-apHbC.js +284 -0
  319. package/dashboard/dist/index.html +2 -2
  320. package/dist/server/auth.d.ts +20 -0
  321. package/dist/server/serve.d.ts +1 -1
  322. package/package.json +5 -1
  323. package/dashboard/dist/assets/index-BZZ_709y.css +0 -1
  324. package/dashboard/dist/assets/index-CBroKWCD.js +0 -234
@@ -58,7 +58,7 @@ API Key authentication. Credentials can be set via:
58
58
 
59
59
  ### Multi-Profile Configuration
60
60
 
61
- Profiles stored in `~/.connect/connect-wix/profiles/`:
61
+ Profiles stored in `~/.connectors/connect-wix/profiles/`:
62
62
  - Each profile is a separate JSON file
63
63
  - `current_profile` file tracks active profile
64
64
  - `--profile` flag overrides for single command
@@ -168,7 +168,7 @@ connect-wix config show
168
168
  ## Data Storage
169
169
 
170
170
  ```
171
- ~/.connect/connect-wix/
171
+ ~/.connectors/connect-wix/
172
172
  ├── current_profile # Active profile name
173
173
  └── profiles/
174
174
  ├── default.json # Default profile
@@ -58,7 +58,7 @@ API Key authentication. Credentials can be set via:
58
58
 
59
59
  ### Multi-Profile Configuration
60
60
 
61
- Profiles stored in `~/.connect/connect-wix/profiles/`:
61
+ Profiles stored in `~/.connectors/connect-wix/profiles/`:
62
62
  - Each profile is a separate JSON file
63
63
  - `current_profile` file tracks active profile
64
64
  - `--profile` flag overrides for single command
@@ -168,7 +168,7 @@ connect-wix config show
168
168
  ## Data Storage
169
169
 
170
170
  ```
171
- ~/.connect/connect-wix/
171
+ ~/.connectors/connect-wix/
172
172
  ├── current_profile # Active profile name
173
173
  └── profiles/
174
174
  ├── default.json # Default profile
@@ -58,7 +58,7 @@ API Key authentication. Credentials can be set via:
58
58
 
59
59
  ### Multi-Profile Configuration
60
60
 
61
- Profiles stored in `~/.connect/connect-wix/profiles/`:
61
+ Profiles stored in `~/.connectors/connect-wix/profiles/`:
62
62
  - Each profile is a separate JSON file
63
63
  - `current_profile` file tracks active profile
64
64
  - `--profile` flag overrides for single command
@@ -168,7 +168,7 @@ connect-wix config show
168
168
  ## Data Storage
169
169
 
170
170
  ```
171
- ~/.connect/connect-wix/
171
+ ~/.connectors/connect-wix/
172
172
  ├── current_profile # Active profile name
173
173
  └── profiles/
174
174
  ├── default.json # Default profile
@@ -132,10 +132,10 @@ const client = new Wix({ apiKey: 'YOUR_API_KEY' });
132
132
 
133
133
  ## Data Storage
134
134
 
135
- Configuration stored in `~/.connect/connect-wix/`:
135
+ Configuration stored in `~/.connectors/connect-wix/`:
136
136
 
137
137
  ```
138
- ~/.connect/connect-wix/
138
+ ~/.connectors/connect-wix/
139
139
  ├── current_profile # Active profile name
140
140
  └── profiles/
141
141
  ├── default.json # Default profile
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@hasna/connect-wix",
3
3
  "version": "0.1.0",
4
+ "license": "Apache-2.0",
4
5
  "description": "Wix API connector - Sites, Contacts, Members, Products, Orders, Inventory, Bookings with multi-profile support",
5
6
  "type": "module",
6
7
  "main": "./dist/index.js",
@@ -14,8 +14,8 @@ export interface ProfileConfig {
14
14
  // Store for --profile flag override (set by CLI before commands run)
15
15
  let profileOverride: string | undefined;
16
16
 
17
- // Config directory: ~/.connect/{connector-name}/
18
- const CONFIG_DIR = join(homedir(), '.connect', CONNECTOR_NAME);
17
+ // Config directory: ~/.connectors/{connector-name}/
18
+ const CONFIG_DIR = join(homedir(), '.connectors', CONNECTOR_NAME);
19
19
  const PROFILES_DIR = join(CONFIG_DIR, 'profiles');
20
20
  const CURRENT_PROFILE_FILE = join(CONFIG_DIR, 'current_profile');
21
21
 
@@ -71,7 +71,7 @@ OAuth authentication. Credentials can be set via:
71
71
  ## Data Storage
72
72
 
73
73
  ```
74
- ~/.connect/connect-x/
74
+ ~/.connectors/connect-x/
75
75
  ├── current_profile # Active profile name
76
76
  └── profiles/
77
77
  ├── default.json # Default profile
@@ -71,7 +71,7 @@ OAuth authentication. Credentials can be set via:
71
71
  ## Data Storage
72
72
 
73
73
  ```
74
- ~/.connect/connect-x/
74
+ ~/.connectors/connect-x/
75
75
  ├── current_profile # Active profile name
76
76
  └── profiles/
77
77
  ├── default.json # Default profile
@@ -71,7 +71,7 @@ OAuth authentication. Credentials can be set via:
71
71
  ## Data Storage
72
72
 
73
73
  ```
74
- ~/.connect/connect-x/
74
+ ~/.connectors/connect-x/
75
75
  ├── current_profile # Active profile name
76
76
  └── profiles/
77
77
  ├── default.json # Default profile
@@ -71,10 +71,10 @@ const client = new X({ apiKey: 'YOUR_API_KEY' });
71
71
 
72
72
  ## Data Storage
73
73
 
74
- Configuration stored in `~/.connect/connect-x/`:
74
+ Configuration stored in `~/.connectors/connect-x/`:
75
75
 
76
76
  ```
77
- ~/.connect/connect-x/
77
+ ~/.connectors/connect-x/
78
78
  ├── current_profile # Active profile name
79
79
  └── profiles/
80
80
  ├── default.json # Default profile
@@ -32,8 +32,8 @@ export interface ProfileConfig {
32
32
  // Store for --profile flag override (set by CLI before commands run)
33
33
  let profileOverride: string | undefined;
34
34
 
35
- // Config directory: ~/.connect/connect-x/
36
- const CONFIG_DIR = join(homedir(), '.connect', CONNECTOR_NAME);
35
+ // Config directory: ~/.connectors/connect-x/
36
+ const CONFIG_DIR = join(homedir(), '.connectors', CONNECTOR_NAME);
37
37
  const PROFILES_DIR = join(CONFIG_DIR, 'profiles');
38
38
  const CURRENT_PROFILE_FILE = join(CONFIG_DIR, 'current_profile');
39
39
  const CREDENTIALS_FILE = join(CONFIG_DIR, 'credentials.json');
@@ -58,7 +58,7 @@ OAuth authentication. Credentials can be set via:
58
58
 
59
59
  ### Multi-Profile Configuration
60
60
 
61
- Profiles stored in `~/.connect/connect-xads/profiles/`:
61
+ Profiles stored in `~/.connectors/connect-xads/profiles/`:
62
62
  - Each profile is a separate JSON file
63
63
  - `current_profile` file tracks active profile
64
64
  - `--profile` flag overrides for single command
@@ -170,7 +170,7 @@ connect-xads auth status
170
170
  ## Data Storage
171
171
 
172
172
  ```
173
- ~/.connect/connect-xads/
173
+ ~/.connectors/connect-xads/
174
174
  ├── current_profile # Active profile name
175
175
  └── profiles/
176
176
  ├── default.json # Default profile
@@ -58,7 +58,7 @@ OAuth authentication. Credentials can be set via:
58
58
 
59
59
  ### Multi-Profile Configuration
60
60
 
61
- Profiles stored in `~/.connect/connect-xads/profiles/`:
61
+ Profiles stored in `~/.connectors/connect-xads/profiles/`:
62
62
  - Each profile is a separate JSON file
63
63
  - `current_profile` file tracks active profile
64
64
  - `--profile` flag overrides for single command
@@ -170,7 +170,7 @@ connect-xads auth status
170
170
  ## Data Storage
171
171
 
172
172
  ```
173
- ~/.connect/connect-xads/
173
+ ~/.connectors/connect-xads/
174
174
  ├── current_profile # Active profile name
175
175
  └── profiles/
176
176
  ├── default.json # Default profile
@@ -58,7 +58,7 @@ OAuth authentication. Credentials can be set via:
58
58
 
59
59
  ### Multi-Profile Configuration
60
60
 
61
- Profiles stored in `~/.connect/connect-xads/profiles/`:
61
+ Profiles stored in `~/.connectors/connect-xads/profiles/`:
62
62
  - Each profile is a separate JSON file
63
63
  - `current_profile` file tracks active profile
64
64
  - `--profile` flag overrides for single command
@@ -170,7 +170,7 @@ connect-xads auth status
170
170
  ## Data Storage
171
171
 
172
172
  ```
173
- ~/.connect/connect-xads/
173
+ ~/.connectors/connect-xads/
174
174
  ├── current_profile # Active profile name
175
175
  └── profiles/
176
176
  ├── default.json # Default profile
@@ -130,10 +130,10 @@ const client = new Xads({ apiKey: 'YOUR_API_KEY' });
130
130
 
131
131
  ## Data Storage
132
132
 
133
- Configuration stored in `~/.connect/connect-xads/`:
133
+ Configuration stored in `~/.connectors/connect-xads/`:
134
134
 
135
135
  ```
136
- ~/.connect/connect-xads/
136
+ ~/.connectors/connect-xads/
137
137
  ├── current_profile # Active profile name
138
138
  └── profiles/
139
139
  ├── default.json # Default profile
@@ -4,7 +4,7 @@ import * as os from 'os';
4
4
  import type { XAdsConfig } from '../types';
5
5
 
6
6
  const CONNECTOR_NAME = 'connect-xads';
7
- const CONFIG_DIR = path.join(os.homedir(), '.connect', CONNECTOR_NAME);
7
+ const CONFIG_DIR = path.join(os.homedir(), '.connectors', CONNECTOR_NAME);
8
8
  const PROFILES_DIR = path.join(CONFIG_DIR, 'profiles');
9
9
  const CURRENT_PROFILE_FILE = path.join(CONFIG_DIR, 'current_profile');
10
10
 
@@ -84,7 +84,7 @@ connect-xai profile list|use|create|delete|show
84
84
  ## Data Storage
85
85
 
86
86
  ```
87
- ~/.connect/connect-xai/
87
+ ~/.connectors/connect-xai/
88
88
  ├── current_profile # Active profile name
89
89
  └── profiles/
90
90
  ├── default.json # Default profile
@@ -84,7 +84,7 @@ connect-xai profile list|use|create|delete|show
84
84
  ## Data Storage
85
85
 
86
86
  ```
87
- ~/.connect/connect-xai/
87
+ ~/.connectors/connect-xai/
88
88
  ├── current_profile # Active profile name
89
89
  └── profiles/
90
90
  ├── default.json # Default profile
@@ -84,7 +84,7 @@ connect-xai profile list|use|create|delete|show
84
84
  ## Data Storage
85
85
 
86
86
  ```
87
- ~/.connect/connect-xai/
87
+ ~/.connectors/connect-xai/
88
88
  ├── current_profile # Active profile name
89
89
  └── profiles/
90
90
  ├── default.json # Default profile
@@ -75,10 +75,10 @@ const client = new Xai({ apiKey: 'YOUR_API_KEY' });
75
75
 
76
76
  ## Data Storage
77
77
 
78
- Configuration stored in `~/.connect/connect-xai/`:
78
+ Configuration stored in `~/.connectors/connect-xai/`:
79
79
 
80
80
  ```
81
- ~/.connect/connect-xai/
81
+ ~/.connectors/connect-xai/
82
82
  ├── current_profile # Active profile name
83
83
  └── profiles/
84
84
  ├── default.json # Default profile
@@ -13,8 +13,8 @@ export interface ProfileConfig {
13
13
  // Store for --profile flag override (set by CLI before commands run)
14
14
  let profileOverride: string | undefined;
15
15
 
16
- // Config directory: ~/.connect/{connector-name}/
17
- const CONFIG_DIR = join(homedir(), '.connect', CONNECTOR_NAME);
16
+ // Config directory: ~/.connectors/{connector-name}/
17
+ const CONFIG_DIR = join(homedir(), '.connectors', CONNECTOR_NAME);
18
18
  const PROFILES_DIR = join(CONFIG_DIR, 'profiles');
19
19
  const CURRENT_PROFILE_FILE = join(CONFIG_DIR, 'current_profile');
20
20
 
@@ -63,7 +63,7 @@ API Key authentication. Credentials can be set via:
63
63
  ## Data Storage
64
64
 
65
65
  ```
66
- ~/.connect/connect-youtube/
66
+ ~/.connectors/connect-youtube/
67
67
  ├── current_profile # Active profile name
68
68
  └── profiles/
69
69
  ├── default.json # Default profile
@@ -63,7 +63,7 @@ API Key authentication. Credentials can be set via:
63
63
  ## Data Storage
64
64
 
65
65
  ```
66
- ~/.connect/connect-youtube/
66
+ ~/.connectors/connect-youtube/
67
67
  ├── current_profile # Active profile name
68
68
  └── profiles/
69
69
  ├── default.json # Default profile
@@ -63,7 +63,7 @@ API Key authentication. Credentials can be set via:
63
63
  ## Data Storage
64
64
 
65
65
  ```
66
- ~/.connect/connect-youtube/
66
+ ~/.connectors/connect-youtube/
67
67
  ├── current_profile # Active profile name
68
68
  └── profiles/
69
69
  ├── default.json # Default profile
@@ -63,10 +63,10 @@ const client = new Youtube({ apiKey: 'YOUR_API_KEY' });
63
63
 
64
64
  ## Data Storage
65
65
 
66
- Configuration stored in `~/.connect/connect-youtube/`:
66
+ Configuration stored in `~/.connectors/connect-youtube/`:
67
67
 
68
68
  ```
69
- ~/.connect/connect-youtube/
69
+ ~/.connectors/connect-youtube/
70
70
  ├── current_profile # Active profile name
71
71
  └── profiles/
72
72
  ├── default.json # Default profile
@@ -18,9 +18,9 @@ export interface ProfileConfig {
18
18
  // Store for --profile flag override (set by CLI before commands run)
19
19
  let profileOverride: string | undefined;
20
20
 
21
- // Store config in ~/.connect/connect-youtube/ (always in home directory)
21
+ // Store config in ~/.connectors/connect-youtube/ (always in home directory)
22
22
  function resolveBaseConfigDir(): string {
23
- return join(homedir(), '.connect', CONNECTOR_NAME);
23
+ return join(homedir(), '.connectors', CONNECTOR_NAME);
24
24
  }
25
25
 
26
26
  const BASE_CONFIG_DIR = resolveBaseConfigDir();
@@ -58,7 +58,7 @@ OAuth authentication. Credentials can be set via:
58
58
 
59
59
  ### Multi-Profile Configuration
60
60
 
61
- Profiles stored in `~/.connect/connect-zoom/profiles/`:
61
+ Profiles stored in `~/.connectors/connect-zoom/profiles/`:
62
62
  - Each profile is a separate JSON file
63
63
  - `current_profile` file tracks active profile
64
64
  - `--profile` flag overrides for single command
@@ -151,7 +151,7 @@ connect-zoom reports daily --year <year> --month <month>
151
151
  ## Data Storage
152
152
 
153
153
  ```
154
- ~/.connect/connect-zoom/
154
+ ~/.connectors/connect-zoom/
155
155
  ├── current_profile # Active profile name
156
156
  └── profiles/
157
157
  ├── default.json # Default profile
@@ -58,7 +58,7 @@ OAuth authentication. Credentials can be set via:
58
58
 
59
59
  ### Multi-Profile Configuration
60
60
 
61
- Profiles stored in `~/.connect/connect-zoom/profiles/`:
61
+ Profiles stored in `~/.connectors/connect-zoom/profiles/`:
62
62
  - Each profile is a separate JSON file
63
63
  - `current_profile` file tracks active profile
64
64
  - `--profile` flag overrides for single command
@@ -151,7 +151,7 @@ connect-zoom reports daily --year <year> --month <month>
151
151
  ## Data Storage
152
152
 
153
153
  ```
154
- ~/.connect/connect-zoom/
154
+ ~/.connectors/connect-zoom/
155
155
  ├── current_profile # Active profile name
156
156
  └── profiles/
157
157
  ├── default.json # Default profile
@@ -58,7 +58,7 @@ OAuth authentication. Credentials can be set via:
58
58
 
59
59
  ### Multi-Profile Configuration
60
60
 
61
- Profiles stored in `~/.connect/connect-zoom/profiles/`:
61
+ Profiles stored in `~/.connectors/connect-zoom/profiles/`:
62
62
  - Each profile is a separate JSON file
63
63
  - `current_profile` file tracks active profile
64
64
  - `--profile` flag overrides for single command
@@ -151,7 +151,7 @@ connect-zoom reports daily --year <year> --month <month>
151
151
  ## Data Storage
152
152
 
153
153
  ```
154
- ~/.connect/connect-zoom/
154
+ ~/.connectors/connect-zoom/
155
155
  ├── current_profile # Active profile name
156
156
  └── profiles/
157
157
  ├── default.json # Default profile
@@ -114,10 +114,10 @@ const client = new Zoom({ apiKey: 'YOUR_API_KEY' });
114
114
 
115
115
  ## Data Storage
116
116
 
117
- Configuration stored in `~/.connect/connect-zoom/`:
117
+ Configuration stored in `~/.connectors/connect-zoom/`:
118
118
 
119
119
  ```
120
- ~/.connect/connect-zoom/
120
+ ~/.connectors/connect-zoom/
121
121
  ├── current_profile # Active profile name
122
122
  └── profiles/
123
123
  ├── default.json # Default profile
@@ -16,8 +16,8 @@ export interface ProfileConfig {
16
16
  // Store for --profile flag override (set by CLI before commands run)
17
17
  let profileOverride: string | undefined;
18
18
 
19
- // Config directory: ~/.connect/{connector-name}/
20
- const CONFIG_DIR = join(homedir(), '.connect', CONNECTOR_NAME);
19
+ // Config directory: ~/.connectors/{connector-name}/
20
+ const CONFIG_DIR = join(homedir(), '.connectors', CONNECTOR_NAME);
21
21
  const PROFILES_DIR = join(CONFIG_DIR, 'profiles');
22
22
  const CURRENT_PROFILE_FILE = join(CONFIG_DIR, 'current_profile');
23
23
 
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-950:oklch(26.2% .051 172.552);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-950:oklch(25.7% .09 281.288);--color-purple-500:oklch(62.7% .265 303.9);--color-gray-300:oklch(87.2% .01 258.338);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.end{inset-inline-end:var(--spacing)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.bottom-6{bottom:calc(var(--spacing) * 6)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-1{margin-right:calc(var(--spacing) * 1)}.-ml-3{margin-left:calc(var(--spacing) * -3)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-24{height:calc(var(--spacing) * 24)}.h-px{height:1px}.max-h-\[85vh\]{max-height:85vh}.min-h-screen{min-height:100vh}.w-16{width:calc(var(--spacing) * 16)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8rem\]{min-width:8rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-amber-300{border-color:var(--color-amber-300)}.border-border{border-color:var(--border)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-input{border-color:var(--input)}.border-muted-foreground\/20{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/20{border-color:color-mix(in oklab,var(--muted-foreground) 20%,transparent)}}.border-orange-300{border-color:var(--color-orange-300)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.bg-amber-100{background-color:var(--color-amber-100)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\/30{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,var(--muted-foreground) 30%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-50{background-color:var(--color-red-50)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-amber-700{color:var(--color-amber-700)}.text-blue-500{color:var(--color-blue-500)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground{color:var(--foreground)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-700{color:var(--color-indigo-700)}.text-muted-foreground,.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground) 60%,transparent)}}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-500{color:var(--color-purple-500)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:var(--primary)}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:.15s ease-in exit}.data-\[state\=open\]\:animate-in[data-state=open]{animation:.2s ease-out enter}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:-rotate-90{rotate:-90deg}.dark\:rotate-0{rotate:none}.dark\:border-amber-800{border-color:var(--color-amber-800)}.dark\:border-green-800{border-color:var(--color-green-800)}.dark\:border-green-900{border-color:var(--color-green-900)}.dark\:border-input{border-color:var(--input)}.dark\:border-orange-800{border-color:var(--color-orange-800)}.dark\:border-red-900{border-color:var(--color-red-900)}.dark\:bg-amber-950{background-color:var(--color-amber-950)}.dark\:bg-destructive\/60{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.dark\:bg-emerald-950{background-color:var(--color-emerald-950)}.dark\:bg-green-950{background-color:var(--color-green-950)}.dark\:bg-indigo-950{background-color:var(--color-indigo-950)}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:bg-red-950{background-color:var(--color-red-950)}.dark\:text-amber-300{color:var(--color-amber-300)}.dark\:text-amber-400{color:var(--color-amber-400)}.dark\:text-emerald-300{color:var(--color-emerald-300)}.dark\:text-green-200{color:var(--color-green-200)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-indigo-300{color:var(--color-indigo-300)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-red-200{color:var(--color-red-200)}.dark\:text-red-400{color:var(--color-red-400)}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@keyframes enter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.5% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(96.5% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(96.5% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.1% 0 0);--input:oklch(92.1% 0 0);--ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(17.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(17.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(98.5% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(39.6% .141 25.723);--border:oklch(26.9% 0 0);--input:oklch(26.9% 0 0);--ring:oklch(43.9% 0 0)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}