@peak-ai/canvas 1.4.38 → 1.4.39-rc.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":["tailwindCompiledCss"],"sources":["../../src/helpers/css.ts"],"sourcesContent":["export const tailwindCompiledCss = `/*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */\n:root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-green-300: oklch(87.1% 0.15 154.449);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-blue-50: oklch(97% 0.014 254.604);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-purple-600: oklch(55.8% 0.288 302.321);\n --color-pink-50: oklch(97.1% 0.014 343.198);\n --color-pink-900: oklch(40.8% 0.153 2.432);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-gray-50: oklch(98.5% 0.002 247.839);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --color-gray-200: oklch(92.8% 0.006 264.531);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-gray-700: oklch(37.3% 0.034 259.733);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-gray-900: oklch(21% 0.034 264.665);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-md: 28rem;\n --container-2xl: 42rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --leading-relaxed: 1.625;\n --radius-sm: calc(0.625rem - 4px);\n --radius-md: calc(0.625rem - 2px);\n --radius-lg: 0.625rem;\n --radius-xl: calc(0.625rem + 4px);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --aspect-video: 16 / 9;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-border: oklch(0.922 0 0);\n }\n*, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\nhtml, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n 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\");\n font-feature-settings: normal;\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: normal;\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\nhr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\na {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\nb, strong {\n font-weight: bolder;\n }\ncode, kbd, samp, pre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: normal;\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: normal;\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\nsmall {\n font-size: 80%;\n }\nsub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\nsub {\n bottom: -0.25em;\n }\nsup {\n top: -0.5em;\n }\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n:-moz-focusring {\n outline: auto;\n }\nprogress {\n vertical-align: baseline;\n }\nsummary {\n display: list-item;\n }\nol, ul, menu {\n list-style: none;\n }\nimg, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\nimg, video {\n max-width: 100%;\n height: auto;\n }\nbutton, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n:where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n:where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n::file-selector-button {\n margin-inline-end: 4px;\n }\n::-moz-placeholder {\n opacity: 1;\n }\n::placeholder {\n opacity: 1;\n }\n@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::-moz-placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\ntextarea {\n resize: vertical;\n }\n::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n::-webkit-datetime-edit {\n display: inline-flex;\n }\n::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n:-moz-ui-invalid {\n box-shadow: none;\n }\nbutton, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n -webkit-appearance: button;\n -moz-appearance: button;\n appearance: button;\n }\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n[hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n.\\\\@container\\\\/card-header {\n container-type: inline-size;\n container-name: card-header;\n }\n.pointer-events-none {\n pointer-events: none;\n }\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n }\n.absolute {\n position: absolute;\n }\n.fixed {\n position: fixed;\n }\n.relative {\n position: relative;\n }\n.sticky {\n position: sticky;\n }\n.inset-0 {\n inset: calc(0.25rem * 0);\n inset: calc(var(--spacing) * 0);\n }\n.top-0 {\n top: calc(0.25rem * 0);\n top: calc(var(--spacing) * 0);\n }\n.top-1 {\n top: calc(0.25rem * 1);\n top: calc(var(--spacing) * 1);\n }\n.top-2 {\n top: calc(0.25rem * 2);\n top: calc(var(--spacing) * 2);\n }\n.top-7 {\n top: calc(0.25rem * 7);\n top: calc(var(--spacing) * 7);\n }\n.top-full {\n top: 100%;\n }\n.right-0 {\n right: calc(0.25rem * 0);\n right: calc(var(--spacing) * 0);\n }\n.right-2 {\n right: calc(0.25rem * 2);\n right: calc(var(--spacing) * 2);\n }\n.right-3 {\n right: calc(0.25rem * 3);\n right: calc(var(--spacing) * 3);\n }\n.right-10 {\n right: calc(0.25rem * 10);\n right: calc(var(--spacing) * 10);\n }\n.bottom-0 {\n bottom: calc(0.25rem * 0);\n bottom: calc(var(--spacing) * 0);\n }\n.left-0 {\n left: calc(0.25rem * 0);\n left: calc(var(--spacing) * 0);\n }\n.left-1 {\n left: calc(0.25rem * 1);\n left: calc(var(--spacing) * 1);\n }\n.left-1\\\\/2 {\n left: calc(1/2 * 100%);\n }\n.left-2 {\n left: calc(0.25rem * 2);\n left: calc(var(--spacing) * 2);\n }\n.\\\\!z-\\\\[9999\\\\] {\n z-index: 9999 !important;\n }\n.z-2 {\n z-index: 2;\n }\n.z-10 {\n z-index: 10;\n }\n.z-50 {\n z-index: 50;\n }\n.z-\\\\[9999\\\\] {\n z-index: 9999;\n }\n.col-start-2 {\n grid-column-start: 2;\n }\n.row-span-2 {\n grid-row: span 2 / span 2;\n }\n.row-start-1 {\n grid-row-start: 1;\n }\n.container {\n width: 100%;\n max-width: 40rem;\n max-width: 48rem;\n max-width: 64rem;\n max-width: 80rem;\n max-width: 96rem\n }\n.-m-0 {\n margin: calc(0.25rem * -0);\n margin: calc(var(--spacing) * -0);\n }\n.-m-0\\\\.5 {\n margin: calc(0.25rem * -0.5);\n margin: calc(var(--spacing) * -0.5);\n }\n.m-0 {\n margin: calc(0.25rem * 0);\n margin: calc(var(--spacing) * 0);\n }\n.m-6 {\n margin: calc(0.25rem * 6);\n margin: calc(var(--spacing) * 6);\n }\n.-mx-1 {\n margin-inline: calc(0.25rem * -1);\n margin-inline: calc(var(--spacing) * -1);\n }\n.mx-auto {\n margin-inline: auto;\n }\n.my-0 {\n margin-block: calc(0.25rem * 0);\n margin-block: calc(var(--spacing) * 0);\n }\n.my-0\\\\.5 {\n margin-block: calc(0.25rem * 0.5);\n margin-block: calc(var(--spacing) * 0.5);\n }\n.my-1 {\n margin-block: calc(0.25rem * 1);\n margin-block: calc(var(--spacing) * 1);\n }\n.my-4 {\n margin-block: calc(0.25rem * 4);\n margin-block: calc(var(--spacing) * 4);\n }\n.my-6 {\n margin-block: calc(0.25rem * 6);\n margin-block: calc(var(--spacing) * 6);\n }\n.mt-1 {\n margin-top: calc(0.25rem * 1);\n margin-top: calc(var(--spacing) * 1);\n }\n.mt-2 {\n margin-top: calc(0.25rem * 2);\n margin-top: calc(var(--spacing) * 2);\n }\n.mt-4 {\n margin-top: calc(0.25rem * 4);\n margin-top: calc(var(--spacing) * 4);\n }\n.mt-auto {\n margin-top: auto;\n }\n.mr-1 {\n margin-right: calc(0.25rem * 1);\n margin-right: calc(var(--spacing) * 1);\n }\n.mr-2 {\n margin-right: calc(0.25rem * 2);\n margin-right: calc(var(--spacing) * 2);\n }\n.mb-1 {\n margin-bottom: calc(0.25rem * 1);\n margin-bottom: calc(var(--spacing) * 1);\n }\n.mb-2 {\n margin-bottom: calc(0.25rem * 2);\n margin-bottom: calc(var(--spacing) * 2);\n }\n.mb-3 {\n margin-bottom: calc(0.25rem * 3);\n margin-bottom: calc(var(--spacing) * 3);\n }\n.mb-4 {\n margin-bottom: calc(0.25rem * 4);\n margin-bottom: calc(var(--spacing) * 4);\n }\n.mb-6 {\n margin-bottom: calc(0.25rem * 6);\n margin-bottom: calc(var(--spacing) * 6);\n }\n.mb-8 {\n margin-bottom: calc(0.25rem * 8);\n margin-bottom: calc(var(--spacing) * 8);\n }\n.ml-1 {\n margin-left: calc(0.25rem * 1);\n margin-left: calc(var(--spacing) * 1);\n }\n.ml-1\\\\.5 {\n margin-left: calc(0.25rem * 1.5);\n margin-left: calc(var(--spacing) * 1.5);\n }\n.ml-2 {\n margin-left: calc(0.25rem * 2);\n margin-left: calc(var(--spacing) * 2);\n }\n.ml-2\\\\.5 {\n margin-left: calc(0.25rem * 2.5);\n margin-left: calc(var(--spacing) * 2.5);\n }\n.ml-auto {\n margin-left: auto;\n }\n.block {\n display: block;\n }\n.flex {\n display: flex;\n }\n.grid {\n display: grid;\n }\n.hidden {\n display: none;\n }\n.inline {\n display: inline;\n }\n.inline-block {\n display: inline-block;\n }\n.inline-flex {\n display: inline-flex;\n }\n.table {\n display: table;\n }\n.table-caption {\n display: table-caption;\n }\n.table-cell {\n display: table-cell;\n }\n.table-row {\n display: table-row;\n }\n.field-sizing-content {\n field-sizing: content;\n }\n.aspect-auto {\n aspect-ratio: auto;\n }\n.aspect-video {\n aspect-ratio: 16 / 9;\n aspect-ratio: var(--aspect-video);\n }\n.size-2 {\n width: calc(0.25rem * 2);\n width: calc(var(--spacing) * 2);\n height: calc(0.25rem * 2);\n height: calc(var(--spacing) * 2);\n }\n.size-2\\\\.5 {\n width: calc(0.25rem * 2.5);\n width: calc(var(--spacing) * 2.5);\n height: calc(0.25rem * 2.5);\n height: calc(var(--spacing) * 2.5);\n }\n.size-3 {\n width: calc(0.25rem * 3);\n width: calc(var(--spacing) * 3);\n height: calc(0.25rem * 3);\n height: calc(var(--spacing) * 3);\n }\n.size-3\\\\.5 {\n width: calc(0.25rem * 3.5);\n width: calc(var(--spacing) * 3.5);\n height: calc(0.25rem * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n.size-4 {\n width: calc(0.25rem * 4);\n width: calc(var(--spacing) * 4);\n height: calc(0.25rem * 4);\n height: calc(var(--spacing) * 4);\n }\n.size-9 {\n width: calc(0.25rem * 9);\n width: calc(var(--spacing) * 9);\n height: calc(0.25rem * 9);\n height: calc(var(--spacing) * 9);\n }\n.size-full {\n width: 100%;\n height: 100%;\n }\n.h-2 {\n height: calc(0.25rem * 2);\n height: calc(var(--spacing) * 2);\n }\n.h-2\\\\.5 {\n height: calc(0.25rem * 2.5);\n height: calc(var(--spacing) * 2.5);\n }\n.h-3 {\n height: calc(0.25rem * 3);\n height: calc(var(--spacing) * 3);\n }\n.h-4 {\n height: calc(0.25rem * 4);\n height: calc(var(--spacing) * 4);\n }\n.h-5 {\n height: calc(0.25rem * 5);\n height: calc(var(--spacing) * 5);\n }\n.h-6 {\n height: calc(0.25rem * 6);\n height: calc(var(--spacing) * 6);\n }\n.h-8 {\n height: calc(0.25rem * 8);\n height: calc(var(--spacing) * 8);\n }\n.h-9 {\n height: calc(0.25rem * 9);\n height: calc(var(--spacing) * 9);\n }\n.h-10 {\n height: calc(0.25rem * 10);\n height: calc(var(--spacing) * 10);\n }\n.h-12 {\n height: calc(0.25rem * 12);\n height: calc(var(--spacing) * 12);\n }\n.h-20 {\n height: calc(0.25rem * 20);\n height: calc(var(--spacing) * 20);\n }\n.h-28 {\n height: calc(0.25rem * 28);\n height: calc(var(--spacing) * 28);\n }\n.h-30 {\n height: calc(0.25rem * 30);\n height: calc(var(--spacing) * 30);\n }\n.h-35 {\n height: calc(0.25rem * 35);\n height: calc(var(--spacing) * 35);\n }\n.h-40 {\n height: calc(0.25rem * 40);\n height: calc(var(--spacing) * 40);\n }\n.h-50 {\n height: calc(0.25rem * 50);\n height: calc(var(--spacing) * 50);\n }\n.h-\\\\[38px\\\\] {\n height: 38px;\n }\n.h-\\\\[250px\\\\] {\n height: 250px;\n }\n.h-\\\\[258px\\\\] {\n height: 258px;\n }\n.h-auto {\n height: auto;\n }\n.h-fit {\n height: -moz-fit-content;\n height: fit-content;\n }\n.h-full {\n height: 100%;\n }\n.h-px {\n height: 1px;\n }\n.max-h-48 {\n max-height: calc(0.25rem * 48);\n max-height: calc(var(--spacing) * 48);\n }\n.max-h-64 {\n max-height: calc(0.25rem * 64);\n max-height: calc(var(--spacing) * 64);\n }\n.max-h-\\\\[90vh\\\\] {\n max-height: 90vh;\n }\n.max-h-\\\\[calc\\\\(90vh-160px\\\\)\\\\] {\n max-height: calc(90vh - 160px);\n }\n.min-h-16 {\n min-height: calc(0.25rem * 16);\n min-height: calc(var(--spacing) * 16);\n }\n.min-h-\\\\[45vh\\\\] {\n min-height: 45vh;\n }\n.min-h-\\\\[100px\\\\] {\n min-height: 100px;\n }\n.w-0 {\n width: calc(0.25rem * 0);\n width: calc(var(--spacing) * 0);\n }\n.w-1 {\n width: calc(0.25rem * 1);\n width: calc(var(--spacing) * 1);\n }\n.w-1\\\\/3 {\n width: calc(1/3 * 100%);\n }\n.w-1\\\\/6 {\n width: calc(1/6 * 100%);\n }\n.w-2 {\n width: calc(0.25rem * 2);\n width: calc(var(--spacing) * 2);\n }\n.w-2\\\\.5 {\n width: calc(0.25rem * 2.5);\n width: calc(var(--spacing) * 2.5);\n }\n.w-3 {\n width: calc(0.25rem * 3);\n width: calc(var(--spacing) * 3);\n }\n.w-4 {\n width: calc(0.25rem * 4);\n width: calc(var(--spacing) * 4);\n }\n.w-4\\\\/5 {\n width: calc(4/5 * 100%);\n }\n.w-6 {\n width: calc(0.25rem * 6);\n width: calc(var(--spacing) * 6);\n }\n.w-12 {\n width: calc(0.25rem * 12);\n width: calc(var(--spacing) * 12);\n }\n.w-56 {\n width: calc(0.25rem * 56);\n width: calc(var(--spacing) * 56);\n }\n.w-64 {\n width: calc(0.25rem * 64);\n width: calc(var(--spacing) * 64);\n }\n.w-72 {\n width: calc(0.25rem * 72);\n width: calc(var(--spacing) * 72);\n }\n.w-80 {\n width: calc(0.25rem * 80);\n width: calc(var(--spacing) * 80);\n }\n.w-\\\\[280px\\\\] {\n width: 280px;\n }\n.w-\\\\[320px\\\\] {\n width: 320px;\n }\n.w-\\\\[380px\\\\] {\n width: 380px;\n }\n.w-\\\\[481px\\\\] {\n width: 481px;\n }\n.w-\\\\[640px\\\\] {\n width: 640px;\n }\n.w-auto {\n width: auto;\n }\n.w-fit {\n width: -moz-fit-content;\n width: fit-content;\n }\n.w-full {\n width: 100%;\n }\n.max-w-2xl {\n max-width: 42rem;\n max-width: var(--container-2xl);\n }\n.max-w-\\\\[200px\\\\] {\n max-width: 200px;\n }\n.max-w-\\\\[320px\\\\] {\n max-width: 320px;\n }\n.max-w-full {\n max-width: 100%;\n }\n.max-w-md {\n max-width: 28rem;\n max-width: var(--container-md);\n }\n.min-w-0 {\n min-width: calc(0.25rem * 0);\n min-width: calc(var(--spacing) * 0);\n }\n.min-w-\\\\[8rem\\\\] {\n min-width: 8rem;\n }\n.flex-1 {\n flex: 1;\n }\n.flex-shrink {\n flex-shrink: 1;\n }\n.flex-shrink-0 {\n flex-shrink: 0;\n }\n.shrink-0 {\n flex-shrink: 0;\n }\n.flex-grow {\n flex-grow: 1;\n }\n.caption-bottom {\n caption-side: bottom;\n }\n.border-collapse {\n border-collapse: collapse;\n }\n.origin-\\\\(--radix-hover-card-content-transform-origin\\\\) {\n transform-origin: var(--radix-hover-card-content-transform-origin);\n }\n.origin-\\\\[var\\\\(--radix-tooltip-content-transform-origin\\\\)\\\\] {\n transform-origin: var(--radix-tooltip-content-transform-origin);\n }\n.-translate-x-1 {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: calc(0.25rem * -1) var(--tw-translate-y);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n.-translate-x-1\\\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: calc(calc(1/2 * 100%) * -1) var(--tw-translate-y);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n.-translate-y-1 {\n --tw-translate-y: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) calc(0.25rem * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n.-translate-y-1\\\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n.-translate-y-2 {\n --tw-translate-y: calc(var(--spacing) * -2);\n translate: var(--tw-translate-x) calc(0.25rem * -2);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n.-translate-y-\\\\[2px\\\\] {\n --tw-translate-y: calc(2px * -1);\n translate: var(--tw-translate-x) calc(2px * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n.rotate-45 {\n rotate: 45deg;\n }\n.rotate-180 {\n rotate: 180deg;\n }\n.transform {\n transform: ;\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n.animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n animation: var(--animate-pulse);\n }\n.animate-spin {\n animation: spin 1s linear infinite;\n animation: var(--animate-spin);\n }\n.cursor-default {\n cursor: default;\n }\n.cursor-not-allowed {\n cursor: not-allowed;\n }\n.cursor-pointer {\n cursor: pointer;\n }\n.touch-none {\n touch-action: none;\n }\n.resize {\n resize: both;\n }\n.scroll-my-1 {\n scroll-margin-block: calc(0.25rem * 1);\n scroll-margin-block: calc(var(--spacing) * 1);\n }\n.list-disc {\n list-style-type: disc;\n }\n.auto-rows-min {\n grid-auto-rows: min-content;\n }\n.grid-rows-\\\\[auto_auto\\\\] {\n grid-template-rows: auto auto;\n }\n.flex-col {\n flex-direction: column;\n }\n.flex-row {\n flex-direction: row;\n }\n.flex-wrap {\n flex-wrap: wrap;\n }\n.items-center {\n align-items: center;\n }\n.items-end {\n align-items: flex-end;\n }\n.items-start {\n align-items: flex-start;\n }\n.items-stretch {\n align-items: stretch;\n }\n.justify-between {\n justify-content: space-between;\n }\n.justify-center {\n justify-content: center;\n }\n.justify-end {\n justify-content: flex-end;\n }\n.gap-1 {\n gap: calc(0.25rem * 1);\n gap: calc(var(--spacing) * 1);\n }\n.gap-1\\\\.5 {\n gap: calc(0.25rem * 1.5);\n gap: calc(var(--spacing) * 1.5);\n }\n.gap-2 {\n gap: calc(0.25rem * 2);\n gap: calc(var(--spacing) * 2);\n }\n.gap-3 {\n gap: calc(0.25rem * 3);\n gap: calc(var(--spacing) * 3);\n }\n.gap-4 {\n gap: calc(0.25rem * 4);\n gap: calc(var(--spacing) * 4);\n }\n.gap-6 {\n gap: calc(0.25rem * 6);\n gap: calc(var(--spacing) * 6);\n }\n.space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(0.25rem * 2) * 0);\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(0.25rem * 2) * calc(1 - 0));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n.space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(0.25rem * 4) * 0);\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(0.25rem * 4) * calc(1 - 0));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n.space-x-2 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(0.25rem * 2) * 0);\n margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(0.25rem * 2) * calc(1 - 0));\n margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n.self-end {\n align-self: flex-end;\n }\n.self-start {\n align-self: flex-start;\n }\n.justify-self-end {\n justify-self: flex-end;\n }\n.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n.overflow-auto {\n overflow: auto;\n }\n.overflow-hidden {\n overflow: hidden;\n }\n.overflow-x-auto {\n overflow-x: auto;\n }\n.overflow-x-hidden {\n overflow-x: hidden;\n }\n.overflow-y-auto {\n overflow-y: auto;\n }\n.rounded {\n border-radius: 0.25rem;\n }\n.rounded-\\\\[2px\\\\] {\n border-radius: 2px;\n }\n.rounded-\\\\[4px\\\\] {\n border-radius: 4px;\n }\n.rounded-\\\\[16px\\\\] {\n border-radius: 16px;\n }\n.rounded-\\\\[inherit\\\\] {\n border-radius: inherit;\n }\n.rounded-full {\n border-radius: calc(infinity * 1px);\n }\n.rounded-lg {\n border-radius: 0.625rem;\n }\n.rounded-md {\n border-radius: calc(0.625rem - 2px);\n }\n.rounded-none {\n border-radius: 0;\n }\n.rounded-sm {\n border-radius: calc(0.625rem - 4px);\n }\n.rounded-xl {\n border-radius: calc(0.625rem + 4px);\n }\n.border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n.border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n.border-\\\\[1\\\\.5px\\\\] {\n border-style: var(--tw-border-style);\n border-width: 1.5px;\n }\n.border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n.border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n.border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n.border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n.border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n.border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n.border-\\\\(--color-border\\\\) {\n border-color: oklch(0.922 0 0);\n border-color: var(--color-border);\n }\n.border-\\\\[\\\\#2A44D4\\\\] {\n border-color: #2A44D4;\n }\n.border-\\\\[\\\\#D4D5DE\\\\] {\n border-color: #D4D5DE;\n }\n.border-border {\n border-color: oklch(0.922 0 0);\n }\n.border-border\\\\/50 {\n border-color: color-mix(in oklab, oklch(0.922 0 0) 50%, transparent);\n }\n.border-gray-200 {\n border-color: oklch(92.8% 0.006 264.531);\n border-color: var(--color-gray-200);\n }\n.border-gray-300 {\n border-color: oklch(87.2% 0.01 258.338);\n border-color: var(--color-gray-300);\n }\n.border-input {\n border-color: oklch(0.922 0 0);\n }\n.border-purple-600 {\n border-color: oklch(55.8% 0.288 302.321);\n border-color: var(--color-purple-600);\n }\n.border-red-200 {\n border-color: oklch(88.5% 0.062 18.334);\n border-color: var(--color-red-200);\n }\n.border-t-transparent {\n border-top-color: transparent;\n }\n.border-l-transparent {\n border-left-color: transparent;\n }\n.bg-\\\\(--color-bg\\\\) {\n background-color: var(--color-bg);\n }\n.bg-\\\\[\\\\#2A44D4\\\\] {\n background-color: #2A44D4;\n }\n.bg-\\\\[\\\\#EAECFB\\\\] {\n background-color: #EAECFB;\n }\n.bg-\\\\[\\\\#F9F9FE\\\\] {\n background-color: #F9F9FE;\n }\n.bg-accent {\n background-color: oklch(0.97 0 0);\n }\n.bg-background {\n background-color: oklch(1 0 0);\n }\n.bg-black {\n background-color: #000;\n background-color: var(--color-black);\n }\n.bg-black\\\\/10 {\n background-color: color-mix(in srgb, #000 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, #000 10%, transparent);\n background-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n }\n.bg-blue-600 {\n background-color: oklch(54.6% 0.245 262.881);\n background-color: var(--color-blue-600);\n }\n.bg-border {\n background-color: oklch(0.922 0 0);\n }\n.bg-destructive {\n background-color: oklch(0.577 0.245 27.325);\n }\n.bg-gray-50 {\n background-color: oklch(98.5% 0.002 247.839);\n background-color: var(--color-gray-50);\n }\n.bg-gray-300 {\n background-color: oklch(87.2% 0.01 258.338);\n background-color: var(--color-gray-300);\n }\n.bg-gray-400 {\n background-color: oklch(70.7% 0.022 261.325);\n background-color: var(--color-gray-400);\n }\n.bg-gray-500 {\n background-color: oklch(55.1% 0.027 264.364);\n background-color: var(--color-gray-500);\n }\n.bg-green-300 {\n background-color: oklch(87.1% 0.15 154.449);\n background-color: var(--color-green-300);\n }\n.bg-muted {\n background-color: oklch(0.97 0 0);\n }\n.bg-muted\\\\/50 {\n background-color: color-mix(in oklab, oklch(0.97 0 0) 50%, transparent);\n }\n.bg-pink-50 {\n background-color: oklch(97.1% 0.014 343.198);\n background-color: var(--color-pink-50);\n }\n.bg-popover {\n background-color: oklch(1 0 0);\n }\n.bg-primary {\n background-color: oklch(0.205 0 0);\n }\n.bg-red-50 {\n background-color: oklch(97.1% 0.013 17.38);\n background-color: var(--color-red-50);\n }\n.bg-red-100 {\n background-color: oklch(93.6% 0.032 17.717);\n background-color: var(--color-red-100);\n }\n.bg-secondary {\n background-color: oklch(0.97 0 0);\n }\n.bg-slate-100 {\n background-color: oklch(96.8% 0.007 247.896);\n background-color: var(--color-slate-100);\n }\n.bg-transparent {\n background-color: transparent;\n }\n.bg-white {\n background-color: #fff;\n background-color: var(--color-white);\n }\n.fill-primary {\n fill: oklch(0.205 0 0);\n }\n.p-0 {\n padding: calc(0.25rem * 0);\n padding: calc(var(--spacing) * 0);\n }\n.p-0\\\\.5 {\n padding: calc(0.25rem * 0.5);\n padding: calc(var(--spacing) * 0.5);\n }\n.p-1 {\n padding: calc(0.25rem * 1);\n padding: calc(var(--spacing) * 1);\n }\n.p-2 {\n padding: calc(0.25rem * 2);\n padding: calc(var(--spacing) * 2);\n }\n.p-3 {\n padding: calc(0.25rem * 3);\n padding: calc(var(--spacing) * 3);\n }\n.p-4 {\n padding: calc(0.25rem * 4);\n padding: calc(var(--spacing) * 4);\n }\n.p-6 {\n padding: calc(0.25rem * 6);\n padding: calc(var(--spacing) * 6);\n }\n.p-\\\\[1em\\\\] {\n padding: 1em;\n }\n.p-px {\n padding: 1px;\n }\n.px-1 {\n padding-inline: calc(0.25rem * 1);\n padding-inline: calc(var(--spacing) * 1);\n }\n.px-2 {\n padding-inline: calc(0.25rem * 2);\n padding-inline: calc(var(--spacing) * 2);\n }\n.px-2\\\\.5 {\n padding-inline: calc(0.25rem * 2.5);\n padding-inline: calc(var(--spacing) * 2.5);\n }\n.px-3 {\n padding-inline: calc(0.25rem * 3);\n padding-inline: calc(var(--spacing) * 3);\n }\n.px-4 {\n padding-inline: calc(0.25rem * 4);\n padding-inline: calc(var(--spacing) * 4);\n }\n.px-6 {\n padding-inline: calc(0.25rem * 6);\n padding-inline: calc(var(--spacing) * 6);\n }\n.px-\\\\[1em\\\\] {\n padding-inline: 1em;\n }\n.py-1 {\n padding-block: calc(0.25rem * 1);\n padding-block: calc(var(--spacing) * 1);\n }\n.py-1\\\\.5 {\n padding-block: calc(0.25rem * 1.5);\n padding-block: calc(var(--spacing) * 1.5);\n }\n.py-2 {\n padding-block: calc(0.25rem * 2);\n padding-block: calc(var(--spacing) * 2);\n }\n.py-3 {\n padding-block: calc(0.25rem * 3);\n padding-block: calc(var(--spacing) * 3);\n }\n.py-6 {\n padding-block: calc(0.25rem * 6);\n padding-block: calc(var(--spacing) * 6);\n }\n.py-8 {\n padding-block: calc(0.25rem * 8);\n padding-block: calc(var(--spacing) * 8);\n }\n.py-12 {\n padding-block: calc(0.25rem * 12);\n padding-block: calc(var(--spacing) * 12);\n }\n.py-16 {\n padding-block: calc(0.25rem * 16);\n padding-block: calc(var(--spacing) * 16);\n }\n.py-\\\\[11px\\\\] {\n padding-block: 11px;\n }\n.pt-1 {\n padding-top: calc(0.25rem * 1);\n padding-top: calc(var(--spacing) * 1);\n }\n.pt-2 {\n padding-top: calc(0.25rem * 2);\n padding-top: calc(var(--spacing) * 2);\n }\n.pt-3 {\n padding-top: calc(0.25rem * 3);\n padding-top: calc(var(--spacing) * 3);\n }\n.pr-8 {\n padding-right: calc(0.25rem * 8);\n padding-right: calc(var(--spacing) * 8);\n }\n.pr-16 {\n padding-right: calc(0.25rem * 16);\n padding-right: calc(var(--spacing) * 16);\n }\n.pb-3 {\n padding-bottom: calc(0.25rem * 3);\n padding-bottom: calc(var(--spacing) * 3);\n }\n.pb-4 {\n padding-bottom: calc(0.25rem * 4);\n padding-bottom: calc(var(--spacing) * 4);\n }\n.pl-1 {\n padding-left: calc(0.25rem * 1);\n padding-left: calc(var(--spacing) * 1);\n }\n.pl-2 {\n padding-left: calc(0.25rem * 2);\n padding-left: calc(var(--spacing) * 2);\n }\n.pl-4 {\n padding-left: calc(0.25rem * 4);\n padding-left: calc(var(--spacing) * 4);\n }\n.text-center {\n text-align: center;\n }\n.text-left {\n text-align: left;\n }\n.align-middle {\n vertical-align: middle;\n }\n.font-mono {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n font-family: var(--font-mono);\n }\n.text-2xl {\n font-size: 1.5rem;\n font-size: var(--text-2xl);\n line-height: calc(2 / 1.5);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n.text-3xl {\n font-size: 1.875rem;\n font-size: var(--text-3xl);\n line-height: calc(2.25 / 1.875);\n line-height: var(--tw-leading, var(--text-3xl--line-height));\n }\n.text-4xl {\n font-size: 2.25rem;\n font-size: var(--text-4xl);\n line-height: calc(2.5 / 2.25);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n }\n.text-5xl {\n font-size: 3rem;\n font-size: var(--text-5xl);\n line-height: 1;\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n.text-base {\n font-size: 1rem;\n font-size: var(--text-base);\n line-height: calc(1.5 / 1);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n.text-lg {\n font-size: 1.125rem;\n font-size: var(--text-lg);\n line-height: calc(1.75 / 1.125);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n.text-sm {\n font-size: 0.875rem;\n font-size: var(--text-sm);\n line-height: calc(1.25 / 0.875);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n.text-xl {\n font-size: 1.25rem;\n font-size: var(--text-xl);\n line-height: calc(1.75 / 1.25);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n.text-xs {\n font-size: 0.75rem;\n font-size: var(--text-xs);\n line-height: calc(1 / 0.75);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n.text-\\\\[0\\\\.8rem\\\\] {\n font-size: 0.8rem;\n }\n.leading-4 {\n --tw-leading: calc(var(--spacing) * 4);\n line-height: calc(0.25rem * 4);\n line-height: calc(var(--spacing) * 4);\n }\n.leading-\\\\[2\\\\.5rem\\\\] {\n --tw-leading: 2.5rem;\n line-height: 2.5rem;\n }\n.leading-\\\\[2rem\\\\] {\n --tw-leading: 2rem;\n line-height: 2rem;\n }\n.leading-\\\\[3rem\\\\] {\n --tw-leading: 3rem;\n line-height: 3rem;\n }\n.leading-\\\\[4rem\\\\] {\n --tw-leading: 4rem;\n line-height: 4rem;\n }\n.leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n.leading-relaxed {\n --tw-leading: var(--leading-relaxed);\n line-height: 1.625;\n line-height: var(--leading-relaxed);\n }\n.font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: 700;\n font-weight: var(--font-weight-bold);\n }\n.font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: 500;\n font-weight: var(--font-weight-medium);\n }\n.font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: 600;\n font-weight: var(--font-weight-semibold);\n }\n.text-balance {\n text-wrap: balance;\n }\n.text-wrap {\n text-wrap: wrap;\n }\n.break-all {\n word-break: break-all;\n }\n.whitespace-normal {\n white-space: normal;\n }\n.whitespace-nowrap {\n white-space: nowrap;\n }\n.whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n.text-\\\\[\\\\#020D21\\\\] {\n color: #020D21;\n }\n.text-\\\\[\\\\#263DBF\\\\] {\n color: #263DBF;\n }\n.text-\\\\[\\\\#687387\\\\] {\n color: #687387;\n }\n.text-black {\n color: #000;\n color: var(--color-black);\n }\n.text-blue-500 {\n color: oklch(62.3% 0.214 259.815);\n color: var(--color-blue-500);\n }\n.text-blue-600 {\n color: oklch(54.6% 0.245 262.881);\n color: var(--color-blue-600);\n }\n.text-card-foreground {\n color: oklch(0.145 0 0);\n }\n.text-current {\n color: currentcolor;\n }\n.text-foreground {\n color: oklch(0.145 0 0);\n }\n.text-gray-400 {\n color: oklch(70.7% 0.022 261.325);\n color: var(--color-gray-400);\n }\n.text-gray-500 {\n color: oklch(55.1% 0.027 264.364);\n color: var(--color-gray-500);\n }\n.text-gray-600 {\n color: oklch(44.6% 0.03 256.802);\n color: var(--color-gray-600);\n }\n.text-gray-700 {\n color: oklch(37.3% 0.034 259.733);\n color: var(--color-gray-700);\n }\n.text-gray-800 {\n color: oklch(27.8% 0.033 256.848);\n color: var(--color-gray-800);\n }\n.text-gray-900 {\n color: oklch(21% 0.034 264.665);\n color: var(--color-gray-900);\n }\n.text-green-600 {\n color: oklch(62.7% 0.194 149.214);\n color: var(--color-green-600);\n }\n.text-muted-foreground {\n color: oklch(0.556 0 0);\n }\n.text-pink-900 {\n color: oklch(40.8% 0.153 2.432);\n color: var(--color-pink-900);\n }\n.text-popover-foreground {\n color: oklch(0.145 0 0);\n }\n.text-primary {\n color: oklch(0.205 0 0);\n }\n.text-primary-foreground {\n color: oklch(0.985 0 0);\n }\n.text-red-600 {\n color: oklch(57.7% 0.245 27.325);\n color: var(--color-red-600);\n }\n.text-secondary-foreground {\n color: oklch(0.205 0 0);\n }\n.text-white {\n color: #fff;\n color: var(--color-white);\n }\n.italic {\n font-style: italic;\n }\n.tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: tabular-nums ;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n.underline {\n text-decoration-line: underline;\n }\n.underline-offset-4 {\n text-underline-offset: 4px;\n }\n.opacity-50 {\n opacity: 50%;\n }\n.opacity-60 {\n opacity: 60%;\n }\n.shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-\\\\[0px_8px_16px_-4px_rgba\\\\(0\\\\,0\\\\,0\\\\,0\\\\.1\\\\)\\\\] {\n --tw-shadow: 0px 8px 16px -4px var(--tw-shadow-color, rgba(0,0,0,0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0px 8px 16px -4px rgba(0,0,0,0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-none {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 1px 2px 0 rgb(0 0 0 / 0.05);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.ring-2 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.ring-black {\n --tw-ring-color: var(--color-black);\n }\n.ring-blue-500 {\n --tw-ring-color: var(--color-blue-500);\n }\n.ring-offset-background {\n --tw-ring-offset-color: oklch(1 0 0);\n }\n.outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n.outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n.filter {\n filter: ;\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n.transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: 150ms;\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n.transition-\\\\[color\\\\,box-shadow\\\\] {\n transition-property: color,box-shadow;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: 150ms;\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n.transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: 150ms;\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n.transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: 150ms;\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n.transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: 150ms;\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n.transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: 150ms;\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n.transition-none {\n transition-property: none;\n }\n.duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n.ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--ease-in-out);\n }\n.animate-in {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n }\n.outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n.select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.duration-200 {\n animation-duration: 200ms;\n }\n.ease-in-out {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n.fade-in-0 {\n --tw-enter-opacity: 0;\n }\n.zoom-in-95 {\n --tw-enter-scale: .95;\n }\n.group-data-\\\\[disabled\\\\=true\\\\]\\\\:pointer-events-none {\n &:is(:where(.group)[data-disabled=\"true\"] *) {\n pointer-events: none;\n }\n }\n.group-data-\\\\[disabled\\\\=true\\\\]\\\\:opacity-50 {\n &:is(:where(.group)[data-disabled=\"true\"] *) {\n opacity: 50%;\n }\n }\n.peer-disabled\\\\:cursor-not-allowed {\n &:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n }\n.peer-disabled\\\\:opacity-50 {\n &:is(:where(.peer):disabled ~ *) {\n opacity: 50%;\n }\n }\n.selection\\\\:bg-primary {\n & *::-moz-selection {\n background-color: oklch(0.205 0 0);\n }\n & *::selection {\n background-color: oklch(0.205 0 0);\n }\n &::-moz-selection {\n background-color: oklch(0.205 0 0);\n }\n &::selection {\n background-color: oklch(0.205 0 0);\n }\n }\n.selection\\\\:text-primary-foreground {\n & *::-moz-selection {\n color: oklch(0.985 0 0);\n }\n & *::selection {\n color: oklch(0.985 0 0);\n }\n &::-moz-selection {\n color: oklch(0.985 0 0);\n }\n &::selection {\n color: oklch(0.985 0 0);\n }\n }\n.file\\\\:inline-flex {\n &::file-selector-button {\n display: inline-flex;\n }\n }\n.file\\\\:h-7 {\n &::file-selector-button {\n height: calc(0.25rem * 7);\n height: calc(var(--spacing) * 7);\n }\n }\n.file\\\\:border-0 {\n &::file-selector-button {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n.file\\\\:bg-transparent {\n &::file-selector-button {\n background-color: transparent;\n }\n }\n.file\\\\:text-sm {\n &::file-selector-button {\n font-size: 0.875rem;\n font-size: var(--text-sm);\n line-height: calc(1.25 / 0.875);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n.file\\\\:font-medium {\n &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: 500;\n font-weight: var(--font-weight-medium);\n }\n }\n.file\\\\:text-foreground {\n &::file-selector-button {\n color: oklch(0.145 0 0);\n }\n }\n.placeholder\\\\:text-muted-foreground {\n &::-moz-placeholder {\n color: oklch(0.556 0 0);\n }\n &::placeholder {\n color: oklch(0.556 0 0);\n }\n }\n.hover\\\\:cursor-pointer {\n &:hover {\n cursor: pointer\n }\n }\n.hover\\\\:bg-\\\\[\\\\#2A44D4\\\\] {\n &:hover {\n background-color: #2A44D4\n }\n }\n.hover\\\\:bg-\\\\[\\\\#EAECFB\\\\] {\n &:hover {\n background-color: #EAECFB\n }\n }\n.hover\\\\:bg-accent {\n &:hover {\n background-color: oklch(0.97 0 0)\n }\n }\n.hover\\\\:bg-destructive\\\\/90 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.577 0.245 27.325) 90%, transparent)\n }\n }\n.hover\\\\:bg-gray-50 {\n &:hover {\n background-color: oklch(98.5% 0.002 247.839);\n background-color: var(--color-gray-50)\n }\n }\n.hover\\\\:bg-gray-100 {\n &:hover {\n background-color: oklch(96.7% 0.003 264.542);\n background-color: var(--color-gray-100)\n }\n }\n.hover\\\\:bg-muted\\\\/30 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.97 0 0) 30%, transparent)\n }\n }\n.hover\\\\:bg-muted\\\\/50 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.97 0 0) 50%, transparent)\n }\n }\n.hover\\\\:bg-primary\\\\/90 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.205 0 0) 90%, transparent)\n }\n }\n.hover\\\\:bg-red-200 {\n &:hover {\n background-color: oklch(88.5% 0.062 18.334);\n background-color: var(--color-red-200)\n }\n }\n.hover\\\\:bg-secondary\\\\/80 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.97 0 0) 80%, transparent)\n }\n }\n.hover\\\\:text-\\\\[\\\\#263DBF\\\\] {\n &:hover {\n color: #263DBF\n }\n }\n.hover\\\\:text-accent-foreground {\n &:hover {\n color: oklch(0.205 0 0)\n }\n }\n.hover\\\\:text-blue-600 {\n &:hover {\n color: oklch(54.6% 0.245 262.881);\n color: var(--color-blue-600)\n }\n }\n.hover\\\\:text-gray-600 {\n &:hover {\n color: oklch(44.6% 0.03 256.802);\n color: var(--color-gray-600)\n }\n }\n.hover\\\\:text-white {\n &:hover {\n color: #fff;\n color: var(--color-white)\n }\n }\n.hover\\\\:underline {\n &:hover {\n text-decoration-line: underline\n }\n }\n.focus\\\\:bg-blue-50 {\n &:focus {\n background-color: oklch(97% 0.014 254.604);\n background-color: var(--color-blue-50);\n }\n }\n.focus\\\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n.focus\\\\:ring-blue-500 {\n &:focus {\n --tw-ring-color: var(--color-blue-500);\n }\n }\n.focus\\\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n.focus-visible\\\\:border-ring {\n &:focus-visible {\n border-color: oklch(0.708 0 0);\n }\n }\n.focus-visible\\\\:ring-2 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n.focus-visible\\\\:ring-\\\\[3px\\\\] {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n.focus-visible\\\\:ring-destructive\\\\/20 {\n &:focus-visible {\n --tw-ring-color: color-mix(in oklab, oklch(0.577 0.245 27.325) 20%, transparent);\n }\n }\n.focus-visible\\\\:ring-ring {\n &:focus-visible {\n --tw-ring-color: oklch(0.708 0 0);\n }\n }\n.focus-visible\\\\:ring-ring\\\\/50 {\n &:focus-visible {\n --tw-ring-color: color-mix(in oklab, oklch(0.708 0 0) 50%, transparent);\n }\n }\n.focus-visible\\\\:ring-offset-2 {\n &:focus-visible {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n.focus-visible\\\\:outline-none {\n &:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n.disabled\\\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n.disabled\\\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n }\n.disabled\\\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n.has-data-\\\\[slot\\\\=card-action\\\\]\\\\:grid-cols-\\\\[1fr_auto\\\\] {\n &:has(*[data-slot=\"card-action\"]) {\n grid-template-columns: 1fr auto;\n }\n }\n.has-\\\\[\\\\>svg\\\\]\\\\:px-2\\\\.5 {\n &:has(>svg) {\n padding-inline: calc(0.25rem * 2.5);\n padding-inline: calc(var(--spacing) * 2.5);\n }\n }\n.has-\\\\[\\\\>svg\\\\]\\\\:px-3 {\n &:has(>svg) {\n padding-inline: calc(0.25rem * 3);\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n.has-\\\\[\\\\>svg\\\\]\\\\:px-4 {\n &:has(>svg) {\n padding-inline: calc(0.25rem * 4);\n padding-inline: calc(var(--spacing) * 4);\n }\n }\n.aria-invalid\\\\:border-destructive {\n &[aria-invalid=\"true\"] {\n border-color: oklch(0.577 0.245 27.325);\n }\n }\n.aria-invalid\\\\:ring-destructive\\\\/20 {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in oklab, oklch(0.577 0.245 27.325) 20%, transparent);\n }\n }\n.data-\\\\[orientation\\\\=horizontal\\\\]\\\\:h-px {\n &[data-orientation=\"horizontal\"] {\n height: 1px;\n }\n }\n.data-\\\\[orientation\\\\=horizontal\\\\]\\\\:w-full {\n &[data-orientation=\"horizontal\"] {\n width: 100%;\n }\n }\n.data-\\\\[orientation\\\\=vertical\\\\]\\\\:h-full {\n &[data-orientation=\"vertical\"] {\n height: 100%;\n }\n }\n.data-\\\\[orientation\\\\=vertical\\\\]\\\\:w-px {\n &[data-orientation=\"vertical\"] {\n width: 1px;\n }\n }\n.data-\\\\[side\\\\=bottom\\\\]\\\\:slide-in-from-top-2 {\n &[data-side=\"bottom\"] {\n --tw-enter-translate-y: -0.5rem;\n }\n }\n.data-\\\\[side\\\\=left\\\\]\\\\:slide-in-from-right-2 {\n &[data-side=\"left\"] {\n --tw-enter-translate-x: 0.5rem;\n }\n }\n.data-\\\\[side\\\\=right\\\\]\\\\:slide-in-from-left-2 {\n &[data-side=\"right\"] {\n --tw-enter-translate-x: -0.5rem;\n }\n }\n.data-\\\\[side\\\\=top\\\\]\\\\:slide-in-from-bottom-2 {\n &[data-side=\"top\"] {\n --tw-enter-translate-y: 0.5rem;\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:rounded-md {\n &[data-state=\"active\"] {\n border-radius: calc(0.625rem - 2px);\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:border {\n &[data-state=\"active\"] {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:border-solid {\n &[data-state=\"active\"] {\n --tw-border-style: solid;\n border-style: solid;\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:border-\\\\[\\\\#2A44D4\\\\] {\n &[data-state=\"active\"] {\n border-color: #2A44D4;\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:bg-\\\\[\\\\#EAECFB\\\\] {\n &[data-state=\"active\"] {\n background-color: #EAECFB;\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:bg-background {\n &[data-state=\"active\"] {\n background-color: oklch(1 0 0);\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:text-\\\\[\\\\#263DBF\\\\] {\n &[data-state=\"active\"] {\n color: #263DBF;\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:text-foreground {\n &[data-state=\"active\"] {\n color: oklch(0.145 0 0);\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:shadow {\n &[data-state=\"active\"] {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:shadow-none {\n &[data-state=\"active\"] {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n.data-\\\\[state\\\\=checked\\\\]\\\\:border-primary {\n &[data-state=\"checked\"] {\n border-color: oklch(0.205 0 0);\n }\n }\n.data-\\\\[state\\\\=checked\\\\]\\\\:bg-primary {\n &[data-state=\"checked\"] {\n background-color: oklch(0.205 0 0);\n }\n }\n.data-\\\\[state\\\\=checked\\\\]\\\\:text-primary-foreground {\n &[data-state=\"checked\"] {\n color: oklch(0.985 0 0);\n }\n }\n.data-\\\\[state\\\\=closed\\\\]\\\\:animate-out {\n &[data-state=\"closed\"] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n }\n }\n.data-\\\\[state\\\\=closed\\\\]\\\\:fade-out-0 {\n &[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n }\n }\n.data-\\\\[state\\\\=closed\\\\]\\\\:zoom-out-95 {\n &[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n }\n }\n.data-\\\\[state\\\\=open\\\\]\\\\:animate-in {\n &[data-state=\"open\"] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n }\n }\n.data-\\\\[state\\\\=open\\\\]\\\\:fade-in-0 {\n &[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n }\n }\n.data-\\\\[state\\\\=open\\\\]\\\\:zoom-in-95 {\n &[data-state=\"open\"] {\n --tw-enter-scale: .95;\n }\n }\n.data-\\\\[state\\\\=selected\\\\]\\\\:bg-muted {\n &[data-state=\"selected\"] {\n background-color: oklch(0.97 0 0);\n }\n }\n.md\\\\:text-sm {\n font-size: 0.875rem;\n font-size: var(--text-sm);\n line-height: calc(1.25 / 0.875);\n line-height: var(--tw-leading, var(--text-sm--line-height))\n }\n.dark\\\\:border-input {\n border-color: oklch(0.922 0 0)\n }\n.dark\\\\:bg-destructive\\\\/60 {\n background-color: color-mix(in oklab, oklch(0.577 0.245 27.325) 60%, transparent)\n }\n.dark\\\\:bg-input\\\\/30 {\n background-color: color-mix(in oklab, oklch(0.922 0 0) 30%, transparent)\n }\n.dark\\\\:hover\\\\:bg-accent\\\\/50 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.97 0 0) 50%, transparent)\n }\n }\n.dark\\\\:hover\\\\:bg-input\\\\/50 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.922 0 0) 50%, transparent)\n }\n }\n.dark\\\\:focus-visible\\\\:ring-destructive\\\\/40 {\n &:focus-visible {\n --tw-ring-color: color-mix(in oklab, oklch(0.577 0.245 27.325) 40%, transparent);\n }\n }\n.dark\\\\:aria-invalid\\\\:ring-destructive\\\\/40 {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in oklab, oklch(0.577 0.245 27.325) 40%, transparent);\n }\n }\n.dark\\\\:data-\\\\[state\\\\=checked\\\\]\\\\:bg-primary {\n &[data-state=\"checked\"] {\n background-color: oklch(0.205 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-cartesian-axis-tick_text\\\\]\\\\:fill-muted-foreground {\n & .recharts-cartesian-axis-tick text {\n fill: oklch(0.556 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-cartesian-grid_line\\\\[stroke\\\\=\\\\'\\\\#ccc\\\\'\\\\]\\\\]\\\\:stroke-border\\\\/50 {\n & .recharts-cartesian-grid line[stroke='#ccc'] {\n stroke: color-mix(in oklab, oklch(0.922 0 0) 50%, transparent);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-curve\\\\.recharts-tooltip-cursor\\\\]\\\\:stroke-border {\n & .recharts-curve.recharts-tooltip-cursor {\n stroke: oklch(0.922 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-dot\\\\[stroke\\\\=\\\\'\\\\#fff\\\\'\\\\]\\\\]\\\\:stroke-transparent {\n & .recharts-dot[stroke='#fff'] {\n stroke: transparent;\n }\n }\n.\\\\[\\\\&_\\\\.recharts-layer\\\\]\\\\:outline-hidden {\n & .recharts-layer {\n --tw-outline-style: none;\n outline-style: none;\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n }\n.\\\\[\\\\&_\\\\.recharts-polar-grid_\\\\[stroke\\\\=\\\\'\\\\#ccc\\\\'\\\\]\\\\]\\\\:stroke-border {\n & .recharts-polar-grid [stroke='#ccc'] {\n stroke: oklch(0.922 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-radial-bar-background-sector\\\\]\\\\:fill-muted {\n & .recharts-radial-bar-background-sector {\n fill: oklch(0.97 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-rectangle\\\\.recharts-tooltip-cursor\\\\]\\\\:fill-muted {\n & .recharts-rectangle.recharts-tooltip-cursor {\n fill: oklch(0.97 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-reference-line_\\\\[stroke\\\\=\\\\'\\\\#ccc\\\\'\\\\]\\\\]\\\\:stroke-border {\n & .recharts-reference-line [stroke='#ccc'] {\n stroke: oklch(0.922 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-sector\\\\]\\\\:outline-hidden {\n & .recharts-sector {\n --tw-outline-style: none;\n outline-style: none;\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n }\n.\\\\[\\\\&_\\\\.recharts-sector\\\\[stroke\\\\=\\\\'\\\\#fff\\\\'\\\\]\\\\]\\\\:stroke-transparent {\n & .recharts-sector[stroke='#fff'] {\n stroke: transparent;\n }\n }\n.\\\\[\\\\&_\\\\.recharts-surface\\\\]\\\\:outline-hidden {\n & .recharts-surface {\n --tw-outline-style: none;\n outline-style: none;\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n }\n.\\\\[\\\\&_svg\\\\]\\\\:pointer-events-none {\n & svg {\n pointer-events: none;\n }\n }\n.\\\\[\\\\&_svg\\\\]\\\\:shrink-0 {\n & svg {\n flex-shrink: 0;\n }\n }\n.\\\\[\\\\&_svg\\\\:not\\\\(\\\\[class\\\\*\\\\=\\\\'size-\\\\'\\\\]\\\\)\\\\]\\\\:size-4 {\n & svg:not([class*='size-']) {\n width: calc(0.25rem * 4);\n width: calc(var(--spacing) * 4);\n height: calc(0.25rem * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n.\\\\[\\\\&_tr\\\\]\\\\:border-b {\n & tr {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n.\\\\[\\\\&_tr\\\\:last-child\\\\]\\\\:border-0 {\n & tr:last-child {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n.\\\\[\\\\&\\\\:has\\\\(\\\\[role\\\\=checkbox\\\\]\\\\)\\\\]\\\\:pr-0 {\n &:has([role=checkbox]) {\n padding-right: calc(0.25rem * 0);\n padding-right: calc(var(--spacing) * 0);\n }\n }\n.\\\\[\\\\.border-b\\\\]\\\\:pb-6 {\n &:is(.border-b) {\n padding-bottom: calc(0.25rem * 6);\n padding-bottom: calc(var(--spacing) * 6);\n }\n }\n.\\\\[\\\\&\\\\>\\\\[role\\\\=checkbox\\\\]\\\\]\\\\:translate-y-\\\\[2px\\\\] {\n &>[role=checkbox] {\n --tw-translate-y: 2px;\n translate: var(--tw-translate-x) 2px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n.\\\\[\\\\&\\\\>svg\\\\]\\\\:h-2\\\\.5 {\n &>svg {\n height: calc(0.25rem * 2.5);\n height: calc(var(--spacing) * 2.5);\n }\n }\n.\\\\[\\\\&\\\\>svg\\\\]\\\\:h-3 {\n &>svg {\n height: calc(0.25rem * 3);\n height: calc(var(--spacing) * 3);\n }\n }\n.\\\\[\\\\&\\\\>svg\\\\]\\\\:w-2\\\\.5 {\n &>svg {\n width: calc(0.25rem * 2.5);\n width: calc(var(--spacing) * 2.5);\n }\n }\n.\\\\[\\\\&\\\\>svg\\\\]\\\\:w-3 {\n &>svg {\n width: calc(0.25rem * 3);\n width: calc(var(--spacing) * 3);\n }\n }\n.\\\\[\\\\&\\\\>svg\\\\]\\\\:text-muted-foreground {\n &>svg {\n color: oklch(0.556 0 0);\n }\n }\n.\\\\[\\\\&\\\\>tr\\\\]\\\\:last\\\\:border-b-0 {\n &>tr {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n }\n@keyframes enter {\n from {\n opacity: 1;\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n@keyframes exit {\n to {\n opacity: 1;\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n`"],"mappings":"AAAA,MAAO,IAAM,CAAAA,mBAAmB,gkqEA0mF/B","ignoreList":[]}
1
+ {"version":3,"file":"css.js","names":["tailwindCompiledCss"],"sources":["../../src/helpers/css.ts"],"sourcesContent":["export const tailwindCompiledCss = `/*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */\n:root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-green-300: oklch(87.1% 0.15 154.449);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-blue-50: oklch(97% 0.014 254.604);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-purple-600: oklch(55.8% 0.288 302.321);\n --color-pink-50: oklch(97.1% 0.014 343.198);\n --color-pink-900: oklch(40.8% 0.153 2.432);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-gray-50: oklch(98.5% 0.002 247.839);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --color-gray-200: oklch(92.8% 0.006 264.531);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-gray-700: oklch(37.3% 0.034 259.733);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-gray-900: oklch(21% 0.034 264.665);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-md: 28rem;\n --container-2xl: 42rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --leading-relaxed: 1.625;\n --radius-sm: calc(0.625rem - 4px);\n --radius-md: calc(0.625rem - 2px);\n --radius-lg: 0.625rem;\n --radius-xl: calc(0.625rem + 4px);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --aspect-video: 16 / 9;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-border: oklch(0.922 0 0);\n }\n*, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\nhtml, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n 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\");\n font-feature-settings: normal;\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: normal;\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\nhr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\nh1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\na {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\nb, strong {\n font-weight: bolder;\n }\ncode, kbd, samp, pre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: normal;\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: normal;\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\nsmall {\n font-size: 80%;\n }\nsub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\nsub {\n bottom: -0.25em;\n }\nsup {\n top: -0.5em;\n }\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n:-moz-focusring {\n outline: auto;\n }\nprogress {\n vertical-align: baseline;\n }\nsummary {\n display: list-item;\n }\nol, ul, menu {\n list-style: none;\n }\nimg, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\nimg, video {\n max-width: 100%;\n height: auto;\n }\nbutton, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n:where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n:where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n::file-selector-button {\n margin-inline-end: 4px;\n }\n::-moz-placeholder {\n opacity: 1;\n }\n::placeholder {\n opacity: 1;\n }\n@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::-moz-placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\ntextarea {\n resize: vertical;\n }\n::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n::-webkit-datetime-edit {\n display: inline-flex;\n }\n::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n:-moz-ui-invalid {\n box-shadow: none;\n }\nbutton, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n -webkit-appearance: button;\n -moz-appearance: button;\n appearance: button;\n }\n::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n[hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n.\\\\@container\\\\/card-header {\n container-type: inline-size;\n container-name: card-header;\n }\n.pointer-events-none {\n pointer-events: none;\n }\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n }\n.absolute {\n position: absolute;\n }\n.fixed {\n position: fixed;\n }\n.relative {\n position: relative;\n }\n.sticky {\n position: sticky;\n }\n.inset-0 {\n inset: calc(0.25rem * 0);\n inset: calc(var(--spacing) * 0);\n }\n.top-0 {\n top: calc(0.25rem * 0);\n top: calc(var(--spacing) * 0);\n }\n.top-1 {\n top: calc(0.25rem * 1);\n top: calc(var(--spacing) * 1);\n }\n.top-2 {\n top: calc(0.25rem * 2);\n top: calc(var(--spacing) * 2);\n }\n.top-4 {\n top: calc(0.25rem * 4);\n top: calc(var(--spacing) * 4);\n }\n.top-7 {\n top: calc(0.25rem * 7);\n top: calc(var(--spacing) * 7);\n }\n.top-full {\n top: 100%;\n }\n.right-0 {\n right: calc(0.25rem * 0);\n right: calc(var(--spacing) * 0);\n }\n.right-2 {\n right: calc(0.25rem * 2);\n right: calc(var(--spacing) * 2);\n }\n.right-3 {\n right: calc(0.25rem * 3);\n right: calc(var(--spacing) * 3);\n }\n.right-4 {\n right: calc(0.25rem * 4);\n right: calc(var(--spacing) * 4);\n }\n.right-10 {\n right: calc(0.25rem * 10);\n right: calc(var(--spacing) * 10);\n }\n.bottom-0 {\n bottom: calc(0.25rem * 0);\n bottom: calc(var(--spacing) * 0);\n }\n.left-0 {\n left: calc(0.25rem * 0);\n left: calc(var(--spacing) * 0);\n }\n.left-1 {\n left: calc(0.25rem * 1);\n left: calc(var(--spacing) * 1);\n }\n.left-1\\\\/2 {\n left: calc(1/2 * 100%);\n }\n.left-2 {\n left: calc(0.25rem * 2);\n left: calc(var(--spacing) * 2);\n }\n.\\\\!z-\\\\[9999\\\\] {\n z-index: 9999 !important;\n }\n.z-2 {\n z-index: 2;\n }\n.z-10 {\n z-index: 10;\n }\n.z-50 {\n z-index: 50;\n }\n.z-\\\\[9999\\\\] {\n z-index: 9999;\n }\n.col-start-2 {\n grid-column-start: 2;\n }\n.row-span-2 {\n grid-row: span 2 / span 2;\n }\n.row-start-1 {\n grid-row-start: 1;\n }\n.container {\n width: 100%;\n max-width: 40rem;\n max-width: 48rem;\n max-width: 64rem;\n max-width: 80rem;\n max-width: 96rem\n }\n.-m-0 {\n margin: calc(0.25rem * -0);\n margin: calc(var(--spacing) * -0);\n }\n.-m-0\\\\.5 {\n margin: calc(0.25rem * -0.5);\n margin: calc(var(--spacing) * -0.5);\n }\n.m-0 {\n margin: calc(0.25rem * 0);\n margin: calc(var(--spacing) * 0);\n }\n.m-6 {\n margin: calc(0.25rem * 6);\n margin: calc(var(--spacing) * 6);\n }\n.-mx-1 {\n margin-inline: calc(0.25rem * -1);\n margin-inline: calc(var(--spacing) * -1);\n }\n.mx-auto {\n margin-inline: auto;\n }\n.my-0 {\n margin-block: calc(0.25rem * 0);\n margin-block: calc(var(--spacing) * 0);\n }\n.my-0\\\\.5 {\n margin-block: calc(0.25rem * 0.5);\n margin-block: calc(var(--spacing) * 0.5);\n }\n.my-1 {\n margin-block: calc(0.25rem * 1);\n margin-block: calc(var(--spacing) * 1);\n }\n.my-4 {\n margin-block: calc(0.25rem * 4);\n margin-block: calc(var(--spacing) * 4);\n }\n.my-6 {\n margin-block: calc(0.25rem * 6);\n margin-block: calc(var(--spacing) * 6);\n }\n.mt-1 {\n margin-top: calc(0.25rem * 1);\n margin-top: calc(var(--spacing) * 1);\n }\n.mt-2 {\n margin-top: calc(0.25rem * 2);\n margin-top: calc(var(--spacing) * 2);\n }\n.mt-4 {\n margin-top: calc(0.25rem * 4);\n margin-top: calc(var(--spacing) * 4);\n }\n.mt-auto {\n margin-top: auto;\n }\n.mr-1 {\n margin-right: calc(0.25rem * 1);\n margin-right: calc(var(--spacing) * 1);\n }\n.mr-2 {\n margin-right: calc(0.25rem * 2);\n margin-right: calc(var(--spacing) * 2);\n }\n.mb-1 {\n margin-bottom: calc(0.25rem * 1);\n margin-bottom: calc(var(--spacing) * 1);\n }\n.mb-2 {\n margin-bottom: calc(0.25rem * 2);\n margin-bottom: calc(var(--spacing) * 2);\n }\n.mb-3 {\n margin-bottom: calc(0.25rem * 3);\n margin-bottom: calc(var(--spacing) * 3);\n }\n.mb-4 {\n margin-bottom: calc(0.25rem * 4);\n margin-bottom: calc(var(--spacing) * 4);\n }\n.mb-6 {\n margin-bottom: calc(0.25rem * 6);\n margin-bottom: calc(var(--spacing) * 6);\n }\n.mb-8 {\n margin-bottom: calc(0.25rem * 8);\n margin-bottom: calc(var(--spacing) * 8);\n }\n.ml-1 {\n margin-left: calc(0.25rem * 1);\n margin-left: calc(var(--spacing) * 1);\n }\n.ml-1\\\\.5 {\n margin-left: calc(0.25rem * 1.5);\n margin-left: calc(var(--spacing) * 1.5);\n }\n.ml-2 {\n margin-left: calc(0.25rem * 2);\n margin-left: calc(var(--spacing) * 2);\n }\n.ml-2\\\\.5 {\n margin-left: calc(0.25rem * 2.5);\n margin-left: calc(var(--spacing) * 2.5);\n }\n.ml-3 {\n margin-left: calc(0.25rem * 3);\n margin-left: calc(var(--spacing) * 3);\n }\n.ml-auto {\n margin-left: auto;\n }\n.block {\n display: block;\n }\n.flex {\n display: flex;\n }\n.grid {\n display: grid;\n }\n.hidden {\n display: none;\n }\n.inline {\n display: inline;\n }\n.inline-block {\n display: inline-block;\n }\n.inline-flex {\n display: inline-flex;\n }\n.table {\n display: table;\n }\n.table-caption {\n display: table-caption;\n }\n.table-cell {\n display: table-cell;\n }\n.table-row {\n display: table-row;\n }\n.field-sizing-content {\n field-sizing: content;\n }\n.aspect-auto {\n aspect-ratio: auto;\n }\n.aspect-video {\n aspect-ratio: 16 / 9;\n aspect-ratio: var(--aspect-video);\n }\n.size-2 {\n width: calc(0.25rem * 2);\n width: calc(var(--spacing) * 2);\n height: calc(0.25rem * 2);\n height: calc(var(--spacing) * 2);\n }\n.size-2\\\\.5 {\n width: calc(0.25rem * 2.5);\n width: calc(var(--spacing) * 2.5);\n height: calc(0.25rem * 2.5);\n height: calc(var(--spacing) * 2.5);\n }\n.size-3 {\n width: calc(0.25rem * 3);\n width: calc(var(--spacing) * 3);\n height: calc(0.25rem * 3);\n height: calc(var(--spacing) * 3);\n }\n.size-3\\\\.5 {\n width: calc(0.25rem * 3.5);\n width: calc(var(--spacing) * 3.5);\n height: calc(0.25rem * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n.size-4 {\n width: calc(0.25rem * 4);\n width: calc(var(--spacing) * 4);\n height: calc(0.25rem * 4);\n height: calc(var(--spacing) * 4);\n }\n.size-9 {\n width: calc(0.25rem * 9);\n width: calc(var(--spacing) * 9);\n height: calc(0.25rem * 9);\n height: calc(var(--spacing) * 9);\n }\n.size-full {\n width: 100%;\n height: 100%;\n }\n.h-2 {\n height: calc(0.25rem * 2);\n height: calc(var(--spacing) * 2);\n }\n.h-2\\\\.5 {\n height: calc(0.25rem * 2.5);\n height: calc(var(--spacing) * 2.5);\n }\n.h-3 {\n height: calc(0.25rem * 3);\n height: calc(var(--spacing) * 3);\n }\n.h-4 {\n height: calc(0.25rem * 4);\n height: calc(var(--spacing) * 4);\n }\n.h-5 {\n height: calc(0.25rem * 5);\n height: calc(var(--spacing) * 5);\n }\n.h-6 {\n height: calc(0.25rem * 6);\n height: calc(var(--spacing) * 6);\n }\n.h-8 {\n height: calc(0.25rem * 8);\n height: calc(var(--spacing) * 8);\n }\n.h-9 {\n height: calc(0.25rem * 9);\n height: calc(var(--spacing) * 9);\n }\n.h-10 {\n height: calc(0.25rem * 10);\n height: calc(var(--spacing) * 10);\n }\n.h-12 {\n height: calc(0.25rem * 12);\n height: calc(var(--spacing) * 12);\n }\n.h-20 {\n height: calc(0.25rem * 20);\n height: calc(var(--spacing) * 20);\n }\n.h-28 {\n height: calc(0.25rem * 28);\n height: calc(var(--spacing) * 28);\n }\n.h-30 {\n height: calc(0.25rem * 30);\n height: calc(var(--spacing) * 30);\n }\n.h-35 {\n height: calc(0.25rem * 35);\n height: calc(var(--spacing) * 35);\n }\n.h-40 {\n height: calc(0.25rem * 40);\n height: calc(var(--spacing) * 40);\n }\n.h-50 {\n height: calc(0.25rem * 50);\n height: calc(var(--spacing) * 50);\n }\n.h-\\\\[38px\\\\] {\n height: 38px;\n }\n.h-\\\\[250px\\\\] {\n height: 250px;\n }\n.h-\\\\[258px\\\\] {\n height: 258px;\n }\n.h-\\\\[500px\\\\] {\n height: 500px;\n }\n.h-auto {\n height: auto;\n }\n.h-fit {\n height: -moz-fit-content;\n height: fit-content;\n }\n.h-full {\n height: 100%;\n }\n.h-px {\n height: 1px;\n }\n.max-h-48 {\n max-height: calc(0.25rem * 48);\n max-height: calc(var(--spacing) * 48);\n }\n.max-h-64 {\n max-height: calc(0.25rem * 64);\n max-height: calc(var(--spacing) * 64);\n }\n.max-h-\\\\[90vh\\\\] {\n max-height: 90vh;\n }\n.max-h-\\\\[calc\\\\(90vh-160px\\\\)\\\\] {\n max-height: calc(90vh - 160px);\n }\n.min-h-16 {\n min-height: calc(0.25rem * 16);\n min-height: calc(var(--spacing) * 16);\n }\n.min-h-\\\\[45vh\\\\] {\n min-height: 45vh;\n }\n.min-h-\\\\[100px\\\\] {\n min-height: 100px;\n }\n.min-h-\\\\[200px\\\\] {\n min-height: 200px;\n }\n.w-0 {\n width: calc(0.25rem * 0);\n width: calc(var(--spacing) * 0);\n }\n.w-1 {\n width: calc(0.25rem * 1);\n width: calc(var(--spacing) * 1);\n }\n.w-1\\\\/3 {\n width: calc(1/3 * 100%);\n }\n.w-1\\\\/6 {\n width: calc(1/6 * 100%);\n }\n.w-2 {\n width: calc(0.25rem * 2);\n width: calc(var(--spacing) * 2);\n }\n.w-2\\\\.5 {\n width: calc(0.25rem * 2.5);\n width: calc(var(--spacing) * 2.5);\n }\n.w-3 {\n width: calc(0.25rem * 3);\n width: calc(var(--spacing) * 3);\n }\n.w-4 {\n width: calc(0.25rem * 4);\n width: calc(var(--spacing) * 4);\n }\n.w-4\\\\/5 {\n width: calc(4/5 * 100%);\n }\n.w-6 {\n width: calc(0.25rem * 6);\n width: calc(var(--spacing) * 6);\n }\n.w-12 {\n width: calc(0.25rem * 12);\n width: calc(var(--spacing) * 12);\n }\n.w-56 {\n width: calc(0.25rem * 56);\n width: calc(var(--spacing) * 56);\n }\n.w-64 {\n width: calc(0.25rem * 64);\n width: calc(var(--spacing) * 64);\n }\n.w-72 {\n width: calc(0.25rem * 72);\n width: calc(var(--spacing) * 72);\n }\n.w-80 {\n width: calc(0.25rem * 80);\n width: calc(var(--spacing) * 80);\n }\n.w-\\\\[280px\\\\] {\n width: 280px;\n }\n.w-\\\\[320px\\\\] {\n width: 320px;\n }\n.w-\\\\[380px\\\\] {\n width: 380px;\n }\n.w-\\\\[481px\\\\] {\n width: 481px;\n }\n.w-\\\\[640px\\\\] {\n width: 640px;\n }\n.w-auto {\n width: auto;\n }\n.w-fit {\n width: -moz-fit-content;\n width: fit-content;\n }\n.w-full {\n width: 100%;\n }\n.max-w-2xl {\n max-width: 42rem;\n max-width: var(--container-2xl);\n }\n.max-w-\\\\[200px\\\\] {\n max-width: 200px;\n }\n.max-w-\\\\[320px\\\\] {\n max-width: 320px;\n }\n.max-w-full {\n max-width: 100%;\n }\n.max-w-md {\n max-width: 28rem;\n max-width: var(--container-md);\n }\n.min-w-0 {\n min-width: calc(0.25rem * 0);\n min-width: calc(var(--spacing) * 0);\n }\n.min-w-\\\\[8rem\\\\] {\n min-width: 8rem;\n }\n.min-w-\\\\[200px\\\\] {\n min-width: 200px;\n }\n.flex-1 {\n flex: 1;\n }\n.flex-shrink {\n flex-shrink: 1;\n }\n.flex-shrink-0 {\n flex-shrink: 0;\n }\n.shrink-0 {\n flex-shrink: 0;\n }\n.flex-grow {\n flex-grow: 1;\n }\n.caption-bottom {\n caption-side: bottom;\n }\n.border-collapse {\n border-collapse: collapse;\n }\n.origin-\\\\(--radix-hover-card-content-transform-origin\\\\) {\n transform-origin: var(--radix-hover-card-content-transform-origin);\n }\n.origin-\\\\[var\\\\(--radix-tooltip-content-transform-origin\\\\)\\\\] {\n transform-origin: var(--radix-tooltip-content-transform-origin);\n }\n.-translate-x-1 {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: calc(0.25rem * -1) var(--tw-translate-y);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n.-translate-x-1\\\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: calc(calc(1/2 * 100%) * -1) var(--tw-translate-y);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n.-translate-y-1 {\n --tw-translate-y: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) calc(0.25rem * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n.-translate-y-1\\\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n.-translate-y-2 {\n --tw-translate-y: calc(var(--spacing) * -2);\n translate: var(--tw-translate-x) calc(0.25rem * -2);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n.-translate-y-\\\\[2px\\\\] {\n --tw-translate-y: calc(2px * -1);\n translate: var(--tw-translate-x) calc(2px * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n.rotate-45 {\n rotate: 45deg;\n }\n.rotate-180 {\n rotate: 180deg;\n }\n.transform {\n transform: ;\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n.animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n animation: var(--animate-pulse);\n }\n.animate-spin {\n animation: spin 1s linear infinite;\n animation: var(--animate-spin);\n }\n.cursor-default {\n cursor: default;\n }\n.cursor-not-allowed {\n cursor: not-allowed;\n }\n.cursor-pointer {\n cursor: pointer;\n }\n.touch-none {\n touch-action: none;\n }\n.resize {\n resize: both;\n }\n.scroll-my-1 {\n scroll-margin-block: calc(0.25rem * 1);\n scroll-margin-block: calc(var(--spacing) * 1);\n }\n.list-disc {\n list-style-type: disc;\n }\n.auto-rows-min {\n grid-auto-rows: min-content;\n }\n.grid-rows-\\\\[auto_auto\\\\] {\n grid-template-rows: auto auto;\n }\n.flex-col {\n flex-direction: column;\n }\n.flex-row {\n flex-direction: row;\n }\n.flex-wrap {\n flex-wrap: wrap;\n }\n.items-center {\n align-items: center;\n }\n.items-end {\n align-items: flex-end;\n }\n.items-start {\n align-items: flex-start;\n }\n.items-stretch {\n align-items: stretch;\n }\n.justify-between {\n justify-content: space-between;\n }\n.justify-center {\n justify-content: center;\n }\n.justify-end {\n justify-content: flex-end;\n }\n.gap-1 {\n gap: calc(0.25rem * 1);\n gap: calc(var(--spacing) * 1);\n }\n.gap-1\\\\.5 {\n gap: calc(0.25rem * 1.5);\n gap: calc(var(--spacing) * 1.5);\n }\n.gap-2 {\n gap: calc(0.25rem * 2);\n gap: calc(var(--spacing) * 2);\n }\n.gap-3 {\n gap: calc(0.25rem * 3);\n gap: calc(var(--spacing) * 3);\n }\n.gap-4 {\n gap: calc(0.25rem * 4);\n gap: calc(var(--spacing) * 4);\n }\n.gap-6 {\n gap: calc(0.25rem * 6);\n gap: calc(var(--spacing) * 6);\n }\n.space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(0.25rem * 2) * 0);\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(0.25rem * 2) * calc(1 - 0));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n.space-y-3 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(0.25rem * 3) * 0);\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(0.25rem * 3) * calc(1 - 0));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n.space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(0.25rem * 4) * 0);\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(0.25rem * 4) * calc(1 - 0));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n.space-x-2 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(0.25rem * 2) * 0);\n margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(0.25rem * 2) * calc(1 - 0));\n margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n.self-end {\n align-self: flex-end;\n }\n.self-start {\n align-self: flex-start;\n }\n.justify-self-end {\n justify-self: flex-end;\n }\n.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n.overflow-auto {\n overflow: auto;\n }\n.overflow-hidden {\n overflow: hidden;\n }\n.overflow-x-auto {\n overflow-x: auto;\n }\n.overflow-x-hidden {\n overflow-x: hidden;\n }\n.overflow-y-auto {\n overflow-y: auto;\n }\n.rounded {\n border-radius: 0.25rem;\n }\n.rounded-\\\\[2px\\\\] {\n border-radius: 2px;\n }\n.rounded-\\\\[4px\\\\] {\n border-radius: 4px;\n }\n.rounded-\\\\[16px\\\\] {\n border-radius: 16px;\n }\n.rounded-\\\\[inherit\\\\] {\n border-radius: inherit;\n }\n.rounded-full {\n border-radius: calc(infinity * 1px);\n }\n.rounded-lg {\n border-radius: 0.625rem;\n }\n.rounded-md {\n border-radius: calc(0.625rem - 2px);\n }\n.rounded-none {\n border-radius: 0;\n }\n.rounded-sm {\n border-radius: calc(0.625rem - 4px);\n }\n.rounded-xl {\n border-radius: calc(0.625rem + 4px);\n }\n.border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n.border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n.border-\\\\[1\\\\.5px\\\\] {\n border-style: var(--tw-border-style);\n border-width: 1.5px;\n }\n.border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n.border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n.border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n.border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n.border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n.border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n.border-\\\\(--color-border\\\\) {\n border-color: oklch(0.922 0 0);\n border-color: var(--color-border);\n }\n.border-\\\\[\\\\#2A44D4\\\\] {\n border-color: #2A44D4;\n }\n.border-\\\\[\\\\#D4D5DE\\\\] {\n border-color: #D4D5DE;\n }\n.border-border {\n border-color: oklch(0.922 0 0);\n }\n.border-border\\\\/50 {\n border-color: color-mix(in oklab, oklch(0.922 0 0) 50%, transparent);\n }\n.border-gray-200 {\n border-color: oklch(92.8% 0.006 264.531);\n border-color: var(--color-gray-200);\n }\n.border-gray-300 {\n border-color: oklch(87.2% 0.01 258.338);\n border-color: var(--color-gray-300);\n }\n.border-input {\n border-color: oklch(0.922 0 0);\n }\n.border-purple-600 {\n border-color: oklch(55.8% 0.288 302.321);\n border-color: var(--color-purple-600);\n }\n.border-red-200 {\n border-color: oklch(88.5% 0.062 18.334);\n border-color: var(--color-red-200);\n }\n.border-t-transparent {\n border-top-color: transparent;\n }\n.border-l-transparent {\n border-left-color: transparent;\n }\n.bg-\\\\(--color-bg\\\\) {\n background-color: var(--color-bg);\n }\n.bg-\\\\[\\\\#2A44D4\\\\] {\n background-color: #2A44D4;\n }\n.bg-\\\\[\\\\#EAECFB\\\\] {\n background-color: #EAECFB;\n }\n.bg-\\\\[\\\\#F9F9FE\\\\] {\n background-color: #F9F9FE;\n }\n.bg-accent {\n background-color: oklch(0.97 0 0);\n }\n.bg-background {\n background-color: oklch(1 0 0);\n }\n.bg-black {\n background-color: #000;\n background-color: var(--color-black);\n }\n.bg-black\\\\/10 {\n background-color: color-mix(in srgb, #000 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, #000 10%, transparent);\n background-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n }\n.bg-blue-600 {\n background-color: oklch(54.6% 0.245 262.881);\n background-color: var(--color-blue-600);\n }\n.bg-border {\n background-color: oklch(0.922 0 0);\n }\n.bg-destructive {\n background-color: oklch(0.577 0.245 27.325);\n }\n.bg-gray-50 {\n background-color: oklch(98.5% 0.002 247.839);\n background-color: var(--color-gray-50);\n }\n.bg-gray-100 {\n background-color: oklch(96.7% 0.003 264.542);\n background-color: var(--color-gray-100);\n }\n.bg-gray-300 {\n background-color: oklch(87.2% 0.01 258.338);\n background-color: var(--color-gray-300);\n }\n.bg-gray-400 {\n background-color: oklch(70.7% 0.022 261.325);\n background-color: var(--color-gray-400);\n }\n.bg-gray-500 {\n background-color: oklch(55.1% 0.027 264.364);\n background-color: var(--color-gray-500);\n }\n.bg-green-300 {\n background-color: oklch(87.1% 0.15 154.449);\n background-color: var(--color-green-300);\n }\n.bg-muted {\n background-color: oklch(0.97 0 0);\n }\n.bg-muted\\\\/50 {\n background-color: color-mix(in oklab, oklch(0.97 0 0) 50%, transparent);\n }\n.bg-pink-50 {\n background-color: oklch(97.1% 0.014 343.198);\n background-color: var(--color-pink-50);\n }\n.bg-popover {\n background-color: oklch(1 0 0);\n }\n.bg-primary {\n background-color: oklch(0.205 0 0);\n }\n.bg-red-50 {\n background-color: oklch(97.1% 0.013 17.38);\n background-color: var(--color-red-50);\n }\n.bg-red-100 {\n background-color: oklch(93.6% 0.032 17.717);\n background-color: var(--color-red-100);\n }\n.bg-secondary {\n background-color: oklch(0.97 0 0);\n }\n.bg-slate-100 {\n background-color: oklch(96.8% 0.007 247.896);\n background-color: var(--color-slate-100);\n }\n.bg-transparent {\n background-color: transparent;\n }\n.bg-white {\n background-color: #fff;\n background-color: var(--color-white);\n }\n.fill-primary {\n fill: oklch(0.205 0 0);\n }\n.p-0 {\n padding: calc(0.25rem * 0);\n padding: calc(var(--spacing) * 0);\n }\n.p-0\\\\.5 {\n padding: calc(0.25rem * 0.5);\n padding: calc(var(--spacing) * 0.5);\n }\n.p-1 {\n padding: calc(0.25rem * 1);\n padding: calc(var(--spacing) * 1);\n }\n.p-2 {\n padding: calc(0.25rem * 2);\n padding: calc(var(--spacing) * 2);\n }\n.p-3 {\n padding: calc(0.25rem * 3);\n padding: calc(var(--spacing) * 3);\n }\n.p-4 {\n padding: calc(0.25rem * 4);\n padding: calc(var(--spacing) * 4);\n }\n.p-6 {\n padding: calc(0.25rem * 6);\n padding: calc(var(--spacing) * 6);\n }\n.p-\\\\[1em\\\\] {\n padding: 1em;\n }\n.p-px {\n padding: 1px;\n }\n.px-1 {\n padding-inline: calc(0.25rem * 1);\n padding-inline: calc(var(--spacing) * 1);\n }\n.px-2 {\n padding-inline: calc(0.25rem * 2);\n padding-inline: calc(var(--spacing) * 2);\n }\n.px-2\\\\.5 {\n padding-inline: calc(0.25rem * 2.5);\n padding-inline: calc(var(--spacing) * 2.5);\n }\n.px-3 {\n padding-inline: calc(0.25rem * 3);\n padding-inline: calc(var(--spacing) * 3);\n }\n.px-4 {\n padding-inline: calc(0.25rem * 4);\n padding-inline: calc(var(--spacing) * 4);\n }\n.px-6 {\n padding-inline: calc(0.25rem * 6);\n padding-inline: calc(var(--spacing) * 6);\n }\n.px-\\\\[1em\\\\] {\n padding-inline: 1em;\n }\n.py-1 {\n padding-block: calc(0.25rem * 1);\n padding-block: calc(var(--spacing) * 1);\n }\n.py-1\\\\.5 {\n padding-block: calc(0.25rem * 1.5);\n padding-block: calc(var(--spacing) * 1.5);\n }\n.py-2 {\n padding-block: calc(0.25rem * 2);\n padding-block: calc(var(--spacing) * 2);\n }\n.py-3 {\n padding-block: calc(0.25rem * 3);\n padding-block: calc(var(--spacing) * 3);\n }\n.py-6 {\n padding-block: calc(0.25rem * 6);\n padding-block: calc(var(--spacing) * 6);\n }\n.py-8 {\n padding-block: calc(0.25rem * 8);\n padding-block: calc(var(--spacing) * 8);\n }\n.py-12 {\n padding-block: calc(0.25rem * 12);\n padding-block: calc(var(--spacing) * 12);\n }\n.py-16 {\n padding-block: calc(0.25rem * 16);\n padding-block: calc(var(--spacing) * 16);\n }\n.py-\\\\[11px\\\\] {\n padding-block: 11px;\n }\n.pt-1 {\n padding-top: calc(0.25rem * 1);\n padding-top: calc(var(--spacing) * 1);\n }\n.pt-2 {\n padding-top: calc(0.25rem * 2);\n padding-top: calc(var(--spacing) * 2);\n }\n.pt-3 {\n padding-top: calc(0.25rem * 3);\n padding-top: calc(var(--spacing) * 3);\n }\n.pr-8 {\n padding-right: calc(0.25rem * 8);\n padding-right: calc(var(--spacing) * 8);\n }\n.pr-16 {\n padding-right: calc(0.25rem * 16);\n padding-right: calc(var(--spacing) * 16);\n }\n.pb-3 {\n padding-bottom: calc(0.25rem * 3);\n padding-bottom: calc(var(--spacing) * 3);\n }\n.pb-4 {\n padding-bottom: calc(0.25rem * 4);\n padding-bottom: calc(var(--spacing) * 4);\n }\n.pl-1 {\n padding-left: calc(0.25rem * 1);\n padding-left: calc(var(--spacing) * 1);\n }\n.pl-2 {\n padding-left: calc(0.25rem * 2);\n padding-left: calc(var(--spacing) * 2);\n }\n.pl-4 {\n padding-left: calc(0.25rem * 4);\n padding-left: calc(var(--spacing) * 4);\n }\n.text-center {\n text-align: center;\n }\n.text-left {\n text-align: left;\n }\n.align-middle {\n vertical-align: middle;\n }\n.font-mono {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n font-family: var(--font-mono);\n }\n.text-2xl {\n font-size: 1.5rem;\n font-size: var(--text-2xl);\n line-height: calc(2 / 1.5);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n.text-3xl {\n font-size: 1.875rem;\n font-size: var(--text-3xl);\n line-height: calc(2.25 / 1.875);\n line-height: var(--tw-leading, var(--text-3xl--line-height));\n }\n.text-4xl {\n font-size: 2.25rem;\n font-size: var(--text-4xl);\n line-height: calc(2.5 / 2.25);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n }\n.text-5xl {\n font-size: 3rem;\n font-size: var(--text-5xl);\n line-height: 1;\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n.text-base {\n font-size: 1rem;\n font-size: var(--text-base);\n line-height: calc(1.5 / 1);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n.text-lg {\n font-size: 1.125rem;\n font-size: var(--text-lg);\n line-height: calc(1.75 / 1.125);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n.text-sm {\n font-size: 0.875rem;\n font-size: var(--text-sm);\n line-height: calc(1.25 / 0.875);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n.text-xl {\n font-size: 1.25rem;\n font-size: var(--text-xl);\n line-height: calc(1.75 / 1.25);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n.text-xs {\n font-size: 0.75rem;\n font-size: var(--text-xs);\n line-height: calc(1 / 0.75);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n.text-\\\\[0\\\\.8rem\\\\] {\n font-size: 0.8rem;\n }\n.leading-4 {\n --tw-leading: calc(var(--spacing) * 4);\n line-height: calc(0.25rem * 4);\n line-height: calc(var(--spacing) * 4);\n }\n.leading-\\\\[2\\\\.5rem\\\\] {\n --tw-leading: 2.5rem;\n line-height: 2.5rem;\n }\n.leading-\\\\[2rem\\\\] {\n --tw-leading: 2rem;\n line-height: 2rem;\n }\n.leading-\\\\[3rem\\\\] {\n --tw-leading: 3rem;\n line-height: 3rem;\n }\n.leading-\\\\[4rem\\\\] {\n --tw-leading: 4rem;\n line-height: 4rem;\n }\n.leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n.leading-relaxed {\n --tw-leading: var(--leading-relaxed);\n line-height: 1.625;\n line-height: var(--leading-relaxed);\n }\n.font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: 700;\n font-weight: var(--font-weight-bold);\n }\n.font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: 500;\n font-weight: var(--font-weight-medium);\n }\n.font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: 600;\n font-weight: var(--font-weight-semibold);\n }\n.text-balance {\n text-wrap: balance;\n }\n.text-wrap {\n text-wrap: wrap;\n }\n.break-words {\n overflow-wrap: break-word;\n }\n.break-all {\n word-break: break-all;\n }\n.whitespace-normal {\n white-space: normal;\n }\n.whitespace-nowrap {\n white-space: nowrap;\n }\n.whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n.text-\\\\[\\\\#020D21\\\\] {\n color: #020D21;\n }\n.text-\\\\[\\\\#263DBF\\\\] {\n color: #263DBF;\n }\n.text-\\\\[\\\\#687387\\\\] {\n color: #687387;\n }\n.text-black {\n color: #000;\n color: var(--color-black);\n }\n.text-blue-500 {\n color: oklch(62.3% 0.214 259.815);\n color: var(--color-blue-500);\n }\n.text-blue-600 {\n color: oklch(54.6% 0.245 262.881);\n color: var(--color-blue-600);\n }\n.text-card-foreground {\n color: oklch(0.145 0 0);\n }\n.text-current {\n color: currentcolor;\n }\n.text-foreground {\n color: oklch(0.145 0 0);\n }\n.text-gray-400 {\n color: oklch(70.7% 0.022 261.325);\n color: var(--color-gray-400);\n }\n.text-gray-500 {\n color: oklch(55.1% 0.027 264.364);\n color: var(--color-gray-500);\n }\n.text-gray-600 {\n color: oklch(44.6% 0.03 256.802);\n color: var(--color-gray-600);\n }\n.text-gray-700 {\n color: oklch(37.3% 0.034 259.733);\n color: var(--color-gray-700);\n }\n.text-gray-800 {\n color: oklch(27.8% 0.033 256.848);\n color: var(--color-gray-800);\n }\n.text-gray-900 {\n color: oklch(21% 0.034 264.665);\n color: var(--color-gray-900);\n }\n.text-green-600 {\n color: oklch(62.7% 0.194 149.214);\n color: var(--color-green-600);\n }\n.text-muted-foreground {\n color: oklch(0.556 0 0);\n }\n.text-pink-900 {\n color: oklch(40.8% 0.153 2.432);\n color: var(--color-pink-900);\n }\n.text-popover-foreground {\n color: oklch(0.145 0 0);\n }\n.text-primary {\n color: oklch(0.205 0 0);\n }\n.text-primary-foreground {\n color: oklch(0.985 0 0);\n }\n.text-red-600 {\n color: oklch(57.7% 0.245 27.325);\n color: var(--color-red-600);\n }\n.text-secondary-foreground {\n color: oklch(0.205 0 0);\n }\n.text-white {\n color: #fff;\n color: var(--color-white);\n }\n.italic {\n font-style: italic;\n }\n.tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: tabular-nums ;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n.underline {\n text-decoration-line: underline;\n }\n.underline-offset-4 {\n text-underline-offset: 4px;\n }\n.opacity-50 {\n opacity: 50%;\n }\n.opacity-60 {\n opacity: 60%;\n }\n.shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-\\\\[0px_8px_16px_-4px_rgba\\\\(0\\\\,0\\\\,0\\\\,0\\\\.1\\\\)\\\\] {\n --tw-shadow: 0px 8px 16px -4px var(--tw-shadow-color, rgba(0,0,0,0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0px 8px 16px -4px rgba(0,0,0,0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-none {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 1px 2px 0 rgb(0 0 0 / 0.05);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.ring-2 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n.ring-black {\n --tw-ring-color: var(--color-black);\n }\n.ring-blue-500 {\n --tw-ring-color: var(--color-blue-500);\n }\n.ring-offset-background {\n --tw-ring-offset-color: oklch(1 0 0);\n }\n.outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n.outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n.filter {\n filter: ;\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n.transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: 150ms;\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n.transition-\\\\[color\\\\,box-shadow\\\\] {\n transition-property: color,box-shadow;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: 150ms;\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n.transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: 150ms;\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n.transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: 150ms;\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n.transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: 150ms;\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n.transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: 150ms;\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n.transition-none {\n transition-property: none;\n }\n.duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n.ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: var(--ease-in-out);\n }\n.animate-in {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n }\n.outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n.select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n.duration-200 {\n animation-duration: 200ms;\n }\n.ease-in-out {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n.fade-in-0 {\n --tw-enter-opacity: 0;\n }\n.zoom-in-95 {\n --tw-enter-scale: .95;\n }\n.group-data-\\\\[disabled\\\\=true\\\\]\\\\:pointer-events-none {\n &:is(:where(.group)[data-disabled=\"true\"] *) {\n pointer-events: none;\n }\n }\n.group-data-\\\\[disabled\\\\=true\\\\]\\\\:opacity-50 {\n &:is(:where(.group)[data-disabled=\"true\"] *) {\n opacity: 50%;\n }\n }\n.peer-disabled\\\\:cursor-not-allowed {\n &:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n }\n.peer-disabled\\\\:opacity-50 {\n &:is(:where(.peer):disabled ~ *) {\n opacity: 50%;\n }\n }\n.selection\\\\:bg-primary {\n & *::-moz-selection {\n background-color: oklch(0.205 0 0);\n }\n & *::selection {\n background-color: oklch(0.205 0 0);\n }\n &::-moz-selection {\n background-color: oklch(0.205 0 0);\n }\n &::selection {\n background-color: oklch(0.205 0 0);\n }\n }\n.selection\\\\:text-primary-foreground {\n & *::-moz-selection {\n color: oklch(0.985 0 0);\n }\n & *::selection {\n color: oklch(0.985 0 0);\n }\n &::-moz-selection {\n color: oklch(0.985 0 0);\n }\n &::selection {\n color: oklch(0.985 0 0);\n }\n }\n.file\\\\:inline-flex {\n &::file-selector-button {\n display: inline-flex;\n }\n }\n.file\\\\:h-7 {\n &::file-selector-button {\n height: calc(0.25rem * 7);\n height: calc(var(--spacing) * 7);\n }\n }\n.file\\\\:border-0 {\n &::file-selector-button {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n.file\\\\:bg-transparent {\n &::file-selector-button {\n background-color: transparent;\n }\n }\n.file\\\\:text-sm {\n &::file-selector-button {\n font-size: 0.875rem;\n font-size: var(--text-sm);\n line-height: calc(1.25 / 0.875);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n.file\\\\:font-medium {\n &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: 500;\n font-weight: var(--font-weight-medium);\n }\n }\n.file\\\\:text-foreground {\n &::file-selector-button {\n color: oklch(0.145 0 0);\n }\n }\n.placeholder\\\\:text-muted-foreground {\n &::-moz-placeholder {\n color: oklch(0.556 0 0);\n }\n &::placeholder {\n color: oklch(0.556 0 0);\n }\n }\n.hover\\\\:cursor-pointer {\n &:hover {\n cursor: pointer\n }\n }\n.hover\\\\:bg-\\\\[\\\\#2A44D4\\\\] {\n &:hover {\n background-color: #2A44D4\n }\n }\n.hover\\\\:bg-\\\\[\\\\#EAECFB\\\\] {\n &:hover {\n background-color: #EAECFB\n }\n }\n.hover\\\\:bg-accent {\n &:hover {\n background-color: oklch(0.97 0 0)\n }\n }\n.hover\\\\:bg-destructive\\\\/90 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.577 0.245 27.325) 90%, transparent)\n }\n }\n.hover\\\\:bg-gray-50 {\n &:hover {\n background-color: oklch(98.5% 0.002 247.839);\n background-color: var(--color-gray-50)\n }\n }\n.hover\\\\:bg-gray-100 {\n &:hover {\n background-color: oklch(96.7% 0.003 264.542);\n background-color: var(--color-gray-100)\n }\n }\n.hover\\\\:bg-gray-200 {\n &:hover {\n background-color: oklch(92.8% 0.006 264.531);\n background-color: var(--color-gray-200)\n }\n }\n.hover\\\\:bg-muted\\\\/30 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.97 0 0) 30%, transparent)\n }\n }\n.hover\\\\:bg-muted\\\\/50 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.97 0 0) 50%, transparent)\n }\n }\n.hover\\\\:bg-primary\\\\/90 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.205 0 0) 90%, transparent)\n }\n }\n.hover\\\\:bg-red-200 {\n &:hover {\n background-color: oklch(88.5% 0.062 18.334);\n background-color: var(--color-red-200)\n }\n }\n.hover\\\\:bg-secondary\\\\/80 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.97 0 0) 80%, transparent)\n }\n }\n.hover\\\\:text-\\\\[\\\\#263DBF\\\\] {\n &:hover {\n color: #263DBF\n }\n }\n.hover\\\\:text-accent-foreground {\n &:hover {\n color: oklch(0.205 0 0)\n }\n }\n.hover\\\\:text-blue-600 {\n &:hover {\n color: oklch(54.6% 0.245 262.881);\n color: var(--color-blue-600)\n }\n }\n.hover\\\\:text-gray-600 {\n &:hover {\n color: oklch(44.6% 0.03 256.802);\n color: var(--color-gray-600)\n }\n }\n.hover\\\\:text-white {\n &:hover {\n color: #fff;\n color: var(--color-white)\n }\n }\n.hover\\\\:underline {\n &:hover {\n text-decoration-line: underline\n }\n }\n.focus\\\\:bg-blue-50 {\n &:focus {\n background-color: oklch(97% 0.014 254.604);\n background-color: var(--color-blue-50);\n }\n }\n.focus\\\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n.focus\\\\:ring-blue-500 {\n &:focus {\n --tw-ring-color: var(--color-blue-500);\n }\n }\n.focus\\\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n.focus-visible\\\\:border-ring {\n &:focus-visible {\n border-color: oklch(0.708 0 0);\n }\n }\n.focus-visible\\\\:ring-2 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n.focus-visible\\\\:ring-\\\\[3px\\\\] {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n.focus-visible\\\\:ring-destructive\\\\/20 {\n &:focus-visible {\n --tw-ring-color: color-mix(in oklab, oklch(0.577 0.245 27.325) 20%, transparent);\n }\n }\n.focus-visible\\\\:ring-ring {\n &:focus-visible {\n --tw-ring-color: oklch(0.708 0 0);\n }\n }\n.focus-visible\\\\:ring-ring\\\\/50 {\n &:focus-visible {\n --tw-ring-color: color-mix(in oklab, oklch(0.708 0 0) 50%, transparent);\n }\n }\n.focus-visible\\\\:ring-offset-2 {\n &:focus-visible {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n.focus-visible\\\\:outline-none {\n &:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n.disabled\\\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n.disabled\\\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n }\n.disabled\\\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n.has-data-\\\\[slot\\\\=card-action\\\\]\\\\:grid-cols-\\\\[1fr_auto\\\\] {\n &:has(*[data-slot=\"card-action\"]) {\n grid-template-columns: 1fr auto;\n }\n }\n.has-\\\\[\\\\>svg\\\\]\\\\:px-2\\\\.5 {\n &:has(>svg) {\n padding-inline: calc(0.25rem * 2.5);\n padding-inline: calc(var(--spacing) * 2.5);\n }\n }\n.has-\\\\[\\\\>svg\\\\]\\\\:px-3 {\n &:has(>svg) {\n padding-inline: calc(0.25rem * 3);\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n.has-\\\\[\\\\>svg\\\\]\\\\:px-4 {\n &:has(>svg) {\n padding-inline: calc(0.25rem * 4);\n padding-inline: calc(var(--spacing) * 4);\n }\n }\n.aria-invalid\\\\:border-destructive {\n &[aria-invalid=\"true\"] {\n border-color: oklch(0.577 0.245 27.325);\n }\n }\n.aria-invalid\\\\:ring-destructive\\\\/20 {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in oklab, oklch(0.577 0.245 27.325) 20%, transparent);\n }\n }\n.data-\\\\[orientation\\\\=horizontal\\\\]\\\\:h-px {\n &[data-orientation=\"horizontal\"] {\n height: 1px;\n }\n }\n.data-\\\\[orientation\\\\=horizontal\\\\]\\\\:w-full {\n &[data-orientation=\"horizontal\"] {\n width: 100%;\n }\n }\n.data-\\\\[orientation\\\\=vertical\\\\]\\\\:h-full {\n &[data-orientation=\"vertical\"] {\n height: 100%;\n }\n }\n.data-\\\\[orientation\\\\=vertical\\\\]\\\\:w-px {\n &[data-orientation=\"vertical\"] {\n width: 1px;\n }\n }\n.data-\\\\[side\\\\=bottom\\\\]\\\\:slide-in-from-top-2 {\n &[data-side=\"bottom\"] {\n --tw-enter-translate-y: -0.5rem;\n }\n }\n.data-\\\\[side\\\\=left\\\\]\\\\:slide-in-from-right-2 {\n &[data-side=\"left\"] {\n --tw-enter-translate-x: 0.5rem;\n }\n }\n.data-\\\\[side\\\\=right\\\\]\\\\:slide-in-from-left-2 {\n &[data-side=\"right\"] {\n --tw-enter-translate-x: -0.5rem;\n }\n }\n.data-\\\\[side\\\\=top\\\\]\\\\:slide-in-from-bottom-2 {\n &[data-side=\"top\"] {\n --tw-enter-translate-y: 0.5rem;\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:rounded-md {\n &[data-state=\"active\"] {\n border-radius: calc(0.625rem - 2px);\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:border {\n &[data-state=\"active\"] {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:border-solid {\n &[data-state=\"active\"] {\n --tw-border-style: solid;\n border-style: solid;\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:border-\\\\[\\\\#2A44D4\\\\] {\n &[data-state=\"active\"] {\n border-color: #2A44D4;\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:bg-\\\\[\\\\#EAECFB\\\\] {\n &[data-state=\"active\"] {\n background-color: #EAECFB;\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:bg-background {\n &[data-state=\"active\"] {\n background-color: oklch(1 0 0);\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:text-\\\\[\\\\#263DBF\\\\] {\n &[data-state=\"active\"] {\n color: #263DBF;\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:text-foreground {\n &[data-state=\"active\"] {\n color: oklch(0.145 0 0);\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:shadow {\n &[data-state=\"active\"] {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n.data-\\\\[state\\\\=active\\\\]\\\\:shadow-none {\n &[data-state=\"active\"] {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n.data-\\\\[state\\\\=checked\\\\]\\\\:border-primary {\n &[data-state=\"checked\"] {\n border-color: oklch(0.205 0 0);\n }\n }\n.data-\\\\[state\\\\=checked\\\\]\\\\:bg-primary {\n &[data-state=\"checked\"] {\n background-color: oklch(0.205 0 0);\n }\n }\n.data-\\\\[state\\\\=checked\\\\]\\\\:text-primary-foreground {\n &[data-state=\"checked\"] {\n color: oklch(0.985 0 0);\n }\n }\n.data-\\\\[state\\\\=closed\\\\]\\\\:animate-out {\n &[data-state=\"closed\"] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n }\n }\n.data-\\\\[state\\\\=closed\\\\]\\\\:fade-out-0 {\n &[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n }\n }\n.data-\\\\[state\\\\=closed\\\\]\\\\:zoom-out-95 {\n &[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n }\n }\n.data-\\\\[state\\\\=open\\\\]\\\\:animate-in {\n &[data-state=\"open\"] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n }\n }\n.data-\\\\[state\\\\=open\\\\]\\\\:fade-in-0 {\n &[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n }\n }\n.data-\\\\[state\\\\=open\\\\]\\\\:zoom-in-95 {\n &[data-state=\"open\"] {\n --tw-enter-scale: .95;\n }\n }\n.data-\\\\[state\\\\=selected\\\\]\\\\:bg-muted {\n &[data-state=\"selected\"] {\n background-color: oklch(0.97 0 0);\n }\n }\n.md\\\\:text-sm {\n font-size: 0.875rem;\n font-size: var(--text-sm);\n line-height: calc(1.25 / 0.875);\n line-height: var(--tw-leading, var(--text-sm--line-height))\n }\n.dark\\\\:border-input {\n border-color: oklch(0.922 0 0)\n }\n.dark\\\\:bg-destructive\\\\/60 {\n background-color: color-mix(in oklab, oklch(0.577 0.245 27.325) 60%, transparent)\n }\n.dark\\\\:bg-input\\\\/30 {\n background-color: color-mix(in oklab, oklch(0.922 0 0) 30%, transparent)\n }\n.dark\\\\:hover\\\\:bg-accent\\\\/50 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.97 0 0) 50%, transparent)\n }\n }\n.dark\\\\:hover\\\\:bg-input\\\\/50 {\n &:hover {\n background-color: color-mix(in oklab, oklch(0.922 0 0) 50%, transparent)\n }\n }\n.dark\\\\:focus-visible\\\\:ring-destructive\\\\/40 {\n &:focus-visible {\n --tw-ring-color: color-mix(in oklab, oklch(0.577 0.245 27.325) 40%, transparent);\n }\n }\n.dark\\\\:aria-invalid\\\\:ring-destructive\\\\/40 {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in oklab, oklch(0.577 0.245 27.325) 40%, transparent);\n }\n }\n.dark\\\\:data-\\\\[state\\\\=checked\\\\]\\\\:bg-primary {\n &[data-state=\"checked\"] {\n background-color: oklch(0.205 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-cartesian-axis-tick_text\\\\]\\\\:fill-muted-foreground {\n & .recharts-cartesian-axis-tick text {\n fill: oklch(0.556 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-cartesian-grid_line\\\\[stroke\\\\=\\\\'\\\\#ccc\\\\'\\\\]\\\\]\\\\:stroke-border\\\\/50 {\n & .recharts-cartesian-grid line[stroke='#ccc'] {\n stroke: color-mix(in oklab, oklch(0.922 0 0) 50%, transparent);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-curve\\\\.recharts-tooltip-cursor\\\\]\\\\:stroke-border {\n & .recharts-curve.recharts-tooltip-cursor {\n stroke: oklch(0.922 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-dot\\\\[stroke\\\\=\\\\'\\\\#fff\\\\'\\\\]\\\\]\\\\:stroke-transparent {\n & .recharts-dot[stroke='#fff'] {\n stroke: transparent;\n }\n }\n.\\\\[\\\\&_\\\\.recharts-layer\\\\]\\\\:outline-hidden {\n & .recharts-layer {\n --tw-outline-style: none;\n outline-style: none;\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n }\n.\\\\[\\\\&_\\\\.recharts-polar-grid_\\\\[stroke\\\\=\\\\'\\\\#ccc\\\\'\\\\]\\\\]\\\\:stroke-border {\n & .recharts-polar-grid [stroke='#ccc'] {\n stroke: oklch(0.922 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-radial-bar-background-sector\\\\]\\\\:fill-muted {\n & .recharts-radial-bar-background-sector {\n fill: oklch(0.97 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-rectangle\\\\.recharts-tooltip-cursor\\\\]\\\\:fill-muted {\n & .recharts-rectangle.recharts-tooltip-cursor {\n fill: oklch(0.97 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-reference-line_\\\\[stroke\\\\=\\\\'\\\\#ccc\\\\'\\\\]\\\\]\\\\:stroke-border {\n & .recharts-reference-line [stroke='#ccc'] {\n stroke: oklch(0.922 0 0);\n }\n }\n.\\\\[\\\\&_\\\\.recharts-sector\\\\]\\\\:outline-hidden {\n & .recharts-sector {\n --tw-outline-style: none;\n outline-style: none;\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n }\n.\\\\[\\\\&_\\\\.recharts-sector\\\\[stroke\\\\=\\\\'\\\\#fff\\\\'\\\\]\\\\]\\\\:stroke-transparent {\n & .recharts-sector[stroke='#fff'] {\n stroke: transparent;\n }\n }\n.\\\\[\\\\&_\\\\.recharts-surface\\\\]\\\\:outline-hidden {\n & .recharts-surface {\n --tw-outline-style: none;\n outline-style: none;\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n }\n.\\\\[\\\\&_svg\\\\]\\\\:pointer-events-none {\n & svg {\n pointer-events: none;\n }\n }\n.\\\\[\\\\&_svg\\\\]\\\\:shrink-0 {\n & svg {\n flex-shrink: 0;\n }\n }\n.\\\\[\\\\&_svg\\\\:not\\\\(\\\\[class\\\\*\\\\=\\\\'size-\\\\'\\\\]\\\\)\\\\]\\\\:size-4 {\n & svg:not([class*='size-']) {\n width: calc(0.25rem * 4);\n width: calc(var(--spacing) * 4);\n height: calc(0.25rem * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n.\\\\[\\\\&_tr\\\\]\\\\:border-b {\n & tr {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n.\\\\[\\\\&_tr\\\\:last-child\\\\]\\\\:border-0 {\n & tr:last-child {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n.\\\\[\\\\&\\\\:has\\\\(\\\\[role\\\\=checkbox\\\\]\\\\)\\\\]\\\\:pr-0 {\n &:has([role=checkbox]) {\n padding-right: calc(0.25rem * 0);\n padding-right: calc(var(--spacing) * 0);\n }\n }\n.\\\\[\\\\.border-b\\\\]\\\\:pb-6 {\n &:is(.border-b) {\n padding-bottom: calc(0.25rem * 6);\n padding-bottom: calc(var(--spacing) * 6);\n }\n }\n.\\\\[\\\\&\\\\>\\\\[role\\\\=checkbox\\\\]\\\\]\\\\:translate-y-\\\\[2px\\\\] {\n &>[role=checkbox] {\n --tw-translate-y: 2px;\n translate: var(--tw-translate-x) 2px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n.\\\\[\\\\&\\\\>svg\\\\]\\\\:h-2\\\\.5 {\n &>svg {\n height: calc(0.25rem * 2.5);\n height: calc(var(--spacing) * 2.5);\n }\n }\n.\\\\[\\\\&\\\\>svg\\\\]\\\\:h-3 {\n &>svg {\n height: calc(0.25rem * 3);\n height: calc(var(--spacing) * 3);\n }\n }\n.\\\\[\\\\&\\\\>svg\\\\]\\\\:w-2\\\\.5 {\n &>svg {\n width: calc(0.25rem * 2.5);\n width: calc(var(--spacing) * 2.5);\n }\n }\n.\\\\[\\\\&\\\\>svg\\\\]\\\\:w-3 {\n &>svg {\n width: calc(0.25rem * 3);\n width: calc(var(--spacing) * 3);\n }\n }\n.\\\\[\\\\&\\\\>svg\\\\]\\\\:text-muted-foreground {\n &>svg {\n color: oklch(0.556 0 0);\n }\n }\n.\\\\[\\\\&\\\\>tr\\\\]\\\\:last\\\\:border-b-0 {\n &>tr {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n }\n@keyframes enter {\n from {\n opacity: 1;\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n@keyframes exit {\n to {\n opacity: 1;\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n`"],"mappings":"AAAA,MAAO,IAAM,CAAAA,mBAAmB,wqsEAqpF/B","ignoreList":[]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@peak-ai/canvas",
3
3
  "author": "squad-builder-experience",
4
4
  "license": "UNLICENSED",
5
- "version": "1.4.38",
5
+ "version": "1.4.39-rc.1",
6
6
  "description": "",
7
7
  "dependencies": {
8
8
  "@emotion/react": "^11.11.4",
@@ -21,6 +21,7 @@
21
21
  "@tailwindcss/cli": "^4.1.3",
22
22
  "@types/chroma-js": "^3.1.1",
23
23
  "@types/react-datepicker": "^7.0.0",
24
+ "@types/d3-force": "^3.0.0",
24
25
  "chroma-js": "^3.1.2",
25
26
  "class-variance-authority": "^0.7.1",
26
27
  "clsx": "^2.1.1",
@@ -44,7 +45,15 @@
44
45
  "tslib": "^2.7.0",
45
46
  "tw-animate-css": "^1.2.5",
46
47
  "sherlockjs": "^1.4.2",
47
- "date-fns-tz": "^2.0.0"
48
+ "date-fns-tz": "^2.0.0",
49
+ "@visx/group": "^3.8.0",
50
+ "@visx/scale": "^3.8.0",
51
+ "@visx/shape": "^3.8.0",
52
+ "@visx/axis": "^3.8.0",
53
+ "@visx/grid": "^3.8.0",
54
+ "@visx/tooltip": "^3.8.0",
55
+ "@visx/event": "^3.8.0",
56
+ "d3-force": "^3.0.0"
48
57
  },
49
58
  "peerDependencies": {
50
59
  "react": "^17.0.2",
@@ -1,2 +1,2 @@
1
- import _extends from"@babel/runtime/helpers/extends";import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _regeneratorRuntime from"@babel/runtime/regenerator";/* eslint-disable @typescript-eslint/no-explicit-any */import{useEffect,useState,Fragment}from"react";import{Table,TableHeader,TableRow,TableHead,TableBody,TableCell,TableHeadSortable}from"../../shadcn/components/ui/table";import{TableLoader}from"../../shadcn/components/ui/skeleton";import{ScrollArea,ScrollBar}from"../../shadcn/components/ui/scroll-area";import{Pagination,PaginationContent,renderPaginationArrows}from"../../shadcn/components/ui/pagination";import{TableButton}from"../../shadcn/components/ui/button";import{cn}from"../../shadcn/utils";import{renderNoDataFallback}from"./extra";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function DataTable(_ref){var _ref2,_pagination$values$pa,_pagination$values,_ref3,_pagination$values$pa2,_pagination$values2;var _ref$data=_ref.data,data=_ref$data===void 0?[]:_ref$data,_ref$headerMapper=_ref.headerMapper,headerMapper=_ref$headerMapper===void 0?{}:_ref$headerMapper,_ref$className=_ref.className,className=_ref$className===void 0?"":_ref$className,_ref$actions=_ref.actions,actions=_ref$actions===void 0?[]:_ref$actions,_ref$isEditable=_ref.isEditable,isEditable=_ref$isEditable===void 0?false:_ref$isEditable,pagination=_ref.pagination,_ref$isLoading=_ref.isLoading,isLoading=_ref$isLoading===void 0?false:_ref$isLoading,onRowAction=_ref.onRowAction,onPageChange=_ref.onPageChange,onSort=_ref.onSort,sortConfig=_ref.sortConfig,_ref$otherProps=_ref.otherProps,otherProps=_ref$otherProps===void 0?{}:_ref$otherProps,height=_ref.height;if(!data||data.length===0){return/*#__PURE__*/_jsx(Fragment,{children:/*#__PURE__*/_jsx("div",{className:"flex flex-col overflow-hidden",children:/*#__PURE__*/_jsx("div",{"data-slot":"table-container",className:"aspect-auto w-full",style:{height:"auto",minHeight:"180px"},children:isLoading?/*#__PURE__*/_jsx(TableLoader,{}):renderNoDataFallback()})})})}var _useState=useState(null),activeSortColumn=_useState[0],setActiveSortColumn=_useState[1];var _useState2=useState({}),sortDirections=_useState2[0],setSortDirections=_useState2[1];var _useState3=useState(Number((_ref2=(_pagination$values$pa=pagination==null||(_pagination$values=pagination.values)==null?void 0:_pagination$values.pageNumber)!=null?_pagination$values$pa:pagination==null?void 0:pagination.initialPage)!=null?_ref2:1)),pageNumber=_useState3[0],setPageNumber=_useState3[1];var _useState4=useState(Number((_ref3=(_pagination$values$pa2=pagination==null||(_pagination$values2=pagination.values)==null?void 0:_pagination$values2.pageSize)!=null?_pagination$values$pa2:pagination==null?void 0:pagination.initialPageSize)!=null?_ref3:10)),pageSize=_useState4[0],setPageSize=_useState4[1];var _useState5=useState(Math.ceil(((pagination==null?void 0:pagination.totalCount)||0)/pageSize)||1),totalPages=_useState5[0],setTotalPages=_useState5[1];useEffect(function(){var _ref4,_pagination$values$pa3,_pagination$values3,_ref5,_pagination$values$pa4,_pagination$values4;setPageNumber(Number((_ref4=(_pagination$values$pa3=pagination==null||(_pagination$values3=pagination.values)==null?void 0:_pagination$values3.pageNumber)!=null?_pagination$values$pa3:pagination==null?void 0:pagination.initialPage)!=null?_ref4:1));setPageSize(Number((_ref5=(_pagination$values$pa4=pagination==null||(_pagination$values4=pagination.values)==null?void 0:_pagination$values4.pageSize)!=null?_pagination$values$pa4:pagination==null?void 0:pagination.initialPageSize)!=null?_ref5:25))},[pagination]);useEffect(function(){setTotalPages(Math.ceil(((pagination==null?void 0:pagination.totalCount)||0)/pageSize)||1)},[pagination==null?void 0:pagination.totalCount,pageSize]);useEffect(function(){if(sortConfig){setSortDirections(sortConfig);var first=Object.keys(sortConfig)[0];if(first){setActiveSortColumn(first)}}},[sortConfig]);useEffect(function(){if(sortConfig!=null&&sortConfig.sortColumn||sortConfig!=null&&sortConfig.sortDirection){sortConfig.sortColumn=null;sortConfig.sortDirection=null}setActiveSortColumn(null);setSortDirections({})},[]);var originalKeys=Object.keys(data[0]||{}).filter(function(key){return key in headerMapper});var headers=originalKeys.map(function(key){return headerMapper[key]});if(actions.length>0){headers.push("")}var rows=data.map(function(datum){return originalKeys.map(function(key){return datum[key]})});function handlePageChange(_x,_x2){return _handlePageChange.apply(this,arguments)}function _handlePageChange(){_handlePageChange=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(newPage,newSize){return _regeneratorRuntime.wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:if(newPage===void 0){newPage=pageNumber}if(newSize===void 0){newSize=pageSize}setPageNumber(newPage);setPageSize(newSize);onPageChange==null||onPageChange(newPage,newSize);case 1:case"end":return _context.stop()}},_callee)}));return _handlePageChange.apply(this,arguments)}function handleSortClick(column,direction){setActiveSortColumn(direction?column:null);setSortDirections(function(prev){var _extends2;return _extends({},prev,(_extends2={},_extends2[column]=direction,_extends2))});onSort==null||onSort(column,direction)}function renderActions(rowIndex,rowActions){if(!actions.length){return null}return/*#__PURE__*/_jsx(TableCell,{className:"sticky right-0 bg-white",children:rowActions.map(function(action){return/*#__PURE__*/_jsx(TableButton,{className:action.className,isEditable:isEditable,onClick:function onClick(){return onRowAction==null?void 0:onRowAction(rowIndex,action.id)},variant:action.variant,text:action.text,tooltipContent:action.tooltipContent,disabled:isLoading},action.id)})})}var defaultClasses="aspect-auto w-full";var mergedClasses=className?cn(defaultClasses,className):defaultClasses;function renderTableComponent(){if(isLoading||!data||data.length===0){return/*#__PURE__*/_jsx(TableLoader,{})}return/*#__PURE__*/_jsxs(Table,_extends({},otherProps,{className:"caption-bottom text-sm relative "+mergedClasses,"data-slot":"table",children:[/*#__PURE__*/_jsx(TableHeader,{"data-slot":"table-header",className:"sticky top-0 z-2",children:/*#__PURE__*/_jsx(TableRow,{children:headers.map(function(head,idx){var isActionColumn=actions.length>0&&idx===headers.length-1;var originalKey=originalKeys[idx];if(isActionColumn){return/*#__PURE__*/_jsx(TableHead,{"data-slot":"table-header-"+idx,contentEditable:isEditable,className:"sticky right-0 bg-slate-100",children:head},idx)}return/*#__PURE__*/_jsx(TableHeadSortable,{"data-slot":"table-header-"+idx,sortDirection:sortDirections[originalKey]||"asc",isActive:activeSortColumn===originalKey,onSort:function onSort(direction){return handleSortClick(originalKey,direction)},sortable:!isLoading,isEditable:isEditable,children:head},idx)})})}),/*#__PURE__*/_jsx(TableBody,{"data-slot":"table-body",children:rows.map(function(row,rIdx){return/*#__PURE__*/_jsxs(TableRow,{"data-slot":"row-"+rIdx,className:"hover:bg-muted/50 border-b transition-colors",children:[row.map(function(cell,cIdx){return/*#__PURE__*/_jsx(TableCell,{"data-slot":"cell-"+rIdx+"-"+cIdx,className:"p-2 align-middle whitespace-nowrap",contentEditable:false,children:cell===null?"-":String(cell)},cIdx)}),renderActions(rIdx,actions)]},rIdx)})})]}))}return/*#__PURE__*/_jsxs(Fragment,{children:[/*#__PURE__*/_jsx("div",{className:"flex flex-col h-full overflow-hidden",children:/*#__PURE__*/_jsxs(ScrollArea,_extends({"data-slot":"table-container",className:mergedClasses},height!==undefined&&{style:{height:height}},{children:[renderTableComponent(),/*#__PURE__*/_jsx(ScrollBar,{orientation:"horizontal"})]}))}),pagination&&pagination.totalCount>0&&/*#__PURE__*/_jsxs("div",{className:"flex-shrink-0 flex items-center justify-between mt-2 w-full overflow-x-auto border-t pt-2",children:[/*#__PURE__*/_jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[/*#__PURE__*/_jsx("label",{htmlFor:"page-size-select",className:"text-sm whitespace-nowrap",children:"Rows per page:"}),/*#__PURE__*/_jsx("select",{id:"page-size-select",value:pageSize,onChange:function onChange(e){return handlePageChange(1,Number(e.target.value))},className:"border rounded px-2 py-1 text-sm cursor-pointer",disabled:isLoading,children:pagination.pageSizeOptions.map(function(size){return/*#__PURE__*/_jsx("option",{value:size,children:size},size)})})]}),/*#__PURE__*/_jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[/*#__PURE__*/_jsxs("span",{className:"text-xs text-muted-foreground whitespace-nowrap ml-1.5",children:[(pageNumber-1)*pageSize+1,"\u2013",Math.min(pageNumber*pageSize,pagination.totalCount)," of ",pagination.totalCount]}),/*#__PURE__*/_jsx(Pagination,{children:/*#__PURE__*/_jsx(PaginationContent,{className:"gap-0.2 flex-shrink-0",children:renderPaginationArrows(pageNumber,totalPages,isLoading,handlePageChange)})})]})]})]})}
1
+ import _extends from"@babel/runtime/helpers/extends";import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _regeneratorRuntime from"@babel/runtime/regenerator";/* eslint-disable @typescript-eslint/no-explicit-any */import{useEffect,useState,Fragment}from"react";import{Table,TableHeader,TableRow,TableHead,TableBody,TableCell,TableHeadSortable}from"../../shadcn/components/ui/table";import{TableLoader}from"../../shadcn/components/ui/skeleton";import{ScrollArea,ScrollBar}from"../../shadcn/components/ui/scroll-area";import{Pagination,PaginationContent,renderPaginationArrows}from"../../shadcn/components/ui/pagination";import{TableButton}from"../../shadcn/components/ui/button";import{cn}from"../../shadcn/utils";import{renderNoDataFallback}from"./extra";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function DataTable(_ref){var _ref2,_pagination$values$pa,_pagination$values,_ref3,_pagination$values$pa2,_pagination$values2;var _ref$data=_ref.data,data=_ref$data===void 0?[]:_ref$data,_ref$headerMapper=_ref.headerMapper,headerMapper=_ref$headerMapper===void 0?{}:_ref$headerMapper,_ref$className=_ref.className,className=_ref$className===void 0?"":_ref$className,_ref$actions=_ref.actions,actions=_ref$actions===void 0?[]:_ref$actions,_ref$isEditable=_ref.isEditable,isEditable=_ref$isEditable===void 0?false:_ref$isEditable,pagination=_ref.pagination,_ref$isLoading=_ref.isLoading,isLoading=_ref$isLoading===void 0?false:_ref$isLoading,onRowAction=_ref.onRowAction,onPageChange=_ref.onPageChange,onSort=_ref.onSort,sortConfig=_ref.sortConfig,_ref$otherProps=_ref.otherProps,otherProps=_ref$otherProps===void 0?{}:_ref$otherProps,height=_ref.height;if(!data||data.length===0){return/*#__PURE__*/_jsx(Fragment,{children:/*#__PURE__*/_jsx("div",{className:"flex flex-col overflow-hidden",children:/*#__PURE__*/_jsx("div",{"data-slot":"table-container",className:"aspect-auto w-full",style:{height:"auto",minHeight:"180px"},children:isLoading?/*#__PURE__*/_jsx(TableLoader,{}):renderNoDataFallback()})})})}var _useState=useState(null),activeSortColumn=_useState[0],setActiveSortColumn=_useState[1];var _useState2=useState({}),sortDirections=_useState2[0],setSortDirections=_useState2[1];var _useState3=useState(Number((_ref2=(_pagination$values$pa=pagination==null||(_pagination$values=pagination.values)==null?void 0:_pagination$values.pageNumber)!=null?_pagination$values$pa:pagination==null?void 0:pagination.initialPage)!=null?_ref2:1)),pageNumber=_useState3[0],setPageNumber=_useState3[1];var _useState4=useState(Number((_ref3=(_pagination$values$pa2=pagination==null||(_pagination$values2=pagination.values)==null?void 0:_pagination$values2.pageSize)!=null?_pagination$values$pa2:pagination==null?void 0:pagination.initialPageSize)!=null?_ref3:10)),pageSize=_useState4[0],setPageSize=_useState4[1];var _useState5=useState(Math.ceil(((pagination==null?void 0:pagination.totalCount)||0)/pageSize)||1),totalPages=_useState5[0],setTotalPages=_useState5[1];useEffect(function(){var _ref4,_pagination$values$pa3,_pagination$values3,_ref5,_pagination$values$pa4,_pagination$values4;setPageNumber(Number((_ref4=(_pagination$values$pa3=pagination==null||(_pagination$values3=pagination.values)==null?void 0:_pagination$values3.pageNumber)!=null?_pagination$values$pa3:pagination==null?void 0:pagination.initialPage)!=null?_ref4:1));setPageSize(Number((_ref5=(_pagination$values$pa4=pagination==null||(_pagination$values4=pagination.values)==null?void 0:_pagination$values4.pageSize)!=null?_pagination$values$pa4:pagination==null?void 0:pagination.initialPageSize)!=null?_ref5:25))},[pagination]);useEffect(function(){setTotalPages(Math.ceil(((pagination==null?void 0:pagination.totalCount)||0)/pageSize)||1)},[pagination==null?void 0:pagination.totalCount,pageSize]);useEffect(function(){if(sortConfig){setSortDirections(sortConfig);var first=Object.keys(sortConfig)[0];if(first){setActiveSortColumn(first)}}},[sortConfig]);useEffect(function(){if(sortConfig!=null&&sortConfig.sortColumn||sortConfig!=null&&sortConfig.sortDirection){sortConfig.sortColumn=null;sortConfig.sortDirection=null}setActiveSortColumn(null);setSortDirections({})},[]);var originalKeys=Object.keys(data[0]||{}).filter(function(key){return key in headerMapper});var headers=originalKeys.map(function(key){return headerMapper[key]});if(actions.length>0){headers.push("")}var rows=data.map(function(datum){return originalKeys.map(function(key){return datum[key]})});function handlePageChange(_x,_x2){return _handlePageChange.apply(this,arguments)}function _handlePageChange(){_handlePageChange=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(newPage,newSize){return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:if(newPage===void 0){newPage=pageNumber}if(newSize===void 0){newSize=pageSize}setPageNumber(newPage);setPageSize(newSize);onPageChange==null||onPageChange(newPage,newSize);case 5:case"end":return _context.stop()}},_callee)}));return _handlePageChange.apply(this,arguments)}function handleSortClick(column,direction){setActiveSortColumn(direction?column:null);setSortDirections(function(prev){var _extends2;return _extends({},prev,(_extends2={},_extends2[column]=direction,_extends2))});onSort==null||onSort(column,direction)}function renderActions(rowIndex,rowActions){if(!actions.length){return null}return/*#__PURE__*/_jsx(TableCell,{className:"sticky right-0 bg-white",children:rowActions.map(function(action){return/*#__PURE__*/_jsx(TableButton,{className:action.className,isEditable:isEditable,onClick:function onClick(){return onRowAction==null?void 0:onRowAction(rowIndex,action.id)},variant:action.variant,text:action.text,tooltipContent:action.tooltipContent,disabled:isLoading},action.id)})})}var defaultClasses="aspect-auto w-full";var mergedClasses=className?cn(defaultClasses,className):defaultClasses;function renderTableComponent(){if(isLoading||!data||data.length===0){return/*#__PURE__*/_jsx(TableLoader,{})}return/*#__PURE__*/_jsxs(Table,_extends({},otherProps,{className:"caption-bottom text-sm relative "+mergedClasses,"data-slot":"table",children:[/*#__PURE__*/_jsx(TableHeader,{"data-slot":"table-header",className:"sticky top-0 z-2",children:/*#__PURE__*/_jsx(TableRow,{children:headers.map(function(head,idx){var isActionColumn=actions.length>0&&idx===headers.length-1;var originalKey=originalKeys[idx];if(isActionColumn){return/*#__PURE__*/_jsx(TableHead,{"data-slot":"table-header-"+idx,contentEditable:isEditable,className:"sticky right-0 bg-slate-100",children:head},idx)}return/*#__PURE__*/_jsx(TableHeadSortable,{"data-slot":"table-header-"+idx,sortDirection:sortDirections[originalKey]||"asc",isActive:activeSortColumn===originalKey,onSort:function onSort(direction){return handleSortClick(originalKey,direction)},sortable:!isLoading,isEditable:isEditable,children:head},idx)})})}),/*#__PURE__*/_jsx(TableBody,{"data-slot":"table-body",children:rows.map(function(row,rIdx){return/*#__PURE__*/_jsxs(TableRow,{"data-slot":"row-"+rIdx,className:"hover:bg-muted/50 border-b transition-colors",children:[row.map(function(cell,cIdx){return/*#__PURE__*/_jsx(TableCell,{"data-slot":"cell-"+rIdx+"-"+cIdx,className:"p-2 align-middle whitespace-nowrap",contentEditable:false,children:cell===null?"-":String(cell)},cIdx)}),renderActions(rIdx,actions)]},rIdx)})})]}))}return/*#__PURE__*/_jsxs(Fragment,{children:[/*#__PURE__*/_jsx("div",{className:"flex flex-col h-full overflow-hidden",children:/*#__PURE__*/_jsxs(ScrollArea,_extends({"data-slot":"table-container",className:mergedClasses},height!==undefined&&{style:{height:height}},{children:[renderTableComponent(),/*#__PURE__*/_jsx(ScrollBar,{orientation:"horizontal"})]}))}),pagination&&pagination.totalCount>0&&/*#__PURE__*/_jsxs("div",{className:"flex-shrink-0 flex items-center justify-between mt-2 w-full overflow-x-auto border-t pt-2",children:[/*#__PURE__*/_jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[/*#__PURE__*/_jsx("label",{htmlFor:"page-size-select",className:"text-sm whitespace-nowrap",children:"Rows per page:"}),/*#__PURE__*/_jsx("select",{id:"page-size-select",value:pageSize,onChange:function onChange(e){return handlePageChange(1,Number(e.target.value))},className:"border rounded px-2 py-1 text-sm cursor-pointer",disabled:isLoading,children:pagination.pageSizeOptions.map(function(size){return/*#__PURE__*/_jsx("option",{value:size,children:size},size)})})]}),/*#__PURE__*/_jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[/*#__PURE__*/_jsxs("span",{className:"text-xs text-muted-foreground whitespace-nowrap ml-1.5",children:[(pageNumber-1)*pageSize+1,"\u2013",Math.min(pageNumber*pageSize,pagination.totalCount)," of ",pagination.totalCount]}),/*#__PURE__*/_jsx(Pagination,{children:/*#__PURE__*/_jsx(PaginationContent,{className:"gap-0.2 flex-shrink-0",children:renderPaginationArrows(pageNumber,totalPages,isLoading,handlePageChange)})})]})]})]})}
2
2
  //# sourceMappingURL=data-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.js","names":["useEffect","useState","Fragment","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","TableHeadSortable","TableLoader","ScrollArea","ScrollBar","Pagination","PaginationContent","renderPaginationArrows","TableButton","cn","renderNoDataFallback","jsx","_jsx","jsxs","_jsxs","DataTable","_ref","_ref2","_pagination$values$pa","_pagination$values","_ref3","_pagination$values$pa2","_pagination$values2","_ref$data","data","_ref$headerMapper","headerMapper","_ref$className","className","_ref$actions","actions","_ref$isEditable","isEditable","pagination","_ref$isLoading","isLoading","onRowAction","onPageChange","onSort","sortConfig","_ref$otherProps","otherProps","height","length","children","style","minHeight","_useState","activeSortColumn","setActiveSortColumn","_useState2","sortDirections","setSortDirections","_useState3","Number","values","pageNumber","initialPage","setPageNumber","_useState4","pageSize","initialPageSize","setPageSize","_useState5","Math","ceil","totalCount","totalPages","setTotalPages","_ref4","_pagination$values$pa3","_pagination$values3","_ref5","_pagination$values$pa4","_pagination$values4","first","Object","keys","sortColumn","sortDirection","originalKeys","filter","key","headers","map","push","rows","datum","handlePageChange","_x","_x2","_handlePageChange","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","newPage","newSize","wrap","_context","prev","next","stop","handleSortClick","column","direction","_extends2","_extends","renderActions","rowIndex","rowActions","action","onClick","id","variant","text","tooltipContent","disabled","defaultClasses","mergedClasses","renderTableComponent","head","idx","isActionColumn","originalKey","contentEditable","isActive","sortable","row","rIdx","cell","cIdx","String","undefined","orientation","htmlFor","value","onChange","e","target","pageSizeOptions","size","min"],"sources":["../../../src/plugins/helpers/data-table.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useState, Fragment } from 'react';\nimport {\n Table,\n TableHeader,\n TableRow,\n TableHead,\n TableBody,\n TableCell,\n TableHeadSortable,\n SortDirection,\n} from '../../shadcn/components/ui/table';\nimport { TableLoader } from '../../shadcn/components/ui/skeleton';\nimport { ScrollArea, ScrollBar } from '../../shadcn/components/ui/scroll-area';\nimport {\n Pagination,\n PaginationContent,\n renderPaginationArrows,\n} from '../../shadcn/components/ui/pagination';\nimport { TableButton } from '../../shadcn/components/ui/button';\nimport { cn } from '../../shadcn/utils';\nimport { renderNoDataFallback } from './extra'\n\ntype RowAction = {\n id: string;\n text: string;\n variant?: string;\n tooltipContent?: string;\n className?: string;\n};\n\nexport type DataTableProps = {\n data: Record<string, any>[];\n headerMapper?: Record<string, string>;\n className?: string;\n isEditable?: boolean;\n actions?: RowAction[];\n pagination?: {\n values?: {\n pageNumber: number;\n pageSize: number;\n };\n initialPage?: number;\n initialPageSize?: number;\n totalCount: number;\n pageSizeOptions: number[];\n };\n isLoading?: boolean;\n onRowAction?: (rowIndex: number, actionId: string) => void;\n onPageChange?: (pageNumber: number, pageSize: number) => void;\n onSort?: (column: string, direction: SortDirection) => void;\n sortConfig?: Record<string, SortDirection>;\n otherProps?: Record<string, any>;\n height?: string | number;\n};\n\nexport function DataTable({\n data = [],\n headerMapper = {},\n className = '',\n actions = [],\n isEditable = false,\n pagination,\n isLoading = false,\n onRowAction,\n onPageChange,\n onSort,\n sortConfig,\n otherProps = {},\n height,\n}: DataTableProps) {\n\n if (!data || data.length === 0) {\n return (\n <Fragment>\n <div className=\"flex flex-col overflow-hidden\">\n <div\n data-slot=\"table-container\"\n className=\"aspect-auto w-full\"\n style={{ height: 'auto', minHeight: '180px' }}\n >\n {isLoading ? <TableLoader /> : renderNoDataFallback()}\n </div>\n </div>\n </Fragment>\n );\n }\n\n const [activeSortColumn, setActiveSortColumn] = useState<string | null>(null);\n const [sortDirections, setSortDirections] = useState<Record<string, SortDirection>>({});\n\n const [pageNumber, setPageNumber] = useState(\n Number(pagination?.values?.pageNumber ?? pagination?.initialPage ?? 1),\n );\n const [pageSize, setPageSize] = useState(\n Number(pagination?.values?.pageSize ?? pagination?.initialPageSize ?? 10),\n );\n const [totalPages, setTotalPages] = useState(\n Math.ceil((pagination?.totalCount || 0) / pageSize) || 1,\n );\n\n useEffect(() => {\n setPageNumber(Number(pagination?.values?.pageNumber ?? pagination?.initialPage ?? 1));\n setPageSize(Number(pagination?.values?.pageSize ?? pagination?.initialPageSize ?? 25));\n }, [pagination]);\n\n useEffect(() => {\n setTotalPages(Math.ceil((pagination?.totalCount || 0) / pageSize) || 1);\n }, [pagination?.totalCount, pageSize]);\n\n useEffect(() => {\n if (sortConfig) {\n setSortDirections(sortConfig);\n const first = Object.keys(sortConfig)[0];\n\n if (first) {\n setActiveSortColumn(first);\n }\n }\n }, [sortConfig]);\n\n useEffect(() => {\n if (sortConfig?.sortColumn || sortConfig?.sortDirection) {\n sortConfig.sortColumn = null;\n sortConfig.sortDirection = null;\n }\n \n setActiveSortColumn(null);\n setSortDirections({});\n }, []);\n \n const originalKeys = Object.keys(data[0] || {}).filter((key) => key in headerMapper);\n const headers = originalKeys.map((key) => headerMapper[key]);\n\n if (actions.length > 0) {\n headers.push('');\n }\n\n const rows = data.map((datum: any) => originalKeys.map((key) => datum[key]));\n\n async function handlePageChange(newPage = pageNumber, newSize = pageSize) {\n setPageNumber(newPage);\n setPageSize(newSize);\n onPageChange?.(newPage, newSize);\n }\n\n function handleSortClick(column: string, direction: SortDirection) {\n setActiveSortColumn(direction ? column : null);\n setSortDirections((prev) => ({\n ...prev,\n [column]: direction,\n }));\n onSort?.(column, direction);\n }\n\n function renderActions(rowIndex: number, rowActions: RowAction[]) {\n if (!actions.length) {\n return null;\n }\n\n return (\n <TableCell className=\"sticky right-0 bg-white\">\n {rowActions.map((action) => (\n <TableButton\n key={action.id}\n className={action.className}\n isEditable={isEditable}\n onClick={() => onRowAction?.(rowIndex, action.id)}\n variant={action.variant}\n text={action.text}\n tooltipContent={action.tooltipContent}\n disabled={isLoading}\n />\n ))}\n </TableCell>\n );\n }\n\n const defaultClasses = `aspect-auto w-full`;\n const mergedClasses = className ? cn(defaultClasses, className) : defaultClasses;\n\n function renderTableComponent() {\n if (isLoading || (!data || data.length === 0)) {\n return <TableLoader />;\n }\n\n return (\n <Table\n {...otherProps}\n className={`caption-bottom text-sm relative ${mergedClasses}`}\n data-slot=\"table\"\n >\n <TableHeader data-slot=\"table-header\" className=\"sticky top-0 z-2\">\n <TableRow>\n {headers.map((head: string, idx: number) => {\n const isActionColumn = actions.length > 0 && idx === headers.length - 1;\n const originalKey = originalKeys[idx];\n\n if (isActionColumn) {\n return (\n <TableHead\n key={idx}\n data-slot={`table-header-${idx}`}\n contentEditable={isEditable}\n className=\"sticky right-0 bg-slate-100\"\n >\n {head}\n </TableHead>\n );\n }\n\n return (\n <TableHeadSortable\n key={idx}\n data-slot={`table-header-${idx}`}\n sortDirection={sortDirections[originalKey] || 'asc'}\n isActive={activeSortColumn === originalKey}\n onSort={(direction) => handleSortClick(originalKey, direction)}\n sortable={!isLoading}\n isEditable={isEditable}\n >\n {head}\n </TableHeadSortable>\n );\n })}\n </TableRow>\n </TableHeader>\n <TableBody data-slot=\"table-body\">\n {rows.map((row: any[], rIdx: number) => (\n <TableRow\n key={rIdx}\n data-slot={`row-${rIdx}`}\n className=\"hover:bg-muted/50 border-b transition-colors\"\n >\n {row.map((cell: string, cIdx: number) => (\n <TableCell\n key={cIdx}\n data-slot={`cell-${rIdx}-${cIdx}`}\n className=\"p-2 align-middle whitespace-nowrap\"\n contentEditable={false}\n >\n {cell === null ? '-' : String(cell)}\n </TableCell>\n ))}\n {renderActions(rIdx, actions)}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n );\n }\n\n return (\n <Fragment>\n <div className=\"flex flex-col h-full overflow-hidden\">\n <ScrollArea\n data-slot=\"table-container\"\n className={mergedClasses}\n {...(height !== undefined && { style: { height } })}\n >\n {renderTableComponent()}\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n </div>\n {pagination && pagination.totalCount > 0 && (\n <div className=\"flex-shrink-0 flex items-center justify-between mt-2 w-full overflow-x-auto border-t pt-2\">\n <div className=\"flex items-center gap-2 flex-shrink-0\">\n <label htmlFor=\"page-size-select\" className=\"text-sm whitespace-nowrap\">\n Rows per page:\n </label>\n <select\n id=\"page-size-select\"\n value={pageSize}\n onChange={(e) => handlePageChange(1, Number(e.target.value))}\n className=\"border rounded px-2 py-1 text-sm cursor-pointer\"\n disabled={isLoading}\n >\n {pagination.pageSizeOptions.map((size: number) => (\n <option key={size} value={size}>\n {size}\n </option>\n ))}\n </select>\n </div>\n <div className=\"flex items-center gap-1 flex-shrink-0\">\n <span className=\"text-xs text-muted-foreground whitespace-nowrap ml-1.5\">\n {(pageNumber - 1) * pageSize + 1}–\n {Math.min(pageNumber * pageSize, pagination.totalCount)} of {pagination.totalCount}\n </span>\n <Pagination>\n <PaginationContent className=\"gap-0.2 flex-shrink-0\">\n {renderPaginationArrows(pageNumber, totalPages, isLoading, handlePageChange)}\n </PaginationContent>\n </Pagination>\n </div>\n </div>\n )}\n </Fragment>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"data-table.js","names":["useEffect","useState","Fragment","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","TableHeadSortable","TableLoader","ScrollArea","ScrollBar","Pagination","PaginationContent","renderPaginationArrows","TableButton","cn","renderNoDataFallback","jsx","_jsx","jsxs","_jsxs","DataTable","_ref","_ref2","_pagination$values$pa","_pagination$values","_ref3","_pagination$values$pa2","_pagination$values2","_ref$data","data","_ref$headerMapper","headerMapper","_ref$className","className","_ref$actions","actions","_ref$isEditable","isEditable","pagination","_ref$isLoading","isLoading","onRowAction","onPageChange","onSort","sortConfig","_ref$otherProps","otherProps","height","length","children","style","minHeight","_useState","activeSortColumn","setActiveSortColumn","_useState2","sortDirections","setSortDirections","_useState3","Number","values","pageNumber","initialPage","setPageNumber","_useState4","pageSize","initialPageSize","setPageSize","_useState5","Math","ceil","totalCount","totalPages","setTotalPages","_ref4","_pagination$values$pa3","_pagination$values3","_ref5","_pagination$values$pa4","_pagination$values4","first","Object","keys","sortColumn","sortDirection","originalKeys","filter","key","headers","map","push","rows","datum","handlePageChange","_x","_x2","_handlePageChange","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","newPage","newSize","wrap","_callee$","_context","prev","next","stop","handleSortClick","column","direction","_extends2","_extends","renderActions","rowIndex","rowActions","action","onClick","id","variant","text","tooltipContent","disabled","defaultClasses","mergedClasses","renderTableComponent","head","idx","isActionColumn","originalKey","contentEditable","isActive","sortable","row","rIdx","cell","cIdx","String","undefined","orientation","htmlFor","value","onChange","e","target","pageSizeOptions","size","min"],"sources":["../../../src/plugins/helpers/data-table.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useState, Fragment } from 'react';\nimport {\n Table,\n TableHeader,\n TableRow,\n TableHead,\n TableBody,\n TableCell,\n TableHeadSortable,\n SortDirection,\n} from '../../shadcn/components/ui/table';\nimport { TableLoader } from '../../shadcn/components/ui/skeleton';\nimport { ScrollArea, ScrollBar } from '../../shadcn/components/ui/scroll-area';\nimport {\n Pagination,\n PaginationContent,\n renderPaginationArrows,\n} from '../../shadcn/components/ui/pagination';\nimport { TableButton } from '../../shadcn/components/ui/button';\nimport { cn } from '../../shadcn/utils';\nimport { renderNoDataFallback } from './extra'\n\ntype RowAction = {\n id: string;\n text: string;\n variant?: string;\n tooltipContent?: string;\n className?: string;\n};\n\nexport type DataTableProps = {\n data: Record<string, any>[];\n headerMapper?: Record<string, string>;\n className?: string;\n isEditable?: boolean;\n actions?: RowAction[];\n pagination?: {\n values?: {\n pageNumber: number;\n pageSize: number;\n };\n initialPage?: number;\n initialPageSize?: number;\n totalCount: number;\n pageSizeOptions: number[];\n };\n isLoading?: boolean;\n onRowAction?: (rowIndex: number, actionId: string) => void;\n onPageChange?: (pageNumber: number, pageSize: number) => void;\n onSort?: (column: string, direction: SortDirection) => void;\n sortConfig?: Record<string, SortDirection>;\n otherProps?: Record<string, any>;\n height?: string | number;\n};\n\nexport function DataTable({\n data = [],\n headerMapper = {},\n className = '',\n actions = [],\n isEditable = false,\n pagination,\n isLoading = false,\n onRowAction,\n onPageChange,\n onSort,\n sortConfig,\n otherProps = {},\n height,\n}: DataTableProps) {\n\n if (!data || data.length === 0) {\n return (\n <Fragment>\n <div className=\"flex flex-col overflow-hidden\">\n <div\n data-slot=\"table-container\"\n className=\"aspect-auto w-full\"\n style={{ height: 'auto', minHeight: '180px' }}\n >\n {isLoading ? <TableLoader /> : renderNoDataFallback()}\n </div>\n </div>\n </Fragment>\n );\n }\n\n const [activeSortColumn, setActiveSortColumn] = useState<string | null>(null);\n const [sortDirections, setSortDirections] = useState<Record<string, SortDirection>>({});\n\n const [pageNumber, setPageNumber] = useState(\n Number(pagination?.values?.pageNumber ?? pagination?.initialPage ?? 1),\n );\n const [pageSize, setPageSize] = useState(\n Number(pagination?.values?.pageSize ?? pagination?.initialPageSize ?? 10),\n );\n const [totalPages, setTotalPages] = useState(\n Math.ceil((pagination?.totalCount || 0) / pageSize) || 1,\n );\n\n useEffect(() => {\n setPageNumber(Number(pagination?.values?.pageNumber ?? pagination?.initialPage ?? 1));\n setPageSize(Number(pagination?.values?.pageSize ?? pagination?.initialPageSize ?? 25));\n }, [pagination]);\n\n useEffect(() => {\n setTotalPages(Math.ceil((pagination?.totalCount || 0) / pageSize) || 1);\n }, [pagination?.totalCount, pageSize]);\n\n useEffect(() => {\n if (sortConfig) {\n setSortDirections(sortConfig);\n const first = Object.keys(sortConfig)[0];\n\n if (first) {\n setActiveSortColumn(first);\n }\n }\n }, [sortConfig]);\n\n useEffect(() => {\n if (sortConfig?.sortColumn || sortConfig?.sortDirection) {\n sortConfig.sortColumn = null;\n sortConfig.sortDirection = null;\n }\n \n setActiveSortColumn(null);\n setSortDirections({});\n }, []);\n \n const originalKeys = Object.keys(data[0] || {}).filter((key) => key in headerMapper);\n const headers = originalKeys.map((key) => headerMapper[key]);\n\n if (actions.length > 0) {\n headers.push('');\n }\n\n const rows = data.map((datum: any) => originalKeys.map((key) => datum[key]));\n\n async function handlePageChange(newPage = pageNumber, newSize = pageSize) {\n setPageNumber(newPage);\n setPageSize(newSize);\n onPageChange?.(newPage, newSize);\n }\n\n function handleSortClick(column: string, direction: SortDirection) {\n setActiveSortColumn(direction ? column : null);\n setSortDirections((prev) => ({\n ...prev,\n [column]: direction,\n }));\n onSort?.(column, direction);\n }\n\n function renderActions(rowIndex: number, rowActions: RowAction[]) {\n if (!actions.length) {\n return null;\n }\n\n return (\n <TableCell className=\"sticky right-0 bg-white\">\n {rowActions.map((action) => (\n <TableButton\n key={action.id}\n className={action.className}\n isEditable={isEditable}\n onClick={() => onRowAction?.(rowIndex, action.id)}\n variant={action.variant}\n text={action.text}\n tooltipContent={action.tooltipContent}\n disabled={isLoading}\n />\n ))}\n </TableCell>\n );\n }\n\n const defaultClasses = `aspect-auto w-full`;\n const mergedClasses = className ? cn(defaultClasses, className) : defaultClasses;\n\n function renderTableComponent() {\n if (isLoading || (!data || data.length === 0)) {\n return <TableLoader />;\n }\n\n return (\n <Table\n {...otherProps}\n className={`caption-bottom text-sm relative ${mergedClasses}`}\n data-slot=\"table\"\n >\n <TableHeader data-slot=\"table-header\" className=\"sticky top-0 z-2\">\n <TableRow>\n {headers.map((head: string, idx: number) => {\n const isActionColumn = actions.length > 0 && idx === headers.length - 1;\n const originalKey = originalKeys[idx];\n\n if (isActionColumn) {\n return (\n <TableHead\n key={idx}\n data-slot={`table-header-${idx}`}\n contentEditable={isEditable}\n className=\"sticky right-0 bg-slate-100\"\n >\n {head}\n </TableHead>\n );\n }\n\n return (\n <TableHeadSortable\n key={idx}\n data-slot={`table-header-${idx}`}\n sortDirection={sortDirections[originalKey] || 'asc'}\n isActive={activeSortColumn === originalKey}\n onSort={(direction) => handleSortClick(originalKey, direction)}\n sortable={!isLoading}\n isEditable={isEditable}\n >\n {head}\n </TableHeadSortable>\n );\n })}\n </TableRow>\n </TableHeader>\n <TableBody data-slot=\"table-body\">\n {rows.map((row: any[], rIdx: number) => (\n <TableRow\n key={rIdx}\n data-slot={`row-${rIdx}`}\n className=\"hover:bg-muted/50 border-b transition-colors\"\n >\n {row.map((cell: string, cIdx: number) => (\n <TableCell\n key={cIdx}\n data-slot={`cell-${rIdx}-${cIdx}`}\n className=\"p-2 align-middle whitespace-nowrap\"\n contentEditable={false}\n >\n {cell === null ? '-' : String(cell)}\n </TableCell>\n ))}\n {renderActions(rIdx, actions)}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n );\n }\n\n return (\n <Fragment>\n <div className=\"flex flex-col h-full overflow-hidden\">\n <ScrollArea\n data-slot=\"table-container\"\n className={mergedClasses}\n {...(height !== undefined && { style: { height } })}\n >\n {renderTableComponent()}\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n </div>\n {pagination && pagination.totalCount > 0 && (\n <div className=\"flex-shrink-0 flex items-center justify-between mt-2 w-full overflow-x-auto border-t pt-2\">\n <div className=\"flex items-center gap-2 flex-shrink-0\">\n <label htmlFor=\"page-size-select\" className=\"text-sm whitespace-nowrap\">\n Rows per page:\n </label>\n <select\n id=\"page-size-select\"\n value={pageSize}\n onChange={(e) => handlePageChange(1, Number(e.target.value))}\n className=\"border rounded px-2 py-1 text-sm cursor-pointer\"\n disabled={isLoading}\n >\n {pagination.pageSizeOptions.map((size: number) => (\n <option key={size} value={size}>\n {size}\n </option>\n ))}\n </select>\n </div>\n <div className=\"flex items-center gap-1 flex-shrink-0\">\n <span className=\"text-xs text-muted-foreground whitespace-nowrap ml-1.5\">\n {(pageNumber - 1) * pageSize + 1}–\n {Math.min(pageNumber * pageSize, pagination.totalCount)} of {pagination.totalCount}\n </span>\n <Pagination>\n <PaginationContent className=\"gap-0.2 flex-shrink-0\">\n {renderPaginationArrows(pageNumber, totalPages, isLoading, handlePageChange)}\n </PaginationContent>\n </Pagination>\n </div>\n </div>\n )}\n </Fragment>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import _extends from"@babel/runtime/helpers/extends";import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _regeneratorRuntime from"@babel/runtime/regenerator";import React,{useState,useEffect}from"react";import{CustomModal}from"./custom-modal";import{Copy,Check,ChevronDown,ChevronUp}from"lucide-react";import{formatQueryHeading}from"./query-heading-formatter";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";function CopyButton(_ref){var onClick=_ref.onClick,isCopied=_ref.isCopied,_ref$variant=_ref.variant,variant=_ref$variant===void 0?"default":_ref$variant;var baseClasses="flex items-center gap-1 px-2 py-1 text-xs border rounded transition-colors";var variantClasses=variant==="light"?"bg-gray-50 border-gray-300 hover:bg-gray-100":"bg-gray-100 border-gray-300 hover:bg-gray-200";return/*#__PURE__*/_jsx("button",{onClick:onClick,className:baseClasses+" "+variantClasses,type:"button",children:isCopied?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Check,{className:"w-3 h-3 text-green-600"}),/*#__PURE__*/_jsx("span",{className:"text-green-600",children:"Copied!"})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Copy,{className:"w-3 h-3 text-gray-600"}),/*#__PURE__*/_jsx("span",{className:"text-gray-600",children:"Copy"})]})})}function ContentText(_ref2){var children=_ref2.children,_ref2$hasOverflowHand=_ref2.hasOverflowHandling,hasOverflowHandling=_ref2$hasOverflowHand===void 0?true:_ref2$hasOverflowHand;var overflowClasses=hasOverflowHandling?"overflow-hidden break-words":"";return/*#__PURE__*/_jsx("pre",{className:"whitespace-pre-wrap leading-relaxed text-xs text-gray-700 m-0 p-0 "+overflowClasses,children:children})}function ContentBlock(_ref3){var title=_ref3.title,children=_ref3.children,copyContent=_ref3.copyContent,copyId=_ref3.copyId,copied=_ref3.copied,onCopy=_ref3.onCopy,_ref3$variant=_ref3.variant,variant=_ref3$variant===void 0?"bordered":_ref3$variant,_ref3$copyButtonVaria=_ref3.copyButtonVariant,copyButtonVariant=_ref3$copyButtonVaria===void 0?"default":_ref3$copyButtonVaria;var containerClasses=variant==="bordered"?"rounded-lg p-3":"bg-white border border-gray-200 rounded-lg p-4";var containerStyle=variant==="bordered"?{border:"1px solid #E9EAF5"}:{};var titleClasses=variant==="bordered"?"text-sm font-medium text-gray-600":"font-semibold text-sm text-gray-500 m-0";return/*#__PURE__*/_jsxs("div",{className:containerClasses,style:containerStyle,children:[/*#__PURE__*/_jsxs("div",{className:"flex justify-between items-start mb-2",children:[/*#__PURE__*/_jsx("span",{className:titleClasses,children:title}),copyContent&&/*#__PURE__*/_jsx(CopyButton,{onClick:function onClick(){return onCopy(copyContent,copyId)},isCopied:copied[copyId]||false,variant:copyButtonVariant})]}),children]})}export function QueryDetailsModal(_ref4){var isOpen=_ref4.isOpen,onClose=_ref4.onClose,isLoading=_ref4.isLoading,error=_ref4.error,sqlQuery=_ref4.sqlQuery,_ref4$queryHeadings=_ref4.queryHeadings,queryHeadings=_ref4$queryHeadings===void 0?[]:_ref4$queryHeadings,_ref4$tableButtonExpl=_ref4.tableButtonExplanations,tableButtonExplanations=_ref4$tableButtonExpl===void 0?[]:_ref4$tableButtonExpl,onRetry=_ref4.onRetry;var _useState=useState({}),copied=_useState[0],setCopied=_useState[1];var _useState2=useState({}),expandedButtons=_useState2[0],setExpandedButtons=_useState2[1];// Reset expanded state when modal closes
