@aircall/blocks 0.14.0 → 0.16.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,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,6 @@
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_runtime4 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
  import { VariantProps } from "class-variance-authority";
5
5
  import * as _tanstack_react_form0 from "@tanstack/react-form";
6
6
  import { DeepKeys, DeepKeysOfType, DeepValue, FieldAsyncValidateOrFn, FieldListeners, FieldValidateOrFn, FieldValidators } from "@tanstack/react-form";
@@ -119,7 +119,7 @@ declare function ChatbotResponseBlock({
119
119
  sources,
120
120
  onFeedback,
121
121
  className
122
- }: ChatbotResponseBlockProps): react_jsx_runtime4.JSX.Element;
122
+ }: ChatbotResponseBlockProps): react_jsx_runtime0.JSX.Element;
123
123
  //#endregion
124
124
  //#region src/components/chatbot-response-loading.d.ts
125
125
  interface ChatbotResponseLoadingProps {
@@ -146,7 +146,7 @@ interface ChatbotResponseLoadingProps {
146
146
  declare function ChatbotResponseLoading({
147
147
  text,
148
148
  className
149
- }: ChatbotResponseLoadingProps): react_jsx_runtime4.JSX.Element;
149
+ }: ChatbotResponseLoadingProps): react_jsx_runtime0.JSX.Element;
150
150
  //#endregion
151
151
  //#region src/components/chatbot-page.d.ts
152
152
  declare const ChatbotPage: React$1.ForwardRefExoticComponent<ChatbotPageProps & React$1.RefAttributes<HTMLDivElement>>;
@@ -322,7 +322,7 @@ declare function ChatbotPanelHeader({
322
322
  onClose,
323
323
  className,
324
324
  ...props
325
- }: ChatbotPanelHeaderProps): react_jsx_runtime4.JSX.Element;
325
+ }: ChatbotPanelHeaderProps): react_jsx_runtime0.JSX.Element;
326
326
  //#endregion
327
327
  //#region src/components/chatbot-sidebar.d.ts
328
328
  interface ChatbotSidebarConversation {
@@ -425,7 +425,7 @@ declare function ChatbotInput({
425
425
  activeConversationId,
426
426
  onSelectConversation,
427
427
  ...textareaProps
428
- }: ChatbotInputProps): react_jsx_runtime4.JSX.Element;
428
+ }: ChatbotInputProps): react_jsx_runtime0.JSX.Element;
429
429
  //#endregion
430
430
  //#region src/components/copy-button.d.ts
431
431
  declare const CopyButton: React$1.ForwardRefExoticComponent<Omit<CopyButtonProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
@@ -461,7 +461,7 @@ type ChatbotPanelSuggestionProps = Omit<React.ComponentProps<typeof Button>, 'va
461
461
  declare function ChatbotPanelSuggestion({
462
462
  className,
463
463
  ...props
464
- }: ChatbotPanelSuggestionProps): react_jsx_runtime4.JSX.Element;
464
+ }: ChatbotPanelSuggestionProps): react_jsx_runtime0.JSX.Element;
465
465
  //#endregion
466
466
  //#region src/components/chatbot-user-message.d.ts
467
467
  type ChatbotUserMessageProps = React.ComponentProps<'div'>;
@@ -469,7 +469,7 @@ declare function ChatbotUserMessage({
469
469
  className,
470
470
  children,
471
471
  ...props
472
- }: ChatbotUserMessageProps): react_jsx_runtime4.JSX.Element;
472
+ }: ChatbotUserMessageProps): react_jsx_runtime0.JSX.Element;
473
473
  //#endregion
474
474
  //#region src/components/dashboard-standalone-page.d.ts
475
475
  declare const DashboardStandalonePage: React$1.ForwardRefExoticComponent<Omit<DashboardStandalonePageProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
@@ -626,6 +626,97 @@ declare namespace RoleBadge {
626
626
  type Props = RoleBadgeProps;
627
627
  }
628
628
  //#endregion
