@aircall/blocks 0.15.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/globals.css CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Fellix",sans-serif;--color-red-50:#fff7f5;--color-red-400:#ff7256;--color-red-600:#db391a;--color-red-950:#420b00;--color-amber-100:oklch(96.2% .059 95.617);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-50:#fffcf3;--color-yellow-300:#ffcd4f;--color-yellow-400:#f3ad26;--color-yellow-500:#d68100;--color-yellow-700:#8f5600;--color-yellow-950:#2f1c00;--color-green-50:#f4fffb;--color-green-300:#5bf1b2;--color-green-400:#37cd8e;--color-green-500:#13a96a;--color-green-600:#00884f;--color-green-700:#006a3d;--color-green-950:#002817;--color-teal-600:oklch(60% .118 184.704);--color-blue-50:#f5faff;--color-blue-300:#98c7ff;--color-blue-400:#70b1ff;--color-blue-500:#388ef6;--color-blue-600:#1e74dc;--color-blue-700:#055bc3;--color-blue-800:#00479c;--color-blue-950:#001f45;--color-purple-500:#8b77fc;--color-purple-600:#6551d6;--color-purple-700:#4c38bd;--color-pink-500:#eb5e7c;--color-pink-600:#cf4260;--color-rose-600:oklch(58.6% .253 17.585);--color-neutral-50:#f8f9fc;--color-neutral-100:#f0f2f6;--color-neutral-200:#e4e6ea;--color-neutral-400:#a4a6aa;--color-neutral-500:#7e8084;--color-neutral-600:#64666a;--color-neutral-700:#4b4d51;--color-neutral-800:#36383c;--color-neutral-900:#24262a;--color-neutral-950:#0b0d11;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--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:calc(1.5/1);--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:calc(2.25/1.875);--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;--leading-tight:1.25;--leading-snug:1.375;--radius-3xl:1.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--color-charcoal-50:#f6fafc;--color-charcoal-100:#edf4f8;--color-charcoal-300:#b0c4d1;--color-charcoal-600:#536c7b;--color-charcoal-700:#3a5362;--color-charcoal-800:#284150;--color-charcoal-900:#132c3b;--color-foreground:var(--foreground);--color-muted-foreground:var(--muted-foreground);--color-border:var(--border);--background:#fff;--foreground:var(--color-neutral-950);--card:#fff;--card-foreground:var(--color-neutral-950);--popover:#fff;--popover-foreground:var(--color-neutral-950);--primary:var(--color-green-600);--primary-foreground:#fff;--secondary:var(--color-charcoal-700);--secondary-foreground:var(--color-charcoal-50);--info:var(--color-blue-500);--info-foreground:var(--color-blue-700);--info-background:var(--color-blue-50);--success:var(--color-green-500);--success-foreground:var(--color-green-700);--success-background:var(--color-green-50);--warning:var(--color-yellow-500);--warning-foreground:var(--color-yellow-700);--warning-background:var(--color-yellow-50);--muted:var(--color-neutral-100);--muted-foreground:var(--color-neutral-600);--accent:var(--color-neutral-100);--accent-foreground:var(--color-neutral-900);--destructive:var(--color-red-600);--destructive-foreground:var(--color-red-50);--destructive-background:var(--color-red-50);--border:var(--color-neutral-200);--input:var(--color-neutral-200);--ring:var(--color-neutral-400);--chart-1:var(--color-green-600);--chart-2:var(--color-blue-600);--chart-3:var(--color-purple-700);--chart-4:var(--color-yellow-400);--chart-5:var(--color-pink-500);--radius:.625rem;--sidebar:#fff;--sidebar-foreground:var(--color-neutral-800);--sidebar-primary:var(--color-green-600);--sidebar-primary-foreground:#fff;--sidebar-accent:var(--color-neutral-100);--sidebar-accent-foreground:var(--color-neutral-900);--sidebar-border:var(--color-neutral-200);--sidebar-ring:var(--color-neutral-400);--badge-film-10:#ffffff1a;--badge-film-40:#fff6;--badge-film-60:#fff9;--badge-film-80:#fffc}[data-theme=dark],[data-theme=dark] *{--background:var(--color-neutral-950);--foreground:var(--color-neutral-50);--card:var(--color-neutral-900);--card-foreground:var(--color-neutral-50);--popover:var(--color-neutral-800);--popover-foreground:var(--color-neutral-50);--primary:var(--color-green-500);--primary-foreground:var(--color-neutral-950);--secondary:var(--color-charcoal-300);--secondary-foreground:var(--color-charcoal-900);--info:var(--color-blue-500);--info-foreground:var(--color-blue-400);--info-background:var(--color-blue-950);--success:var(--color-green-500);--success-foreground:var(--color-green-400);--success-background:var(--color-green-950);--warning:var(--color-yellow-500);--warning-foreground:var(--color-yellow-400);--warning-background:var(--color-yellow-950);--muted:var(--color-neutral-800);--muted-foreground:var(--color-neutral-400);--accent:var(--color-neutral-700);--accent-foreground:var(--color-neutral-50);--destructive:var(--color-red-400);--destructive-foreground:var(--color-red-50);--destructive-background:var(--color-red-950);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:var(--color-neutral-500);--chart-1:var(--color-green-500);--chart-2:var(--color-blue-500);--chart-3:var(--color-purple-600);--chart-4:var(--color-yellow-500);--chart-5:var(--color-pink-600);--sidebar:var(--color-neutral-900);--sidebar-foreground:var(--color-neutral-50);--sidebar-primary:var(--color-green-500);--sidebar-primary-foreground:#fff;--sidebar-accent:var(--color-neutral-800);--sidebar-accent-foreground:var(--color-neutral-50);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:var(--color-neutral-600);--badge-film-10:#0a0a0a1a;--badge-film-40:#0a0a0a66;--badge-film-60:#0a0a0a99;--badge-film-80:#0a0a0acc}:root,:host{--page-background:var(--color-neutral-200);--page-surface:var(--background)}@supports (color:color-mix(in lab, red, red)){:root,:host{--page-surface:color-mix(in srgb,var(--background),var(--muted))}}:root,:host{--badge-overlay:#ffffffb3;--navbar-foreground:var(--color-charcoal-800);--navbar-accent:var(--color-charcoal-800);--navbar-accent-foreground:#fff;--navbar-icon-bg:#fff}[data-theme=dark],[data-theme=dark] *{--page-background:var(--color-neutral-900);--badge-overlay:#0a0a0ab3;--navbar-foreground:var(--color-charcoal-100);--navbar-accent:var(--color-charcoal-600);--navbar-accent-foreground:#fff;--navbar-icon-bg:var(--color-charcoal-700)}}@layer base,components;@layer utilities{.\@container\/field-group{container:field-group/inline-size}.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-\[-3\.5px\]{top:-3.5px}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.right-\[-2px\]{right:-2px}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-4{left:calc(var(--spacing)*4)}.z-10{z-index:10}.z-40{z-index:40}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.col-span-6{grid-column:span 6/span 6}.col-span-12{grid-column:span 12/span 12}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 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}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.-mt-1{margin-top:calc(var(--spacing)*-1)}.-mt-2{margin-top:calc(var(--spacing)*-2)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.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-10{margin-top:calc(var(--spacing)*10)}.mt-11{margin-top:calc(var(--spacing)*11)}.-mb-px{margin-bottom:-1px}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.ml-auto{margin-left:auto}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-1\/2{width:50%;height:50%}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-56{height:calc(var(--spacing)*56)}.h-\[\.\.\]{height:..}.h-\[400px\]{height:400px}.h-\[404px\]{height:404px}.h-\[500px\]{height:500px}.h-\[740px\]{height:740px}.h-\[…\]{height:…}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-20{max-height:calc(var(--spacing)*20)}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-\[…\]{max-height:…}.\!min-h-0{min-height:calc(var(--spacing)*0)!important}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-20{min-height:calc(var(--spacing)*20)}.min-h-svh{min-height:100svh}.\!w-auto{width:auto!important}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-10{width:calc(var(--spacing)*10)}.w-18{width:calc(var(--spacing)*18)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-56{width:calc(var(--spacing)*56)}.w-60{width:calc(var(--spacing)*60)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\[238px\]{width:238px}.w-\[368px\]{width:368px}.w-\[373px\]{width:373px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-\[520px\]{width:520px}.w-\[640px\]{width:640px}.w-\[760px\]{width:760px}.w-\[900px\]{width:900px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-0{max-width:calc(var(--spacing)*0)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-52{max-width:calc(var(--spacing)*52)}.max-w-64{max-width:calc(var(--spacing)*64)}.max-w-\[80\%\]{max-width:80%}.max-w-\[280px\]{max-width:280px}.max-w-\[896px\]{max-width:896px}.max-w-\[1372px\]{max-width:1372px}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-10{min-width:calc(var(--spacing)*10)}.min-w-36{min-width:calc(var(--spacing)*36)}.min-w-\[228px\]{min-width:228px}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.shimmer{--_spread:var(--shimmer-spread,calc(3ch + 40px));--_base:currentColor;--_highlight:var(--shimmer-color,oklch(from currentColor l c h/calc(alpha*.2)));background-image:var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)),var(--_base)calc(50% - var(--_spread)),var(--_highlight)calc(50% - var(--_spread)*.5),var(--_highlight)50%,var(--_highlight)calc(50% + var(--_spread)*.5),var(--_base)calc(50% + var(--_spread))))}@supports (color:color-mix(in lab, red, red)){.shimmer{background-image:var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)),var(--_base)calc(50% - var(--_spread)),color-mix(in oklch,var(--_highlight),var(--_base)50%)calc(50% - var(--_spread)*.5),var(--_highlight)50%,color-mix(in oklch,var(--_highlight),var(--_base)50%)calc(50% + var(--_spread)*.5),var(--_base)calc(50% + var(--_spread))))}}.shimmer{background-repeat:no-repeat;background-size:calc(200% + var(--_spread)*2)100%;-webkit-text-fill-color:var(--shimmer-text-fill,transparent);animation:tw-shimmer var(--shimmer-duration,2s)linear infinite;background-position:0 0;-webkit-background-clip:text;background-clip:text}.shimmer:where([data-theme=dark],[data-theme=dark] *){--_highlight:var(--shimmer-color,oklch(from currentColor max(.8,calc(l + .4))c h/calc(alpha + .4)))}.shimmer:where([dir=rtl],[dir=rtl] *){animation-direction:reverse}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[0fr→1fr\]{grid-template-rows:0fr→1fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.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)}.gap-10{gap:calc(var(--spacing)*10)}.gap-16{gap:calc(var(--spacing)*16)}.gap-20{gap:calc(var(--spacing)*20)}: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)))}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-6{column-gap:calc(var(--spacing)*6)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.gap-y-4{row-gap:calc(var(--spacing)*4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[14px\]{border-radius:14px}.rounded-\[18px\]{border-radius:18px}.rounded-\[26px\]{border-radius:26px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-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-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-border{border-color:var(--border)}.border-foreground{border-color:var(--foreground)}.border-green-400{border-color:#37cd8e}.border-neutral-200{border-color:#e4e6ea}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-\[\#00bd82\]{background-color:#00bd82}.bg-accent{background-color:var(--accent)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-600{background-color:var(--color-amber-600)}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-blue-100{background-color:#eaf4ff}.bg-blue-600{background-color:#1e74dc}.bg-blue-800{background-color:#00479c}.bg-border{background-color:var(--border)}.bg-green-200{background-color:#d1ffec}.bg-green-600{background-color:#00884f}.bg-muted,.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-navbar-accent{background-color:var(--navbar-accent)}.bg-page-background{background-color:var(--page-background)}.bg-page-surface{background-color:var(--page-surface)}.bg-pink-100{background-color:#ffecf0}.bg-popover{background-color:var(--popover)}.bg-purple-600{background-color:#6551d6}.bg-rose-600{background-color:var(--color-rose-600)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent{background-color:var(--sidebar-accent)}.bg-teal-600{background-color:var(--color-teal-600)}.bg-transparent{background-color:#0000}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[image\:linear-gradient\(90deg\,var\(--badge-overlay\)\,var\(--badge-overlay\)\)\,linear-gradient\(90deg\,var\(--badge-accent\)\,var\(--badge-accent\)\)\]{background-image:linear-gradient(90deg,var(--badge-overlay),var(--badge-overlay)),linear-gradient(90deg,var(--badge-accent),var(--badge-accent))}.from-background\/10{--tw-gradient-from:var(--background)}@supports (color:color-mix(in lab, red, red)){.from-background\/10{--tw-gradient-from:color-mix(in oklab,var(--background)10%,transparent)}}.from-background\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-background{--tw-gradient-to:var(--background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-border{background-clip:border-box}.bg-clip-padding{background-clip:padding-box}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.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-6{padding-inline:calc(var(--spacing)*6)}.px-16{padding-inline:calc(var(--spacing)*16)}.px-\[9px\]{padding-inline:9px}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-8{padding-top:calc(var(--spacing)*8)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-6{padding-right:calc(var(--spacing)*6)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-0{padding-left:calc(var(--spacing)*0)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-24{padding-left:calc(var(--spacing)*24)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.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-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))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}.leading-9{--tw-leading:calc(var(--spacing)*9);line-height:calc(var(--spacing)*9)}.leading-10{--tw-leading:calc(var(--spacing)*10);line-height:calc(var(--spacing)*10)}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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)}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-blue-50{color:#f5faff}.text-blue-600{color:#1e74dc}.text-blue-700{color:#055bc3}.text-current{color:currentColor}.text-foreground,.text-foreground\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/70{color:color-mix(in oklab,var(--foreground)70%,transparent)}}.text-green-700{color:#006a3d}.text-input{color:var(--input)}.text-muted-foreground{color:var(--muted-foreground)}.text-navbar-accent-foreground{color:var(--navbar-accent-foreground)}.text-navbar-foreground{color:var(--navbar-foreground)}.text-neutral-700{color:#4b4d51}.text-pink-700{color:#ac1f3d}.text-primary{color:var(--primary)}.text-purple-600{color:#6551d6}.text-red-600{color:#db391a}.text-rose-600{color:var(--color-rose-600)}.text-teal-600{color:var(--color-teal-600)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-dashed{text-decoration-style:dashed}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow-\[0px_0px_6px_0px_var\(--color-green-500\)\]{--tw-shadow:0px 0px 6px 0px var(--tw-shadow-color,var(--color-green-500));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0px_0px_8px_0px_var\(--color-green-300\)\]{--tw-shadow:0px 0px 8px 0px var(--tw-shadow-color,var(--color-green-300));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0px_0px_8px_0px_var\(--input\)\]{--tw-shadow:0px 0px 8px 0px var(--tw-shadow-color,var(--input));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)}.ring{--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)}.ring-3{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-ring\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.ring-ring\/50{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.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,)}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[max-width\,opacity\]{transition-property:max-width,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,padding\,\.\.\.\]{transition-property:width,padding,...;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,padding\,color\,background-color\]{transition-property:width,padding,color,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;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-transform{transition-property:transform,translate,scale,rotate;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}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.select-none{-webkit-user-select:none;user-select:none}.\[--badge-accent\:var\(--color-blue-300\)\]{--badge-accent:var(--color-blue-300)}.\[--badge-accent\:var\(--color-blue-500\)\]{--badge-accent:var(--color-blue-500)}.\[--badge-accent\:var\(--color-green-300\)\]{--badge-accent:var(--color-green-300)}.\[--badge-accent\:var\(--color-green-400\)\]{--badge-accent:var(--color-green-400)}.\[--badge-accent\:var\(--color-purple-500\)\]{--badge-accent:var(--color-purple-500)}.\[--badge-accent\:var\(--color-yellow-300\)\]{--badge-accent:var(--color-yellow-300)}.\[--badge-accent\:var\(--color-yellow-400\)\]{--badge-accent:var(--color-yellow-400)}.\[--badge-accent\:…\]{--badge-accent:…}.\[grid-area\:\*\]{grid-area:*}.\[grid-area\:actions\]{grid-area:actions}.\[grid-area\:info\]{grid-area:info}.\[grid-area\:nav\]{grid-area:nav}.\[grid-area\:prefix\]{grid-area:prefix}.\[scrollbar-color\:rgba\(0\,0\,0\,0\.1\)_transparent\]{scrollbar-color:#0000001a transparent}.\[scrollbar-color\:transparent_transparent\]{scrollbar-color:transparent transparent}.\[scrollbar-width\:none\]{scrollbar-width:none}.\[scrollbar-width\:thin\]{scrollbar-width:thin}.running{animation-play-state:running}@media (hover:hover){.group-hover\/button\:max-w-\[12rem\]:is(:where(.group\/button):hover *){max-width:12rem}.group-hover\/button\:opacity-100:is(:where(.group\/button):hover *){opacity:1}.group-hover\/resize\:bg-muted-foreground\/40:is(:where(.group\/resize):hover *){background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.group-hover\/resize\:bg-muted-foreground\/40:is(:where(.group\/resize):hover *){background-color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}}.group-focus-visible\/button\:max-w-\[12rem\]:is(:where(.group\/button):focus-visible *){max-width:12rem}.group-focus-visible\/button\:opacity-100:is(:where(.group\/button):focus-visible *){opacity:1}.group-active\/button\:max-w-\[12rem\]:is(:where(.group\/button):active *){max-width:12rem}.group-active\/button\:opacity-100:is(:where(.group\/button):active *){opacity:1}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-has-\[\[data-slot\=dph-prefix\]\]\/dph\:pl-0:is(:where(.group\/dph):has([data-slot=dph-prefix]) *){padding-left:calc(var(--spacing)*0)}.group-data-\[collapsible\=icon\]\/dbs\:top-\[-3\.5px\]:is(:where(.group\/dbs)[data-collapsible=icon] *){top:-3.5px}.group-data-\[collapsible\=icon\]\/dbs\:right-\[-2px\]:is(:where(.group\/dbs)[data-collapsible=icon] *){right:-2px}.group-data-\[collapsible\=icon\]\/dbs\:hidden:is(:where(.group\/dbs)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\/dbs\:w-auto:is(:where(.group\/dbs)[data-collapsible=icon] *){width:auto}.group-data-\[collapsible\=icon\]\/dbs\:translate-y-0:is(:where(.group\/dbs)[data-collapsible=icon] *){--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[collapsible\=icon\]\/dbs\:items-center:is(:where(.group\/dbs)[data-collapsible=icon] *){align-items:center}.group-data-\[collapsible\=icon\]\/dbs\:justify-center:is(:where(.group\/dbs)[data-collapsible=icon] *){justify-content:center}.peer-data-\[active\=true\]\/dbs-button\:bg-navbar-icon-bg:is(:where(.peer\/dbs-button)[data-active=true]~*){background-color:var(--navbar-icon-bg)}.peer-data-\[active\=true\]\/dbs-button\:text-navbar-foreground:is(:where(.peer\/dbs-button)[data-active=true]~*){color:var(--navbar-foreground)}.placeholder\:text-neutral-500::placeholder{color:#7e8084}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.even\:bg-muted:nth-child(2n){background-color:var(--muted)}@media (hover:hover){.hover\:bg-\[color-mix\(in_srgb\,\#5BF1B2_20\%\,var\(--background\)\)\]:hover{background-color:#5bf1b2}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_srgb\,\#5BF1B2_20\%\,var\(--background\)\)\]:hover{background-color:color-mix(in srgb,#5bf1b2 20%,var(--background))}}.hover\:bg-\[color-mix\(in_srgb\,var\(--color-green-600\)_90\%\,white\)\]:hover{background-color:#1a9461}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_srgb\,var\(--color-green-600\)_90\%\,white\)\]:hover{background-color:color-mix(in srgb,var(--color-green-600)90%,white)}}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-border\/60:hover{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-border\/60:hover{background-color:color-mix(in oklab,var(--border)60%,transparent)}}.hover\:bg-navbar-accent:hover{background-color:var(--navbar-accent)}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-green-700\/80:hover{color:oklab(46.1047% -.101919 .0449371/.8)}.hover\:text-primary:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[0px_0px_6px_0px_var\(--color-green-500\)\,0px_10px_15px_-3px_rgba\(0\,0\,0\,0\.1\)\,0px_4px_6px_-4px_rgba\(0\,0\,0\,0\.1\)\]:hover{--tw-shadow:0px 0px 6px 0px var(--tw-shadow-color,var(--color-green-500)),0px 10px 15px -3px var(--tw-shadow-color,#0000001a),0px 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)}.hover\:shadow-\[0px_0px_8px_0px_var\(--ring\)\]:hover{--tw-shadow:0px 0px 8px 0px var(--tw-shadow-color,var(--ring));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:\[scrollbar-color\:rgba\(0\,0\,0\,0\.15\)_transparent\]:hover{scrollbar-color:#00000026 transparent}}.focus-visible\:bg-border\/60:focus-visible{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-border\/60:focus-visible{background-color:color-mix(in oklab,var(--border)60%,transparent)}}.focus-visible\:shadow-none:focus-visible{--tw-shadow:0 0 #0000;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-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[color-mix\(in_srgb\,var\(--color-green-400\)_40\%\,transparent\)\]:focus-visible{--tw-ring-color:#37cd8e66}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-\[color-mix\(in_srgb\,var\(--color-green-400\)_40\%\,transparent\)\]:focus-visible{--tw-ring-color:color-mix(in srgb,var(--color-green-400)40%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-green-600:active{background-color:#00884f}.active\:shadow-\[0px_0px_4px_0px_var\(--color-green-400\)\]:active{--tw-shadow:0px 0px 4px 0px var(--tw-shadow-color,var(--color-green-400));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:opacity-100:disabled{opacity:1}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-green-400:has([data-slot=input-group-control]:focus-visible){border-color:#37cd8e}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:shadow-\[0px_0px_8px_0px_var\(--ring\)\]:has([data-slot=input-group-control]:focus-visible){--tw-shadow:0px 0px 8px 0px var(--tw-shadow-color,var(--ring));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-0:has([data-slot=input-group-control]: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)}.aria-expanded\:bg-charcoal-800[aria-expanded=true]{background-color:#284150}.aria-expanded\:bg-navbar-accent[aria-expanded=true]{background-color:var(--navbar-accent)}.aria-expanded\:text-navbar-accent-foreground[aria-expanded=true]{color:var(--navbar-accent-foreground)}@media (hover:hover){.aria-expanded\:hover\:bg-navbar-accent[aria-expanded=true]:hover{background-color:var(--navbar-accent)}}.data-pressed\:border-secondary[data-pressed]{border-color:var(--secondary)}.data-pressed\:bg-secondary[data-pressed]{background-color:var(--secondary)}.data-pressed\:text-secondary-foreground[data-pressed]{color:var(--secondary-foreground)}.data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\)[data-collapsible=icon]{width:var(--sidebar-width-icon)}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-chatbot-shimmer{animation:2s linear infinite chatbot-shimmer}}@media (min-width:40rem){.sm\:col-span-6{grid-column:span 6/span 6}}@media (min-width:48rem){.md\:flex{display:flex}.md\:gap-x-6{column-gap:calc(var(--spacing)*6)}.md\:p-6{padding:calc(var(--spacing)*6)}}@media (min-width:64rem){.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:hidden{display:none}.lg\:w-80{width:calc(var(--spacing)*80)}.lg\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,3fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.lg\:flex-row{flex-direction:row}.lg\:gap-8{gap:calc(var(--spacing)*8)}.lg\:gap-x-6{column-gap:calc(var(--spacing)*6)}.lg\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.lg\:pl-8{padding-left:calc(var(--spacing)*8)}}.dark\:bg-accent\/50:where([data-theme=dark],[data-theme=dark] *){background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-accent\/50:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:text-\[\#101820\]:where([data-theme=dark],[data-theme=dark] *){color:#101820}.dark\:disabled\:bg-transparent:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:#0000}.\[\&_\[data-slot\=sidebar-content\]\]\:max-h-\[280px\] [data-slot=sidebar-content]{max-height:280px}.\[\&_\[data-slot\=sidebar-content\]\]\:gap-0 [data-slot=sidebar-content]{gap:calc(var(--spacing)*0)}.\[\&_path\]\:fill-current path{fill:currentColor}.\[\&_svg\]\:size-5 svg{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.\[\&_svg\]\:size-7 svg{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\:\:-webkit-scrollbar\]\:w-1\.5::-webkit-scrollbar{width:calc(var(--spacing)*1.5)}.\[\&\:\:-webkit-scrollbar\]\:w-2::-webkit-scrollbar{width:calc(var(--spacing)*2)}.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb{border-radius:3.40282e38px}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-black\/10::-webkit-scrollbar-thumb{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-black\/10::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-transparent::-webkit-scrollbar-thumb{background-color:#0000}.\[\&\:\:-webkit-scrollbar-track\]\:bg-transparent::-webkit-scrollbar-track{background-color:#0000}.\[\&\:has\(\[data-slot\=dph-tabs\]\)\>\[data-slot\=dph\]\]\:border-b-0:has([data-slot=dph-tabs])>[data-slot=dph]{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\:hover\:\:-webkit-scrollbar-thumb\]\:bg-black\/20:hover::-webkit-scrollbar-thumb{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.\[\&\:hover\:\:-webkit-scrollbar-thumb\]\:bg-black\/20:hover::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.\[\&\>\[data-active\]\]\:border-b-2>[data-active]{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.\[\&\>\[data-slot\=tabs-trigger\]\]\:-mb-px>[data-slot=tabs-trigger]{margin-bottom:-1px}.\[\&\>\[data-slot\=tabs-trigger\]\]\:flex-none>[data-slot=tabs-trigger]{flex:none}.\[\&\>\[data-slot\=tabs-trigger\]\]\:rounded-none>[data-slot=tabs-trigger]{border-radius:0}.\[\&\>\[data-slot\=tabs-trigger\]\]\:border-b-2>[data-slot=tabs-trigger]{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.\[\&\>\[data-slot\=tabs-trigger\]\]\:border-b-transparent>[data-slot=tabs-trigger]{border-bottom-color:#0000}.\[\&\>\[data-slot\=tabs-trigger\]\]\:after\:hidden>[data-slot=tabs-trigger]:after{content:var(--tw-content);display:none}.\[\&\>\[data-slot\=tabs-trigger\]\[data-active\]\]\:border-b-foreground>[data-slot=tabs-trigger][data-active]{border-bottom-color:var(--foreground)}.\[\&\>\[data-slot\=tabs\]\]\:flex>[data-slot=tabs]{display:flex}.\[\&\>\[data-slot\=tabs\]\]\:min-h-0>[data-slot=tabs]{min-height:calc(var(--spacing)*0)}.\[\&\>\[data-slot\=tabs\]\]\:min-w-0>[data-slot=tabs]{min-width:calc(var(--spacing)*0)}.\[\&\>\[data-slot\=tabs\]\]\:flex-1>[data-slot=tabs]{flex:1}.\[\&\>\[data-slot\=tabs\]\]\:flex-col>[data-slot=tabs]{flex-direction:column}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}[data-slot=dph-title-group] .\[\[data-slot\=dph-title-group\]_\&\]\:self-auto{align-self:auto}[data-slot=dph-title-group] .\[\[data-slot\=dph-title-group\]_\&\]\:p-0{padding:calc(var(--spacing)*0)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.ds-emoji-picker .EmojiPickerReact,.ds-emoji-picker .EmojiPickerReact.epr-dark-theme{--epr-emoji-size:24px;--epr-category-navigation-button-size:24px;--epr-header-padding:calc(var(--spacing)*2)calc(var(--spacing)*2);--epr-category-label-height:calc(var(--spacing)*8);--epr-bg-color:var(--popover);--epr-category-label-bg-color:var(--popover);--epr-picker-border-color:var(--border);--epr-search-input-bg-color:var(--muted);--epr-search-input-bg-color-active:var(--muted);--epr-search-border-color:var(--ring);--epr-category-icon-active-color:var(--primary);font-family:var(--font-sans)}.ds-emoji-picker .EmojiPickerReact *{font-family:inherit}.ds-emoji-picker .EmojiPickerReact .epr-emoji-category>.epr-emoji-category-label{font-weight:400}.ds-emoji-picker .EmojiPickerReact .epr-category-nav>button.epr-cat-btn:focus:before{content:none}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}@keyframes badge-glow{0%,to{filter:drop-shadow(0 0 2px var(--badge-glow))}50%{filter:drop-shadow(0 0 5px var(--badge-glow))}}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}@keyframes chatbot-shimmer{0%{background-position:-200%}to{background-position:200%}}[data-slot=dph-grid]{grid-template:"nav nav nav""prefix info actions"/auto 1fr auto;width:100%;display:grid}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes tw-shimmer{0%{background-position:100% 0}to{background-position:0 0}}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--shimmer-image:initial;--shimmer-text-fill:initial;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Fellix",sans-serif;--color-red-50:#fff7f5;--color-red-400:#ff7256;--color-red-600:#db391a;--color-red-950:#420b00;--color-amber-100:oklch(96.2% .059 95.617);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-50:#fffcf3;--color-yellow-300:#ffcd4f;--color-yellow-400:#f3ad26;--color-yellow-500:#d68100;--color-yellow-700:#8f5600;--color-yellow-950:#2f1c00;--color-green-50:#f4fffb;--color-green-300:#5bf1b2;--color-green-400:#37cd8e;--color-green-500:#13a96a;--color-green-600:#00884f;--color-green-700:#006a3d;--color-green-950:#002817;--color-teal-600:oklch(60% .118 184.704);--color-blue-50:#f5faff;--color-blue-300:#98c7ff;--color-blue-400:#70b1ff;--color-blue-500:#388ef6;--color-blue-600:#1e74dc;--color-blue-700:#055bc3;--color-blue-800:#00479c;--color-blue-950:#001f45;--color-purple-500:#8b77fc;--color-purple-600:#6551d6;--color-purple-700:#4c38bd;--color-pink-500:#eb5e7c;--color-pink-600:#cf4260;--color-rose-600:oklch(58.6% .253 17.585);--color-neutral-50:#f8f9fc;--color-neutral-100:#f0f2f6;--color-neutral-200:#e4e6ea;--color-neutral-400:#a4a6aa;--color-neutral-500:#7e8084;--color-neutral-600:#64666a;--color-neutral-700:#4b4d51;--color-neutral-800:#36383c;--color-neutral-900:#24262a;--color-neutral-950:#0b0d11;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--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:calc(1.5/1);--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:calc(2.25/1.875);--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;--leading-tight:1.25;--leading-snug:1.375;--radius-3xl:1.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--color-charcoal-50:#f6fafc;--color-charcoal-100:#edf4f8;--color-charcoal-300:#b0c4d1;--color-charcoal-600:#536c7b;--color-charcoal-700:#3a5362;--color-charcoal-800:#284150;--color-charcoal-900:#132c3b;--color-foreground:var(--foreground);--color-muted-foreground:var(--muted-foreground);--color-border:var(--border);--background:#fff;--foreground:var(--color-neutral-950);--card:#fff;--card-foreground:var(--color-neutral-950);--popover:#fff;--popover-foreground:var(--color-neutral-950);--primary:var(--color-green-600);--primary-foreground:#fff;--secondary:var(--color-charcoal-700);--secondary-foreground:var(--color-charcoal-50);--info:var(--color-blue-500);--info-foreground:var(--color-blue-700);--info-background:var(--color-blue-50);--success:var(--color-green-500);--success-foreground:var(--color-green-700);--success-background:var(--color-green-50);--warning:var(--color-yellow-500);--warning-foreground:var(--color-yellow-700);--warning-background:var(--color-yellow-50);--muted:var(--color-neutral-100);--muted-foreground:var(--color-neutral-600);--accent:var(--color-neutral-100);--accent-foreground:var(--color-neutral-900);--destructive:var(--color-red-600);--destructive-foreground:var(--color-red-50);--destructive-background:var(--color-red-50);--border:var(--color-neutral-200);--input:var(--color-neutral-200);--ring:var(--color-neutral-400);--chart-1:var(--color-green-600);--chart-2:var(--color-blue-600);--chart-3:var(--color-purple-700);--chart-4:var(--color-yellow-400);--chart-5:var(--color-pink-500);--radius:.625rem;--sidebar:#fff;--sidebar-foreground:var(--color-neutral-800);--sidebar-primary:var(--color-green-600);--sidebar-primary-foreground:#fff;--sidebar-accent:var(--color-neutral-100);--sidebar-accent-foreground:var(--color-neutral-900);--sidebar-border:var(--color-neutral-200);--sidebar-ring:var(--color-neutral-400);--badge-film-10:#ffffff1a;--badge-film-40:#fff6;--badge-film-60:#fff9;--badge-film-80:#fffc}[data-theme=dark],[data-theme=dark] *{--background:var(--color-neutral-950);--foreground:var(--color-neutral-50);--card:var(--color-neutral-900);--card-foreground:var(--color-neutral-50);--popover:var(--color-neutral-800);--popover-foreground:var(--color-neutral-50);--primary:var(--color-green-500);--primary-foreground:var(--color-neutral-950);--secondary:var(--color-charcoal-300);--secondary-foreground:var(--color-charcoal-900);--info:var(--color-blue-500);--info-foreground:var(--color-blue-400);--info-background:var(--color-blue-950);--success:var(--color-green-500);--success-foreground:var(--color-green-400);--success-background:var(--color-green-950);--warning:var(--color-yellow-500);--warning-foreground:var(--color-yellow-400);--warning-background:var(--color-yellow-950);--muted:var(--color-neutral-800);--muted-foreground:var(--color-neutral-400);--accent:var(--color-neutral-700);--accent-foreground:var(--color-neutral-50);--destructive:var(--color-red-400);--destructive-foreground:var(--color-red-50);--destructive-background:var(--color-red-950);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:var(--color-neutral-500);--chart-1:var(--color-green-500);--chart-2:var(--color-blue-500);--chart-3:var(--color-purple-600);--chart-4:var(--color-yellow-500);--chart-5:var(--color-pink-600);--sidebar:var(--color-neutral-900);--sidebar-foreground:var(--color-neutral-50);--sidebar-primary:var(--color-green-500);--sidebar-primary-foreground:#fff;--sidebar-accent:var(--color-neutral-800);--sidebar-accent-foreground:var(--color-neutral-50);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:var(--color-neutral-600);--badge-film-10:#0a0a0a1a;--badge-film-40:#0a0a0a66;--badge-film-60:#0a0a0a99;--badge-film-80:#0a0a0acc}:root,:host{--page-background:var(--color-neutral-200);--page-surface:var(--background)}@supports (color:color-mix(in lab, red, red)){:root,:host{--page-surface:color-mix(in srgb,var(--background),var(--muted))}}:root,:host{--badge-overlay:#ffffffb3;--navbar-foreground:var(--color-charcoal-800);--navbar-accent:var(--color-charcoal-800);--navbar-accent-foreground:#fff;--navbar-icon-bg:#fff}[data-theme=dark],[data-theme=dark] *{--page-background:var(--color-neutral-900);--badge-overlay:#0a0a0ab3;--navbar-foreground:var(--color-charcoal-100);--navbar-accent:var(--color-charcoal-600);--navbar-accent-foreground:#fff;--navbar-icon-bg:var(--color-charcoal-700)}}@layer base{*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body,:host,[data-theme=dark]{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/field-group{container:field-group/inline-size}.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-\[-3\.5px\]{top:-3.5px}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.right-\[-2px\]{right:-2px}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-4{left:calc(var(--spacing)*4)}.z-10{z-index:10}.z-40{z-index:40}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.col-span-6{grid-column:span 6/span 6}.col-span-12{grid-column:span 12/span 12}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 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}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.-mt-1{margin-top:calc(var(--spacing)*-1)}.-mt-2{margin-top:calc(var(--spacing)*-2)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.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-10{margin-top:calc(var(--spacing)*10)}.mt-11{margin-top:calc(var(--spacing)*11)}.-mb-px{margin-bottom:-1px}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.ml-auto{margin-left:auto}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-1\/2{width:50%;height:50%}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-56{height:calc(var(--spacing)*56)}.h-\[\.\.\]{height:..}.h-\[400px\]{height:400px}.h-\[404px\]{height:404px}.h-\[500px\]{height:500px}.h-\[740px\]{height:740px}.h-\[…\]{height:…}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-20{max-height:calc(var(--spacing)*20)}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-\[…\]{max-height:…}.\!min-h-0{min-height:calc(var(--spacing)*0)!important}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-20{min-height:calc(var(--spacing)*20)}.min-h-svh{min-height:100svh}.\!w-auto{width:auto!important}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-10{width:calc(var(--spacing)*10)}.w-18{width:calc(var(--spacing)*18)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-56{width:calc(var(--spacing)*56)}.w-60{width:calc(var(--spacing)*60)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\[238px\]{width:238px}.w-\[368px\]{width:368px}.w-\[373px\]{width:373px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-\[520px\]{width:520px}.w-\[640px\]{width:640px}.w-\[760px\]{width:760px}.w-\[900px\]{width:900px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-0{max-width:calc(var(--spacing)*0)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-52{max-width:calc(var(--spacing)*52)}.max-w-64{max-width:calc(var(--spacing)*64)}.max-w-\[80\%\]{max-width:80%}.max-w-\[280px\]{max-width:280px}.max-w-\[896px\]{max-width:896px}.max-w-\[1372px\]{max-width:1372px}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-10{min-width:calc(var(--spacing)*10)}.min-w-36{min-width:calc(var(--spacing)*36)}.min-w-\[228px\]{min-width:228px}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.shimmer{--_spread:var(--shimmer-spread,calc(3ch + 40px));--_base:currentColor;--_highlight:var(--shimmer-color,oklch(from currentColor l c h/calc(alpha*.2)));background-image:var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)),var(--_base)calc(50% - var(--_spread)),var(--_highlight)calc(50% - var(--_spread)*.5),var(--_highlight)50%,var(--_highlight)calc(50% + var(--_spread)*.5),var(--_base)calc(50% + var(--_spread))))}@supports (color:color-mix(in lab, red, red)){.shimmer{background-image:var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)),var(--_base)calc(50% - var(--_spread)),color-mix(in oklch,var(--_highlight),var(--_base)50%)calc(50% - var(--_spread)*.5),var(--_highlight)50%,color-mix(in oklch,var(--_highlight),var(--_base)50%)calc(50% + var(--_spread)*.5),var(--_base)calc(50% + var(--_spread))))}}.shimmer{background-repeat:no-repeat;background-size:calc(200% + var(--_spread)*2)100%;-webkit-text-fill-color:var(--shimmer-text-fill,transparent);animation:tw-shimmer var(--shimmer-duration,2s)linear infinite;background-position:0 0;-webkit-background-clip:text;background-clip:text}.shimmer:where([data-theme=dark],[data-theme=dark] *){--_highlight:var(--shimmer-color,oklch(from currentColor max(.8,calc(l + .4))c h/calc(alpha + .4)))}.shimmer:where([dir=rtl],[dir=rtl] *){animation-direction:reverse}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[0fr→1fr\]{grid-template-rows:0fr→1fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.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)}.gap-10{gap:calc(var(--spacing)*10)}.gap-16{gap:calc(var(--spacing)*16)}.gap-20{gap:calc(var(--spacing)*20)}: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)))}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-6{column-gap:calc(var(--spacing)*6)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.gap-y-4{row-gap:calc(var(--spacing)*4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[14px\]{border-radius:14px}.rounded-\[18px\]{border-radius:18px}.rounded-\[26px\]{border-radius:26px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-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-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-border{border-color:var(--border)}.border-foreground{border-color:var(--foreground)}.border-green-400{border-color:#37cd8e}.border-neutral-200{border-color:#e4e6ea}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-\[\#00bd82\]{background-color:#00bd82}.bg-accent{background-color:var(--accent)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-600{background-color:var(--color-amber-600)}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-blue-100{background-color:#eaf4ff}.bg-blue-600{background-color:#1e74dc}.bg-blue-800{background-color:#00479c}.bg-border{background-color:var(--border)}.bg-green-200{background-color:#d1ffec}.bg-green-600{background-color:#00884f}.bg-muted,.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-navbar-accent{background-color:var(--navbar-accent)}.bg-page-background{background-color:var(--page-background)}.bg-page-surface{background-color:var(--page-surface)}.bg-pink-100{background-color:#ffecf0}.bg-popover{background-color:var(--popover)}.bg-purple-600{background-color:#6551d6}.bg-rose-600{background-color:var(--color-rose-600)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent{background-color:var(--sidebar-accent)}.bg-teal-600{background-color:var(--color-teal-600)}.bg-transparent{background-color:#0000}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[image\:linear-gradient\(90deg\,var\(--badge-overlay\)\,var\(--badge-overlay\)\)\,linear-gradient\(90deg\,var\(--badge-accent\)\,var\(--badge-accent\)\)\]{background-image:linear-gradient(90deg,var(--badge-overlay),var(--badge-overlay)),linear-gradient(90deg,var(--badge-accent),var(--badge-accent))}.from-background\/10{--tw-gradient-from:var(--background)}@supports (color:color-mix(in lab, red, red)){.from-background\/10{--tw-gradient-from:color-mix(in oklab,var(--background)10%,transparent)}}.from-background\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-background{--tw-gradient-to:var(--background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-border{background-clip:border-box}.bg-clip-padding{background-clip:padding-box}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.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-6{padding-inline:calc(var(--spacing)*6)}.px-16{padding-inline:calc(var(--spacing)*16)}.px-\[9px\]{padding-inline:9px}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-8{padding-top:calc(var(--spacing)*8)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-6{padding-right:calc(var(--spacing)*6)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-0{padding-left:calc(var(--spacing)*0)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-24{padding-left:calc(var(--spacing)*24)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.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-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))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}.leading-9{--tw-leading:calc(var(--spacing)*9);line-height:calc(var(--spacing)*9)}.leading-10{--tw-leading:calc(var(--spacing)*10);line-height:calc(var(--spacing)*10)}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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)}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-blue-50{color:#f5faff}.text-blue-600{color:#1e74dc}.text-blue-700{color:#055bc3}.text-current{color:currentColor}.text-foreground,.text-foreground\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/70{color:color-mix(in oklab,var(--foreground)70%,transparent)}}.text-green-700{color:#006a3d}.text-input{color:var(--input)}.text-muted-foreground{color:var(--muted-foreground)}.text-navbar-accent-foreground{color:var(--navbar-accent-foreground)}.text-navbar-foreground{color:var(--navbar-foreground)}.text-neutral-700{color:#4b4d51}.text-pink-700{color:#ac1f3d}.text-primary{color:var(--primary)}.text-purple-600{color:#6551d6}.text-red-600{color:#db391a}.text-rose-600{color:var(--color-rose-600)}.text-teal-600{color:var(--color-teal-600)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-dashed{text-decoration-style:dashed}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow-\[0px_0px_6px_0px_var\(--color-green-500\)\]{--tw-shadow:0px 0px 6px 0px var(--tw-shadow-color,var(--color-green-500));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0px_0px_8px_0px_var\(--color-green-300\)\]{--tw-shadow:0px 0px 8px 0px var(--tw-shadow-color,var(--color-green-300));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0px_0px_8px_0px_var\(--input\)\]{--tw-shadow:0px 0px 8px 0px var(--tw-shadow-color,var(--input));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)}.ring{--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)}.ring-3{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-ring\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.ring-ring\/50{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.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,)}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[max-width\,opacity\]{transition-property:max-width,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,padding\,\.\.\.\]{transition-property:width,padding,...;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,padding\,color\,background-color\]{transition-property:width,padding,color,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;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-transform{transition-property:transform,translate,scale,rotate;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}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.select-none{-webkit-user-select:none;user-select:none}.\[--badge-accent\:var\(--color-blue-300\)\]{--badge-accent:var(--color-blue-300)}.\[--badge-accent\:var\(--color-blue-500\)\]{--badge-accent:var(--color-blue-500)}.\[--badge-accent\:var\(--color-green-300\)\]{--badge-accent:var(--color-green-300)}.\[--badge-accent\:var\(--color-green-400\)\]{--badge-accent:var(--color-green-400)}.\[--badge-accent\:var\(--color-purple-500\)\]{--badge-accent:var(--color-purple-500)}.\[--badge-accent\:var\(--color-yellow-300\)\]{--badge-accent:var(--color-yellow-300)}.\[--badge-accent\:var\(--color-yellow-400\)\]{--badge-accent:var(--color-yellow-400)}.\[--badge-accent\:…\]{--badge-accent:…}.\[grid-area\:\*\]{grid-area:*}.\[grid-area\:actions\]{grid-area:actions}.\[grid-area\:info\]{grid-area:info}.\[grid-area\:nav\]{grid-area:nav}.\[grid-area\:prefix\]{grid-area:prefix}.\[scrollbar-color\:rgba\(0\,0\,0\,0\.1\)_transparent\]{scrollbar-color:#0000001a transparent}.\[scrollbar-color\:transparent_transparent\]{scrollbar-color:transparent transparent}.\[scrollbar-width\:none\]{scrollbar-width:none}.\[scrollbar-width\:thin\]{scrollbar-width:thin}.running{animation-play-state:running}@media (hover:hover){.group-hover\/button\:max-w-\[12rem\]:is(:where(.group\/button):hover *){max-width:12rem}.group-hover\/button\:opacity-100:is(:where(.group\/button):hover *){opacity:1}.group-hover\/resize\:bg-muted-foreground\/40:is(:where(.group\/resize):hover *){background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.group-hover\/resize\:bg-muted-foreground\/40:is(:where(.group\/resize):hover *){background-color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}}.group-focus-visible\/button\:max-w-\[12rem\]:is(:where(.group\/button):focus-visible *){max-width:12rem}.group-focus-visible\/button\:opacity-100:is(:where(.group\/button):focus-visible *){opacity:1}.group-active\/button\:max-w-\[12rem\]:is(:where(.group\/button):active *){max-width:12rem}.group-active\/button\:opacity-100:is(:where(.group\/button):active *){opacity:1}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-has-\[\[data-slot\=dph-prefix\]\]\/dph\:pl-0:is(:where(.group\/dph):has([data-slot=dph-prefix]) *){padding-left:calc(var(--spacing)*0)}.group-data-\[collapsible\=icon\]\/dbs\:top-\[-3\.5px\]:is(:where(.group\/dbs)[data-collapsible=icon] *){top:-3.5px}.group-data-\[collapsible\=icon\]\/dbs\:right-\[-2px\]:is(:where(.group\/dbs)[data-collapsible=icon] *){right:-2px}.group-data-\[collapsible\=icon\]\/dbs\:hidden:is(:where(.group\/dbs)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\/dbs\:w-auto:is(:where(.group\/dbs)[data-collapsible=icon] *){width:auto}.group-data-\[collapsible\=icon\]\/dbs\:translate-y-0:is(:where(.group\/dbs)[data-collapsible=icon] *){--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[collapsible\=icon\]\/dbs\:items-center:is(:where(.group\/dbs)[data-collapsible=icon] *){align-items:center}.group-data-\[collapsible\=icon\]\/dbs\:justify-center:is(:where(.group\/dbs)[data-collapsible=icon] *){justify-content:center}.peer-data-\[active\=true\]\/dbs-button\:bg-navbar-icon-bg:is(:where(.peer\/dbs-button)[data-active=true]~*){background-color:var(--navbar-icon-bg)}.peer-data-\[active\=true\]\/dbs-button\:text-navbar-foreground:is(:where(.peer\/dbs-button)[data-active=true]~*){color:var(--navbar-foreground)}.placeholder\:text-neutral-500::placeholder{color:#7e8084}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.even\:bg-muted:nth-child(2n){background-color:var(--muted)}@media (hover:hover){.hover\:bg-\[color-mix\(in_srgb\,\#5BF1B2_20\%\,var\(--background\)\)\]:hover{background-color:#5bf1b2}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_srgb\,\#5BF1B2_20\%\,var\(--background\)\)\]:hover{background-color:color-mix(in srgb,#5bf1b2 20%,var(--background))}}.hover\:bg-\[color-mix\(in_srgb\,var\(--color-green-600\)_90\%\,white\)\]:hover{background-color:#1a9461}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_srgb\,var\(--color-green-600\)_90\%\,white\)\]:hover{background-color:color-mix(in srgb,var(--color-green-600)90%,white)}}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-border\/60:hover{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-border\/60:hover{background-color:color-mix(in oklab,var(--border)60%,transparent)}}.hover\:bg-navbar-accent:hover{background-color:var(--navbar-accent)}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-green-700\/80:hover{color:oklab(46.1047% -.101919 .0449371/.8)}.hover\:text-primary:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[0px_0px_6px_0px_var\(--color-green-500\)\,0px_10px_15px_-3px_rgba\(0\,0\,0\,0\.1\)\,0px_4px_6px_-4px_rgba\(0\,0\,0\,0\.1\)\]:hover{--tw-shadow:0px 0px 6px 0px var(--tw-shadow-color,var(--color-green-500)),0px 10px 15px -3px var(--tw-shadow-color,#0000001a),0px 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)}.hover\:shadow-\[0px_0px_8px_0px_var\(--ring\)\]:hover{--tw-shadow:0px 0px 8px 0px var(--tw-shadow-color,var(--ring));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:\[scrollbar-color\:rgba\(0\,0\,0\,0\.15\)_transparent\]:hover{scrollbar-color:#00000026 transparent}}.focus-visible\:bg-border\/60:focus-visible{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-border\/60:focus-visible{background-color:color-mix(in oklab,var(--border)60%,transparent)}}.focus-visible\:shadow-none:focus-visible{--tw-shadow:0 0 #0000;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-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[color-mix\(in_srgb\,var\(--color-green-400\)_40\%\,transparent\)\]:focus-visible{--tw-ring-color:#37cd8e66}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-\[color-mix\(in_srgb\,var\(--color-green-400\)_40\%\,transparent\)\]:focus-visible{--tw-ring-color:color-mix(in srgb,var(--color-green-400)40%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-green-600:active{background-color:#00884f}.active\:shadow-\[0px_0px_4px_0px_var\(--color-green-400\)\]:active{--tw-shadow:0px 0px 4px 0px var(--tw-shadow-color,var(--color-green-400));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:opacity-100:disabled{opacity:1}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-green-400:has([data-slot=input-group-control]:focus-visible){border-color:#37cd8e}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:shadow-\[0px_0px_8px_0px_var\(--ring\)\]:has([data-slot=input-group-control]:focus-visible){--tw-shadow:0px 0px 8px 0px var(--tw-shadow-color,var(--ring));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-0:has([data-slot=input-group-control]: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)}.aria-expanded\:bg-charcoal-800[aria-expanded=true]{background-color:#284150}.aria-expanded\:bg-navbar-accent[aria-expanded=true]{background-color:var(--navbar-accent)}.aria-expanded\:text-navbar-accent-foreground[aria-expanded=true]{color:var(--navbar-accent-foreground)}@media (hover:hover){.aria-expanded\:hover\:bg-navbar-accent[aria-expanded=true]:hover{background-color:var(--navbar-accent)}}.data-pressed\:border-secondary[data-pressed]{border-color:var(--secondary)}.data-pressed\:bg-secondary[data-pressed]{background-color:var(--secondary)}.data-pressed\:text-secondary-foreground[data-pressed]{color:var(--secondary-foreground)}.data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\)[data-collapsible=icon]{width:var(--sidebar-width-icon)}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-chatbot-shimmer{animation:2s linear infinite chatbot-shimmer}}@media (min-width:40rem){.sm\:col-span-6{grid-column:span 6/span 6}}@media (min-width:48rem){.md\:flex{display:flex}.md\:gap-x-6{column-gap:calc(var(--spacing)*6)}.md\:p-6{padding:calc(var(--spacing)*6)}}@media (min-width:64rem){.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:hidden{display:none}.lg\:w-80{width:calc(var(--spacing)*80)}.lg\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,3fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.lg\:flex-row{flex-direction:row}.lg\:gap-8{gap:calc(var(--spacing)*8)}.lg\:gap-x-6{column-gap:calc(var(--spacing)*6)}.lg\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.lg\:pl-8{padding-left:calc(var(--spacing)*8)}}.dark\:bg-accent\/50:where([data-theme=dark],[data-theme=dark] *){background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-accent\/50:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:text-\[\#101820\]:where([data-theme=dark],[data-theme=dark] *){color:#101820}.dark\:disabled\:bg-transparent:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:#0000}.\[\&_\[data-slot\=sidebar-content\]\]\:max-h-\[280px\] [data-slot=sidebar-content]{max-height:280px}.\[\&_\[data-slot\=sidebar-content\]\]\:gap-0 [data-slot=sidebar-content]{gap:calc(var(--spacing)*0)}.\[\&_path\]\:fill-current path{fill:currentColor}.\[\&_svg\]\:size-5 svg{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.\[\&_svg\]\:size-7 svg{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\:\:-webkit-scrollbar\]\:w-1\.5::-webkit-scrollbar{width:calc(var(--spacing)*1.5)}.\[\&\:\:-webkit-scrollbar\]\:w-2::-webkit-scrollbar{width:calc(var(--spacing)*2)}.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb{border-radius:3.40282e38px}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-black\/10::-webkit-scrollbar-thumb{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-black\/10::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-transparent::-webkit-scrollbar-thumb{background-color:#0000}.\[\&\:\:-webkit-scrollbar-track\]\:bg-transparent::-webkit-scrollbar-track{background-color:#0000}.\[\&\:has\(\[data-slot\=dph-tabs\]\)\>\[data-slot\=dph\]\]\:border-b-0:has([data-slot=dph-tabs])>[data-slot=dph]{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\:hover\:\:-webkit-scrollbar-thumb\]\:bg-black\/20:hover::-webkit-scrollbar-thumb{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.\[\&\:hover\:\:-webkit-scrollbar-thumb\]\:bg-black\/20:hover::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.\[\&\>\[data-active\]\]\:border-b-2>[data-active]{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.\[\&\>\[data-slot\=tabs-trigger\]\]\:-mb-px>[data-slot=tabs-trigger]{margin-bottom:-1px}.\[\&\>\[data-slot\=tabs-trigger\]\]\:flex-none>[data-slot=tabs-trigger]{flex:none}.\[\&\>\[data-slot\=tabs-trigger\]\]\:rounded-none>[data-slot=tabs-trigger]{border-radius:0}.\[\&\>\[data-slot\=tabs-trigger\]\]\:border-b-2>[data-slot=tabs-trigger]{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.\[\&\>\[data-slot\=tabs-trigger\]\]\:border-b-transparent>[data-slot=tabs-trigger]{border-bottom-color:#0000}.\[\&\>\[data-slot\=tabs-trigger\]\]\:after\:hidden>[data-slot=tabs-trigger]:after{content:var(--tw-content);display:none}.\[\&\>\[data-slot\=tabs-trigger\]\[data-active\]\]\:border-b-foreground>[data-slot=tabs-trigger][data-active]{border-bottom-color:var(--foreground)}.\[\&\>\[data-slot\=tabs\]\]\:flex>[data-slot=tabs]{display:flex}.\[\&\>\[data-slot\=tabs\]\]\:min-h-0>[data-slot=tabs]{min-height:calc(var(--spacing)*0)}.\[\&\>\[data-slot\=tabs\]\]\:min-w-0>[data-slot=tabs]{min-width:calc(var(--spacing)*0)}.\[\&\>\[data-slot\=tabs\]\]\:flex-1>[data-slot=tabs]{flex:1}.\[\&\>\[data-slot\=tabs\]\]\:flex-col>[data-slot=tabs]{flex-direction:column}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}[data-slot=dph-title-group] .\[\[data-slot\=dph-title-group\]_\&\]\:self-auto{align-self:auto}[data-slot=dph-title-group] .\[\[data-slot\=dph-title-group\]_\&\]\:p-0{padding:calc(var(--spacing)*0)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.ds-emoji-picker .EmojiPickerReact,.ds-emoji-picker .EmojiPickerReact.epr-dark-theme{--epr-emoji-size:24px;--epr-category-navigation-button-size:24px;--epr-header-padding:calc(var(--spacing)*2)calc(var(--spacing)*2);--epr-category-label-height:calc(var(--spacing)*8);--epr-bg-color:var(--popover);--epr-category-label-bg-color:var(--popover);--epr-picker-border-color:var(--border);--epr-search-input-bg-color:var(--muted);--epr-search-input-bg-color-active:var(--muted);--epr-search-border-color:var(--ring);--epr-category-icon-active-color:var(--primary);font-family:var(--font-sans)}.ds-emoji-picker .EmojiPickerReact *{font-family:inherit}.ds-emoji-picker .EmojiPickerReact .epr-emoji-category>.epr-emoji-category-label{font-weight:400}.ds-emoji-picker .EmojiPickerReact .epr-category-nav>button.epr-cat-btn:focus:before{content:none}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}@keyframes badge-glow{0%,to{filter:drop-shadow(0 0 2px var(--badge-glow))}50%{filter:drop-shadow(0 0 5px var(--badge-glow))}}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@keyframes chatbot-shimmer{0%{background-position:-200%}to{background-position:200%}}[data-slot=dph-grid]{grid-template:"nav nav nav""prefix info actions"/auto 1fr auto;width:100%;display:grid}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes tw-shimmer{0%{background-position:100% 0}to{background-position:0 0}}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { Badge, Button, CounterBadge, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, SidebarProvider, TabsList, useSidebar } from "@aircall/ds";
2
2
  import * as React$1 from "react";