2
- useEffect(function(){if(!isOpen){setExpandedButtons({})}},[isOpen]);function copyToClipboard(_x,_x2){return _copyToClipboard.apply(this,arguments)}function _copyToClipboard(){_copyToClipboard=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(queryToCopy,copyId){var textToCopy,id,_t;return _regeneratorRuntime.wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:textToCopy=queryToCopy;if(!textToCopy){if(Array.isArray(sqlQuery)){textToCopy=sqlQuery.filter(function(q){return q&&typeof q==="string"}).join("\n\n-- Next Query --\n\n")}else if(typeof sqlQuery==="string"){textToCopy=sqlQuery}else{textToCopy=""}}if(textToCopy){_context.next=1;break}return _context.abrupt("return");case 1:id=copyId||"main";_context.prev=2;_context.next=3;return navigator.clipboard.writeText(textToCopy);case 3:setCopied(function(prev){var _extends3;return _extends({},prev,(_extends3={},_extends3[id]=true,_extends3))});setTimeout(function(){return setCopied(function(prev){var _extends4;return _extends({},prev,(_extends4={},_extends4[id]=false,_extends4))})},2000);_context.next=5;break;case 4:_context.prev=4;_t=_context["catch"](2);case 5:case"end":return _context.stop()}},_callee,null,[[2,4]])}));return _copyToClipboard.apply(this,arguments)}function toggleButtonExpansion(buttonIndex){setExpandedButtons(function(prev){var _extends2;return _extends({},prev,(_extends2={},_extends2[buttonIndex]=!prev[buttonIndex],_extends2))})}function renderTableButtonExplanations(){if(!tableButtonExplanations||tableButtonExplanations.length===0){return null}function hasValidJsonBody(jsonBody){return jsonBody!==null&&jsonBody!==undefined&&jsonBody!==""}function hasValidFormFields(formFields){return formFields!==null&&formFields!==undefined&&Object.keys(formFields||{}).length>0}return/*#__PURE__*/_jsx("div",{className:"mb-6",children:tableButtonExplanations.map(function(button,index){var _button$buttonStyle,_button$buttonStyle2,_button$buttonStyle3;return/*#__PURE__*/_jsxs("div",{className:"mb-3 border border-gray-200 rounded-lg",children:[/*#__PURE__*/_jsxs("div",{className:"w-full px-4 py-3 flex items-center justify-between rounded-lg",children:[/*#__PURE__*/_jsxs("div",{className:"flex items-center",children:[/*#__PURE__*/_jsx("button",{onClick:function onClick(){return toggleButtonExpansion(index)},className:button.buttonClassName||"flex items-center justify-center px-3 rounded text-xs font-medium",style:_extends({height:"35px",width:"fit-content",minWidth:"fit-content",backgroundColor:(_button$buttonStyle=button.buttonStyle)==null?void 0:_button$buttonStyle.backgroundColor,color:(_button$buttonStyle2=button.buttonStyle)==null?void 0:_button$buttonStyle2.color,border:(_button$buttonStyle3=button.buttonStyle)==null?void 0:_button$buttonStyle3.border},button.buttonStyle||{},button.buttonStyle||{},{display:"flex",alignItems:"center",justifyContent:"center"}),children:button.action}),/*#__PURE__*/_jsx("div",{className:"ml-3 flex flex-col",children:button.operationSummary&&/*#__PURE__*/_jsx("span",{className:"text-xs text-gray-700 font-medium",children:button.operationSummary})})]}),expandedButtons[index]?/*#__PURE__*/_jsx(ChevronUp,{className:"w-4 h-4 text-gray-500 transition-transform cursor-pointer",onClick:function onClick(){return toggleButtonExpansion(index)}}):/*#__PURE__*/_jsx(ChevronDown,{className:"w-4 h-4 text-gray-500 transition-transform cursor-pointer",onClick:function onClick(){return toggleButtonExpansion(index)}})]}),expandedButtons[index]&&/*#__PURE__*/_jsx("div",{className:"px-4 pb-3 border-t border-gray-200",children:/*#__PURE__*/_jsxs("div",{className:"mt-2 space-y-3",children:[button.operationDescription&&/*#__PURE__*/_jsx(ContentBlock,{title:"Description",copyId:"description-"+index,copied:copied,onCopy:copyToClipboard,variant:"bordered",children:/*#__PURE__*/_jsx(ContentText,{children:button.operationDescription})}),(button.requestUrl||button.explanation)&&/*#__PURE__*/_jsx(ContentBlock,{title:"URL",copyContent:button.requestUrl||button.explanation,copyId:"url-"+index,copied:copied,onCopy:copyToClipboard,variant:"bordered",children:/*#__PURE__*/_jsx(ContentText,{children:button.requestUrl||button.explanation})}),(hasValidJsonBody(button.jsonBody)||hasValidFormFields(button.formFields))&&/*#__PURE__*/_jsx(ContentBlock,{title:"Payload",copyContent:JSON.stringify(hasValidJsonBody(button.jsonBody)?button.jsonBody:button.formFields,null,2),copyId:"payload-"+index,copied:copied,onCopy:copyToClipboard,variant:"bordered",children:/*#__PURE__*/_jsx(ContentText,{children:hasValidJsonBody(button.jsonBody)?JSON.stringify(button.jsonBody,null,2):JSON.stringify(button.formFields,null,2)})})]})})]},index)})})}function renderModalContent(){if(isLoading){return/*#__PURE__*/_jsxs("div",{className:"flex flex-col items-center justify-center py-12",children:[/*#__PURE__*/_jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-purple-600 mb-4"}),/*#__PURE__*/_jsx("span",{className:"text-xs text-gray-600",children:"Fetching query details from semantic layer..."}),/*#__PURE__*/_jsx("span",{className:"text-xs text-gray-400 mt-2",children:"This may take a few moments"})]})}if(error){return/*#__PURE__*/_jsxs("div",{className:"text-red-600 p-4 bg-red-50 rounded-lg border border-red-200 m-6",children:[/*#__PURE__*/_jsx("p",{className:"font-medium mb-2 text-xs",children:"Unable to fetch query details"}),/*#__PURE__*/_jsx("p",{className:"text-xs mb-3",children:error}),/*#__PURE__*/_jsx("button",{onClick:onRetry,className:"px-4 py-2 bg-red-100 hover:bg-red-200 rounded text-xs font-medium transition-colors",type:"button",children:"Retry"})]})}if(!sqlQuery||Array.isArray(sqlQuery)&&sqlQuery.length===0){return/*#__PURE__*/_jsx("div",{className:"text-gray-600 p-6",children:/*#__PURE__*/_jsx("p",{className:"text-xs",children:"No query details available"})})}// Handle multiple queries
2
+ useEffect(function(){if(!isOpen){setExpandedButtons({})}},[isOpen]);function copyToClipboard(_x,_x2){return _copyToClipboard.apply(this,arguments)}function _copyToClipboard(){_copyToClipboard=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(queryToCopy,copyId){var textToCopy,id;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:textToCopy=queryToCopy;if(!textToCopy){if(Array.isArray(sqlQuery)){textToCopy=sqlQuery.filter(function(q){return q&&typeof q==="string"}).join("\n\n-- Next Query --\n\n")}else if(typeof sqlQuery==="string"){textToCopy=sqlQuery}else{textToCopy=""}}if(textToCopy){_context.next=4;break}return _context.abrupt("return");case 4:id=copyId||"main";_context.prev=5;_context.next=8;return navigator.clipboard.writeText(textToCopy);case 8:setCopied(function(prev){var _extends3;return _extends({},prev,(_extends3={},_extends3[id]=true,_extends3))});setTimeout(function(){return setCopied(function(prev){var _extends4;return _extends({},prev,(_extends4={},_extends4[id]=false,_extends4))})},2000);_context.next=14;break;case 12:_context.prev=12;_context.t0=_context["catch"](5);case 14:case"end":return _context.stop()}},_callee,null,[[5,12]])}));return _copyToClipboard.apply(this,arguments)}function toggleButtonExpansion(buttonIndex){setExpandedButtons(function(prev){var _extends2;return _extends({},prev,(_extends2={},_extends2[buttonIndex]=!prev[buttonIndex],_extends2))})}function renderTableButtonExplanations(){if(!tableButtonExplanations||tableButtonExplanations.length===0){return null}function hasValidJsonBody(jsonBody){return jsonBody!==null&&jsonBody!==undefined&&jsonBody!==""}function hasValidFormFields(formFields){return formFields!==null&&formFields!==undefined&&Object.keys(formFields||{}).length>0}return/*#__PURE__*/_jsx("div",{className:"mb-6",children:tableButtonExplanations.map(function(button,index){var _button$buttonStyle,_button$buttonStyle2,_button$buttonStyle3;return/*#__PURE__*/_jsxs("div",{className:"mb-3 border border-gray-200 rounded-lg",children:[/*#__PURE__*/_jsxs("div",{className:"w-full px-4 py-3 flex items-center justify-between rounded-lg",children:[/*#__PURE__*/_jsxs("div",{className:"flex items-center",children:[/*#__PURE__*/_jsx("button",{onClick:function onClick(){return toggleButtonExpansion(index)},className:button.buttonClassName||"flex items-center justify-center px-3 rounded text-xs font-medium",style:_extends({height:"35px",width:"fit-content",minWidth:"fit-content",backgroundColor:(_button$buttonStyle=button.buttonStyle)==null?void 0:_button$buttonStyle.backgroundColor,color:(_button$buttonStyle2=button.buttonStyle)==null?void 0:_button$buttonStyle2.color,border:(_button$buttonStyle3=button.buttonStyle)==null?void 0:_button$buttonStyle3.border},button.buttonStyle||{},button.buttonStyle||{},{display:"flex",alignItems:"center",justifyContent:"center"}),children:button.action}),/*#__PURE__*/_jsx("div",{className:"ml-3 flex flex-col",children:button.operationSummary&&/*#__PURE__*/_jsx("span",{className:"text-xs text-gray-700 font-medium",children:button.operationSummary})})]}),expandedButtons[index]?/*#__PURE__*/_jsx(ChevronUp,{className:"w-4 h-4 text-gray-500 transition-transform cursor-pointer",onClick:function onClick(){return toggleButtonExpansion(index)}}):/*#__PURE__*/_jsx(ChevronDown,{className:"w-4 h-4 text-gray-500 transition-transform cursor-pointer",onClick:function onClick(){return toggleButtonExpansion(index)}})]}),expandedButtons[index]&&/*#__PURE__*/_jsx("div",{className:"px-4 pb-3 border-t border-gray-200",children:/*#__PURE__*/_jsxs("div",{className:"mt-2 space-y-3",children:[button.operationDescription&&/*#__PURE__*/_jsx(ContentBlock,{title:"Description",copyId:"description-"+index,copied:copied,onCopy:copyToClipboard,variant:"bordered",children:/*#__PURE__*/_jsx(ContentText,{children:button.operationDescription})}),(button.requestUrl||button.explanation)&&/*#__PURE__*/_jsx(ContentBlock,{title:"URL",copyContent:button.requestUrl||button.explanation,copyId:"url-"+index,copied:copied,onCopy:copyToClipboard,variant:"bordered",children:/*#__PURE__*/_jsx(ContentText,{children:button.requestUrl||button.explanation})}),(hasValidJsonBody(button.jsonBody)||hasValidFormFields(button.formFields))&&/*#__PURE__*/_jsx(ContentBlock,{title:"Payload",copyContent:JSON.stringify(hasValidJsonBody(button.jsonBody)?button.jsonBody:button.formFields,null,2),copyId:"payload-"+index,copied:copied,onCopy:copyToClipboard,variant:"bordered",children:/*#__PURE__*/_jsx(ContentText,{children:hasValidJsonBody(button.jsonBody)?JSON.stringify(button.jsonBody,null,2):JSON.stringify(button.formFields,null,2)})})]})})]},index)})})}function renderModalContent(){if(isLoading){return/*#__PURE__*/_jsxs("div",{className:"flex flex-col items-center justify-center py-12",children:[/*#__PURE__*/_jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-purple-600 mb-4"}),/*#__PURE__*/_jsx("span",{className:"text-xs text-gray-600",children:"Fetching query details from semantic layer..."}),/*#__PURE__*/_jsx("span",{className:"text-xs text-gray-400 mt-2",children:"This may take a few moments"})]})}if(error){return/*#__PURE__*/_jsxs("div",{className:"text-red-600 p-4 bg-red-50 rounded-lg border border-red-200 m-6",children:[/*#__PURE__*/_jsx("p",{className:"font-medium mb-2 text-xs",children:"Unable to fetch query details"}),/*#__PURE__*/_jsx("p",{className:"text-xs mb-3",children:error}),/*#__PURE__*/_jsx("button",{onClick:onRetry,className:"px-4 py-2 bg-red-100 hover:bg-red-200 rounded text-xs font-medium transition-colors",type:"button",children:"Retry"})]})}if(!sqlQuery||Array.isArray(sqlQuery)&&sqlQuery.length===0){return/*#__PURE__*/_jsx("div",{className:"text-gray-600 p-6",children:/*#__PURE__*/_jsx("p",{className:"text-xs",children:"No query details available"})})}// Handle multiple queries
3
3
  if(Array.isArray(sqlQuery)){return/*#__PURE__*/_jsxs("div",{className:"p-6 space-y-4",children:[sqlQuery.filter(function(query){return query&&typeof query==="string"&&query.trim()}).map(function(query,index){var rawHeading=queryHeadings[index]||"Query "+(index+1);var heading=formatQueryHeading(rawHeading);return/*#__PURE__*/_jsx(ContentBlock,{title:heading,copyContent:query,copyId:"query-"+index,copied:copied,onCopy:copyToClipboard,variant:"default",copyButtonVariant:"light",children:/*#__PURE__*/_jsx(ContentText,{hasOverflowHandling:false,children:query})},index)}),renderTableButtonExplanations()]})}return/*#__PURE__*/_jsxs("div",{className:"p-6 space-y-4",children:[/*#__PURE__*/_jsx(ContentBlock,{title:formatQueryHeading(queryHeadings[0]||"Query details"),copyContent:typeof sqlQuery==="string"?sqlQuery:"",copyId:"single",copied:copied,onCopy:copyToClipboard,variant:"default",copyButtonVariant:"light",children:/*#__PURE__*/_jsx(ContentText,{hasOverflowHandling:false,children:sqlQuery})}),renderTableButtonExplanations()]})}return/*#__PURE__*/_jsx(CustomModal,{isOpen:isOpen,onClose:onClose,title:"How was this metric calculated?",children:renderModalContent()})}export default QueryDetailsModal;
4
4
  //# sourceMappingURL=query-details-modal.js.map