629
+ //#region src/components/score-badge.d.ts
630
+ /**
631
+ * The fixed semantic score palette. Each tone maps to a DS `Badge` `color` +
632
+ * `tone` pair, so every ScoreBadge stays on the design-system palette (dark-mode
633
+ * + contrast handled by `Badge`). The colors are not consumer-customisable — only
634
+ * the band boundaries are (see {@link ScoreThresholds}).
635
+ */
636
+ type ScoreTone = 'success' | 'success-alt' | 'warning' | 'destructive' | 'destructive-strong' | 'muted';
637
+ /** A single color band: a value at or above `from` (and below the next band) renders with `tone`. */
638
+ type ScoreThreshold = {
639
+ /** Inclusive lower bound of the band. */from: number; /** Which semantic {@link ScoreTone} the band paints. */
640
+ tone: ScoreTone;
641
+ };
642
+ /** An ordered set of color bands mapping a numeric score to a {@link ScoreTone}. */
643
+ type ScoreThresholds = ScoreThreshold[];
644
+ /** How a {@link ScoreBadge} formats its number: a bare number or a percentage. */
645
+ type ScoreKind = 'number' | 'percent';
646
+ /**
647
+ * The default color bands, from the Figma ScoreBadge spec (0–100 scale):
648
+ * `≥85` excellent, `70–84` good, `50–69` fair, `20–49` poor, `<20` very poor.
649
+ */
650
+ declare const PERCENTAGE_THRESHOLDS: ScoreThresholds;
651
+ type ScoreBadgeProps = Omit<React$1.ComponentProps<typeof Badge>, 'color' | 'tone' | 'children'> & {
652
+ /**
653
+ * The numeric score. Drives both the pill color (via `thresholds`) and the
654
+ * displayed number. `null`/`undefined` or a non-finite value (`NaN`/`±Infinity`)
655
+ * renders a muted `"--"`. Finite out-of-range values render as-is (not clamped).
656
+ */
657
+ value?: number | null;
658
+ /**
659
+ * How the value is formatted — a bare number, or a `%` percentage (0–100 scale).
660
+ * @default 'number'
661
+ */
662
+ kind?: ScoreKind;
663
+ /**
664
+ * Color bands mapping the value to a tone.
665
+ * @default PERCENTAGE_THRESHOLDS
666
+ */
667
+ thresholds?: ScoreThresholds;
668
+ /**
669
+ * Extra `Intl.NumberFormat` options merged over the per-kind defaults — e.g.
670
+ * `{ maximumFractionDigits: 0 }` for no decimals, `{ signDisplay: 'always' }`.
671
+ * For `kind='percent'` the value is scaled to a 0–1 fraction, so don't override `style`.
672
+ */
673
+ formatOptions?: Intl.NumberFormatOptions;
674
+ };
675
+ declare namespace ScoreBadge {
676
+ type Props = ScoreBadgeProps;
677
+ }
678
+ /**
679
+ * A score pill. Composes DS `Badge`: derives its color from `value` against
680
+ * `thresholds` and renders the value, locale-formatted per `kind`.
681
+ *
682
+ * @example
683
+ * ```tsx
684
+ * <ScoreBadge value={90.66666} /> // "90.7"
685
+ * <ScoreBadge value={90.66666} kind="percent" /> // "90.7%"
686
+ * <ScoreBadge value={4} thresholds={CSAT} formatOptions={{ maximumFractionDigits: 0 }} /> // "4"
687
+ * ```
688
+ */
689
+ declare const ScoreBadge: React$1.ForwardRefExoticComponent<Omit<ScoreBadgeProps, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
690
+ //#endregion
691
+ //#region src/components/sentiment-badge.d.ts
692
+ /**
693
+ * The three conversation sentiments a {@link SentimentBadge} can display. Each
694
+ * maps to a fixed DS `Badge` color+tone, a lucide emoticon, and a localized
695
+ * default label — none are consumer-customisable (override only the label, via
696
+ * `children`).
697
+ */
698
+ type Sentiment = 'positive' | 'negative' | 'neutral';
699
+ type SentimentBadgeProps = Omit<React$1.ComponentProps<typeof Badge>, 'color' | 'tone'> & {
700
+ /** Which sentiment the pill represents — sets its color, emoticon, and default label. */sentiment: Sentiment;
701
+ };
702
+ declare namespace SentimentBadge {
703
+ type Props = SentimentBadgeProps;
704
+ }
705
+ /**
706
+ * A sentiment pill for conversation mood (positive / negative / neutral).
707
+ * Composes DS `Badge`: the `sentiment` picks the color+tone and leading
708
+ * emoticon, and the label defaults to a localized word for that sentiment.
709
+ * Pass `children` to override the label (the icon and color stay). The icon is
710
+ * decorative (`aria-hidden`) — the text label is the accessible name.
711
+ *
712
+ * @example
713
+ * ```tsx
714
+ * <SentimentBadge sentiment="positive" /> // 🙂 Positive
715
+ * <SentimentBadge sentiment="negative">Angry</SentimentBadge> // 🙁 Angry
716
+ * ```
717
+ */
718
+ declare const SentimentBadge: React$1.ForwardRefExoticComponent<Omit<SentimentBadgeProps, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
719
+ //#endregion
629
720
  //#region src/components/chatbot-panel-trigger.d.ts
