vlite3 1.4.26 → 1.4.27

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.
@@ -15,6 +15,7 @@ import "v-tooltip-lite/style.css";
15
15
  /* empty css */
16
16
  import "v-datepicker-lite";
17
17
  import "v-datepicker-lite/style.css";
18
+ /* empty css */
18
19
  import "@jaames/iro";
19
20
  import "@vueuse/core";
20
21
  /* empty css */
@@ -45,7 +46,7 @@ const Ue = { class: "flex items-center justify-between mb-6" }, Oe = { class: "t
45
46
  }, Le = {
46
47
  key: 0,
47
48
  class: "absolute inset-0 z-10 flex items-center justify-center rounded-xl bg-background/60 backdrop-blur-[1px] transition-opacity"
48
- }, We = { class: "flex items-center gap-2 text-sm text-muted-foreground" }, At = /* @__PURE__ */ Me({
49
+ }, We = { class: "flex items-center gap-2 text-sm text-muted-foreground" }, kt = /* @__PURE__ */ Me({
49
50
  __name: "CategoryManager",
50
51
  props: {
51
52
  modelValue: { default: () => [] },
@@ -494,5 +495,5 @@ const Ue = { class: "flex items-center justify-between mb-6" }, Oe = { class: "t
494
495
  }
495
496
  });
496
497
  export {
497
- At as default
498
+ kt as default
498
499
  };
@@ -9,8 +9,20 @@ interface Props {
9
9
  position?: TooltTipPlacement;
10
10
  btnProps?: ButtonProps;
11
11
  showInput?: boolean;
12
+ trigger?: 'input' | 'button';
12
13
  }
13
- declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
14
+ declare function __VLS_template(): {
15
+ attrs: Partial<{}>;
16
+ slots: {
17
+ trigger?(_: {
18
+ isOpen: any;
19
+ }): any;
20
+ };
21
+ refs: {};
22
+ rootEl: HTMLDivElement;
23
+ };
24
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
25
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
14
26
  change: (value: string) => any;
15
27
  "update:modelValue": (value: string) => any;
16
28
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
@@ -22,7 +34,14 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
22
34
  rounded: InputRounded;
23
35
  disabled: boolean;
24
36
  modelValue: string;
37
+ trigger: "input" | "button";
25
38
  position: TooltTipPlacement;
26
39
  showInput: boolean;
27
40
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
41
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
28
42
  export default _default;
43
+ type __VLS_WithTemplateSlots<T, S> = T & {
44
+ new (): {
45
+ $slots: S;
46
+ };
47
+ };
@@ -1,22 +1,22 @@
1
- import { defineComponent as C, ref as p, watch as d, openBlock as s, createBlock as v, unref as b, withCtx as u, createElementBlock as h, createVNode as c, createCommentVNode as m, createElementVNode as n, normalizeClass as $, normalizeStyle as B } from "vue";
2
- import O from "../Dropdown/Dropdown.vue.js";
1
+ import { defineComponent as $, ref as y, watch as r, openBlock as a, createBlock as d, unref as b, withCtx as u, createElementBlock as c, createVNode as m, createCommentVNode as f, createElementVNode as p, renderSlot as B, mergeProps as O, normalizeClass as E, normalizeStyle as P } from "vue";
2
+ import N from "../Dropdown/Dropdown.vue.js";
3
3
  import "@iconify/vue";
4
- import y from "../Input.vue.js";
4
+ import g from "../Input.vue.js";
5
5
  /* empty css */
6
6
  import "../../core/config.js";
7
7
  /* empty css */
8
8
  /* empty css */
9
- import E from "../Button.vue.js";
10
- import _ from "./ColorIro.vue.js";
9
+ import h from "../Button.vue.js";
10
+ import S from "./ColorIro.vue.js";
11
11
  /* empty css */
12
- import { useEyeDropper as I } from "@vueuse/core";
13
- const N = { class: "absolute left-2.5 top-1/2 -translate-y-1/2 flex items-center justify-center z-20 pointer-events-none" }, j = {
12
+ import { useEyeDropper as j } from "@vueuse/core";
13
+ const D = { class: "absolute left-2.5 top-1/2 -translate-y-1/2 flex items-center justify-center z-20 pointer-events-none" }, I = {
14
14
  key: 0,
15
15
  class: "p-1 w-max flex flex-col justify-center"
16
- }, D = {
16
+ }, U = {
17
17
  key: 0,
18
18
  class: "flex items-center gap-1.5 w-full"
19
- }, P = { class: "w-32" }, T = /* @__PURE__ */ C({
19
+ }, A = { class: "flex-1 w-0 min-w-0" }, Y = /* @__PURE__ */ $({
20
20
  __name: "ColorPicker",
21
21
  props: {
22
22
  modelValue: { default: "#000000" },
@@ -26,103 +26,116 @@ const N = { class: "absolute left-2.5 top-1/2 -translate-y-1/2 flex items-center
26
26
  rounded: { default: "md" },
27
27
  position: { default: "bottom" },
28
28
  btnProps: {},
29
- showInput: { type: Boolean, default: !0 }
29
+ showInput: { type: Boolean, default: !0 },
30
+ trigger: { default: "input" }
30
31
  },
31
32
  emits: ["update:modelValue", "change"],
32
- setup(o, { emit: x }) {
33
- const i = o, f = x, r = p(!1), t = p(i.modelValue || "#000000"), { isSupported: V, open: g, sRGBHex: k } = I();
34
- d(k, (e) => {
33
+ setup(o, { emit: k }) {
34
+ const s = o, v = k, i = y(!1), t = y(s.modelValue || "#000000"), { isSupported: V, open: x, sRGBHex: z } = j();
35
+ r(z, (e) => {
35
36
  e && (t.value = e);
36
37
  });
37
- const z = async () => {
38
+ const w = async () => {
38
39
  try {
39
- await g();
40
+ await x();
40
41
  } catch (e) {
41
42
  console.error("Error opening eyedropper:", e);
42
43
  }
43
44
  };
44
- d(
45
- () => i.modelValue,
45
+ r(
46
+ () => s.modelValue,
46
47
  (e) => {
47
48
  e && e !== t.value && (t.value = e);
48
49
  }
49
- ), d(t, (e) => {
50
- /^#([0-9A-F]{3,8})$/i.test(e) && e !== i.modelValue && (f("update:modelValue", e), f("change", e));
50
+ ), r(t, (e) => {
51
+ /^#([0-9A-F]{3,8})$/i.test(e) && e !== s.modelValue && (v("update:modelValue", e), v("change", e));
51
52
  });
52
- const w = (e) => {
53
+ const C = (e) => {
53
54
  t.value = e;
54
55
  };
55
- return (e, l) => (s(), v(b(O), {
56
+ return (e, l) => (a(), d(b(N), {
56
57
  disabled: o.disabled,
57
58
  class: "w-full",
58
59
  position: o.position,
59
60
  offset: [0, 8],
60
61
  searchable: !1,
61
62
  "close-on-select": !1,
62
- onOnOpen: l[1] || (l[1] = (a) => r.value = !0),
63
- onOnClose: l[2] || (l[2] = (a) => r.value = !1)
63
+ onOnOpen: l[1] || (l[1] = (n) => i.value = !0),
64
+ onOnClose: l[2] || (l[2] = (n) => i.value = !1)
64
65
  }, {
65
- trigger: u(({ isOpen: a }) => [
66
- n("div", {
67
- class: $(["w-full relative cursor-pointer", [o.disabled ? "opacity-50 pointer-events-none" : ""]])
68
- }, [
69
- c(y, {
70
- "model-value": o.modelValue,
71
- readonly: "",
72
- disabled: o.disabled,
73
- size: o.size,
74
- variant: o.variant,
75
- rounded: o.rounded,
76
- class: "pointer-events-none",
77
- "input-class": "pl-9 font-mono uppercase cursor-pointer"
78
- }, null, 8, ["model-value", "disabled", "size", "variant", "rounded"]),
79
- n("div", N, [
80
- n("div", {
81
- class: "w-4 h-4 rounded-full shadow-[inset_0_0_0_1px_rgba(0,0,0,0.1)] dark:shadow-[inset_0_0_0_1px_rgba(255,255,255,0.1)]",
82
- style: B({ backgroundColor: o.modelValue })
83
- }, null, 4)
84
- ])
85
- ], 2)
66
+ trigger: u(({ isOpen: n }) => [
67
+ B(e.$slots, "trigger", { isOpen: n }, () => [
68
+ o.trigger === "button" ? (a(), d(h, O({
69
+ key: 0,
70
+ style: { backgroundColor: o.modelValue }
71
+ }, {
72
+ rounded: "full",
73
+ size: "xs",
74
+ icon: " ",
75
+ variant: "outline",
76
+ ...o.btnProps || {}
77
+ }), null, 16, ["style"])) : (a(), c("div", {
78
+ key: 1,
79
+ class: E(["w-full relative cursor-pointer", [o.disabled ? "opacity-50 pointer-events-none" : ""]])
80
+ }, [
81
+ m(g, {
82
+ "model-value": o.modelValue,
83
+ readonly: "",
84
+ disabled: o.disabled,
85
+ size: o.size,
86
+ variant: o.variant,
87
+ rounded: o.rounded,
88
+ class: "pointer-events-none",
89
+ "input-class": "pl-9 font-mono uppercase cursor-pointer"
90
+ }, null, 8, ["model-value", "disabled", "size", "variant", "rounded"]),
91
+ p("div", D, [
92
+ p("div", {
93
+ class: "w-4 h-4 rounded-full shadow-[inset_0_0_0_1px_rgba(0,0,0,0.1)] dark:shadow-[inset_0_0_0_1px_rgba(255,255,255,0.1)]",
94
+ style: P({ backgroundColor: o.modelValue })
95
+ }, null, 4)
96
+ ])
97
+ ], 2))
98
+ ])
86
99
  ]),
87
100
  default: u(() => [
88
- r.value ? (s(), h("div", j, [
89
- c(_, {
101
+ i.value ? (a(), c("div", I, [
102
+ m(S, {
90
103
  color: o.modelValue,
91
104
  "show-header": !1,
92
105
  size: o.size,
93
- "onUpdate:color": w
106
+ "onUpdate:color": C
94
107
  }, {
95
108
  bottom: u(() => [
96
- o.showInput ? (s(), h("div", D, [
97
- b(V) ? (s(), v(E, {
109
+ o.showInput ? (a(), c("div", U, [
110
+ b(V) ? (a(), d(h, {
98
111
  key: 0,
99
- onClick: z,
112
+ onClick: w,
100
113
  icon: "pepicons-pop:color-picker",
101
114
  variant: "outline",
102
115
  size: "sm",
103
116
  class: "px-2 shrink-0"
104
- })) : m("", !0),
105
- n("div", P, [
106
- c(y, {
117
+ })) : f("", !0),
118
+ p("div", A, [
119
+ m(g, {
107
120
  modelValue: t.value,
108
- "onUpdate:modelValue": l[0] || (l[0] = (a) => t.value = a),
121
+ "onUpdate:modelValue": l[0] || (l[0] = (n) => t.value = n),
109
122
  size: "sm",
110
123
  "show-clear-button": !1,
111
124
  placeholder: "#000000",
112
- class: "flex-1 w-full",
125
+ class: "w-full",
113
126
  "input-class": "font-mono text-xs uppercase "
114
127
  }, null, 8, ["modelValue"])
115
128
  ])
116
- ])) : m("", !0)
129
+ ])) : f("", !0)
117
130
  ]),
118
131
  _: 1
119
132
  }, 8, ["color", "size"])
120
- ])) : m("", !0)
133
+ ])) : f("", !0)
121
134
  ]),
122
- _: 1
135
+ _: 3
123
136
  }, 8, ["disabled", "position"]));
124
137
  }
125
138
  });
126
139
  export {
127
- T as default
140
+ Y as default
128
141
  };
@@ -1,241 +1,7 @@
1
- import { defineComponent as $, ref as b, watch as F, computed as u, openBlock as d, createBlock as m, unref as v, withCtx as D, createElementVNode as i, createElementBlock as w, Fragment as L, renderList as T, createCommentVNode as z, createVNode as h, normalizeClass as y, toDisplayString as x, createTextVNode as B } from "vue";
2
- import E from "./Dropdown/Dropdown.vue.js";
3
- import R from "./Icon.vue.js";
4
- import { $t as l } from "../utils/i18n.js";
5
- /* empty css */
6
- /* empty css */
7
- /* empty css */
8
- import P from "./Button.vue.js";
9
- import p from "v-datepicker-lite";
10
- import "v-datepicker-lite/style.css";
11
- const j = { class: "flex items-center justify-start gap-2 w-full" }, H = { class: "flex flex-col sm:flex-row bg-background rounded-md" }, Q = {
12
- key: 0,
13
- class: "flex flex-col gap-1 sm:pr-3 py-2 sm:border-r border-border max-h-[280px]"
14
- }, O = { class: "flex flex-col sm:flex-row items-center gap-4 py-2 p-3" }, I = { class: "border border-border rounded-md overflow-hidden bg-background" }, U = { class: "flex items-center justify-center shrink-0" }, q = { class: "border border-border rounded-md overflow-hidden bg-background" }, le = /* @__PURE__ */ $({
15
- __name: "DateRangePicker",
16
- props: {
17
- modelValue: {},
18
- placeholderStart: { default: "Start Date" },
19
- placeholderEnd: { default: "End Date" },
20
- minDate: {},
21
- maxDate: {},
22
- disabled: { type: Boolean },
23
- readonly: { type: Boolean },
24
- size: {},
25
- variant: {},
26
- showQuickRanges: { type: Boolean, default: !0 },
27
- triggerClass: {}
28
- },
29
- emits: ["update:modelValue", "change"],
30
- setup(s, { emit: M }) {
31
- const g = s, k = M, o = b(!1), c = b(0);
32
- F(o, (a) => {
33
- a && c.value++;
34
- });
35
- const n = u({
36
- get: () => {
37
- const a = g.modelValue;
38
- return a ? {
39
- startDate: a.startDate !== void 0 ? a.startDate : a.start,
40
- endDate: a.endDate !== void 0 ? a.endDate : a.end
41
- } : { startDate: null, endDate: null };
42
- },
43
- set: (a) => {
44
- k("update:modelValue", a), k("change", a);
45
- }
46
- }), Y = (a) => {
47
- n.value = { ...n.value, startDate: a };
48
- }, S = (a) => {
49
- n.value = { ...n.value, endDate: a };
50
- }, C = u(() => {
51
- if (n.value.endDate) {
52
- const a = new Date(n.value.endDate);
53
- if (!isNaN(a.getTime())) return a.toISOString();
54
- }
55
- return g.maxDate;
56
- }), N = u(() => {
57
- if (n.value.startDate) {
58
- const a = new Date(n.value.startDate);
59
- if (!isNaN(a.getTime())) return a.toISOString();
60
- }
61
- return g.minDate;
62
- }), f = (a) => {
63
- if (!a) return "";
64
- try {
65
- const e = new Date(a);
66
- return isNaN(e.getTime()) ? "" : e.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
67
- } catch {
68
- return "";
69
- }
70
- }, V = u(() => [
71
- {
72
- label: l("vlite.dateRangePicker.today") !== "vlite.dateRangePicker.today" ? l("vlite.dateRangePicker.today") : "Today",
73
- value: "today",
74
- icon: "lucide:calendar"
75
- },
76
- {
77
- label: l("vlite.dateRangePicker.yesterday") !== "vlite.dateRangePicker.yesterday" ? l("vlite.dateRangePicker.yesterday") : "Yesterday",
78
- value: "yesterday",
79
- icon: "lucide:calendar-minus"
80
- },
81
- {
82
- label: l("vlite.dateRangePicker.last7Days") !== "vlite.dateRangePicker.last7Days" ? l("vlite.dateRangePicker.last7Days") : "Last 7 Days",
83
- value: "last_7_days",
84
- icon: "lucide:calendar-days"
85
- },
86
- {
87
- label: l("vlite.dateRangePicker.last30Days") !== "vlite.dateRangePicker.last30Days" ? l("vlite.dateRangePicker.last30Days") : "Last 30 Days",
88
- value: "last_30_days",
89
- icon: "lucide:calendar-days"
90
- },
91
- {
92
- label: l("vlite.dateRangePicker.thisMonth") !== "vlite.dateRangePicker.thisMonth" ? l("vlite.dateRangePicker.thisMonth") : "This Month",
93
- value: "this_month",
94
- icon: "lucide:calendar-range"
95
- },
96
- {
97
- label: l("vlite.dateRangePicker.lastMonth") !== "vlite.dateRangePicker.lastMonth" ? l("vlite.dateRangePicker.lastMonth") : "Last Month",
98
- value: "last_month",
99
- icon: "lucide:calendar-range"
100
- },
101
- {
102
- label: l("vlite.dateRangePicker.last6Months") !== "vlite.dateRangePicker.last6Months" ? l("vlite.dateRangePicker.last6Months") : "Last 6 Months",
103
- value: "last_6_months",
104
- icon: "lucide:history"
105
- },
106
- {
107
- label: l("vlite.dateRangePicker.thisYear") !== "vlite.dateRangePicker.thisYear" ? l("vlite.dateRangePicker.thisYear") : "This Year",
108
- value: "this_year",
109
- icon: "lucide:calendar-check"
110
- },
111
- {
112
- label: l("vlite.dateRangePicker.lastYear") !== "vlite.dateRangePicker.lastYear" ? l("vlite.dateRangePicker.lastYear") : "Last Year",
113
- value: "last_year",
114
- icon: "lucide:history"
115
- }
116
- ]), _ = (a) => {
117
- const e = /* @__PURE__ */ new Date();
118
- let t = /* @__PURE__ */ new Date(), r = /* @__PURE__ */ new Date();
119
- switch (e.setHours(0, 0, 0, 0), t.setHours(0, 0, 0, 0), r.setHours(0, 0, 0, 0), a.value) {
120
- case "today":
121
- t = new Date(e), r = new Date(e);
122
- break;
123
- case "yesterday":
124
- t = new Date(e), t.setDate(t.getDate() - 1), r = new Date(t);
125
- break;
126
- case "last_7_days":
127
- t = new Date(e), t.setDate(t.getDate() - 6), r = new Date(e);
128
- break;
129
- case "last_30_days":
130
- t = new Date(e), t.setDate(t.getDate() - 29), r = new Date(e);
131
- break;
132
- case "this_month":
133
- t = new Date(e.getFullYear(), e.getMonth(), 1), r = new Date(e);
134
- break;
135
- case "last_month":
136
- t = new Date(e.getFullYear(), e.getMonth() - 1, 1), r = new Date(e.getFullYear(), e.getMonth(), 0);
137
- break;
138
- case "last_6_months":
139
- t = new Date(e.getFullYear(), e.getMonth() - 5, 1), r = new Date(e);
140
- break;
141
- case "this_year":
142
- t = new Date(e.getFullYear(), 0, 1), r = new Date(e);
143
- break;
144
- case "last_year":
145
- t = new Date(e.getFullYear() - 1, 0, 1), r = new Date(e.getFullYear() - 1, 11, 31);
146
- break;
147
- }
148
- n.value = { startDate: t, endDate: r }, c.value++, o.value = !1;
149
- };
150
- return (a, e) => (d(), m(v(E), {
151
- isOpen: o.value,
152
- "onUpdate:isOpen": e[0] || (e[0] = (t) => o.value = t),
153
- position: "bottom-start",
154
- disabled: s.disabled || s.readonly,
155
- class: "w-full sm:w-auto inline-block",
156
- maxHeight: "none"
157
- }, {
158
- trigger: D(({ isOpen: t }) => [
159
- h(P, {
160
- icon: "lucide:calendar",
161
- variant: s.variant || "outline",
162
- size: s.size || "md",
163
- disabled: s.disabled,
164
- class: y(["w-full justify-between text-left font-normal", [s.triggerClass, { "ring-1 ring-ring ring-offset-[1]": t }]]),
165
- "data-testid": a.$attrs["data-testid"] || (a.$attrs.name ? `daterange-${a.$attrs.name}` : "daterange")
166
- }, {
167
- default: D(() => [
168
- i("div", j, [
169
- i("span", {
170
- class: y({ "text-muted-foreground": !n.value.startDate })
171
- }, x(n.value.startDate ? f(n.value.startDate) : s.placeholderStart), 3),
172
- e[1] || (e[1] = B(" — ", -1)),
173
- i("span", {
174
- class: y({ "text-muted-foreground": !n.value.endDate })
175
- }, x(n.value.endDate ? f(n.value.endDate) : s.placeholderEnd), 3)
176
- ])
177
- ]),
178
- _: 1
179
- }, 8, ["variant", "size", "disabled", "class", "data-testid"])
180
- ]),
181
- menu: D(() => [
182
- i("div", H, [
183
- s.showQuickRanges ? (d(), w("div", Q, [
184
- e[2] || (e[2] = i("div", { class: "text-xs pl-2 pb-2 font-semibold text-muted-foreground uppercase tracking-wider" }, " Quick Ranges ", -1)),
185
- (d(!0), w(L, null, T(V.value, (t) => (d(), m(P, {
186
- key: t.value,
187
- text: t.label,
188
- icon: t.icon,
189
- variant: "ghost",
190
- size: "sm",
191
- class: "justify-start w-full font-normal",
192
- onClick: (r) => _(t)
193
- }, null, 8, ["text", "icon", "onClick"]))), 128))
194
- ])) : z("", !0),
195
- i("div", O, [
196
- i("div", I, [
197
- (d(), m(v(p), {
198
- key: "start-" + c.value,
199
- value: n.value.startDate,
200
- onChange: Y,
201
- mode: "date",
202
- "max-date": C.value,
203
- "min-date": s.minDate,
204
- disabled: s.disabled,
205
- class: "min-w-[270px]",
206
- readonly: s.readonly
207
- }, null, 8, ["value", "max-date", "min-date", "disabled", "readonly"]))
208
- ]),
209
- i("div", U, [
210
- h(R, {
211
- icon: "lucide:arrow-right",
212
- class: "w-5 h-5 text-muted-foreground hidden sm:block opacity-50"
213
- }),
214
- h(R, {
215
- icon: "lucide:arrow-down",
216
- class: "w-5 h-5 text-muted-foreground sm:hidden opacity-50"
217
- })
218
- ]),
219
- i("div", q, [
220
- (d(), m(v(p), {
221
- key: "end-" + c.value,
222
- value: n.value.endDate,
223
- onChange: S,
224
- mode: "date",
225
- "min-date": N.value,
226
- "max-date": s.maxDate,
227
- class: "min-w-[270px]",
228
- disabled: s.disabled,
229
- readonly: s.readonly
230
- }, null, 8, ["value", "min-date", "max-date", "disabled", "readonly"]))
231
- ])
232
- ])
233
- ])
234
- ]),
235
- _: 1
236
- }, 8, ["isOpen", "disabled"]));
237
- }
238
- });
1
+ import o from "./DateRangePicker.vue2.js";
2
+ /* empty css */
3
+ import t from "../_virtual/_plugin-vue_export-helper.js";
4
+ const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-a8f85730"]]);
239
5
  export {
240
- le as default
6
+ f as default
241
7
  };
@@ -1,4 +1,241 @@
1
- import f from "./DateRangePicker.vue.js";
1
+ import { defineComponent as $, ref as b, watch as F, computed as u, openBlock as d, createBlock as m, unref as v, withCtx as D, createElementVNode as i, createElementBlock as w, Fragment as L, renderList as T, createCommentVNode as z, createVNode as h, normalizeClass as y, toDisplayString as x, createTextVNode as B } from "vue";
2
+ import E from "./Dropdown/Dropdown.vue.js";
3
+ import R from "./Icon.vue.js";
4
+ import { $t as l } from "../utils/i18n.js";
5
+ /* empty css */
6
+ /* empty css */
7
+ /* empty css */
8
+ import P from "./Button.vue.js";
9
+ import p from "v-datepicker-lite";
10
+ import "v-datepicker-lite/style.css";
11
+ const j = { class: "flex items-center justify-start gap-2 w-full" }, H = { class: "flex flex-col sm:flex-row bg-background rounded-md" }, Q = {
12
+ key: 0,
13
+ class: "flex flex-col gap-1 sm:pr-3 py-2 sm:border-r border-border max-h-[280px]"
14
+ }, O = { class: "flex flex-col sm:flex-row items-center gap-4 py-2 p-3" }, I = { class: "border border-border rounded-md overflow-hidden bg-background" }, U = { class: "flex items-center justify-center shrink-0" }, q = { class: "border border-border rounded-md overflow-hidden bg-background" }, le = /* @__PURE__ */ $({
15
+ __name: "DateRangePicker",
16
+ props: {
17
+ modelValue: {},
18
+ placeholderStart: { default: "Start Date" },
19
+ placeholderEnd: { default: "End Date" },
20
+ minDate: {},
21
+ maxDate: {},
22
+ disabled: { type: Boolean },
23
+ readonly: { type: Boolean },
24
+ size: {},
25
+ variant: {},
26
+ showQuickRanges: { type: Boolean, default: !0 },
27
+ triggerClass: {}
28
+ },
29
+ emits: ["update:modelValue", "change"],
30
+ setup(s, { emit: M }) {
31
+ const g = s, k = M, o = b(!1), c = b(0);
32
+ F(o, (a) => {
33
+ a && c.value++;
34
+ });
35
+ const n = u({
36
+ get: () => {
37
+ const a = g.modelValue;
38
+ return a ? {
39
+ startDate: a.startDate !== void 0 ? a.startDate : a.start,
40
+ endDate: a.endDate !== void 0 ? a.endDate : a.end
41
+ } : { startDate: null, endDate: null };
42
+ },
43
+ set: (a) => {
44
+ k("update:modelValue", a), k("change", a);
45
+ }
46
+ }), Y = (a) => {
47
+ n.value = { ...n.value, startDate: a };
48
+ }, S = (a) => {
49
+ n.value = { ...n.value, endDate: a };
50
+ }, C = u(() => {
51
+ if (n.value.endDate) {
52
+ const a = new Date(n.value.endDate);
53
+ if (!isNaN(a.getTime())) return a.toISOString();
54
+ }
55
+ return g.maxDate;
56
+ }), N = u(() => {
57
+ if (n.value.startDate) {
58
+ const a = new Date(n.value.startDate);
59
+ if (!isNaN(a.getTime())) return a.toISOString();
60
+ }
61
+ return g.minDate;
62
+ }), f = (a) => {
63
+ if (!a) return "";
64
+ try {
65
+ const e = new Date(a);
66
+ return isNaN(e.getTime()) ? "" : e.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
67
+ } catch {
68
+ return "";
69
+ }
70
+ }, V = u(() => [
71
+ {
72
+ label: l("vlite.dateRangePicker.today") !== "vlite.dateRangePicker.today" ? l("vlite.dateRangePicker.today") : "Today",
73
+ value: "today",
74
+ icon: "lucide:calendar"
75
+ },
76
+ {
77
+ label: l("vlite.dateRangePicker.yesterday") !== "vlite.dateRangePicker.yesterday" ? l("vlite.dateRangePicker.yesterday") : "Yesterday",
78
+ value: "yesterday",
79
+ icon: "lucide:calendar-minus"
80
+ },
81
+ {
82
+ label: l("vlite.dateRangePicker.last7Days") !== "vlite.dateRangePicker.last7Days" ? l("vlite.dateRangePicker.last7Days") : "Last 7 Days",
83
+ value: "last_7_days",
84
+ icon: "lucide:calendar-days"
85
+ },
86
+ {
87
+ label: l("vlite.dateRangePicker.last30Days") !== "vlite.dateRangePicker.last30Days" ? l("vlite.dateRangePicker.last30Days") : "Last 30 Days",
88
+ value: "last_30_days",
89
+ icon: "lucide:calendar-days"
90
+ },
91
+ {
92
+ label: l("vlite.dateRangePicker.thisMonth") !== "vlite.dateRangePicker.thisMonth" ? l("vlite.dateRangePicker.thisMonth") : "This Month",
93
+ value: "this_month",
94
+ icon: "lucide:calendar-range"
95
+ },
96
+ {
97
+ label: l("vlite.dateRangePicker.lastMonth") !== "vlite.dateRangePicker.lastMonth" ? l("vlite.dateRangePicker.lastMonth") : "Last Month",
98
+ value: "last_month",
99
+ icon: "lucide:calendar-range"
100
+ },
101
+ {
102
+ label: l("vlite.dateRangePicker.last6Months") !== "vlite.dateRangePicker.last6Months" ? l("vlite.dateRangePicker.last6Months") : "Last 6 Months",
103
+ value: "last_6_months",
104
+ icon: "lucide:history"
105
+ },
106
+ {
107
+ label: l("vlite.dateRangePicker.thisYear") !== "vlite.dateRangePicker.thisYear" ? l("vlite.dateRangePicker.thisYear") : "This Year",
108
+ value: "this_year",
109
+ icon: "lucide:calendar-check"
110
+ },
111
+ {
112
+ label: l("vlite.dateRangePicker.lastYear") !== "vlite.dateRangePicker.lastYear" ? l("vlite.dateRangePicker.lastYear") : "Last Year",
113
+ value: "last_year",
114
+ icon: "lucide:history"
115
+ }
116
+ ]), _ = (a) => {
117
+ const e = /* @__PURE__ */ new Date();
118
+ let t = /* @__PURE__ */ new Date(), r = /* @__PURE__ */ new Date();
119
+ switch (e.setHours(0, 0, 0, 0), t.setHours(0, 0, 0, 0), r.setHours(0, 0, 0, 0), a.value) {
120
+ case "today":
121
+ t = new Date(e), r = new Date(e);
122
+ break;
123
+ case "yesterday":
124
+ t = new Date(e), t.setDate(t.getDate() - 1), r = new Date(t);
125
+ break;
126
+ case "last_7_days":
127
+ t = new Date(e), t.setDate(t.getDate() - 6), r = new Date(e);
128
+ break;
129
+ case "last_30_days":
130
+ t = new Date(e), t.setDate(t.getDate() - 29), r = new Date(e);
131
+ break;
132
+ case "this_month":
133
+ t = new Date(e.getFullYear(), e.getMonth(), 1), r = new Date(e);
134
+ break;
135
+ case "last_month":
136
+ t = new Date(e.getFullYear(), e.getMonth() - 1, 1), r = new Date(e.getFullYear(), e.getMonth(), 0);
137
+ break;
138
+ case "last_6_months":
139
+ t = new Date(e.getFullYear(), e.getMonth() - 5, 1), r = new Date(e);
140
+ break;
141
+ case "this_year":
142
+ t = new Date(e.getFullYear(), 0, 1), r = new Date(e);
143
+ break;
144
+ case "last_year":
145
+ t = new Date(e.getFullYear() - 1, 0, 1), r = new Date(e.getFullYear() - 1, 11, 31);
146
+ break;
147
+ }
148
+ n.value = { startDate: t, endDate: r }, c.value++, o.value = !1;
149
+ };
150
+ return (a, e) => (d(), m(v(E), {
151
+ isOpen: o.value,
152
+ "onUpdate:isOpen": e[0] || (e[0] = (t) => o.value = t),
153
+ position: "bottom-start",
154
+ disabled: s.disabled || s.readonly,
155
+ class: "w-full sm:w-auto inline-block",
156
+ maxHeight: "none"
157
+ }, {
158
+ trigger: D(({ isOpen: t }) => [
159
+ h(P, {
160
+ icon: "lucide:calendar",
161
+ variant: s.variant || "outline",
162
+ size: s.size || "md",
163
+ disabled: s.disabled,
164
+ class: y(["w-full justify-between text-left font-normal", [s.triggerClass, { "ring-1 ring-ring ring-offset-[1]": t }]]),
165
+ "data-testid": a.$attrs["data-testid"] || (a.$attrs.name ? `daterange-${a.$attrs.name}` : "daterange")
166
+ }, {
167
+ default: D(() => [
168
+ i("div", j, [
169
+ i("span", {
170
+ class: y({ "text-muted-foreground": !n.value.startDate })
171
+ }, x(n.value.startDate ? f(n.value.startDate) : s.placeholderStart), 3),
172
+ e[1] || (e[1] = B(" — ", -1)),
173
+ i("span", {
174
+ class: y({ "text-muted-foreground": !n.value.endDate })
175
+ }, x(n.value.endDate ? f(n.value.endDate) : s.placeholderEnd), 3)
176
+ ])
177
+ ]),
178
+ _: 1
179
+ }, 8, ["variant", "size", "disabled", "class", "data-testid"])
180
+ ]),
181
+ menu: D(() => [
182
+ i("div", H, [
183
+ s.showQuickRanges ? (d(), w("div", Q, [
184
+ e[2] || (e[2] = i("div", { class: "text-xs pl-2 pb-2 font-semibold text-muted-foreground uppercase tracking-wider" }, " Quick Ranges ", -1)),
185
+ (d(!0), w(L, null, T(V.value, (t) => (d(), m(P, {
186
+ key: t.value,
187
+ text: t.label,
188
+ icon: t.icon,
189
+ variant: "ghost",
190
+ size: "sm",
191
+ class: "justify-start w-full font-normal",
192
+ onClick: (r) => _(t)
193
+ }, null, 8, ["text", "icon", "onClick"]))), 128))
194
+ ])) : z("", !0),
195
+ i("div", O, [
196
+ i("div", I, [
197
+ (d(), m(v(p), {
198
+ key: "start-" + c.value,
199
+ value: n.value.startDate,
200
+ onChange: Y,
201
+ mode: "date",
202
+ "max-date": C.value,
203
+ "min-date": s.minDate,
204
+ disabled: s.disabled,
205
+ class: "min-w-[270px]",
206
+ readonly: s.readonly
207
+ }, null, 8, ["value", "max-date", "min-date", "disabled", "readonly"]))
208
+ ]),
209
+ i("div", U, [
210
+ h(R, {
211
+ icon: "lucide:arrow-right",
212
+ class: "w-5 h-5 text-muted-foreground hidden sm:block opacity-50"
213
+ }),
214
+ h(R, {
215
+ icon: "lucide:arrow-down",
216
+ class: "w-5 h-5 text-muted-foreground sm:hidden opacity-50"
217
+ })
218
+ ]),
219
+ i("div", q, [
220
+ (d(), m(v(p), {
221
+ key: "end-" + c.value,
222
+ value: n.value.endDate,
223
+ onChange: S,
224
+ mode: "date",
225
+ "min-date": N.value,
226
+ "max-date": s.maxDate,
227
+ class: "min-w-[270px]",
228
+ disabled: s.disabled,
229
+ readonly: s.readonly
230
+ }, null, 8, ["value", "min-date", "max-date", "disabled", "readonly"]))
231
+ ])
232
+ ])
233
+ ])
234
+ ]),
235
+ _: 1
236
+ }, 8, ["isOpen", "disabled"]));
237
+ }
238
+ });
2
239
  export {
3
- f as default
240
+ le as default
4
241
  };
@@ -1,4 +1,4 @@
1
- import o from "./DropdownMenu.vue2.js";
1
+ import o from "./DropdownMenu.vue3.js";
2
2
  /* empty css */
3
3
  import r from "../../_virtual/_plugin-vue_export-helper.js";
4
4
  const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-173c7a02"]]);
@@ -1,4 +1,4 @@
1
- import { defineComponent as E, computed as f, markRaw as O, openBlock as c, createBlock as m, mergeProps as p, toHandlers as C, createSlots as M, unref as P, withCtx as u, createVNode as L, createTextVNode as x, toDisplayString as y, createCommentVNode as N, resolveDynamicComponent as q } from "vue";
1
+ import { defineComponent as E, computed as f, markRaw as O, openBlock as c, createBlock as m, mergeProps as p, toHandlers as $, createSlots as M, unref as P, withCtx as u, createVNode as L, createTextVNode as x, toDisplayString as y, createCommentVNode as N, resolveDynamicComponent as q } from "vue";
2
2
  import { resolveFieldType as G, isComponent as k, isAddonObject as T } from "./utils/form.utils.js";
3
3
  import J from "../NumberInput.vue.js";
4
4
  import z from "../Button.vue.js";
@@ -172,10 +172,10 @@ const Ne = /* @__PURE__ */ E({
172
172
  rounded: oe,
173
173
  error: se,
174
174
  switchVariant: ue,
175
- ...D
175
+ ...j
176
176
  } = t;
177
177
  return {
178
- ...D,
178
+ ...j,
179
179
  modelValue: !!e.value,
180
180
  label: e.field.label,
181
181
  labelI18n: e.field.labelI18n,
@@ -426,15 +426,15 @@ const Ne = /* @__PURE__ */ E({
426
426
  d(l.value, l.data);
427
427
  }
428
428
  } : {};
429
- }), H = f(() => {
429
+ }), D = f(() => {
430
430
  const a = o.value;
431
431
  return a === "text" || a === "email" || a === "password" || a === "tel" || a === "url" || a === "search" || !a;
432
- }), j = f(() => H.value || o.value === "textarea" || b.value), F = (a, l) => {
432
+ }), H = f(() => D.value || o.value === "textarea" || b.value), F = (a, l) => {
433
433
  v("addonChange", a.name, { value: l.value });
434
- }, $ = (a) => {
434
+ }, C = (a) => {
435
435
  a.action && v("addonAction", a.action);
436
436
  };
437
- return (a, l) => j.value ? (c(), m(V, p({ key: 0 }, w.value, C(A.value)), M({ _: 2 }, [
437
+ return (a, l) => H.value ? (c(), m(V, p({ key: 0 }, w.value, $(A.value)), M({ _: 2 }, [
438
438
  P(T)(i.field.addonLeft) ? {
439
439
  name: "addon-left",
440
440
  fn: u(() => [
@@ -458,7 +458,7 @@ const Ne = /* @__PURE__ */ E({
458
458
  key: 1,
459
459
  variant: "outline"
460
460
  }, i.field.addonLeft.props || {}, {
461
- onClick: l[1] || (l[1] = (r) => $(i.field.addonLeft))
461
+ onClick: l[1] || (l[1] = (r) => C(i.field.addonLeft))
462
462
  }), {
463
463
  default: u(() => [
464
464
  x(y(i.field.addonLeft.text), 1)
@@ -491,7 +491,7 @@ const Ne = /* @__PURE__ */ E({
491
491
  key: 1,
492
492
  variant: "outline"
493
493
  }, i.field.addonRight.props || {}, {
494
- onClick: l[3] || (l[3] = (r) => $(i.field.addonRight))
494
+ onClick: l[3] || (l[3] = (r) => C(i.field.addonRight))
495
495
  }), {
496
496
  default: u(() => [
497
497
  x(y(i.field.addonRight.text), 1)
@@ -504,7 +504,7 @@ const Ne = /* @__PURE__ */ E({
504
504
  ]), 1040)) : (c(), m(q(U.value), p({
505
505
  key: 1,
506
506
  class: o.value === "check" || o.value === "switch" && i.field.props?.switchVariant === "basic" ? "" : "w-full"
507
- }, w.value, C(A.value)), null, 16, ["class"]));
507
+ }, w.value, $(A.value)), null, 16, ["class"]));
508
508
  }
509
509
  });
510
510
  export {
@@ -13,6 +13,7 @@ import "vue-draggable-plus";
13
13
  /* empty css */
14
14
  import "v-datepicker-lite";
15
15
  import "v-datepicker-lite/style.css";
16
+ /* empty css */
16
17
  import "@jaames/iro";
17
18
  import "@vueuse/core";
18
19
  /* empty css */
@@ -29,7 +30,7 @@ import "../../core/config.js";
29
30
  const N = { class: "text-gray-800! h-4! w-4! flex items-center justify-center" }, A = { style: { "will-change": "transform", contain: "layout style" } }, E = {
30
31
  class: "pt-2 px-2 min-w-[295px]",
31
32
  style: { "will-change": "transform", contain: "layout style" }
32
- }, ue = /* @__PURE__ */ B({
33
+ }, ce = /* @__PURE__ */ B({
33
34
  __name: "ScreenFilter",
34
35
  props: {
35
36
  schema: {},
@@ -192,5 +193,5 @@ const N = { class: "text-gray-800! h-4! w-4! flex items-center justify-center" }
192
193
  }
193
194
  });
194
195
  export {
195
- ue as default
196
+ ce as default
196
197
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "private": false,
4
4
  "description": "A Vue 3 UI component library built with Tailwind CSS.",
5
5
  "license": "MIT",
6
- "version": "1.4.26",
6
+ "version": "1.4.27",
7
7
  "type": "module",
8
8
  "main": "index.js",
9
9
  "module": "index.js",
@@ -50,7 +50,7 @@
50
50
  "v-datepicker-lite": "^0.1.10",
51
51
  "v-event-calendar": "^0.0.10",
52
52
  "v-file-preview": "^0.1.3",
53
- "v-tooltip-lite": "^0.3.1",
53
+ "v-tooltip-lite": "^1.0.2",
54
54
  "vue-carousel-lite": "^0.2.8",
55
55
  "vue-draggable-plus": "^0.5.3",
56
56
  "vue3-google-signin": "^2.1.1",
package/style.css CHANGED
@@ -1797,5 +1797,5 @@ html {
1797
1797
  }
1798
1798
 
1799
1799
  /* --- Vite Generated CSS --- */
1800
- input[data-v-ea76c92c]::-webkit-outer-spin-button,input[data-v-ea76c92c]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-ea76c92c]{-moz-appearance:textfield;appearance:textfield}@keyframes onAutoFillStart{0%{opacity:1}to{opacity:1}}@keyframes onAutoFillCancel{0%{opacity:1}to{opacity:1}}input.autofill-detect:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:1ms;animation-fill-mode:both}input.autofill-detect:not(:-webkit-autofill){animation-name:onAutoFillCancel;animation-duration:1ms;animation-fill-mode:both}.vl-thumbnail-selector__filepicker-inline[data-v-470fec5b]{display:contents}.vl-thumbnail-selector__card:hover .vl-thumbnail-selector__delete[data-v-470fec5b],.vl-thumbnail-selector__card:hover .vl-thumbnail-selector__drag-handle[data-v-470fec5b]{opacity:1}.vl-thumbnail-selector__card[data-v-470fec5b]:not(.border-primary):hover{border-color:color-mix(in sRGB,var(--color-primary, currentColor) 40%,transparent)}.mega-menu-grid[data-v-512aa158]{display:grid;grid-template-columns:repeat(var(--mega-cols, 3),minmax(0,1fr))}@media(max-width:768px){.mega-menu-grid[data-v-512aa158]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.mega-menu-grid[data-v-512aa158]{grid-template-columns:1fr}}.dropdown-menu[data-v-173c7a02]{will-change:transform;contain:layout style}.v-modal-overlay[data-v-208854bc]{background-color:#00000085}.v-modal-backdrop[data-v-208854bc]{transform:translateZ(0)}.modal-dialog-enter-active[data-v-208854bc]{transition:opacity 80ms ease-out}.modal-dialog-leave-active[data-v-208854bc]{transition:opacity .12s ease-in}.modal-dialog-enter-from[data-v-208854bc],.modal-dialog-leave-to[data-v-208854bc]{opacity:0}.modal-body[data-v-208854bc]{will-change:opacity;contain:layout style}.blink-bg[data-v-208854bc]{animation:blink-animation-208854bc 1s infinite}@keyframes blink-animation-208854bc{0%{background-color:inherit}15%{background-color:var(--color-gray-250)}35%{background-color:inherit}75%{background-color:var(--color-gray-250)}to{background-color:inherit}}.IroBox{border-radius:8px!important}.accordion-enter-active[data-v-0075dffb],.accordion-leave-active[data-v-0075dffb]{transition:height .3s ease-in-out;will-change:height}.content-wrapper[data-v-0075dffb]{contain:paint}.custom-fields-table[data-v-0138ffcc]{will-change:transform;contain:layout style}.custom-fields-table[data-v-0138ffcc] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-0138ffcc] input,.custom-fields-table[data-v-0138ffcc] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-0138ffcc] input,.custom-fields-table[data-v-0138ffcc] textarea,.custom-fields-table[data-v-0138ffcc] select,.custom-fields-table[data-v-0138ffcc] .input-wrapper,.custom-fields-table[data-v-0138ffcc] .tooltip-trigger button,.custom-fields-table[data-v-0138ffcc] .tooltip-trigger>div{border:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;height:100%!important;min-height:40px}.custom-fields-table[data-v-0138ffcc] input:focus,.custom-fields-table[data-v-0138ffcc] textarea:focus,.custom-fields-table[data-v-0138ffcc] select:focus,.custom-fields-table[data-v-0138ffcc] .input-wrapper:focus-within,.custom-fields-table[data-v-0138ffcc] .tooltip-trigger button:focus,.custom-fields-table[data-v-0138ffcc] .tooltip-trigger>div:focus,.custom-fields-table[data-v-0138ffcc] .tooltip-trigger>div:focus-within{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important}.custom-fields-table[data-v-0138ffcc] .w-full{width:100%;height:100%}.custom-fields-table[data-v-0138ffcc] .vl-file-picker{height:100%!important;min-height:40px;padding:0;min-width:0!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker--input>.relative{height:100%;min-width:0}.custom-fields-table[data-v-0138ffcc] .vl-file-picker--input [role=button]{height:100%!important;min-height:40px!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding-left:.75rem!important;padding-right:2.5rem!important;min-width:0!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker--input [role=button]:focus,.custom-fields-table[data-v-0138ffcc] .vl-file-picker--input [role=button]:focus-visible{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important;outline:none!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker__dropzone{min-height:96px;padding:1rem;border-radius:.5rem!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker__file{min-height:72px;border-radius:.5rem!important;background:hsl(var(--background))!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker__file input{height:auto!important;min-height:0;padding:.125rem .25rem!important;border-bottom:1px solid transparent!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker__file input:hover{border-bottom-color:hsl(var(--border))!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker__file input:focus{background-color:transparent!important;border-bottom-color:hsl(var(--primary))!important;box-shadow:none!important}.list-enter-active[data-v-0138ffcc]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-0138ffcc]{opacity:0;transform:translateY(-5px)}:where(.rte-editor,.rte-reader) h1{display:block;font-size:1.5rem!important;font-weight:700!important;margin:.5em 0 .2em!important;line-height:1.3}:where(.rte-editor,.rte-reader) h2{display:block;font-size:1.2rem!important;font-weight:600!important;margin:.45em 0 .2em!important;line-height:1.35}:where(.rte-editor,.rte-reader) p{display:block;margin:.2em 0!important}:where(.rte-editor,.rte-reader) div{margin:.1em 0}:where(.rte-editor,.rte-reader) blockquote{display:block;border-left:3px solid var(--color-primary);margin:.6em 0!important;padding:.35em 1em!important;color:var(--color-muted-foreground);font-style:italic;background:color-mix(in oklab,var(--color-primary) 6%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}:where(.rte-editor,.rte-reader) ul{display:block!important;list-style-type:disc!important;list-style-position:inside!important;padding-left:1.6em!important;margin:.35em 0!important}:where(.rte-editor,.rte-reader) ol{display:block!important;list-style-type:decimal!important;list-style-position:inside!important;padding-left:1.6em!important;margin:.35em 0!important}:where(.rte-editor,.rte-reader) li{display:list-item!important;margin:.15em 0!important;padding-left:.15em}:where(.rte-editor,.rte-reader) ul ul,:where(.rte-editor,.rte-reader) ol ul{list-style-type:circle!important}:where(.rte-editor,.rte-reader) ul ul ul,:where(.rte-editor,.rte-reader) ol ol ul{list-style-type:square!important}:where(.rte-editor,.rte-reader) ol ol{list-style-type:lower-alpha!important}:where(.rte-editor,.rte-reader) ol ol ol{list-style-type:lower-roman!important}:where(.rte-editor,.rte-reader) hr{display:block!important;border:0!important;border-top:1px solid var(--color-border)!important;margin:1.5em 0!important}:where(.rte-editor,.rte-reader) a{color:var(--color-info);text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .12s ease}:where(.rte-editor,.rte-reader) a:hover{color:var(--color-info-dark, var(--color-info));text-decoration-thickness:2px}:where(.rte-editor,.rte-reader) code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85em;background:var(--color-muted);color:var(--color-foreground);padding:.2em .4em;border-radius:var(--radius-sm);border:none}:where(.rte-editor,.rte-reader) img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:1em 0;display:block;box-shadow:0 0 0 1px var(--color-border);transition:filter .2s,opacity .2s}.rte-editor img.rte-image-uploading{opacity:.6;filter:grayscale(100%) blur(2px);cursor:wait}:where(.rte-editor,.rte-reader) strong,:where(.rte-editor,.rte-reader) b{font-weight:700!important}:where(.rte-editor,.rte-reader) em,:where(.rte-editor,.rte-reader) i{font-style:italic!important}:where(.rte-editor,.rte-reader) u{text-decoration:underline!important;text-decoration-thickness:1.5px;text-underline-offset:2px}:where(.rte-editor,.rte-reader) s,:where(.rte-editor,.rte-reader) strike{text-decoration:line-through!important}.rte-editor ::selection{background:color-mix(in oklab,var(--color-primary) 22%,transparent)}.rte-toolbar{display:flex;flex-wrap:wrap;padding:6px 8px;gap:2px;border-bottom:1px solid var(--color-border);background:var(--color-background);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;align-items:center}.rte-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-muted-foreground);cursor:pointer;transition:all .1s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.rte-btn:hover:not(:disabled){background:var(--color-accent);color:var(--color-foreground)}.rte-btn--active{background:var(--color-accent);color:var(--color-foreground)}.rte-btn--text{font-size:.75rem;font-weight:700;width:auto;min-width:28px;padding:0 6px}.rte-icon{width:1.1rem;height:1.1rem;stroke-width:2.5}.rte-btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.rte-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.rte-sep{width:1px;height:18px;background:var(--color-border);margin:0 3px;flex-shrink:0}.rte-link-popover{position:absolute;top:0;left:0;z-index:60;width:300px;max-width:min(300px,calc(100vw - 24px));background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 2px 4px #0000000f,0 8px 24px #0000001a;padding:8px;display:flex;flex-direction:column;gap:6px;will-change:transform,opacity}.rte-link-input-row{display:flex;align-items:center;gap:6px;background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 8px;transition:border-color .15s ease,box-shadow .15s ease}.rte-link-input-row:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.rte-link-icon-prefix{width:.875rem;height:.875rem;color:var(--color-muted-foreground);flex-shrink:0}.rte-link-input{flex:1;background:transparent;border:none;outline:none;font-size:.8rem;color:var(--color-foreground);padding:7px 0;min-width:0;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace}.rte-link-input::placeholder{color:var(--color-muted-foreground);font-family:inherit}.rte-link-actions-row{display:flex;align-items:center;gap:3px}.rte-link-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:.75rem;font-weight:500;cursor:pointer;color:var(--color-muted-foreground);transition:background .12s ease,color .12s ease}.rte-link-action-btn:hover{background:var(--color-accent);color:var(--color-foreground)}.rte-link-action-btn--danger{color:var(--color-destructive)}.rte-link-action-btn--danger:hover{background:color-mix(in oklab,var(--color-destructive) 10%,transparent);color:var(--color-destructive)}.rte-link-apply-btn{background:var(--color-primary);color:var(--color-primary-foreground);width:24px;height:24px;padding:4px;cursor:pointer}.rte-link-apply-btn:disabled{opacity:.5;cursor:not-allowed}.rte-link-apply-btn:hover:not(:disabled){background:color-mix(in oklab,var(--color-primary) 88%,var(--color-primary-foreground));color:var(--color-primary-foreground)}.rte-root{display:flex;flex-direction:column;gap:6px;width:100%}.rte-label{font-size:.825rem;font-weight:500;color:var(--color-foreground);margin-bottom:2px}.rte-wrapper{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);position:relative;transition:border-color .15s ease,box-shadow .15s ease;display:flex;flex-direction:column}.rte-root.rte-focused .rte-wrapper{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.rte-root.rte-disabled .rte-wrapper{background:var(--color-muted);opacity:.6}.rte-root.rte-error .rte-wrapper{border-color:var(--color-destructive)}.rte-root.rte-error.rte-focused .rte-wrapper{box-shadow:0 0 0 2px color-mix(in oklab,var(--color-destructive) 15%,transparent)}.rte-body-wrap{position:relative;overflow:visible}.rte-editor{outline:none;padding:14px 16px;color:var(--color-foreground);font-size:.9rem;line-height:1.7;width:100%;box-sizing:border-box;overflow-y:auto;border-radius:0 0 var(--radius) var(--radius);word-break:break-word;overflow-wrap:break-word;will-change:transform;contain:layout style}.rte-editor[contenteditable=true]{caret-color:var(--color-primary)}.rte-placeholder{position:absolute;top:14px;left:16px;color:var(--color-muted-foreground);font-size:.9rem;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1.7}.rte-error-msg{font-size:.78rem;color:var(--color-destructive);margin:0;line-height:1.4}.form-field-item[data-v-d4db8f9b]{display:flex;flex-direction:column;min-width:0}.form-field-item[data-v-d4db8f9b]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-b84399b6]{width:100%}[data-tabes][data-v-2e086e79]:not(.inline-flex):not([class*=gap-6])>:where(button,a,[role=tab]){flex:1 0 0%;min-width:max-content}.scrollbar-hide[data-v-2e086e79]{-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scrollbar-hide[data-v-2e086e79]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.vlite-line-chart[data-v-044e962d]{position:relative}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scrollbar-hide::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.scrollable-container[data-v-38015ba3]{will-change:transform;contain:layout style}.kanban-board--disabled[data-v-38015ba3]{opacity:.75;background-color:color-mix(in srgb,var(--color-card) 85%,var(--color-muted) 15%)}.kanban-lock-badge[data-v-38015ba3]{font-size:.75rem;line-height:1;-webkit-user-select:none;user-select:none}.scrollable-container[data-v-52c07c6d]{will-change:transform;contain:layout style}.v-sidepanel-overlay[data-v-69e4da90]{background-color:#00000069}.slide-right-enter-active[data-v-69e4da90],.slide-left-enter-active[data-v-69e4da90]{transition:opacity 80ms ease-out}.slide-right-leave-active[data-v-69e4da90],.slide-left-leave-active[data-v-69e4da90]{transition:opacity .12s ease-in}.slide-right-enter-from[data-v-69e4da90],.slide-right-leave-to[data-v-69e4da90],.slide-left-enter-from[data-v-69e4da90],.slide-left-leave-to[data-v-69e4da90]{opacity:0}.sidepanel-body[data-v-69e4da90]{will-change:transform,opacity;contain:layout style}.fade-x-enter-active,.fade-x-leave-active{transition:opacity .15s ease}.fade-x-enter-from,.fade-x-leave-to{opacity:0}.navbar-tabs-no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.navbar-tabs-no-scrollbar::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.heatmap-container[data-v-00476f00]{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.heatmap-wrapper[data-v-00476f00]{width:100%;height:100%;overflow:auto;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;position:relative}.heatmap-grid[data-v-00476f00]{width:fit-content;height:fit-content;transition:all .2s ease-in-out}.heatmap-cell[data-v-00476f00]{aspect-ratio:1 / 1;border-radius:2px;transition:all .15s ease-in-out;border:1px solid transparent;box-sizing:border-box}.heatmap-cell-interactive[data-v-00476f00]{cursor:pointer}.heatmap-cell-interactive[data-v-00476f00]:hover{transform:scale(1.1);border-color:var(--border);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;z-index:10;position:relative}.heatmap-cell-empty[data-v-00476f00]{opacity:.6}.heatmap-cell-hovered[data-v-00476f00]{outline:2px solid var(--primary);outline-offset:1px}.heatmap-cell-label[data-v-00476f00]{font-size:8px;font-weight:500;color:var(--foreground);opacity:.8;display:flex;align-items:center;justify-content:center;height:100%;width:100%;pointer-events:none}.heatmap-legend[data-v-00476f00]{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;color:var(--muted-foreground);flex-shrink:0}.heatmap-legend-label[data-v-00476f00]{font-weight:500}.heatmap-legend-colors[data-v-00476f00]{display:flex;gap:.125rem}.heatmap-legend-item[data-v-00476f00]{width:.75rem;height:.75rem;border-radius:.375rem;border:1px solid var(--border)}@media(max-width:640px){.heatmap-wrapper[data-v-00476f00]{padding:12px}.heatmap-cell[data-v-00476f00]{border-radius:2px}.heatmap-cell-label[data-v-00476f00]{font-size:7px}}@media(min-width:641px)and (max-width:1023px){.heatmap-wrapper[data-v-00476f00]{padding:14px}.heatmap-cell[data-v-00476f00]{border-radius:2px}}@media(min-width:1024px){.heatmap-wrapper[data-v-00476f00]{padding:16px}.heatmap-cell[data-v-00476f00]{border-radius:3px}}.masonry-item[data-v-c29d0159]{content-visibility:auto;contain-intrinsic-size:1px 200px}.carousel-wrapper[data-v-4d544a95]{width:100%;position:relative;will-change:transform;contain:layout style}.breadcrumb-item[data-v-ecb5df7c]{display:inline-flex;align-items:center;cursor:pointer}.breadcrumb-link[data-v-ecb5df7c]{display:inline-flex;align-items:center;gap:.35em;color:var(--color-muted-foreground);text-decoration:none;transition:color .15s ease,background-color .15s ease;border-radius:var(--radius-sm)}.breadcrumb-link[data-v-ecb5df7c]:not(.current):not(.disabled):hover{color:var(--color-foreground)}.breadcrumb-link.current[data-v-ecb5df7c]{color:var(--color-foreground);font-weight:600;cursor:default}.breadcrumb-link.disabled[data-v-ecb5df7c]{opacity:.45;cursor:not-allowed;pointer-events:none}.breadcrumb-icon[data-v-ecb5df7c]{flex-shrink:0}.breadcrumb-list[data-v-d1e90135]{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:.38em}.breadcrumb--sm[data-v-d1e90135]{font-size:var(--text--fs-2)}.breadcrumb--md[data-v-d1e90135]{font-size:var(--text-fs-0.5, 1em)}.breadcrumb--lg[data-v-d1e90135]{font-size:var(--text-fs-2)}.breadcrumb-separator[data-v-d1e90135]{display:inline-flex;align-items:center;color:var(--color-gray-500);-webkit-user-select:none;user-select:none;font-size:.9em;line-height:1;padding:0 .1em}.breadcrumb-ellipsis[data-v-d1e90135]{display:inline-flex;align-items:center}.breadcrumb-ellipsis-btn[data-v-d1e90135]{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-muted-foreground);cursor:pointer;font-size:.9em;line-height:1;letter-spacing:.05em;transition:all .15s ease}.breadcrumb-ellipsis-btn[data-v-d1e90135]:hover{background:var(--color-accent);color:var(--color-foreground);border-color:var(--color-gray-350)}.breadcrumb--contained[data-v-d1e90135]{background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.45em 1em}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link{padding:.2em .7em;border-radius:9999px;background:var(--color-secondary);border:1px solid var(--color-border)}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent);border-color:var(--color-gray-350)}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.breadcrumb--arrow .breadcrumb-list[data-v-d1e90135]{gap:0}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link{padding:.35em .9em .35em 1.4em;background:var(--color-secondary);clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%,.6em 50%);border:none;margin-left:-.3em}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-item:first-child .breadcrumb-link{padding-left:.9em;clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%);border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent)}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground)}.breadcrumb--arrow .breadcrumb-separator[data-v-d1e90135]{display:none}.file-tree-container[data-v-62b1cddc]{will-change:transform;contain:layout style}.rte-reader[data-v-55b9fd8b]{font-family:inherit;color:var(--color-foreground);font-size:.9rem;line-height:1.7;word-break:break-word;overflow-wrap:break-word;padding:0;margin:0}.sheet-container[data-v-e674bcbc]{will-change:transform;contain:layout style}.vl-comment-actions[data-v-446c60ad]{opacity:0;transition:opacity .15s ease}.vl-comment:hover:not(:has(.vl-comment:hover))>div>.vl-comment-header>.vl-comment-actions[data-v-446c60ad]{opacity:1}.vl-comment-actions[data-v-446c60ad]:focus-within{opacity:1}.vl-comment:has(.vl-comment-actions button[aria-label="Confirm delete"]) .vl-comment-actions[data-v-446c60ad]{opacity:1}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.drill-forward-enter-active,.drill-forward-leave-active{transition:all .28s cubic-bezier(.4,0,.2,1)}.drill-forward-enter-from{opacity:0;transform:translate(40%)}.drill-forward-enter-to,.drill-forward-leave-from{opacity:1;transform:translate(0)}.drill-forward-leave-to{opacity:0;transform:translate(-40%)}.drill-forward-leave-active{position:absolute;top:0;left:0;right:0}.drill-backward-enter-active,.drill-backward-leave-active{transition:all .28s cubic-bezier(.4,0,.2,1)}.drill-backward-enter-from{opacity:0;transform:translate(-40%)}.drill-backward-enter-to,.drill-backward-leave-from{opacity:1;transform:translate(0)}.drill-backward-leave-to{opacity:0;transform:translate(40%)}.drill-backward-leave-active{position:absolute;top:0;left:0;right:0}.sidebar-drilldown-container{min-height:0}.bg-stripe[data-v-454a1505]{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.animate-progress-stripe[data-v-454a1505]{animation:progress-stripe-454a1505 1s linear infinite}@keyframes progress-stripe-454a1505{0%{background-position:1rem 0}to{background-position:0 0}}.animate-progress-indeterminate[data-v-454a1505]{animation:progress-indeterminate-454a1505 1.5s infinite cubic-bezier(.65,.815,.735,.395)}@keyframes progress-indeterminate-454a1505{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(0) scaleX(.5)}to{transform:translate(100%) scaleX(.2)}}.permission-matrix-wrapper[data-v-f4695eed]{max-height:70vh;will-change:transform;contain:layout style}.permission-list-wrapper[data-v-a42b2fb0]{border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;background-color:var(--color-background);will-change:transform;contain:layout style}.custom-list-header[data-v-a42b2fb0]{background-color:var(--color-muted);border-bottom:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]{border-bottom:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px);background-color:var(--color-background)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]:hover{background-color:var(--color-accent)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]:last-child{border-bottom:none}.custom-list-group-content+.custom-list-header[data-v-a42b2fb0],.custom-list-header+.custom-list-header[data-v-a42b2fb0]{border-top:1px solid var(--color-border)}.permission-list-wrapper>.custom-list-header[data-v-a42b2fb0]:last-child{border-bottom:none}.permission-matrix-wrapper[data-v-e8bfdc18]{border:1px solid var(--color-border);background-color:var(--color-gray-100);border-radius:.5rem;overflow:auto;max-height:65vh;position:relative;will-change:transform;contain:layout style}.custom-table[data-v-e8bfdc18]{width:100%;border-collapse:collapse}.custom-sticky-header th[data-v-e8bfdc18]{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--color-border)}.custom-th[data-v-e8bfdc18]{background-color:var(--color-gray-150);color:var(--color-foreground);background-clip:padding-box;border-bottom:none;border-left:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px);text-align:left;font-weight:600;min-width:200px}thead:not(.custom-sticky-header) .custom-th[data-v-e8bfdc18]{border-bottom:1px solid var(--color-border)}.custom-th.text-center[data-v-e8bfdc18]{text-align:center;min-width:100px}.custom-th[data-v-e8bfdc18]:first-child{border-left:none}.custom-td[data-v-e8bfdc18]{border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px)}.custom-td.text-center[data-v-e8bfdc18]{text-align:center}.custom-td[data-v-e8bfdc18]:first-child{border-left:none}.custom-group-row td[data-v-e8bfdc18]{background-color:var(--color-gray-100);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.custom-entity-row[data-v-e8bfdc18]{background-color:var(--color-background);transition:background-color .1s ease}.custom-entity-row[data-v-e8bfdc18]:hover{background-color:var(--color-gray-50)}.custom-entity-row:last-child td[data-v-e8bfdc18]{border-bottom:none}.custom-active-cell[data-v-e8bfdc18]{cursor:pointer}.custom-active-cell[data-v-e8bfdc18]:hover{background-color:var(--color-accent)}.category-manager--loading[data-v-0e426dc4]{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-fade-enter-active[data-v-0e426dc4],.cm-fade-leave-active[data-v-0e426dc4]{transition:opacity .2s ease}.cm-fade-enter-from[data-v-0e426dc4],.cm-fade-leave-to[data-v-0e426dc4]{opacity:0}.category-tabs-no-scrollbar[data-v-4d803b88]{-ms-overflow-style:none;scrollbar-width:none}.category-tabs-no-scrollbar[data-v-4d803b88]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.fade-x-enter-active[data-v-4d803b88],.fade-x-leave-active[data-v-4d803b88]{transition:opacity .15s ease}.fade-x-enter-from[data-v-4d803b88],.fade-x-leave-to[data-v-4d803b88]{opacity:0}.category-mega-no-scrollbar[data-v-5a117002]{-ms-overflow-style:none;scrollbar-width:none}.category-mega-no-scrollbar[data-v-5a117002]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.fade-x-enter-active[data-v-5a117002],.fade-x-leave-active[data-v-5a117002]{transition:opacity .15s ease}.fade-x-enter-from[data-v-5a117002],.fade-x-leave-to[data-v-5a117002]{opacity:0}.attached-group[data-v-298c3d8a] button{position:relative}.attached-group[data-v-298c3d8a] button:focus-visible,.attached-group[data-v-298c3d8a] button:hover{z-index:10}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child){margin-inline-start:-1px}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:first-child{border-start-end-radius:0!important;border-end-end-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:last-child{border-start-start-radius:0!important;border-end-start-radius:0!important}.vertical-group[data-v-298c3d8a] button:not(:first-child){margin-block-start:-1px}.vertical-group[data-v-298c3d8a] button:first-child{border-end-start-radius:0!important;border-end-end-radius:0!important}.vertical-group[data-v-298c3d8a] button:not(:first-child):not(:last-child){border-radius:0!important}.vertical-group[data-v-298c3d8a] button:last-child{border-start-start-radius:0!important;border-start-end-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;height:100%}.vertical-group[data-v-298c3d8a] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;width:100%;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none}[data-v-63e46f6b] .calendar-view{--calendar-primary-color: var(--color-primary);--calendar-bg-color: transparent !important;--calendar-border-color: var(--color-border);--calendar-text-color: var(--color-foreground);--calendar-hover-color: var(--color-accent)}[data-v-63e46f6b] .v-event-calendar .add-event-icon,[data-v-63e46f6b] .v-event-calendar .add-event-icon svg{color:var(--color-primary-fg)!important}.vlite-scc-grid[data-v-e6172e07]{display:flex;width:100%}.vlite-scc-card[data-v-e6172e07]{flex:1;position:relative;display:flex;align-items:stretch}.vlite-scc-separator[data-v-e6172e07]{width:1px;align-self:stretch;background:var(--color-border, #e4e4e7);opacity:.3;margin:8px 0;flex-shrink:0;background-image:repeating-linear-gradient(to bottom,var(--color-border, #e4e4e7) 0px,var(--color-border, #e4e4e7) 4px,transparent 4px,transparent 8px);background-color:transparent}.vlite-scc-content[data-v-e6172e07]{display:flex;flex-direction:column;align-items:flex-start;padding:16px 20px;flex:1;min-height:200px}.vlite-scc-label[data-v-e6172e07]{font-size:13px;font-weight:500;color:var(--color-muted-foreground, #71717a);margin:0 0 6px}.vlite-scc-pct[data-v-e6172e07]{font-size:36px;font-weight:800;color:var(--color-foreground, #09090b);margin:0;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.vlite-scc-spacer[data-v-e6172e07]{flex:1}.vlite-scc-indicator[data-v-e6172e07]{border-radius:10px;margin-bottom:14px;transition:width .6s ease,height .6s ease}.vlite-scc-footer[data-v-e6172e07]{display:flex;align-items:center;gap:8px}.vlite-scc-value[data-v-e6172e07]{font-size:14px;font-weight:600;color:var(--color-foreground, #09090b);font-variant-numeric:tabular-nums}.vlite-scc-trend-icon[data-v-e6172e07]{width:14px;height:14px}.vlite-scc-trend-up[data-v-e6172e07]{color:var(--color-success, #22c55e);transform:rotate(25deg)}.vlite-scc-trend-down[data-v-e6172e07]{color:var(--color-danger, #ef4444);transform:rotate(-25deg)}.vlite-gantt-chart[data-v-ebb84e3d]{font-family:inherit}.vlite-gantt-toolbar[data-v-ebb84e3d]{display:flex;justify-content:flex-end;margin-bottom:8px;gap:6px}.vlite-gantt-btn[data-v-ebb84e3d]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:600;color:var(--color-muted-foreground);background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .15s}.vlite-gantt-btn[data-v-ebb84e3d]:hover:not(:disabled){background:var(--color-accent);color:var(--color-foreground)}.vlite-gantt-btn[data-v-ebb84e3d]:disabled{opacity:.5;cursor:not-allowed}.vlite-gantt-zoom-controls[data-v-ebb84e3d]{display:flex;gap:6px}.vlite-gantt-wrapper[data-v-ebb84e3d]{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-background)}.vlite-gantt-sidebar[data-v-ebb84e3d]{flex-shrink:0;border-right:1px solid var(--color-border);background:var(--color-background);z-index:2}.vlite-gantt-sidebar-header[data-v-ebb84e3d]{display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-background) 97%,var(--color-foreground))}.vlite-gantt-sidebar-body[data-v-ebb84e3d]{overflow-y:hidden;overflow-x:hidden}.vlite-gantt-sidebar-row[data-v-ebb84e3d]{display:flex;align-items:center;padding:0 12px;border-bottom:1px solid color-mix(in oklab,var(--color-border) 50%,transparent)}.vlite-gantt-group-toggle[data-v-ebb84e3d]{display:flex;align-items:center;gap:6px;width:100%;padding:0 4px;background:none;border:none;cursor:pointer;color:inherit;text-align:left}.vlite-gantt-group-toggle[data-v-ebb84e3d]:hover{opacity:.8}.vlite-gantt-chevron[data-v-ebb84e3d]{transition:transform .2s ease;color:var(--color-muted-foreground);flex-shrink:0}.vlite-gantt-chevron-collapsed[data-v-ebb84e3d]{transform:rotate(-90deg)}.vlite-gantt-group-count[data-v-ebb84e3d]{font-size:10px;font-weight:600;color:var(--color-muted-foreground);background:var(--color-muted);padding:1px 6px;border-radius:99px;margin-left:auto}.vlite-gantt-task-name[data-v-ebb84e3d]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:0 4px;width:100%;transition:all .15s}.vlite-gantt-task-name[data-v-ebb84e3d]:hover{opacity:.75}.vlite-gantt-task-name-grouped[data-v-ebb84e3d]{padding-left:20px}.vlite-gantt-task-name-dragging[data-v-ebb84e3d]{background:color-mix(in oklab,var(--color-primary) 8%,transparent);border-radius:4px}.vlite-gantt-task-dot[data-v-ebb84e3d]{width:7px;height:7px;border-radius:2px;flex-shrink:0}.vlite-gantt-progress-badge[data-v-ebb84e3d]{font-size:10px;font-weight:700;color:var(--color-muted-foreground);margin-left:auto;flex-shrink:0}.vlite-gantt-timeline[data-v-ebb84e3d]{flex:1;overflow-x:auto;overflow-y:auto;position:relative}.vlite-gantt-timeline-header[data-v-ebb84e3d]{position:sticky;top:0;z-index:1;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-background) 97%,var(--color-foreground))}.vlite-gantt-timeline-body[data-v-ebb84e3d]{position:relative}.vlite-gantt-bar-dragging[data-v-ebb84e3d]{filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));z-index:10}.vlite-gantt-dep-group[data-v-ebb84e3d]{transition:opacity .2s}.vlite-gantt-dep-group[data-v-ebb84e3d]:hover{opacity:1!important}.vlite-gantt-tooltip-progress-track[data-v-ebb84e3d]{width:60px;height:4px;border-radius:2px;background:var(--color-muted);overflow:hidden}.vlite-gantt-tooltip-progress-fill[data-v-ebb84e3d]{height:100%;border-radius:2px;transition:width .3s ease}.vlite-gantt-timeline[data-v-ebb84e3d]::-webkit-scrollbar{height:6px;width:6px}.vlite-gantt-timeline[data-v-ebb84e3d]::-webkit-scrollbar-track{background:transparent}.vlite-gantt-timeline[data-v-ebb84e3d]::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.vlite-gantt-timeline[data-v-ebb84e3d]::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.vlite-gantt-sidebar-body[data-v-ebb84e3d]::-webkit-scrollbar{width:0;display:none}.is-solid[data-v-33afc5cb] path,.is-solid[data-v-33afc5cb] polygon,.is-solid[data-v-33afc5cb] circle,.is-solid[data-v-33afc5cb] rect{fill:currentColor!important}.toast-item[data-v-9c775c23]{will-change:transform,opacity;contain:layout style}.first-toast-enter-active[data-v-9c775c23]{animation:first-toast-in-9c775c23 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-9c775c23]{transition:all .25s ease-in}.first-toast-leave-to[data-v-9c775c23]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-9c775c23{0%{opacity:var(--entrance-opacity, .6);transform:translateY(var(--entrance-offset, 25px)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.stack-toast-enter-active[data-v-9c775c23],.stack-toast-leave-active[data-v-9c775c23]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-9c775c23]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-9c775c23]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-9c775c23]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.cp-item-transition[data-v-66b1ae06]{transition:background-color 80ms ease,color 80ms ease}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar{width:4px}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar-track{background:transparent}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}.cp-scroll-container[data-v-aa0dbb48]{transform:translateZ(0);will-change:transform;touch-action:pan-y;backface-visibility:hidden}
1800
+ input[data-v-ea76c92c]::-webkit-outer-spin-button,input[data-v-ea76c92c]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number][data-v-ea76c92c]{-moz-appearance:textfield;appearance:textfield}@keyframes onAutoFillStart{0%{opacity:1}to{opacity:1}}@keyframes onAutoFillCancel{0%{opacity:1}to{opacity:1}}input.autofill-detect:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:1ms;animation-fill-mode:both}input.autofill-detect:not(:-webkit-autofill){animation-name:onAutoFillCancel;animation-duration:1ms;animation-fill-mode:both}.vl-thumbnail-selector__filepicker-inline[data-v-470fec5b]{display:contents}.vl-thumbnail-selector__card:hover .vl-thumbnail-selector__delete[data-v-470fec5b],.vl-thumbnail-selector__card:hover .vl-thumbnail-selector__drag-handle[data-v-470fec5b]{opacity:1}.vl-thumbnail-selector__card[data-v-470fec5b]:not(.border-primary):hover{border-color:color-mix(in sRGB,var(--color-primary, currentColor) 40%,transparent)}.mega-menu-grid[data-v-512aa158]{display:grid;grid-template-columns:repeat(var(--mega-cols, 3),minmax(0,1fr))}@media(max-width:768px){.mega-menu-grid[data-v-512aa158]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.mega-menu-grid[data-v-512aa158]{grid-template-columns:1fr}}.dropdown-menu[data-v-173c7a02]{will-change:transform;contain:layout style}.v-modal-overlay[data-v-208854bc]{background-color:#00000085}.v-modal-backdrop[data-v-208854bc]{transform:translateZ(0)}.modal-dialog-enter-active[data-v-208854bc]{transition:opacity 80ms ease-out}.modal-dialog-leave-active[data-v-208854bc]{transition:opacity .12s ease-in}.modal-dialog-enter-from[data-v-208854bc],.modal-dialog-leave-to[data-v-208854bc]{opacity:0}.modal-body[data-v-208854bc]{will-change:opacity;contain:layout style}.blink-bg[data-v-208854bc]{animation:blink-animation-208854bc 1s infinite}@keyframes blink-animation-208854bc{0%{background-color:inherit}15%{background-color:var(--color-gray-250)}35%{background-color:inherit}75%{background-color:var(--color-gray-250)}to{background-color:inherit}}[data-v-a8f85730] .date-picker-content.dates{min-height:245px}.IroBox{border-radius:8px!important}.accordion-enter-active[data-v-0075dffb],.accordion-leave-active[data-v-0075dffb]{transition:height .3s ease-in-out;will-change:height}.content-wrapper[data-v-0075dffb]{contain:paint}.custom-fields-table[data-v-0138ffcc]{will-change:transform;contain:layout style}.custom-fields-table[data-v-0138ffcc] .form-field-item{margin-bottom:0!important;height:100%}.custom-fields-table[data-v-0138ffcc] input,.custom-fields-table[data-v-0138ffcc] textarea{padding-left:1em;padding-right:.5em}.custom-fields-table[data-v-0138ffcc] input,.custom-fields-table[data-v-0138ffcc] textarea,.custom-fields-table[data-v-0138ffcc] select,.custom-fields-table[data-v-0138ffcc] .input-wrapper,.custom-fields-table[data-v-0138ffcc] .tooltip-trigger button,.custom-fields-table[data-v-0138ffcc] .tooltip-trigger>div{border:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;height:100%!important;min-height:40px}.custom-fields-table[data-v-0138ffcc] input:focus,.custom-fields-table[data-v-0138ffcc] textarea:focus,.custom-fields-table[data-v-0138ffcc] select:focus,.custom-fields-table[data-v-0138ffcc] .input-wrapper:focus-within,.custom-fields-table[data-v-0138ffcc] .tooltip-trigger button:focus,.custom-fields-table[data-v-0138ffcc] .tooltip-trigger>div:focus,.custom-fields-table[data-v-0138ffcc] .tooltip-trigger>div:focus-within{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important}.custom-fields-table[data-v-0138ffcc] .w-full{width:100%;height:100%}.custom-fields-table[data-v-0138ffcc] .vl-file-picker{height:100%!important;min-height:40px;padding:0;min-width:0!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker--input>.relative{height:100%;min-width:0}.custom-fields-table[data-v-0138ffcc] .vl-file-picker--input [role=button]{height:100%!important;min-height:40px!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding-left:.75rem!important;padding-right:2.5rem!important;min-width:0!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker--input [role=button]:focus,.custom-fields-table[data-v-0138ffcc] .vl-file-picker--input [role=button]:focus-visible{background-color:hsla(var(--primary) / .03)!important;box-shadow:inset 0 0 0 2px hsla(var(--primary) / .1)!important;outline:none!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker__dropzone{min-height:96px;padding:1rem;border-radius:.5rem!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker__file{min-height:72px;border-radius:.5rem!important;background:hsl(var(--background))!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker__file input{height:auto!important;min-height:0;padding:.125rem .25rem!important;border-bottom:1px solid transparent!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker__file input:hover{border-bottom-color:hsl(var(--border))!important}.custom-fields-table[data-v-0138ffcc] .vl-file-picker__file input:focus{background-color:transparent!important;border-bottom-color:hsl(var(--primary))!important;box-shadow:none!important}.list-enter-active[data-v-0138ffcc]{transition:all .15s cubic-bezier(.16,1,.3,1)}.list-enter-from[data-v-0138ffcc]{opacity:0;transform:translateY(-5px)}:where(.rte-editor,.rte-reader) h1{display:block;font-size:1.5rem!important;font-weight:700!important;margin:.5em 0 .2em!important;line-height:1.3}:where(.rte-editor,.rte-reader) h2{display:block;font-size:1.2rem!important;font-weight:600!important;margin:.45em 0 .2em!important;line-height:1.35}:where(.rte-editor,.rte-reader) p{display:block;margin:.2em 0!important}:where(.rte-editor,.rte-reader) div{margin:.1em 0}:where(.rte-editor,.rte-reader) blockquote{display:block;border-left:3px solid var(--color-primary);margin:.6em 0!important;padding:.35em 1em!important;color:var(--color-muted-foreground);font-style:italic;background:color-mix(in oklab,var(--color-primary) 6%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}:where(.rte-editor,.rte-reader) ul{display:block!important;list-style-type:disc!important;list-style-position:inside!important;padding-left:1.6em!important;margin:.35em 0!important}:where(.rte-editor,.rte-reader) ol{display:block!important;list-style-type:decimal!important;list-style-position:inside!important;padding-left:1.6em!important;margin:.35em 0!important}:where(.rte-editor,.rte-reader) li{display:list-item!important;margin:.15em 0!important;padding-left:.15em}:where(.rte-editor,.rte-reader) ul ul,:where(.rte-editor,.rte-reader) ol ul{list-style-type:circle!important}:where(.rte-editor,.rte-reader) ul ul ul,:where(.rte-editor,.rte-reader) ol ol ul{list-style-type:square!important}:where(.rte-editor,.rte-reader) ol ol{list-style-type:lower-alpha!important}:where(.rte-editor,.rte-reader) ol ol ol{list-style-type:lower-roman!important}:where(.rte-editor,.rte-reader) hr{display:block!important;border:0!important;border-top:1px solid var(--color-border)!important;margin:1.5em 0!important}:where(.rte-editor,.rte-reader) a{color:var(--color-info);text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .12s ease}:where(.rte-editor,.rte-reader) a:hover{color:var(--color-info-dark, var(--color-info));text-decoration-thickness:2px}:where(.rte-editor,.rte-reader) code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85em;background:var(--color-muted);color:var(--color-foreground);padding:.2em .4em;border-radius:var(--radius-sm);border:none}:where(.rte-editor,.rte-reader) img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:1em 0;display:block;box-shadow:0 0 0 1px var(--color-border);transition:filter .2s,opacity .2s}.rte-editor img.rte-image-uploading{opacity:.6;filter:grayscale(100%) blur(2px);cursor:wait}:where(.rte-editor,.rte-reader) strong,:where(.rte-editor,.rte-reader) b{font-weight:700!important}:where(.rte-editor,.rte-reader) em,:where(.rte-editor,.rte-reader) i{font-style:italic!important}:where(.rte-editor,.rte-reader) u{text-decoration:underline!important;text-decoration-thickness:1.5px;text-underline-offset:2px}:where(.rte-editor,.rte-reader) s,:where(.rte-editor,.rte-reader) strike{text-decoration:line-through!important}.rte-editor ::selection{background:color-mix(in oklab,var(--color-primary) 22%,transparent)}.rte-toolbar{display:flex;flex-wrap:wrap;padding:6px 8px;gap:2px;border-bottom:1px solid var(--color-border);background:var(--color-background);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;align-items:center}.rte-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-muted-foreground);cursor:pointer;transition:all .1s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.rte-btn:hover:not(:disabled){background:var(--color-accent);color:var(--color-foreground)}.rte-btn--active{background:var(--color-accent);color:var(--color-foreground)}.rte-btn--text{font-size:.75rem;font-weight:700;width:auto;min-width:28px;padding:0 6px}.rte-icon{width:1.1rem;height:1.1rem;stroke-width:2.5}.rte-btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.rte-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.rte-sep{width:1px;height:18px;background:var(--color-border);margin:0 3px;flex-shrink:0}.rte-link-popover{position:absolute;top:0;left:0;z-index:60;width:300px;max-width:min(300px,calc(100vw - 24px));background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 2px 4px #0000000f,0 8px 24px #0000001a;padding:8px;display:flex;flex-direction:column;gap:6px;will-change:transform,opacity}.rte-link-input-row{display:flex;align-items:center;gap:6px;background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 8px;transition:border-color .15s ease,box-shadow .15s ease}.rte-link-input-row:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.rte-link-icon-prefix{width:.875rem;height:.875rem;color:var(--color-muted-foreground);flex-shrink:0}.rte-link-input{flex:1;background:transparent;border:none;outline:none;font-size:.8rem;color:var(--color-foreground);padding:7px 0;min-width:0;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace}.rte-link-input::placeholder{color:var(--color-muted-foreground);font-family:inherit}.rte-link-actions-row{display:flex;align-items:center;gap:3px}.rte-link-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:.75rem;font-weight:500;cursor:pointer;color:var(--color-muted-foreground);transition:background .12s ease,color .12s ease}.rte-link-action-btn:hover{background:var(--color-accent);color:var(--color-foreground)}.rte-link-action-btn--danger{color:var(--color-destructive)}.rte-link-action-btn--danger:hover{background:color-mix(in oklab,var(--color-destructive) 10%,transparent);color:var(--color-destructive)}.rte-link-apply-btn{background:var(--color-primary);color:var(--color-primary-foreground);width:24px;height:24px;padding:4px;cursor:pointer}.rte-link-apply-btn:disabled{opacity:.5;cursor:not-allowed}.rte-link-apply-btn:hover:not(:disabled){background:color-mix(in oklab,var(--color-primary) 88%,var(--color-primary-foreground));color:var(--color-primary-foreground)}.rte-root{display:flex;flex-direction:column;gap:6px;width:100%}.rte-label{font-size:.825rem;font-weight:500;color:var(--color-foreground);margin-bottom:2px}.rte-wrapper{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);position:relative;transition:border-color .15s ease,box-shadow .15s ease;display:flex;flex-direction:column}.rte-root.rte-focused .rte-wrapper{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.rte-root.rte-disabled .rte-wrapper{background:var(--color-muted);opacity:.6}.rte-root.rte-error .rte-wrapper{border-color:var(--color-destructive)}.rte-root.rte-error.rte-focused .rte-wrapper{box-shadow:0 0 0 2px color-mix(in oklab,var(--color-destructive) 15%,transparent)}.rte-body-wrap{position:relative;overflow:visible}.rte-editor{outline:none;padding:14px 16px;color:var(--color-foreground);font-size:.9rem;line-height:1.7;width:100%;box-sizing:border-box;overflow-y:auto;border-radius:0 0 var(--radius) var(--radius);word-break:break-word;overflow-wrap:break-word;will-change:transform;contain:layout style}.rte-editor[contenteditable=true]{caret-color:var(--color-primary)}.rte-placeholder{position:absolute;top:14px;left:16px;color:var(--color-muted-foreground);font-size:.9rem;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1.7}.rte-error-msg{font-size:.78rem;color:var(--color-destructive);margin:0;line-height:1.4}.form-field-item[data-v-d4db8f9b]{display:flex;flex-direction:column;min-width:0}.form-field-item[data-v-d4db8f9b]:has([role=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start}.form-container[data-v-b84399b6]{width:100%}[data-tabes][data-v-2e086e79]:not(.inline-flex):not([class*=gap-6])>:where(button,a,[role=tab]){flex:1 0 0%;min-width:max-content}.scrollbar-hide[data-v-2e086e79]{-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scrollbar-hide[data-v-2e086e79]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.vlite-line-chart[data-v-044e962d]{position:relative}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scrollbar-hide::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.scrollable-container[data-v-38015ba3]{will-change:transform;contain:layout style}.kanban-board--disabled[data-v-38015ba3]{opacity:.75;background-color:color-mix(in srgb,var(--color-card) 85%,var(--color-muted) 15%)}.kanban-lock-badge[data-v-38015ba3]{font-size:.75rem;line-height:1;-webkit-user-select:none;user-select:none}.scrollable-container[data-v-52c07c6d]{will-change:transform;contain:layout style}.v-sidepanel-overlay[data-v-69e4da90]{background-color:#00000069}.slide-right-enter-active[data-v-69e4da90],.slide-left-enter-active[data-v-69e4da90]{transition:opacity 80ms ease-out}.slide-right-leave-active[data-v-69e4da90],.slide-left-leave-active[data-v-69e4da90]{transition:opacity .12s ease-in}.slide-right-enter-from[data-v-69e4da90],.slide-right-leave-to[data-v-69e4da90],.slide-left-enter-from[data-v-69e4da90],.slide-left-leave-to[data-v-69e4da90]{opacity:0}.sidepanel-body[data-v-69e4da90]{will-change:transform,opacity;contain:layout style}.fade-x-enter-active,.fade-x-leave-active{transition:opacity .15s ease}.fade-x-enter-from,.fade-x-leave-to{opacity:0}.navbar-tabs-no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.navbar-tabs-no-scrollbar::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.heatmap-container[data-v-00476f00]{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.heatmap-wrapper[data-v-00476f00]{width:100%;height:100%;overflow:auto;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;position:relative}.heatmap-grid[data-v-00476f00]{width:fit-content;height:fit-content;transition:all .2s ease-in-out}.heatmap-cell[data-v-00476f00]{aspect-ratio:1 / 1;border-radius:2px;transition:all .15s ease-in-out;border:1px solid transparent;box-sizing:border-box}.heatmap-cell-interactive[data-v-00476f00]{cursor:pointer}.heatmap-cell-interactive[data-v-00476f00]:hover{transform:scale(1.1);border-color:var(--border);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;z-index:10;position:relative}.heatmap-cell-empty[data-v-00476f00]{opacity:.6}.heatmap-cell-hovered[data-v-00476f00]{outline:2px solid var(--primary);outline-offset:1px}.heatmap-cell-label[data-v-00476f00]{font-size:8px;font-weight:500;color:var(--foreground);opacity:.8;display:flex;align-items:center;justify-content:center;height:100%;width:100%;pointer-events:none}.heatmap-legend[data-v-00476f00]{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;color:var(--muted-foreground);flex-shrink:0}.heatmap-legend-label[data-v-00476f00]{font-weight:500}.heatmap-legend-colors[data-v-00476f00]{display:flex;gap:.125rem}.heatmap-legend-item[data-v-00476f00]{width:.75rem;height:.75rem;border-radius:.375rem;border:1px solid var(--border)}@media(max-width:640px){.heatmap-wrapper[data-v-00476f00]{padding:12px}.heatmap-cell[data-v-00476f00]{border-radius:2px}.heatmap-cell-label[data-v-00476f00]{font-size:7px}}@media(min-width:641px)and (max-width:1023px){.heatmap-wrapper[data-v-00476f00]{padding:14px}.heatmap-cell[data-v-00476f00]{border-radius:2px}}@media(min-width:1024px){.heatmap-wrapper[data-v-00476f00]{padding:16px}.heatmap-cell[data-v-00476f00]{border-radius:3px}}.masonry-item[data-v-c29d0159]{content-visibility:auto;contain-intrinsic-size:1px 200px}.carousel-wrapper[data-v-4d544a95]{width:100%;position:relative;will-change:transform;contain:layout style}.breadcrumb-item[data-v-ecb5df7c]{display:inline-flex;align-items:center;cursor:pointer}.breadcrumb-link[data-v-ecb5df7c]{display:inline-flex;align-items:center;gap:.35em;color:var(--color-muted-foreground);text-decoration:none;transition:color .15s ease,background-color .15s ease;border-radius:var(--radius-sm)}.breadcrumb-link[data-v-ecb5df7c]:not(.current):not(.disabled):hover{color:var(--color-foreground)}.breadcrumb-link.current[data-v-ecb5df7c]{color:var(--color-foreground);font-weight:600;cursor:default}.breadcrumb-link.disabled[data-v-ecb5df7c]{opacity:.45;cursor:not-allowed;pointer-events:none}.breadcrumb-icon[data-v-ecb5df7c]{flex-shrink:0}.breadcrumb-list[data-v-d1e90135]{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:.38em}.breadcrumb--sm[data-v-d1e90135]{font-size:var(--text--fs-2)}.breadcrumb--md[data-v-d1e90135]{font-size:var(--text-fs-0.5, 1em)}.breadcrumb--lg[data-v-d1e90135]{font-size:var(--text-fs-2)}.breadcrumb-separator[data-v-d1e90135]{display:inline-flex;align-items:center;color:var(--color-gray-500);-webkit-user-select:none;user-select:none;font-size:.9em;line-height:1;padding:0 .1em}.breadcrumb-ellipsis[data-v-d1e90135]{display:inline-flex;align-items:center}.breadcrumb-ellipsis-btn[data-v-d1e90135]{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-muted-foreground);cursor:pointer;font-size:.9em;line-height:1;letter-spacing:.05em;transition:all .15s ease}.breadcrumb-ellipsis-btn[data-v-d1e90135]:hover{background:var(--color-accent);color:var(--color-foreground);border-color:var(--color-gray-350)}.breadcrumb--contained[data-v-d1e90135]{background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.45em 1em}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link{padding:.2em .7em;border-radius:9999px;background:var(--color-secondary);border:1px solid var(--color-border)}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent);border-color:var(--color-gray-350)}.breadcrumb--pills[data-v-d1e90135] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.breadcrumb--arrow .breadcrumb-list[data-v-d1e90135]{gap:0}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link{padding:.35em .9em .35em 1.4em;background:var(--color-secondary);clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%,.6em 50%);border:none;margin-left:-.3em}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-item:first-child .breadcrumb-link{padding-left:.9em;clip-path:polygon(0 0,calc(100% - .6em) 0,100% 50%,calc(100% - .6em) 100%,0 100%);border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link:not(.current):not(.disabled):hover{background:var(--color-accent)}.breadcrumb--arrow[data-v-d1e90135] .breadcrumb-link.current{background:var(--color-primary);color:var(--color-primary-foreground)}.breadcrumb--arrow .breadcrumb-separator[data-v-d1e90135]{display:none}.file-tree-container[data-v-62b1cddc]{will-change:transform;contain:layout style}.rte-reader[data-v-55b9fd8b]{font-family:inherit;color:var(--color-foreground);font-size:.9rem;line-height:1.7;word-break:break-word;overflow-wrap:break-word;padding:0;margin:0}.sheet-container[data-v-e674bcbc]{will-change:transform;contain:layout style}.vl-comment-actions[data-v-446c60ad]{opacity:0;transition:opacity .15s ease}.vl-comment:hover:not(:has(.vl-comment:hover))>div>.vl-comment-header>.vl-comment-actions[data-v-446c60ad]{opacity:1}.vl-comment-actions[data-v-446c60ad]:focus-within{opacity:1}.vl-comment:has(.vl-comment-actions button[aria-label="Confirm delete"]) .vl-comment-actions[data-v-446c60ad]{opacity:1}.sidebar-manu-item .tooltip-trigger{width:100%!important}.sidebar-menu-tooltip{margin-left:4px!important}[dir=rtl] .sidebar-menu-tooltip{margin-right:4px!important}.drill-forward-enter-active,.drill-forward-leave-active{transition:all .28s cubic-bezier(.4,0,.2,1)}.drill-forward-enter-from{opacity:0;transform:translate(40%)}.drill-forward-enter-to,.drill-forward-leave-from{opacity:1;transform:translate(0)}.drill-forward-leave-to{opacity:0;transform:translate(-40%)}.drill-forward-leave-active{position:absolute;top:0;left:0;right:0}.drill-backward-enter-active,.drill-backward-leave-active{transition:all .28s cubic-bezier(.4,0,.2,1)}.drill-backward-enter-from{opacity:0;transform:translate(-40%)}.drill-backward-enter-to,.drill-backward-leave-from{opacity:1;transform:translate(0)}.drill-backward-leave-to{opacity:0;transform:translate(40%)}.drill-backward-leave-active{position:absolute;top:0;left:0;right:0}.sidebar-drilldown-container{min-height:0}.bg-stripe[data-v-454a1505]{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.animate-progress-stripe[data-v-454a1505]{animation:progress-stripe-454a1505 1s linear infinite}@keyframes progress-stripe-454a1505{0%{background-position:1rem 0}to{background-position:0 0}}.animate-progress-indeterminate[data-v-454a1505]{animation:progress-indeterminate-454a1505 1.5s infinite cubic-bezier(.65,.815,.735,.395)}@keyframes progress-indeterminate-454a1505{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(0) scaleX(.5)}to{transform:translate(100%) scaleX(.2)}}.permission-matrix-wrapper[data-v-f4695eed]{max-height:70vh;will-change:transform;contain:layout style}.permission-list-wrapper[data-v-a42b2fb0]{border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;background-color:var(--color-background);will-change:transform;contain:layout style}.custom-list-header[data-v-a42b2fb0]{background-color:var(--color-muted);border-bottom:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]{border-bottom:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px);background-color:var(--color-background)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]:hover{background-color:var(--color-accent)}.custom-list-group-content .custom-list-item[data-v-a42b2fb0]:last-child{border-bottom:none}.custom-list-group-content+.custom-list-header[data-v-a42b2fb0],.custom-list-header+.custom-list-header[data-v-a42b2fb0]{border-top:1px solid var(--color-border)}.permission-list-wrapper>.custom-list-header[data-v-a42b2fb0]:last-child{border-bottom:none}.permission-matrix-wrapper[data-v-e8bfdc18]{border:1px solid var(--color-border);background-color:var(--color-gray-100);border-radius:.5rem;overflow:auto;max-height:65vh;position:relative;will-change:transform;contain:layout style}.custom-table[data-v-e8bfdc18]{width:100%;border-collapse:collapse}.custom-sticky-header th[data-v-e8bfdc18]{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--color-border)}.custom-th[data-v-e8bfdc18]{background-color:var(--color-gray-150);color:var(--color-foreground);background-clip:padding-box;border-bottom:none;border-left:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px);text-align:left;font-weight:600;min-width:200px}thead:not(.custom-sticky-header) .custom-th[data-v-e8bfdc18]{border-bottom:1px solid var(--color-border)}.custom-th.text-center[data-v-e8bfdc18]{text-align:center;min-width:100px}.custom-th[data-v-e8bfdc18]:first-child{border-left:none}.custom-td[data-v-e8bfdc18]{border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);padding:var(--cell-py) var(--cell-px)}.custom-td.text-center[data-v-e8bfdc18]{text-align:center}.custom-td[data-v-e8bfdc18]:first-child{border-left:none}.custom-group-row td[data-v-e8bfdc18]{background-color:var(--color-gray-100);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.custom-entity-row[data-v-e8bfdc18]{background-color:var(--color-background);transition:background-color .1s ease}.custom-entity-row[data-v-e8bfdc18]:hover{background-color:var(--color-gray-50)}.custom-entity-row:last-child td[data-v-e8bfdc18]{border-bottom:none}.custom-active-cell[data-v-e8bfdc18]{cursor:pointer}.custom-active-cell[data-v-e8bfdc18]:hover{background-color:var(--color-accent)}.category-manager--loading[data-v-0e426dc4]{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-fade-enter-active[data-v-0e426dc4],.cm-fade-leave-active[data-v-0e426dc4]{transition:opacity .2s ease}.cm-fade-enter-from[data-v-0e426dc4],.cm-fade-leave-to[data-v-0e426dc4]{opacity:0}.category-tabs-no-scrollbar[data-v-4d803b88]{-ms-overflow-style:none;scrollbar-width:none}.category-tabs-no-scrollbar[data-v-4d803b88]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.fade-x-enter-active[data-v-4d803b88],.fade-x-leave-active[data-v-4d803b88]{transition:opacity .15s ease}.fade-x-enter-from[data-v-4d803b88],.fade-x-leave-to[data-v-4d803b88]{opacity:0}.category-mega-no-scrollbar[data-v-5a117002]{-ms-overflow-style:none;scrollbar-width:none}.category-mega-no-scrollbar[data-v-5a117002]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}.fade-x-enter-active[data-v-5a117002],.fade-x-leave-active[data-v-5a117002]{transition:opacity .15s ease}.fade-x-enter-from[data-v-5a117002],.fade-x-leave-to[data-v-5a117002]{opacity:0}.attached-group[data-v-298c3d8a] button{position:relative}.attached-group[data-v-298c3d8a] button:focus-visible,.attached-group[data-v-298c3d8a] button:hover{z-index:10}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child){margin-inline-start:-1px}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:first-child{border-start-end-radius:0!important;border-end-end-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child):not(:last-child){border-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:last-child{border-start-start-radius:0!important;border-end-start-radius:0!important}.vertical-group[data-v-298c3d8a] button:not(:first-child){margin-block-start:-1px}.vertical-group[data-v-298c3d8a] button:first-child{border-end-start-radius:0!important;border-end-end-radius:0!important}.vertical-group[data-v-298c3d8a] button:not(:first-child):not(:last-child){border-radius:0!important}.vertical-group[data-v-298c3d8a] button:last-child{border-start-start-radius:0!important;border-start-end-radius:0!important}.attached-group[data-v-298c3d8a]:not(.vertical-group) button:not(:first-child):not(.border):before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:1px;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none;height:100%}.vertical-group[data-v-298c3d8a] button:not(:first-child):not(.border):before{content:"";position:absolute;top:0;left:0;right:0;height:1px;width:100%;background-color:currentColor;opacity:.15;z-index:5;pointer-events:none}[data-v-63e46f6b] .calendar-view{--calendar-primary-color: var(--color-primary);--calendar-bg-color: transparent !important;--calendar-border-color: var(--color-border);--calendar-text-color: var(--color-foreground);--calendar-hover-color: var(--color-accent)}[data-v-63e46f6b] .v-event-calendar .add-event-icon,[data-v-63e46f6b] .v-event-calendar .add-event-icon svg{color:var(--color-primary-fg)!important}.vlite-scc-grid[data-v-e6172e07]{display:flex;width:100%}.vlite-scc-card[data-v-e6172e07]{flex:1;position:relative;display:flex;align-items:stretch}.vlite-scc-separator[data-v-e6172e07]{width:1px;align-self:stretch;background:var(--color-border, #e4e4e7);opacity:.3;margin:8px 0;flex-shrink:0;background-image:repeating-linear-gradient(to bottom,var(--color-border, #e4e4e7) 0px,var(--color-border, #e4e4e7) 4px,transparent 4px,transparent 8px);background-color:transparent}.vlite-scc-content[data-v-e6172e07]{display:flex;flex-direction:column;align-items:flex-start;padding:16px 20px;flex:1;min-height:200px}.vlite-scc-label[data-v-e6172e07]{font-size:13px;font-weight:500;color:var(--color-muted-foreground, #71717a);margin:0 0 6px}.vlite-scc-pct[data-v-e6172e07]{font-size:36px;font-weight:800;color:var(--color-foreground, #09090b);margin:0;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.vlite-scc-spacer[data-v-e6172e07]{flex:1}.vlite-scc-indicator[data-v-e6172e07]{border-radius:10px;margin-bottom:14px;transition:width .6s ease,height .6s ease}.vlite-scc-footer[data-v-e6172e07]{display:flex;align-items:center;gap:8px}.vlite-scc-value[data-v-e6172e07]{font-size:14px;font-weight:600;color:var(--color-foreground, #09090b);font-variant-numeric:tabular-nums}.vlite-scc-trend-icon[data-v-e6172e07]{width:14px;height:14px}.vlite-scc-trend-up[data-v-e6172e07]{color:var(--color-success, #22c55e);transform:rotate(25deg)}.vlite-scc-trend-down[data-v-e6172e07]{color:var(--color-danger, #ef4444);transform:rotate(-25deg)}.vlite-gantt-chart[data-v-ebb84e3d]{font-family:inherit}.vlite-gantt-toolbar[data-v-ebb84e3d]{display:flex;justify-content:flex-end;margin-bottom:8px;gap:6px}.vlite-gantt-btn[data-v-ebb84e3d]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:600;color:var(--color-muted-foreground);background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .15s}.vlite-gantt-btn[data-v-ebb84e3d]:hover:not(:disabled){background:var(--color-accent);color:var(--color-foreground)}.vlite-gantt-btn[data-v-ebb84e3d]:disabled{opacity:.5;cursor:not-allowed}.vlite-gantt-zoom-controls[data-v-ebb84e3d]{display:flex;gap:6px}.vlite-gantt-wrapper[data-v-ebb84e3d]{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-background)}.vlite-gantt-sidebar[data-v-ebb84e3d]{flex-shrink:0;border-right:1px solid var(--color-border);background:var(--color-background);z-index:2}.vlite-gantt-sidebar-header[data-v-ebb84e3d]{display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-background) 97%,var(--color-foreground))}.vlite-gantt-sidebar-body[data-v-ebb84e3d]{overflow-y:hidden;overflow-x:hidden}.vlite-gantt-sidebar-row[data-v-ebb84e3d]{display:flex;align-items:center;padding:0 12px;border-bottom:1px solid color-mix(in oklab,var(--color-border) 50%,transparent)}.vlite-gantt-group-toggle[data-v-ebb84e3d]{display:flex;align-items:center;gap:6px;width:100%;padding:0 4px;background:none;border:none;cursor:pointer;color:inherit;text-align:left}.vlite-gantt-group-toggle[data-v-ebb84e3d]:hover{opacity:.8}.vlite-gantt-chevron[data-v-ebb84e3d]{transition:transform .2s ease;color:var(--color-muted-foreground);flex-shrink:0}.vlite-gantt-chevron-collapsed[data-v-ebb84e3d]{transform:rotate(-90deg)}.vlite-gantt-group-count[data-v-ebb84e3d]{font-size:10px;font-weight:600;color:var(--color-muted-foreground);background:var(--color-muted);padding:1px 6px;border-radius:99px;margin-left:auto}.vlite-gantt-task-name[data-v-ebb84e3d]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:0 4px;width:100%;transition:all .15s}.vlite-gantt-task-name[data-v-ebb84e3d]:hover{opacity:.75}.vlite-gantt-task-name-grouped[data-v-ebb84e3d]{padding-left:20px}.vlite-gantt-task-name-dragging[data-v-ebb84e3d]{background:color-mix(in oklab,var(--color-primary) 8%,transparent);border-radius:4px}.vlite-gantt-task-dot[data-v-ebb84e3d]{width:7px;height:7px;border-radius:2px;flex-shrink:0}.vlite-gantt-progress-badge[data-v-ebb84e3d]{font-size:10px;font-weight:700;color:var(--color-muted-foreground);margin-left:auto;flex-shrink:0}.vlite-gantt-timeline[data-v-ebb84e3d]{flex:1;overflow-x:auto;overflow-y:auto;position:relative}.vlite-gantt-timeline-header[data-v-ebb84e3d]{position:sticky;top:0;z-index:1;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-background) 97%,var(--color-foreground))}.vlite-gantt-timeline-body[data-v-ebb84e3d]{position:relative}.vlite-gantt-bar-dragging[data-v-ebb84e3d]{filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));z-index:10}.vlite-gantt-dep-group[data-v-ebb84e3d]{transition:opacity .2s}.vlite-gantt-dep-group[data-v-ebb84e3d]:hover{opacity:1!important}.vlite-gantt-tooltip-progress-track[data-v-ebb84e3d]{width:60px;height:4px;border-radius:2px;background:var(--color-muted);overflow:hidden}.vlite-gantt-tooltip-progress-fill[data-v-ebb84e3d]{height:100%;border-radius:2px;transition:width .3s ease}.vlite-gantt-timeline[data-v-ebb84e3d]::-webkit-scrollbar{height:6px;width:6px}.vlite-gantt-timeline[data-v-ebb84e3d]::-webkit-scrollbar-track{background:transparent}.vlite-gantt-timeline[data-v-ebb84e3d]::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.vlite-gantt-timeline[data-v-ebb84e3d]::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.vlite-gantt-sidebar-body[data-v-ebb84e3d]::-webkit-scrollbar{width:0;display:none}.is-solid[data-v-33afc5cb] path,.is-solid[data-v-33afc5cb] polygon,.is-solid[data-v-33afc5cb] circle,.is-solid[data-v-33afc5cb] rect{fill:currentColor!important}.toast-item[data-v-9c775c23]{will-change:transform,opacity;contain:layout style}.first-toast-enter-active[data-v-9c775c23]{animation:first-toast-in-9c775c23 .45s cubic-bezier(.23,1,.32,1) forwards}.first-toast-leave-active[data-v-9c775c23]{transition:all .25s ease-in}.first-toast-leave-to[data-v-9c775c23]{opacity:0;transform:scale(.98)}@keyframes first-toast-in-9c775c23{0%{opacity:var(--entrance-opacity, .6);transform:translateY(var(--entrance-offset, 25px)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.stack-toast-enter-active[data-v-9c775c23],.stack-toast-leave-active[data-v-9c775c23]{transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-toast-enter-from[data-v-9c775c23]{opacity:0;transform:scale(.95) translateY(10px)}.stack-toast-leave-to[data-v-9c775c23]{opacity:0;transform:scale(.95)}.stack-toast-move[data-v-9c775c23]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.cp-item-transition[data-v-66b1ae06]{transition:background-color 80ms ease,color 80ms ease}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar{width:4px}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar-track{background:transparent}.command-palette-content[data-v-aa0dbb48] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px}.cp-scroll-container[data-v-aa0dbb48]{transform:translateZ(0);will-change:transform;touch-action:pan-y;backface-visibility:hidden}
1801
1801