@realtimex/email-automator 2.9.4 → 2.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-yellow-950:oklch(28.6% .066 53.813);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-border:oklch(var(--border));--color-input:oklch(var(--input));--color-ring:oklch(var(--ring));--color-background:oklch(var(--background));--color-foreground:oklch(var(--foreground));--color-primary:oklch(var(--primary));--color-primary-foreground:oklch(var(--primary-foreground));--color-secondary:oklch(var(--secondary));--color-secondary-foreground:oklch(var(--secondary-foreground));--color-destructive:oklch(var(--destructive));--color-destructive-foreground:oklch(var(--destructive-foreground));--color-muted:oklch(var(--muted));--color-muted-foreground:oklch(var(--muted-foreground));--color-accent:oklch(var(--accent));--color-accent-foreground:oklch(var(--accent-foreground));--color-card:oklch(var(--card));--color-card-foreground:oklch(var(--card-foreground))}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--background:1 0 0;--foreground:.145 0 0;--card:1 0 0;--card-foreground:.145 0 0;--popover:1 0 0;--popover-foreground:.145 0 0;--primary:.205 0 0;--primary-foreground:.985 0 0;--secondary:.97 0 0;--secondary-foreground:.205 0 0;--muted:.97 0 0;--muted-foreground:.556 0 0;--accent:.97 0 0;--accent-foreground:.205 0 0;--destructive:.577 .245 27.325;--destructive-foreground:.985 0 0;--border:.922 0 0;--input:.922 0 0;--ring:.205 0 0;--radius:.5rem}.dark{--background:.145 0 0;--foreground:.985 0 0;--card:.145 0 0;--card-foreground:.985 0 0;--popover:.145 0 0;--popover-foreground:.985 0 0;--primary:.985 0 0;--primary-foreground:.145 0 0;--secondary:.269 0 0;--secondary-foreground:.985 0 0;--muted:.269 0 0;--muted-foreground:.708 0 0;--accent:.269 0 0;--accent-foreground:.985 0 0;--destructive:.396 .141 25.723;--destructive-foreground:.985 0 0;--border:.269 0 0;--input:.269 0 0;--ring:.869 0 0}*{border-color:var(--color-border);outline-color:var(--color-ring)}body{background-color:var(--color-background);color:var(--color-foreground);font-family:Inter,system-ui,sans-serif}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-top-2{top:calc(var(--spacing)*-2)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-7{top:calc(var(--spacing)*7)}.top-8{top:calc(var(--spacing)*8)}.top-16{top:calc(var(--spacing)*16)}.top-\[50\%\]{top:50%}.-right-2{right:calc(var(--spacing)*-2)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-20{bottom:calc(var(--spacing)*20)}.bottom-\[-24px\]{bottom:-24px}.left-0{left:calc(var(--spacing)*0)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.left-\[13px\]{left:13px}.left-\[15px\]{left:15px}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.container{margin-inline:auto;padding-inline:2rem}@media(min-width:40rem){.container{max-width:none}}@media(min-width:1400px){.container{max-width:1400px}}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.-mt-1{margin-top:calc(var(--spacing)*-1)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-8{margin-left:calc(var(--spacing)*8)}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-64{height:calc(var(--spacing)*64)}.h-\[1\.2rem\]{height:1.2rem}.h-\[650px\]{height:650px}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-\[60px\]{min-height:60px}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-24{width:calc(var(--spacing)*24)}.w-\[1\.2rem\]{width:1.2rem}.w-\[1px\]{width:1px}.w-\[550px\]{width:550px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-4xl{max-width:var(--container-4xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[100px\]{max-width:100px}.max-w-\[150px\]{max-width:150px}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-cols-\[1\.5fr_1fr\]{grid-template-columns:1.5fr 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-start{justify-items:start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.border-background{border-color:var(--color-background)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500\/10{border-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/10{border-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/20{border-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.border-border{border-color:var(--color-border)}.border-border\/40{border-color:color-mix(in srgb,oklch(var(--border))40%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-border\/40{border-color:color-mix(in oklab,var(--color-border)40%,transparent)}}.border-border\/50{border-color:color-mix(in srgb,oklch(var(--border))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--color-border)50%,transparent)}}.border-destructive{border-color:var(--color-destructive)}.border-destructive\/20{border-color:color-mix(in srgb,oklch(var(--destructive))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/20{border-color:color-mix(in oklab,var(--color-destructive)20%,transparent)}}.border-destructive\/50{border-color:color-mix(in srgb,oklch(var(--destructive))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/50{border-color:color-mix(in oklab,var(--color-destructive)50%,transparent)}}.border-emerald-500\/10{border-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/10{border-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.border-emerald-500\/50{border-color:#00bb7f80}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/50{border-color:color-mix(in oklab,var(--color-emerald-500)50%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-green-500{border-color:var(--color-green-500)}.border-green-500\/20{border-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.border-green-500\/20{border-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.border-input{border-color:var(--color-input)}.border-primary{border-color:var(--color-primary)}.border-primary\/20{border-color:color-mix(in srgb,oklch(var(--primary))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,var(--color-primary)20%,transparent)}}.border-purple-500\/10{border-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/10{border-color:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.border-purple-500\/50{border-color:#ac4bff80}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/50{border-color:color-mix(in oklab,var(--color-purple-500)50%,transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-red-500\/10{border-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.border-red-500\/10{border-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500)50%,transparent)}}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-500{border-color:var(--color-yellow-500)}.border-yellow-500\/20{border-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/20{border-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.border-l-blue-500{border-left-color:var(--color-blue-500)}.border-l-red-500{border-left-color:var(--color-red-500)}.bg-amber-500\/5{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/5{background-color:color-mix(in oklab,var(--color-amber-500)5%,transparent)}}.bg-background{background-color:var(--color-background)}.bg-background\/50{background-color:color-mix(in srgb,oklch(var(--background))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,var(--color-background)50%,transparent)}}.bg-background\/60{background-color:color-mix(in srgb,oklch(var(--background))60%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,var(--color-background)60%,transparent)}}.bg-background\/95{background-color:color-mix(in srgb,oklch(var(--background))95%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-background\/95{background-color:color-mix(in oklab,var(--color-background)95%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/5{background-color:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-border{background-color:var(--color-border)}.bg-border\/50{background-color:color-mix(in srgb,oklch(var(--border))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-border\/50{background-color:color-mix(in oklab,var(--color-border)50%,transparent)}}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-destructive\/10{background-color:color-mix(in srgb,oklch(var(--destructive))10%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--color-destructive)10%,transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/5{background-color:color-mix(in oklab,var(--color-emerald-500)5%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.bg-emerald-500\/40{background-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/40{background-color:color-mix(in oklab,var(--color-emerald-500)40%,transparent)}}.bg-gray-500\/10{background-color:#6a72821a}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/10{background-color:color-mix(in oklab,var(--color-gray-500)10%,transparent)}}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-muted{background-color:var(--color-muted)}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.bg-pink-500\/10{background-color:#f6339a1a}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/10{background-color:color-mix(in oklab,var(--color-pink-500)10%,transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-primary\/5{background-color:color-mix(in srgb,oklch(var(--primary))5%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--color-primary)5%,transparent)}}.bg-primary\/10{background-color:color-mix(in srgb,oklch(var(--primary))10%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.bg-purple-500\/5{background-color:#ac4bff0d}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/5{background-color:color-mix(in oklab,var(--color-purple-500)5%,transparent)}}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500)5%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-600\/70{background-color:#e40014b3}@supports (color:color-mix(in lab,red,red)){.bg-red-600\/70{background-color:color-mix(in oklab,var(--color-red-600)70%,transparent)}}.bg-red-700{background-color:var(--color-red-700)}.bg-secondary{background-color:var(--color-secondary)}.bg-secondary\/5{background-color:color-mix(in srgb,oklch(var(--secondary))5%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/5{background-color:color-mix(in oklab,var(--color-secondary)5%,transparent)}}.bg-secondary\/30{background-color:color-mix(in srgb,oklch(var(--secondary))30%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/30{background-color:color-mix(in oklab,var(--color-secondary)30%,transparent)}}.bg-secondary\/50{background-color:color-mix(in srgb,oklch(var(--secondary))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/50{background-color:color-mix(in oklab,var(--color-secondary)50%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500)10%,transparent)}}.bg-yellow-600{background-color:var(--color-yellow-600)}.stroke-foreground{stroke:var(--color-foreground)}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.p-20{padding:calc(var(--spacing)*20)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\.5{padding-top:calc(var(--spacing)*1.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-12{padding-right:calc(var(--spacing)*12)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3\.5{padding-left:calc(var(--spacing)*3.5)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-500{color:var(--color-amber-500)}.text-amber-700{color:var(--color-amber-700)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground{color:var(--color-foreground)}.text-foreground\/70{color:color-mix(in srgb,oklch(var(--foreground))70%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,var(--color-foreground)70%,transparent)}}.text-foreground\/80{color:color-mix(in srgb,oklch(var(--foreground))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,var(--color-foreground)80%,transparent)}}.text-foreground\/90{color:color-mix(in srgb,oklch(var(--foreground))90%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,var(--color-foreground)90%,transparent)}}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-indigo-500{color:var(--color-indigo-500)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-muted-foreground\/40{color:color-mix(in srgb,oklch(var(--muted-foreground))40%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,var(--color-muted-foreground)40%,transparent)}}.text-muted-foreground\/50{color:color-mix(in srgb,oklch(var(--muted-foreground))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--color-muted-foreground)50%,transparent)}}.text-muted-foreground\/60{color:color-mix(in srgb,oklch(var(--muted-foreground))60%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--color-muted-foreground)60%,transparent)}}.text-muted-foreground\/70{color:color-mix(in srgb,oklch(var(--muted-foreground))70%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--color-muted-foreground)70%,transparent)}}.text-muted-foreground\/80{color:color-mix(in srgb,oklch(var(--muted-foreground))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,var(--color-muted-foreground)80%,transparent)}}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-pink-600{color:var(--color-pink-600)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-800{color:var(--color-yellow-800)}.text-yellow-900{color:var(--color-yellow-900)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(234\,179\,8\,0\.5\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#eab30880);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-ring{--tw-ring-color:var(--color-ring)}.ring-ring\/10{--tw-ring-color:color-mix(in srgb,oklch(var(--ring))10%,transparent)}@supports (color:color-mix(in lab,red,red)){.ring-ring\/10{--tw-ring-color:color-mix(in oklab,var(--color-ring)10%,transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-ring\/50{outline-color:color-mix(in srgb,oklch(var(--ring))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.outline-ring\/50{outline-color:color-mix(in oklab,var(--color-ring)50%,transparent)}}.filter{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,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{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,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing)*0)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-black\/10:hover{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/10:hover{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-destructive\/10:hover{background-color:color-mix(in srgb,oklch(var(--destructive))10%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--color-destructive)10%,transparent)}}.hover\:bg-destructive\/20:hover{background-color:color-mix(in srgb,oklch(var(--destructive))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab,var(--color-destructive)20%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:color-mix(in srgb,oklch(var(--destructive))90%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive)90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:color-mix(in srgb,oklch(var(--primary))90%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary)90%,transparent)}}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.hover\:bg-secondary:hover{background-color:var(--color-secondary)}.hover\:bg-secondary\/30:hover{background-color:color-mix(in srgb,oklch(var(--secondary))30%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/30:hover{background-color:color-mix(in oklab,var(--color-secondary)30%,transparent)}}.hover\:bg-secondary\/50:hover{background-color:color-mix(in srgb,oklch(var(--secondary))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/50:hover{background-color:color-mix(in oklab,var(--color-secondary)50%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:color-mix(in srgb,oklch(var(--secondary))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary)80%,transparent)}}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-yellow-100:hover{background-color:var(--color-yellow-100)}.hover\:bg-yellow-700:hover{background-color:var(--color-yellow-700)}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-blue-500:hover{color:var(--color-blue-500)}.hover\:text-destructive:hover{color:var(--color-destructive)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-orange-500:hover{color:var(--color-orange-500)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary:focus{--tw-ring-color:var(--color-primary)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive:focus-visible{--tw-ring-color:var(--color-destructive)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing)*3)}.aria-invalid\:focus-visible\:ring-0[aria-invalid=true]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in srgb,oklch(var(--destructive))90%,transparent)}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--color-destructive)90%,transparent)}}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:color-mix(in srgb,oklch(var(--background))60%,transparent)}@supports (color:color-mix(in lab,red,red)){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:color-mix(in oklab,var(--color-background)60%,transparent)}}}@media(prefers-reduced-motion:no-preference){.motion-safe\:animate-ping{animation:var(--animate-ping)}}@media(prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media(min-width:40rem){.sm\:right-4{right:calc(var(--spacing)*4)}.sm\:left-auto{left:auto}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:h-12{height:calc(var(--spacing)*12)}.sm\:w-12{width:calc(var(--spacing)*12)}.sm\:w-auto{width:auto}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-5xl{max-width:var(--container-5xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:p-8{padding:calc(var(--spacing)*8)}.sm\:px-8{padding-inline:calc(var(--spacing)*8)}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:w-64{width:calc(var(--spacing)*64)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-left{text-align:left}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-color-scheme:dark){.dark\:border-blue-800{border-color:var(--color-blue-800)}.dark\:border-red-900\/40{border-color:#82181a66}@supports (color:color-mix(in lab,red,red)){.dark\:border-red-900\/40{border-color:color-mix(in oklab,var(--color-red-900)40%,transparent)}}.dark\:border-yellow-600{border-color:var(--color-yellow-600)}.dark\:border-yellow-800{border-color:var(--color-yellow-800)}.dark\:bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.dark\:bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/20{background-color:color-mix(in oklab,var(--color-blue-900)20%,transparent)}}.dark\:bg-blue-900\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/30{background-color:color-mix(in oklab,var(--color-blue-900)30%,transparent)}}.dark\:bg-red-600{background-color:var(--color-red-600)}.dark\:bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/30{background-color:color-mix(in oklab,var(--color-red-900)30%,transparent)}}.dark\:bg-red-950\/20{background-color:#46080933}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-950\/20{background-color:color-mix(in oklab,var(--color-red-950)20%,transparent)}}.dark\:bg-yellow-500{background-color:var(--color-yellow-500)}.dark\:bg-yellow-900\/20{background-color:#733e0a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-yellow-900\/20{background-color:color-mix(in oklab,var(--color-yellow-900)20%,transparent)}}.dark\:bg-yellow-950\/90{background-color:#432004e6}@supports (color:color-mix(in lab,red,red)){.dark\:bg-yellow-950\/90{background-color:color-mix(in oklab,var(--color-yellow-950)90%,transparent)}}.dark\:text-amber-400{color:var(--color-amber-400)}.dark\:text-blue-100{color:var(--color-blue-100)}.dark\:text-blue-200{color:var(--color-blue-200)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-emerald-400{color:var(--color-emerald-400)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-pink-400{color:var(--color-pink-400)}.dark\:text-purple-400{color:var(--color-purple-400)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-red-600{color:var(--color-red-600)}.dark\:text-yellow-100{color:var(--color-yellow-100)}.dark\:text-yellow-200{color:var(--color-yellow-200)}.dark\:text-yellow-400{color:var(--color-yellow-400)}.dark\:text-yellow-500{color:var(--color-yellow-500)}.dark\:ring-ring\/20{--tw-ring-color:color-mix(in srgb,oklch(var(--ring))20%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\:ring-ring\/20{--tw-ring-color:color-mix(in oklab,var(--color-ring)20%,transparent)}}.dark\:outline-ring\/40{outline-color:color-mix(in srgb,oklch(var(--ring))40%,transparent)}@supports (color:color-mix(in lab,red,red)){.dark\:outline-ring\/40{outline-color:color-mix(in oklab,var(--color-ring)40%,transparent)}}@media(hover:hover){.dark\:hover\:bg-yellow-600:hover{background-color:var(--color-yellow-600)}.dark\:hover\:bg-yellow-900\/30:hover{background-color:#733e0a4d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-yellow-900\/30:hover{background-color:color-mix(in oklab,var(--color-yellow-900)30%,transparent)}}}}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]),.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
package/dist/index.html CHANGED
@@ -5,8 +5,8 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Email Automator</title>
8
- <script type="module" crossorigin src="/assets/index-CE8vDdPr.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-DZkAuJEw.css">
8
+ <script type="module" crossorigin src="/assets/index-Be1NX_az.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-SRvHiNrG.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realtimex/email-automator",
3
- "version": "2.9.4",
3
+ "version": "2.9.6",
4
4
  "type": "module",
5
5
  "main": "dist/api/server.js",
6
6
  "bin": {
@@ -88,6 +88,7 @@
88
88
  "openai": "^6.16.0",
89
89
  "react": "^19.2.3",
90
90
  "react-dom": "^19.2.3",
91
+ "supabase": "^2.72.7",
91
92
  "tailwind-merge": "^3.4.0",
92
93
  "tsx": "^4.21.0",
93
94
  "zod": "^3.25.76"
@@ -106,10 +107,9 @@
106
107
  "autoprefixer": "^10.4.23",
107
108
  "jsdom": "^26.1.0",
108
109
  "postcss": "^8.5.6",
109
- "supabase": "^2.72.7",
110
110
  "tailwindcss": "^4.1.18",
111
111
  "typescript": "^5.9.3",
112
112
  "vite": "^7.3.1",
113
113
  "vitest": "^3.2.4"
114
114
  }
115
- }
115
+ }
@@ -1,28 +1,108 @@
1
1
  #!/bin/bash
2
2
 
3
- # Deploy Supabase Edge Functions
4
- # This script deploys all Edge Functions to your Supabase project
3
+ # ==============================================================================
4
+ # EMAIL AUTOMATOR EDGE FUNCTIONS DEPLOYMENT
5
+ # ==============================================================================
6
+ #
7
+ # DESCRIPTION:
8
+ # This script deploys all Edge Functions to your Supabase project.
9
+ # It can be run standalone or called by the API server.
10
+ #
11
+ # PREREQUISITES:
12
+ # 1. Supabase CLI installed (global or local via npm)
13
+ # 2. You must be logged in (run: 'supabase login')
14
+ # 3. You need your Supabase Project Reference ID
15
+ # 4. You need your Database Password or Access Token
16
+ #
17
+ # USAGE:
18
+ # Standalone:
19
+ # ./deploy-functions.sh
20
+ #
21
+ # Via environment variables (used by API):
22
+ # SUPABASE_PROJECT_ID=xxx SUPABASE_ACCESS_TOKEN=yyy ./deploy-functions.sh
23
+ #
24
+ # ==============================================================================
5
25
 
6
26
  set -e
7
27
 
8
28
  echo "🚀 Deploying Email Automator Edge Functions..."
9
29
  echo ""
10
30
 
11
- # Check if supabase CLI is installed
12
- if ! command -v supabase &> /dev/null; then
13
- echo " Supabase CLI is not installed"
14
- echo "Install it with: npm install -g supabase"
31
+ # Prefer bundled Supabase CLI from node_modules to keep version locked
32
+ SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
33
+ ROOT_DIR=$(cd "$SCRIPT_DIR/.." && pwd)
34
+
35
+ find_supabase_bin() {
36
+ local dir="$ROOT_DIR"
37
+ while [ "$dir" != "/" ]; do
38
+ local candidate="$dir/node_modules/.bin/supabase"
39
+ if [ -x "$candidate" ]; then
40
+ echo "$candidate"
41
+ return 0
42
+ fi
43
+ dir=$(dirname "$dir")
44
+ done
45
+ return 1
46
+ }
47
+
48
+ SUPABASE_BIN=$(find_supabase_bin || true)
49
+
50
+ if [ -n "$SUPABASE_BIN" ]; then
51
+ SUPABASE_CMD="$SUPABASE_BIN"
52
+ echo "✅ Using bundled Supabase CLI: $SUPABASE_BIN"
53
+ elif command -v supabase &> /dev/null; then
54
+ # Fallback to global if bundled CLI is not available
55
+ echo "✅ Found global Supabase CLI"
56
+ SUPABASE_CMD="supabase"
57
+ elif command -v npx &> /dev/null; then
58
+ # Last resort: npx (will not download)
59
+ echo "ℹ️ Bundled CLI not found. Falling back to npx."
60
+ SUPABASE_CMD="npx --no-install supabase"
61
+ else
62
+ echo "❌ Error: Neither 'npx' nor 'supabase' CLI is available"
63
+ echo " Please ensure Node.js is installed (for npx)"
64
+ echo " Or install Supabase CLI globally: npm install -g supabase"
15
65
  exit 1
16
66
  fi
17
67
 
18
- # Check if user is logged in
19
- if ! supabase projects list &> /dev/null; then
20
- echo "❌ Not logged into Supabase CLI"
21
- echo "Run: supabase login"
68
+ cd "$ROOT_DIR"
69
+
70
+ echo ""
71
+
72
+ # Get project ID from environment or prompt
73
+ if [ -z "$SUPABASE_PROJECT_ID" ]; then
74
+ echo "─────────────────────────────────────────────────────────"
75
+ echo "👉 Enter your Supabase Project Reference ID:"
76
+ echo " (Found in Supabase Dashboard > Project Settings > General)"
77
+ read -p " Project ID: " SUPABASE_PROJECT_ID
78
+ fi
79
+
80
+ if [ -z "$SUPABASE_PROJECT_ID" ]; then
81
+ echo "❌ Error: Project ID is required to proceed."
22
82
  exit 1
23
83
  fi
24
84
 
25
- echo "✅ Supabase CLI detected"
85
+ # Link to project if not already linked
86
+ echo "─────────────────────────────────────────────────────────"
87
+ echo "🔗 Linking to Supabase Project: $SUPABASE_PROJECT_ID"
88
+
89
+ # If we have an access token, use it for linking
90
+ if [ -n "$SUPABASE_ACCESS_TOKEN" ]; then
91
+ echo "🔑 Using access token for authentication"
92
+ export SUPABASE_ACCESS_TOKEN
93
+ $SUPABASE_CMD link --project-ref "$SUPABASE_PROJECT_ID"
94
+ elif [ -n "$SUPABASE_DB_PASSWORD" ]; then
95
+ echo "🔑 Using database password for authentication"
96
+ export SUPABASE_DB_PASSWORD
97
+ $SUPABASE_CMD link --project-ref "$SUPABASE_PROJECT_ID"
98
+ else
99
+ echo "🔑 NOTE: If asked, please enter your DATABASE PASSWORD."
100
+ $SUPABASE_CMD link --project-ref "$SUPABASE_PROJECT_ID"
101
+ fi
102
+
103
+ echo ""
104
+ echo "─────────────────────────────────────────────────────────"
105
+ echo "📦 Deploying Edge Functions..."
26
106
  echo ""
27
107
 
28
108
  # Deploy each function
@@ -35,13 +115,32 @@ FUNCTIONS=(
35
115
  "api-v1-settings"
36
116
  )
37
117
 
118
+ DEPLOYED=0
119
+ FAILED=0
120
+
38
121
  for func in "${FUNCTIONS[@]}"; do
39
- echo "📦 Deploying $func..."
40
- supabase functions deploy "$func" --no-verify-jwt
122
+ echo " 📦 Deploying $func..."
123
+ if $SUPABASE_CMD functions deploy "$func" --no-verify-jwt; then
124
+ ((DEPLOYED++))
125
+ else
126
+ echo " ❌ Failed to deploy $func"
127
+ ((FAILED++))
128
+ fi
41
129
  done
42
130
 
43
131
  echo ""
44
- echo "✅ All Edge Functions deployed successfully!"
132
+ echo "─────────────────────────────────────────────────────────"
133
+
134
+ if [ $FAILED -eq 0 ]; then
135
+ echo "✅ All Edge Functions deployed successfully!"
136
+ echo " Deployed: $DEPLOYED functions"
137
+ else
138
+ echo "⚠️ Deployment completed with errors"
139
+ echo " Deployed: $DEPLOYED functions"
140
+ echo " Failed: $FAILED functions"
141
+ exit 1
142
+ fi
143
+
45
144
  echo ""
46
145
  echo "⚠️ Don't forget to set environment variables in Supabase Dashboard:"
47
146
  echo " Settings > Edge Functions > Add secret"
@@ -7,26 +7,23 @@
7
7
  # DESCRIPTION:
8
8
  # This script automates the backend update process for RealtimeX Email Automator.
9
9
  # It performs the following actions without requiring the user to clone git:
10
- # 1. Creates a temporary, invisible workspace on your system.
11
- # 2. Downloads the latest code/migrations from the official GitHub repository.
12
- # 3. Links your local environment to your remote Supabase project.
13
- # 4. Applies the latest Database Schema changes (Tables, Columns, etc).
14
- # 5. Pushes the latest Project Configuration (Auth, Storage, etc).
15
- # 6. Deploys the latest Edge Functions (API Logic).
16
- # 7. Cleans up all temporary files automatically.
10
+ # 1. Uses the bundled Supabase config/migrations included with this package.
11
+ # 2. Links your local environment to your remote Supabase project.
12
+ # 3. Applies the latest Database Schema changes (Tables, Columns, etc).
13
+ # 4. Pushes the latest Project Configuration (Auth, Storage, etc).
14
+ # 5. Deploys the latest Edge Functions (API Logic) unless skipped.
17
15
  #
18
16
  # PREREQUISITES:
19
- # 1. Supabase CLI installed (global or local via npm).
20
- # 2. You must be logged in (run: 'supabase login').
17
+ # 1. Supabase CLI available (bundled or global).
18
+ # 2. You must be logged in (run: 'supabase login') or provide credentials.
21
19
  # 3. You need your Supabase Project Reference ID (e.g., 'abcdefghijklm').
22
- # 4. You need your Database Password (to type when prompted if needed).
20
+ # 4. You need your Database Password or Access Token (if prompted).
23
21
  #
24
22
  # HOW TO USE:
25
- # 1. Download this file to your computer.
26
- # 2. Open your terminal and navigate to the folder where you saved it.
27
- # 3. Make the script executable:
23
+ # 1. Run the script from the installed package folder.
24
+ # 2. Make the script executable (if needed):
28
25
  # chmod +x migrate.sh
29
- # 4. Run the script:
26
+ # 3. Run the script:
30
27
  # ./migrate.sh
31
28
  #
32
29
  # ==============================================================================
@@ -34,30 +31,52 @@
34
31
  # Exit immediately if any command fails
35
32
  set -e
36
33
 
37
- # --- CONFIGURATION ---
38
- GITHUB_ORG="therealtimex"
39
- REPO_NAME="email-automator"
40
- BRANCH="main"
41
-
42
34
  echo "🚀 Starting RealtimeX Email Automator Migration Tool..."
43
35
 
44
36
  # ------------------------------------------------------------------------------
45
37
  # 1. PRE-FLIGHT CHECKS
46
38
  # ------------------------------------------------------------------------------
47
39
 
48
- SUPABASE_CMD="supabase"
40
+ # Prefer bundled Supabase CLI from node_modules to keep version locked
41
+ SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
42
+ ROOT_DIR=$(cd "$SCRIPT_DIR/.." && pwd)
43
+
44
+ find_supabase_bin() {
45
+ local dir="$ROOT_DIR"
46
+ while [ "$dir" != "/" ]; do
47
+ local candidate="$dir/node_modules/.bin/supabase"
48
+ if [ -x "$candidate" ]; then
49
+ echo "$candidate"
50
+ return 0
51
+ fi
52
+ dir=$(dirname "$dir")
53
+ done
54
+ return 1
55
+ }
56
+
57
+ SUPABASE_BIN=$(find_supabase_bin || true)
49
58
 
50
- # Check if global Supabase CLI is installed
51
- if command -v supabase &> /dev/null; then
59
+ if [ -n "$SUPABASE_BIN" ]; then
60
+ SUPABASE_CMD="$SUPABASE_BIN"
61
+ echo "✅ Using bundled Supabase CLI: $SUPABASE_BIN"
62
+ elif command -v supabase &> /dev/null; then
63
+ # Fallback to global if bundled CLI is not available
52
64
  echo "✅ Found global Supabase CLI."
65
+ SUPABASE_CMD="supabase"
53
66
  elif command -v npx &> /dev/null; then
54
- # Fallback to npx if available
55
- echo "ℹ️ Global 'supabase' not found. Trying local via npx..."
56
- SUPABASE_CMD="npx supabase"
67
+ # Last resort: npx (will not download)
68
+ echo "ℹ️ Bundled CLI not found. Falling back to npx."
69
+ SUPABASE_CMD="npx --no-install supabase"
57
70
  else
58
- echo "❌ Error: 'supabase' CLI is not installed and 'npx' is not available."
59
- echo " Please install it via: brew install supabase/tap/supabase"
60
- echo " Or visit: https://supabase.com/docs/guides/cli"
71
+ echo "❌ Error: Neither 'npx' nor 'supabase' CLI is available."
72
+ echo " Please ensure Node.js is installed (for npx)."
73
+ echo " Or install Supabase CLI globally: brew install supabase/tap/supabase"
74
+ exit 1
75
+ fi
76
+
77
+ if [ ! -d "$ROOT_DIR/supabase" ]; then
78
+ echo "❌ Error: supabase folder not found at $ROOT_DIR/supabase"
79
+ echo " Please reinstall the package or run from a valid install."
61
80
  exit 1
62
81
  fi
63
82
 
@@ -79,40 +98,11 @@ if [ -z "$SUPABASE_PROJECT_ID" ]; then
79
98
  fi
80
99
 
81
100
  # ------------------------------------------------------------------------------
82
- # 3. PREPARE TEMPORARY WORKSPACE
101
+ # 3. EXECUTE MIGRATION
83
102
  # ------------------------------------------------------------------------------
84
103
 
85
- # Create a safe, random directory in the system temp folder (e.g., /tmp/tmp.XyZ123)
86
- # This ensures we don't mess with existing files on the user's desktop.
87
- WORK_DIR=$(mktemp -d)
88
- echo "🧹 Working in temporary system directory..."
89
-
90
- # Define a cleanup function that runs automatically when the script exits
91
- # (Whether it finishes successfully or crashes)
92
- cleanup() {
93
- rm -rf "$WORK_DIR"
94
- echo "🧹 Temporary files cleaned up."
95
- }
96
- trap cleanup EXIT
97
-
98
- # ------------------------------------------------------------------------------
99
- # 4. DOWNLOAD & EXTRACT LATEST CODE
100
- # ------------------------------------------------------------------------------
101
-
102
- echo "📥 Downloading latest source from GitHub ($BRANCH)..."
103
- # Download the repository archive as a compressed file
104
- curl -L -s "https://github.com/$GITHUB_ORG/$REPO_NAME/archive/refs/heads/$BRANCH.tar.gz" -o "$WORK_DIR/repo.tar.gz"
105
-
106
- echo "📦 Extracting configuration files..."
107
- # Extract the files, stripping the root folder so they sit directly in WORK_DIR
108
- tar -xzf "$WORK_DIR/repo.tar.gz" -C "$WORK_DIR" --strip-components=1
109
-
110
- # ------------------------------------------------------------------------------
111
- # 5. EXECUTE MIGRATION
112
- # ------------------------------------------------------------------------------
113
-
114
- # Move into the temp directory to run Supabase commands
115
- cd "$WORK_DIR"
104
+ # Move into the package root to run Supabase commands
105
+ cd "$ROOT_DIR"
116
106
 
117
107
  echo "---------------------------------------------------------"
118
108
  echo "🔗 Linking to Supabase Project: $SUPABASE_PROJECT_ID"
@@ -145,30 +135,34 @@ else
145
135
  fi
146
136
 
147
137
  echo "---------------------------------------------------------"
148
- echo " Deploying Edge Functions..."
149
- # Deploys API logic explicitly for each function to ensure they are all deployed
150
- # We skip _shared and hidden folders
151
- if [ -d "supabase/functions" ]; then
152
- for func in supabase/functions/*; do
153
- if [ -d "$func" ]; then
154
- func_name=$(basename "$func")
155
- # Skip _shared and hidden folders
156
- if [[ "$func_name" != "_shared" && "$func_name" != .* ]]; then
157
- echo " Deploying $func_name..."
158
- if ! $SUPABASE_CMD functions deploy "$func_name" --no-verify-jwt; then
159
- echo " Error: Failed to deploy function '$func_name'."
160
- exit 1
138
+ if [ "$SKIP_FUNCTIONS" = "1" ]; then
139
+ echo "⏭️ Skipping Edge Functions deployment (SKIP_FUNCTIONS=1)."
140
+ else
141
+ echo "⚡ Deploying Edge Functions..."
142
+ # Deploys API logic explicitly for each function to ensure they are all deployed
143
+ # We skip _shared and hidden folders
144
+ if [ -d "supabase/functions" ]; then
145
+ for func in supabase/functions/*; do
146
+ if [ -d "$func" ]; then
147
+ func_name=$(basename "$func")
148
+ # Skip _shared and hidden folders
149
+ if [[ "$func_name" != "_shared" && "$func_name" != .* ]]; then
150
+ echo " Deploying $func_name..."
151
+ if ! $SUPABASE_CMD functions deploy "$func_name" --no-verify-jwt; then
152
+ echo "❌ Error: Failed to deploy function '$func_name'."
153
+ exit 1
154
+ fi
161
155
  fi
162
156
  fi
163
- fi
164
- done
165
- else
166
- echo "⚠️ Warning: supabase/functions directory not found. Skipping function deployment."
157
+ done
158
+ else
159
+ echo "⚠️ Warning: supabase/functions directory not found. Skipping function deployment."
160
+ fi
167
161
  fi
168
162
 
169
163
 
170
164
  # ------------------------------------------------------------------------------
171
- # 6. COMPLETION
165
+ # 4. COMPLETION
172
166
  # ------------------------------------------------------------------------------
173
167
 
174
168
  echo "---------------------------------------------------------"