630
721
  type ChatbotPanelTriggerProps = Omit<React$1.ComponentProps<typeof Button>, 'variant' | 'size' | 'disabled'> & {
631
722
  /** The copy revealed when the trigger expands (hover / focus / pressed). */children?: React$1.ReactNode; /** Leading icon. Defaults to the Aircall logo mark. */
@@ -644,7 +735,7 @@ declare function ChatbotPanelTrigger({
644
735
  icon,
645
736
  className,
646
737
  ...buttonProps
647
- }: ChatbotPanelTriggerProps): react_jsx_runtime4.JSX.Element;
738
+ }: ChatbotPanelTriggerProps): react_jsx_runtime0.JSX.Element;
648
739
  //#endregion
649
740
  //#region src/components/chatbot-expand-suggestion.d.ts
650
741
  interface ChatbotExpandSuggestionCategory {
@@ -750,7 +841,7 @@ declare function ChatbotPanel({
750
841
  style,
751
842
  children,
752
843
  ...props
753
- }: ChatbotPanelProps): react_jsx_runtime4.JSX.Element;
844
+ }: ChatbotPanelProps): react_jsx_runtime0.JSX.Element;
754
845
  //#endregion
755
846
  //#region src/hooks/use-copy-to-clipboard.d.ts
756
847
  interface UseCopyToClipboardOptions {
@@ -787,7 +878,7 @@ declare function CardSaveBar({
787
878
  submitLabel,
788
879
  savingLabel,
789
880
  resetLabel
790
- }: CardSaveBarProps): react_jsx_runtime4.JSX.Element;
881
+ }: CardSaveBarProps): react_jsx_runtime0.JSX.Element;
791
882
  //#endregion
792
883
  //#region src/components/submit-button.d.ts
793
884
  /**
@@ -811,7 +902,7 @@ declare function SubmitButton({
811
902
  loadingLabel,
812
903
  className,
813
904
  ...buttonProps
814
- }: SubmitButtonProps): react_jsx_runtime4.JSX.Element;
905
+ }: SubmitButtonProps): react_jsx_runtime0.JSX.Element;
815
906
  //#endregion
816
907
  //#region src/form/use-form.d.ts
817
908
  /**
@@ -1473,7 +1564,7 @@ declare function FormFieldShell({
1473
1564
  orientation,
1474
1565
  controlPosition,
1475
1566
  controlVariant
1476
- }: FormFieldShellProps): react_jsx_runtime4.JSX.Element;
1567
+ }: FormFieldShellProps): react_jsx_runtime0.JSX.Element;
1477
1568
  /**
1478
1569
  * Precisely-typed view of the bound field handed to a wrapper's `children`.
1479
1570
  * `TData` is `DeepValue<TFormData, TName>` — so `value` and `handleChange` are the field's
@@ -1597,7 +1688,7 @@ type FormFieldBaseProps<TData, TControl> = {
1597
1688
  * Field-name/value/validator typing is enforced at each wrapper's boundary; this just renders
1598
1689
  * the AppField + shared shell. `TData`/`TControl` carry the precise field + bundle shapes through.
1599
1690
  */
1600
- declare function FormFieldBase<TData, TControl>(props: FormFieldBaseProps<TData, TControl>): react_jsx_runtime4.JSX.Element;
1691
+ declare function FormFieldBase<TData, TControl>(props: FormFieldBaseProps<TData, TControl>): react_jsx_runtime0.JSX.Element;
1601
1692
  //#endregion
1602
1693
  //#region src/components/form-select-field.d.ts