3
- import * as react_jsx_runtime0 from "react/jsx-runtime";
4
3
  import { VariantProps } from "class-variance-authority";
5
4
  import * as _tanstack_react_form0 from "@tanstack/react-form";
6
5
  import { DeepKeys, DeepKeysOfType, DeepValue, FieldAsyncValidateOrFn, FieldListeners, FieldValidateOrFn, FieldValidators } from "@tanstack/react-form";
@@ -119,7 +118,7 @@ declare function ChatbotResponseBlock({
119
118
  sources,
120
119
  onFeedback,
121
120
  className
122
- }: ChatbotResponseBlockProps): react_jsx_runtime0.JSX.Element;
121
+ }: ChatbotResponseBlockProps): React$1.JSX.Element;
123
122
  //#endregion
124
123
  //#region src/components/chatbot-response-loading.d.ts
125
124
  interface ChatbotResponseLoadingProps {
@@ -146,7 +145,7 @@ interface ChatbotResponseLoadingProps {
146
145
  declare function ChatbotResponseLoading({
147
146
  text,
148
147
  className
149
- }: ChatbotResponseLoadingProps): react_jsx_runtime0.JSX.Element;
148
+ }: ChatbotResponseLoadingProps): React$1.JSX.Element;
150
149
  //#endregion
