@grapadigital/shared-app-modules 0.0.75 → 0.0.77
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/action.d.ts +2 -1
- package/dist/assets/timeline.css +1 -0
- package/dist/chuncks/{card.DgcbeLHV.js → card.Bockr0Tv.js} +1 -1
- package/dist/chuncks/{chart.DtEj441j.js → timeline.DfIC0519.js} +1388 -1242
- package/dist/components.d.ts +12 -1
- package/dist/components.js +117 -104
- package/dist/content.d.ts +2 -1
- package/dist/invoice.d.ts +2 -1
- package/dist/pages.js +1 -1
- package/dist/payment.d.ts +2 -1
- package/dist/recruitment.d.ts +2 -1
- package/dist/sale.d.ts +2 -1
- package/dist/shadcn.d.ts +34 -0
- package/dist/shadcn.js +74 -66
- package/package.json +2 -1
- package/dist/assets/chart.css +0 -1
package/dist/recruitment.d.ts
CHANGED
|
@@ -372,7 +372,8 @@ declare interface ProfileMetric {
|
|
|
372
372
|
|
|
373
373
|
declare interface ProposalInterface {
|
|
374
374
|
businessUnit: "enterprise" | "artistic";
|
|
375
|
-
|
|
375
|
+
origin: "inbound" | "outbound";
|
|
376
|
+
type: "new" | "renewal" | "upsell";
|
|
376
377
|
contact: string;
|
|
377
378
|
initialScope: string;
|
|
378
379
|
profile: ProfileInterface;
|
package/dist/sale.d.ts
CHANGED
|
@@ -372,7 +372,8 @@ declare interface ProfileMetric {
|
|
|
372
372
|
|
|
373
373
|
export declare interface ProposalInterface {
|
|
374
374
|
businessUnit: "enterprise" | "artistic";
|
|
375
|
-
|
|
375
|
+
origin: "inbound" | "outbound";
|
|
376
|
+
type: "new" | "renewal" | "upsell";
|
|
376
377
|
contact: string;
|
|
377
378
|
initialScope: string;
|
|
378
379
|
profile: ProfileInterface;
|
package/dist/shadcn.d.ts
CHANGED
|
@@ -450,6 +450,40 @@ declare const THEMES: {
|
|
|
450
450
|
readonly dark: ".dark";
|
|
451
451
|
};
|
|
452
452
|
|
|
453
|
+
export declare function Timeline({ defaultValue, value, onValueChange, orientation, className, ...props }: TimelineProps): JSX.Element;
|
|
454
|
+
|
|
455
|
+
export declare function TimelineContent({ className, ...props }: React_2.HTMLAttributes<HTMLDivElement>): JSX.Element;
|
|
456
|
+
|
|
457
|
+
export declare function TimelineDate({ asChild, className, ...props }: TimelineDateProps): JSX.Element;
|
|
458
|
+
|
|
459
|
+
declare interface TimelineDateProps extends React_2.HTMLAttributes<HTMLTimeElement> {
|
|
460
|
+
asChild?: boolean;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
export declare function TimelineHeader({ className, ...props }: React_2.HTMLAttributes<HTMLDivElement>): JSX.Element;
|
|
464
|
+
|
|
465
|
+
export declare function TimelineIndicator({ className, ...props }: TimelineIndicatorProps): JSX.Element;
|
|
466
|
+
|
|
467
|
+
declare interface TimelineIndicatorProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
export declare function TimelineItem({ step, className, ...props }: TimelineItemProps): JSX.Element;
|
|
471
|
+
|
|
472
|
+
declare interface TimelineItemProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
473
|
+
step: number;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
declare interface TimelineProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
477
|
+
defaultValue?: number;
|
|
478
|
+
value?: number;
|
|
479
|
+
onValueChange?: (value: number) => void;
|
|
480
|
+
orientation?: "horizontal" | "vertical";
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
export declare function TimelineSeparator({ className, ...props }: React_2.HTMLAttributes<HTMLDivElement>): JSX.Element;
|
|
484
|
+
|
|
485
|
+
export declare function TimelineTitle({ className, ...props }: React_2.HTMLAttributes<HTMLHeadingElement>): JSX.Element;
|
|
486
|
+
|
|
453
487
|
export declare const Tooltip: React_2.FC<TooltipPrimitive.TooltipProps>;
|
|
454
488
|
|
|
455
489
|
export declare const TooltipContent: React_2.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
|
package/dist/shadcn.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as Xe, c as y, n as le, L as jt, S as Qe, o as Ht, p as $e, B as et, I as qt, T as Gt, q as $t } from "./chuncks/
|
|
2
|
-
import { av as
|
|
1
|
+
import { a as Xe, c as y, n as le, L as jt, S as Qe, o as Ht, p as $e, B as et, I as qt, T as Gt, q as $t } from "./chuncks/timeline.DfIC0519.js";
|
|
2
|
+
import { av as Wr, ay as Nr, aw as Tr, ax as _r, aA as Er, aD as Pr, aE as Br, aF as Ir, aB as Fr, aC as Yr, r as Ar, C as zr, as as jr, i as Hr, k as qr, g as Gr, l as $r, h as Rr, au as Vr, at as Zr, E as Ur, F as Lr, G as Kr, J as Jr, K as Xr, M as Qr, N as es, O as ts, Q as ns, U as os, ai as as, am as rs, an as ss, ar as is, ap as ls, ao as ds, ak as us, aj as cs, aq as fs, al as hs, H as ms, d as ps, b as ys, P as gs, ad as bs, f as vs, e as ks, az as ws, s as Ms, w as Ds, t as Cs, y as Os, x as xs, D as Ss, A as Ws, z as Ns, v as Ts, u as _s, V as Es, X as Ps, Y as Bs, a0 as Is, _ as Fs, Z as Ys, $ as As, W as zs, a5 as js, a7 as Hs, ac as qs, ab as Gs, a8 as $s, a9 as Rs, a6 as Vs, aa as Zs, a1 as Us, a4 as Ls, a2 as Ks, a3 as Js, aG as Xs, aH as Qs, aI as ei, aJ as ti, aK as ni, aL as oi, aM as ai, aN as ri, ae as si, ag as ii, ah as li, af as di } from "./chuncks/timeline.DfIC0519.js";
|
|
3
3
|
import * as pe from "react";
|
|
4
4
|
import c, { useMemo as ie, createContext as Rt, useContext as Vt, useCallback as H, useRef as me, useLayoutEffect as Zt, useState as Ee, useEffect as Ut } from "react";
|
|
5
5
|
import { jsx as N, jsxs as Lt } from "react/jsx-runtime";
|
|
6
|
-
import { C as
|
|
7
|
-
import { addDays as Kt, addMonths as Jt, addWeeks as Xt, addYears as Qt, differenceInCalendarDays as en, differenceInCalendarMonths as tn, eachMonthOfInterval as nn, eachYearOfInterval as on, endOfISOWeek as an, endOfMonth as rn, endOfWeek as sn, endOfYear as ln, format as dn, getISOWeek as un, getMonth as cn, getYear as fn, getWeek as hn, isAfter as mn, isBefore as pn, isDate as yn, isSameDay as gn, isSameMonth as bn, isSameYear as vn, max as kn, min as wn, setMonth as Mn, setYear as Dn, startOfDay as Cn, startOfISOWeek as On, startOfMonth as xn, startOfWeek as
|
|
6
|
+
import { C as ci, e as fi, a as hi, f as mi, c as pi, b as yi, d as gi } from "./chuncks/card.Bockr0Tv.js";
|
|
7
|
+
import { addDays as Kt, addMonths as Jt, addWeeks as Xt, addYears as Qt, differenceInCalendarDays as en, differenceInCalendarMonths as tn, eachMonthOfInterval as nn, eachYearOfInterval as on, endOfISOWeek as an, endOfMonth as rn, endOfWeek as sn, endOfYear as ln, format as dn, getISOWeek as un, getMonth as cn, getYear as fn, getWeek as hn, isAfter as mn, isBefore as pn, isDate as yn, isSameDay as gn, isSameMonth as bn, isSameYear as vn, max as kn, min as wn, setMonth as Mn, setYear as Dn, startOfDay as Cn, startOfISOWeek as On, startOfMonth as xn, startOfWeek as Sn, startOfYear as Wn } from "date-fns";
|
|
8
8
|
function or(e) {
|
|
9
9
|
const [t, o] = pe.useState(!1);
|
|
10
10
|
return pe.useEffect(() => {
|
|
@@ -308,7 +308,7 @@ function tt(e) {
|
|
|
308
308
|
d.setUTCSeconds(0);
|
|
309
309
|
const f = a > 0 ? d.getSeconds() : (d.getSeconds() - 60) % 60, u = Math.round(-(ne(e.timeZone, e) * 60)) % 60;
|
|
310
310
|
(u || f) && (e.internal.setUTCSeconds(e.internal.getUTCSeconds() + u), Date.prototype.setUTCSeconds.call(e, Date.prototype.getUTCSeconds.call(e) + u + f));
|
|
311
|
-
const h = ne(e.timeZone, e), b = h > 0 ? Math.floor(h) : Math.ceil(h),
|
|
311
|
+
const h = ne(e.timeZone, e), b = h > 0 ? Math.floor(h) : Math.ceil(h), W = -(/* @__PURE__ */ new Date(+e)).getTimezoneOffset() - b, w = b !== o, O = W - i;
|
|
312
312
|
if (w && O) {
|
|
313
313
|
Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + O);
|
|
314
314
|
const T = ne(e.timeZone, e), k = T > 0 ? Math.floor(T) : Math.ceil(T), D = b - k;
|
|
@@ -438,7 +438,7 @@ const An = {
|
|
|
438
438
|
const a = An[e];
|
|
439
439
|
return typeof a == "string" ? n = a : t === 1 ? n = a.one : n = a.other.replace("{{count}}", t.toString()), o?.addSuffix ? o.comparison && o.comparison > 0 ? "in " + n : n + " ago" : n;
|
|
440
440
|
};
|
|
441
|
-
function
|
|
441
|
+
function Se(e) {
|
|
442
442
|
return (t = {}) => {
|
|
443
443
|
const o = t.width ? String(t.width) : e.defaultWidth;
|
|
444
444
|
return e.formats[o] || e.formats[e.defaultWidth];
|
|
@@ -460,15 +460,15 @@ const jn = {
|
|
|
460
460
|
medium: "{{date}}, {{time}}",
|
|
461
461
|
short: "{{date}}, {{time}}"
|
|
462
462
|
}, Gn = {
|
|
463
|
-
date:
|
|
463
|
+
date: Se({
|
|
464
464
|
formats: jn,
|
|
465
465
|
defaultWidth: "full"
|
|
466
466
|
}),
|
|
467
|
-
time:
|
|
467
|
+
time: Se({
|
|
468
468
|
formats: Hn,
|
|
469
469
|
defaultWidth: "full"
|
|
470
470
|
}),
|
|
471
|
-
dateTime:
|
|
471
|
+
dateTime: Se({
|
|
472
472
|
formats: qn,
|
|
473
473
|
defaultWidth: "full"
|
|
474
474
|
})
|
|
@@ -833,7 +833,7 @@ class z {
|
|
|
833
833
|
}, this.endOfBroadcastWeek = (n) => this.overrides?.endOfBroadcastWeek ? this.overrides.endOfBroadcastWeek(n) : vo(n, this), this.endOfISOWeek = (n) => this.overrides?.endOfISOWeek ? this.overrides.endOfISOWeek(n) : an(n), this.endOfMonth = (n) => this.overrides?.endOfMonth ? this.overrides.endOfMonth(n) : rn(n), this.endOfWeek = (n, a) => this.overrides?.endOfWeek ? this.overrides.endOfWeek(n, a) : sn(n, this.options), this.endOfYear = (n) => this.overrides?.endOfYear ? this.overrides.endOfYear(n) : ln(n), this.format = (n, a, l) => {
|
|
834
834
|
const r = this.overrides?.format ? this.overrides.format(n, a, this.options) : dn(n, a, this.options);
|
|
835
835
|
return this.options.numerals && this.options.numerals !== "latn" ? this.replaceDigits(r) : r;
|
|
836
|
-
}, this.getISOWeek = (n) => this.overrides?.getISOWeek ? this.overrides.getISOWeek(n) : un(n), this.getMonth = (n, a) => this.overrides?.getMonth ? this.overrides.getMonth(n, this.options) : cn(n, this.options), this.getYear = (n, a) => this.overrides?.getYear ? this.overrides.getYear(n, this.options) : fn(n, this.options), this.getWeek = (n, a) => this.overrides?.getWeek ? this.overrides.getWeek(n, this.options) : hn(n, this.options), this.isAfter = (n, a) => this.overrides?.isAfter ? this.overrides.isAfter(n, a) : mn(n, a), this.isBefore = (n, a) => this.overrides?.isBefore ? this.overrides.isBefore(n, a) : pn(n, a), this.isDate = (n) => this.overrides?.isDate ? this.overrides.isDate(n) : yn(n), this.isSameDay = (n, a) => this.overrides?.isSameDay ? this.overrides.isSameDay(n, a) : gn(n, a), this.isSameMonth = (n, a) => this.overrides?.isSameMonth ? this.overrides.isSameMonth(n, a) : bn(n, a), this.isSameYear = (n, a) => this.overrides?.isSameYear ? this.overrides.isSameYear(n, a) : vn(n, a), this.max = (n) => this.overrides?.max ? this.overrides.max(n) : kn(n), this.min = (n) => this.overrides?.min ? this.overrides.min(n) : wn(n), this.setMonth = (n, a) => this.overrides?.setMonth ? this.overrides.setMonth(n, a) : Mn(n, a), this.setYear = (n, a) => this.overrides?.setYear ? this.overrides.setYear(n, a) : Dn(n, a), this.startOfBroadcastWeek = (n, a) => this.overrides?.startOfBroadcastWeek ? this.overrides.startOfBroadcastWeek(n, this) : ot(n, this), this.startOfDay = (n) => this.overrides?.startOfDay ? this.overrides.startOfDay(n) : Cn(n), this.startOfISOWeek = (n) => this.overrides?.startOfISOWeek ? this.overrides.startOfISOWeek(n) : On(n), this.startOfMonth = (n) => this.overrides?.startOfMonth ? this.overrides.startOfMonth(n) : xn(n), this.startOfWeek = (n, a) => this.overrides?.startOfWeek ? this.overrides.startOfWeek(n, this.options) :
|
|
836
|
+
}, this.getISOWeek = (n) => this.overrides?.getISOWeek ? this.overrides.getISOWeek(n) : un(n), this.getMonth = (n, a) => this.overrides?.getMonth ? this.overrides.getMonth(n, this.options) : cn(n, this.options), this.getYear = (n, a) => this.overrides?.getYear ? this.overrides.getYear(n, this.options) : fn(n, this.options), this.getWeek = (n, a) => this.overrides?.getWeek ? this.overrides.getWeek(n, this.options) : hn(n, this.options), this.isAfter = (n, a) => this.overrides?.isAfter ? this.overrides.isAfter(n, a) : mn(n, a), this.isBefore = (n, a) => this.overrides?.isBefore ? this.overrides.isBefore(n, a) : pn(n, a), this.isDate = (n) => this.overrides?.isDate ? this.overrides.isDate(n) : yn(n), this.isSameDay = (n, a) => this.overrides?.isSameDay ? this.overrides.isSameDay(n, a) : gn(n, a), this.isSameMonth = (n, a) => this.overrides?.isSameMonth ? this.overrides.isSameMonth(n, a) : bn(n, a), this.isSameYear = (n, a) => this.overrides?.isSameYear ? this.overrides.isSameYear(n, a) : vn(n, a), this.max = (n) => this.overrides?.max ? this.overrides.max(n) : kn(n), this.min = (n) => this.overrides?.min ? this.overrides.min(n) : wn(n), this.setMonth = (n, a) => this.overrides?.setMonth ? this.overrides.setMonth(n, a) : Mn(n, a), this.setYear = (n, a) => this.overrides?.setYear ? this.overrides.setYear(n, a) : Dn(n, a), this.startOfBroadcastWeek = (n, a) => this.overrides?.startOfBroadcastWeek ? this.overrides.startOfBroadcastWeek(n, this) : ot(n, this), this.startOfDay = (n) => this.overrides?.startOfDay ? this.overrides.startOfDay(n) : Cn(n), this.startOfISOWeek = (n) => this.overrides?.startOfISOWeek ? this.overrides.startOfISOWeek(n) : On(n), this.startOfMonth = (n) => this.overrides?.startOfMonth ? this.overrides.startOfMonth(n) : xn(n), this.startOfWeek = (n, a) => this.overrides?.startOfWeek ? this.overrides.startOfWeek(n, this.options) : Sn(n, this.options), this.startOfYear = (n) => this.overrides?.startOfYear ? this.overrides.startOfYear(n) : Wn(n), this.options = { locale: nt, ...t }, this.overrides = o;
|
|
837
837
|
}
|
|
838
838
|
/**
|
|
839
839
|
* Generates a mapping of Arabic digits (0-9) to the target numbering system
|
|
@@ -991,7 +991,7 @@ var A;
|
|
|
991
991
|
(function(e) {
|
|
992
992
|
e.weeks_before_enter = "weeks_before_enter", e.weeks_before_exit = "weeks_before_exit", e.weeks_after_enter = "weeks_after_enter", e.weeks_after_exit = "weeks_after_exit", e.caption_after_enter = "caption_after_enter", e.caption_after_exit = "caption_after_exit", e.caption_before_enter = "caption_before_enter", e.caption_before_exit = "caption_before_exit";
|
|
993
993
|
})(A || (A = {}));
|
|
994
|
-
function
|
|
994
|
+
function So(e) {
|
|
995
995
|
const { options: t, className: o, components: n, classNames: a, ...l } = e, r = [a[p.Dropdown], o].join(" "), s = t?.find(({ value: i }) => i === l.value);
|
|
996
996
|
return c.createElement(
|
|
997
997
|
"span",
|
|
@@ -1005,7 +1005,7 @@ function Wo(e) {
|
|
|
1005
1005
|
)
|
|
1006
1006
|
);
|
|
1007
1007
|
}
|
|
1008
|
-
function
|
|
1008
|
+
function Wo(e) {
|
|
1009
1009
|
return c.createElement("div", { ...e });
|
|
1010
1010
|
}
|
|
1011
1011
|
function No(e) {
|
|
@@ -1110,8 +1110,8 @@ const Uo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
1110
1110
|
Chevron: Co,
|
|
1111
1111
|
Day: Oo,
|
|
1112
1112
|
DayButton: xo,
|
|
1113
|
-
Dropdown:
|
|
1114
|
-
DropdownNav:
|
|
1113
|
+
Dropdown: So,
|
|
1114
|
+
DropdownNav: Wo,
|
|
1115
1115
|
Footer: No,
|
|
1116
1116
|
Month: To,
|
|
1117
1117
|
MonthCaption: _o,
|
|
@@ -1176,7 +1176,7 @@ function ee(e, t, o = L) {
|
|
|
1176
1176
|
});
|
|
1177
1177
|
}
|
|
1178
1178
|
function Lo(e, t, o, n, a) {
|
|
1179
|
-
const { disabled: l, hidden: r, modifiers: s, showOutsideDays: i, broadcastCalendar: d, today: f = a.today() } = t, { isSameDay: u, isSameMonth: h, startOfMonth: b, isBefore: C, endOfMonth:
|
|
1179
|
+
const { disabled: l, hidden: r, modifiers: s, showOutsideDays: i, broadcastCalendar: d, today: f = a.today() } = t, { isSameDay: u, isSameMonth: h, startOfMonth: b, isBefore: C, endOfMonth: W, isAfter: w } = a, O = o && b(o), T = n && W(n), k = {
|
|
1180
1180
|
[B.focused]: [],
|
|
1181
1181
|
[B.outside]: [],
|
|
1182
1182
|
[B.disabled]: [],
|
|
@@ -1292,8 +1292,8 @@ function la(e, t, o, n, a) {
|
|
|
1292
1292
|
start: r(e),
|
|
1293
1293
|
end: s(e)
|
|
1294
1294
|
}).map((h) => {
|
|
1295
|
-
const b = n.formatMonthDropdown(h, a), C = d(h),
|
|
1296
|
-
return { value: C, label: b, disabled:
|
|
1295
|
+
const b = n.formatMonthDropdown(h, a), C = d(h), W = t && h < l(t) || o && h > l(o) || !1;
|
|
1296
|
+
return { value: C, label: b, disabled: W };
|
|
1297
1297
|
});
|
|
1298
1298
|
}
|
|
1299
1299
|
function da(e, t = {}, o = {}) {
|
|
@@ -1378,10 +1378,10 @@ const Da = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
1378
1378
|
labelWeekNumberHeader: wa,
|
|
1379
1379
|
labelWeekday: va,
|
|
1380
1380
|
labelYearDropdown: Ma
|
|
1381
|
-
}, Symbol.toStringTag, { value: "Module" })), ue = (e) => e instanceof HTMLElement ? e : null,
|
|
1381
|
+
}, Symbol.toStringTag, { value: "Module" })), ue = (e) => e instanceof HTMLElement ? e : null, We = (e) => [
|
|
1382
1382
|
...e.querySelectorAll("[data-animated-month]") ?? []
|
|
1383
1383
|
], Ca = (e) => ue(e.querySelector("[data-animated-month]")), Ne = (e) => ue(e.querySelector("[data-animated-caption]")), Te = (e) => ue(e.querySelector("[data-animated-weeks]")), Oa = (e) => ue(e.querySelector("[data-animated-nav]")), xa = (e) => ue(e.querySelector("[data-animated-weekdays]"));
|
|
1384
|
-
function
|
|
1384
|
+
function Sa(e, t, { classNames: o, months: n, focused: a, dateLib: l }) {
|
|
1385
1385
|
const r = me(null), s = me(n), i = me(!1);
|
|
1386
1386
|
Zt(() => {
|
|
1387
1387
|
const d = s.current;
|
|
@@ -1389,8 +1389,8 @@ function Wa(e, t, { classNames: o, months: n, focused: a, dateLib: l }) {
|
|
|
1389
1389
|
!(e.current instanceof HTMLElement) || // validation required for the animation to work as expected
|
|
1390
1390
|
n.length === 0 || d.length === 0 || n.length !== d.length)
|
|
1391
1391
|
return;
|
|
1392
|
-
const f = l.isSameMonth(n[0].date, d[0].date), u = l.isAfter(n[0].date, d[0].date), h = u ? o[A.caption_after_enter] : o[A.caption_before_enter], b = u ? o[A.weeks_after_enter] : o[A.weeks_before_enter], C = r.current,
|
|
1393
|
-
if (
|
|
1392
|
+
const f = l.isSameMonth(n[0].date, d[0].date), u = l.isAfter(n[0].date, d[0].date), h = u ? o[A.caption_after_enter] : o[A.caption_before_enter], b = u ? o[A.weeks_after_enter] : o[A.weeks_before_enter], C = r.current, W = e.current.cloneNode(!0);
|
|
1393
|
+
if (W instanceof HTMLElement ? (We(W).forEach((k) => {
|
|
1394
1394
|
if (!(k instanceof HTMLElement))
|
|
1395
1395
|
return;
|
|
1396
1396
|
const D = Ca(k);
|
|
@@ -1399,10 +1399,10 @@ function Wa(e, t, { classNames: o, months: n, focused: a, dateLib: l }) {
|
|
|
1399
1399
|
g && g.classList.remove(h);
|
|
1400
1400
|
const m = Te(k);
|
|
1401
1401
|
m && m.classList.remove(b);
|
|
1402
|
-
}), r.current =
|
|
1402
|
+
}), r.current = W) : r.current = null, i.current || f || // skip animation if a day is focused because it can cause issues to the animation and is better for a11y
|
|
1403
1403
|
a)
|
|
1404
1404
|
return;
|
|
1405
|
-
const w = C instanceof HTMLElement ?
|
|
1405
|
+
const w = C instanceof HTMLElement ? We(C) : [], O = We(e.current);
|
|
1406
1406
|
if (O?.every((T) => T instanceof HTMLElement) && w && w.every((T) => T instanceof HTMLElement)) {
|
|
1407
1407
|
i.current = !0, e.current.style.isolation = "isolate";
|
|
1408
1408
|
const T = Oa(e.current);
|
|
@@ -1429,8 +1429,8 @@ function Wa(e, t, { classNames: o, months: n, focused: a, dateLib: l }) {
|
|
|
1429
1429
|
}
|
|
1430
1430
|
});
|
|
1431
1431
|
}
|
|
1432
|
-
function
|
|
1433
|
-
const a = e[0], l = e[e.length - 1], { ISOWeek: r, fixedWeeks: s, broadcastCalendar: i } = o ?? {}, { addDays: d, differenceInCalendarDays: f, differenceInCalendarMonths: u, endOfBroadcastWeek: h, endOfISOWeek: b, endOfMonth: C, endOfWeek:
|
|
1432
|
+
function Wa(e, t, o, n) {
|
|
1433
|
+
const a = e[0], l = e[e.length - 1], { ISOWeek: r, fixedWeeks: s, broadcastCalendar: i } = o ?? {}, { addDays: d, differenceInCalendarDays: f, differenceInCalendarMonths: u, endOfBroadcastWeek: h, endOfISOWeek: b, endOfMonth: C, endOfWeek: W, isAfter: w, startOfBroadcastWeek: O, startOfISOWeek: T, startOfWeek: k } = n, D = i ? O(a, n) : r ? T(a) : k(a), g = i ? h(l) : r ? b(C(l)) : W(C(l)), m = t && (i ? h(t) : r ? b(t) : W(t)), x = m && w(g, m) ? m : g, P = f(x, D), F = u(l, a) + 1, I = [];
|
|
1434
1434
|
for (let K = 0; K <= P; K++) {
|
|
1435
1435
|
const j = d(D, K);
|
|
1436
1436
|
I.push(j);
|
|
@@ -1473,7 +1473,7 @@ function Ue(e, t, o, n) {
|
|
|
1473
1473
|
return t && d(i, t) < 0 && (i = t), u(i);
|
|
1474
1474
|
}
|
|
1475
1475
|
function _a(e, t, o, n) {
|
|
1476
|
-
const { addDays: a, endOfBroadcastWeek: l, endOfISOWeek: r, endOfMonth: s, endOfWeek: i, getISOWeek: d, getWeek: f, startOfBroadcastWeek: u, startOfISOWeek: h, startOfWeek: b } = n, C = e.reduce((
|
|
1476
|
+
const { addDays: a, endOfBroadcastWeek: l, endOfISOWeek: r, endOfMonth: s, endOfWeek: i, getISOWeek: d, getWeek: f, startOfBroadcastWeek: u, startOfISOWeek: h, startOfWeek: b } = n, C = e.reduce((W, w) => {
|
|
1477
1477
|
const O = o.broadcastCalendar ? u(w, n) : o.ISOWeek ? h(w) : b(w), T = o.broadcastCalendar ? l(w) : o.ISOWeek ? r(s(w)) : i(s(w)), k = t.filter((x) => x >= O && x <= T), D = o.broadcastCalendar ? 35 : 42;
|
|
1478
1478
|
if (o.fixedWeeks && k.length < D) {
|
|
1479
1479
|
const x = t.filter((P) => {
|
|
@@ -1486,14 +1486,14 @@ function _a(e, t, o, n) {
|
|
|
1486
1486
|
const F = o.ISOWeek ? d(P) : f(P), I = x.find((te) => te.weekNumber === F), R = new at(P, w, n);
|
|
1487
1487
|
return I ? I.days.push(R) : x.push(new wo(F, [R])), x;
|
|
1488
1488
|
}, []), m = new ko(w, g);
|
|
1489
|
-
return
|
|
1489
|
+
return W.push(m), W;
|
|
1490
1490
|
}, []);
|
|
1491
1491
|
return o.reverseMonths ? C.reverse() : C;
|
|
1492
1492
|
}
|
|
1493
1493
|
function Ea(e, t) {
|
|
1494
1494
|
let { startMonth: o, endMonth: n } = e;
|
|
1495
|
-
const { startOfYear: a, startOfDay: l, startOfMonth: r, endOfMonth: s, addYears: i, endOfYear: d, newDate: f, today: u } = t, { fromYear: h, toYear: b, fromMonth: C, toMonth:
|
|
1496
|
-
!o && C && (o = C), !o && h && (o = t.newDate(h, 0, 1)), !n &&
|
|
1495
|
+
const { startOfYear: a, startOfDay: l, startOfMonth: r, endOfMonth: s, addYears: i, endOfYear: d, newDate: f, today: u } = t, { fromYear: h, toYear: b, fromMonth: C, toMonth: W } = e;
|
|
1496
|
+
!o && C && (o = C), !o && h && (o = t.newDate(h, 0, 1)), !n && W && (n = W), !n && b && (n = f(b, 11, 31));
|
|
1497
1497
|
const w = e.captionLayout === "dropdown" || e.captionLayout === "dropdown-years";
|
|
1498
1498
|
return o ? o = r(o) : h ? o = f(h, 0, 1) : !o && w && (o = a(i(e.today ?? u(), -100))), n ? n = s(n) : b ? n = f(b, 11, 31) : !n && w && (n = d(e.today ?? u())), [
|
|
1499
1499
|
o && l(o),
|
|
@@ -1537,7 +1537,7 @@ function Fa(e, t) {
|
|
|
1537
1537
|
i(D);
|
|
1538
1538
|
}, [e.timeZone]);
|
|
1539
1539
|
const { months: d, weeks: f, days: u, previousMonth: h, nextMonth: b } = ie(() => {
|
|
1540
|
-
const D = Ta(s, n, { numberOfMonths: e.numberOfMonths }, t), g =
|
|
1540
|
+
const D = Ta(s, n, { numberOfMonths: e.numberOfMonths }, t), g = Wa(D, e.endMonth ? l(e.endMonth) : void 0, {
|
|
1541
1541
|
ISOWeek: e.ISOWeek,
|
|
1542
1542
|
fixedWeeks: e.fixedWeeks,
|
|
1543
1543
|
broadcastCalendar: e.broadcastCalendar
|
|
@@ -1567,11 +1567,11 @@ function Fa(e, t) {
|
|
|
1567
1567
|
e.numberOfMonths,
|
|
1568
1568
|
e.pagedNavigation,
|
|
1569
1569
|
e.reverseMonths
|
|
1570
|
-
]), { disableNavigation: C, onMonthChange:
|
|
1570
|
+
]), { disableNavigation: C, onMonthChange: W } = e, w = (D) => f.some((g) => g.days.some((m) => m.isEqualTo(D))), O = (D) => {
|
|
1571
1571
|
if (C)
|
|
1572
1572
|
return;
|
|
1573
1573
|
let g = a(D);
|
|
1574
|
-
o && g < a(o) && (g = a(o)), n && g > a(n) && (g = a(n)), i(g),
|
|
1574
|
+
o && g < a(o) && (g = a(o)), n && g > a(n) && (g = a(n)), i(g), W?.(g);
|
|
1575
1575
|
};
|
|
1576
1576
|
return {
|
|
1577
1577
|
months: d,
|
|
@@ -1603,14 +1603,14 @@ function Ya(e, t, o, n) {
|
|
|
1603
1603
|
return a || (a = e.find((r) => Le(t(r)))), a;
|
|
1604
1604
|
}
|
|
1605
1605
|
function Aa(e, t, o, n, a, l, r) {
|
|
1606
|
-
const { ISOWeek: s, broadcastCalendar: i } = l, { addDays: d, addMonths: f, addWeeks: u, addYears: h, endOfBroadcastWeek: b, endOfISOWeek: C, endOfWeek:
|
|
1606
|
+
const { ISOWeek: s, broadcastCalendar: i } = l, { addDays: d, addMonths: f, addWeeks: u, addYears: h, endOfBroadcastWeek: b, endOfISOWeek: C, endOfWeek: W, max: w, min: O, startOfBroadcastWeek: T, startOfISOWeek: k, startOfWeek: D } = r;
|
|
1607
1607
|
let m = {
|
|
1608
1608
|
day: d,
|
|
1609
1609
|
week: u,
|
|
1610
1610
|
month: f,
|
|
1611
1611
|
year: h,
|
|
1612
1612
|
startOfWeek: (x) => i ? T(x, r) : s ? k(x) : D(x),
|
|
1613
|
-
endOfWeek: (x) => i ? b(x) : s ? C(x) :
|
|
1613
|
+
endOfWeek: (x) => i ? b(x) : s ? C(x) : W(x)
|
|
1614
1614
|
}[e](o, t === "after" ? 1 : -1);
|
|
1615
1615
|
return t === "before" && n ? m = w([n, m]) : t === "after" && a && (m = O([a, m])), m;
|
|
1616
1616
|
}
|
|
@@ -1623,16 +1623,16 @@ function ft(e, t, o, n, a, l, r, s = 0) {
|
|
|
1623
1623
|
function za(e, t, o, n, a) {
|
|
1624
1624
|
const { autoFocus: l } = e, [r, s] = Ee(), i = Ya(t.days, o, n || (() => !1), r), [d, f] = Ee(l ? i : void 0);
|
|
1625
1625
|
return {
|
|
1626
|
-
isFocusTarget: (
|
|
1626
|
+
isFocusTarget: (W) => !!i?.isEqualTo(W),
|
|
1627
1627
|
setFocused: f,
|
|
1628
1628
|
focused: d,
|
|
1629
1629
|
blur: () => {
|
|
1630
1630
|
s(d), f(void 0);
|
|
1631
1631
|
},
|
|
1632
|
-
moveFocus: (
|
|
1632
|
+
moveFocus: (W, w) => {
|
|
1633
1633
|
if (!d)
|
|
1634
1634
|
return;
|
|
1635
|
-
const O = ft(
|
|
1635
|
+
const O = ft(W, w, d, t.navStart, t.navEnd, e, a);
|
|
1636
1636
|
O && (e.disableNavigation && !t.days.some((k) => k.isEqualTo(O)) || (t.goToDay(O), f(O)));
|
|
1637
1637
|
}
|
|
1638
1638
|
};
|
|
@@ -1641,7 +1641,7 @@ function ja(e, t) {
|
|
|
1641
1641
|
const { selected: o, required: n, onSelect: a } = e, [l, r] = ge(o, a ? o : void 0), s = a ? o : l, { isSameDay: i } = t, d = (b) => s?.some((C) => i(C, b)) ?? !1, { min: f, max: u } = e;
|
|
1642
1642
|
return {
|
|
1643
1643
|
selected: s,
|
|
1644
|
-
select: (b, C,
|
|
1644
|
+
select: (b, C, W) => {
|
|
1645
1645
|
let w = [...s ?? []];
|
|
1646
1646
|
if (d(b)) {
|
|
1647
1647
|
if (s?.length === f || n && s?.length === 1)
|
|
@@ -1649,7 +1649,7 @@ function ja(e, t) {
|
|
|
1649
1649
|
w = s?.filter((O) => !i(O, b));
|
|
1650
1650
|
} else
|
|
1651
1651
|
s?.length === u ? w = [b] : w = [...w, b];
|
|
1652
|
-
return a || r(w), a?.(w, b, C,
|
|
1652
|
+
return a || r(w), a?.(w, b, C, W), w;
|
|
1653
1653
|
},
|
|
1654
1654
|
isSelected: d
|
|
1655
1655
|
};
|
|
@@ -1720,7 +1720,7 @@ function $a(e, t) {
|
|
|
1720
1720
|
return {
|
|
1721
1721
|
selected: d,
|
|
1722
1722
|
select: (h, b, C) => {
|
|
1723
|
-
const { min:
|
|
1723
|
+
const { min: W, max: w } = e, O = h ? Ha(h, d, W, w, l, t) : void 0;
|
|
1724
1724
|
return n && o && O?.from && O.to && Ga({ from: O.from, to: O.to }, o, t) && (O.from = h, O.to = void 0), r || i(O), r?.(O, h, b, C), O;
|
|
1725
1725
|
},
|
|
1726
1726
|
isSelected: (h) => d && Q(d, h, !1, t)
|
|
@@ -1819,17 +1819,17 @@ function Za(e) {
|
|
|
1819
1819
|
t.classNames
|
|
1820
1820
|
]);
|
|
1821
1821
|
t.today || (t = { ...t, today: r.today() });
|
|
1822
|
-
const { captionLayout: d, mode: f, navLayout: u, numberOfMonths: h = 1, onDayBlur: b, onDayClick: C, onDayFocus:
|
|
1822
|
+
const { captionLayout: d, mode: f, navLayout: u, numberOfMonths: h = 1, onDayBlur: b, onDayClick: C, onDayFocus: W, onDayKeyDown: w, onDayMouseEnter: O, onDayMouseLeave: T, onNextClick: k, onPrevClick: D, showWeekNumber: g, styles: m } = t, { formatCaption: x, formatDay: P, formatMonthDropdown: F, formatWeekNumber: I, formatWeekNumberHeader: R, formatWeekdayName: te, formatYearDropdown: K } = a, j = Fa(t, r), { days: oe, months: ce, navStart: be, navEnd: ve, previousMonth: q, nextMonth: G, goToMonth: J } = j, ke = Lo(oe, t, be, ve, r), { isSelected: we, select: Me, selected: fe } = Va(t, r) ?? {}, { blur: Ae, focused: ze, isFocusTarget: ht, moveFocus: je, setFocused: he } = za(t, j, ke, we ?? (() => !1), r), { labelDayButton: mt, labelGridcell: pt, labelGrid: yt, labelMonthDropdown: gt, labelNav: He, labelPrevious: bt, labelNext: vt, labelWeekday: kt, labelWeekNumber: wt, labelWeekNumberHeader: Mt, labelYearDropdown: Dt } = l, Ct = ie(() => ua(r, t.ISOWeek, t.broadcastCalendar, t.today), [r, t.ISOWeek, t.broadcastCalendar, t.today]), qe = f !== void 0 || C !== void 0, De = H(() => {
|
|
1823
1823
|
q && (J(q), D?.(q));
|
|
1824
1824
|
}, [q, J, D]), Ce = H(() => {
|
|
1825
1825
|
G && (J(G), k?.(G));
|
|
1826
1826
|
}, [J, G, k]), Ot = H((M, E) => (v) => {
|
|
1827
1827
|
v.preventDefault(), v.stopPropagation(), he(M), !E.disabled && (Me?.(M.date, E, v), C?.(M.date, E, v));
|
|
1828
1828
|
}, [Me, C, he]), xt = H((M, E) => (v) => {
|
|
1829
|
-
he(M),
|
|
1830
|
-
}, [
|
|
1829
|
+
he(M), W?.(M.date, E, v);
|
|
1830
|
+
}, [W, he]), St = H((M, E) => (v) => {
|
|
1831
1831
|
Ae(), b?.(M.date, E, v);
|
|
1832
|
-
}, [Ae, b]),
|
|
1832
|
+
}, [Ae, b]), Wt = H((M, E) => (v) => {
|
|
1833
1833
|
const _ = {
|
|
1834
1834
|
ArrowLeft: [
|
|
1835
1835
|
v.shiftKey ? "month" : "day",
|
|
@@ -1848,8 +1848,8 @@ function Za(e) {
|
|
|
1848
1848
|
};
|
|
1849
1849
|
if (_[v.key]) {
|
|
1850
1850
|
v.preventDefault(), v.stopPropagation();
|
|
1851
|
-
const [V,
|
|
1852
|
-
je(V,
|
|
1851
|
+
const [V, S] = _[v.key];
|
|
1852
|
+
je(V, S);
|
|
1853
1853
|
}
|
|
1854
1854
|
w?.(M.date, E, v);
|
|
1855
1855
|
}, [je, w, t.dir]), Nt = H((M, E) => (v) => {
|
|
@@ -1866,7 +1866,7 @@ function Za(e) {
|
|
|
1866
1866
|
className: [i[p.Root], t.className].filter(Boolean).join(" "),
|
|
1867
1867
|
style: { ...m?.[p.Root], ...t.style }
|
|
1868
1868
|
}), [i, t.className, t.style, m]), It = Xo(t), Ge = me(null);
|
|
1869
|
-
|
|
1869
|
+
Sa(Ge, !!t.animate, {
|
|
1870
1870
|
classNames: i,
|
|
1871
1871
|
months: ce,
|
|
1872
1872
|
focused: ze,
|
|
@@ -1956,13 +1956,13 @@ function Za(e) {
|
|
|
1956
1956
|
locale: s
|
|
1957
1957
|
}), className: i[p.WeekNumber], scope: "row", role: "rowheader" }, I(v.weekNumber, r)),
|
|
1958
1958
|
v.days.map((_) => {
|
|
1959
|
-
const { date: V } = _,
|
|
1960
|
-
if (
|
|
1959
|
+
const { date: V } = _, S = ke(_);
|
|
1960
|
+
if (S[B.focused] = !S.hidden && !!ze?.isEqualTo(_), S[$.selected] = we?.(V) || S.selected, ye(fe)) {
|
|
1961
1961
|
const { from: Oe, to: xe } = fe;
|
|
1962
|
-
|
|
1962
|
+
S[$.range_start] = !!(Oe && xe && r.isSameDay(V, Oe)), S[$.range_end] = !!(Oe && xe && r.isSameDay(V, xe)), S[$.range_middle] = Q(fe, V, !0, r);
|
|
1963
1963
|
}
|
|
1964
|
-
const Yt = da(
|
|
1965
|
-
return c.createElement(n.Day, { key: `${_.isoDate}_${_.displayMonthId}`, day: _, modifiers:
|
|
1964
|
+
const Yt = da(S, m, t.modifiersStyles), At = Ko(S, i, t.modifiersClassNames), zt = !qe && !S.hidden ? pt(V, S, r.options, r) : void 0;
|
|
1965
|
+
return c.createElement(n.Day, { key: `${_.isoDate}_${_.displayMonthId}`, day: _, modifiers: S, className: At.join(" "), style: Yt, role: "gridcell", "aria-selected": S.selected || void 0, "aria-label": zt, "data-day": _.isoDate, "data-month": _.outside ? _.dateMonthId : void 0, "data-selected": S.selected || void 0, "data-disabled": S.disabled || void 0, "data-hidden": S.hidden || void 0, "data-outside": _.outside || void 0, "data-focused": S.focused || void 0, "data-today": S.today || void 0 }, !S.hidden && qe ? c.createElement(n.DayButton, { className: i[p.DayButton], style: m?.[p.DayButton], type: "button", day: _, modifiers: S, disabled: !S.focused && S.disabled || void 0, "aria-disabled": S.focused && S.disabled || void 0, tabIndex: ht(_) ? 0 : -1, "aria-label": mt(V, S, r.options, r), onClick: Ot(_, S), onBlur: St(_, S), onFocus: xt(_, S), onKeyDown: Wt(_, S), onMouseEnter: Nt(_, S), onMouseLeave: Tt(_, S) }, P(V, r.options, r)) : !S.hidden && P(_.date, r.options, r));
|
|
1966
1966
|
})
|
|
1967
1967
|
)))
|
|
1968
1968
|
)
|
|
@@ -2357,7 +2357,7 @@ function Or({ className: e, variant: t, ...o }) {
|
|
|
2357
2357
|
return /* @__PURE__ */ N("div", { className: y(Xa({ variant: t }), e), ...o });
|
|
2358
2358
|
}
|
|
2359
2359
|
export {
|
|
2360
|
-
|
|
2360
|
+
Wr as Accordion,
|
|
2361
2361
|
Nr as AccordionContent,
|
|
2362
2362
|
Tr as AccordionItem,
|
|
2363
2363
|
_r as AccordionTrigger,
|
|
@@ -2368,13 +2368,13 @@ export {
|
|
|
2368
2368
|
Dr as ButtonGroupText,
|
|
2369
2369
|
pr as Calendar,
|
|
2370
2370
|
Ua as CalendarDayButton,
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2371
|
+
ci as Card,
|
|
2372
|
+
fi as CardAction,
|
|
2373
|
+
hi as CardContent,
|
|
2374
|
+
mi as CardDescription,
|
|
2375
|
+
pi as CardFooter,
|
|
2376
|
+
yi as CardHeader,
|
|
2377
|
+
gi as CardTitle,
|
|
2378
2378
|
Er as ChartContainer,
|
|
2379
2379
|
Pr as ChartLegend,
|
|
2380
2380
|
Br as ChartLegendContent,
|
|
@@ -2442,8 +2442,8 @@ export {
|
|
|
2442
2442
|
Cs as SelectGroup,
|
|
2443
2443
|
Os as SelectItem,
|
|
2444
2444
|
xs as SelectLabel,
|
|
2445
|
-
|
|
2446
|
-
|
|
2445
|
+
Ss as SelectScrollDownButton,
|
|
2446
|
+
Ws as SelectScrollUpButton,
|
|
2447
2447
|
Ns as SelectSeparator,
|
|
2448
2448
|
Ts as SelectTrigger,
|
|
2449
2449
|
_s as SelectValue,
|
|
@@ -2470,10 +2470,18 @@ export {
|
|
|
2470
2470
|
Ks as TabsList,
|
|
2471
2471
|
Js as TabsTrigger,
|
|
2472
2472
|
Gt as Textarea,
|
|
2473
|
-
Xs as
|
|
2474
|
-
Qs as
|
|
2475
|
-
ei as
|
|
2476
|
-
ti as
|
|
2473
|
+
Xs as Timeline,
|
|
2474
|
+
Qs as TimelineContent,
|
|
2475
|
+
ei as TimelineDate,
|
|
2476
|
+
ti as TimelineHeader,
|
|
2477
|
+
ni as TimelineIndicator,
|
|
2478
|
+
oi as TimelineItem,
|
|
2479
|
+
ai as TimelineSeparator,
|
|
2480
|
+
ri as TimelineTitle,
|
|
2481
|
+
si as Tooltip,
|
|
2482
|
+
ii as TooltipContent,
|
|
2483
|
+
li as TooltipProvider,
|
|
2484
|
+
di as TooltipTrigger,
|
|
2477
2485
|
Xa as badgeVariants,
|
|
2478
2486
|
Ja as buttonGroupVariants,
|
|
2479
2487
|
y as cn,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grapadigital/shared-app-modules",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.77",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
7
7
|
],
|
|
@@ -136,6 +136,7 @@
|
|
|
136
136
|
"cmdk": "^1.1.1",
|
|
137
137
|
"date-fns": "^4.1.0",
|
|
138
138
|
"lucide-react": "^0.555.0",
|
|
139
|
+
"radix-ui": "^1.4.3",
|
|
139
140
|
"react": "^18.3.1",
|
|
140
141
|
"react-day-picker": "^9.11.3",
|
|
141
142
|
"react-dom": "^18.3.1",
|
package/dist/assets/chart.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 224 71.4% 4.1%;--card: 0 0% 100%;--card-foreground: 224 71.4% 4.1%;--popover: 0 0% 100%;--popover-foreground: 224 71.4% 4.1%;--primary: 220.9 39.3% 11%;--primary-foreground: 210 20% 98%;--secondary: 220 14.3% 95.9%;--secondary-foreground: 220.9 39.3% 11%;--muted: 220 14.3% 95.9%;--muted-foreground: 220 8.9% 46.1%;--accent: 220 14.3% 95.9%;--accent-foreground: 220.9 39.3% 11%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 20% 98%;--border: 220 13% 91%;--input: 220 13% 91%;--ring: 224 71.4% 4.1%;--chart-1: 12 76% 61%;--chart-2: 173 58% 39%;--chart-3: 197 37% 24%;--chart-4: 43 74% 66%;--chart-5: 27 87% 67%;--radius: .5rem}.dark{--background: 224 71.4% 4.1%;--foreground: 210 20% 98%;--card: 224 71.4% 4.1%;--card-foreground: 210 20% 98%;--popover: 224 71.4% 4.1%;--popover-foreground: 210 20% 98%;--primary: 210 20% 98%;--primary-foreground: 220.9 39.3% 11%;--secondary: 215 27.9% 16.9%;--secondary-foreground: 210 20% 98%;--muted: 215 27.9% 16.9%;--muted-foreground: 217.9 10.6% 64.9%;--accent: 215 27.9% 16.9%;--accent-foreground: 210 20% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 20% 98%;--border: 215 27.9% 16.9%;--input: 215 27.9% 16.9%;--ring: 216 12.2% 83.9%;--chart-1: 220 70% 50%;--chart-2: 160 60% 45%;--chart-3: 30 80% 55%;--chart-4: 280 65% 60%;--chart-5: 340 75% 55%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-\[50\%\]{left:50%}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.order-first{order:-9999}.order-last{order:9999}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2 / span 2}.row-start-1{grid-row-start:1}.\!m-0{margin:0!important}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-10{width:2.5rem;height:2.5rem}.size-16{width:4rem;height:4rem}.size-20{width:5rem;height:5rem}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-\[--cell-size\]{width:var(--cell-size);height:var(--cell-size)}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[--cell-size\]{height:var(--cell-size)}.h-\[1px\]{height:1px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.min-h-\[60px\]{min-height:60px}.w-0{width:0px}.w-1{width:.25rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-64{width:16rem}.w-72{width:18rem}.w-\[--cell-size\]{width:var(--cell-size)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.min-w-\[--cell-size\]{min-width:var(--cell-size)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-popper-anchor-width\)\]{min-width:var(--radix-popper-anchor-width)}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-\[2px\]{border-radius:2px}.rounded-\[calc\(var\(--radius\)-5px\)\]{border-radius:calc(var(--radius) - 5px)}.rounded-full{border-radius:9999px}.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:.75rem}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.border{border-width:1px}.border-0{border-width:0px}.border-\[0\.375rem\]{border-width:.375rem}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-muted-foreground\/20{border-color:hsl(var(--muted-foreground) / .2)}.border-primary{border-color:hsl(var(--primary))}.border-transparent{border-color:transparent}.border-t-gray-700{--tw-border-opacity: 1;border-top-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.bg-\[\#ffe0b2\]{--tw-bg-opacity: 1;background-color:rgb(255 224 178 / var(--tw-bg-opacity, 1))}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-cyan-50{--tw-bg-opacity: 1;background-color:rgb(236 254 255 / var(--tw-bg-opacity, 1))}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity, 1))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-fuchsia-50{--tw-bg-opacity: 1;background-color:rgb(253 244 255 / var(--tw-bg-opacity, 1))}.bg-fuchsia-500{--tw-bg-opacity: 1;background-color:rgb(217 70 239 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-input{background-color:hsl(var(--input))}.bg-lime-50{--tw-bg-opacity: 1;background-color:rgb(247 254 231 / var(--tw-bg-opacity, 1))}.bg-lime-500{--tw-bg-opacity: 1;background-color:rgb(132 204 22 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-neutral-200{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.bg-neutral-500{--tw-bg-opacity: 1;background-color:rgb(115 115 115 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-pink-50{--tw-bg-opacity: 1;background-color:rgb(253 242 248 / var(--tw-bg-opacity, 1))}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-300{--tw-bg-opacity: 1;background-color:rgb(252 165 165 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-rose-50{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.bg-rose-500{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sky-50{--tw-bg-opacity: 1;background-color:rgb(240 249 255 / var(--tw-bg-opacity, 1))}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))}.bg-stone-200{--tw-bg-opacity: 1;background-color:rgb(231 229 228 / var(--tw-bg-opacity, 1))}.bg-stone-500{--tw-bg-opacity: 1;background-color:rgb(120 113 108 / var(--tw-bg-opacity, 1))}.bg-teal-50{--tw-bg-opacity: 1;background-color:rgb(240 253 250 / var(--tw-bg-opacity, 1))}.bg-teal-500{--tw-bg-opacity: 1;background-color:rgb(20 184 166 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-violet-50{--tw-bg-opacity: 1;background-color:rgb(245 243 255 / var(--tw-bg-opacity, 1))}.bg-violet-500{--tw-bg-opacity: 1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-300{--tw-bg-opacity: 1;background-color:rgb(253 224 71 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-zinc-200{--tw-bg-opacity: 1;background-color:rgb(228 228 231 / var(--tw-bg-opacity, 1))}.bg-zinc-500{--tw-bg-opacity: 1;background-color:rgb(113 113 122 / var(--tw-bg-opacity, 1))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[--cell-size\]{padding-left:var(--cell-size);padding-right:var(--cell-size)}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[18px\]{font-size:18px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.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)}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-destructive\/60{color:hsl(var(--destructive) / .6)}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-fuchsia-600{--tw-text-opacity: 1;color:rgb(192 38 211 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-lime-600{--tw-text-opacity: 1;color:rgb(101 163 13 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-neutral-800{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-rose-600{--tw-text-opacity: 1;color:rgb(225 29 72 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-stone-800{--tw-text-opacity: 1;color:rgb(41 37 36 / var(--tw-text-opacity, 1))}.text-teal-600{--tw-text-opacity: 1;color:rgb(13 148 136 / var(--tw-text-opacity, 1))}.text-violet-600{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-zinc-800{--tw-text-opacity: 1;color:rgb(39 39 42 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.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{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.\[--cell-size\:2rem\]{--cell-size: 2rem}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.last\:mt-0:last-child{margin-top:0}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-green-500\/80:hover{background-color:#22c55ecc}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-orange-500\/80:hover{background-color:#f97316cc}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:border-ring:focus-visible{border-color:hsl(var(--ring))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color: hsl(var(--destructive) / .2)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color: hsl(var(--ring) / .5)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button){margin-left:-.45rem}.has-\[\>button\]\:mr-\[-0\.4rem\]:has(>button){margin-right:-.4rem}.has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd){margin-left:-.35rem}.has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd){margin-right:-.35rem}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){gap:.5rem}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:.75rem}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:.75rem}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--radius) - 2px)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-width:1px}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:hsl(var(--destructive))}.has-\[\>svg\]\:p-0:has(>svg){padding:0}.has-\[\>svg\]\:px-2:has(>svg){padding-left:.5rem;padding-right:.5rem}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-left:.625rem;padding-right:.625rem}.has-\[\>svg\]\:px-3:has(>svg){padding-left:.75rem;padding-right:.75rem}.has-\[\>svg\]\:px-4:has(>svg){padding-left:1rem;padding-right:1rem}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-1:has([data-slot=input-group-control]:focus-visible){--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring:has([data-slot=input-group-control]:focus-visible){--tw-ring-color: hsl(var(--ring))}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color: hsl(var(--destructive) / .2)}.group\/field:has([data-orientation=horizontal]) .group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance{text-wrap:balance}.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pb-2\.5{padding-bottom:.625rem}.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pt-2\.5{padding-top:.625rem}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:.75rem}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 2px)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:hsl(var(--primary))}.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:hsl(var(--accent))}.data-\[range-start\=true\]\:bg-primary[data-range-start=true],.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:hsl(var(--primary))}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:.875rem;line-height:1.25rem}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:1rem;line-height:1.5rem}.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:hsl(var(--destructive))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:hsl(var(--primary-foreground))}.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:hsl(var(--accent-foreground))}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true],.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:hsl(var(--primary-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:relative{position:relative}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:z-10{z-index:10}.group\/field-group[data-variant=outline] .group-data-\[variant\=outline\]\/field-group\:-mb-2{margin-bottom:-.5rem}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:border-ring{border-color:hsl(var(--ring))}.group\/field[data-disabled=true] .group-data-\[disabled\=true\]\/field\:opacity-50,.group\/input-group[data-disabled=true] .group-data-\[disabled\=true\]\/input-group\:opacity-50{opacity:.5}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-\[3px\]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-ring\/50{--tw-ring-color: hsl(var(--ring) / .5)}.dark\:border-input:is(.dark *){border-color:hsl(var(--input))}.dark\:bg-destructive\/60:is(.dark *){background-color:hsl(var(--destructive) / .6)}.dark\:bg-input\/30:is(.dark *){background-color:hsl(var(--input) / .3)}.dark\:bg-transparent:is(.dark *){background-color:transparent}.dark\:hover\:bg-accent\/50:hover:is(.dark *){background-color:hsl(var(--accent) / .5)}.dark\:hover\:bg-input\/50:hover:is(.dark *){background-color:hsl(var(--input) / .5)}.dark\:focus-visible\:ring-destructive\/40:focus-visible:is(.dark *){--tw-ring-color: hsl(var(--destructive) / .4)}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]):is(.dark *){--tw-ring-color: hsl(var(--destructive) / .4)}@media(min-width:640px){.sm\:max-w-lg{max-width:32rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:w-\[8rem\]{width:8rem}.md\:max-w-sm{max-width:24rem}.md\:flex-row{flex-direction:row}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>*:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>*:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>*:not(:first-child){border-left-width:0px}.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>*:not(:first-child){border-top-width:0px}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>*:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>*:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\]\:w-full>*{width:100%}.\[\&\>\*\]\:focus-visible\:relative:focus-visible>*{position:relative}.\[\&\>\*\]\:focus-visible\:z-10:focus-visible>*{z-index:10}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{gap:1rem}.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:1 1 auto}.\[\&\>\[data-slot\=field\]\]\:p-4>[data-slot=field]{padding:1rem}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md>[data-slot=select-trigger]:last-of-type:has(select[aria-hidden=true]:last-child){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:-moz-fit-content;width:fit-content}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>a\:hover\]\:text-primary>a:hover{color:hsl(var(--primary))}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>input\]\:flex-1>input{flex:1 1 0%}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3>input:has(>[data-align=block-end]){padding-top:.75rem}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3>input:has(>[data-align=block-start]){padding-bottom:.75rem}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2>input:has(>[data-align=inline-end]){padding-right:.5rem}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2>input:has(>[data-align=inline-start]){padding-left:.5rem}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>span\]\:text-xs>span{font-size:.75rem;line-height:1rem}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:.875rem;height:.875rem}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]){width:1rem;height:1rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:transparent}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:-.375rem}
|