1603
1694
  /**
@@ -1643,7 +1734,7 @@ type FormSelectFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<
1643
1734
  * )}
1644
1735
  * </FormSelectField>
1645
1736
  */
1646
- declare function FormSelectField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormSelectFieldProps<TForm, TName>): react_jsx_runtime4.JSX.Element;
1737
+ declare function FormSelectField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormSelectFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1647
1738
  //#endregion
1648
1739
  //#region src/components/form-input-field.d.ts
1649
1740
  /**
@@ -1677,7 +1768,7 @@ type FormInputFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<T
1677
1768
  * {(field, { inputProps }) => <Input {...inputProps} type="email" placeholder="you@co.com" />}
1678
1769
  * </FormInputField>
1679
1770
  */
1680
- declare function FormInputField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormInputFieldProps<TForm, TName>): react_jsx_runtime4.JSX.Element;
1771
+ declare function FormInputField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormInputFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1681
1772
  //#endregion
1682
1773
  //#region src/components/form-combobox-field.d.ts
1683
1774
  /**
@@ -1724,7 +1815,7 @@ type FormComboboxFieldProps<TForm extends BoundForm, TName extends DeepKeysOfTyp
1724
1815
  * )}
1725
1816
  * </FormComboboxField>
1726
1817
  */
1727
- declare function FormComboboxField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormComboboxFieldProps<TForm, TName>): react_jsx_runtime4.JSX.Element;
1818
+ declare function FormComboboxField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormComboboxFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1728
1819
  //#endregion
1729
1820
  //#region src/components/form-multi-combobox-field.d.ts
1730
1821
  /**
@@ -1765,7 +1856,7 @@ type FormMultiComboboxFieldProps<TForm extends BoundForm, TName extends DeepKeys
1765
1856
  * )}
1766
1857
  * </FormMultiComboboxField>
1767
1858
  */
1768
- declare function FormMultiComboboxField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string[]>>(props: FormMultiComboboxFieldProps<TForm, TName>): react_jsx_runtime4.JSX.Element;
1859
+ declare function FormMultiComboboxField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string[]>>(props: FormMultiComboboxFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1769
1860
  //#endregion
1770
1861
  //#region src/components/form-array-field.d.ts
1771
1862
  /**
@@ -1839,7 +1930,7 @@ type FormArrayFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<T
1839
1930
  * )}
1840
1931
  * </FormArrayField>
1841
1932
  */
1842
- declare function FormArrayField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], unknown[]>>(props: FormArrayFieldProps<TForm, TName>): react_jsx_runtime4.JSX.Element;
1933
+ declare function FormArrayField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], unknown[]>>(props: FormArrayFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1843
1934
  //#endregion
1844
1935
  //#region src/components/form-textarea-field.d.ts
1845
1936
  /**
@@ -1873,7 +1964,7 @@ type FormTextareaFieldProps<TForm extends BoundForm, TName extends DeepKeysOfTyp
1873
1964
  * {(field, { textareaProps }) => <Textarea {...textareaProps} rows={4} />}
1874
1965
  * </FormTextareaField>
1875
1966
  */
1876
- declare function FormTextareaField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormTextareaFieldProps<TForm, TName>): react_jsx_runtime4.JSX.Element;
1967
+ declare function FormTextareaField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormTextareaFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1877
1968
  //#endregion
1878
1969
  //#region src/components/form-radio-group-field.d.ts
1879
1970
  /**
@@ -1914,7 +2005,7 @@ type FormRadioGroupFieldProps<TForm extends BoundForm, TName extends DeepKeysOfT
1914
2005
  * )}
1915
2006
  * </FormRadioGroupField>
1916
2007
  */
1917
- declare function FormRadioGroupField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormRadioGroupFieldProps<TForm, TName>): react_jsx_runtime4.JSX.Element;
2008
+ declare function FormRadioGroupField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormRadioGroupFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1918
2009
  //#endregion
1919
2010
  //#region src/components/form-otp-field.d.ts
1920
2011
  /**
@@ -1949,7 +2040,7 @@ type FormOTPFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<TFo
1949
2040
  * {(field, { otpProps }) => <InputOTP maxLength={6} {...otpProps}>{slots}</InputOTP>}
1950
2041
  * </FormOTPField>
1951
2042
  */