151
150
  //#region src/components/chatbot-page.d.ts
152
151
  declare const ChatbotPage: React$1.ForwardRefExoticComponent<ChatbotPageProps & React$1.RefAttributes<HTMLDivElement>>;
@@ -322,7 +321,7 @@ declare function ChatbotPanelHeader({
322
321
  onClose,
323
322
  className,
324
323
  ...props
325
- }: ChatbotPanelHeaderProps): react_jsx_runtime0.JSX.Element;
324
+ }: ChatbotPanelHeaderProps): React$1.JSX.Element;
326
325
  //#endregion
327
326
  //#region src/components/chatbot-sidebar.d.ts
328
327
  interface ChatbotSidebarConversation {
@@ -425,7 +424,7 @@ declare function ChatbotInput({
425
424
  activeConversationId,
426
425
  onSelectConversation,
427
426
  ...textareaProps
428
- }: ChatbotInputProps): react_jsx_runtime0.JSX.Element;
427
+ }: ChatbotInputProps): React$1.JSX.Element;
429
428
  //#endregion
430
429
  //#region src/components/copy-button.d.ts
431
430
  declare const CopyButton: React$1.ForwardRefExoticComponent<Omit<CopyButtonProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
@@ -461,7 +460,7 @@ type ChatbotPanelSuggestionProps = Omit<React.ComponentProps<typeof Button>, 'va
461
460
  declare function ChatbotPanelSuggestion({
462
461
  className,
463
462
  ...props
464
- }: ChatbotPanelSuggestionProps): react_jsx_runtime0.JSX.Element;
463
+ }: ChatbotPanelSuggestionProps): React$1.JSX.Element;
465
464
  //#endregion
466
465
  //#region src/components/chatbot-user-message.d.ts
467
466
  type ChatbotUserMessageProps = React.ComponentProps<'div'>;
@@ -469,7 +468,7 @@ declare function ChatbotUserMessage({
469
468
  className,
470
469
  children,
471
470
  ...props
472
- }: ChatbotUserMessageProps): react_jsx_runtime0.JSX.Element;
471
+ }: ChatbotUserMessageProps): React$1.JSX.Element;
473
472
  //#endregion
474
473
  //#region src/components/dashboard-standalone-page.d.ts
475
474
  declare const DashboardStandalonePage: React$1.ForwardRefExoticComponent<Omit<DashboardStandalonePageProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
@@ -688,6 +687,35 @@ declare namespace ScoreBadge {
688
687
  */
689
688
  declare const ScoreBadge: React$1.ForwardRefExoticComponent<Omit<ScoreBadgeProps, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
690
689
  //#endregion
690
+ //#region src/components/sentiment-badge.d.ts
691
+ /**
692
+ * The three conversation sentiments a {@link SentimentBadge} can display. Each
693
+ * maps to a fixed DS `Badge` color+tone, a lucide emoticon, and a localized
694
+ * default label — none are consumer-customisable (override only the label, via
695
+ * `children`).
696
+ */
697
+ type Sentiment = 'positive' | 'negative' | 'neutral';
698
+ type SentimentBadgeProps = Omit<React$1.ComponentProps<typeof Badge>, 'color' | 'tone'> & {
699
+ /** Which sentiment the pill represents — sets its color, emoticon, and default label. */sentiment: Sentiment;
700
+ };
701
+ declare namespace SentimentBadge {
702
+ type Props = SentimentBadgeProps;
703
+ }
704
+ /**
705
+ * A sentiment pill for conversation mood (positive / negative / neutral).
706
+ * Composes DS `Badge`: the `sentiment` picks the color+tone and leading
707
+ * emoticon, and the label defaults to a localized word for that sentiment.
708
+ * Pass `children` to override the label (the icon and color stay). The icon is
709
+ * decorative (`aria-hidden`) — the text label is the accessible name.
710
+ *
711
+ * @example
712
+ * ```tsx
713
+ * <SentimentBadge sentiment="positive" /> // 🙂 Positive
714
+ * <SentimentBadge sentiment="negative">Angry</SentimentBadge> // 🙁 Angry
715
+ * ```
716
+ */
717
+ declare const SentimentBadge: React$1.ForwardRefExoticComponent<Omit<SentimentBadgeProps, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
718
+ //#endregion
691
719
  //#region src/components/chatbot-panel-trigger.d.ts
692
720
  type ChatbotPanelTriggerProps = Omit<React$1.ComponentProps<typeof Button>, 'variant' | 'size' | 'disabled'> & {
693
721
  /** The copy revealed when the trigger expands (hover / focus / pressed). */children?: React$1.ReactNode; /** Leading icon. Defaults to the Aircall logo mark. */
@@ -706,7 +734,7 @@ declare function ChatbotPanelTrigger({
706
734
  icon,
707
735
  className,
708
736
  ...buttonProps
709
- }: ChatbotPanelTriggerProps): react_jsx_runtime0.JSX.Element;
737
+ }: ChatbotPanelTriggerProps): React$1.JSX.Element;
710
738
  //#endregion