1952
- declare function FormOTPField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormOTPFieldProps<TForm, TName>): react_jsx_runtime4.JSX.Element;
2043
+ declare function FormOTPField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string>>(props: FormOTPFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1953
2044
  //#endregion
1954
2045
  //#region src/components/form-switch-field.d.ts
1955
2046
  /**
@@ -1986,7 +2077,7 @@ type FormSwitchFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<
1986
2077
  * {(field, { switchProps }) => <Switch {...switchProps} />}
1987
2078
  * </FormSwitchField>
1988
2079
  */
1989
- declare function FormSwitchField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], boolean>>(props: FormSwitchFieldProps<TForm, TName>): react_jsx_runtime4.JSX.Element;
2080
+ declare function FormSwitchField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], boolean>>(props: FormSwitchFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
1990
2081
  //#endregion
1991
2082
  //#region src/components/form-numeric-field.d.ts
1992
2083
  /**
@@ -2020,7 +2111,7 @@ type FormNumericFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType
2020
2111
  * {(field, { numericProps }) => <NumericInput {...numericProps} />}
2021
2112
  * </FormNumericField>
2022
2113
  */
2023
- declare function FormNumericField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], number>>(props: FormNumericFieldProps<TForm, TName>): react_jsx_runtime4.JSX.Element;
2114
+ declare function FormNumericField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], number>>(props: FormNumericFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
2024
2115
  //#endregion
2025
2116
  //#region src/components/form-slider-field.d.ts
2026
2117
  /**
@@ -2060,7 +2151,7 @@ type FormSliderFieldProps<TForm extends BoundForm, TName extends DeepKeysOfType<
2060
2151
  * {(field, { sliderProps }) => <Slider min={0} max={100} step={1} {...sliderProps} />}
2061
2152
  * </FormSliderField>
2062
2153
  */
2063
- declare function FormSliderField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], number>>(props: FormSliderFieldProps<TForm, TName>): react_jsx_runtime4.JSX.Element;
2154
+ declare function FormSliderField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], number>>(props: FormSliderFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
2064
2155
  //#endregion
2065
2156
  //#region src/components/form-toggle-group-field.d.ts
2066
2157
  /**
@@ -2101,7 +2192,7 @@ type FormToggleGroupFieldProps<TForm extends BoundForm, TName extends DeepKeysOf
2101
2192
  * )}
2102
2193
  * </FormToggleGroupField>
2103
2194
  */
2104
- declare function FormToggleGroupField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string | null>>(props: FormToggleGroupFieldProps<TForm, TName>): react_jsx_runtime4.JSX.Element;
2195
+ declare function FormToggleGroupField<TForm extends BoundForm, TName extends DeepKeysOfType<TForm['state']['values'], string | null>>(props: FormToggleGroupFieldProps<TForm, TName>): react_jsx_runtime0.JSX.Element;
2105
2196
  //#endregion
2106
2197
  //#region src/form/field-errors.d.ts
2107
2198
  /**
@@ -2149,7 +2240,7 @@ declare function SaveBar({
2149
2240
  savingLabel,
2150
2241
  resetLabel,
2151
2242
  className
2152
- }: SaveBarProps): react_jsx_runtime4.JSX.Element;
2243
+ }: SaveBarProps): react_jsx_runtime0.JSX.Element;
2153
2244
  //#endregion
2154
2245
  //#region src/components/dashboard-sidebar-nav.d.ts
2155
2246
  type DashboardSidebarNavSubmenuSeparator = {
@@ -2233,7 +2324,7 @@ type DashboardSidebarNavProps = {
2233
2324
  declare function DashboardSidebarNav({
2234
2325
  groups,
2235
2326
  renderLink
2236
- }: DashboardSidebarNavProps): react_jsx_runtime4.JSX.Element;
2327
+ }: DashboardSidebarNavProps): react_jsx_runtime0.JSX.Element;
2237
2328
  //#endregion
2238
2329
  //#region src/components/dashboard-sidebar.d.ts
2239
2330
  declare const DashboardSidebarProvider: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarProviderProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
@@ -2333,4 +2424,4 @@ declare namespace DashboardSidebarSubmenuSeparator {
2333
2424
  type Props = DashboardSidebarSubmenuSeparatorProps;
2334
2425
  }
2335
2426
  //#endregion
2336
- 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, ProfessionalBadge, type RadioGroupControl, RestrictedAccessDescription, RestrictedAccessEmptyState, RestrictedAccessMedia, RestrictedAccessTitle, RoleBadge, type RoleBadgeRole, SaveBar, type SaveBarProps, 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 };
2427
+ 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
@@ -1,8 +1,8 @@
1
- import { Anchor, Badge, Button, CounterBadge, DropdownMenu, DropdownMenuAddon, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldLabel, FieldLabelAside, FieldLabelInfo, FieldLabelRow, HoverCard, HoverCardContent, HoverCardTrigger, InputGroup, InputGroupButton, InputGroupTextarea, Item, ItemActions, ItemContent, ItemGroup, ItemMedia, ItemTitle, Popover, PopoverContent, PopoverTrigger, Separator, Sidebar, SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuAction, SidebarMenuButton, SidebarMenuItem, SidebarProvider, Spinner, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, TabsList, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipTrigger, cn, registerI18nNamespace, useDsTranslation, useSidebar } from "@aircall/ds";
1
+ import { Anchor, Badge, Button, CounterBadge, DropdownMenu, DropdownMenuAddon, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldLabel, FieldLabelAside, FieldLabelInfo, FieldLabelRow, HoverCard, HoverCardContent, HoverCardTrigger, InputGroup, InputGroupButton, InputGroupTextarea, Item, ItemActions, ItemContent, ItemGroup, ItemMedia, ItemTitle, Popover, PopoverContent, PopoverTrigger, Separator, Sidebar, SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuAction, SidebarMenuButton, SidebarMenuItem, SidebarProvider, Spinner, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, TabsList, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipTrigger, cn, registerI18nNamespace, useDsLocale, useDsTranslation, useSidebar } from "@aircall/ds";
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",
@@ -2062,6 +2077,174 @@ const RoleBadge = React.forwardRef((componentProps, forwardRef) => {
2062
2077
  });
2063
2078
  RoleBadge.displayName = "RoleBadge";
2064
2079
 
2080
+ //#endregion
2081
+ //#region src/components/score-badge.tsx
2082
+ const SCORE_TONE_BADGE = {
2083
+ success: {
2084
+ color: "green",
2085
+ tone: "medium-light"
2086
+ },
2087
+ "success-alt": {
2088
+ color: "green",
2089
+ tone: "light"
2090
+ },
2091
+ warning: {
2092
+ color: "yellow",
2093
+ tone: "light"
2094
+ },
2095
+ destructive: {
2096
+ color: "red",
2097
+ tone: "light"
2098
+ },
2099
+ "destructive-strong": {
2100
+ color: "red",
2101
+ tone: "medium-light"
2102
+ },
2103
+ muted: {
2104
+ color: "charcoal",
2105
+ tone: "medium-light"
2106
+ }
2107
+ };
2108
+ /**
2109
+ * The default color bands, from the Figma ScoreBadge spec (0–100 scale):
2110
+ * `≥85` excellent, `70–84` good, `50–69` fair, `20–49` poor, `<20` very poor.
2111
+ */
2112
+ const PERCENTAGE_THRESHOLDS = [
2113
+ {
2114
+ from: 85,
2115
+ tone: "success"
2116
+ },
2117
+ {
2118
+ from: 70,
2119
+ tone: "success-alt"
2120
+ },
2121
+ {
2122
+ from: 50,
2123
+ tone: "warning"
2124
+ },
2125
+ {
2126
+ from: 20,
2127
+ tone: "destructive"
2128
+ },
2129
+ {
2130
+ from: 0,
2131
+ tone: "destructive-strong"
2132
+ }
2133
+ ];
2134
+ /** Highest band whose `from` is ≤ value wins; a value below every band → muted. */
2135
+ function resolveTone(value, thresholds) {
2136
+ return [...thresholds].sort((a, b) => b.from - a.from).find((t) => value >= t.from)?.tone ?? "muted";
2137
+ }
2138
+ /**
2139
+ * Format a numeric score for display in the given locale (via `Intl.NumberFormat`),
2140
+ * and report the value rounded to the *same* precision.
2141
+ * - `number`: the value as-is — at most one decimal, trailing zeros dropped
2142
+ * (`en`: `90.66666 → "90.7"`, `4 → "4"`; `fr`: `90,7`).
2143
+ * - `percent`: a 0–100 score shown with a `%` suffix (`90.66666 → "90.7%"`; `fr`: `90,7 %`).
2144
+ *
2145
+ * `formatOptions` are merged over the per-kind defaults — e.g.
2146
+ * `{ maximumFractionDigits: 0 }` to drop decimals, `{ minimumFractionDigits: 2 }` for more.
2147
+ *
2148
+ * `rounded` is the value rounded to the displayed precision; the pill color is
2149
+ * resolved from it (not the raw value) so the color always matches the shown
2150
+ * number — e.g. `3.6` displayed as `"4"` is colored as a 4, not a 3.6.
2151
+ */
2152
+ function formatScore(value, kind, locale, formatOptions) {
2153
+ const options = kind === "percent" ? {
2154
+ style: "percent",
2155
+ maximumFractionDigits: 1,
2156
+ ...formatOptions
2157
+ } : {
2158
+ maximumFractionDigits: 1,
2159
+ ...formatOptions
2160
+ };
2161
+ const formatter = new Intl.NumberFormat(locale, options);
2162
+ const digits = formatter.resolvedOptions().maximumFractionDigits ?? 0;
2163
+ return {
2164
+ label: formatter.format(kind === "percent" ? value / 100 : value),
2165
+ rounded: Number(value.toFixed(digits))
2166
+ };
2167
+ }
2168
+ /**
2169
+ * A score pill. Composes DS `Badge`: derives its color from `value` against
2170
+ * `thresholds` and renders the value, locale-formatted per `kind`.
2171
+ *
2172
+ * @example
2173
+ * ```tsx
2174
+ * <ScoreBadge value={90.66666} /> // "90.7"
2175
+ * <ScoreBadge value={90.66666} kind="percent" /> // "90.7%"
2176
+ * <ScoreBadge value={4} thresholds={CSAT} formatOptions={{ maximumFractionDigits: 0 }} /> // "4"
2177
+ * ```
2178
+ */
2179
+ const ScoreBadge = React.forwardRef((componentProps, forwardRef) => {
2180
+ const { value, kind = "number", thresholds = PERCENTAGE_THRESHOLDS, formatOptions, className, ...props } = componentProps;
2181
+ const locale = useDsLocale();
2182
+ const score = value != null && Number.isFinite(value) ? value : null;
2183
+ const formatted = score === null ? null : formatScore(score, kind, locale, formatOptions);
2184
+ const { color, tone: badgeTone } = SCORE_TONE_BADGE[formatted === null ? "muted" : resolveTone(formatted.rounded, thresholds)];
2185
+ return /* @__PURE__ */ jsx(Badge, {
2186
+ ref: forwardRef,
2187
+ "data-slot": "score-badge",
2188
+ color,
2189
+ tone: badgeTone,
2190
+ className: cn("tabular-nums", className),
2191
+ ...props,
2192
+ children: formatted === null ? "--" : formatted.label
2193
+ });
2194
+ });
2195
+ ScoreBadge.displayName = "ScoreBadge";
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
+
2065
2248
  //#endregion
2066
2249
  //#region src/components/chatbot-panel-trigger.tsx
2067
2250
  /**
@@ -3280,4 +3463,4 @@ function DashboardSidebarNav({ groups, renderLink }) {
3280
3463
  }
3281
3464
 
3282
3465
  //#endregion
3283
- 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, ProfessionalBadge, RestrictedAccessDescription, RestrictedAccessEmptyState, RestrictedAccessMedia, RestrictedAccessTitle, RoleBadge, SaveBar, 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aircall/blocks",
3
- "version": "0.14.0",
3
+ "version": "0.16.0",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "sideEffects": [
@@ -81,8 +81,8 @@
81
81
  "vite": "7.3.1",
82
82
  "vitest": "4.0.17",
83
83
  "zod": "4.4.3",
84
- "@aircall/ds": "0.20.0",
85
- "@aircall/hooks": "0.5.1"
84
+ "@aircall/hooks": "0.5.1",
85
+ "@aircall/ds": "0.25.0"
86
86
  },
87
87
  "keywords": [
88
88
  "tanstack-intent"