711
739
  //#region src/components/chatbot-expand-suggestion.d.ts
712
740
  interface ChatbotExpandSuggestionCategory {
@@ -812,7 +840,7 @@ declare function ChatbotPanel({
812
840
  style,
813
841
  children,
814
842
  ...props
815
- }: ChatbotPanelProps): react_jsx_runtime0.JSX.Element;
843
+ }: ChatbotPanelProps): React$1.JSX.Element;
816
844
  //#endregion
817
845
  //#region src/hooks/use-copy-to-clipboard.d.ts
818
846
  interface UseCopyToClipboardOptions {
@@ -849,7 +877,7 @@ declare function CardSaveBar({
849
877
  submitLabel,
850
878
  savingLabel,
851
879
  resetLabel
852
- }: CardSaveBarProps): react_jsx_runtime0.JSX.Element;
880
+ }: CardSaveBarProps): React$1.JSX.Element;
853
881
  //#endregion
854
882
  //#region src/components/submit-button.d.ts
855
883
  /**
@@ -873,7 +901,7 @@ declare function SubmitButton({
873
901
  loadingLabel,
874
902
  className,
875
903
  ...buttonProps
876
- }: SubmitButtonProps): react_jsx_runtime0.JSX.Element;
904
+ }: SubmitButtonProps): React$1.JSX.Element;
877
905
  //#endregion
878
906
  //#region src/form/use-form.d.ts
879
907
  /**
@@ -1535,7 +1563,7 @@ declare function FormFieldShell({
1535
1563
  orientation,
1536
1564
  controlPosition,
1537
1565
  controlVariant
1538
- }: FormFieldShellProps): react_jsx_runtime0.JSX.Element;
1566
+ }: FormFieldShellProps): React$1.JSX.Element;
1539
1567
  /**
1540
1568
  * Precisely-typed view of the bound field handed to a wrapper's `children`.
1541
1569
  * `TData` is `DeepValue<TFormData, TName>` — so `value` and `handleChange` are the field's
@@ -1659,7 +1687,7 @@ type FormFieldBaseProps<TData, TControl> = {
1659
1687
  * Field-name/value/validator typing is enforced at each wrapper's boundary; this just renders
1660
1688
  * the AppField + shared shell. `TData`/`TControl` carry the precise field + bundle shapes through.
1661
1689
  */
1662
- declare function FormFieldBase<TData, TControl>(props: FormFieldBaseProps<TData, TControl>): react_jsx_runtime0.JSX.Element;
1690
+ declare function FormFieldBase<TData, TControl>(props: FormFieldBaseProps<TData, TControl>): React$1.JSX.Element;
1663
1691
  //#endregion
1664
1692
  //#region src/components/form-select-field.d.ts
1665
1693
  /**
@@ -1705,7 +1733,7 @@ type FormSelectFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<
1705
1733
  * )}
1706
1734
  * </FormSelectField>
1707
1735
  */
1708
- declare function FormSelectField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormSelectFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1736
+ declare function FormSelectField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormSelectFieldProps<TForm, TName>): React$1.JSX.Element;
1709
1737
  //#endregion
1710
1738
  //#region src/components/form-input-field.d.ts
1711
1739
  /**
@@ -1739,7 +1767,7 @@ type FormInputFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<T
1739
1767
  * {(field, { inputProps }) => <Input {...inputProps} type="email" placeholder="you@co.com" />}
1740
1768
  * </FormInputField>
1741
1769
  */
1742
- declare function FormInputField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormInputFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1770
+ declare function FormInputField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormInputFieldProps<TForm, TName>): React$1.JSX.Element;
1743
1771
  //#endregion
1744
1772
  //#region src/components/form-combobox-field.d.ts
1745
1773
  /**
@@ -1786,7 +1814,7 @@ type FormComboboxFieldProps<TForm extends BoundForm, TName extends DeepKeysOfTyp
1786
1814
  * )}
1787
1815
  * </FormComboboxField>
1788
1816
  */
1789
- declare function FormComboboxField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormComboboxFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1817
+ declare function FormComboboxField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormComboboxFieldProps<TForm, TName>): React$1.JSX.Element;
1790
1818
  //#endregion
1791
1819
  //#region src/components/form-multi-combobox-field.d.ts
1792
1820
  /**
@@ -1827,7 +1855,7 @@ type FormMultiComboboxFieldProps<TForm extends BoundForm, TName extends DeepKeys
1827
1855
  * )}
1828
1856
  * </FormMultiComboboxField>
1829
1857
  */
1830
- declare function FormMultiComboboxField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string[]>>(props: FormMultiComboboxFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1858
+ declare function FormMultiComboboxField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string[]>>(props: FormMultiComboboxFieldProps<TForm, TName>): React$1.JSX.Element;
1831
1859
  //#endregion
1832
1860
  //#region src/components/form-array-field.d.ts
1833
1861
  /**
@@ -1901,7 +1929,7 @@ type FormArrayFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<T
1901
1929
  * )}
1902
1930
  * </FormArrayField>
1903
1931
  */
1904
- declare function FormArrayField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], unknown[]>>(props: FormArrayFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1932
+ declare function FormArrayField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], unknown[]>>(props: FormArrayFieldProps<TForm, TName>): React$1.JSX.Element;
1905
1933
  //#endregion
1906
1934
  //#region src/components/form-textarea-field.d.ts
1907
1935
  /**
@@ -1935,7 +1963,7 @@ type FormTextareaFieldProps<TForm extends BoundForm, TName extends DeepKeysOfTyp
1935
1963
  * {(field, { textareaProps }) => <Textarea {...textareaProps} rows={4} />}
1936
1964
  * </FormTextareaField>
1937
1965
  */
1938
- declare function FormTextareaField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormTextareaFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1966
+ declare function FormTextareaField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormTextareaFieldProps<TForm, TName>): React$1.JSX.Element;
1939
1967
  //#endregion
1940
1968
  //#region src/components/form-radio-group-field.d.ts
1941
1969
  /**
@@ -1976,7 +2004,7 @@ type FormRadioGroupFieldProps<TForm extends BoundForm, TName extends DeepKeysOfT
1976
2004
  * )}
1977
2005
  * </FormRadioGroupField>
1978
2006
  */
1979
- declare function FormRadioGroupField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormRadioGroupFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
2007
+ declare function FormRadioGroupField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormRadioGroupFieldProps<TForm, TName>): React$1.JSX.Element;
1980
2008
  //#endregion
1981
2009
  //#region src/components/form-otp-field.d.ts
1982
2010
  /**
@@ -2011,7 +2039,7 @@ type FormOTPFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TFo
2011
2039
  * {(field, { otpProps }) => <InputOTP maxLength={6} {...otpProps}>{slots}</InputOTP>}
2012
2040
  * </FormOTPField>
2013
2041
  */
2014
- declare function FormOTPField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormOTPFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
2042
+ declare function FormOTPField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormOTPFieldProps<TForm, TName>): React$1.JSX.Element;
2015
2043
  //#endregion
2016
2044
  //#region src/components/form-switch-field.d.ts
2017
2045
  /**
@@ -2048,7 +2076,7 @@ type FormSwitchFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<
2048
2076
  * {(field, { switchProps }) => <Switch {...switchProps} />}
2049
2077
  * </FormSwitchField>
2050
2078
  */
2051
- declare function FormSwitchField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], boolean>>(props: FormSwitchFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
2079
+ declare function FormSwitchField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], boolean>>(props: FormSwitchFieldProps<TForm, TName>): React$1.JSX.Element;
2052
2080
  //#endregion
2053
2081
  //#region src/components/form-numeric-field.d.ts
2054
2082
  /**
@@ -2082,7 +2110,7 @@ type FormNumericFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType
2082
2110
  * {(field, { numericProps }) => <NumericInput {...numericProps} />}
2083
2111
  * </FormNumericField>
2084
2112
  */
2085
- declare function FormNumericField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], number>>(props: FormNumericFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
2113
+ declare function FormNumericField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], number>>(props: FormNumericFieldProps<TForm, TName>): React$1.JSX.Element;
2086
2114
  //#endregion
2087
2115
  //#region src/components/form-slider-field.d.ts
2088
2116
  /**
@@ -2122,7 +2150,7 @@ type FormSliderFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<
2122
2150
  * {(field, { sliderProps }) => <Slider min={0} max={100} step={1} {...sliderProps} />}
2123
2151
  * </FormSliderField>
2124
2152
  */
2125
- declare function FormSliderField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], number>>(props: FormSliderFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
2153
+ declare function FormSliderField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], number>>(props: FormSliderFieldProps<TForm, TName>): React$1.JSX.Element;
2126
2154
  //#endregion
2127
2155
  //#region src/components/form-toggle-group-field.d.ts
2128
2156
  /**
@@ -2163,7 +2191,7 @@ type FormToggleGroupFieldProps<TForm extends BoundForm, TName extends DeepKeysOf
2163
2191
  * )}
2164
2192
  * </FormToggleGroupField>
2165
2193
  */
2166
- declare function FormToggleGroupField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string | null>>(props: FormToggleGroupFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
2194
+ declare function FormToggleGroupField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string | null>>(props: FormToggleGroupFieldProps<TForm, TName>): React$1.JSX.Element;
2167
2195
  //#endregion
2168
2196
  //#region src/form/field-errors.d.ts
2169
2197
  /**
@@ -2211,7 +2239,7 @@ declare function SaveBar({
2211
2239
  savingLabel,
2212
2240
  resetLabel,
2213
2241
  className
2214
- }: SaveBarProps): react_jsx_runtime0.JSX.Element;
2242
+ }: SaveBarProps): React$1.JSX.Element;
2215
2243
  //#endregion
2216
2244
  //#region src/components/dashboard-sidebar-nav.d.ts
2217
2245
  type DashboardSidebarNavSubmenuSeparator = {
@@ -2295,7 +2323,7 @@ type DashboardSidebarNavProps = {
2295
2323
  declare function DashboardSidebarNav({
2296
2324
  groups,
2297
2325
  renderLink
2298
- }: DashboardSidebarNavProps): react_jsx_runtime0.JSX.Element;
2326
+ }: DashboardSidebarNavProps): React$1.JSX.Element;
2299
2327
  //#endregion
2300
2328
  //#region src/components/dashboard-sidebar.d.ts
2301
2329
  declare const DashboardSidebarProvider: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarProviderProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
@@ -2395,4 +2423,4 @@ declare namespace DashboardSidebarSubmenuSeparator {
2395
2423
  type Props = DashboardSidebarSubmenuSeparatorProps;
2396
2424
  }
2397
2425
  //#endregion
2398
- export { type ArrayField, type ArrayItem, BetaBadge, type BoundForm, CardSaveBar, type CardSaveBarProps, ChatbotExpandSuggestion, type ChatbotExpandSuggestionProps, ChatbotInput, type ChatbotInputProps, type ChatbotInputSuggestion, ChatbotPage, ChatbotPageBody, type ChatbotPageBodyProps, ChatbotPageContent, type ChatbotPageContentProps, ChatbotPageConversation, type ChatbotPageConversationProps, ChatbotPageFooter, type ChatbotPageFooterProps, ChatbotPageHeading, type ChatbotPageHeadingProps, ChatbotPageInputBar, type ChatbotPageInputBarProps, type ChatbotPageProps, ChatbotPanel, ChatbotPanelHeader, type ChatbotPanelHeaderProps, type ChatbotPanelProps, ChatbotPanelSuggestion, type ChatbotPanelSuggestionItem, type ChatbotPanelSuggestionProps, ChatbotPanelTrigger, type ChatbotPanelTriggerProps, ChatbotResponseBlock, type ChatbotResponseBlockFeedback, type ChatbotResponseBlockProps, ChatbotResponseLoading, type ChatbotResponseLoadingProps, ChatbotSidebar, type ChatbotSidebarConversation, ChatbotUserMessage, type ChatbotUserMessageProps, type ComboboxControl, ComingSoonDescription, ComingSoonEmptyState, ComingSoonMedia, ComingSoonTitle, CommonForm, CopyButton, CopyButtonIcon, CopyButtonLabel, DashboardPage, DashboardPageBanner, DashboardPageContent, DashboardPageHeader, DashboardPageHeaderAction, DashboardPageHeaderActions, DashboardPageHeaderDescription, DashboardPageHeaderNav, DashboardPageHeaderNavBack, DashboardPageHeaderPrefix, DashboardPageHeaderSubtitle, DashboardPageHeaderTitle, DashboardPageHeaderTitleGroup, DashboardPageMain, DashboardPageTabs, DashboardSidebar, DashboardSidebarContent, DashboardSidebarFooter, DashboardSidebarGroup, DashboardSidebarGroupLabel, DashboardSidebarHeader, DashboardSidebarMenu, DashboardSidebarMenuBadge, DashboardSidebarMenuButton, DashboardSidebarMenuItem, DashboardSidebarNav, type DashboardSidebarNavGroup, type DashboardSidebarNavItem, type DashboardSidebarNavItemAction, type DashboardSidebarNavItemLink, type DashboardSidebarNavItemSubmenu, type DashboardSidebarNavSubmenuItem, DashboardSidebarProvider, DashboardSidebarSubmenu, DashboardSidebarSubmenuItem, DashboardSidebarSubmenuSeparator, DashboardSidebarTrigger, DashboardStandalonePage, DashboardStandalonePageAction, DashboardStandalonePageActions, DashboardStandalonePageContent, DashboardStandalonePageDescription, DashboardStandalonePageHeader, DashboardStandalonePageMain, DashboardStandalonePageTitle, DeprecatedBadge, EmptyState, EmptyStateActions, EmptyStateButton, EmptyStateDescription, EmptyStateExternalLink, EmptyStateHeader, EmptyStateMedia, EmptyStateTitle, type FieldBindingProps, FormArrayField, type FormArrayFieldProps, FormComboboxField, type FormComboboxFieldProps, FormFieldBase, FormFieldShell, type FormFieldShellProps, type FormFieldValidators, FormInputField, type FormInputFieldProps, FormMultiComboboxField, type FormMultiComboboxFieldProps, FormNumericField, type FormNumericFieldProps, FormOTPField, type FormOTPFieldProps, FormRadioGroupField, type FormRadioGroupFieldProps, FormSelectField, type FormSelectFieldProps, FormSliderField, type FormSliderFieldProps, FormSwitchField, type FormSwitchFieldProps, FormTextareaField, type FormTextareaFieldProps, FormToggleGroupField, type FormToggleGroupFieldProps, type InputControl, type MultiComboboxControl, type NecessityProps, NewBadge, NoDataDescription, NoDataEmptyState, NoDataMedia, NoDataTitle, NoSupportDescription, NoSupportEmptyState, NoSupportMedia, NoSupportTitle, NotFoundDescription, NotFoundEmptyState, NotFoundMedia, NotFoundTitle, type NumericControl, type OTPControl, PERCENTAGE_THRESHOLDS, ProfessionalBadge, type RadioGroupControl, RestrictedAccessDescription, RestrictedAccessEmptyState, RestrictedAccessMedia, RestrictedAccessTitle, RoleBadge, type RoleBadgeRole, SaveBar, type SaveBarProps, ScoreBadge, type ScoreKind, type ScoreThreshold, type ScoreThresholds, type ScoreTone, type SelectControl, type SliderControl, SubmitButton, type SubmitButtonProps, type SwitchControl, type TextareaControl, type ToggleGroupControl, TrialBadge, type TypedField, UnknownErrorDescription, UnknownErrorEmptyState, UnknownErrorMedia, UnknownErrorTitle, fieldContext, formContext, toFieldErrors, useCopyToClipboard, useSidebar as useDashboardSidebar, useFieldContext, useForm, useFormContext, withFieldGroup, withForm };
2426
+ export { type ArrayField, type ArrayItem, BetaBadge, type BoundForm, CardSaveBar, type CardSaveBarProps, ChatbotExpandSuggestion, type ChatbotExpandSuggestionProps, ChatbotInput, type ChatbotInputProps, type ChatbotInputSuggestion, ChatbotPage, ChatbotPageBody, type ChatbotPageBodyProps, ChatbotPageContent, type ChatbotPageContentProps, ChatbotPageConversation, type ChatbotPageConversationProps, ChatbotPageFooter, type ChatbotPageFooterProps, ChatbotPageHeading, type ChatbotPageHeadingProps, ChatbotPageInputBar, type ChatbotPageInputBarProps, type ChatbotPageProps, ChatbotPanel, ChatbotPanelHeader, type ChatbotPanelHeaderProps, type ChatbotPanelProps, ChatbotPanelSuggestion, type ChatbotPanelSuggestionItem, type ChatbotPanelSuggestionProps, ChatbotPanelTrigger, type ChatbotPanelTriggerProps, ChatbotResponseBlock, type ChatbotResponseBlockFeedback, type ChatbotResponseBlockProps, ChatbotResponseLoading, type ChatbotResponseLoadingProps, ChatbotSidebar, type ChatbotSidebarConversation, ChatbotUserMessage, type ChatbotUserMessageProps, type ComboboxControl, ComingSoonDescription, ComingSoonEmptyState, ComingSoonMedia, ComingSoonTitle, CommonForm, CopyButton, CopyButtonIcon, CopyButtonLabel, DashboardPage, DashboardPageBanner, DashboardPageContent, DashboardPageHeader, DashboardPageHeaderAction, DashboardPageHeaderActions, DashboardPageHeaderDescription, DashboardPageHeaderNav, DashboardPageHeaderNavBack, DashboardPageHeaderPrefix, DashboardPageHeaderSubtitle, DashboardPageHeaderTitle, DashboardPageHeaderTitleGroup, DashboardPageMain, DashboardPageTabs, DashboardSidebar, DashboardSidebarContent, DashboardSidebarFooter, DashboardSidebarGroup, DashboardSidebarGroupLabel, DashboardSidebarHeader, DashboardSidebarMenu, DashboardSidebarMenuBadge, DashboardSidebarMenuButton, DashboardSidebarMenuItem, DashboardSidebarNav, type DashboardSidebarNavGroup, type DashboardSidebarNavItem, type DashboardSidebarNavItemAction, type DashboardSidebarNavItemLink, type DashboardSidebarNavItemSubmenu, type DashboardSidebarNavSubmenuItem, DashboardSidebarProvider, DashboardSidebarSubmenu, DashboardSidebarSubmenuItem, DashboardSidebarSubmenuSeparator, DashboardSidebarTrigger, DashboardStandalonePage, DashboardStandalonePageAction, DashboardStandalonePageActions, DashboardStandalonePageContent, DashboardStandalonePageDescription, DashboardStandalonePageHeader, DashboardStandalonePageMain, DashboardStandalonePageTitle, DeprecatedBadge, EmptyState, EmptyStateActions, EmptyStateButton, EmptyStateDescription, EmptyStateExternalLink, EmptyStateHeader, EmptyStateMedia, EmptyStateTitle, type FieldBindingProps, FormArrayField, type FormArrayFieldProps, FormComboboxField, type FormComboboxFieldProps, FormFieldBase, FormFieldShell, type FormFieldShellProps, type FormFieldValidators, FormInputField, type FormInputFieldProps, FormMultiComboboxField, type FormMultiComboboxFieldProps, FormNumericField, type FormNumericFieldProps, FormOTPField, type FormOTPFieldProps, FormRadioGroupField, type FormRadioGroupFieldProps, FormSelectField, type FormSelectFieldProps, FormSliderField, type FormSliderFieldProps, FormSwitchField, type FormSwitchFieldProps, FormTextareaField, type FormTextareaFieldProps, FormToggleGroupField, type FormToggleGroupFieldProps, type InputControl, type MultiComboboxControl, type NecessityProps, NewBadge, NoDataDescription, NoDataEmptyState, NoDataMedia, NoDataTitle, NoSupportDescription, NoSupportEmptyState, NoSupportMedia, NoSupportTitle, NotFoundDescription, NotFoundEmptyState, NotFoundMedia, NotFoundTitle, type NumericControl, type OTPControl, PERCENTAGE_THRESHOLDS, ProfessionalBadge, type RadioGroupControl, RestrictedAccessDescription, RestrictedAccessEmptyState, RestrictedAccessMedia, RestrictedAccessTitle, RoleBadge, type RoleBadgeRole, SaveBar, type SaveBarProps, ScoreBadge, type ScoreKind, type ScoreThreshold, type ScoreThresholds, type ScoreTone, type SelectControl, type Sentiment, SentimentBadge, type SliderControl, SubmitButton, type SubmitButtonProps, type SwitchControl, type TextareaControl, type ToggleGroupControl, TrialBadge, type TypedField, UnknownErrorDescription, UnknownErrorEmptyState, UnknownErrorMedia, UnknownErrorTitle, fieldContext, formContext, toFieldErrors, useCopyToClipboard, useSidebar as useDashboardSidebar, useFieldContext, useForm, useFormContext, withFieldGroup, withForm };
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { Anchor, Badge, Button, CounterBadge, DropdownMenu, DropdownMenuAddon, D
2
2
  import * as React from "react";
3
3
  import { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
- import { AircallLoader, AircallLogo, AircallMark, ArrowUp, Check, ChevronDown, ChevronLeft, ChevronRight, Copy, Ellipsis, ExternalLink, FileText, History, LockKeyhole, Menu, MessageSquare, Minus, PanelLeft, PanelLeftClose, PanelLeftOpen, Plus, Search, Settings, Sprout, Square, SquareArrowOutUpRight, ThumbsDown, ThumbsDownFilled, ThumbsUp, ThumbsUpFilled, TriangleAlert } from "@aircall/react-icons";
5
+ import { AircallLoader, AircallLogo, AircallMark, ArrowUp, Check, ChevronDown, ChevronLeft, ChevronRight, Copy, Ellipsis, ExternalLink, FileText, Frown, History, LockKeyhole, Meh, Menu, MessageSquare, Minus, PanelLeft, PanelLeftClose, PanelLeftOpen, Plus, Search, Settings, Smile, Sprout, Square, SquareArrowOutUpRight, ThumbsDown, ThumbsDownFilled, ThumbsUp, ThumbsUpFilled, TriangleAlert } from "@aircall/react-icons";
6
6
  import ReactMarkdown from "react-markdown";
7
7
  import remarkGfm from "remark-gfm";
8
8
  import { useCallbackRef, useControllableState, useIsMounted, useUnmount } from "@aircall/hooks";
@@ -41,6 +41,9 @@ const de = {
41
41
  "roleBadge.supervisor": "Supervisor",
42
42
  "roleBadge.admin": "Admin",
43
43
  "roleBadge.owner": "Inhaber",
44
+ "sentiment.positive": "Positiv",
45
+ "sentiment.negative": "Negativ",
46
+ "sentiment.neutral": "Neutral",
44
47
  "chatbotResponse.copy": "Kopieren",
45
48
  "chatbotResponse.helpful": "Hilfreich",
46
49
  "chatbotResponse.notHelpful": "Nicht hilfreich",
@@ -100,6 +103,9 @@ const en = {
100
103
  "roleBadge.supervisor": "Supervisor",
101
104
  "roleBadge.admin": "Admin",
102
105
  "roleBadge.owner": "Owner",
106
+ "sentiment.positive": "Positive",
107
+ "sentiment.negative": "Negative",
108
+ "sentiment.neutral": "Neutral",
103
109
  "chatbotResponse.copy": "Copy",
104
110
  "chatbotResponse.helpful": "Helpful",
105
111
  "chatbotResponse.notHelpful": "Not helpful",
@@ -159,6 +165,9 @@ const es = {
159
165
  "roleBadge.supervisor": "Supervisor",
160
166
  "roleBadge.admin": "Administrador",
161
167
  "roleBadge.owner": "Propietario",
168
+ "sentiment.positive": "Positivo",
169
+ "sentiment.negative": "Negativo",
170
+ "sentiment.neutral": "Neutral",
162
171
  "chatbotResponse.copy": "Copiar",
163
172
  "chatbotResponse.helpful": "Útil",
164
173
  "chatbotResponse.notHelpful": "No útil",
@@ -218,6 +227,9 @@ const fr = {
218
227
  "roleBadge.supervisor": "Superviseur",
219
228
  "roleBadge.admin": "Admin",
220
229
  "roleBadge.owner": "Propriétaire",
230
+ "sentiment.positive": "Positif",
231
+ "sentiment.negative": "Négatif",
232
+ "sentiment.neutral": "Neutre",
221
233
  "chatbotResponse.copy": "Copier",
222
234
  "chatbotResponse.helpful": "Utile",
223
235
  "chatbotResponse.notHelpful": "Pas utile",
@@ -277,6 +289,9 @@ const it = {
277
289
  "roleBadge.supervisor": "Supervisore",
278
290
  "roleBadge.admin": "Admin",
279
291
  "roleBadge.owner": "Proprietario",
292
+ "sentiment.positive": "Positivo",
293
+ "sentiment.negative": "Negativo",
294
+ "sentiment.neutral": "Neutro",
280
295
  "chatbotResponse.copy": "Copia",
281
296
  "chatbotResponse.helpful": "Utile",
282
297
  "chatbotResponse.notHelpful": "Non utile",
@@ -2179,6 +2194,57 @@ const ScoreBadge = React.forwardRef((componentProps, forwardRef) => {
2179
2194
  });
2180
2195
  ScoreBadge.displayName = "ScoreBadge";
2181
2196
 
2197
+ //#endregion
2198
+ //#region src/components/sentiment-badge.tsx
2199
+ const SENTIMENT_BADGE = {
2200
+ positive: {
2201
+ color: "green",
2202
+ tone: "medium-light",
2203
+ Icon: Smile,
2204
+ labelKey: "sentiment.positive"
2205
+ },
2206
+ negative: {
2207
+ color: "red",
2208
+ tone: "medium-light",
2209
+ Icon: Frown,
2210
+ labelKey: "sentiment.negative"
2211
+ },
2212
+ neutral: {
2213
+ color: "charcoal",
2214
+ tone: "medium-light",
2215
+ Icon: Meh,
2216
+ labelKey: "sentiment.neutral"
2217
+ }
2218
+ };
2219
+ /**
2220
+ * A sentiment pill for conversation mood (positive / negative / neutral).
2221
+ * Composes DS `Badge`: the `sentiment` picks the color+tone and leading
2222
+ * emoticon, and the label defaults to a localized word for that sentiment.
2223
+ * Pass `children` to override the label (the icon and color stay). The icon is
2224
+ * decorative (`aria-hidden`) — the text label is the accessible name.
2225
+ *
2226
+ * @example
2227
+ * ```tsx
2228
+ * <SentimentBadge sentiment="positive" /> // 🙂 Positive
2229
+ * <SentimentBadge sentiment="negative">Angry</SentimentBadge> // 🙁 Angry
2230
+ * ```
2231
+ */
2232
+ const SentimentBadge = React.forwardRef((componentProps, forwardRef) => {
2233
+ const { sentiment, children, ...props } = componentProps;
2234
+ const t = useDsTranslation("blocks");
2235
+ const { color, tone, Icon, labelKey } = SENTIMENT_BADGE[sentiment];
2236
+ return /* @__PURE__ */ jsxs(Badge, {
2237
+ ref: forwardRef,
2238
+ "data-slot": "sentiment-badge",
2239
+ "data-sentiment": sentiment,
2240
+ color,
2241
+ tone,
2242
+ ...props,
2243
+ children: [/* @__PURE__ */ jsx(Icon, { "aria-hidden": "true" }), children ?? t(labelKey)]
2244
+ });
2245
+ });
2246
+ SentimentBadge.displayName = "SentimentBadge";
2247
+
2182
2248
  //#endregion
2183
2249
  //#region src/components/chatbot-panel-trigger.tsx
2184
2250
  /**
@@ -3397,4 +3463,4 @@ function DashboardSidebarNav({ groups, renderLink }) {
3397
3463
  }
3398
3464
 
3399
3465
  //#endregion
3400
- export { BetaBadge, CardSaveBar, ChatbotExpandSuggestion, ChatbotInput, ChatbotPage, ChatbotPageBody, ChatbotPageContent, ChatbotPageConversation, ChatbotPageFooter, ChatbotPageHeading, ChatbotPageInputBar, ChatbotPanel, ChatbotPanelHeader, ChatbotPanelSuggestion, ChatbotPanelTrigger, ChatbotResponseBlock, ChatbotResponseLoading, ChatbotSidebar, ChatbotUserMessage, ComingSoonDescription, ComingSoonEmptyState, ComingSoonMedia, ComingSoonTitle, CommonForm, CopyButton, CopyButtonIcon, CopyButtonLabel, DashboardPage, DashboardPageBanner, DashboardPageContent, DashboardPageHeader, DashboardPageHeaderAction, DashboardPageHeaderActions, DashboardPageHeaderDescription, DashboardPageHeaderNav, DashboardPageHeaderNavBack, DashboardPageHeaderPrefix, DashboardPageHeaderSubtitle, DashboardPageHeaderTitle, DashboardPageHeaderTitleGroup, DashboardPageMain, DashboardPageTabs, DashboardSidebar, DashboardSidebarContent, DashboardSidebarFooter, DashboardSidebarGroup, DashboardSidebarGroupLabel, DashboardSidebarHeader, DashboardSidebarMenu, DashboardSidebarMenuBadge, DashboardSidebarMenuButton, DashboardSidebarMenuItem, DashboardSidebarNav, DashboardSidebarProvider, DashboardSidebarSubmenu, DashboardSidebarSubmenuItem, DashboardSidebarSubmenuSeparator, DashboardSidebarTrigger, DashboardStandalonePage, DashboardStandalonePageAction, DashboardStandalonePageActions, DashboardStandalonePageContent, DashboardStandalonePageDescription, DashboardStandalonePageHeader, DashboardStandalonePageMain, DashboardStandalonePageTitle, DeprecatedBadge, EmptyState, EmptyStateActions, EmptyStateButton, EmptyStateDescription, EmptyStateExternalLink, EmptyStateHeader, EmptyStateMedia, EmptyStateTitle, FormArrayField, FormComboboxField, FormFieldBase, FormFieldShell, FormInputField, FormMultiComboboxField, FormNumericField, FormOTPField, FormRadioGroupField, FormSelectField, FormSliderField, FormSwitchField, FormTextareaField, FormToggleGroupField, NewBadge, NoDataDescription, NoDataEmptyState, NoDataMedia, NoDataTitle, NoSupportDescription, NoSupportEmptyState, NoSupportMedia, NoSupportTitle, NotFoundDescription, NotFoundEmptyState, NotFoundMedia, NotFoundTitle, PERCENTAGE_THRESHOLDS, ProfessionalBadge, RestrictedAccessDescription, RestrictedAccessEmptyState, RestrictedAccessMedia, RestrictedAccessTitle, RoleBadge, SaveBar, ScoreBadge, SubmitButton, TrialBadge, UnknownErrorDescription, UnknownErrorEmptyState, UnknownErrorMedia, UnknownErrorTitle, fieldContext, formContext, toFieldErrors, useCopyToClipboard, useSidebar as useDashboardSidebar, useFieldContext, useForm, useFormContext, withFieldGroup, withForm };
3466
+ export { BetaBadge, CardSaveBar, ChatbotExpandSuggestion, ChatbotInput, ChatbotPage, ChatbotPageBody, ChatbotPageContent, ChatbotPageConversation, ChatbotPageFooter, ChatbotPageHeading, ChatbotPageInputBar, ChatbotPanel, ChatbotPanelHeader, ChatbotPanelSuggestion, ChatbotPanelTrigger, ChatbotResponseBlock, ChatbotResponseLoading, ChatbotSidebar, ChatbotUserMessage, ComingSoonDescription, ComingSoonEmptyState, ComingSoonMedia, ComingSoonTitle, CommonForm, CopyButton, CopyButtonIcon, CopyButtonLabel, DashboardPage, DashboardPageBanner, DashboardPageContent, DashboardPageHeader, DashboardPageHeaderAction, DashboardPageHeaderActions, DashboardPageHeaderDescription, DashboardPageHeaderNav, DashboardPageHeaderNavBack, DashboardPageHeaderPrefix, DashboardPageHeaderSubtitle, DashboardPageHeaderTitle, DashboardPageHeaderTitleGroup, DashboardPageMain, DashboardPageTabs, DashboardSidebar, DashboardSidebarContent, DashboardSidebarFooter, DashboardSidebarGroup, DashboardSidebarGroupLabel, DashboardSidebarHeader, DashboardSidebarMenu, DashboardSidebarMenuBadge, DashboardSidebarMenuButton, DashboardSidebarMenuItem, DashboardSidebarNav, DashboardSidebarProvider, DashboardSidebarSubmenu, DashboardSidebarSubmenuItem, DashboardSidebarSubmenuSeparator, DashboardSidebarTrigger, DashboardStandalonePage, DashboardStandalonePageAction, DashboardStandalonePageActions, DashboardStandalonePageContent, DashboardStandalonePageDescription, DashboardStandalonePageHeader, DashboardStandalonePageMain, DashboardStandalonePageTitle, DeprecatedBadge, EmptyState, EmptyStateActions, EmptyStateButton, EmptyStateDescription, EmptyStateExternalLink, EmptyStateHeader, EmptyStateMedia, EmptyStateTitle, FormArrayField, FormComboboxField, FormFieldBase, FormFieldShell, FormInputField, FormMultiComboboxField, FormNumericField, FormOTPField, FormRadioGroupField, FormSelectField, FormSliderField, FormSwitchField, FormTextareaField, FormToggleGroupField, NewBadge, NoDataDescription, NoDataEmptyState, NoDataMedia, NoDataTitle, NoSupportDescription, NoSupportEmptyState, NoSupportMedia, NoSupportTitle, NotFoundDescription, NotFoundEmptyState, NotFoundMedia, NotFoundTitle, PERCENTAGE_THRESHOLDS, ProfessionalBadge, RestrictedAccessDescription, RestrictedAccessEmptyState, RestrictedAccessMedia, RestrictedAccessTitle, RoleBadge, SaveBar, ScoreBadge, SentimentBadge, SubmitButton, TrialBadge, UnknownErrorDescription, UnknownErrorEmptyState, UnknownErrorMedia, UnknownErrorTitle, fieldContext, formContext, toFieldErrors, useCopyToClipboard, useSidebar as useDashboardSidebar, useFieldContext, useForm, useFormContext, withFieldGroup, withForm };
package/dist/theme.css ADDED
@@ -0,0 +1,103 @@
1
+ /*
2
+ * Blocks theme definitions — no Preflight, no utility classes. Contains only the
3
+ * non-utility CSS that @source scanning cannot regenerate: blocks-specific design
4
+ * tokens, keyframes, @theme inline mappings, and raw component layout rules.
5
+ *
6
+ * This is the single non-utility artifact a single-compilation consumer needs for
7
+ * blocks, alongside @aircall/ds/theme.css and their own Tailwind compilation.
8
+ * Blocks tokens reference DS tokens (var(--background), var(--color-charcoal-*), …),
9
+ * so @aircall/ds/theme.css must be imported before this file.
10
+ *
11
+ * globals.css re-exposes this via its own `@import './theme.css'`, so the
12
+ * precompiled blocks delta bundle is unchanged.
13
+ *
14
+ * Usage (single-compilation consumer):
15
+ * @import 'tailwindcss'; // Preflight + the utility engine
16
+ * @import '@aircall/ds/theme.css'; // DS tokens + dark variant + base reset
17
+ * @import '@aircall/blocks/theme.css'; // blocks tokens + keyframes + layout
18
+ * @source '../node_modules/@aircall/ds';
19
+ * @source '../node_modules/@aircall/blocks';
20
+ */
21
+
22
+ /* ---------------------------------------------------------------------------
23
+ DashboardSidebar design tokens
24
+ Follows the exact same pattern as ds sidebar-* tokens: CSS variables with
25
+ explicit light/dark values under [data-theme='dark'], mapped to Tailwind
26
+ utilities via @theme inline.
27
+ --------------------------------------------------------------------------- */
28
+
29
+ @layer theme {
30
+ :root,
31
+ :host {
32
+ /* Dashboard page canvas */
33
+ --page-background: var(--color-neutral-200);
34
+
35
+ /* Standalone-page content panel surface — one notch off `background`, sitting
36
+ between the page canvas and a white/neutral Card so header, panel body, and
37
+ Cards read as three distinct surfaces. Derived via color-mix of the DS
38
+ `background`/`muted` tokens, so it auto-adapts per theme (both flip): resolves
39
+ to #f7f8fb in light and #212327 in dark. Defined once — the inner var()s
40
+ resolve against the active theme at use-time, so no dark override is needed. */
41
+ --page-surface: color-mix(in srgb, var(--background), var(--muted));
42
+
43
+ /* Product & role badge overlay — white tint in light mode, dark tint in dark mode.
44
+ Combined with each badge's accent color via CSS background-image gradient. */
45
+ --badge-overlay: rgba(255, 255, 255, 0.7);
46
+
47
+ /* DashboardSidebar — dark-navy design */
48
+ --navbar-foreground: var(--color-charcoal-800);
49
+ --navbar-accent: var(--color-charcoal-800);
50
+ --navbar-accent-foreground: #fff;
51
+ --navbar-icon-bg: #fff;
52
+ }
53
+
54
+ [data-theme='dark'],
55
+ [data-theme='dark'] * {
56
+ /* Dashboard page canvas — dark equivalent */
57
+ --page-background: var(--color-neutral-900);
58
+ /* Badge overlay flips to dark tint */
59
+ --badge-overlay: rgba(10, 10, 10, 0.7);
60
+
61
+ /* DashboardSidebar — keep the navy identity but ensure readability */
62
+ --navbar-foreground: var(--color-charcoal-100);
63
+ --navbar-accent: var(--color-charcoal-600);
64
+ --navbar-accent-foreground: #fff;
65
+ --navbar-icon-bg: var(--color-charcoal-700);
66
+ }
67
+ }
68
+
69
+ /* ---------------------------------------------------------------------------
70
+ ChatbotResponseLoading — shimmer sweep keyframe
71
+ --------------------------------------------------------------------------- */
72
+
73
+ @keyframes chatbot-shimmer {
74
+ 0% { background-position: -200% center; }
75
+ 100% { background-position: 200% center; }
76
+ }
77
+
78
+ @theme inline {
79
+ --animate-chatbot-shimmer: chatbot-shimmer 2s linear infinite;
80
+ --color-page-background: var(--page-background);
81
+ --color-page-surface: var(--page-surface);
82
+ --color-navbar-foreground: var(--navbar-foreground);
83
+ --color-navbar-accent: var(--navbar-accent);
84
+ --color-navbar-accent-foreground: var(--navbar-accent-foreground);
85
+ --color-navbar-icon-bg: var(--navbar-icon-bg);
86
+ }
87
+
88
+ /* ---------------------------------------------------------------------------
89
+ DashboardPageHeader — CSS Grid areas
90
+ Two rows: nav (full-width) + prefix | info | actions (single row always).
91
+ Secondary icon buttons collapse into a "⋯" dropdown via JS (useActionsOverflow)
92
+ rather than wrapping to a new row. The title truncates as the container shrinks.
93
+ --------------------------------------------------------------------------- */
94
+
95
+ [data-slot="dph-grid"] {
96
+ display: grid;
97
+ grid-template-columns: auto 1fr auto;
98
+ grid-template-rows: auto auto;
99
+ grid-template-areas:
100
+ "nav nav nav"
101
+ "prefix info actions";
102
+ width: 100%;
103
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aircall/blocks",
3
- "version": "0.15.0",
3
+ "version": "0.17.0",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "sideEffects": [
@@ -24,7 +24,8 @@
24
24
  "types": "./dist/index.d.ts",
25
25
  "default": "./dist/index.js"
26
26
  },
27
- "./globals.css": "./dist/globals.css"
27
+ "./globals.css": "./dist/globals.css",
28
+ "./theme.css": "./dist/theme.css"
28
29
  },
29
30
  "peerDependencies": {
30
31
  "@aircall/ds": "*",
@@ -81,8 +82,8 @@
81
82
  "vite": "7.3.1",
82
83
  "vitest": "4.0.17",
83
84
  "zod": "4.4.3",
84
- "@aircall/ds": "0.21.0",
85
- "@aircall/hooks": "0.5.1"
85
+ "@aircall/ds": "0.26.0",
86
+ "@aircall/hooks": "0.6.0"
86
87
  },
87
88
  "keywords": [
88
89
  "tanstack-intent"
@@ -95,7 +96,7 @@
95
96
  "scripts": {
96
97
  "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
97
98
  "build:js": "tsdown --config ./tsdown.config.ts",
98
- "build:css": "tailwindcss -i ./src/styles/globals.css -o ./dist/globals.css --minify",
99
+ "build:css": "tailwindcss -i ./src/styles/globals.css -o ./dist/globals.css --minify && node ./scripts/build-theme-css.mjs",
99
100
  "build:package": "pnpm run build:js && pnpm run build:css",
100
101
  "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.strict.json",
101
102
  "lint": "eslint . --max-warnings 0",